Browse Source

Nov 26: [ADD] Initial Commit 'website_sale_variant_selection'

pull/358/merge
Risvana Cybro 3 weeks ago
parent
commit
047037b070
  1. 53
      website_sale_variant_selection/README.rst
  2. 21
      website_sale_variant_selection/__init__.py
  3. 49
      website_sale_variant_selection/__manifest__.py
  4. 6
      website_sale_variant_selection/doc/RELEASE_NOTES.md
  5. BIN
      website_sale_variant_selection/static/description/assets/hero.gif
  6. 10
      website_sale_variant_selection/static/description/assets/icons/arrows-repeat.svg
  7. 9
      website_sale_variant_selection/static/description/assets/icons/banner-bg.svg
  8. 5
      website_sale_variant_selection/static/description/assets/icons/banner-call.svg
  9. 5
      website_sale_variant_selection/static/description/assets/icons/banner-mail.svg
  10. 343
      website_sale_variant_selection/static/description/assets/icons/banner-pattern.svg
  11. 41
      website_sale_variant_selection/static/description/assets/icons/brand-pair.svg
  12. BIN
      website_sale_variant_selection/static/description/assets/icons/capture (1).png
  13. BIN
      website_sale_variant_selection/static/description/assets/icons/check.png
  14. BIN
      website_sale_variant_selection/static/description/assets/icons/chevron.png
  15. BIN
      website_sale_variant_selection/static/description/assets/icons/cogs.png
  16. BIN
      website_sale_variant_selection/static/description/assets/icons/consultation.png
  17. BIN
      website_sale_variant_selection/static/description/assets/icons/ecom-black.png
  18. BIN
      website_sale_variant_selection/static/description/assets/icons/education-black.png
  19. 10
      website_sale_variant_selection/static/description/assets/icons/feature-icon.svg
  20. 10
      website_sale_variant_selection/static/description/assets/icons/gear.svg
  21. 12
      website_sale_variant_selection/static/description/assets/icons/hire-odoo.svg
  22. BIN
      website_sale_variant_selection/static/description/assets/icons/hotel-black.png
  23. BIN
      website_sale_variant_selection/static/description/assets/icons/img.png
  24. BIN
      website_sale_variant_selection/static/description/assets/icons/license.png
  25. 13
      website_sale_variant_selection/static/description/assets/icons/life-ring-icon.svg
  26. BIN
      website_sale_variant_selection/static/description/assets/icons/lifebuoy.png
  27. 3
      website_sale_variant_selection/static/description/assets/icons/mail.svg
  28. BIN
      website_sale_variant_selection/static/description/assets/icons/manufacturing-black.png
  29. 4
      website_sale_variant_selection/static/description/assets/icons/odoo-consultancy.svg
  30. 3
      website_sale_variant_selection/static/description/assets/icons/odoo-licencing.svg
  31. 9
      website_sale_variant_selection/static/description/assets/icons/patter.svg
  32. BIN
      website_sale_variant_selection/static/description/assets/icons/photo-capture.png
  33. BIN
      website_sale_variant_selection/static/description/assets/icons/pos-black.png
  34. 10
      website_sale_variant_selection/static/description/assets/icons/puzzle-piece-icon.svg
  35. BIN
      website_sale_variant_selection/static/description/assets/icons/puzzle.png
  36. BIN
      website_sale_variant_selection/static/description/assets/icons/restaurant-black.png
  37. BIN
      website_sale_variant_selection/static/description/assets/icons/service-black.png
  38. 10
      website_sale_variant_selection/static/description/assets/icons/skype-fill.svg
  39. BIN
      website_sale_variant_selection/static/description/assets/icons/trading-black.png
  40. BIN
      website_sale_variant_selection/static/description/assets/icons/training.png
  41. BIN
      website_sale_variant_selection/static/description/assets/icons/update.png
  42. BIN
      website_sale_variant_selection/static/description/assets/icons/user.png
  43. 14
      website_sale_variant_selection/static/description/assets/icons/whatsapp.svg
  44. 10
      website_sale_variant_selection/static/description/assets/icons/wrench-icon.svg
  45. BIN
      website_sale_variant_selection/static/description/assets/icons/wrench.png
  46. BIN
      website_sale_variant_selection/static/description/assets/misc/Cybrosys R.png
  47. 33
      website_sale_variant_selection/static/description/assets/misc/email.svg
  48. 3
      website_sale_variant_selection/static/description/assets/misc/phone.svg
  49. 9
      website_sale_variant_selection/static/description/assets/misc/star (1) 2.svg
  50. 9
      website_sale_variant_selection/static/description/assets/misc/support (1) 1.svg
  51. 6
      website_sale_variant_selection/static/description/assets/misc/support-email.svg
  52. 17
      website_sale_variant_selection/static/description/assets/misc/tick-mark.svg
  53. 9
      website_sale_variant_selection/static/description/assets/misc/whatsapp 1.svg
  54. 33
      website_sale_variant_selection/static/description/assets/misc/whatsapp.svg
  55. BIN
      website_sale_variant_selection/static/description/assets/modules/1.gif
  56. BIN
      website_sale_variant_selection/static/description/assets/modules/1.jpg
  57. BIN
      website_sale_variant_selection/static/description/assets/modules/2.gif
  58. BIN
      website_sale_variant_selection/static/description/assets/modules/2.jpg
  59. BIN
      website_sale_variant_selection/static/description/assets/modules/3.jpg
  60. BIN
      website_sale_variant_selection/static/description/assets/modules/3.png
  61. BIN
      website_sale_variant_selection/static/description/assets/modules/4.png
  62. BIN
      website_sale_variant_selection/static/description/assets/modules/5.jpg
  63. BIN
      website_sale_variant_selection/static/description/assets/modules/5.png
  64. BIN
      website_sale_variant_selection/static/description/assets/modules/6.gif
  65. BIN
      website_sale_variant_selection/static/description/assets/modules/6.jpg
  66. BIN
      website_sale_variant_selection/static/description/assets/screenshots/all_attr.png
  67. BIN
      website_sale_variant_selection/static/description/assets/screenshots/first_attr.png
  68. BIN
      website_sale_variant_selection/static/description/assets/screenshots/hero.gif
  69. BIN
      website_sale_variant_selection/static/description/assets/screenshots/img1.png
  70. BIN
      website_sale_variant_selection/static/description/assets/screenshots/img2.png
  71. BIN
      website_sale_variant_selection/static/description/assets/screenshots/img3.png
  72. BIN
      website_sale_variant_selection/static/description/assets/screenshots/img4.png
  73. BIN
      website_sale_variant_selection/static/description/assets/screenshots/second_attr.png
  74. BIN
      website_sale_variant_selection/static/description/assets/screenshots/third_attr.png
  75. BIN
      website_sale_variant_selection/static/description/banner.jpg
  76. BIN
      website_sale_variant_selection/static/description/icon.png
  77. 1048
      website_sale_variant_selection/static/description/index.html
  78. 135
      website_sale_variant_selection/static/src/js/variant_mixin.js
  79. 5
      website_sale_variant_selection/static/src/scss/website_sale_attribute_selection.scss
  80. 131
      website_sale_variant_selection/views/variant_templates.xml

53
website_sale_variant_selection/README.rst

