@arbisoft/react-design-tool 1.0.60 → 1.0.62
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/README.md +8 -2
- package/dist/cjs/index.js +251 -38
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +251 -38
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,10 +12,16 @@ With this tool, you can:
|
|
|
12
12
|
|
|
13
13
|
Perfect for integrating into applications that require user-driven visual content creation.
|
|
14
14
|
|
|
15
|
+
### Image tinting at a glance
|
|
16
|
+
- Select any image to reveal **Tint Color**, **Tint Strength (0–100%)**, and **Remove Tint**.
|
|
17
|
+
- Default tint strength is set to **60%** for balanced coloring without hiding details.
|
|
18
|
+
- Works on-canvas and in exported images (Konva filter-based).
|
|
19
|
+
|
|
15
20
|
---
|
|
16
21
|
|
|
17
22
|
## 🔔 What’s New
|
|
18
23
|
|
|
24
|
+
- **Image tinting for photos**: New **Tint Color** and **Tint Strength** controls appear when an image is selected. Default tint is a balanced 60%, adjustable 0–100%, with a one-click **Remove Tint**.
|
|
19
25
|
- **Auto-placement for QR ID**: When enabled, the QR ID text is **automatically positioned above the Location text** (`LOCATION_ELEMENT_ID`).
|
|
20
26
|
If the Location element doesn’t exist, it’s **centered on the canvas**.
|
|
21
27
|
- **Persistent QR ID across template switches**: If the QR ID was visible before switching templates, it stays visible and **reflows** for the new template.
|
|
@@ -58,13 +64,13 @@ yarn add @arbisoft/react-design-tool
|
|
|
58
64
|
#### ⚠️ Important: Installation Guide for React 18 and Below
|
|
59
65
|
|
|
60
66
|
```bash
|
|
61
|
-
npm install @arbisoft/react-design-tool@1.0.
|
|
67
|
+
npm install @arbisoft/react-design-tool@1.0.62
|
|
62
68
|
```
|
|
63
69
|
|
|
64
70
|
OR
|
|
65
71
|
|
|
66
72
|
```bash
|
|
67
|
-
yarn add @arbisoft/react-design-tool@1.0.
|
|
73
|
+
yarn add @arbisoft/react-design-tool@1.0.62
|
|
68
74
|
|
|
69
75
|
```
|
|
70
76
|
|
package/dist/cjs/index.js
CHANGED
|
@@ -5,9 +5,9 @@ var PropTypes = require('prop-types');
|
|
|
5
5
|
var styled = require('styled-components');
|
|
6
6
|
var reactDom = require('react-dom');
|
|
7
7
|
var reactKonva = require('react-konva');
|
|
8
|
+
var Konva = require('konva');
|
|
8
9
|
var QRCode = require('qrcode');
|
|
9
10
|
var reactKonvaUtils = require('react-konva-utils');
|
|
10
|
-
var Konva = require('konva');
|
|
11
11
|
|
|
12
12
|
function _arrayLikeToArray(r, a) {
|
|
13
13
|
(null == a || a > r.length) && (a = r.length);
|
|
@@ -811,8 +811,12 @@ var LOCATION_BREADCRUMB$8 = "property > building > room";
|
|
|
811
811
|
var DOMAIN$8 = "www.domain.com";
|
|
812
812
|
var SHOW_PROPERTY_LOCATION$8 = "Show Property Label";
|
|
813
813
|
var LOCATION_HELPER$8 = "Enable this to show the property’s location label on the canvas, or disable it to hide it.";
|
|
814
|
-
var SHOW_QR_ID$8 = "Show QR
|
|
814
|
+
var SHOW_QR_ID$8 = "Show QR Id";
|
|
815
815
|
var QR_ID_HELPER$8 = "Enable this to display the unique QR Code ID on the canvas, or disable it to remove it.";
|
|
816
|
+
var MONOCHROME_COLOR$8 = "Tint Color";
|
|
817
|
+
var MONOCHROME_STRENGTH$8 = "Tint Strength";
|
|
818
|
+
var CLEAR_MONOCHROME$8 = "Remove Tint";
|
|
819
|
+
var TINT_SHORT$8 = "Tint";
|
|
816
820
|
var enTranslations = {
|
|
817
821
|
BRING_FORWARD: BRING_FORWARD$8,
|
|
818
822
|
SEND_BACKWARD: SEND_BACKWARD$8,
|
|
@@ -885,7 +889,11 @@ var enTranslations = {
|
|
|
885
889
|
SHOW_PROPERTY_LOCATION: SHOW_PROPERTY_LOCATION$8,
|
|
886
890
|
LOCATION_HELPER: LOCATION_HELPER$8,
|
|
887
891
|
SHOW_QR_ID: SHOW_QR_ID$8,
|
|
888
|
-
QR_ID_HELPER: QR_ID_HELPER$8
|
|
892
|
+
QR_ID_HELPER: QR_ID_HELPER$8,
|
|
893
|
+
MONOCHROME_COLOR: MONOCHROME_COLOR$8,
|
|
894
|
+
MONOCHROME_STRENGTH: MONOCHROME_STRENGTH$8,
|
|
895
|
+
CLEAR_MONOCHROME: CLEAR_MONOCHROME$8,
|
|
896
|
+
TINT_SHORT: TINT_SHORT$8
|
|
889
897
|
};
|
|
890
898
|
|
|
891
899
|
var BRING_FORWARD$7 = "Перенести вперёд";
|
|
@@ -960,6 +968,10 @@ var SHOW_PROPERTY_LOCATION$7 = "Показать метку объекта";
|
|
|
960
968
|
var LOCATION_HELPER$7 = "Включите, чтобы показать метку расположения объекта на холсте, или отключите, чтобы скрыть её.";
|
|
961
969
|
var SHOW_QR_ID$7 = "Показать QR-ID";
|
|
962
970
|
var QR_ID_HELPER$7 = "Включите, чтобы отобразить уникальный идентификатор QR-кода на холсте, или отключите, чтобы убрать его.";
|
|
971
|
+
var MONOCHROME_COLOR$7 = "Цвет тона";
|
|
972
|
+
var MONOCHROME_STRENGTH$7 = "Сила тона";
|
|
973
|
+
var CLEAR_MONOCHROME$7 = "Убрать тон";
|
|
974
|
+
var TINT_SHORT$7 = "Тон";
|
|
963
975
|
var ruTranslations = {
|
|
964
976
|
BRING_FORWARD: BRING_FORWARD$7,
|
|
965
977
|
SEND_BACKWARD: SEND_BACKWARD$7,
|
|
@@ -1032,7 +1044,11 @@ var ruTranslations = {
|
|
|
1032
1044
|
SHOW_PROPERTY_LOCATION: SHOW_PROPERTY_LOCATION$7,
|
|
1033
1045
|
LOCATION_HELPER: LOCATION_HELPER$7,
|
|
1034
1046
|
SHOW_QR_ID: SHOW_QR_ID$7,
|
|
1035
|
-
QR_ID_HELPER: QR_ID_HELPER$7
|
|
1047
|
+
QR_ID_HELPER: QR_ID_HELPER$7,
|
|
1048
|
+
MONOCHROME_COLOR: MONOCHROME_COLOR$7,
|
|
1049
|
+
MONOCHROME_STRENGTH: MONOCHROME_STRENGTH$7,
|
|
1050
|
+
CLEAR_MONOCHROME: CLEAR_MONOCHROME$7,
|
|
1051
|
+
TINT_SHORT: TINT_SHORT$7
|
|
1036
1052
|
};
|
|
1037
1053
|
|
|
1038
1054
|
var BRING_FORWARD$6 = "Przenieś do przodu";
|
|
@@ -1107,6 +1123,10 @@ var SHOW_PROPERTY_LOCATION$6 = "Pokaż etykietę nieruchomości";
|
|
|
1107
1123
|
var LOCATION_HELPER$6 = "Włącz tę opcję, aby wyświetlić etykietę lokalizacji nieruchomości na płótnie, lub wyłącz, aby ją ukryć.";
|
|
1108
1124
|
var SHOW_QR_ID$6 = "Pokaż identyfikator QR";
|
|
1109
1125
|
var QR_ID_HELPER$6 = "Włącz tę opcję, aby wyświetlić unikalny identyfikator kodu QR na płótnie, lub wyłącz, aby go usunąć.";
|
|
1126
|
+
var MONOCHROME_COLOR$6 = "Kolor tonu";
|
|
1127
|
+
var MONOCHROME_STRENGTH$6 = "Siła tonu";
|
|
1128
|
+
var CLEAR_MONOCHROME$6 = "Usuń ton";
|
|
1129
|
+
var TINT_SHORT$6 = "Ton";
|
|
1110
1130
|
var plTranslations = {
|
|
1111
1131
|
BRING_FORWARD: BRING_FORWARD$6,
|
|
1112
1132
|
SEND_BACKWARD: SEND_BACKWARD$6,
|
|
@@ -1179,7 +1199,11 @@ var plTranslations = {
|
|
|
1179
1199
|
SHOW_PROPERTY_LOCATION: SHOW_PROPERTY_LOCATION$6,
|
|
1180
1200
|
LOCATION_HELPER: LOCATION_HELPER$6,
|
|
1181
1201
|
SHOW_QR_ID: SHOW_QR_ID$6,
|
|
1182
|
-
QR_ID_HELPER: QR_ID_HELPER$6
|
|
1202
|
+
QR_ID_HELPER: QR_ID_HELPER$6,
|
|
1203
|
+
MONOCHROME_COLOR: MONOCHROME_COLOR$6,
|
|
1204
|
+
MONOCHROME_STRENGTH: MONOCHROME_STRENGTH$6,
|
|
1205
|
+
CLEAR_MONOCHROME: CLEAR_MONOCHROME$6,
|
|
1206
|
+
TINT_SHORT: TINT_SHORT$6
|
|
1183
1207
|
};
|
|
1184
1208
|
|
|
1185
1209
|
var BRING_FORWARD$5 = "Nach vorne bringen";
|
|
@@ -1254,6 +1278,10 @@ var SHOW_PROPERTY_LOCATION$5 = "Eigenschaftsbeschriftung anzeigen";
|
|
|
1254
1278
|
var LOCATION_HELPER$5 = "Aktivieren Sie dies, um die Standortbeschriftung der Eigenschaft auf der Leinwand anzuzeigen, oder deaktivieren Sie es, um sie auszublenden.";
|
|
1255
1279
|
var SHOW_QR_ID$5 = "QR-ID anzeigen";
|
|
1256
1280
|
var QR_ID_HELPER$5 = "Aktivieren Sie dies, um die eindeutige QR-Code-ID auf der Leinwand anzuzeigen, oder deaktivieren Sie es, um sie zu entfernen.";
|
|
1281
|
+
var MONOCHROME_COLOR$5 = "Tönungsfarbe";
|
|
1282
|
+
var MONOCHROME_STRENGTH$5 = "Tönungsstärke";
|
|
1283
|
+
var CLEAR_MONOCHROME$5 = "Tönung entfernen";
|
|
1284
|
+
var TINT_SHORT$5 = "Tönung";
|
|
1257
1285
|
var deTranslations = {
|
|
1258
1286
|
BRING_FORWARD: BRING_FORWARD$5,
|
|
1259
1287
|
SEND_BACKWARD: SEND_BACKWARD$5,
|
|
@@ -1326,7 +1354,11 @@ var deTranslations = {
|
|
|
1326
1354
|
SHOW_PROPERTY_LOCATION: SHOW_PROPERTY_LOCATION$5,
|
|
1327
1355
|
LOCATION_HELPER: LOCATION_HELPER$5,
|
|
1328
1356
|
SHOW_QR_ID: SHOW_QR_ID$5,
|
|
1329
|
-
QR_ID_HELPER: QR_ID_HELPER$5
|
|
1357
|
+
QR_ID_HELPER: QR_ID_HELPER$5,
|
|
1358
|
+
MONOCHROME_COLOR: MONOCHROME_COLOR$5,
|
|
1359
|
+
MONOCHROME_STRENGTH: MONOCHROME_STRENGTH$5,
|
|
1360
|
+
CLEAR_MONOCHROME: CLEAR_MONOCHROME$5,
|
|
1361
|
+
TINT_SHORT: TINT_SHORT$5
|
|
1330
1362
|
};
|
|
1331
1363
|
|
|
1332
1364
|
var BRING_FORWARD$4 = "Traer al frente";
|
|
@@ -1401,6 +1433,10 @@ var SHOW_PROPERTY_LOCATION$4 = "Mostrar etiqueta de propiedad";
|
|
|
1401
1433
|
var LOCATION_HELPER$4 = "Active esto para mostrar la etiqueta de ubicación de la propiedad en el lienzo, o desactívelo para ocultarla.";
|
|
1402
1434
|
var SHOW_QR_ID$4 = "Mostrar ID de QR";
|
|
1403
1435
|
var QR_ID_HELPER$4 = "Active esto para mostrar el identificador único del código QR en el lienzo, o desactívelo para eliminarlo.";
|
|
1436
|
+
var MONOCHROME_COLOR$4 = "Color de tinte";
|
|
1437
|
+
var MONOCHROME_STRENGTH$4 = "Intensidad del tinte";
|
|
1438
|
+
var CLEAR_MONOCHROME$4 = "Eliminar tinte";
|
|
1439
|
+
var TINT_SHORT$4 = "Tinte";
|
|
1404
1440
|
var esTranslations = {
|
|
1405
1441
|
BRING_FORWARD: BRING_FORWARD$4,
|
|
1406
1442
|
SEND_BACKWARD: SEND_BACKWARD$4,
|
|
@@ -1473,7 +1509,11 @@ var esTranslations = {
|
|
|
1473
1509
|
SHOW_PROPERTY_LOCATION: SHOW_PROPERTY_LOCATION$4,
|
|
1474
1510
|
LOCATION_HELPER: LOCATION_HELPER$4,
|
|
1475
1511
|
SHOW_QR_ID: SHOW_QR_ID$4,
|
|
1476
|
-
QR_ID_HELPER: QR_ID_HELPER$4
|
|
1512
|
+
QR_ID_HELPER: QR_ID_HELPER$4,
|
|
1513
|
+
MONOCHROME_COLOR: MONOCHROME_COLOR$4,
|
|
1514
|
+
MONOCHROME_STRENGTH: MONOCHROME_STRENGTH$4,
|
|
1515
|
+
CLEAR_MONOCHROME: CLEAR_MONOCHROME$4,
|
|
1516
|
+
TINT_SHORT: TINT_SHORT$4
|
|
1477
1517
|
};
|
|
1478
1518
|
|
|
1479
1519
|
var BRING_FORWARD$3 = "Mettre au premier plan";
|
|
@@ -1548,6 +1588,10 @@ var SHOW_PROPERTY_LOCATION$3 = "Afficher l’étiquette de propriété";
|
|
|
1548
1588
|
var LOCATION_HELPER$3 = "Activez ceci pour afficher l’étiquette de l’emplacement de la propriété sur la zone de travail, ou désactivez-le pour la masquer.";
|
|
1549
1589
|
var SHOW_QR_ID$3 = "Afficher l’ID du QR";
|
|
1550
1590
|
var QR_ID_HELPER$3 = "Activez ceci pour afficher l’ID unique du code QR sur la zone de travail, ou désactivez-le pour le supprimer.";
|
|
1591
|
+
var MONOCHROME_COLOR$3 = "Couleur de teinte";
|
|
1592
|
+
var MONOCHROME_STRENGTH$3 = "Intensité de la teinte";
|
|
1593
|
+
var CLEAR_MONOCHROME$3 = "Retirer la teinte";
|
|
1594
|
+
var TINT_SHORT$3 = "Teinte";
|
|
1551
1595
|
var frTranslations = {
|
|
1552
1596
|
BRING_FORWARD: BRING_FORWARD$3,
|
|
1553
1597
|
SEND_BACKWARD: SEND_BACKWARD$3,
|
|
@@ -1620,7 +1664,11 @@ var frTranslations = {
|
|
|
1620
1664
|
SHOW_PROPERTY_LOCATION: SHOW_PROPERTY_LOCATION$3,
|
|
1621
1665
|
LOCATION_HELPER: LOCATION_HELPER$3,
|
|
1622
1666
|
SHOW_QR_ID: SHOW_QR_ID$3,
|
|
1623
|
-
QR_ID_HELPER: QR_ID_HELPER$3
|
|
1667
|
+
QR_ID_HELPER: QR_ID_HELPER$3,
|
|
1668
|
+
MONOCHROME_COLOR: MONOCHROME_COLOR$3,
|
|
1669
|
+
MONOCHROME_STRENGTH: MONOCHROME_STRENGTH$3,
|
|
1670
|
+
CLEAR_MONOCHROME: CLEAR_MONOCHROME$3,
|
|
1671
|
+
TINT_SHORT: TINT_SHORT$3
|
|
1624
1672
|
};
|
|
1625
1673
|
|
|
1626
1674
|
var BRING_FORWARD$2 = "Porta in primo piano";
|
|
@@ -1695,6 +1743,10 @@ var SHOW_PROPERTY_LOCATION$2 = "Mostra etichetta proprietà";
|
|
|
1695
1743
|
var LOCATION_HELPER$2 = "Abilita questa opzione per mostrare l’etichetta della posizione della proprietà sulla tela, oppure disabilitala per nasconderla.";
|
|
1696
1744
|
var SHOW_QR_ID$2 = "Mostra ID QR";
|
|
1697
1745
|
var QR_ID_HELPER$2 = "Abilita questa opzione per mostrare l’ID univoco del codice QR sulla tela, oppure disabilitala per rimuoverlo.";
|
|
1746
|
+
var MONOCHROME_COLOR$2 = "Colore tinta";
|
|
1747
|
+
var MONOCHROME_STRENGTH$2 = "Intensità della tinta";
|
|
1748
|
+
var CLEAR_MONOCHROME$2 = "Rimuovi tinta";
|
|
1749
|
+
var TINT_SHORT$2 = "Tinta";
|
|
1698
1750
|
var itTranslations = {
|
|
1699
1751
|
BRING_FORWARD: BRING_FORWARD$2,
|
|
1700
1752
|
SEND_BACKWARD: SEND_BACKWARD$2,
|
|
@@ -1767,7 +1819,11 @@ var itTranslations = {
|
|
|
1767
1819
|
SHOW_PROPERTY_LOCATION: SHOW_PROPERTY_LOCATION$2,
|
|
1768
1820
|
LOCATION_HELPER: LOCATION_HELPER$2,
|
|
1769
1821
|
SHOW_QR_ID: SHOW_QR_ID$2,
|
|
1770
|
-
QR_ID_HELPER: QR_ID_HELPER$2
|
|
1822
|
+
QR_ID_HELPER: QR_ID_HELPER$2,
|
|
1823
|
+
MONOCHROME_COLOR: MONOCHROME_COLOR$2,
|
|
1824
|
+
MONOCHROME_STRENGTH: MONOCHROME_STRENGTH$2,
|
|
1825
|
+
CLEAR_MONOCHROME: CLEAR_MONOCHROME$2,
|
|
1826
|
+
TINT_SHORT: TINT_SHORT$2
|
|
1771
1827
|
};
|
|
1772
1828
|
|
|
1773
1829
|
var BRING_FORWARD$1 = "Επισπεύδω";
|
|
@@ -1842,6 +1898,10 @@ var SHOW_PROPERTY_LOCATION$1 = "Εμφάνιση ετικέτας ιδιοκτη
|
|
|
1842
1898
|
var LOCATION_HELPER$1 = "Ενεργοποιήστε το για να εμφανιστεί η ετικέτα τοποθεσίας της ιδιοκτησίας στον καμβά ή απενεργοποιήστε το για να την αποκρύψετε.";
|
|
1843
1899
|
var SHOW_QR_ID$1 = "Εμφάνιση ταυτότητας QR";
|
|
1844
1900
|
var QR_ID_HELPER$1 = "Ενεργοποιήστε το για να εμφανιστεί το μοναδικό αναγνωριστικό QR Code στον καμβά ή απενεργοποιήστε το για να το αφαιρέσετε.";
|
|
1901
|
+
var MONOCHROME_COLOR$1 = "Χρώμα απόχρωσης";
|
|
1902
|
+
var MONOCHROME_STRENGTH$1 = "Ένταση απόχρωσης";
|
|
1903
|
+
var CLEAR_MONOCHROME$1 = "Αφαίρεση απόχρωσης";
|
|
1904
|
+
var TINT_SHORT$1 = "Απόχρωση";
|
|
1845
1905
|
var elTranslations = {
|
|
1846
1906
|
BRING_FORWARD: BRING_FORWARD$1,
|
|
1847
1907
|
SEND_BACKWARD: SEND_BACKWARD$1,
|
|
@@ -1914,7 +1974,11 @@ var elTranslations = {
|
|
|
1914
1974
|
SHOW_PROPERTY_LOCATION: SHOW_PROPERTY_LOCATION$1,
|
|
1915
1975
|
LOCATION_HELPER: LOCATION_HELPER$1,
|
|
1916
1976
|
SHOW_QR_ID: SHOW_QR_ID$1,
|
|
1917
|
-
QR_ID_HELPER: QR_ID_HELPER$1
|
|
1977
|
+
QR_ID_HELPER: QR_ID_HELPER$1,
|
|
1978
|
+
MONOCHROME_COLOR: MONOCHROME_COLOR$1,
|
|
1979
|
+
MONOCHROME_STRENGTH: MONOCHROME_STRENGTH$1,
|
|
1980
|
+
CLEAR_MONOCHROME: CLEAR_MONOCHROME$1,
|
|
1981
|
+
TINT_SHORT: TINT_SHORT$1
|
|
1918
1982
|
};
|
|
1919
1983
|
|
|
1920
1984
|
var BRING_FORWARD = "Переносити";
|
|
@@ -1989,6 +2053,10 @@ var SHOW_PROPERTY_LOCATION = "Показати мітку власності";
|
|
|
1989
2053
|
var LOCATION_HELPER = "Увімкніть, щоб показати мітку розташування власності на полотні, або вимкніть, щоб приховати її.";
|
|
1990
2054
|
var SHOW_QR_ID = "Показати QR-ID";
|
|
1991
2055
|
var QR_ID_HELPER = "Увімкніть, щоб відобразити унікальний ідентифікатор QR-коду на полотні, або вимкніть, щоб видалити його.";
|
|
2056
|
+
var MONOCHROME_COLOR = "Колір тону";
|
|
2057
|
+
var MONOCHROME_STRENGTH = "Сила тону";
|
|
2058
|
+
var CLEAR_MONOCHROME = "Прибрати тон";
|
|
2059
|
+
var TINT_SHORT = "Тон";
|
|
1992
2060
|
var ukTranslations = {
|
|
1993
2061
|
BRING_FORWARD: BRING_FORWARD,
|
|
1994
2062
|
SEND_BACKWARD: SEND_BACKWARD,
|
|
@@ -2061,7 +2129,11 @@ var ukTranslations = {
|
|
|
2061
2129
|
SHOW_PROPERTY_LOCATION: SHOW_PROPERTY_LOCATION,
|
|
2062
2130
|
LOCATION_HELPER: LOCATION_HELPER,
|
|
2063
2131
|
SHOW_QR_ID: SHOW_QR_ID,
|
|
2064
|
-
QR_ID_HELPER: QR_ID_HELPER
|
|
2132
|
+
QR_ID_HELPER: QR_ID_HELPER,
|
|
2133
|
+
MONOCHROME_COLOR: MONOCHROME_COLOR,
|
|
2134
|
+
MONOCHROME_STRENGTH: MONOCHROME_STRENGTH,
|
|
2135
|
+
CLEAR_MONOCHROME: CLEAR_MONOCHROME,
|
|
2136
|
+
TINT_SHORT: TINT_SHORT
|
|
2065
2137
|
};
|
|
2066
2138
|
|
|
2067
2139
|
var SUPPPORTED_LOCALES = ['en', 'ru', 'pl', 'de', 'es', 'fr', 'it', 'el', 'uk'];
|
|
@@ -2178,6 +2250,11 @@ var propTypes$w = {
|
|
|
2178
2250
|
onChangeImageStrokeWidth: PropTypes.func,
|
|
2179
2251
|
onChangeImageStrokeColor: PropTypes.func,
|
|
2180
2252
|
onChangeImageOpacity: PropTypes.func,
|
|
2253
|
+
imageTintColor: PropTypes.string,
|
|
2254
|
+
imageTintStrength: PropTypes.number,
|
|
2255
|
+
onChangeImageTintColor: PropTypes.func,
|
|
2256
|
+
onChangeImageTintStrength: PropTypes.func,
|
|
2257
|
+
onClearImageTint: PropTypes.func,
|
|
2181
2258
|
qrStrokeWidth: PropTypes.number,
|
|
2182
2259
|
qrStrokeColor: PropTypes.string,
|
|
2183
2260
|
qrOpacity: PropTypes.number,
|
|
@@ -2254,6 +2331,11 @@ var propTypes$v = {
|
|
|
2254
2331
|
onChangeImageStrokeWidth: PropTypes.func,
|
|
2255
2332
|
onChangeImageStrokeColor: PropTypes.func,
|
|
2256
2333
|
onChangeImageOpacity: PropTypes.func,
|
|
2334
|
+
imageTintColor: PropTypes.string,
|
|
2335
|
+
imageTintStrength: PropTypes.number,
|
|
2336
|
+
onChangeImageTintColor: PropTypes.func,
|
|
2337
|
+
onChangeImageTintStrength: PropTypes.func,
|
|
2338
|
+
onClearImageTint: PropTypes.func,
|
|
2257
2339
|
qrStrokeWidth: PropTypes.number,
|
|
2258
2340
|
qrStrokeColor: PropTypes.string,
|
|
2259
2341
|
qrOpacity: PropTypes.number,
|
|
@@ -3076,7 +3158,7 @@ var OpacityPicker = function OpacityPicker(_ref) {
|
|
|
3076
3158
|
src: varient === 'opacity' ? IconOpacity : toolBarIcon
|
|
3077
3159
|
})), /*#__PURE__*/React.createElement(StyledText, {
|
|
3078
3160
|
fontFamily: fontFamily
|
|
3079
|
-
}, varient === 'opacity' ? "".concat(value * 100, "%") : "".concat(Math.round(value), "px")), rightChild && rightChild), opacityPickerVisible && /*#__PURE__*/React.createElement("div", {
|
|
3161
|
+
}, varient === 'opacity' ? "".concat(Math.round(value * 100), "%") : "".concat(Math.round(value), "px")), rightChild && rightChild), opacityPickerVisible && /*#__PURE__*/React.createElement("div", {
|
|
3080
3162
|
style: {
|
|
3081
3163
|
position: 'absolute',
|
|
3082
3164
|
bottom: -50,
|
|
@@ -3684,6 +3766,11 @@ var propTypes$m = {
|
|
|
3684
3766
|
onChangeImageStrokeWidth: PropTypes.func,
|
|
3685
3767
|
onChangeImageStrokeColor: PropTypes.func,
|
|
3686
3768
|
onChangeImageOpacity: PropTypes.func,
|
|
3769
|
+
imageTintColor: PropTypes.string,
|
|
3770
|
+
imageTintStrength: PropTypes.number,
|
|
3771
|
+
onChangeImageTintColor: PropTypes.func,
|
|
3772
|
+
onChangeImageTintStrength: PropTypes.func,
|
|
3773
|
+
onClearImageTint: PropTypes.func,
|
|
3687
3774
|
selectedElement: PropTypes.object,
|
|
3688
3775
|
languageLocale: PropTypes.string
|
|
3689
3776
|
};
|
|
@@ -3693,13 +3780,18 @@ styled.p(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n
|
|
|
3693
3780
|
var RowContainer$2 = styled.div(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n"])));
|
|
3694
3781
|
|
|
3695
3782
|
var ImageToolBar = function ImageToolBar(_ref) {
|
|
3696
|
-
var _TEXT_DICTIONARY$lang;
|
|
3783
|
+
var _TEXT_DICTIONARY$lang, _TEXT_DICTIONARY$lang2, _TEXT_DICTIONARY$lang3, _TEXT_DICTIONARY$lang4, _selectedElement$tint, _TEXT_DICTIONARY$lang5, _TEXT_DICTIONARY$lang6, _selectedElement$tint2, _TEXT_DICTIONARY$lang7;
|
|
3697
3784
|
var imageStrokeWidth = _ref.imageStrokeWidth,
|
|
3698
3785
|
imageStrokeColor = _ref.imageStrokeColor,
|
|
3699
3786
|
imageOpacity = _ref.imageOpacity,
|
|
3700
3787
|
onChangeImageStrokeWidth = _ref.onChangeImageStrokeWidth,
|
|
3701
3788
|
onChangeImageStrokeColor = _ref.onChangeImageStrokeColor,
|
|
3702
3789
|
onChangeImageOpacity = _ref.onChangeImageOpacity,
|
|
3790
|
+
imageTintColor = _ref.imageTintColor,
|
|
3791
|
+
imageTintStrength = _ref.imageTintStrength,
|
|
3792
|
+
onChangeImageTintColor = _ref.onChangeImageTintColor,
|
|
3793
|
+
onChangeImageTintStrength = _ref.onChangeImageTintStrength,
|
|
3794
|
+
onClearImageTint = _ref.onClearImageTint,
|
|
3703
3795
|
selectedElement = _ref.selectedElement,
|
|
3704
3796
|
languageLocale = _ref.languageLocale;
|
|
3705
3797
|
return /*#__PURE__*/React.createElement(RowContainer$2, null, /*#__PURE__*/React.createElement(StrokePicker, {
|
|
@@ -3713,7 +3805,35 @@ var ImageToolBar = function ImageToolBar(_ref) {
|
|
|
3713
3805
|
value: isElementOfSameType(selectedElement, elementTypes.image) ? selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.opacity : imageOpacity,
|
|
3714
3806
|
onChangeOpacity: onChangeImageOpacity,
|
|
3715
3807
|
languageLocale: languageLocale
|
|
3716
|
-
})
|
|
3808
|
+
}), /*#__PURE__*/React.createElement(ToolBarButtonWrapper, {
|
|
3809
|
+
gap: 8,
|
|
3810
|
+
tooltip: TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang2 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang2 === void 0 ? void 0 : _TEXT_DICTIONARY$lang2.MONOCHROME_COLOR,
|
|
3811
|
+
tooltipPosition: 'bottom'
|
|
3812
|
+
}, /*#__PURE__*/React.createElement(StyledText, {
|
|
3813
|
+
fontFamily: theme.fonts.secondary
|
|
3814
|
+
}, TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang3 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang3 === void 0 ? void 0 : _TEXT_DICTIONARY$lang3.MONOCHROME_COLOR), /*#__PURE__*/React.createElement(ColorBox, {
|
|
3815
|
+
backgroundColor: isElementOfSameType(selectedElement, elementTypes.image) ? (selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.tintColor) || imageTintColor : imageTintColor,
|
|
3816
|
+
onChange: onChangeImageTintColor
|
|
3817
|
+
})), /*#__PURE__*/React.createElement(OpacityPicker, {
|
|
3818
|
+
tooltip: TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang4 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang4 === void 0 ? void 0 : _TEXT_DICTIONARY$lang4.MONOCHROME_STRENGTH,
|
|
3819
|
+
tooltipPosition: 'bottom',
|
|
3820
|
+
value: isElementOfSameType(selectedElement, elementTypes.image) ? (_selectedElement$tint = selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.tintStrength) !== null && _selectedElement$tint !== void 0 ? _selectedElement$tint : imageTintStrength : imageTintStrength,
|
|
3821
|
+
min: 0,
|
|
3822
|
+
max: 1,
|
|
3823
|
+
step: 0.05,
|
|
3824
|
+
onChangeOpacity: onChangeImageTintStrength,
|
|
3825
|
+
leftChild: /*#__PURE__*/React.createElement(StyledText, {
|
|
3826
|
+
fontFamily: theme.fonts.secondary
|
|
3827
|
+
}, TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang5 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang5 === void 0 ? void 0 : _TEXT_DICTIONARY$lang5.TINT_SHORT)
|
|
3828
|
+
}), /*#__PURE__*/React.createElement(ToolBarButtonWrapper, {
|
|
3829
|
+
gap: 8,
|
|
3830
|
+
tooltip: TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang6 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang6 === void 0 ? void 0 : _TEXT_DICTIONARY$lang6.CLEAR_MONOCHROME,
|
|
3831
|
+
tooltipPosition: 'bottom',
|
|
3832
|
+
onClick: onClearImageTint,
|
|
3833
|
+
disabled: isElementOfSameType(selectedElement, elementTypes.image) ? ((_selectedElement$tint2 = selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.tintStrength) !== null && _selectedElement$tint2 !== void 0 ? _selectedElement$tint2 : 0) <= 0 : imageTintStrength <= 0
|
|
3834
|
+
}, /*#__PURE__*/React.createElement(StyledText, {
|
|
3835
|
+
fontFamily: theme.fonts.secondary
|
|
3836
|
+
}, TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang7 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang7 === void 0 ? void 0 : _TEXT_DICTIONARY$lang7.CLEAR_MONOCHROME)));
|
|
3717
3837
|
};
|
|
3718
3838
|
ImageToolBar.propTypes = propTypes$m;
|
|
3719
3839
|
|
|
@@ -3845,6 +3965,11 @@ var TopToolBar = function TopToolBar(_ref) {
|
|
|
3845
3965
|
onChangeImageStrokeWidth = _ref.onChangeImageStrokeWidth,
|
|
3846
3966
|
onChangeImageStrokeColor = _ref.onChangeImageStrokeColor,
|
|
3847
3967
|
onChangeImageOpacity = _ref.onChangeImageOpacity,
|
|
3968
|
+
imageTintColor = _ref.imageTintColor,
|
|
3969
|
+
imageTintStrength = _ref.imageTintStrength,
|
|
3970
|
+
onChangeImageTintColor = _ref.onChangeImageTintColor,
|
|
3971
|
+
onChangeImageTintStrength = _ref.onChangeImageTintStrength,
|
|
3972
|
+
onClearImageTint = _ref.onClearImageTint,
|
|
3848
3973
|
qrStrokeWidth = _ref.qrStrokeWidth,
|
|
3849
3974
|
qrStrokeColor = _ref.qrStrokeColor,
|
|
3850
3975
|
qrOpacity = _ref.qrOpacity,
|
|
@@ -3909,6 +4034,11 @@ var TopToolBar = function TopToolBar(_ref) {
|
|
|
3909
4034
|
onChangeImageStrokeWidth: onChangeImageStrokeWidth,
|
|
3910
4035
|
onChangeImageStrokeColor: onChangeImageStrokeColor,
|
|
3911
4036
|
onChangeImageOpacity: onChangeImageOpacity,
|
|
4037
|
+
imageTintColor: imageTintColor,
|
|
4038
|
+
imageTintStrength: imageTintStrength,
|
|
4039
|
+
onChangeImageTintColor: onChangeImageTintColor,
|
|
4040
|
+
onChangeImageTintStrength: onChangeImageTintStrength,
|
|
4041
|
+
onClearImageTint: onClearImageTint,
|
|
3912
4042
|
selectedElement: selectedElement,
|
|
3913
4043
|
languageLocale: languageLocale
|
|
3914
4044
|
}) : selectedTab === (sideBarpillsList === null || sideBarpillsList === void 0 ? void 0 : sideBarpillsList.shape) ? /*#__PURE__*/React.createElement(ShapeToolBar, {
|
|
@@ -4255,6 +4385,7 @@ var propTypes$e = {
|
|
|
4255
4385
|
};
|
|
4256
4386
|
|
|
4257
4387
|
var CanvasImage = function CanvasImage(_ref) {
|
|
4388
|
+
var _element$tintStrength;
|
|
4258
4389
|
var id = _ref.id,
|
|
4259
4390
|
element = _ref.element,
|
|
4260
4391
|
_onClick = _ref.onClick,
|
|
@@ -4270,6 +4401,30 @@ var CanvasImage = function CanvasImage(_ref) {
|
|
|
4270
4401
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
4271
4402
|
imgEl = _useState4[0],
|
|
4272
4403
|
setImgEl = _useState4[1];
|
|
4404
|
+
var imageNodeRef = React.useRef(null);
|
|
4405
|
+
var tintStrength = Number((_element$tintStrength = element === null || element === void 0 ? void 0 : element.tintStrength) !== null && _element$tintStrength !== void 0 ? _element$tintStrength : 0);
|
|
4406
|
+
var hasTint = tintStrength > 0;
|
|
4407
|
+
var _useMemo = React.useMemo(function () {
|
|
4408
|
+
var hex = typeof (element === null || element === void 0 ? void 0 : element.tintColor) === 'string' ? element.tintColor.trim() : '#000000';
|
|
4409
|
+
var safeHex = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(hex) ? hex : '#000000';
|
|
4410
|
+
var normalized = safeHex.length === 4 ? "#".concat(safeHex[1]).concat(safeHex[1]).concat(safeHex[2]).concat(safeHex[2]).concat(safeHex[3]).concat(safeHex[3]) : safeHex;
|
|
4411
|
+
var r = parseInt(normalized.slice(1, 3), 16);
|
|
4412
|
+
var g = parseInt(normalized.slice(3, 5), 16);
|
|
4413
|
+
var b = parseInt(normalized.slice(5, 7), 16);
|
|
4414
|
+
var lerp = function lerp(start, end, t) {
|
|
4415
|
+
return start + (end - start) * Math.min(Math.max(t, 0), 1);
|
|
4416
|
+
};
|
|
4417
|
+
|
|
4418
|
+
// At 0: keep original grayscale; at 1: fully tint to the picked color.
|
|
4419
|
+
return {
|
|
4420
|
+
red: Math.round(lerp(255, r, tintStrength)),
|
|
4421
|
+
green: Math.round(lerp(255, g, tintStrength)),
|
|
4422
|
+
blue: Math.round(lerp(255, b, tintStrength))
|
|
4423
|
+
};
|
|
4424
|
+
}, [element === null || element === void 0 ? void 0 : element.tintColor, tintStrength]),
|
|
4425
|
+
red = _useMemo.red,
|
|
4426
|
+
green = _useMemo.green,
|
|
4427
|
+
blue = _useMemo.blue;
|
|
4273
4428
|
React.useEffect(function () {
|
|
4274
4429
|
var cancelled = false;
|
|
4275
4430
|
var objectUrl;
|
|
@@ -4337,13 +4492,26 @@ var CanvasImage = function CanvasImage(_ref) {
|
|
|
4337
4492
|
if (objectUrl) URL.revokeObjectURL(objectUrl);
|
|
4338
4493
|
};
|
|
4339
4494
|
}, [element === null || element === void 0 ? void 0 : element.src]);
|
|
4495
|
+
React.useEffect(function () {
|
|
4496
|
+
if (!(imageNodeRef !== null && imageNodeRef !== void 0 && imageNodeRef.current)) return;
|
|
4497
|
+
if (hasTint) {
|
|
4498
|
+
imageNodeRef.current.cache();
|
|
4499
|
+
} else {
|
|
4500
|
+
imageNodeRef.current.clearCache();
|
|
4501
|
+
}
|
|
4502
|
+
}, [hasTint, red, green, blue]);
|
|
4340
4503
|
if (!loaded || !imgEl) return null;
|
|
4341
4504
|
return /*#__PURE__*/React.createElement(reactKonva.Image, _extends({
|
|
4505
|
+
ref: imageNodeRef,
|
|
4342
4506
|
id: id,
|
|
4343
4507
|
image: imgEl
|
|
4344
4508
|
}, element, {
|
|
4345
4509
|
width: element === null || element === void 0 ? void 0 : element.width,
|
|
4346
4510
|
height: element === null || element === void 0 ? void 0 : element.height,
|
|
4511
|
+
filters: hasTint ? [Konva.Filters.Grayscale, Konva.Filters.RGB] : undefined,
|
|
4512
|
+
red: hasTint ? red : undefined,
|
|
4513
|
+
green: hasTint ? green : undefined,
|
|
4514
|
+
blue: hasTint ? blue : undefined,
|
|
4347
4515
|
onClick: function onClick() {
|
|
4348
4516
|
return _onClick && _onClick();
|
|
4349
4517
|
},
|
|
@@ -5164,6 +5332,11 @@ var Editor = function Editor(_ref) {
|
|
|
5164
5332
|
onChangeImageStrokeWidth = _ref.onChangeImageStrokeWidth,
|
|
5165
5333
|
onChangeImageStrokeColor = _ref.onChangeImageStrokeColor,
|
|
5166
5334
|
onChangeImageOpacity = _ref.onChangeImageOpacity,
|
|
5335
|
+
imageTintColor = _ref.imageTintColor,
|
|
5336
|
+
imageTintStrength = _ref.imageTintStrength,
|
|
5337
|
+
onChangeImageTintColor = _ref.onChangeImageTintColor,
|
|
5338
|
+
onChangeImageTintStrength = _ref.onChangeImageTintStrength,
|
|
5339
|
+
onClearImageTint = _ref.onClearImageTint,
|
|
5167
5340
|
qrStrokeWidth = _ref.qrStrokeWidth,
|
|
5168
5341
|
qrStrokeColor = _ref.qrStrokeColor,
|
|
5169
5342
|
qrOpacity = _ref.qrOpacity,
|
|
@@ -5499,6 +5672,11 @@ var Editor = function Editor(_ref) {
|
|
|
5499
5672
|
onChangeImageStrokeWidth: onChangeImageStrokeWidth,
|
|
5500
5673
|
onChangeImageStrokeColor: onChangeImageStrokeColor,
|
|
5501
5674
|
onChangeImageOpacity: onChangeImageOpacity,
|
|
5675
|
+
imageTintColor: imageTintColor,
|
|
5676
|
+
imageTintStrength: imageTintStrength,
|
|
5677
|
+
onChangeImageTintColor: onChangeImageTintColor,
|
|
5678
|
+
onChangeImageTintStrength: onChangeImageTintStrength,
|
|
5679
|
+
onClearImageTint: onClearImageTint,
|
|
5502
5680
|
qrStrokeWidth: qrStrokeWidth,
|
|
5503
5681
|
qrStrokeColor: qrStrokeColor,
|
|
5504
5682
|
qrOpacity: qrOpacity,
|
|
@@ -6593,38 +6771,46 @@ var Studio = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
6593
6771
|
_useState38 = _slicedToArray(_useState37, 2),
|
|
6594
6772
|
imageOpacity = _useState38[0],
|
|
6595
6773
|
setImageOpacity = _useState38[1];
|
|
6596
|
-
var _useState39 = React.useState(
|
|
6774
|
+
var _useState39 = React.useState(theme.color.black),
|
|
6597
6775
|
_useState40 = _slicedToArray(_useState39, 2),
|
|
6598
|
-
|
|
6599
|
-
|
|
6600
|
-
var _useState41 = React.useState(
|
|
6776
|
+
imageTintColor = _useState40[0],
|
|
6777
|
+
setImageTintColor = _useState40[1];
|
|
6778
|
+
var _useState41 = React.useState(0.6),
|
|
6601
6779
|
_useState42 = _slicedToArray(_useState41, 2),
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
var _useState43 = React.useState(
|
|
6780
|
+
imageTintStrength = _useState42[0],
|
|
6781
|
+
setImageTintStrength = _useState42[1];
|
|
6782
|
+
var _useState43 = React.useState(2),
|
|
6605
6783
|
_useState44 = _slicedToArray(_useState43, 2),
|
|
6606
|
-
|
|
6607
|
-
|
|
6608
|
-
var _useState45 = React.useState(
|
|
6784
|
+
qrStrokeWidth = _useState44[0],
|
|
6785
|
+
setQrStrokeWidth = _useState44[1];
|
|
6786
|
+
var _useState45 = React.useState(theme.color.black),
|
|
6609
6787
|
_useState46 = _slicedToArray(_useState45, 2),
|
|
6610
|
-
|
|
6611
|
-
|
|
6612
|
-
var _useState47 = React.useState(
|
|
6788
|
+
qrStrokeColor = _useState46[0],
|
|
6789
|
+
setQrStrokeColor = _useState46[1];
|
|
6790
|
+
var _useState47 = React.useState(1),
|
|
6613
6791
|
_useState48 = _slicedToArray(_useState47, 2),
|
|
6614
|
-
|
|
6615
|
-
|
|
6616
|
-
var _useState49 = React.useState(
|
|
6792
|
+
qrOpacity = _useState48[0],
|
|
6793
|
+
setQrOpacity = _useState48[1];
|
|
6794
|
+
var _useState49 = React.useState(null),
|
|
6617
6795
|
_useState50 = _slicedToArray(_useState49, 2),
|
|
6618
|
-
|
|
6619
|
-
|
|
6620
|
-
var _useState51 = React.useState(
|
|
6796
|
+
selectedElement = _useState50[0],
|
|
6797
|
+
setSelectedElement = _useState50[1];
|
|
6798
|
+
var _useState51 = React.useState(customImages || []),
|
|
6621
6799
|
_useState52 = _slicedToArray(_useState51, 2),
|
|
6622
|
-
|
|
6623
|
-
|
|
6624
|
-
var _useState53 = React.useState(
|
|
6800
|
+
customImagesList = _useState52[0],
|
|
6801
|
+
setCustomImagesList = _useState52[1];
|
|
6802
|
+
var _useState53 = React.useState(defaultQrLogo),
|
|
6625
6803
|
_useState54 = _slicedToArray(_useState53, 2),
|
|
6626
|
-
|
|
6627
|
-
|
|
6804
|
+
qrLogo = _useState54[0],
|
|
6805
|
+
setQrLogo = _useState54[1];
|
|
6806
|
+
var _useState55 = React.useState(basicTextProps),
|
|
6807
|
+
_useState56 = _slicedToArray(_useState55, 2),
|
|
6808
|
+
defaultTextProps = _useState56[0],
|
|
6809
|
+
setDefaultTextProps = _useState56[1];
|
|
6810
|
+
var _useState57 = React.useState(qrId),
|
|
6811
|
+
_useState58 = _slicedToArray(_useState57, 2),
|
|
6812
|
+
currentQrId = _useState58[0],
|
|
6813
|
+
setCurrentQrId = _useState58[1];
|
|
6628
6814
|
var overallLoading = loadingFonts || loadingImages || loadingUploadImage || loading;
|
|
6629
6815
|
var getPageDims = React.useCallback(function () {
|
|
6630
6816
|
var _base$find;
|
|
@@ -7365,6 +7551,26 @@ var Studio = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
7365
7551
|
setImageOpacity(e);
|
|
7366
7552
|
}
|
|
7367
7553
|
};
|
|
7554
|
+
var onChangeImageTintColor = function onChangeImageTintColor(color) {
|
|
7555
|
+
if (isElementOfSameType(selectedElement, elementTypes === null || elementTypes === void 0 ? void 0 : elementTypes.image)) {
|
|
7556
|
+
changeSelectedElementProperty('tintColor', color);
|
|
7557
|
+
}
|
|
7558
|
+
setImageTintColor(color);
|
|
7559
|
+
};
|
|
7560
|
+
var onChangeImageTintStrength = function onChangeImageTintStrength(value) {
|
|
7561
|
+
var nextStrength = Math.max(0, Math.min(1, value));
|
|
7562
|
+
if (isElementOfSameType(selectedElement, elementTypes === null || elementTypes === void 0 ? void 0 : elementTypes.image)) {
|
|
7563
|
+
changeSelectedElementProperty('tintStrength', nextStrength);
|
|
7564
|
+
} else {
|
|
7565
|
+
setImageTintStrength(nextStrength);
|
|
7566
|
+
}
|
|
7567
|
+
};
|
|
7568
|
+
var onClearImageTint = function onClearImageTint() {
|
|
7569
|
+
if (isElementOfSameType(selectedElement, elementTypes === null || elementTypes === void 0 ? void 0 : elementTypes.image)) {
|
|
7570
|
+
changeSelectedElementProperty('tintStrength', 0);
|
|
7571
|
+
}
|
|
7572
|
+
setImageTintStrength(0);
|
|
7573
|
+
};
|
|
7368
7574
|
var addCustomImageToList = function addCustomImageToList(img) {
|
|
7369
7575
|
// console.error({img});
|
|
7370
7576
|
setCustomImagesList([].concat(_toConsumableArray(customImagesList), [img]));
|
|
@@ -7377,6 +7583,8 @@ var Studio = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
7377
7583
|
stroke: imageStrokeColor,
|
|
7378
7584
|
strokeWidth: imageStrokeWidth,
|
|
7379
7585
|
opacity: imageOpacity,
|
|
7586
|
+
tintColor: imageTintColor,
|
|
7587
|
+
tintStrength: imageTintStrength,
|
|
7380
7588
|
type: elementTypes.image,
|
|
7381
7589
|
draggable: true,
|
|
7382
7590
|
// width: 100,
|
|
@@ -7694,9 +7902,14 @@ var Studio = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
7694
7902
|
imageStrokeWidth: imageStrokeWidth,
|
|
7695
7903
|
imageStrokeColor: imageStrokeColor,
|
|
7696
7904
|
imageOpacity: imageOpacity,
|
|
7905
|
+
imageTintColor: imageTintColor,
|
|
7906
|
+
imageTintStrength: imageTintStrength,
|
|
7697
7907
|
onChangeImageStrokeWidth: onChangeImageStrokeWidth,
|
|
7698
7908
|
onChangeImageStrokeColor: onChangeImageStrokeColor,
|
|
7699
7909
|
onChangeImageOpacity: onChangeImageOpacity,
|
|
7910
|
+
onChangeImageTintColor: onChangeImageTintColor,
|
|
7911
|
+
onChangeImageTintStrength: onChangeImageTintStrength,
|
|
7912
|
+
onClearImageTint: onClearImageTint,
|
|
7700
7913
|
onChangeShapeStrokeColor: onChangeShapeStrokeColor,
|
|
7701
7914
|
onChangeShapeStrokeWidth: onChangeShapeStrokeWidth,
|
|
7702
7915
|
onChangeShapeFill: onChangeShapeFill,
|