@subiz/widget-v4 4.1.219 → 4.1.222
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/img/bar_ho_tro.svg +3 -0
- package/{dist/assets/img/bubble_default.6f6eec8.svg → assets/img/bubble_11.svg} +0 -1
- package/assets/less/form-page.less +58 -0
- package/assets/less/form.less +279 -3
- package/assets/less/widget.less +6 -0
- package/compiled_src/chatbox/ChatButton.js +22 -3
- package/compiled_src/form/Form.js +270 -71
- package/compiled_src/form/FormPage.js +17 -4
- package/compiled_src/form/form-fields.js +244 -0
- package/compiled_src/form/index.js +2 -0
- package/compiled_src/form/rating-stars.js +48 -88
- package/compiled_src/plugin.js +10 -0
- package/compiled_src/store/api.js +4 -6
- package/compiled_src/store/api_fake.js +3 -1
- package/compiled_src/store/localize.js +33 -0
- package/compiled_src/store/store.js +57 -1
- package/compiled_src/store/widget-settings.js +67 -0
- package/compiled_src/util/common.js +1 -1
- package/package.json +3 -3
- package/src/chatbox/ChatButton.js +25 -4
- package/src/form/Form.js +335 -97
- package/src/form/FormPage.js +21 -8
- package/src/form/form-fields.js +224 -0
- package/src/form/index.js +6 -1
- package/src/form/rating-stars.js +48 -64
- package/src/plugin.js +10 -0
- package/src/store/api.js +7 -6
- package/src/store/api_fake.js +3 -1
- package/src/store/localize.js +30 -0
- package/src/store/store.js +64 -1
- package/src/store/widget-settings.js +46 -0
- package/src/util/common.js +1 -1
- package/test.cjs +3 -0
- package/webpack.dev.js +2 -0
- package/dist/127.js +0 -273
- package/dist/132.js +0 -2817
- package/dist/185.js +0 -1917
- package/dist/1a155409bb8.127.js +0 -1
- package/dist/1a155409bb8.132.js +0 -1
- package/dist/1a155409bb8.185.js +0 -1
- package/dist/1a155409bb8.27.js +0 -1
- package/dist/1a155409bb8.278.js +0 -1
- package/dist/1a155409bb8.339.js +0 -1
- package/dist/1a155409bb8.459.js +0 -1
- package/dist/1a155409bb8.490.js +0 -1
- package/dist/1a155409bb8.app.js +0 -1
- package/dist/1a155409bb8.chat.html +0 -1
- package/dist/1a155409bb8.chat.js +0 -1
- package/dist/1a155409bb8.form.html +0 -1
- package/dist/1a155409bb8.form.js +0 -1
- package/dist/1a155409bb8.index.html +0 -72
- package/dist/1a155409bb8.library.html +0 -72
- package/dist/1a155409bb8.library.js +0 -1
- package/dist/1a155409bb8.preview.html +0 -759
- package/dist/1a155409bb8.preview.js +0 -1
- package/dist/1a155409bb8.webview.js +0 -1
- package/dist/27.js +0 -37
- package/dist/459.js +0 -37
- package/dist/490.js +0 -305
- package/dist/HASH +0 -1
- package/dist/assets/img/Facebook.64607ec.png +0 -0
- package/dist/assets/img/Zalo.6845707.png +0 -0
- package/dist/assets/img/award1a.1a58e10.png +0 -0
- package/dist/assets/img/award3a.3b74423.png +0 -0
- package/dist/assets/img/award4a.ed6ccd4.png +0 -0
- package/dist/assets/img/award5.39eb7ae.png +0 -0
- package/dist/assets/img/caret.998eb8f.svg +0 -1
- package/dist/assets/img/convos_empty.2353007.svg +0 -72
- package/dist/assets/img/default.06e6ee0.jpg +0 -0
- package/dist/assets/img/default_avatar.e449b04.png +0 -0
- package/dist/assets/img/default_logo.dd13a2b.svg +0 -5
- package/dist/assets/img/done_gray.d7e8203.svg +0 -4
- package/dist/assets/img/done_green.b817fd4.svg +0 -4
- package/dist/assets/img/dot_chat.335fd8a.svg +0 -3
- package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
- package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
- package/dist/assets/img/empty.29bed2d.svg +0 -23
- package/dist/assets/img/empty_1.0b98af0.svg +0 -11
- package/dist/assets/img/examplte_logo.f86535f.svg +0 -1
- package/dist/assets/img/external-link.90577cc.svg +0 -1
- package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
- package/dist/assets/img/ghn.070f8e3.svg +0 -17
- package/dist/assets/img/ghtk.326eac1.svg +0 -18
- package/dist/assets/img/image_default.be0698b.png +0 -0
- package/dist/assets/img/info.ebce7ea.svg +0 -1
- package/dist/assets/img/loader.37000a7.svg +0 -1
- package/dist/assets/img/loading_static.a27f0ac.svg +0 -10
- package/dist/assets/img/main-service1.d536cc2.png +0 -0
- package/dist/assets/img/main-service2.9b99549.png +0 -0
- package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
- package/dist/assets/img/package.8d37d0f.svg +0 -5
- package/dist/assets/img/package_fade.763c001.svg +0 -1
- package/dist/assets/img/rating--average.1ea492c.svg +0 -12
- package/dist/assets/img/rating--great.e3d712e.svg +0 -16
- package/dist/assets/img/rating--poor.2938a25.svg +0 -12
- package/dist/assets/img/search.f9705ff.svg +0 -1
- package/dist/assets/img/send.6db52a9.svg +0 -3
- package/dist/assets/img/shop.f7dc7d8.svg +0 -1
- package/dist/assets/img/shop_faded.df7845a.svg +0 -1
- package/dist/assets/img/stars_v2.79cf728.png +0 -0
- package/dist/assets/img/subiz-mono.8fbc067.svg +0 -3
- package/dist/assets/img/x.26fdfa3.svg +0 -5
- package/dist/malicious-app.js +0 -17
- package/dist/screenshoot.html +0 -7
- package/dist/screenshoot.js +0 -14561
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="89" height="38" viewBox="0 0 89 38" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M77 0C83.6274 0 89 5.37258 89 12V35C89 36.6569 87.6569 38 86 38L3 38C1.34315 38 0 36.6569 0 35V12C0 5.37258 5.37258 0 12 0L77 0ZM35.076 24V13.0909H37.0522V17.7092H42.1072V13.0909H44.0888V24H42.1072V19.3658H37.0522V24H35.076ZM49.7218 24.1598C48.9228 24.1598 48.2303 23.984 47.6444 23.6325C47.0584 23.2809 46.6039 22.7891 46.2807 22.157C45.9611 21.5249 45.8013 20.7862 45.8013 19.9411C45.8013 19.0959 45.9611 18.3555 46.2807 17.7198C46.6039 17.0842 47.0584 16.5906 47.6444 16.239C48.2303 15.8874 48.9228 15.7116 49.7218 15.7116C50.5208 15.7116 51.2132 15.8874 51.7992 16.239C52.3851 16.5906 52.8379 17.0842 53.1575 17.7198C53.4806 18.3555 53.6422 19.0959 53.6422 19.9411C53.6422 20.7862 53.4806 21.5249 53.1575 22.157C52.8379 22.7891 52.3851 23.2809 51.7992 23.6325C51.2132 23.984 50.5208 24.1598 49.7218 24.1598ZM49.7324 22.6151C50.1657 22.6151 50.5279 22.4961 50.8191 22.2582C51.1103 22.0167 51.3269 21.6935 51.4689 21.2887C51.6145 20.8839 51.6873 20.4329 51.6873 19.9357C51.6873 19.435 51.6145 18.9822 51.4689 18.5774C51.3269 18.169 51.1103 17.8441 50.8191 17.6026C50.5279 17.3612 50.1657 17.2404 49.7324 17.2404C49.2885 17.2404 48.9192 17.3612 48.6245 17.6026C48.3333 17.8441 48.1149 18.169 47.9693 18.5774C47.8272 18.9822 47.7562 19.435 47.7562 19.9357C47.7562 20.4329 47.8272 20.8839 47.9693 21.2887C48.1149 21.6935 48.3333 22.0167 48.6245 22.2582C48.9192 22.4961 49.2885 22.6151 49.7324 22.6151ZM50.2864 13.3466L52.465 15.0352H50.9842L49.7111 14.055L48.454 15.0352H46.9519L49.1358 13.3466H50.2864ZM50.9256 11.5142L51.65 11.7539C51.65 12.0415 51.5506 12.3061 51.3517 12.5476C51.1529 12.7855 50.8936 12.9045 50.574 12.9045C50.4 12.9045 50.2456 12.8796 50.1106 12.8299C49.9792 12.7802 49.8567 12.7234 49.7431 12.6594C49.6294 12.5955 49.514 12.5387 49.3968 12.489C49.2832 12.4393 49.1571 12.4144 49.0186 12.4144C48.8908 12.4144 48.7807 12.4677 48.6884 12.5742C48.5961 12.6808 48.5517 12.7997 48.5552 12.9311L47.8521 12.7393C47.8485 12.4624 47.9444 12.2031 48.1397 11.9616C48.335 11.7166 48.5943 11.5941 48.9174 11.5941C49.0559 11.5941 49.1909 11.6172 49.3223 11.6634C49.4537 11.7095 49.5815 11.7646 49.7058 11.8285C49.8301 11.8888 49.9544 11.9421 50.0787 11.9883C50.2065 12.0344 50.3379 12.0575 50.4728 12.0575C50.5936 12.0575 50.6983 12.0007 50.7871 11.8871C50.8794 11.7699 50.9256 11.6456 50.9256 11.5142ZM63.0851 15.8182V17.3097H61.4711V21.5391C61.4711 21.7983 61.5102 21.9972 61.5883 22.1357C61.67 22.2706 61.7765 22.3629 61.9079 22.4126C62.0393 22.4624 62.1849 22.4872 62.3447 22.4872C62.4655 22.4872 62.5756 22.4783 62.675 22.4606C62.778 22.4428 62.8561 22.4268 62.9094 22.4126L63.2343 23.9201C63.1313 23.9556 62.9839 23.9947 62.7922 24.0373C62.604 24.0799 62.3731 24.1048 62.0997 24.1119C61.6167 24.1261 61.1817 24.0533 60.7947 23.8935C60.4076 23.7301 60.1004 23.478 59.8731 23.1371C59.6494 22.7962 59.5393 22.37 59.5429 21.8587V17.3097H58.3817V15.8182H59.5429V13.858H61.4711V15.8182H63.0851ZM64.6978 24V15.8182H66.5675V17.1818H66.6527C66.8018 16.7095 67.0575 16.3455 67.4197 16.0898C67.7855 15.8306 68.2028 15.701 68.6715 15.701C68.7781 15.701 68.897 15.7063 69.0284 15.717C69.1634 15.7241 69.2752 15.7365 69.364 15.7543V17.5281C69.2823 17.4996 69.1527 17.4748 68.9751 17.4535C68.8011 17.4286 68.6325 17.4162 68.4691 17.4162C68.1175 17.4162 67.8015 17.4925 67.521 17.6452C67.244 17.7944 67.0256 18.0021 66.8658 18.2685C66.706 18.5348 66.6261 18.842 66.6261 19.19V24H64.6978ZM77.3394 15.2962H78.6285C78.6285 16.1626 78.426 16.8445 78.0212 17.3416C77.8515 17.5504 77.6342 17.715 77.3692 17.8354C77.6547 18.4448 77.7975 19.1466 77.7975 19.9411C77.7975 20.7862 77.6359 21.5249 77.3128 22.157C76.9932 22.7891 76.5404 23.2809 75.9545 23.6325C75.3685 23.984 74.676 24.1598 73.877 24.1598C73.078 24.1598 72.3856 23.984 71.7996 23.6325C71.2137 23.2809 70.7591 22.7891 70.436 22.157C70.1164 21.5249 69.9566 20.7862 69.9566 19.9411C69.9566 19.0959 70.1164 18.3555 70.436 17.7198C70.7591 17.0842 71.2137 16.5906 71.7996 16.239C72.3856 15.8874 73.078 15.7116 73.877 15.7116C74.676 15.7116 75.3685 15.8874 75.9545 16.239C76.2862 16.438 76.5753 16.6826 76.8217 16.9728C76.833 16.9646 76.844 16.9561 76.8547 16.9474C77.0464 16.7947 77.1743 16.5781 77.2382 16.2976C77.3057 16.0135 77.3394 15.6797 77.3394 15.2962ZM73.8877 22.6151C74.3209 22.6151 74.6832 22.4961 74.9743 22.2582C75.2655 22.0167 75.4822 21.6935 75.6242 21.2887C75.7698 20.8839 75.8426 20.4329 75.8426 19.9357C75.8426 19.435 75.7698 18.9822 75.6242 18.5774C75.4822 18.169 75.2655 17.8441 74.9743 17.6026C74.6832 17.3612 74.3209 17.2404 73.8877 17.2404C73.4438 17.2404 73.0745 17.3612 72.7797 17.6026C72.4885 17.8441 72.2702 18.169 72.1246 18.5774C71.9825 18.9822 71.9115 19.435 71.9115 19.9357C71.9115 20.4329 71.9825 20.8839 72.1246 21.2887C72.2702 21.6935 72.4885 22.0167 72.7797 22.2582C73.0745 22.4961 73.4438 22.6151 73.8877 22.6151ZM73.8824 26.9457C73.5734 26.9457 73.3089 26.8427 73.0887 26.6367C72.8721 26.4308 72.7638 26.1839 72.7638 25.8963C72.7638 25.6087 72.8721 25.3619 73.0887 25.1559C73.3089 24.9499 73.5716 24.8469 73.877 24.8469C74.186 24.8469 74.4488 24.9499 74.6654 25.1559C74.8856 25.3619 74.9957 25.6087 74.9957 25.8963C74.9957 26.1839 74.8856 26.4308 74.6654 26.6367C74.4488 26.8427 74.1878 26.9457 73.8824 26.9457ZM19 10C17.8181 10 16.6478 10.2328 15.5558 10.6851C14.4639 11.1374 13.4718 11.8003 12.636 12.636C11.8003 13.4718 11.1374 14.4639 10.6851 15.5558C10.2328 16.6478 10 17.8181 10 19C10 20.1819 10.2328 21.3522 10.6851 22.4442C11.1374 23.5361 11.8003 24.5282 12.636 25.364C13.4718 26.1997 14.4639 26.8626 15.5558 27.3149C16.6478 27.7672 17.8181 28 19 28C20.1819 28 21.3522 27.7672 22.4442 27.3149C23.5361 26.8626 24.5282 26.1997 25.364 25.364C26.1997 24.5282 26.8626 23.5361 27.3149 22.4442C27.7672 21.3522 28 20.1819 28 19C28 17.8181 27.7672 16.6478 27.3149 15.5558C26.8626 14.4639 26.1997 13.4718 25.364 12.636C24.5282 11.8003 23.5361 11.1374 22.4442 10.6851C21.3522 10.2328 20.1819 10 19 10ZM16.3212 12.5328C17.1705 12.1811 18.0807 12 19 12C19.9193 12 20.8295 12.1811 21.6788 12.5328C22.5281 12.8846 23.2997 13.4002 23.9497 14.0503C24.5998 14.7003 25.1154 15.4719 25.4672 16.3212C25.8189 17.1705 26 18.0807 26 19C26 19.9193 25.8189 20.8295 25.4672 21.6788C25.1154 22.5281 24.5998 23.2997 23.9497 23.9497C23.2997 24.5998 22.5281 25.1154 21.6788 25.4672C20.8295 25.8189 19.9193 26 19 26C18.0807 26 17.1705 25.8189 16.3212 25.4672C15.4719 25.1154 14.7003 24.5998 14.0503 23.9497C13.4002 23.2997 12.8846 22.5281 12.5328 21.6788C12.1811 20.8295 12 19.9193 12 19C12 18.0807 12.1811 17.1705 12.5328 16.3212C12.8846 15.4719 13.4002 14.7003 14.0503 14.0503C14.7003 13.4002 15.4719 12.8846 16.3212 12.5328ZM19 22.4444C19.5523 22.4444 20 22.8922 20 23.4444V23.4533C20 24.0056 19.5523 24.4533 19 24.4533C18.4477 24.4533 18 24.0056 18 23.4533V23.4444C18 22.8922 18.4477 22.4444 19 22.4444ZM19.0726 13.5304C18.5601 13.529 18.0543 13.6465 17.5949 13.8738C17.1356 14.1011 16.7353 14.4319 16.4256 14.8402C16.0917 15.2801 16.1778 15.9074 16.6178 16.2413C17.0578 16.5751 17.6851 16.489 18.0189 16.049C18.1415 15.8874 18.3 15.7564 18.4819 15.6664C18.6638 15.5764 18.8641 15.5298 19.067 15.5304C19.27 15.5309 19.47 15.5786 19.6514 15.6696C19.8327 15.7606 19.9905 15.8925 20.1123 16.0548C20.234 16.2172 20.3165 16.4056 20.353 16.6052C20.3896 16.8048 20.3793 17.0101 20.3231 17.2051C20.2668 17.4001 20.166 17.5793 20.0287 17.7287C19.8936 17.8757 19.7267 17.9899 19.5409 18.0626C19.0707 18.2318 18.6671 18.5476 18.3897 18.9637C18.1092 19.3845 17.973 19.8851 18.0016 20.3901C18.0329 20.9415 18.5052 21.3631 19.0566 21.3319C19.608 21.3006 20.0297 20.8283 19.9984 20.2769C19.9943 20.2047 20.0138 20.1332 20.0538 20.0731C20.0939 20.013 20.1525 19.9675 20.2206 19.9435C20.2291 19.9405 20.2376 19.9374 20.2461 19.9342C20.7248 19.7511 21.1544 19.4595 21.5012 19.0821C21.848 18.7048 22.1025 18.2522 22.2446 17.7598C22.3867 17.2674 22.4126 16.7488 22.3203 16.2447C22.2279 15.7406 22.0198 15.2648 21.7123 14.8548C21.4048 14.4448 21.0063 14.1118 20.5483 13.882C20.0902 13.6522 19.5851 13.5318 19.0726 13.5304Z" fill="#0047CC"/>
|
|
3
|
+
</svg>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@primary-color: '@primary_color'; //
|
|
2
|
+
@primary-color-faded: '@primary_color_faded';
|
|
2
3
|
@form-page-background-color: '@form_background_color';
|
|
3
4
|
@form-page-header-font-size: '@form_header_font_size';
|
|
4
5
|
@form-page-header-font-family: '@form_header_font_family';
|
|
@@ -317,3 +318,60 @@ select.form-control {
|
|
|
317
318
|
margin-top: -15px;
|
|
318
319
|
}
|
|
319
320
|
}
|
|
321
|
+
|
|
322
|
+
// Fullscreen form page, closer to Jotform: roomier card, prominent header
|
|
323
|
+
// separated by a full-width divider, more space between questions.
|
|
324
|
+
// Placed after form.less so it wins over the shared form styles.
|
|
325
|
+
.form-page {
|
|
326
|
+
.form-wrapper.form {
|
|
327
|
+
padding: 32px;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
.form-page-header {
|
|
331
|
+
margin: 0 -32px 32px;
|
|
332
|
+
padding: 4px 32px 28px;
|
|
333
|
+
border-bottom: 1px solid #e3e5ec;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
.form-page-title {
|
|
337
|
+
.color(#2c3345);
|
|
338
|
+
font-weight: 600;
|
|
339
|
+
line-height: 1.35;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.form-page-desc {
|
|
343
|
+
.color(#57647e);
|
|
344
|
+
margin-top: 8px;
|
|
345
|
+
line-height: 1.6;
|
|
346
|
+
white-space: pre-wrap;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.form-component {
|
|
350
|
+
margin-bottom: 32px;
|
|
351
|
+
&:last-child {
|
|
352
|
+
margin-bottom: 0;
|
|
353
|
+
}
|
|
354
|
+
&.submitted {
|
|
355
|
+
margin-bottom: 20px;
|
|
356
|
+
}
|
|
357
|
+
.label {
|
|
358
|
+
margin-top: 0;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
@media only screen and (max-width: 768px) {
|
|
364
|
+
.form-page {
|
|
365
|
+
.form-wrapper.form {
|
|
366
|
+
padding: 24px 20px;
|
|
367
|
+
}
|
|
368
|
+
.form-page-header {
|
|
369
|
+
margin: 0 -20px 28px;
|
|
370
|
+
padding: 0 20px 24px;
|
|
371
|
+
}
|
|
372
|
+
.form-component {
|
|
373
|
+
margin-bottom: 28px;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
package/assets/less/form.less
CHANGED
|
@@ -119,6 +119,15 @@ select.form-control.input--error:focus {
|
|
|
119
119
|
font-weight: 500;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
+
// question labels of Form blocks: bold and dark, like Jotform.
|
|
123
|
+
// Size: form page uses input_style.font_size (form-page.less, default 16px), chat attachment 15px below.
|
|
124
|
+
.form-wrapper.form .label {
|
|
125
|
+
padding-bottom: 6px;
|
|
126
|
+
.color(#2c3345);
|
|
127
|
+
line-height: 1.35;
|
|
128
|
+
font-weight: 600;
|
|
129
|
+
}
|
|
130
|
+
|
|
122
131
|
.form--btn-submit {
|
|
123
132
|
border-radius: 7px;
|
|
124
133
|
padding-left: 32px;
|
|
@@ -502,7 +511,8 @@ select {
|
|
|
502
511
|
}
|
|
503
512
|
|
|
504
513
|
.label {
|
|
505
|
-
padding-bottom:
|
|
514
|
+
padding-bottom: 6px;
|
|
515
|
+
font-size: 15px;
|
|
506
516
|
}
|
|
507
517
|
|
|
508
518
|
.form-control--valid-input--error {
|
|
@@ -525,7 +535,7 @@ select.form-control.form-control--empty {
|
|
|
525
535
|
|
|
526
536
|
.radio {
|
|
527
537
|
margin-right: 10px;
|
|
528
|
-
width:
|
|
538
|
+
width: calc(50% - 5px); // 2 columns whatever the form padding is
|
|
529
539
|
|
|
530
540
|
&:first-child {
|
|
531
541
|
margin-top: 0;
|
|
@@ -545,7 +555,7 @@ select.form-control.form-control--empty {
|
|
|
545
555
|
|
|
546
556
|
.checkbox {
|
|
547
557
|
margin-right: 10px;
|
|
548
|
-
width:
|
|
558
|
+
width: calc(50% - 5px); // 2 columns whatever the form padding is
|
|
549
559
|
|
|
550
560
|
&:first-child {
|
|
551
561
|
margin-top: 0;
|
|
@@ -596,3 +606,269 @@ select.form-control.form-control--empty {
|
|
|
596
606
|
}
|
|
597
607
|
}
|
|
598
608
|
}
|
|
609
|
+
|
|
610
|
+
// ---
|
|
611
|
+
// New form block fields: description, rating faces, linear scale, chips, "Other…"
|
|
612
|
+
// All selectors are scoped under .form so a block class like "chips" never styles anything else.
|
|
613
|
+
|
|
614
|
+
.form {
|
|
615
|
+
&.form-wrapper .form-component.has-description > .label {
|
|
616
|
+
padding-bottom: 2px;
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
.form-field-description {
|
|
620
|
+
.color(@text-muted);
|
|
621
|
+
font-size: 13px;
|
|
622
|
+
line-height: 1.4;
|
|
623
|
+
// same gap to the input as a label without description (.label padding-bottom)
|
|
624
|
+
margin-bottom: 6px;
|
|
625
|
+
white-space: pre-wrap;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
.form-other-input {
|
|
629
|
+
margin-top: 8px;
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
.form-ratings-wrapper.readonly .star-wrapper {
|
|
633
|
+
cursor: default;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
.form-submitted-rating {
|
|
637
|
+
display: flex;
|
|
638
|
+
align-items: center;
|
|
639
|
+
gap: 8px;
|
|
640
|
+
// the star sprite is positioned in px, so stars keep their 32x30 size here
|
|
641
|
+
.star-wrapper {
|
|
642
|
+
padding-right: 6px;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
// shared look of square/rounded toggle buttons
|
|
647
|
+
.form-rating-face,
|
|
648
|
+
.form-linear-scale-item,
|
|
649
|
+
.form-chip {
|
|
650
|
+
-webkit-appearance: none;
|
|
651
|
+
appearance: none;
|
|
652
|
+
margin: 0;
|
|
653
|
+
font-family: inherit;
|
|
654
|
+
background: #fff;
|
|
655
|
+
border: 1px solid @gray-400;
|
|
656
|
+
border-radius: 8px;
|
|
657
|
+
cursor: pointer;
|
|
658
|
+
.color(@gray-600);
|
|
659
|
+
transition:
|
|
660
|
+
border-color 100ms ease,
|
|
661
|
+
background-color 100ms ease,
|
|
662
|
+
color 100ms ease;
|
|
663
|
+
box-sizing: border-box;
|
|
664
|
+
|
|
665
|
+
&:hover {
|
|
666
|
+
border-color: @gray-600;
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
&:focus-visible {
|
|
670
|
+
outline: 2px solid @primary-color;
|
|
671
|
+
outline-offset: 1px;
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
// RATING FACES
|
|
676
|
+
.form-rating-faces {
|
|
677
|
+
display: flex;
|
|
678
|
+
flex-wrap: wrap;
|
|
679
|
+
gap: 8px;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
.form-rating-face {
|
|
683
|
+
display: inline-flex;
|
|
684
|
+
align-items: center;
|
|
685
|
+
justify-content: center;
|
|
686
|
+
width: 48px;
|
|
687
|
+
height: 48px;
|
|
688
|
+
padding: 0;
|
|
689
|
+
|
|
690
|
+
&.selected {
|
|
691
|
+
border-color: @primary-color;
|
|
692
|
+
background: @primary-color-faded;
|
|
693
|
+
.color(@primary-color);
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
.form-rating-faces.readonly .form-rating-face {
|
|
698
|
+
cursor: default;
|
|
699
|
+
width: 36px;
|
|
700
|
+
height: 36px;
|
|
701
|
+
.form-face-icon {
|
|
702
|
+
width: 24px;
|
|
703
|
+
height: 24px;
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
// LINEAR SCALE
|
|
708
|
+
// as wide as the row of cells (48px each, at least 320px in total) so the
|
|
709
|
+
// min/max labels sit under the first/last cell instead of the form edges
|
|
710
|
+
.form-linear-scale {
|
|
711
|
+
width: 100%;
|
|
712
|
+
max-width: ~'max(320px, calc(var(--scale-count, 5) * 48px + (var(--scale-count, 5) - 1) * 6px))';
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
.form-linear-scale-items {
|
|
716
|
+
display: flex;
|
|
717
|
+
gap: 6px;
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
// 8+ cells in a narrow form (chat box, phone): two even rows instead of tiny cells.
|
|
721
|
+
// Browsers without container queries keep one row of shrunk cells.
|
|
722
|
+
.form-linear-scale.many {
|
|
723
|
+
container-type: inline-size;
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
@container (max-width: 340px) {
|
|
727
|
+
.form-linear-scale-items {
|
|
728
|
+
// !important: the chatbox bundle marks every rule important, except inside @container
|
|
729
|
+
display: grid !important;
|
|
730
|
+
grid-template-columns: repeat(var(--scale-cols, 5), minmax(0, 1fr)) !important;
|
|
731
|
+
}
|
|
732
|
+
.form-linear-scale-item.row2-start {
|
|
733
|
+
grid-column-start: 2 !important;
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
.form-linear-scale-item {
|
|
738
|
+
// the chatbox resets buttons (all: unset), so center the number explicitly
|
|
739
|
+
display: flex;
|
|
740
|
+
align-items: center;
|
|
741
|
+
justify-content: center;
|
|
742
|
+
text-align: center;
|
|
743
|
+
// cells shrink to fit one row (up to 11 cells in a ~330px chat form)
|
|
744
|
+
flex: 1 1 0;
|
|
745
|
+
min-width: 0;
|
|
746
|
+
height: 40px;
|
|
747
|
+
padding: 0;
|
|
748
|
+
font-size: 14px;
|
|
749
|
+
font-weight: 500;
|
|
750
|
+
font-variant-numeric: tabular-nums;
|
|
751
|
+
.color(@black);
|
|
752
|
+
|
|
753
|
+
&.selected {
|
|
754
|
+
border-color: @primary-color;
|
|
755
|
+
background: @primary-color;
|
|
756
|
+
.color(#fff);
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
.form-linear-scale-labels {
|
|
761
|
+
display: flex;
|
|
762
|
+
justify-content: space-between;
|
|
763
|
+
gap: 12px;
|
|
764
|
+
margin-top: 6px;
|
|
765
|
+
font-size: 12px;
|
|
766
|
+
line-height: 1.3;
|
|
767
|
+
.color(@text-muted);
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
.form-linear-scale-label {
|
|
771
|
+
// set on the span itself: form-page.less has `* {font-size: 16px}`
|
|
772
|
+
font-size: 12px;
|
|
773
|
+
line-height: 1.3;
|
|
774
|
+
max-width: 50%;
|
|
775
|
+
&.max {
|
|
776
|
+
text-align: right;
|
|
777
|
+
margin-left: auto;
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
// CHECKBOX CHIPS
|
|
782
|
+
.form-chips {
|
|
783
|
+
display: flex;
|
|
784
|
+
flex-wrap: wrap;
|
|
785
|
+
gap: 8px;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
.form-chip {
|
|
789
|
+
padding: 6px 12px;
|
|
790
|
+
font-size: 14px;
|
|
791
|
+
line-height: 1.4;
|
|
792
|
+
text-align: left;
|
|
793
|
+
border-radius: 16px;
|
|
794
|
+
.color(@black);
|
|
795
|
+
max-width: 100%;
|
|
796
|
+
overflow-wrap: anywhere;
|
|
797
|
+
|
|
798
|
+
&.selected {
|
|
799
|
+
border-color: @primary-color;
|
|
800
|
+
background: @primary-color-faded;
|
|
801
|
+
.color(@primary-color);
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
.form-chips.readonly .form-chip {
|
|
806
|
+
cursor: default;
|
|
807
|
+
padding: 2px 10px;
|
|
808
|
+
font-size: 13px;
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
.form-wrapper-attachment.form {
|
|
813
|
+
// header: bold title + softer description, separated from the questions by a divider
|
|
814
|
+
.form-component.form-attachment-header {
|
|
815
|
+
margin: 0 -15px 14px;
|
|
816
|
+
padding: 2px 15px 12px;
|
|
817
|
+
border-bottom: 1px solid #e3e5ec;
|
|
818
|
+
}
|
|
819
|
+
.form-attachment-header + .form-component .label {
|
|
820
|
+
margin-top: 0;
|
|
821
|
+
}
|
|
822
|
+
.form-attachment-title {
|
|
823
|
+
.color(#2c3345);
|
|
824
|
+
font-size: 17px;
|
|
825
|
+
font-weight: 600;
|
|
826
|
+
line-height: 1.35;
|
|
827
|
+
}
|
|
828
|
+
.form-attachment-desc {
|
|
829
|
+
.color(#57647e);
|
|
830
|
+
font-size: 13px;
|
|
831
|
+
line-height: 1.5;
|
|
832
|
+
margin-top: 4px;
|
|
833
|
+
white-space: pre-wrap;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
// option text smaller than the question label (15px)
|
|
837
|
+
.radio--label,
|
|
838
|
+
.checkbox--label {
|
|
839
|
+
font-size: 14px;
|
|
840
|
+
line-height: 20px;
|
|
841
|
+
}
|
|
842
|
+
.radio--check,
|
|
843
|
+
.checkbox--check {
|
|
844
|
+
top: 2px;
|
|
845
|
+
}
|
|
846
|
+
.radio,
|
|
847
|
+
.checkbox {
|
|
848
|
+
margin-top: 6px;
|
|
849
|
+
}
|
|
850
|
+
.radio:first-of-type,
|
|
851
|
+
.checkbox:first-of-type {
|
|
852
|
+
margin-top: 0;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
.form-linear-scale-items {
|
|
856
|
+
gap: 4px;
|
|
857
|
+
}
|
|
858
|
+
.form-linear-scale-item {
|
|
859
|
+
height: 34px;
|
|
860
|
+
font-size: 13px;
|
|
861
|
+
border-radius: 6px;
|
|
862
|
+
}
|
|
863
|
+
.form-rating-faces {
|
|
864
|
+
gap: 6px;
|
|
865
|
+
}
|
|
866
|
+
.form-rating-face {
|
|
867
|
+
width: 40px;
|
|
868
|
+
height: 40px;
|
|
869
|
+
}
|
|
870
|
+
.form-chip {
|
|
871
|
+
padding: 4px 10px;
|
|
872
|
+
font-size: 13px;
|
|
873
|
+
}
|
|
874
|
+
}
|
package/assets/less/widget.less
CHANGED
|
@@ -642,6 +642,12 @@
|
|
|
642
642
|
.widget-preview-text-message--content {
|
|
643
643
|
margin-top: 10px;
|
|
644
644
|
white-space: pre-wrap;
|
|
645
|
+
line-height: 24px;
|
|
646
|
+
max-height: 144px;
|
|
647
|
+
overflow: hidden;
|
|
648
|
+
display: -webkit-box;
|
|
649
|
+
-webkit-box-orient: vertical;
|
|
650
|
+
-webkit-line-clamp: 6;
|
|
645
651
|
}
|
|
646
652
|
|
|
647
653
|
.widget-preview-quick-reply-wrapper {
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
exports.isSamePreview = isSamePreview;
|
|
7
8
|
var _index = _interopRequireDefault(require("../util/index.js"));
|
|
8
9
|
var _Emoji = _interopRequireDefault(require("./Emoji.js"));
|
|
9
10
|
var _common = require("../common.js");
|
|
@@ -12,6 +13,10 @@ var _preact = require("preact");
|
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
var defaultBubble = require('../../assets/img/bubble_default.svg');
|
|
14
15
|
const dotChatIcon = require('../../assets/img/dot_chat.svg');
|
|
16
|
+
const builtInButtonIcons = {
|
|
17
|
+
bubble_11: require('../../assets/img/bubble_11.svg?inline'),
|
|
18
|
+
bar_ho_tro: require('../../assets/img/bar_ho_tro.svg?inline')
|
|
19
|
+
};
|
|
15
20
|
let defaultAvatar = require('../../assets/img/default_avatar.png');
|
|
16
21
|
class ChatButton extends _common.Com {
|
|
17
22
|
constructor(props) {
|
|
@@ -62,7 +67,11 @@ class ChatButton extends _common.Com {
|
|
|
62
67
|
let screen = _index.default.get(this.props.store.matchLastview(), 'screen');
|
|
63
68
|
let previewEvent = _index.default.get(this.props.store.matchLastview(), 'previewEvent') || {};
|
|
64
69
|
let isOpen = screen === 'preview' && _index.default.size(previewEvent) > 0;
|
|
65
|
-
if (isOpen) {
|
|
70
|
+
if (isOpen && this.state.hasPreviewDom && !this.state.previewExtraCls && isSamePreview(this.state.previewEvent, previewEvent)) {
|
|
71
|
+
this.setState({
|
|
72
|
+
previewEvent
|
|
73
|
+
});
|
|
74
|
+
} else if (isOpen) {
|
|
66
75
|
this.makeAnimateShowPreview(previewEvent);
|
|
67
76
|
} else {
|
|
68
77
|
this.makeAnimateHidePreview();
|
|
@@ -370,7 +379,7 @@ class ChatButton extends _common.Com {
|
|
|
370
379
|
}
|
|
371
380
|
const imageUrl = url => {
|
|
372
381
|
const asset = normalizeButtonImageUrl(this.props.store.replaceFileUrl(url));
|
|
373
|
-
return asset === dotChatIcon ? asset : addVersionParam(asset);
|
|
382
|
+
return asset === dotChatIcon || asset && asset.startsWith('data:') ? asset : addVersionParam(asset);
|
|
374
383
|
};
|
|
375
384
|
imgsrc = imageUrl(imgsrc);
|
|
376
385
|
imgurl = imageUrl(imgurl);
|
|
@@ -582,11 +591,20 @@ function randomAgent(agentM) {
|
|
|
582
591
|
return agents[Math.floor(Math.random() * _index.default.size(agents))] || {};
|
|
583
592
|
}
|
|
584
593
|
const Ms30Mins = 30 * 60 * 1000;
|
|
594
|
+
function isSamePreview(a, b) {
|
|
595
|
+
if (!_index.default.size(a) || !_index.default.size(b)) return false;
|
|
596
|
+
if (a.id || b.id) return a.id === b.id;
|
|
597
|
+
if (_index.default.get(a, 'data.message.conversation_id') || _index.default.get(b, 'data.message.conversation_id')) return false;
|
|
598
|
+
return _index.default.get(a, 'by.id') === _index.default.get(b, 'by.id');
|
|
599
|
+
}
|
|
585
600
|
function normalizeButtonImageUrl(url) {
|
|
601
|
+
if (/^https:\/\/vcdn\.subiz-cdn\.com\/file\/bubble_11\.svg(?=$|[?#])/.test(url)) return builtInButtonIcons.bubble_11;
|
|
602
|
+
const builtIn = /^https:\/\/(?:storage\.googleapis\.com\/public-gcs\.subiz-cdn\.com|public-gcs\.subiz-cdn\.com|vcdn\.subiz-cdn\.com)\/dashboard-v4\/public\/img\/bubble\/(bubble_11|bar_ho_tro)\.svg(?=$|[?#])/.exec(url);
|
|
603
|
+
if (builtIn) return builtInButtonIcons[builtIn[1]];
|
|
586
604
|
if (/^https:\/\/(?:storage\.googleapis\.com\/public-gcs\.subiz-cdn\.com|public-gcs\.subiz-cdn\.com|vcdn\.subiz-cdn\.com)\/dashboard-v4\/public\/img\/bubble\/dot_chat\.svg(?=$|[?#])/.test(url)) return dotChatIcon;
|
|
587
605
|
return url;
|
|
588
606
|
}
|
|
589
|
-
const DEF_BG_URL =
|
|
607
|
+
const DEF_BG_URL = builtInButtonIcons.bubble_11;
|
|
590
608
|
const DEF_BG = 'linear-gradient(280.16deg, #0053d3 22.03%, #0265ff 78.2%)';
|
|
591
609
|
function addVersionParam(url, version = 8) {
|
|
592
610
|
if (!url) return url;
|
|
@@ -620,6 +638,7 @@ function preloadButtonImage(src, {
|
|
|
620
638
|
});
|
|
621
639
|
}
|
|
622
640
|
async function prepareButtonMask(src) {
|
|
641
|
+
if (src.startsWith('data:')) return (await preloadButtonImage(src)) ? src : null;
|
|
623
642
|
try {
|
|
624
643
|
const response = await fetch(src);
|
|
625
644
|
if (!response.ok) return null;
|