@ -0,0 +1,53 @@
.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg
:target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
Ecommerce Sequential Variant Selector
=================================
This module enables customers to select product attribute values from the
website in an ordered manner. It allows customers to choose attribute values one
by one.
Configuration
=============
* No additional configurations needed
Company
-------
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
License
-------
GNU AFFERO GENERAL PUBLIC LICENSE, Version 3 (AGPLv3)
(https://www.gnu.org/licenses/agpl.html)
Credits
-------
* Developers: (V16) Abhijith PG,
(V17) Farook Al Ameen,
(V18) Henna Mehjabin
Contact: odoo@cybrosys.com
Contacts
--------
* Mail Contact : odoo@cybrosys.com
* Website : https://cybrosys.com
Bug Tracker
-----------
Bugs are tracked on GitHub Issues. In case of trouble, please check there if
your issue has already been reported.
Maintainer
==========
.. image:: https://cybrosys.com/images/logo.png
:target: https://cybrosys.com
This module is maintained by Cybrosys Technologies.
For support and more information, please visit `Our Website <https://cybrosys.com/>`__
Further information
===================
HTML Description: `<static/description/index.html>`__

21
website_sale_variant_selection/__init__.py

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2025-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Henna Mehjabin (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################

49
website_sale_variant_selection/__manifest__.py

@ -0,0 +1,49 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2025-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Henna Mehjabin (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU AFFERO
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
#
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
# (AGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
{
'name': "Ecommerce Sequential Variant Selector",
'version': '18.0.1.0.0',
'category': 'Website',
'summary': """Sequential attribute selection in odoo eCommerce""",
'description': "This module enables customers to select product attribute "
"values from the website in an ordered manner. It allows "
"customers to choose attribute values one by one.",
'author': "Cybrosys Techno Solutions",
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': "https://www.cybrosys.com",
'depends': ['base', 'website_sale'],
'data': [
'views/variant_templates.xml',
],
'assets': {
'web.assets_frontend': [
'website_sale_variant_selection/static/src/js/variant_mixin.js',
'website_sale_variant_selection/static/src/scss/website_sale_attribute_selection.scss',
],
},
'images': ['static/description/banner.jpg'],
'license': 'AGPL-3',
'installable': True,
'application': True,
'auto_install': False,
}

6
website_sale_variant_selection/doc/RELEASE_NOTES.md

@ -0,0 +1,6 @@
## Module <website_sale_variant_selection>
#### 28.07.2025
#### Version 18.0.1.0.0
#### ADD
- Initial Commit for Ecommerce Sequential Variant Selector

BIN
website_sale_variant_selection/static/description/assets/hero.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

10
website_sale_variant_selection/static/description/assets/icons/arrows-repeat.svg

@ -0,0 +1,10 @@
<svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_48_838)">
<path d="M0.000110011 16.2916C0.000110011 9.65172 5.40186 4.24997 12.0418 4.24997H26.9168V1.89405C26.9168 0.631803 28.4425 -3.05772e-05 29.335 0.892469L33.585 5.37339C34.1389 5.9273 34.1375 6.82405 33.585 7.37655L29.335 11.8575C28.4425 12.75 26.9168 12.1181 26.9168 10.8559V8.49997H12.0418C7.74503 8.49997 4.25011 11.9963 4.25011 16.2916C4.25011 17.4646 3.29953 18.4166 2.12511 18.4166C0.950693 18.4166 0.000110011 17.4646 0.000110011 16.2916ZM31.8751 15.5833C30.7007 15.5833 29.7501 16.5353 29.7501 17.7083C29.7501 22.0036 26.2552 25.5 21.9584 25.5H7.08344V23.1441C7.08344 21.8818 5.55769 21.25 4.66519 22.1425L0.415193 26.6234C-0.138723 27.1773 -0.138723 28.0741 0.415193 28.6266L4.66519 33.1075C5.55769 34 7.08344 33.3681 7.08344 32.1059V29.75H21.9584C28.5984 29.75 34.0001 24.3482 34.0001 17.7083C34.0001 16.5353 33.0495 15.5833 31.8751 15.5833Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_48_838">
<rect width="34" height="34" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

9
website_sale_variant_selection/static/description/assets/icons/banner-bg.svg

@ -0,0 +1,9 @@
<svg width="1228" height="268" viewBox="0 0 1228 268" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 0H1228V252C1228 260.837 1220.84 268 1212 268H16C7.16347 268 0 260.837 0 252V0Z" fill="url(#paint0_linear_15_2077)"/>
<defs>
<linearGradient id="paint0_linear_15_2077" x1="613.495" y1="-14" x2="613.495" y2="268" gradientUnits="userSpaceOnUse">
<stop stop-color="#D7BFFF" stop-opacity="0"/>
<stop offset="1" stop-color="#D3D0DA" stop-opacity="0.5"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 495 B

5
website_sale_variant_selection/static/description/assets/icons/banner-call.svg

@ -0,0 +1,5 @@
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Group">
<path id="Vector" d="M21 16.46V19.996C21.0001 20.2492 20.9042 20.493 20.7316 20.6782C20.559 20.8635 20.3226 20.9763 20.07 20.994C19.633 21.024 19.276 21.04 19 21.04C10.163 21.04 3 13.877 3 5.04004C3 4.76404 3.015 4.40704 3.046 3.97004C3.06372 3.71748 3.17658 3.48105 3.3618 3.30845C3.54703 3.13585 3.79082 3.03992 4.044 3.04004H7.58C7.70404 3.03991 7.8237 3.0859 7.91573 3.16906C8.00776 3.25222 8.0656 3.36662 8.078 3.49004C8.101 3.72004 8.122 3.90304 8.142 4.04204C8.34073 5.42896 8.748 6.77787 9.35 8.04304C9.445 8.24304 9.383 8.48204 9.203 8.61004L7.045 10.152C8.36445 13.2265 10.8145 15.6766 13.889 16.996L15.429 14.842C15.4919 14.754 15.5838 14.6909 15.6885 14.6637C15.7932 14.6365 15.9042 14.6468 16.002 14.693C17.267 15.2939 18.6156 15.7002 20.002 15.898C20.141 15.918 20.324 15.94 20.552 15.962C20.6752 15.9747 20.7894 16.0326 20.8724 16.1246C20.9553 16.2166 21.0012 16.3362 21.001 16.46H21Z" fill="white"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

5
website_sale_variant_selection/static/description/assets/icons/banner-mail.svg

@ -0,0 +1,5 @@
<svg width="24" height="22" viewBox="0 0 24 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Group">
<path id="Vector" d="M3 2.75H21C21.2652 2.75 21.5196 2.84658 21.7071 3.01849C21.8946 3.19039 22 3.42355 22 3.66667V18.3333C22 18.5764 21.8946 18.8096 21.7071 18.9815C21.5196 19.1534 21.2652 19.25 21 19.25H3C2.73478 19.25 2.48043 19.1534 2.29289 18.9815C2.10536 18.8096 2 18.5764 2 18.3333V3.66667C2 3.42355 2.10536 3.19039 2.29289 3.01849C2.48043 2.84658 2.73478 2.75 3 2.75ZM12.06 10.7094L5.648 5.71817L4.353 7.11517L12.073 13.1239L19.654 7.11058L18.346 5.72367L12.061 10.7094H12.06Z" fill="white"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 624 B

343
website_sale_variant_selection/static/description/assets/icons/banner-pattern.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 136 KiB

41
website_sale_variant_selection/static/description/assets/icons/brand-pair.svg

@ -0,0 +1,41 @@
<svg width="722" height="91" viewBox="0 0 722 91" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_76_492)">
<path d="M3.96206 36.4143H16.4878C17.0972 33.1867 18.1886 30.0692 19.7253 27.1662C22.0512 22.5767 25.4478 18.6146 29.628 15.6148C30.3275 15.1152 31.0219 14.6705 31.7114 14.2658V8.67495C31.7121 8.15446 31.6101 7.63895 31.4112 7.15796C31.2123 6.67696 30.9205 6.23993 30.5524 5.87189C30.1844 5.50384 29.7474 5.21203 29.2664 5.01315C28.7854 4.81427 28.2699 4.71224 27.7494 4.71289H3.96206C2.91126 4.71289 1.90349 5.13032 1.16046 5.87335C0.417433 6.61638 3.15053e-06 7.62415 3.15053e-06 8.67495V32.4473C-0.000653502 32.968 0.101344 33.4838 0.300161 33.965C0.498979 34.4463 0.790718 34.8837 1.15869 35.2521C1.52667 35.6206 1.96367 35.9128 2.44469 36.1123C2.92572 36.3117 3.44133 36.4143 3.96206 36.4143Z" fill="#231F20"/>
<path d="M26.2803 36.4143H27.7492C28.2699 36.4143 28.7855 36.3116 29.2666 36.1122C29.7476 35.9128 30.1846 35.6205 30.5525 35.252C30.9205 34.8836 31.2123 34.4462 31.4111 33.965C31.6099 33.4837 31.7119 32.9679 31.7112 32.4472V21.4854C30.4259 23.5406 29.3433 25.7159 28.4786 27.9805C27.3964 30.6889 26.6579 33.5222 26.2803 36.4143Z" fill="#231F20"/>
<path d="M15.9182 42.4053C15.9165 41.0255 16.0033 39.647 16.178 38.2783H3.96205C2.91079 38.2796 1.90304 38.6982 1.16016 39.442C0.417269 40.1858 -8.33757e-07 41.1941 0 42.2454L0 67.8913C-8.33757e-07 68.9426 0.417269 69.9508 1.16016 70.6947C1.90304 71.4385 2.91079 71.857 3.96205 71.8584H29.613C30.6627 71.8505 31.6672 71.43 32.4095 70.6878C33.1517 69.9455 33.5722 68.941 33.58 67.8913V60.6867C28.5838 60.4868 24.4435 58.7847 21.1593 55.5805C17.6619 52.1697 15.9148 47.7779 15.9182 42.4053Z" fill="#B22126"/>
<path d="M63.1879 40.1416H39.4055C38.8844 40.1409 38.3682 40.2431 37.8866 40.4422C37.405 40.6414 36.9674 40.9336 36.5989 41.3021C36.2304 41.6706 35.9382 42.1082 35.7391 42.5898C35.54 43.0714 35.4378 43.5875 35.4385 44.1087V55.2004C37.0405 55.7764 38.7324 56.0624 40.4348 56.0448C42.9361 56.0853 45.4022 55.4519 47.5745 54.2111C50.0647 52.6651 52.2871 50.7246 54.1546 48.4654V52.4275C48.9551 57.7568 42.7164 60.5098 35.4385 60.6863V67.886C35.4463 68.9357 35.8668 69.9402 36.6091 70.6824C37.3513 71.4247 38.3558 71.8452 39.4055 71.853H63.1879C64.2376 71.8452 65.242 71.4247 65.9843 70.6824C66.7266 69.9402 67.1471 68.9357 67.1549 67.886V44.1087C67.1549 43.0565 66.737 42.0475 65.993 41.3035C65.249 40.5596 64.24 40.1416 63.1879 40.1416Z" fill="#231F20"/>
<path d="M63.1879 4.71297H37.5419C36.4915 4.71429 35.4845 5.13215 34.7418 5.87489C33.9991 6.61763 33.5812 7.62463 33.5799 8.67502V13.2566C36.09 11.9862 38.8559 11.3028 41.6689 11.2581C44.9697 11.2581 47.6627 12.249 49.7479 14.2309C51.833 16.2128 52.8739 18.7808 52.8705 21.9352C52.9064 24.6318 52.2802 27.2961 51.0469 29.6944C50.9919 29.8143 50.932 29.9342 50.862 30.0541C50.862 30.0841 50.8271 30.1241 50.8071 30.1541C50.3864 30.8401 49.7531 31.3699 49.0036 31.6629C48.2541 31.9559 47.4294 31.996 46.655 31.7771C45.8806 31.5581 45.199 31.0922 44.7138 30.4502C44.2286 29.8082 43.9664 29.0252 43.9672 28.2205C43.9601 27.5105 44.1654 26.8145 44.5567 26.222C45.5827 24.3205 46.1152 22.1921 46.1056 20.0316C46.1056 18.133 45.6692 16.6241 44.7965 15.5049C44.3888 14.9675 43.8589 14.5348 43.2507 14.2429C42.6425 13.951 41.9735 13.8081 41.2991 13.8262C39.1807 13.8262 36.9174 15.1452 34.5092 17.7833C34.1994 18.123 33.8896 18.4827 33.5949 18.8425V34.311C33.5955 34.8321 33.4934 35.3483 33.2942 35.8299C33.0951 36.3115 32.8029 36.7491 32.4344 37.1176C32.0659 37.4861 31.6283 37.7783 31.1467 37.9774C30.6651 38.1765 30.149 38.2787 29.6278 38.278H26.1304C26.1004 38.7777 26.0854 39.2773 26.0854 39.7769C26.0854 44.5334 27.4344 48.4338 30.1324 51.4782C31.1249 52.6139 32.2982 53.5778 33.6049 54.3311V42.2451C33.6049 41.1938 34.0221 40.1855 34.765 39.4417C35.5079 38.6979 36.5157 38.2793 37.5669 38.278H63.2129C64.265 38.278 65.274 37.8601 66.018 37.1161C66.762 36.3721 67.1799 35.3631 67.1799 34.311V8.67502C67.1793 8.15238 67.0753 7.63501 66.8741 7.15264C66.6729 6.67028 66.3784 6.23243 66.0074 5.86426C65.6364 5.49609 65.1964 5.20485 64.7125 5.00727C64.2286 4.80969 63.7105 4.70968 63.1879 4.71297Z" fill="#B22126"/>
<path d="M119.037 6.17721V17.5987H118.087C117.371 14.6209 116.039 12.336 114.09 10.7438C112.24 9.18871 109.897 8.34376 107.48 8.36059C105.453 8.35176 103.473 8.97333 101.814 10.1393C100.128 11.2806 98.8172 12.8956 98.0473 14.7808C97.0001 17.3752 96.4804 20.1522 96.5184 22.9497C96.4851 25.6754 96.8623 28.3905 97.6376 31.0038C98.3837 33.4286 99.5495 35.2606 101.135 36.4997C102.72 37.7388 104.779 38.3583 107.31 38.3583C109.293 38.379 111.251 37.9124 113.011 36.9993C114.733 36.09 116.552 34.5261 118.467 32.3078V35.1507C116.842 36.9203 114.878 38.3458 112.691 39.3426C110.473 40.2503 108.093 40.6925 105.697 40.6416C102.448 40.7028 99.2319 39.9778 96.3236 38.5282C93.6588 37.1874 91.456 35.0802 89.9983 32.4777C88.5371 29.9073 87.7708 27.0006 87.7749 24.0439C87.7777 20.8934 88.6304 17.802 90.2431 15.0956C91.8236 12.3238 94.1364 10.0405 96.9281 8.49549C99.6453 6.95916 102.715 6.15514 105.837 6.16222C108.357 6.20019 110.848 6.70854 113.181 7.66111C114.67 8.24734 115.618 8.53879 116.024 8.53546C116.276 8.5371 116.525 8.48745 116.757 8.38953C116.989 8.2916 117.199 8.14745 117.373 7.96588C117.807 7.458 118.066 6.82385 118.112 6.15723L119.037 6.17721Z" fill="black"/>
<path d="M157.148 6.93164V7.82598C156.244 7.90593 155.379 8.23447 154.65 8.77527C153.841 9.44144 152.562 11.2967 150.813 14.3411L143.658 26.2773V34.2713C143.658 35.9701 143.748 37.0276 143.928 37.444C144.156 37.9107 144.524 38.2936 144.982 38.5381C145.626 38.8905 146.353 39.0631 147.086 39.0378H148.934V39.9371H130.448V38.9728H132.172C132.972 39.0166 133.77 38.8441 134.48 38.4732C134.936 38.2101 135.288 37.7995 135.479 37.3091C135.656 36.9194 135.744 35.8984 135.744 34.2463V27.6412L127.98 13.5167C126.441 10.7288 125.355 9.08837 124.722 8.5954C123.987 8.06809 123.099 7.79767 122.194 7.82598V6.93164H137.998V7.82598H137.293C136.601 7.7672 135.906 7.91129 135.295 8.24067C135.136 8.32984 135.002 8.45588 134.903 8.6081C134.804 8.76032 134.743 8.93421 134.725 9.11502C134.725 9.70125 135.373 11.1685 136.669 13.5167L142.624 24.4286L148.545 14.491C150.02 12.0595 150.758 10.4457 150.758 9.64962C150.754 9.42828 150.694 9.21158 150.583 9.02008C150.472 8.82858 150.314 8.66864 150.124 8.55543C149.574 8.15073 148.56 7.91091 147.086 7.82598V6.93164H157.148Z" fill="black"/>
<path d="M179.866 22.4151C182.994 23.1446 185.191 24.0273 186.456 25.0632C187.327 25.7396 188.027 26.611 188.5 27.6071C188.973 28.6033 189.206 29.6965 189.179 30.7989C189.195 31.9871 188.932 33.1624 188.412 34.2306C187.891 35.2987 187.127 36.2299 186.182 36.9493C183.74 38.9079 180.184 39.8888 175.515 39.8921H158.752V38.9728C160.277 38.9728 161.312 38.8296 161.855 38.5431C162.341 38.3207 162.741 37.9452 162.994 37.4739C163.214 37.0193 163.324 35.9051 163.324 34.1214V12.7123C163.324 10.9337 163.214 9.8095 162.994 9.34984C162.75 8.85687 162.342 8.46452 161.84 8.24067C161.29 7.96421 160.261 7.82598 158.752 7.82598V6.93164H174.555C178.332 6.93164 181.005 7.26473 182.574 7.9309C184.08 8.54684 185.374 9.58864 186.296 10.9287C187.174 12.1792 187.648 13.668 187.655 15.1955C187.656 16.7787 187.038 18.2994 185.932 19.4324C184.776 20.6914 182.754 21.6857 179.866 22.4151ZM171.018 23.6542V34.2264V35.4405C170.969 35.7998 171.004 36.1656 171.12 36.5092C171.236 36.8528 171.43 37.1651 171.686 37.4218C171.942 37.6785 172.254 37.8726 172.597 37.9891C172.941 38.1056 173.306 38.1413 173.666 38.0935C174.914 38.104 176.146 37.8072 177.253 37.2291C178.322 36.6711 179.193 35.7993 179.751 34.731C180.343 33.6039 180.644 32.3466 180.626 31.0737C180.65 29.6203 180.28 28.1875 179.556 26.9268C178.904 25.7558 177.863 24.8493 176.614 24.3637C175.37 23.8691 173.486 23.6392 171.003 23.6542H171.018ZM171.018 21.7556C173.323 21.7556 175.022 21.4975 176.114 20.9812C177.142 20.5106 178.01 19.75 178.612 18.7928C179.235 17.6992 179.538 16.4528 179.487 15.1955C179.539 13.9431 179.241 12.701 178.627 11.6082C178.036 10.671 177.176 9.93434 176.159 9.49474C175.09 9.01176 173.371 8.77694 171.003 8.79026L171.018 21.7556Z" fill="black"/>
<path d="M204.138 24.8683V34.1064C204.138 35.8901 204.248 37.0093 204.463 37.4739C204.711 37.9623 205.118 38.3517 205.617 38.5781C206.172 38.8529 207.196 38.9928 208.705 38.9928V39.8921H191.857V38.9728C193.356 38.9728 194.415 38.8279 194.955 38.5431C195.435 38.3174 195.83 37.9423 196.079 37.4739C196.299 37.0193 196.409 35.9051 196.409 34.1214V12.7123C196.409 10.9337 196.299 9.8095 196.079 9.34984C195.833 8.85885 195.426 8.4673 194.925 8.24067C194.376 7.96587 193.341 7.82598 191.837 7.82598V6.93164H207.151C211.148 6.93164 214.064 7.20644 215.9 7.75603C217.691 8.2681 219.274 9.33516 220.421 10.8038C221.591 12.2877 222.21 14.1308 222.175 16.0199C222.202 17.1558 221.981 18.284 221.527 19.3256C221.073 20.3672 220.397 21.2971 219.547 22.0504C218.185 23.1754 216.57 23.9507 214.84 24.3087L222.779 35.4754C223.421 36.4497 224.163 37.354 224.993 38.1734C225.663 38.6676 226.468 38.9463 227.301 38.9728V39.8722H216.924L206.302 24.8683H204.138ZM204.138 8.70532V23.1446H205.522C207.776 23.1446 209.459 22.9347 210.578 22.5251C211.695 22.1139 212.629 21.3209 213.217 20.2867C213.908 18.9924 214.239 17.536 214.176 16.0698C214.176 13.5551 213.588 11.6998 212.412 10.504C211.236 9.30821 209.344 8.70865 206.736 8.70532H204.138Z" fill="black"/>
<path d="M246.092 6.46642C251.342 6.27323 255.607 7.80542 258.888 11.063C262.169 14.3206 263.807 18.3959 263.804 23.2889C263.869 27.2766 262.574 31.1675 260.132 34.3207C256.888 38.5376 252.309 40.6443 246.397 40.641C240.485 40.6377 235.901 38.6292 232.647 34.6155C230.09 31.4121 228.738 27.4121 228.83 23.3139C228.83 18.4175 230.495 14.3372 233.826 11.073C237.157 7.80875 241.246 6.27323 246.092 6.46642ZM246.382 8.02026C243.384 8.02026 241.091 9.56079 239.502 12.6418C238.223 15.1699 237.584 18.7989 237.584 23.5287C237.584 29.1546 238.571 33.3181 240.546 36.0195C241.202 36.9265 242.072 37.6568 243.079 38.1451C244.086 38.6334 245.199 38.8643 246.317 38.8174C247.803 38.8704 249.268 38.4448 250.494 37.6033C251.923 36.5674 253.034 34.9019 253.826 32.607C254.619 30.312 255.016 27.3426 255.016 23.6986C255.016 19.3418 254.611 16.0809 253.801 13.9159C252.992 11.7508 251.96 10.2236 250.704 9.33429C249.437 8.45253 247.925 7.99271 246.382 8.02026Z" fill="black"/>
<path d="M288.97 6.17699L289.235 17.1688H288.236C287.885 14.6146 286.668 12.2581 284.788 10.4938C283.187 8.91862 281.039 8.02351 278.793 7.99564C277.364 7.91684 275.959 8.39094 274.871 9.31966C274.423 9.69261 274.062 10.1582 273.811 10.6844C273.561 11.2106 273.428 11.7848 273.422 12.3674C273.406 13.0489 273.579 13.7215 273.921 14.3109C274.52 15.2067 275.289 15.9757 276.185 16.5743C277.884 17.6257 279.644 18.5751 281.456 19.4172C285.343 21.3191 287.952 23.1111 289.285 24.7932C290.599 26.433 291.305 28.4774 291.283 30.5789C291.29 31.9257 291.006 33.2581 290.451 34.4851C289.896 35.7121 289.082 36.8048 288.066 37.6886C285.917 39.6871 283.189 40.6863 279.882 40.6863C278.894 40.6914 277.908 40.5858 276.944 40.3716C275.748 40.0718 274.578 39.6741 273.447 39.1825C272.844 38.8962 272.193 38.7266 271.528 38.6828C271.041 38.7082 270.574 38.8826 270.189 39.1825C269.675 39.5638 269.28 40.0837 269.05 40.6813H268.146V28.2006H269.05C269.759 31.698 271.132 34.3627 273.167 36.1947C275.202 38.0267 277.399 38.9526 279.757 38.9726C281.342 39.0506 282.895 38.5136 284.094 37.4737C284.597 37.0496 285.003 36.5212 285.282 35.9252C285.561 35.3292 285.708 34.6796 285.712 34.0213C285.709 33.227 285.495 32.4478 285.093 31.763C284.608 30.9527 283.968 30.2463 283.209 29.6845C281.792 28.6929 280.287 27.8333 278.713 27.1164C275.715 25.6442 273.56 24.3885 272.247 23.3492C271.012 22.4007 269.981 21.2108 269.22 19.8518C268.511 18.5549 268.146 17.0979 268.16 15.62C268.144 14.361 268.393 13.1126 268.891 11.9564C269.39 10.8002 270.126 9.76213 271.053 8.90996C272.026 7.98966 273.172 7.27121 274.424 6.79612C275.676 6.32104 277.009 6.09872 278.348 6.14202C279.396 6.14028 280.44 6.26952 281.456 6.52673C282.434 6.80729 283.383 7.1821 284.289 7.6459C284.998 8.04833 285.775 8.31598 286.582 8.43531C286.766 8.44492 286.951 8.41514 287.123 8.34795C287.296 8.28076 287.452 8.1777 287.581 8.0456C287.944 7.48124 288.176 6.84276 288.261 6.17699H288.97Z" fill="black"/>
<path d="M328.666 6.93164V7.82598C327.761 7.90412 326.896 8.23285 326.168 8.77527C325.355 9.44144 324.074 11.2967 322.326 14.3411L315.171 26.2773V34.2713C315.171 35.9701 315.261 37.0276 315.441 37.444C315.669 37.9118 316.04 38.295 316.5 38.5381C317.143 38.8916 317.87 39.0643 318.603 39.0378H320.447V39.9371H301.961V38.9728H303.685C304.486 39.0158 305.285 38.8433 305.998 38.4732C306.453 38.2092 306.805 37.7989 306.997 37.3091C307.177 36.9194 307.267 35.8984 307.267 34.2463V27.6412L299.498 13.5167C297.955 10.7288 296.87 9.08837 296.24 8.5954C295.504 8.06943 294.616 7.79916 293.712 7.82598V6.93164H309.51V7.82598H308.806C308.113 7.76807 307.419 7.91211 306.807 8.24067C306.649 8.32984 306.514 8.45588 306.415 8.6081C306.316 8.76032 306.255 8.93421 306.238 9.11502C306.238 9.70125 306.885 11.1685 308.181 13.5167L314.137 24.4286L320.057 14.491C321.526 12.0595 322.261 10.4457 322.261 9.64962C322.257 9.42886 322.197 9.21265 322.087 9.02127C321.977 8.82989 321.82 8.66961 321.631 8.55543C321.077 8.15073 320.062 7.91091 318.593 7.82598V6.93164H328.666Z" fill="black"/>
<path d="M352.608 6.17706L352.873 17.1689H351.874C351.52 14.6133 350.3 12.2567 348.416 10.4938C346.571 8.82842 344.572 7.99571 342.421 7.99571C340.992 7.9169 339.587 8.39101 338.499 9.31972C338.049 9.69134 337.687 10.1567 337.437 10.6832C337.186 11.2097 337.054 11.7845 337.05 12.3675C337.034 13.049 337.207 13.7216 337.549 14.311C338.147 15.2055 338.914 15.9744 339.808 16.5743C341.509 17.6243 343.271 18.5736 345.084 19.4172C348.941 21.3158 351.542 23.1061 352.888 24.7882C354.202 26.4281 354.908 28.4724 354.886 30.5739C354.893 31.9212 354.609 33.2541 354.053 34.4813C353.496 35.7084 352.682 36.8008 351.664 37.6836C349.522 39.6822 346.796 40.6814 343.485 40.6814C342.495 40.6867 341.508 40.5811 340.542 40.3666C339.354 40.0649 338.193 39.6672 337.07 39.1775C336.467 38.8913 335.816 38.7217 335.151 38.6779C334.664 38.7032 334.197 38.8776 333.812 39.1775C333.298 39.56 332.901 40.0794 332.668 40.6764H331.769V28.2007H332.668C333.384 31.6981 334.758 34.3628 336.79 36.1947C338.822 38.0267 341.023 38.9527 343.395 38.9727C344.983 39.0533 346.541 38.5161 347.742 37.4738C348.56 36.7963 349.111 35.8492 349.294 34.8026C349.477 33.7559 349.281 32.6782 348.741 31.763C348.255 30.9538 347.615 30.2477 346.857 29.6846C345.44 28.6924 343.935 27.8327 342.361 27.1165C339.363 25.6443 337.209 24.3885 335.9 23.3493C334.665 22.4008 333.634 21.2109 332.873 19.8519C332.164 18.555 331.799 17.098 331.814 15.62C331.797 14.3611 332.046 13.1127 332.544 11.9565C333.043 10.8003 333.779 9.76219 334.706 8.91003C335.679 7.98949 336.824 7.2709 338.077 6.7958C339.329 6.3207 340.662 6.09851 342.001 6.14208C343.049 6.14035 344.093 6.26959 345.109 6.5268C346.069 6.79899 347 7.16203 347.892 7.61099C348.602 8.01369 349.382 8.28134 350.19 8.40041C350.375 8.41132 350.56 8.38215 350.732 8.31488C350.905 8.24762 351.06 8.14385 351.189 8.0107C351.557 7.44809 351.791 6.80896 351.874 6.14208L352.608 6.17706Z" fill="black"/>
<path d="M101.65 56.0352L101.82 59.6425H101.385C101.348 59.1737 101.233 58.7143 101.045 58.2835C100.84 57.8725 100.514 57.5343 100.111 57.3142C99.6313 57.0849 99.1029 56.9769 98.5719 56.9994H96.4285V68.7507C96.4285 69.7 96.5284 70.2896 96.7333 70.5244C96.9082 70.6936 97.1173 70.8235 97.3465 70.9053C97.5757 70.9872 97.8197 71.0191 98.0623 70.999H98.5919V71.4187H92.0967V70.999H92.6413C92.903 71.025 93.167 70.9846 93.4089 70.8816C93.6508 70.7785 93.8628 70.6162 94.0253 70.4095C94.2419 69.885 94.3276 69.3157 94.2751 68.7507V56.9994H92.4265C91.9101 56.9763 91.3931 57.0302 90.8926 57.1593C90.4809 57.3244 90.1314 57.6144 89.8934 57.9887C89.5861 58.4872 89.4139 59.0572 89.3937 59.6425H88.9341L89.1139 56.0352H101.65Z" fill="black"/>
<path d="M117.318 64.9529C117.237 66.2587 117.637 67.549 118.442 68.5802C118.759 68.987 119.163 69.317 119.625 69.5454C120.087 69.7738 120.595 69.8948 121.11 69.8992C121.747 69.9116 122.371 69.7131 122.884 69.3346C123.478 68.825 123.916 68.1583 124.148 67.4111L124.498 67.6409C124.329 68.7006 123.847 69.6856 123.114 70.4688C122.759 70.8797 122.318 71.2073 121.823 71.4284C121.327 71.6495 120.789 71.7585 120.246 71.7479C119.638 71.751 119.037 71.6222 118.484 71.3703C117.931 71.1184 117.44 70.7494 117.043 70.2889C116.112 69.2009 115.635 67.7969 115.709 66.3668C115.709 64.5932 116.164 63.2042 117.078 62.2099C117.506 61.7261 118.035 61.3414 118.627 61.0825C119.219 60.8237 119.86 60.6969 120.506 60.7111C121.038 60.6936 121.568 60.7867 122.063 60.9845C122.557 61.1823 123.005 61.4805 123.379 61.8602C123.761 62.2734 124.057 62.759 124.25 63.2884C124.442 63.8179 124.526 64.3804 124.498 64.9429L117.318 64.9529ZM117.318 64.2934H122.129C122.124 63.8141 122.043 63.3386 121.89 62.8844C121.715 62.474 121.421 62.1258 121.045 61.8852C120.699 61.6497 120.29 61.5227 119.871 61.5204C119.556 61.5225 119.244 61.5882 118.955 61.7135C118.666 61.8389 118.405 62.0213 118.187 62.2499C117.665 62.8028 117.357 63.5237 117.318 64.2834V64.2934Z" fill="black"/>
<path d="M147.58 67.4509C147.389 68.6537 146.812 69.7617 145.937 70.6086C145.207 71.3115 144.236 71.7084 143.224 71.7178C142.63 71.7112 142.046 71.5734 141.512 71.3142C140.978 71.0551 140.508 70.681 140.136 70.2189C139.217 69.0956 138.749 67.671 138.822 66.2218C138.789 65.4923 138.902 64.7636 139.152 64.0776C139.402 63.3916 139.786 62.7619 140.281 62.2248C140.723 61.7376 141.263 61.3495 141.866 61.086C142.469 60.8225 143.12 60.6896 143.778 60.696C144.68 60.6627 145.565 60.9494 146.276 61.5054C146.559 61.6933 146.796 61.9428 146.969 62.2352C147.142 62.5277 147.247 62.8555 147.276 63.1941C147.28 63.323 147.258 63.4515 147.21 63.5711C147.161 63.6908 147.088 63.7989 146.996 63.8886C146.891 63.9817 146.768 64.053 146.635 64.0984C146.502 64.1439 146.361 64.1625 146.221 64.1534C146.033 64.1648 145.844 64.1319 145.671 64.0573C145.497 63.9826 145.343 63.8684 145.222 63.7237C145.061 63.4474 144.973 63.1343 144.967 62.8144C144.946 62.4351 144.782 62.0779 144.508 61.8151C144.194 61.5732 143.804 61.4525 143.408 61.4754C143.06 61.464 142.714 61.534 142.397 61.6797C142.081 61.8254 141.803 62.0428 141.585 62.3148C140.939 63.1538 140.613 64.1952 140.665 65.2526C140.643 66.4126 140.961 67.5537 141.58 68.5351C141.825 68.9714 142.183 69.3338 142.616 69.5843C143.05 69.8348 143.542 69.9642 144.043 69.9591C144.78 69.963 145.493 69.6923 146.041 69.1996C146.581 68.6659 146.996 68.0192 147.256 67.306L147.58 67.4509Z" fill="black"/>
<path d="M164.987 55.29V62.8894C165.558 62.1977 166.233 61.5978 166.986 61.1107C167.437 60.8606 167.944 60.7267 168.46 60.721C169.001 60.7158 169.529 60.8916 169.959 61.2206C170.429 61.6155 170.758 62.1518 170.898 62.7495C171.081 63.6213 171.155 64.5125 171.118 65.4025V69.0798C171.089 69.5351 171.142 69.9918 171.273 70.4288C171.35 70.6108 171.485 70.762 171.657 70.8585C171.973 70.9913 172.315 71.0462 172.657 71.0183V71.428H167.575V71.0183H167.81C168.158 71.0505 168.507 70.9737 168.809 70.7985C169.011 70.6323 169.152 70.4038 169.209 70.149C169.24 69.7935 169.252 69.4366 169.244 69.0798V65.4025C169.282 64.6534 169.221 63.9026 169.064 63.1692C168.972 62.8478 168.775 62.5664 168.505 62.3698C168.23 62.1859 167.905 62.0933 167.575 62.105C167.171 62.1114 166.774 62.2123 166.416 62.3998C165.873 62.7119 165.386 63.114 164.977 63.5889V69.0848C164.947 69.5313 164.988 69.9798 165.097 70.4138C165.194 70.6015 165.348 70.7537 165.537 70.8485C165.892 70.9917 166.275 71.0515 166.656 71.0233V71.433H161.515V71.0233C161.89 71.042 162.264 70.9682 162.604 70.8085C162.773 70.7133 162.902 70.5609 162.969 70.3788C163.084 69.9577 163.13 69.5206 163.104 69.0848V59.6668C163.126 58.9362 163.097 58.2051 163.019 57.4784C162.995 57.27 162.904 57.0751 162.759 56.9238C162.626 56.8189 162.459 56.7657 162.289 56.7739C162.024 56.7967 161.763 56.8572 161.515 56.9538L161.355 56.5591L164.468 55.29H164.987Z" fill="black"/>
<path d="M189.449 62.92C190.668 61.4544 191.834 60.7217 192.947 60.7217C193.467 60.7073 193.979 60.8557 194.411 61.1463C194.872 61.5013 195.212 61.9899 195.385 62.5453C195.583 63.2229 195.667 63.9286 195.635 64.6338V69.0705C195.607 69.5228 195.661 69.9764 195.795 70.4095C195.878 70.5964 196.02 70.7508 196.199 70.8491C196.516 70.9791 196.858 71.0338 197.199 71.009V71.4187H192.072V71.009H192.287C192.635 71.0402 192.984 70.9634 193.286 70.7892C193.491 70.6247 193.634 70.3957 193.691 70.1397C193.735 69.785 193.75 69.4275 193.736 69.0705V64.8186C193.784 64.1125 193.657 63.4056 193.366 62.7601C193.241 62.5463 193.058 62.3723 192.837 62.2582C192.617 62.1442 192.369 62.0947 192.122 62.1156C191.223 62.1156 190.329 62.6153 189.434 63.6145V69.1104C189.401 69.549 189.443 69.9901 189.559 70.4145C189.649 70.6235 189.803 70.7986 189.999 70.9141C190.361 71.0422 190.745 71.0933 191.128 71.064V71.4737H186.002V71.064H186.232C186.429 71.0888 186.629 71.0654 186.816 70.9958C187.002 70.9262 187.168 70.8124 187.301 70.6643C187.529 70.1852 187.624 69.6537 187.576 69.1254V65.2683C187.599 64.5079 187.572 63.7469 187.496 62.99C187.469 62.7801 187.376 62.5842 187.231 62.4304C187.096 62.3281 186.93 62.2767 186.761 62.2855C186.5 62.2955 186.243 62.3531 186.002 62.4554L185.832 62.0457L188.965 60.7766H189.464L189.449 62.92Z" fill="black"/>
<path d="M215.989 60.7212C216.718 60.699 217.441 60.8501 218.099 61.1619C218.757 61.4737 219.332 61.9374 219.777 62.5148C220.574 63.5052 221.003 64.7411 220.991 66.0122C220.978 66.991 220.75 67.955 220.321 68.8352C219.948 69.7034 219.325 70.441 218.531 70.9543C217.738 71.4676 216.809 71.7335 215.864 71.718C215.136 71.7387 214.414 71.5784 213.762 71.2514C213.111 70.9244 212.551 70.441 212.132 69.8444C211.363 68.8264 210.952 67.5828 210.963 66.307C210.971 65.3166 211.214 64.3422 211.673 63.4641C212.051 62.6376 212.659 61.9375 213.424 61.4475C214.19 60.9576 215.08 60.6985 215.989 60.7012V60.7212ZM215.64 61.4606C215.212 61.466 214.794 61.5887 214.431 61.8154C213.969 62.1122 213.618 62.553 213.431 63.0694C213.16 63.8061 213.033 64.588 213.057 65.3727C213.022 66.7323 213.333 68.0785 213.961 69.2848C214.56 70.384 215.355 70.9286 216.339 70.9286C216.692 70.9328 217.04 70.8529 217.355 70.6956C217.671 70.5384 217.944 70.3082 218.153 70.0243C218.627 69.4147 218.867 68.3805 218.867 66.9016C218.867 65.0563 218.469 63.604 217.673 62.5448C217.45 62.2098 217.148 61.9351 216.793 61.7451C216.438 61.5551 216.042 61.4557 215.64 61.4556V61.4606Z" fill="black"/>
<path d="M238.967 55.29V69.0698C238.939 69.506 238.986 69.9438 239.107 70.3638C239.194 70.5747 239.349 70.7505 239.547 70.8635C239.896 71.0003 240.272 71.0566 240.646 71.0283V71.438H235.55V71.0283C235.89 71.0556 236.231 71.006 236.549 70.8834C236.735 70.766 236.878 70.5904 236.954 70.3838C237.081 69.9614 237.131 69.5199 237.104 69.0798V59.6318C237.126 58.9097 237.099 58.1869 237.024 57.4684C237.002 57.2636 236.912 57.0719 236.769 56.9238C236.643 56.8199 236.482 56.7664 236.319 56.7739C236.061 56.7884 235.807 56.8494 235.57 56.9538L235.38 56.5591L238.478 55.29H238.967Z" fill="black"/>
<path d="M259.807 60.7212C260.535 60.6999 261.258 60.8513 261.916 61.163C262.574 61.4748 263.149 61.9381 263.594 62.5149C264.391 63.5052 264.82 64.7411 264.808 66.0123C264.796 66.9911 264.567 67.955 264.139 68.8352C263.765 69.7034 263.142 70.441 262.349 70.9543C261.555 71.4677 260.627 71.7335 259.682 71.718C258.953 71.7401 258.23 71.5803 257.579 71.2532C256.927 70.9261 256.367 70.442 255.95 69.8444C255.181 68.8265 254.77 67.5828 254.78 66.3071C254.788 65.3166 255.032 64.3422 255.49 63.4642C255.867 62.6369 256.475 61.9361 257.241 61.446C258.007 60.9558 258.898 60.6972 259.807 60.7012V60.7212ZM259.452 61.4607C259.026 61.4662 258.609 61.5889 258.248 61.8154C257.786 62.1123 257.435 62.553 257.249 63.0695C256.975 63.8055 256.848 64.5879 256.874 65.3727C256.839 66.7323 257.15 68.0785 257.778 69.2848C258.378 70.384 259.172 70.9286 260.151 70.9286C260.505 70.9332 260.854 70.8535 261.17 70.6963C261.486 70.539 261.761 70.3086 261.97 70.0243C262.445 69.4147 262.685 68.3805 262.685 66.9016C262.685 65.0563 262.287 63.6041 261.49 62.5448C261.266 62.2088 260.962 61.9334 260.606 61.7434C260.249 61.5533 259.851 61.4545 259.447 61.4557L259.452 61.4607Z" fill="black"/>
<path d="M281.985 67.6312C281.381 67.3504 280.872 66.8988 280.521 66.3321C280.187 65.7759 280.014 65.1375 280.022 64.4885C280.019 63.9886 280.12 63.4935 280.321 63.0356C280.522 62.5776 280.816 62.167 281.186 61.8305C281.587 61.4565 282.059 61.1659 282.574 60.9755C283.088 60.7851 283.636 60.6987 284.184 60.7213C285.096 60.6979 285.995 60.9504 286.762 61.4458H288.96C289.151 61.4363 289.341 61.4463 289.53 61.4757C289.578 61.4916 289.617 61.5257 289.64 61.5707C289.695 61.6838 289.719 61.8098 289.71 61.9354C289.718 62.0742 289.699 62.2133 289.655 62.3451C289.623 62.3851 289.582 62.4161 289.535 62.435C289.345 62.467 289.152 62.4788 288.96 62.47H287.611C288.095 63.1637 288.31 64.009 288.218 64.8495C288.127 65.69 287.733 66.4687 287.112 67.0416C286.283 67.7591 285.209 68.128 284.114 68.0708C283.581 68.0683 283.052 67.9926 282.54 67.846C282.272 68.0556 282.044 68.311 281.865 68.6004C281.762 68.7662 281.702 68.9551 281.691 69.15C281.693 69.2221 281.71 69.293 281.742 69.3577C281.774 69.4223 281.819 69.4793 281.875 69.5248C282.089 69.678 282.342 69.7681 282.605 69.7846C282.82 69.8145 283.349 69.8395 284.194 69.8645C285.753 69.9045 286.762 69.9544 287.221 70.0244C287.856 70.0882 288.45 70.3627 288.91 70.8038C289.116 71.0092 289.278 71.2541 289.386 71.5237C289.494 71.7934 289.546 72.0822 289.54 72.3726C289.52 72.8354 289.402 73.2888 289.195 73.7029C288.987 74.1171 288.694 74.4827 288.336 74.7759C287.072 75.9092 285.415 76.5028 283.719 76.4296C282.415 76.4696 281.128 76.1218 280.022 75.4304C279.452 75.0507 279.167 74.6609 279.167 74.2512C279.17 74.0623 279.214 73.8764 279.297 73.7067C279.515 73.288 279.78 72.8957 280.087 72.5375C280.142 72.4676 280.526 72.0379 281.246 71.3134C280.939 71.145 280.658 70.9329 280.412 70.6839C280.255 70.5117 280.167 70.2873 280.167 70.0544C280.19 69.7212 280.302 69.4003 280.492 69.1251C280.916 68.5586 281.419 68.0555 281.985 67.6312ZM281.87 71.4184C281.559 71.7435 281.289 72.106 281.066 72.4976C280.897 72.7755 280.803 73.092 280.791 73.4169C280.807 73.6194 280.876 73.8141 280.992 73.9809C281.108 74.1478 281.266 74.2807 281.451 74.3662C282.459 74.8951 283.592 75.1386 284.728 75.0706C286.087 75.0706 287.097 74.8308 287.726 74.3512C287.998 74.1896 288.227 73.9659 288.396 73.6984C288.564 73.4309 288.667 73.1272 288.695 72.8123C288.701 72.6288 288.648 72.4484 288.544 72.2973C288.439 72.1463 288.289 72.0326 288.116 71.9729C287.358 71.7547 286.571 71.6552 285.783 71.6782C284.475 71.6609 283.169 71.5742 281.87 71.4184ZM283.959 61.2659C283.689 61.2635 283.421 61.3225 283.177 61.4385C282.933 61.5544 282.719 61.7244 282.55 61.9354C282.128 62.5331 281.928 63.2595 281.985 63.9889C281.924 64.9748 282.195 65.9529 282.755 66.7668C282.927 67.0025 283.152 67.1935 283.413 67.3239C283.674 67.4543 283.962 67.5203 284.254 67.5163C284.523 67.5228 284.79 67.4682 285.035 67.3566C285.28 67.2449 285.496 67.0791 285.668 66.8717C286.089 66.2815 286.287 65.5609 286.227 64.8382C286.288 63.8361 286.012 62.8424 285.443 62.0153C285.274 61.7799 285.051 61.5888 284.793 61.4583C284.535 61.3278 284.248 61.2618 283.959 61.2659Z" fill="black"/>
<path d="M307.272 60.7212V69.07C307.244 69.5078 307.291 69.9472 307.412 70.369C307.492 70.5778 307.639 70.7537 307.831 70.8686C308.147 70.9993 308.49 71.054 308.831 71.0285V71.4382H303.784V71.0285C304.124 71.0512 304.464 71.0018 304.784 70.8836C304.974 70.7679 305.12 70.5921 305.198 70.384C305.33 69.9626 305.383 69.5205 305.353 69.08V65.0829C305.376 64.3519 305.341 63.6201 305.248 62.8946C305.222 62.7063 305.136 62.5314 305.003 62.3949C304.867 62.2963 304.702 62.2469 304.534 62.255C304.269 62.2654 304.009 62.3229 303.764 62.4249L303.604 62.0152L306.737 60.7462L307.272 60.7212ZM306.327 55.2902C306.479 55.2882 306.628 55.3164 306.768 55.3731C306.908 55.4299 307.036 55.514 307.143 55.6206C307.25 55.7271 307.334 55.854 307.392 55.9938C307.449 56.1335 307.478 56.2833 307.477 56.4344C307.478 56.5856 307.449 56.7355 307.392 56.8754C307.334 57.0152 307.249 57.1422 307.142 57.2488C306.98 57.4095 306.775 57.5189 306.552 57.5631C306.328 57.6074 306.097 57.5845 305.886 57.4974C305.676 57.4104 305.496 57.263 305.369 57.0738C305.242 56.8846 305.174 56.6621 305.173 56.4344C305.172 56.2829 305.201 56.1327 305.259 55.9926C305.316 55.8525 305.401 55.7254 305.509 55.6187C305.617 55.5121 305.744 55.4281 305.885 55.3717C306.026 55.3152 306.176 55.2875 306.327 55.2902Z" fill="black"/>
<path d="M324.759 64.9529C324.673 66.2584 325.072 67.5496 325.878 68.5802C326.195 68.9862 326.599 69.3156 327.061 69.5439C327.523 69.7722 328.031 69.8937 328.546 69.8992C329.185 69.9115 329.81 69.7131 330.324 69.3346C330.917 68.8238 331.355 68.1575 331.588 67.4111L331.938 67.6409C331.768 68.6999 331.286 69.6843 330.554 70.4688C330.199 70.8798 329.757 71.2074 329.26 71.4285C328.764 71.6495 328.225 71.7586 327.681 71.7478C327.074 71.7507 326.473 71.6217 325.92 71.3698C325.367 71.1179 324.875 70.7492 324.479 70.2889C323.548 69.2009 323.07 67.7969 323.145 66.3668C323.145 64.5931 323.599 63.2042 324.514 62.2099C324.943 61.7257 325.472 61.3408 326.065 61.0819C326.657 60.8231 327.3 60.6965 327.946 60.711C328.478 60.6937 329.007 60.7868 329.501 60.9846C329.994 61.1825 330.442 61.4806 330.814 61.8602C331.198 62.273 331.495 62.7584 331.688 63.2878C331.881 63.8173 331.966 64.38 331.938 64.9429L324.759 64.9529ZM324.759 64.2934H329.565C329.563 63.8141 329.484 63.3384 329.33 62.8844C329.152 62.4761 328.859 62.1288 328.486 61.8852C328.139 61.651 327.73 61.5242 327.312 61.5204C326.996 61.523 326.683 61.5888 326.393 61.7141C326.103 61.8394 325.841 62.0216 325.623 62.2499C325.1 62.8022 324.794 63.5239 324.759 64.2834V64.2934Z" fill="black"/>
<path d="M352.913 60.7215V64.2589H352.538C352.387 63.4142 352.002 62.6286 351.429 61.9906C350.953 61.5828 350.341 61.3689 349.715 61.391C349.25 61.3692 348.793 61.5185 348.431 61.8107C348.283 61.9183 348.162 62.0576 348.075 62.2185C347.989 62.3793 347.94 62.5576 347.931 62.74C347.922 63.1345 348.051 63.5197 348.296 63.8292C348.694 64.2619 349.182 64.6029 349.725 64.8284L351.384 65.6328C352.919 66.3823 353.685 67.3682 353.682 68.5906C353.696 69.0292 353.606 69.4648 353.42 69.8623C353.235 70.2598 352.958 70.6081 352.613 70.8789C351.941 71.4429 351.092 71.7509 350.215 71.7483C349.477 71.7321 348.744 71.6178 348.036 71.4086C347.838 71.3395 347.631 71.3007 347.422 71.2936C347.332 71.2965 347.246 71.3261 347.174 71.3787C347.102 71.4312 347.047 71.5043 347.017 71.5884H346.642V67.8762H347.017C347.149 68.7843 347.573 69.6247 348.226 70.2694C348.765 70.7836 349.48 71.0731 350.225 71.0788C350.694 71.0977 351.153 70.9328 351.504 70.6191C351.662 70.4809 351.788 70.3103 351.874 70.1189C351.96 69.9275 352.004 69.7199 352.003 69.51C352.008 69.2643 351.962 69.0203 351.866 68.7938C351.77 68.5674 351.628 68.3637 351.449 68.1959C350.782 67.6487 350.044 67.1949 349.255 66.8469C348.444 66.4971 347.712 65.9873 347.102 65.3481C346.752 64.8774 346.575 64.3002 346.602 63.7143C346.592 63.3155 346.664 62.9189 346.816 62.5498C346.967 62.1808 347.194 61.8473 347.482 61.5709C347.783 61.2811 348.139 61.0552 348.53 60.9067C348.921 60.7581 349.337 60.6901 349.755 60.7065C350.264 60.7205 350.769 60.808 351.254 60.9663C351.504 61.0529 351.764 61.1099 352.028 61.1362C352.128 61.1433 352.227 61.115 352.308 61.0562C352.412 60.9582 352.494 60.8389 352.548 60.7065L352.913 60.7215Z" fill="black"/>
<path d="M359.183 8.9948V2.82439H356.885V2H362.421V2.82439H360.107V8.9948H359.183Z" fill="#231F20"/>
<path d="M363.34 8.9948V2H364.729L366.383 6.94133C366.532 7.40598 366.642 7.74573 366.712 7.97556C366.792 7.72075 366.917 7.35102 367.087 6.85639L368.756 2H370V8.9948H369.111V3.13915L367.082 8.9948H366.228L364.229 3.03923V8.9948H363.34Z" fill="#231F20"/>
</g>
<line x1="418.5" y1="91" x2="418.5" y2="1" stroke="#E7E7E7"/>
<path d="M689.289 19.2031C682.98 19.2031 676.812 21.0739 671.567 24.579C666.321 28.084 662.233 33.0658 659.818 38.8945C657.404 44.7232 656.772 51.1369 658.003 57.3245C659.234 63.5122 662.272 69.1959 666.733 73.657C671.194 78.1181 676.878 81.1561 683.065 82.3869C689.253 83.6177 695.667 82.986 701.495 80.5717C707.324 78.1574 712.306 74.0689 715.811 68.8232C719.316 63.5776 721.187 57.4104 721.187 51.1015C721.187 42.6415 717.826 34.528 711.844 28.5459C705.862 22.5638 697.748 19.2031 689.289 19.2031ZM689.289 70.2405C685.503 70.2405 681.803 69.118 678.655 67.015C675.508 64.912 673.055 61.9228 671.606 58.4256C670.158 54.9285 669.779 51.0802 670.517 47.3676C671.256 43.655 673.079 40.2448 675.755 37.5681C678.432 34.8915 681.842 33.0687 685.555 32.3302C689.267 31.5917 693.115 31.9707 696.613 33.4193C700.11 34.8679 703.099 37.321 705.202 40.4684C707.305 43.6158 708.428 47.3161 708.428 51.1015C708.428 56.1774 706.411 61.0455 702.822 64.6348C699.233 68.2241 694.364 70.2405 689.289 70.2405Z" fill="#8F8F8F"/>
<path d="M622.492 19.2031C616.183 19.2031 610.016 21.0739 604.77 24.579C599.524 28.084 595.436 33.0658 593.021 38.8945C590.607 44.7232 589.975 51.1369 591.206 57.3245C592.437 63.5122 595.475 69.1959 599.936 73.657C604.397 78.1181 610.081 81.1561 616.269 82.3869C622.456 83.6177 628.87 82.986 634.699 80.5717C640.527 78.1574 645.509 74.0689 649.014 68.8232C652.519 63.5776 654.39 57.4104 654.39 51.1015C654.39 46.9125 653.565 42.7646 651.962 38.8945C650.359 35.0244 648.009 31.508 645.047 28.5459C642.085 25.5839 638.569 23.2343 634.699 21.6312C630.829 20.0282 626.681 19.2031 622.492 19.2031ZM622.492 70.2405C618.706 70.2405 615.006 69.118 611.859 67.015C608.711 64.912 606.258 61.9228 604.809 58.4256C603.361 54.9285 602.982 51.0802 603.72 47.3676C604.459 43.655 606.282 40.2448 608.958 37.5681C611.635 34.8915 615.045 33.0687 618.758 32.3302C622.47 31.5917 626.319 31.9707 629.816 33.4193C633.313 34.8679 636.302 37.321 638.405 40.4684C640.508 43.6158 641.631 47.3161 641.631 51.1015C641.631 56.1774 639.614 61.0455 636.025 64.6348C632.436 68.2241 627.568 70.2405 622.492 70.2405Z" fill="#8F8F8F"/>
<path d="M488.898 19.2031C482.589 19.2031 476.422 21.0739 471.177 24.579C465.931 28.084 461.842 33.0658 459.428 38.8945C457.014 44.7232 456.382 51.1369 457.613 57.3245C458.844 63.5122 461.882 69.1959 466.343 73.657C470.804 78.1181 476.488 81.1561 482.675 82.3869C488.863 83.6177 495.277 82.986 501.105 80.5717C506.934 78.1574 511.916 74.0689 515.421 68.8232C518.926 63.5776 520.797 57.4104 520.797 51.1015C520.797 42.6415 517.436 34.528 511.454 28.5459C505.472 22.5638 497.358 19.2031 488.898 19.2031ZM488.898 70.2405C485.113 70.2405 481.413 69.118 478.265 67.015C475.118 64.912 472.665 61.9228 471.216 58.4256C469.768 54.9285 469.389 51.0802 470.127 47.3676C470.866 43.655 472.688 40.2448 475.365 37.5681C478.042 34.8915 481.452 33.0687 485.165 32.3302C488.877 31.5917 492.725 31.9707 496.223 33.4193C499.72 34.8679 502.709 37.321 504.812 40.4684C506.915 43.6158 508.037 47.3161 508.037 51.1015C508.037 56.1774 506.021 61.0455 502.432 64.6348C498.842 68.2241 493.974 70.2405 488.898 70.2405Z" fill="#714B67"/>
<path d="M581.214 0C579.522 0 577.899 0.672142 576.703 1.86856C575.506 3.06498 574.834 4.68768 574.834 6.37967V25.5187C569.088 21.2089 562.055 18.9648 554.874 19.1496C547.694 19.3345 540.786 21.9375 535.269 26.5372C529.752 31.137 525.949 37.4642 524.475 44.4944C523.002 51.5247 523.944 58.8465 527.15 65.2743C530.356 71.7022 535.638 76.8599 542.14 79.9123C548.642 82.9648 555.984 83.7333 562.977 82.0934C569.971 80.4536 576.206 76.5014 580.673 70.8767C585.141 65.252 587.579 58.2842 587.594 51.1012V6.37967C587.594 4.68768 586.921 3.06498 585.725 1.86856C584.529 0.672142 582.906 0 581.214 0ZM555.695 70.1764C551.91 70.1764 548.21 69.0539 545.062 66.9509C541.915 64.8479 539.462 61.8588 538.013 58.3616C536.564 54.8644 536.185 51.0161 536.924 47.3035C537.662 43.5909 539.485 40.1807 542.162 37.504C544.839 34.8274 548.249 33.0046 551.961 32.2661C555.674 31.5276 559.522 31.9066 563.019 33.3552C566.517 34.8038 569.506 37.2569 571.609 40.4043C573.712 43.5517 574.834 47.252 574.834 51.0374C574.834 56.1134 572.818 60.9814 569.229 64.5707C565.639 68.16 560.771 70.1764 555.695 70.1764Z" fill="#8F8F8F"/>
<defs>
<clipPath id="clip0_76_492">
<rect width="370" height="74.4297" fill="white" transform="translate(0 2)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 36 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/capture (1).png

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/check.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/chevron.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

BIN
website_sale_variant_selection/static/description/assets/icons/cogs.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/consultation.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/ecom-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

BIN
website_sale_variant_selection/static/description/assets/icons/education-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 733 B

10
website_sale_variant_selection/static/description/assets/icons/feature-icon.svg

@ -0,0 +1,10 @@
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_63_485)">
<path d="M201.497 512C199.505 512 197.489 511.602 195.563 510.771C192.299 509.363 189.641 506.842 188.063 503.657C186.485 500.473 186.089 496.831 186.946 493.381L237.67 289.204H101.001C98.5637 289.204 96.1635 288.61 94.0076 287.474C91.8517 286.338 90.005 284.694 88.6274 282.684C87.2497 280.674 86.3825 278.358 86.1008 275.938C85.8191 273.517 86.1314 271.065 87.0106 268.792L187.272 9.58896C188.364 6.76572 190.285 4.33889 192.781 2.62746C195.278 0.916019 198.234 7.05455e-05 201.261 0L339.222 0C344.291 0 349.017 2.55999 351.787 6.80597C353.149 8.89601 353.969 11.2929 354.172 13.7797C354.375 16.2665 353.954 18.7646 352.949 21.0479L293.58 155.807H410.999C413.693 155.807 416.336 156.533 418.652 157.907C420.969 159.281 422.872 161.253 424.163 163.617C425.454 165.98 426.085 168.648 425.99 171.34C425.894 174.031 425.076 176.647 423.62 178.913L214.125 505.104C212.767 507.22 210.898 508.96 208.692 510.165C206.485 511.37 204.011 512.001 201.497 512Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_63_485">
<rect width="512" height="512" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

10
website_sale_variant_selection/static/description/assets/icons/gear.svg

@ -0,0 +1,10 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_48_635)">
<path d="M15.5549 16.005L18.4799 17.685L20.7299 13.785L17.8199 12.105C17.9399 11.58 17.9999 11.04 17.9999 10.485C17.9999 9.93 17.9249 9.39 17.8199 8.865L20.7299 7.185L18.4799 3.285L15.5549 4.965C14.7599 4.23 13.7999 3.69 12.7499 3.36V0H8.24991V3.39C7.19991 3.72 6.23991 4.275 5.44491 4.995L2.51991 3.315L0.284912 7.215L3.19491 8.895C3.07491 9.42 3.01491 9.96 3.01491 10.515C3.01491 11.07 3.08991 11.61 3.19491 12.135L0.284912 13.785L2.53491 17.685L5.45991 16.005C6.25491 16.74 7.21491 17.28 8.26491 17.61V21H12.7649V17.61C13.8149 17.28 14.7749 16.725 15.5699 16.005H15.5549ZM10.4999 7.5C12.1499 7.5 13.4999 8.85 13.4999 10.5C13.4999 12.15 12.1499 13.5 10.4999 13.5C8.84991 13.5 7.49991 12.15 7.49991 10.5C7.49991 8.85 8.84991 7.5 10.4999 7.5ZM32.9999 25.5C32.9999 24.945 32.9249 24.405 32.8199 23.88L35.7299 22.2L33.4799 18.3L30.5549 19.98C29.7599 19.245 28.7999 18.705 27.7499 18.375V14.985H23.2499V18.375C22.1999 18.705 21.2399 19.26 20.4449 19.98L17.5199 18.3L15.2699 22.2L18.1799 23.88C18.0599 24.405 17.9999 24.945 17.9999 25.5C17.9999 26.055 18.0749 26.595 18.1799 27.12L15.2699 28.8L17.5199 32.7L20.4449 31.02C21.2399 31.755 22.1999 32.295 23.2499 32.625V36.015H27.7499V32.625C28.7999 32.295 29.7599 31.74 30.5549 31.02L33.4799 32.7L35.7299 28.8L32.8199 27.12C32.9399 26.595 32.9999 26.055 32.9999 25.5ZM25.4999 28.5C23.8499 28.5 22.4999 27.15 22.4999 25.5C22.4999 23.85 23.8499 22.5 25.4999 22.5C27.1499 22.5 28.4999 23.85 28.4999 25.5C28.4999 27.15 27.1499 28.5 25.4999 28.5Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_48_635">
<rect width="36" height="36" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

