@magmonium/one 0.4.28 → 0.4.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/i18n/af.json +1 -0
- package/assets/i18n/am.json +1 -0
- package/assets/i18n/ar.json +1 -0
- package/assets/i18n/as.json +1 -0
- package/assets/i18n/az.json +1 -0
- package/assets/i18n/ba.json +1 -0
- package/assets/i18n/be.json +1 -0
- package/assets/i18n/bg.json +1 -0
- package/assets/i18n/bn.json +1 -0
- package/assets/i18n/br.json +1 -0
- package/assets/i18n/bs.json +1 -0
- package/assets/i18n/ca.json +1 -0
- package/assets/i18n/ceb.json +1 -0
- package/assets/i18n/cnr.json +1 -0
- package/assets/i18n/co.json +1 -0
- package/assets/i18n/cs.json +1 -0
- package/assets/i18n/cy.json +1 -0
- package/assets/i18n/da.json +1 -0
- package/assets/i18n/de.json +1 -0
- package/assets/i18n/doi.json +1 -0
- package/assets/i18n/el.json +1 -0
- package/assets/i18n/eo.json +1 -0
- package/assets/i18n/es.json +2 -1
- package/assets/i18n/et.json +1 -0
- package/assets/i18n/eu.json +1 -0
- package/assets/i18n/fa.json +1 -0
- package/assets/i18n/fi.json +1 -0
- package/assets/i18n/fr.json +1 -0
- package/assets/i18n/fy.json +1 -0
- package/assets/i18n/ga.json +1 -0
- package/assets/i18n/gd.json +1 -0
- package/assets/i18n/gl.json +1 -0
- package/assets/i18n/gu.json +1 -0
- package/assets/i18n/ha.json +1 -0
- package/assets/i18n/haw.json +1 -0
- package/assets/i18n/he.json +1 -0
- package/assets/i18n/hi.json +2 -1
- package/assets/i18n/hmn.json +1 -0
- package/assets/i18n/hr.json +1 -0
- package/assets/i18n/hu.json +1 -0
- package/assets/i18n/hy.json +1 -0
- package/assets/i18n/id.json +1 -0
- package/assets/i18n/ig.json +1 -0
- package/assets/i18n/ilo.json +1 -0
- package/assets/i18n/is.json +1 -0
- package/assets/i18n/it.json +1 -0
- package/assets/i18n/iw.json +1 -0
- package/assets/i18n/ja.json +1 -0
- package/assets/i18n/jw.json +1 -0
- package/assets/i18n/ka.json +1 -0
- package/assets/i18n/kk.json +1 -0
- package/assets/i18n/km.json +1 -0
- package/assets/i18n/kn.json +1 -0
- package/assets/i18n/ko.json +1 -0
- package/assets/i18n/kok.json +1 -0
- package/assets/i18n/ku.json +1 -0
- package/assets/i18n/ky.json +1 -0
- package/assets/i18n/la.json +1 -0
- package/assets/i18n/lb.json +1 -0
- package/assets/i18n/lo.json +1 -0
- package/assets/i18n/lt.json +1 -0
- package/assets/i18n/lv.json +1 -0
- package/assets/i18n/mai.json +1 -0
- package/assets/i18n/mg.json +1 -0
- package/assets/i18n/mi.json +1 -0
- package/assets/i18n/mk.json +1 -0
- package/assets/i18n/ml.json +1 -0
- package/assets/i18n/mn.json +1 -0
- package/assets/i18n/mr.json +1 -0
- package/assets/i18n/ms.json +1 -0
- package/assets/i18n/mt.json +1 -0
- package/assets/i18n/my.json +1 -0
- package/assets/i18n/ne.json +1 -0
- package/assets/i18n/nl.json +1 -0
- package/assets/i18n/no.json +1 -0
- package/assets/i18n/ny.json +1 -0
- package/assets/i18n/or.json +1 -0
- package/assets/i18n/pa.json +1 -0
- package/assets/i18n/pl.json +1 -0
- package/assets/i18n/ps.json +1 -0
- package/assets/i18n/pt.json +1 -0
- package/assets/i18n/ro.json +1 -0
- package/assets/i18n/ru.json +1 -0
- package/assets/i18n/sa.json +1 -0
- package/assets/i18n/sat.json +1 -0
- package/assets/i18n/sd.json +1 -0
- package/assets/i18n/si.json +1 -0
- package/assets/i18n/sk.json +1 -0
- package/assets/i18n/sl.json +1 -0
- package/assets/i18n/sm.json +1 -0
- package/assets/i18n/sn.json +1 -0
- package/assets/i18n/so.json +1 -0
- package/assets/i18n/sq.json +1 -0
- package/assets/i18n/sr.json +1 -0
- package/assets/i18n/st.json +1 -0
- package/assets/i18n/su.json +1 -0
- package/assets/i18n/sv.json +1 -0
- package/assets/i18n/sw.json +1 -0
- package/assets/i18n/ta.json +1 -0
- package/assets/i18n/te.json +1 -0
- package/assets/i18n/tg.json +1 -0
- package/assets/i18n/th.json +1 -0
- package/assets/i18n/tl.json +1 -0
- package/assets/i18n/tr.json +1 -0
- package/assets/i18n/uk.json +1 -0
- package/assets/i18n/ur.json +1 -0
- package/assets/i18n/uz.json +1 -0
- package/assets/i18n/vi.json +1 -0
- package/assets/i18n/xh.json +1 -0
- package/assets/i18n/yi.json +1 -0
- package/assets/i18n/yo.json +1 -0
- package/assets/i18n/zh.json +1 -0
- package/assets/i18n/zu.json +1 -0
- package/fesm2022/{magmonium-one-image-editor-C2cKCbhY.mjs → magmonium-one-image-editor-QPOy7XQt.mjs} +2 -2
- package/fesm2022/{magmonium-one-image-editor-C2cKCbhY.mjs.map → magmonium-one-image-editor-QPOy7XQt.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-magmonium-one-DERXXaMX.mjs → magmonium-one-magmonium-one-BTi-rHpF.mjs} +36 -22
- package/fesm2022/magmonium-one-magmonium-one-BTi-rHpF.mjs.map +1 -0
- package/fesm2022/{magmonium-one-otp-DG6yeYVx.mjs → magmonium-one-otp-BcNCgGpz.mjs} +2 -2
- package/fesm2022/{magmonium-one-otp-DG6yeYVx.mjs.map → magmonium-one-otp-BcNCgGpz.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-DwDSYeId.mjs → magmonium-one-password-BDcSzmV_.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-DwDSYeId.mjs.map → magmonium-one-password-BDcSzmV_.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-toggle-Q7xj4HMm.mjs → magmonium-one-toggle-bLWTwEHE.mjs} +2 -2
- package/fesm2022/{magmonium-one-toggle-Q7xj4HMm.mjs.map → magmonium-one-toggle-bLWTwEHE.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +14 -3
- package/fesm2022/magmonium-one-magmonium-one-DERXXaMX.mjs.map +0 -1
package/assets/i18n/mi.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Waihanga Ata",
|
|
155
155
|
"create-new-app": "Waihanga Taupānga Hou",
|
|
156
156
|
"create-wallet": "Waihanga Pukoro",
|
|
157
|
+
"create-wallet-requests-as-you": "Waihangahia nga tono putea mo koe",
|
|
157
158
|
"creativity": "Te auahatanga",
|
|
158
159
|
"croatia": "Koroātia",
|
|
159
160
|
"cuba": "Kiupa",
|
package/assets/i18n/mk.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Креирај икона",
|
|
155
155
|
"create-new-app": "Креирај нова апликација",
|
|
156
156
|
"create-wallet": "Креирај паричник",
|
|
157
|
+
"create-wallet-requests-as-you": "Креирајте барања за паричник во ваше име",
|
|
157
158
|
"creativity": "Креативност",
|
|
158
159
|
"croatia": "Хрватска",
|
|
159
160
|
"cuba": "Куба",
|
package/assets/i18n/ml.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "ഐക്കൺ സൃഷ്ടിക്കുക",
|
|
155
155
|
"create-new-app": "പുതിയ ആപ്പ് സൃഷ്ടിക്കുക",
|
|
156
156
|
"create-wallet": "വാലറ്റ് സൃഷ്ടിക്കുക",
|
|
157
|
+
"create-wallet-requests-as-you": "നിങ്ങളുടെ പേരിൽ വാലറ്റ് അഭ്യർത്ഥനകൾ സൃഷ്ടിക്കുക",
|
|
157
158
|
"creativity": "സർഗ്ഗാത്മകത",
|
|
158
159
|
"croatia": "ക്രൊയേഷ്യ",
|
|
159
160
|
"cuba": "ക്യൂബ",
|
package/assets/i18n/mn.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Дүрс үүсгэх",
|
|
155
155
|
"create-new-app": "Шинэ програм үүсгэх",
|
|
156
156
|
"create-wallet": "Wallet үүсгэх",
|
|
157
|
+
"create-wallet-requests-as-you": "Таны өмнөөс хэтэвчний хүсэлт үүсгэ",
|
|
157
158
|
"creativity": "Бүтээлч байдал",
|
|
158
159
|
"croatia": "Хорват",
|
|
159
160
|
"cuba": "Куба",
|
package/assets/i18n/mr.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "चिन्ह तयार करा",
|
|
155
155
|
"create-new-app": "नवीन ॲप तयार करा",
|
|
156
156
|
"create-wallet": "वॉलेट तयार करा",
|
|
157
|
+
"create-wallet-requests-as-you": "तुमच्या वतीने वॉलेट विनंत्या तयार करा",
|
|
157
158
|
"creativity": "सर्जनशीलता",
|
|
158
159
|
"croatia": "क्रोएशिया",
|
|
159
160
|
"cuba": "क्यूबा",
|
package/assets/i18n/ms.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Buat Ikon",
|
|
155
155
|
"create-new-app": "Cipta Apl Baharu",
|
|
156
156
|
"create-wallet": "Buat Wallet",
|
|
157
|
+
"create-wallet-requests-as-you": "Buat permintaan dompet bagi pihak anda",
|
|
157
158
|
"creativity": "Kreativiti",
|
|
158
159
|
"croatia": "Croatia",
|
|
159
160
|
"cuba": "Cuba",
|
package/assets/i18n/mt.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Oħloq Ikona",
|
|
155
155
|
"create-new-app": "Oħloq App Ġdida",
|
|
156
156
|
"create-wallet": "Oħloq Kartiera",
|
|
157
|
+
"create-wallet-requests-as-you": "Oħloq talbiet għal kartiera f'ismek",
|
|
157
158
|
"creativity": "Kreattività",
|
|
158
159
|
"croatia": "il-Kroazja",
|
|
159
160
|
"cuba": "Kuba",
|
package/assets/i18n/my.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Icon ဖန်တီးပါ။",
|
|
155
155
|
"create-new-app": "အက်ပ်အသစ်ကို ဖန်တီးပါ။",
|
|
156
156
|
"create-wallet": "Wallet ဖန်တီးပါ။",
|
|
157
|
+
"create-wallet-requests-as-you": "သင့်ကိုယ်စား ပိုက်ဆံအိတ်တောင်းဆိုမှုများ ပြုလုပ်ပါ။",
|
|
157
158
|
"creativity": "တီထွင်ဖန်တီးမှု",
|
|
158
159
|
"croatia": "ခရိုအေးရှား",
|
|
159
160
|
"cuba": "ကျူးဘား",
|
package/assets/i18n/ne.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "प्रतिमा सिर्जना गर्नुहोस्",
|
|
155
155
|
"create-new-app": "नयाँ एप बनाउनुहोस्",
|
|
156
156
|
"create-wallet": "वालेट सिर्जना गर्नुहोस्",
|
|
157
|
+
"create-wallet-requests-as-you": "तपाईंको तर्फबाट वालेट अनुरोधहरू सिर्जना गर्नुहोस्",
|
|
157
158
|
"creativity": "रचनात्मकता",
|
|
158
159
|
"croatia": "क्रोएशिया",
|
|
159
160
|
"cuba": "क्युबा",
|
package/assets/i18n/nl.json
CHANGED
|
@@ -157,6 +157,7 @@
|
|
|
157
157
|
"create-new-app": "Maak een nieuwe app",
|
|
158
158
|
"create-pattern": "Patroon maken",
|
|
159
159
|
"create-wallet": "Portemonnee maken",
|
|
160
|
+
"create-wallet-requests-as-you": "Maak namens u portefeuilleverzoeken aan",
|
|
160
161
|
"creativity": "Creativiteit",
|
|
161
162
|
"croatia": "Kroatië",
|
|
162
163
|
"cuba": "Cuba",
|
package/assets/i18n/no.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Opprett ikon",
|
|
155
155
|
"create-new-app": "Opprett ny app",
|
|
156
156
|
"create-wallet": "Opprett lommebok",
|
|
157
|
+
"create-wallet-requests-as-you": "Lag lommebokforespørsler på dine vegne",
|
|
157
158
|
"creativity": "Kreativitet",
|
|
158
159
|
"croatia": "Kroatia",
|
|
159
160
|
"cuba": "Cuba",
|
package/assets/i18n/ny.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Pangani Chizindikiro",
|
|
155
155
|
"create-new-app": "Pangani Pulogalamu Yatsopano",
|
|
156
156
|
"create-wallet": "Pangani Wallet",
|
|
157
|
+
"create-wallet-requests-as-you": "Pangani zopempha zachikwama m'malo mwanu",
|
|
157
158
|
"creativity": "Kupanga zinthu",
|
|
158
159
|
"croatia": "Croatia",
|
|
159
160
|
"cuba": "Cuba",
|
package/assets/i18n/or.json
CHANGED
|
@@ -153,6 +153,7 @@
|
|
|
153
153
|
"create-icon": "ଆଇକନ୍ ସୃଷ୍ଟି କରନ୍ତୁ |",
|
|
154
154
|
"create-new-app": "ନୂତନ ଆପ୍ ସୃଷ୍ଟି କରନ୍ତୁ |",
|
|
155
155
|
"create-wallet": "ୱାଲେଟ୍ ସୃଷ୍ଟି କରନ୍ତୁ |",
|
|
156
|
+
"create-wallet-requests-as-you": "ଆପଣଙ୍କ ତରଫରୁ ୱାଲେଟ୍ ଅନୁରୋଧ ସୃଷ୍ଟି କରନ୍ତୁ |",
|
|
156
157
|
"creativity": "ସୃଜନଶୀଳତା |",
|
|
157
158
|
"croatia": "କ୍ରୋଏସିଆ",
|
|
158
159
|
"cuba": "କ୍ୟୁବା",
|
package/assets/i18n/pa.json
CHANGED
package/assets/i18n/pl.json
CHANGED
|
@@ -157,6 +157,7 @@
|
|
|
157
157
|
"create-new-app": "Utwórz nową aplikację",
|
|
158
158
|
"create-pattern": "Utwórz wzorzec",
|
|
159
159
|
"create-wallet": "Utwórz portfel",
|
|
160
|
+
"create-wallet-requests-as-you": "Twórz żądania portfela w swoim imieniu",
|
|
160
161
|
"creativity": "Kreatywność",
|
|
161
162
|
"croatia": "Chorwacja",
|
|
162
163
|
"cuba": "Kuba",
|
package/assets/i18n/ps.json
CHANGED
|
@@ -153,6 +153,7 @@
|
|
|
153
153
|
"create-icon": "آیکون جوړ کړئ",
|
|
154
154
|
"create-new-app": "نوی اپلیکیشن جوړ کړئ",
|
|
155
155
|
"create-wallet": "والټ جوړ کړئ",
|
|
156
|
+
"create-wallet-requests-as-you": "ستاسو په استازیتوب د والټ غوښتنې رامینځته کړئ",
|
|
156
157
|
"creativity": "خلاقیت",
|
|
157
158
|
"croatia": "کرواشيا",
|
|
158
159
|
"cuba": "کیوبا",
|
package/assets/i18n/pt.json
CHANGED
|
@@ -157,6 +157,7 @@
|
|
|
157
157
|
"create-new-app": "Criar novo aplicativo",
|
|
158
158
|
"create-pattern": "Criar padrão",
|
|
159
159
|
"create-wallet": "Criar Carteira",
|
|
160
|
+
"create-wallet-requests-as-you": "Crie solicitações de carteira em seu nome",
|
|
160
161
|
"creativity": "Criatividade",
|
|
161
162
|
"croatia": "Croácia",
|
|
162
163
|
"cuba": "Cuba",
|
package/assets/i18n/ro.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Creați pictogramă",
|
|
155
155
|
"create-new-app": "Creați o nouă aplicație",
|
|
156
156
|
"create-wallet": "Creați portofel",
|
|
157
|
+
"create-wallet-requests-as-you": "Creați cereri de portofel în numele dvs",
|
|
157
158
|
"creativity": "Creativitate",
|
|
158
159
|
"croatia": "Croația",
|
|
159
160
|
"cuba": "Cuba",
|
package/assets/i18n/ru.json
CHANGED
|
@@ -157,6 +157,7 @@
|
|
|
157
157
|
"create-new-app": "Создать новое приложение",
|
|
158
158
|
"create-pattern": "Создать шаблон",
|
|
159
159
|
"create-wallet": "Создать Кошелёк",
|
|
160
|
+
"create-wallet-requests-as-you": "Создавайте запросы кошелька от вашего имени",
|
|
160
161
|
"creativity": "Креативность",
|
|
161
162
|
"croatia": "Хорватия",
|
|
162
163
|
"cuba": "Куба",
|
package/assets/i18n/sa.json
CHANGED
package/assets/i18n/sat.json
CHANGED
|
@@ -152,6 +152,7 @@
|
|
|
152
152
|
"create-icon": "পরিচালনা চিত্র",
|
|
153
153
|
"create-new-app": "नया ऐप बनाय",
|
|
154
154
|
"create-wallet": "वलेट बनाएं",
|
|
155
|
+
"create-wallet-requests-as-you": "ᱟᱢ ᱛᱟᱞᱟ ᱠᱷᱚᱱ ᱵᱟᱹᱴᱣᱟᱹ ᱟᱨᱫᱟᱥ ᱵᱮᱱᱟᱣ ᱢᱮ",
|
|
155
156
|
"creativity": "ᱥᱤᱨᱡᱚᱱ ᱫᱟᱲᱮ",
|
|
156
157
|
"croatia": "HR",
|
|
157
158
|
"cuba": "CU",
|
package/assets/i18n/sd.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "آئڪن ٺاهيو",
|
|
155
155
|
"create-new-app": "نئون ايپ ٺاهيو",
|
|
156
156
|
"create-wallet": "والٽ ٺاهيو",
|
|
157
|
+
"create-wallet-requests-as-you": "توهان جي طرفان والٽ درخواستون ٺاهيو",
|
|
157
158
|
"creativity": "تخليقيت",
|
|
158
159
|
"croatia": "ڪروئيشيا",
|
|
159
160
|
"cuba": "ڪيوبا",
|
package/assets/i18n/si.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "අයිකනය සාදන්න",
|
|
155
155
|
"create-new-app": "නව යෙදුම සාදන්න",
|
|
156
156
|
"create-wallet": "Wallet සාදන්න",
|
|
157
|
+
"create-wallet-requests-as-you": "ඔබ වෙනුවෙන් මුදල් පසුම්බි ඉල්ලීම් සාදන්න",
|
|
157
158
|
"creativity": "නිර්මාණශීලීත්වය",
|
|
158
159
|
"croatia": "ක්රොඒෂියාව",
|
|
159
160
|
"cuba": "කියුබාව",
|
package/assets/i18n/sk.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Vytvoriť ikonu",
|
|
155
155
|
"create-new-app": "Vytvoriť novú aplikáciu",
|
|
156
156
|
"create-wallet": "Vytvoriť Peňaženku",
|
|
157
|
+
"create-wallet-requests-as-you": "Vytvorte žiadosti o peňaženku vo vašom mene",
|
|
157
158
|
"creativity": "Kreativita",
|
|
158
159
|
"croatia": "Chorvátsko",
|
|
159
160
|
"cuba": "Kuba",
|
package/assets/i18n/sl.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Ustvari ikono",
|
|
155
155
|
"create-new-app": "Ustvari novo aplikacijo",
|
|
156
156
|
"create-wallet": "Ustvari denarnico",
|
|
157
|
+
"create-wallet-requests-as-you": "Ustvarite zahteve za denarnico v vašem imenu",
|
|
157
158
|
"creativity": "Ustvarjalnost",
|
|
158
159
|
"croatia": "Hrvaška",
|
|
159
160
|
"cuba": "Kuba",
|
package/assets/i18n/sm.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Fausia Ata",
|
|
155
155
|
"create-new-app": "Fausia le App Fou",
|
|
156
156
|
"create-wallet": "Fausia le atotupe",
|
|
157
|
+
"create-wallet-requests-as-you": "Fausia talosaga atotupe mo oe",
|
|
157
158
|
"creativity": "Foafoa",
|
|
158
159
|
"croatia": "Kroasja",
|
|
159
160
|
"cuba": "Cuba",
|
package/assets/i18n/sn.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Gadzira Icon",
|
|
155
155
|
"create-new-app": "Gadzira New App",
|
|
156
156
|
"create-wallet": "Gadzira Wallet",
|
|
157
|
+
"create-wallet-requests-as-you": "Gadzira zvikumbiro zvewallet panzvimbo yako",
|
|
157
158
|
"creativity": "Kurasa",
|
|
158
159
|
"croatia": "Korasia",
|
|
159
160
|
"cuba": "Cuba",
|
package/assets/i18n/so.json
CHANGED
|
@@ -153,6 +153,7 @@
|
|
|
153
153
|
"create-icon": "Abuur astaanta",
|
|
154
154
|
"create-new-app": "Abuur App Cusub",
|
|
155
155
|
"create-wallet": "Abuur Wallet",
|
|
156
|
+
"create-wallet-requests-as-you": "U samee codsiyada boorsada jeebka magacaaga",
|
|
156
157
|
"creativity": "Hal-abuurka",
|
|
157
158
|
"croatia": "Korweeshiya",
|
|
158
159
|
"cuba": "Kuuba",
|
package/assets/i18n/sq.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Krijo ikonë",
|
|
155
155
|
"create-new-app": "Krijo një aplikacion të ri",
|
|
156
156
|
"create-wallet": "Krijo portofolin",
|
|
157
|
+
"create-wallet-requests-as-you": "Krijoni kërkesa për portofolin në emrin tuaj",
|
|
157
158
|
"creativity": "Kreativiteti",
|
|
158
159
|
"croatia": "Kroaci",
|
|
159
160
|
"cuba": "Kubë",
|
package/assets/i18n/sr.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Цреате Ицон",
|
|
155
155
|
"create-new-app": "Креирајте нову апликацију",
|
|
156
156
|
"create-wallet": "Креирајте новчаник",
|
|
157
|
+
"create-wallet-requests-as-you": "Креирајте захтеве за новчаник у своје име",
|
|
157
158
|
"creativity": "Креативност",
|
|
158
159
|
"croatia": "Хрватска",
|
|
159
160
|
"cuba": "Куба",
|
package/assets/i18n/st.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Etsa Letšoao",
|
|
155
155
|
"create-new-app": "Theha App e Ncha",
|
|
156
156
|
"create-wallet": "Theha Wallet",
|
|
157
|
+
"create-wallet-requests-as-you": "Etsa likopo tsa wallet molemong oa hau",
|
|
157
158
|
"creativity": "Boqapi",
|
|
158
159
|
"croatia": "HR",
|
|
159
160
|
"cuba": "CU",
|
package/assets/i18n/su.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Jieun Ikon",
|
|
155
155
|
"create-new-app": "Jieun App Anyar",
|
|
156
156
|
"create-wallet": "Jieun Dompét",
|
|
157
|
+
"create-wallet-requests-as-you": "Jieun requests dompét atas nama anjeun",
|
|
157
158
|
"creativity": "Kreativitas",
|
|
158
159
|
"croatia": "HR",
|
|
159
160
|
"cuba": "CU",
|
package/assets/i18n/sv.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Skapa ikon",
|
|
155
155
|
"create-new-app": "Skapa ny app",
|
|
156
156
|
"create-wallet": "Skapa plånbok",
|
|
157
|
+
"create-wallet-requests-as-you": "Skapa plånboksförfrågningar för din räkning",
|
|
157
158
|
"creativity": "Kreativitet",
|
|
158
159
|
"croatia": "Kroatien",
|
|
159
160
|
"cuba": "Kuba",
|
package/assets/i18n/sw.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Unda Ikoni",
|
|
155
155
|
"create-new-app": "Unda Programu Mpya",
|
|
156
156
|
"create-wallet": "Unda Wallet",
|
|
157
|
+
"create-wallet-requests-as-you": "Unda maombi ya pochi kwa niaba yako",
|
|
157
158
|
"creativity": "Ubunifu",
|
|
158
159
|
"croatia": "Croatia",
|
|
159
160
|
"cuba": "Kuba",
|
package/assets/i18n/ta.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "ஐகான் உருவாக்கு",
|
|
155
155
|
"create-new-app": "புதிய பயன்பாட்டை உருவாக்கவும்",
|
|
156
156
|
"create-wallet": "பணப்பையை உருவாக்கவும்",
|
|
157
|
+
"create-wallet-requests-as-you": "உங்கள் சார்பாக வாலட் கோரிக்கைகளை உருவாக்கவும்",
|
|
157
158
|
"creativity": "படைப்பாற்றல்",
|
|
158
159
|
"croatia": "குரோஷியா",
|
|
159
160
|
"cuba": "கியூபா",
|
package/assets/i18n/te.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "చిహ్నాన్ని సృష్టించండి",
|
|
155
155
|
"create-new-app": "కొత్త యాప్ని సృష్టించండి",
|
|
156
156
|
"create-wallet": "వాలెట్ని సృష్టించండి",
|
|
157
|
+
"create-wallet-requests-as-you": "మీ తరపున వాలెట్ అభ్యర్థనలను సృష్టించండి",
|
|
157
158
|
"creativity": "సృజనాత్మకత",
|
|
158
159
|
"croatia": "క్రొయేషియా",
|
|
159
160
|
"cuba": "క్యూబా",
|
package/assets/i18n/tg.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Эҷоди Icon",
|
|
155
155
|
"create-new-app": "Барномаи нав эҷод кунед",
|
|
156
156
|
"create-wallet": "Эҷоди ҳамён",
|
|
157
|
+
"create-wallet-requests-as-you": "Аз номи шумо дархостҳои ҳамён эҷод кунед",
|
|
157
158
|
"creativity": "Эҷодкорӣ",
|
|
158
159
|
"croatia": "Хорватия",
|
|
159
160
|
"cuba": "Куба",
|
package/assets/i18n/th.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "สร้างไอคอน",
|
|
155
155
|
"create-new-app": "สร้างแอปใหม่",
|
|
156
156
|
"create-wallet": "สร้างกระเป๋าเงิน",
|
|
157
|
+
"create-wallet-requests-as-you": "สร้างคำขอกระเป๋าเงินในนามของคุณ",
|
|
157
158
|
"creativity": "ความคิดสร้างสรรค์",
|
|
158
159
|
"croatia": "โครเอเชีย",
|
|
159
160
|
"cuba": "คิวบา",
|
package/assets/i18n/tl.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Lumikha ng Icon",
|
|
155
155
|
"create-new-app": "Lumikha ng Bagong App",
|
|
156
156
|
"create-wallet": "Lumikha ng Wallet",
|
|
157
|
+
"create-wallet-requests-as-you": "Lumikha ng mga kahilingan sa wallet para sa iyo",
|
|
157
158
|
"creativity": "Pagkamalikhain",
|
|
158
159
|
"croatia": "Kroasia",
|
|
159
160
|
"cuba": "Kuba",
|
package/assets/i18n/tr.json
CHANGED
|
@@ -157,6 +157,7 @@
|
|
|
157
157
|
"create-new-app": "Yeni Uygulama Oluştur",
|
|
158
158
|
"create-pattern": "Desen oluştur",
|
|
159
159
|
"create-wallet": "Cüzdan Oluştur",
|
|
160
|
+
"create-wallet-requests-as-you": "Adınıza cüzdan istekleri oluşturun",
|
|
160
161
|
"creativity": "Yaratıcılık",
|
|
161
162
|
"croatia": "Hırvatistan",
|
|
162
163
|
"cuba": "Küba",
|
package/assets/i18n/uk.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Створити значок",
|
|
155
155
|
"create-new-app": "Створити новий додаток",
|
|
156
156
|
"create-wallet": "Створити гаманець",
|
|
157
|
+
"create-wallet-requests-as-you": "Створення запитів гаманця від вашого імені",
|
|
157
158
|
"creativity": "Творчість",
|
|
158
159
|
"croatia": "Хорватія",
|
|
159
160
|
"cuba": "Куба",
|
package/assets/i18n/ur.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "آئیکن بنائیں",
|
|
155
155
|
"create-new-app": "نئی ایپ بنائیں",
|
|
156
156
|
"create-wallet": "والیٹ بنائیں",
|
|
157
|
+
"create-wallet-requests-as-you": "اپنی طرف سے بٹوے کی درخواستیں بنائیں",
|
|
157
158
|
"creativity": "تخلیقی صلاحیت",
|
|
158
159
|
"croatia": "کروشیا",
|
|
159
160
|
"cuba": "کیوبا",
|
package/assets/i18n/uz.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Belgini yaratish",
|
|
155
155
|
"create-new-app": "Yangi ilova yaratish",
|
|
156
156
|
"create-wallet": "Wallet yaratish",
|
|
157
|
+
"create-wallet-requests-as-you": "Sizning nomingizdan hamyon so'rovlarini yarating",
|
|
157
158
|
"creativity": "Ijodkorlik",
|
|
158
159
|
"croatia": "Xorvatiya",
|
|
159
160
|
"cuba": "Kuba",
|
package/assets/i18n/vi.json
CHANGED
package/assets/i18n/xh.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Yenza i-Icon",
|
|
155
155
|
"create-new-app": "Yenza i-App entsha",
|
|
156
156
|
"create-wallet": "Yenza iWallet",
|
|
157
|
+
"create-wallet-requests-as-you": "Yenza izicelo zesipaji egameni lakho",
|
|
157
158
|
"creativity": "Ukudala",
|
|
158
159
|
"croatia": "ECroatia",
|
|
159
160
|
"cuba": "ECuba",
|
package/assets/i18n/yi.json
CHANGED
|
@@ -153,6 +153,7 @@
|
|
|
153
153
|
"create-icon": "שאַפֿן יקאָן",
|
|
154
154
|
"create-new-app": "שאַפֿן אַ נייַע אַפּ",
|
|
155
155
|
"create-wallet": "שאַפֿן וואַללעט",
|
|
156
|
+
"create-wallet-requests-as-you": "שאַפֿן בייַטל ריקוועס פֿאַר דיין ביכאַף",
|
|
156
157
|
"creativity": "שאפן",
|
|
157
158
|
"croatia": "קראאַטיע",
|
|
158
159
|
"cuba": "קובאַ",
|
package/assets/i18n/yo.json
CHANGED
|
@@ -153,6 +153,7 @@
|
|
|
153
153
|
"create-icon": "Ṣẹda Aami",
|
|
154
154
|
"create-new-app": "Ṣẹda Tuntun App",
|
|
155
155
|
"create-wallet": "Ṣẹda apamọwọ",
|
|
156
|
+
"create-wallet-requests-as-you": "Ṣẹda awọn ibeere apamọwọ fun ọ",
|
|
156
157
|
"creativity": "Iṣẹda",
|
|
157
158
|
"croatia": "Kòróátíà",
|
|
158
159
|
"cuba": "Kúbà",
|
package/assets/i18n/zh.json
CHANGED
package/assets/i18n/zu.json
CHANGED
|
@@ -154,6 +154,7 @@
|
|
|
154
154
|
"create-icon": "Dala Isithonjana",
|
|
155
155
|
"create-new-app": "Dala Uhlelo Olusha Lokusebenza",
|
|
156
156
|
"create-wallet": "Dala i-Wallet",
|
|
157
|
+
"create-wallet-requests-as-you": "Dala izicelo ze-wallet esikhundleni sakho",
|
|
157
158
|
"creativity": "Ukudala",
|
|
158
159
|
"croatia": "i-Croatia",
|
|
159
160
|
"cuba": "i-Cuba",
|
package/fesm2022/{magmonium-one-image-editor-C2cKCbhY.mjs → magmonium-one-image-editor-QPOy7XQt.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, inject, viewChild, signal, computed, effect, DestroyRef, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import { M as MODAL_REF, a as MIN_ZOOM, I as InputType, b as MAX_ZOOM, p as parseRatio, o as outputSize, c as cropRect, i as initialFraming, e as encodeFramed, d as drawFramed, r as renameForType, f as clampFraming, B as ButtonComponent, H as HeaderComponent, R as RangeInputComponent } from './magmonium-one-magmonium-one-
|
|
3
|
+
import { M as MODAL_REF, a as MIN_ZOOM, I as InputType, b as MAX_ZOOM, p as parseRatio, o as outputSize, c as cropRect, i as initialFraming, e as encodeFramed, d as drawFramed, r as renameForType, f as clampFraming, B as ButtonComponent, H as HeaderComponent, R as RangeInputComponent } from './magmonium-one-magmonium-one-BTi-rHpF.mjs';
|
|
4
4
|
|
|
5
5
|
const WHEEL_ZOOM_RATE = 0.0015;
|
|
6
6
|
const distance = (a, b) => Math.hypot(a.x - b.x, a.y - b.y);
|
|
@@ -287,4 +287,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
287
287
|
}], propDecorators: { file: [{ type: i0.Input, args: [{ isSignal: true, alias: "file", required: true }] }], ratio: [{ type: i0.Input, args: [{ isSignal: true, alias: "ratio", required: true }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: true }] }], stage: [{ type: i0.ViewChild, args: ['stage', { isSignal: true }] }] } });
|
|
288
288
|
|
|
289
289
|
export { ImageEditorComponent };
|
|
290
|
-
//# sourceMappingURL=magmonium-one-image-editor-
|
|
290
|
+
//# sourceMappingURL=magmonium-one-image-editor-QPOy7XQt.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magmonium-one-image-editor-C2cKCbhY.mjs","sources":["../../../../libs/one/src/lib/shared/ui/input/ui/file-upload-input/image-editor.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ButtonComponent } from '../../../button/ui/button';\nimport { HeaderComponent } from '../../../header';\nimport { RangeInputComponent } from '../range/range';\nimport { InputType, RangeInput } from '../../model/input';\nimport { MODAL_REF, ModalRef } from '../../../../config/modal-ref';\nimport {\n clampFraming,\n cropRect,\n drawFramed,\n encodeFramed,\n Framing,\n FrameSize,\n initialFraming,\n MAX_ZOOM,\n MIN_ZOOM,\n outputSize,\n parseRatio,\n renameForType,\n} from './image-frame';\n\n/**\n * What an ImageEditor closes with. The framed file on an apply, `unreadable`\n * when the picture never decoded, and neither for a dismissal — a flat object\n * rather than a union, so the web-component build (no `strict`) reads it too.\n */\nexport type ImageEditorResult = { file?: File; unreadable?: boolean };\n\ntype Point = { x: number; y: number };\n\nconst WHEEL_ZOOM_RATE = 0.0015;\n\nconst distance = (a: Point, b: Point): number =>\n Math.hypot(a.x - b.x, a.y - b.y);\n\n@Component({\n selector: 'm-image-editor',\n template: `\n <div class=\"image-editor\">\n <m-header\n [level]=\"3\"\n label=\"edit-image-size\"\n [params]=\"sizeParams()\"\n />\n <div\n #stage\n class=\"image-editor__stage\"\n [style.aspect-ratio]=\"aspect()\"\n [style.--m-image-editor-aspect]=\"aspect()\"\n [class.image-editor__stage--panning]=\"isPanning()\"\n (pointerdown)=\"onPointerDown($event)\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerup)=\"onPointerUp($event)\"\n (pointercancel)=\"onPointerUp($event)\"\n (wheel)=\"onWheel($event)\"\n >\n @if (sourceUrl(); as url) {\n <img\n class=\"image-editor__image\"\n [src]=\"url\"\n alt=\"\"\n draggable=\"false\"\n [style.width.px]=\"imageBox().width\"\n [style.height.px]=\"imageBox().height\"\n [style.transform]=\"imageBox().transform\"\n />\n }\n </div>\n <m-range\n [config]=\"zoomConfig()\"\n [value]=\"zoomPercent()\"\n (valueChange)=\"onZoom($event)\"\n />\n <!-- asset: buttons/okay.yml. No cancel beside it: the Modal's own close\n is the cancel, and it drops the image the same way. -->\n <m-one-button\n name=\"okay\"\n label=\"apply\"\n [disabled]=\"!source() || isApplying()\"\n (clicked)=\"apply()\"\n />\n </div>\n `,\n imports: [ButtonComponent, HeaderComponent, RangeInputComponent],\n styleUrl: './image-editor.sass',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImageEditorComponent {\n readonly file = input.required<File>();\n readonly ratio = input.required<string>();\n readonly width = input.required<number>();\n\n readonly #modalRef = inject<ModalRef<ImageEditorResult | undefined>>(MODAL_REF);\n private readonly stage = viewChild<ElementRef<HTMLDivElement>>('stage');\n\n protected readonly source = signal<ImageBitmap | undefined>(undefined);\n protected readonly sourceUrl = signal<string | undefined>(undefined);\n protected readonly isApplying = signal(false);\n private readonly framing = signal<Framing>({ cx: 0, cy: 0, zoom: MIN_ZOOM });\n private readonly stageWidth = signal(0);\n private readonly pointers = new Map<number, Point>();\n protected readonly isPanning = signal(false);\n #settled = false;\n\n protected readonly zoomConfig = computed<RangeInput>(() => ({\n name: 'zoom',\n label: 'zoom',\n type: InputType.RANGE,\n min: MIN_ZOOM * 100,\n max: MAX_ZOOM * 100,\n }));\n\n protected readonly aspect = computed(() => parseRatio(this.ratio()) ?? 1);\n\n private readonly output = computed<FrameSize | undefined>(() =>\n outputSize(this.ratio(), this.width())\n );\n\n protected readonly sizeParams = computed(() => {\n const size = this.output();\n return {\n width: String(size?.width ?? ''),\n height: String(size?.height ?? ''),\n };\n });\n\n private readonly imageSize = computed<FrameSize | undefined>(() => {\n const bitmap = this.source();\n return bitmap ? { width: bitmap.width, height: bitmap.height } : undefined;\n });\n\n protected readonly zoomPercent = computed(() =>\n String(Math.round(this.framing().zoom * 100))\n );\n\n /** The whole picture laid out so the box shows exactly the crop. */\n protected readonly imageBox = computed(() => {\n const image = this.imageSize();\n const stage = this.stageWidth();\n if (!image || !stage) return { width: 0, height: 0, transform: 'none' };\n const rect = cropRect(image, this.aspect(), this.framing());\n const scale = stage / rect.width;\n return {\n width: image.width * scale,\n height: image.height * scale,\n transform: `translate(${-rect.x * scale}px, ${-rect.y * scale}px)`,\n };\n });\n\n private readonly load = effect((onCleanup) => {\n const file = this.file();\n let cancelled = false;\n const url = URL.createObjectURL(file);\n this.sourceUrl.set(url);\n // EXIF orientation applied here, so the geometry below and the <img> the\n // stage draws agree on which way is up.\n createImageBitmap(file, { imageOrientation: 'from-image' })\n .then((bitmap) => {\n if (cancelled) {\n bitmap.close();\n return;\n }\n this.framing.set(\n initialFraming({ width: bitmap.width, height: bitmap.height })\n );\n this.source.set(bitmap);\n })\n .catch(() => {\n if (!cancelled) this.settle({ unreadable: true });\n });\n onCleanup(() => {\n cancelled = true;\n URL.revokeObjectURL(url);\n this.source()?.close();\n });\n });\n\n private readonly measure = effect((onCleanup) => {\n const stage = this.stage()?.nativeElement;\n if (!stage) return;\n this.stageWidth.set(stage.clientWidth);\n if (typeof ResizeObserver === 'undefined') return;\n const observer = new ResizeObserver(([entry]) =>\n this.stageWidth.set(entry.contentRect.width)\n );\n observer.observe(stage);\n onCleanup(() => observer.disconnect());\n });\n\n // The Modal's own close affordance destroys the body without a word, and a\n // dismissal is a cancel: whoever opened the editor is still waiting.\n private readonly reportDismissal = inject(DestroyRef).onDestroy(() =>\n this.settle(undefined)\n );\n\n protected onPointerDown = (event: PointerEvent): void => {\n if (!this.source()) return;\n (event.currentTarget as HTMLElement).setPointerCapture?.(event.pointerId);\n this.pointers.set(event.pointerId, { x: event.clientX, y: event.clientY });\n this.isPanning.set(true);\n };\n\n protected onPointerMove = (event: PointerEvent): void => {\n const previous = this.pointers.get(event.pointerId);\n if (!previous) return;\n const next = { x: event.clientX, y: event.clientY };\n const others = [...this.pointers.entries()].filter(\n ([id]) => id !== event.pointerId\n );\n if (others.length === 1) {\n // Pinch: the gap between two fingers is the zoom.\n const anchor = others[0][1];\n const before = distance(previous, anchor);\n if (before > 0) this.zoomBy(distance(next, anchor) / before);\n } else if (others.length === 0) {\n this.panBy(next.x - previous.x, next.y - previous.y);\n }\n this.pointers.set(event.pointerId, next);\n };\n\n protected onPointerUp = (event: PointerEvent): void => {\n this.pointers.delete(event.pointerId);\n this.isPanning.set(this.pointers.size > 0);\n };\n\n protected onWheel = (event: WheelEvent): void => {\n if (!this.source()) return;\n event.preventDefault();\n this.zoomBy(Math.exp(-event.deltaY * WHEEL_ZOOM_RATE));\n };\n\n protected onZoom = (percent: string): void => {\n const zoom = Number(percent) / 100;\n if (!Number.isFinite(zoom)) return;\n this.updateFraming((framing) => ({ ...framing, zoom }));\n };\n\n protected apply = async (): Promise<void> => {\n const bitmap = this.source();\n const image = this.imageSize();\n const output = this.output();\n if (!bitmap || !image || !output || this.isApplying()) return;\n this.isApplying.set(true);\n try {\n const rect = cropRect(image, this.aspect(), this.framing());\n const blob = await encodeFramed(drawFramed(bitmap, rect, output));\n const original = this.file();\n this.settle({\n file: new File([blob], renameForType(original.name, blob.type), {\n type: blob.type,\n lastModified: Date.now(),\n }),\n });\n } catch {\n this.settle({ unreadable: true });\n }\n };\n\n /** Screen pixels dragged, moved into source pixels at the current scale. */\n private panBy = (dx: number, dy: number): void => {\n const image = this.imageSize();\n const stage = this.stageWidth();\n if (!image || !stage) return;\n const rect = cropRect(image, this.aspect(), this.framing());\n const perPixel = rect.width / stage;\n this.updateFraming((framing) => ({\n ...framing,\n cx: framing.cx - dx * perPixel,\n cy: framing.cy - dy * perPixel,\n }));\n };\n\n private zoomBy = (factor: number): void => {\n this.updateFraming((framing) => ({\n ...framing,\n zoom: framing.zoom * factor,\n }));\n };\n\n private updateFraming = (change: (framing: Framing) => Framing): void => {\n const image = this.imageSize();\n if (!image) return;\n this.framing.update((framing) =>\n clampFraming(image, this.aspect(), change(framing))\n );\n };\n\n private settle = (result: ImageEditorResult | undefined): void => {\n if (this.#settled) return;\n this.#settled = true;\n this.#modalRef.close(result);\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"magmonium-one-image-editor-QPOy7XQt.mjs","sources":["../../../../libs/one/src/lib/shared/ui/input/ui/file-upload-input/image-editor.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ButtonComponent } from '../../../button/ui/button';\nimport { HeaderComponent } from '../../../header';\nimport { RangeInputComponent } from '../range/range';\nimport { InputType, RangeInput } from '../../model/input';\nimport { MODAL_REF, ModalRef } from '../../../../config/modal-ref';\nimport {\n clampFraming,\n cropRect,\n drawFramed,\n encodeFramed,\n Framing,\n FrameSize,\n initialFraming,\n MAX_ZOOM,\n MIN_ZOOM,\n outputSize,\n parseRatio,\n renameForType,\n} from './image-frame';\n\n/**\n * What an ImageEditor closes with. The framed file on an apply, `unreadable`\n * when the picture never decoded, and neither for a dismissal — a flat object\n * rather than a union, so the web-component build (no `strict`) reads it too.\n */\nexport type ImageEditorResult = { file?: File; unreadable?: boolean };\n\ntype Point = { x: number; y: number };\n\nconst WHEEL_ZOOM_RATE = 0.0015;\n\nconst distance = (a: Point, b: Point): number =>\n Math.hypot(a.x - b.x, a.y - b.y);\n\n@Component({\n selector: 'm-image-editor',\n template: `\n <div class=\"image-editor\">\n <m-header\n [level]=\"3\"\n label=\"edit-image-size\"\n [params]=\"sizeParams()\"\n />\n <div\n #stage\n class=\"image-editor__stage\"\n [style.aspect-ratio]=\"aspect()\"\n [style.--m-image-editor-aspect]=\"aspect()\"\n [class.image-editor__stage--panning]=\"isPanning()\"\n (pointerdown)=\"onPointerDown($event)\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerup)=\"onPointerUp($event)\"\n (pointercancel)=\"onPointerUp($event)\"\n (wheel)=\"onWheel($event)\"\n >\n @if (sourceUrl(); as url) {\n <img\n class=\"image-editor__image\"\n [src]=\"url\"\n alt=\"\"\n draggable=\"false\"\n [style.width.px]=\"imageBox().width\"\n [style.height.px]=\"imageBox().height\"\n [style.transform]=\"imageBox().transform\"\n />\n }\n </div>\n <m-range\n [config]=\"zoomConfig()\"\n [value]=\"zoomPercent()\"\n (valueChange)=\"onZoom($event)\"\n />\n <!-- asset: buttons/okay.yml. No cancel beside it: the Modal's own close\n is the cancel, and it drops the image the same way. -->\n <m-one-button\n name=\"okay\"\n label=\"apply\"\n [disabled]=\"!source() || isApplying()\"\n (clicked)=\"apply()\"\n />\n </div>\n `,\n imports: [ButtonComponent, HeaderComponent, RangeInputComponent],\n styleUrl: './image-editor.sass',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImageEditorComponent {\n readonly file = input.required<File>();\n readonly ratio = input.required<string>();\n readonly width = input.required<number>();\n\n readonly #modalRef = inject<ModalRef<ImageEditorResult | undefined>>(MODAL_REF);\n private readonly stage = viewChild<ElementRef<HTMLDivElement>>('stage');\n\n protected readonly source = signal<ImageBitmap | undefined>(undefined);\n protected readonly sourceUrl = signal<string | undefined>(undefined);\n protected readonly isApplying = signal(false);\n private readonly framing = signal<Framing>({ cx: 0, cy: 0, zoom: MIN_ZOOM });\n private readonly stageWidth = signal(0);\n private readonly pointers = new Map<number, Point>();\n protected readonly isPanning = signal(false);\n #settled = false;\n\n protected readonly zoomConfig = computed<RangeInput>(() => ({\n name: 'zoom',\n label: 'zoom',\n type: InputType.RANGE,\n min: MIN_ZOOM * 100,\n max: MAX_ZOOM * 100,\n }));\n\n protected readonly aspect = computed(() => parseRatio(this.ratio()) ?? 1);\n\n private readonly output = computed<FrameSize | undefined>(() =>\n outputSize(this.ratio(), this.width())\n );\n\n protected readonly sizeParams = computed(() => {\n const size = this.output();\n return {\n width: String(size?.width ?? ''),\n height: String(size?.height ?? ''),\n };\n });\n\n private readonly imageSize = computed<FrameSize | undefined>(() => {\n const bitmap = this.source();\n return bitmap ? { width: bitmap.width, height: bitmap.height } : undefined;\n });\n\n protected readonly zoomPercent = computed(() =>\n String(Math.round(this.framing().zoom * 100))\n );\n\n /** The whole picture laid out so the box shows exactly the crop. */\n protected readonly imageBox = computed(() => {\n const image = this.imageSize();\n const stage = this.stageWidth();\n if (!image || !stage) return { width: 0, height: 0, transform: 'none' };\n const rect = cropRect(image, this.aspect(), this.framing());\n const scale = stage / rect.width;\n return {\n width: image.width * scale,\n height: image.height * scale,\n transform: `translate(${-rect.x * scale}px, ${-rect.y * scale}px)`,\n };\n });\n\n private readonly load = effect((onCleanup) => {\n const file = this.file();\n let cancelled = false;\n const url = URL.createObjectURL(file);\n this.sourceUrl.set(url);\n // EXIF orientation applied here, so the geometry below and the <img> the\n // stage draws agree on which way is up.\n createImageBitmap(file, { imageOrientation: 'from-image' })\n .then((bitmap) => {\n if (cancelled) {\n bitmap.close();\n return;\n }\n this.framing.set(\n initialFraming({ width: bitmap.width, height: bitmap.height })\n );\n this.source.set(bitmap);\n })\n .catch(() => {\n if (!cancelled) this.settle({ unreadable: true });\n });\n onCleanup(() => {\n cancelled = true;\n URL.revokeObjectURL(url);\n this.source()?.close();\n });\n });\n\n private readonly measure = effect((onCleanup) => {\n const stage = this.stage()?.nativeElement;\n if (!stage) return;\n this.stageWidth.set(stage.clientWidth);\n if (typeof ResizeObserver === 'undefined') return;\n const observer = new ResizeObserver(([entry]) =>\n this.stageWidth.set(entry.contentRect.width)\n );\n observer.observe(stage);\n onCleanup(() => observer.disconnect());\n });\n\n // The Modal's own close affordance destroys the body without a word, and a\n // dismissal is a cancel: whoever opened the editor is still waiting.\n private readonly reportDismissal = inject(DestroyRef).onDestroy(() =>\n this.settle(undefined)\n );\n\n protected onPointerDown = (event: PointerEvent): void => {\n if (!this.source()) return;\n (event.currentTarget as HTMLElement).setPointerCapture?.(event.pointerId);\n this.pointers.set(event.pointerId, { x: event.clientX, y: event.clientY });\n this.isPanning.set(true);\n };\n\n protected onPointerMove = (event: PointerEvent): void => {\n const previous = this.pointers.get(event.pointerId);\n if (!previous) return;\n const next = { x: event.clientX, y: event.clientY };\n const others = [...this.pointers.entries()].filter(\n ([id]) => id !== event.pointerId\n );\n if (others.length === 1) {\n // Pinch: the gap between two fingers is the zoom.\n const anchor = others[0][1];\n const before = distance(previous, anchor);\n if (before > 0) this.zoomBy(distance(next, anchor) / before);\n } else if (others.length === 0) {\n this.panBy(next.x - previous.x, next.y - previous.y);\n }\n this.pointers.set(event.pointerId, next);\n };\n\n protected onPointerUp = (event: PointerEvent): void => {\n this.pointers.delete(event.pointerId);\n this.isPanning.set(this.pointers.size > 0);\n };\n\n protected onWheel = (event: WheelEvent): void => {\n if (!this.source()) return;\n event.preventDefault();\n this.zoomBy(Math.exp(-event.deltaY * WHEEL_ZOOM_RATE));\n };\n\n protected onZoom = (percent: string): void => {\n const zoom = Number(percent) / 100;\n if (!Number.isFinite(zoom)) return;\n this.updateFraming((framing) => ({ ...framing, zoom }));\n };\n\n protected apply = async (): Promise<void> => {\n const bitmap = this.source();\n const image = this.imageSize();\n const output = this.output();\n if (!bitmap || !image || !output || this.isApplying()) return;\n this.isApplying.set(true);\n try {\n const rect = cropRect(image, this.aspect(), this.framing());\n const blob = await encodeFramed(drawFramed(bitmap, rect, output));\n const original = this.file();\n this.settle({\n file: new File([blob], renameForType(original.name, blob.type), {\n type: blob.type,\n lastModified: Date.now(),\n }),\n });\n } catch {\n this.settle({ unreadable: true });\n }\n };\n\n /** Screen pixels dragged, moved into source pixels at the current scale. */\n private panBy = (dx: number, dy: number): void => {\n const image = this.imageSize();\n const stage = this.stageWidth();\n if (!image || !stage) return;\n const rect = cropRect(image, this.aspect(), this.framing());\n const perPixel = rect.width / stage;\n this.updateFraming((framing) => ({\n ...framing,\n cx: framing.cx - dx * perPixel,\n cy: framing.cy - dy * perPixel,\n }));\n };\n\n private zoomBy = (factor: number): void => {\n this.updateFraming((framing) => ({\n ...framing,\n zoom: framing.zoom * factor,\n }));\n };\n\n private updateFraming = (change: (framing: Framing) => Framing): void => {\n const image = this.imageSize();\n if (!image) return;\n this.framing.update((framing) =>\n clampFraming(image, this.aspect(), change(framing))\n );\n };\n\n private settle = (result: ImageEditorResult | undefined): void => {\n if (this.#settled) return;\n this.#settled = true;\n this.#modalRef.close(result);\n };\n}\n"],"names":[],"mappings":"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"}
|