Changeset 3769770
- Timestamp:
- 10/28/2026 02:24:31 AM (15 hours ago)
- Location:
- zenithium-blocks/trunk
- Files:
-
- 39 added
- 69 edited
-
build/blocks-manifest.php (modified) (23 diffs)
-
build/blocks/accordion-group/block.json (modified) (3 diffs)
-
build/blocks/accordion-group/index-rtl.css (modified) (1 diff)
-
build/blocks/accordion-group/index.asset.php (modified) (1 diff)
-
build/blocks/accordion-group/index.css (modified) (1 diff)
-
build/blocks/accordion-group/index.js (modified) (1 diff)
-
build/blocks/accordion-group/render.php (modified) (2 diffs)
-
build/blocks/accordion-group/style-index-rtl.css (modified) (1 diff)
-
build/blocks/accordion-group/style-index.css (modified) (1 diff)
-
build/blocks/accordion-group/view.asset.php (modified) (1 diff)
-
build/blocks/accordion-group/view.js (modified) (1 diff)
-
build/blocks/accordion/block.json (modified) (4 diffs)
-
build/blocks/accordion/index-rtl.css (modified) (1 diff)
-
build/blocks/accordion/index.asset.php (modified) (1 diff)
-
build/blocks/accordion/index.css (modified) (1 diff)
-
build/blocks/accordion/index.js (modified) (1 diff)
-
build/blocks/accordion/render.php (modified) (1 diff)
-
build/blocks/accordion/style-index-rtl.css (modified) (1 diff)
-
build/blocks/accordion/style-index.css (modified) (1 diff)
-
build/blocks/animated-counter/block.json (modified) (2 diffs)
-
build/blocks/animated-counter/index.asset.php (modified) (1 diff)
-
build/blocks/animated-counter/index.js (modified) (1 diff)
-
build/blocks/animated-counter/render.php (modified) (5 diffs)
-
build/blocks/animated-counter/view.asset.php (modified) (1 diff)
-
build/blocks/animated-counter/view.js (modified) (1 diff)
-
build/blocks/carousel-slide/block.json (modified) (3 diffs)
-
build/blocks/carousel-slide/index-rtl.css (added)
-
build/blocks/carousel-slide/index.asset.php (modified) (1 diff)
-
build/blocks/carousel-slide/index.css (added)
-
build/blocks/carousel-slide/index.js (modified) (1 diff)
-
build/blocks/carousel-slide/render.php (modified) (2 diffs)
-
build/blocks/carousel-slide/style-index-rtl.css (added)
-
build/blocks/carousel-slide/style-index.css (added)
-
build/blocks/carousel/block.json (modified) (2 diffs)
-
build/blocks/carousel/index-rtl.css (modified) (1 diff)
-
build/blocks/carousel/index.asset.php (modified) (1 diff)
-
build/blocks/carousel/index.css (modified) (1 diff)
-
build/blocks/carousel/index.js (modified) (1 diff)
-
build/blocks/carousel/render.php (modified) (4 diffs)
-
build/blocks/carousel/style-index-rtl.css (modified) (1 diff)
-
build/blocks/carousel/style-index.css (modified) (1 diff)
-
build/blocks/carousel/view.asset.php (modified) (1 diff)
-
build/blocks/carousel/view.js (modified) (1 diff)
-
build/blocks/flip-card/block.json (modified) (2 diffs)
-
build/blocks/flip-card/index-rtl.css (modified) (1 diff)
-
build/blocks/flip-card/index.asset.php (modified) (1 diff)
-
build/blocks/flip-card/index.css (modified) (1 diff)
-
build/blocks/flip-card/index.js (modified) (1 diff)
-
build/blocks/flip-card/render.php (modified) (6 diffs)
-
build/blocks/flip-card/style-index-rtl.css (modified) (1 diff)
-
build/blocks/flip-card/style-index.css (modified) (1 diff)
-
build/blocks/flip-card/view.asset.php (modified) (1 diff)
-
build/blocks/flip-card/view.js (modified) (1 diff)
-
build/blocks/image-comparison/block.json (modified) (4 diffs)
-
build/blocks/image-comparison/index.asset.php (modified) (1 diff)
-
build/blocks/image-comparison/index.js (modified) (1 diff)
-
build/blocks/image-comparison/render.php (modified) (4 diffs)
-
build/blocks/image-comparison/style-index-rtl.css (modified) (1 diff)
-
build/blocks/image-comparison/style-index.css (modified) (1 diff)
-
build/blocks/image-comparison/view.asset.php (modified) (1 diff)
-
build/blocks/image-comparison/view.js (modified) (1 diff)
-
build/blocks/pricing-card (added)
-
build/blocks/pricing-card/block.json (added)
-
build/blocks/pricing-card/index-rtl.css (added)
-
build/blocks/pricing-card/index.asset.php (added)
-
build/blocks/pricing-card/index.css (added)
-
build/blocks/pricing-card/index.js (added)
-
build/blocks/pricing-card/render.php (added)
-
build/blocks/pricing-card/style-index-rtl.css (added)
-
build/blocks/pricing-card/style-index.css (added)
-
build/blocks/sticky-cta/block.json (modified) (2 diffs)
-
build/blocks/sticky-cta/index-rtl.css (modified) (1 diff)
-
build/blocks/sticky-cta/index.asset.php (modified) (1 diff)
-
build/blocks/sticky-cta/index.css (modified) (1 diff)
-
build/blocks/sticky-cta/index.js (modified) (1 diff)
-
build/blocks/sticky-cta/render.php (modified) (6 diffs)
-
build/blocks/sticky-cta/style-index-rtl.css (modified) (1 diff)
-
build/blocks/sticky-cta/style-index.css (modified) (1 diff)
-
build/blocks/sticky-cta/view.asset.php (modified) (1 diff)
-
build/blocks/sticky-cta/view.js (modified) (1 diff)
-
build/blocks/tab-item (added)
-
build/blocks/tab-item/block.json (added)
-
build/blocks/tab-item/index-rtl.css (added)
-
build/blocks/tab-item/index.asset.php (added)
-
build/blocks/tab-item/index.css (added)
-
build/blocks/tab-item/index.js (added)
-
build/blocks/tab-item/style-index-rtl.css (added)
-
build/blocks/tab-item/style-index.css (added)
-
build/blocks/tabs-group (added)
-
build/blocks/tabs-group/block.json (added)
-
build/blocks/tabs-group/index-rtl.css (added)
-
build/blocks/tabs-group/index.asset.php (added)
-
build/blocks/tabs-group/index.css (added)
-
build/blocks/tabs-group/index.js (added)
-
build/blocks/tabs-group/render.php (added)
-
build/blocks/tabs-group/style-index-rtl.css (added)
-
build/blocks/tabs-group/style-index.css (added)
-
build/blocks/tabs-group/view.asset.php (added)
-
build/blocks/tabs-group/view.js (added)
-
build/blocks/testimonial-card (added)
-
build/blocks/testimonial-card/block.json (added)
-
build/blocks/testimonial-card/index.asset.php (added)
-
build/blocks/testimonial-card/index.js (added)
-
build/blocks/testimonial-card/render.php (added)
-
build/blocks/testimonial-card/style-index-rtl.css (added)
-
build/blocks/testimonial-card/style-index.css (added)
-
readme.txt (modified) (3 diffs)
-
zenithium-blocks.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
zenithium-blocks/trunk/build/blocks-manifest.php
r3640847 r3769770 5 5 '$schema' => 'https://schemas.wp.org/trunk/block.json', 6 6 'apiVersion' => 3, 7 'name' => 'zenithium-blocks/accordion ',8 'version' => '1. 0.0',9 'title' => ' Accordion Item',10 'category' => ' widgets',7 'name' => 'zenithium-blocks/accordion-item', 8 'version' => '1.1.1', 9 'title' => 'Zenithium Accordion Item', 10 'category' => 'zenithium-blocks', 11 11 'icon' => 'minus', 12 12 'description' => 'An individual accordion item inside an Accordion Group.', … … 20 20 'expand' 21 21 ), 22 'usesContext' => array( 23 'zenithium-blocks/autoClose', 24 'zenithium-blocks/headerFontSize', 25 'zenithium-blocks/headerFontWeight', 26 'zenithium-blocks/headerTextColor', 27 'zenithium-blocks/headerHoverTextColor', 28 'zenithium-blocks/headerBgColor', 29 'zenithium-blocks/headerHoverBgColor', 30 'zenithium-blocks/iconColor', 31 'zenithium-blocks/iconHoverColor', 32 'zenithium-blocks/iconSize', 33 'zenithium-blocks/itemGap', 34 'zenithium-blocks/headerPaddingX', 35 'zenithium-blocks/headerPaddingY', 36 'zenithium-blocks/contentPaddingX', 37 'zenithium-blocks/contentPaddingY', 38 'zenithium-blocks/contentGap' 39 ), 22 40 'textdomain' => 'zenithium-blocks', 23 41 'supports' => array( 24 42 'html' => false, 25 'align' => array( 26 'wide', 27 'full' 28 ), 43 'layout' => true, 29 44 'spacing' => array( 30 45 'margin' => true, 31 'padding' => true 46 'padding' => true, 47 'blockGap' => true, 48 'units' => array( 49 'px', 50 'em', 51 'rem', 52 '%' 53 ), 54 '__experimentalDefaultControls' => array( 55 'margin' => true, 56 'padding' => true, 57 'blockGap' => true 58 ) 32 59 ), 33 60 'color' => array( 34 61 'text' => true, 35 'background' => true 62 'background' => true, 63 'gradients' => true 64 ), 65 'border' => array( 66 'color' => true, 67 'radius' => true, 68 'style' => true, 69 'width' => true, 70 '__experimentalDefaultControls' => array( 71 'color' => true, 72 'radius' => true, 73 'width' => true 74 ) 75 ), 76 'typography' => array( 77 'fontSize' => true, 78 'lineHeight' => true, 79 'fontFamily' => true, 80 'fontWeight' => true, 81 'fontStyle' => true, 82 'letterSpacing' => true, 83 'textTransform' => true, 84 'textDecoration' => true, 85 '__experimentalDefaultControls' => array( 86 'fontSize' => true, 87 'fontWeight' => true 88 ) 36 89 ) 37 90 ), … … 39 92 'title' => array( 40 93 'type' => 'string', 41 'default' => ' Frequently Asked QuestionTitle'94 'default' => 'Accordion Item Title' 42 95 ), 43 96 'isOpen' => array( … … 48 101 'type' => 'string', 49 102 'default' => 'plus' 103 ), 104 'titleFontSize' => array( 105 'type' => 'string', 106 'default' => '' 107 ), 108 'titleFontWeight' => array( 109 'type' => 'string', 110 'default' => '' 111 ), 112 'headerTextColor' => array( 113 'type' => 'string', 114 'default' => '' 115 ), 116 'headerHoverTextColor' => array( 117 'type' => 'string', 118 'default' => '' 119 ), 120 'headerBgColor' => array( 121 'type' => 'string', 122 'default' => '' 123 ), 124 'headerHoverBgColor' => array( 125 'type' => 'string', 126 'default' => '' 127 ), 128 'iconColor' => array( 129 'type' => 'string', 130 'default' => '' 131 ), 132 'iconHoverColor' => array( 133 'type' => 'string', 134 'default' => '' 135 ), 136 'iconSize' => array( 137 'type' => 'number', 138 'default' => 0 139 ), 140 'itemBorderColor' => array( 141 'type' => 'string', 142 'default' => '' 143 ), 144 'itemBorderWidth' => array( 145 'type' => 'number', 146 'default' => 1 147 ), 148 'itemBorderRadius' => array( 149 'type' => 'number', 150 'default' => 6 151 ), 152 'itemBorderStyle' => array( 153 'type' => 'string', 154 'default' => 'solid' 155 ), 156 'headerPaddingX' => array( 157 'type' => 'number', 158 'default' => 0 159 ), 160 'headerPaddingY' => array( 161 'type' => 'number', 162 'default' => 0 163 ), 164 'contentPaddingX' => array( 165 'type' => 'number', 166 'default' => 0 167 ), 168 'contentPaddingY' => array( 169 'type' => 'number', 170 'default' => 0 171 ), 172 'contentGap' => array( 173 'type' => 'number', 174 'default' => 0 50 175 ) 51 176 ), … … 59 184 'apiVersion' => 3, 60 185 'name' => 'zenithium-blocks/accordion-group', 61 'version' => '1. 0.0',62 'title' => ' Accordion Group',63 'category' => ' widgets',186 'version' => '1.1.1', 187 'title' => 'Zenithium Accordion Group', 188 'category' => 'zenithium-blocks', 64 189 'icon' => 'list-view', 65 'description' => ' Container for multiple accordion items with auto-close and SEO schema controls.',190 'description' => 'A group of customizable accordion items.', 66 191 'keywords' => array( 67 192 'accordion', 68 193 'faq', 69 'group' 194 'group', 195 'toggle' 196 ), 197 'allowedBlocks' => array( 198 'zenithium-blocks/accordion-item' 199 ), 200 'providesContext' => array( 201 'zenithium-blocks/autoClose' => 'autoClose', 202 'zenithium-blocks/headerFontSize' => 'headerFontSize', 203 'zenithium-blocks/headerFontWeight' => 'headerFontWeight', 204 'zenithium-blocks/headerTextColor' => 'headerTextColor', 205 'zenithium-blocks/headerHoverTextColor' => 'headerHoverTextColor', 206 'zenithium-blocks/headerBgColor' => 'headerBgColor', 207 'zenithium-blocks/headerHoverBgColor' => 'headerHoverBgColor', 208 'zenithium-blocks/iconColor' => 'iconColor', 209 'zenithium-blocks/iconHoverColor' => 'iconHoverColor', 210 'zenithium-blocks/iconSize' => 'iconSize', 211 'zenithium-blocks/itemGap' => 'itemGap', 212 'zenithium-blocks/headerPaddingX' => 'headerPaddingX', 213 'zenithium-blocks/headerPaddingY' => 'headerPaddingY', 214 'zenithium-blocks/contentPaddingX' => 'contentPaddingX', 215 'zenithium-blocks/contentPaddingY' => 'contentPaddingY', 216 'zenithium-blocks/contentGap' => 'contentGap' 70 217 ), 71 218 'textdomain' => 'zenithium-blocks', … … 76 223 'full' 77 224 ), 225 'layout' => true, 78 226 'spacing' => array( 79 227 'margin' => true, 80 'padding' => true 228 'padding' => true, 229 'blockGap' => true, 230 'units' => array( 231 'px', 232 'em', 233 'rem', 234 '%' 235 ), 236 '__experimentalDefaultControls' => array( 237 'margin' => true, 238 'padding' => true, 239 'blockGap' => true 240 ) 241 ), 242 'color' => array( 243 'text' => true, 244 'background' => true, 245 'gradients' => true 246 ), 247 'border' => array( 248 'color' => true, 249 'radius' => true, 250 'style' => true, 251 'width' => true, 252 '__experimentalDefaultControls' => array( 253 'color' => true, 254 'radius' => true, 255 'width' => true 256 ) 257 ), 258 'typography' => array( 259 'fontSize' => true, 260 'lineHeight' => true, 261 'fontFamily' => true, 262 'fontWeight' => true, 263 'fontStyle' => true, 264 'letterSpacing' => true, 265 'textTransform' => true, 266 'textDecoration' => true, 267 '__experimentalDefaultControls' => array( 268 'fontSize' => true, 269 'fontWeight' => true 270 ) 81 271 ) 82 272 ), … … 90 280 'default' => true 91 281 ), 92 'accentColor' => array( 93 'type' => 'string', 94 'default' => '#2563eb' 282 'headerFontSize' => array( 283 'type' => 'string', 284 'default' => '1.05rem' 285 ), 286 'headerFontWeight' => array( 287 'type' => 'string', 288 'default' => '600' 289 ), 290 'headerTextColor' => array( 291 'type' => 'string', 292 'default' => '' 293 ), 294 'headerHoverTextColor' => array( 295 'type' => 'string', 296 'default' => '' 95 297 ), 96 298 'headerBgColor' => array( 97 299 'type' => 'string', 98 'default' => '#f8fafc' 300 'default' => '' 301 ), 302 'headerHoverBgColor' => array( 303 'type' => 'string', 304 'default' => '' 305 ), 306 'iconColor' => array( 307 'type' => 'string', 308 'default' => '' 309 ), 310 'iconHoverColor' => array( 311 'type' => 'string', 312 'default' => '' 313 ), 314 'iconSize' => array( 315 'type' => 'number', 316 'default' => 20 317 ), 318 'groupBorderColor' => array( 319 'type' => 'string', 320 'default' => '' 321 ), 322 'groupBorderWidth' => array( 323 'type' => 'number', 324 'default' => 0 325 ), 326 'groupBorderRadius' => array( 327 'type' => 'number', 328 'default' => 0 329 ), 330 'groupBorderStyle' => array( 331 'type' => 'string', 332 'default' => 'solid' 333 ), 334 'itemGap' => array( 335 'type' => 'number', 336 'default' => 12 337 ), 338 'headerPaddingX' => array( 339 'type' => 'number', 340 'default' => 20 341 ), 342 'headerPaddingY' => array( 343 'type' => 'number', 344 'default' => 16 345 ), 346 'contentPaddingX' => array( 347 'type' => 'number', 348 'default' => 20 349 ), 350 'contentPaddingY' => array( 351 'type' => 'number', 352 'default' => 20 353 ), 354 'contentGap' => array( 355 'type' => 'number', 356 'default' => 16 99 357 ) 100 358 ), … … 110 368 'name' => 'zenithium-blocks/animated-counter', 111 369 'version' => '1.0.0', 112 'title' => ' Animated Stats Counter',113 'category' => ' widgets',370 'title' => 'Zenithium Animated Stats Counter', 371 'category' => 'zenithium-blocks', 114 372 'icon' => 'performance', 115 373 'description' => 'Animate numbers counting up when scrolled into view.', … … 135 393 'lineHeight' => true 136 394 ), 137 'colors' => array( 395 'color' => array( 396 'background' => true, 138 397 'text' => true, 139 'background' => true 398 'link' => true, 399 'gradients' => true, 400 'enableCustomColors' => true, 401 'enableAlpha' => true, 402 'heading' => true 140 403 ) 141 404 ), … … 193 456 'name' => 'zenithium-blocks/carousel', 194 457 'version' => '1.0.0', 195 'title' => ' Modern Interactive Carousel',196 'category' => ' widgets',458 'title' => 'Zenithium Modern Interactive Carousel', 459 'category' => 'zenithium-blocks', 197 460 'icon' => 'slides', 198 461 'description' => 'A fully responsive, touch-friendly carousel and slider block with custom layout controls.', … … 215 478 ), 216 479 'color' => array( 480 'background' => true, 217 481 'text' => true, 218 'background' => true 482 'link' => true, 483 'gradients' => true, 484 'enableCustomColors' => true, 485 'enableAlpha' => true, 486 'heading' => true 219 487 ) 220 488 ), … … 276 544 'name' => 'zenithium-blocks/carousel-slide', 277 545 'version' => '1.0.0', 278 'title' => ' Carousel Slide',279 'category' => ' widgets',546 'title' => 'Zenithium Carousel Slide', 547 'category' => 'zenithium-blocks', 280 548 'parent' => array( 281 549 'zenithium-blocks/carousel' … … 285 553 'html' => false, 286 554 'color' => array( 555 'background' => true, 287 556 'text' => true, 288 'background' => true 557 'link' => true, 558 'gradients' => true, 559 'enableCustomColors' => true, 560 'enableAlpha' => true, 561 'heading' => true 289 562 ) 290 563 ), … … 320 593 ), 321 594 'editorScript' => 'file:./index.js', 595 'editorStyle' => 'file:./index.css', 596 'style' => 'file:./style-index.css', 322 597 'render' => 'file:./render.php' 323 598 ), … … 327 602 'name' => 'zenithium-blocks/flip-card', 328 603 'version' => '1.0.0', 329 'title' => ' Interactive Flip Card',330 'category' => ' widgets',604 'title' => 'Zenithium Interactive Flip Card', 605 'category' => 'zenithium-blocks', 331 606 'icon' => 'update', 332 607 'description' => 'An interactive card that flips in 3D on hover or click to reveal additional details on the back.', … … 351 626 'color' => array( 352 627 'text' => true, 353 'background' => true 628 'background' => true, 629 'link' => true, 630 'gradients' => true, 631 'enableCustomColors' => true, 632 'enableCustomGradients' => true, 633 'enableAlpha' => true 354 634 ) 355 635 ), … … 435 715 'name' => 'zenithium-blocks/image-comparison', 436 716 'version' => '1.0.0', 437 'title' => ' Image Comparison Slider',438 'category' => ' media',717 'title' => 'Zenithium Image Comparison Slider', 718 'category' => 'zenithium-blocks', 439 719 'icon' => 'format-gallery', 440 720 'description' => 'Interactive before and after image comparison slider.', … … 442 722 'before after', 443 723 'image comparison', 444 'slider' 724 'slider', 725 'diff' 445 726 ), 446 727 'textdomain' => 'zenithium-blocks', … … 457 738 ), 458 739 'attributes' => array( 740 'beforeImageId' => array( 741 'type' => 'number', 742 'default' => 0 743 ), 459 744 'beforeImage' => array( 460 745 'type' => 'string', 461 746 'default' => '' 462 747 ), 748 'beforeAlt' => array( 749 'type' => 'string', 750 'default' => 'Before image' 751 ), 752 'afterImageId' => array( 753 'type' => 'number', 754 'default' => 0 755 ), 463 756 'afterImage' => array( 464 757 'type' => 'string', 465 758 'default' => '' 466 759 ), 760 'afterAlt' => array( 761 'type' => 'string', 762 'default' => 'After image' 763 ), 467 764 'beforeLabel' => array( 468 765 'type' => 'string', … … 476 773 'type' => 'number', 477 774 'default' => 50 478 ) 479 ), 775 ), 776 'showLabels' => array( 777 'type' => 'boolean', 778 'default' => true 779 ) 780 ), 781 'editorScript' => 'file:./index.js', 782 'style' => 'file:./style-index.css', 783 'render' => 'file:./render.php', 784 'viewScript' => 'file:./view.js' 785 ), 786 'pricing-card' => array( 787 '$schema' => 'https://schemas.wp.org/trunk/block.json', 788 'apiVersion' => 3, 789 'name' => 'zenithium-blocks/pricing-card', 790 'version' => '1.0.0', 791 'title' => 'Zenithium Pricing Card', 792 'category' => 'zenithium-blocks', 793 'icon' => 'tag', 794 'description' => 'A customizable pricing card with feature lists, price points, badges, and action buttons.', 795 'keywords' => array( 796 'pricing', 797 'price', 798 'card', 799 'table', 800 'zenithium' 801 ), 802 'supports' => array( 803 'html' => false, 804 'align' => array( 805 'wide', 806 'full' 807 ), 808 'color' => array( 809 'background' => true, 810 'text' => true, 811 'link' => true, 812 'gradients' => true, 813 'enableCustomColors' => true, 814 'enableAlpha' => true 815 ), 816 'typography' => array( 817 'fontSize' => true, 818 'lineHeight' => true, 819 'fontFamily' => true, 820 'fontWeight' => true 821 ), 822 'spacing' => array( 823 'padding' => true, 824 'margin' => true 825 ), 826 'border' => array( 827 'color' => true, 828 'radius' => true, 829 'style' => true, 830 'width' => true 831 ) 832 ), 833 'attributes' => array( 834 'align' => array( 835 'type' => 'string', 836 'default' => 'wide' 837 ), 838 'planTitle' => array( 839 'type' => 'string', 840 'default' => 'Pro Plan' 841 ), 842 'planSubtitle' => array( 843 'type' => 'string', 844 'default' => 'Ideal for growing businesses and professionals.' 845 ), 846 'currencySymbol' => array( 847 'type' => 'string', 848 'default' => '$' 849 ), 850 'price' => array( 851 'type' => 'string', 852 'default' => '49' 853 ), 854 'billingPeriod' => array( 855 'type' => 'string', 856 'default' => '/ month' 857 ), 858 'features' => array( 859 'type' => 'array', 860 'default' => array( 861 'All core block features', 862 'Priority email support', 863 'Unlimited site usage', 864 'Regular plugin updates' 865 ) 866 ), 867 'badgeText' => array( 868 'type' => 'string', 869 'default' => 'Popular' 870 ), 871 'showBadge' => array( 872 'type' => 'boolean', 873 'default' => true 874 ), 875 'badgeBgColor' => array( 876 'type' => 'string', 877 'default' => '#2563eb' 878 ), 879 'badgeTextColor' => array( 880 'type' => 'string', 881 'default' => '#ffffff' 882 ), 883 'buttonText' => array( 884 'type' => 'string', 885 'default' => 'Get Started' 886 ), 887 'buttonUrl' => array( 888 'type' => 'string', 889 'default' => '#' 890 ), 891 'buttonOpenInNewTab' => array( 892 'type' => 'boolean', 893 'default' => false 894 ), 895 'buttonBgColor' => array( 896 'type' => 'string', 897 'default' => '#2563eb' 898 ), 899 'buttonTextColor' => array( 900 'type' => 'string', 901 'default' => '#ffffff' 902 ), 903 'buttonHoverBgColor' => array( 904 'type' => 'string', 905 'default' => '#1d4ed8' 906 ), 907 'buttonHoverTextColor' => array( 908 'type' => 'string', 909 'default' => '#ffffff' 910 ), 911 'titleColor' => array( 912 'type' => 'string', 913 'default' => '' 914 ), 915 'priceColor' => array( 916 'type' => 'string', 917 'default' => '' 918 ), 919 'featureTextColor' => array( 920 'type' => 'string', 921 'default' => '' 922 ), 923 'checkmarkColor' => array( 924 'type' => 'string', 925 'default' => '#10b981' 926 ) 927 ), 928 'textdomain' => 'zenithium-blocks', 480 929 'editorScript' => 'file:./index.js', 481 930 'editorStyle' => 'file:./index.css', 482 931 'style' => 'file:./style-index.css', 483 'render' => 'file:./render.php', 484 'viewScript' => 'file:./view.js' 932 'render' => 'file:./render.php' 485 933 ), 486 934 'sticky-cta' => array( … … 489 937 'name' => 'zenithium-blocks/sticky-cta', 490 938 'version' => '1.0.0', 491 'title' => ' Floating Sticky CTA Bar',492 'category' => ' widgets',939 'title' => 'Zenithium Floating Sticky CTA Bar', 940 'category' => 'zenithium-blocks', 493 941 'icon' => 'megaphone', 494 942 'description' => 'A responsive floating banner for call-to-actions, announcements, and quick lead capture.', … … 508 956 'spacing' => array( 509 957 'margin' => true, 510 'padding' => true 958 'padding' => true, 959 'blockGap' => true 511 960 ), 512 961 'color' => array( 513 962 'text' => true, 514 'background' => true 963 'background' => true, 964 'gradients' => true, 965 'link' => true, 966 'heading' => true, 967 'button' => true, 968 'enableContrastChecker' => true 969 ), 970 'typography' => array( 971 'fontSize' => true, 972 'lineHeight' => true, 973 'fontFamily' => true, 974 'fontWeight' => true, 975 'fontStyle' => true, 976 'textTransform' => true, 977 'letterSpacing' => true, 978 'textDecoration' => true 979 ), 980 'border' => array( 981 'color' => true, 982 'radius' => true, 983 'style' => true, 984 'width' => true 515 985 ) 516 986 ), … … 566 1036 'render' => 'file:./render.php', 567 1037 'viewScript' => 'file:./view.js' 1038 ), 1039 'tab-item' => array( 1040 '$schema' => 'https://schemas.wp.org/trunk/block.json', 1041 'apiVersion' => 3, 1042 'name' => 'zenithium-blocks/tab-item', 1043 'version' => '1.0.0', 1044 'title' => 'Zenithium Tab Item', 1045 'category' => 'zenithium-blocks', 1046 'icon' => 'welcome-add-page', 1047 'description' => 'An individual tab panel container within the Tabs Group block.', 1048 'parent' => array( 1049 'zenithium-blocks/tabs-group' 1050 ), 1051 'usesContext' => array( 1052 'zenithium-blocks/activeTab' 1053 ), 1054 'keywords' => array( 1055 'tab', 1056 'tabs', 1057 'item', 1058 'panel' 1059 ), 1060 'textdomain' => 'zenithium-blocks', 1061 'supports' => array( 1062 'html' => false, 1063 'spacing' => array( 1064 'margin' => true, 1065 'padding' => true, 1066 'blockGap' => true 1067 ), 1068 'color' => array( 1069 'text' => true, 1070 'background' => true, 1071 'gradients' => true, 1072 'link' => true, 1073 'heading' => true, 1074 'button' => true, 1075 'enableContrastChecker' => true 1076 ), 1077 'typography' => array( 1078 'fontSize' => true, 1079 'lineHeight' => true, 1080 'fontFamily' => true, 1081 'fontWeight' => true, 1082 'fontStyle' => true, 1083 'textTransform' => true, 1084 'letterSpacing' => true, 1085 'textDecoration' => true 1086 ), 1087 'border' => array( 1088 'color' => true, 1089 'radius' => true, 1090 'style' => true, 1091 'width' => true, 1092 'left' => true, 1093 'right' => true, 1094 'top' => true, 1095 'bottom' => true 1096 ) 1097 ), 1098 'attributes' => array( 1099 'title' => array( 1100 'type' => 'string', 1101 'default' => 'Tab Title' 1102 ), 1103 'tabId' => array( 1104 'type' => 'string', 1105 'default' => '' 1106 ) 1107 ), 1108 'editorScript' => 'file:./index.js', 1109 'editorStyle' => 'file:./index.css', 1110 'style' => 'file:./style-index.css' 1111 ), 1112 'tabs-group' => array( 1113 '$schema' => 'https://schemas.wp.org/trunk/block.json', 1114 'apiVersion' => 3, 1115 'name' => 'zenithium-blocks/tabs-group', 1116 'version' => '1.0.0', 1117 'title' => 'Zenithium Tabs Group', 1118 'category' => 'zenithium-blocks', 1119 'icon' => 'index-card', 1120 'description' => 'A container block to organize content into interactive tabs with complete global customization options.', 1121 'allowedBlocks' => array( 1122 'zenithium-blocks/tab-item' 1123 ), 1124 'providesContext' => array( 1125 'zenithium-blocks/activeTab' => 'activeTab' 1126 ), 1127 'template' => array( 1128 array( 1129 'zenithium-blocks/tab-item', 1130 array( 1131 'title' => 'Tab One' 1132 ) 1133 ) 1134 ), 1135 'supports' => array( 1136 'html' => false, 1137 'align' => array( 1138 'wide', 1139 'full' 1140 ), 1141 'spacing' => array( 1142 'margin' => true, 1143 'padding' => true, 1144 'blockGap' => true 1145 ), 1146 'color' => array( 1147 'text' => true, 1148 'background' => true, 1149 'gradients' => true, 1150 'link' => true, 1151 'heading' => true, 1152 'button' => true, 1153 'enableContrastChecker' => true 1154 ), 1155 'typography' => array( 1156 'fontSize' => true, 1157 'lineHeight' => true, 1158 'fontFamily' => true, 1159 'fontWeight' => true, 1160 'fontStyle' => true, 1161 'textTransform' => true, 1162 'letterSpacing' => true, 1163 'textDecoration' => true 1164 ), 1165 'border' => array( 1166 'color' => true, 1167 'radius' => true, 1168 'style' => true, 1169 'width' => true 1170 ) 1171 ), 1172 'attributes' => array( 1173 'layoutStyle' => array( 1174 'type' => 'string', 1175 'default' => 'horizontal' 1176 ), 1177 'activeTab' => array( 1178 'type' => 'number', 1179 'default' => 0 1180 ), 1181 'accentColor' => array( 1182 'type' => 'string', 1183 'default' => '#2563eb' 1184 ), 1185 'tabBgColor' => array( 1186 'type' => 'string', 1187 'default' => '#f8fafc' 1188 ), 1189 'tabTextColor' => array( 1190 'type' => 'string', 1191 'default' => '#1e293b' 1192 ), 1193 'activeTabBgColor' => array( 1194 'type' => 'string', 1195 'default' => '#ffffff' 1196 ), 1197 'activeTabTextColor' => array( 1198 'type' => 'string', 1199 'default' => '#2563eb' 1200 ), 1201 'tabFontSize' => array( 1202 'type' => 'number', 1203 'default' => 16 1204 ), 1205 'tabFontWeight' => array( 1206 'type' => 'string', 1207 'default' => '500' 1208 ), 1209 'tabGap' => array( 1210 'type' => 'number', 1211 'default' => 6 1212 ), 1213 'tabSpace' => array( 1214 'type' => 'number', 1215 'default' => 0 1216 ), 1217 'tabPaddingX' => array( 1218 'type' => 'number', 1219 'default' => 20 1220 ), 1221 'tabPaddingY' => array( 1222 'type' => 'number', 1223 'default' => 10 1224 ), 1225 'tabBorderRadius' => array( 1226 'type' => 'number', 1227 'default' => 6 1228 ), 1229 'contentPadding' => array( 1230 'type' => 'number', 1231 'default' => 20 1232 ), 1233 'contentBgColor' => array( 1234 'type' => 'string', 1235 'default' => '#ffffff' 1236 ), 1237 'contentBorderColor' => array( 1238 'type' => 'string', 1239 'default' => 'rgba(0, 0, 0, 0.08)' 1240 ) 1241 ), 1242 'editorScript' => 'file:./index.js', 1243 'editorStyle' => 'file:./index.css', 1244 'style' => 'file:./style-index.css', 1245 'render' => 'file:./render.php', 1246 'viewScript' => 'file:./view.js' 1247 ), 1248 'testimonial-card' => array( 1249 '$schema' => 'https://schemas.wp.org/trunk/block.json', 1250 'apiVersion' => 3, 1251 'name' => 'zenithium-blocks/testimonial-card', 1252 'version' => '1.0.0', 1253 'title' => 'Zenithium Testimonial Card', 1254 'category' => 'zenithium-blocks', 1255 'icon' => 'format-quote', 1256 'description' => 'A clean testimonial card with quote, author details, avatar, and star rating.', 1257 'keywords' => array( 1258 'testimonial', 1259 'review', 1260 'quote', 1261 'rating', 1262 'zenithium' 1263 ), 1264 'supports' => array( 1265 'html' => false, 1266 'align' => array( 1267 'wide', 1268 'full' 1269 ), 1270 'color' => array( 1271 'background' => true, 1272 'text' => true, 1273 'link' => true, 1274 'gradients' => true, 1275 'enableCustomColors' => true, 1276 'enableAlpha' => true 1277 ), 1278 'spacing' => array( 1279 'padding' => true, 1280 'margin' => true 1281 ), 1282 'border' => array( 1283 'color' => true, 1284 'radius' => true, 1285 'style' => true, 1286 'width' => true, 1287 '__experimentalDefaultControls' => array( 1288 'color' => true, 1289 'radius' => true, 1290 'width' => true 1291 ) 1292 ) 1293 ), 1294 'attributes' => array( 1295 'quote' => array( 1296 'type' => 'string', 1297 'default' => 'This block suite simplified our block editor workflow completely!' 1298 ), 1299 'authorName' => array( 1300 'type' => 'string', 1301 'default' => 'Jane Doe' 1302 ), 1303 'authorRole' => array( 1304 'type' => 'string', 1305 'default' => 'Product Manager' 1306 ), 1307 'rating' => array( 1308 'type' => 'number', 1309 'default' => 5 1310 ), 1311 'mediaId' => array( 1312 'type' => 'number', 1313 'default' => 0 1314 ), 1315 'mediaUrl' => array( 1316 'type' => 'string', 1317 'default' => '' 1318 ), 1319 'avatarSize' => array( 1320 'type' => 'number', 1321 'default' => 48 1322 ), 1323 'quoteColor' => array( 1324 'type' => 'string', 1325 'default' => '' 1326 ), 1327 'quoteFontSize' => array( 1328 'type' => 'number', 1329 'default' => 17 1330 ), 1331 'quoteLineHeight' => array( 1332 'type' => 'string', 1333 'default' => '1.6' 1334 ), 1335 'authorNameColor' => array( 1336 'type' => 'string', 1337 'default' => '' 1338 ), 1339 'authorNameFontSize' => array( 1340 'type' => 'number', 1341 'default' => 16 1342 ), 1343 'authorRoleColor' => array( 1344 'type' => 'string', 1345 'default' => '' 1346 ), 1347 'authorRoleFontSize' => array( 1348 'type' => 'number', 1349 'default' => 14 1350 ), 1351 'starColor' => array( 1352 'type' => 'string', 1353 'default' => '#f59e0b' 1354 ) 1355 ), 1356 'textdomain' => 'zenithium-blocks', 1357 'editorScript' => 'file:./index.js', 1358 'editorStyle' => 'file:./index.css', 1359 'style' => 'file:./style-index.css', 1360 'render' => 'file:./render.php' 568 1361 ) 569 1362 ); -
zenithium-blocks/trunk/build/blocks/accordion-group/block.json
r3640847 r3769770 3 3 "apiVersion": 3, 4 4 "name": "zenithium-blocks/accordion-group", 5 "version": "1. 0.0",6 "title": " Accordion Group",7 "category": " widgets",5 "version": "1.1.1", 6 "title": "Zenithium Accordion Group", 7 "category": "zenithium-blocks", 8 8 "icon": "list-view", 9 "description": " Container for multiple accordion items with auto-close and SEO schema controls.",9 "description": "A group of customizable accordion items.", 10 10 "keywords": [ 11 11 "accordion", 12 12 "faq", 13 "group" 13 "group", 14 "toggle" 14 15 ], 16 "allowedBlocks": [ 17 "zenithium-blocks/accordion-item" 18 ], 19 "providesContext": { 20 "zenithium-blocks/autoClose": "autoClose", 21 "zenithium-blocks/headerFontSize": "headerFontSize", 22 "zenithium-blocks/headerFontWeight": "headerFontWeight", 23 "zenithium-blocks/headerTextColor": "headerTextColor", 24 "zenithium-blocks/headerHoverTextColor": "headerHoverTextColor", 25 "zenithium-blocks/headerBgColor": "headerBgColor", 26 "zenithium-blocks/headerHoverBgColor": "headerHoverBgColor", 27 "zenithium-blocks/iconColor": "iconColor", 28 "zenithium-blocks/iconHoverColor": "iconHoverColor", 29 "zenithium-blocks/iconSize": "iconSize", 30 "zenithium-blocks/itemGap": "itemGap", 31 "zenithium-blocks/headerPaddingX": "headerPaddingX", 32 "zenithium-blocks/headerPaddingY": "headerPaddingY", 33 "zenithium-blocks/contentPaddingX": "contentPaddingX", 34 "zenithium-blocks/contentPaddingY": "contentPaddingY", 35 "zenithium-blocks/contentGap": "contentGap" 36 }, 15 37 "textdomain": "zenithium-blocks", 16 38 "supports": { … … 20 42 "full" 21 43 ], 44 "layout": true, 22 45 "spacing": { 23 46 "margin": true, 24 "padding": true 47 "padding": true, 48 "blockGap": true, 49 "units": [ 50 "px", 51 "em", 52 "rem", 53 "%" 54 ], 55 "__experimentalDefaultControls": { 56 "margin": true, 57 "padding": true, 58 "blockGap": true 59 } 60 }, 61 "color": { 62 "text": true, 63 "background": true, 64 "gradients": true 65 }, 66 "border": { 67 "color": true, 68 "radius": true, 69 "style": true, 70 "width": true, 71 "__experimentalDefaultControls": { 72 "color": true, 73 "radius": true, 74 "width": true 75 } 76 }, 77 "typography": { 78 "fontSize": true, 79 "lineHeight": true, 80 "fontFamily": true, 81 "fontWeight": true, 82 "fontStyle": true, 83 "letterSpacing": true, 84 "textTransform": true, 85 "textDecoration": true, 86 "__experimentalDefaultControls": { 87 "fontSize": true, 88 "fontWeight": true 89 } 25 90 } 26 91 }, … … 34 99 "default": true 35 100 }, 36 " accentColor": {101 "headerFontSize": { 37 102 "type": "string", 38 "default": "#2563eb" 103 "default": "1.05rem" 104 }, 105 "headerFontWeight": { 106 "type": "string", 107 "default": "600" 108 }, 109 "headerTextColor": { 110 "type": "string", 111 "default": "" 112 }, 113 "headerHoverTextColor": { 114 "type": "string", 115 "default": "" 39 116 }, 40 117 "headerBgColor": { 41 118 "type": "string", 42 "default": "#f8fafc" 119 "default": "" 120 }, 121 "headerHoverBgColor": { 122 "type": "string", 123 "default": "" 124 }, 125 "iconColor": { 126 "type": "string", 127 "default": "" 128 }, 129 "iconHoverColor": { 130 "type": "string", 131 "default": "" 132 }, 133 "iconSize": { 134 "type": "number", 135 "default": 20 136 }, 137 "groupBorderColor": { 138 "type": "string", 139 "default": "" 140 }, 141 "groupBorderWidth": { 142 "type": "number", 143 "default": 0 144 }, 145 "groupBorderRadius": { 146 "type": "number", 147 "default": 0 148 }, 149 "groupBorderStyle": { 150 "type": "string", 151 "default": "solid" 152 }, 153 "itemGap": { 154 "type": "number", 155 "default": 12 156 }, 157 "headerPaddingX": { 158 "type": "number", 159 "default": 20 160 }, 161 "headerPaddingY": { 162 "type": "number", 163 "default": 16 164 }, 165 "contentPaddingX": { 166 "type": "number", 167 "default": 20 168 }, 169 "contentPaddingY": { 170 "type": "number", 171 "default": 20 172 }, 173 "contentGap": { 174 "type": "number", 175 "default": 16 43 176 } 44 177 }, -
zenithium-blocks/trunk/build/blocks/accordion-group/index-rtl.css
r3640847 r3769770 1 .zenithium-blocks-accordion-group-edit{ background-color:#fff;border:1px dashed #cbd5e1;border-radius:10px;padding:16px;transition:border-color .2s ease}.zenithium-blocks-accordion-group-edit.is-selected,.zenithium-blocks-accordion-group-edit:hover{border-color:#2563eb}.zenithium-blocks-accordion-group-edit .zenithium-blocks-accordion-group-container{display:flex;flex-direction:column;gap:12px}1 .zenithium-blocks-accordion-group-edit{--zb-accent-color:#2563eb;--zb-header-bg:#f8fafc;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.zenithium-blocks-accordion-group-edit,.zenithium-blocks-accordion-group-edit .block-editor-block-list__layout,.zenithium-blocks-accordion-group-edit.block-editor-block-list__layout{display:flex;flex-direction:column;gap:var(--zb-item-gap,var(--wp--style--block-gap,12px))}.zenithium-blocks-accordion-group-edit>.block-editor-block-list__block,.zenithium-blocks-accordion-group-edit>.wp-block{margin-block-end:0;margin-block-start:0}.zenithium-blocks-accordion-group-edit .block-list-appender{margin-top:8px} -
zenithium-blocks/trunk/build/blocks/accordion-group/index.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp- i18n'), 'version' => 'b075e15f2002427158a4');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-i18n'), 'version' => 'bb36c3952ac16f6bb155'); -
zenithium-blocks/trunk/build/blocks/accordion-group/index.css
r3640847 r3769770 1 .zenithium-blocks-accordion-group-edit{ background-color:#fff;border:1px dashed #cbd5e1;border-radius:10px;padding:16px;transition:border-color .2s ease}.zenithium-blocks-accordion-group-edit.is-selected,.zenithium-blocks-accordion-group-edit:hover{border-color:#2563eb}.zenithium-blocks-accordion-group-edit .zenithium-blocks-accordion-group-container{display:flex;flex-direction:column;gap:12px}1 .zenithium-blocks-accordion-group-edit{--zb-accent-color:#2563eb;--zb-header-bg:#f8fafc;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.zenithium-blocks-accordion-group-edit,.zenithium-blocks-accordion-group-edit .block-editor-block-list__layout,.zenithium-blocks-accordion-group-edit.block-editor-block-list__layout{display:flex;flex-direction:column;gap:var(--zb-item-gap,var(--wp--style--block-gap,12px))}.zenithium-blocks-accordion-group-edit>.block-editor-block-list__block,.zenithium-blocks-accordion-group-edit>.wp-block{margin-block-end:0;margin-block-start:0}.zenithium-blocks-accordion-group-edit .block-list-appender{margin-top:8px} -
zenithium-blocks/trunk/build/blocks/accordion-group/index.js
r3640847 r3769770 1 (()=>{"use strict";var e={ 734(){const e=window.wp.blocks,o=window.wp.i18n,n=window.wp.blockEditor,l=window.wp.components,t=window.ReactJSXRuntime,c=[{name:"Blue",color:"#2563eb"},{name:"Purple",color:"#9333ea"},{name:"Emerald",color:"#059669"},{name:"Rose",color:"#e11d48"},{name:"Slate",color:"#475569"},{name:"Dark",color:"#0f172a"}],i=JSON.parse('{"UU":"zenithium-blocks/accordion-group"}');(0,e.registerBlockType)(i.UU,{edit:function({attributes:e,setAttributes:i}){const{autoClose:r,enableSchema:s,accentColor:a,headerBgColor:h}=e,u=(0,n.useBlockProps)({className:"zenithium-blocks-accordion-group-edit",style:{"--zb-accent-color":a||"#2563eb","--zb-header-bg":h||"#f8fafc"}}),d=[["zenithium-blocks/accordion",{title:(0,o.__)("How does this block work?","zenithium-blocks"),isOpen:!0}],["zenithium-blocks/accordion",{title:(0,o.__)("Can I customize the colors?","zenithium-blocks")}]];return(0,t.jsxs)("div",{...u,children:[(0,t.jsxs)(n.InspectorControls,{children:[(0,t.jsxs)(l.PanelBody,{title:(0,o.__)("Group Behavior & SEO","zenithium-blocks"),children:[(0,t.jsx)(l.ToggleControl,{label:(0,o.__)("Auto-Close Other Items","zenithium-blocks"),help:(0,o.__)("Opening one item automatically closes all other accordion items in this group.","zenithium-blocks"),checked:r,onChange:e=>i({autoClose:e})}),(0,t.jsx)(l.ToggleControl,{label:(0,o.__)("Enable FAQ Schema (JSON-LD)","zenithium-blocks"),help:(0,o.__)("Generates Google-friendly structured data for rich search results.","zenithium-blocks"),checked:s,onChange:e=>i({enableSchema:e})})]}),(0,t.jsxs)(l.PanelBody,{title:(0,o.__)("Global Color Palette","zenithium-blocks"),initialOpen:!1,children:[(0,t.jsx)("p",{children:(0,o.__)("Active Accent Color","zenithium-blocks")}),(0,t.jsx)(l.ColorPalette,{colors:c,value:a,onChange:e=>i({accentColor:e||"#2563eb"})}),(0,t.jsx)("p",{children:(0,o.__)("Header Background Color","zenithium-blocks")}),(0,t.jsx)(l.ColorPalette,{colors:c,value:h,onChange:e=>i({headerBgColor:e||"#f8fafc"})})]})]}),(0,t.jsx)("div",{className:"zenithium-blocks-accordion-group-container",children:(0,t.jsx)(n.InnerBlocks,{allowedBlocks:["zenithium-blocks/accordion"],template:d})})]})},save:function(){return(0,t.jsx)(n.InnerBlocks.Content,{})}})}};const o={};function n(l){const t=o[l];if(void 0!==t)return t.exports;const c=o[l]={exports:{}};return e[l](c,c.exports,n),c.exports}n.m=e,(()=>{const e=[];n.O=(o,l,t,c)=>{if(l){c=c||0;for(var i=e.length;i>0&&e[i-1][2]>c;i--)e[i]=e[i-1];return void(e[i]=[l,t,c])}let r=1/0;for(i=0;i<e.length;i++){let[l,t,c]=e[i],a=!0;for(var s=0;s<l.length;s++)(!1&c||r>=c)&&Object.keys(n.O).every(e=>n.O[e](l[s]))?l.splice(s--,1):(a=!1,c<r&&(r=c));if(a){e.splice(i--,1);const n=t();void 0!==n&&(o=n)}}return o}})(),n.o=(e,o)=>Object.hasOwn(e,o),(()=>{const e={585:0,637:0};n.O.j=o=>0===e[o];const o=(o,l)=>{let[t,c,i]=l;var r,s,a=0;if(t.some(o=>0!==e[o])){for(r in c)n.o(c,r)&&(n.m[r]=c[r]);if(i)var h=i(n)}for(o&&o(l);a<t.length;a++)s=t[a],n.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return n.O(h)},l=globalThis.webpackChunkzenithium_blocks||=[];l.forEach(o.bind(null,0)),l.push=o.bind(null,l.push.bind(l))})();let l=n.O(void 0,[637],()=>n(734));l=n.O(l)})();1 (()=>{"use strict";var e={252(){const e=window.wp.blocks,o=window.wp.i18n,n=window.wp.blockEditor,i=window.wp.components,t=window.wp.data,l=window.ReactJSXRuntime,r=["zenithium-blocks/accordion-item"],a=[["zenithium-blocks/accordion-item",{title:(0,o.__)("How does this accordion group work?","zenithium-blocks"),isOpen:!0}],["zenithium-blocks/accordion-item",{title:(0,o.__)("Can I customize each item individually?","zenithium-blocks")}]],s=(e,o="")=>e?"string"==typeof e&&e.startsWith("var:preset|color|")?`var(--wp--preset--color--${e.replace("var:preset|color|","")})`:e:o,c=JSON.parse('{"UU":"zenithium-blocks/accordion-group"}');(0,e.registerBlockType)(c.UU,{edit:function({attributes:c,setAttributes:d,clientId:h}){const{autoClose:u,enableSchema:b,headerFontSize:g,headerFontWeight:p,headerTextColor:m,headerHoverTextColor:_,headerBgColor:z,headerHoverBgColor:k,iconColor:C,iconHoverColor:x,iconSize:v,groupBorderColor:B,groupBorderWidth:S,groupBorderRadius:j,groupBorderStyle:w,itemGap:y=12,headerPaddingX:P=20,headerPaddingY:O=16,contentPaddingX:f=20,contentPaddingY:H=20,contentGap:I=16}=c,{insertBlock:R}=(0,t.useDispatch)("core/block-editor"),$=((e,o="")=>e?"string"==typeof e&&e.startsWith("var:preset|spacing|")?`var(--wp--preset--spacing--${e.replace("var:preset|spacing|","")})`:e:o)(c.style?.spacing?.blockGap,"")||`${y??12}px`,F=(0,n.useBlockProps)({className:"zenithium-blocks-accordion-group-edit",style:{"--zb-title-size":g||"1.05rem","--zb-title-weight":p||"600","--zb-header-text":s(m,"inherit"),"--zb-header-hover-text":s(_||m,"inherit"),"--zb-header-bg":s(z,"transparent"),"--zb-header-hover-bg":s(k||z,"transparent"),"--zb-icon-color":s(C,"currentColor"),"--zb-icon-hover-color":s(x||C,"currentColor"),"--zb-icon-size":`${v||20}px`,"--zb-group-border-color":s(B,"transparent"),"--zb-group-border-width":`${S||0}px`,"--zb-group-border-radius":`${j||0}px`,"--zb-group-border-style":w||"solid","--zb-item-gap":$,"--zb-header-padding-x":`${P??20}px`,"--zb-header-padding-y":`${O??16}px`,"--zb-content-padding-x":`${f??20}px`,"--zb-content-padding-y":`${H??20}px`,"--zb-content-gap":`${I??16}px`,"--wp--style--block-gap":$,display:"flex",flexDirection:"column",gap:$}}),G=(0,n.useInnerBlocksProps)(F,{allowedBlocks:r,template:a});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(n.InspectorControls,{children:[(0,l.jsxs)(i.PanelBody,{title:(0,o.__)("Group Behavior & SEO","zenithium-blocks"),children:[(0,l.jsx)(i.ToggleControl,{label:(0,o.__)("Auto-Close Other Items","zenithium-blocks"),help:(0,o.__)("Opening one item automatically closes all other items in this group.","zenithium-blocks"),checked:u,onChange:e=>d({autoClose:e})}),(0,l.jsx)(i.ToggleControl,{label:(0,o.__)("Enable FAQ Schema (JSON-LD)","zenithium-blocks"),help:(0,o.__)("Generates structured FAQ data for search engines.","zenithium-blocks"),checked:b,onChange:e=>d({enableSchema:e})}),(0,l.jsx)(i.Button,{variant:"secondary",onClick:()=>{const n=(0,e.createBlock)("zenithium-blocks/accordion-item",{title:(0,o.__)("New Accordion Item","zenithium-blocks")});R(n,void 0,h)},icon:"plus",style:{width:"100%",justifyContent:"center"},children:(0,o.__)("Add New Item","zenithium-blocks")})]}),(0,l.jsxs)(i.PanelBody,{title:(0,o.__)("Item Spacing & Padding","zenithium-blocks"),initialOpen:!0,children:[(0,l.jsx)(i.RangeControl,{label:(0,o.__)("Space Between Items (px)","zenithium-blocks"),value:y,onChange:e=>d({itemGap:e}),min:0,max:60}),(0,l.jsx)(i.RangeControl,{label:(0,o.__)("Header Horizontal Padding (px)","zenithium-blocks"),value:P,onChange:e=>d({headerPaddingX:e}),min:0,max:60}),(0,l.jsx)(i.RangeControl,{label:(0,o.__)("Header Vertical Padding (px)","zenithium-blocks"),value:O,onChange:e=>d({headerPaddingY:e}),min:0,max:40}),(0,l.jsx)(i.RangeControl,{label:(0,o.__)("Content Horizontal Padding (px)","zenithium-blocks"),value:f,onChange:e=>d({contentPaddingX:e}),min:0,max:60}),(0,l.jsx)(i.RangeControl,{label:(0,o.__)("Content Vertical Padding (px)","zenithium-blocks"),value:H,onChange:e=>d({contentPaddingY:e}),min:0,max:60}),(0,l.jsx)(i.RangeControl,{label:(0,o.__)("Content Blocks Gap (px)","zenithium-blocks"),value:I,onChange:e=>d({contentGap:e}),min:0,max:40})]}),(0,l.jsxs)(i.PanelBody,{title:(0,o.__)("Shared Item Heading Styles","zenithium-blocks"),initialOpen:!1,children:[(0,l.jsx)(i.FontSizePicker,{value:g,onChange:e=>d({headerFontSize:e||"1.05rem"}),fallbackFontSize:16}),(0,l.jsx)(i.SelectControl,{label:(0,o.__)("Heading Font Weight","zenithium-blocks"),value:p,options:[{label:(0,o.__)("Normal (400)","zenithium-blocks"),value:"400"},{label:(0,o.__)("Medium (500)","zenithium-blocks"),value:"500"},{label:(0,o.__)("Semi-Bold (600)","zenithium-blocks"),value:"600"},{label:(0,o.__)("Bold (700)","zenithium-blocks"),value:"700"}],onChange:e=>d({headerFontWeight:e})})]}),(0,l.jsx)(n.PanelColorSettings,{title:(0,o.__)("Shared Item Colors","zenithium-blocks"),initialOpen:!1,colorSettings:[{value:m,onChange:e=>d({headerTextColor:e||""}),label:(0,o.__)("Heading Color","zenithium-blocks")},{value:_,onChange:e=>d({headerHoverTextColor:e||""}),label:(0,o.__)("Heading Hover Color","zenithium-blocks")},{value:z,onChange:e=>d({headerBgColor:e||""}),label:(0,o.__)("Heading Background","zenithium-blocks")},{value:k,onChange:e=>d({headerHoverBgColor:e||""}),label:(0,o.__)("Heading Hover Background","zenithium-blocks")}]}),(0,l.jsx)(i.PanelBody,{title:(0,o.__)("Shared Item Icon","zenithium-blocks"),initialOpen:!1,children:(0,l.jsx)(i.RangeControl,{label:(0,o.__)("Icon Size (px)","zenithium-blocks"),value:v,onChange:e=>d({iconSize:e}),min:12,max:48})}),(0,l.jsx)(n.PanelColorSettings,{title:(0,o.__)("Shared Item Icon Colors","zenithium-blocks"),initialOpen:!1,colorSettings:[{value:C,onChange:e=>d({iconColor:e||""}),label:(0,o.__)("Icon Color","zenithium-blocks")},{value:x,onChange:e=>d({iconHoverColor:e||""}),label:(0,o.__)("Icon Hover Color","zenithium-blocks")}]}),(0,l.jsxs)(i.PanelBody,{title:(0,o.__)("Group Border","zenithium-blocks"),initialOpen:!1,children:[(0,l.jsx)(i.RangeControl,{label:(0,o.__)("Border Width (px)","zenithium-blocks"),value:S,onChange:e=>d({groupBorderWidth:e}),min:0,max:12}),(0,l.jsx)(i.RangeControl,{label:(0,o.__)("Border Radius (px)","zenithium-blocks"),value:j,onChange:e=>d({groupBorderRadius:e}),min:0,max:48}),(0,l.jsx)(i.SelectControl,{label:(0,o.__)("Border Style","zenithium-blocks"),value:w,options:[{label:(0,o.__)("Solid","zenithium-blocks"),value:"solid"},{label:(0,o.__)("Dashed","zenithium-blocks"),value:"dashed"},{label:(0,o.__)("Dotted","zenithium-blocks"),value:"dotted"},{label:(0,o.__)("Double","zenithium-blocks"),value:"double"}],onChange:e=>d({groupBorderStyle:e})}),(0,l.jsx)(n.PanelColorSettings,{title:(0,o.__)("Border Color","zenithium-blocks"),colorSettings:[{value:B,onChange:e=>d({groupBorderColor:e||""}),label:(0,o.__)("Border Color","zenithium-blocks")}]})]})]}),(0,l.jsx)("div",{...G})]})},save:function(){return(0,l.jsx)(n.InnerBlocks.Content,{})}})}};const o={};function n(i){const t=o[i];if(void 0!==t)return t.exports;const l=o[i]={exports:{}};return e[i](l,l.exports,n),l.exports}n.m=e,(()=>{const e=[];n.O=(o,i,t,l)=>{if(i){l=l||0;for(var r=e.length;r>0&&e[r-1][2]>l;r--)e[r]=e[r-1];return void(e[r]=[i,t,l])}let a=1/0;for(r=0;r<e.length;r++){let[i,t,l]=e[r],c=!0;for(var s=0;s<i.length;s++)(!1&l||a>=l)&&Object.keys(n.O).every(e=>n.O[e](i[s]))?i.splice(s--,1):(c=!1,l<a&&(a=l));if(c){e.splice(r--,1);const n=t();void 0!==n&&(o=n)}}return o}})(),n.o=(e,o)=>Object.hasOwn(e,o),(()=>{const e={585:0,637:0};n.O.j=o=>0===e[o];const o=(o,i)=>{let[t,l,r]=i;var a,s,c=0;if(t.some(o=>0!==e[o])){for(a in l)n.o(l,a)&&(n.m[a]=l[a]);if(r)var d=r(n)}for(o&&o(i);c<t.length;c++)s=t[c],n.o(e,s)&&e[s]&&e[s][0](),e[s]=0;return n.O(d)},i=globalThis.webpackChunkzenithium_blocks||=[];i.forEach(o.bind(null,0)),i.push=o.bind(null,i.push.bind(i))})();let i=n.O(void 0,[637],()=>n(252));i=n.O(i)})(); -
zenithium-blocks/trunk/build/blocks/accordion-group/render.php
r3640847 r3769770 11 11 12 12 call_user_func( 13 function ($attributes, $content, $block) { 13 function ($attributes, $content) { 14 $format_color = function ($color, $default = '') { 15 if (empty($color)) { 16 return $default; 17 } 18 if (is_string($color) && str_starts_with($color, 'var:preset|color|')) { 19 $slug = str_replace('var:preset|color|', '', $color); 20 return "var(--wp--preset--color--{$slug})"; 21 } 22 return $color; 23 }; 24 25 $format_spacing = function ($spacing, $default = '') { 26 if (empty($spacing)) { 27 return $default; 28 } 29 if (is_string($spacing) && str_starts_with($spacing, 'var:preset|spacing|')) { 30 $slug = str_replace('var:preset|spacing|', '', $spacing); 31 return "var(--wp--preset--spacing--{$slug})"; 32 } 33 return $spacing; 34 }; 35 14 36 $auto_close = $attributes['autoClose'] ?? true; 15 37 $enable_schema = $attributes['enableSchema'] ?? true; 16 $ accent_color = $attributes['accentColor'] ?? '#2563eb';17 $ header_bg = $attributes['headerBgColor'] ?? '#f8fafc';38 $border_style = $attributes['groupBorderStyle'] ?? 'solid'; 39 $allowed_border_styles = array('solid', 'dashed', 'dotted', 'double'); 18 40 19 $inline_styles = sprintf( 20 '--zb-accent-color: %s; --zb-header-bg: %s;', 21 esc_attr($accent_color), 22 esc_attr($header_bg) 41 $raw_block_gap = $attributes['style']['spacing']['blockGap'] ?? ''; 42 $core_block_gap = $format_spacing($raw_block_gap); 43 $item_gap = !empty($core_block_gap) ? $core_block_gap : sprintf('%dpx', (int) ($attributes['itemGap'] ?? 12)); 44 45 $header_padding_x = (int) ($attributes['headerPaddingX'] ?? 20); 46 $header_padding_y = (int) ($attributes['headerPaddingY'] ?? 16); 47 $content_padding_x = (int) ($attributes['contentPaddingX'] ?? 20); 48 $content_padding_y = (int) ($attributes['contentPaddingY'] ?? 20); 49 $content_gap = (int) ($attributes['contentGap'] ?? 16); 50 51 // Shared heading typography. 52 $header_font_size = !empty($attributes['headerFontSize']) ? $attributes['headerFontSize'] : '1.05rem'; 53 $header_font_weight = !empty($attributes['headerFontWeight']) ? $attributes['headerFontWeight'] : '600'; 54 $icon_size = max(12, (int) ($attributes['iconSize'] ?? 20)); 55 56 // Shared colors – resolve WordPress preset notation to CSS custom properties. 57 $header_text_color = $format_color($attributes['headerTextColor'] ?? ''); 58 $header_hover_text = $format_color($attributes['headerHoverTextColor'] ?? ''); 59 $header_bg_color = $format_color($attributes['headerBgColor'] ?? ''); 60 $header_hover_bg = $format_color($attributes['headerHoverBgColor'] ?? ''); 61 $icon_color = $format_color($attributes['iconColor'] ?? ''); 62 $icon_hover_color = $format_color($attributes['iconHoverColor'] ?? ''); 63 64 $group_styles = array( 65 sprintf('--zb-group-border-width: %dpx;', max(0, (int) ($attributes['groupBorderWidth'] ?? 0))), 66 sprintf('--zb-group-border-radius: %dpx;', max(0, (int) ($attributes['groupBorderRadius'] ?? 0))), 67 sprintf('--zb-group-border-style: %s;', in_array($border_style, $allowed_border_styles, true) ? $border_style : 'solid'), 68 sprintf('--zb-item-gap: %s;', esc_attr($item_gap)), 69 sprintf('--wp--style--block-gap: %s;', esc_attr($item_gap)), 70 sprintf('gap: %s;', esc_attr($item_gap)), 71 sprintf('--zb-header-padding-x: %dpx;', $header_padding_x), 72 sprintf('--zb-header-padding-y: %dpx;', $header_padding_y), 73 sprintf('--zb-content-padding-x: %dpx;', $content_padding_x), 74 sprintf('--zb-content-padding-y: %dpx;', $content_padding_y), 75 sprintf('--zb-content-gap: %dpx;', $content_gap), 76 // Typography shared across all items. 77 sprintf('--zb-title-size: %s;', esc_attr($header_font_size)), 78 sprintf('--zb-title-weight: %s;', esc_attr($header_font_weight)), 79 sprintf('--zb-icon-size: %dpx;', $icon_size), 23 80 ); 24 81 82 // Shared header colors – set on group wrapper so CSS cascade delivers them 83 // to every item even if block-context propagation is unavailable. 84 if (!empty($header_text_color)) { 85 $group_styles[] = sprintf('--zb-header-text: %s;', esc_attr($header_text_color)); 86 } 87 if (!empty($header_hover_text)) { 88 $group_styles[] = sprintf('--zb-header-hover-text: %s;', esc_attr($header_hover_text)); 89 } 90 if (!empty($header_bg_color)) { 91 $group_styles[] = sprintf('--zb-header-bg: %s;', esc_attr($header_bg_color)); 92 } 93 if (!empty($header_hover_bg)) { 94 $group_styles[] = sprintf('--zb-header-hover-bg: %s;', esc_attr($header_hover_bg)); 95 } 96 if (!empty($icon_color)) { 97 $group_styles[] = sprintf('--zb-icon-color: %s;', esc_attr($icon_color)); 98 } 99 if (!empty($icon_hover_color)) { 100 $group_styles[] = sprintf('--zb-icon-hover-color: %s;', esc_attr($icon_hover_color)); 101 } 102 103 if (!empty($attributes['groupBorderColor'])) { 104 $group_border_color = $format_color($attributes['groupBorderColor']); 105 if ($group_border_color) { 106 $group_styles[] = sprintf('--zb-group-border-color: %s;', esc_attr($group_border_color)); 107 } 108 } 109 25 110 $wrapper_attributes = get_block_wrapper_attributes( 26 [111 array( 27 112 'class' => 'zenithium-blocks-accordion-group', 28 113 'data-auto-close' => $auto_close ? 'true' : 'false', 29 'style' => $inline_styles,30 ]114 'style' => implode(' ', $group_styles), 115 ) 31 116 ); 32 117 33 // Generate FAQPage JSON-LD Schema safely without triggering render_block().34 118 if ($enable_schema && !empty($block->parsed_block['innerBlocks'])) { 35 $faq_schema = [119 $faq_schema = array( 36 120 '@context' => 'https://schema.org', 37 121 '@type' => 'FAQPage', 38 'mainEntity' => [],39 ];122 'mainEntity' => array(), 123 ); 40 124 41 125 foreach ($block->parsed_block['innerBlocks'] as $inner_block) { 42 if ('zenithium-blocks/accordion ' === $inner_block['blockName'] || 'zenithium-blocks/accordion-item' === $inner_block['blockName']) {43 $ title = $inner_block['attrs']['title'] ?? '';126 if ('zenithium-blocks/accordion-item' === ($inner_block['blockName'] ?? '')) { 127 $item_title = $inner_block['attrs']['title'] ?? ''; 44 128 45 $ content_text = '';129 $item_content = ''; 46 130 if (!empty($inner_block['innerBlocks'])) { 47 131 foreach ($inner_block['innerBlocks'] as $child) { 48 if (isset($child['innerHTML'])) { 49 $content_text .= wp_strip_all_tags($child['innerHTML']) . ' '; 50 } 132 $item_content .= render_block($child); 51 133 } 52 134 } 53 135 54 if (!empty($ title)) {55 $faq_schema['mainEntity'][] = [136 if (!empty($item_title)) { 137 $faq_schema['mainEntity'][] = array( 56 138 '@type' => 'Question', 57 'name' => $title,58 'acceptedAnswer' => [139 'name' => wp_strip_all_tags($item_title), 140 'acceptedAnswer' => array( 59 141 '@type' => 'Answer', 60 'text' => trim($content_text),61 ],62 ];142 'text' => wp_strip_all_tags($item_content), 143 ), 144 ); 63 145 } 64 146 } … … 66 148 67 149 if (!empty($faq_schema['mainEntity'])) { 68 echo '<script type="application/ld+json">' . wp_json_encode($faq_schema) . '</script>' . "\n"; 150 add_action( 151 'wp_footer', 152 function () use ($faq_schema) { 153 echo '<script type="application/ld+json">' . wp_json_encode($faq_schema, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '</script>' . "\n"; 154 } 155 ); 69 156 } 70 157 } 71 158 ?> 72 159 73 <div <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>74 <?php echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>75 </div>160 <div <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>> 161 <?php echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> 162 </div> 76 163 <?php 77 164 }, 78 165 $attributes, 79 $content ?? '', 80 $block ?? null 166 $content ?? '' 81 167 ); -
zenithium-blocks/trunk/build/blocks/accordion-group/style-index-rtl.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-accordion-group,.zenithium-blocks-accordion-group{ --zb-accent-color:#2563eb;--zb-header-bg:#f8fafc;display:flex;flex-direction:column;gap:12px;margin-bottom:1rem;margin-top:1rem;width:100%}1 .wp-block-zenithium-blocks-accordion-group,.zenithium-blocks-accordion-group{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zb-item-gap,var(--wp--style--block-gap,12px));width:auto}.wp-block-zenithium-blocks-accordion-group>.wp-block,.wp-block-zenithium-blocks-accordion-group>.zenithium-blocks-accordion-item,.zenithium-blocks-accordion-group>.wp-block,.zenithium-blocks-accordion-group>.zenithium-blocks-accordion-item{margin-block-end:0;margin-block-start:0}.wp-block-zenithium-blocks-accordion-group,.zenithium-blocks-accordion-group{border-color:var(--zb-group-border-color,var(--wp--style--border-color,transparent));border-radius:var(--zb-group-border-radius,var(--wp--style--border-radius,0));border-style:var(--zb-group-border-style,solid);border-width:var(--zb-group-border-width,var(--wp--style--border-width,0))} -
zenithium-blocks/trunk/build/blocks/accordion-group/style-index.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-accordion-group,.zenithium-blocks-accordion-group{ --zb-accent-color:#2563eb;--zb-header-bg:#f8fafc;display:flex;flex-direction:column;gap:12px;margin-bottom:1rem;margin-top:1rem;width:100%}1 .wp-block-zenithium-blocks-accordion-group,.zenithium-blocks-accordion-group{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zb-item-gap,var(--wp--style--block-gap,12px));width:auto}.wp-block-zenithium-blocks-accordion-group>.wp-block,.wp-block-zenithium-blocks-accordion-group>.zenithium-blocks-accordion-item,.zenithium-blocks-accordion-group>.wp-block,.zenithium-blocks-accordion-group>.zenithium-blocks-accordion-item{margin-block-end:0;margin-block-start:0}.wp-block-zenithium-blocks-accordion-group,.zenithium-blocks-accordion-group{border-color:var(--zb-group-border-color,var(--wp--style--border-color,transparent));border-radius:var(--zb-group-border-radius,var(--wp--style--border-radius,0));border-style:var(--zb-group-border-style,solid);border-width:var(--zb-group-border-width,var(--wp--style--border-width,0))} -
zenithium-blocks/trunk/build/blocks/accordion-group/view.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array(), 'version' => ' c7137caa858a8126bf4e');1 <?php return array('dependencies' => array(), 'version' => '4361604eeb91bb0976c8'); -
zenithium-blocks/trunk/build/blocks/accordion-group/view.js
r3640847 r3769770 1 document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".zenithium-blocks-accordion-group").forEach(e=>{const t="true"===e.dataset.autoClose;e.addEventListener("click",o=>{const c=o.target.closest(".zenithium-blocks-accordion-toggle");if(!c)return;o.preventDefault();const n=c.closest(".zenithium-blocks-accordion-wrapper");if(!n)return;const i=n.classList.contains("is-open"),r=e.querySelectorAll(".zenithium-blocks-accordion-wrapper"),s=e=>{e.classList.remove("is-open");const t=e.querySelector(".zenithium-blocks-accordion-toggle"),o=e.querySelector(".zenithium-blocks-accordion-content");t&&t.setAttribute("aria-expanded","false"),o&&(o.style.display="")};t&&!i&&r.forEach(e=>s(e)),i?s(n):(e=>{e.classList.add("is-open");const t=e.querySelector(".zenithium-blocks-accordion-toggle"),o=e.querySelector(".zenithium-blocks-accordion-content");t&&t.setAttribute("aria-expanded","true"),o&&(o.style.display="")})(n)})})});1 (()=>{const t=()=>{document.querySelectorAll('.zenithium-blocks-accordion-group:not([data-accordion-init="true"])').forEach(t=>{t.setAttribute("data-accordion-init","true");const e="true"===t.dataset.autoClose,o=(t,e)=>{const o=t.querySelector(".zenithium-blocks-accordion-toggle"),i=t.querySelector(".zenithium-blocks-accordion-content");e?(t.classList.add("is-open"),o&&o.setAttribute("aria-expanded","true"),i&&(i.style.gridTemplateRows="1fr")):(t.classList.remove("is-open"),o&&o.setAttribute("aria-expanded","false"),i&&(i.style.gridTemplateRows="0fr"))},i=Array.from(t.children).filter(t=>t.classList.contains("zenithium-blocks-accordion-item"));t.addEventListener("click",n=>{const c=n.target.closest(".zenithium-blocks-accordion-toggle");if(!c)return;const r=c.closest(".zenithium-blocks-accordion-item");if(!r||r.parentElement!==t)return;const s=r.classList.contains("is-open");e&&!s&&i.forEach(t=>o(t,!1)),o(r,!s)})})};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t,{once:!0}):t()})(); -
zenithium-blocks/trunk/build/blocks/accordion/block.json
r3640847 r3769770 2 2 "$schema": "https://schemas.wp.org/trunk/block.json", 3 3 "apiVersion": 3, 4 "name": "zenithium-blocks/accordion ",5 "version": "1. 0.0",6 "title": " Accordion Item",7 "category": " widgets",4 "name": "zenithium-blocks/accordion-item", 5 "version": "1.1.1", 6 "title": "Zenithium Accordion Item", 7 "category": "zenithium-blocks", 8 8 "icon": "minus", 9 9 "description": "An individual accordion item inside an Accordion Group.", … … 17 17 "expand" 18 18 ], 19 "usesContext": [ 20 "zenithium-blocks/autoClose", 21 "zenithium-blocks/headerFontSize", 22 "zenithium-blocks/headerFontWeight", 23 "zenithium-blocks/headerTextColor", 24 "zenithium-blocks/headerHoverTextColor", 25 "zenithium-blocks/headerBgColor", 26 "zenithium-blocks/headerHoverBgColor", 27 "zenithium-blocks/iconColor", 28 "zenithium-blocks/iconHoverColor", 29 "zenithium-blocks/iconSize", 30 "zenithium-blocks/itemGap", 31 "zenithium-blocks/headerPaddingX", 32 "zenithium-blocks/headerPaddingY", 33 "zenithium-blocks/contentPaddingX", 34 "zenithium-blocks/contentPaddingY", 35 "zenithium-blocks/contentGap" 36 ], 19 37 "textdomain": "zenithium-blocks", 20 38 "supports": { 21 39 "html": false, 22 "align": [ 23 "wide", 24 "full" 25 ], 40 "layout": true, 26 41 "spacing": { 27 42 "margin": true, 28 "padding": true 43 "padding": true, 44 "blockGap": true, 45 "units": [ 46 "px", 47 "em", 48 "rem", 49 "%" 50 ], 51 "__experimentalDefaultControls": { 52 "margin": true, 53 "padding": true, 54 "blockGap": true 55 } 29 56 }, 30 57 "color": { 31 58 "text": true, 32 "background": true 59 "background": true, 60 "gradients": true 61 }, 62 "border": { 63 "color": true, 64 "radius": true, 65 "style": true, 66 "width": true, 67 "__experimentalDefaultControls": { 68 "color": true, 69 "radius": true, 70 "width": true 71 } 72 }, 73 "typography": { 74 "fontSize": true, 75 "lineHeight": true, 76 "fontFamily": true, 77 "fontWeight": true, 78 "fontStyle": true, 79 "letterSpacing": true, 80 "textTransform": true, 81 "textDecoration": true, 82 "__experimentalDefaultControls": { 83 "fontSize": true, 84 "fontWeight": true 85 } 33 86 } 34 87 }, … … 36 89 "title": { 37 90 "type": "string", 38 "default": " Frequently Asked QuestionTitle"91 "default": "Accordion Item Title" 39 92 }, 40 93 "isOpen": { … … 45 98 "type": "string", 46 99 "default": "plus" 100 }, 101 "titleFontSize": { 102 "type": "string", 103 "default": "" 104 }, 105 "titleFontWeight": { 106 "type": "string", 107 "default": "" 108 }, 109 "headerTextColor": { 110 "type": "string", 111 "default": "" 112 }, 113 "headerHoverTextColor": { 114 "type": "string", 115 "default": "" 116 }, 117 "headerBgColor": { 118 "type": "string", 119 "default": "" 120 }, 121 "headerHoverBgColor": { 122 "type": "string", 123 "default": "" 124 }, 125 "iconColor": { 126 "type": "string", 127 "default": "" 128 }, 129 "iconHoverColor": { 130 "type": "string", 131 "default": "" 132 }, 133 "iconSize": { 134 "type": "number", 135 "default": 0 136 }, 137 "itemBorderColor": { 138 "type": "string", 139 "default": "" 140 }, 141 "itemBorderWidth": { 142 "type": "number", 143 "default": 1 144 }, 145 "itemBorderRadius": { 146 "type": "number", 147 "default": 6 148 }, 149 "itemBorderStyle": { 150 "type": "string", 151 "default": "solid" 152 }, 153 "headerPaddingX": { 154 "type": "number", 155 "default": 0 156 }, 157 "headerPaddingY": { 158 "type": "number", 159 "default": 0 160 }, 161 "contentPaddingX": { 162 "type": "number", 163 "default": 0 164 }, 165 "contentPaddingY": { 166 "type": "number", 167 "default": 0 168 }, 169 "contentGap": { 170 "type": "number", 171 "default": 0 47 172 } 48 173 }, -
zenithium-blocks/trunk/build/blocks/accordion/index-rtl.css
r3640847 r3769770 1 . zenithium-blocks-accordion-edit{background:#fff;border:1px dashed #cbd5e1;border-radius:8px;margin-bottom:12px;padding:12px}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-header{align-items:center;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;justify-content:space-between;padding-bottom:8px}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-header .zenithium-blocks-accordion-title{flex-grow:1;font-size:1.1rem;font-weight:600;margin:0;outline:none}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-header .zenithium-blocks-accordion-icon{align-items:center;color:#64748b;display:flex;font-size:1.2rem;font-weight:700;justify-content:center;padding-right:12px}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-body{padding-top:12px;transition:all .2s ease-in-out}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-body.is-hidden{height:0;margin:0;opacity:0;overflow:hidden;padding-top:0;pointer-events:none;visibility:hidden}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-body.is-visible{height:auto;opacity:1;pointer-events:auto;visibility:visible}1 .wp-block-zenithium-blocks-accordion-item{border-color:var(--zb-item-border-color,#e2e8f0);border-radius:var(--zb-item-border-radius,6px);border-style:var(--zb-item-border-style,solid);border-width:var(--zb-item-border-width,1px);box-sizing:border-box;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header{align-items:center;background-color:var(--zb-header-bg,transparent);color:var(--zb-header-text,inherit);cursor:pointer;display:flex;justify-content:space-between;padding:var(--zb-header-padding-y,16px) var(--zb-header-padding-x,20px);transition:background-color .2s ease,color .2s ease}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header .zenithium-blocks-accordion-icon{align-items:center;color:var(--zb-icon-color,currentColor);display:inline-flex;font-size:var(--zb-icon-size,20px);height:var(--zb-icon-size,20px);justify-content:center;line-height:1;transition:color .2s ease;width:var(--zb-icon-size,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header:hover{background-color:var(--zb-header-hover-bg,var(--zb-header-bg,transparent));color:var(--zb-header-hover-text,var(--zb-header-text,inherit))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header:hover .zenithium-blocks-accordion-icon{color:var(--zb-icon-hover-color,var(--zb-icon-color,currentColor))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header .zenithium-blocks-accordion-title{color:inherit;flex-grow:1;font-size:var(--zb-title-size,1.05rem);font-weight:var(--zb-title-weight,600);margin:0;outline:none}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header .zenithium-blocks-accordion-toggle-preview{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;padding:0 12px 0 0}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body{box-sizing:border-box;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px));padding:0 var(--zb-content-padding-x,20px) var(--zb-content-padding-y,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body.is-hidden{display:none}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body.is-visible{display:flex;flex-direction:column}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body .block-editor-block-list__layout,.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body.block-editor-block-list__layout{display:flex;flex-direction:column;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body>.block-editor-inner-blocks{width:100%}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body>.block-editor-inner-blocks>.block-editor-block-list__layout{display:flex;flex-direction:column;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body>.wp-block{margin-block-end:0;margin-block-start:0} -
zenithium-blocks/trunk/build/blocks/accordion/index.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => ' f91a2e86025081cad749');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => '6e0b9a2edc7874a5776a'); -
zenithium-blocks/trunk/build/blocks/accordion/index.css
r3640847 r3769770 1 . zenithium-blocks-accordion-edit{background:#fff;border:1px dashed #cbd5e1;border-radius:8px;margin-bottom:12px;padding:12px}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-header{align-items:center;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;justify-content:space-between;padding-bottom:8px}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-header .zenithium-blocks-accordion-title{flex-grow:1;font-size:1.1rem;font-weight:600;margin:0;outline:none}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-header .zenithium-blocks-accordion-icon{align-items:center;color:#64748b;display:flex;font-size:1.2rem;font-weight:700;justify-content:center;padding-left:12px}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-body{padding-top:12px;transition:all .2s ease-in-out}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-body.is-hidden{height:0;margin:0;opacity:0;overflow:hidden;padding-top:0;pointer-events:none;visibility:hidden}.zenithium-blocks-accordion-edit .zenithium-blocks-accordion-body.is-visible{height:auto;opacity:1;pointer-events:auto;visibility:visible}1 .wp-block-zenithium-blocks-accordion-item{border-color:var(--zb-item-border-color,#e2e8f0);border-radius:var(--zb-item-border-radius,6px);border-style:var(--zb-item-border-style,solid);border-width:var(--zb-item-border-width,1px);box-sizing:border-box;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header{align-items:center;background-color:var(--zb-header-bg,transparent);color:var(--zb-header-text,inherit);cursor:pointer;display:flex;justify-content:space-between;padding:var(--zb-header-padding-y,16px) var(--zb-header-padding-x,20px);transition:background-color .2s ease,color .2s ease}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header .zenithium-blocks-accordion-icon{align-items:center;color:var(--zb-icon-color,currentColor);display:inline-flex;font-size:var(--zb-icon-size,20px);height:var(--zb-icon-size,20px);justify-content:center;line-height:1;transition:color .2s ease;width:var(--zb-icon-size,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header:hover{background-color:var(--zb-header-hover-bg,var(--zb-header-bg,transparent));color:var(--zb-header-hover-text,var(--zb-header-text,inherit))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header:hover .zenithium-blocks-accordion-icon{color:var(--zb-icon-hover-color,var(--zb-icon-color,currentColor))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header .zenithium-blocks-accordion-title{color:inherit;flex-grow:1;font-size:var(--zb-title-size,1.05rem);font-weight:var(--zb-title-weight,600);margin:0;outline:none}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header .zenithium-blocks-accordion-toggle-preview{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;padding:0 0 0 12px}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body{box-sizing:border-box;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px));padding:0 var(--zb-content-padding-x,20px) var(--zb-content-padding-y,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body.is-hidden{display:none}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body.is-visible{display:flex;flex-direction:column}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body .block-editor-block-list__layout,.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body.block-editor-block-list__layout{display:flex;flex-direction:column;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body>.block-editor-inner-blocks{width:100%}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body>.block-editor-inner-blocks>.block-editor-block-list__layout{display:flex;flex-direction:column;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body>.wp-block{margin-block-end:0;margin-block-start:0} -
zenithium-blocks/trunk/build/blocks/accordion/index.js
r3640847 r3769770 1 (()=>{"use strict";var e={384(){const e=window.wp.blocks, n=window.wp.blockEditor,o=window.wp.components,i=window.wp.i18n,s=window.ReactJSXRuntime,t=JSON.parse('{"UU":"zenithium-blocks/accordion"}');(0,e.registerBlockType)(t.UU,{edit:function({attributes:e,setAttributes:t}){const{title:l,isOpen:c,iconType:r="plus"}=e,a=(0,n.useBlockProps)({className:"zenithium-blocks-accordion-edit "+(c?"is-open":"")}),h=[["core/paragraph",{placeholder:(0,i.__)("Add accordion content here...","zenithium-blocks")}]];return(0,s.jsxs)("div",{...a,children:[(0,s.jsx)(n.InspectorControls,{children:(0,s.jsxs)(o.PanelBody,{title:(0,i.__)("Accordion Settings","zenithium-blocks"),children:[(0,s.jsx)(o.ToggleControl,{label:(0,i.__)("Open by Default","zenithium-blocks"),checked:c,onChange:e=>t({isOpen:e})}),(0,s.jsx)(o.SelectControl,{label:(0,i.__)("Toggle Icon","zenithium-blocks"),value:r,options:[{label:(0,i.__)("Plus / Minus (+/-)","zenithium-blocks"),value:"plus"},{label:(0,i.__)("Chevron Arrow (▼/▲)","zenithium-blocks"),value:"chevron"}],onChange:e=>t({iconType:e})})]})}),(0,s.jsxs)("div",{className:"zenithium-blocks-accordion-header",onClick:()=>t({isOpen:!c}),role:"button",tabIndex:0,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||t({isOpen:!c})},children:[(0,s.jsx)(n.RichText,{tagName:"h4",className:"zenithium-blocks-accordion-title",value:l,onChange:e=>t({title:e}),placeholder:(0,i.__)("Enter question or title","zenithium-blocks"),onClick:e=>e.stopPropagation()}),(0,s.jsx)("span",{className:`zenithium-blocks-accordion-icon icon-${r}`,"aria-hidden":"true",children:"plus"===r?(0,s.jsxs)("svg",{className:"icon-plus",viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("line",{className:"line-v",x1:"12",y1:"5",x2:"12",y2:"19"}),(0,s.jsx)("line",{className:"line-h",x1:"5",y1:"12",x2:"19",y2:"12"})]}):(0,s.jsx)("svg",{className:"icon-chevron",viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,s.jsx)("polyline",{points:"6 9 12 15 18 9"})})})]}),(0,s.jsx)("div",{className:"zenithium-blocks-accordion-body "+(c?"is-visible":"is-hidden"),children:(0,s.jsx)(n.InnerBlocks,{template:h})})]})},save:function(){return(0,s.jsx)(n.InnerBlocks.Content,{})}})}};const n={};function o(i){const s=n[i];if(void 0!==s)return s.exports;const t=n[i]={exports:{}};return e[i](t,t.exports,o),t.exports}o.m=e,(()=>{const e=[];o.O=(n,i,s,t)=>{if(i){t=t||0;for(var l=e.length;l>0&&e[l-1][2]>t;l--)e[l]=e[l-1];return void(e[l]=[i,s,t])}let c=1/0;for(l=0;l<e.length;l++){let[i,s,t]=e[l],a=!0;for(var r=0;r<i.length;r++)(!1&t||c>=t)&&Object.keys(o.O).every(e=>o.O[e](i[r]))?i.splice(r--,1):(a=!1,t<c&&(c=t));if(a){e.splice(l--,1);const o=s();void 0!==o&&(n=o)}}return n}})(),o.o=(e,n)=>Object.hasOwn(e,n),(()=>{const e={235:0,443:0};o.O.j=n=>0===e[n];const n=(n,i)=>{let[s,t,l]=i;var c,r,a=0;if(s.some(n=>0!==e[n])){for(c in t)o.o(t,c)&&(o.m[c]=t[c]);if(l)var h=l(o)}for(n&&n(i);a<s.length;a++)r=s[a],o.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return o.O(h)},i=globalThis.webpackChunkzenithium_blocks||=[];i.forEach(n.bind(null,0)),i.push=n.bind(null,i.push.bind(i))})();let i=o.O(void 0,[443],()=>o(384));i=o.O(i)})();1 (()=>{"use strict";var e={384(){const e=window.wp.blocks,o=window.wp.i18n,i=window.wp.blockEditor,n=window.wp.components,l=window.ReactJSXRuntime,t=[["core/paragraph",{placeholder:(0,o.__)("Add accordion content here…","zenithium-blocks")}]],r=(e,o="")=>e?"string"==typeof e&&e.startsWith("var:preset|color|")?`var(--wp--preset--color--${e.replace("var:preset|color|","")})`:e:o,a=JSON.parse('{"UU":"zenithium-blocks/accordion-item"}');(0,e.registerBlockType)(a.UU,{edit:function({attributes:e,setAttributes:a,context:c={}}){const{title:s,isOpen:h,iconType:d="plus",titleFontSize:u,titleFontWeight:b,headerTextColor:m,headerHoverTextColor:p,headerBgColor:z,headerHoverBgColor:g,iconColor:k,iconHoverColor:_,iconSize:C,itemBorderColor:x,itemBorderWidth:v=1,itemBorderRadius:B=6,itemBorderStyle:S="solid",headerPaddingX:j=0,headerPaddingY:y=0,contentPaddingX:P=0,contentPaddingY:f=0,contentGap:H=0}=e,w=r(k||c["zenithium-blocks/iconColor"],"currentColor"),T=r(_||c["zenithium-blocks/iconHoverColor"]||k||c["zenithium-blocks/iconColor"],w),O=C&&C>0?C:c["zenithium-blocks/iconSize"]||20,$=u||c["zenithium-blocks/headerFontSize"]||"1.05rem",R=b||c["zenithium-blocks/headerFontWeight"]||"600",F=r(m||c["zenithium-blocks/headerTextColor"],"inherit"),I=r(p||c["zenithium-blocks/headerHoverTextColor"]||m||c["zenithium-blocks/headerTextColor"],F),G=r(z||c["zenithium-blocks/headerBgColor"],"transparent"),W=r(g||c["zenithium-blocks/headerHoverBgColor"]||z||c["zenithium-blocks/headerBgColor"],G),A=j>0?j:c["zenithium-blocks/headerPaddingX"]??20,N=y>0?y:c["zenithium-blocks/headerPaddingY"]??16,X=P>0?P:c["zenithium-blocks/contentPaddingX"]??20,Y=f>0?f:c["zenithium-blocks/contentPaddingY"]??20,D=((e,o="")=>e?"string"==typeof e&&e.startsWith("var:preset|spacing|")?`var(--wp--preset--spacing--${e.replace("var:preset|spacing|","")})`:e:o)(e.style?.spacing?.blockGap,"")||(H>0?`${H}px`:`${c["zenithium-blocks/contentGap"]??16}px`),U=(0,i.useBlockProps)({className:"zenithium-blocks-accordion-item "+(h?"is-open":""),style:{"--zb-title-size":$,"--zb-title-weight":R,"--zb-header-text":F,"--zb-header-hover-text":I,"--zb-header-bg":G,"--zb-header-hover-bg":W,"--zb-icon-color":w,"--zb-icon-hover-color":T,"--zb-icon-size":`${O}px`,"--zb-item-border-color":r(x,"#e2e8f0"),"--zb-item-border-width":`${v??1}px`,"--zb-item-border-radius":`${B??6}px`,"--zb-item-border-style":S||"solid","--zb-header-padding-x":`${A}px`,"--zb-header-padding-y":`${N}px`,"--zb-content-padding-x":`${X}px`,"--zb-content-padding-y":`${Y}px`,"--zb-content-gap":D,"--wp--style--block-gap":D}}),E=(0,i.useInnerBlocksProps)({className:"zenithium-blocks-accordion-body "+(h?"is-visible":"is-hidden"),style:{padding:`0 ${X}px ${Y}px`,display:h?"flex":"none",flexDirection:"column",gap:D}},{template:t});return(0,l.jsxs)("div",{...U,children:[(0,l.jsxs)(i.InspectorControls,{children:[(0,l.jsxs)(n.PanelBody,{title:(0,o.__)("Item Settings","zenithium-blocks"),children:[(0,l.jsx)(n.ToggleControl,{label:(0,o.__)("Open by Default","zenithium-blocks"),checked:h,onChange:e=>a({isOpen:e})}),(0,l.jsx)(n.SelectControl,{label:(0,o.__)("Toggle Icon","zenithium-blocks"),value:d,options:[{label:(0,o.__)("Plus / Minus (+/-)","zenithium-blocks"),value:"plus"},{label:(0,o.__)("Chevron Arrow (▼/▲)","zenithium-blocks"),value:"chevron"}],onChange:e=>a({iconType:e})}),(0,l.jsx)(n.RangeControl,{label:(0,o.__)("Icon Size (px)","zenithium-blocks"),value:C||c["zenithium-blocks/iconSize"]||20,onChange:e=>a({iconSize:e||0}),min:12,max:48})]}),(0,l.jsxs)(n.PanelBody,{title:(0,o.__)("Item Spacing & Padding","zenithium-blocks"),initialOpen:!1,children:[(0,l.jsx)(n.RangeControl,{label:(0,o.__)("Header Horizontal Padding (px)","zenithium-blocks"),help:(0,o.__)("Set 0 to inherit from Accordion Group.","zenithium-blocks"),value:j,onChange:e=>a({headerPaddingX:e||0}),min:0,max:60}),(0,l.jsx)(n.RangeControl,{label:(0,o.__)("Header Vertical Padding (px)","zenithium-blocks"),help:(0,o.__)("Set 0 to inherit from Accordion Group.","zenithium-blocks"),value:y,onChange:e=>a({headerPaddingY:e||0}),min:0,max:40}),(0,l.jsx)(n.RangeControl,{label:(0,o.__)("Content Horizontal Padding (px)","zenithium-blocks"),help:(0,o.__)("Set 0 to inherit from Accordion Group.","zenithium-blocks"),value:P,onChange:e=>a({contentPaddingX:e||0}),min:0,max:60}),(0,l.jsx)(n.RangeControl,{label:(0,o.__)("Content Vertical Padding (px)","zenithium-blocks"),help:(0,o.__)("Set 0 to inherit from Accordion Group.","zenithium-blocks"),value:f,onChange:e=>a({contentPaddingY:e||0}),min:0,max:60}),(0,l.jsx)(n.RangeControl,{label:(0,o.__)("Content Blocks Gap (px)","zenithium-blocks"),help:(0,o.__)("Set 0 to inherit from Accordion Group.","zenithium-blocks"),value:H,onChange:e=>a({contentGap:e||0}),min:0,max:40})]}),(0,l.jsxs)(n.PanelBody,{title:(0,o.__)("Header Typography","zenithium-blocks"),initialOpen:!1,children:[(0,l.jsx)(n.FontSizePicker,{value:u||c["zenithium-blocks/headerFontSize"]||"1.05rem",onChange:e=>a({titleFontSize:e||""}),fallbackFontSize:16}),(0,l.jsx)(n.SelectControl,{label:(0,o.__)("Font Weight","zenithium-blocks"),value:b||c["zenithium-blocks/headerFontWeight"]||"600",options:[{label:(0,o.__)("Normal (400)","zenithium-blocks"),value:"400"},{label:(0,o.__)("Medium (500)","zenithium-blocks"),value:"500"},{label:(0,o.__)("Semi-Bold (600)","zenithium-blocks"),value:"600"},{label:(0,o.__)("Bold (700)","zenithium-blocks"),value:"700"}],onChange:e=>a({titleFontWeight:e})})]}),(0,l.jsx)(i.PanelColorSettings,{title:(0,o.__)("Header & Icon Custom Colors","zenithium-blocks"),initialOpen:!1,colorSettings:[{value:m||c["zenithium-blocks/headerTextColor"],onChange:e=>a({headerTextColor:e}),label:(0,o.__)("Header Text Color","zenithium-blocks")},{value:p||c["zenithium-blocks/headerHoverTextColor"],onChange:e=>a({headerHoverTextColor:e}),label:(0,o.__)("Header Text Hover Color","zenithium-blocks")},{value:z||c["zenithium-blocks/headerBgColor"],onChange:e=>a({headerBgColor:e}),label:(0,o.__)("Header Background Color","zenithium-blocks")},{value:g||c["zenithium-blocks/headerHoverBgColor"],onChange:e=>a({headerHoverBgColor:e}),label:(0,o.__)("Header Background Hover Color","zenithium-blocks")},{value:k||c["zenithium-blocks/iconColor"],onChange:e=>a({iconColor:e}),label:(0,o.__)("Icon Color","zenithium-blocks")},{value:_||c["zenithium-blocks/iconHoverColor"],onChange:e=>a({iconHoverColor:e}),label:(0,o.__)("Icon Hover Color","zenithium-blocks")}]}),(0,l.jsxs)(n.PanelBody,{title:(0,o.__)("Item Border","zenithium-blocks"),initialOpen:!1,children:[(0,l.jsx)(n.RangeControl,{label:(0,o.__)("Border Width (px)","zenithium-blocks"),value:v,onChange:e=>a({itemBorderWidth:e}),min:0,max:12}),(0,l.jsx)(n.RangeControl,{label:(0,o.__)("Border Radius (px)","zenithium-blocks"),value:B,onChange:e=>a({itemBorderRadius:e}),min:0,max:48}),(0,l.jsx)(n.SelectControl,{label:(0,o.__)("Border Style","zenithium-blocks"),value:S,options:[{label:(0,o.__)("Solid","zenithium-blocks"),value:"solid"},{label:(0,o.__)("Dashed","zenithium-blocks"),value:"dashed"},{label:(0,o.__)("Dotted","zenithium-blocks"),value:"dotted"},{label:(0,o.__)("Double","zenithium-blocks"),value:"double"}],onChange:e=>a({itemBorderStyle:e})}),(0,l.jsx)(i.PanelColorSettings,{title:(0,o.__)("Border Color","zenithium-blocks"),colorSettings:[{value:x,onChange:e=>a({itemBorderColor:e}),label:(0,o.__)("Border Color","zenithium-blocks")}]})]})]}),(0,l.jsxs)("div",{className:"zenithium-blocks-accordion-header",style:{padding:`${N}px ${A}px`},children:[(0,l.jsx)(i.RichText,{tagName:"h4",className:"zenithium-blocks-accordion-title",value:s,onChange:e=>a({title:e}),placeholder:(0,o.__)("Enter item title…","zenithium-blocks")}),(0,l.jsx)("button",{type:"button",className:"zenithium-blocks-accordion-toggle-preview",onClick:()=>a({isOpen:!h}),"aria-label":(0,o.__)("Toggle Accordion Preview","zenithium-blocks"),children:(0,l.jsx)("span",{className:`zenithium-blocks-accordion-icon icon-${d}`,children:"plus"===d?"+":"▼"})})]}),(0,l.jsx)("div",{...E})]})},save:function(){return(0,l.jsx)(i.InnerBlocks.Content,{})}})}};const o={};function i(n){const l=o[n];if(void 0!==l)return l.exports;const t=o[n]={exports:{}};return e[n](t,t.exports,i),t.exports}i.m=e,(()=>{const e=[];i.O=(o,n,l,t)=>{if(n){t=t||0;for(var r=e.length;r>0&&e[r-1][2]>t;r--)e[r]=e[r-1];return void(e[r]=[n,l,t])}let a=1/0;for(r=0;r<e.length;r++){let[n,l,t]=e[r],s=!0;for(var c=0;c<n.length;c++)(!1&t||a>=t)&&Object.keys(i.O).every(e=>i.O[e](n[c]))?n.splice(c--,1):(s=!1,t<a&&(a=t));if(s){e.splice(r--,1);const i=l();void 0!==i&&(o=i)}}return o}})(),i.o=(e,o)=>Object.hasOwn(e,o),(()=>{const e={235:0,443:0};i.O.j=o=>0===e[o];const o=(o,n)=>{let[l,t,r]=n;var a,c,s=0;if(l.some(o=>0!==e[o])){for(a in t)i.o(t,a)&&(i.m[a]=t[a]);if(r)var h=r(i)}for(o&&o(n);s<l.length;s++)c=l[s],i.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return i.O(h)},n=globalThis.webpackChunkzenithium_blocks||=[];n.forEach(o.bind(null,0)),n.push=o.bind(null,n.push.bind(n))})();let n=i.O(void 0,[443],()=>i(384));n=i.O(n)})(); -
zenithium-blocks/trunk/build/blocks/accordion/render.php
r3640847 r3769770 11 11 12 12 call_user_func( 13 function ($attributes, $content = '') { 13 function ($attributes, $content) { 14 $format_color = function ($color, $default = '') { 15 if (empty($color)) { 16 return $default; 17 } 18 if (is_string($color) && str_starts_with($color, 'var:preset|color|')) { 19 $slug = str_replace('var:preset|color|', '', $color); 20 return "var(--wp--preset--color--{$slug})"; 21 } 22 return $color; 23 }; 24 25 $format_spacing = function ($spacing, $default = '') { 26 if (empty($spacing)) { 27 return $default; 28 } 29 if (is_string($spacing) && str_starts_with($spacing, 'var:preset|spacing|')) { 30 $slug = str_replace('var:preset|spacing|', '', $spacing); 31 return "var(--wp--preset--spacing--{$slug})"; 32 } 33 return $spacing; 34 }; 35 14 36 $title = $attributes['title'] ?? 'Frequently Asked Question Title'; 15 37 $is_open = !empty($attributes['isOpen']); 16 38 $icon_type = isset($attributes['iconType']) && 'plus' === $attributes['iconType'] ? 'plus' : 'chevron'; 39 $context = $block->context ?? []; 17 40 18 $wrapper_classes = 'zenithium-blocks-accordion-wrapper' . ($is_open ? ' is-open' : ''); 41 $title_font_size = !empty($attributes['titleFontSize']) ? $attributes['titleFontSize'] : ($context['zenithium-blocks/headerFontSize'] ?? '1.05rem'); 42 $title_font_weight = !empty($attributes['titleFontWeight']) ? $attributes['titleFontWeight'] : ($context['zenithium-blocks/headerFontWeight'] ?? '600'); 43 $header_text_color = !empty($attributes['headerTextColor']) ? $attributes['headerTextColor'] : ($context['zenithium-blocks/headerTextColor'] ?? ''); 44 $header_hover_text = !empty($attributes['headerHoverTextColor']) ? $attributes['headerHoverTextColor'] : ($context['zenithium-blocks/headerHoverTextColor'] ?? ''); 45 $header_bg_color = !empty($attributes['headerBgColor']) ? $attributes['headerBgColor'] : ($context['zenithium-blocks/headerBgColor'] ?? ''); 46 $header_hover_bg = !empty($attributes['headerHoverBgColor']) ? $attributes['headerHoverBgColor'] : ($context['zenithium-blocks/headerHoverBgColor'] ?? ''); 47 $icon_color = !empty($attributes['iconColor']) ? $attributes['iconColor'] : ($context['zenithium-blocks/iconColor'] ?? ''); 48 $icon_hover_color = !empty($attributes['iconHoverColor']) ? $attributes['iconHoverColor'] : ($context['zenithium-blocks/iconHoverColor'] ?? ''); 49 $icon_size = !empty($attributes['iconSize']) ? (int) $attributes['iconSize'] : (int) ($context['zenithium-blocks/iconSize'] ?? 20); 50 51 $header_padding_x = !empty($attributes['headerPaddingX']) 52 ? (int) $attributes['headerPaddingX'] 53 : (int) ($context['zenithium-blocks/headerPaddingX'] ?? 20); 54 $header_padding_y = !empty($attributes['headerPaddingY']) 55 ? (int) $attributes['headerPaddingY'] 56 : (int) ($context['zenithium-blocks/headerPaddingY'] ?? 16); 57 $content_padding_x = !empty($attributes['contentPaddingX']) 58 ? (int) $attributes['contentPaddingX'] 59 : (int) ($context['zenithium-blocks/contentPaddingX'] ?? 20); 60 $content_padding_y = !empty($attributes['contentPaddingY']) 61 ? (int) $attributes['contentPaddingY'] 62 : (int) ($context['zenithium-blocks/contentPaddingY'] ?? 20); 63 64 $raw_block_gap = $attributes['style']['spacing']['blockGap'] ?? ''; 65 $core_block_gap = $format_spacing($raw_block_gap); 66 67 if (!empty($core_block_gap)) { 68 $content_gap = $core_block_gap; 69 } elseif (!empty($attributes['contentGap'])) { 70 $content_gap = sprintf('%dpx', (int) $attributes['contentGap']); 71 } elseif (!empty($context['zenithium-blocks/contentGap'])) { 72 $content_gap = sprintf('%dpx', (int) $context['zenithium-blocks/contentGap']); 73 } else { 74 $content_gap = '16px'; 75 } 76 77 $custom_styles = array( 78 sprintf('--zb-title-size: %s;', esc_attr($title_font_size)), 79 sprintf('--zb-title-weight: %s;', esc_attr($title_font_weight)), 80 sprintf('--zb-icon-size: %dpx;', $icon_size), 81 sprintf('--zb-header-padding-x: %dpx;', $header_padding_x), 82 sprintf('--zb-header-padding-y: %dpx;', $header_padding_y), 83 sprintf('--zb-content-padding-x: %dpx;', $content_padding_x), 84 sprintf('--zb-content-padding-y: %dpx;', $content_padding_y), 85 sprintf('--zb-content-gap: %s;', esc_attr($content_gap)), 86 sprintf('--wp--style--block-gap: %s;', esc_attr($content_gap)), 87 ); 88 89 if (!empty($header_text_color)) { 90 $custom_styles[] = sprintf('--zb-header-text: %s;', esc_attr($format_color($header_text_color))); 91 } 92 if (!empty($header_hover_text)) { 93 $custom_styles[] = sprintf('--zb-header-hover-text: %s;', esc_attr($format_color($header_hover_text))); 94 } 95 if (!empty($header_bg_color)) { 96 $custom_styles[] = sprintf('--zb-header-bg: %s;', esc_attr($format_color($header_bg_color))); 97 } 98 if (!empty($header_hover_bg)) { 99 $custom_styles[] = sprintf('--zb-header-hover-bg: %s;', esc_attr($format_color($header_hover_bg))); 100 } 101 if (!empty($icon_color)) { 102 $custom_styles[] = sprintf('--zb-icon-color: %s;', esc_attr($format_color($icon_color))); 103 } 104 if (!empty($icon_hover_color)) { 105 $custom_styles[] = sprintf('--zb-icon-hover-color: %s;', esc_attr($format_color($icon_hover_color))); 106 } 107 108 $custom_styles[] = sprintf('--zb-item-border-width: %dpx;', max(0, (int) ($attributes['itemBorderWidth'] ?? 1))); 109 $custom_styles[] = sprintf('--zb-item-border-radius: %dpx;', max(0, (int) ($attributes['itemBorderRadius'] ?? 6))); 110 $item_border_style = $attributes['itemBorderStyle'] ?? 'solid'; 111 $allowed_border_styles = array('solid', 'dashed', 'dotted', 'double'); 112 $custom_styles[] = sprintf('--zb-item-border-style: %s;', in_array($item_border_style, $allowed_border_styles, true) ? $item_border_style : 'solid'); 113 114 if (!empty($attributes['itemBorderColor'])) { 115 $item_border_color = $format_color($attributes['itemBorderColor']); 116 if ($item_border_color) { 117 $custom_styles[] = sprintf('--zb-item-border-color: %s;', esc_attr($item_border_color)); 118 } 119 } 120 121 $inner_styles = sprintf( 122 ' style="display: flex; flex-direction: column; gap: %s; padding: 0 %dpx %dpx;"', 123 esc_attr($content_gap), 124 $content_padding_x, 125 $content_padding_y 126 ); 127 19 128 $wrapper_attributes = get_block_wrapper_attributes( 20 129 array( 21 'class' => $wrapper_classes, 130 'class' => 'zenithium-blocks-accordion-item' . ($is_open ? ' is-open' : ''), 131 'style' => implode(' ', $custom_styles), 22 132 ) 23 133 ); 24 134 ?> 25 135 26 <div <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>> 27 <button type="button" class="zenithium-blocks-accordion-toggle" 28 aria-expanded="<?php echo $is_open ? 'true' : 'false'; ?>"> 29 <span class="zenithium-blocks-accordion-title-text"> 30 <?php echo wp_kses_post($title); ?> 31 </span> 32 <span class="zenithium-blocks-accordion-icon icon-<?php echo esc_attr($icon_type); ?>" aria-hidden="true"> 33 <?php if ('plus' === $icon_type): ?> 34 <svg class="icon-plus" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" 35 stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"> 36 <line class="line-v" x1="12" y1="5" x2="12" y2="19"></line> 37 <line class="line-h" x1="5" y1="12" x2="19" y2="12"></line> 38 </svg> 39 <?php else: ?> 40 <svg class="icon-chevron" viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" 41 stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"> 42 <polyline points="6 9 12 15 18 9"></polyline> 43 </svg> 44 <?php endif; ?> 45 </span> 46 </button> 136 <div <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>> 137 <div class="zenithium-blocks-accordion-header"> 138 <button type="button" class="zenithium-blocks-accordion-toggle" 139 aria-expanded="<?php echo $is_open ? 'true' : 'false'; ?>"> 140 <span class="zenithium-blocks-accordion-title-text"> 141 <?php echo wp_kses_post($title); ?> 142 </span> 143 <span class="zenithium-blocks-accordion-icon icon-<?php echo esc_attr($icon_type); ?>" aria-hidden="true"> 144 <?php if ('plus' === $icon_type): ?> 145 <svg class="icon-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" 146 stroke-linecap="round" stroke-linejoin="round"> 147 <line class="line-v" x1="12" y1="5" x2="12" y2="19"></line> 148 <line class="line-h" x1="5" y1="12" x2="19" y2="12"></line> 149 </svg> 150 <?php else: ?> 151 <svg class="icon-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" 152 stroke-linecap="round" stroke-linejoin="round"> 153 <polyline points="6 9 12 15 18 9"></polyline> 154 </svg> 155 <?php endif; ?> 156 </span> 157 </button> 158 </div> 47 159 48 <div class="zenithium-blocks-accordion-content" style="<?php echo $is_open ? 'display: block;' : 'display: none;'; ?>"> 49 <div class="zenithium-blocks-accordion-inner"> 50 <?php echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> 160 <div class="zenithium-blocks-accordion-content" 161 style="display: grid; grid-template-rows: <?php echo $is_open ? '1fr' : '0fr'; ?>; transition: grid-template-rows 0.3s ease;"> 162 <div style="overflow: hidden;"> 163 <div class="zenithium-blocks-accordion-inner" <?php echo $inner_styles; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>> 164 <?php echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> 165 </div> 166 </div> 51 167 </div> 52 168 </div> 53 </div>54 169 <?php 55 170 }, -
zenithium-blocks/trunk/build/blocks/accordion/style-index-rtl.css
r3640847 r3769770 1 . zenithium-blocks-accordion-wrapper{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle{align-items:center;background-color:var(--zb-header-bg,#f8fafc);border:none;color:#1e293b;cursor:pointer;display:flex;font-size:1.05rem;font-weight:600;justify-content:space-between;padding:16px 20px;text-align:right;transition:background-color .2s ease,color .2s ease;width:100%}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle:hover{color:var(--zb-accent-color,#2563eb)}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle .zenithium-blocks-accordion-icon{align-items:center;color:var(--zb-accent-color,#2563eb);display:inline-flex;justify-content:center;position:relative;z-index:2}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle .zenithium-blocks-accordion-icon svg{display:block!important;height:20px!important;opacity:1!important;position:relative!important;transform-origin:center;transition:transform .3s cubic-bezier(.4,0,.2,1);visibility:visible!important;width:20px!important;z-index:2!important}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle .zenithium-blocks-accordion-icon svg line,.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle .zenithium-blocks-accordion-icon svg polyline{stroke:currentColor!important}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle[aria-expanded=true]{border-bottom:1px solid #e2e8f0;color:var(--zb-accent-color,#2563eb)}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle[aria-expanded=true] .icon-chevron svg{transform:rotate(-180deg)}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle[aria-expanded=true] .icon-plus svg{transform:rotate(-45deg)}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-content{color:#475569;display:none;line-height:1.6;padding:18px 20px}.zenithium-blocks-accordion-wrapper.is-open{border-color:var(--zb-accent-color,#2563eb);box-shadow:0 4px 12px rgba(0,0,0,.05)}.zenithium-blocks-accordion-wrapper.is-open .zenithium-blocks-accordion-content{display:block}1 .wp-block-zenithium-blocks-accordion-item{border-color:var(--zb-item-border-color,#e2e8f0);border-radius:var(--zb-item-border-radius,6px);border-style:var(--zb-item-border-style,solid);border-width:var(--zb-item-border-width,1px);box-sizing:border-box;overflow:hidden}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px));padding:0 var(--zb-content-padding-x,20px) var(--zb-content-padding-y,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body>.wp-block{margin-block-end:0;margin-block-start:0}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-inner{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px));padding:0 var(--zb-content-padding-x,20px) var(--zb-content-padding-y,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-inner>.wp-block{margin-block-end:0;margin-block-start:0}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header{align-items:center;display:flex}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle{align-items:center;background:var(--zb-header-bg,transparent);border:0;color:var(--zb-header-text,inherit);cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:var(--zb-header-padding-y,16px) var(--zb-header-padding-x,20px);text-align:right;transition:background-color .2s ease,color .2s ease;width:100%}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:focus-visible,.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:hover{background-color:var(--zb-header-hover-bg,var(--zb-header-bg,transparent));color:var(--zb-header-hover-text,var(--zb-header-text,inherit))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-title-text{flex-grow:1;font-size:var(--zb-title-size,1.05rem);font-weight:var(--zb-title-weight,600)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-icon{align-items:center;color:var(--zb-icon-color,currentColor);display:inline-flex;flex-shrink:0;height:var(--zb-icon-size,20px);justify-content:center;transition:color .2s ease;width:var(--zb-icon-size,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:focus-visible .zenithium-blocks-accordion-icon,.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:hover .zenithium-blocks-accordion-icon{color:var(--zb-icon-hover-color,var(--zb-icon-color,currentColor))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-icon svg{display:block;height:100%;width:100%}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-content>div{min-height:0}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:focus-visible{outline:2px solid currentcolor;outline-offset:-2px} -
zenithium-blocks/trunk/build/blocks/accordion/style-index.css
r3640847 r3769770 1 . zenithium-blocks-accordion-wrapper{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle{align-items:center;background-color:var(--zb-header-bg,#f8fafc);border:none;color:#1e293b;cursor:pointer;display:flex;font-size:1.05rem;font-weight:600;justify-content:space-between;padding:16px 20px;text-align:left;transition:background-color .2s ease,color .2s ease;width:100%}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle:hover{color:var(--zb-accent-color,#2563eb)}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle .zenithium-blocks-accordion-icon{align-items:center;color:var(--zb-accent-color,#2563eb);display:inline-flex;justify-content:center;position:relative;z-index:2}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle .zenithium-blocks-accordion-icon svg{display:block!important;height:20px!important;opacity:1!important;position:relative!important;transform-origin:center;transition:transform .3s cubic-bezier(.4,0,.2,1);visibility:visible!important;width:20px!important;z-index:2!important}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle .zenithium-blocks-accordion-icon svg line,.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle .zenithium-blocks-accordion-icon svg polyline{stroke:currentColor!important}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle[aria-expanded=true]{border-bottom:1px solid #e2e8f0;color:var(--zb-accent-color,#2563eb)}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle[aria-expanded=true] .icon-chevron svg{transform:rotate(180deg)}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-toggle[aria-expanded=true] .icon-plus svg{transform:rotate(45deg)}.zenithium-blocks-accordion-wrapper .zenithium-blocks-accordion-content{color:#475569;display:none;line-height:1.6;padding:18px 20px}.zenithium-blocks-accordion-wrapper.is-open{border-color:var(--zb-accent-color,#2563eb);box-shadow:0 4px 12px rgba(0,0,0,.05)}.zenithium-blocks-accordion-wrapper.is-open .zenithium-blocks-accordion-content{display:block}1 .wp-block-zenithium-blocks-accordion-item{border-color:var(--zb-item-border-color,#e2e8f0);border-radius:var(--zb-item-border-radius,6px);border-style:var(--zb-item-border-style,solid);border-width:var(--zb-item-border-width,1px);box-sizing:border-box;overflow:hidden}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px));padding:0 var(--zb-content-padding-x,20px) var(--zb-content-padding-y,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-body>.wp-block{margin-block-end:0;margin-block-start:0}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-inner{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--zb-content-gap,var(--wp--style--block-gap,16px));padding:0 var(--zb-content-padding-x,20px) var(--zb-content-padding-y,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-inner>.wp-block{margin-block-end:0;margin-block-start:0}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-header{align-items:center;display:flex}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle{align-items:center;background:var(--zb-header-bg,transparent);border:0;color:var(--zb-header-text,inherit);cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:var(--zb-header-padding-y,16px) var(--zb-header-padding-x,20px);text-align:left;transition:background-color .2s ease,color .2s ease;width:100%}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:focus-visible,.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:hover{background-color:var(--zb-header-hover-bg,var(--zb-header-bg,transparent));color:var(--zb-header-hover-text,var(--zb-header-text,inherit))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-title-text{flex-grow:1;font-size:var(--zb-title-size,1.05rem);font-weight:var(--zb-title-weight,600)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-icon{align-items:center;color:var(--zb-icon-color,currentColor);display:inline-flex;flex-shrink:0;height:var(--zb-icon-size,20px);justify-content:center;transition:color .2s ease;width:var(--zb-icon-size,20px)}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:focus-visible .zenithium-blocks-accordion-icon,.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:hover .zenithium-blocks-accordion-icon{color:var(--zb-icon-hover-color,var(--zb-icon-color,currentColor))}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-icon svg{display:block;height:100%;width:100%}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-content>div{min-height:0}.wp-block-zenithium-blocks-accordion-item .zenithium-blocks-accordion-toggle:focus-visible{outline:2px solid currentcolor;outline-offset:-2px} -
zenithium-blocks/trunk/build/blocks/animated-counter/block.json
r3640847 r3769770 4 4 "name": "zenithium-blocks/animated-counter", 5 5 "version": "1.0.0", 6 "title": " Animated Stats Counter",7 "category": " widgets",6 "title": "Zenithium Animated Stats Counter", 7 "category": "zenithium-blocks", 8 8 "icon": "performance", 9 9 "description": "Animate numbers counting up when scrolled into view.", … … 29 29 "lineHeight": true 30 30 }, 31 "colors": { 31 "color": { 32 "background": true, 32 33 "text": true, 33 "background": true 34 "link": true, 35 "gradients": true, 36 "enableCustomColors": true, 37 "enableAlpha": true, 38 "heading": true 34 39 } 35 40 }, -
zenithium-blocks/trunk/build/blocks/animated-counter/index.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => ' b9f15eb96a62a48803ae');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => '5b6d03183b42b080eae0'); -
zenithium-blocks/trunk/build/blocks/animated-counter/index.js
r3640847 r3769770 1 (()=>{"use strict";const e=window.wp.blocks, n=window.wp.i18n,t=window.wp.blockEditor,l=window.wp.components,o=window.ReactJSXRuntime,i=JSON.parse('{"UU":"zenithium-blocks/animated-counter"}');(0,e.registerBlockType)(i.UU,{edit:function({attributes:e,setAttributes:i}){const{targetNumber:r,prefix:s,suffix:a,title:u,duration:c,counterColor:b,alignment:m="center",numberFontSize:h=48,numberFontWeight:x="700",numberColor:d}=e,g=d||b||"#2563eb",p=(0,t.useBlockProps)({className:`zenithium-blocks-counter-edit text-align-${m}`,style:{textAlign:m}}),C={color:g,fontSize:`${h}px`,fontWeight:x};return(0,o.jsxs)("div",{...p,children:[(0,o.jsx)(t.BlockControls,{children:(0,o.jsx)(t.AlignmentToolbar,{value:m,onChange:e=>i({alignment:e||"center"})})}),(0,o.jsxs)(t.InspectorControls,{children:[(0,o.jsxs)(l.PanelBody,{title:(0,n.__)("Counter Settings","zenithium-blocks"),children:[(0,o.jsx)(l.TextControl,{label:(0,n.__)("Target Number","zenithium-blocks"),type:"number",value:r,onChange:e=>i({targetNumber:parseInt(e,10)||0})}),(0,o.jsx)(l.TextControl,{label:(0,n.__)("Prefix (e.g., $)","zenithium-blocks"),value:s,onChange:e=>i({prefix:e})}),(0,o.jsx)(l.TextControl,{label:(0,n.__)("Suffix (e.g., +, %)","zenithium-blocks"),value:a,onChange:e=>i({suffix:e})}),(0,o.jsx)(l.TextControl,{label:(0,n.__)("Animation Duration (ms)","zenithium-blocks"),type:"number",value:c,onChange:e=>i({duration:parseInt(e,10)||1e3})})]}),(0,o.jsxs)(l.PanelBody,{title:(0,n.__)("Number Typography & Color","zenithium-blocks"),children:[(0,o.jsx)(l.RangeControl,{label:(0,n.__)("Number Font Size (px)","zenithium-blocks"),value:h,onChange:e=>i({numberFontSize:e}),min:16,max:120}),(0,o.jsx)(l.SelectControl,{label:(0,n.__)("Number Font Weight","zenithium-blocks"),value:x,options:[{label:"Normal (400)",value:"400"},{label:"Medium (500)",value:"500"},{label:"Semi Bold (600)",value:"600"},{label:"Bold (700)",value:"700"},{label:"Extra Bold (800)",value:"800"}],onChange:e=>i({numberFontWeight:e})}),(0,o.jsx)("p",{children:(0,n.__)("Number Color","zenithium-blocks")}),(0,o.jsx)(l.ColorPalette,{value:g,onChange:e=>i({numberColor:e})})]})]}),(0,o.jsxs)("div",{className:"zenithium-blocks-counter-box",children:[(0,o.jsxs)("div",{className:"zenithium-blocks-counter-number",style:C,children:[(0,o.jsx)("span",{children:s}),(0,o.jsx)("span",{children:r}),(0,o.jsx)("span",{children:a})]}),(0,o.jsx)(t.RichText,{tagName:"div",className:"zenithium-blocks-counter-title",value:u,onChange:e=>i({title:e}),placeholder:(0,n.__)("Enter counter title...","zenithium-blocks")})]})]})},save:()=>null})})();1 (()=>{"use strict";const e=window.wp.blocks,t=window.wp.i18n,n=window.wp.blockEditor,l=window.wp.components,o=window.ReactJSXRuntime,i=JSON.parse('{"UU":"zenithium-blocks/animated-counter"}');(0,e.registerBlockType)(i.UU,{edit:function({attributes:e,setAttributes:i}){const{startNumber:s=0,targetNumber:r=100,prefix:a="",suffix:u="+",title:c="Happy Clients",duration:m=2e3,counterColor:b,alignment:h="center",numberFontSize:x=48,numberFontWeight:p="700",numberColor:_}=e,d=_||b||"#2563eb",g=((e,t="")=>e?"string"==typeof e&&e.startsWith("var:preset|color|")?`var(--wp--preset--color--${e.replace("var:preset|color|","")})`:e:t)(d),k=(0,n.useBlockProps)({className:`zenithium-blocks-counter-edit text-align-${h}`,style:{textAlign:h}}),z={color:g,fontSize:`${x}px`,fontWeight:p};return(0,o.jsxs)("div",{...k,children:[(0,o.jsx)(n.BlockControls,{children:(0,o.jsx)(n.AlignmentToolbar,{value:h,onChange:e=>i({alignment:e||"center"})})}),(0,o.jsxs)(n.InspectorControls,{children:[(0,o.jsxs)(l.PanelBody,{title:(0,t.__)("Counter Settings","zenithium-blocks"),children:[(0,o.jsx)(l.TextControl,{label:(0,t.__)("Start Number","zenithium-blocks"),type:"number",value:s,onChange:e=>i({startNumber:parseInt(e,10)||0})}),(0,o.jsx)(l.TextControl,{label:(0,t.__)("Target Number","zenithium-blocks"),type:"number",value:r,onChange:e=>i({targetNumber:parseInt(e,10)||0})}),(0,o.jsx)(l.TextControl,{label:(0,t.__)("Prefix (e.g., $)","zenithium-blocks"),value:a,onChange:e=>i({prefix:e})}),(0,o.jsx)(l.TextControl,{label:(0,t.__)("Suffix (e.g., +, %)","zenithium-blocks"),value:u,onChange:e=>i({suffix:e})}),(0,o.jsx)(l.TextControl,{label:(0,t.__)("Animation Duration (ms)","zenithium-blocks"),type:"number",value:m,onChange:e=>i({duration:parseInt(e,10)||1e3})})]}),(0,o.jsxs)(l.PanelBody,{title:(0,t.__)("Number Typography & Color","zenithium-blocks"),children:[(0,o.jsx)(l.RangeControl,{label:(0,t.__)("Number Font Size (px)","zenithium-blocks"),value:x,onChange:e=>i({numberFontSize:e}),min:16,max:120}),(0,o.jsx)(l.SelectControl,{label:(0,t.__)("Number Font Weight","zenithium-blocks"),value:p,options:[{label:(0,t.__)("Normal (400)","zenithium-blocks"),value:"400"},{label:(0,t.__)("Medium (500)","zenithium-blocks"),value:"500"},{label:(0,t.__)("Semi Bold (600)","zenithium-blocks"),value:"600"},{label:(0,t.__)("Bold (700)","zenithium-blocks"),value:"700"},{label:(0,t.__)("Extra Bold (800)","zenithium-blocks"),value:"800"}],onChange:e=>i({numberFontWeight:e})}),(0,o.jsx)("p",{className:"components-base-control__label",children:(0,t.__)("Number Color","zenithium-blocks")}),(0,o.jsx)(l.ColorPalette,{value:d,onChange:e=>i({numberColor:e})})]})]}),(0,o.jsxs)("div",{className:"zenithium-blocks-counter-container",children:[(0,o.jsxs)("div",{className:"zenithium-blocks-counter-number",style:z,children:[a&&(0,o.jsx)("span",{className:"zenithium-blocks-prefix",children:a}),(0,o.jsx)("span",{className:"zenithium-blocks-number-value",children:r}),u&&(0,o.jsx)("span",{className:"zenithium-blocks-suffix",children:u})]}),(0,o.jsx)(n.RichText,{tagName:"div",className:"zenithium-blocks-counter-title",value:c,onChange:e=>i({title:e}),placeholder:(0,t.__)("Enter counter title...","zenithium-blocks")})]})]})},save:()=>null})})(); -
zenithium-blocks/trunk/build/blocks/animated-counter/render.php
r3640847 r3769770 11 11 12 12 call_user_func( 13 function ($attributes) { 14 $target = $attributes['targetNumber'] ?? 100; 13 function ($attributes, $content, $block) { 14 $start_number = (int) ($attributes['startNumber'] ?? 0); 15 $target = (int) ($attributes['targetNumber'] ?? 100); 15 16 $prefix = $attributes['prefix'] ?? ''; 16 17 $suffix = $attributes['suffix'] ?? '+'; 17 18 $title = $attributes['title'] ?? ''; 18 $duration = $attributes['duration'] ?? 2000;19 $duration = (int) ($attributes['duration'] ?? 2000); 19 20 $alignment = $attributes['alignment'] ?? 'center'; 20 21 $number_font_size = (int) ($attributes['numberFontSize'] ?? 48); 21 22 $number_font_weight = $attributes['numberFontWeight'] ?? '700'; 22 23 $number_color = $attributes['numberColor'] ?? ($attributes['counterColor'] ?? '#2563eb'); 24 25 $format_color = function ($color, $fallback = '') { 26 if (empty($color)) { 27 return $fallback; 28 } 29 if (strpos($color, 'var:preset|color|') === 0) { 30 $slug = str_replace('var:preset|color|', '', $color); 31 return sprintf('var(--wp--preset--color--%s)', $slug); 32 } 33 return $color; 34 }; 35 36 $formatted_number_color = $format_color($number_color, '#2563eb'); 23 37 24 38 $wrapper_classes = sprintf('zenithium-blocks-counter-wrapper text-align-%s', esc_attr($alignment)); … … 33 47 $number_styles = sprintf( 34 48 'color: %s; font-size: %dpx; font-weight: %s;', 35 esc_attr($ number_color),49 esc_attr($formatted_number_color), 36 50 $number_font_size, 37 51 esc_attr($number_font_weight) … … 40 54 41 55 <div <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>> 42 <div class="zenithium-blocks-counter-container" data- target="<?php echo esc_attr($target); ?>"43 data- duration="<?php echo esc_attr($duration); ?>">56 <div class="zenithium-blocks-counter-container" data-start="<?php echo esc_attr($start_number); ?>" 57 data-target="<?php echo esc_attr($target); ?>" data-duration="<?php echo esc_attr($duration); ?>"> 44 58 <div class="zenithium-blocks-counter-number" style="<?php echo esc_attr($number_styles); ?>"> 45 59 <?php if (!empty($prefix)): ?> … … 49 63 <?php endif; ?> 50 64 51 <span class="zenithium-blocks-number-value">0</span> 65 <span class="zenithium-blocks-number-value"> 66 <?php echo esc_html($start_number); ?> 67 </span> 52 68 53 69 <?php if (!empty($suffix)): ?> … … 67 83 <?php 68 84 }, 69 $attributes 85 $attributes ?? array(), 86 $content ?? '', 87 $block ?? null 70 88 ); -
zenithium-blocks/trunk/build/blocks/animated-counter/view.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array(), 'version' => ' e1d9cce01b6035b10d79');1 <?php return array('dependencies' => array(), 'version' => '332330ed8e33aff81661'); -
zenithium-blocks/trunk/build/blocks/animated-counter/view.js
r3640847 r3769770 1 document.addEventListener("DOMContentLoaded",()=>{const t=document.querySelectorAll(".zenithium-blocks-counter-container");if(!t.length)return;const e=new IntersectionObserver((t,e)=>{t.forEach(t=>{t.isIntersecting&&((t=>{const e=parseInt(t.dataset.target,10)||0,n=parseInt(t.dataset.duration,10)||2e3,o=t.querySelector(".zenithium-blocks-number-value");if(!o)return;let r=null;const a=t=>{r||(r=t);const i=Math.min((t-r)/n,1),s=Math.floor(i*(2-i)*e);o.textContent=s.toLocaleString(),i<1?window.requestAnimationFrame(a):o.textContent=e.toLocaleString()};window.requestAnimationFrame(a)})(t.target),e.unobserve(t.target))})},{threshold:.3});t.forEach(t=>e.observe(t))});1 (()=>{const t=()=>{const t=document.querySelectorAll('.zenithium-blocks-counter-container:not([data-animated-init="true"])');if(!t.length)return;const e=new IntersectionObserver((t,e)=>{t.forEach(t=>{t.isIntersecting&&((t=>{const e=parseInt(t.dataset.start,10)||0,n=parseInt(t.dataset.target,10)||0,r=parseInt(t.dataset.duration,10)||2e3,a=t.querySelector(".zenithium-blocks-number-value");if(!a)return;let o=null;const i=n-e,s=t=>{o||(o=t);const c=Math.min((t-o)/r,1),d=Math.floor(e+c*(2-c)*i);a.textContent=d.toLocaleString(),c<1?window.requestAnimationFrame(s):a.textContent=n.toLocaleString()};window.requestAnimationFrame(s)})(t.target),e.unobserve(t.target))})},{threshold:.2});t.forEach(t=>{t.setAttribute("data-animated-init","true"),e.observe(t)})};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t):t()})(); -
zenithium-blocks/trunk/build/blocks/carousel-slide/block.json
r3640847 r3769770 4 4 "name": "zenithium-blocks/carousel-slide", 5 5 "version": "1.0.0", 6 "title": " Carousel Slide",7 "category": " widgets",6 "title": "Zenithium Carousel Slide", 7 "category": "zenithium-blocks", 8 8 "parent": [ 9 9 "zenithium-blocks/carousel" … … 13 13 "html": false, 14 14 "color": { 15 "background": true, 15 16 "text": true, 16 "background": true 17 "link": true, 18 "gradients": true, 19 "enableCustomColors": true, 20 "enableAlpha": true, 21 "heading": true 17 22 } 18 23 }, … … 48 53 }, 49 54 "editorScript": "file:./index.js", 55 "editorStyle": "file:./index.css", 56 "style": "file:./style-index.css", 50 57 "render": "file:./render.php" 51 58 } -
zenithium-blocks/trunk/build/blocks/carousel-slide/index.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => ' 7bef9141e82696893df2');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => 'cc8f64972239d2b65d53'); -
zenithium-blocks/trunk/build/blocks/carousel-slide/index.js
r3640847 r3769770 1 (()=>{"use strict"; const e=window.wp.blocks,t=window.wp.blockEditor,i=window.wp.components,n=window.wp.i18n,l=JSON.parse('{"UU":"zenithium-blocks/carousel-slide"}'),o=window.ReactJSXRuntime;(0,e.registerBlockType)(l.UU,{edit:({attributes:e,setAttributes:l})=>{const{title:s,description:a,alignment:c,buttonText:r,buttonUrl:d,descMarginTop:m=12,descMarginBottom:u=16}=e,h=c||"left",p=(0,t.useBlockProps)({className:`zenithium-blocks-carousel-slide text-align-${h}`,style:{textAlign:h}});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.BlockControls,{children:(0,o.jsx)(t.AlignmentToolbar,{value:h,onChange:e=>l({alignment:e||"left"})})}),(0,o.jsxs)(t.InspectorControls,{children:[(0,o.jsx)(i.PanelBody,{title:(0,n.__)("Slide Settings","zenithium-blocks"),initialOpen:!0,children:(0,o.jsx)(i.TextControl,{label:(0,n.__)("Button Link URL","zenithium-blocks"),value:d||"#",onChange:e=>l({buttonUrl:e})})}),(0,o.jsxs)(i.PanelBody,{title:(0,n.__)("Description Spacing","zenithium-blocks"),initialOpen:!1,children:[(0,o.jsx)(i.RangeControl,{label:(0,n.__)("Top Margin (px)","zenithium-blocks"),value:m,onChange:e=>l({descMarginTop:e}),min:0,max:100}),(0,o.jsx)(i.RangeControl,{label:(0,n.__)("Bottom Margin (px)","zenithium-blocks"),value:u,onChange:e=>l({descMarginBottom:e}),min:0,max:100})]})]}),(0,o.jsxs)("div",{...p,children:[(0,o.jsx)(t.RichText,{tagName:"h3",className:"zenithium-blocks-slide-title",value:s||"",onChange:e=>l({title:e}),placeholder:(0,n.__)("Slide Title...","zenithium-blocks")}),(0,o.jsx)(t.RichText,{tagName:"p",className:"zenithium-blocks-slide-desc",value:a||"",onChange:e=>l({description:e}),placeholder:(0,n.__)("Slide description...","zenithium-blocks"),style:{marginTop:`${m}px`,marginBottom:`${u}px`}}),(0,o.jsx)("div",{className:"zenithium-blocks-slide-action",children:(0,o.jsx)(t.RichText,{tagName:"span",className:"zenithium-blocks-slide-btn",value:r||"",onChange:e=>l({buttonText:e}),placeholder:(0,n.__)("Button Text (Optional)","zenithium-blocks"),allowedFormats:[]})})]})]})},save:()=>null})})();1 (()=>{"use strict";var e={849(){const e=window.wp.blocks,t=window.wp.blockEditor,n=window.wp.components,i=window.wp.i18n,l=JSON.parse('{"UU":"zenithium-blocks/carousel-slide"}'),o=window.ReactJSXRuntime;(0,e.registerBlockType)(l.UU,{edit:({attributes:e,setAttributes:l})=>{const{title:s,description:a,alignment:c="left",buttonText:r,buttonUrl:h,descMarginTop:u=12,descMarginBottom:d=16}=e,m=c||"left",p=(0,t.useBlockProps)({className:`zenithium-blocks-carousel-slide text-align-${m}`,style:{textAlign:m}});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.BlockControls,{children:(0,o.jsx)(t.AlignmentToolbar,{value:m,onChange:e=>l({alignment:e||"left"})})}),(0,o.jsxs)(t.InspectorControls,{children:[(0,o.jsx)(n.PanelBody,{title:(0,i.__)("Slide Settings","zenithium-blocks"),initialOpen:!0,children:(0,o.jsx)(n.TextControl,{label:(0,i.__)("Button Link URL","zenithium-blocks"),value:h||"",onChange:e=>l({buttonUrl:e}),placeholder:"https://"})}),(0,o.jsxs)(n.PanelBody,{title:(0,i.__)("Description Spacing","zenithium-blocks"),initialOpen:!1,children:[(0,o.jsx)(n.RangeControl,{label:(0,i.__)("Top Margin (px)","zenithium-blocks"),value:u,onChange:e=>l({descMarginTop:e}),min:0,max:100}),(0,o.jsx)(n.RangeControl,{label:(0,i.__)("Bottom Margin (px)","zenithium-blocks"),value:d,onChange:e=>l({descMarginBottom:e}),min:0,max:100})]})]}),(0,o.jsxs)("div",{...p,children:[(0,o.jsx)(t.RichText,{tagName:"h3",className:"zenithium-blocks-slide-title",value:s||"",onChange:e=>l({title:e}),placeholder:(0,i.__)("Slide Title...","zenithium-blocks")}),(0,o.jsx)(t.RichText,{tagName:"p",className:"zenithium-blocks-slide-desc",value:a||"",onChange:e=>l({description:e}),placeholder:(0,i.__)("Slide description...","zenithium-blocks"),style:{marginTop:`${u}px`,marginBottom:`${d}px`}}),(0,o.jsx)("div",{className:"zenithium-blocks-slide-action",children:(0,o.jsx)(t.RichText,{tagName:"span",className:"zenithium-blocks-slide-btn",value:r||"",onChange:e=>l({buttonText:e}),placeholder:(0,i.__)("Button Text (Optional)","zenithium-blocks"),allowedFormats:[]})})]})]})},save:()=>null})}};const t={};function n(i){const l=t[i];if(void 0!==l)return l.exports;const o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}n.m=e,(()=>{const e=[];n.O=(t,i,l,o)=>{if(i){o=o||0;for(var s=e.length;s>0&&e[s-1][2]>o;s--)e[s]=e[s-1];return void(e[s]=[i,l,o])}let a=1/0;for(s=0;s<e.length;s++){let[i,l,o]=e[s],r=!0;for(var c=0;c<i.length;c++)(!1&o||a>=o)&&Object.keys(n.O).every(e=>n.O[e](i[c]))?i.splice(c--,1):(r=!1,o<a&&(a=o));if(r){e.splice(s--,1);const n=l();void 0!==n&&(t=n)}}return t}})(),n.o=(e,t)=>Object.hasOwn(e,t),(()=>{const e={911:0,311:0};n.O.j=t=>0===e[t];const t=(t,i)=>{let[l,o,s]=i;var a,c,r=0;if(l.some(t=>0!==e[t])){for(a in o)n.o(o,a)&&(n.m[a]=o[a]);if(s)var h=s(n)}for(t&&t(i);r<l.length;r++)c=l[r],n.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return n.O(h)},i=globalThis.webpackChunkzenithium_blocks||=[];i.forEach(t.bind(null,0)),i.push=t.bind(null,i.push.bind(i))})();let i=n.O(void 0,[311],()=>n(849));i=n.O(i)})(); -
zenithium-blocks/trunk/build/blocks/carousel-slide/render.php
r3640847 r3769770 16 16 $alignment = $attributes['alignment'] ?? 'left'; 17 17 $button_text = $attributes['buttonText'] ?? ''; 18 $button_url = $attributes['buttonUrl'] ?? ' #';18 $button_url = $attributes['buttonUrl'] ?? ''; 19 19 $desc_margin_top = (int) ($attributes['descMarginTop'] ?? 12); 20 20 $desc_margin_bottom = (int) ($attributes['descMarginBottom'] ?? 16); … … 46 46 <?php if (!empty($button_text)): ?> 47 47 <div class="zenithium-blocks-slide-action"> 48 <a href="<?php echo esc_url($button_url); ?>" class="zenithium-blocks-slide-btn"> 48 <a href="<?php echo esc_url(!empty($button_url) ? $button_url : '#'); ?>" 49 class="zenithium-blocks-slide-btn"> 49 50 <?php echo esc_html($button_text); ?> 50 51 </a> -
zenithium-blocks/trunk/build/blocks/carousel/block.json
r3640847 r3769770 4 4 "name": "zenithium-blocks/carousel", 5 5 "version": "1.0.0", 6 "title": " Modern Interactive Carousel",7 "category": " widgets",6 "title": "Zenithium Modern Interactive Carousel", 7 "category": "zenithium-blocks", 8 8 "icon": "slides", 9 9 "description": "A fully responsive, touch-friendly carousel and slider block with custom layout controls.", … … 26 26 }, 27 27 "color": { 28 "background": true, 28 29 "text": true, 29 "background": true 30 "link": true, 31 "gradients": true, 32 "enableCustomColors": true, 33 "enableAlpha": true, 34 "heading": true 30 35 } 31 36 }, -
zenithium-blocks/trunk/build/blocks/carousel/index-rtl.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-wrapper{background-color:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:16px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track{overflow-x:auto}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout{display:flex;flex-wrap:nowrap;gap:var(--zb-carousel-gap,20px)}1 .wp-block-zenithium-blocks-carousel,.zenithium-blocks-carousel-wrapper{background-color:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;box-sizing:border-box;padding:16px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track{overflow-x:auto;padding-bottom:12px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track::-webkit-scrollbar,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track::-webkit-scrollbar{height:6px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track::-webkit-scrollbar-thumb,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:3px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout{align-items:stretch;display:flex;flex-wrap:nowrap;gap:var(--zb-carousel-gap,20px)}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-list-appender,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-list-appender{align-items:center;border:2px dashed #94a3b8;border-radius:8px;display:flex;flex-shrink:0;justify-content:center;min-height:180px;min-width:120px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-list-appender:hover,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-list-appender:hover{border-color:#2563eb} -
zenithium-blocks/trunk/build/blocks/carousel/index.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => ' 231eb02cdd05af9982b5');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => '5a386655ef2429513d85'); -
zenithium-blocks/trunk/build/blocks/carousel/index.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-wrapper{background-color:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:16px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track{overflow-x:auto}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout{display:flex;flex-wrap:nowrap;gap:var(--zb-carousel-gap,20px)}1 .wp-block-zenithium-blocks-carousel,.zenithium-blocks-carousel-wrapper{background-color:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;box-sizing:border-box;padding:16px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track{overflow-x:auto;padding-bottom:12px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track::-webkit-scrollbar,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track::-webkit-scrollbar{height:6px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track::-webkit-scrollbar-thumb,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:3px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout{align-items:stretch;display:flex;flex-wrap:nowrap;gap:var(--zb-carousel-gap,20px)}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-list-appender,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-list-appender{align-items:center;border:2px dashed #94a3b8;border-radius:8px;display:flex;flex-shrink:0;justify-content:center;min-height:180px;min-width:120px}.wp-block-zenithium-blocks-carousel .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-list-appender:hover,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-list-appender:hover{border-color:#2563eb} -
zenithium-blocks/trunk/build/blocks/carousel/index.js
r3640847 r3769770 1 (()=>{"use strict";var e={397(){const e=window.wp.blocks,o=window.wp.blockEditor,l=window.wp.components,s=window.wp.i18n, n=JSON.parse('{"UU":"zenithium-blocks/carousel"}'),i=window.ReactJSXRuntime,t=["zenithium-blocks/carousel-slide"],a=[["zenithium-blocks/carousel-slide",{}],["zenithium-blocks/carousel-slide",{}],["zenithium-blocks/carousel-slide",{}]];(0,e.registerBlockType)(n.UU,{edit:({attributes:e,setAttributes:n})=>{const{slidesPerView:r,slideGap:c,showArrows:u,showDots:h,paginationType:d,autoplay:b,autoplaySpeed:p,arrowColor:m,arrowBgColor:g,arrowSize:k=40,dotColor:w}=e,x=(0,o.useBlockProps)({className:`zenithium-blocks-carousel-wrapper slides-per-view-${r}`,style:{"--zb-carousel-gap":`${c}px`,"--zb-slides-per-view":r,"--zb-arrow-color":m,"--zb-arrow-bg":g,"--zb-arrow-size":`${k}px`,"--zb-dot-color":w}});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(o.InspectorControls,{children:[(0,i.jsxs)(l.PanelBody,{title:(0,s.__)("Carousel Settings","zenithium-blocks"),initialOpen:!0,children:[(0,i.jsx)(l.RangeControl,{label:(0,s.__)("Slides Per View","zenithium-blocks"),value:r,onChange:e=>n({slidesPerView:e}),min:1,max:4}),(0,i.jsx)(l.RangeControl,{label:(0,s.__)("Gap Between Slides (px)","zenithium-blocks"),value:c,onChange:e=>n({slideGap:e}),min:0,max:50}),(0,i.jsx)(l.ToggleControl,{label:(0,s.__)("Show Navigation Arrows","zenithium-blocks"),checked:u,onChange:e=>n({showArrows:e})}),(0,i.jsx)(l.ToggleControl,{label:(0,s.__)("Show Pagination Dots","zenithium-blocks"),checked:h,onChange:e=>n({showDots:e})}),h&&(0,i.jsx)(l.SelectControl,{label:(0,s.__)("Pagination Mode","zenithium-blocks"),value:d,options:[{label:(0,s.__)("Page-by-Page Dots (Recommended)","zenithium-blocks"),value:"pages"},{label:(0,s.__)("Per Slide Dots","zenithium-blocks"),value:"slides"}],onChange:e=>n({paginationType:e})})]}),(0,i.jsxs)(l.PanelBody,{title:(0,s.__)("Autoplay Settings","zenithium-blocks"),initialOpen:!1,children:[(0,i.jsx)(l.ToggleControl,{label:(0,s.__)("Enable Autoplay","zenithium-blocks"),checked:b,onChange:e=>n({autoplay:e})}),b&&(0,i.jsx)(l.RangeControl,{label:(0,s.__)("Autoplay Speed (ms)","zenithium-blocks"),value:p,onChange:e=>n({autoplaySpeed:e}),min:1500,max:1e4,step:500})]}),(0,i.jsxs)(l.PanelBody,{title:(0,s.__)("Navigation Styling","zenithium-blocks"),initialOpen:!1,children:[u&&(0,i.jsx)(l.RangeControl,{label:(0,s.__)("Arrow Size (px)","zenithium-blocks"),value:k,onChange:e=>n({arrowSize:e}),min:24,max:80}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:(0,s.__)("Arrow Icon Color","zenithium-blocks")})}),(0,i.jsx)(l.ColorPalette,{value:m,onChange:e=>n({arrowColor:e||"#1e293b"})}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:(0,s.__)("Arrow Background","zenithium-blocks")})}),(0,i.jsx)(l.ColorPalette,{value:g,onChange:e=>n({arrowBgColor:e||"#ffffff"})}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:(0,s.__)("Active Dot Color","zenithium-blocks")})}),(0,i.jsx)(l.ColorPalette,{value:w,onChange:e=>n({dotColor:e||"#2563eb"})})]})]}),(0,i.jsxs)("div",{...x,children:[(0,i.jsx)("div",{className:"zenithium-blocks-carousel-track",children:(0,i.jsx)(o.InnerBlocks,{allowedBlocks:t,template:a,orientation:"horizontal",renderAppender:o.InnerBlocks.ButtonBlockAppender})}),u&&(0,i.jsxs)("div",{className:"zenithium-blocks-carousel-arrows",children:[(0,i.jsx)("button",{type:"button",className:"zenithium-blocks-carousel-arrow prev","aria-label":"Previous slide",children:"‹"}),(0,i.jsx)("button",{type:"button",className:"zenithium-blocks-carousel-arrow next","aria-label":"Next slide",children:"›"})]}),h&&(0,i.jsxs)("div",{className:"zenithium-blocks-carousel-dots",children:[(0,i.jsx)("span",{className:"zenithium-blocks-carousel-dot is-active"}),(0,i.jsx)("span",{className:"zenithium-blocks-carousel-dot"}),(0,i.jsx)("span",{className:"zenithium-blocks-carousel-dot"})]})]})]})},save:()=>(0,i.jsx)(o.InnerBlocks.Content,{})})}};const o={};function l(s){const n=o[s];if(void 0!==n)return n.exports;const i=o[s]={exports:{}};return e[s](i,i.exports,l),i.exports}l.m=e,(()=>{const e=[];l.O=(o,s,n,i)=>{if(s){i=i||0;for(var t=e.length;t>0&&e[t-1][2]>i;t--)e[t]=e[t-1];return void(e[t]=[s,n,i])}let a=1/0;for(t=0;t<e.length;t++){let[s,n,i]=e[t],c=!0;for(var r=0;r<s.length;r++)(!1&i||a>=i)&&Object.keys(l.O).every(e=>l.O[e](s[r]))?s.splice(r--,1):(c=!1,i<a&&(a=i));if(c){e.splice(t--,1);const l=n();void 0!==l&&(o=l)}}return o}})(),l.o=(e,o)=>Object.hasOwn(e,o),(()=>{const e={899:0,131:0};l.O.j=o=>0===e[o];const o=(o,s)=>{let[n,i,t]=s;var a,r,c=0;if(n.some(o=>0!==e[o])){for(a in i)l.o(i,a)&&(l.m[a]=i[a]);if(t)var u=t(l)}for(o&&o(s);c<n.length;c++)r=n[c],l.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return l.O(u)},s=globalThis.webpackChunkzenithium_blocks||=[];s.forEach(o.bind(null,0)),s.push=o.bind(null,s.push.bind(s))})();let s=l.O(void 0,[131],()=>l(397));s=l.O(s)})();1 (()=>{"use strict";var e={397(){const e=window.wp.blocks,o=window.wp.blockEditor,l=window.wp.components,s=window.wp.i18n,i=JSON.parse('{"UU":"zenithium-blocks/carousel"}'),n=window.ReactJSXRuntime,t=["zenithium-blocks/carousel-slide"],a=[["zenithium-blocks/carousel-slide",{}],["zenithium-blocks/carousel-slide",{}],["zenithium-blocks/carousel-slide",{}]];(0,e.registerBlockType)(i.UU,{edit:({attributes:e,setAttributes:i})=>{const{slidesPerView:r,slideGap:c,showArrows:u,showDots:h,paginationType:d,autoplay:b,autoplaySpeed:p,arrowColor:m,arrowBgColor:k,arrowSize:g=40,dotColor:w}=e,x=(0,o.useBlockProps)({className:`zenithium-blocks-carousel-wrapper slides-per-view-${r}`,style:{"--zb-carousel-gap":`${c}px`,"--zb-slides-per-view":r,"--zb-arrow-color":m,"--zb-arrow-bg":k,"--zb-arrow-size":`${g}px`,"--zb-dot-color":w}});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.InspectorControls,{children:[(0,n.jsxs)(l.PanelBody,{title:(0,s.__)("Carousel Settings","zenithium-blocks"),initialOpen:!0,children:[(0,n.jsx)(l.RangeControl,{label:(0,s.__)("Slides Per View","zenithium-blocks"),value:r,onChange:e=>i({slidesPerView:e}),min:1,max:4}),(0,n.jsx)(l.RangeControl,{label:(0,s.__)("Gap Between Slides (px)","zenithium-blocks"),value:c,onChange:e=>i({slideGap:e}),min:0,max:50}),(0,n.jsx)(l.ToggleControl,{label:(0,s.__)("Show Navigation Arrows","zenithium-blocks"),checked:u,onChange:e=>i({showArrows:e})}),(0,n.jsx)(l.ToggleControl,{label:(0,s.__)("Show Pagination Dots","zenithium-blocks"),checked:h,onChange:e=>i({showDots:e})}),h&&(0,n.jsx)(l.SelectControl,{label:(0,s.__)("Pagination Mode","zenithium-blocks"),value:d,options:[{label:(0,s.__)("Page-by-Page Dots (Recommended)","zenithium-blocks"),value:"pages"},{label:(0,s.__)("Per Slide Dots","zenithium-blocks"),value:"slides"}],onChange:e=>i({paginationType:e})})]}),(0,n.jsxs)(l.PanelBody,{title:(0,s.__)("Autoplay Settings","zenithium-blocks"),initialOpen:!1,children:[(0,n.jsx)(l.ToggleControl,{label:(0,s.__)("Enable Autoplay","zenithium-blocks"),checked:b,onChange:e=>i({autoplay:e})}),b&&(0,n.jsx)(l.RangeControl,{label:(0,s.__)("Autoplay Speed (ms)","zenithium-blocks"),value:p,onChange:e=>i({autoplaySpeed:e}),min:1500,max:1e4,step:500})]}),(0,n.jsxs)(l.PanelBody,{title:(0,s.__)("Navigation Styling","zenithium-blocks"),initialOpen:!1,children:[u&&(0,n.jsx)(l.RangeControl,{label:(0,s.__)("Arrow Size (px)","zenithium-blocks"),value:g,onChange:e=>i({arrowSize:e}),min:24,max:80}),(0,n.jsx)("p",{children:(0,n.jsx)("strong",{children:(0,s.__)("Arrow Icon Color","zenithium-blocks")})}),(0,n.jsx)(l.ColorPalette,{value:m,onChange:e=>i({arrowColor:e||"#1e293b"})}),(0,n.jsx)("p",{children:(0,n.jsx)("strong",{children:(0,s.__)("Arrow Background","zenithium-blocks")})}),(0,n.jsx)(l.ColorPalette,{value:k,onChange:e=>i({arrowBgColor:e||"#ffffff"})}),(0,n.jsx)("p",{children:(0,n.jsx)("strong",{children:(0,s.__)("Active Dot Color","zenithium-blocks")})}),(0,n.jsx)(l.ColorPalette,{value:w,onChange:e=>i({dotColor:e||"#2563eb"})})]})]}),(0,n.jsxs)("div",{...x,children:[(0,n.jsx)("div",{className:"zenithium-blocks-carousel-track",children:(0,n.jsx)(o.InnerBlocks,{allowedBlocks:t,template:a,orientation:"horizontal",renderAppender:o.InnerBlocks.ButtonBlockAppender})}),u&&(0,n.jsxs)("div",{className:"zenithium-blocks-carousel-arrows",children:[(0,n.jsx)("button",{type:"button",className:"zenithium-blocks-carousel-arrow prev","aria-label":(0,s.__)("Previous slide","zenithium-blocks"),children:"‹"}),(0,n.jsx)("button",{type:"button",className:"zenithium-blocks-carousel-arrow next","aria-label":(0,s.__)("Next slide","zenithium-blocks"),children:"›"})]}),h&&(0,n.jsxs)("div",{className:"zenithium-blocks-carousel-dots",children:[(0,n.jsx)("span",{className:"zenithium-blocks-carousel-dot is-active"}),(0,n.jsx)("span",{className:"zenithium-blocks-carousel-dot"}),(0,n.jsx)("span",{className:"zenithium-blocks-carousel-dot"})]})]})]})},save:()=>(0,n.jsx)(o.InnerBlocks.Content,{})})}};const o={};function l(s){const i=o[s];if(void 0!==i)return i.exports;const n=o[s]={exports:{}};return e[s](n,n.exports,l),n.exports}l.m=e,(()=>{const e=[];l.O=(o,s,i,n)=>{if(s){n=n||0;for(var t=e.length;t>0&&e[t-1][2]>n;t--)e[t]=e[t-1];return void(e[t]=[s,i,n])}let a=1/0;for(t=0;t<e.length;t++){let[s,i,n]=e[t],c=!0;for(var r=0;r<s.length;r++)(!1&n||a>=n)&&Object.keys(l.O).every(e=>l.O[e](s[r]))?s.splice(r--,1):(c=!1,n<a&&(a=n));if(c){e.splice(t--,1);const l=i();void 0!==l&&(o=l)}}return o}})(),l.o=(e,o)=>Object.hasOwn(e,o),(()=>{const e={899:0,131:0};l.O.j=o=>0===e[o];const o=(o,s)=>{let[i,n,t]=s;var a,r,c=0;if(i.some(o=>0!==e[o])){for(a in n)l.o(n,a)&&(l.m[a]=n[a]);if(t)var u=t(l)}for(o&&o(s);c<i.length;c++)r=i[c],l.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return l.O(u)},s=globalThis.webpackChunkzenithium_blocks||=[];s.forEach(o.bind(null,0)),s.push=o.bind(null,s.push.bind(s))})();let s=l.O(void 0,[131],()=>l(397));s=l.O(s)})(); -
zenithium-blocks/trunk/build/blocks/carousel/render.php
r3640847 r3769770 12 12 call_user_func( 13 13 function ($attributes, $content) { 14 $format_color = function ($color, $default = '') { 15 if (empty($color)) { 16 return $default; 17 } 18 if (is_string($color) && str_starts_with($color, 'var:preset|color|')) { 19 $slug = str_replace('var:preset|color|', '', $color); 20 return "var(--wp--preset--color--{$slug})"; 21 } 22 return $color; 23 }; 24 14 25 $slides_per_view = (int) ($attributes['slidesPerView'] ?? 3); 15 26 $slide_gap = (int) ($attributes['slideGap'] ?? 20); … … 20 31 $autoplay_speed = (int) ($attributes['autoplaySpeed'] ?? 4000); 21 32 22 $arrow_color = $ attributes['arrowColor'] ?? '#1e293b';23 $arrow_bg = $ attributes['arrowBgColor'] ?? '#ffffff';33 $arrow_color = $format_color($attributes['arrowColor'] ?? '', '#1e293b'); 34 $arrow_bg = $format_color($attributes['arrowBgColor'] ?? '', '#ffffff'); 24 35 $arrow_size = (int) ($attributes['arrowSize'] ?? 40); 25 $dot_color = $ attributes['dotColor'] ?? '#2563eb';36 $dot_color = $format_color($attributes['dotColor'] ?? '', '#2563eb'); 26 37 27 38 $wrapper_classes = sprintf('zenithium-blocks-carousel-wrapper slides-per-view-%d', $slides_per_view); … … 42 53 'style' => $inline_styles, 43 54 'data-slides-per-view' => $slides_per_view, 55 'data-slide-gap' => $slide_gap, 44 56 'data-pagination-type' => esc_attr($pagination_type), 45 57 'data-autoplay' => $autoplay ? 'true' : 'false', … … 49 61 ?> 50 62 51 <div <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>> 52 <div class="zenithium-blocks-carousel-track"> 53 <?php echo wp_kses_post($content); ?> 63 <div <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>> 64 <div class="zenithium-blocks-carousel-track"> 65 <?php echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> 66 </div> 67 68 <?php if ($show_arrows): ?> 69 <div class="zenithium-blocks-carousel-arrows"> 70 <button type="button" class="zenithium-blocks-carousel-arrow prev" 71 aria-label="<?php esc_attr_e('Previous slide', 'zenithium-blocks'); ?>"> 72 <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="<?php echo esc_attr($arrow_color); ?>" 73 stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"> 74 <polyline points="15 18 9 12 15 6"></polyline> 75 </svg> 76 </button> 77 <button type="button" class="zenithium-blocks-carousel-arrow next" 78 aria-label="<?php esc_attr_e('Next slide', 'zenithium-blocks'); ?>"> 79 <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="<?php echo esc_attr($arrow_color); ?>" 80 stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"> 81 <polyline points="9 18 15 12 9 6"></polyline> 82 </svg> 83 </button> 84 </div> 85 <?php endif; ?> 86 87 <?php if ($show_dots): ?> 88 <div class="zenithium-blocks-carousel-dots"></div> 89 <?php endif; ?> 54 90 </div> 55 56 <?php if ($show_arrows): ?>57 <div class="zenithium-blocks-carousel-arrows">58 <button type="button" class="zenithium-blocks-carousel-arrow prev"59 aria-label="<?php esc_attr_e('Previous slide', 'zenithium-blocks'); ?>">60 <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="<?php echo esc_attr($arrow_color); ?>"61 stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">62 <polyline points="15 18 9 12 15 6"></polyline>63 </svg>64 </button>65 <button type="button" class="zenithium-blocks-carousel-arrow next"66 aria-label="<?php esc_attr_e('Next slide', 'zenithium-blocks'); ?>">67 <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="<?php echo esc_attr($arrow_color); ?>"68 stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">69 <polyline points="9 18 15 12 9 6"></polyline>70 </svg>71 </button>72 </div>73 <?php endif; ?>74 75 <?php if ($show_dots): ?>76 <div class="zenithium-blocks-carousel-dots"></div>77 <?php endif; ?>78 </div>79 91 <?php 80 92 }, -
zenithium-blocks/trunk/build/blocks/carousel/style-index-rtl.css
r3640847 r3769770 1 .zenithium-blocks-carousel-wrapper{ padding-bottom:24px;position:relative;width:100%}.zenithium-blocks-carousel-wrapper .zenithium-blocks-swiper-container{overflow:hidden;padding:10px 0;position:relative;width:100%}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track{box-sizing:content-box;display:flex;height:100%;width:100%}.zenithium-blocks-carousel-wrapper .swiper-slide,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;flex-shrink:0;height:auto;padding:24px;position:relative}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-center,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-center,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-center{text-align:center}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-center .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-center .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-center .zenithium-blocks-slide-action{display:flex;justify-content:center}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-right,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-right,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-right{text-align:left}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-right .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-right .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-right .zenithium-blocks-slide-action{display:flex;justify-content:flex-end}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-left,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-left,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-left{text-align:right}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-left .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-left .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-left .zenithium-blocks-slide-action{display:flex;justify-content:flex-start}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows{display:flex;justify-content:space-between;right:0;padding:0 8px;pointer-events:none;position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:20}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow{align-items:center!important;background-color:var(--zb-arrow-bg,#fff)!important;border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.15);box-sizing:border-box;cursor:pointer;display:flex!important;height:var(--zb-arrow-size,40px)!important;justify-content:center!important;margin:0!important;min-height:var(--zb-arrow-size,40px)!important;min-width:var(--zb-arrow-size,40px)!important;opacity:1!important;padding:0!important;pointer-events:auto;position:relative;transition:transform .2s ease,opacity .2s ease,background-color .2s ease;visibility:visible!important;width:var(--zb-arrow-size,40px)!important}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg{display:block!important;height:50%!important;max-height:100%!important;max-width:100%!important;opacity:1!important;overflow:visible!important;pointer-events:none;position:relative!important;visibility:visible!important;width:50%!important;z-index:2!important}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg path,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg polyline{fill:none!important;opacity:1!important;stroke:var(--zb-arrow-color,#1e293b)!important;stroke-width:2.5px!important;visibility:visible!important}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow:hover{transform:scale(1.08)}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow.swiper-button-disabled,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow[disabled]{cursor:not-allowed;opacity:.3!important;pointer-events:none}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:16px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot{background-color:#cbd5e1;border:none;border-radius:50%;cursor:pointer;height:10px;opacity:1;padding:0;transition:all .3s ease;width:10px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet.is-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet.swiper-pagination-bullet-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot.is-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot.swiper-pagination-bullet-active{background-color:var(--zb-dot-color,#2563eb);border-radius:12px;width:24px}1 .zenithium-blocks-carousel-wrapper{box-sizing:border-box;padding-bottom:24px;position:relative;width:100%}.zenithium-blocks-carousel-wrapper .zenithium-blocks-swiper-container{overflow:hidden;padding:10px 0;position:relative;width:100%}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track{box-sizing:content-box;display:flex;height:100%;width:100%}.zenithium-blocks-carousel-wrapper .swiper-slide,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide{background-color:transparent;border:1px solid rgba(226,232,240,.8);border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;flex-shrink:0;height:auto;padding:24px;position:relative}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-center,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-center,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-center{text-align:center}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-center .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-center .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-center .zenithium-blocks-slide-action{display:flex;justify-content:center}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-right,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-right,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-right{text-align:left}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-right .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-right .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-right .zenithium-blocks-slide-action{display:flex;justify-content:flex-end}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-left,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-left,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-left{text-align:right}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-left .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-left .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-left .zenithium-blocks-slide-action{display:flex;justify-content:flex-start}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows{display:flex;justify-content:space-between;right:0;padding:0 8px;pointer-events:none;position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:20}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow{align-items:center;background-color:var(--zb-arrow-bg,#fff);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.15);box-sizing:border-box;cursor:pointer;display:flex;height:var(--zb-arrow-size,40px);justify-content:center;margin:0;min-height:var(--zb-arrow-size,40px);min-width:var(--zb-arrow-size,40px);padding:0;pointer-events:auto;position:relative;transition:transform .2s ease,opacity .2s ease,background-color .2s ease;width:var(--zb-arrow-size,40px)}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg{display:block;height:50%;max-height:100%;max-width:100%;overflow:visible;pointer-events:none;position:relative;width:50%;z-index:2}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg path,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg polyline{fill:none;stroke:var(--zb-arrow-color,#1e293b);stroke-width:2.5px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow:hover{transform:scale(1.08)}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow.swiper-button-disabled,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow[disabled]{cursor:not-allowed;opacity:.3;pointer-events:none}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:16px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot{background-color:#cbd5e1;border:none;border-radius:50%;cursor:pointer;height:10px;opacity:1;padding:0;transition:all .3s ease;width:10px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet.is-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet.swiper-pagination-bullet-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot.is-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot.swiper-pagination-bullet-active{background-color:var(--zb-dot-color,#2563eb);border-radius:12px;width:24px} -
zenithium-blocks/trunk/build/blocks/carousel/style-index.css
r3640847 r3769770 1 .zenithium-blocks-carousel-wrapper{ padding-bottom:24px;position:relative;width:100%}.zenithium-blocks-carousel-wrapper .zenithium-blocks-swiper-container{overflow:hidden;padding:10px 0;position:relative;width:100%}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track{box-sizing:content-box;display:flex;height:100%;width:100%}.zenithium-blocks-carousel-wrapper .swiper-slide,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;flex-shrink:0;height:auto;padding:24px;position:relative}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-center,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-center,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-center{text-align:center}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-center .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-center .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-center .zenithium-blocks-slide-action{display:flex;justify-content:center}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-right,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-right,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-right{text-align:right}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-right .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-right .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-right .zenithium-blocks-slide-action{display:flex;justify-content:flex-end}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-left,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-left,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-left{text-align:left}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-left .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-left .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-left .zenithium-blocks-slide-action{display:flex;justify-content:flex-start}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows{display:flex;justify-content:space-between;left:0;padding:0 8px;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:20}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow{align-items:center!important;background-color:var(--zb-arrow-bg,#fff)!important;border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.15);box-sizing:border-box;cursor:pointer;display:flex!important;height:var(--zb-arrow-size,40px)!important;justify-content:center!important;margin:0!important;min-height:var(--zb-arrow-size,40px)!important;min-width:var(--zb-arrow-size,40px)!important;opacity:1!important;padding:0!important;pointer-events:auto;position:relative;transition:transform .2s ease,opacity .2s ease,background-color .2s ease;visibility:visible!important;width:var(--zb-arrow-size,40px)!important}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg{display:block!important;height:50%!important;max-height:100%!important;max-width:100%!important;opacity:1!important;overflow:visible!important;pointer-events:none;position:relative!important;visibility:visible!important;width:50%!important;z-index:2!important}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg path,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg polyline{fill:none!important;opacity:1!important;stroke:var(--zb-arrow-color,#1e293b)!important;stroke-width:2.5px!important;visibility:visible!important}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow:hover{transform:scale(1.08)}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow.swiper-button-disabled,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow[disabled]{cursor:not-allowed;opacity:.3!important;pointer-events:none}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:16px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot{background-color:#cbd5e1;border:none;border-radius:50%;cursor:pointer;height:10px;opacity:1;padding:0;transition:all .3s ease;width:10px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet.is-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet.swiper-pagination-bullet-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot.is-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot.swiper-pagination-bullet-active{background-color:var(--zb-dot-color,#2563eb);border-radius:12px;width:24px}1 .zenithium-blocks-carousel-wrapper{box-sizing:border-box;padding-bottom:24px;position:relative;width:100%}.zenithium-blocks-carousel-wrapper .zenithium-blocks-swiper-container{overflow:hidden;padding:10px 0;position:relative;width:100%}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-track{box-sizing:content-box;display:flex;height:100%;width:100%}.zenithium-blocks-carousel-wrapper .swiper-slide,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide{background-color:transparent;border:1px solid rgba(226,232,240,.8);border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.06);box-sizing:border-box;flex-shrink:0;height:auto;padding:24px;position:relative}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-center,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-center,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-center{text-align:center}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-center .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-center .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-center .zenithium-blocks-slide-action{display:flex;justify-content:center}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-right,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-right,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-right{text-align:right}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-right .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-right .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-right .zenithium-blocks-slide-action{display:flex;justify-content:flex-end}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-left,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-left,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-left{text-align:left}.zenithium-blocks-carousel-wrapper .swiper-slide.text-align-left .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .wp-block-zenithium-blocks-carousel-slide.text-align-left .zenithium-blocks-slide-action,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-slide.text-align-left .zenithium-blocks-slide-action{display:flex;justify-content:flex-start}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows{display:flex;justify-content:space-between;left:0;padding:0 8px;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:20}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow{align-items:center;background-color:var(--zb-arrow-bg,#fff);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.15);box-sizing:border-box;cursor:pointer;display:flex;height:var(--zb-arrow-size,40px);justify-content:center;margin:0;min-height:var(--zb-arrow-size,40px);min-width:var(--zb-arrow-size,40px);padding:0;pointer-events:auto;position:relative;transition:transform .2s ease,opacity .2s ease,background-color .2s ease;width:var(--zb-arrow-size,40px)}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg{display:block;height:50%;max-height:100%;max-width:100%;overflow:visible;pointer-events:none;position:relative;width:50%;z-index:2}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg path,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow svg polyline{fill:none;stroke:var(--zb-arrow-color,#1e293b);stroke-width:2.5px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow:hover{transform:scale(1.08)}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow.swiper-button-disabled,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-arrows .zenithium-blocks-carousel-arrow[disabled]{cursor:not-allowed;opacity:.3;pointer-events:none}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:16px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot{background-color:#cbd5e1;border:none;border-radius:50%;cursor:pointer;height:10px;opacity:1;padding:0;transition:all .3s ease;width:10px}.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet.is-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .swiper-pagination-bullet.swiper-pagination-bullet-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot.is-active,.zenithium-blocks-carousel-wrapper .zenithium-blocks-carousel-dots .zenithium-blocks-carousel-dot.swiper-pagination-bullet-active{background-color:var(--zb-dot-color,#2563eb);border-radius:12px;width:24px} -
zenithium-blocks/trunk/build/blocks/carousel/view.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array(), 'version' => ' 7028d6a820251536ec8a');1 <?php return array('dependencies' => array(), 'version' => 'eaba1bc67674b1d2114f'); -
zenithium-blocks/trunk/build/blocks/carousel/view.js
r3640847 r3769770 1 (()=>{"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,i){void 0===s&&(s={}),void 0===i&&(i={});const a=["__proto__","constructor","prototype"];Object.keys(i).filter(e=>a.indexOf(e)<0).forEach(a=>{void 0===s[a]?s[a]=i[a]:e(i[a])&&e(s[a])&&Object.keys(i[a]).length>0&&t(s[a],i[a])})}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function i(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const a={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,a),e}function n(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function l(){return Date.now()}function o(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function d(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function c(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;s<arguments.length;s+=1){const i=s<0||arguments.length<=s?void 0:arguments[s];if(null!=i&&!d(i)){const s=Object.keys(Object(i)).filter(e=>t.indexOf(e)<0);for(let t=0,a=s.length;t<a;t+=1){const a=s[t],r=Object.getOwnPropertyDescriptor(i,a);void 0!==r&&r.enumerable&&(o(e[a])&&o(i[a])?i[a].__swiper__?e[a]=i[a]:c(e[a],i[a]):!o(e[a])&&o(i[a])?(e[a]={},i[a].__swiper__?e[a]=i[a]:c(e[a],i[a])):e[a]=i[a])}}}return e}function p(e,t,s){e.style.setProperty(t,s)}function u(e){let{swiper:t,targetPosition:s,side:i}=e;const a=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",a.cancelAnimationFrame(t.cssModeFrameID);const c=s>n?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[i]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout(()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[i]:c})}),void a.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=a.requestAnimationFrame(u)};u()}function m(e,t){void 0===t&&(t="");const s=r(),i=[...e.children];return s.HTMLSlotElement&&e instanceof HTMLSlotElement&&i.push(...e.assignedElements()),t?i.filter(e=>e.matches(t)):i}function h(e){try{return void console.warn(e)}catch(e){}}function f(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:function(e){return void 0===e&&(e=""),e.trim().split(" ").filter(e=>!!e.trim())}(t)),s}function g(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function v(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function w(e,t){const s=[];let i=e.parentElement;for(;i;)t?i.matches(t)&&s.push(i):s.push(i),i=i.parentElement;return s}function b(e,t,s){const i=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function y(e){return(Array.isArray(e)?e:[e]).filter(e=>!!e)}function S(e,t){void 0===t&&(t=""),"undefined"!=typeof trustedTypes?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:e=>e}).createHTML(t):e.innerHTML=t}let T,E,x;function C(){return T||(T=function(){const e=r(),t=i();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),T}function M(e){return void 0===e&&(e={}),E||(E=function(e){let{userAgent:t}=void 0===e?{}:e;const s=C(),i=r(),a=i.navigator.platform,n=t||i.navigator.userAgent,l={ios:!1,android:!1},o=i.screen.width,d=i.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===a;let f="MacIntel"===a;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),E}function P(){return x||(x=function(){const e=r(),t=M();let s=!1;function i(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(i()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,i]=t.split("Version/")[1].split(" ")[0].split(".").map(e=>Number(e));s=e<16||16===e&&i<2}}const a=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=i();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||a&&t.ios,isWebView:a}}()),x}var L={on(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;const a=s?"unshift":"push";return e.split(" ").forEach(e=>{i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][a](t)}),i},once(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;function a(){i.off(e,a),a.__emitterProxy&&delete a.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(i,r)}return a.__emitterProxy=t,i.on(e,a,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const i=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[i](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach(e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach((i,a)=>{(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&s.eventsListeners[e].splice(a,1)})}),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,i;for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),i=e):(t=r[0].events,s=r[0].data,i=r[0].context||e),s.unshift(i),(Array.isArray(t)?t:t.split(" ")).forEach(t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach(e=>{e.apply(i,[t,...s])}),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach(e=>{e.apply(i,s)})}),e}};const k=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)},I=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)},O=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())})),t&&t.remove()}},A=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},z=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const i="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),a=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=a,r=[s-t];return r.push(...Array.from({length:t}).map((e,t)=>s+i+t)),void e.slides.forEach((t,s)=>{r.includes(t.column)&&A(e,s)})}const r=a+i-1;if(e.params.rewind||e.params.loop)for(let i=a-t;i<=r+t;i+=1){const t=(i%s+s)%s;(t<a||t>r)&&A(e,t)}else for(let i=Math.max(a-t,0);i<=Math.min(r+t,s-1);i+=1)i!==a&&(i>r||i<a)&&A(e,i)};var G={updateSize:function(){const e=this;let t,s;const i=e.el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:i.clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:i.clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(g(i,"padding-left")||0,10)-parseInt(g(i,"padding-right")||0,10),s=s-parseInt(g(i,"padding-top")||0,10)-parseInt(g(i,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t,s){return parseFloat(t.getPropertyValue(e.getDirectionLabel(s))||0)}const s=e.params,{wrapperEl:i,slidesEl:a,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&s.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=m(a,`.${e.params.slideClass}, swiper-slide`),u=o?e.virtual.slides.length:c.length;let h=[];const f=[],v=[];let w=s.slidesOffsetBefore;"function"==typeof w&&(w=s.slidesOffsetBefore.call(e));let y=s.slidesOffsetAfter;"function"==typeof y&&(y=s.slidesOffsetAfter.call(e));const S=e.snapGrid.length,T=e.slidesGrid.length;let E=s.spaceBetween,x=-w,C=0,M=0;if(void 0===r)return;"string"==typeof E&&E.indexOf("%")>=0?E=parseFloat(E.replace("%",""))/100*r:"string"==typeof E&&(E=parseFloat(E)),e.virtualSize=-E,c.forEach(e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""}),s.centeredSlides&&s.cssMode&&(p(i,"--swiper-centered-offset-before",""),p(i,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const k="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter(e=>void 0!==s.breakpoints[e].slidesPerView).length>0;for(let i=0;i<u;i+=1){let a;if(L=0,c[i]&&(a=c[i]),P&&e.grid.updateSlide(i,a,c),!c[i]||"none"!==g(a,"display")){if("auto"===s.slidesPerView){k&&(c[i].style[e.getDirectionLabel("width")]="");const r=getComputedStyle(a),n=a.style.transform,l=a.style.webkitTransform;if(n&&(a.style.transform="none"),l&&(a.style.webkitTransform="none"),s.roundLengths)L=e.isHorizontal()?b(a,"width",!0):b(a,"height",!0);else{const e=t(r,"width"),s=t(r,"padding-left"),i=t(r,"padding-right"),n=t(r,"margin-left"),l=t(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)L=e+n+l;else{const{clientWidth:t,offsetWidth:r}=a;L=e+s+i+n+l+(r-t)}}n&&(a.style.transform=n),l&&(a.style.webkitTransform=l),s.roundLengths&&(L=Math.floor(L))}else L=(r-(s.slidesPerView-1)*E)/s.slidesPerView,s.roundLengths&&(L=Math.floor(L)),c[i]&&(c[i].style[e.getDirectionLabel("width")]=`${L}px`);c[i]&&(c[i].swiperSlideSize=L),v.push(L),s.centeredSlides?(x=x+L/2+C/2+E,0===C&&0!==i&&(x=x-r/2-E),0===i&&(x=x-r/2-E),Math.abs(x)<.001&&(x=0),s.roundLengths&&(x=Math.floor(x)),M%s.slidesPerGroup===0&&h.push(x),f.push(x)):(s.roundLengths&&(x=Math.floor(x)),(M-Math.min(e.params.slidesPerGroupSkip,M))%e.params.slidesPerGroup===0&&h.push(x),f.push(x),x=x+L+E),e.virtualSize+=L+E,C=L,M+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+y,n&&l&&("slide"===s.effect||"coverflow"===s.effect)&&(i.style.width=`${e.virtualSize+E}px`),s.setWrapperSize&&(i.style[e.getDirectionLabel("width")]=`${e.virtualSize+E}px`),P&&e.grid.updateWrapperSize(L,h),!s.centeredSlides){const t=[];for(let i=0;i<h.length;i+=1){let a=h[i];s.roundLengths&&(a=Math.floor(a)),h[i]<=e.virtualSize-r&&t.push(a)}h=t,Math.floor(e.virtualSize-r)-Math.floor(h[h.length-1])>1&&h.push(e.virtualSize-r)}if(o&&s.loop){const t=v[0]+E;if(s.slidesPerGroup>1){const i=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),a=t*s.slidesPerGroup;for(let e=0;e<i;e+=1)h.push(h[h.length-1]+a)}for(let i=0;i<e.virtual.slidesBefore+e.virtual.slidesAfter;i+=1)1===s.slidesPerGroup&&h.push(h[h.length-1]+t),f.push(f[f.length-1]+t),e.virtualSize+=t}if(0===h.length&&(h=[0]),0!==E){const t=e.isHorizontal()&&n?"marginLeft":e.getDirectionLabel("marginRight");c.filter((e,t)=>!(s.cssMode&&!s.loop)||t!==c.length-1).forEach(e=>{e.style[t]=`${E}px`})}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;v.forEach(t=>{e+=t+(E||0)}),e-=E;const t=e>r?e-r:0;h=h.map(e=>e<=0?-w:e>t?t+y:e)}if(s.centerInsufficientSlides){let e=0;v.forEach(t=>{e+=t+(E||0)}),e-=E;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t<r){const s=(r-e-t)/2;h.forEach((e,t)=>{h[t]=e-s}),f.forEach((e,t)=>{f[t]=e+s})}}if(Object.assign(e,{slides:c,snapGrid:h,slidesGrid:f,slidesSizesGrid:v}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){p(i,"--swiper-centered-offset-before",-h[0]+"px"),p(i,"--swiper-centered-offset-after",e.size/2-v[v.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map(e=>e+t),e.slidesGrid=e.slidesGrid.map(e=>e+s)}if(u!==d&&e.emit("slidesLengthChange"),h.length!==S&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),f.length!==T&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,i=e.el.classList.contains(t);u<=s.maxBackfaceHiddenSlides?i||e.el.classList.add(t):i&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],i=t.virtual&&t.params.virtual.enabled;let a,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>i?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach(e=>{s.push(e)});else for(a=0;a<Math.ceil(t.params.slidesPerView);a+=1){const e=t.activeIndex+a;if(e>t.slides.length&&!i)break;s.push(n(e))}else s.push(n(t.activeIndex));for(a=0;a<s.length;a+=1)if(void 0!==s[a]){const e=s[a].offsetHeight;r=e>r?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let i=0;i<t.length;i+=1)t[i].swiperSlideOffset=(e.isHorizontal()?t[i].offsetLeft:t[i].offsetTop)-s-e.cssOverflowAdjustment()},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:i,rtlTranslate:a,snapGrid:r}=t;if(0===i.length)return;void 0===i[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;a&&(n=e),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e<i.length;e+=1){const o=i[e];let d=o.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(d-=i[0].swiperSlideOffset);const c=(n+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),p=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),u=-(n-d),m=u+t.slidesSizesGrid[e],h=u>=0&&u<=t.size-t.slidesSizesGrid[e],f=u>=0&&u<t.size-1||m>1&&m<=t.size||u<=0&&m>=t.size;f&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),k(o,f,s.slideVisibleClass),k(o,h,s.slideFullyVisibleClass),o.progress=a?-c:c,o.originalProgress=a?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:a,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===i)a=0,r=!0,n=!0;else{a=(e-t.minTranslate())/i;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||a<=0,n=l||a>=1,s&&(a=0),l&&(a=1)}if(s.loop){const s=t.getSlideIndexByData(0),i=t.getSlideIndexByData(t.slides.length-1),a=t.slidesGrid[s],r=t.slidesGrid[i],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=a?(o-a)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:a,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",a)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:i,activeIndex:a}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>m(i,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=a-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${a}"]`);else n?(o=t.find(e=>e.column===a),c=t.find(e=>e.column===a+1),d=t.find(e=>e.column===a-1)):o=t[a];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const i=e.nextElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const i=e.previousElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach(e=>{I(e,e===o,s.slideActiveClass),I(e,e===c,s.slideNextClass),I(e,e===d,s.slidePrevClass)}),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:i,params:a,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,i=e.rtlTranslate?e.translate:-e.translate;let a;for(let e=0;e<t.length;e+=1)void 0!==t[e+1]?i>=t[e]&&i<t[e+1]-(t[e+1]-t[e])/2?a=e:i>=t[e]&&i<t[e+1]&&(a=e+1):i>=t[e]&&(a=e);return s.normalizeSlideIndex&&(a<0||void 0===a)&&(a=0),a}(t)),i.indexOf(s)>=0)o=i.indexOf(s);else{const e=Math.min(a.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/a.slidesPerGroup)}if(o>=i.length&&(o=i.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&a.grid&&a.grid.rows>1;let u;if(t.virtual&&a.virtual.enabled&&a.loop)u=c(d);else if(p){const e=t.slides.find(e=>e.column===d);let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/a.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&z(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,i=s.params;let a=e.closest(`.${i.slideClass}, swiper-slide`);!a&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach(e=>{!a&&e.matches&&e.matches(`.${i.slideClass}, swiper-slide`)&&(a=e)});let r,n=!1;if(a)for(let e=0;e<s.slides.length;e+=1)if(s.slides[e]===a){n=!0,r=e;break}if(!a||!n)return s.clickedSlide=void 0,void(s.clickedIndex=void 0);s.clickedSlide=a,s.virtual&&s.params.virtual.enabled?s.clickedIndex=parseInt(a.getAttribute("data-swiper-slide-index"),10):s.clickedIndex=r,i.slideToClickedSlide&&void 0!==s.clickedIndex&&s.clickedIndex!==s.activeIndex&&s.slideToClickedSlide()}};function D(e){let{swiper:t,runCallbacks:s,direction:i,step:a}=e;const{activeIndex:r,previousIndex:n}=t;let l=i;l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${a}`),s&&"reset"===l?t.emit(`slideResetTransition${a}`):s&&r!==n&&(t.emit(`slideChangeTransition${a}`),"next"===l?t.emit(`slideNextTransition${a}`):t.emit(`slidePrevTransition${a}`))}var _={slideTo:function(e,t,s,i,a){void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e&&(e=parseInt(e,10));const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:c,activeIndex:p,rtlTranslate:m,wrapperEl:h,enabled:f}=r;if(!f&&!i&&!a||r.destroyed||r.animating&&l.preventInteractionOnTransition)return!1;void 0===t&&(t=r.params.speed);const g=Math.min(r.params.slidesPerGroupSkip,n);let v=g+Math.floor((n-g)/r.params.slidesPerGroup);v>=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*w),s=Math.floor(100*d[e]),i=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<i-(i-s)/2?n=e:t>=s&&t<i&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(m?w>r.translate&&w>r.minTranslate():w<r.translate&&w<r.minTranslate()))return!1;if(!r.allowSlidePrev&&w>r.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n<p?"prev":"reset";const y=r.virtual&&r.params.virtual.enabled;if((!y||!a)&&(m&&-w===r.translate||!m&&w===r.translate))return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(w),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;if(l.cssMode){const e=r.isHorizontal(),s=m?w:-w;if(0===t)y&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),y&&!r._cssModeVirtualInitialSet&&r.params.initialSlide>0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{h[e?"scrollLeft":"scrollTop"]=s})):h[e?"scrollLeft":"scrollTop"]=s,y&&requestAnimationFrame(()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1});else{if(!r.support.smoothScroll)return u({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}const S=P().isSafari;return y&&!a&&S&&r.isElement&&r.virtual.update(!1,!1,n),r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,i),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,i){void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e&&(e=parseInt(e,10));const a=this;if(a.destroyed)return;void 0===t&&(t=a.params.speed);const r=a.grid&&a.params.grid&&a.params.grid.rows>1;let n=e;if(a.params.loop)if(a.virtual&&a.params.virtual.enabled)n+=a.virtual.slidesBefore;else{let e;if(r){const t=n*a.params.grid.rows;e=a.slides.find(e=>1*e.getAttribute("data-swiper-slide-index")===t).column}else e=a.getSlideIndexByData(n);const t=r?Math.ceil(a.slides.length/a.params.grid.rows):a.slides.length,{centeredSlides:s}=a.params;let l=a.params.slidesPerView;"auto"===l?l=a.slidesPerViewDynamic():(l=Math.ceil(parseFloat(a.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e<l;if(s&&(o=o||e<Math.ceil(l/2)),i&&s&&"auto"!==a.params.slidesPerView&&!r&&(o=!1),o){const i=s?e<a.activeIndex?"prev":"next":e-a.activeIndex-1<a.params.slidesPerView?"next":"prev";a.loopFix({direction:i,slideTo:!0,activeSlideIndex:"next"===i?e+1:e-t+1,slideRealIndex:"next"===i?a.realIndex:void 0})}if(r){const e=n*a.params.grid.rows;n=a.slides.find(t=>1*t.getAttribute("data-swiper-slide-index")===e).column}else n=a.getSlideIndexByData(n)}return requestAnimationFrame(()=>{a.slideTo(n,t,s,i)}),a},slideNext:function(e,t,s){void 0===t&&(t=!0);const i=this,{enabled:a,params:r,animating:n}=i;if(!a||i.destroyed)return i;void 0===e&&(e=i.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(i.slidesPerViewDynamic("current",!0),1));const o=i.activeIndex<r.slidesPerGroupSkip?1:l,d=i.virtual&&r.virtual.enabled;if(r.loop){if(n&&!d&&r.loopPreventsSliding)return!1;if(i.loopFix({direction:"next"}),i._clientLeft=i.wrapperEl.clientLeft,i.activeIndex===i.slides.length-1&&r.cssMode)return requestAnimationFrame(()=>{i.slideTo(i.activeIndex+o,e,t,s)}),!0}return r.rewind&&i.isEnd?i.slideTo(0,e,t,s):i.slideTo(i.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const i=this,{params:a,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=i;if(!o||i.destroyed)return i;void 0===e&&(e=i.params.speed);const c=i.virtual&&a.virtual.enabled;if(a.loop){if(d&&!c&&a.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?i.translate:-i.translate),m=r.map(e=>p(e)),h=a.freeMode&&a.freeMode.enabled;let f=r[m.indexOf(u)-1];if(void 0===f&&(a.cssMode||h)){let e;r.forEach((t,s)=>{u>=t&&(e=s)}),void 0!==e&&(f=h?r[e]:r[e>0?e-1:e])}let g=0;if(void 0!==f&&(g=n.indexOf(f),g<0&&(g=i.activeIndex-1),"auto"===a.slidesPerView&&1===a.slidesPerGroup&&a.slidesPerGroupAuto&&(g=g-i.slidesPerViewDynamic("previous",!0)+1,g=Math.max(g,0))),a.rewind&&i.isBeginning){const a=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(a,e,t,s)}return a.loop&&0===i.activeIndex&&a.cssMode?(requestAnimationFrame(()=>{i.slideTo(g,e,t,s)}),!0):i.slideTo(g,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const i=this;if(!i.destroyed)return void 0===e&&(e=i.params.speed),i.slideTo(i.activeIndex,e,t,s)},slideToClosest:function(e,t,s,i){void 0===t&&(t=!0),void 0===i&&(i=.5);const a=this;if(a.destroyed)return;void 0===e&&(e=a.params.speed);let r=a.activeIndex;const n=Math.min(a.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/a.params.slidesPerGroup),o=a.rtlTranslate?a.translate:-a.translate;if(o>=a.snapGrid[l]){const e=a.snapGrid[l];o-e>(a.snapGrid[l+1]-e)*i&&(r+=a.params.slidesPerGroup)}else{const e=a.snapGrid[l-1];o-e<=(a.snapGrid[l]-e)*i&&(r-=a.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,a.slidesGrid.length-1),a.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,i="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let a,r=e.getSlideIndexWhenGrid(e.clickedIndex);const l=e.isElement?"swiper-slide":`.${t.slideClass}`,o=e.grid&&e.params.grid&&e.params.grid.rows>1;if(t.loop){if(e.animating)return;a=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?e.slideToLoop(a):r>(o?(e.slides.length-i)/2-(e.params.grid.rows-1):e.slides.length-i)?(e.loopFix(),r=e.getSlideIndex(m(s,`${l}[data-swiper-slide-index="${a}"]`)[0]),n(()=>{e.slideTo(r)})):e.slideTo(r)}else e.slideTo(r)}},B={loopCreate:function(e,t){const s=this,{params:i,slidesEl:a}=s;if(!i.loop||s.virtual&&s.params.virtual.enabled)return;const r=()=>{m(a,`.${i.slideClass}, swiper-slide`).forEach((e,t)=>{e.setAttribute("data-swiper-slide-index",t)})},n=s.grid&&i.grid&&i.grid.rows>1;i.loopAddBlankSlides&&(i.slidesPerGroup>1||n)&&(()=>{const e=m(a,`.${i.slideBlankClass}`);e.forEach(e=>{e.remove()}),e.length>0&&(s.recalcSlides(),s.updateSlides())})();const l=i.slidesPerGroup*(n?i.grid.rows:1),o=s.slides.length%l!==0,d=n&&s.slides.length%i.grid.rows!==0,c=e=>{for(let t=0;t<e;t+=1){const e=s.isElement?f("swiper-slide",[i.slideBlankClass]):f("div",[i.slideClass,i.slideBlankClass]);s.slidesEl.append(e)}};o?(i.loopAddBlankSlides?(c(l-s.slides.length%l),s.recalcSlides(),s.updateSlides()):h("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)"),r()):d?(i.loopAddBlankSlides?(c(i.grid.rows-s.slides.length%i.grid.rows),s.recalcSlides(),s.updateSlides()):h("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)"),r()):r(),s.loopFix({slideRealIndex:e,direction:i.centeredSlides?void 0:"next",initial:t})},loopFix:function(e){let{slideRealIndex:t,slideTo:s=!0,direction:i,setTranslate:a,activeSlideIndex:r,initial:n,byController:l,byMousewheel:o}=void 0===e?{}:e;const d=this;if(!d.params.loop)return;d.emit("beforeLoopFix");const{slides:c,allowSlidePrev:p,allowSlideNext:u,slidesEl:m,params:f}=d,{centeredSlides:g,initialSlide:v}=f;if(d.allowSlidePrev=!0,d.allowSlideNext=!0,d.virtual&&f.virtual.enabled)return s&&(f.centeredSlides||0!==d.snapIndex?f.centeredSlides&&d.snapIndex<f.slidesPerView?d.slideTo(d.virtual.slides.length+d.snapIndex,0,!1,!0):d.snapIndex===d.snapGrid.length-1&&d.slideTo(d.virtual.slidesBefore,0,!1,!0):d.slideTo(d.virtual.slides.length,0,!1,!0)),d.allowSlidePrev=p,d.allowSlideNext=u,void d.emit("loopFix");let w=f.slidesPerView;"auto"===w?w=d.slidesPerViewDynamic():(w=Math.ceil(parseFloat(f.slidesPerView,10)),g&&w%2==0&&(w+=1));const b=f.slidesPerGroupAuto?w:f.slidesPerGroup;let y=g?Math.max(b,Math.ceil(w/2)):b;y%b!==0&&(y+=b-y%b),y+=f.loopAdditionalSlides,d.loopedSlides=y;const S=d.grid&&f.grid&&f.grid.rows>1;c.length<w+y||"cards"===d.params.effect&&c.length<w+2*y?h("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):S&&"row"===f.grid.fill&&h("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const T=[],E=[],x=S?Math.ceil(c.length/f.grid.rows):c.length,C=n&&x-v<w&&!g;let M=C?v:d.activeIndex;void 0===r?r=d.getSlideIndex(c.find(e=>e.classList.contains(f.slideActiveClass))):M=r;const P="next"===i||!i,L="prev"===i||!i;let k=0,I=0;const O=(S?c[r].column:r)+(g&&void 0===a?-w/2+.5:0);if(O<y){k=Math.max(y-O,b);for(let e=0;e<y-O;e+=1){const t=e-Math.floor(e/x)*x;if(S){const e=x-t-1;for(let t=c.length-1;t>=0;t-=1)c[t].column===e&&T.push(t)}else T.push(x-t-1)}}else if(O+w>x-y){I=Math.max(O-(x-2*y),b),C&&(I=Math.max(I,w-x+v+1));for(let e=0;e<I;e+=1){const t=e-Math.floor(e/x)*x;S?c.forEach((e,s)=>{e.column===t&&E.push(s)}):E.push(t)}}if(d.__preventObserver__=!0,requestAnimationFrame(()=>{d.__preventObserver__=!1}),"cards"===d.params.effect&&c.length<w+2*y&&(E.includes(r)&&E.splice(E.indexOf(r),1),T.includes(r)&&T.splice(T.indexOf(r),1)),L&&T.forEach(e=>{c[e].swiperLoopMoveDOM=!0,m.prepend(c[e]),c[e].swiperLoopMoveDOM=!1}),P&&E.forEach(e=>{c[e].swiperLoopMoveDOM=!0,m.append(c[e]),c[e].swiperLoopMoveDOM=!1}),d.recalcSlides(),"auto"===f.slidesPerView?d.updateSlides():S&&(T.length>0&&L||E.length>0&&P)&&d.slides.forEach((e,t)=>{d.grid.updateSlide(t,e,d.slides)}),f.watchSlidesProgress&&d.updateSlidesOffset(),s)if(T.length>0&&L){if(void 0===t){const e=d.slidesGrid[M],t=d.slidesGrid[M+k]-e;o?d.setTranslate(d.translate-t):(d.slideTo(M+Math.ceil(k),0,!1,!0),a&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else if(a){const e=S?T.length/f.grid.rows:T.length;d.slideTo(d.activeIndex+e,0,!1,!0),d.touchEventsData.currentTranslate=d.translate}}else if(E.length>0&&P)if(void 0===t){const e=d.slidesGrid[M],t=d.slidesGrid[M-I]-e;o?d.setTranslate(d.translate-t):(d.slideTo(M-I,0,!1,!0),a&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else{const e=S?E.length/f.grid.rows:E.length;d.slideTo(d.activeIndex-e,0,!1,!0)}if(d.allowSlidePrev=p,d.allowSlideNext=u,d.controller&&d.controller.control&&!l){const e={slideRealIndex:t,direction:i,setTranslate:a,activeSlideIndex:r,byController:!0};Array.isArray(d.controller.control)?d.controller.control.forEach(t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===f.slidesPerView&&s})}):d.controller.control instanceof d.constructor&&d.controller.control.params.loop&&d.controller.control.loopFix({...e,slideTo:d.controller.control.params.slidesPerView===f.slidesPerView&&s})}d.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||!s||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const i=[];e.slides.forEach(e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;i[t]=e}),e.slides.forEach(e=>{e.removeAttribute("data-swiper-slide-index")}),i.forEach(e=>{s.append(e)}),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function $(e,t,s){const i=r(),{params:a}=e,n=a.edgeSwipeDetection,l=a.edgeSwipeThreshold;return!n||!(s<=l||s>=i.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function F(e){const t=this,s=i();let a=e;a.originalEvent&&(a=a.originalEvent);const n=t.touchEventsData;if("pointerdown"===a.type){if(null!==n.pointerId&&n.pointerId!==a.pointerId)return;n.pointerId=a.pointerId}else"touchstart"===a.type&&1===a.targetTouches.length&&(n.touchId=a.targetTouches[0].identifier);if("touchstart"===a.type)return void $(t,a,a.targetTouches[0].pageX);const{params:o,touches:d,enabled:c}=t;if(!c)return;if(!o.simulateTouch&&"mouse"===a.pointerType)return;if(t.animating&&o.preventInteractionOnTransition)return;!t.animating&&o.cssMode&&o.loop&&t.loopFix();let p=a.target;if("wrapper"===o.touchEventsTarget&&!function(e,t){const s=r();let i=t.contains(e);return!i&&s.HTMLSlotElement&&t instanceof HTMLSlotElement&&(i=[...t.assignedElements()].includes(e),i||(i=function(e,t){const s=[t];for(;s.length>0;){const t=s.shift();if(e===t)return!0;s.push(...t.children,...t.shadowRoot?t.shadowRoot.children:[],...t.assignedElements?t.assignedElements():[])}}(e,t))),i}(p,t.wrapperEl))return;if("which"in a&&3===a.which)return;if("button"in a&&a.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!o.noSwipingClass&&""!==o.noSwipingClass,m=a.composedPath?a.composedPath():a.path;u&&a.target&&a.target.shadowRoot&&m&&(p=m[0]);const h=o.noSwipingSelector?o.noSwipingSelector:`.${o.noSwipingClass}`,f=!(!a.target||!a.target.shadowRoot);if(o.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===i()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const a=s.closest(e);return a||s.getRootNode?a||t(s.getRootNode().host):null}(t)}(h,p):p.closest(h)))return void(t.allowClick=!0);if(o.swipeHandler&&!p.closest(o.swipeHandler))return;d.currentX=a.pageX,d.currentY=a.pageY;const g=d.currentX,v=d.currentY;if(!$(t,a,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=l(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&("mouse"===a.pointerType||"mouse"!==a.pointerType&&!p.matches(n.focusableElements))&&s.activeElement.blur();const b=w&&t.allowTouchMove&&o.touchStartPreventDefault;!o.touchStartForcePreventDefault&&!b||p.isContentEditable||a.preventDefault(),o.freeMode&&o.freeMode.enabled&&t.freeMode&&t.animating&&!o.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",a)}function N(e){const t=i(),s=this,a=s.touchEventsData,{params:r,touches:n,rtlTranslate:o,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==a.touchId)return;if(p.pointerId!==a.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].find(e=>e.identifier===a.touchId),!c||c.identifier!==a.touchId)return}else c=p;if(!a.isTouched)return void(a.startMoving&&a.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(a.focusableElements)||(s.allowClick=!1),void(a.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),a.touchStartTime=l()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return a.isTouched=!1,void(a.isMoved=!1)}else{if(o&&(u>n.startX&&-s.translate<=s.maxTranslate()||u<n.startX&&-s.translate>=s.minTranslate()))return;if(!o&&(u<n.startX&&s.translate<=s.maxTranslate()||u>n.startX&&s.translate>=s.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(a.focusableElements)&&t.activeElement!==p.target&&"mouse"!==p.pointerType&&t.activeElement.blur(),t.activeElement&&p.target===t.activeElement&&p.target.matches(a.focusableElements))return a.isMoved=!0,void(s.allowClick=!1);a.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)<s.params.threshold)return;if(void 0===a.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?a.isScrolling=!1:h*h+f*f>=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,a.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(a.isScrolling&&s.emit("touchMoveOpposite",p),void 0===a.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(a.startMoving=!0)),a.isScrolling||"touchmove"===p.type&&a.preventTouchMoveFromPointerMove)return void(a.isTouched=!1);if(!a.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?h:f,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(o?1:-1),v=Math.abs(v)*(o?1:-1)),n.diff=g,g*=r.touchRatio,o&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!a.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),a.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}a.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),!1!==r._loopSwapReset&&a.isMoved&&a.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:a.currentTranslate}),a.loopSwapReset=!0,void(a.startTranslate=a.currentTranslate);s.emit("sliderMove",p),a.isMoved=!0,a.currentTranslate=g+a.startTranslate;let S=!0,T=r.resistanceRatio;if(r.touchReleaseOnEdges&&(T=0),g>0?(b&&y&&a.allowThresholdMove&&a.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]-("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.activeIndex+1]+s.params.spaceBetween:0)-s.params.spaceBetween:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),a.currentTranslate>s.minTranslate()&&(S=!1,r.resistance&&(a.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+a.startTranslate+g)**T))):g<0&&(b&&y&&a.allowThresholdMove&&a.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween+("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween:0):s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),a.currentTranslate<s.maxTranslate()&&(S=!1,r.resistance&&(a.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-a.startTranslate-g)**T))),S&&(p.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&a.currentTranslate<a.startTranslate&&(a.currentTranslate=a.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&a.currentTranslate>a.startTranslate&&(a.currentTranslate=a.startTranslate),s.allowSlidePrev||s.allowSlideNext||(a.currentTranslate=a.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||a.allowThresholdMove))return void(a.currentTranslate=a.startTranslate);if(!a.allowThresholdMove)return a.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,a.currentTranslate=a.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(a.currentTranslate),s.setTranslate(a.currentTranslate))}function V(e){const t=this,s=t.touchEventsData;let i,a=e;if(a.originalEvent&&(a=a.originalEvent),"touchend"===a.type||"touchcancel"===a.type){if(i=[...a.changedTouches].find(e=>e.identifier===s.touchId),!i||i.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(a.pointerId!==s.pointerId)return;i=a}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(a.type)&&(!["pointercancel","contextmenu"].includes(a.type)||!t.browser.isSafari&&!t.browser.isWebView))return;s.pointerId=null,s.touchId=null;const{params:r,touches:o,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===a.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",a),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=l(),m=u-s.touchStartTime;if(t.allowClick){const e=a.path||a.composedPath&&a.composedPath();t.updateClickedSlide(e&&e[0]||a.target,e),t.emit("tap click",a),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",a)}if(s.lastClickTime=l(),n(()=>{t.destroyed||(t.allowClick=!0)}),!s.isTouched||!s.isMoved||!t.swipeDirection||0===o.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e<c.length;e+=e<r.slidesPerGroupSkip?1:r.slidesPerGroup){const t=e<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;void 0!==c[e+t]?(f||h>=c[e]&&h<c[e+t])&&(g=e,v=c[e+t]-c[e]):(f||h>=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-c[g])/v,S=g<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(m>r.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+S):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+S):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||a.target!==t.navigation.nextEl&&a.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+S),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g)):a.target===t.navigation.nextEl?t.slideTo(g+S):t.slideTo(g)}}function H(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:a,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout(()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()},500)),e.allowSlidePrev=a,e.allowSlideNext=i,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function R(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function q(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:i}=e;if(!i)return;let a;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();a=0===r?0:(e.translate-e.minTranslate())/r,a!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function j(e){const t=this;O(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function W(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const X=(e,t)=>{const s=i(),{params:a,el:r,wrapperEl:n,device:l}=e,o=!!a.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r&&"string"!=typeof r&&(s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(a.preventClicks||a.preventClicksPropagation)&&r[d]("click",e.onClick,!0),a.cssMode&&n[d]("scroll",e.onScroll),a.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",H,!0):e[c]("observerUpdate",H,!0),r[d]("load",e.onLoad,{capture:!0}))},Y=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var U={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function K(e,t){return function(s){void 0===s&&(s={});const i=Object.keys(s)[0],a=s[i];"object"==typeof a&&null!==a?(!0===e[i]&&(e[i]={enabled:!0}),"navigation"===i&&e[i]&&e[i].enabled&&!e[i].prevEl&&!e[i].nextEl&&(e[i].auto=!0),["pagination","scrollbar"].indexOf(i)>=0&&e[i]&&e[i].enabled&&!e[i].el&&(e[i].auto=!0),i in e&&"enabled"in a?("object"!=typeof e[i]||"enabled"in e[i]||(e[i].enabled=!0),e[i]||(e[i]={enabled:!1}),c(t,s)):c(t,s)):c(t,s)}}const J={eventsEmitter:L,update:G,translate:{getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:i,wrapperEl:a}=this;if(t.virtualTranslate)return s?-i:i;if(t.cssMode)return i;let n=function(e,t){void 0===t&&(t="x");const s=r();let i,a,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(a=l.transform||l.webkitTransform,a.split(",").length>6&&(a=a.split(", ").map(e=>e.replace(",",".")).join(", ")),n=new s.WebKitCSSMatrix("none"===a?"":a)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=n.toString().split(",")),"x"===t&&(a=s.WebKitCSSMatrix?n.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(a=s.WebKitCSSMatrix?n.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),a||0}(a,e);return n+=this.cssOverflowAdjustment(),s&&(n=-n),n||0},setTranslate:function(e,t){const s=this,{rtlTranslate:i,params:a,wrapperEl:r,progress:n}=s;let l,o=0,d=0;s.isHorizontal()?o=i?-e:e:d=e,a.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:d,a.cssMode?r[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-d:a.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():d-=s.cssOverflowAdjustment(),r.style.transform=`translate3d(${o}px, ${d}px, 0px)`);const c=s.maxTranslate()-s.minTranslate();l=0===c?0:(e-s.minTranslate())/c,l!==n&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,i,a){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===i&&(i=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=i&&e>o?o:i&&e<d?d:e,r.updateProgress(c),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-c;else{if(!r.support.smoothScroll)return u({swiper:r,targetPosition:-c,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-c,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,a),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,a),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,r.animating=!1,s&&r.emit("transitionEnd"))}),r.wrapperEl.addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd))),!0}},transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;i.cssMode||(i.autoHeight&&s.updateAutoHeight(),D({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;s.animating=!1,i.cssMode||(s.setTransition(0),D({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:_,loop:B,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame(()=>{t.__preventObserver__=!1})},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame(()=>{e.__preventObserver__=!1}))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=F.bind(e),e.onTouchMove=N.bind(e),e.onTouchEnd=V.bind(e),e.onDocumentTouchStart=W.bind(e),t.cssMode&&(e.onScroll=q.bind(e)),e.onClick=R.bind(e),e.onLoad=j.bind(e),X(e,"on")},detachEvents:function(){X(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:a,el:r}=e,n=a.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=i(),o="window"!==a.breakpointsBase&&a.breakpointsBase?"container":a.breakpointsBase,d=["window","container"].includes(a.breakpointsBase)||!a.breakpointsBase?e.el:l.querySelector(a.breakpointsBase),p=e.getBreakpoint(n,o,d);if(!p||e.currentBreakpoint===p)return;const u=(p in n?n[p]:void 0)||e.originalParams,m=Y(e,a),h=Y(e,u),f=e.params.grabCursor,g=u.grabCursor,v=a.enabled;m&&!h?(r.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!m&&h&&(r.classList.add(`${a.containerModifierClass}grid`),(u.grid.fill&&"column"===u.grid.fill||!u.grid.fill&&"column"===a.grid.fill)&&r.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),f&&!g?e.unsetGrabCursor():!f&&g&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach(t=>{if(void 0===u[t])return;const s=a[t]&&a[t].enabled,i=u[t]&&u[t].enabled;s&&!i&&e[t].disable(),!s&&i&&e[t].enable()});const w=u.direction&&u.direction!==a.direction,b=a.loop&&(u.slidesPerView!==a.slidesPerView||w),y=a.loop;w&&s&&e.changeDirection(),c(e.params,u);const S=e.params.enabled,T=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),v&&!S?e.disable():!v&&S&&e.enable(),e.currentBreakpoint=p,e.emit("_beforeBreakpoint",u),s&&(b?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!y&&T?(e.loopCreate(t),e.updateSlides()):y&&!T&&e.loopDestroy()),e.emit("breakpoint",u)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let i=!1;const a=r(),n="window"===t?a.innerHeight:s.clientHeight,l=Object.keys(e).map(e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}});l.sort((e,t)=>parseInt(e.value,10)-parseInt(t.value,10));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?a.matchMedia(`(min-width: ${n}px)`).matches&&(i=r):n<=s.clientWidth&&(i=r)}return i||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:i}=s;if(i){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*i;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:i,el:a,device:r}=e,n=function(e,t){const s=[];return e.forEach(e=>{"object"==typeof e?Object.keys(e).forEach(i=>{e[i]&&s.push(t+i)}):"string"==typeof e&&s.push(t+e)}),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:i},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),a.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e&&"string"!=typeof e&&(e.classList.remove(...t),this.emitContainerClasses())}}},Q={};class Z{constructor(){let e,t;for(var s=arguments.length,a=new Array(s),r=0;r<s;r++)a[r]=arguments[r];1===a.length&&a[0].constructor&&"Object"===Object.prototype.toString.call(a[0]).slice(8,-1)?t=a[0]:[e,t]=a,t||(t={}),t=c({},t),e&&!t.el&&(t.el=e);const n=i();if(t.el&&"string"==typeof t.el&&n.querySelectorAll(t.el).length>1){const e=[];return n.querySelectorAll(t.el).forEach(s=>{const i=c({},t,{el:s});e.push(new Z(i))}),e}const l=this;l.__swiper__=!0,l.support=C(),l.device=M({userAgent:t.userAgent}),l.browser=P(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach(e=>{e({params:t,swiper:l,extendParams:K(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})});const d=c({},U,o);return l.params=c({},d,Q,t),l.originalParams=c({},l.params),l.passedParams=c({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach(e=>{l.on(e,l.params.on[e])}),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,i=v(m(t,`.${s.slideClass}, swiper-slide`)[0]);return v(e)-i}getSlideIndexByData(e){return this.getSlideIndex(this.slides.find(t=>1*t.getAttribute("data-swiper-slide-index")===e))}getSlideIndexWhenGrid(e){return this.grid&&this.params.grid&&this.params.grid.rows>1&&("column"===this.params.grid.fill?e=Math.floor(e/this.params.grid.rows):"row"===this.params.grid.fill&&(e%=Math.ceil(this.slides.length/this.params.grid.rows))),e}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=m(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const i=s.minTranslate(),a=(s.maxTranslate()-i)*e+i;s.translateTo(a,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter(t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter(e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach(s=>{const i=e.getSlideClasses(s);t.push({slideEl:s,classNames:i}),e.emit("_slideClass",s,i)}),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:i,slidesGrid:a,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=i[l]?Math.ceil(i[l].swiperSlideSize):0;for(let s=l+1;s<i.length;s+=1)i[s]&&!e&&(t+=Math.ceil(i[s].swiperSlideSize),o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)i[s]&&!e&&(t+=i[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<i.length;e+=1)(t?a[e]+r[e]-a[l]<n:a[e]-a[l]<n)&&(o+=1);else for(let e=l-1;e>=0;e-=1)a[l]-a[e]<n&&(o+=1);return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function i(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let a;if(s.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach(t=>{t.complete&&O(e,t)}),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)i(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;a=e.slideTo(t.length-1,0,!1,!0)}else a=e.slideTo(e.activeIndex,0,!1,!0);a||i()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,i=s.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${i}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach(t=>{"vertical"===e?t.style.width="":t.style.height=""}),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let a=s&&s.shadowRoot&&s.shadowRoot.querySelector?s.shadowRoot.querySelector(i()):m(s,i())[0];return!a&&t.params.createElements&&(a=f("div",t.params.wrapperClass),s.append(a),m(s,`.${t.params.slideClass}`).forEach(e=>{a.append(e)})),Object.assign(t,{el:s,wrapperEl:a,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:a,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===g(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===g(s,"direction")),wrongRTL:"-webkit-box"===g(a,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(void 0,!0),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach(e=>{e.complete?O(t,e):e.addEventListener("load",e=>{O(t,e.target)})}),z(t),t.initialized=!0,z(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:i,el:a,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),i.loop&&s.loopDestroy(),t&&(s.removeClasses(),a&&"string"!=typeof a&&a.removeAttribute("style"),r&&r.removeAttribute("style"),n&&n.length&&n.forEach(e=>{e.classList.remove(i.slideVisibleClass,i.slideFullyVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")})),s.emit("destroy"),Object.keys(s.eventsListeners).forEach(e=>{s.off(e)}),!1!==e&&(s.el&&"string"!=typeof s.el&&(s.el.swiper=null),function(e){const t=e;Object.keys(t).forEach(e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}})}(s)),s.destroyed=!0),null}static extendDefaults(e){c(Q,e)}static get extendedDefaults(){return Q}static get defaults(){return U}static installModule(e){Z.prototype.__modules__||(Z.prototype.__modules__=[]);const t=Z.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach(e=>Z.installModule(e)),Z):(Z.installModule(e),Z)}}function ee(e,t,s,i){return e.params.createElements&&Object.keys(i).forEach(a=>{if(!s[a]&&!0===s.auto){let r=m(e.el,`.${i[a]}`)[0];r||(r=f("div",i[a]),r.className=i[a],e.el.append(r)),s[a]=r,t[a]=r}}),s}function te(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e)||t.hostEl.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const i=t.params.navigation;(e=y(e)).forEach(e=>{e&&(e.classList[s?"add":"remove"](...i.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](i.lockClass))})}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),a("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),a("navigationNext"))}function c(){const e=t.params.navigation;if(t.params.navigation=ee(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),i=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:i}),s=y(s),i=y(i);const a=(s,i)=>{s&&s.addEventListener("click","next"===i?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach(e=>a(e,"next")),i.forEach(e=>a(e,"prev"))}function p(){let{nextEl:e,prevEl:s}=t.navigation;e=y(e),s=y(s);const i=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach(e=>i(e,"next")),s.forEach(e=>i(e,"prev"))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},i("init",()=>{!1===t.params.navigation.enabled?u():(c(),l())}),i("toEdge fromEdge lock unlock",()=>{l()}),i("destroy",()=>{p()}),i("enable disable",()=>{let{nextEl:e,prevEl:s}=t.navigation;e=y(e),s=y(s),t.enabled?l():[...e,...s].filter(e=>!!e).forEach(e=>e.classList.add(t.params.navigation.lockClass))}),i("click",(e,s)=>{let{nextEl:i,prevEl:r}=t.navigation;i=y(i),r=y(r);const n=s.target;let l=r.includes(n)||i.includes(n);if(t.isElement&&!l){const e=s.path||s.composedPath&&s.composedPath();e&&(l=e.find(e=>i.includes(e)||r.includes(e)))}if(t.params.navigation.hideOnClick&&!l){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;i.length?e=i[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),a(!0===e?"navigationShow":"navigationHide"),[...i,...r].filter(e=>!!e).forEach(e=>e.classList.toggle(t.params.navigation.hiddenClass))}});const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),p()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),c(),l()},disable:u,update:l,init:c,destroy:p})}function se(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/()[\]])/g,"\\$1").replace(/ /g,".")}`}function ie(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:i}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${i}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${i}-${s}-${s}`))}function c(e){const s=e.target.closest(se(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const i=v(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===i)return;const e=(a=t.realIndex,r=i,(r%=n=t.slides.length)===1+(a%=n)?"next":r===a-1?"previous":void 0);"next"===e?t.slideNext():"previous"===e?t.slidePrev():t.slideToLoop(i)}else t.slideTo(i);var a,r,n}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;let i,r,c=t.pagination.el;c=y(c);const p=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(p/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,i=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(i=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,i=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let o,p,u;if(s.dynamicBullets&&(n=b(a[0],t.isHorizontal()?"width":"height",!0),c.forEach(e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"}),s.dynamicMainBullets>1&&void 0!==r&&(l+=i-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(i-l,0),p=o+(Math.min(a.length,s.dynamicMainBullets)-1),u=(p+o)/2),a.forEach(e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(e=>`${s.bulletActiveClass}${e}`)].map(e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e).flat();e.classList.remove(...t)}),c.length>1)a.forEach(e=>{const a=v(e);a===i?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(a>=o&&a<=p&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),a===o&&d(e,"prev"),a===p&&d(e,"next"))});else{const e=a[i];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&a.forEach((e,t)=>{e.setAttribute("part",t===i?"bullet-active":"bullet")}),s.dynamicBullets){const e=a[o],t=a[p];for(let e=o;e<=p;e+=1)a[e]&&a[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.forEach(e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`})}}c.forEach((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(se(s.currentClass)).forEach(e=>{e.textContent=s.formatFractionCurrent(i+1)}),e.querySelectorAll(se(s.totalClass)).forEach(e=>{e.textContent=s.formatFractionTotal(u)})),"progressbar"===s.type){let a;a=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(i+1)/u;let n=1,l=1;"horizontal"===a?n=r:l=r,e.querySelectorAll(se(s.progressbarFillClass)).forEach(e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`})}"custom"===s.type&&s.renderCustom?(S(e,s.renderCustom(t,i+1,u)),0===r&&a("paginationRender",e)):(0===r&&a("paginationRender",e),a("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)})}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let i=t.pagination.el;i=y(i);let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&i>s&&(i=s);for(let s=0;s<i;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} ${t.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`),t.pagination.bullets=[],i.forEach(s=>{"custom"!==e.type&&S(s,r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(se(e.bulletClass)))}),"custom"!==e.type&&a("paginationRender",i[0])}function m(){t.params.pagination=ee(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.find(e=>w(e,".swiper")[0]===t.el))),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=y(s),s.forEach(s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",c),t.enabled||s.classList.add(e.lockClass)}))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=y(s),s.forEach(s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",c))})),t.pagination.bullets&&t.pagination.bullets.forEach(t=>t.classList.remove(...e.bulletActiveClass.split(" ")))}i("changeDirection",()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=y(s),s.forEach(s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)})}),i("init",()=>{!1===t.params.pagination.enabled?f():(m(),u(),p())}),i("activeIndexChange",()=>{void 0===t.snapIndex&&p()}),i("snapIndexChange",()=>{p()}),i("snapGridLengthChange",()=>{u(),p()}),i("destroy",()=>{h()}),i("enable disable",()=>{let{el:e}=t.pagination;e&&(e=y(e),e.forEach(e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass)))}),i("lock unlock",()=>{p()}),i("click",(e,s)=>{const i=s.target,r=y(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!i.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&i===t.navigation.nextEl||t.navigation.prevEl&&i===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);a(!0===e?"paginationShow":"paginationHide"),r.forEach(e=>e.classList.toggle(t.params.pagination.hiddenClass))}});const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=y(e),e.forEach(e=>e.classList.add(t.params.pagination.paginationDisabledClass))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=y(e),e.forEach(e=>e.classList.remove(t.params.pagination.paginationDisabledClass))),m(),u(),p()},disable:f,render:u,update:p,init:m,destroy:h})}function ae(e){let t,s,{swiper:a,extendParams:r,on:n,emit:l,params:o}=e;a.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){a&&!a.destroyed&&a.wrapperEl&&e.target===a.wrapperEl&&(a.wrapperEl.removeEventListener("transitionend",y),g||e.detail&&e.detail.bySwiperTouchMove||M())}const S=()=>{if(a.destroyed||!a.autoplay.running)return;a.autoplay.paused?c=!0:c&&(w=d,c=!1);const e=a.autoplay.paused?d:b+w-(new Date).getTime();a.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame(()=>{S()})},T=e=>{if(a.destroyed||!a.autoplay.running)return;cancelAnimationFrame(s),S();let i=void 0===e?a.params.autoplay.delay:e;v=a.params.autoplay.delay,w=a.params.autoplay.delay;const r=(()=>{let e;if(e=a.virtual&&a.params.virtual.enabled?a.slides.find(e=>e.classList.contains("swiper-slide-active")):a.slides[a.activeIndex],e)return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(i=r,v=r,w=r),d=i;const n=a.params.speed,o=()=>{a&&!a.destroyed&&(a.params.autoplay.reverseDirection?!a.isBeginning||a.params.loop||a.params.rewind?(a.slidePrev(n,!0,!0),l("autoplay")):a.params.autoplay.stopOnLastSlide||(a.slideTo(a.slides.length-1,n,!0,!0),l("autoplay")):!a.isEnd||a.params.loop||a.params.rewind?(a.slideNext(n,!0,!0),l("autoplay")):a.params.autoplay.stopOnLastSlide||(a.slideTo(0,n,!0,!0),l("autoplay")),a.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame(()=>{T()})))};return i>0?(clearTimeout(t),t=setTimeout(()=>{o()},i)):requestAnimationFrame(()=>{o()}),i},E=()=>{b=(new Date).getTime(),a.autoplay.running=!0,T(),l("autoplayStart")},x=()=>{a.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},C=(e,s)=>{if(a.destroyed||!a.autoplay.running)return;clearTimeout(t),e||(f=!0);const i=()=>{l("autoplayPause"),a.params.autoplay.waitForTransition?a.wrapperEl.addEventListener("transitionend",y):M()};if(a.autoplay.paused=!0,s)return h&&(d=a.params.autoplay.delay),h=!1,void i();const r=d||a.params.autoplay.delay;d=r-((new Date).getTime()-b),a.isEnd&&d<0&&!a.params.loop||(d<0&&(d=0),i())},M=()=>{a.isEnd&&d<0&&!a.params.loop||a.destroyed||!a.autoplay.running||(b=(new Date).getTime(),f?(f=!1,T(d)):T(),a.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(a.destroyed||!a.autoplay.running)return;const e=i();"hidden"===e.visibilityState&&(f=!0,C(!0)),"visible"===e.visibilityState&&M()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,a.animating||a.autoplay.paused||C(!0))},k=e=>{"mouse"===e.pointerType&&(g=!1,a.autoplay.paused&&M())};n("init",()=>{a.params.autoplay.enabled&&(a.params.autoplay.pauseOnMouseEnter&&(a.el.addEventListener("pointerenter",L),a.el.addEventListener("pointerleave",k)),i().addEventListener("visibilitychange",P),E())}),n("destroy",()=>{a.el&&"string"!=typeof a.el&&(a.el.removeEventListener("pointerenter",L),a.el.removeEventListener("pointerleave",k)),i().removeEventListener("visibilitychange",P),a.autoplay.running&&x()}),n("_freeModeStaticRelease",()=>{(u||f)&&M()}),n("_freeModeNoMomentumRelease",()=>{a.params.autoplay.disableOnInteraction?x():C(!0,!0)}),n("beforeTransitionStart",(e,t,s)=>{!a.destroyed&&a.autoplay.running&&(s||!a.params.autoplay.disableOnInteraction?C(!0,!0):x())}),n("sliderFirstMove",()=>{!a.destroyed&&a.autoplay.running&&(a.params.autoplay.disableOnInteraction?x():(p=!0,u=!1,f=!1,m=setTimeout(()=>{f=!0,u=!0,C(!0)},200)))}),n("touchEnd",()=>{if(!a.destroyed&&a.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),a.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&a.params.cssMode&&M(),u=!1,p=!1}}),n("slideChange",()=>{!a.destroyed&&a.autoplay.running&&(h=!0)}),Object.assign(a.autoplay,{start:E,stop:x,pause:C,resume:M})}Object.keys(J).forEach(e=>{Object.keys(J[e]).forEach(t=>{Z.prototype[t]=J[e][t]})}),Z.use([function(e){let{swiper:t,on:s,emit:i}=e;const a=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(i("beforeResize"),i("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&i("orientationchange")};s("init",()=>{t.params.resizeObserver&&void 0!==a.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver(e=>{l=a.requestAnimationFrame(()=>{const{width:s,height:i}=t;let a=s,r=i;e.forEach(e=>{let{contentBoxSize:s,contentRect:i,target:n}=e;n&&n!==t.el||(a=i?i.width:(s[0]||s).inlineSize,r=i?i.height:(s[0]||s).blockSize)}),a===s&&r===i||o()})}),n.observe(t.el)):(a.addEventListener("resize",o),a.addEventListener("orientationchange",d))}),s("destroy",()=>{l&&a.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),a.removeEventListener("resize",o),a.removeEventListener("orientationchange",d)})},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const i=new(l.MutationObserver||l.WebkitMutationObserver)(e=>{if(t.__preventObserver__)return;if(1===e.length)return void a("observerUpdate",e[0]);const s=function(){a("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)});i.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:t.isElement||(void 0===s.childList||s).childList,characterData:void 0===s.characterData||s.characterData}),n.push(i)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),i("init",()=>{if(t.params.observer){if(t.params.observeParents){const e=w(t.hostEl);for(let t=0;t<e.length;t+=1)o(e[t])}o(t.hostEl,{childList:t.params.observeSlideChildren}),o(t.wrapperEl,{attributes:!1})}}),i("destroy",()=>{n.forEach(e=>{e.disconnect()}),n.splice(0,n.length)})}]), document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".zenithium-blocks-carousel-wrapper").forEach(e=>{const t=e.querySelector(".zenithium-blocks-carousel-track");if(!t)return;if(e.classList.contains("swiper-initialized"))return;t.classList.add("swiper-wrapper");let s=e.querySelector(".zenithium-blocks-swiper-container");s||(s=document.createElement("div"),s.classList.add("zenithium-blocks-swiper-container","swiper"),t.parentNode.insertBefore(s,t),s.appendChild(t));const i=Array.from(t.children);i.forEach(e=>{e.classList.add("swiper-slide")});const a=parseInt(e.dataset.slidesPerView,10)||3,r="true"===e.dataset.autoplay,n=parseInt(e.dataset.autoplaySpeed,10)||4e3,l=e.querySelector(".zenithium-blocks-carousel-arrow.prev"),o=e.querySelector(".zenithium-blocks-carousel-arrow.next"),d=e.querySelector(".zenithium-blocks-carousel-dots"),c=[te,ie];r&&c.push(ae),new Z(s,{modules:c,loop:!0,loopedSlides:i.length,slidesPerView:1,spaceBetween:20,observer:!0,observeParents:!0,breakpoints:{640:{slidesPerView:Math.min(2,a)},1024:{slidesPerView:a}},navigation:{nextEl:o,prevEl:l},pagination:{el:d,clickable:!0,bulletClass:"zenithium-blocks-carousel-dot",bulletActiveClass:"is-active"},autoplay:!!r&&{delay:n,disableOnInteraction:!1,pauseOnMouseEnter:!0}}),e.classList.add("swiper-initialized")})})})();1 (()=>{"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,i){void 0===s&&(s={}),void 0===i&&(i={});const a=["__proto__","constructor","prototype"];Object.keys(i).filter(e=>a.indexOf(e)<0).forEach(a=>{void 0===s[a]?s[a]=i[a]:e(i[a])&&e(s[a])&&Object.keys(i[a]).length>0&&t(s[a],i[a])})}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function i(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const a={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,a),e}function n(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function l(){return Date.now()}function o(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function d(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function c(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;s<arguments.length;s+=1){const i=s<0||arguments.length<=s?void 0:arguments[s];if(null!=i&&!d(i)){const s=Object.keys(Object(i)).filter(e=>t.indexOf(e)<0);for(let t=0,a=s.length;t<a;t+=1){const a=s[t],r=Object.getOwnPropertyDescriptor(i,a);void 0!==r&&r.enumerable&&(o(e[a])&&o(i[a])?i[a].__swiper__?e[a]=i[a]:c(e[a],i[a]):!o(e[a])&&o(i[a])?(e[a]={},i[a].__swiper__?e[a]=i[a]:c(e[a],i[a])):e[a]=i[a])}}}return e}function p(e,t,s){e.style.setProperty(t,s)}function u(e){let{swiper:t,targetPosition:s,side:i}=e;const a=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",a.cancelAnimationFrame(t.cssModeFrameID);const c=s>n?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[i]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout(()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[i]:c})}),void a.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=a.requestAnimationFrame(u)};u()}function m(e,t){void 0===t&&(t="");const s=r(),i=[...e.children];return s.HTMLSlotElement&&e instanceof HTMLSlotElement&&i.push(...e.assignedElements()),t?i.filter(e=>e.matches(t)):i}function h(e){try{return void console.warn(e)}catch(e){}}function f(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:function(e){return void 0===e&&(e=""),e.trim().split(" ").filter(e=>!!e.trim())}(t)),s}function g(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function v(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function w(e,t){const s=[];let i=e.parentElement;for(;i;)t?i.matches(t)&&s.push(i):s.push(i),i=i.parentElement;return s}function b(e,t,s){const i=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function y(e){return(Array.isArray(e)?e:[e]).filter(e=>!!e)}function S(e,t){void 0===t&&(t=""),"undefined"!=typeof trustedTypes?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:e=>e}).createHTML(t):e.innerHTML=t}let T,E,x;function C(){return T||(T=function(){const e=r(),t=i();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),T}function M(e){return void 0===e&&(e={}),E||(E=function(e){let{userAgent:t}=void 0===e?{}:e;const s=C(),i=r(),a=i.navigator.platform,n=t||i.navigator.userAgent,l={ios:!1,android:!1},o=i.screen.width,d=i.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===a;let f="MacIntel"===a;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),E}function P(){return x||(x=function(){const e=r(),t=M();let s=!1;function i(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(i()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,i]=t.split("Version/")[1].split(" ")[0].split(".").map(e=>Number(e));s=e<16||16===e&&i<2}}const a=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=i();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||a&&t.ios,isWebView:a}}()),x}var L={on(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;const a=s?"unshift":"push";return e.split(" ").forEach(e=>{i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][a](t)}),i},once(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;function a(){i.off(e,a),a.__emitterProxy&&delete a.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(i,r)}return a.__emitterProxy=t,i.on(e,a,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const i=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[i](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach(e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach((i,a)=>{(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&s.eventsListeners[e].splice(a,1)})}),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,i;for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),i=e):(t=r[0].events,s=r[0].data,i=r[0].context||e),s.unshift(i),(Array.isArray(t)?t:t.split(" ")).forEach(t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach(e=>{e.apply(i,[t,...s])}),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach(e=>{e.apply(i,s)})}),e}};const k=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)},I=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)},O=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())})),t&&t.remove()}},A=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},z=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const i="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),a=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=a,r=[s-t];return r.push(...Array.from({length:t}).map((e,t)=>s+i+t)),void e.slides.forEach((t,s)=>{r.includes(t.column)&&A(e,s)})}const r=a+i-1;if(e.params.rewind||e.params.loop)for(let i=a-t;i<=r+t;i+=1){const t=(i%s+s)%s;(t<a||t>r)&&A(e,t)}else for(let i=Math.max(a-t,0);i<=Math.min(r+t,s-1);i+=1)i!==a&&(i>r||i<a)&&A(e,i)};var G={updateSize:function(){const e=this;let t,s;const i=e.el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:i.clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:i.clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(g(i,"padding-left")||0,10)-parseInt(g(i,"padding-right")||0,10),s=s-parseInt(g(i,"padding-top")||0,10)-parseInt(g(i,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t,s){return parseFloat(t.getPropertyValue(e.getDirectionLabel(s))||0)}const s=e.params,{wrapperEl:i,slidesEl:a,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&s.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=m(a,`.${e.params.slideClass}, swiper-slide`),u=o?e.virtual.slides.length:c.length;let h=[];const f=[],v=[];let w=s.slidesOffsetBefore;"function"==typeof w&&(w=s.slidesOffsetBefore.call(e));let y=s.slidesOffsetAfter;"function"==typeof y&&(y=s.slidesOffsetAfter.call(e));const S=e.snapGrid.length,T=e.slidesGrid.length;let E=s.spaceBetween,x=-w,C=0,M=0;if(void 0===r)return;"string"==typeof E&&E.indexOf("%")>=0?E=parseFloat(E.replace("%",""))/100*r:"string"==typeof E&&(E=parseFloat(E)),e.virtualSize=-E,c.forEach(e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""}),s.centeredSlides&&s.cssMode&&(p(i,"--swiper-centered-offset-before",""),p(i,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const k="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter(e=>void 0!==s.breakpoints[e].slidesPerView).length>0;for(let i=0;i<u;i+=1){let a;if(L=0,c[i]&&(a=c[i]),P&&e.grid.updateSlide(i,a,c),!c[i]||"none"!==g(a,"display")){if("auto"===s.slidesPerView){k&&(c[i].style[e.getDirectionLabel("width")]="");const r=getComputedStyle(a),n=a.style.transform,l=a.style.webkitTransform;if(n&&(a.style.transform="none"),l&&(a.style.webkitTransform="none"),s.roundLengths)L=e.isHorizontal()?b(a,"width",!0):b(a,"height",!0);else{const e=t(r,"width"),s=t(r,"padding-left"),i=t(r,"padding-right"),n=t(r,"margin-left"),l=t(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)L=e+n+l;else{const{clientWidth:t,offsetWidth:r}=a;L=e+s+i+n+l+(r-t)}}n&&(a.style.transform=n),l&&(a.style.webkitTransform=l),s.roundLengths&&(L=Math.floor(L))}else L=(r-(s.slidesPerView-1)*E)/s.slidesPerView,s.roundLengths&&(L=Math.floor(L)),c[i]&&(c[i].style[e.getDirectionLabel("width")]=`${L}px`);c[i]&&(c[i].swiperSlideSize=L),v.push(L),s.centeredSlides?(x=x+L/2+C/2+E,0===C&&0!==i&&(x=x-r/2-E),0===i&&(x=x-r/2-E),Math.abs(x)<.001&&(x=0),s.roundLengths&&(x=Math.floor(x)),M%s.slidesPerGroup===0&&h.push(x),f.push(x)):(s.roundLengths&&(x=Math.floor(x)),(M-Math.min(e.params.slidesPerGroupSkip,M))%e.params.slidesPerGroup===0&&h.push(x),f.push(x),x=x+L+E),e.virtualSize+=L+E,C=L,M+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+y,n&&l&&("slide"===s.effect||"coverflow"===s.effect)&&(i.style.width=`${e.virtualSize+E}px`),s.setWrapperSize&&(i.style[e.getDirectionLabel("width")]=`${e.virtualSize+E}px`),P&&e.grid.updateWrapperSize(L,h),!s.centeredSlides){const t=[];for(let i=0;i<h.length;i+=1){let a=h[i];s.roundLengths&&(a=Math.floor(a)),h[i]<=e.virtualSize-r&&t.push(a)}h=t,Math.floor(e.virtualSize-r)-Math.floor(h[h.length-1])>1&&h.push(e.virtualSize-r)}if(o&&s.loop){const t=v[0]+E;if(s.slidesPerGroup>1){const i=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),a=t*s.slidesPerGroup;for(let e=0;e<i;e+=1)h.push(h[h.length-1]+a)}for(let i=0;i<e.virtual.slidesBefore+e.virtual.slidesAfter;i+=1)1===s.slidesPerGroup&&h.push(h[h.length-1]+t),f.push(f[f.length-1]+t),e.virtualSize+=t}if(0===h.length&&(h=[0]),0!==E){const t=e.isHorizontal()&&n?"marginLeft":e.getDirectionLabel("marginRight");c.filter((e,t)=>!(s.cssMode&&!s.loop)||t!==c.length-1).forEach(e=>{e.style[t]=`${E}px`})}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;v.forEach(t=>{e+=t+(E||0)}),e-=E;const t=e>r?e-r:0;h=h.map(e=>e<=0?-w:e>t?t+y:e)}if(s.centerInsufficientSlides){let e=0;v.forEach(t=>{e+=t+(E||0)}),e-=E;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t<r){const s=(r-e-t)/2;h.forEach((e,t)=>{h[t]=e-s}),f.forEach((e,t)=>{f[t]=e+s})}}if(Object.assign(e,{slides:c,snapGrid:h,slidesGrid:f,slidesSizesGrid:v}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){p(i,"--swiper-centered-offset-before",-h[0]+"px"),p(i,"--swiper-centered-offset-after",e.size/2-v[v.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map(e=>e+t),e.slidesGrid=e.slidesGrid.map(e=>e+s)}if(u!==d&&e.emit("slidesLengthChange"),h.length!==S&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),f.length!==T&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,i=e.el.classList.contains(t);u<=s.maxBackfaceHiddenSlides?i||e.el.classList.add(t):i&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],i=t.virtual&&t.params.virtual.enabled;let a,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>i?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach(e=>{s.push(e)});else for(a=0;a<Math.ceil(t.params.slidesPerView);a+=1){const e=t.activeIndex+a;if(e>t.slides.length&&!i)break;s.push(n(e))}else s.push(n(t.activeIndex));for(a=0;a<s.length;a+=1)if(void 0!==s[a]){const e=s[a].offsetHeight;r=e>r?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let i=0;i<t.length;i+=1)t[i].swiperSlideOffset=(e.isHorizontal()?t[i].offsetLeft:t[i].offsetTop)-s-e.cssOverflowAdjustment()},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:i,rtlTranslate:a,snapGrid:r}=t;if(0===i.length)return;void 0===i[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;a&&(n=e),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e<i.length;e+=1){const o=i[e];let d=o.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(d-=i[0].swiperSlideOffset);const c=(n+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),p=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),u=-(n-d),m=u+t.slidesSizesGrid[e],h=u>=0&&u<=t.size-t.slidesSizesGrid[e],f=u>=0&&u<t.size-1||m>1&&m<=t.size||u<=0&&m>=t.size;f&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),k(o,f,s.slideVisibleClass),k(o,h,s.slideFullyVisibleClass),o.progress=a?-c:c,o.originalProgress=a?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:a,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===i)a=0,r=!0,n=!0;else{a=(e-t.minTranslate())/i;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||a<=0,n=l||a>=1,s&&(a=0),l&&(a=1)}if(s.loop){const s=t.getSlideIndexByData(0),i=t.getSlideIndexByData(t.slides.length-1),a=t.slidesGrid[s],r=t.slidesGrid[i],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=a?(o-a)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:a,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",a)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:i,activeIndex:a}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>m(i,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=a-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${a}"]`);else n?(o=t.find(e=>e.column===a),c=t.find(e=>e.column===a+1),d=t.find(e=>e.column===a-1)):o=t[a];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const i=e.nextElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const i=e.previousElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach(e=>{I(e,e===o,s.slideActiveClass),I(e,e===c,s.slideNextClass),I(e,e===d,s.slidePrevClass)}),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:i,params:a,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,i=e.rtlTranslate?e.translate:-e.translate;let a;for(let e=0;e<t.length;e+=1)void 0!==t[e+1]?i>=t[e]&&i<t[e+1]-(t[e+1]-t[e])/2?a=e:i>=t[e]&&i<t[e+1]&&(a=e+1):i>=t[e]&&(a=e);return s.normalizeSlideIndex&&(a<0||void 0===a)&&(a=0),a}(t)),i.indexOf(s)>=0)o=i.indexOf(s);else{const e=Math.min(a.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/a.slidesPerGroup)}if(o>=i.length&&(o=i.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&a.grid&&a.grid.rows>1;let u;if(t.virtual&&a.virtual.enabled&&a.loop)u=c(d);else if(p){const e=t.slides.find(e=>e.column===d);let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/a.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&z(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,i=s.params;let a=e.closest(`.${i.slideClass}, swiper-slide`);!a&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach(e=>{!a&&e.matches&&e.matches(`.${i.slideClass}, swiper-slide`)&&(a=e)});let r,n=!1;if(a)for(let e=0;e<s.slides.length;e+=1)if(s.slides[e]===a){n=!0,r=e;break}if(!a||!n)return s.clickedSlide=void 0,void(s.clickedIndex=void 0);s.clickedSlide=a,s.virtual&&s.params.virtual.enabled?s.clickedIndex=parseInt(a.getAttribute("data-swiper-slide-index"),10):s.clickedIndex=r,i.slideToClickedSlide&&void 0!==s.clickedIndex&&s.clickedIndex!==s.activeIndex&&s.slideToClickedSlide()}};function D(e){let{swiper:t,runCallbacks:s,direction:i,step:a}=e;const{activeIndex:r,previousIndex:n}=t;let l=i;l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${a}`),s&&"reset"===l?t.emit(`slideResetTransition${a}`):s&&r!==n&&(t.emit(`slideChangeTransition${a}`),"next"===l?t.emit(`slideNextTransition${a}`):t.emit(`slidePrevTransition${a}`))}var _={slideTo:function(e,t,s,i,a){void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e&&(e=parseInt(e,10));const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:c,activeIndex:p,rtlTranslate:m,wrapperEl:h,enabled:f}=r;if(!f&&!i&&!a||r.destroyed||r.animating&&l.preventInteractionOnTransition)return!1;void 0===t&&(t=r.params.speed);const g=Math.min(r.params.slidesPerGroupSkip,n);let v=g+Math.floor((n-g)/r.params.slidesPerGroup);v>=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*w),s=Math.floor(100*d[e]),i=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<i-(i-s)/2?n=e:t>=s&&t<i&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(m?w>r.translate&&w>r.minTranslate():w<r.translate&&w<r.minTranslate()))return!1;if(!r.allowSlidePrev&&w>r.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n<p?"prev":"reset";const y=r.virtual&&r.params.virtual.enabled;if((!y||!a)&&(m&&-w===r.translate||!m&&w===r.translate))return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(w),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;if(l.cssMode){const e=r.isHorizontal(),s=m?w:-w;if(0===t)y&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),y&&!r._cssModeVirtualInitialSet&&r.params.initialSlide>0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{h[e?"scrollLeft":"scrollTop"]=s})):h[e?"scrollLeft":"scrollTop"]=s,y&&requestAnimationFrame(()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1});else{if(!r.support.smoothScroll)return u({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}const S=P().isSafari;return y&&!a&&S&&r.isElement&&r.virtual.update(!1,!1,n),r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,i),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,i){void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e&&(e=parseInt(e,10));const a=this;if(a.destroyed)return;void 0===t&&(t=a.params.speed);const r=a.grid&&a.params.grid&&a.params.grid.rows>1;let n=e;if(a.params.loop)if(a.virtual&&a.params.virtual.enabled)n+=a.virtual.slidesBefore;else{let e;if(r){const t=n*a.params.grid.rows;e=a.slides.find(e=>1*e.getAttribute("data-swiper-slide-index")===t).column}else e=a.getSlideIndexByData(n);const t=r?Math.ceil(a.slides.length/a.params.grid.rows):a.slides.length,{centeredSlides:s}=a.params;let l=a.params.slidesPerView;"auto"===l?l=a.slidesPerViewDynamic():(l=Math.ceil(parseFloat(a.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e<l;if(s&&(o=o||e<Math.ceil(l/2)),i&&s&&"auto"!==a.params.slidesPerView&&!r&&(o=!1),o){const i=s?e<a.activeIndex?"prev":"next":e-a.activeIndex-1<a.params.slidesPerView?"next":"prev";a.loopFix({direction:i,slideTo:!0,activeSlideIndex:"next"===i?e+1:e-t+1,slideRealIndex:"next"===i?a.realIndex:void 0})}if(r){const e=n*a.params.grid.rows;n=a.slides.find(t=>1*t.getAttribute("data-swiper-slide-index")===e).column}else n=a.getSlideIndexByData(n)}return requestAnimationFrame(()=>{a.slideTo(n,t,s,i)}),a},slideNext:function(e,t,s){void 0===t&&(t=!0);const i=this,{enabled:a,params:r,animating:n}=i;if(!a||i.destroyed)return i;void 0===e&&(e=i.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(i.slidesPerViewDynamic("current",!0),1));const o=i.activeIndex<r.slidesPerGroupSkip?1:l,d=i.virtual&&r.virtual.enabled;if(r.loop){if(n&&!d&&r.loopPreventsSliding)return!1;if(i.loopFix({direction:"next"}),i._clientLeft=i.wrapperEl.clientLeft,i.activeIndex===i.slides.length-1&&r.cssMode)return requestAnimationFrame(()=>{i.slideTo(i.activeIndex+o,e,t,s)}),!0}return r.rewind&&i.isEnd?i.slideTo(0,e,t,s):i.slideTo(i.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const i=this,{params:a,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=i;if(!o||i.destroyed)return i;void 0===e&&(e=i.params.speed);const c=i.virtual&&a.virtual.enabled;if(a.loop){if(d&&!c&&a.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?i.translate:-i.translate),m=r.map(e=>p(e)),h=a.freeMode&&a.freeMode.enabled;let f=r[m.indexOf(u)-1];if(void 0===f&&(a.cssMode||h)){let e;r.forEach((t,s)=>{u>=t&&(e=s)}),void 0!==e&&(f=h?r[e]:r[e>0?e-1:e])}let g=0;if(void 0!==f&&(g=n.indexOf(f),g<0&&(g=i.activeIndex-1),"auto"===a.slidesPerView&&1===a.slidesPerGroup&&a.slidesPerGroupAuto&&(g=g-i.slidesPerViewDynamic("previous",!0)+1,g=Math.max(g,0))),a.rewind&&i.isBeginning){const a=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(a,e,t,s)}return a.loop&&0===i.activeIndex&&a.cssMode?(requestAnimationFrame(()=>{i.slideTo(g,e,t,s)}),!0):i.slideTo(g,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const i=this;if(!i.destroyed)return void 0===e&&(e=i.params.speed),i.slideTo(i.activeIndex,e,t,s)},slideToClosest:function(e,t,s,i){void 0===t&&(t=!0),void 0===i&&(i=.5);const a=this;if(a.destroyed)return;void 0===e&&(e=a.params.speed);let r=a.activeIndex;const n=Math.min(a.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/a.params.slidesPerGroup),o=a.rtlTranslate?a.translate:-a.translate;if(o>=a.snapGrid[l]){const e=a.snapGrid[l];o-e>(a.snapGrid[l+1]-e)*i&&(r+=a.params.slidesPerGroup)}else{const e=a.snapGrid[l-1];o-e<=(a.snapGrid[l]-e)*i&&(r-=a.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,a.slidesGrid.length-1),a.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,i="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let a,r=e.getSlideIndexWhenGrid(e.clickedIndex);const l=e.isElement?"swiper-slide":`.${t.slideClass}`,o=e.grid&&e.params.grid&&e.params.grid.rows>1;if(t.loop){if(e.animating)return;a=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?e.slideToLoop(a):r>(o?(e.slides.length-i)/2-(e.params.grid.rows-1):e.slides.length-i)?(e.loopFix(),r=e.getSlideIndex(m(s,`${l}[data-swiper-slide-index="${a}"]`)[0]),n(()=>{e.slideTo(r)})):e.slideTo(r)}else e.slideTo(r)}},B={loopCreate:function(e,t){const s=this,{params:i,slidesEl:a}=s;if(!i.loop||s.virtual&&s.params.virtual.enabled)return;const r=()=>{m(a,`.${i.slideClass}, swiper-slide`).forEach((e,t)=>{e.setAttribute("data-swiper-slide-index",t)})},n=s.grid&&i.grid&&i.grid.rows>1;i.loopAddBlankSlides&&(i.slidesPerGroup>1||n)&&(()=>{const e=m(a,`.${i.slideBlankClass}`);e.forEach(e=>{e.remove()}),e.length>0&&(s.recalcSlides(),s.updateSlides())})();const l=i.slidesPerGroup*(n?i.grid.rows:1),o=s.slides.length%l!==0,d=n&&s.slides.length%i.grid.rows!==0,c=e=>{for(let t=0;t<e;t+=1){const e=s.isElement?f("swiper-slide",[i.slideBlankClass]):f("div",[i.slideClass,i.slideBlankClass]);s.slidesEl.append(e)}};o?(i.loopAddBlankSlides?(c(l-s.slides.length%l),s.recalcSlides(),s.updateSlides()):h("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)"),r()):d?(i.loopAddBlankSlides?(c(i.grid.rows-s.slides.length%i.grid.rows),s.recalcSlides(),s.updateSlides()):h("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)"),r()):r(),s.loopFix({slideRealIndex:e,direction:i.centeredSlides?void 0:"next",initial:t})},loopFix:function(e){let{slideRealIndex:t,slideTo:s=!0,direction:i,setTranslate:a,activeSlideIndex:r,initial:n,byController:l,byMousewheel:o}=void 0===e?{}:e;const d=this;if(!d.params.loop)return;d.emit("beforeLoopFix");const{slides:c,allowSlidePrev:p,allowSlideNext:u,slidesEl:m,params:f}=d,{centeredSlides:g,initialSlide:v}=f;if(d.allowSlidePrev=!0,d.allowSlideNext=!0,d.virtual&&f.virtual.enabled)return s&&(f.centeredSlides||0!==d.snapIndex?f.centeredSlides&&d.snapIndex<f.slidesPerView?d.slideTo(d.virtual.slides.length+d.snapIndex,0,!1,!0):d.snapIndex===d.snapGrid.length-1&&d.slideTo(d.virtual.slidesBefore,0,!1,!0):d.slideTo(d.virtual.slides.length,0,!1,!0)),d.allowSlidePrev=p,d.allowSlideNext=u,void d.emit("loopFix");let w=f.slidesPerView;"auto"===w?w=d.slidesPerViewDynamic():(w=Math.ceil(parseFloat(f.slidesPerView,10)),g&&w%2==0&&(w+=1));const b=f.slidesPerGroupAuto?w:f.slidesPerGroup;let y=g?Math.max(b,Math.ceil(w/2)):b;y%b!==0&&(y+=b-y%b),y+=f.loopAdditionalSlides,d.loopedSlides=y;const S=d.grid&&f.grid&&f.grid.rows>1;c.length<w+y||"cards"===d.params.effect&&c.length<w+2*y?h("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):S&&"row"===f.grid.fill&&h("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const T=[],E=[],x=S?Math.ceil(c.length/f.grid.rows):c.length,C=n&&x-v<w&&!g;let M=C?v:d.activeIndex;void 0===r?r=d.getSlideIndex(c.find(e=>e.classList.contains(f.slideActiveClass))):M=r;const P="next"===i||!i,L="prev"===i||!i;let k=0,I=0;const O=(S?c[r].column:r)+(g&&void 0===a?-w/2+.5:0);if(O<y){k=Math.max(y-O,b);for(let e=0;e<y-O;e+=1){const t=e-Math.floor(e/x)*x;if(S){const e=x-t-1;for(let t=c.length-1;t>=0;t-=1)c[t].column===e&&T.push(t)}else T.push(x-t-1)}}else if(O+w>x-y){I=Math.max(O-(x-2*y),b),C&&(I=Math.max(I,w-x+v+1));for(let e=0;e<I;e+=1){const t=e-Math.floor(e/x)*x;S?c.forEach((e,s)=>{e.column===t&&E.push(s)}):E.push(t)}}if(d.__preventObserver__=!0,requestAnimationFrame(()=>{d.__preventObserver__=!1}),"cards"===d.params.effect&&c.length<w+2*y&&(E.includes(r)&&E.splice(E.indexOf(r),1),T.includes(r)&&T.splice(T.indexOf(r),1)),L&&T.forEach(e=>{c[e].swiperLoopMoveDOM=!0,m.prepend(c[e]),c[e].swiperLoopMoveDOM=!1}),P&&E.forEach(e=>{c[e].swiperLoopMoveDOM=!0,m.append(c[e]),c[e].swiperLoopMoveDOM=!1}),d.recalcSlides(),"auto"===f.slidesPerView?d.updateSlides():S&&(T.length>0&&L||E.length>0&&P)&&d.slides.forEach((e,t)=>{d.grid.updateSlide(t,e,d.slides)}),f.watchSlidesProgress&&d.updateSlidesOffset(),s)if(T.length>0&&L){if(void 0===t){const e=d.slidesGrid[M],t=d.slidesGrid[M+k]-e;o?d.setTranslate(d.translate-t):(d.slideTo(M+Math.ceil(k),0,!1,!0),a&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else if(a){const e=S?T.length/f.grid.rows:T.length;d.slideTo(d.activeIndex+e,0,!1,!0),d.touchEventsData.currentTranslate=d.translate}}else if(E.length>0&&P)if(void 0===t){const e=d.slidesGrid[M],t=d.slidesGrid[M-I]-e;o?d.setTranslate(d.translate-t):(d.slideTo(M-I,0,!1,!0),a&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else{const e=S?E.length/f.grid.rows:E.length;d.slideTo(d.activeIndex-e,0,!1,!0)}if(d.allowSlidePrev=p,d.allowSlideNext=u,d.controller&&d.controller.control&&!l){const e={slideRealIndex:t,direction:i,setTranslate:a,activeSlideIndex:r,byController:!0};Array.isArray(d.controller.control)?d.controller.control.forEach(t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===f.slidesPerView&&s})}):d.controller.control instanceof d.constructor&&d.controller.control.params.loop&&d.controller.control.loopFix({...e,slideTo:d.controller.control.params.slidesPerView===f.slidesPerView&&s})}d.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||!s||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const i=[];e.slides.forEach(e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;i[t]=e}),e.slides.forEach(e=>{e.removeAttribute("data-swiper-slide-index")}),i.forEach(e=>{s.append(e)}),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function $(e,t,s){const i=r(),{params:a}=e,n=a.edgeSwipeDetection,l=a.edgeSwipeThreshold;return!n||!(s<=l||s>=i.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function F(e){const t=this,s=i();let a=e;a.originalEvent&&(a=a.originalEvent);const n=t.touchEventsData;if("pointerdown"===a.type){if(null!==n.pointerId&&n.pointerId!==a.pointerId)return;n.pointerId=a.pointerId}else"touchstart"===a.type&&1===a.targetTouches.length&&(n.touchId=a.targetTouches[0].identifier);if("touchstart"===a.type)return void $(t,a,a.targetTouches[0].pageX);const{params:o,touches:d,enabled:c}=t;if(!c)return;if(!o.simulateTouch&&"mouse"===a.pointerType)return;if(t.animating&&o.preventInteractionOnTransition)return;!t.animating&&o.cssMode&&o.loop&&t.loopFix();let p=a.target;if("wrapper"===o.touchEventsTarget&&!function(e,t){const s=r();let i=t.contains(e);return!i&&s.HTMLSlotElement&&t instanceof HTMLSlotElement&&(i=[...t.assignedElements()].includes(e),i||(i=function(e,t){const s=[t];for(;s.length>0;){const t=s.shift();if(e===t)return!0;s.push(...t.children,...t.shadowRoot?t.shadowRoot.children:[],...t.assignedElements?t.assignedElements():[])}}(e,t))),i}(p,t.wrapperEl))return;if("which"in a&&3===a.which)return;if("button"in a&&a.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!o.noSwipingClass&&""!==o.noSwipingClass,m=a.composedPath?a.composedPath():a.path;u&&a.target&&a.target.shadowRoot&&m&&(p=m[0]);const h=o.noSwipingSelector?o.noSwipingSelector:`.${o.noSwipingClass}`,f=!(!a.target||!a.target.shadowRoot);if(o.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===i()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const a=s.closest(e);return a||s.getRootNode?a||t(s.getRootNode().host):null}(t)}(h,p):p.closest(h)))return void(t.allowClick=!0);if(o.swipeHandler&&!p.closest(o.swipeHandler))return;d.currentX=a.pageX,d.currentY=a.pageY;const g=d.currentX,v=d.currentY;if(!$(t,a,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=l(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&("mouse"===a.pointerType||"mouse"!==a.pointerType&&!p.matches(n.focusableElements))&&s.activeElement.blur();const b=w&&t.allowTouchMove&&o.touchStartPreventDefault;!o.touchStartForcePreventDefault&&!b||p.isContentEditable||a.preventDefault(),o.freeMode&&o.freeMode.enabled&&t.freeMode&&t.animating&&!o.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",a)}function N(e){const t=i(),s=this,a=s.touchEventsData,{params:r,touches:n,rtlTranslate:o,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==a.touchId)return;if(p.pointerId!==a.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].find(e=>e.identifier===a.touchId),!c||c.identifier!==a.touchId)return}else c=p;if(!a.isTouched)return void(a.startMoving&&a.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(a.focusableElements)||(s.allowClick=!1),void(a.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),a.touchStartTime=l()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return a.isTouched=!1,void(a.isMoved=!1)}else{if(o&&(u>n.startX&&-s.translate<=s.maxTranslate()||u<n.startX&&-s.translate>=s.minTranslate()))return;if(!o&&(u<n.startX&&s.translate<=s.maxTranslate()||u>n.startX&&s.translate>=s.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(a.focusableElements)&&t.activeElement!==p.target&&"mouse"!==p.pointerType&&t.activeElement.blur(),t.activeElement&&p.target===t.activeElement&&p.target.matches(a.focusableElements))return a.isMoved=!0,void(s.allowClick=!1);a.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)<s.params.threshold)return;if(void 0===a.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?a.isScrolling=!1:h*h+f*f>=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,a.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(a.isScrolling&&s.emit("touchMoveOpposite",p),void 0===a.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(a.startMoving=!0)),a.isScrolling||"touchmove"===p.type&&a.preventTouchMoveFromPointerMove)return void(a.isTouched=!1);if(!a.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?h:f,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(o?1:-1),v=Math.abs(v)*(o?1:-1)),n.diff=g,g*=r.touchRatio,o&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!a.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),a.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}a.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),!1!==r._loopSwapReset&&a.isMoved&&a.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:a.currentTranslate}),a.loopSwapReset=!0,void(a.startTranslate=a.currentTranslate);s.emit("sliderMove",p),a.isMoved=!0,a.currentTranslate=g+a.startTranslate;let S=!0,T=r.resistanceRatio;if(r.touchReleaseOnEdges&&(T=0),g>0?(b&&y&&a.allowThresholdMove&&a.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]-("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.activeIndex+1]+s.params.spaceBetween:0)-s.params.spaceBetween:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),a.currentTranslate>s.minTranslate()&&(S=!1,r.resistance&&(a.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+a.startTranslate+g)**T))):g<0&&(b&&y&&a.allowThresholdMove&&a.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween+("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween:0):s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),a.currentTranslate<s.maxTranslate()&&(S=!1,r.resistance&&(a.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-a.startTranslate-g)**T))),S&&(p.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&a.currentTranslate<a.startTranslate&&(a.currentTranslate=a.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&a.currentTranslate>a.startTranslate&&(a.currentTranslate=a.startTranslate),s.allowSlidePrev||s.allowSlideNext||(a.currentTranslate=a.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||a.allowThresholdMove))return void(a.currentTranslate=a.startTranslate);if(!a.allowThresholdMove)return a.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,a.currentTranslate=a.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(a.currentTranslate),s.setTranslate(a.currentTranslate))}function V(e){const t=this,s=t.touchEventsData;let i,a=e;if(a.originalEvent&&(a=a.originalEvent),"touchend"===a.type||"touchcancel"===a.type){if(i=[...a.changedTouches].find(e=>e.identifier===s.touchId),!i||i.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(a.pointerId!==s.pointerId)return;i=a}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(a.type)&&(!["pointercancel","contextmenu"].includes(a.type)||!t.browser.isSafari&&!t.browser.isWebView))return;s.pointerId=null,s.touchId=null;const{params:r,touches:o,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===a.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",a),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=l(),m=u-s.touchStartTime;if(t.allowClick){const e=a.path||a.composedPath&&a.composedPath();t.updateClickedSlide(e&&e[0]||a.target,e),t.emit("tap click",a),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",a)}if(s.lastClickTime=l(),n(()=>{t.destroyed||(t.allowClick=!0)}),!s.isTouched||!s.isMoved||!t.swipeDirection||0===o.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e<c.length;e+=e<r.slidesPerGroupSkip?1:r.slidesPerGroup){const t=e<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;void 0!==c[e+t]?(f||h>=c[e]&&h<c[e+t])&&(g=e,v=c[e+t]-c[e]):(f||h>=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-c[g])/v,S=g<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(m>r.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+S):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+S):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||a.target!==t.navigation.nextEl&&a.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+S),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g)):a.target===t.navigation.nextEl?t.slideTo(g+S):t.slideTo(g)}}function H(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:a,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout(()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()},500)),e.allowSlidePrev=a,e.allowSlideNext=i,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function R(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function q(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:i}=e;if(!i)return;let a;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();a=0===r?0:(e.translate-e.minTranslate())/r,a!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function j(e){const t=this;O(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function W(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const X=(e,t)=>{const s=i(),{params:a,el:r,wrapperEl:n,device:l}=e,o=!!a.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r&&"string"!=typeof r&&(s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(a.preventClicks||a.preventClicksPropagation)&&r[d]("click",e.onClick,!0),a.cssMode&&n[d]("scroll",e.onScroll),a.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",H,!0):e[c]("observerUpdate",H,!0),r[d]("load",e.onLoad,{capture:!0}))},Y=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var U={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function K(e,t){return function(s){void 0===s&&(s={});const i=Object.keys(s)[0],a=s[i];"object"==typeof a&&null!==a?(!0===e[i]&&(e[i]={enabled:!0}),"navigation"===i&&e[i]&&e[i].enabled&&!e[i].prevEl&&!e[i].nextEl&&(e[i].auto=!0),["pagination","scrollbar"].indexOf(i)>=0&&e[i]&&e[i].enabled&&!e[i].el&&(e[i].auto=!0),i in e&&"enabled"in a?("object"!=typeof e[i]||"enabled"in e[i]||(e[i].enabled=!0),e[i]||(e[i]={enabled:!1}),c(t,s)):c(t,s)):c(t,s)}}const J={eventsEmitter:L,update:G,translate:{getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:i,wrapperEl:a}=this;if(t.virtualTranslate)return s?-i:i;if(t.cssMode)return i;let n=function(e,t){void 0===t&&(t="x");const s=r();let i,a,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(a=l.transform||l.webkitTransform,a.split(",").length>6&&(a=a.split(", ").map(e=>e.replace(",",".")).join(", ")),n=new s.WebKitCSSMatrix("none"===a?"":a)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=n.toString().split(",")),"x"===t&&(a=s.WebKitCSSMatrix?n.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(a=s.WebKitCSSMatrix?n.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),a||0}(a,e);return n+=this.cssOverflowAdjustment(),s&&(n=-n),n||0},setTranslate:function(e,t){const s=this,{rtlTranslate:i,params:a,wrapperEl:r,progress:n}=s;let l,o=0,d=0;s.isHorizontal()?o=i?-e:e:d=e,a.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:d,a.cssMode?r[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-d:a.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():d-=s.cssOverflowAdjustment(),r.style.transform=`translate3d(${o}px, ${d}px, 0px)`);const c=s.maxTranslate()-s.minTranslate();l=0===c?0:(e-s.minTranslate())/c,l!==n&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,i,a){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===i&&(i=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=i&&e>o?o:i&&e<d?d:e,r.updateProgress(c),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-c;else{if(!r.support.smoothScroll)return u({swiper:r,targetPosition:-c,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-c,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,a),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,a),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,r.animating=!1,s&&r.emit("transitionEnd"))}),r.wrapperEl.addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd))),!0}},transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;i.cssMode||(i.autoHeight&&s.updateAutoHeight(),D({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:i}=s;s.animating=!1,i.cssMode||(s.setTransition(0),D({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:_,loop:B,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame(()=>{t.__preventObserver__=!1})},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame(()=>{e.__preventObserver__=!1}))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=F.bind(e),e.onTouchMove=N.bind(e),e.onTouchEnd=V.bind(e),e.onDocumentTouchStart=W.bind(e),t.cssMode&&(e.onScroll=q.bind(e)),e.onClick=R.bind(e),e.onLoad=j.bind(e),X(e,"on")},detachEvents:function(){X(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:a,el:r}=e,n=a.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=i(),o="window"!==a.breakpointsBase&&a.breakpointsBase?"container":a.breakpointsBase,d=["window","container"].includes(a.breakpointsBase)||!a.breakpointsBase?e.el:l.querySelector(a.breakpointsBase),p=e.getBreakpoint(n,o,d);if(!p||e.currentBreakpoint===p)return;const u=(p in n?n[p]:void 0)||e.originalParams,m=Y(e,a),h=Y(e,u),f=e.params.grabCursor,g=u.grabCursor,v=a.enabled;m&&!h?(r.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!m&&h&&(r.classList.add(`${a.containerModifierClass}grid`),(u.grid.fill&&"column"===u.grid.fill||!u.grid.fill&&"column"===a.grid.fill)&&r.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),f&&!g?e.unsetGrabCursor():!f&&g&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach(t=>{if(void 0===u[t])return;const s=a[t]&&a[t].enabled,i=u[t]&&u[t].enabled;s&&!i&&e[t].disable(),!s&&i&&e[t].enable()});const w=u.direction&&u.direction!==a.direction,b=a.loop&&(u.slidesPerView!==a.slidesPerView||w),y=a.loop;w&&s&&e.changeDirection(),c(e.params,u);const S=e.params.enabled,T=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),v&&!S?e.disable():!v&&S&&e.enable(),e.currentBreakpoint=p,e.emit("_beforeBreakpoint",u),s&&(b?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!y&&T?(e.loopCreate(t),e.updateSlides()):y&&!T&&e.loopDestroy()),e.emit("breakpoint",u)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let i=!1;const a=r(),n="window"===t?a.innerHeight:s.clientHeight,l=Object.keys(e).map(e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}});l.sort((e,t)=>parseInt(e.value,10)-parseInt(t.value,10));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?a.matchMedia(`(min-width: ${n}px)`).matches&&(i=r):n<=s.clientWidth&&(i=r)}return i||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:i}=s;if(i){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*i;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:i,el:a,device:r}=e,n=function(e,t){const s=[];return e.forEach(e=>{"object"==typeof e?Object.keys(e).forEach(i=>{e[i]&&s.push(t+i)}):"string"==typeof e&&s.push(t+e)}),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:i},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),a.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e&&"string"!=typeof e&&(e.classList.remove(...t),this.emitContainerClasses())}}},Q={};class Z{constructor(){let e,t;for(var s=arguments.length,a=new Array(s),r=0;r<s;r++)a[r]=arguments[r];1===a.length&&a[0].constructor&&"Object"===Object.prototype.toString.call(a[0]).slice(8,-1)?t=a[0]:[e,t]=a,t||(t={}),t=c({},t),e&&!t.el&&(t.el=e);const n=i();if(t.el&&"string"==typeof t.el&&n.querySelectorAll(t.el).length>1){const e=[];return n.querySelectorAll(t.el).forEach(s=>{const i=c({},t,{el:s});e.push(new Z(i))}),e}const l=this;l.__swiper__=!0,l.support=C(),l.device=M({userAgent:t.userAgent}),l.browser=P(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach(e=>{e({params:t,swiper:l,extendParams:K(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})});const d=c({},U,o);return l.params=c({},d,Q,t),l.originalParams=c({},l.params),l.passedParams=c({},t),l.params&&l.params.on&&Object.keys(l.params.on).forEach(e=>{l.on(e,l.params.on[e])}),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,i=v(m(t,`.${s.slideClass}, swiper-slide`)[0]);return v(e)-i}getSlideIndexByData(e){return this.getSlideIndex(this.slides.find(t=>1*t.getAttribute("data-swiper-slide-index")===e))}getSlideIndexWhenGrid(e){return this.grid&&this.params.grid&&this.params.grid.rows>1&&("column"===this.params.grid.fill?e=Math.floor(e/this.params.grid.rows):"row"===this.params.grid.fill&&(e%=Math.ceil(this.slides.length/this.params.grid.rows))),e}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=m(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const i=s.minTranslate(),a=(s.maxTranslate()-i)*e+i;s.translateTo(a,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter(t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter(e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach(s=>{const i=e.getSlideClasses(s);t.push({slideEl:s,classNames:i}),e.emit("_slideClass",s,i)}),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:i,slidesGrid:a,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=i[l]?Math.ceil(i[l].swiperSlideSize):0;for(let s=l+1;s<i.length;s+=1)i[s]&&!e&&(t+=Math.ceil(i[s].swiperSlideSize),o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)i[s]&&!e&&(t+=i[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<i.length;e+=1)(t?a[e]+r[e]-a[l]<n:a[e]-a[l]<n)&&(o+=1);else for(let e=l-1;e>=0;e-=1)a[l]-a[e]<n&&(o+=1);return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function i(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let a;if(s.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach(t=>{t.complete&&O(e,t)}),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)i(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;a=e.slideTo(t.length-1,0,!1,!0)}else a=e.slideTo(e.activeIndex,0,!1,!0);a||i()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,i=s.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${i}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach(t=>{"vertical"===e?t.style.width="":t.style.height=""}),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let a=s&&s.shadowRoot&&s.shadowRoot.querySelector?s.shadowRoot.querySelector(i()):m(s,i())[0];return!a&&t.params.createElements&&(a=f("div",t.params.wrapperClass),s.append(a),m(s,`.${t.params.slideClass}`).forEach(e=>{a.append(e)})),Object.assign(t,{el:s,wrapperEl:a,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:a,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===g(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===g(s,"direction")),wrongRTL:"-webkit-box"===g(a,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(void 0,!0),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach(e=>{e.complete?O(t,e):e.addEventListener("load",e=>{O(t,e.target)})}),z(t),t.initialized=!0,z(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:i,el:a,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),i.loop&&s.loopDestroy(),t&&(s.removeClasses(),a&&"string"!=typeof a&&a.removeAttribute("style"),r&&r.removeAttribute("style"),n&&n.length&&n.forEach(e=>{e.classList.remove(i.slideVisibleClass,i.slideFullyVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")})),s.emit("destroy"),Object.keys(s.eventsListeners).forEach(e=>{s.off(e)}),!1!==e&&(s.el&&"string"!=typeof s.el&&(s.el.swiper=null),function(e){const t=e;Object.keys(t).forEach(e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}})}(s)),s.destroyed=!0),null}static extendDefaults(e){c(Q,e)}static get extendedDefaults(){return Q}static get defaults(){return U}static installModule(e){Z.prototype.__modules__||(Z.prototype.__modules__=[]);const t=Z.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach(e=>Z.installModule(e)),Z):(Z.installModule(e),Z)}}function ee(e,t,s,i){return e.params.createElements&&Object.keys(i).forEach(a=>{if(!s[a]&&!0===s.auto){let r=m(e.el,`.${i[a]}`)[0];r||(r=f("div",i[a]),r.className=i[a],e.el.append(r)),s[a]=r,t[a]=r}}),s}function te(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e)||t.hostEl.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const i=t.params.navigation;(e=y(e)).forEach(e=>{e&&(e.classList[s?"add":"remove"](...i.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](i.lockClass))})}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),a("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),a("navigationNext"))}function c(){const e=t.params.navigation;if(t.params.navigation=ee(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),i=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:i}),s=y(s),i=y(i);const a=(s,i)=>{s&&s.addEventListener("click","next"===i?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};s.forEach(e=>a(e,"next")),i.forEach(e=>a(e,"prev"))}function p(){let{nextEl:e,prevEl:s}=t.navigation;e=y(e),s=y(s);const i=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach(e=>i(e,"next")),s.forEach(e=>i(e,"prev"))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},i("init",()=>{!1===t.params.navigation.enabled?u():(c(),l())}),i("toEdge fromEdge lock unlock",()=>{l()}),i("destroy",()=>{p()}),i("enable disable",()=>{let{nextEl:e,prevEl:s}=t.navigation;e=y(e),s=y(s),t.enabled?l():[...e,...s].filter(e=>!!e).forEach(e=>e.classList.add(t.params.navigation.lockClass))}),i("click",(e,s)=>{let{nextEl:i,prevEl:r}=t.navigation;i=y(i),r=y(r);const n=s.target;let l=r.includes(n)||i.includes(n);if(t.isElement&&!l){const e=s.path||s.composedPath&&s.composedPath();e&&(l=e.find(e=>i.includes(e)||r.includes(e)))}if(t.params.navigation.hideOnClick&&!l){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;i.length?e=i[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),a(!0===e?"navigationShow":"navigationHide"),[...i,...r].filter(e=>!!e).forEach(e=>e.classList.toggle(t.params.navigation.hiddenClass))}});const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),p()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),c(),l()},disable:u,update:l,init:c,destroy:p})}function se(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/()[\]])/g,"\\$1").replace(/ /g,".")}`}function ie(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:i}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${i}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${i}-${s}-${s}`))}function c(e){const s=e.target.closest(se(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const i=v(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===i)return;const e=(a=t.realIndex,r=i,(r%=n=t.slides.length)===1+(a%=n)?"next":r===a-1?"previous":void 0);"next"===e?t.slideNext():"previous"===e?t.slidePrev():t.slideToLoop(i)}else t.slideTo(i);var a,r,n}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;let i,r,c=t.pagination.el;c=y(c);const p=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(p/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,i=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(i=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,i=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let o,p,u;if(s.dynamicBullets&&(n=b(a[0],t.isHorizontal()?"width":"height",!0),c.forEach(e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"}),s.dynamicMainBullets>1&&void 0!==r&&(l+=i-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(i-l,0),p=o+(Math.min(a.length,s.dynamicMainBullets)-1),u=(p+o)/2),a.forEach(e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(e=>`${s.bulletActiveClass}${e}`)].map(e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e).flat();e.classList.remove(...t)}),c.length>1)a.forEach(e=>{const a=v(e);a===i?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(a>=o&&a<=p&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),a===o&&d(e,"prev"),a===p&&d(e,"next"))});else{const e=a[i];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&a.forEach((e,t)=>{e.setAttribute("part",t===i?"bullet-active":"bullet")}),s.dynamicBullets){const e=a[o],t=a[p];for(let e=o;e<=p;e+=1)a[e]&&a[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.forEach(e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`})}}c.forEach((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(se(s.currentClass)).forEach(e=>{e.textContent=s.formatFractionCurrent(i+1)}),e.querySelectorAll(se(s.totalClass)).forEach(e=>{e.textContent=s.formatFractionTotal(u)})),"progressbar"===s.type){let a;a=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(i+1)/u;let n=1,l=1;"horizontal"===a?n=r:l=r,e.querySelectorAll(se(s.progressbarFillClass)).forEach(e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`})}"custom"===s.type&&s.renderCustom?(S(e,s.renderCustom(t,i+1,u)),0===r&&a("paginationRender",e)):(0===r&&a("paginationRender",e),a("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)})}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let i=t.pagination.el;i=y(i);let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&i>s&&(i=s);for(let s=0;s<i;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} ${t.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`),t.pagination.bullets=[],i.forEach(s=>{"custom"!==e.type&&S(s,r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(se(e.bulletClass)))}),"custom"!==e.type&&a("paginationRender",i[0])}function m(){t.params.pagination=ee(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.find(e=>w(e,".swiper")[0]===t.el))),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=y(s),s.forEach(s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",c),t.enabled||s.classList.add(e.lockClass)}))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=y(s),s.forEach(s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",c))})),t.pagination.bullets&&t.pagination.bullets.forEach(t=>t.classList.remove(...e.bulletActiveClass.split(" ")))}i("changeDirection",()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=y(s),s.forEach(s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)})}),i("init",()=>{!1===t.params.pagination.enabled?f():(m(),u(),p())}),i("activeIndexChange",()=>{void 0===t.snapIndex&&p()}),i("snapIndexChange",()=>{p()}),i("snapGridLengthChange",()=>{u(),p()}),i("destroy",()=>{h()}),i("enable disable",()=>{let{el:e}=t.pagination;e&&(e=y(e),e.forEach(e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass)))}),i("lock unlock",()=>{p()}),i("click",(e,s)=>{const i=s.target,r=y(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!i.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&i===t.navigation.nextEl||t.navigation.prevEl&&i===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);a(!0===e?"paginationShow":"paginationHide"),r.forEach(e=>e.classList.toggle(t.params.pagination.hiddenClass))}});const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=y(e),e.forEach(e=>e.classList.add(t.params.pagination.paginationDisabledClass))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=y(e),e.forEach(e=>e.classList.remove(t.params.pagination.paginationDisabledClass))),m(),u(),p()},disable:f,render:u,update:p,init:m,destroy:h})}function ae(e){let t,s,{swiper:a,extendParams:r,on:n,emit:l,params:o}=e;a.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){a&&!a.destroyed&&a.wrapperEl&&e.target===a.wrapperEl&&(a.wrapperEl.removeEventListener("transitionend",y),g||e.detail&&e.detail.bySwiperTouchMove||M())}const S=()=>{if(a.destroyed||!a.autoplay.running)return;a.autoplay.paused?c=!0:c&&(w=d,c=!1);const e=a.autoplay.paused?d:b+w-(new Date).getTime();a.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame(()=>{S()})},T=e=>{if(a.destroyed||!a.autoplay.running)return;cancelAnimationFrame(s),S();let i=void 0===e?a.params.autoplay.delay:e;v=a.params.autoplay.delay,w=a.params.autoplay.delay;const r=(()=>{let e;if(e=a.virtual&&a.params.virtual.enabled?a.slides.find(e=>e.classList.contains("swiper-slide-active")):a.slides[a.activeIndex],e)return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(i=r,v=r,w=r),d=i;const n=a.params.speed,o=()=>{a&&!a.destroyed&&(a.params.autoplay.reverseDirection?!a.isBeginning||a.params.loop||a.params.rewind?(a.slidePrev(n,!0,!0),l("autoplay")):a.params.autoplay.stopOnLastSlide||(a.slideTo(a.slides.length-1,n,!0,!0),l("autoplay")):!a.isEnd||a.params.loop||a.params.rewind?(a.slideNext(n,!0,!0),l("autoplay")):a.params.autoplay.stopOnLastSlide||(a.slideTo(0,n,!0,!0),l("autoplay")),a.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame(()=>{T()})))};return i>0?(clearTimeout(t),t=setTimeout(()=>{o()},i)):requestAnimationFrame(()=>{o()}),i},E=()=>{b=(new Date).getTime(),a.autoplay.running=!0,T(),l("autoplayStart")},x=()=>{a.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},C=(e,s)=>{if(a.destroyed||!a.autoplay.running)return;clearTimeout(t),e||(f=!0);const i=()=>{l("autoplayPause"),a.params.autoplay.waitForTransition?a.wrapperEl.addEventListener("transitionend",y):M()};if(a.autoplay.paused=!0,s)return h&&(d=a.params.autoplay.delay),h=!1,void i();const r=d||a.params.autoplay.delay;d=r-((new Date).getTime()-b),a.isEnd&&d<0&&!a.params.loop||(d<0&&(d=0),i())},M=()=>{a.isEnd&&d<0&&!a.params.loop||a.destroyed||!a.autoplay.running||(b=(new Date).getTime(),f?(f=!1,T(d)):T(),a.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(a.destroyed||!a.autoplay.running)return;const e=i();"hidden"===e.visibilityState&&(f=!0,C(!0)),"visible"===e.visibilityState&&M()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,a.animating||a.autoplay.paused||C(!0))},k=e=>{"mouse"===e.pointerType&&(g=!1,a.autoplay.paused&&M())};n("init",()=>{a.params.autoplay.enabled&&(a.params.autoplay.pauseOnMouseEnter&&(a.el.addEventListener("pointerenter",L),a.el.addEventListener("pointerleave",k)),i().addEventListener("visibilitychange",P),E())}),n("destroy",()=>{a.el&&"string"!=typeof a.el&&(a.el.removeEventListener("pointerenter",L),a.el.removeEventListener("pointerleave",k)),i().removeEventListener("visibilitychange",P),a.autoplay.running&&x()}),n("_freeModeStaticRelease",()=>{(u||f)&&M()}),n("_freeModeNoMomentumRelease",()=>{a.params.autoplay.disableOnInteraction?x():C(!0,!0)}),n("beforeTransitionStart",(e,t,s)=>{!a.destroyed&&a.autoplay.running&&(s||!a.params.autoplay.disableOnInteraction?C(!0,!0):x())}),n("sliderFirstMove",()=>{!a.destroyed&&a.autoplay.running&&(a.params.autoplay.disableOnInteraction?x():(p=!0,u=!1,f=!1,m=setTimeout(()=>{f=!0,u=!0,C(!0)},200)))}),n("touchEnd",()=>{if(!a.destroyed&&a.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),a.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&a.params.cssMode&&M(),u=!1,p=!1}}),n("slideChange",()=>{!a.destroyed&&a.autoplay.running&&(h=!0)}),Object.assign(a.autoplay,{start:E,stop:x,pause:C,resume:M})}Object.keys(J).forEach(e=>{Object.keys(J[e]).forEach(t=>{Z.prototype[t]=J[e][t]})}),Z.use([function(e){let{swiper:t,on:s,emit:i}=e;const a=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(i("beforeResize"),i("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&i("orientationchange")};s("init",()=>{t.params.resizeObserver&&void 0!==a.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver(e=>{l=a.requestAnimationFrame(()=>{const{width:s,height:i}=t;let a=s,r=i;e.forEach(e=>{let{contentBoxSize:s,contentRect:i,target:n}=e;n&&n!==t.el||(a=i?i.width:(s[0]||s).inlineSize,r=i?i.height:(s[0]||s).blockSize)}),a===s&&r===i||o()})}),n.observe(t.el)):(a.addEventListener("resize",o),a.addEventListener("orientationchange",d))}),s("destroy",()=>{l&&a.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),a.removeEventListener("resize",o),a.removeEventListener("orientationchange",d)})},function(e){let{swiper:t,extendParams:s,on:i,emit:a}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const i=new(l.MutationObserver||l.WebkitMutationObserver)(e=>{if(t.__preventObserver__)return;if(1===e.length)return void a("observerUpdate",e[0]);const s=function(){a("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)});i.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:t.isElement||(void 0===s.childList||s).childList,characterData:void 0===s.characterData||s.characterData}),n.push(i)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),i("init",()=>{if(t.params.observer){if(t.params.observeParents){const e=w(t.hostEl);for(let t=0;t<e.length;t+=1)o(e[t])}o(t.hostEl,{childList:t.params.observeSlideChildren}),o(t.wrapperEl,{attributes:!1})}}),i("destroy",()=>{n.forEach(e=>{e.disconnect()}),n.splice(0,n.length)})}]),function(){const e=()=>{document.querySelectorAll(".zenithium-blocks-carousel-wrapper").forEach(e=>{const t=e.querySelector(".zenithium-blocks-carousel-track");if(!t)return;if(e.classList.contains("swiper-initialized"))return;t.classList.add("swiper-wrapper");let s=e.querySelector(".zenithium-blocks-swiper-container");s||(s=document.createElement("div"),s.classList.add("zenithium-blocks-swiper-container","swiper"),t.parentNode.insertBefore(s,t),s.appendChild(t));const i=Array.from(t.children);i.forEach(e=>{e.classList.add("swiper-slide")});const a=parseInt(e.dataset.slidesPerView,10)||3,r=void 0!==e.dataset.slideGap?parseInt(e.dataset.slideGap,10):20,n="true"===e.dataset.autoplay,l=parseInt(e.dataset.autoplaySpeed,10)||4e3,o=e.querySelector(".zenithium-blocks-carousel-arrow.prev"),d=e.querySelector(".zenithium-blocks-carousel-arrow.next"),c=e.querySelector(".zenithium-blocks-carousel-dots"),p=[te,ie];n&&p.push(ae),new Z(s,{modules:p,loop:i.length>a,slidesPerView:1,spaceBetween:r,observer:!0,observeParents:!0,breakpoints:{640:{slidesPerView:Math.min(2,a)},1024:{slidesPerView:a}},navigation:{nextEl:d,prevEl:o},pagination:{el:c,clickable:!0,bulletClass:"zenithium-blocks-carousel-dot",bulletActiveClass:"is-active"},autoplay:!!n&&{delay:l,disableOnInteraction:!1,pauseOnMouseEnter:!0}}),e.classList.add("swiper-initialized")})};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}()})(); -
zenithium-blocks/trunk/build/blocks/flip-card/block.json
r3640847 r3769770 4 4 "name": "zenithium-blocks/flip-card", 5 5 "version": "1.0.0", 6 "title": " Interactive Flip Card",7 "category": " widgets",6 "title": "Zenithium Interactive Flip Card", 7 "category": "zenithium-blocks", 8 8 "icon": "update", 9 9 "description": "An interactive card that flips in 3D on hover or click to reveal additional details on the back.", … … 28 28 "color": { 29 29 "text": true, 30 "background": true 30 "background": true, 31 "link": true, 32 "gradients": true, 33 "enableCustomColors": true, 34 "enableCustomGradients": true, 35 "enableAlpha": true 31 36 } 32 37 }, -
zenithium-blocks/trunk/build/blocks/flip-card/index-rtl.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle {display:flex;gap:8px;justify-content:center;margin-bottom:12px}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;color:#475569;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px;transition:all .2s ease}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button.is-active,.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button:hover{background:#2563eb;border-color:#2563eb;color:#fff}.wp-block-zenithium-blocks-flip-card.is-flipped-editor.flip-horizontal .zenithium-blocks-flip-card-inner{transform:rotateY(-180deg)}.wp-block-zenithium-blocks-flip-card.is-flipped-editor.flip-vertical .zenithium-blocks-flip-card-inner{transform:rotateX(180deg)}1 .wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:12px;position:relative;z-index:10}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle button{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;color:#475569;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px;transition:all .2s ease}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button.is-active,.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button:hover,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle button.is-active,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle button:hover{background:#2563eb;border-color:#2563eb;color:#fff}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button:focus,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle button:focus{box-shadow:0 0 0 2px #2563eb;outline:none}.wp-block-zenithium-blocks-flip-card.trigger-hover:hover .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:none}.wp-block-zenithium-blocks-flip-card.is-flipped-editor.flip-horizontal .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.is-flipped-editor.flip-horizontal .zenithium-blocks-flip-card-inner{transform:rotateY(-180deg)}.wp-block-zenithium-blocks-flip-card.is-flipped-editor.flip-vertical .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.is-flipped-editor.flip-vertical .zenithium-blocks-flip-card-inner{transform:rotateX(180deg)}.wp-block-zenithium-blocks-flip-card .block-editor-rich-text__editable,.zenithium-blocks-flip-card-wrapper .block-editor-rich-text__editable{pointer-events:auto} -
zenithium-blocks/trunk/build/blocks/flip-card/index.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => ' 73622af4b70b4f32514a');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => '00bfde84fe0e741ce4bf'); -
zenithium-blocks/trunk/build/blocks/flip-card/index.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle {display:flex;gap:8px;justify-content:center;margin-bottom:12px}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;color:#475569;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px;transition:all .2s ease}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button.is-active,.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button:hover{background:#2563eb;border-color:#2563eb;color:#fff}.wp-block-zenithium-blocks-flip-card.is-flipped-editor.flip-horizontal .zenithium-blocks-flip-card-inner{transform:rotateY(180deg)}.wp-block-zenithium-blocks-flip-card.is-flipped-editor.flip-vertical .zenithium-blocks-flip-card-inner{transform:rotateX(180deg)}1 .wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:12px;position:relative;z-index:10}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle button{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;color:#475569;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px;transition:all .2s ease}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button.is-active,.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button:hover,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle button.is-active,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle button:hover{background:#2563eb;border-color:#2563eb;color:#fff}.wp-block-zenithium-blocks-flip-card .zenithium-blocks-flip-card-editor-toggle button:focus,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-editor-toggle button:focus{box-shadow:0 0 0 2px #2563eb;outline:none}.wp-block-zenithium-blocks-flip-card.trigger-hover:hover .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:none}.wp-block-zenithium-blocks-flip-card.is-flipped-editor.flip-horizontal .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.is-flipped-editor.flip-horizontal .zenithium-blocks-flip-card-inner{transform:rotateY(180deg)}.wp-block-zenithium-blocks-flip-card.is-flipped-editor.flip-vertical .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.is-flipped-editor.flip-vertical .zenithium-blocks-flip-card-inner{transform:rotateX(180deg)}.wp-block-zenithium-blocks-flip-card .block-editor-rich-text__editable,.zenithium-blocks-flip-card-wrapper .block-editor-rich-text__editable{pointer-events:auto} -
zenithium-blocks/trunk/build/blocks/flip-card/index.js
r3640847 r3769770 1 (()=>{"use strict";var e={187(){const e=window.wp.blocks,o=window.wp.blockEditor, t=window.wp.components,i=window.wp.element,l=window.wp.i18n,n=JSON.parse('{"UU":"zenithium-blocks/flip-card"}'),c=window.ReactJSXRuntime;(0,e.registerBlockType)(n.UU,{edit:({attributes:e,setAttributes:n})=>{const{triggerMode:r,flipDirection:a,minHeight:s,frontTitle:h,frontDescription:d,frontBgColor:u,frontTextColor:b,backTitle:k,backDescription:m,backButtonText:p,backButtonUrl:x,backButtonTarget:g,backBgColor:f,backTextColor:C,btnBgColor:_,btnTextColor:j}=e,[v,z]=(0,i.useState)("front"),B=(0,o.useBlockProps)({className:`zenithium-blocks-flip-card-wrapper trigger-${r} flip-${a} ${"back"===v?"is-flipped-editor":""}`,style:{minHeight:`${s}px`}});return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(o.InspectorControls,{children:[(0,c.jsxs)(t.PanelBody,{title:(0,l.__)("Flip Card Settings","zenithium-blocks"),initialOpen:!0,children:[(0,c.jsx)(t.SelectControl,{label:(0,l.__)("Trigger Mode","zenithium-blocks"),value:r,options:[{label:(0,l.__)("On Hover","zenithium-blocks"),value:"hover"},{label:(0,l.__)("On Click / Tap","zenithium-blocks"),value:"click"}],onChange:e=>n({triggerMode:e})}),(0,c.jsx)(t.SelectControl,{label:(0,l.__)("Flip Direction","zenithium-blocks"),value:a,options:[{label:(0,l.__)("Horizontal (Y-Axis)","zenithium-blocks"),value:"horizontal"},{label:(0,l.__)("Vertical (X-Axis)","zenithium-blocks"),value:"vertical"}],onChange:e=>n({flipDirection:e})}),(0,c.jsx)(t.RangeControl,{label:(0,l.__)("Min Height (px)","zenithium-blocks"),value:s,onChange:e=>n({minHeight:e}),min:220,max:600})]}),(0,c.jsxs)(t.PanelBody,{title:(0,l.__)("Colors & Design","zenithium-blocks"),initialOpen:!1,children:[(0,c.jsx)("p",{children:(0,c.jsx)("strong",{children:(0,l.__)("Front Card Background","zenithium-blocks")})}),(0,c.jsx)(t.ColorPalette,{value:u,onChange:e=>n({frontBgColor:e||"#1e293b"})}),(0,c.jsx)("p",{children:(0,c.jsx)("strong",{children:(0,l.__)("Front Card Text","zenithium-blocks")})}),(0,c.jsx)(t.ColorPalette,{value:b,onChange:e=>n({frontTextColor:e||"#ffffff"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("p",{children:(0,c.jsx)("strong",{children:(0,l.__)("Back Card Background","zenithium-blocks")})}),(0,c.jsx)(t.ColorPalette,{value:f,onChange:e=>n({backBgColor:e||"#2563eb"})}),(0,c.jsx)("p",{children:(0,c.jsx)("strong",{children:(0,l.__)("Back Card Text","zenithium-blocks")})}),(0,c.jsx)(t.ColorPalette,{value:C,onChange:e=>n({backTextColor:e||"#ffffff"})}),(0,c.jsx)("p",{children:(0,c.jsx)("strong",{children:(0,l.__)("Back Button Background","zenithium-blocks")})}),(0,c.jsx)(t.ColorPalette,{value:_,onChange:e=>n({btnBgColor:e||"#ffffff"})}),(0,c.jsx)("p",{children:(0,c.jsx)("strong",{children:(0,l.__)("Back Button Text Color","zenithium-blocks")})}),(0,c.jsx)(t.ColorPalette,{value:j,onChange:e=>n({btnTextColor:e||"#2563eb"})})]}),(0,c.jsxs)(t.PanelBody,{title:(0,l.__)("Button Link","zenithium-blocks"),initialOpen:!1,children:[(0,c.jsx)(o.URLInput,{value:x,onChange:e=>n({backButtonUrl:e}),isFullWidth:!0}),(0,c.jsx)(t.ToggleControl,{label:(0,l.__)("Open Link in New Tab","zenithium-blocks"),checked:g,onChange:e=>n({backButtonTarget:e})})]})]}),(0,c.jsxs)("div",{...B,children:[(0,c.jsxs)("div",{className:"zenithium-blocks-flip-card-editor-toggle",children:[(0,c.jsx)("button",{type:"button",className:"front"===v?"is-active":"",onClick:()=>z("front"),children:(0,l.__)("Edit Front","zenithium-blocks")}),(0,c.jsx)("button",{type:"button",className:"back"===v?"is-active":"",onClick:()=>z("back"),children:(0,l.__)("Edit Back","zenithium-blocks")})]}),(0,c.jsxs)("div",{className:"zenithium-blocks-flip-card-inner",children:[(0,c.jsx)("div",{className:"zenithium-blocks-flip-card-front",style:{backgroundColor:u,color:b,minHeight:`${s}px`},children:(0,c.jsxs)("div",{className:"zenithium-blocks-flip-card-content",children:[(0,c.jsx)(o.RichText,{tagName:"h3",className:"zenithium-blocks-flip-card-title",value:h,onChange:e=>n({frontTitle:e}),placeholder:(0,l.__)("Front Heading...","zenithium-blocks"),allowedFormats:["core/bold","core/italic"]}),(0,c.jsx)(o.RichText,{tagName:"p",className:"zenithium-blocks-flip-card-desc",value:d,onChange:e=>n({frontDescription:e}),placeholder:(0,l.__)("Front description...","zenithium-blocks"),allowedFormats:["core/bold","core/italic"]})]})}),(0,c.jsx)("div",{className:"zenithium-blocks-flip-card-back",style:{backgroundColor:f,color:C,minHeight:`${s}px`},children:(0,c.jsxs)("div",{className:"zenithium-blocks-flip-card-content",children:[(0,c.jsx)(o.RichText,{tagName:"h3",className:"zenithium-blocks-flip-card-title",value:k,onChange:e=>n({backTitle:e}),placeholder:(0,l.__)("Back Heading...","zenithium-blocks"),allowedFormats:["core/bold","core/italic"]}),(0,c.jsx)(o.RichText,{tagName:"p",className:"zenithium-blocks-flip-card-desc",value:m,onChange:e=>n({backDescription:e}),placeholder:(0,l.__)("Back description...","zenithium-blocks"),allowedFormats:["core/bold","core/italic"]}),(0,c.jsx)("span",{className:"zenithium-blocks-flip-card-btn",style:{backgroundColor:_,color:j},children:(0,c.jsx)(o.RichText,{tagName:"span",value:p,onChange:e=>n({backButtonText:e}),placeholder:(0,l.__)("Button Text","zenithium-blocks"),allowedFormats:[]})})]})})]})]})]})},save:()=>null})}};const o={};function t(i){const l=o[i];if(void 0!==l)return l.exports;const n=o[i]={exports:{}};return e[i](n,n.exports,t),n.exports}t.m=e,(()=>{const e=[];t.O=(o,i,l,n)=>{if(i){n=n||0;for(var c=e.length;c>0&&e[c-1][2]>n;c--)e[c]=e[c-1];return void(e[c]=[i,l,n])}let r=1/0;for(c=0;c<e.length;c++){let[i,l,n]=e[c],s=!0;for(var a=0;a<i.length;a++)(!1&n||r>=n)&&Object.keys(t.O).every(e=>t.O[e](i[a]))?i.splice(a--,1):(s=!1,n<r&&(r=n));if(s){e.splice(c--,1);const t=l();void 0!==t&&(o=t)}}return o}})(),t.o=(e,o)=>Object.hasOwn(e,o),(()=>{const e={885:0,25:0};t.O.j=o=>0===e[o];const o=(o,i)=>{let[l,n,c]=i;var r,a,s=0;if(l.some(o=>0!==e[o])){for(r in n)t.o(n,r)&&(t.m[r]=n[r]);if(c)var h=c(t)}for(o&&o(i);s<l.length;s++)a=l[s],t.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return t.O(h)},i=globalThis.webpackChunkzenithium_blocks||=[];i.forEach(o.bind(null,0)),i.push=o.bind(null,i.push.bind(i))})();let i=t.O(void 0,[25],()=>t(187));i=t.O(i)})();1 (()=>{"use strict";var e={187(){const e=window.wp.blocks,o=window.wp.blockEditor,l=window.wp.components,t=window.wp.element,i=window.wp.i18n,n=JSON.parse('{"UU":"zenithium-blocks/flip-card"}'),a=window.ReactJSXRuntime,c=(e,o="")=>e?"string"==typeof e&&e.startsWith("var:preset|color|")?`var(--wp--preset--color--${e.replace("var:preset|color|","")})`:e:o;(0,e.registerBlockType)(n.UU,{edit:({attributes:e,setAttributes:n})=>{const{triggerMode:r,flipDirection:s,minHeight:b,frontTitle:h,frontDescription:u,frontBgColor:d,frontTextColor:k,backTitle:m,backDescription:p,backButtonText:g,backButtonUrl:f,backButtonTarget:x,backBgColor:C,backTextColor:_,btnBgColor:v,btnTextColor:z}=e,[B,j]=(0,t.useState)("front"),T=(0,o.useBlockProps)({className:`zenithium-blocks-flip-card-wrapper trigger-${r} flip-${s} ${"back"===B?"is-flipped-editor":""}`,style:{minHeight:`${b}px`}});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(o.InspectorControls,{children:[(0,a.jsxs)(l.PanelBody,{title:(0,i.__)("Flip Card Settings","zenithium-blocks"),initialOpen:!0,children:[(0,a.jsx)(l.SelectControl,{label:(0,i.__)("Trigger Mode","zenithium-blocks"),value:r,options:[{label:(0,i.__)("On Hover","zenithium-blocks"),value:"hover"},{label:(0,i.__)("On Click / Tap","zenithium-blocks"),value:"click"}],onChange:e=>n({triggerMode:e})}),(0,a.jsx)(l.SelectControl,{label:(0,i.__)("Flip Direction","zenithium-blocks"),value:s,options:[{label:(0,i.__)("Horizontal (Y-Axis)","zenithium-blocks"),value:"horizontal"},{label:(0,i.__)("Vertical (X-Axis)","zenithium-blocks"),value:"vertical"}],onChange:e=>n({flipDirection:e})}),(0,a.jsx)(l.RangeControl,{label:(0,i.__)("Min Height (px)","zenithium-blocks"),value:b,onChange:e=>n({minHeight:e}),min:220,max:600})]}),(0,a.jsx)(o.PanelColorSettings,{title:(0,i.__)("Front Side Colors","zenithium-blocks"),initialOpen:!1,disableCustomColors:!1,enableAlpha:!0,colorSettings:[{value:d,onChange:e=>n({frontBgColor:e}),label:(0,i.__)("Front Background","zenithium-blocks")},{value:k,onChange:e=>n({frontTextColor:e}),label:(0,i.__)("Front Text Color","zenithium-blocks")}]}),(0,a.jsx)(o.PanelColorSettings,{title:(0,i.__)("Back Side & Button Colors","zenithium-blocks"),initialOpen:!1,disableCustomColors:!1,enableAlpha:!0,colorSettings:[{value:C,onChange:e=>n({backBgColor:e}),label:(0,i.__)("Back Background","zenithium-blocks")},{value:_,onChange:e=>n({backTextColor:e}),label:(0,i.__)("Back Text Color","zenithium-blocks")},{value:v,onChange:e=>n({btnBgColor:e}),label:(0,i.__)("Button Background","zenithium-blocks")},{value:z,onChange:e=>n({btnTextColor:e}),label:(0,i.__)("Button Text Color","zenithium-blocks")}]}),(0,a.jsxs)(l.PanelBody,{title:(0,i.__)("Button Link","zenithium-blocks"),initialOpen:!1,children:[(0,a.jsx)(o.URLInput,{value:f,onChange:e=>n({backButtonUrl:e}),isFullWidth:!0}),(0,a.jsx)(l.ToggleControl,{label:(0,i.__)("Open Link in New Tab","zenithium-blocks"),checked:x,onChange:e=>n({backButtonTarget:e})})]})]}),(0,a.jsxs)("div",{...T,children:[(0,a.jsxs)("div",{className:"zenithium-blocks-flip-card-editor-toggle",children:[(0,a.jsx)("button",{type:"button",className:"front"===B?"is-active":"",onClick:()=>j("front"),children:(0,i.__)("Edit Front","zenithium-blocks")}),(0,a.jsx)("button",{type:"button",className:"back"===B?"is-active":"",onClick:()=>j("back"),children:(0,i.__)("Edit Back","zenithium-blocks")})]}),(0,a.jsxs)("div",{className:"zenithium-blocks-flip-card-inner",children:[(0,a.jsx)("div",{className:"zenithium-blocks-flip-card-front",style:{backgroundColor:c(d,"#1e293b"),color:c(k,"#ffffff"),minHeight:`${b}px`},children:(0,a.jsxs)("div",{className:"zenithium-blocks-flip-card-content",children:[(0,a.jsx)(o.RichText,{tagName:"h3",className:"zenithium-blocks-flip-card-title",value:h,onChange:e=>n({frontTitle:e}),placeholder:(0,i.__)("Front Heading...","zenithium-blocks"),allowedFormats:["core/bold","core/italic"]}),(0,a.jsx)(o.RichText,{tagName:"p",className:"zenithium-blocks-flip-card-desc",value:u,onChange:e=>n({frontDescription:e}),placeholder:(0,i.__)("Front description...","zenithium-blocks"),allowedFormats:["core/bold","core/italic"]})]})}),(0,a.jsx)("div",{className:"zenithium-blocks-flip-card-back",style:{backgroundColor:c(C,"#2563eb"),color:c(_,"#ffffff"),minHeight:`${b}px`},children:(0,a.jsxs)("div",{className:"zenithium-blocks-flip-card-content",children:[(0,a.jsx)(o.RichText,{tagName:"h3",className:"zenithium-blocks-flip-card-title",value:m,onChange:e=>n({backTitle:e}),placeholder:(0,i.__)("Back Heading...","zenithium-blocks"),allowedFormats:["core/bold","core/italic"]}),(0,a.jsx)(o.RichText,{tagName:"p",className:"zenithium-blocks-flip-card-desc",value:p,onChange:e=>n({backDescription:e}),placeholder:(0,i.__)("Back description...","zenithium-blocks"),allowedFormats:["core/bold","core/italic"]}),(0,a.jsx)("span",{className:"zenithium-blocks-flip-card-btn",style:{backgroundColor:c(v,"#ffffff"),color:c(z,"#2563eb")},children:(0,a.jsx)(o.RichText,{tagName:"span",value:g,onChange:e=>n({backButtonText:e}),placeholder:(0,i.__)("Button Text","zenithium-blocks"),allowedFormats:[]})})]})})]})]})]})},save:()=>null})}};const o={};function l(t){const i=o[t];if(void 0!==i)return i.exports;const n=o[t]={exports:{}};return e[t](n,n.exports,l),n.exports}l.m=e,(()=>{const e=[];l.O=(o,t,i,n)=>{if(t){n=n||0;for(var a=e.length;a>0&&e[a-1][2]>n;a--)e[a]=e[a-1];return void(e[a]=[t,i,n])}let c=1/0;for(a=0;a<e.length;a++){let[t,i,n]=e[a],s=!0;for(var r=0;r<t.length;r++)(!1&n||c>=n)&&Object.keys(l.O).every(e=>l.O[e](t[r]))?t.splice(r--,1):(s=!1,n<c&&(c=n));if(s){e.splice(a--,1);const l=i();void 0!==l&&(o=l)}}return o}})(),l.o=(e,o)=>Object.hasOwn(e,o),(()=>{const e={885:0,25:0};l.O.j=o=>0===e[o];const o=(o,t)=>{let[i,n,a]=t;var c,r,s=0;if(i.some(o=>0!==e[o])){for(c in n)l.o(n,c)&&(l.m[c]=n[c]);if(a)var b=a(l)}for(o&&o(t);s<i.length;s++)r=i[s],l.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return l.O(b)},t=globalThis.webpackChunkzenithium_blocks||=[];t.forEach(o.bind(null,0)),t.push=o.bind(null,t.push.bind(t))})();let t=l.O(void 0,[25],()=>l(187));t=l.O(t)})(); -
zenithium-blocks/trunk/build/blocks/flip-card/render.php
r3640847 r3769770 14 14 $trigger_mode = $attributes['triggerMode'] ?? 'hover'; 15 15 $flip_direction = $attributes['flipDirection'] ?? 'horizontal'; 16 $min_height = $attributes['minHeight'] ?? 320; 16 $min_height = isset($attributes['minHeight']) ? (int) $attributes['minHeight'] : 320; 17 18 $format_color = function ($color, $fallback = '') { 19 if (empty($color)) { 20 return $fallback; 21 } 22 if (strpos($color, 'var:preset|color|') === 0) { 23 $slug = str_replace('var:preset|color|', '', $color); 24 return sprintf('var(--wp--preset--color--%s)', $slug); 25 } 26 return $color; 27 }; 17 28 18 29 $front_title = $attributes['frontTitle'] ?? ''; 19 30 $front_desc = $attributes['frontDescription'] ?? ''; 20 $front_bg = $ attributes['frontBgColor'] ?? '#1e293b';21 $front_text_color = $ attributes['frontTextColor'] ?? '#ffffff';31 $front_bg = $format_color($attributes['frontBgColor'] ?? '', '#1e293b'); 32 $front_text_color = $format_color($attributes['frontTextColor'] ?? '', '#ffffff'); 22 33 23 34 $back_title = $attributes['backTitle'] ?? ''; … … 26 37 $back_btn_url = $attributes['backButtonUrl'] ?? '#'; 27 38 $back_btn_target = !empty($attributes['backButtonTarget']) ? '_blank' : '_self'; 28 $back_bg = $ attributes['backBgColor'] ?? '#2563eb';29 $back_text_color = $ attributes['backTextColor'] ?? '#ffffff';39 $back_bg = $format_color($attributes['backBgColor'] ?? '', '#2563eb'); 40 $back_text_color = $format_color($attributes['backTextColor'] ?? '', '#ffffff'); 30 41 31 $btn_bg_color = $ attributes['btnBgColor'] ?? '#ffffff';32 $btn_text_color = $ attributes['btnTextColor'] ?? '#2563eb';42 $btn_bg_color = $format_color($attributes['btnBgColor'] ?? '', '#ffffff'); 43 $btn_text_color = $format_color($attributes['btnTextColor'] ?? '', '#2563eb'); 33 44 34 45 $wrapper_classes = sprintf( … … 38 49 ); 39 50 40 $wrapper_attributes = get_block_wrapper_attributes( 41 array( 42 'class' => $wrapper_classes, 43 'style' => sprintf('min-height: %dpx;', (int) $min_height), 44 ) 51 $wrapper_args = array( 52 'class' => $wrapper_classes, 53 'style' => sprintf('min-height: %dpx;', $min_height), 54 ); 55 56 if ('click' === $trigger_mode) { 57 $wrapper_args['tabindex'] = '0'; 58 $wrapper_args['role'] = 'button'; 59 $wrapper_args['aria-label'] = !empty($front_title) 60 ? sprintf( 61 /* translators: %s: The title of the flip card */ 62 __('Flip card: %s', 'zenithium-blocks'), wp_strip_all_tags($front_title) 63 ) 64 : __('Flip card', 'zenithium-blocks'); 65 } 66 67 $wrapper_attributes = get_block_wrapper_attributes($wrapper_args); 68 69 $front_style = sprintf( 70 'background-color: %s; color: %s; min-height: %dpx;', 71 $front_bg, 72 $front_text_color, 73 $min_height 74 ); 75 76 $back_style = sprintf( 77 'background-color: %s; color: %s; min-height: %dpx;', 78 $back_bg, 79 $back_text_color, 80 $min_height 81 ); 82 83 $btn_style = sprintf( 84 'background-color: %s; color: %s;', 85 $btn_bg_color, 86 $btn_text_color 45 87 ); 46 88 ?> … … 49 91 <div class="zenithium-blocks-flip-card-inner"> 50 92 <!-- FRONT SIDE --> 51 <div class="zenithium-blocks-flip-card-front" 52 style="<?php echo esc_attr(sprintf('background-color: %s; color: %s; min-height: %dpx;', $front_bg, $front_text_color, (int) $min_height)); ?>"> 93 <div class="zenithium-blocks-flip-card-front" style="<?php echo esc_attr($front_style); ?>"> 53 94 <div class="zenithium-blocks-flip-card-content"> 54 95 <?php if (!empty($front_title)): ?> … … 67 108 68 109 <!-- BACK SIDE --> 69 <div class="zenithium-blocks-flip-card-back" 70 style="<?php echo esc_attr(sprintf('background-color: %s; color: %s; min-height: %dpx;', $back_bg, $back_text_color, (int) $min_height)); ?>"> 110 <div class="zenithium-blocks-flip-card-back" style="<?php echo esc_attr($back_style); ?>"> 71 111 <div class="zenithium-blocks-flip-card-content"> 72 112 <?php if (!empty($back_title)): ?> … … 84 124 <?php if (!empty($back_btn_text)): ?> 85 125 <a href="<?php echo esc_url($back_btn_url); ?>" target="<?php echo esc_attr($back_btn_target); ?>" 86 rel="<?php echo '_blank' === $back_btn_target ? 'noopener noreferrer' : ''; ?>"126 <?php echo '_blank' === $back_btn_target ? 'rel="noopener noreferrer"' : ''; ?> 87 127 class="zenithium-blocks-flip-card-btn" 88 style="<?php echo esc_attr( sprintf('background-color: %s; color: %s;', $btn_bg_color, $btn_text_color)); ?>">128 style="<?php echo esc_attr($btn_style); ?>"> 89 129 <?php echo esc_html($back_btn_text); ?> 90 130 </a> -
zenithium-blocks/trunk/build/blocks/flip-card/style-index-rtl.css
r3640847 r3769770 1 .zenithium-blocks-flip-card-wrapper{background:transparent;border-radius:12px;perspective:1000px;position:relative;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-inner{border-radius:12px; height:100%;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-front{align-items:center;backface-visibility:hidden;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);box-sizing:border-box;display:flex;height:100%;justify-content:center;right:0;padding:32px 24px;position:absolute;top:0;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-front{transform:rotateY(0deg);z-index:2}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-back{z-index:1}.zenithium-blocks-flip-card-wrapper.flip-horizontal .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper.flip-horizontal.is-flipped .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.flip-horizontal.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:rotateY(-180deg)}.zenithium-blocks-flip-card-wrapper.flip-vertical .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper.flip-vertical.is-flipped .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.flip-vertical.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:rotateX(180deg)}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-content{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-title{color:inherit;font-size:1.35rem;font-weight:700;line-height:1.3;margin:0}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-desc{color:inherit;font-size:.95rem;line-height:1.5;margin:0;opacity:.9}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;margin-top:8px;padding:10px 22px;text-decoration:none;transition:opacity .2s ease,transform .2s ease}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-btn:hover{opacity:.92;transform:translateY(-2px)}.zenithium-blocks-flip-card-wrapper.trigger-click{cursor:pointer}1 .zenithium-blocks-flip-card-wrapper{background:transparent;border-radius:12px;perspective:1000px;position:relative;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-inner{border-radius:12px;min-height:inherit;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-front{align-items:center;backface-visibility:hidden;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);box-sizing:border-box;display:flex;justify-content:center;right:0;min-height:100%;padding:32px 24px;position:absolute;top:0;width:100%;will-change:transform}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-front{transform:rotateY(0deg);z-index:2}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-back{z-index:1}.zenithium-blocks-flip-card-wrapper.flip-horizontal .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper.flip-horizontal.is-flipped .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.flip-horizontal.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:rotateY(-180deg)}.zenithium-blocks-flip-card-wrapper.flip-vertical .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper.flip-vertical.is-flipped .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.flip-vertical.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:rotateX(180deg)}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-content{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-title{color:inherit;font-size:1.35rem;font-weight:700;line-height:1.3;margin:0}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-desc{color:inherit;font-size:.95rem;line-height:1.5;margin:0;opacity:.9}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;margin-top:8px;padding:10px 22px;text-decoration:none;transition:opacity .2s ease,transform .2s ease}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-btn:hover{opacity:.92;transform:translateY(-2px)}.zenithium-blocks-flip-card-wrapper.trigger-click{cursor:pointer} -
zenithium-blocks/trunk/build/blocks/flip-card/style-index.css
r3640847 r3769770 1 .zenithium-blocks-flip-card-wrapper{background:transparent;border-radius:12px;perspective:1000px;position:relative;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-inner{border-radius:12px; height:100%;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-front{align-items:center;backface-visibility:hidden;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);box-sizing:border-box;display:flex;height:100%;justify-content:center;left:0;padding:32px 24px;position:absolute;top:0;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-front{transform:rotateY(0deg);z-index:2}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-back{z-index:1}.zenithium-blocks-flip-card-wrapper.flip-horizontal .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper.flip-horizontal.is-flipped .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.flip-horizontal.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:rotateY(180deg)}.zenithium-blocks-flip-card-wrapper.flip-vertical .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper.flip-vertical.is-flipped .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.flip-vertical.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:rotateX(180deg)}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-content{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-title{color:inherit;font-size:1.35rem;font-weight:700;line-height:1.3;margin:0}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-desc{color:inherit;font-size:.95rem;line-height:1.5;margin:0;opacity:.9}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;margin-top:8px;padding:10px 22px;text-decoration:none;transition:opacity .2s ease,transform .2s ease}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-btn:hover{opacity:.92;transform:translateY(-2px)}.zenithium-blocks-flip-card-wrapper.trigger-click{cursor:pointer}1 .zenithium-blocks-flip-card-wrapper{background:transparent;border-radius:12px;perspective:1000px;position:relative;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-inner{border-radius:12px;min-height:inherit;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-front{align-items:center;backface-visibility:hidden;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);box-sizing:border-box;display:flex;justify-content:center;left:0;min-height:100%;padding:32px 24px;position:absolute;top:0;width:100%;will-change:transform}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-front{transform:rotateY(0deg);z-index:2}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-back{z-index:1}.zenithium-blocks-flip-card-wrapper.flip-horizontal .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper.flip-horizontal.is-flipped .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.flip-horizontal.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:rotateY(180deg)}.zenithium-blocks-flip-card-wrapper.flip-vertical .zenithium-blocks-flip-card-back,.zenithium-blocks-flip-card-wrapper.flip-vertical.is-flipped .zenithium-blocks-flip-card-inner,.zenithium-blocks-flip-card-wrapper.flip-vertical.trigger-hover:hover .zenithium-blocks-flip-card-inner{transform:rotateX(180deg)}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-content{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;width:100%}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-title{color:inherit;font-size:1.35rem;font-weight:700;line-height:1.3;margin:0}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-desc{color:inherit;font-size:.95rem;line-height:1.5;margin:0;opacity:.9}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;margin-top:8px;padding:10px 22px;text-decoration:none;transition:opacity .2s ease,transform .2s ease}.zenithium-blocks-flip-card-wrapper .zenithium-blocks-flip-card-btn:hover{opacity:.92;transform:translateY(-2px)}.zenithium-blocks-flip-card-wrapper.trigger-click{cursor:pointer} -
zenithium-blocks/trunk/build/blocks/flip-card/view.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array(), 'version' => ' 2f5315ea72670cba3b47');1 <?php return array('dependencies' => array(), 'version' => '7509f6ee7ec1a17c6a26'); -
zenithium-blocks/trunk/build/blocks/flip-card/view.js
r3640847 r3769770 1 document.addEventListener("DOMContentLoaded",()=>{document.addEventListener("click",t=>{if(t.target.closest(".zenithium-blocks-flip-card-btn"))return;const e=t.target.closest(".zenithium-blocks-flip-card-wrapper.trigger-click");e&&e.classList.toggle("is-flipped")})});1 (()=>{const e=()=>{document.addEventListener("click",e=>{if(e.target.closest(".zenithium-blocks-flip-card-btn"))return;const t=e.target.closest(".zenithium-blocks-flip-card-wrapper.trigger-click");t&&t.classList.toggle("is-flipped")}),document.addEventListener("keydown",e=>{if("Enter"!==e.key&&" "!==e.key)return;if(e.target.closest(".zenithium-blocks-flip-card-btn"))return;const t=e.target.closest(".zenithium-blocks-flip-card-wrapper.trigger-click");t&&(" "===e.key&&e.preventDefault(),t.classList.toggle("is-flipped"))})};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()})(); -
zenithium-blocks/trunk/build/blocks/image-comparison/block.json
r3640847 r3769770 4 4 "name": "zenithium-blocks/image-comparison", 5 5 "version": "1.0.0", 6 "title": " Image Comparison Slider",7 "category": " media",6 "title": "Zenithium Image Comparison Slider", 7 "category": "zenithium-blocks", 8 8 "icon": "format-gallery", 9 9 "description": "Interactive before and after image comparison slider.", … … 11 11 "before after", 12 12 "image comparison", 13 "slider" 13 "slider", 14 "diff" 14 15 ], 15 16 "textdomain": "zenithium-blocks", … … 26 27 }, 27 28 "attributes": { 29 "beforeImageId": { 30 "type": "number", 31 "default": 0 32 }, 28 33 "beforeImage": { 29 34 "type": "string", 30 35 "default": "" 31 36 }, 37 "beforeAlt": { 38 "type": "string", 39 "default": "Before image" 40 }, 41 "afterImageId": { 42 "type": "number", 43 "default": 0 44 }, 32 45 "afterImage": { 33 46 "type": "string", 34 47 "default": "" 48 }, 49 "afterAlt": { 50 "type": "string", 51 "default": "After image" 35 52 }, 36 53 "beforeLabel": { … … 45 62 "type": "number", 46 63 "default": 50 64 }, 65 "showLabels": { 66 "type": "boolean", 67 "default": true 47 68 } 48 69 }, 49 70 "editorScript": "file:./index.js", 50 "editorStyle": "file:./index.css",51 71 "style": "file:./style-index.css", 52 72 "render": "file:./render.php", -
zenithium-blocks/trunk/build/blocks/image-comparison/index.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => ' 0c0bf788108a75c6e0b5');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => 'c622996be3798cc9f055'); -
zenithium-blocks/trunk/build/blocks/image-comparison/index.js
r3640847 r3769770 1 (()=>{"use strict";var e={565(){const e=window.wp.blocks,i=window.wp.i18n, o=window.wp.blockEditor,n=window.wp.components,t=window.ReactJSXRuntime,l=JSON.parse('{"UU":"zenithium-blocks/image-comparison"}');(0,e.registerBlockType)(l.UU,{edit:function({attributes:e,setAttributes:l}){const s=(0,o.useBlockProps)({className:"zenithium-blocks-image-comparison-editor"}),{beforeImage:r,afterImage:a,beforeLabel:c,afterLabel:d,sliderPosition:u}=e;return(0,t.jsxs)("div",{...s,children:[(0,t.jsxs)(o.InspectorControls,{children:[(0,t.jsxs)(n.PanelBody,{title:(0,i.__)("Label Settings","zenithium-blocks"),children:[(0,t.jsx)(n.TextControl,{label:(0,i.__)("Before Label","zenithium-blocks"),value:c,onChange:e=>l({beforeLabel:e})}),(0,t.jsx)(n.TextControl,{label:(0,i.__)("After Label","zenithium-blocks"),value:d,onChange:e=>l({afterLabel:e})})]}),(0,t.jsx)(n.PanelBody,{title:(0,i.__)("Slider Settings","zenithium-blocks"),children:(0,t.jsx)(n.RangeControl,{label:(0,i.__)("Initial Position (%)","zenithium-blocks"),value:u,onChange:e=>l({sliderPosition:e}),min:0,max:100})})]}),(0,t.jsxs)("div",{className:"zenithium-blocks-controls-wrapper",children:[(0,t.jsx)(o.MediaUploadCheck,{children:(0,t.jsx)(o.MediaUpload,{onSelect:e=>l({beforeImage:e.url}),allowedTypes:["image"],value:r,render:({open:e})=>(0,t.jsx)(n.Button,{isSecondary:!0,onClick:e,children:r?(0,i.__)("Change Before Image","zenithium-blocks"):(0,i.__)("Select Before Image","zenithium-blocks")})})}),(0,t.jsx)(o.MediaUploadCheck,{children:(0,t.jsx)(o.MediaUpload,{onSelect:e=>l({afterImage:e.url}),allowedTypes:["image"],value:a,render:({open:e})=>(0,t.jsx)(n.Button,{isSecondary:!0,onClick:e,children:a?(0,i.__)("Change After Image","zenithium-blocks"):(0,i.__)("Select After Image","zenithium-blocks")})})})]}),(0,t.jsxs)("div",{className:"zenithium-blocks-preview-wrapper",children:[r&&(0,t.jsx)("img",{src:r,alt:"Before Preview"}),a&&(0,t.jsx)("img",{src:a,alt:"After Preview"})]})]})},save:()=>null})}};const i={};function o(n){const t=i[n];if(void 0!==t)return t.exports;const l=i[n]={exports:{}};return e[n](l,l.exports,o),l.exports}o.m=e,(()=>{const e=[];o.O=(i,n,t,l)=>{if(n){l=l||0;for(var s=e.length;s>0&&e[s-1][2]>l;s--)e[s]=e[s-1];return void(e[s]=[n,t,l])}let r=1/0;for(s=0;s<e.length;s++){let[n,t,l]=e[s],c=!0;for(var a=0;a<n.length;a++)(!1&l||r>=l)&&Object.keys(o.O).every(e=>o.O[e](n[a]))?n.splice(a--,1):(c=!1,l<r&&(r=l));if(c){e.splice(s--,1);const o=t();void 0!==o&&(i=o)}}return i}})(),o.o=(e,i)=>Object.hasOwn(e,i),(()=>{const e={62:0,538:0};o.O.j=i=>0===e[i];const i=(i,n)=>{let[t,l,s]=n;var r,a,c=0;if(t.some(i=>0!==e[i])){for(r in l)o.o(l,r)&&(o.m[r]=l[r]);if(s)var d=s(o)}for(i&&i(n);c<t.length;c++)a=t[c],o.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return o.O(d)},n=globalThis.webpackChunkzenithium_blocks||=[];n.forEach(i.bind(null,0)),n.push=i.bind(null,n.push.bind(n))})();let n=o.O(void 0,[538],()=>o(565));n=o.O(n)})();1 (()=>{"use strict";var e={565(){const e=window.wp.blocks,i=window.wp.i18n,l=window.wp.blockEditor,s=window.wp.components,o=window.ReactJSXRuntime,n=JSON.parse('{"UU":"zenithium-blocks/image-comparison"}');(0,e.registerBlockType)(n.UU,{edit:function({attributes:e,setAttributes:n}){const{beforeImage:t,beforeImageId:a,beforeAlt:r,afterImage:c,afterImageId:m,afterAlt:d,beforeLabel:h,afterLabel:b,sliderPosition:u,showLabels:f=!0}=e,g=(0,l.useBlockProps)({className:"zenithium-blocks-image-comparison-editor"});return(0,o.jsxs)("div",{...g,children:[(0,o.jsxs)(l.InspectorControls,{children:[(0,o.jsxs)(s.PanelBody,{title:(0,i.__)("Labels & Display","zenithium-blocks"),initialOpen:!0,children:[(0,o.jsx)(s.ToggleControl,{label:(0,i.__)("Show Overlay Labels","zenithium-blocks"),checked:f,onChange:e=>n({showLabels:e})}),f&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.TextControl,{label:(0,i.__)("Before Label","zenithium-blocks"),value:h,onChange:e=>n({beforeLabel:e})}),(0,o.jsx)(s.TextControl,{label:(0,i.__)("After Label","zenithium-blocks"),value:b,onChange:e=>n({afterLabel:e})})]})]}),(0,o.jsx)(s.PanelBody,{title:(0,i.__)("Slider Settings","zenithium-blocks"),initialOpen:!0,children:(0,o.jsx)(s.RangeControl,{label:(0,i.__)("Initial Position (%)","zenithium-blocks"),value:u,onChange:e=>n({sliderPosition:e}),min:0,max:100})}),(0,o.jsxs)(s.PanelBody,{title:(0,i.__)("Media Management","zenithium-blocks"),initialOpen:!1,children:[(0,o.jsxs)("div",{className:"zenithium-blocks-media-control-item",children:[(0,o.jsx)("p",{children:(0,o.jsx)("strong",{children:(0,i.__)("Before Image","zenithium-blocks")})}),t?(0,o.jsx)(s.Button,{isDestructive:!0,isLink:!0,onClick:()=>n({beforeImage:"",beforeImageId:0,beforeAlt:""}),children:(0,i.__)("Remove Before Image","zenithium-blocks")}):(0,o.jsx)("p",{className:"description",children:(0,i.__)("No image selected","zenithium-blocks")})]}),(0,o.jsxs)("div",{className:"zenithium-blocks-media-control-item",style:{marginTop:"16px"},children:[(0,o.jsx)("p",{children:(0,o.jsx)("strong",{children:(0,i.__)("After Image","zenithium-blocks")})}),c?(0,o.jsx)(s.Button,{isDestructive:!0,isLink:!0,onClick:()=>n({afterImage:"",afterImageId:0,afterAlt:""}),children:(0,i.__)("Remove After Image","zenithium-blocks")}):(0,o.jsx)("p",{className:"description",children:(0,i.__)("No image selected","zenithium-blocks")})]})]})]}),(0,o.jsxs)("div",{className:"zenithium-blocks-controls-wrapper",children:[(0,o.jsx)(l.MediaUploadCheck,{children:(0,o.jsx)(l.MediaUpload,{onSelect:e=>{n({beforeImage:e.url,beforeImageId:e.id,beforeAlt:e.alt||(0,i.__)("Before image","zenithium-blocks")})},allowedTypes:["image"],value:a,render:({open:e})=>(0,o.jsx)(s.Button,{isSecondary:!0,onClick:e,children:t?(0,i.__)("Change Before Image","zenithium-blocks"):(0,i.__)("Select Before Image","zenithium-blocks")})})}),(0,o.jsx)(l.MediaUploadCheck,{children:(0,o.jsx)(l.MediaUpload,{onSelect:e=>{n({afterImage:e.url,afterImageId:e.id,afterAlt:e.alt||(0,i.__)("After image","zenithium-blocks")})},allowedTypes:["image"],value:m,render:({open:e})=>(0,o.jsx)(s.Button,{isSecondary:!0,onClick:e,children:c?(0,i.__)("Change After Image","zenithium-blocks"):(0,i.__)("Select After Image","zenithium-blocks")})})})]}),t&&c?(0,o.jsxs)("div",{className:"zenithium-blocks-comparison-container",style:{position:"relative",overflow:"hidden"},children:[(0,o.jsxs)("div",{className:"zenithium-blocks-image-after",children:[(0,o.jsx)("img",{src:c,alt:d}),f&&b&&(0,o.jsx)("span",{className:"zenithium-blocks-label zenithium-blocks-label-after",children:b})]}),(0,o.jsxs)("div",{className:"zenithium-blocks-image-before",style:{position:"absolute",top:0,left:0,bottom:0,width:`${u}%`,overflow:"hidden"},children:[(0,o.jsx)("img",{src:t,alt:r}),f&&h&&(0,o.jsx)("span",{className:"zenithium-blocks-label zenithium-blocks-label-before",children:h})]}),(0,o.jsxs)("div",{className:"zenithium-blocks-comparison-handle",style:{left:`${u}%`},children:[(0,o.jsx)("div",{className:"zenithium-blocks-handle-line"}),(0,o.jsx)("div",{className:"zenithium-blocks-handle-button",children:(0,o.jsxs)("svg",{viewBox:"0 0 24 24",width:"20",height:"20",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,o.jsx)("polyline",{points:"15 18 9 12 15 6"}),(0,o.jsx)("polyline",{points:"9 18 15 12 9 6"})]})})]})]}):(0,o.jsx)("div",{className:"zenithium-blocks-placeholder",children:(0,o.jsx)("p",{children:(0,i.__)('Please select both a "Before" and "After" image to generate the comparison preview.',"zenithium-blocks")})})]})},save:()=>null})}};const i={};function l(s){const o=i[s];if(void 0!==o)return o.exports;const n=i[s]={exports:{}};return e[s](n,n.exports,l),n.exports}l.m=e,(()=>{const e=[];l.O=(i,s,o,n)=>{if(s){n=n||0;for(var t=e.length;t>0&&e[t-1][2]>n;t--)e[t]=e[t-1];return void(e[t]=[s,o,n])}let a=1/0;for(t=0;t<e.length;t++){let[s,o,n]=e[t],c=!0;for(var r=0;r<s.length;r++)(!1&n||a>=n)&&Object.keys(l.O).every(e=>l.O[e](s[r]))?s.splice(r--,1):(c=!1,n<a&&(a=n));if(c){e.splice(t--,1);const l=o();void 0!==l&&(i=l)}}return i}})(),l.o=(e,i)=>Object.hasOwn(e,i),(()=>{const e={62:0,538:0};l.O.j=i=>0===e[i];const i=(i,s)=>{let[o,n,t]=s;var a,r,c=0;if(o.some(i=>0!==e[i])){for(a in n)l.o(n,a)&&(l.m[a]=n[a]);if(t)var m=t(l)}for(i&&i(s);c<o.length;c++)r=o[c],l.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return l.O(m)},s=globalThis.webpackChunkzenithium_blocks||=[];s.forEach(i.bind(null,0)),s.push=i.bind(null,s.push.bind(s))})();let s=l.O(void 0,[538],()=>l(565));s=l.O(s)})(); -
zenithium-blocks/trunk/build/blocks/image-comparison/render.php
r3640847 r3769770 13 13 function ($attributes) { 14 14 $before_img = $attributes['beforeImage'] ?? ''; 15 $before_img_id = $attributes['beforeImageId'] ?? 0; 16 $before_alt = $attributes['beforeAlt'] ?? ''; 17 15 18 $after_img = $attributes['afterImage'] ?? ''; 19 $after_img_id = $attributes['afterImageId'] ?? 0; 20 $after_alt = $attributes['afterAlt'] ?? ''; 21 16 22 $before_label = $attributes['beforeLabel'] ?? 'Before'; 17 23 $after_label = $attributes['afterLabel'] ?? 'After'; 24 $show_labels = $attributes['showLabels'] ?? true; 18 25 $position = $attributes['sliderPosition'] ?? 50; 19 26 … … 32 39 <div class="zenithium-blocks-comparison-container" data-position="<?php echo esc_attr($position); ?>"> 33 40 34 <!-- After Image (Background) -->35 41 <div class="zenithium-blocks-image-after"> 36 <img src="<?php echo esc_url($after_img); ?>" 37 alt="<?php esc_attr_e('After Image', 'zenithium-blocks'); ?>" /> 38 <?php if (!empty($after_label)): ?> 42 <?php 43 if ($after_img_id > 0) { 44 echo wp_get_attachment_image( 45 $after_img_id, 46 'full', 47 false, 48 array( 49 'alt' => esc_attr($after_alt), 50 ) 51 ); 52 } else { 53 ?> 54 <img src="<?php echo esc_url($after_img); ?>" alt="<?php echo esc_attr($after_alt); ?>" /> 55 <?php 56 } 57 ?> 58 59 <?php if ($show_labels && !empty($after_label)): ?> 39 60 <span class="zenithium-blocks-label zenithium-blocks-label-after"> 40 61 <?php echo esc_html($after_label); ?> … … 43 64 </div> 44 65 45 <!-- Before Image (Clipped Overlay) --> 46 <div class="zenithium-blocks-image-before" style="<?php echo esc_attr(sprintf('width: %s%%;', $position)); ?>"> 47 <img src="<?php echo esc_url($before_img); ?>" 48 alt="<?php esc_attr_e('Before Image', 'zenithium-blocks'); ?>" /> 49 <?php if (!empty($before_label)): ?> 66 <div class="zenithium-blocks-image-before" 67 style="<?php echo esc_attr(sprintf('width: %s%%;', $position)); ?>"> 68 <?php 69 if ($before_img_id > 0) { 70 echo wp_get_attachment_image( 71 $before_img_id, 72 'full', 73 false, 74 array( 75 'alt' => esc_attr($before_alt), 76 ) 77 ); 78 } else { 79 ?> 80 <img src="<?php echo esc_url($before_img); ?>" alt="<?php echo esc_attr($before_alt); ?>" /> 81 <?php 82 } 83 ?> 84 85 <?php if ($show_labels && !empty($before_label)): ?> 50 86 <span class="zenithium-blocks-label zenithium-blocks-label-before"> 51 87 <?php echo esc_html($before_label); ?> … … 54 90 </div> 55 91 56 <!-- Range Slider Handle -->57 92 <input type="range" min="0" max="100" value="<?php echo esc_attr($position); ?>" 58 93 class="zenithium-blocks-comparison-slider" 59 94 aria-label="<?php esc_attr_e('Image comparison slider', 'zenithium-blocks'); ?>" /> 60 95 61 <!-- Visual Split Line & Knob -->62 96 <div class="zenithium-blocks-comparison-handle" 63 97 style="<?php echo esc_attr(sprintf('left: %s%%;', $position)); ?>"> -
zenithium-blocks/trunk/build/blocks/image-comparison/style-index-rtl.css
r3640847 r3769770 1 .zenithium-blocks-comparison- container{overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.zenithium-blocks-comparison-container img{display:block;height:auto;max-width:none;object-fit:cover;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-after{width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-before{height:100%;right:0;overflow:hidden;position:absolute;top:0;z-index:1}.zenithium-blocks-comparison-container .zenithium-blocks-image-before img{height:100%;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-slider{cursor:ew-resize;height:100%;right:0;margin:0;opacity:0;position:absolute;top:0;width:100%;z-index:3}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle{bottom:0;pointer-events:none;position:absolute;top:0;transform:translateX(50%);z-index:2}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-line{background:#fff;bottom:0;box-shadow:0 0 4px rgba(0,0,0,.4);right:50%;position:absolute;top:0;width:2px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-button{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.3);color:#333;display:flex;height:40px;justify-content:center;right:50%;position:absolute;top:50%;transform:translate(50%,-50%);width:40px}.zenithium-blocks-comparison-container .zenithium-blocks-label{backdrop-filter:blur(4px);background:rgba(0,0,0,.65);border-radius:4px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:6px 12px;pointer-events:none;position:absolute;text-transform:uppercase;top:15px;white-space:nowrap;z-index:2}.zenithium-blocks-comparison-container .zenithium-blocks-label.zenithium-blocks-label-before{right:15px}.zenithium-blocks-comparison-container .zenithium-blocks-label.zenithium-blocks-label-after{left:15px}1 .zenithium-blocks-comparison-wrapper{margin-bottom:1.5rem;margin-top:1.5rem;width:100%}.zenithium-blocks-comparison-container{overflow:hidden;position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none;width:100%}.zenithium-blocks-comparison-container img{display:block;height:auto;max-width:none;object-fit:cover;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-after{display:block;position:relative;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-after img{height:auto;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-before{height:100%;right:0;overflow:hidden;position:absolute;top:0;z-index:1}.zenithium-blocks-comparison-container .zenithium-blocks-image-before img{height:100%;right:0;max-width:none;object-fit:cover;position:absolute;top:0;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-slider{appearance:none;background:transparent;cursor:ew-resize;height:100%;right:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%;z-index:3}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-slider::-webkit-slider-thumb{appearance:none;cursor:ew-resize;height:100%;width:40px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-slider::-moz-range-thumb{background:transparent;border:none;cursor:ew-resize;height:100%;width:40px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle{bottom:0;pointer-events:none;position:absolute;top:0;transform:translateX(50%);transition:right .05s ease-out;z-index:2}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-line{background:#fff;bottom:0;box-shadow:0 0 6px rgba(0,0,0,.4);right:50%;position:absolute;top:0;transform:translateX(50%);width:2px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-button{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35);color:#1e1e1e;display:flex;height:40px;justify-content:center;right:50%;position:absolute;top:50%;transform:translate(50%,-50%);width:40px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-button svg{display:block}.zenithium-blocks-comparison-container .zenithium-blocks-label{backdrop-filter:blur(4px);background:rgba(0,0,0,.65);border-radius:4px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:6px 12px;pointer-events:none;position:absolute;text-transform:uppercase;top:15px;white-space:nowrap;z-index:2}.zenithium-blocks-comparison-container .zenithium-blocks-label.zenithium-blocks-label-before{right:15px}.zenithium-blocks-comparison-container .zenithium-blocks-label.zenithium-blocks-label-after{left:15px} -
zenithium-blocks/trunk/build/blocks/image-comparison/style-index.css
r3640847 r3769770 1 .zenithium-blocks-comparison- container{overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:100%}.zenithium-blocks-comparison-container img{display:block;height:auto;max-width:none;object-fit:cover;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-after{width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-before{height:100%;left:0;overflow:hidden;position:absolute;top:0;z-index:1}.zenithium-blocks-comparison-container .zenithium-blocks-image-before img{height:100%;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-slider{cursor:ew-resize;height:100%;left:0;margin:0;opacity:0;position:absolute;top:0;width:100%;z-index:3}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle{bottom:0;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);z-index:2}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-line{background:#fff;bottom:0;box-shadow:0 0 4px rgba(0,0,0,.4);left:50%;position:absolute;top:0;width:2px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-button{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.3);color:#333;display:flex;height:40px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}.zenithium-blocks-comparison-container .zenithium-blocks-label{backdrop-filter:blur(4px);background:rgba(0,0,0,.65);border-radius:4px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:6px 12px;pointer-events:none;position:absolute;text-transform:uppercase;top:15px;white-space:nowrap;z-index:2}.zenithium-blocks-comparison-container .zenithium-blocks-label.zenithium-blocks-label-before{left:15px}.zenithium-blocks-comparison-container .zenithium-blocks-label.zenithium-blocks-label-after{right:15px}1 .zenithium-blocks-comparison-wrapper{margin-bottom:1.5rem;margin-top:1.5rem;width:100%}.zenithium-blocks-comparison-container{overflow:hidden;position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none;width:100%}.zenithium-blocks-comparison-container img{display:block;height:auto;max-width:none;object-fit:cover;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-after{display:block;position:relative;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-after img{height:auto;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-image-before{height:100%;left:0;overflow:hidden;position:absolute;top:0;z-index:1}.zenithium-blocks-comparison-container .zenithium-blocks-image-before img{height:100%;left:0;max-width:none;object-fit:cover;position:absolute;top:0;width:100%}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-slider{appearance:none;background:transparent;cursor:ew-resize;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%;z-index:3}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-slider::-webkit-slider-thumb{appearance:none;cursor:ew-resize;height:100%;width:40px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-slider::-moz-range-thumb{background:transparent;border:none;cursor:ew-resize;height:100%;width:40px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle{bottom:0;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);transition:left .05s ease-out;z-index:2}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-line{background:#fff;bottom:0;box-shadow:0 0 6px rgba(0,0,0,.4);left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-button{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35);color:#1e1e1e;display:flex;height:40px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}.zenithium-blocks-comparison-container .zenithium-blocks-comparison-handle .zenithium-blocks-handle-button svg{display:block}.zenithium-blocks-comparison-container .zenithium-blocks-label{backdrop-filter:blur(4px);background:rgba(0,0,0,.65);border-radius:4px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;padding:6px 12px;pointer-events:none;position:absolute;text-transform:uppercase;top:15px;white-space:nowrap;z-index:2}.zenithium-blocks-comparison-container .zenithium-blocks-label.zenithium-blocks-label-before{left:15px}.zenithium-blocks-comparison-container .zenithium-blocks-label.zenithium-blocks-label-after{right:15px} -
zenithium-blocks/trunk/build/blocks/image-comparison/view.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array(), 'version' => ' f19d8677cebf396c94c8');1 <?php return array('dependencies' => array(), 'version' => 'e97d9d152e80ecb79458'); -
zenithium-blocks/trunk/build/blocks/image-comparison/view.js
r3640847 r3769770 1 document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".zenithium-blocks-comparison-container").forEach(e=>{const t=e.querySelector(".zenithium-blocks-comparison-slider"),o=e.querySelector(".zenithium-blocks-image-before"),n=e.querySelector(".zenithium-blocks-comparison-handle");t&&o&&n&&t.addEventListener("input",e=>{const t=e.target.value;o.style.width=`${t}%`,n.style.left=`${t}%`})})});1 !function(){"use strict";const e=()=>{document.querySelectorAll(".zenithium-blocks-comparison-container").forEach(e=>{const t=e.querySelector(".zenithium-blocks-comparison-slider"),n=e.querySelector(".zenithium-blocks-image-before"),o=e.querySelector(".zenithium-blocks-comparison-handle");if(!t||!n||!o)return;let i=!1;const r=e=>{const t=`${e}%`;n.style.width=t,o.style.left=t};t.addEventListener("input",e=>{const t=e.target.value;i||(window.requestAnimationFrame(()=>{r(t),i=!1}),i=!0)}),r(t.value||50)})};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}(); -
zenithium-blocks/trunk/build/blocks/sticky-cta/block.json
r3640847 r3769770 4 4 "name": "zenithium-blocks/sticky-cta", 5 5 "version": "1.0.0", 6 "title": " Floating Sticky CTA Bar",7 "category": " widgets",6 "title": "Zenithium Floating Sticky CTA Bar", 7 "category": "zenithium-blocks", 8 8 "icon": "megaphone", 9 9 "description": "A responsive floating banner for call-to-actions, announcements, and quick lead capture.", … … 23 23 "spacing": { 24 24 "margin": true, 25 "padding": true 25 "padding": true, 26 "blockGap": true 26 27 }, 27 28 "color": { 28 29 "text": true, 29 "background": true 30 "background": true, 31 "gradients": true, 32 "link": true, 33 "heading": true, 34 "button": true, 35 "enableContrastChecker": true 36 }, 37 "typography": { 38 "fontSize": true, 39 "lineHeight": true, 40 "fontFamily": true, 41 "fontWeight": true, 42 "fontStyle": true, 43 "textTransform": true, 44 "letterSpacing": true, 45 "textDecoration": true 46 }, 47 "border": { 48 "color": true, 49 "radius": true, 50 "style": true, 51 "width": true 30 52 } 31 53 }, -
zenithium-blocks/trunk/build/blocks/sticky-cta/index-rtl.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-sticky-cta{border-radius:8px;bottom:auto!important;margin-bottom:20px;margin-top:20px; position:relative!important;top:auto!important}1 .wp-block-zenithium-blocks-sticky-cta{border-radius:8px;bottom:auto!important;margin-bottom:20px;margin-top:20px;outline:1px dashed rgba(0,0,0,.15);outline-offset:2px;position:relative!important;top:auto!important;transition:outline-color .2s ease}.wp-block-zenithium-blocks-sticky-cta.is-selected,.wp-block-zenithium-blocks-sticky-cta:hover{outline-color:#2271b1}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close{cursor:default;opacity:.6}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn{cursor:text}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn .block-editor-rich-text__editable{display:inline-block;min-width:20px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn .block-editor-rich-text__editable:focus,.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message .block-editor-rich-text__editable:focus{outline:none}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message .block-editor-rich-text__editable[data-rich-text-placeholder]:empty:before{opacity:.6} -
zenithium-blocks/trunk/build/blocks/sticky-cta/index.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp- i18n'), 'version' => '1820974cf529a9a38e7b');1 <?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n'), 'version' => 'a4189bdd18496406e40b'); -
zenithium-blocks/trunk/build/blocks/sticky-cta/index.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-sticky-cta{border-radius:8px;bottom:auto!important;margin-bottom:20px;margin-top:20px; position:relative!important;top:auto!important}1 .wp-block-zenithium-blocks-sticky-cta{border-radius:8px;bottom:auto!important;margin-bottom:20px;margin-top:20px;outline:1px dashed rgba(0,0,0,.15);outline-offset:2px;position:relative!important;top:auto!important;transition:outline-color .2s ease}.wp-block-zenithium-blocks-sticky-cta.is-selected,.wp-block-zenithium-blocks-sticky-cta:hover{outline-color:#2271b1}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close{cursor:default;opacity:.6}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn{cursor:text}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn .block-editor-rich-text__editable{display:inline-block;min-width:20px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn .block-editor-rich-text__editable:focus,.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message .block-editor-rich-text__editable:focus{outline:none}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message .block-editor-rich-text__editable[data-rich-text-placeholder]:empty:before{opacity:.6} -
zenithium-blocks/trunk/build/blocks/sticky-cta/index.js
r3640847 r3769770 1 (()=>{"use strict";var e={ 243(){const e=window.wp.blocks,t=window.wp.blockEditor,o=window.wp.components,n=window.wp.i18n,l=JSON.parse('{"UU":"zenithium-blocks/sticky-cta"}'),i=window.ReactJSXRuntime;(0,e.registerBlockType)(l.UU,{edit:({attributes:e,setAttributes:l,clientId:s})=>{const{content:c,buttonText:r,buttonUrl:a,buttonTarget:u,position:h,isDismissible:b,ctaId:d,backgroundColor:x,textColor:m,btnBgColor:k,btnTextColor:g}=e;d||l({ctaId:`zb-cta-${s.slice(0,8)}`});const p=(0,t.useBlockProps)({className:`zenithium-blocks-sticky-cta position-${h}`,style:{backgroundColor:x,color:m}});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.InspectorControls,{children:[(0,i.jsxs)(o.PanelBody,{title:(0,n.__)("CTA Settings","zenithium-blocks"),initialOpen:!0,children:[(0,i.jsx)(o.SelectControl,{label:(0,n.__)("Position","zenithium-blocks"),value:h,options:[{label:(0,n.__)("Fixed Bottom","zenithium-blocks"),value:"bottom"},{label:(0,n.__)("Fixed Top","zenithium-blocks"),value:"top"}],onChange:e=>l({position:e})}),(0,i.jsx)(o.ToggleControl,{label:(0,n.__)("Allow Dismissal (Close Button)","zenithium-blocks"),checked:b,onChange:e=>l({isDismissible:e})}),(0,i.jsx)(o.ToggleControl,{label:(0,n.__)("Open Link in New Tab","zenithium-blocks"),checked:u,onChange:e=>l({buttonTarget:e})})]}),(0,i.jsxs)(o.PanelBody,{title:(0,n.__)("Colors & Styles","zenithium-blocks"),initialOpen:!1,children:[(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:(0,n.__)("Bar Background","zenithium-blocks")})}),(0,i.jsx)(o.ColorPalette,{value:x,onChange:e=>l({backgroundColor:e||"#0f172a"})}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:(0,n.__)("Bar Text Color","zenithium-blocks")})}),(0,i.jsx)(o.ColorPalette,{value:m,onChange:e=>l({textColor:e||"#ffffff"})}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:(0,n.__)("Button Background","zenithium-blocks")})}),(0,i.jsx)(o.ColorPalette,{value:k,onChange:e=>l({btnBgColor:e||"#2563eb"})}),(0,i.jsx)("p",{children:(0,i.jsx)("strong",{children:(0,n.__)("Button Text Color","zenithium-blocks")})}),(0,i.jsx)(o.ColorPalette,{value:g,onChange:e=>l({btnTextColor:e||"#ffffff"})})]}),(0,i.jsx)(o.PanelBody,{title:(0,n.__)("Button Link","zenithium-blocks"),initialOpen:!1,children:(0,i.jsx)(t.URLInput,{value:a,onChange:e=>l({buttonUrl:e}),isFullWidth:!0})})]}),(0,i.jsx)("div",{...p,children:(0,i.jsxs)("div",{className:"zenithium-blocks-cta-container",children:[(0,i.jsx)("div",{className:"zenithium-blocks-cta-message",children:(0,i.jsx)(t.RichText,{tagName:"div",value:c,onChange:e=>l({content:e}),placeholder:(0,n.__)("Write banner message...","zenithium-blocks"),allowedFormats:["core/bold","core/italic","core/link"]})}),(0,i.jsxs)("div",{className:"zenithium-blocks-cta-action",children:[(0,i.jsx)("span",{className:"zenithium-blocks-cta-btn",style:{backgroundColor:k,color:g},children:(0,i.jsx)(t.RichText,{tagName:"span",value:r,onChange:e=>l({buttonText:e}),placeholder:(0,n.__)("Button Text","zenithium-blocks"),allowedFormats:[]})}),b&&(0,i.jsx)("button",{type:"button",className:"zenithium-blocks-cta-close","aria-label":"Close",children:"×"})]})]})})]})},save:()=>null})}};const t={};function o(n){const l=t[n];if(void 0!==l)return l.exports;const i=t[n]={exports:{}};return e[n](i,i.exports,o),i.exports}o.m=e,(()=>{const e=[];o.O=(t,n,l,i)=>{if(n){i=i||0;for(var s=e.length;s>0&&e[s-1][2]>i;s--)e[s]=e[s-1];return void(e[s]=[n,l,i])}let c=1/0;for(s=0;s<e.length;s++){let[n,l,i]=e[s],a=!0;for(var r=0;r<n.length;r++)(!1&i||c>=i)&&Object.keys(o.O).every(e=>o.O[e](n[r]))?n.splice(r--,1):(a=!1,i<c&&(c=i));if(a){e.splice(s--,1);const o=l();void 0!==o&&(t=o)}}return t}})(),o.o=(e,t)=>Object.hasOwn(e,t),(()=>{const e={89:0,541:0};o.O.j=t=>0===e[t];const t=(t,n)=>{let[l,i,s]=n;var c,r,a=0;if(l.some(t=>0!==e[t])){for(c in i)o.o(i,c)&&(o.m[c]=i[c]);if(s)var u=s(o)}for(t&&t(n);a<l.length;a++)r=l[a],o.o(e,r)&&e[r]&&e[r][0](),e[r]=0;return o.O(u)},n=globalThis.webpackChunkzenithium_blocks||=[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();let n=o.O(void 0,[541],()=>o(243));n=o.O(n)})();1 (()=>{"use strict";var e={983(){const e=window.wp.blocks,t=window.wp.blockEditor,o=window.wp.components,n=window.wp.i18n,l=window.wp.element,i=JSON.parse('{"UU":"zenithium-blocks/sticky-cta"}'),s=window.ReactJSXRuntime,a=(e,t="")=>e?"string"==typeof e&&e.startsWith("var:preset|color|")?`var(--wp--preset--color--${e.replace("var:preset|color|","")})`:e:t;(0,e.registerBlockType)(i.UU,{edit:function({attributes:e,setAttributes:i,clientId:c}){const{content:r,buttonText:b,buttonUrl:u,buttonTarget:h,position:d,isDismissible:m,ctaId:f,backgroundColor:p,textColor:k,btnBgColor:g,btnTextColor:x}=e;(0,l.useEffect)(()=>{f||i({ctaId:`zb-cta-${c.slice(0,8)}`})},[f,c,i]);const _=(0,t.useBlockProps)({className:`zenithium-blocks-sticky-cta position-${d}`,style:{"--zb-cta-bg":a(p,"#0f172a"),"--zb-cta-text":a(k,"#ffffff"),"--zb-btn-bg":a(g,"#2563eb"),"--zb-btn-text":a(x,"#ffffff")}});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.InspectorControls,{children:[(0,s.jsxs)(o.PanelBody,{title:(0,n.__)("CTA Settings","zenithium-blocks"),initialOpen:!0,children:[(0,s.jsx)(o.SelectControl,{label:(0,n.__)("Position","zenithium-blocks"),value:d,options:[{label:(0,n.__)("Fixed Bottom","zenithium-blocks"),value:"bottom"},{label:(0,n.__)("Fixed Top","zenithium-blocks"),value:"top"}],onChange:e=>i({position:e})}),(0,s.jsx)(o.ToggleControl,{label:(0,n.__)("Allow Dismissal (Close Button)","zenithium-blocks"),checked:m,onChange:e=>i({isDismissible:e})}),(0,s.jsx)(o.ToggleControl,{label:(0,n.__)("Open Link in New Tab","zenithium-blocks"),checked:h,onChange:e=>i({buttonTarget:e})})]}),(0,s.jsx)(o.PanelBody,{title:(0,n.__)("Button Link","zenithium-blocks"),initialOpen:!1,children:(0,s.jsx)(t.URLInput,{value:u,onChange:e=>i({buttonUrl:e}),isFullWidth:!0})}),(0,s.jsx)(t.PanelColorSettings,{title:(0,n.__)("Color Settings","zenithium-blocks"),initialOpen:!1,enableAlpha:!0,colorSettings:[{value:p,onChange:e=>i({backgroundColor:e||"#0f172a"}),label:(0,n.__)("Bar Background","zenithium-blocks")},{value:k,onChange:e=>i({textColor:e||"#ffffff"}),label:(0,n.__)("Bar Text Color","zenithium-blocks")},{value:g,onChange:e=>i({btnBgColor:e||"#2563eb"}),label:(0,n.__)("Button Background","zenithium-blocks")},{value:x,onChange:e=>i({btnTextColor:e||"#ffffff"}),label:(0,n.__)("Button Text Color","zenithium-blocks")}]})]}),(0,s.jsx)("div",{..._,children:(0,s.jsxs)("div",{className:"zenithium-blocks-cta-container",children:[(0,s.jsx)("div",{className:"zenithium-blocks-cta-message",children:(0,s.jsx)(t.RichText,{tagName:"div",value:r,onChange:e=>i({content:e}),placeholder:(0,n.__)("Write banner message...","zenithium-blocks"),allowedFormats:["core/bold","core/italic","core/link"]})}),(0,s.jsxs)("div",{className:"zenithium-blocks-cta-action",children:[(0,s.jsx)("span",{className:"zenithium-blocks-cta-btn",children:(0,s.jsx)(t.RichText,{tagName:"span",value:b,onChange:e=>i({buttonText:e}),placeholder:(0,n.__)("Button Text","zenithium-blocks"),allowedFormats:[],multiline:!1})}),m&&(0,s.jsx)("button",{type:"button",className:"zenithium-blocks-cta-close","aria-label":(0,n.__)("Close","zenithium-blocks"),children:"×"})]})]})})]})},save:()=>null})}};const t={};function o(n){const l=t[n];if(void 0!==l)return l.exports;const i=t[n]={exports:{}};return e[n](i,i.exports,o),i.exports}o.m=e,(()=>{const e=[];o.O=(t,n,l,i)=>{if(n){i=i||0;for(var s=e.length;s>0&&e[s-1][2]>i;s--)e[s]=e[s-1];return void(e[s]=[n,l,i])}let a=1/0;for(s=0;s<e.length;s++){let[n,l,i]=e[s],r=!0;for(var c=0;c<n.length;c++)(!1&i||a>=i)&&Object.keys(o.O).every(e=>o.O[e](n[c]))?n.splice(c--,1):(r=!1,i<a&&(a=i));if(r){e.splice(s--,1);const o=l();void 0!==o&&(t=o)}}return t}})(),o.o=(e,t)=>Object.hasOwn(e,t),(()=>{const e={89:0,541:0};o.O.j=t=>0===e[t];const t=(t,n)=>{let[l,i,s]=n;var a,c,r=0;if(l.some(t=>0!==e[t])){for(a in i)o.o(i,a)&&(o.m[a]=i[a]);if(s)var b=s(o)}for(t&&t(n);r<l.length;r++)c=l[r],o.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return o.O(b)},n=globalThis.webpackChunkzenithium_blocks||=[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();let n=o.O(void 0,[541],()=>o(983));n=o.O(n)})(); -
zenithium-blocks/trunk/build/blocks/sticky-cta/render.php
r3640847 r3769770 1 1 <?php 2 2 /** 3 * Render template for Floating Sticky CTA Bar3 * Dynamic render template for Floating Sticky CTA Bar block. 4 4 * 5 5 * @package ZenithiumBlocks … … 12 12 call_user_func( 13 13 function ($attributes) { 14 $content = $attributes['content'] ?? ''; 15 $button_text = $attributes['buttonText'] ?? ''; 16 $button_url = $attributes['buttonUrl'] ?? '#'; 17 $button_target = !empty($attributes['buttonTarget']) ? '_blank' : '_self'; 18 $position = $attributes['position'] ?? 'bottom'; 19 $is_dismissible = $attributes['isDismissible'] ?? true; 20 $cta_id = !empty($attributes['ctaId']) ? $attributes['ctaId'] : 'zb-cta-default'; 14 $format_color = function ($color, $default = '') { 15 if (empty($color)) { 16 return $default; 17 } 18 if (is_string($color) && str_starts_with($color, 'var:preset|color|')) { 19 $slug = str_replace('var:preset|color|', '', $color); 20 return "var(--wp--preset--color--{$slug})"; 21 } 22 return $color; 23 }; 21 24 22 $bg_color = $attributes['backgroundColor'] ?? '#0f172a'; 23 $text_color = $attributes['textColor'] ?? '#ffffff'; 24 $btn_bg_color = $attributes['btnBgColor'] ?? '#2563eb'; 25 $btn_text_color = $attributes['btnTextColor'] ?? '#ffffff'; 25 $content = $attributes['content'] ?? ''; 26 $button_text = $attributes['buttonText'] ?? ''; 27 $button_url = $attributes['buttonUrl'] ?? '#'; 28 $button_target = !empty($attributes['buttonTarget']) ? '_blank' : '_self'; 29 $position = $attributes['position'] ?? 'bottom'; 30 $is_dismissible = isset($attributes['isDismissible']) ? (bool) $attributes['isDismissible'] : true; 31 $cta_id = !empty($attributes['ctaId']) ? $attributes['ctaId'] : 'zb-cta-default'; 32 33 $bg_color = $format_color($attributes['backgroundColor'] ?? '', '#0f172a'); 34 $text_color = $format_color($attributes['textColor'] ?? '', '#ffffff'); 35 $btn_bg_color = $format_color($attributes['btnBgColor'] ?? '', '#2563eb'); 36 $btn_text_color = $format_color($attributes['btnTextColor'] ?? '', '#ffffff'); 26 37 27 38 $wrapper_classes = sprintf( … … 30 41 ); 31 42 43 $rel_attr = ('_blank' === $button_target) ? 'noopener noreferrer' : ''; 44 45 $wrapper_style = sprintf( 46 '--zb-cta-bg: %s; --zb-cta-text: %s; --zb-btn-bg: %s; --zb-btn-text: %s; background-color: %s; color: %s;', 47 esc_attr($bg_color), 48 esc_attr($text_color), 49 esc_attr($btn_bg_color), 50 esc_attr($btn_text_color), 51 esc_attr($bg_color), 52 esc_attr($text_color) 53 ); 54 32 55 $wrapper_attributes = get_block_wrapper_attributes( 33 56 array( 34 'class' => $wrapper_classes,57 'class' => $wrapper_classes, 35 58 'data-cta-id' => esc_attr($cta_id), 36 'style' => sprintf('background-color: %s; color: %s;', esc_attr($bg_color), esc_attr($text_color)),59 'style' => $wrapper_style, 37 60 ) 38 61 ); … … 47 70 <div class="zenithium-blocks-cta-action"> 48 71 <?php if (!empty($button_text)): ?> 49 <a href="<?php echo esc_url($button_url); ?>" target="<?php echo esc_attr($button_target); ?>" 50 rel="<?php echo '_blank' === $button_target ? 'noopener noreferrer' : ''; ?>" 51 class="zenithium-blocks-cta-btn" 52 style="<?php echo esc_attr(sprintf('background-color: %s; color: %s;', $btn_bg_color, $btn_text_color)); ?>"> 72 <a href="<?php echo esc_url($button_url); ?>" 73 target="<?php echo esc_attr($button_target); ?>" 74 <?php echo !empty($rel_attr) ? 'rel="' . esc_attr($rel_attr) . '"' : ''; ?> 75 class="zenithium-blocks-cta-btn" 76 style="background-color: var(--zb-btn-bg, <?php echo esc_attr($btn_bg_color); ?>); color: var(--zb-btn-text, <?php echo esc_attr($btn_text_color); ?>);" 77 > 53 78 <?php echo esc_html($button_text); ?> 54 79 </a> … … 56 81 57 82 <?php if ($is_dismissible): ?> 58 <button type="button" class="zenithium-blocks-cta-close" 59 aria-label="<?php esc_attr_e('Close notification', 'zenithium-blocks'); ?>"> 83 <button type="button" 84 class="zenithium-blocks-cta-close" 85 aria-label="<?php esc_attr_e('Close notification', 'zenithium-blocks'); ?>" 86 > 60 87 × 61 88 </button> … … 66 93 <?php 67 94 }, 68 $attributes 95 $attributes ?? [] 69 96 ); -
zenithium-blocks/trunk/build/blocks/sticky-cta/style-index-rtl.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-sticky-cta,.zenithium-blocks-sticky-cta{box-sizing:border-box;right:0 !important;padding:14px 24px;position:fixed!important;left:0!important;transition:transform .3s ease,opacity .3s ease;width:100vw!important;z-index:999999!important}.wp-block-zenithium-blocks-sticky-cta.position-bottom,.zenithium-blocks-sticky-cta.position-bottom{bottom:0!important;box-shadow:0 -4px 20px rgba(0,0,0,.2);top:auto!important}.wp-block-zenithium-blocks-sticky-cta.position-top,.zenithium-blocks-sticky-cta.position-top{bottom:auto!important;box-shadow:0 4px 20px rgba(0,0,0,.2);top:0!important}.wp-block-zenithium-blocks-sticky-cta.is-hidden,.zenithium-blocks-sticky-cta.is-hidden{display:none!important}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-container,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-container{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message{font-size:.95rem;line-height:1.4}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message p,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message p{margin:0}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message strong,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message strong{font-weight:600}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-action,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-action{align-items:center;display:flex;flex-shrink:0;gap:12px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;padding:8px 18px;text-align:center;text-decoration:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn:hover,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn:hover{opacity:.9;transform:translateY(-1px)}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close{background:transparent;border:none;color:inherit;cursor:pointer;font-size:1.4rem;line-height:1;opacity:.8;padding:4px 8px;transition:opacity .2s ease}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:hover,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:hover{opacity:1}@media(max-width:768px){.wp-block-zenithium-blocks-sticky-cta,.zenithium-blocks-sticky-cta{padding:12px 16px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-container,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-container{flex-direction:column;gap:10px;text-align:center}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-action,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-action{justify-content:center;width:100%}}1 .wp-block-zenithium-blocks-sticky-cta,.zenithium-blocks-sticky-cta{box-sizing:border-box;right:0;padding:14px 24px;position:fixed;left:0;transition:transform .3s ease,opacity .3s ease;width:100%;z-index:99999}.wp-block-zenithium-blocks-sticky-cta.position-bottom,.zenithium-blocks-sticky-cta.position-bottom{bottom:0;box-shadow:0 -4px 20px rgba(0,0,0,.15);top:auto}.wp-block-zenithium-blocks-sticky-cta.position-top,.zenithium-blocks-sticky-cta.position-top{bottom:auto;box-shadow:0 4px 20px rgba(0,0,0,.15);top:0}.wp-block-zenithium-blocks-sticky-cta.is-hidden,.zenithium-blocks-sticky-cta.is-hidden{display:none!important}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-container,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-container{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message{font-size:.95rem;line-height:1.4}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message p,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message p{margin:0!important;padding:0!important}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message strong,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message strong{font-weight:600}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message a,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message a{color:inherit;text-decoration:underline}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-action,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-action{align-items:center;display:flex;flex-shrink:0;gap:12px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;line-height:1.3;padding:8px 18px;text-align:center;text-decoration:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn:hover,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn:hover{opacity:.9;transform:translateY(-1px)}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close{background:transparent;border:none;border-radius:4px;color:inherit;cursor:pointer;font-size:1.4rem;line-height:1;opacity:.8;padding:4px 8px;transition:opacity .2s ease}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:hover,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:hover{background-color:hsla(0,0%,100%,.1);opacity:1}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:focus-visible,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:focus-visible{outline:2px solid currentcolor}body.admin-bar .zenithium-blocks-sticky-cta.position-top{top:32px}@media screen and (max-width:782px){body.admin-bar .zenithium-blocks-sticky-cta.position-top{top:46px}}@media(max-width:768px){.wp-block-zenithium-blocks-sticky-cta,.zenithium-blocks-sticky-cta{padding:12px 16px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-container,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-container{flex-direction:column;gap:10px;text-align:center}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-action,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-action{justify-content:center;width:100%}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn{flex-grow:1;max-width:280px}} -
zenithium-blocks/trunk/build/blocks/sticky-cta/style-index.css
r3640847 r3769770 1 .wp-block-zenithium-blocks-sticky-cta,.zenithium-blocks-sticky-cta{box-sizing:border-box;left:0 !important;padding:14px 24px;position:fixed!important;right:0!important;transition:transform .3s ease,opacity .3s ease;width:100vw!important;z-index:999999!important}.wp-block-zenithium-blocks-sticky-cta.position-bottom,.zenithium-blocks-sticky-cta.position-bottom{bottom:0!important;box-shadow:0 -4px 20px rgba(0,0,0,.2);top:auto!important}.wp-block-zenithium-blocks-sticky-cta.position-top,.zenithium-blocks-sticky-cta.position-top{bottom:auto!important;box-shadow:0 4px 20px rgba(0,0,0,.2);top:0!important}.wp-block-zenithium-blocks-sticky-cta.is-hidden,.zenithium-blocks-sticky-cta.is-hidden{display:none!important}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-container,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-container{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message{font-size:.95rem;line-height:1.4}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message p,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message p{margin:0}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message strong,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message strong{font-weight:600}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-action,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-action{align-items:center;display:flex;flex-shrink:0;gap:12px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;padding:8px 18px;text-align:center;text-decoration:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn:hover,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn:hover{opacity:.9;transform:translateY(-1px)}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close{background:transparent;border:none;color:inherit;cursor:pointer;font-size:1.4rem;line-height:1;opacity:.8;padding:4px 8px;transition:opacity .2s ease}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:hover,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:hover{opacity:1}@media(max-width:768px){.wp-block-zenithium-blocks-sticky-cta,.zenithium-blocks-sticky-cta{padding:12px 16px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-container,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-container{flex-direction:column;gap:10px;text-align:center}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-action,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-action{justify-content:center;width:100%}}1 .wp-block-zenithium-blocks-sticky-cta,.zenithium-blocks-sticky-cta{box-sizing:border-box;left:0;padding:14px 24px;position:fixed;right:0;transition:transform .3s ease,opacity .3s ease;width:100%;z-index:99999}.wp-block-zenithium-blocks-sticky-cta.position-bottom,.zenithium-blocks-sticky-cta.position-bottom{bottom:0;box-shadow:0 -4px 20px rgba(0,0,0,.15);top:auto}.wp-block-zenithium-blocks-sticky-cta.position-top,.zenithium-blocks-sticky-cta.position-top{bottom:auto;box-shadow:0 4px 20px rgba(0,0,0,.15);top:0}.wp-block-zenithium-blocks-sticky-cta.is-hidden,.zenithium-blocks-sticky-cta.is-hidden{display:none!important}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-container,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-container{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message{font-size:.95rem;line-height:1.4}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message p,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message p{margin:0!important;padding:0!important}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message strong,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message strong{font-weight:600}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-message a,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-message a{color:inherit;text-decoration:underline}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-action,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-action{align-items:center;display:flex;flex-shrink:0;gap:12px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn{border-radius:6px;display:inline-block;font-size:.9rem;font-weight:600;line-height:1.3;padding:8px 18px;text-align:center;text-decoration:none;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn:hover,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn:hover{opacity:.9;transform:translateY(-1px)}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close{background:transparent;border:none;border-radius:4px;color:inherit;cursor:pointer;font-size:1.4rem;line-height:1;opacity:.8;padding:4px 8px;transition:opacity .2s ease}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:hover,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:hover{background-color:hsla(0,0%,100%,.1);opacity:1}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:focus-visible,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-close:focus-visible{outline:2px solid currentcolor}body.admin-bar .zenithium-blocks-sticky-cta.position-top{top:32px}@media screen and (max-width:782px){body.admin-bar .zenithium-blocks-sticky-cta.position-top{top:46px}}@media(max-width:768px){.wp-block-zenithium-blocks-sticky-cta,.zenithium-blocks-sticky-cta{padding:12px 16px}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-container,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-container{flex-direction:column;gap:10px;text-align:center}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-action,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-action{justify-content:center;width:100%}.wp-block-zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn,.zenithium-blocks-sticky-cta .zenithium-blocks-cta-btn{flex-grow:1;max-width:280px}} -
zenithium-blocks/trunk/build/blocks/sticky-cta/view.asset.php
r3640847 r3769770 1 <?php return array('dependencies' => array(), 'version' => ' 8140a5fcaef753ff1688');1 <?php return array('dependencies' => array(), 'version' => 'f519882aeb731f1ccbc9'); -
zenithium-blocks/trunk/build/blocks/sticky-cta/view.js
r3640847 r3769770 1 document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".zenithium-blocks-sticky-cta").forEach(t=>{const e=t.dataset.ctaId;e&&"true"===sessionStorage.getItem(`dismissed_${e}`)&&t.classList.add("is-hidden")}),document.addEventListener("click",t=>{const e=t.target.closest(".zenithium-blocks-cta-close");if(!e)return;t.preventDefault();const s=e.closest(".zenithium-blocks-sticky-cta")||e.closest(".wp-block-zenithium-blocks-sticky-cta");if(!s)return;s.classList.add("is-hidden");const c=s.dataset.ctaId;c&&sessionStorage.setItem(`dismissed_${c}`,"true")})});1 !function(){"use strict";const t="dismissed_",e=()=>{document.querySelectorAll(".zenithium-blocks-sticky-cta").forEach(e=>{(e=>{try{return e&&"true"===sessionStorage.getItem(`${t}${e}`)}catch(t){return!1}})(e.dataset.ctaId)&&e.classList.add("is-hidden")})},s=()=>{document.addEventListener("click",e=>{const s=e.target.closest(".zenithium-blocks-cta-close");if(!s)return;e.preventDefault();const c=s.closest(".zenithium-blocks-sticky-cta")||s.closest('[class*="wp-block-zenithium"]');c&&(c.classList.add("is-dismissing"),c.classList.add("is-hidden"),(e=>{try{e&&sessionStorage.setItem(`${t}${e}`,"true")}catch(t){}})(c.dataset.ctaId))})};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{e(),s()}):(e(),s())}(); -
zenithium-blocks/trunk/readme.txt
r3644653 r3769770 1 1 === Zenithium Blocks – Modern Interactive Block Suite === 2 2 Contributors: mdsabir07, msitheme 3 Tags: accordion, carousel, counter, image comparison, block-editor3 Tags: accordion, carousel, counter, image comparison, tabs, pricing table, testimonial, block-editor 4 4 Requires at least: 6.8 5 5 Tested up to: 7.1 6 6 Requires PHP: 8.0 7 Stable tag: 1. 0.17 Stable tag: 1.1.1 8 8 License: GPL-2.0-or-later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 High-demand modern interactive block suite for the WordPress Block Editor .11 High-demand modern interactive block suite for the WordPress Block Editor with advanced native customization controls and layout components. 12 12 13 13 == Description == 14 14 15 Zenithium Blocks is a collection of modern, performant, and interactive WordPress blocks designed to enhance your WordPress block editing experience.15 Zenithium Blocks is a powerful collection of modern, high-performance, and interactive WordPress blocks designed to elevate your Gutenberg block editing experience. Built cleanly with native components and zero third-party script bloat. 16 16 17 17 🔗 **Live Demo:** [View Zenithium Blocks Live Demo](https://sabir.coderdevsbd.com/zenithium-blocks/) 18 18 19 ### ✨ What's New in Version 1.1.1 (Major Suite Expansion) 20 - **3 New Conversion & Layout Blocks Added**: 21 - **Zenithium Pricing Card**: Feature-rich, conversion-focused pricing tables with custom highlights and CTA buttons. 22 - **Zenithium Testimonial Card**: Elegant testimonial layouts with ratings, avatars, and author details. 23 - **Zenithium Tabs Group & Tab Item**: Fully dynamic, accessible tabbed content containers for structured layouts. 24 - **Unified Architecture & Native Supports**: Completely refactored block suite leveraging WordPress native inspector supports (`color`, `typography`, `border`, and `spacing`). 25 - **Granular Customization**: Enhanced controls for header backgrounds, hover states, text colors, and icon styling across individual items. 26 - **Strict Coding Standards & Compliance**: Fully audited using Plugin Check with clean PHP localization/translators documentation and prefix namespacing. 27 19 28 ### Key Features 20 * **Accessible Accordion & FAQ**: Expandable content blocks with customizable icons, auto-close behavior, and smooth toggling. 21 * **Modern Interactive Carousel**: Fully responsive slider block with customizable slide alignments and smooth transitions. 22 * **Animated Stats Counter**: Eye-catching numerical counter block with customizable prefix, suffix, and scroll animations. 23 * **Image Comparison Slider**: Interactive before/after image comparison slider. 24 * **Floating Sticky CTA Bar**: High-converting sticky call-to-action bar for driving conversions across devices. 25 * **Interactive Flip Card**: Engaging 3D double-sided flip card block for showcasing products, features, or team members. 26 * **Lightweight & Fast**: Built using native WordPress block components (`@wordpress/block-editor`) with zero external bloat. 27 * **Full Site Editing (FSE) Ready**: Seamlessly integrates with block themes and classic themes alike. 29 - **Accessible Accordion & FAQ**: Expandable group and child blocks with auto-close behavior, custom icons, typography controls, and built-in FAQPage JSON-LD schema generation. 30 - **Modern Interactive Carousel**: Fully responsive slider block with customizable slide alignments and smooth transitions. 31 - **Animated Stats Counter**: Eye-catching numerical counter block with customizable prefix, suffix, and scroll animations. 32 - **Image Comparison Slider**: Interactive before/after image comparison slider. 33 - **Floating Sticky CTA Bar**: High-converting sticky call-to-action bar for driving conversions across devices. 34 - **Interactive Flip Card**: Engaging 3D double-sided flip card block for showcasing products, features, or team members. 35 - **Pricing & Testimonial Cards**: Professional business blocks to drive sales and display social proof. 36 - **Tabs Group Suite**: Organize complex content seamlessly into accessible, interactive tabs. 37 - **Lightweight & Fast**: Built using native WordPress block components (`@wordpress/block-editor`) with zero external bloat. 38 - **Full Site Editing (FSE) Ready**: Seamlessly integrates with block themes and classic themes alike. 28 39 29 40 == Installation == … … 36 47 37 48 = Does Zenithium Blocks work with any theme? = 38 Yes! Zenithium Blocks is designed to work with all block themes (FSE) as well as classic themes that support block editor. 49 Yes! Zenithium Blocks is designed to work with all block themes (FSE) as well as classic themes that support the block editor. 50 51 = Can I customize individual block styles and colors? = 52 Yes! Version 1.1.1 introduces deep granular customization controls allowing you to override typography, backgrounds, text colors, and hover states per item or globally. 39 53 40 54 == Screenshots == 41 55 42 1. Backend Block Editor controls for the Image Comparison and Accordionblocks.43 2. Frontend display of the Image Comparison slider and Accordion block.56 1. Backend Block Editor controls for the Tabs and Pricing Card blocks. 57 2. Frontend display of the Testimonial Card and Pricing Tables. 44 58 3. Backend customization options for the Animated Stats Counter block. 45 59 4. Live frontend view of the Animated Stats Counter and Interactive Flip Card. … … 49 63 == Changelog == 50 64 65 = 1.1.1 = 66 - Major Feature Release: Added 3 new blocks (Zenithium Pricing Card, Zenithium Testimonial Card, Zenithium Tabs Group & Tab Item). 67 - Major Architecture Update: Refactored entire block suite architecture to incorporate comprehensive native WordPress supports (typography, advanced borders, text/background/heading colors). 68 - Enhancement: Added dedicated inspector controls and hover state styling for individual components. 69 - Fix: Resolved all PHPCS linter warnings with proper `/* translators: */` comments and prefix namespacing across all dynamic render templates. 70 - Compatibility: Fully verified and optimized for WordPress 7.1 and modern Gutenberg environments. 71 51 72 = 1.0.1 = 52 *Update: Tested and confirmed compatible with WordPress 7.1.53 *Fix: Added Author URI and updated metadata attributes.73 - Update: Tested and confirmed compatible with WordPress 7.1. 74 - Fix: Added Author URI and updated metadata attributes. 54 75 55 76 = 1.0.0 = 56 * Initial official release. 57 * Added Accordion & Accordion Group block. 58 * Added Modern Interactive Carousel block. 59 * Added Animated Stats Counter block. 60 * Added Image Comparison block. 61 * Added Floating Sticky CTA Bar block. 62 * Added Interactive Flip Card block. 77 - Initial official release. 78 - Added Accordion, Carousel, Counter, Image Comparison, Sticky CTA, and Flip Card blocks. 63 79 64 80 == Upgrade Notice == 65 81 66 = 1. 0.1 =67 Tested and confirmed compatible with WordPress 7.1. Update isrecommended for all users.82 = 1.1.1 = 83 Major feature update adding 3 brand-new blocks, deep native customization supports, and full WordPress 7.1 compatibility. Update recommended for all users. -
zenithium-blocks/trunk/zenithium-blocks.php
r3644653 r3769770 3 3 * Plugin Name: Zenithium Blocks – Modern Interactive Block Suite 4 4 * Description: High-demand modern interactive block suite for the WordPress Block Editor. 5 * Version: 1. 0.15 * Version: 1.1.1 6 6 * Requires at least: 6.8 7 7 * Requires PHP: 8.0 8 8 * Author: mdsabir07, msitheme 9 * Author URI: https://profiles.wordpress.org/mdsabir07/10 9 * License: GPL-2.0-or-later 11 10 * License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 33 32 } 34 33 35 // 2. WP 6.7 Metadata Collection Fallback34 // 2. WP 6.7 Metadata Collection API (Only register collection, do NOT loop register_block_type_from_metadata) 36 35 if (function_exists('wp_register_block_metadata_collection') && file_exists($manifest_file)) { 37 36 wp_register_block_metadata_collection($blocks_dir, $manifest_file); 38 $manifest_data = require $manifest_file;39 foreach (array_keys($manifest_data) as $block_slug) {40 register_block_type_from_metadata($blocks_dir . '/' . $block_slug);41 }42 37 return; 43 38 } 44 39 45 // 3. Robust Fallback Loop (If Manifest is missing or on standard WP Block API)40 // 3. Fallback Loop for WP versions without Metadata Collection API 46 41 if (file_exists($manifest_file)) { 47 42 $manifest_data = require $manifest_file; 48 43 $block_slugs = array_keys($manifest_data); 49 44 } else { 50 $block_slugs = [ 45 $block_slugs = array( 46 'accordion-group', 51 47 'accordion', 52 'accordion-group',53 48 'animated-counter', 54 49 'carousel', … … 57 52 'image-comparison', 58 53 'sticky-cta', 59 ]; 54 'testimonial-card', 55 'pricing-card', 56 'tabs-group', 57 'tab-item', 58 ); 60 59 } 61 60 … … 68 67 } 69 68 add_action('init', 'zenithium_blocks_block_init'); 69 70 /** 71 * Registers custom block category for Zenithium Blocks. 72 * 73 * @param array $categories Existing block categories. 74 * @return array Modified block categories. 75 */ 76 function zenithium_blocks_register_category($categories) 77 { 78 return array_merge( 79 array( 80 array( 81 'slug' => 'zenithium-blocks', 82 'title' => __('Zenithium Blocks', 'zenithium-blocks'), 83 'icon' => null, 84 ), 85 ), 86 $categories 87 ); 88 } 89 add_filter('block_categories_all', 'zenithium_blocks_register_category', 10, 1);
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)