12
website_sale_variant_selection/static/description/assets/icons/hire-odoo.svg

@ -0,0 +1,12 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_63_514)">
<path d="M35.5528 30.1866L35.4888 30.1001C34.1698 28.5729 32.5491 27.4542 30.9818 26.3735C30.342 25.932 29.205 25.2204 28.4006 24.648C30.2674 22.0121 31.2673 18.8605 31.2616 15.6305C31.2616 6.9982 24.2634 0 15.6305 0C6.9975 0 0 6.9982 0 15.6305C0 24.2627 6.9982 31.2616 15.6305 31.2616C18.8564 31.2665 22.0042 30.2687 24.6382 28.4062C25.2113 29.2099 25.9221 30.3448 26.3644 30.9846C27.4479 32.5547 28.568 34.1719 30.0938 35.4895L30.1802 35.5528C30.6668 35.8503 31.2271 36.0052 31.7974 36C32.6595 35.9973 33.49 35.6752 34.1283 35.0958L35.0719 34.1543L35.0944 34.1311C36.0991 33.0314 36.2918 31.3727 35.5528 30.1866ZM15.6305 27.1835C12.9572 27.1838 10.3666 26.2572 8.29999 24.5615C6.23339 22.8658 4.81869 20.5059 4.29696 17.8841C3.77523 15.2623 4.17875 12.5406 5.43876 10.183C6.69877 7.82531 8.7373 5.97748 11.207 4.95436C13.6767 3.93123 16.4248 3.79611 18.9829 4.57203C21.5411 5.34794 23.7511 6.98687 25.2363 9.20956C26.7215 11.4323 27.3901 14.1012 27.128 16.7615C26.866 19.4219 25.6897 21.9091 23.7994 23.7994C22.7292 24.8756 21.4561 25.7288 20.0539 26.3097C18.6517 26.8906 17.1482 27.1876 15.6305 27.1835Z" fill="white"/>
<path d="M15.6304 17.0723C18.1642 17.0723 20.2183 15.0182 20.2183 12.4844C20.2183 9.95055 18.1642 7.89648 15.6304 7.89648C13.0965 7.89648 11.0425 9.95055 11.0425 12.4844C11.0425 15.0182 13.0965 17.0723 15.6304 17.0723Z" fill="white"/>
<path d="M23.1884 20.8558C23.1196 20.2123 22.8316 19.6121 22.3728 19.1557C21.9122 18.694 21.3081 18.4029 20.66 18.3302C19.7115 18.2296 17.3553 18.1748 15.8879 18.1748C14.4205 18.1748 11.5327 18.2296 10.5835 18.3302C9.93556 18.4029 9.33159 18.6938 8.87069 19.155C8.4121 19.6114 8.12438 20.2117 8.05577 20.8551V20.8748C8.03327 21.0928 8.01991 21.2819 8.01147 21.4436C8.27125 21.7834 8.55311 22.1056 8.85522 22.4083C10.6527 24.2055 13.0905 25.2152 15.6323 25.2152C18.1741 25.2152 20.6119 24.2055 22.4094 22.4083C22.7068 22.1104 22.9846 21.7935 23.2412 21.4598C23.2306 21.2946 23.2151 21.1005 23.1919 20.8755L23.1884 20.8558Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_63_514">
<rect width="36" height="36" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/hotel-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 B

