Changeset 3440874
- Timestamp:
- 01/16/2026 09:26:30 AM (5 weeks ago)
- Location:
- nebula-forge-addons-for-elementor/trunk
- Files:
-
- 16 edited
-
assets/css/admin.css (modified) (7 diffs)
-
assets/css/frontend.css (modified) (1 diff)
-
assets/js/frontend.js (modified) (1 diff)
-
includes/Admin/Admin_Manager.php (modified) (2 diffs)
-
includes/Admin/Changelog_Page.php (modified) (1 diff)
-
includes/Admin/Settings_Page.php (modified) (3 diffs)
-
includes/Admin/Welcome_Page.php (modified) (4 diffs)
-
includes/Admin/Widget_Registry.php (modified) (5 diffs)
-
includes/Plugin.php (modified) (9 diffs)
-
includes/Widgets/Feature_List_Widget.php (modified) (1 diff)
-
includes/Widgets/Hero_Cta_Widget.php (modified) (1 diff)
-
includes/Widgets/Spotlight_Card_Widget.php (modified) (1 diff)
-
includes/Widgets/Stats_Grid_Widget.php (modified) (1 diff)
-
languages/nebula-forge-addons-for-elementor.pot (modified) (1 diff)
-
nebula-forge-addons-for-elementor.php (modified) (2 diffs)
-
readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
nebula-forge-addons-for-elementor/trunk/assets/css/admin.css
r3430417 r3440874 11 11 12 12 :root { 13 --nf-primary: # 667eea;14 --nf-primary-dark: # 5a67d8;15 --nf-secondary: # 764ba2;16 --nf-gradient: linear-gradient(135deg, var(--nf-primary) 0%, var(--nf-secondary) 100%);13 --nf-primary: #ff6b35; 14 --nf-primary-dark: #0f172a; 15 --nf-secondary: #ff6b35; 16 --nf-gradient: #0f172a; 17 17 --nf-success: #10b981; 18 18 --nf-success-bg: #d1fae5; … … 120 120 121 121 /* ========================================================================== 122 Tabs 123 ========================================================================== */ 124 125 .nf-tabs { 126 display: flex; 127 flex-wrap: wrap; 128 gap: 12px; 129 margin-top: 18px; 130 padding: 10px; 131 background: var(--nf-white); 132 border: 1px solid var(--nf-border); 133 border-radius: var(--nf-radius); 134 } 135 136 .nf-tab { 137 display: inline-flex; 138 align-items: center; 139 gap: 8px; 140 padding: 10px 16px; 141 border-radius: var(--nf-radius-sm); 142 background: var(--nf-bg); 143 color: var(--nf-text); 144 font-size: 13px; 145 font-weight: 600; 146 text-decoration: none; 147 transition: all var(--nf-transition); 148 } 149 150 .nf-tab .dashicons { 151 font-size: 16px; 152 width: 16px; 153 height: 16px; 154 } 155 156 .nf-tab:hover, 157 .nf-tab--active { 158 background: var(--nf-gradient); 159 color: var(--nf-white); 160 } 161 162 .nf-tab:focus-visible { 163 outline: none; 164 box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.2); 165 } 166 167 /* ========================================================================== 168 Callouts 169 ========================================================================== */ 170 171 .nf-callout { 172 margin-top: 20px; 173 padding: 20px 24px; 174 border-radius: var(--nf-radius); 175 border: 1px solid var(--nf-border); 176 background: var(--nf-white); 177 } 178 179 .nf-callout--info { 180 background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%); 181 border-color: #bfdbfe; 182 } 183 184 .nf-callout--note { 185 background: linear-gradient(135deg, #fef3c7 0%, #fff7ed 100%); 186 border-color: #fed7aa; 187 } 188 189 .nf-callout__title { 190 display: flex; 191 align-items: center; 192 gap: 10px; 193 font-size: 15px; 194 font-weight: 700; 195 color: var(--nf-text); 196 margin-bottom: 8px; 197 } 198 199 .nf-callout__title .dashicons { 200 color: var(--nf-primary); 201 font-size: 18px; 202 width: 18px; 203 height: 18px; 204 } 205 206 .nf-callout__text { 207 margin: 0 0 8px 0; 208 color: var(--nf-text); 209 font-size: 14px; 210 } 211 212 .nf-callout__text:last-child { 213 margin-bottom: 0; 214 } 215 216 .nf-callout__list { 217 margin: 8px 0 0 18px; 218 color: var(--nf-text); 219 font-size: 14px; 220 } 221 222 /* ========================================================================== 223 Tooltips 224 ========================================================================== */ 225 226 .nf-tooltip { 227 position: relative; 228 display: inline-flex; 229 align-items: center; 230 margin-left: 6px; 231 color: var(--nf-text-light); 232 cursor: help; 233 } 234 235 .nf-tooltip .dashicons { 236 font-size: 16px; 237 width: 16px; 238 height: 16px; 239 } 240 241 .nf-tooltip:focus { 242 outline: none; 243 box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.2); 244 border-radius: 999px; 245 } 246 247 .nf-tooltip::after { 248 content: attr(data-tooltip); 249 position: absolute; 250 bottom: 130%; 251 left: 50%; 252 transform: translateX(-50%) translateY(4px); 253 background: #111827; 254 color: #ffffff; 255 padding: 8px 10px; 256 border-radius: 10px; 257 font-size: 12px; 258 line-height: 1.4; 259 width: 220px; 260 opacity: 0; 261 pointer-events: none; 262 transition: opacity var(--nf-transition), transform var(--nf-transition); 263 box-shadow: var(--nf-shadow-lg); 264 z-index: 10; 265 } 266 267 .nf-tooltip::before { 268 content: ''; 269 position: absolute; 270 bottom: 115%; 271 left: 50%; 272 transform: translateX(-50%); 273 border-width: 6px; 274 border-style: solid; 275 border-color: #111827 transparent transparent transparent; 276 opacity: 0; 277 transition: opacity var(--nf-transition); 278 } 279 280 .nf-tooltip:hover::after, 281 .nf-tooltip:hover::before, 282 .nf-tooltip:focus::after, 283 .nf-tooltip:focus::before { 284 opacity: 1; 285 } 286 287 .nf-tooltip:hover::after, 288 .nf-tooltip:focus::after { 289 transform: translateX(-50%) translateY(-4px); 290 } 291 292 /* ========================================================================== 122 293 Cards 123 294 ========================================================================== */ … … 202 373 font-weight: 600; 203 374 color: var(--nf-text); 375 display: flex; 376 align-items: center; 377 gap: 6px; 378 flex-wrap: wrap; 379 } 380 381 .nf-badge-chip { 382 display: inline-flex; 383 align-items: center; 384 justify-content: center; 385 padding: 2px 8px; 386 border-radius: 999px; 387 background: var(--nf-badge-color, var(--nf-primary)); 388 color: var(--nf-white); 389 font-size: 10px; 390 font-weight: 700; 391 letter-spacing: 0.6px; 392 text-transform: uppercase; 204 393 } 205 394 … … 322 511 ========================================================================== */ 323 512 324 .nf-settings-content {325 max-width: 900px;326 }327 513 328 514 .nf-widget-grid { 329 515 display: grid; 330 grid-template-columns: repeat(auto-fill, minmax( 400px, 1fr));516 grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); 331 517 gap: 20px; 332 518 } … … 381 567 .nf-widget-card__content { 382 568 flex: 1; 383 min-width: 200px;569 min-width: 180px; 384 570 } 385 571 … … 389 575 font-weight: 600; 390 576 color: var(--nf-text); 577 display: flex; 578 align-items: center; 579 gap: 6px; 580 flex-wrap: wrap; 391 581 } 392 582 … … 479 669 480 670 .nf-button--primary { 481 background: var(--nf- gradient);671 background: var(--nf-primary); 482 672 color: var(--nf-white); 483 673 } -
nebula-forge-addons-for-elementor/trunk/assets/css/frontend.css
r3430417 r3440874 233 233 font-size: 0.92rem; 234 234 } 235 236 .nfa-pricing-table { 237 background: #0b1220; 238 border-radius: 24px; 239 padding: 36px; 240 display: flex; 241 flex-direction: column; 242 gap: 18px; 243 color: #f8fafc; 244 position: relative; 245 border: 1px solid rgba(148, 163, 184, 0.2); 246 } 247 248 .nfa-pricing-table--featured { 249 border-color: #ff6b35; 250 box-shadow: 0 20px 45px rgb(15 23 42 / 0.35); 251 } 252 253 .nfa-pricing-table__badge { 254 position: absolute; 255 top: 18px; 256 right: 18px; 257 background: #ff6b35; 258 color: #0f172a; 259 padding: 6px 12px; 260 border-radius: 999px; 261 font-size: 0.7rem; 262 font-weight: 700; 263 letter-spacing: 0.08em; 264 text-transform: uppercase; 265 } 266 267 .nfa-pricing-table__label { 268 margin: 0 0 6px 0; 269 font-size: 1.4rem; 270 } 271 272 .nfa-pricing-table__description { 273 margin: 0; 274 color: #cbd5e1; 275 } 276 277 .nfa-pricing-table__price { 278 display: flex; 279 align-items: baseline; 280 gap: 8px; 281 } 282 283 .nfa-pricing-table__amount { 284 font-size: 2.4rem; 285 font-weight: 700; 286 line-height: 1; 287 } 288 289 .nfa-pricing-table__suffix { 290 font-size: 1rem; 291 color: #94a3b8; 292 } 293 294 .nfa-pricing-table__features { 295 list-style: none; 296 padding: 0; 297 margin: 0; 298 display: grid; 299 gap: 10px; 300 } 301 302 .nfa-pricing-table__features li { 303 display: flex; 304 align-items: flex-start; 305 gap: 10px; 306 color: #cbd5e1; 307 } 308 309 .nfa-pricing-table__features li::before { 310 content: ''; 311 width: 8px; 312 height: 8px; 313 border-radius: 999px; 314 background: #7dd3fc; 315 margin-top: 7px; 316 flex-shrink: 0; 317 } 318 319 .nfa-pricing-table__button { 320 align-self: flex-start; 321 padding: 12px 24px; 322 border-radius: 999px; 323 font-weight: 600; 324 color: #0f172a; 325 background: #ff6b35; 326 text-decoration: none; 327 transition: transform 0.25s ease, box-shadow 0.25s ease; 328 box-shadow: 0 15px 35px rgb(15 23 42 / 0.35); 329 } 330 331 .nfa-pricing-table__button:hover, 332 .nfa-pricing-table__button:focus-visible { 333 transform: translateY(-2px); 334 box-shadow: 0 20px 45px rgb(15 23 42 / 0.45); 335 } 336 337 .nfa-testimonials { 338 background: #0b1220; 339 border-radius: 24px; 340 padding: 48px; 341 display: flex; 342 flex-direction: column; 343 gap: 24px; 344 } 345 346 .nfa-testimonials__heading { 347 margin: 0 0 8px 0; 348 font-size: clamp(1.7rem, 3vw, 2.2rem); 349 color: #f8fafc; 350 } 351 352 .nfa-testimonials__subheading { 353 margin: 0; 354 color: #cbd5e1; 355 max-width: 760px; 356 } 357 358 .nfa-testimonials__grid { 359 display: grid; 360 grid-template-columns: repeat(3, minmax(0, 1fr)); 361 gap: 20px; 362 } 363 364 .nfa-testimonials__card { 365 background: rgba(255, 255, 255, 0.02); 366 border-radius: 18px; 367 padding: 20px; 368 display: flex; 369 flex-direction: column; 370 gap: 14px; 371 } 372 373 .nfa-testimonials__avatar img { 374 width: 48px; 375 height: 48px; 376 border-radius: 50%; 377 object-fit: cover; 378 display: block; 379 } 380 381 .nfa-testimonials__quote { 382 margin: 0; 383 color: #e2e8f0; 384 font-size: 1rem; 385 line-height: 1.6; 386 } 387 388 .nfa-testimonials__footer { 389 display: flex; 390 align-items: center; 391 justify-content: space-between; 392 gap: 12px; 393 } 394 395 .nfa-testimonials__name { 396 font-weight: 600; 397 color: #f8fafc; 398 } 399 400 .nfa-testimonials__role { 401 color: #94a3b8; 402 font-size: 0.9rem; 403 } 404 405 .nfa-testimonials__rating { 406 font-size: 0.9rem; 407 letter-spacing: 1px; 408 color: #fbbf24; 409 } 410 411 .nfa-logo-grid { 412 background: #0b1220; 413 border-radius: 24px; 414 padding: 40px; 415 display: flex; 416 flex-direction: column; 417 gap: 24px; 418 } 419 420 .nfa-logo-grid__heading { 421 margin: 0 0 8px 0; 422 font-size: clamp(1.6rem, 2.8vw, 2.1rem); 423 color: #f8fafc; 424 } 425 426 .nfa-logo-grid__subheading { 427 margin: 0; 428 color: #cbd5e1; 429 max-width: 760px; 430 } 431 432 .nfa-logo-grid__items { 433 display: grid; 434 grid-template-columns: repeat(4, minmax(0, 1fr)); 435 gap: 24px; 436 align-items: center; 437 } 438 439 .nfa-logo-grid__logo { 440 display: flex; 441 align-items: center; 442 justify-content: center; 443 padding: 16px; 444 border-radius: 14px; 445 background: rgba(255, 255, 255, 0.02); 446 min-height: 86px; 447 transition: transform 0.2s ease; 448 } 449 450 .nfa-logo-grid__logo img { 451 max-width: 140px; 452 width: 100%; 453 height: auto; 454 opacity: 0.85; 455 transition: opacity 0.2s ease, transform 0.2s ease; 456 } 457 458 .nfa-logo-grid__logo:hover img { 459 opacity: 1; 460 transform: translateY(-2px); 461 } 462 463 .nfa-logo-grid__text { 464 color: #e2e8f0; 465 font-weight: 600; 466 } 467 468 .nfa-faq { 469 background: #0b1220; 470 border-radius: 24px; 471 padding: 48px; 472 display: flex; 473 flex-direction: column; 474 gap: 24px; 475 } 476 477 .nfa-faq__heading { 478 margin: 0 0 8px 0; 479 font-size: clamp(1.6rem, 2.8vw, 2.1rem); 480 color: #f8fafc; 481 } 482 483 .nfa-faq__subheading { 484 margin: 0; 485 color: #cbd5e1; 486 max-width: 760px; 487 } 488 489 .nfa-faq__items { 490 display: grid; 491 gap: 14px; 492 } 493 494 .nfa-faq__item { 495 background: rgba(255, 255, 255, 0.03); 496 border-radius: 16px; 497 padding: 16px 18px; 498 border: 1px solid rgba(148, 163, 184, 0.15); 499 } 500 501 .nfa-faq__question { 502 cursor: pointer; 503 font-weight: 600; 504 color: #f8fafc; 505 list-style: none; 506 display: flex; 507 align-items: center; 508 justify-content: space-between; 509 gap: 10px; 510 } 511 512 .nfa-faq__question::after { 513 content: '+'; 514 font-size: 1.1rem; 515 color: #7dd3fc; 516 } 517 518 .nfa-faq__item[open] .nfa-faq__question::after { 519 content: '-'; 520 } 521 522 .nfa-faq__question::-webkit-details-marker { 523 display: none; 524 } 525 526 .nfa-faq__answer { 527 margin-top: 12px; 528 color: #cbd5e1; 529 line-height: 1.6; 530 } 531 532 .nfa-steps { 533 background: #0b1220; 534 border-radius: 24px; 535 padding: 48px; 536 display: flex; 537 flex-direction: column; 538 gap: 24px; 539 } 540 541 .nfa-steps__heading { 542 margin: 0 0 8px 0; 543 font-size: clamp(1.6rem, 2.8vw, 2.1rem); 544 color: #f8fafc; 545 } 546 547 .nfa-steps__subheading { 548 margin: 0; 549 color: #cbd5e1; 550 max-width: 760px; 551 } 552 553 .nfa-steps__list { 554 display: grid; 555 gap: 20px; 556 } 557 558 .nfa-steps--vertical .nfa-steps__list { 559 grid-template-columns: 1fr; 560 } 561 562 .nfa-steps--horizontal .nfa-steps__list { 563 grid-template-columns: repeat(3, minmax(0, 1fr)); 564 } 565 566 .nfa-steps__item { 567 background: rgba(255, 255, 255, 0.02); 568 border-radius: 18px; 569 padding: 18px; 570 display: flex; 571 flex-direction: column; 572 gap: 8px; 573 border: 1px solid rgba(148, 163, 184, 0.15); 574 } 575 576 .nfa-steps__label { 577 text-transform: uppercase; 578 letter-spacing: 0.12em; 579 font-size: 0.7rem; 580 color: #7dd3fc; 581 font-weight: 700; 582 } 583 584 .nfa-steps__title { 585 margin: 0; 586 font-size: 1.1rem; 587 color: #f8fafc; 588 } 589 590 .nfa-steps__description { 591 margin: 0; 592 color: #cbd5e1; 593 line-height: 1.5; 594 } 595 596 .nfa-slider { 597 position: relative; 598 } 599 600 .nfa-slider__track { 601 display: flex; 602 gap: 20px; 603 overflow-x: auto; 604 scroll-snap-type: x mandatory; 605 scroll-behavior: smooth; 606 padding-bottom: 6px; 607 scrollbar-width: none; 608 } 609 610 .nfa-slider__track::-webkit-scrollbar { 611 display: none; 612 } 613 614 .nfa-slider__item { 615 flex: 0 0 100%; 616 scroll-snap-align: start; 617 } 618 619 .nfa-slider__btn { 620 position: absolute; 621 top: 50%; 622 transform: translateY(-50%); 623 width: 36px; 624 height: 36px; 625 border-radius: 999px; 626 border: none; 627 background: #0f172a; 628 color: #f8fafc; 629 display: inline-flex; 630 align-items: center; 631 justify-content: center; 632 cursor: pointer; 633 box-shadow: 0 8px 20px rgb(15 23 42 / 0.25); 634 transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; 635 } 636 637 .nfa-slider__btn--prev { 638 left: -12px; 639 } 640 641 .nfa-slider__btn--next { 642 right: -12px; 643 } 644 645 .nfa-slider__btn:hover { 646 transform: translateY(-50%) scale(1.05); 647 } 648 649 .nfa-slider__btn:focus-visible { 650 outline: none; 651 box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.3); 652 } 653 654 @media (max-width: 900px) { 655 .nfa-feature-list__items, 656 .nfa-stats-grid__items, 657 .nfa-testimonials__grid, 658 .nfa-logo-grid__items, 659 .nfa-steps--horizontal .nfa-steps__list { 660 grid-template-columns: 1fr; 661 } 662 } -
nebula-forge-addons-for-elementor/trunk/assets/js/frontend.js
r3430417 r3440874 10 10 }; 11 11 12 const initSlider = (scope) => { 13 const $sliders = $('.nfa-slider', scope); 14 15 $sliders.each(function () { 16 const $slider = $(this); 17 const track = $slider.find('.nfa-slider__track').get(0); 18 19 if (!track) { 20 return; 21 } 22 23 const perView = Math.max(1, Math.min(6, parseInt($slider.data('slider-per-view'), 10) || 3)); 24 const gap = Math.max(0, parseInt($slider.data('slider-gap'), 10) || 20); 25 const items = Array.from(track.children); 26 27 const updateSizes = () => { 28 track.style.gap = `${gap}px`; 29 const width = `calc((100% - ${(gap * (perView - 1))}px) / ${perView})`; 30 items.forEach((item) => { 31 item.style.flex = `0 0 ${width}`; 32 }); 33 }; 34 35 updateSizes(); 36 37 if ($slider.data('slider-bound')) { 38 return; 39 } 40 41 $slider.data('slider-bound', true); 42 43 $(window).on('resize.nfaSlider', updateSizes); 44 45 $slider.find('.nfa-slider__btn--prev').on('click', () => { 46 track.scrollBy({ left: -track.clientWidth, behavior: 'smooth' }); 47 }); 48 49 $slider.find('.nfa-slider__btn--next').on('click', () => { 50 track.scrollBy({ left: track.clientWidth, behavior: 'smooth' }); 51 }); 52 }); 53 }; 54 12 55 $(window).on('elementor/frontend/init', () => { 56 if (!window.elementorFrontend || !elementorFrontend.hooks) { 57 return; 58 } 59 13 60 elementorFrontend.hooks.addAction('frontend/element_ready/nfa-hero-cta.default', attachButtonWiggle); 61 elementorFrontend.hooks.addAction('frontend/element_ready/nfa-testimonial-grid.default', initSlider); 62 elementorFrontend.hooks.addAction('frontend/element_ready/nfa-logo-grid.default', initSlider); 14 63 }); 15 64 })(jQuery); -
nebula-forge-addons-for-elementor/trunk/includes/Admin/Admin_Manager.php
r3430417 r3440874 90 90 self::MENU_SLUG_WELCOME, 91 91 [$this->welcome_page, 'render'], 92 'dashicons-star-filled',92 NEBULA_FORGE_ADDON_URL . 'assets/img/logo-20x20.png', 93 93 59 94 94 ); … … 184 184 public static function get_enabled_widgets(): array 185 185 { 186 $saved = get_option(self::OPTION_WIDGETS, []);186 $saved = get_option(self::OPTION_WIDGETS, null); 187 187 188 if ( empty($saved)|| !is_array($saved)) {188 if ($saved === null || !is_array($saved)) { 189 189 return array_keys(Widget_Registry::get_available_widgets()); 190 190 } -
nebula-forge-addons-for-elementor/trunk/includes/Admin/Changelog_Page.php
r3430417 r3440874 47 47 </p> 48 48 </div> 49 </div> 50 51 <?php Ui_Helper::render_tabs(Admin_Manager::MENU_SLUG_CHANGELOG); ?> 52 53 <div class="nf-callout nf-callout--note"> 54 <div class="nf-callout__title"> 55 <span class="dashicons dashicons-megaphone"></span> 56 <?php esc_html_e('What changed?', 'nebula-forge-addons-for-elementor'); ?> 57 </div> 58 <p class="nf-callout__text"> 59 <?php esc_html_e('Keep this page handy when updating. It highlights improvements and security updates for each release.', 'nebula-forge-addons-for-elementor'); ?> 60 </p> 49 61 </div> 50 62 -
nebula-forge-addons-for-elementor/trunk/includes/Admin/Settings_Page.php
r3430417 r3440874 97 97 </div> 98 98 99 <?php Ui_Helper::render_tabs(Admin_Manager::MENU_SLUG_SETTINGS); ?> 100 101 <div class="nf-callout nf-callout--note"> 102 <div class="nf-callout__title"> 103 <span class="dashicons dashicons-info-outline"></span> 104 <?php esc_html_e('How this works', 'nebula-forge-addons-for-elementor'); ?> 105 </div> 106 <p class="nf-callout__text"> 107 <?php esc_html_e('Use the toggles to hide widgets you do not need. This keeps the Elementor sidebar tidy and helps teams stay focused.', 'nebula-forge-addons-for-elementor'); ?> 108 </p> 109 <p class="nf-callout__text"> 110 <?php esc_html_e('Hover the help icon on each widget to see suggested usage tips.', 'nebula-forge-addons-for-elementor'); ?> 111 </p> 112 </div> 113 99 114 <div class="nf-admin-content nf-settings-content"> 100 115 <?php if ($settings_updated) : ?> … … 113 128 $is_enabled = in_array($widget_key, $enabled_widgets, true); 114 129 $card_class = $is_enabled ? 'nf-widget-card' : 'nf-widget-card nf-widget-card--disabled'; 130 $tooltip = isset($widget_data['tooltip']) ? $widget_data['tooltip'] : ''; 131 $badge = isset($widget_data['badge']) ? $widget_data['badge'] : ''; 132 $badge_color = isset($widget_data['badge_color']) ? sanitize_hex_color($widget_data['badge_color']) : ''; 133 $badge_style = $badge_color ? '--nf-badge-color: ' . $badge_color . ';' : ''; 115 134 ?> 116 135 <div class="<?php echo esc_attr($card_class); ?>" data-widget="<?php echo esc_attr($widget_key); ?>"> … … 119 138 </div> 120 139 <div class="nf-widget-card__content"> 121 <h3><?php echo esc_html($widget_data['label']); ?></h3> 140 <h3> 141 <?php echo esc_html($widget_data['label']); ?> 142 <?php if (!empty($badge)) : ?> 143 <span class="nf-badge-chip" style="<?php echo esc_attr($badge_style); ?>"> 144 <?php echo esc_html($badge); ?> 145 </span> 146 <?php endif; ?> 147 <?php if (!empty($tooltip)) : ?> 148 <span class="nf-tooltip" data-tooltip="<?php echo esc_attr($tooltip); ?>" tabindex="0" aria-label="<?php echo esc_attr($tooltip); ?>"> 149 <span class="dashicons dashicons-editor-help" aria-hidden="true"></span> 150 </span> 151 <?php endif; ?> 152 </h3> 122 153 <p><?php echo esc_html($widget_data['description']); ?></p> 123 154 </div> -
nebula-forge-addons-for-elementor/trunk/includes/Admin/Welcome_Page.php
r3430417 r3440874 56 56 </div> 57 57 58 <?php Ui_Helper::render_tabs(Admin_Manager::MENU_SLUG_WELCOME); ?> 59 60 <div class="nf-callout nf-callout--info"> 61 <div class="nf-callout__title"> 62 <span class="dashicons dashicons-sos"></span> 63 <?php esc_html_e('Start Here', 'nebula-forge-addons-for-elementor'); ?> 64 </div> 65 <p class="nf-callout__text"> 66 <?php esc_html_e('Use the tabs above to configure widgets, review updates, and get oriented quickly. Each widget includes built-in style controls for typography, spacing, and colors.', 'nebula-forge-addons-for-elementor'); ?> 67 </p> 68 <ul class="nf-callout__list"> 69 <li><?php esc_html_e('Open any page with Elementor and look for the Nebula Forge category.', 'nebula-forge-addons-for-elementor'); ?></li> 70 <li><?php esc_html_e('Drag widgets into sections and customize content in the left panel.', 'nebula-forge-addons-for-elementor'); ?></li> 71 <li><?php esc_html_e('Use the Settings tab to hide widgets you are not using.', 'nebula-forge-addons-for-elementor'); ?></li> 72 </ul> 73 </div> 74 58 75 <div class="nf-admin-content"> 59 76 <div class="nf-admin-row"> … … 67 84 <div class="nf-widget-list"> 68 85 <?php foreach ($widgets as $key => $widget) : ?> 86 <?php 87 $badge = isset($widget['badge']) ? $widget['badge'] : ''; 88 $badge_color = isset($widget['badge_color']) ? sanitize_hex_color($widget['badge_color']) : ''; 89 $badge_style = $badge_color ? '--nf-badge-color: ' . $badge_color . ';' : ''; 90 ?> 69 91 <div class="nf-widget-item"> 70 92 <div class="nf-widget-item__icon"> … … 72 94 </div> 73 95 <div class="nf-widget-item__content"> 74 <h3><?php echo esc_html($widget['label']); ?></h3> 96 <h3> 97 <?php echo esc_html($widget['label']); ?> 98 <?php if (!empty($badge)) : ?> 99 <span class="nf-badge-chip" style="<?php echo esc_attr($badge_style); ?>"> 100 <?php echo esc_html($badge); ?> 101 </span> 102 <?php endif; ?> 103 <?php if (!empty($widget['tooltip'])) : ?> 104 <span class="nf-tooltip" data-tooltip="<?php echo esc_attr($widget['tooltip']); ?>" tabindex="0" aria-label="<?php echo esc_attr($widget['tooltip']); ?>"> 105 <span class="dashicons dashicons-editor-help" aria-hidden="true"></span> 106 </span> 107 <?php endif; ?> 108 </h3> 75 109 <p><?php echo esc_html($widget['description']); ?></p> 76 110 </div> … … 114 148 </a> 115 149 </li> 150 <li> 151 <a href="<?php echo esc_url('https://wordpress.org/plugins/nebula-forge-addons-for-elementor/'); ?>" target="_blank" rel="noopener noreferrer"> 152 <span class="dashicons dashicons-megaphone"></span> 153 <?php esc_html_e('Plugin Page', 'nebula-forge-addons-for-elementor'); ?> 154 </a> 155 </li> 156 <li> 157 <a href="<?php echo esc_url('https://wordpress.org/support/plugin/nebula-forge-addons-for-elementor/reviews/#new-post'); ?>" target="_blank" rel="noopener noreferrer"> 158 <span class="dashicons dashicons-star-filled"></span> 159 <?php esc_html_e('Leave a Review', 'nebula-forge-addons-for-elementor'); ?> 160 </a> 161 </li> 116 162 </ul> 117 163 </div> -
nebula-forge-addons-for-elementor/trunk/includes/Admin/Widget_Registry.php
r3430417 r3440874 25 25 * Get all available widgets with metadata. 26 26 * 27 * @return array<string, array{label: string, description: string, class: string, icon: string}>27 * @return array<string, array{label: string, description: string, tooltip: string, badge: string, badge_color: string, class: string, icon: string}> 28 28 */ 29 29 public static function get_available_widgets(): array … … 33 33 'label' => __('Hero CTA', 'nebula-forge-addons-for-elementor'), 34 34 'description' => __('Expressive hero banner with kicker, headline, supporting copy, and a stylable primary button.', 'nebula-forge-addons-for-elementor'), 35 'tooltip' => __('Best for above-the-fold sections with a single call-to-action button.', 'nebula-forge-addons-for-elementor'), 36 'badge' => __('HERO', 'nebula-forge-addons-for-elementor'), 37 'badge_color' => '#f97316', 35 38 'class' => Widgets\Hero_Cta_Widget::class, 36 39 'icon' => 'eicon-single-page', … … 39 42 'label' => __('Feature List', 'nebula-forge-addons-for-elementor'), 40 43 'description' => __('Grid/list of benefit items with icons, headings, and descriptions using a repeater field.', 'nebula-forge-addons-for-elementor'), 44 'tooltip' => __('Use 3-6 items for the best scan-friendly layout.', 'nebula-forge-addons-for-elementor'), 45 'badge' => __('LIST', 'nebula-forge-addons-for-elementor'), 46 'badge_color' => '#38bdf8', 41 47 'class' => Widgets\Feature_List_Widget::class, 42 48 'icon' => 'eicon-bullet-list', … … 45 51 'label' => __('Spotlight Card', 'nebula-forge-addons-for-elementor'), 46 52 'description' => __('Media-forward card with eyebrow, title, description, meta text, CTA button, and image support.', 'nebula-forge-addons-for-elementor'), 53 'tooltip' => __('Pair with a product image or illustration for storytelling blocks.', 'nebula-forge-addons-for-elementor'), 54 'badge' => __('CARD', 'nebula-forge-addons-for-elementor'), 55 'badge_color' => '#a78bfa', 47 56 'class' => Widgets\Spotlight_Card_Widget::class, 48 57 'icon' => 'eicon-image-box', … … 51 60 'label' => __('Stats Grid', 'nebula-forge-addons-for-elementor'), 52 61 'description' => __('KPI grid with value/label/helper text per item to showcase performance metrics.', 'nebula-forge-addons-for-elementor'), 62 'tooltip' => __('Keep values short to avoid wrapping on mobile.', 'nebula-forge-addons-for-elementor'), 63 'badge' => __('STATS', 'nebula-forge-addons-for-elementor'), 64 'badge_color' => '#34d399', 53 65 'class' => Widgets\Stats_Grid_Widget::class, 54 66 'icon' => 'eicon-number-field', 67 ], 68 'pricing_table' => [ 69 'label' => __('Pricing Table', 'nebula-forge-addons-for-elementor'), 70 'description' => __('Plan card with pricing, features list, and a strong call-to-action button.', 'nebula-forge-addons-for-elementor'), 71 'tooltip' => __('Highlight one plan to guide visitors toward your best offer.', 'nebula-forge-addons-for-elementor'), 72 'badge' => __('PRICE', 'nebula-forge-addons-for-elementor'), 73 'badge_color' => '#fb7185', 74 'class' => Widgets\Pricing_Table_Widget::class, 75 'icon' => 'eicon-price-table', 76 ], 77 'testimonials_grid' => [ 78 'label' => __('Testimonials Grid', 'nebula-forge-addons-for-elementor'), 79 'description' => __('Social-proof quotes with avatars, roles, and star ratings.', 'nebula-forge-addons-for-elementor'), 80 'tooltip' => __('Use 3-6 testimonials for a clean, balanced grid.', 'nebula-forge-addons-for-elementor'), 81 'badge' => __('TESTI', 'nebula-forge-addons-for-elementor'), 82 'badge_color' => '#fbbf24', 83 'class' => Widgets\Testimonial_Grid_Widget::class, 84 'icon' => 'eicon-testimonial-carousel', 85 ], 86 'logo_grid' => [ 87 'label' => __('Logo Grid', 'nebula-forge-addons-for-elementor'), 88 'description' => __('Partner or client logos laid out in a clean, responsive grid.', 'nebula-forge-addons-for-elementor'), 89 'tooltip' => __('Add 6-12 logos for the best visual rhythm.', 'nebula-forge-addons-for-elementor'), 90 'badge' => __('LOGO', 'nebula-forge-addons-for-elementor'), 91 'badge_color' => '#60a5fa', 92 'class' => Widgets\Logo_Grid_Widget::class, 93 'icon' => 'eicon-logo', 94 ], 95 'faq_accordion' => [ 96 'label' => __('FAQ Accordion', 'nebula-forge-addons-for-elementor'), 97 'description' => __('Collapsible Q&A list to address objections and support questions.', 'nebula-forge-addons-for-elementor'), 98 'tooltip' => __('Keep answers concise to avoid long scrolls.', 'nebula-forge-addons-for-elementor'), 99 'badge' => __('FAQ', 'nebula-forge-addons-for-elementor'), 100 'badge_color' => '#22c55e', 101 'class' => Widgets\Faq_Accordion_Widget::class, 102 'icon' => 'eicon-accordion', 103 ], 104 'steps_timeline' => [ 105 'label' => __('Steps Timeline', 'nebula-forge-addons-for-elementor'), 106 'description' => __('Sequential steps to explain your workflow or onboarding process.', 'nebula-forge-addons-for-elementor'), 107 'tooltip' => __('Use short labels to keep the timeline readable.', 'nebula-forge-addons-for-elementor'), 108 'badge' => __('STEPS', 'nebula-forge-addons-for-elementor'), 109 'badge_color' => '#818cf8', 110 'class' => Widgets\Steps_Timeline_Widget::class, 111 'icon' => 'eicon-time-line', 55 112 ], 56 113 ]; -
nebula-forge-addons-for-elementor/trunk/includes/Plugin.php
r3430417 r3440874 112 112 113 113 // Check requirements. 114 if (!$this->passes_requirements('runtime')) { 114 if (!$this->passes_requirements('bootstrap')) { 115 add_action('admin_notices', [$this, 'render_requirements_notice']); 116 return; 117 } 118 119 if (did_action('elementor/loaded')) { 120 $this->on_elementor_loaded(); 121 return; 122 } 123 124 add_action('elementor/loaded', [$this, 'on_elementor_loaded']); 125 } 126 127 /** 128 * Initialize Elementor-dependent hooks after Elementor has loaded. 129 */ 130 public function on_elementor_loaded(): void 131 { 132 if ($this->is_ready) { 133 return; 134 } 135 136 if (!$this->passes_requirements('elementor')) { 115 137 add_action('admin_notices', [$this, 'render_requirements_notice']); 116 138 return; … … 122 144 add_action('elementor/elements/categories_registered', [$this, 'register_widget_category']); 123 145 add_action('elementor/widgets/register', [$this, 'register_widgets']); 124 add_action('wp_enqueue_scripts', [$this, 'enqueue_frontend_assets']); 146 add_action('elementor/frontend/after_register_styles', [$this, 'register_frontend_styles']); 147 add_action('elementor/frontend/after_register_scripts', [$this, 'register_frontend_scripts']); 125 148 } 126 149 … … 209 232 * Enqueue frontend assets. 210 233 */ 211 public function enqueue_frontend_assets(): void234 public function register_frontend_styles(): void 212 235 { 213 236 if (!$this->is_ready) { … … 221 244 NEBULA_FORGE_ADDON_VERSION 222 245 ); 246 } 247 248 /** 249 * Register frontend scripts for Elementor widgets. 250 */ 251 public function register_frontend_scripts(): void 252 { 253 if (!$this->is_ready) { 254 return; 255 } 223 256 224 257 wp_register_script( … … 229 262 true 230 263 ); 231 232 wp_enqueue_style('nebula-forge-elementor-addon-frontend');233 wp_enqueue_script('nebula-forge-elementor-addon-frontend');234 264 } 235 265 … … 260 290 * Check if plugin requirements are met. 261 291 * 262 * @param string $context Check context (' runtime' or 'activation').292 * @param string $context Check context ('activation', 'bootstrap', or 'elementor'). 263 293 * @return bool 264 294 */ 265 private function passes_requirements(string $context = ' runtime'): bool295 private function passes_requirements(string $context = 'elementor'): bool 266 296 { 267 297 global $wp_version; … … 282 312 } 283 313 284 // Runtime: Check if Elementor is loaded. 314 if ('bootstrap' === $context) { 315 return $this->is_elementor_plugin_active(); 316 } 317 318 // Elementor loaded/runtime: Check if Elementor is loaded. 285 319 if (!did_action('elementor/loaded')) { 286 320 return false; … … 300 334 301 335 /** 302 * Check if Elementor is active during plugin activation.336 * Check if Elementor plugin is active before it loads. 303 337 * 304 338 * @return bool 305 339 */ 306 private function is_elementor_active_for_activation(): bool 307 { 340 private function is_elementor_plugin_active(): bool 341 { 342 if (defined('ELEMENTOR_VERSION')) { 343 return true; 344 } 345 308 346 if (!function_exists('is_plugin_active')) { 309 347 $plugin_file = ABSPATH . 'wp-admin/includes/plugin.php'; … … 319 357 return class_exists('\\Elementor\\Plugin'); 320 358 } 359 360 /** 361 * Check if Elementor is active during plugin activation. 362 * 363 * @return bool 364 */ 365 private function is_elementor_active_for_activation(): bool 366 { 367 if (!function_exists('is_plugin_active')) { 368 $plugin_file = ABSPATH . 'wp-admin/includes/plugin.php'; 369 if (file_exists($plugin_file)) { 370 include_once $plugin_file; 371 } 372 } 373 374 if (function_exists('is_plugin_active')) { 375 return is_plugin_active('elementor/elementor.php'); 376 } 377 378 return class_exists('\\Elementor\\Plugin'); 379 } 321 380 } -
nebula-forge-addons-for-elementor/trunk/includes/Widgets/Feature_List_Widget.php
r3430417 r3440874 40 40 { 41 41 return ['features', 'list', 'icon', 'benefits']; 42 } 43 44 public function get_style_depends(): array 45 { 46 return ['nebula-forge-elementor-addon-frontend']; 42 47 } 43 48 -
nebula-forge-addons-for-elementor/trunk/includes/Widgets/Hero_Cta_Widget.php
r3430417 r3440874 38 38 { 39 39 return ['hero', 'cta', 'call to action', 'banner']; 40 } 41 42 public function get_style_depends(): array 43 { 44 return ['nebula-forge-elementor-addon-frontend']; 45 } 46 47 public function get_script_depends(): array 48 { 49 return ['nebula-forge-elementor-addon-frontend']; 40 50 } 41 51 -
nebula-forge-addons-for-elementor/trunk/includes/Widgets/Spotlight_Card_Widget.php
r3430417 r3440874 40 40 { 41 41 return ['card', 'spotlight', 'feature', 'call to action']; 42 } 43 44 public function get_style_depends(): array 45 { 46 return ['nebula-forge-elementor-addon-frontend']; 42 47 } 43 48 -
nebula-forge-addons-for-elementor/trunk/includes/Widgets/Stats_Grid_Widget.php
r3430417 r3440874 39 39 { 40 40 return ['stats', 'metrics', 'kpi', 'counter']; 41 } 42 43 public function get_style_depends(): array 44 { 45 return ['nebula-forge-elementor-addon-frontend']; 41 46 } 42 47 -
nebula-forge-addons-for-elementor/trunk/languages/nebula-forge-addons-for-elementor.pot
r3430417 r3440874 1 # Copyright (C) 2026 Zainaster 2 # This file is distributed under the GPL-2.0-or-later. 1 3 msgid "" 2 4 msgstr "" 3 "Project-Id-Version: Nebula Forge Addons for Elementor 0.1. 2\n"5 "Project-Id-Version: Nebula Forge Addons for Elementor 0.1.5\n" 4 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/nebula-forge-addons-for-elementor\n" 5 "POT-Creation-Date: 2025-12-29 13:12+0000\n" 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 8 "Language-Team: LANGUAGE <[email protected]>\n" 6 9 "MIME-Version: 1.0\n" 7 10 "Content-Type: text/plain; charset=UTF-8\n" 8 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026-01-15T10:34:22+01:00\n" 9 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 10 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 11 "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n" 12 "X-Generator: scripts/make-pot-nebula.php\n" 13 #: includes/Widgets/Feature_List_Widget.php:68 14 msgid "A concise list of benefits that showcases your product strengths." 15 msgstr "" 16 17 #: includes/Widgets/Stats_Grid_Widget.php:124 18 msgid "After 6 months" 19 msgstr "" 20 21 #: includes/Widgets/Stats_Grid_Widget.php:119 22 msgid "Avg. app store rating" 23 msgstr "" 24 25 #: includes/Widgets/Feature_List_Widget.php:157 26 #: includes/Widgets/Hero_Cta_Widget.php:113 27 #: includes/Widgets/Hero_Cta_Widget.php:453 28 #: includes/Widgets/Hero_Cta_Widget.php:501 29 #: includes/Widgets/Spotlight_Card_Widget.php:405 30 #: includes/Widgets/Spotlight_Card_Widget.php:453 31 msgid "Background" 32 msgstr "" 33 34 #: includes/Widgets/Feature_List_Widget.php:503 35 msgid "Background Color" 36 msgstr "" 37 38 #: includes/Widgets/Hero_Cta_Widget.php:325 39 msgid "Body" 40 msgstr "" 41 42 #: includes/Widgets/Hero_Cta_Widget.php:74 43 msgid "Body Copy" 44 msgstr "" 45 46 #: includes/Widgets/Feature_List_Widget.php:191 47 #: includes/Widgets/Hero_Cta_Widget.php:202 48 #: includes/Widgets/Hero_Cta_Widget.php:412 49 #: includes/Widgets/Spotlight_Card_Widget.php:178 50 #: includes/Widgets/Stats_Grid_Widget.php:183 51 msgid "Border Radius" 52 msgstr "" 53 54 #: includes/Widgets/Feature_List_Widget.php:278 55 #: includes/Widgets/Hero_Cta_Widget.php:260 56 #: includes/Widgets/Hero_Cta_Widget.php:306 57 msgid "Bottom Spacing" 58 msgstr "" 59 60 #: includes/Widgets/Hero_Cta_Widget.php:376 61 #: includes/Widgets/Spotlight_Card_Widget.php:328 62 msgid "Button" 63 msgstr "" 64 65 #: includes/Widgets/Spotlight_Card_Widget.php:105 66 msgid "Button Link" 67 msgstr "" 68 69 #: includes/Widgets/Spotlight_Card_Widget.php:96 70 msgid "Button Text" 71 msgstr "" 72 73 #: includes/Widgets/Stats_Grid_Widget.php:118 74 msgid "CSAT" 75 msgstr "" 76 77 #: includes/Widgets/Spotlight_Card_Widget.php:136 78 msgid "Card" 79 msgstr "" 80 81 #: includes/Widgets/Hero_Cta_Widget.php:138 82 msgid "Center" 83 msgstr "" 84 85 #: includes/Widgets/Feature_List_Widget.php:469 86 #: includes/Widgets/Hero_Cta_Widget.php:241 87 #: includes/Widgets/Hero_Cta_Widget.php:287 88 #: includes/Widgets/Hero_Cta_Widget.php:333 89 msgid "Color" 90 msgstr "" 91 92 #: includes/Widgets/Feature_List_Widget.php:330 93 #: includes/Widgets/Stats_Grid_Widget.php:301 94 msgid "Columns" 95 msgstr "" 96 97 #: includes/Widgets/Feature_List_Widget.php:148 98 #: includes/Widgets/Hero_Cta_Widget.php:104 99 #: includes/Widgets/Stats_Grid_Widget.php:141 100 msgid "Container" 101 msgstr "" 102 103 #: includes/Widgets/Feature_List_Widget.php:49 104 #: includes/Widgets/Hero_Cta_Widget.php:47 105 #: includes/Widgets/Spotlight_Card_Widget.php:49 106 #: includes/Widgets/Stats_Grid_Widget.php:48 107 msgid "Content" 108 msgstr "" 109 110 #: includes/Widgets/Hero_Cta_Widget.php:130 111 msgid "Content Alignment" 112 msgstr "" 113 114 #: includes/Widgets/Spotlight_Card_Widget.php:215 115 msgid "Content Gap" 116 msgstr "" 117 118 #: includes/Widgets/Feature_List_Widget.php:535 119 msgid "Corner Radius" 120 msgstr "" 121 122 #: includes/Widgets/Feature_List_Widget.php:66 123 #: includes/Widgets/Feature_List_Widget.php:100 124 #: includes/Widgets/Spotlight_Card_Widget.php:76 125 msgid "Description" 126 msgstr "" 127 128 #: includes/Widgets/Feature_List_Widget.php:266 129 #: includes/Widgets/Spotlight_Card_Widget.php:294 130 msgid "Description Color" 131 msgstr "" 132 133 #: includes/Widgets/Hero_Cta_Widget.php:66 134 msgid "Design expressive hero sections faster." 135 msgstr "" 136 137 #: includes/Widgets/Feature_List_Widget.php:131 138 msgid "Design ready" 139 msgstr "" 140 141 #: includes/Widgets/Hero_Cta_Widget.php:86 142 msgid "Explore Playbook" 143 msgstr "" 144 145 #: includes/Widgets/Spotlight_Card_Widget.php:56 146 msgid "Eyebrow" 147 msgstr "" 148 149 #: includes/Widgets/Spotlight_Card_Widget.php:254 150 msgid "Eyebrow Color" 151 msgstr "" 152 153 #: includes/Widgets/Feature_List_Widget.php:92 154 #: includes/Widgets/Feature_List_Widget.php:115 155 msgid "Fast setup" 156 msgstr "" 157 14 "X-Generator: WP-CLI 2.12.0\n" 15 "X-Domain: nebula-forge-addons-for-elementor\n" 16 17 #. Plugin Name of the plugin 18 #: nebula-forge-addons-for-elementor.php 19 #: includes/Admin/Welcome_Page.php:45 20 msgid "Nebula Forge Addons for Elementor" 21 msgstr "" 22 23 #. Description of the plugin 24 #: nebula-forge-addons-for-elementor.php 25 msgid "Adds modern Elementor widgets (Hero CTA, Feature List, Spotlight Card, Stats Grid) for landing pages and product sections." 26 msgstr "" 27 28 #. Author of the plugin 29 #: nebula-forge-addons-for-elementor.php 30 msgid "Zainaster" 31 msgstr "" 32 33 #: includes/Admin/Admin_Manager.php:87 34 #: includes/Admin/Admin_Manager.php:88 35 #: includes/Plugin.php:225 36 msgid "Nebula Forge" 37 msgstr "" 38 39 #: includes/Admin/Admin_Manager.php:99 40 #: includes/Admin/Admin_Manager.php:100 41 #: includes/Admin/Ui_Helper.php:31 42 msgid "Welcome" 43 msgstr "" 44 45 #: includes/Admin/Admin_Manager.php:108 46 #: includes/Admin/Admin_Manager.php:109 47 #: includes/Admin/Ui_Helper.php:35 48 msgid "Settings" 49 msgstr "" 50 51 #: includes/Admin/Admin_Manager.php:117 52 #: includes/Admin/Admin_Manager.php:118 53 #: includes/Admin/Changelog_Page.php:44 54 #: includes/Admin/Ui_Helper.php:39 55 msgid "Changelog" 56 msgstr "" 57 58 #: includes/Admin/Changelog_Page.php:28 59 #: includes/Admin/Settings_Page.php:73 60 #: includes/Admin/Welcome_Page.php:28 61 msgid "You do not have permission to access this page." 62 msgstr "" 63 64 #: includes/Admin/Changelog_Page.php:46 65 msgid "View the latest updates and improvements to Nebula Forge Addons for Elementor." 66 msgstr "" 67 68 #: includes/Admin/Changelog_Page.php:56 69 msgid "What changed?" 70 msgstr "" 71 72 #: includes/Admin/Changelog_Page.php:59 73 msgid "Keep this page handy when updating. It highlights improvements and security updates for each release." 74 msgstr "" 75 76 #: includes/Admin/Changelog_Page.php:67 77 msgid "No changelog entries found." 78 msgstr "" 79 80 #: includes/Admin/Changelog_Page.php:75 81 msgid "Latest" 82 msgstr "" 83 84 #: includes/Admin/Settings_Page.php:92 85 #: includes/Admin/Welcome_Page.php:141 86 msgid "Widget Settings" 87 msgstr "" 88 89 #: includes/Admin/Settings_Page.php:94 90 msgid "Enable or disable individual widgets. Disabled widgets will not appear in the Elementor editor." 91 msgstr "" 92 93 #: includes/Admin/Settings_Page.php:104 94 msgid "How this works" 95 msgstr "" 96 97 #: includes/Admin/Settings_Page.php:107 98 msgid "Use the toggles to hide widgets you do not need. This keeps the Elementor sidebar tidy and helps teams stay focused." 99 msgstr "" 100 101 #: includes/Admin/Settings_Page.php:110 102 msgid "Hover the help icon on each widget to see suggested usage tips." 103 msgstr "" 104 105 #: includes/Admin/Settings_Page.php:118 106 msgid "Settings saved successfully!" 107 msgstr "" 108 109 #: includes/Admin/Settings_Page.php:165 110 msgid "Enabled" 111 msgstr "" 112 113 #: includes/Admin/Settings_Page.php:165 114 msgid "Disabled" 115 msgstr "" 116 117 #: includes/Admin/Settings_Page.php:175 118 msgid "Save Settings" 119 msgstr "" 120 121 #: includes/Admin/Settings_Page.php:178 122 msgid "Changes will take effect after saving. You may need to refresh the Elementor editor." 123 msgstr "" 124 125 #: includes/Admin/Ui_Helper.php:44 126 msgid "Nebula Forge Navigation" 127 msgstr "" 128 129 #. translators: %s: Plugin version number. 130 #: includes/Admin/Welcome_Page.php:49 131 #, php-format 132 msgid "Version %s" 133 msgstr "" 134 135 #: includes/Admin/Welcome_Page.php:53 136 msgid "Modern Elementor widgets for landing pages and product sections." 137 msgstr "" 138 139 #: includes/Admin/Welcome_Page.php:63 140 msgid "Start Here" 141 msgstr "" 142 143 #: includes/Admin/Welcome_Page.php:66 144 msgid "Use the tabs above to configure widgets, review updates, and get oriented quickly. Each widget includes built-in style controls for typography, spacing, and colors." 145 msgstr "" 146 147 #: includes/Admin/Welcome_Page.php:69 148 msgid "Open any page with Elementor and look for the Nebula Forge category." 149 msgstr "" 150 151 #: includes/Admin/Welcome_Page.php:70 152 msgid "Drag widgets into sections and customize content in the left panel." 153 msgstr "" 154 155 #: includes/Admin/Welcome_Page.php:71 156 msgid "Use the Settings tab to hide widgets you are not using." 157 msgstr "" 158 159 #: includes/Admin/Welcome_Page.php:82 160 msgid "Available Widgets" 161 msgstr "" 162 163 #: includes/Admin/Welcome_Page.php:122 164 msgid "Quick Start" 165 msgstr "" 166 167 #: includes/Admin/Welcome_Page.php:125 168 msgid "Ensure Elementor is installed and activated." 169 msgstr "" 170 171 #: includes/Admin/Welcome_Page.php:126 172 msgid "Edit any page with Elementor." 173 msgstr "" 174 175 #: includes/Admin/Welcome_Page.php:127 176 msgid "Find widgets under \"Nebula Forge\" category." 177 msgstr "" 178 179 #: includes/Admin/Welcome_Page.php:128 180 msgid "Drag and drop widgets to build your page." 181 msgstr "" 182 183 #: includes/Admin/Welcome_Page.php:135 184 msgid "Quick Links" 185 msgstr "" 186 187 #: includes/Admin/Welcome_Page.php:147 188 msgid "View Changelog" 189 msgstr "" 190 191 #: includes/Admin/Welcome_Page.php:153 192 msgid "Plugin Page" 193 msgstr "" 194 195 #: includes/Admin/Welcome_Page.php:159 196 msgid "Leave a Review" 197 msgstr "" 198 199 #: includes/Admin/Welcome_Page.php:168 200 msgid "Requirements" 201 msgstr "" 202 203 #: includes/Admin/Welcome_Page.php:173 204 msgid "WordPress 6.2+" 205 msgstr "" 206 207 #: includes/Admin/Welcome_Page.php:177 208 msgid "PHP 7.4+" 209 msgstr "" 210 211 #: includes/Admin/Welcome_Page.php:181 212 msgid "Elementor 3.20+ (Free)" 213 msgstr "" 214 215 #: includes/Admin/Widget_Registry.php:33 216 #: includes/Widgets/Hero_Cta_Widget.php:24 217 msgid "Hero CTA" 218 msgstr "" 219 220 #: includes/Admin/Widget_Registry.php:34 221 msgid "Expressive hero banner with kicker, headline, supporting copy, and a stylable primary button." 222 msgstr "" 223 224 #: includes/Admin/Widget_Registry.php:35 225 msgid "Best for above-the-fold sections with a single call-to-action button." 226 msgstr "" 227 228 #: includes/Admin/Widget_Registry.php:36 229 msgid "HERO" 230 msgstr "" 231 232 #: includes/Admin/Widget_Registry.php:42 158 233 #: includes/Widgets/Feature_List_Widget.php:26 159 234 msgid "Feature List" 160 235 msgstr "" 161 236 162 #: includes/Widgets/Feature_List_Widget.php:110 163 msgid "Features" 164 msgstr "" 165 166 #: includes/Widgets/Stats_Grid_Widget.php:129 167 msgid "Global coverage" 168 msgstr "" 169 170 #: includes/Widgets/Feature_List_Widget.php:230 171 #: includes/Widgets/Spotlight_Card_Widget.php:238 172 #: includes/Widgets/Stats_Grid_Widget.php:243 173 msgid "Header" 174 msgstr "" 175 176 #: includes/Widgets/Feature_List_Widget.php:56 177 #: includes/Widgets/Stats_Grid_Widget.php:55 178 msgid "Heading" 179 msgstr "" 180 181 #: includes/Widgets/Feature_List_Widget.php:246 182 #: includes/Widgets/Stats_Grid_Widget.php:259 183 msgid "Heading Color" 184 msgstr "" 185 186 #: includes/Widgets/Hero_Cta_Widget.php:64 187 #: includes/Widgets/Hero_Cta_Widget.php:279 188 msgid "Headline" 189 msgstr "" 190 191 #: includes/Widgets/Stats_Grid_Widget.php:473 192 msgid "Helper Color" 193 msgstr "" 194 195 #: includes/Widgets/Stats_Grid_Widget.php:97 196 msgid "Helper Text" 197 msgstr "" 198 199 #: includes/Widgets/Hero_Cta_Widget.php:24 200 msgid "Hero CTA" 201 msgstr "" 202 203 #: includes/Widgets/Hero_Cta_Widget.php:483 204 #: includes/Widgets/Spotlight_Card_Widget.php:435 205 msgid "Hover" 206 msgstr "" 207 208 #: includes/Widgets/Feature_List_Widget.php:78 209 #: includes/Widgets/Feature_List_Widget.php:461 210 msgid "Icon" 211 msgstr "" 212 213 #: includes/Widgets/Spotlight_Card_Widget.php:114 214 msgid "Image" 215 msgstr "" 216 217 #: includes/Widgets/Feature_List_Widget.php:392 218 #: includes/Widgets/Stats_Grid_Widget.php:344 219 msgid "Item Padding" 220 msgstr "" 221 222 #: includes/Widgets/Feature_List_Widget.php:412 223 #: includes/Widgets/Stats_Grid_Widget.php:364 224 msgid "Item Radius" 225 msgstr "" 226 227 #: includes/Widgets/Feature_List_Widget.php:301 228 #: includes/Widgets/Stats_Grid_Widget.php:293 229 msgid "Items" 230 msgstr "" 231 232 #: includes/Widgets/Stats_Grid_Widget.php:57 233 msgid "Key results at a glance" 234 msgstr "" 235 236 #: includes/Widgets/Hero_Cta_Widget.php:54 237 #: includes/Widgets/Hero_Cta_Widget.php:233 238 msgid "Kicker" 239 msgstr "" 240 241 #: includes/Widgets/Stats_Grid_Widget.php:87 242 msgid "Label" 243 msgstr "" 244 245 #: includes/Widgets/Stats_Grid_Widget.php:453 246 msgid "Label Color" 247 msgstr "" 248 249 #: includes/Widgets/Feature_List_Widget.php:102 250 #: includes/Widgets/Feature_List_Widget.php:116 251 msgid "Launch campaigns without developer overhead." 252 msgstr "" 253 254 #: includes/Widgets/Hero_Cta_Widget.php:134 255 msgid "Left" 256 msgstr "" 257 258 #: includes/Widgets/Hero_Cta_Widget.php:352 259 msgid "Max Width" 260 msgstr "" 261 262 #: includes/Widgets/Spotlight_Card_Widget.php:314 263 msgid "Meta Color" 264 msgstr "" 265 266 #: includes/Widgets/Spotlight_Card_Widget.php:86 267 msgid "Meta Text" 268 msgstr "" 269 270 #: includes/Widgets/Feature_List_Widget.php:132 271 msgid "Modern defaults that stay on-brand." 272 msgstr "" 273 274 #: includes/Plugin.php:95 275 msgid "Nebula Forge" 276 msgstr "" 277 278 #: includes/Plugin.php:61 279 msgid "Nebula Forge Addons for Elementor requires Elementor and minimum versions of WordPress and PHP. Please install/activate Elementor and ensure your site meets the plugin requirements, then try again." 280 msgstr "" 281 282 #: includes/Plugin.php:186 283 msgid "Nebula Forge Addons for Elementor requires Elementor, WordPress, and PHP versions that meet the minimum requirements. Please install/activate Elementor and re-check your site versions." 284 msgstr "" 285 286 #: includes/Widgets/Hero_Cta_Widget.php:56 287 msgid "New Release" 288 msgstr "" 289 290 #: includes/Widgets/Spotlight_Card_Widget.php:88 291 msgid "No code handoff required" 292 msgstr "" 293 294 #: includes/Widgets/Hero_Cta_Widget.php:435 295 #: includes/Widgets/Spotlight_Card_Widget.php:387 296 msgid "Normal" 297 msgstr "" 298 299 #: includes/Widgets/Feature_List_Widget.php:171 300 #: includes/Widgets/Feature_List_Widget.php:515 301 #: includes/Widgets/Hero_Cta_Widget.php:161 302 #: includes/Widgets/Hero_Cta_Widget.php:392 303 #: includes/Widgets/Spotlight_Card_Widget.php:158 304 #: includes/Widgets/Spotlight_Card_Widget.php:344 305 #: includes/Widgets/Stats_Grid_Widget.php:163 306 msgid "Padding" 307 msgstr "" 308 309 #: includes/Widgets/Hero_Cta_Widget.php:76 310 msgid "Pair bold typography with a focused call-to-action optimized for Elementor workflows." 311 msgstr "" 312 313 #: includes/Widgets/Stats_Grid_Widget.php:99 314 #: includes/Widgets/Stats_Grid_Widget.php:114 315 msgid "Past 12 months" 316 msgstr "" 317 318 #: includes/Widgets/Feature_List_Widget.php:124 319 msgid "Performance-focused blocks for growing sites." 320 msgstr "" 321 322 #: includes/Widgets/Hero_Cta_Widget.php:84 323 msgid "Primary Button Label" 324 msgstr "" 325 326 #: includes/Widgets/Hero_Cta_Widget.php:93 327 msgid "Primary Button Link" 328 msgstr "" 329 330 #: includes/Widgets/Stats_Grid_Widget.php:123 331 msgid "ROI" 332 msgstr "" 333 334 #: includes/Widgets/Spotlight_Card_Widget.php:364 335 msgid "Radius" 336 msgstr "" 337 338 #: includes/Widgets/Spotlight_Card_Widget.php:78 339 msgid "Reusable patterns, bold visuals, and sensible defaults that keep teams moving." 340 msgstr "" 341 342 #: includes/Widgets/Hero_Cta_Widget.php:142 343 msgid "Right" 344 msgstr "" 345 346 #: includes/Widgets/Feature_List_Widget.php:309 347 #: includes/Widgets/Hero_Cta_Widget.php:181 348 msgid "Row Gap" 349 msgstr "" 350 351 #: includes/Widgets/Stats_Grid_Widget.php:323 352 msgid "Row/Column Gap" 353 msgstr "" 354 355 #: includes/Widgets/Feature_List_Widget.php:123 356 msgid "Scales with you" 357 msgstr "" 358 359 #: includes/Widgets/Spotlight_Card_Widget.php:98 360 msgid "See how it works" 361 msgstr "" 362 363 #: includes/Widgets/Stats_Grid_Widget.php:67 364 msgid "Share proof points to build trust: uptime, adoption, ROI, and response times." 365 msgstr "" 366 367 #: includes/Widgets/Spotlight_Card_Widget.php:68 368 msgid "Ship polished pages faster." 369 msgstr "" 370 371 #: includes/Widgets/Feature_List_Widget.php:481 372 msgid "Size" 373 msgstr "" 374 375 #: includes/Widgets/Spotlight_Card_Widget.php:58 376 msgid "Spotlight" 377 msgstr "" 378 237 #: includes/Admin/Widget_Registry.php:43 238 msgid "Grid/list of benefit items with icons, headings, and descriptions using a repeater field." 239 msgstr "" 240 241 #: includes/Admin/Widget_Registry.php:44 242 msgid "Use 3-6 items for the best scan-friendly layout." 243 msgstr "" 244 245 #: includes/Admin/Widget_Registry.php:45 246 msgid "LIST" 247 msgstr "" 248 249 #: includes/Admin/Widget_Registry.php:51 379 250 #: includes/Widgets/Spotlight_Card_Widget.php:26 380 251 msgid "Spotlight Card" 381 252 msgstr "" 382 253 383 #: includes/Widgets/Stats_Grid_Widget.php:107 384 msgid "Stats" 385 msgstr "" 386 254 #: includes/Admin/Widget_Registry.php:52 255 msgid "Media-forward card with eyebrow, title, description, meta text, CTA button, and image support." 256 msgstr "" 257 258 #: includes/Admin/Widget_Registry.php:53 259 msgid "Pair with a product image or illustration for storytelling blocks." 260 msgstr "" 261 262 #: includes/Admin/Widget_Registry.php:54 263 msgid "CARD" 264 msgstr "" 265 266 #: includes/Admin/Widget_Registry.php:60 387 267 #: includes/Widgets/Stats_Grid_Widget.php:25 388 268 msgid "Stats Grid" 389 269 msgstr "" 390 270 391 #: includes/Widgets/Stats_Grid_Widget.php:65 271 #: includes/Admin/Widget_Registry.php:61 272 msgid "KPI grid with value/label/helper text per item to showcase performance metrics." 273 msgstr "" 274 275 #: includes/Admin/Widget_Registry.php:62 276 msgid "Keep values short to avoid wrapping on mobile." 277 msgstr "" 278 279 #: includes/Admin/Widget_Registry.php:63 280 msgid "STATS" 281 msgstr "" 282 283 #: includes/Admin/Widget_Registry.php:69 284 #: includes/Widgets/Pricing_Table_Widget.php:25 285 msgid "Pricing Table" 286 msgstr "" 287 288 #: includes/Admin/Widget_Registry.php:70 289 msgid "Plan card with pricing, features list, and a strong call-to-action button." 290 msgstr "" 291 292 #: includes/Admin/Widget_Registry.php:71 293 msgid "Highlight one plan to guide visitors toward your best offer." 294 msgstr "" 295 296 #: includes/Admin/Widget_Registry.php:72 297 msgid "PRICE" 298 msgstr "" 299 300 #: includes/Admin/Widget_Registry.php:78 301 #: includes/Widgets/Testimonial_Grid_Widget.php:25 302 msgid "Testimonials Grid" 303 msgstr "" 304 305 #: includes/Admin/Widget_Registry.php:79 306 msgid "Social-proof quotes with avatars, roles, and star ratings." 307 msgstr "" 308 309 #: includes/Admin/Widget_Registry.php:80 310 msgid "Use 3-6 testimonials for a clean, balanced grid." 311 msgstr "" 312 313 #: includes/Admin/Widget_Registry.php:81 314 msgid "TESTI" 315 msgstr "" 316 317 #: includes/Admin/Widget_Registry.php:87 318 #: includes/Widgets/Logo_Grid_Widget.php:25 319 msgid "Logo Grid" 320 msgstr "" 321 322 #: includes/Admin/Widget_Registry.php:88 323 msgid "Partner or client logos laid out in a clean, responsive grid." 324 msgstr "" 325 326 #: includes/Admin/Widget_Registry.php:89 327 msgid "Add 6-12 logos for the best visual rhythm." 328 msgstr "" 329 330 #: includes/Admin/Widget_Registry.php:90 331 msgid "LOGO" 332 msgstr "" 333 334 #: includes/Admin/Widget_Registry.php:96 335 #: includes/Widgets/Faq_Accordion_Widget.php:25 336 msgid "FAQ Accordion" 337 msgstr "" 338 339 #: includes/Admin/Widget_Registry.php:97 340 msgid "Collapsible Q&A list to address objections and support questions." 341 msgstr "" 342 343 #: includes/Admin/Widget_Registry.php:98 344 msgid "Keep answers concise to avoid long scrolls." 345 msgstr "" 346 347 #: includes/Admin/Widget_Registry.php:99 348 msgid "FAQ" 349 msgstr "" 350 351 #: includes/Admin/Widget_Registry.php:105 352 #: includes/Widgets/Steps_Timeline_Widget.php:25 353 msgid "Steps Timeline" 354 msgstr "" 355 356 #: includes/Admin/Widget_Registry.php:106 357 msgid "Sequential steps to explain your workflow or onboarding process." 358 msgstr "" 359 360 #: includes/Admin/Widget_Registry.php:107 361 msgid "Use short labels to keep the timeline readable." 362 msgstr "" 363 364 #: includes/Admin/Widget_Registry.php:108 365 msgid "STEPS" 366 msgstr "" 367 368 #: includes/Plugin.php:166 369 msgid "Nebula Forge Elementor Addons requires Elementor and minimum versions of WordPress and PHP. Please install/activate Elementor and ensure your site meets the plugin requirements, then try again." 370 msgstr "" 371 372 #: includes/Plugin.php:170 373 msgid "Plugin Activation Error" 374 msgstr "" 375 376 #: includes/Plugin.php:282 377 msgid "Nebula Forge Elementor Addons requires Elementor, WordPress 6.2+, and PHP 7.4+. Please install/activate Elementor and verify your site meets the requirements." 378 msgstr "" 379 380 #: includes/Widgets/Faq_Accordion_Widget.php:53 381 #: includes/Widgets/Feature_List_Widget.php:54 382 #: includes/Widgets/Hero_Cta_Widget.php:57 383 #: includes/Widgets/Logo_Grid_Widget.php:58 384 #: includes/Widgets/Pricing_Table_Widget.php:53 385 #: includes/Widgets/Spotlight_Card_Widget.php:54 386 #: includes/Widgets/Stats_Grid_Widget.php:53 387 #: includes/Widgets/Steps_Timeline_Widget.php:53 388 #: includes/Widgets/Testimonial_Grid_Widget.php:58 389 msgid "Content" 390 msgstr "" 391 392 #: includes/Widgets/Faq_Accordion_Widget.php:60 393 #: includes/Widgets/Feature_List_Widget.php:61 394 #: includes/Widgets/Logo_Grid_Widget.php:65 395 #: includes/Widgets/Stats_Grid_Widget.php:60 396 #: includes/Widgets/Steps_Timeline_Widget.php:60 397 #: includes/Widgets/Testimonial_Grid_Widget.php:65 398 msgid "Heading" 399 msgstr "" 400 401 #: includes/Widgets/Faq_Accordion_Widget.php:62 402 msgid "Frequently asked questions" 403 msgstr "" 404 405 #: includes/Widgets/Faq_Accordion_Widget.php:70 406 #: includes/Widgets/Logo_Grid_Widget.php:75 407 #: includes/Widgets/Stats_Grid_Widget.php:70 408 #: includes/Widgets/Steps_Timeline_Widget.php:70 409 #: includes/Widgets/Testimonial_Grid_Widget.php:75 392 410 msgid "Subheading" 393 411 msgstr "" 394 412 395 #: includes/Widgets/Stats_Grid_Widget.php:279 413 #: includes/Widgets/Faq_Accordion_Widget.php:72 414 msgid "Answer the questions customers ask before they reach out." 415 msgstr "" 416 417 #: includes/Widgets/Faq_Accordion_Widget.php:80 418 msgid "Open First Item" 419 msgstr "" 420 421 #: includes/Widgets/Faq_Accordion_Widget.php:92 422 msgid "Question" 423 msgstr "" 424 425 #: includes/Widgets/Faq_Accordion_Widget.php:94 426 #: includes/Widgets/Faq_Accordion_Widget.php:117 427 msgid "Is Elementor Pro required?" 428 msgstr "" 429 430 #: includes/Widgets/Faq_Accordion_Widget.php:102 431 msgid "Answer" 432 msgstr "" 433 434 #: includes/Widgets/Faq_Accordion_Widget.php:104 435 #: includes/Widgets/Faq_Accordion_Widget.php:118 436 msgid "No. All widgets are built for the free Elementor plugin." 437 msgstr "" 438 439 #: includes/Widgets/Faq_Accordion_Widget.php:112 440 msgid "FAQ Items" 441 msgstr "" 442 443 #: includes/Widgets/Faq_Accordion_Widget.php:121 444 msgid "Can I disable unused widgets?" 445 msgstr "" 446 447 #: includes/Widgets/Faq_Accordion_Widget.php:122 448 msgid "Yes. Use the Widget Settings screen in wp-admin to toggle widgets on or off." 449 msgstr "" 450 451 #: includes/Widgets/Faq_Accordion_Widget.php:125 452 msgid "Will this slow down my site?" 453 msgstr "" 454 455 #: includes/Widgets/Faq_Accordion_Widget.php:126 456 msgid "Assets load only when the widgets are used, keeping pages fast." 457 msgstr "" 458 459 #: includes/Widgets/Faq_Accordion_Widget.php:138 460 #: includes/Widgets/Feature_List_Widget.php:153 461 #: includes/Widgets/Hero_Cta_Widget.php:114 462 #: includes/Widgets/Logo_Grid_Widget.php:153 463 #: includes/Widgets/Pricing_Table_Widget.php:174 464 #: includes/Widgets/Stats_Grid_Widget.php:146 465 #: includes/Widgets/Steps_Timeline_Widget.php:153 466 #: includes/Widgets/Testimonial_Grid_Widget.php:182 467 msgid "Container" 468 msgstr "" 469 470 #: includes/Widgets/Faq_Accordion_Widget.php:160 471 #: includes/Widgets/Feature_List_Widget.php:176 472 #: includes/Widgets/Feature_List_Widget.php:520 473 #: includes/Widgets/Hero_Cta_Widget.php:171 474 #: includes/Widgets/Hero_Cta_Widget.php:402 475 #: includes/Widgets/Logo_Grid_Widget.php:175 476 #: includes/Widgets/Pricing_Table_Widget.php:196 477 #: includes/Widgets/Pricing_Table_Widget.php:464 478 #: includes/Widgets/Spotlight_Card_Widget.php:163 479 #: includes/Widgets/Spotlight_Card_Widget.php:349 480 #: includes/Widgets/Stats_Grid_Widget.php:168 481 #: includes/Widgets/Steps_Timeline_Widget.php:175 482 #: includes/Widgets/Steps_Timeline_Widget.php:352 483 #: includes/Widgets/Testimonial_Grid_Widget.php:204 484 #: includes/Widgets/Testimonial_Grid_Widget.php:450 485 msgid "Padding" 486 msgstr "" 487 488 #: includes/Widgets/Faq_Accordion_Widget.php:180 489 #: includes/Widgets/Feature_List_Widget.php:196 490 #: includes/Widgets/Hero_Cta_Widget.php:212 491 #: includes/Widgets/Hero_Cta_Widget.php:422 492 #: includes/Widgets/Logo_Grid_Widget.php:195 493 #: includes/Widgets/Pricing_Table_Widget.php:216 494 #: includes/Widgets/Pricing_Table_Widget.php:484 495 #: includes/Widgets/Spotlight_Card_Widget.php:183 496 #: includes/Widgets/Stats_Grid_Widget.php:188 497 #: includes/Widgets/Steps_Timeline_Widget.php:195 498 #: includes/Widgets/Testimonial_Grid_Widget.php:224 499 #: includes/Widgets/Testimonial_Grid_Widget.php:470 500 msgid "Border Radius" 501 msgstr "" 502 503 #: includes/Widgets/Faq_Accordion_Widget.php:219 504 #: includes/Widgets/Feature_List_Widget.php:235 505 #: includes/Widgets/Logo_Grid_Widget.php:234 506 #: includes/Widgets/Pricing_Table_Widget.php:297 507 #: includes/Widgets/Spotlight_Card_Widget.php:243 508 #: includes/Widgets/Stats_Grid_Widget.php:248 509 #: includes/Widgets/Steps_Timeline_Widget.php:234 510 #: includes/Widgets/Testimonial_Grid_Widget.php:263 511 msgid "Header" 512 msgstr "" 513 514 #: includes/Widgets/Faq_Accordion_Widget.php:235 515 #: includes/Widgets/Feature_List_Widget.php:251 516 #: includes/Widgets/Logo_Grid_Widget.php:250 517 #: includes/Widgets/Stats_Grid_Widget.php:264 518 #: includes/Widgets/Steps_Timeline_Widget.php:250 519 #: includes/Widgets/Testimonial_Grid_Widget.php:279 520 msgid "Heading Color" 521 msgstr "" 522 523 #: includes/Widgets/Faq_Accordion_Widget.php:255 524 #: includes/Widgets/Logo_Grid_Widget.php:270 525 #: includes/Widgets/Stats_Grid_Widget.php:284 526 #: includes/Widgets/Steps_Timeline_Widget.php:270 527 #: includes/Widgets/Testimonial_Grid_Widget.php:299 396 528 msgid "Subheading Color" 397 529 msgstr "" 398 530 531 #: includes/Widgets/Faq_Accordion_Widget.php:269 532 #: includes/Widgets/Feature_List_Widget.php:306 533 #: includes/Widgets/Stats_Grid_Widget.php:298 534 msgid "Items" 535 msgstr "" 536 537 #: includes/Widgets/Faq_Accordion_Widget.php:277 538 msgid "Item Gap" 539 msgstr "" 540 541 #: includes/Widgets/Faq_Accordion_Widget.php:312 542 #: includes/Widgets/Feature_List_Widget.php:397 543 #: includes/Widgets/Stats_Grid_Widget.php:349 544 msgid "Item Padding" 545 msgstr "" 546 547 #: includes/Widgets/Faq_Accordion_Widget.php:332 548 #: includes/Widgets/Feature_List_Widget.php:417 549 #: includes/Widgets/Stats_Grid_Widget.php:369 550 msgid "Item Radius" 551 msgstr "" 552 553 #: includes/Widgets/Faq_Accordion_Widget.php:363 554 #: includes/Widgets/Stats_Grid_Widget.php:422 555 #: includes/Widgets/Steps_Timeline_Widget.php:411 556 #: includes/Widgets/Testimonial_Grid_Widget.php:509 557 msgid "Text" 558 msgstr "" 559 560 #: includes/Widgets/Faq_Accordion_Widget.php:379 561 msgid "Question Color" 562 msgstr "" 563 564 #: includes/Widgets/Faq_Accordion_Widget.php:399 565 msgid "Answer Color" 566 msgstr "" 567 568 #: includes/Widgets/Feature_List_Widget.php:63 569 msgid "Why teams choose us" 570 msgstr "" 571 572 #: includes/Widgets/Feature_List_Widget.php:71 573 #: includes/Widgets/Feature_List_Widget.php:105 574 #: includes/Widgets/Pricing_Table_Widget.php:70 575 #: includes/Widgets/Spotlight_Card_Widget.php:81 576 #: includes/Widgets/Steps_Timeline_Widget.php:114 577 msgid "Description" 578 msgstr "" 579 580 #: includes/Widgets/Feature_List_Widget.php:73 581 msgid "A concise list of benefits that showcases your product strengths." 582 msgstr "" 583 584 #: includes/Widgets/Feature_List_Widget.php:83 585 #: includes/Widgets/Feature_List_Widget.php:466 586 msgid "Icon" 587 msgstr "" 588 589 #: includes/Widgets/Feature_List_Widget.php:95 590 #: includes/Widgets/Spotlight_Card_Widget.php:71 591 #: includes/Widgets/Steps_Timeline_Widget.php:104 592 msgid "Title" 593 msgstr "" 594 595 #: includes/Widgets/Feature_List_Widget.php:97 596 #: includes/Widgets/Feature_List_Widget.php:120 597 msgid "Fast setup" 598 msgstr "" 599 600 #: includes/Widgets/Feature_List_Widget.php:107 601 #: includes/Widgets/Feature_List_Widget.php:121 602 msgid "Launch campaigns without developer overhead." 603 msgstr "" 604 605 #: includes/Widgets/Feature_List_Widget.php:115 606 #: includes/Widgets/Pricing_Table_Widget.php:133 607 #: includes/Widgets/Pricing_Table_Widget.php:397 608 msgid "Features" 609 msgstr "" 610 611 #: includes/Widgets/Feature_List_Widget.php:128 612 msgid "Scales with you" 613 msgstr "" 614 615 #: includes/Widgets/Feature_List_Widget.php:129 616 msgid "Performance-focused blocks for growing sites." 617 msgstr "" 618 619 #: includes/Widgets/Feature_List_Widget.php:136 620 msgid "Design ready" 621 msgstr "" 622 623 #: includes/Widgets/Feature_List_Widget.php:137 624 msgid "Modern defaults that stay on-brand." 625 msgstr "" 626 627 #: includes/Widgets/Feature_List_Widget.php:162 628 #: includes/Widgets/Hero_Cta_Widget.php:123 629 #: includes/Widgets/Hero_Cta_Widget.php:463 630 #: includes/Widgets/Hero_Cta_Widget.php:511 631 #: includes/Widgets/Pricing_Table_Widget.php:525 632 #: includes/Widgets/Pricing_Table_Widget.php:573 633 #: includes/Widgets/Spotlight_Card_Widget.php:410 634 #: includes/Widgets/Spotlight_Card_Widget.php:458 635 msgid "Background" 636 msgstr "" 637 638 #: includes/Widgets/Feature_List_Widget.php:271 639 #: includes/Widgets/Pricing_Table_Widget.php:333 640 #: includes/Widgets/Spotlight_Card_Widget.php:299 641 #: includes/Widgets/Steps_Timeline_Widget.php:467 642 msgid "Description Color" 643 msgstr "" 644 645 #: includes/Widgets/Feature_List_Widget.php:283 646 #: includes/Widgets/Hero_Cta_Widget.php:270 647 #: includes/Widgets/Hero_Cta_Widget.php:316 648 msgid "Bottom Spacing" 649 msgstr "" 650 651 #: includes/Widgets/Feature_List_Widget.php:314 652 #: includes/Widgets/Hero_Cta_Widget.php:191 653 #: includes/Widgets/Pricing_Table_Widget.php:425 654 msgid "Row Gap" 655 msgstr "" 656 657 #: includes/Widgets/Feature_List_Widget.php:335 658 #: includes/Widgets/Logo_Grid_Widget.php:292 659 #: includes/Widgets/Stats_Grid_Widget.php:306 660 #: includes/Widgets/Steps_Timeline_Widget.php:292 661 #: includes/Widgets/Testimonial_Grid_Widget.php:321 662 msgid "Columns" 663 msgstr "" 664 665 #: includes/Widgets/Feature_List_Widget.php:365 666 #: includes/Widgets/Spotlight_Card_Widget.php:279 667 #: includes/Widgets/Steps_Timeline_Widget.php:447 668 msgid "Title Color" 669 msgstr "" 670 671 #: includes/Widgets/Feature_List_Widget.php:385 672 #: includes/Widgets/Hero_Cta_Widget.php:452 673 #: includes/Widgets/Hero_Cta_Widget.php:500 674 #: includes/Widgets/Pricing_Table_Widget.php:514 675 #: includes/Widgets/Pricing_Table_Widget.php:562 676 #: includes/Widgets/Spotlight_Card_Widget.php:399 677 #: includes/Widgets/Spotlight_Card_Widget.php:447 678 msgid "Text Color" 679 msgstr "" 680 681 #: includes/Widgets/Feature_List_Widget.php:474 682 #: includes/Widgets/Hero_Cta_Widget.php:251 683 #: includes/Widgets/Hero_Cta_Widget.php:297 684 #: includes/Widgets/Hero_Cta_Widget.php:343 685 msgid "Color" 686 msgstr "" 687 688 #: includes/Widgets/Feature_List_Widget.php:486 689 msgid "Size" 690 msgstr "" 691 692 #: includes/Widgets/Feature_List_Widget.php:508 693 msgid "Background Color" 694 msgstr "" 695 696 #: includes/Widgets/Feature_List_Widget.php:540 697 msgid "Corner Radius" 698 msgstr "" 699 700 #: includes/Widgets/Hero_Cta_Widget.php:64 701 #: includes/Widgets/Hero_Cta_Widget.php:243 702 msgid "Kicker" 703 msgstr "" 704 705 #: includes/Widgets/Hero_Cta_Widget.php:66 706 msgid "New Release" 707 msgstr "" 708 709 #: includes/Widgets/Hero_Cta_Widget.php:74 710 #: includes/Widgets/Hero_Cta_Widget.php:289 711 msgid "Headline" 712 msgstr "" 713 714 #: includes/Widgets/Hero_Cta_Widget.php:76 715 msgid "Design expressive hero sections faster." 716 msgstr "" 717 718 #: includes/Widgets/Hero_Cta_Widget.php:84 719 msgid "Body Copy" 720 msgstr "" 721 722 #: includes/Widgets/Hero_Cta_Widget.php:86 723 msgid "Pair bold typography with a focused call-to-action optimized for Elementor workflows." 724 msgstr "" 725 726 #: includes/Widgets/Hero_Cta_Widget.php:94 727 msgid "Primary Button Label" 728 msgstr "" 729 730 #: includes/Widgets/Hero_Cta_Widget.php:96 731 msgid "Explore Playbook" 732 msgstr "" 733 734 #: includes/Widgets/Hero_Cta_Widget.php:103 735 msgid "Primary Button Link" 736 msgstr "" 737 738 #: includes/Widgets/Hero_Cta_Widget.php:140 739 msgid "Content Alignment" 740 msgstr "" 741 742 #: includes/Widgets/Hero_Cta_Widget.php:144 743 #: includes/Widgets/Pricing_Table_Widget.php:257 744 msgid "Left" 745 msgstr "" 746 747 #: includes/Widgets/Hero_Cta_Widget.php:148 748 #: includes/Widgets/Pricing_Table_Widget.php:261 749 msgid "Center" 750 msgstr "" 751 752 #: includes/Widgets/Hero_Cta_Widget.php:152 753 #: includes/Widgets/Pricing_Table_Widget.php:265 754 msgid "Right" 755 msgstr "" 756 757 #: includes/Widgets/Hero_Cta_Widget.php:335 758 msgid "Body" 759 msgstr "" 760 761 #: includes/Widgets/Hero_Cta_Widget.php:362 762 #: includes/Widgets/Logo_Grid_Widget.php:397 763 msgid "Max Width" 764 msgstr "" 765 766 #: includes/Widgets/Hero_Cta_Widget.php:386 767 #: includes/Widgets/Pricing_Table_Widget.php:448 768 #: includes/Widgets/Spotlight_Card_Widget.php:333 769 msgid "Button" 770 msgstr "" 771 772 #: includes/Widgets/Hero_Cta_Widget.php:445 773 #: includes/Widgets/Pricing_Table_Widget.php:507 774 #: includes/Widgets/Spotlight_Card_Widget.php:392 775 msgid "Normal" 776 msgstr "" 777 778 #: includes/Widgets/Hero_Cta_Widget.php:493 779 #: includes/Widgets/Pricing_Table_Widget.php:555 780 #: includes/Widgets/Spotlight_Card_Widget.php:440 781 msgid "Hover" 782 msgstr "" 783 784 #: includes/Widgets/Logo_Grid_Widget.php:67 785 msgid "Trusted by teams worldwide" 786 msgstr "" 787 788 #: includes/Widgets/Logo_Grid_Widget.php:77 789 msgid "Add your customer or partner logos to build instant credibility." 790 msgstr "" 791 792 #: includes/Widgets/Logo_Grid_Widget.php:85 793 #: includes/Widgets/Steps_Timeline_Widget.php:80 794 #: includes/Widgets/Testimonial_Grid_Widget.php:85 795 msgid "Layout" 796 msgstr "" 797 798 #: includes/Widgets/Logo_Grid_Widget.php:89 799 #: includes/Widgets/Testimonial_Grid_Widget.php:89 800 #: includes/Widgets/Testimonial_Grid_Widget.php:313 801 msgid "Grid" 802 msgstr "" 803 804 #: includes/Widgets/Logo_Grid_Widget.php:90 805 #: includes/Widgets/Testimonial_Grid_Widget.php:90 806 msgid "Slider" 807 msgstr "" 808 809 #: includes/Widgets/Logo_Grid_Widget.php:100 810 msgid "Logo" 811 msgstr "" 812 813 #: includes/Widgets/Logo_Grid_Widget.php:108 814 msgid "Brand Name" 815 msgstr "" 816 817 #: includes/Widgets/Logo_Grid_Widget.php:110 818 msgid "Brand" 819 msgstr "" 820 821 #: includes/Widgets/Logo_Grid_Widget.php:118 822 msgid "Link" 823 msgstr "" 824 825 #: includes/Widgets/Logo_Grid_Widget.php:127 826 #: includes/Widgets/Logo_Grid_Widget.php:284 827 msgid "Logos" 828 msgstr "" 829 830 #: includes/Widgets/Logo_Grid_Widget.php:132 831 msgid "Lumen" 832 msgstr "" 833 834 #: includes/Widgets/Logo_Grid_Widget.php:135 835 msgid "Pulse" 836 msgstr "" 837 838 #: includes/Widgets/Logo_Grid_Widget.php:138 839 msgid "Vertex" 840 msgstr "" 841 842 #: includes/Widgets/Logo_Grid_Widget.php:141 843 msgid "Summit" 844 msgstr "" 845 846 #: includes/Widgets/Logo_Grid_Widget.php:317 847 #: includes/Widgets/Steps_Timeline_Widget.php:317 848 #: includes/Widgets/Testimonial_Grid_Widget.php:346 849 msgid "Gap" 850 msgstr "" 851 852 #: includes/Widgets/Logo_Grid_Widget.php:341 853 #: includes/Widgets/Testimonial_Grid_Widget.php:370 854 msgid "Show Arrows" 855 msgstr "" 856 857 #: includes/Widgets/Logo_Grid_Widget.php:354 858 #: includes/Widgets/Testimonial_Grid_Widget.php:383 859 msgid "Slides Per View" 860 msgstr "" 861 862 #: includes/Widgets/Logo_Grid_Widget.php:376 863 #: includes/Widgets/Testimonial_Grid_Widget.php:405 864 msgid "Slide Gap" 865 msgstr "" 866 867 #: includes/Widgets/Logo_Grid_Widget.php:418 868 msgid "Grayscale Logos" 869 msgstr "" 870 871 #: includes/Widgets/Logo_Grid_Widget.php:430 872 msgid "Hover Opacity" 873 msgstr "" 874 875 #: includes/Widgets/Logo_Grid_Widget.php:505 876 #: includes/Widgets/Testimonial_Grid_Widget.php:661 877 msgid "Previous slide" 878 msgstr "" 879 880 #: includes/Widgets/Logo_Grid_Widget.php:508 881 #: includes/Widgets/Testimonial_Grid_Widget.php:664 882 msgid "Next slide" 883 msgstr "" 884 885 #: includes/Widgets/Pricing_Table_Widget.php:60 886 msgid "Plan Label" 887 msgstr "" 888 889 #: includes/Widgets/Pricing_Table_Widget.php:62 890 msgid "Starter" 891 msgstr "" 892 893 #: includes/Widgets/Pricing_Table_Widget.php:72 894 msgid "For growing teams shipping faster." 895 msgstr "" 896 897 #: includes/Widgets/Pricing_Table_Widget.php:80 898 #: includes/Widgets/Pricing_Table_Widget.php:347 899 msgid "Price" 900 msgstr "" 901 902 #: includes/Widgets/Pricing_Table_Widget.php:90 903 msgid "Price Suffix" 904 msgstr "" 905 906 #: includes/Widgets/Pricing_Table_Widget.php:92 907 msgid "/month" 908 msgstr "" 909 910 #: includes/Widgets/Pricing_Table_Widget.php:99 911 msgid "Highlight Plan" 912 msgstr "" 913 914 #: includes/Widgets/Pricing_Table_Widget.php:109 915 msgid "Highlight Badge" 916 msgstr "" 917 918 #: includes/Widgets/Pricing_Table_Widget.php:111 919 msgid "Most Popular" 920 msgstr "" 921 922 #: includes/Widgets/Pricing_Table_Widget.php:123 923 msgid "Feature" 924 msgstr "" 925 926 #: includes/Widgets/Pricing_Table_Widget.php:125 927 #: includes/Widgets/Pricing_Table_Widget.php:138 928 msgid "Unlimited landing pages" 929 msgstr "" 930 931 #: includes/Widgets/Pricing_Table_Widget.php:141 932 msgid "Premium starter templates" 933 msgstr "" 934 935 #: includes/Widgets/Pricing_Table_Widget.php:144 936 msgid "Priority support" 937 msgstr "" 938 939 #: includes/Widgets/Pricing_Table_Widget.php:154 940 msgid "Button Label" 941 msgstr "" 942 943 #: includes/Widgets/Pricing_Table_Widget.php:156 944 msgid "Get Started" 945 msgstr "" 946 947 #: includes/Widgets/Pricing_Table_Widget.php:163 948 #: includes/Widgets/Spotlight_Card_Widget.php:110 949 msgid "Button Link" 950 msgstr "" 951 952 #: includes/Widgets/Pricing_Table_Widget.php:253 953 msgid "Alignment" 954 msgstr "" 955 956 #: includes/Widgets/Pricing_Table_Widget.php:284 957 msgid "Featured Border Color" 958 msgstr "" 959 960 #: includes/Widgets/Pricing_Table_Widget.php:313 961 #: includes/Widgets/Stats_Grid_Widget.php:458 962 #: includes/Widgets/Steps_Timeline_Widget.php:427 963 msgid "Label Color" 964 msgstr "" 965 966 #: includes/Widgets/Pricing_Table_Widget.php:363 967 msgid "Price Color" 968 msgstr "" 969 970 #: includes/Widgets/Pricing_Table_Widget.php:383 971 msgid "Suffix Color" 972 msgstr "" 973 974 #: includes/Widgets/Pricing_Table_Widget.php:413 975 msgid "Feature Color" 976 msgstr "" 977 978 #: includes/Widgets/Spotlight_Card_Widget.php:61 979 msgid "Eyebrow" 980 msgstr "" 981 982 #: includes/Widgets/Spotlight_Card_Widget.php:63 983 msgid "Spotlight" 984 msgstr "" 985 986 #: includes/Widgets/Spotlight_Card_Widget.php:73 987 msgid "Ship polished pages faster." 988 msgstr "" 989 990 #: includes/Widgets/Spotlight_Card_Widget.php:83 991 msgid "Reusable patterns, bold visuals, and sensible defaults that keep teams moving." 992 msgstr "" 993 994 #: includes/Widgets/Spotlight_Card_Widget.php:91 995 msgid "Meta Text" 996 msgstr "" 997 998 #: includes/Widgets/Spotlight_Card_Widget.php:93 999 msgid "No code handoff required" 1000 msgstr "" 1001 1002 #: includes/Widgets/Spotlight_Card_Widget.php:101 1003 msgid "Button Text" 1004 msgstr "" 1005 1006 #: includes/Widgets/Spotlight_Card_Widget.php:103 1007 msgid "See how it works" 1008 msgstr "" 1009 1010 #: includes/Widgets/Spotlight_Card_Widget.php:119 1011 msgid "Image" 1012 msgstr "" 1013 1014 #: includes/Widgets/Spotlight_Card_Widget.php:141 1015 #: includes/Widgets/Testimonial_Grid_Widget.php:428 1016 msgid "Card" 1017 msgstr "" 1018 1019 #: includes/Widgets/Spotlight_Card_Widget.php:220 1020 msgid "Content Gap" 1021 msgstr "" 1022 1023 #: includes/Widgets/Spotlight_Card_Widget.php:259 1024 msgid "Eyebrow Color" 1025 msgstr "" 1026 1027 #: includes/Widgets/Spotlight_Card_Widget.php:319 1028 msgid "Meta Color" 1029 msgstr "" 1030 1031 #: includes/Widgets/Spotlight_Card_Widget.php:369 1032 #: includes/Widgets/Steps_Timeline_Widget.php:372 1033 msgid "Radius" 1034 msgstr "" 1035 1036 #: includes/Widgets/Stats_Grid_Widget.php:62 1037 msgid "Key results at a glance" 1038 msgstr "" 1039 1040 #: includes/Widgets/Stats_Grid_Widget.php:72 1041 msgid "Share proof points to build trust: uptime, adoption, ROI, and response times." 1042 msgstr "" 1043 1044 #: includes/Widgets/Stats_Grid_Widget.php:82 1045 msgid "Value" 1046 msgstr "" 1047 1048 #: includes/Widgets/Stats_Grid_Widget.php:92 1049 msgid "Label" 1050 msgstr "" 1051 1052 #: includes/Widgets/Stats_Grid_Widget.php:94 1053 #: includes/Widgets/Stats_Grid_Widget.php:118 1054 msgid "Uptime" 1055 msgstr "" 1056 1057 #: includes/Widgets/Stats_Grid_Widget.php:102 1058 msgid "Helper Text" 1059 msgstr "" 1060 1061 #: includes/Widgets/Stats_Grid_Widget.php:104 1062 #: includes/Widgets/Stats_Grid_Widget.php:119 1063 msgid "Past 12 months" 1064 msgstr "" 1065 1066 #: includes/Widgets/Stats_Grid_Widget.php:112 1067 msgid "Stats" 1068 msgstr "" 1069 1070 #: includes/Widgets/Stats_Grid_Widget.php:123 1071 msgid "CSAT" 1072 msgstr "" 1073 1074 #: includes/Widgets/Stats_Grid_Widget.php:124 1075 msgid "Avg. app store rating" 1076 msgstr "" 1077 399 1078 #: includes/Widgets/Stats_Grid_Widget.php:128 1079 msgid "ROI" 1080 msgstr "" 1081 1082 #: includes/Widgets/Stats_Grid_Widget.php:129 1083 msgid "After 6 months" 1084 msgstr "" 1085 1086 #: includes/Widgets/Stats_Grid_Widget.php:133 400 1087 msgid "Support" 401 1088 msgstr "" 402 1089 403 #: includes/Widgets/Stats_Grid_Widget.php:417 404 msgid "Text" 405 msgstr "" 406 407 #: includes/Widgets/Feature_List_Widget.php:380 408 #: includes/Widgets/Hero_Cta_Widget.php:442 409 #: includes/Widgets/Hero_Cta_Widget.php:490 410 #: includes/Widgets/Spotlight_Card_Widget.php:394 411 #: includes/Widgets/Spotlight_Card_Widget.php:442 412 msgid "Text Color" 413 msgstr "" 414 415 #: includes/Widgets/Feature_List_Widget.php:90 416 #: includes/Widgets/Spotlight_Card_Widget.php:66 417 msgid "Title" 418 msgstr "" 419 420 #: includes/Widgets/Feature_List_Widget.php:360 421 #: includes/Widgets/Spotlight_Card_Widget.php:274 422 msgid "Title Color" 423 msgstr "" 424 425 #: includes/Widgets/Stats_Grid_Widget.php:89 426 #: includes/Widgets/Stats_Grid_Widget.php:113 427 msgid "Uptime" 428 msgstr "" 429 430 #: includes/Widgets/Stats_Grid_Widget.php:77 431 msgid "Value" 432 msgstr "" 433 434 #: includes/Widgets/Stats_Grid_Widget.php:433 1090 #: includes/Widgets/Stats_Grid_Widget.php:134 1091 msgid "Global coverage" 1092 msgstr "" 1093 1094 #: includes/Widgets/Stats_Grid_Widget.php:225 1095 msgid "Vertical Gap" 1096 msgstr "" 1097 1098 #: includes/Widgets/Stats_Grid_Widget.php:328 1099 msgid "Row/Column Gap" 1100 msgstr "" 1101 1102 #: includes/Widgets/Stats_Grid_Widget.php:438 435 1103 msgid "Value Color" 436 1104 msgstr "" 437 1105 438 #: includes/Widgets/Stats_Grid_Widget.php:220 439 msgid "Vertical Gap" 440 msgstr "" 441 442 #: includes/Widgets/Feature_List_Widget.php:58 443 msgid "Why teams choose us" 444 msgstr "" 445 1106 #: includes/Widgets/Stats_Grid_Widget.php:478 1107 msgid "Helper Color" 1108 msgstr "" 1109 1110 #: includes/Widgets/Steps_Timeline_Widget.php:62 1111 msgid "How it works" 1112 msgstr "" 1113 1114 #: includes/Widgets/Steps_Timeline_Widget.php:72 1115 msgid "Guide visitors through the journey with clear, sequential steps." 1116 msgstr "" 1117 1118 #: includes/Widgets/Steps_Timeline_Widget.php:84 1119 msgid "Horizontal" 1120 msgstr "" 1121 1122 #: includes/Widgets/Steps_Timeline_Widget.php:85 1123 msgid "Vertical" 1124 msgstr "" 1125 1126 #: includes/Widgets/Steps_Timeline_Widget.php:95 1127 msgid "Step Label" 1128 msgstr "" 1129 1130 #: includes/Widgets/Steps_Timeline_Widget.php:97 1131 #: includes/Widgets/Steps_Timeline_Widget.php:129 1132 msgid "Step 01" 1133 msgstr "" 1134 1135 #: includes/Widgets/Steps_Timeline_Widget.php:106 1136 #: includes/Widgets/Steps_Timeline_Widget.php:130 1137 msgid "Plan the section" 1138 msgstr "" 1139 1140 #: includes/Widgets/Steps_Timeline_Widget.php:116 1141 #: includes/Widgets/Steps_Timeline_Widget.php:131 1142 msgid "Pick a widget, add content, and define the layout structure." 1143 msgstr "" 1144 1145 #: includes/Widgets/Steps_Timeline_Widget.php:124 1146 #: includes/Widgets/Steps_Timeline_Widget.php:284 1147 msgid "Steps" 1148 msgstr "" 1149 1150 #: includes/Widgets/Steps_Timeline_Widget.php:134 1151 msgid "Step 02" 1152 msgstr "" 1153 1154 #: includes/Widgets/Steps_Timeline_Widget.php:135 1155 msgid "Customize styling" 1156 msgstr "" 1157 1158 #: includes/Widgets/Steps_Timeline_Widget.php:136 1159 msgid "Adjust colors, spacing, and typography to match your brand." 1160 msgstr "" 1161 1162 #: includes/Widgets/Steps_Timeline_Widget.php:139 1163 msgid "Step 03" 1164 msgstr "" 1165 1166 #: includes/Widgets/Steps_Timeline_Widget.php:140 1167 msgid "Publish and test" 1168 msgstr "" 1169 1170 #: includes/Widgets/Steps_Timeline_Widget.php:141 1171 msgid "Launch your page and measure engagement with confidence." 1172 msgstr "" 1173 1174 #: includes/Widgets/Testimonial_Grid_Widget.php:67 1175 msgid "Loved by modern teams" 1176 msgstr "" 1177 1178 #: includes/Widgets/Testimonial_Grid_Widget.php:77 1179 msgid "Short, authentic quotes build trust and keep conversion paths strong." 1180 msgstr "" 1181 1182 #: includes/Widgets/Testimonial_Grid_Widget.php:100 1183 msgid "Quote" 1184 msgstr "" 1185 1186 #: includes/Widgets/Testimonial_Grid_Widget.php:102 1187 #: includes/Widgets/Testimonial_Grid_Widget.php:155 1188 msgid "We shipped our landing page in a day and the layout feels premium." 1189 msgstr "" 1190 1191 #: includes/Widgets/Testimonial_Grid_Widget.php:110 1192 msgid "Name" 1193 msgstr "" 1194 1195 #: includes/Widgets/Testimonial_Grid_Widget.php:112 1196 #: includes/Widgets/Testimonial_Grid_Widget.php:156 1197 msgid "Jordan Lee" 1198 msgstr "" 1199 1200 #: includes/Widgets/Testimonial_Grid_Widget.php:120 1201 msgid "Role" 1202 msgstr "" 1203 1204 #: includes/Widgets/Testimonial_Grid_Widget.php:122 1205 #: includes/Widgets/Testimonial_Grid_Widget.php:157 1206 msgid "Growth Lead, Atlas" 1207 msgstr "" 1208 1209 #: includes/Widgets/Testimonial_Grid_Widget.php:130 1210 msgid "Avatar" 1211 msgstr "" 1212 1213 #: includes/Widgets/Testimonial_Grid_Widget.php:138 1214 msgid "Rating (0-5)" 1215 msgstr "" 1216 1217 #: includes/Widgets/Testimonial_Grid_Widget.php:150 1218 msgid "Testimonials" 1219 msgstr "" 1220 1221 #: includes/Widgets/Testimonial_Grid_Widget.php:161 1222 msgid "The widgets are clean, focused, and simple to customize." 1223 msgstr "" 1224 1225 #: includes/Widgets/Testimonial_Grid_Widget.php:162 1226 msgid "Priya Shah" 1227 msgstr "" 1228 1229 #: includes/Widgets/Testimonial_Grid_Widget.php:163 1230 msgid "Marketing Manager, Nova" 1231 msgstr "" 1232 1233 #: includes/Widgets/Testimonial_Grid_Widget.php:167 1234 msgid "Perfect for quick experiments and growth pages." 1235 msgstr "" 1236 1237 #: includes/Widgets/Testimonial_Grid_Widget.php:168 1238 msgid "Alex Kim" 1239 msgstr "" 1240 1241 #: includes/Widgets/Testimonial_Grid_Widget.php:169 1242 msgid "Founder, Brightside" 1243 msgstr "" 1244 1245 #: includes/Widgets/Testimonial_Grid_Widget.php:525 1246 msgid "Quote Color" 1247 msgstr "" 1248 1249 #: includes/Widgets/Testimonial_Grid_Widget.php:545 1250 msgid "Name Color" 1251 msgstr "" 1252 1253 #: includes/Widgets/Testimonial_Grid_Widget.php:565 1254 msgid "Role Color" 1255 msgstr "" 1256 1257 #: includes/Widgets/Testimonial_Grid_Widget.php:577 1258 msgid "Rating Color" 1259 msgstr "" 1260 1261 #. translators: %d: rating value. 1262 #: includes/Widgets/Testimonial_Grid_Widget.php:643 1263 #: includes/Widgets/Testimonial_Grid_Widget.php:699 1264 #, php-format 1265 msgid "Rated %d out of 5" 1266 msgstr "" -
nebula-forge-addons-for-elementor/trunk/nebula-forge-addons-for-elementor.php
r3430417 r3440874 3 3 * Plugin Name: Nebula Forge Addons for Elementor 4 4 * Description: Adds modern Elementor widgets (Hero CTA, Feature List, Spotlight Card, Stats Grid) for landing pages and product sections. 5 * Version: 0.1. 25 * Version: 0.1.5 6 6 * Author: Zainaster 7 7 * Requires Plugins: elementor … … 20 20 } 21 21 22 define('NEBULA_FORGE_ADDON_VERSION', '0.1. 2');22 define('NEBULA_FORGE_ADDON_VERSION', '0.1.5'); 23 23 define('NEBULA_FORGE_ADDON_FILE', __FILE__); 24 24 define('NEBULA_FORGE_ADDON_BASENAME', plugin_basename(__FILE__)); -
nebula-forge-addons-for-elementor/trunk/readme.txt
r3430417 r3440874 1 1 === Nebula Forge Addons for Elementor === 2 2 Contributors: shoaibzain 3 Tags: elementor, widgets, landing page, call to action, stats3 Tags: elementor, elementor widgets, landing page, pricing table, testimonials 4 4 Requires at least: 6.2 5 5 Tested up to: 6.9 6 6 Requires PHP: 7.4 7 Stable tag: 0.1. 27 Stable tag: 0.1.5 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Adds modern Elementor widgets (Hero CTA, Feature List, Spotlight Card, Stats Grid)for landing pages and product sections.11 Modern Elementor widgets for landing pages and product sections. 12 12 13 13 == Description == 14 Nebula Forge Addons for Elementor brings modern, conversion-focused widgets to the free Elementor editor. Build standout landing pages and product sections with clean defaults and flexible styling controls. 15 16 = Highlights = 17 * Built for the free Elementor plugin. No Elementor Pro required. 18 * Focused widgets for hero sections, feature lists, spotlight cards, stats grids, pricing tables, testimonials, FAQs, logo grids, and steps. 19 * Detailed style controls for typography, spacing, colors, borders, and hover states. 20 * Lightweight assets that only load when the widgets are used. 21 * Admin settings with tabs, tooltips, and inline guidance for a faster setup. 22 * Built with capability checks, nonces, and sanitized settings. 23 * Layout controls to switch between grid and slider displays. 24 25 = Widgets = 14 26 Nebula Forge Addons for Elementor delivers a small set of focused widgets so you can assemble high-converting sections quickly: 15 27 16 * Hero CTA – expressive hero banner with kicker, headline, supporting copy, and a stylable primary button. 17 * Feature List – grid/list of benefit items with icons, headings, and descriptions using a repeater field. 18 * Spotlight Card – media-forward card with eyebrow, title, description, meta text, CTA button, and image support. 19 * Stats Grid – KPI grid with value/label/helper text per item to showcase performance metrics. 28 * Hero CTA - expressive hero banner with kicker, headline, supporting copy, and a stylable primary button. 29 * Feature List - grid/list of benefit items with icons, headings, and descriptions using a repeater field. 30 * Spotlight Card - media-forward card with eyebrow, title, description, meta text, CTA button, and image support. 31 * Stats Grid - KPI grid with value/label/helper text per item to showcase performance metrics. 32 * Pricing Table - pricing card with plan details, feature list, and CTA. 33 * Testimonials Grid - social-proof cards with quotes, avatars, roles, and star ratings. 34 * Logo Grid - responsive partner and client logos. 35 * FAQ Accordion - collapsible Q&A list for objections. 36 * Steps Timeline - sequential steps for onboarding or workflows. 20 37 21 Designed for the free Elementor plugin. No Elementor Pro required. 38 = Great for = 39 * SaaS landing pages and product launches 40 * Marketing call-to-action sections 41 * Feature and benefit highlights 42 * KPI and social-proof blocks 43 * Pricing and plan comparisons 44 * Customer testimonials and trust signals 45 * FAQ and onboarding sections 22 46 23 47 == Installation == … … 36 60 Yes. Each widget exposes granular style controls for backgrounds, typography, spacing, borders, and hover states. 37 61 62 = What are the minimum requirements? = 63 WordPress 6.2+, PHP 7.4+, and Elementor 3.20+. 64 65 = How do I disable widgets I do not need? = 66 Go to **Nebula Forge > Settings** in wp-admin and toggle off unused widgets. 67 68 = Will this slow down my site? = 69 The plugin only registers assets for its widgets and loads them when those widgets are used. 70 71 = Is it translation-ready? = 72 Yes. All user-facing strings are translatable. Includes Arabic, Urdu, French, and Spanish translations. 73 74 = How can I support the plugin? = 75 Leaving a review on WordPress.org helps more users find the plugin. 76 77 = Does it include demo pages? = 78 Use the Welcome screen checklist to build a quick demo page in Elementor. Start with a Hero CTA, add a Feature List, then layer in Testimonials, a Pricing Table, and an FAQ. 79 38 80 == Screenshots == 39 1. Hero CTA widget example. 40 2. Feature List widget example. 41 3. Spotlight Card widget example. 42 4. Stats Grid widget example. 81 1. Welcome screen with setup checklist and tabs. 82 2. Widget settings with enable/disable toggles and tooltips. 83 3. Hero CTA widget example. 84 4. Feature List widget example. 85 5. Spotlight Card widget example. 86 6. Stats Grid widget example. 87 7. Pricing Table widget example. 88 8. Testimonials Grid widget example. 89 9. Logo Grid widget example. 90 10. FAQ Accordion widget example. 91 11. Steps Timeline widget example. 92 93 == Video Demos == 94 Add short video walkthrough links here when publishing on WordPress.org: 95 * Hero CTA walkthrough 96 * Feature List walkthrough 97 * Spotlight Card walkthrough 98 * Stats Grid walkthrough 99 * Pricing Table walkthrough 100 * Testimonials Grid walkthrough 101 * Logo Grid walkthrough 102 * FAQ Accordion walkthrough 103 * Steps Timeline walkthrough 43 104 44 105 == Changelog == 106 = 0.1.5 = 107 * Added grid/slider layout option for Testimonials and Logo widgets. 108 109 = 0.1.4 = 110 * Added new widgets: Pricing Table, Testimonials Grid, Logo Grid, FAQ Accordion, Steps Timeline. 111 * Added widget badges and improved admin guidance for faster discovery. 112 * Expanded translations and refreshed listing metadata. 113 114 = 0.1.3 = 115 * Improved admin UI with tabs, tooltips, and inline guidance. 116 * Optimized asset loading to enqueue styles/scripts only when widgets are used. 117 * Refreshed readme content for clarity and discoverability. 118 45 119 = 0.1.2 = 46 120 * Bumped plugin version to `0.1.2`. … … 57 131 58 132 == Upgrade Notice == 133 = 0.1.5 = 134 Grid/slider layout option for Testimonials and Logo widgets. Update recommended. 135 136 = 0.1.4 = 137 New widgets, enhanced admin experience, and expanded translations. Update recommended. 138 139 = 0.1.3 = 140 Admin UI improvements and performance tweaks. Update recommended. 141 59 142 = 0.1.2 = 60 143 Maintenance and security hardening. Update recommended.
Note: See TracChangeset
for help on using the changeset viewer.