zignal-stencil-library 1.1.194 → 1.1.196
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/dist/cjs/{autocomplete-address_46.cjs.entry.js → autocomplete-address_45.cjs.entry.js} +503 -682
- package/dist/cjs/create-master-data-dialog.master-data-item.entry.cjs.js.map +1 -1
- package/dist/cjs/create-master-data-dialog_2.cjs.entry.js +10 -9
- package/dist/cjs/dayjs-DJhkF-a1.js +155 -0
- package/dist/cjs/dayjs-DJhkF-a1.js.map +1 -0
- package/dist/cjs/{icon-svg-CgXY0S7L.js → icon-svg-DrwTEcWs.js} +5 -3
- package/dist/{esm/icon-svg-t8bE_WeG.js.map → cjs/icon-svg-DrwTEcWs.js.map} +1 -1
- package/dist/cjs/{index-GjHureph.js → index-WaqydP_w.js} +93 -228
- package/dist/cjs/index-WaqydP_w.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/master-status-app.cjs.entry.js +19 -17
- package/dist/cjs/master-status-app.entry.cjs.js.map +1 -1
- package/dist/cjs/master-tag-app.cjs.entry.js +19 -17
- package/dist/cjs/master-tag-app.entry.cjs.js.map +1 -1
- package/dist/cjs/quick-message-app.cjs.entry.js +223 -0
- package/dist/cjs/quick-message-app.entry.cjs.js.map +1 -0
- package/dist/cjs/store-dZyyLnWf.js +360 -0
- package/dist/cjs/store-dZyyLnWf.js.map +1 -0
- package/dist/cjs/{z-input-BDN69u5m.js → z-input-C-0O3vNd.js} +68 -420
- package/dist/cjs/z-input-C-0O3vNd.js.map +1 -0
- package/dist/cjs/zignal-stencil-library.cjs.js +1 -1
- package/dist/collection/api/index.js +11 -0
- package/dist/collection/api/index.js.map +1 -1
- package/dist/collection/api/type.js.map +1 -1
- package/dist/collection/components/autocomplete-address/autocomplete-address.css +1 -1
- package/dist/collection/components/autocomplete-multiple-select/autocomplete-multiple-select.css +1 -1
- package/dist/collection/components/autocomplete-select/autocomplete-select.css +1 -1
- package/dist/collection/components/channel-box/channel-box.css +1 -1
- package/dist/collection/components/chat-app/chat-app.css +1 -1
- package/dist/collection/components/chat-header/chat-header.css +1 -1
- package/dist/collection/components/chat-header/chat-header.js +1 -1
- package/dist/collection/components/chat-header/chat-header.js.map +1 -1
- package/dist/collection/components/chat-input/chat-input.css +1 -1
- package/dist/collection/components/checkbox-list/checkbox-list.css +1 -1
- package/dist/collection/components/create-master-data-dialog/create-master-data-dialog.css +1 -1
- package/dist/collection/components/dialog-bill-editor/dialog-bill-editor.css +1 -1
- package/dist/collection/components/dialog-custom-filter/dialog-custom-filter.css +1 -1
- package/dist/collection/components/dialog-editor/dialog-editor.css +1 -1
- package/dist/collection/components/dialog-preview-media/dialog-preview-media.css +1 -1
- package/dist/collection/components/dialog-search/dialog-search.css +1 -1
- package/dist/collection/components/master-data-item/master-data-item.css +1 -1
- package/dist/collection/components/master-status-app/master-status-app.css +1 -1
- package/dist/collection/components/master-tag-app/master-tag-app.css +1 -1
- package/dist/collection/components/menu-chat-channel/menu-chat-channel.css +1 -1
- package/dist/collection/components/menu-chat-type/menu-chat-type.css +1 -1
- package/dist/collection/components/menu-list/menu-list.css +1 -1
- package/dist/collection/components/menu-list/menu-list.js +23 -3
- package/dist/collection/components/menu-list/menu-list.js.map +1 -1
- package/dist/collection/components/message-box/message-box.css +1 -1
- package/dist/collection/components/message-content/message-content.css +1 -1
- package/dist/collection/components/message-item/message-item.css +1 -1
- package/dist/collection/components/message-media/message-media.css +1 -1
- package/dist/collection/components/profile-history/profile-history.css +1 -1
- package/dist/collection/components/profile-info/profile-info.css +1 -1
- package/dist/collection/components/profile-info/profile-info.js +1 -1
- package/dist/collection/components/profile-info/profile-info.js.map +1 -1
- package/dist/collection/components/profile-info/user-info-section.js +43 -7
- package/dist/collection/components/profile-info/user-info-section.js.map +1 -1
- package/dist/collection/components/profile-media/profile-media.css +1 -1
- package/dist/collection/components/profile-media/profile-media.js +1 -1
- package/dist/collection/components/profile-tabs/profile-tabs.css +1 -1
- package/dist/collection/components/profile-tabs/profile-tabs.js +2 -2
- package/dist/collection/components/profile-tabs/profile-tabs.js.map +1 -1
- package/dist/collection/components/quick-message-add-template/quick-message-add-template.css +1 -1
- package/dist/collection/components/quick-message-add-template/quick-message-add-template.js +3 -3
- package/dist/collection/components/quick-message-add-template/quick-message-text-content.js +1 -1
- package/dist/collection/components/quick-message-app/quick-message-app.css +1 -1
- package/dist/collection/components/quick-message-app/quick-message-app.js +1 -1
- package/dist/collection/components/quick-message-file/quick-message-file.css +1 -1
- package/dist/collection/components/quick-message-file/quick-message-file.js +1 -1
- package/dist/collection/components/quick-message-image/quick-message-image.css +1 -1
- package/dist/collection/components/quick-message-image/quick-message-image.js +1 -1
- package/dist/collection/components/quick-message-modal/quick-message-modal.css +1 -1
- package/dist/collection/components/quick-message-modal/quick-message-modal.js +1 -1
- package/dist/collection/components/quick-message-template/quick-message-template.css +1 -1
- package/dist/collection/components/quick-message-template/quick-message-template.js +3 -3
- package/dist/collection/components/search-box/search-box.css +1 -1
- package/dist/collection/components/search-box/search-box.js +5 -5
- package/dist/collection/components/status-badge/status-badge.css +1 -1
- package/dist/collection/components/status-badge/status-badge.js +2 -2
- package/dist/collection/components/tag-list/tag-list.css +1 -1
- package/dist/collection/components/tag-list/tag-list.js +1 -1
- package/dist/collection/components/tag-or-status-item/tag-or-status-item.css +1 -1
- package/dist/collection/components/tag-or-status-item/tag-or-status-item.js +2 -2
- package/dist/collection/components/tag-popper/tag-popper.css +1 -1
- package/dist/collection/components/tag-popper/tag-popper.js +2 -2
- package/dist/collection/components/typography-clamp/typography-clamp.css +1 -1
- package/dist/collection/components/typography-clamp/typography-clamp.js +2 -2
- package/dist/collection/components/z-avatar/z-avatar.css +1 -1
- package/dist/collection/components/z-dialog/z-dialog.css +1 -1
- package/dist/collection/components/z-tooltip/z-tooltip.css +1 -1
- package/dist/collection/store/type.js.map +1 -1
- package/dist/collection/utils/icon-svg.js +1 -0
- package/dist/collection/utils/icon-svg.js.map +1 -1
- package/dist/components/autocomplete-address2.js +1 -1
- package/dist/components/autocomplete-address2.js.map +1 -1
- package/dist/components/autocomplete-multiple-select2.js +1 -1
- package/dist/components/autocomplete-multiple-select2.js.map +1 -1
- package/dist/components/autocomplete-select2.js +1 -1
- package/dist/components/autocomplete-select2.js.map +1 -1
- package/dist/components/channel-box2.js +1 -1
- package/dist/components/channel-box2.js.map +1 -1
- package/dist/components/chat-app.js +1 -1
- package/dist/components/chat-app.js.map +1 -1
- package/dist/components/chat-header2.js +3 -3
- package/dist/components/chat-header2.js.map +1 -1
- package/dist/components/chat-input2.js +1 -1
- package/dist/components/chat-input2.js.map +1 -1
- package/dist/components/checkbox-list2.js +1 -1
- package/dist/components/checkbox-list2.js.map +1 -1
- package/dist/components/create-master-data-dialog2.js +1 -1
- package/dist/components/create-master-data-dialog2.js.map +1 -1
- package/dist/components/dialog-bill-editor2.js +1 -1
- package/dist/components/dialog-bill-editor2.js.map +1 -1
- package/dist/components/dialog-custom-filter2.js +1 -1
- package/dist/components/dialog-custom-filter2.js.map +1 -1
- package/dist/components/dialog-editor2.js +1 -1
- package/dist/components/dialog-editor2.js.map +1 -1
- package/dist/components/dialog-preview-media2.js +1 -1
- package/dist/components/dialog-preview-media2.js.map +1 -1
- package/dist/components/dialog-search2.js +1 -1
- package/dist/components/dialog-search2.js.map +1 -1
- package/dist/components/icon-svg.js +2 -1
- package/dist/components/icon-svg.js.map +1 -1
- package/dist/components/icon.js +55 -55
- package/dist/components/icon.js.map +1 -1
- package/dist/components/index3.js +12 -1
- package/dist/components/index3.js.map +1 -1
- package/dist/components/master-data-item2.js +1 -1
- package/dist/components/master-data-item2.js.map +1 -1
- package/dist/components/master-status-app.js +2 -2
- package/dist/components/master-status-app.js.map +1 -1
- package/dist/components/master-tag-app.js +2 -2
- package/dist/components/master-tag-app.js.map +1 -1
- package/dist/components/menu-chat-channel2.js +1 -1
- package/dist/components/menu-chat-channel2.js.map +1 -1
- package/dist/components/menu-chat-type2.js +1 -1
- package/dist/components/menu-chat-type2.js.map +1 -1
- package/dist/components/menu-list2.js +5 -3
- package/dist/components/menu-list2.js.map +1 -1
- package/dist/components/message-box2.js +1 -1
- package/dist/components/message-box2.js.map +1 -1
- package/dist/components/message-content2.js +1 -1
- package/dist/components/message-content2.js.map +1 -1
- package/dist/components/message-item2.js +1 -1
- package/dist/components/message-item2.js.map +1 -1
- package/dist/components/message-media2.js +1 -1
- package/dist/components/message-media2.js.map +1 -1
- package/dist/components/profile-history2.js +1 -1
- package/dist/components/profile-history2.js.map +1 -1
- package/dist/components/profile-info2.js +15 -9
- package/dist/components/profile-info2.js.map +1 -1
- package/dist/components/profile-media2.js +2 -2
- package/dist/components/profile-media2.js.map +1 -1
- package/dist/components/profile-tabs2.js +3 -3
- package/dist/components/profile-tabs2.js.map +1 -1
- package/dist/components/quick-message-add-template2.js +4 -4
- package/dist/components/quick-message-add-template2.js.map +1 -1
- package/dist/components/quick-message-app.js +2 -2
- package/dist/components/quick-message-app.js.map +1 -1
- package/dist/components/quick-message-file2.js +2 -2
- package/dist/components/quick-message-file2.js.map +1 -1
- package/dist/components/quick-message-image2.js +2 -2
- package/dist/components/quick-message-image2.js.map +1 -1
- package/dist/components/quick-message-modal2.js +2 -2
- package/dist/components/quick-message-modal2.js.map +1 -1
- package/dist/components/quick-message-template2.js +4 -4
- package/dist/components/quick-message-template2.js.map +1 -1
- package/dist/components/quick-message-text-content2.js +1 -1
- package/dist/components/search-box2.js +6 -6
- package/dist/components/search-box2.js.map +1 -1
- package/dist/components/status-badge2.js +3 -3
- package/dist/components/status-badge2.js.map +1 -1
- package/dist/components/summarize-message-section2.js +1 -1
- package/dist/components/summarize-message-section2.js.map +1 -1
- package/dist/components/tag-list2.js +2 -2
- package/dist/components/tag-list2.js.map +1 -1
- package/dist/components/tag-or-status-item2.js +3 -3
- package/dist/components/tag-or-status-item2.js.map +1 -1
- package/dist/components/tag-popper2.js +3 -3
- package/dist/components/tag-popper2.js.map +1 -1
- package/dist/components/typography-clamp2.js +3 -3
- package/dist/components/typography-clamp2.js.map +1 -1
- package/dist/components/user-info-section2.js +52 -10
- package/dist/components/user-info-section2.js.map +1 -1
- package/dist/components/z-avatar2.js +1 -1
- package/dist/components/z-avatar2.js.map +1 -1
- package/dist/components/z-dialog2.js +1 -1
- package/dist/components/z-dialog2.js.map +1 -1
- package/dist/components/z-tooltip2.js +1 -1
- package/dist/components/z-tooltip2.js.map +1 -1
- package/dist/esm/{autocomplete-address_46.entry.js → autocomplete-address_45.entry.js} +116 -294
- package/dist/esm/create-master-data-dialog.master-data-item.entry.js.map +1 -1
- package/dist/esm/create-master-data-dialog_2.entry.js +5 -4
- package/dist/esm/dayjs-BAV7Kp5H.js +144 -0
- package/dist/esm/dayjs-BAV7Kp5H.js.map +1 -0
- package/dist/esm/{icon-svg-t8bE_WeG.js → icon-svg-D46sQeCq.js} +5 -4
- package/dist/{cjs/icon-svg-CgXY0S7L.js.map → esm/icon-svg-D46sQeCq.js.map} +1 -1
- package/dist/{zignal-stencil-library/index-CtvW4AWU.js → esm/index-CGxyaXAw.js} +16 -144
- package/dist/esm/index-CGxyaXAw.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/master-status-app.entry.js +5 -3
- package/dist/esm/master-status-app.entry.js.map +1 -1
- package/dist/esm/master-tag-app.entry.js +5 -3
- package/dist/esm/master-tag-app.entry.js.map +1 -1
- package/dist/esm/quick-message-app.entry.js +221 -0
- package/dist/esm/quick-message-app.entry.js.map +1 -0
- package/dist/esm/store-yUM2Y3GN.js +338 -0
- package/dist/esm/store-yUM2Y3GN.js.map +1 -0
- package/dist/esm/{z-input-D9WwC2eR.js → z-input-CpnrmPm8.js} +62 -393
- package/dist/esm/z-input-CpnrmPm8.js.map +1 -0
- package/dist/esm/zignal-stencil-library.js +1 -1
- package/dist/types/api/index.d.ts +1 -0
- package/dist/types/api/type.d.ts +10 -0
- package/dist/types/components/menu-list/menu-list.d.ts +2 -1
- package/dist/types/components/profile-info/user-info-section.d.ts +1 -0
- package/dist/types/components.d.ts +3 -1
- package/dist/types/store/type.d.ts +2 -2
- package/dist/types/utils/icon-svg.d.ts +1 -0
- package/dist/zignal-stencil-library/{autocomplete-address_46.entry.js → autocomplete-address_45.entry.js} +116 -294
- package/dist/zignal-stencil-library/create-master-data-dialog.master-data-item.entry.esm.js.map +1 -1
- package/dist/zignal-stencil-library/create-master-data-dialog_2.entry.js +5 -4
- package/dist/zignal-stencil-library/dayjs-BAV7Kp5H.js +144 -0
- package/dist/zignal-stencil-library/dayjs-BAV7Kp5H.js.map +1 -0
- package/dist/zignal-stencil-library/{icon-svg-t8bE_WeG.js → icon-svg-D46sQeCq.js} +5 -4
- package/dist/zignal-stencil-library/{icon-svg-t8bE_WeG.js.map → icon-svg-D46sQeCq.js.map} +1 -1
- package/dist/{esm/index-CtvW4AWU.js → zignal-stencil-library/index-CGxyaXAw.js} +16 -144
- package/dist/zignal-stencil-library/index-CGxyaXAw.js.map +1 -0
- package/dist/zignal-stencil-library/master-status-app.entry.esm.js.map +1 -1
- package/dist/zignal-stencil-library/master-status-app.entry.js +5 -3
- package/dist/zignal-stencil-library/master-tag-app.entry.esm.js.map +1 -1
- package/dist/zignal-stencil-library/master-tag-app.entry.js +5 -3
- package/dist/zignal-stencil-library/quick-message-app.entry.esm.js.map +1 -0
- package/dist/zignal-stencil-library/quick-message-app.entry.js +221 -0
- package/dist/zignal-stencil-library/store-yUM2Y3GN.js +338 -0
- package/dist/zignal-stencil-library/store-yUM2Y3GN.js.map +1 -0
- package/dist/zignal-stencil-library/{z-input-D9WwC2eR.js → z-input-CpnrmPm8.js} +62 -393
- package/dist/zignal-stencil-library/z-input-CpnrmPm8.js.map +1 -0
- package/dist/zignal-stencil-library/zignal-stencil-library.esm.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/index-GjHureph.js.map +0 -1
- package/dist/cjs/z-input-BDN69u5m.js.map +0 -1
- package/dist/esm/index-CtvW4AWU.js.map +0 -1
- package/dist/esm/z-input-D9WwC2eR.js.map +0 -1
- package/dist/zignal-stencil-library/index-CtvW4AWU.js.map +0 -1
- package/dist/zignal-stencil-library/z-input-D9WwC2eR.js.map +0 -1
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
import { i as instance } from './index-LGP3DVcU.js';
|
|
2
|
+
import { g as getRenderingRef, f as forceUpdate } from './index-NR-FjQmT.js';
|
|
3
|
+
|
|
4
|
+
function useTranslation() {
|
|
5
|
+
return instance.t;
|
|
6
|
+
}
|
|
7
|
+
const rgbToHex = (rgb) => {
|
|
8
|
+
const values = rgb.match(/\d+/g) || [];
|
|
9
|
+
const hexValues = values.map(val => {
|
|
10
|
+
const hex = parseInt(val, 10).toString(16);
|
|
11
|
+
return hex.length === 1 ? '0' + hex : hex;
|
|
12
|
+
});
|
|
13
|
+
return '#' + hexValues.join('');
|
|
14
|
+
};
|
|
15
|
+
const calculateBrightness = (hexColor) => {
|
|
16
|
+
// Formula for calculating brightness: 0.299*R + 0.587*G + 0.114*B
|
|
17
|
+
const r = parseInt(hexColor.substring(1, 3), 16);
|
|
18
|
+
const g = parseInt(hexColor.substring(3, 5), 16);
|
|
19
|
+
const b = parseInt(hexColor.substring(5, 7), 16);
|
|
20
|
+
return 0.299 * r + 0.587 * g + 0.114 * b;
|
|
21
|
+
};
|
|
22
|
+
const getContrastColorHelper = (color, isInvert = false) => {
|
|
23
|
+
let hexColor = '#000';
|
|
24
|
+
const format = color.includes('rgb') ? 'rgb' : 'hex';
|
|
25
|
+
if (format === 'hex') {
|
|
26
|
+
hexColor = color;
|
|
27
|
+
}
|
|
28
|
+
else if (format === 'rgb') {
|
|
29
|
+
hexColor = rgbToHex(color);
|
|
30
|
+
}
|
|
31
|
+
const brightness = calculateBrightness(hexColor);
|
|
32
|
+
if (isInvert) {
|
|
33
|
+
return brightness > 128 ? '#fff' : '#000';
|
|
34
|
+
}
|
|
35
|
+
return brightness > 128 ? '#000' : '#fff';
|
|
36
|
+
};
|
|
37
|
+
function base64ToFileList(base64Array, filenames) {
|
|
38
|
+
const dataTransfer = new DataTransfer();
|
|
39
|
+
base64Array.forEach((base64, index) => {
|
|
40
|
+
const arr = base64.split(',');
|
|
41
|
+
const mimeMatch = arr[0].match(/:(.*?);/);
|
|
42
|
+
const mime = mimeMatch ? mimeMatch[1] : 'image/png';
|
|
43
|
+
const bstr = atob(arr[1]);
|
|
44
|
+
let n = bstr.length;
|
|
45
|
+
const u8arr = new Uint8Array(n);
|
|
46
|
+
while (n--) {
|
|
47
|
+
u8arr[n] = bstr.charCodeAt(n);
|
|
48
|
+
}
|
|
49
|
+
const fileName = `image${index}.png`;
|
|
50
|
+
const file = new File([u8arr], fileName, { type: mime });
|
|
51
|
+
dataTransfer.items.add(file);
|
|
52
|
+
});
|
|
53
|
+
return dataTransfer.files;
|
|
54
|
+
}
|
|
55
|
+
const preventInputNoneBasicNumber = (event) => {
|
|
56
|
+
return (['e', 'E', '+', '-', 'ArrowDown'].includes(event.key) || ((event.key === 'ArrowDown') && ((parseInt(event.target.value) === 0) || (event.target.value === '')))) && event.preventDefault();
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const appendToMap = (map, propName, value) => {
|
|
60
|
+
const items = map.get(propName);
|
|
61
|
+
if (!items) {
|
|
62
|
+
map.set(propName, [value]);
|
|
63
|
+
}
|
|
64
|
+
else if (!items.includes(value)) {
|
|
65
|
+
items.push(value);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const debounce = (fn, ms) => {
|
|
69
|
+
let timeoutId;
|
|
70
|
+
return (...args) => {
|
|
71
|
+
if (timeoutId) {
|
|
72
|
+
clearTimeout(timeoutId);
|
|
73
|
+
}
|
|
74
|
+
timeoutId = setTimeout(() => {
|
|
75
|
+
timeoutId = 0;
|
|
76
|
+
fn(...args);
|
|
77
|
+
}, ms);
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Check if a possible element isConnected.
|
|
83
|
+
* The property might not be there, so we check for it.
|
|
84
|
+
*
|
|
85
|
+
* We want it to return true if isConnected is not a property,
|
|
86
|
+
* otherwise we would remove these elements and would not update.
|
|
87
|
+
*
|
|
88
|
+
* Better leak in Edge than to be useless.
|
|
89
|
+
*/
|
|
90
|
+
const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
|
|
91
|
+
const cleanupElements = debounce((map) => {
|
|
92
|
+
for (let key of map.keys()) {
|
|
93
|
+
map.set(key, map.get(key).filter(isConnected));
|
|
94
|
+
}
|
|
95
|
+
}, 2_000);
|
|
96
|
+
const stencilSubscription = () => {
|
|
97
|
+
if (typeof getRenderingRef !== 'function') {
|
|
98
|
+
// If we are not in a stencil project, we do nothing.
|
|
99
|
+
// This function is not really exported by @stencil/core.
|
|
100
|
+
return {};
|
|
101
|
+
}
|
|
102
|
+
const elmsToUpdate = new Map();
|
|
103
|
+
return {
|
|
104
|
+
dispose: () => elmsToUpdate.clear(),
|
|
105
|
+
get: (propName) => {
|
|
106
|
+
const elm = getRenderingRef();
|
|
107
|
+
if (elm) {
|
|
108
|
+
appendToMap(elmsToUpdate, propName, elm);
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
set: (propName) => {
|
|
112
|
+
const elements = elmsToUpdate.get(propName);
|
|
113
|
+
if (elements) {
|
|
114
|
+
elmsToUpdate.set(propName, elements.filter(forceUpdate));
|
|
115
|
+
}
|
|
116
|
+
cleanupElements(elmsToUpdate);
|
|
117
|
+
},
|
|
118
|
+
reset: () => {
|
|
119
|
+
elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
|
|
120
|
+
cleanupElements(elmsToUpdate);
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
const unwrap = (val) => (typeof val === 'function' ? val() : val);
|
|
126
|
+
const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
|
|
127
|
+
const unwrappedState = unwrap(defaultState);
|
|
128
|
+
let states = new Map(Object.entries(unwrappedState ?? {}));
|
|
129
|
+
const handlers = {
|
|
130
|
+
dispose: [],
|
|
131
|
+
get: [],
|
|
132
|
+
set: [],
|
|
133
|
+
reset: [],
|
|
134
|
+
};
|
|
135
|
+
// Track onChange listeners to enable removeListener functionality
|
|
136
|
+
const changeListeners = new Map();
|
|
137
|
+
const reset = () => {
|
|
138
|
+
// When resetting the state, the default state may be a function - unwrap it to invoke it.
|
|
139
|
+
// otherwise, the state won't be properly reset
|
|
140
|
+
states = new Map(Object.entries(unwrap(defaultState) ?? {}));
|
|
141
|
+
handlers.reset.forEach((cb) => cb());
|
|
142
|
+
};
|
|
143
|
+
const dispose = () => {
|
|
144
|
+
// Call first dispose as resetting the state would
|
|
145
|
+
// cause less updates ;)
|
|
146
|
+
handlers.dispose.forEach((cb) => cb());
|
|
147
|
+
reset();
|
|
148
|
+
};
|
|
149
|
+
const get = (propName) => {
|
|
150
|
+
handlers.get.forEach((cb) => cb(propName));
|
|
151
|
+
return states.get(propName);
|
|
152
|
+
};
|
|
153
|
+
const set = (propName, value) => {
|
|
154
|
+
const oldValue = states.get(propName);
|
|
155
|
+
if (shouldUpdate(value, oldValue, propName)) {
|
|
156
|
+
states.set(propName, value);
|
|
157
|
+
handlers.set.forEach((cb) => cb(propName, value, oldValue));
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
const state = (typeof Proxy === 'undefined'
|
|
161
|
+
? {}
|
|
162
|
+
: new Proxy(unwrappedState, {
|
|
163
|
+
get(_, propName) {
|
|
164
|
+
return get(propName);
|
|
165
|
+
},
|
|
166
|
+
ownKeys(_) {
|
|
167
|
+
return Array.from(states.keys());
|
|
168
|
+
},
|
|
169
|
+
getOwnPropertyDescriptor() {
|
|
170
|
+
return {
|
|
171
|
+
enumerable: true,
|
|
172
|
+
configurable: true,
|
|
173
|
+
};
|
|
174
|
+
},
|
|
175
|
+
has(_, propName) {
|
|
176
|
+
return states.has(propName);
|
|
177
|
+
},
|
|
178
|
+
set(_, propName, value) {
|
|
179
|
+
set(propName, value);
|
|
180
|
+
return true;
|
|
181
|
+
},
|
|
182
|
+
}));
|
|
183
|
+
const on = (eventName, callback) => {
|
|
184
|
+
handlers[eventName].push(callback);
|
|
185
|
+
return () => {
|
|
186
|
+
removeFromArray(handlers[eventName], callback);
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
const onChange = (propName, cb) => {
|
|
190
|
+
const setHandler = (key, newValue) => {
|
|
191
|
+
if (key === propName) {
|
|
192
|
+
cb(newValue);
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
const resetHandler = () => cb(unwrap(defaultState)[propName]);
|
|
196
|
+
// Register the handlers
|
|
197
|
+
const unSet = on('set', setHandler);
|
|
198
|
+
const unReset = on('reset', resetHandler);
|
|
199
|
+
// Track the relationship between the user callback and internal handlers
|
|
200
|
+
changeListeners.set(cb, { setHandler, resetHandler, propName });
|
|
201
|
+
return () => {
|
|
202
|
+
unSet();
|
|
203
|
+
unReset();
|
|
204
|
+
changeListeners.delete(cb);
|
|
205
|
+
};
|
|
206
|
+
};
|
|
207
|
+
const use = (...subscriptions) => {
|
|
208
|
+
const unsubs = subscriptions.reduce((unsubs, subscription) => {
|
|
209
|
+
if (subscription.set) {
|
|
210
|
+
unsubs.push(on('set', subscription.set));
|
|
211
|
+
}
|
|
212
|
+
if (subscription.get) {
|
|
213
|
+
unsubs.push(on('get', subscription.get));
|
|
214
|
+
}
|
|
215
|
+
if (subscription.reset) {
|
|
216
|
+
unsubs.push(on('reset', subscription.reset));
|
|
217
|
+
}
|
|
218
|
+
if (subscription.dispose) {
|
|
219
|
+
unsubs.push(on('dispose', subscription.dispose));
|
|
220
|
+
}
|
|
221
|
+
return unsubs;
|
|
222
|
+
}, []);
|
|
223
|
+
return () => unsubs.forEach((unsub) => unsub());
|
|
224
|
+
};
|
|
225
|
+
const forceUpdate = (key) => {
|
|
226
|
+
const oldValue = states.get(key);
|
|
227
|
+
handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
|
|
228
|
+
};
|
|
229
|
+
const removeListener = (propName, listener) => {
|
|
230
|
+
const listenerInfo = changeListeners.get(listener);
|
|
231
|
+
if (listenerInfo && listenerInfo.propName === propName) {
|
|
232
|
+
// Remove the specific handlers that were created for this listener
|
|
233
|
+
removeFromArray(handlers.set, listenerInfo.setHandler);
|
|
234
|
+
removeFromArray(handlers.reset, listenerInfo.resetHandler);
|
|
235
|
+
changeListeners.delete(listener);
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
return {
|
|
239
|
+
state,
|
|
240
|
+
get,
|
|
241
|
+
set,
|
|
242
|
+
on,
|
|
243
|
+
onChange,
|
|
244
|
+
use,
|
|
245
|
+
dispose,
|
|
246
|
+
reset,
|
|
247
|
+
forceUpdate,
|
|
248
|
+
removeListener,
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
const removeFromArray = (array, item) => {
|
|
252
|
+
const index = array.indexOf(item);
|
|
253
|
+
if (index >= 0) {
|
|
254
|
+
array[index] = array[array.length - 1];
|
|
255
|
+
array.length--;
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
const createStore = (defaultState, shouldUpdate) => {
|
|
260
|
+
const map = createObservableMap(defaultState, shouldUpdate);
|
|
261
|
+
map.use(stencilSubscription());
|
|
262
|
+
return map;
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
const configStore = createStore({
|
|
266
|
+
language: 'en',
|
|
267
|
+
theme: 'light',
|
|
268
|
+
businessId: null,
|
|
269
|
+
shopId: null,
|
|
270
|
+
accessToken: null,
|
|
271
|
+
isProduction: false,
|
|
272
|
+
timeZone: null,
|
|
273
|
+
translationSettings: {
|
|
274
|
+
is_auto: false,
|
|
275
|
+
target_language: null,
|
|
276
|
+
exclude_languages: [],
|
|
277
|
+
},
|
|
278
|
+
isNotConnected: false,
|
|
279
|
+
isZwiz: false,
|
|
280
|
+
connectionList: [],
|
|
281
|
+
memberList: [],
|
|
282
|
+
});
|
|
283
|
+
const messagesStore = createStore({
|
|
284
|
+
messages: [],
|
|
285
|
+
reads: [],
|
|
286
|
+
loadedKeys: new Set(),
|
|
287
|
+
readsMap: {},
|
|
288
|
+
});
|
|
289
|
+
const filterChatsStore = createStore({
|
|
290
|
+
filterType: 'quick',
|
|
291
|
+
});
|
|
292
|
+
const statusesStore = createStore({
|
|
293
|
+
statuses: [],
|
|
294
|
+
});
|
|
295
|
+
const tagsStore = createStore({
|
|
296
|
+
tags: [],
|
|
297
|
+
});
|
|
298
|
+
const chatsStore = createStore({
|
|
299
|
+
chats: [],
|
|
300
|
+
loadedKeys: new Set(),
|
|
301
|
+
});
|
|
302
|
+
const userStore = createStore({
|
|
303
|
+
user: null,
|
|
304
|
+
});
|
|
305
|
+
const userAddressStore = createStore({
|
|
306
|
+
userAddress: null,
|
|
307
|
+
});
|
|
308
|
+
const selectedChatStore = createStore({
|
|
309
|
+
selectedChat: null,
|
|
310
|
+
isSyncingTag: false,
|
|
311
|
+
isSyncingMessage: false,
|
|
312
|
+
});
|
|
313
|
+
const selectedMessageToReplyStore = createStore({
|
|
314
|
+
selectedMessageToReply: null,
|
|
315
|
+
});
|
|
316
|
+
const responsiveStore = createStore({
|
|
317
|
+
isMobile: false,
|
|
318
|
+
});
|
|
319
|
+
const profilePanelStore = createStore({
|
|
320
|
+
isShowProfile: false,
|
|
321
|
+
});
|
|
322
|
+
const customFiltersStore = createStore({
|
|
323
|
+
filters: [],
|
|
324
|
+
selectedFilter: null,
|
|
325
|
+
loading: false,
|
|
326
|
+
});
|
|
327
|
+
const chatLanguageStore = createStore({
|
|
328
|
+
isEdit: false
|
|
329
|
+
});
|
|
330
|
+
const translateStore = createStore({ translatedMessages: {} });
|
|
331
|
+
const chatInputStore = createStore({
|
|
332
|
+
originalText: '',
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
export { createStore as a, userAddressStore as b, configStore as c, chatsStore as d, customFiltersStore as e, filterChatsStore as f, getContrastColorHelper as g, selectedChatStore as h, translateStore as i, userStore as j, selectedMessageToReplyStore as k, chatInputStore as l, messagesStore as m, base64ToFileList as n, preventInputNoneBasicNumber as o, profilePanelStore as p, chatLanguageStore as q, responsiveStore as r, statusesStore as s, tagsStore as t, useTranslation as u };
|
|
336
|
+
//# sourceMappingURL=store-yUM2Y3GN.js.map
|
|
337
|
+
|
|
338
|
+
//# sourceMappingURL=store-yUM2Y3GN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-yUM2Y3GN.js","sources":["src/utils/utils.ts","../../node_modules/@stencil/store/dist/index.js","src/store/store.ts"],"sourcesContent":["import i18n from '../global/i18n';\n\nexport function format(first?: string, middle?: string, last?: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function useTranslation() {\n return i18n.t;\n}\n\nexport const rgbToHex = (rgb: string): string => {\n const values = rgb.match(/\\d+/g) || [];\n const hexValues = values.map(val => {\n const hex = parseInt(val, 10).toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n });\n return '#' + hexValues.join('');\n};\n\nexport const calculateBrightness = (hexColor: string): number => {\n // Formula for calculating brightness: 0.299*R + 0.587*G + 0.114*B\n const r = parseInt(hexColor.substring(1, 3), 16);\n const g = parseInt(hexColor.substring(3, 5), 16);\n const b = parseInt(hexColor.substring(5, 7), 16);\n\n return 0.299 * r + 0.587 * g + 0.114 * b;\n};\n\nexport const getContrastColorHelper = (color: string, isInvert = false): string => {\n let hexColor = '#000';\n const format = color.includes('rgb') ? 'rgb' : 'hex';\n if (format === 'hex') {\n hexColor = color;\n } else if (format === 'rgb') {\n hexColor = rgbToHex(color);\n }\n\n const brightness = calculateBrightness(hexColor);\n if (isInvert) {\n return brightness > 128 ? '#fff' : '#000';\n }\n return brightness > 128 ? '#000' : '#fff';\n};\n\nexport function getRandomHexColor(): string {\n const hex = Math.floor(Math.random() * 0xffffff).toString(16);\n return `#${hex.padStart(6, '0')}`;\n}\n\nexport function base64ToFileList(base64Array: string[], filenames?: string[]): FileList {\n const dataTransfer = new DataTransfer();\n\n base64Array.forEach((base64, index) => {\n const arr = base64.split(',');\n const mimeMatch = arr[0].match(/:(.*?);/);\n const mime = mimeMatch ? mimeMatch[1] : 'image/png';\n const bstr = atob(arr[1]);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n\n const fileName = filenames && filenames.length > index ? filenames[index] : `image${index}.png`;\n const file = new File([u8arr], fileName, { type: mime });\n dataTransfer.items.add(file);\n });\n\n return dataTransfer.files;\n}\n\nexport const preventInputNoneBasicNumber = (event: any) => {\n return (['e', 'E', '+', '-', 'ArrowDown'].includes(event.key) || ((event.key === 'ArrowDown') && ((parseInt(event.target.value) === 0) || (event.target.value === '')))) && event.preventDefault()\n}\n\nexport const preventInputNoneBasicNumberAndDot = (event: any) => {\n return (['e', 'E', '+', '-', '.'].includes(event.key) || ((event.key === 'ArrowDown') && ((parseInt(event.target.value) === 0) || (event.target.value === '')))) && event.preventDefault()\n}\n","import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2_000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState ?? {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n // Track onChange listeners to enable removeListener functionality\n const changeListeners = new Map();\n const reset = () => {\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries(unwrap(defaultState) ?? {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const setHandler = (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n };\n const resetHandler = () => cb(unwrap(defaultState)[propName]);\n // Register the handlers\n const unSet = on('set', setHandler);\n const unReset = on('reset', resetHandler);\n // Track the relationship between the user callback and internal handlers\n changeListeners.set(cb, { setHandler, resetHandler, propName });\n return () => {\n unSet();\n unReset();\n changeListeners.delete(cb);\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n const removeListener = (propName, listener) => {\n const listenerInfo = changeListeners.get(listener);\n if (listenerInfo && listenerInfo.propName === propName) {\n // Remove the specific handlers that were created for this listener\n removeFromArray(handlers.set, listenerInfo.setHandler);\n removeFromArray(handlers.reset, listenerInfo.resetHandler);\n changeListeners.delete(listener);\n }\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n removeListener,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import { createStore } from '@stencil/store';\nimport * as Types from '../store/type';\nimport { GetChatMessagesResponse, GetChatsResponse, SearchChatsParams, ChatFilter, GetChatFilterConfigResponse } from '../api/type';\n\nexport const configStore = createStore<Types.ConfigStore>({\n language: 'en',\n theme: 'light',\n businessId: null,\n shopId: null,\n accessToken: null,\n isProduction: false,\n timeZone: null,\n translationSettings: {\n is_auto: false,\n target_language: null,\n exclude_languages: [],\n },\n isNotConnected: false,\n isZwiz: false,\n connectionList: [],\n memberList: [],\n});\n\nexport const messagesStore = createStore<\n Omit<GetChatMessagesResponse, 'next' | 'prev'> & {\n loadedKeys: Set<string>;\n readsMap: Record<string, Types.ChatMessageReader[]>;\n jumpMessageId?: string;\n older?: {\n next?: string;\n prev?: string;\n };\n newer?: {\n next?: string;\n prev?: string;\n };\n }\n>({\n messages: [],\n reads: [],\n loadedKeys: new Set<string>(),\n readsMap: {},\n});\n\nexport const filterChatsStore = createStore<{ filterChat?: SearchChatsParams, filterType: 'quick' | 'advanced' | 'custom', filterConfig?: GetChatFilterConfigResponse }>({\n filterType: 'quick',\n});\n\nexport const statusesStore = createStore<{ statuses: Types.TTagOrStatusItem[] }>({\n statuses: [],\n});\n\nexport const tagsStore = createStore<{ tags: Types.TTagOrStatusItem[] }>({\n tags: [],\n});\n\nexport const chatsStore = createStore<GetChatsResponse & { loadedKeys: Set<string> }>({\n chats: [],\n loadedKeys: new Set<string>(),\n});\n\nexport const userStore = createStore<{ user: Types.UserItem | null }>({\n user: null,\n});\n\nexport const userAddressStore = createStore<{ userAddress: Types.UserAddress | null }>({\n userAddress: null,\n});\n\nexport const selectedChatStore = createStore<{ selectedChat: Types.TChatItem | null; isSyncingTag: boolean; isSyncingMessage: boolean }>({\n selectedChat: null,\n isSyncingTag: false,\n isSyncingMessage: false,\n});\n\nexport const selectedMessageToReplyStore = createStore<{ selectedMessageToReply: Types.ChatMessageItem | null }>({\n selectedMessageToReply: null,\n});\n\nexport const responsiveStore = createStore<{ isMobile: boolean }>({\n isMobile: false,\n});\n\nexport const profilePanelStore = createStore<{ isShowProfile: boolean }>({\n isShowProfile: false,\n});\n\nexport const customFiltersStore = createStore<{ filters: ChatFilter[]; selectedFilter: ChatFilter | null; loading: boolean }>({\n filters: [],\n selectedFilter: null,\n loading: false,\n});\n\nexport const chatLanguageStore = createStore<{\n isEdit: boolean\n loading?: boolean\n originalLanguage?: string\n}>({\n isEdit: false\n});\n\nexport const translateStore = createStore<{ translatedMessages: Record<string, string> }>({ translatedMessages: {} });\n\nexport const chatInputStore = createStore<{ originalText: string }>({\n originalText: '',\n});"],"names":["i18n"],"mappings":"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","x_google_ignoreList":[1]}
|