BIN
website_sale_variant_selection/static/description/assets/icons/img.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/license.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

13
website_sale_variant_selection/static/description/assets/icons/life-ring-icon.svg

@ -0,0 +1,13 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_32_1689)">
<path d="M10.4999 17.9999C10.5002 16.5303 10.9349 15.0936 11.7494 13.8704L4.26741 6.38843C1.51255 9.63015 0 13.7458 0 17.9999C0 22.2541 1.51255 26.3697 4.26741 29.6114L11.7494 22.1294C10.9349 20.9062 10.5002 19.4695 10.4999 17.9999Z" fill="white"/>
<path d="M31.7325 6.38843L24.2505 13.8704C25.0652 15.0935 25.4999 16.5303 25.4999 17.9999C25.4999 19.4695 25.0652 20.9063 24.2505 22.1294L31.7325 29.6114C34.4873 26.3697 35.9999 22.2541 35.9999 17.9999C35.9999 13.7458 34.4873 9.63015 31.7325 6.38843Z" fill="white"/>
<path d="M17.9999 25.5C16.5303 25.4997 15.0936 25.065 13.8704 24.2505L6.38843 31.7325C9.63015 34.4873 13.7458 35.9999 17.9999 35.9999C22.2541 35.9999 26.3697 34.4873 29.6114 31.7325L22.1294 24.2505C20.9062 25.065 19.4695 25.4997 17.9999 25.5Z" fill="white"/>
<path d="M17.9999 10.4999C19.4695 10.5002 20.9062 10.9349 22.1294 11.7494L29.6114 4.26741C26.3697 1.51255 22.2541 0 17.9999 0C13.7458 0 9.63015 1.51255 6.38843 4.26741L13.8704 11.7494C15.0936 10.9349 16.5303 10.5002 17.9999 10.4999Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_32_1689">
<rect width="36" height="36" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/lifebuoy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

3
website_sale_variant_selection/static/description/assets/icons/mail.svg

@ -0,0 +1,3 @@
<svg width="20" height="18" viewBox="0 0 20 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 0.75H19C19.2652 0.75 19.5196 0.846577 19.7071 1.01849C19.8946 1.19039 20 1.42355 20 1.66667V16.3333C20 16.5764 19.8946 16.8096 19.7071 16.9815C19.5196 17.1534 19.2652 17.25 19 17.25H1C0.734784 17.25 0.48043 17.1534 0.292893 16.9815C0.105357 16.8096 0 16.5764 0 16.3333V1.66667C0 1.42355 0.105357 1.19039 0.292893 1.01849C0.48043 0.846577 0.734784 0.75 1 0.75ZM18 4.63483L10.072 11.1432L2 4.61467V15.4167H18V4.63483ZM2.511 2.58333L10.061 8.69017L17.502 2.58333H2.511Z" fill="#7F54B3"/>
</svg>

After

Width:  |  Height:  |  Size: 600 B

BIN
website_sale_variant_selection/static/description/assets/icons/manufacturing-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

4
website_sale_variant_selection/static/description/assets/icons/odoo-consultancy.svg

@ -0,0 +1,4 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M30.3242 28.2889C29.5991 26.131 26.7094 24.7803 24.6491 23.8749C23.842 23.5214 21.6075 22.9216 21.3389 21.9053C21.2428 21.5392 21.2558 21.194 21.3346 20.8631C21.2104 20.8869 21.0844 20.9009 20.9541 20.9009H19.6117C18.5399 20.9009 17.6691 20.029 17.6691 18.958C17.6691 17.8877 18.5403 17.0176 19.6117 17.0176H20.9541C21.3976 17.0176 21.8181 17.1677 22.1572 17.4356C22.6544 17.3693 23.1339 17.2631 23.581 17.1238C24.1682 15.8937 24.6261 14.4227 24.7287 13.1566C25.1668 7.73933 21.8458 4.56989 17.0841 5.11781C13.622 5.51633 11.5538 8.09789 11.3302 11.4214C11.1041 14.809 12.3602 17.311 13.6943 19.1463C14.2786 19.9487 14.8924 20.4646 14.7981 21.4316C14.6887 22.5749 13.4661 22.8935 12.5917 23.2449C11.5556 23.6611 10.4396 24.2925 9.91254 24.5845C8.09706 25.5871 6.10446 26.7945 5.65662 28.4462C4.66482 32.1067 8.01426 33.2155 10.7794 33.7274C13.1525 34.1651 15.8284 34.1997 18.0295 34.1997C22.0107 34.1997 29.1697 34.0402 30.3242 31.0475C30.6525 30.1983 30.5117 28.8451 30.3242 28.2889Z" fill="white"/>
<path d="M21.8037 18.4113C21.6215 18.1337 21.3101 17.9494 20.9548 17.9494H19.6124C19.0522 17.9494 18.6004 18.4019 18.6004 18.9592C18.6004 19.5186 19.0522 19.9719 19.6124 19.9719H20.9548C21.3468 19.9719 21.6795 19.7483 21.8472 19.425C23.7189 19.2778 25.3468 18.7061 26.4894 17.8619C26.7519 18.0311 27.0622 18.1301 27.397 18.1301H27.4812C28.4144 18.1301 29.1689 17.3748 29.1689 16.4406V13.0682C29.1689 12.3964 28.7751 11.8168 28.207 11.5475C27.9593 6.13204 23.4762 1.7998 17.9999 1.7998C12.5236 1.7998 8.03981 6.13204 7.79321 11.5475C7.22405 11.8172 6.83057 12.3964 6.83057 13.0682V16.4406C6.83057 17.3748 7.58585 18.1301 8.51681 18.1301H8.60213C9.53381 18.1301 10.2894 17.3748 10.2894 16.4406V13.0682C10.2894 12.4061 9.90677 11.8352 9.35057 11.559C9.59141 6.99604 13.3779 3.35896 17.9999 3.35896C22.6202 3.35896 26.4084 6.99604 26.6482 11.559C26.0927 11.8355 25.7104 12.4061 25.7104 13.0682V16.4406C25.7104 16.6646 25.754 16.873 25.8306 17.0678C24.8471 17.7716 23.4154 18.273 21.8037 18.4113Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

3
website_sale_variant_selection/static/description/assets/icons/odoo-licencing.svg

@ -0,0 +1,3 @@
<svg width="36" height="35" viewBox="0 0 36 35" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.5 4.40625C5.84315 4.40625 4.5 5.67087 4.5 7.23081V27.0027C4.5 28.5627 5.84315 29.8273 7.5 29.8273H28.5C30.1569 29.8273 31.5 28.5627 31.5 27.0027V7.23081C31.5 5.67087 30.1569 4.40625 28.5 4.40625H7.5ZM12 18.5291C12 17.749 11.3284 17.1168 10.5 17.1168C9.67157 17.1168 9 17.749 9 18.5291V24.1782C9 24.9582 9.67157 25.5905 10.5 25.5905C11.3284 25.5905 12 24.9582 12 24.1782V18.5291ZM18 12.8799C18.8284 12.8799 19.5 13.5122 19.5 14.2922V24.1782C19.5 24.9582 18.8284 25.5905 18 25.5905C17.1716 25.5905 16.5 24.9582 16.5 24.1782V14.2922C16.5 13.5122 17.1716 12.8799 18 12.8799ZM27 10.0554C27 9.27536 26.3284 8.64309 25.5 8.64309C24.6716 8.64309 24 9.27536 24 10.0554V24.1782C24 24.9582 24.6716 25.5905 25.5 25.5905C26.3284 25.5905 27 24.9582 27 24.1782V10.0554Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 926 B

9
website_sale_variant_selection/static/description/assets/icons/patter.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/photo-capture.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/pos-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

10
website_sale_variant_selection/static/description/assets/icons/puzzle-piece-icon.svg

@ -0,0 +1,10 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="puzzle-piece 1" clip-path="url(#clip0_226_336)">
<path id="Vector" d="M30 15.75C28.9888 15.7847 27.9837 15.9214 27 16.158V13.5C27 12.3065 26.5259 11.1619 25.682 10.318C24.8381 9.47411 23.6935 9 22.5 9H19.092C19.3296 8.01646 19.4663 7.01126 19.5 6C19.5 4.4087 18.8679 2.88258 17.7426 1.75736C16.6174 0.632141 15.0913 0 13.5 0C11.9087 0 10.3826 0.632141 9.25736 1.75736C8.13214 2.88258 7.5 4.4087 7.5 6C7.53374 7.01126 7.67045 8.01646 7.908 9H4.5C3.30653 9 2.16193 9.47411 1.31802 10.318C0.474106 11.1619 0 12.3065 0 13.5L0 36H9.804L9.45 34.5C9.19694 33.5182 9.04614 32.5128 9 31.5C9 30.3065 9.47411 29.1619 10.318 28.318C11.1619 27.4741 12.3065 27 13.5 27C14.6935 27 15.8381 27.4741 16.682 28.318C17.5259 29.1619 18 30.3065 18 31.5C17.9539 32.5128 17.8031 33.5182 17.55 34.5L17.1945 36H27V27.342C27.9837 27.5786 28.9888 27.7153 30 27.75C31.5913 27.75 33.1174 27.1179 34.2426 25.9926C35.3679 24.8674 36 23.3413 36 21.75C36 20.1587 35.3679 18.6326 34.2426 17.5074C33.1174 16.3821 31.5913 15.75 30 15.75Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_226_336">
<rect width="36" height="36" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/puzzle.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

BIN
website_sale_variant_selection/static/description/assets/icons/restaurant-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 905 B

BIN
website_sale_variant_selection/static/description/assets/icons/service-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

10
website_sale_variant_selection/static/description/assets/icons/skype-fill.svg

@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_15_1650)">
<path d="M13.31 20.4002C11.9877 20.6067 10.6353 20.4981 9.36293 20.0832C8.09054 19.6683 6.9341 18.9588 5.98776 18.0124C5.04141 17.0661 4.3319 15.9096 3.91698 14.6372C3.50206 13.3648 3.39345 12.0125 3.6 10.6902C3.07874 9.69867 2.88826 8.56644 3.05641 7.45897C3.22457 6.3515 3.74254 5.32684 4.53461 4.53477C5.32669 3.74269 6.35135 3.22472 7.45882 3.05657C8.56629 2.88841 9.69851 3.07889 10.69 3.60016C12.0123 3.39361 13.3647 3.50221 14.6371 3.91713C15.9095 4.33205 17.0659 5.04156 18.0123 5.98791C18.9586 6.93425 19.6681 8.09069 20.083 9.36308C20.498 10.6355 20.6066 11.9879 20.4 13.3102C20.9213 14.3016 21.1117 15.4339 20.9436 16.5413C20.7754 17.6488 20.2575 18.6735 19.4654 19.4655C18.6733 20.2576 17.6487 20.7756 16.5412 20.9437C15.4337 21.1119 14.3015 20.9214 13.31 20.4002ZM12.052 17.1562H12.012C14.884 17.1562 16.315 15.7702 16.315 13.9132C16.315 12.7152 15.764 11.4422 13.589 10.9552L11.606 10.5152C10.851 10.3432 9.984 10.1152 9.984 9.40016C9.984 8.68516 10.604 8.18716 11.708 8.18716C13.938 8.18716 13.735 9.71516 14.839 9.71516C15.415 9.71516 15.932 9.37316 15.932 8.78516C15.932 7.41516 13.735 6.38516 11.876 6.38516C9.85501 6.38516 7.703 7.24416 7.703 9.52916C7.703 10.6272 8.097 11.7992 10.263 12.3422L12.952 13.0132C13.768 13.2152 13.97 13.6722 13.97 14.0852C13.97 14.7722 13.286 15.4432 12.052 15.4432C9.635 15.4432 9.97401 13.5862 8.67801 13.5862C8.09801 13.5862 7.675 13.9842 7.675 14.5572C7.675 15.6712 9.027 17.1552 12.052 17.1552V17.1562Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_15_1650">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/trading-black.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

BIN
website_sale_variant_selection/static/description/assets/icons/training.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

BIN
website_sale_variant_selection/static/description/assets/icons/update.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
website_sale_variant_selection/static/description/assets/icons/user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

14
website_sale_variant_selection/static/description/assets/icons/whatsapp.svg

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23.98 24">
<defs>
<style>
.cls-1 {
fill: #fff;
}
</style>
</defs>
<g id="Layer_1-2" data-name="Layer 1">
<path class="cls-1" d="m20.43,3.49C18.18,1.24,15.18,0,11.99,0c-3.18,0-6.19,1.24-8.46,3.48C1.26,5.73,0,8.72,0,11.89h0c0,1.92.5,3.86,1.46,5.62L.03,24l6.56-1.49c1.66.84,3.52,1.28,5.39,1.28h0c3.18,0,6.19-1.24,8.46-3.48,2.28-2.25,3.53-5.24,3.53-8.41,0-3.15-1.26-6.14-3.54-8.41Zm-8.45,18.43h0c-1.68,0-3.34-.42-4.81-1.22l-.31-.17-4.36.99.95-4.31-.18-.32c-.91-1.57-1.39-3.3-1.39-5,0-5.52,4.54-10.02,10.11-10.02,2.69,0,5.22,1.04,7.12,2.94,1.93,1.92,2.99,4.44,2.99,7.09,0,5.52-4.54,10.02-10.12,10.02Z"/>
<path class="cls-1" d="m8.73,6.65h-.53c-.18,0-.48.07-.73.34-.25.27-.96.93-.96,2.28s.98,2.64,1.12,2.83c.14.18,1.9,3.03,4.68,4.13,2.32.91,2.79.73,3.29.68.5-.05,1.62-.66,1.85-1.3s.23-1.19.16-1.3c-.07-.11-.25-.18-.53-.32-.27-.14-1.62-.81-1.87-.9-.25-.09-.43-.14-.62.14-.18.27-.72.91-.88,1.09-.16.18-.32.21-.59.07-.27-.14-1.15-.43-2.2-1.36-.82-.72-1.38-1.65-1.54-1.92-.16-.27-.02-.42.12-.56.12-.12.29-.29.43-.45.14-.16.18-.27.27-.46.09-.18.05-.34-.02-.48-.07-.14-.59-1.49-.84-2.03h0c-.21-.46-.42-.47-.62-.48Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

10
website_sale_variant_selection/static/description/assets/icons/wrench-icon.svg

@ -0,0 +1,10 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_48_827)">
<path d="M34.5195 5.66404L27.6225 12.561C26.451 13.7325 24.552 13.7325 23.3805 12.561C22.209 11.3895 22.209 9.49054 23.3805 8.31904L30.258 1.43854L29.82 1.21654C28.227 0.408035 26.52 -0.00146484 24.7485 -0.00146484C18.5445 -0.00146484 13.4985 5.04454 13.4985 11.2485C13.4985 12.687 13.7655 14.0775 14.295 15.399L1.37699 28.3185C-0.375012 30.0735 -0.375012 32.9265 1.37699 34.6815C2.25449 35.559 3.40649 35.997 4.55849 35.997C5.71049 35.997 6.86399 35.559 7.74149 34.6815L20.688 21.735C21.9855 22.2435 23.3475 22.5 24.75 22.5C30.954 22.5 36 17.454 36 11.25C36 9.43804 35.5755 7.70104 34.7385 6.08704L34.5195 5.66404Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_48_827">
<rect width="36" height="36" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 875 B

BIN
website_sale_variant_selection/static/description/assets/icons/wrench.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
website_sale_variant_selection/static/description/assets/misc/Cybrosys R.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

33
website_sale_variant_selection/static/description/assets/misc/email.svg

@ -0,0 +1,33 @@
<svg width="80" height="81" viewBox="0 0 80 81" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="3116889_design_email_material_communication_mail_icon 1" clip-path="url(#clip0_81_366)">
<g id="layer1">
<path id="rect3851" d="M74.6067 0.730957H5.5424C2.75742 0.730957 0.499756 3.01685 0.499756 5.83664V75.7642C0.499756 78.584 2.75742 80.8699 5.5424 80.8699H74.6067C77.3916 80.8699 79.6493 78.584 79.6493 75.7642V5.83664C79.6493 3.01685 77.3916 0.730957 74.6067 0.730957Z" fill="#DB534B"/>
<g id="Clip path group">
<mask id="mask0_81_366" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="1" y="5" width="78" height="76">
<g id="clipPath4206">
<path id="rect4208" d="M73.6244 5.2915H6.62595C3.92428 5.2915 1.73413 7.4473 1.73413 10.1066V76.0546C1.73413 78.7139 3.92428 80.8697 6.62595 80.8697H73.6244C76.3261 80.8697 78.5162 78.7139 78.5162 76.0546V10.1066C78.5162 7.4473 76.3261 5.2915 73.6244 5.2915Z" fill="white"/>
</g>
</mask>
<g mask="url(#mask0_81_366)">
<g id="g4145" opacity="0.489612">
<g id="g4147">
<path id="path4149" d="M65.8115 41.5171C65.8115 54.9863 54.4292 65.9053 40.3884 65.9053L198.828 221.861C212.869 221.861 224.251 210.942 224.251 197.472L65.8115 41.5171Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4151" d="M40.3884 65.9051C33.2495 65.9051 26.7979 63.0825 22.1802 58.5371L180.62 214.492C185.237 219.038 191.689 221.86 198.828 221.86L40.3884 65.9051Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4153" d="M22.1802 58.5373C17.7157 54.1428 14.9653 48.1381 14.9653 41.5171L173.405 197.472C173.405 204.093 176.155 210.098 180.62 214.493L22.1802 58.5373Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4155" d="M14.9653 41.5171C14.9653 28.0479 26.3476 17.1289 40.3884 17.1289L198.828 173.084C184.787 173.084 173.405 184.003 173.405 197.472L14.9653 41.5171Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4157" d="M40.3884 17.1289C47.5273 17.1289 53.9789 19.9516 58.5966 24.4969L217.036 180.452C212.418 175.907 205.967 173.084 198.828 173.084L40.3884 17.1289Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4159" d="M58.5964 24.4971C63.0609 28.8916 65.8113 34.8963 65.8113 41.5173L224.251 197.473C224.251 190.852 221.5 184.847 217.036 180.452L58.5964 24.4971Z" fill="black" fill-opacity="0.0588235"/>
</g>
<path id="path4111" d="M65.8114 41.5171C65.8114 54.9863 54.4291 65.9053 40.3884 65.9053C26.3476 65.9053 14.9653 54.9863 14.9653 41.5171C14.9653 28.0479 26.3476 17.1289 40.3884 17.1289C54.4291 17.1289 65.8114 28.0479 65.8114 41.5171Z" fill="black" fill-opacity="0.0588235"/>
</g>
</g>
</g>
<path id="path3864" d="M17.506 17.5386H62.9018C64.4068 17.5386 65.8501 18.1439 66.9143 19.2214C67.9784 20.2988 68.5763 21.7602 68.5763 23.284V57.7564C68.5763 58.5109 68.4295 59.258 68.1443 59.9551C67.8592 60.6521 67.4412 61.2855 66.9143 61.819C66.3873 62.3525 65.7618 62.7757 65.0733 63.0645C64.3849 63.3532 63.647 63.5018 62.9018 63.5018H17.506C14.3567 63.5018 11.8315 60.9164 11.8315 57.7564V23.284C11.8315 20.0953 14.3567 17.5386 17.506 17.5386ZM40.2039 37.6475L62.9018 23.284H17.506L40.2039 37.6475ZM17.506 57.7564H62.9018V30.0923L40.2039 44.4271L17.506 30.0923V57.7564Z" fill="white"/>
</g>
</g>
<defs>
<clipPath id="clip0_81_366">
<rect width="80" height="81" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

3
website_sale_variant_selection/static/description/assets/misc/phone.svg

@ -0,0 +1,3 @@
<svg width="36" height="44" viewBox="0 0 36 44" fill="none" xmlns="http://www.w3.org/2000/svg">
<path id="Vector" d="M7.25 19.3903C10.13 26.0689 14.76 31.5322 20.43 34.9305L24.83 29.7268C25.38 29.0778 26.17 28.889 26.86 29.1486C29.1 30.0218 31.51 30.4938 34 30.4938C35.11 30.4938 36 31.544 36 32.8537V41.1135C36 42.4233 35.11 43.4734 34 43.4734C15.22 43.4734 0 25.5143 0 3.35456C0 2.0448 0.9 0.994629 2 0.994629H9C10.11 0.994629 11 2.0448 11 3.35456C11 6.29268 11.4 9.1364 12.14 11.7795C12.36 12.5937 12.2 13.5259 11.65 14.1749L7.25 19.3903Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 565 B

9
website_sale_variant_selection/static/description/assets/misc/star (1) 2.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

9
website_sale_variant_selection/static/description/assets/misc/support (1) 1.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 43 KiB

6
website_sale_variant_selection/static/description/assets/misc/support-email.svg

@ -0,0 +1,6 @@
<svg width="49" height="37" viewBox="0 0 49 37" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Group">
<path id="Vector" d="M2.23798 3.59132C3.53363 4.39742 21.5313 15.9748 22.2027 16.3917C22.8741 16.8087 23.5573 17.0032 24.6173 17.0032C25.6774 17.0032 26.3606 16.8087 27.0319 16.3917C27.7033 15.9748 45.701 4.39742 46.9967 3.59132C47.4796 3.29945 48.2923 2.77131 48.469 2.17368C48.7753 1.11741 48.4455 0.714355 47.138 0.714355H24.6173H2.09664C0.789214 0.714355 0.459412 1.13131 0.765656 2.17368C0.942335 2.78521 1.75506 3.29945 2.23798 3.59132Z" fill="white"/>
<path id="Vector_2" d="M48.0214 4.21664C47.0555 4.80037 38.3865 12.0831 32.6503 16.4611L42.3323 29.3171C42.5679 29.5951 42.6739 29.9286 42.5443 30.0954C42.403 30.2483 42.0967 30.1649 41.8494 29.9008L30.2357 18.3374C28.4807 19.6716 27.2439 20.5889 27.0319 20.7279C26.1249 21.2699 25.4889 21.3394 24.6173 21.3394C23.7457 21.3394 23.1096 21.2699 22.2027 20.7279C21.9789 20.5889 20.7539 19.6716 18.9989 18.3374L7.38519 29.9008C7.14961 30.1788 6.83159 30.2622 6.69025 30.0954C6.54891 29.9425 6.65491 29.5951 6.89048 29.3171L16.5607 16.4611C10.8245 12.0831 2.06126 4.80037 1.09541 4.21664C0.0588929 3.59121 0 4.32783 0 4.89766C0 5.46749 0 33.3893 0 33.3893C0 34.6819 1.61367 36.2941 2.76797 36.2941H24.6173H46.4666C47.6209 36.2941 48.999 34.668 48.999 33.3893C48.999 33.3893 48.999 5.4536 48.999 4.89766C48.999 4.31393 49.0697 3.59121 48.0214 4.21664Z" fill="white"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

17
website_sale_variant_selection/static/description/assets/misc/tick-mark.svg

@ -0,0 +1,17 @@
<svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect width="52" height="52" fill="#F5F5F5"/>
<g clip-path="url(#clip0_0_1)">
<rect width="1440" height="7504" transform="translate(-107 -1660)" fill="white"/>
<rect x="-45" y="-203" width="1305" height="937" rx="19" fill="#FFF5FC"/>
<rect width="52" height="52" fill="url(#pattern0)"/>
</g>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0_0_1" transform="scale(0.00387597)"/>
</pattern>
<clipPath id="clip0_0_1">
<rect width="1440" height="7504" fill="white" transform="translate(-107 -1660)"/>
</clipPath>
<image id="image0_0_1" width="258" height="258" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQIAAAECCAYAAAAVT9lQAAAACXBIWXMAAAsTAAALEwEAmpwYAAAJJ0lEQVR4nO3dYZXjNhQGUDEohEAohEAohEAYCIawEAxhIQRCIQTCQmhX202bTWcmcWzpSda953y/J9JYL5EsyykBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1/f49f37PXwXztVprgMXeUtkCkDNXaw2wyOF7zql8EXir1SBgmTw4v6XyReBUq0HA835L/8zVSxeAXGSOldoELPBHqvMrIP+N3yu1CXhS/hXwJZUvAIoANKrGbcFr8t/5rU6zgGfVWhBUBKBBtRYEFQFoVJ4KXJIiAMOqsUNQEYBG1Z4K/PXz7ykC0IjaU4GcuUrLgKecUt0CoAhAQ/JP8jwgFQEY1CHV2yCkCECDaj0rcJ8/azQOeGxK9QvAtQi4OwDBIm4NKgLQkJoPDCkC0KCo9QBFABpRe6uwIgANidofcM23pAhAqDwAo9YDrkXAyUIQKA/AqPUARQAacEqxRSBHEYBAkYuC15yKtxL40JwUARhWXhQ8p/gi4DVkEOSQYu8MXDOXbijwvug7A4oABIvcLnwbuwYhyCnFFwBFAALVet/go+RfI4fCbQXekefi0QXgWgRsGILKWrk9eM0fZZsL3It+cOg+p7LNBe5Fnib0XuayzQXutbJHQBGAIK0VAbcJobI8B2+pCDhhCCrLRSB64N8XAbcJoaLWikCO24RQ0ZTiB/19PFIMFc0pftDfZy7aYuAXLRYBLyeFilosApfkDgFU02IRcIcAKmnt4aHbuEMAFbT28NBtpoLtBn5quQh8Ldhu4KeWi4BnCKCClouAo8aggpaLQM6xXNOBrPUiYPswFNZ6EZjLNR3IWi8CFgehsNaLgMVBKKz1IpBj5yAU1EMRmIq1HuiiCNg5CAX1UAQuyeIgFNNDEfBYMRTUQxHIOZXqAKDd8wRuMxdrPdDkyUL3ceYgFNRDEbBpCArqoQjk2DQEhfRSBKZSHQCj+5LiB/gzOZfqABjdKcUP8GfibcVQSC9FIOdYqA9gaD0VgalQH8DQ8rdr9OB+NudCfQBDy/vy83w7eoA/E+sCUEBPRSDnWKYbYFz5m7WnIjCV6QYYVy9PEl5zLtMNMK7eioB1ASggf7tGD+4lOZbpBhjXnOIH9pJ8KdMNMK5enh+4xvkCsLFTih/YS+J8AdhYb0Ugx/kCsKG8YSh6UC/NXKQnaFb+h+d5oJ+AZfS2azDHy0oHk4vA9Z+fL9ZT7MfZnTyYLil+YC+N9xEM5LYI3Ca/osq3wXq9bRi65q1EZ9Cmj4rANflb7Bj26fYhF9ToQb003lM4kEdF4DZT0Gfs3ZI+biW2EA/klQvUQuIy+ad19KB+JccSnUF71nxLWUh8Tu6j6AH9SmwhHsSaInAbC4kf6/E2YY4txIPYqghcc0l+Rt47pD6LgFeXD2LrInCbqWI7WtbrbcIctwoHULIIXGMhsb9zBa5xq3AANYrANSMvJNbs563/Z9Z6di7q4hxtITEXv+gB/Wo8Vbhz0d9QlzTGQmJuY/RgfjVuFe5cdBG4zVS4rZF6vU2Yc0lj/WobTktF4Jo9LiT2fIcgx63CnWv14tzbQuI5xffpq5kK9AeNaf3n6h4WEucU34+vxu7BgZxS/AX3WS6p34XE1vv2sziAdEA9PAM/FWt9Gbl4RffZmtg9OKBejsbqZSExf8aWp1yPct6+S+hFLyfmtr6Q2PsdArsH6epwjFYXEucU3zdrYvcgP/SwXnDNJbW1kNhTIX0vHijiX72sF9xmKtITy+SCFN0Pa2JKwP/0eFFHLiTmv9vz4mDOcfNeYRemFH9xLk3EQmLvi4M5HijiU+cUf5G+kpoLiXOlNpXKJZkS8EC+QHr9yZsv8OP2XfKL3hcHc0r3ETuRL5Toi3VNpu275Ife+yXHlIBF8gUTfdGuydYLiT3/UrrtE1MCFut9QWzLhcTe+yLHGQO85JD6/xbMWbuQ2Puvo5xpRfvhx/bT6It4i1zSa4tke2i/MwbYxJziL+atMi1o9yHt4xeRKQGb2MMGmts8s5C4lzZPD9oJi/TyyPKzebSQODfwGdfGlIAi9rCZ5j7vLSTuYV0gx5SAYnp6ZPnZXNJ/C4mHtI91gend/x5sZA8baz4bPHtYFzAloIpjir/Y5eOYElDNlOIvePl/ps/+aVDCHn5G7ymmBIQ4pP2uF/QYUwLCnFL8ABBTAhowp/iBMHIuyePFNKDHU5D3lOPjfxHUsbctyL3EiUM0Z0rxA2OkXJIpAY06p/gBMkqOT/5PoLpDckuxRkwJaN5ent5rNV5VRjf2cM5fq/H2YrqxlxN+Wou3F9MdtxS3jSkB3drjqUZROS3se2jKOcUPot5zXtzr0JhDcktxTb6lbV/fBmHcUnw90wv9Dc2aU/yg6i0OG2F3PKW4PA4bYZfcUnw+04t9DF3IF3j0IGs9l2TPAAOw6/DzHF/vWujHIbml+FHmFf0K3Tml+EHXWmwjZkh7fJfimpzWdSf0ac/vUlya88q+hK4dU/wgjI5txJAcZDKt70Lo38gHmdhGDDdG3XV43KLzYE/yT+TogVkzTiOGD5xT/ACtEXsG4BOHNMYtRacRwwN7P+vwvF1Xwb7tedfhYcN+gl3b667DactOghHs7azDy7bdA+OYU/wA3irHjfsGhrGXsw7nrTsGRpO/SaMH8prYMwAb6fnBpLcC/QFD6nWK4KEi2FiPDyZ5NwEUMKX4wf1sPFQEBfVwdoEFQiishynCqVjrgX+1PEU4F2w3cKfVKcKhZKOBX7U4RZiKthh4V0tThEuyQAhhWpkiOHUIArUwRTgXbyXwUPQU4VC+icAzoqYIU43GAc+JmCJckgVCaE7tKYIFQmhUrSnCuVaDgOVqTREOtRoEvKb0FGGq1xRgjVJTBAuE0JFSU4RTzUYA6209RbBACB3a+tBTZxBCp45pmyLgDELo3Nr3IjiDEHZg7RTBAiHsxKtvV/aSEtiZr2l5ITiGfFKgmDxFyPP9Z4vAHPMxgdLyS0mfXSA8BH1GoIK8MehRIZjCPh1QxaPtx5e4jwbUlL/xPyoEDhyBQXy0t+Ac+aGA+t7bW+B5AhjQ7d4CzxPAoPItwm/J8wQwvLxw+Bb9IQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4DV/A/Mf3+pWEmbtAAAAAElFTkSuQmCC"/>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

9
website_sale_variant_selection/static/description/assets/misc/whatsapp 1.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 38 KiB

33
website_sale_variant_selection/static/description/assets/misc/whatsapp.svg

@ -0,0 +1,33 @@
<svg width="80" height="80" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="3116884_whatsapp_square_chat_design_message_icon 1" clip-path="url(#clip0_81_382)">
<g id="layer1">
<path id="rect3851" d="M74.6066 0.72168H5.5424C2.75742 0.72168 0.499756 2.97935 0.499756 5.76433V74.8286C0.499756 77.6135 2.75742 79.8712 5.5424 79.8712H74.6066C77.3916 79.8712 79.6492 77.6135 79.6492 74.8286V5.76433C79.6492 2.97935 77.3916 0.72168 74.6066 0.72168Z" fill="#39BB59"/>
<g id="Clip path group">
<mask id="mask0_81_382" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="6" y="9" width="75" height="72">
<g id="clipPath4206">
<path id="rect4208" d="M75.7716 9.01709H11.1629C8.55758 9.01709 6.44556 11.0471 6.44556 13.5512V75.6502C6.44556 78.1543 8.55758 80.1843 11.1629 80.1843H75.7716C78.3769 80.1843 80.4889 78.1543 80.4889 75.6502V13.5512C80.4889 11.0471 78.3769 9.01709 75.7716 9.01709Z" fill="white"/>
</g>
</mask>
<g mask="url(#mask0_81_382)">
<g id="g4145" opacity="0.489612">
<g id="g4147">
<path id="path4149" d="M68.2374 43.1284C68.2374 55.8115 57.2611 66.0932 43.7212 66.0932L196.51 212.946C210.049 212.946 221.026 202.665 221.026 189.982L68.2374 43.1284Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4151" d="M43.7211 66.0932C36.8369 66.0932 30.6154 63.4353 26.1624 59.1553L178.951 206.008C183.404 210.289 189.625 212.946 196.51 212.946L43.7211 66.0932Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4153" d="M26.1623 59.1553C21.8571 55.0173 19.2048 49.363 19.2048 43.1284L171.993 189.982C171.993 196.216 174.645 201.87 178.951 206.008L26.1623 59.1553Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4155" d="M19.2048 43.1284C19.2048 30.4453 30.1811 20.1636 43.7211 20.1636L196.509 167.017C182.969 167.017 171.993 177.299 171.993 189.982L19.2048 43.1284Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4157" d="M43.7212 20.1636C50.6054 20.1636 56.8269 22.8215 61.2799 27.1015L214.068 173.955C209.615 169.675 203.394 167.017 196.51 167.017L43.7212 20.1636Z" fill="black" fill-opacity="0.0588235"/>
<path id="path4159" d="M61.2798 27.1016C65.585 31.2396 68.2373 36.8939 68.2373 43.1284L221.026 189.982C221.026 183.747 218.373 178.093 214.068 173.955L61.2798 27.1016Z" fill="black" fill-opacity="0.0588235"/>
</g>
<path id="path4111" d="M68.2373 43.1284C68.2373 55.8115 57.261 66.0932 43.7211 66.0932C30.1811 66.0932 19.2048 55.8115 19.2048 43.1284C19.2048 30.4453 30.1811 20.1636 43.7211 20.1636C57.261 20.1636 68.2373 30.4453 68.2373 43.1284Z" fill="black" fill-opacity="0.0588235"/>
</g>
</g>
</g>
<path id="path4074" d="M51.3896 43.6875C51.9673 43.9879 52.337 44.1497 52.4526 44.3808C52.5912 44.635 52.545 45.7904 51.9673 47.1076C51.5051 48.4017 49.1018 49.6496 48.0388 49.6958C46.9758 49.7421 46.9527 50.5277 41.1985 48.0089C35.4444 45.49 31.9781 39.3431 31.7008 38.9502C31.4235 38.5574 29.4823 35.7612 29.5748 32.9188C29.6903 30.0995 31.1693 28.7592 31.7701 28.2046C32.3247 27.6037 32.9487 27.5344 33.3415 27.6037H34.4276C34.7743 27.6037 35.2596 27.4651 35.6986 28.6437L37.2931 32.965C37.4318 33.2654 37.5242 33.6121 37.3163 33.9818L36.6923 34.9293L35.7911 35.8998C35.5138 36.1771 35.1902 36.4776 35.5138 37.0553C35.7911 37.6561 36.9465 39.5741 38.5641 41.1687C40.667 43.2022 42.5158 43.8724 43.0704 44.1728C43.625 44.4963 43.9716 44.4501 44.3182 44.0804L46.1901 41.9081C46.6291 41.3304 46.9989 41.4691 47.5304 41.6539L51.3896 43.6875ZM40.4128 16.0493C46.5417 16.0493 52.4195 18.484 56.7533 22.8178C61.0871 27.1515 63.5217 33.0293 63.5217 39.1582C63.5217 45.287 61.0871 51.1649 56.7533 55.4986C52.4195 59.8324 46.5417 62.2671 40.4128 62.2671C35.8604 62.2671 31.6315 60.9498 28.0496 58.6852L17.304 62.2671L20.8858 51.5214C18.6212 47.9396 17.304 43.7106 17.304 39.1582C17.304 33.0293 19.7386 27.1515 24.0724 22.8178C28.4061 18.484 34.284 16.0493 40.4128 16.0493ZM40.4128 20.6711C35.5098 20.6711 30.8075 22.6188 27.3405 26.0858C23.8735 29.5528 21.9257 34.2551 21.9257 39.1582C21.9257 43.1329 23.1736 46.8072 25.2996 49.8114L23.0812 56.4898L29.7596 54.2714C32.7638 56.3974 36.4381 57.6453 40.4128 57.6453C45.3159 57.6453 50.0182 55.6975 53.4852 52.2305C56.9522 48.7635 58.9 44.0613 58.9 39.1582C58.9 34.2551 56.9522 29.5528 53.4852 26.0858C50.0182 22.6188 45.3159 20.6711 40.4128 20.6711Z" fill="white"/>
</g>
</g>
<defs>
<clipPath id="clip0_81_382">
<rect width="80" height="80" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
website_sale_variant_selection/static/description/assets/modules/1.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 912 KiB

BIN
website_sale_variant_selection/static/description/assets/modules/1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 KiB

BIN
website_sale_variant_selection/static/description/assets/modules/2.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
website_sale_variant_selection/static/description/assets/modules/2.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

BIN
website_sale_variant_selection/static/description/assets/modules/3.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 760 KiB

BIN
website_sale_variant_selection/static/description/assets/modules/3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
website_sale_variant_selection/static/description/assets/modules/4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

BIN
website_sale_variant_selection/static/description/assets/modules/5.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 KiB

BIN
website_sale_variant_selection/static/description/assets/modules/5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
website_sale_variant_selection/static/description/assets/modules/6.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
website_sale_variant_selection/static/description/assets/modules/6.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
website_sale_variant_selection/static/description/assets/screenshots/all_attr.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

BIN
website_sale_variant_selection/static/description/assets/screenshots/first_attr.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

BIN
website_sale_variant_selection/static/description/assets/screenshots/hero.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

BIN
website_sale_variant_selection/static/description/assets/screenshots/img1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

BIN
website_sale_variant_selection/static/description/assets/screenshots/img2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

BIN
website_sale_variant_selection/static/description/assets/screenshots/img3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

BIN
website_sale_variant_selection/static/description/assets/screenshots/img4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

BIN
website_sale_variant_selection/static/description/assets/screenshots/second_attr.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

BIN
website_sale_variant_selection/static/description/assets/screenshots/third_attr.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

BIN
website_sale_variant_selection/static/description/banner.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 KiB

BIN
website_sale_variant_selection/static/description/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

1048
website_sale_variant_selection/static/description/index.html

File diff suppressed because it is too large

135
website_sale_variant_selection/static/src/js/variant_mixin.js

@ -0,0 +1,135 @@
/** @odoo-module */
import publicWidget from '@web/legacy/js/public/public_widget';
publicWidget.registry.AttributeSelection = publicWidget.Widget.extend({
selector: '.attr_container',
events: {
'change .js_variant_change': '_onVariantChange',
'click .js_variant_change': '_onVariantChange'
},
start() {
this._setupInitialState();
return this._super(...arguments);
},
/**
* Sets up initial state and handles hidden attributes
* @private
*/
_setupInitialState() {
const variants = Array.from(this.el.querySelectorAll('li.variant_attribute'));
// Handle hidden attributes first
variants.filter(variant => variant.classList.contains('d-none'))
.forEach(hiddenVariant => {
// Auto-select values for hidden attributes
hiddenVariant.querySelectorAll('input[type="radio"], select option').forEach(input => {
if (input.tagName === 'OPTION') {
input.selected = true;
} else {
input.checked = true;
}
});
});
// Handle visible variants
const visibleVariants = variants.filter(v => !v.classList.contains('d-none'));
// Disable all visible variants except the first one
visibleVariants.forEach((variant, index) => {
index === 0 ? this._enableVariant(variant) : this._disableVariant(variant);
});
},
/**
* Handles variant selection changes
* @private
* @param {Event} ev
*/
_onVariantChange(ev) {
const input = ev.target;
if (!input.classList.contains('js_variant_change')) {
return;
}
const currentVariant = input.closest('li.variant_attribute');
if (!currentVariant) {
return;
}
this._updateHighlight(input);
// Find and enable next visible variant
const nextVariant = this._getNextVisibleVariant(currentVariant);
if (nextVariant) {
this._enableVariant(nextVariant);
} else {
// If last variant, enable all for editing
this.el.querySelectorAll('li.variant_attribute:not(.d-none)')
.forEach(variant => this._enableVariant(variant));
}
ev.stopPropagation();
},
/**
* Finds the next visible variant
* @private
* @param {Element} currentVariant
* @returns {Element|null}
*/
_getNextVisibleVariant(currentVariant) {
let next = currentVariant.nextElementSibling;
while (next && next.classList.contains('d-none')) {
next = next.nextElementSibling;
}
return next;
},
/**
* Updates highlight state for selected variant
* @private
* @param {Element} input
*/
_updateHighlight(input) {
const container = input.closest('li.variant_attribute');
if (input.closest('.css_attribute_color')) {
container.querySelectorAll('.css_attribute_color').forEach(el => {
el.classList.toggle('active', el === input.closest('.css_attribute_color'));
});
} else if (input.type === 'radio') {
container.querySelectorAll('label').forEach(label => {
label.classList.toggle('active', label === input.closest('label'));
});
}
},
/**
* Enables a variant
* @private
* @param {Element} variant
*/
_enableVariant(variant) {
variant.classList.remove('disabled');
variant.querySelectorAll('input, select').forEach(input => {
input.disabled = false;
if (input.checked || input.selected) {
this._updateHighlight(input);
}
});
},
/**
* Disables a variant
* @private
* @param {Element} variant
*/
_disableVariant(variant) {
variant.classList.add('disabled');
variant.querySelectorAll('input, select').forEach(input => {
input.disabled = true;
});
}
});

5
website_sale_variant_selection/static/src/scss/website_sale_attribute_selection.scss

@ -0,0 +1,5 @@
.disabled {
opacity: 0.36;
z-index: 100;
pointer-events: none;
}

131
website_sale_variant_selection/views/variant_templates.xml

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Custom Template to Extend the Base Variants Template -->
<template id="website_sale.variants">
<div class="attr_container">
<t t-set="attribute_exclusions"
t-value="product._get_attribute_exclusions(parent_combination, parent_name)"/>
<ul t-attf-class="list-unstyled js_add_cart_variants mb-0 #{ul_class}"
t-att-data-attribute_exclusions="json.dumps(attribute_exclusions)">
<t t-foreach="product.valid_product_template_attribute_line_ids" t-as="ptal">
<!-- Attributes selection is hidden if there is only one value available and it's not a custom value -->
<li t-att-data-attribute_id="ptal.attribute_id.id"
t-att-data-ptal_index="ptal_index"
t-att-data-attribute_name="ptal.attribute_id.name"
t-att-data-attribute_display_type="ptal.attribute_id.display_type"
t-attf-class="variant_attribute disabled #{'d-none' if len(ptal.product_template_value_ids._only_active()) == 1 and not ptal.product_template_value_ids._only_active()[0].is_custom else ''}">
<!-- Used to customize layout if the only available attribute value is custom -->
<t t-set="single" t-value="len(ptal.product_template_value_ids._only_active()) == 1"/>
<t t-set="single_and_custom"
t-value="single and ptal.product_template_value_ids._only_active()[0].is_custom"/>
<strong t-field="ptal.attribute_id.name" class="attribute_name"/>
<t t-if="ptal.attribute_id.display_type == 'select'">
<select
t-att-data-attribute_id="ptal.attribute_id.id"
t-attf-class="form-select css_attribute_select o_wsale_product_attribute js_variant_change #{ptal.attribute_id.create_variant} #{'d-none' if single_and_custom else ''}"
t-att-name="'ptal-%s' % ptal.id">
<t t-foreach="ptal.product_template_value_ids._only_active()" t-as="ptav">
<option t-att-value="ptav.id"
t-att-data-value_id="ptav.id"
t-att-data-value_name="ptav.name"
t-att-data-attribute_name="ptav.attribute_id.name"
t-att-data-is_custom="ptav.is_custom"
t-att-data-is_single="single"
t-att-data-is_single_and_custom="single_and_custom">
<span t-field="ptav.name"/>
<t t-call="website_sale.badge_extra_price"/>
</option>
</t>
</select>
</t>
<t t-if="ptal.attribute_id.display_type == 'radio'">
<ul t-att-data-attribute_id="ptal.attribute_id.id"
t-attf-class="list-inline list-unstyled o_wsale_product_attribute #{'d-none' if single_and_custom else ''}">
<t t-foreach="ptal.product_template_value_ids._only_active()" t-as="ptav">
<li class="list-inline-item mb-3 js_attribute_value" style="margin: 0;">
<label class="col-form-label">
<div class="form-check">
<input type="radio"
t-attf-class="form-check-input js_variant_change #{ptal.attribute_id.create_variant}"
t-att-name="'ptal-%s' % ptal.id"
t-att-value="ptav.id"
t-att-data-value_id="ptav.id"
t-att-data-value_name="ptav.name"
t-att-data-attribute_name="ptav.attribute_id.name"
t-att-data-is_custom="ptav.is_custom"
t-att-data-is_single="single"
t-att-data-is_single_and_custom="single_and_custom"
t-att-data-checked="ptav in combination"/>
<div class="radio_input_value form-check-label">
<span t-field="ptav.name"/>
<t t-call="website_sale.badge_extra_price"/>
</div>
</div>
</label>
</li>
</t>
</ul>
</t>
<t t-if="ptal.attribute_id.display_type == 'pills'">
<ul t-att-data-attribute_id="ptal.attribute_id.id"
t-attf-class="btn-group-toggle list-inline list-unstyled o_wsale_product_attribute #{'d-none' if single_and_custom else ''}"
data-bs-toggle="buttons">
<t t-foreach="ptal.product_template_value_ids._only_active()" t-as="ptav">
<li t-attf-class="o_variant_pills btn btn-primary mb-1 list-inline-item js_attribute_value">
<input type="radio"
t-attf-class="js_variant_change #{ptal.attribute_id.create_variant}"
t-att-name="'ptal-%s' % ptal.id"
t-att-value="ptav.id"
t-att-data-value_id="ptav.id"
t-att-id="ptav.id"
t-att-data-value_name="ptav.name"
t-att-data-attribute_name="ptav.attribute_id.name"
t-att-data-is_custom="ptav.is_custom"
t-att-data-is_single_and_custom="single_and_custom"
t-att-autocomplete="off"/>
<div class="radio_input_value o_variant_pills_input_value">
<span t-field="ptav.name"/>
<t t-call="website_sale.badge_extra_price"/>
</div>
</li>
</t>
</ul>
</t>
<t t-if="ptal.attribute_id.display_type == 'color'">
<ul t-att-data-attribute_id="ptal.attribute_id.id"
t-attf-class="list-inline o_wsale_product_attribute #{'d-none' if single_and_custom else ''}">
<t t-foreach="ptal.product_template_value_ids._only_active()" t-as="ptav">
<li class="list-inline-item me-1">
<label t-attf-style="background-color:#{ptav.html_color or ptav.product_attribute_value_id.name if not ptav.is_custom else ''}"
t-attf-class="css_attribute_color #{'custom_value' if ptav.is_custom else ''} #{'transparent' if (not ptav.is_custom and not ptav.html_color) else ''}">
<input type="radio"
t-attf-class="js_variant_change #{ptal.attribute_id.create_variant}"
t-att-name="'ptal-%s' % ptal.id"
t-att-value="ptav.id"
t-att-title="ptav.name"
t-att-data-value_id="ptav.id"
t-att-data-value_name="ptav.name"
t-att-data-attribute_name="ptav.attribute_id.name"
t-att-data-is_custom="ptav.is_custom"
t-att-data-is_single="single"
t-att-data-is_single_and_custom="single_and_custom"/>
</label>
</li>
</t>
</ul>
</t>
</li>
</t>
</ul>
</div>
</template>
<template id="badge_extra_price" name="Badge Extra Price">
<t t-set="combination_info_variant" t-value="product._get_combination_info(ptav, pricelist=pricelist)"/>
<span class="badge rounded-pill text-bg-light border" t-if="combination_info_variant['price_extra']">
<span class="sign_badge_price_extra" t-out="combination_info_variant['price_extra'] > 0 and '+' or '-'"/>
<span t-out="abs(combination_info_variant['price_extra'])" class="variant_price_extra text-muted fst-italic"
style="white-space: nowrap;"
t-options='{"widget": "monetary", "display_currency": (pricelist or product).currency_id}'/>
</span>
</template>
</odoo>
Loading…
Cancel
Save