@scbt-ecom/ui 0.155.0 → 0.156.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/lib/exports/widget.js +1 -1
  2. package/dist/lib/next/utils/hasWidget.js.map +1 -1
  3. package/dist/lib/next/utils/hideWidgetsWithQueryParams.js.map +1 -1
  4. package/dist/lib/next/utils/isEmptyWidgetList.js.map +1 -1
  5. package/dist/lib/next/utils/orderWidgetWithQueryParams.js.map +1 -1
  6. package/dist/lib/shared/hooks/useObserverWidgets.js.map +1 -1
  7. package/dist/lib/shared/ui/button/model/helpers.js.map +1 -1
  8. package/dist/lib/shared/ui/calendar/Calendar.js +1 -1
  9. package/dist/lib/shared/ui/calendar/Calendar.js.map +1 -1
  10. package/dist/lib/shared/ui/calendar/ui/MonthCaption.js +1 -1
  11. package/dist/lib/shared/ui/calendar/ui/MonthCaption.js.map +1 -1
  12. package/dist/lib/shared/ui/calendar/ui/Weekday.js.map +1 -1
  13. package/dist/lib/shared/ui/calendar/ui/model/utils.js.map +1 -1
  14. package/dist/lib/shared/ui/calendar/ui/selectDate/SelectDate.js +1 -1
  15. package/dist/lib/shared/ui/calendar/ui/selectDate/SelectDate.js.map +1 -1
  16. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js +1 -1
  17. package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js.map +1 -1
  18. package/dist/lib/shared/ui/carousel/model/constant.js.map +1 -1
  19. package/dist/lib/shared/ui/carousel/ui/RenderSlides.js.map +1 -1
  20. package/dist/lib/shared/ui/carouselBase/model/helpers.js.map +1 -1
  21. package/dist/lib/shared/ui/carouselBase/model/hooks/useArrowNavigation.js.map +1 -1
  22. package/dist/lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js +1 -1
  23. package/dist/lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js.map +1 -1
  24. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js.map +1 -1
  25. package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js.map +1 -1
  26. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
  27. package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js +1 -1
  28. package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js.map +1 -1
  29. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Toolbar.js +1 -1
  30. package/dist/lib/shared/ui/formElements/controlled/editor/ui/Toolbar.js.map +1 -1
  31. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js +1 -1
  32. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetHeadings.js +1 -1
  33. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js +1 -1
  34. package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js.map +1 -1
  35. package/dist/lib/shared/ui/formElements/controlled/index.js +1 -1
  36. package/dist/lib/shared/ui/formElements/controlled/index.js.map +1 -1
  37. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/FieldAttachment.js.map +1 -1
  38. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/IconSlot.js.map +1 -1
  39. package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js.map +1 -1
  40. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
  41. package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js.map +1 -1
  42. package/dist/lib/shared/ui/formElements/uncontrolled/index.js +1 -1
  43. package/dist/lib/shared/ui/formElements/uncontrolled/index.js.map +1 -1
  44. package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/useCurrencyControl.js.map +1 -1
  45. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js.map +1 -1
  46. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.js.map +1 -1
  47. package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemTab.js.map +1 -1
  48. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js.map +1 -1
  49. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js +1 -1
  50. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js.map +1 -1
  51. package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderInput.js.map +1 -1
  52. package/dist/lib/shared/ui/icon/allowedIcons.js +1 -1
  53. package/dist/lib/shared/ui/icon/allowedIcons.js.map +1 -1
  54. package/dist/lib/shared/ui/icon/iconsMap.js +1 -1
  55. package/dist/lib/shared/ui/icon/iconsMap.js.map +1 -1
  56. package/dist/lib/shared/ui/modal/Modal.js.map +1 -1
  57. package/dist/lib/shared/ui/notification/Notification.js.map +1 -1
  58. package/dist/lib/shared/ui/notification/ui/CustomToast.js.map +1 -1
  59. package/dist/lib/shared/ui/slot/model/isSlottable.js.map +1 -1
  60. package/dist/lib/shared/ui/slot/ui/SlotClone.js +1 -1
  61. package/dist/lib/shared/ui/slot/ui/SlotClone.js.map +1 -1
  62. package/dist/lib/shared/ui/tabSwitcher/ui/TabContent.js.map +1 -1
  63. package/dist/lib/shared/utils/scrollToElement.js.map +1 -1
  64. package/dist/lib/widgets/banner/index.js +1 -1
  65. package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js +1 -1
  66. package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js.map +1 -1
  67. package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js +1 -1
  68. package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js.map +1 -1
  69. package/dist/lib/widgets/benefit/Benefit.js +1 -1
  70. package/dist/lib/widgets/benefit/Benefit.js.map +1 -1
  71. package/dist/lib/widgets/calculator/Calculator.js +1 -1
  72. package/dist/lib/widgets/calculator/Calculator.js.map +1 -1
  73. package/dist/lib/widgets/calculator/model/utils.js.map +1 -1
  74. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js.map +1 -1
  75. package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js.map +1 -1
  76. package/dist/lib/widgets/calculator/ui/calculatorInfo/index.js +1 -1
  77. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.js.map +1 -1
  78. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js +1 -1
  79. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js.map +1 -1
  80. package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js.map +1 -1
  81. package/dist/lib/widgets/calculator/ui/index.js +1 -1
  82. package/dist/lib/widgets/carouselBlock/CarouselBlock.js +1 -1
  83. package/dist/lib/widgets/carouselBlock/CarouselBlock.js.map +1 -1
  84. package/dist/lib/widgets/conditionBlock/ConditionBlock.js +1 -1
  85. package/dist/lib/widgets/conditionBlock/ConditionBlock.js.map +1 -1
  86. package/dist/lib/widgets/conditionBlock/ui/ConditionsWithCTA.js.map +1 -1
  87. package/dist/lib/widgets/dynamicForm/DynamicForm.js +1 -1
  88. package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
  89. package/dist/lib/widgets/dynamicForm/model/helpers.js +1 -1
  90. package/dist/lib/widgets/dynamicForm/model/helpers.js.map +1 -1
  91. package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js +1 -1
  92. package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js.map +1 -1
  93. package/dist/lib/widgets/footer/Footer.js +1 -1
  94. package/dist/lib/widgets/footer/Footer.js.map +1 -1
  95. package/dist/lib/widgets/footer/ui/NavLinks.js.map +1 -1
  96. package/dist/lib/widgets/footer/ui/PhonesBlock.js.map +1 -1
  97. package/dist/lib/widgets/footer/ui/SocialLinks.js.map +1 -1
  98. package/dist/lib/widgets/header/Header.js +1 -1
  99. package/dist/lib/widgets/header/Header.js.map +1 -1
  100. package/dist/lib/widgets/index.js +1 -1
  101. package/dist/lib/widgets/infoBlock/InfoBlock.js +1 -1
  102. package/dist/lib/widgets/infoBlock/InfoBlock.js.map +1 -1
  103. package/dist/lib/widgets/interLinking/InterLinking.js +1 -1
  104. package/dist/lib/widgets/interLinking/InterLinking.js.map +1 -1
  105. package/dist/lib/widgets/longBanner/LongBanner.js +1 -1
  106. package/dist/lib/widgets/longBanner/LongBanner.js.map +1 -1
  107. package/dist/lib/widgets/model/helpers.js +2 -2
  108. package/dist/lib/widgets/model/helpers.js.map +1 -1
  109. package/dist/lib/widgets/queryClientProvider/QueryClientProvider.js +1 -1
  110. package/dist/lib/widgets/seoHeader/SeoHeader.js +1 -1
  111. package/dist/lib/widgets/seoHeader/SeoHeader.js.map +1 -1
  112. package/dist/lib/widgets/stepper/Stepper.js +1 -1
  113. package/dist/lib/widgets/stepper/Stepper.js.map +1 -1
  114. package/dist/lib/widgets/usefulInfo/UsefulInfo.js +1 -1
  115. package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
  116. package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js.map +1 -1
  117. package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js.map +1 -1
  118. package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js.map +1 -1
  119. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js.map +1 -1
  120. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/model/utils.js.map +1 -1
  121. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.js.map +1 -1
  122. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.js.map +1 -1
  123. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.js.map +1 -1
  124. package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.js.map +1 -1
  125. package/dist/lib/widgets/userFeedback/ui/UserReview.js +1 -1
  126. package/dist/lib/widgets/userFeedback/ui/UserReview.js.map +1 -1
  127. package/dist/static/info/location.svg.js +2 -0
  128. package/dist/static/info/location.svg.js.map +1 -0
  129. package/dist/static/static/info/location.svg +3 -0
  130. package/dist/stats.html +1 -1
  131. package/dist/types/lib/next/utils/hasWidget.d.ts +1 -1
  132. package/dist/types/lib/next/utils/hideWidgetsWithQueryParams.d.ts +1 -1
  133. package/dist/types/lib/next/utils/isEmptyWidgetList.d.ts +1 -1
  134. package/dist/types/lib/next/utils/orderWidgetWithQueryParams.d.ts +1 -1
  135. package/dist/types/lib/shared/hooks/useObserverWidgets.d.ts +1 -1
  136. package/dist/types/lib/shared/ui/calendar/Calendar.d.ts +1 -1
  137. package/dist/types/lib/shared/ui/calendar/ui/index.d.ts +0 -1
  138. package/dist/types/lib/shared/ui/calendar/ui/model/utils.d.ts +1 -1
  139. package/dist/types/lib/shared/ui/carousel/model/constant.d.ts +1 -1
  140. package/dist/types/lib/shared/ui/carousel/model/types.d.ts +1 -1
  141. package/dist/types/lib/shared/ui/carousel/ui/RenderSlides.d.ts +1 -2
  142. package/dist/types/lib/shared/ui/carouselBase/model/helpers.d.ts +1 -1
  143. package/dist/types/lib/shared/ui/carouselBase/model/hooks/useArrowNavigation.d.ts +1 -1
  144. package/dist/types/lib/shared/ui/carouselBase/model/types.d.ts +1 -1
  145. package/dist/types/lib/shared/ui/formElements/controlled/dayPickerControl/single.d.ts +1 -1
  146. package/dist/types/lib/shared/ui/formElements/controlled/editor/ui/Editor.d.ts +1 -1
  147. package/dist/types/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.d.ts +1 -1
  148. package/dist/types/lib/shared/ui/formElements/controlled/index.d.ts +19 -19
  149. package/dist/types/lib/shared/ui/formElements/ui/fieldAttachment/ui/IconSlot.d.ts +1 -1
  150. package/dist/types/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.d.ts +1 -1
  151. package/dist/types/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.d.ts +1 -2
  152. package/dist/types/lib/shared/ui/formElements/uncontrolled/index.d.ts +13 -10
  153. package/dist/types/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/useCurrencyControl.d.ts +1 -1
  154. package/dist/types/lib/shared/ui/formElements/uncontrolled/slider/model/types.d.ts +1 -1
  155. package/dist/types/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.d.ts +1 -1
  156. package/dist/types/lib/shared/ui/icon/allowedIcons.d.ts +2 -2
  157. package/dist/types/lib/shared/ui/icon/iconsMap.d.ts +6 -0
  158. package/dist/types/lib/shared/ui/loader/model/helpers.d.ts +1 -1
  159. package/dist/types/lib/shared/ui/notification/ui/CustomToast.d.ts +1 -1
  160. package/dist/types/lib/shared/ui/tabSwitcher/ui/TabContent.d.ts +1 -1
  161. package/dist/types/lib/shared/utils/scrollToElement.d.ts +1 -1
  162. package/dist/types/lib/widgets/authProvider/model/types.d.ts +2 -1
  163. package/dist/types/lib/widgets/banner/index.d.ts +0 -1
  164. package/dist/types/lib/widgets/buttonWithHandlers/model/types.d.ts +1 -1
  165. package/dist/types/lib/widgets/calculator/model/utils.d.ts +2 -2
  166. package/dist/types/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.d.ts +1 -1
  167. package/dist/types/lib/widgets/calculator/ui/calculatorInfo/index.d.ts +1 -1
  168. package/dist/types/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.d.ts +1 -1
  169. package/dist/types/lib/widgets/conditionBlock/model/types.d.ts +1 -1
  170. package/dist/types/lib/widgets/dynamicForm/DynamicForm.d.ts +1 -1
  171. package/dist/types/lib/widgets/dynamicForm/model/helpers.d.ts +1 -1
  172. package/dist/types/lib/widgets/dynamicFormDialog/DynamicFormDialog.d.ts +2 -1
  173. package/dist/types/lib/widgets/usefulInfo/ui/subEntities/table/model/utils.d.ts +1 -1
  174. package/dist/types/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.d.ts +1 -1
  175. package/dist/types/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.d.ts +1 -1
  176. package/dist/types/lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.d.ts +1 -1
  177. package/dist/types/lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.d.ts +1 -1
  178. package/dist/types/lib/widgets/userFeedback/ui/UserReview.d.ts +1 -1
  179. package/package.json +126 -1
@@ -1 +1 @@
1
- {"version":3,"file":"iconsMap.js","sources":["../../../../../lib/shared/ui/icon/iconsMap.ts"],"sourcesContent":["import Badsmile from '../../../../static/status/badSmile.svg?react'\nimport Iconmark from '../../../../static/status/iconMark.svg?react'\nimport Iconretry from '../../../../static/status/iconRetry.svg?react'\nimport Iconuser from '../../../../static/status/iconUser.svg?react'\nimport Succescircle from '../../../../static/status/succesCircle.svg?react'\nimport Classmates from '../../../../static/social/classmates.svg?react'\nimport Telegram from '../../../../static/social/telegram.svg?react'\nimport Vk from '../../../../static/social/vk.svg?react'\nimport Desktop from '../../../../static/media/desktop.svg?react'\nimport Mobile from '../../../../static/media/mobile.svg?react'\nimport Beeline from '../../../../static/logos/beeline.svg?react'\nimport Megafon from '../../../../static/logos/megafon.svg?react'\nimport Mts from '../../../../static/logos/mts.svg?react'\nimport Helpcircle from '../../../../static/info/helpCircle.svg?react'\nimport Warningcircle from '../../../../static/info/warningCircle.svg?react'\nimport Calendar from '../../../../static/general/calendar.svg?react'\nimport Check from '../../../../static/general/check.svg?react'\nimport Close from '../../../../static/general/close.svg?react'\nimport Edit from '../../../../static/general/edit.svg?react'\nimport Heart from '../../../../static/general/heart.svg?react'\nimport Hiddeneye from '../../../../static/general/hiddenEye.svg?react'\nimport Loginfilled from '../../../../static/general/loginFilled.svg?react'\nimport Menu from '../../../../static/general/menu.svg?react'\nimport Optionshorizontal from '../../../../static/general/optionsHorizontal.svg?react'\nimport Optionsvertical from '../../../../static/general/optionsVertical.svg?react'\nimport Plus from '../../../../static/general/plus.svg?react'\nimport Reorder from '../../../../static/general/reorder.svg?react'\nimport Search from '../../../../static/general/search.svg?react'\nimport Shield from '../../../../static/general/shield.svg?react'\nimport Showeye from '../../../../static/general/showEye.svg?react'\nimport Border from '../../../../static/files/border.svg?react'\nimport Bordererror from '../../../../static/files/borderError.svg?react'\nimport Documentfilled from '../../../../static/files/documentFilled.svg?react'\nimport Documentoutline from '../../../../static/files/documentOutline.svg?react'\nimport Filemultiple from '../../../../static/files/fileMultiple.svg?react'\nimport Upload from '../../../../static/files/upload.svg?react'\nimport Bold from '../../../../static/editor/bold.svg?react'\nimport Fonts from '../../../../static/editor/fonts.svg?react'\nimport Heading from '../../../../static/editor/heading.svg?react'\nimport Italic from '../../../../static/editor/italic.svg?react'\nimport Link from '../../../../static/editor/link.svg?react'\nimport List from '../../../../static/editor/list.svg?react'\nimport Nbsp from '../../../../static/editor/nbsp.svg?react'\nimport Palette from '../../../../static/editor/palette.svg?react'\nimport Redo from '../../../../static/editor/redo.svg?react'\nimport Removeformatting from '../../../../static/editor/removeFormatting.svg?react'\nimport Space from '../../../../static/editor/space.svg?react'\nimport Strikethrough from '../../../../static/editor/strikethrough.svg?react'\nimport Typography from '../../../../static/editor/typography.svg?react'\nimport Underline from '../../../../static/editor/underline.svg?react'\nimport Undo from '../../../../static/editor/undo.svg?react'\nimport Phone from '../../../../static/communication/phone.svg?react'\nimport Logoblack from '../../../../static/brandLogos/logoBlack.svg?react'\nimport Logobusiness from '../../../../static/brandLogos/logoBusiness.svg?react'\nimport Logogray from '../../../../static/brandLogos/logoGray.svg?react'\nimport Logoinsurance from '../../../../static/brandLogos/logoInsurance.svg?react'\nimport Logomain from '../../../../static/brandLogos/logoMain.svg?react'\nimport Logowhite from '../../../../static/brandLogos/logoWhite.svg?react'\nimport Arrowcircle from '../../../../static/arrows/arrowCircle.svg?react'\nimport Arrowdownright from '../../../../static/arrows/arrowDownRight.svg?react'\nimport Arrowlink from '../../../../static/arrows/arrowLink.svg?react'\nimport Arrowright from '../../../../static/arrows/arrowRight.svg?react'\nimport Arrowrotate from '../../../../static/arrows/arrowRotate.svg?react'\nimport Arrowscroll from '../../../../static/arrows/arrowScroll.svg?react'\n\nexport const iconsMap = {\n 'status/badSmile': Badsmile,\n 'status/iconMark': Iconmark,\n 'status/iconRetry': Iconretry,\n 'status/iconUser': Iconuser,\n 'status/succesCircle': Succescircle,\n 'social/classmates': Classmates,\n 'social/telegram': Telegram,\n 'social/vk': Vk,\n 'media/desktop': Desktop,\n 'media/mobile': Mobile,\n 'logos/beeline': Beeline,\n 'logos/megafon': Megafon,\n 'logos/mts': Mts,\n 'info/helpCircle': Helpcircle,\n 'info/warningCircle': Warningcircle,\n 'general/calendar': Calendar,\n 'general/check': Check,\n 'general/close': Close,\n 'general/edit': Edit,\n 'general/heart': Heart,\n 'general/hiddenEye': Hiddeneye,\n 'general/loginFilled': Loginfilled,\n 'general/menu': Menu,\n 'general/optionsHorizontal': Optionshorizontal,\n 'general/optionsVertical': Optionsvertical,\n 'general/plus': Plus,\n 'general/reorder': Reorder,\n 'general/search': Search,\n 'general/shield': Shield,\n 'general/showEye': Showeye,\n 'files/border': Border,\n 'files/borderError': Bordererror,\n 'files/documentFilled': Documentfilled,\n 'files/documentOutline': Documentoutline,\n 'files/fileMultiple': Filemultiple,\n 'files/upload': Upload,\n 'editor/bold': Bold,\n 'editor/fonts': Fonts,\n 'editor/heading': Heading,\n 'editor/italic': Italic,\n 'editor/link': Link,\n 'editor/list': List,\n 'editor/nbsp': Nbsp,\n 'editor/palette': Palette,\n 'editor/redo': Redo,\n 'editor/removeFormatting': Removeformatting,\n 'editor/space': Space,\n 'editor/strikethrough': Strikethrough,\n 'editor/typography': Typography,\n 'editor/underline': Underline,\n 'editor/undo': Undo,\n 'communication/phone': Phone,\n 'brandLogos/logoBlack': Logoblack,\n 'brandLogos/logoBusiness': Logobusiness,\n 'brandLogos/logoGray': Logogray,\n 'brandLogos/logoInsurance': Logoinsurance,\n 'brandLogos/logoMain': Logomain,\n 'brandLogos/logoWhite': Logowhite,\n 'arrows/arrowCircle': Arrowcircle,\n 'arrows/arrowDownRight': Arrowdownright,\n 'arrows/arrowLink': Arrowlink,\n 'arrows/arrowRight': Arrowright,\n 'arrows/arrowRotate': Arrowrotate,\n 'arrows/arrowScroll': Arrowscroll\n}\n"],"names":["iconsMap","Badsmile","Iconmark","Iconretry","Iconuser","Succescircle","Classmates","Telegram","Vk","Desktop","Mobile","Beeline","Megafon","Mts","Helpcircle","Warningcircle","Calendar","Check","Close","Edit","Heart","Hiddeneye","Loginfilled","Menu","Optionshorizontal","Optionsvertical","Plus","Reorder","Search","Shield","Showeye","Border","Bordererror","Documentfilled","Documentoutline","Filemultiple","Upload","Bold","Fonts","Heading","Italic","Link","List","Nbsp","Palette","Redo","Removeformatting","Space","Strikethrough","Typography","Underline","Undo","Phone","Logoblack","Logobusiness","Logogray","Logoinsurance","Logomain","Logowhite","Arrowcircle","Arrowdownright","Arrowlink","Arrowright","Arrowrotate","Arrowscroll"],"mappings":"wnHAiEO,MAAMA,GAAW,CACtB,kBAAmBC,EACnB,kBAAmBC,EACnB,mBAAoBC,EACpB,kBAAmBC,EACnB,sBAAuBC,EACvB,oBAAqBC,EACrB,kBAAmBC,EACnB,YAAaC,EACb,gBAAiBC,EACjB,eAAgBC,EAChB,gBAAiBC,EACjB,gBAAiBC,EACjB,YAAaC,EACb,kBAAmBC,EACnB,qBAAsBC,EACtB,mBAAoBC,EACpB,gBAAiBC,EACjB,gBAAiBC,EACjB,eAAgBC,EAChB,gBAAiBC,EACjB,oBAAqBC,EACrB,sBAAuBC,EACvB,eAAgBC,EAChB,4BAA6BC,EAC7B,0BAA2BC,EAC3B,eAAgBC,EAChB,kBAAmBC,EACnB,iBAAkBC,EAClB,iBAAkBC,EAClB,kBAAmBC,EACnB,eAAgBC,EAChB,oBAAqBC,EACrB,uBAAwBC,EACxB,wBAAyBC,EACzB,qBAAsBC,EACtB,eAAgBC,EAChB,cAAeC,EACf,eAAgBC,EAChB,iBAAkBC,EAClB,gBAAiBC,EACjB,cAAeC,EACf,cAAeC,EACf,cAAeC,EACf,iBAAkBC,EAClB,cAAeC,EACf,0BAA2BC,EAC3B,eAAgBC,EAChB,uBAAwBC,EACxB,oBAAqBC,EACrB,mBAAoBC,EACpB,cAAeC,EACf,sBAAuBC,EACvB,uBAAwBC,EACxB,0BAA2BC,EAC3B,sBAAuBC,GACvB,2BAA4BC,GAC5B,sBAAuBC,GACvB,uBAAwBC,GACxB,qBAAsBC,GACtB,wBAAyBC,GACzB,mBAAoBC,GACpB,oBAAqBC,GACrB,qBAAsBC,GACtB,qBAAsBC,EACxB"}
1
+ {"version":3,"file":"iconsMap.js","sources":["../../../../../lib/shared/ui/icon/iconsMap.ts"],"sourcesContent":["import Badsmile from '../../../../static/status/badSmile.svg?react'\nimport Iconmark from '../../../../static/status/iconMark.svg?react'\nimport Iconretry from '../../../../static/status/iconRetry.svg?react'\nimport Iconuser from '../../../../static/status/iconUser.svg?react'\nimport Succescircle from '../../../../static/status/succesCircle.svg?react'\nimport Classmates from '../../../../static/social/classmates.svg?react'\nimport Telegram from '../../../../static/social/telegram.svg?react'\nimport Vk from '../../../../static/social/vk.svg?react'\nimport Desktop from '../../../../static/media/desktop.svg?react'\nimport Mobile from '../../../../static/media/mobile.svg?react'\nimport Beeline from '../../../../static/logos/beeline.svg?react'\nimport Megafon from '../../../../static/logos/megafon.svg?react'\nimport Mts from '../../../../static/logos/mts.svg?react'\nimport Helpcircle from '../../../../static/info/helpCircle.svg?react'\nimport Location from '../../../../static/info/location.svg?react'\nimport Warningcircle from '../../../../static/info/warningCircle.svg?react'\nimport Calendar from '../../../../static/general/calendar.svg?react'\nimport Check from '../../../../static/general/check.svg?react'\nimport Close from '../../../../static/general/close.svg?react'\nimport Edit from '../../../../static/general/edit.svg?react'\nimport Heart from '../../../../static/general/heart.svg?react'\nimport Hiddeneye from '../../../../static/general/hiddenEye.svg?react'\nimport Loginfilled from '../../../../static/general/loginFilled.svg?react'\nimport Menu from '../../../../static/general/menu.svg?react'\nimport Optionshorizontal from '../../../../static/general/optionsHorizontal.svg?react'\nimport Optionsvertical from '../../../../static/general/optionsVertical.svg?react'\nimport Plus from '../../../../static/general/plus.svg?react'\nimport Reorder from '../../../../static/general/reorder.svg?react'\nimport Search from '../../../../static/general/search.svg?react'\nimport Shield from '../../../../static/general/shield.svg?react'\nimport Showeye from '../../../../static/general/showEye.svg?react'\nimport Border from '../../../../static/files/border.svg?react'\nimport Bordererror from '../../../../static/files/borderError.svg?react'\nimport Documentfilled from '../../../../static/files/documentFilled.svg?react'\nimport Documentoutline from '../../../../static/files/documentOutline.svg?react'\nimport Filemultiple from '../../../../static/files/fileMultiple.svg?react'\nimport Upload from '../../../../static/files/upload.svg?react'\nimport Bold from '../../../../static/editor/bold.svg?react'\nimport Fonts from '../../../../static/editor/fonts.svg?react'\nimport Heading from '../../../../static/editor/heading.svg?react'\nimport Italic from '../../../../static/editor/italic.svg?react'\nimport Link from '../../../../static/editor/link.svg?react'\nimport List from '../../../../static/editor/list.svg?react'\nimport Nbsp from '../../../../static/editor/nbsp.svg?react'\nimport Palette from '../../../../static/editor/palette.svg?react'\nimport Redo from '../../../../static/editor/redo.svg?react'\nimport Removeformatting from '../../../../static/editor/removeFormatting.svg?react'\nimport Space from '../../../../static/editor/space.svg?react'\nimport Strikethrough from '../../../../static/editor/strikethrough.svg?react'\nimport Typography from '../../../../static/editor/typography.svg?react'\nimport Underline from '../../../../static/editor/underline.svg?react'\nimport Undo from '../../../../static/editor/undo.svg?react'\nimport Phone from '../../../../static/communication/phone.svg?react'\nimport Logoblack from '../../../../static/brandLogos/logoBlack.svg?react'\nimport Logobusiness from '../../../../static/brandLogos/logoBusiness.svg?react'\nimport Logogray from '../../../../static/brandLogos/logoGray.svg?react'\nimport Logoinsurance from '../../../../static/brandLogos/logoInsurance.svg?react'\nimport Logomain from '../../../../static/brandLogos/logoMain.svg?react'\nimport Logowhite from '../../../../static/brandLogos/logoWhite.svg?react'\nimport Arrowcircle from '../../../../static/arrows/arrowCircle.svg?react'\nimport Arrowdownright from '../../../../static/arrows/arrowDownRight.svg?react'\nimport Arrowlink from '../../../../static/arrows/arrowLink.svg?react'\nimport Arrowright from '../../../../static/arrows/arrowRight.svg?react'\nimport Arrowrotate from '../../../../static/arrows/arrowRotate.svg?react'\nimport Arrowscroll from '../../../../static/arrows/arrowScroll.svg?react'\n\nexport const iconsMap = {\n 'status/badSmile': Badsmile,\n 'status/iconMark': Iconmark,\n 'status/iconRetry': Iconretry,\n 'status/iconUser': Iconuser,\n 'status/succesCircle': Succescircle,\n 'social/classmates': Classmates,\n 'social/telegram': Telegram,\n 'social/vk': Vk,\n 'media/desktop': Desktop,\n 'media/mobile': Mobile,\n 'logos/beeline': Beeline,\n 'logos/megafon': Megafon,\n 'logos/mts': Mts,\n 'info/helpCircle': Helpcircle,\n 'info/location': Location,\n 'info/warningCircle': Warningcircle,\n 'general/calendar': Calendar,\n 'general/check': Check,\n 'general/close': Close,\n 'general/edit': Edit,\n 'general/heart': Heart,\n 'general/hiddenEye': Hiddeneye,\n 'general/loginFilled': Loginfilled,\n 'general/menu': Menu,\n 'general/optionsHorizontal': Optionshorizontal,\n 'general/optionsVertical': Optionsvertical,\n 'general/plus': Plus,\n 'general/reorder': Reorder,\n 'general/search': Search,\n 'general/shield': Shield,\n 'general/showEye': Showeye,\n 'files/border': Border,\n 'files/borderError': Bordererror,\n 'files/documentFilled': Documentfilled,\n 'files/documentOutline': Documentoutline,\n 'files/fileMultiple': Filemultiple,\n 'files/upload': Upload,\n 'editor/bold': Bold,\n 'editor/fonts': Fonts,\n 'editor/heading': Heading,\n 'editor/italic': Italic,\n 'editor/link': Link,\n 'editor/list': List,\n 'editor/nbsp': Nbsp,\n 'editor/palette': Palette,\n 'editor/redo': Redo,\n 'editor/removeFormatting': Removeformatting,\n 'editor/space': Space,\n 'editor/strikethrough': Strikethrough,\n 'editor/typography': Typography,\n 'editor/underline': Underline,\n 'editor/undo': Undo,\n 'communication/phone': Phone,\n 'brandLogos/logoBlack': Logoblack,\n 'brandLogos/logoBusiness': Logobusiness,\n 'brandLogos/logoGray': Logogray,\n 'brandLogos/logoInsurance': Logoinsurance,\n 'brandLogos/logoMain': Logomain,\n 'brandLogos/logoWhite': Logowhite,\n 'arrows/arrowCircle': Arrowcircle,\n 'arrows/arrowDownRight': Arrowdownright,\n 'arrows/arrowLink': Arrowlink,\n 'arrows/arrowRight': Arrowright,\n 'arrows/arrowRotate': Arrowrotate,\n 'arrows/arrowScroll': Arrowscroll\n}\n"],"names":["iconsMap","Badsmile","Iconmark","Iconretry","Iconuser","Succescircle","Classmates","Telegram","Vk","Desktop","Mobile","Beeline","Megafon","Mts","Helpcircle","Location","Warningcircle","Calendar","Check","Close","Edit","Heart","Hiddeneye","Loginfilled","Menu","Optionshorizontal","Optionsvertical","Plus","Reorder","Search","Shield","Showeye","Border","Bordererror","Documentfilled","Documentoutline","Filemultiple","Upload","Bold","Fonts","Heading","Italic","Link","List","Nbsp","Palette","Redo","Removeformatting","Space","Strikethrough","Typography","Underline","Undo","Phone","Logoblack","Logobusiness","Logogray","Logoinsurance","Logomain","Logowhite","Arrowcircle","Arrowdownright","Arrowlink","Arrowright","Arrowrotate","Arrowscroll"],"mappings":"grHAkEO,MAAMA,GAAW,CACtB,kBAAmBC,EACnB,kBAAmBC,EACnB,mBAAoBC,EACpB,kBAAmBC,EACnB,sBAAuBC,EACvB,oBAAqBC,EACrB,kBAAmBC,EACnB,YAAaC,EACb,gBAAiBC,EACjB,eAAgBC,EAChB,gBAAiBC,EACjB,gBAAiBC,EACjB,YAAaC,EACb,kBAAmBC,EACnB,gBAAiBC,EACjB,qBAAsBC,EACtB,mBAAoBC,EACpB,gBAAiBC,EACjB,gBAAiBC,EACjB,eAAgBC,EAChB,gBAAiBC,EACjB,oBAAqBC,EACrB,sBAAuBC,EACvB,eAAgBC,EAChB,4BAA6BC,EAC7B,0BAA2BC,EAC3B,eAAgBC,EAChB,kBAAmBC,EACnB,iBAAkBC,EAClB,iBAAkBC,EAClB,kBAAmBC,EACnB,eAAgBC,EAChB,oBAAqBC,EACrB,uBAAwBC,EACxB,wBAAyBC,EACzB,qBAAsBC,EACtB,eAAgBC,EAChB,cAAeC,EACf,eAAgBC,EAChB,iBAAkBC,EAClB,gBAAiBC,EACjB,cAAeC,EACf,cAAeC,EACf,cAAeC,EACf,iBAAkBC,EAClB,cAAeC,EACf,0BAA2BC,EAC3B,eAAgBC,EAChB,uBAAwBC,EACxB,oBAAqBC,EACrB,mBAAoBC,EACpB,cAAeC,EACf,sBAAuBC,EACvB,uBAAwBC,EACxB,0BAA2BC,GAC3B,sBAAuBC,GACvB,2BAA4BC,GAC5B,sBAAuBC,GACvB,uBAAwBC,GACxB,qBAAsBC,GACtB,wBAAyBC,GACzB,mBAAoBC,GACpB,oBAAqBC,GACrB,qBAAsBC,GACtB,qBAAsBC,EACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../../../lib/shared/ui/modal/Modal.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { useEffect, useRef } from 'react' // useState больше не нужен\nimport { createPortal } from 'react-dom'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { modalContentAnimation, modalOverlayAnimation } from './model/helpers'\nimport { IframeModalContent } from './ui/IframeModalContent'\nimport { ModalHeader, type TModalHeaderClasses } from './ui/ModalHeader'\nimport { cn, mergeRefs } from '$/shared/utils'\n\ntype ModalClasses = {\n overlay?: string\n modal?: string\n content?: string\n modalHeader?: TModalHeaderClasses\n}\n\nexport interface ModalProps {\n children: React.ReactElement\n isModalOpen: boolean\n classes?: ModalClasses\n isPortal?: boolean\n portalContainer?: HTMLElement\n title?: string | React.ReactElement\n closeModal: () => void\n iframe?: boolean\n}\n\nexport const Modal = ({\n title,\n children,\n isModalOpen,\n isPortal = true,\n portalContainer = globalThis?.document?.body,\n closeModal,\n classes,\n iframe\n}: ModalProps) => {\n useEffect(() => {\n if (isModalOpen) {\n document.body.style.overflow = 'hidden'\n }\n return () => {\n document.body.style.overflow = 'visible'\n }\n }, [isModalOpen])\n\n const iframeRef = useRef<HTMLIFrameElement>(null)\n const overlayRef = useRef<HTMLDivElement>(null)\n const isMouseDownOnOverlayRef = useRef(false)\n\n const handleMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {\n if (e.target === overlayRef.current) {\n isMouseDownOnOverlayRef.current = true\n }\n }\n\n const handleMouseUp = (e: React.MouseEvent<HTMLDivElement>) => {\n if (isMouseDownOnOverlayRef.current && e.target === overlayRef.current) {\n closeModal()\n }\n isMouseDownOnOverlayRef.current = false\n }\n\n const modalBody = (\n <AnimatePresence>\n {isModalOpen && (\n <motion.div\n ref={mergeRefs((node) => node?.focus(), overlayRef)}\n tabIndex={-1}\n onMouseDown={handleMouseDown}\n onMouseUp={handleMouseUp}\n className={cn(\n 'fixed inset-0 flex h-screen w-screen items-center justify-center bg-color-overlay',\n { 'z-1000': !isPortal },\n classes?.overlay\n )}\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n closeModal()\n }\n }}\n data-id='modal-overlay'\n {...modalOverlayAnimation}\n >\n <motion.div\n onMouseDown={(event) => event.stopPropagation()}\n className={cn(\n 'max-h-[90vh] w-full max-w-[600px] overflow-y-auto rounded-md bg-color-white px-4 py-6 shadow-sm desktop:px-6 desktop:py-8',\n classes?.modal\n )}\n data-id='modal'\n {...modalContentAnimation}\n >\n <ModalHeader title={title} closeModal={closeModal} classes={classes?.modalHeader} />\n {iframe ? (\n <IframeModalContent ref={iframeRef} className={cn('mt-4', classes?.content)}>\n {(iframeBody) => createPortal(children, iframeBody)}\n </IframeModalContent>\n ) : (\n <div className={cn('mt-4', classes?.content)}>{children}</div>\n )}\n </motion.div>\n </motion.div>\n )}\n </AnimatePresence>\n )\n return <>{isPortal ? createPortal(modalBody, portalContainer) : modalBody}</>\n}\n"],"names":["Modal","title","children","isModalOpen","isPortal","portalContainer","closeModal","classes","iframe","useEffect","iframeRef","useRef","overlayRef","isMouseDownOnOverlayRef","handleMouseDown","handleMouseUp","modalBody","jsx","AnimatePresence","motion","mergeRefs","node","cn","event","modalOverlayAnimation","jsxs","modalContentAnimation","ModalHeader","IframeModalContent","iframeBody","createPortal"],"mappings":"ufA6BO,MAAMA,EAAQ,CAAC,CACpB,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,SAAAC,EAAW,GACX,gBAAAC,EAAkB,YAAY,UAAU,KACxC,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,IAAkB,CAChBC,EAAU,KACJN,IACF,SAAS,KAAK,MAAM,SAAW,UAE1B,IAAM,CACX,SAAS,KAAK,MAAM,SAAW,SACjC,GACC,CAACA,CAAW,CAAC,EAEhB,MAAMO,EAAYC,EAA0B,IAAI,EAC1CC,EAAaD,EAAuB,IAAI,EACxCE,EAA0BF,EAAO,EAAK,EAEtCG,EAAmB,GAAwC,CAC3D,EAAE,SAAWF,EAAW,UAC1BC,EAAwB,QAAU,GAEtC,EAEME,EAAiB,GAAwC,CACzDF,EAAwB,SAAW,EAAE,SAAWD,EAAW,SAC7DN,EAAA,EAEFO,EAAwB,QAAU,EACpC,EAEMG,EACJC,EAACC,EAAA,CACE,SAAAf,GACCc,EAACE,EAAO,IAAP,CACC,IAAKC,EAAWC,GAASA,GAAM,MAAA,EAAST,CAAU,EAClD,SAAU,GACV,YAAaE,EACb,UAAWC,EACX,UAAWO,EACT,oFACA,CAAE,SAAU,CAAClB,CAAA,EACbG,GAAS,OAAA,EAEX,UAAYgB,GAAU,CAChBA,EAAM,MAAQ,UAChBjB,EAAA,CAEJ,EACA,UAAQ,gBACP,GAAGkB,EAEJ,SAAAC,EAACN,EAAO,IAAP,CACC,YAAcI,GAAUA,EAAM,gBAAA,EAC9B,UAAWD,EACT,4HACAf,GAAS,KAAA,EAEX,UAAQ,QACP,GAAGmB,EAEJ,SAAA,CAAAT,EAACU,EAAA,CAAY,MAAA1B,EAAc,WAAAK,EAAwB,QAASC,GAAS,YAAa,EACjFC,EACCS,EAACW,EAAA,CAAmB,IAAKlB,EAAW,UAAWY,EAAG,OAAQf,GAAS,OAAO,EACvE,SAACsB,GAAeC,EAAa5B,EAAU2B,CAAU,EACpD,EAEAZ,EAAC,MAAA,CAAI,UAAWK,EAAG,OAAQf,GAAS,OAAO,EAAI,SAAAL,CAAA,CAAS,CAAA,CAAA,CAAA,CAE5D,CAAA,EAGN,EAEF,YAAU,SAAAE,EAAW0B,EAAad,EAAWX,CAAe,EAAIW,EAAU,CAC5E"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../../../lib/shared/ui/modal/Modal.tsx"],"sourcesContent":["import * as React from 'react'\nimport { useEffect, useRef } from 'react'\nimport { createPortal } from 'react-dom'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { modalContentAnimation, modalOverlayAnimation } from '$/shared/ui/modal/model/helpers'\nimport { IframeModalContent } from '$/shared/ui/modal/ui/IframeModalContent'\nimport { ModalHeader, type TModalHeaderClasses } from '$/shared/ui/modal/ui/ModalHeader'\nimport { cn, mergeRefs } from '$/shared/utils'\n\ntype ModalClasses = {\n overlay?: string\n modal?: string\n content?: string\n modalHeader?: TModalHeaderClasses\n}\n\nexport interface ModalProps {\n children: React.ReactElement\n isModalOpen: boolean\n classes?: ModalClasses\n isPortal?: boolean\n portalContainer?: HTMLElement\n title?: string | React.ReactElement\n closeModal: () => void\n iframe?: boolean\n}\n\nexport const Modal = ({\n title,\n children,\n isModalOpen,\n isPortal = true,\n portalContainer = globalThis?.document?.body,\n closeModal,\n classes,\n iframe\n}: ModalProps) => {\n useEffect(() => {\n if (isModalOpen) {\n document.body.style.overflow = 'hidden'\n }\n return () => {\n document.body.style.overflow = 'visible'\n }\n }, [isModalOpen])\n\n const iframeRef = useRef<HTMLIFrameElement>(null)\n const overlayRef = useRef<HTMLDivElement>(null)\n const isMouseDownOnOverlayRef = useRef(false)\n\n const handleMouseDown = (e: React.MouseEvent<HTMLDivElement>) => {\n if (e.target === overlayRef.current) {\n isMouseDownOnOverlayRef.current = true\n }\n }\n\n const handleMouseUp = (e: React.MouseEvent<HTMLDivElement>) => {\n if (isMouseDownOnOverlayRef.current && e.target === overlayRef.current) {\n closeModal()\n }\n isMouseDownOnOverlayRef.current = false\n }\n\n const modalBody = (\n <AnimatePresence>\n {isModalOpen && (\n <motion.div\n ref={mergeRefs((node) => node?.focus(), overlayRef)}\n tabIndex={-1}\n onMouseDown={handleMouseDown}\n onMouseUp={handleMouseUp}\n className={cn(\n 'fixed inset-0 flex h-screen w-screen items-center justify-center bg-color-overlay',\n { 'z-1000': !isPortal },\n classes?.overlay\n )}\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n closeModal()\n }\n }}\n data-id='modal-overlay'\n {...modalOverlayAnimation}\n >\n <motion.div\n onMouseDown={(event) => event.stopPropagation()}\n className={cn(\n 'max-h-[90vh] w-full max-w-[600px] overflow-y-auto rounded-md bg-color-white px-4 py-6 shadow-sm desktop:px-6 desktop:py-8',\n classes?.modal\n )}\n data-id='modal'\n {...modalContentAnimation}\n >\n <ModalHeader title={title} closeModal={closeModal} classes={classes?.modalHeader} />\n {iframe ? (\n <IframeModalContent ref={iframeRef} className={cn('mt-4', classes?.content)}>\n {(iframeBody) => createPortal(children, iframeBody)}\n </IframeModalContent>\n ) : (\n <div className={cn('mt-4', classes?.content)}>{children}</div>\n )}\n </motion.div>\n </motion.div>\n )}\n </AnimatePresence>\n )\n return <>{isPortal ? createPortal(modalBody, portalContainer) : modalBody}</>\n}\n"],"names":["Modal","title","children","isModalOpen","isPortal","portalContainer","closeModal","classes","iframe","useEffect","iframeRef","useRef","overlayRef","isMouseDownOnOverlayRef","handleMouseDown","handleMouseUp","modalBody","jsx","AnimatePresence","motion","mergeRefs","node","cn","event","modalOverlayAnimation","jsxs","modalContentAnimation","ModalHeader","IframeModalContent","iframeBody","createPortal"],"mappings":"ufA2BO,MAAMA,EAAQ,CAAC,CACpB,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,SAAAC,EAAW,GACX,gBAAAC,EAAkB,YAAY,UAAU,KACxC,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,IAAkB,CAChBC,EAAU,KACJN,IACF,SAAS,KAAK,MAAM,SAAW,UAE1B,IAAM,CACX,SAAS,KAAK,MAAM,SAAW,SACjC,GACC,CAACA,CAAW,CAAC,EAEhB,MAAMO,EAAYC,EAA0B,IAAI,EAC1CC,EAAaD,EAAuB,IAAI,EACxCE,EAA0BF,EAAO,EAAK,EAEtCG,EAAmB,GAAwC,CAC3D,EAAE,SAAWF,EAAW,UAC1BC,EAAwB,QAAU,GAEtC,EAEME,EAAiB,GAAwC,CACzDF,EAAwB,SAAW,EAAE,SAAWD,EAAW,SAC7DN,EAAA,EAEFO,EAAwB,QAAU,EACpC,EAEMG,EACJC,EAACC,EAAA,CACE,SAAAf,GACCc,EAACE,EAAO,IAAP,CACC,IAAKC,EAAWC,GAASA,GAAM,MAAA,EAAST,CAAU,EAClD,SAAU,GACV,YAAaE,EACb,UAAWC,EACX,UAAWO,EACT,oFACA,CAAE,SAAU,CAAClB,CAAA,EACbG,GAAS,OAAA,EAEX,UAAYgB,GAAU,CAChBA,EAAM,MAAQ,UAChBjB,EAAA,CAEJ,EACA,UAAQ,gBACP,GAAGkB,EAEJ,SAAAC,EAACN,EAAO,IAAP,CACC,YAAcI,GAAUA,EAAM,gBAAA,EAC9B,UAAWD,EACT,4HACAf,GAAS,KAAA,EAEX,UAAQ,QACP,GAAGmB,EAEJ,SAAA,CAAAT,EAACU,EAAA,CAAY,MAAA1B,EAAc,WAAAK,EAAwB,QAASC,GAAS,YAAa,EACjFC,EACCS,EAACW,EAAA,CAAmB,IAAKlB,EAAW,UAAWY,EAAG,OAAQf,GAAS,OAAO,EACvE,SAACsB,GAAeC,EAAa5B,EAAU2B,CAAU,EACpD,EAEAZ,EAAC,MAAA,CAAI,UAAWK,EAAG,OAAQf,GAAS,OAAO,EAAI,SAAAL,CAAA,CAAS,CAAA,CAAA,CAAA,CAE5D,CAAA,EAGN,EAEF,YAAU,SAAAE,EAAW0B,EAAad,EAAWX,CAAe,EAAIW,EAAU,CAC5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.js","sources":["../../../../../lib/shared/ui/notification/Notification.tsx"],"sourcesContent":["'use client'\n\nimport { type ReactElement } from 'react'\nimport toast, { type Toast } from 'react-hot-toast'\nimport { CustomToast } from './ui/CustomToast'\n\nexport interface NotificationProps {\n duration?: number\n intent: 'info' | 'error'\n text: string | ReactElement\n customIcon?: ReactElement\n link?: string\n linkText?: string\n closure?: boolean\n}\n\nconst renderToast = (props: NotificationProps) => {\n switch (props.intent) {\n case 'info':\n return toast.custom((toastOptions: Toast) => <CustomToast {...toastOptions} {...props} />, {\n duration: props.duration ?? 5000\n })\n case 'error':\n return toast.custom((toastOptions: Toast) => <CustomToast {...toastOptions} {...props} />, {\n duration: props.duration ?? 10000\n })\n default:\n return null\n }\n}\n\nexport const Notification = (props: NotificationProps) => {\n return renderToast(props)\n}\n"],"names":["renderToast","props","toast","toastOptions","jsx","CustomToast","Notification"],"mappings":"yHAgBA,MAAMA,EAAeC,GAA6B,CAChD,OAAQA,EAAM,OAAA,CACZ,IAAK,OACH,OAAOC,EAAM,OAAQC,GAAwBC,EAACC,GAAa,GAAGF,EAAe,GAAGF,CAAA,CAAO,EAAI,CACzF,SAAUA,EAAM,UAAY,GAAA,CAC7B,EACH,IAAK,QACH,OAAOC,EAAM,OAAQC,GAAwBC,EAACC,GAAa,GAAGF,EAAe,GAAGF,CAAA,CAAO,EAAI,CACzF,SAAUA,EAAM,UAAY,GAAA,CAC7B,EACH,QACE,OAAO,IAAA,CAEb,EAEaK,EAAgBL,GACpBD,EAAYC,CAAK"}
1
+ {"version":3,"file":"Notification.js","sources":["../../../../../lib/shared/ui/notification/Notification.tsx"],"sourcesContent":["import { type ReactElement } from 'react'\nimport toast, { type Toast } from 'react-hot-toast'\nimport { CustomToast } from './ui/CustomToast'\n\nexport interface NotificationProps {\n duration?: number\n intent: 'info' | 'error'\n text: string | ReactElement\n customIcon?: ReactElement\n link?: string\n linkText?: string\n closure?: boolean\n}\n\nconst renderToast = (props: NotificationProps) => {\n switch (props.intent) {\n case 'info':\n return toast.custom((toastOptions: Toast) => <CustomToast {...toastOptions} {...props} />, {\n duration: props.duration ?? 5000\n })\n case 'error':\n return toast.custom((toastOptions: Toast) => <CustomToast {...toastOptions} {...props} />, {\n duration: props.duration ?? 10000\n })\n default:\n return null\n }\n}\n\nexport const Notification = (props: NotificationProps) => {\n return renderToast(props)\n}\n"],"names":["renderToast","props","toast","toastOptions","jsx","CustomToast","Notification"],"mappings":"yHAcA,MAAMA,EAAeC,GAA6B,CAChD,OAAQA,EAAM,OAAA,CACZ,IAAK,OACH,OAAOC,EAAM,OAAQC,GAAwBC,EAACC,GAAa,GAAGF,EAAe,GAAGF,CAAA,CAAO,EAAI,CACzF,SAAUA,EAAM,UAAY,GAAA,CAC7B,EACH,IAAK,QACH,OAAOC,EAAM,OAAQC,GAAwBC,EAACC,GAAa,GAAGF,EAAe,GAAGF,CAAA,CAAO,EAAI,CACzF,SAAUA,EAAM,UAAY,GAAA,CAC7B,EACH,QACE,OAAO,IAAA,CAEb,EAEaK,EAAgBL,GACpBD,EAAYC,CAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomToast.js","sources":["../../../../../../lib/shared/ui/notification/ui/CustomToast.tsx"],"sourcesContent":["import toast, { type Toast } from 'react-hot-toast'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Icon } from '../../icon'\nimport type { NotificationProps } from '../Notification'\nimport { cn } from '$/shared/utils'\n\nconst toastContainerConfig = cva(\n 'flex justify-between items-center gap-4 shadow-sm p-4 rounded-sm max-w-[328px] desktop:max-w-[576px]',\n {\n variants: {\n intent: {\n info: 'bg-color-footer text-color-white',\n error: 'bg-color-secondary-default text-color-white'\n }\n },\n defaultVariants: {\n intent: 'info'\n }\n }\n)\n\ntype TContainerConfig = VariantProps<typeof toastContainerConfig>\nexport type ICustomToastProps = NotificationProps & TContainerConfig & Toast\n\nexport const CustomToast = ({\n intent,\n text,\n customIcon,\n closure = true,\n link,\n linkText = 'Подробнее',\n id\n}: ICustomToastProps) => {\n return (\n <div className={cn(toastContainerConfig({ intent }))}>\n <div className='flex items-center gap-2'>\n {customIcon && <span className='size-6'>{customIcon}</span>}\n <div className='desk-body-regular-m text-color-white'>{text}</div>\n </div>\n\n {(link || closure) && (\n <div className='flex items-center gap-6'>\n {link && (\n <a href={link} className='mob-body-medium-m cursor-pointer underline' target='_blank' rel='noreferrer'>\n {linkText}\n </a>\n )}\n\n {closure && (\n <Icon onClick={() => toast.dismiss(id)} name='general/close' className='size-5 cursor-pointer text-icon-white' />\n )}\n </div>\n )}\n </div>\n )\n}\n"],"names":["toastContainerConfig","cva","CustomToast","intent","text","customIcon","closure","link","linkText","id","jsxs","cn","jsx","Icon","toast"],"mappings":"oNAMA,MAAMA,EAAuBC,EAC3B,uGACA,CACE,SAAU,CACR,OAAQ,CACN,KAAM,mCACN,MAAO,6CAAA,CACT,EAEF,gBAAiB,CACf,OAAQ,MAAA,CACV,CAEJ,EAKaC,EAAc,CAAC,CAC1B,OAAAC,EACA,KAAAC,EACA,WAAAC,EACA,QAAAC,EAAU,GACV,KAAAC,EACA,SAAAC,EAAW,YACX,GAAAC,CACF,IAEIC,EAAC,OAAI,UAAWC,EAAGX,EAAqB,CAAE,OAAAG,CAAA,CAAQ,CAAC,EACjD,SAAA,CAAAO,EAAC,MAAA,CAAI,UAAU,0BACZ,SAAA,CAAAL,GAAcO,EAAC,OAAA,CAAK,UAAU,SAAU,SAAAP,EAAW,EACpDO,EAAC,MAAA,CAAI,UAAU,uCAAwC,SAAAR,CAAA,CAAK,CAAA,EAC9D,GAEEG,GAAQD,IACRI,EAAC,MAAA,CAAI,UAAU,0BACZ,SAAA,CAAAH,GACCK,EAAC,IAAA,CAAE,KAAML,EAAM,UAAU,6CAA6C,OAAO,SAAS,IAAI,aACvF,SAAAC,CAAA,CACH,EAGDF,GACCM,EAACC,EAAA,CAAK,QAAS,IAAMC,EAAM,QAAQL,CAAE,EAAG,KAAK,gBAAgB,UAAU,uCAAA,CAAwC,CAAA,CAAA,CAEnH,CAAA,EAEJ"}
1
+ {"version":3,"file":"CustomToast.js","sources":["../../../../../../lib/shared/ui/notification/ui/CustomToast.tsx"],"sourcesContent":["import toast, { type Toast } from 'react-hot-toast'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Icon, type NotificationProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst toastContainerConfig = cva(\n 'flex justify-between items-center gap-4 shadow-sm p-4 rounded-sm max-w-[328px] desktop:max-w-[576px]',\n {\n variants: {\n intent: {\n info: 'bg-color-footer text-color-white',\n error: 'bg-color-secondary-default text-color-white'\n }\n },\n defaultVariants: {\n intent: 'info'\n }\n }\n)\n\ntype TContainerConfig = VariantProps<typeof toastContainerConfig>\nexport type ICustomToastProps = NotificationProps & TContainerConfig & Toast\n\nexport const CustomToast = ({\n intent,\n text,\n customIcon,\n closure = true,\n link,\n linkText = 'Подробнее',\n id\n}: ICustomToastProps) => {\n return (\n <div className={cn(toastContainerConfig({ intent }))}>\n <div className='flex items-center gap-2'>\n {customIcon && <span className='size-6'>{customIcon}</span>}\n <div className='desk-body-regular-m text-color-white'>{text}</div>\n </div>\n\n {(link || closure) && (\n <div className='flex items-center gap-6'>\n {link && (\n <a href={link} className='mob-body-medium-m cursor-pointer underline' target='_blank' rel='noreferrer'>\n {linkText}\n </a>\n )}\n\n {closure && (\n <Icon onClick={() => toast.dismiss(id)} name='general/close' className='size-5 cursor-pointer text-icon-white' />\n )}\n </div>\n )}\n </div>\n )\n}\n"],"names":["toastContainerConfig","cva","CustomToast","intent","text","customIcon","closure","link","linkText","id","jsxs","cn","jsx","Icon","toast"],"mappings":"oNAKA,MAAMA,EAAuBC,EAC3B,uGACA,CACE,SAAU,CACR,OAAQ,CACN,KAAM,mCACN,MAAO,6CAAA,CACT,EAEF,gBAAiB,CACf,OAAQ,MAAA,CACV,CAEJ,EAKaC,EAAc,CAAC,CAC1B,OAAAC,EACA,KAAAC,EACA,WAAAC,EACA,QAAAC,EAAU,GACV,KAAAC,EACA,SAAAC,EAAW,YACX,GAAAC,CACF,IAEIC,EAAC,OAAI,UAAWC,EAAGX,EAAqB,CAAE,OAAAG,CAAA,CAAQ,CAAC,EACjD,SAAA,CAAAO,EAAC,MAAA,CAAI,UAAU,0BACZ,SAAA,CAAAL,GAAcO,EAAC,OAAA,CAAK,UAAU,SAAU,SAAAP,EAAW,EACpDO,EAAC,MAAA,CAAI,UAAU,uCAAwC,SAAAR,CAAA,CAAK,CAAA,EAC9D,GAEEG,GAAQD,IACRI,EAAC,MAAA,CAAI,UAAU,0BACZ,SAAA,CAAAH,GACCK,EAAC,IAAA,CAAE,KAAML,EAAM,UAAU,6CAA6C,OAAO,SAAS,IAAI,aACvF,SAAAC,CAAA,CACH,EAGDF,GACCM,EAACC,EAAA,CAAK,QAAS,IAAMC,EAAM,QAAQL,CAAE,EAAG,KAAK,gBAAgB,UAAU,uCAAA,CAAwC,CAAA,CAAA,CAEnH,CAAA,EAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"isSlottable.js","sources":["../../../../../../lib/shared/ui/slot/model/isSlottable.ts"],"sourcesContent":["import { isValidElement } from 'react'\nimport { Slottable, type SlottableProps } from '../ui'\n\nexport const isSlottable = (child: React.ReactNode): child is React.ReactElement<SlottableProps, typeof Slottable> => {\n return isValidElement(child) && child.type === Slottable\n}\n"],"names":["isSlottable","child","isValidElement","Slottable"],"mappings":"sFAGO,MAAMA,EAAeC,GACnBC,EAAeD,CAAK,GAAKA,EAAM,OAASE"}
1
+ {"version":3,"file":"isSlottable.js","sources":["../../../../../../lib/shared/ui/slot/model/isSlottable.ts"],"sourcesContent":["import { isValidElement } from 'react'\nimport { Slottable, type SlottableProps } from '$/shared/ui/slot/ui'\n\nexport const isSlottable = (child: React.ReactNode): child is React.ReactElement<SlottableProps, typeof Slottable> => {\n return isValidElement(child) && child.type === Slottable\n}\n"],"names":["isSlottable","child","isValidElement","Slottable"],"mappings":"sFAGO,MAAMA,EAAeC,GACnBC,EAAeD,CAAK,GAAKA,EAAM,OAASE"}
@@ -1,2 +1,2 @@
1
- import{forwardRef as l,isValidElement as n,cloneElement as f,Children as t}from"react";import{getElementRef as p}from"../model/getElementRef.js";import{mergeRefs as s}from"../../../utils/mergeRefs.js";import{mergeProps as i}from"../model/mergeProps.js";const u=l(({children:o,...m},e)=>{if(n(o)){const r=p(o);return f(o,{...i(m,o.props),ref:e?s(e,r):r})}return t.count(o)>1?t.only(null):null});u.displayName="SlotClone";export{u as SlotClone};
1
+ import{forwardRef as l,isValidElement as n,cloneElement as f,Children as t}from"react";import{getElementRef as p}from"../model/getElementRef.js";import{mergeProps as s}from"../model/mergeProps.js";import{mergeRefs as i}from"../../../utils/mergeRefs.js";const u=l(({children:o,...m},e)=>{if(n(o)){const r=p(o);return f(o,{...s(m,o.props),ref:e?i(e,r):r})}return t.count(o)>1?t.only(null):null});u.displayName="SlotClone";export{u as SlotClone};
2
2
  //# sourceMappingURL=SlotClone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlotClone.js","sources":["../../../../../../lib/shared/ui/slot/ui/SlotClone.tsx"],"sourcesContent":["import { Children, cloneElement, forwardRef, isValidElement } from 'react'\nimport { getElementRef, mergeProps } from '../model'\nimport { mergeRefs } from '$/shared/utils'\n\nexport type SlotCloneProps = {\n children: React.ReactNode\n}\n\nexport const SlotClone = forwardRef<any, SlotCloneProps>(({ children, ...props }, ref) => {\n if (isValidElement(children)) {\n const childrenRef = getElementRef(children)\n\n return cloneElement(children, {\n ...mergeProps(props, children.props),\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n ref: ref ? mergeRefs(ref, childrenRef) : childrenRef\n })\n }\n\n return Children.count(children) > 1 ? Children.only(null) : null\n})\nSlotClone.displayName = 'SlotClone'\n"],"names":["SlotClone","forwardRef","children","props","ref","isValidElement","childrenRef","getElementRef","cloneElement","mergeProps","mergeRefs","Children"],"mappings":"6PAQO,MAAMA,EAAYC,EAAgC,CAAC,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAASC,IAAQ,CACxF,GAAIC,EAAeH,CAAQ,EAAG,CAC5B,MAAMI,EAAcC,EAAcL,CAAQ,EAE1C,OAAOM,EAAaN,EAAU,CAC5B,GAAGO,EAAWN,EAAOD,EAAS,KAAK,EAGnC,IAAKE,EAAMM,EAAUN,EAAKE,CAAW,EAAIA,CAAA,CAC1C,CACH,CAEA,OAAOK,EAAS,MAAMT,CAAQ,EAAI,EAAIS,EAAS,KAAK,IAAI,EAAI,IAC9D,CAAC,EACDX,EAAU,YAAc"}
1
+ {"version":3,"file":"SlotClone.js","sources":["../../../../../../lib/shared/ui/slot/ui/SlotClone.tsx"],"sourcesContent":["import { Children, cloneElement, forwardRef, isValidElement } from 'react'\nimport { getElementRef } from '../model/getElementRef'\nimport { mergeProps } from '../model/mergeProps'\nimport { mergeRefs } from '$/shared/utils'\n\nexport type SlotCloneProps = {\n children: React.ReactNode\n}\n\nexport const SlotClone = forwardRef<any, SlotCloneProps>(({ children, ...props }, ref) => {\n if (isValidElement(children)) {\n const childrenRef = getElementRef(children)\n\n return cloneElement(children, {\n ...mergeProps(props, children.props),\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n ref: ref ? mergeRefs(ref, childrenRef) : childrenRef\n })\n }\n\n return Children.count(children) > 1 ? Children.only(null) : null\n})\nSlotClone.displayName = 'SlotClone'\n"],"names":["SlotClone","forwardRef","children","props","ref","isValidElement","childrenRef","getElementRef","cloneElement","mergeProps","mergeRefs","Children"],"mappings":"6PASO,MAAMA,EAAYC,EAAgC,CAAC,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAASC,IAAQ,CACxF,GAAIC,EAAeH,CAAQ,EAAG,CAC5B,MAAMI,EAAcC,EAAcL,CAAQ,EAE1C,OAAOM,EAAaN,EAAU,CAC5B,GAAGO,EAAWN,EAAOD,EAAS,KAAK,EAGnC,IAAKE,EAAMM,EAAUN,EAAKE,CAAW,EAAIA,CAAA,CAC1C,CACH,CAEA,OAAOK,EAAS,MAAMT,CAAQ,EAAI,EAAIS,EAAS,KAAK,IAAI,EAAI,IAC9D,CAAC,EACDX,EAAU,YAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabContent.js","sources":["../../../../../../lib/shared/ui/tabSwitcher/ui/TabContent.tsx"],"sourcesContent":["import * as TabPrimitive from '@radix-ui/react-tabs'\nimport { Accordion } from '../../accordion'\nimport type { ITabContent } from '../model/types'\nimport { cn } from '$/shared/utils'\n\nexport type TabContentClasses = {\n content?: string\n contentsWrapper?: string\n}\n\nexport interface TabContentProps {\n contents: ITabContent[]\n classes?: TabContentClasses\n}\n\nexport const TabContent = ({ classes, contents }: TabContentProps) => {\n return (\n <div className={cn('flex flex-col gap-4', classes?.contentsWrapper)}>\n {contents?.map(({ id, body, accordion }) => {\n if (accordion && accordion?.title) {\n return (\n <TabPrimitive.Content key={id} value={id} className={cn('py-8', classes?.content)}>\n <Accordion label={accordion?.title}>{body}</Accordion>\n </TabPrimitive.Content>\n )\n }\n\n return (\n <TabPrimitive.Content key={id} value={id} className={cn('py-8', classes?.content)}>\n {body}\n </TabPrimitive.Content>\n )\n })}\n </div>\n )\n}\n"],"names":["TabContent","classes","contents","jsx","cn","id","body","accordion","TabPrimitive","Accordion"],"mappings":"kLAeO,MAAMA,EAAa,CAAC,CAAE,QAAAC,EAAS,SAAAC,KAElCC,EAAC,MAAA,CAAI,UAAWC,EAAG,sBAAuBH,GAAS,eAAe,EAC/D,SAAAC,GAAU,IAAI,CAAC,CAAE,GAAAG,EAAI,KAAAC,EAAM,UAAAC,KACtBA,GAAaA,GAAW,QAEvBC,EAAa,QAAb,CAA8B,MAAOH,EAAI,UAAWD,EAAG,OAAQH,GAAS,OAAO,EAC9E,WAACQ,EAAA,CAAU,MAAOF,GAAW,MAAQ,SAAAD,CAAA,CAAK,GADjBD,CAE3B,EAKFF,EAACK,EAAa,QAAb,CAA8B,MAAOH,EAAI,UAAWD,EAAG,OAAQH,GAAS,OAAO,EAC7E,YADwBI,CAE3B,CAEH,CAAA,CACH"}
1
+ {"version":3,"file":"TabContent.js","sources":["../../../../../../lib/shared/ui/tabSwitcher/ui/TabContent.tsx"],"sourcesContent":["import * as TabPrimitive from '@radix-ui/react-tabs'\nimport { Accordion, type ITabContent } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TabContentClasses = {\n content?: string\n contentsWrapper?: string\n}\n\nexport interface TabContentProps {\n contents: ITabContent[]\n classes?: TabContentClasses\n}\n\nexport const TabContent = ({ classes, contents }: TabContentProps) => {\n return (\n <div className={cn('flex flex-col gap-4', classes?.contentsWrapper)}>\n {contents?.map(({ id, body, accordion }) => {\n if (accordion && accordion?.title) {\n return (\n <TabPrimitive.Content key={id} value={id} className={cn('py-8', classes?.content)}>\n <Accordion label={accordion?.title}>{body}</Accordion>\n </TabPrimitive.Content>\n )\n }\n\n return (\n <TabPrimitive.Content key={id} value={id} className={cn('py-8', classes?.content)}>\n {body}\n </TabPrimitive.Content>\n )\n })}\n </div>\n )\n}\n"],"names":["TabContent","classes","contents","jsx","cn","id","body","accordion","TabPrimitive","Accordion"],"mappings":"kLAcO,MAAMA,EAAa,CAAC,CAAE,QAAAC,EAAS,SAAAC,KAElCC,EAAC,MAAA,CAAI,UAAWC,EAAG,sBAAuBH,GAAS,eAAe,EAC/D,SAAAC,GAAU,IAAI,CAAC,CAAE,GAAAG,EAAI,KAAAC,EAAM,UAAAC,KACtBA,GAAaA,GAAW,QAEvBC,EAAa,QAAb,CAA8B,MAAOH,EAAI,UAAWD,EAAG,OAAQH,GAAS,OAAO,EAC9E,WAACQ,EAAA,CAAU,MAAOF,GAAW,MAAQ,SAAAD,CAAA,CAAK,GADjBD,CAE3B,EAKFF,EAACK,EAAa,QAAb,CAA8B,MAAOH,EAAI,UAAWD,EAAG,OAAQH,GAAS,OAAO,EAC7E,YADwBI,CAE3B,CAEH,CAAA,CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"scrollToElement.js","sources":["../../../../lib/shared/utils/scrollToElement.ts"],"sourcesContent":["import type { AllowedWidgets } from '$/widgets'\n\ntype ScrollConfig = {\n behavior?: ScrollBehavior\n block?: ScrollLogicalPosition\n}\n\ntype ScrollElement = {\n widgetId: AllowedWidgets\n config?: ScrollConfig\n}\n\nconst DEFAULT_SCROLL_CONFIG: Required<ScrollConfig> = {\n behavior: 'smooth',\n block: 'center'\n}\n\nexport const scrollToElement = ({ widgetId, config = {} }: ScrollElement) => {\n const { behavior, block } = { ...DEFAULT_SCROLL_CONFIG, ...config }\n\n const element = document.getElementById(widgetId)\n if (!element) {\n console.error('Такого элемента в DOM не существует', widgetId)\n return\n }\n\n element.scrollIntoView({ behavior, block })\n}\n"],"names":["DEFAULT_SCROLL_CONFIG","scrollToElement","widgetId","config","behavior","block","element"],"mappings":"AAYA,MAAMA,EAAgD,CACpD,SAAU,SACV,MAAO,QACT,EAEaC,EAAkB,CAAC,CAAE,SAAAC,EAAU,OAAAC,EAAS,CAAA,KAAwB,CAC3E,KAAM,CAAE,SAAAC,EAAU,MAAAC,CAAA,EAAU,CAAE,GAAGL,EAAuB,GAAGG,CAAA,EAErDG,EAAU,SAAS,eAAeJ,CAAQ,EAChD,GAAI,CAACI,EAAS,CACZ,QAAQ,MAAM,sCAAuCJ,CAAQ,EAC7D,MACF,CAEAI,EAAQ,eAAe,CAAE,SAAAF,EAAU,MAAAC,CAAA,CAAO,CAC5C"}
1
+ {"version":3,"file":"scrollToElement.js","sources":["../../../../lib/shared/utils/scrollToElement.ts"],"sourcesContent":["import type { AllowedWidgets } from '$/widgets/model'\n\ntype ScrollConfig = {\n behavior?: ScrollBehavior\n block?: ScrollLogicalPosition\n}\n\ntype ScrollElement = {\n widgetId: AllowedWidgets\n config?: ScrollConfig\n}\n\nconst DEFAULT_SCROLL_CONFIG: Required<ScrollConfig> = {\n behavior: 'smooth',\n block: 'center'\n}\n\nexport const scrollToElement = ({ widgetId, config = {} }: ScrollElement) => {\n const { behavior, block } = { ...DEFAULT_SCROLL_CONFIG, ...config }\n\n const element = document.getElementById(widgetId)\n if (!element) {\n console.error('Такого элемента в DOM не существует', widgetId)\n return\n }\n\n element.scrollIntoView({ behavior, block })\n}\n"],"names":["DEFAULT_SCROLL_CONFIG","scrollToElement","widgetId","config","behavior","block","element"],"mappings":"AAYA,MAAMA,EAAgD,CACpD,SAAU,SACV,MAAO,QACT,EAEaC,EAAkB,CAAC,CAAE,SAAAC,EAAU,OAAAC,EAAS,CAAA,KAAwB,CAC3E,KAAM,CAAE,SAAAC,EAAU,MAAAC,CAAA,EAAU,CAAE,GAAGL,EAAuB,GAAGG,CAAA,EAErDG,EAAU,SAAS,eAAeJ,CAAQ,EAChD,GAAI,CAACI,EAAS,CACZ,QAAQ,MAAM,sCAAuCJ,CAAQ,EAC7D,MACF,CAEAI,EAAQ,eAAe,CAAE,SAAAF,EAAU,MAAAC,CAAA,CAAO,CAC5C"}
@@ -1,2 +1,2 @@
1
- import{Banner as a}from"./Banner.js";import{BannerWithSeparateImg as o}from"./ui/banners/BannerWithSeparateImg.js";export{a as Banner,o as BannerWithSeparateImg};
1
+ import{Banner as n}from"./Banner.js";export{n as Banner};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{jsxs as r,Fragment as f,jsx as e}from"react/jsx-runtime";import{cn as l}from"../../../../shared/utils/cn.js";import{Buttons as b}from"./ui/Buttons.js";import{Advantages as s}from"./ui/Advantages.js";import{useDevice as u}from"../../../../shared/hooks/useDevice.js";import{widgetIds as n}from"../../../model/helpers.js";import{ResponsiveContainer as x}from"../../../../shared/ui/responsiveContainer/ResponsiveContainer.js";const I=({headTitle:a,subtitle:c,buttonsConfig:m,advantages:t,classes:o,images:d,backgroundColor:p})=>{const{isMobile:h}=u(),i=t?.details&&t?.details?.items.length>0;return r(f,{children:[r("section",{id:n.banner,"data-test-id":n.banner,style:{backgroundColor:p??"#d9edff"},className:l("relative h-[552px] desktop:h-[456px]",o?.root),children:[e("div",{className:"absolute bottom-0 left-0 right-0 top-0 mx-auto h-full max-w-[1920px] desktop:h-[456px]",children:h?e("img",{loading:"eager",fetchPriority:"high",src:d?.mobile,className:"h-full w-full object-cover object-center",alt:d?.alt}):e("img",{loading:"eager",fetchPriority:"high",src:d?.desktop,alt:d?.alt,className:"h-full w-full object-cover object-center"})}),r(x,{className:l("h-full",o?.container),children:[e("div",{className:l("flex h-full",o?.wrapper),children:r("div",{className:l("flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20",o?.textBlock),children:[r("div",{className:"z-10 flex flex-col gap-4",children:[e("div",{dangerouslySetInnerHTML:{__html:a},className:l("mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l",o?.title)}),e("div",{dangerouslySetInnerHTML:{__html:c},className:l("desk-body-regular-l text-color-dark",o?.subtitle)})]}),e(b,{buttonConfig:m})]})}),t?.enabled&&i&&e(s,{classes:{root:"mobile:hidden desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:rounded-md desktop:p-0"},...t})]})]}),t?.enabled&&i&&e(s,{classes:{root:"px-4 pt-4 mobile:bg-color-white desktop:hidden"},...t})]})};export{I as BannerImageFull};
1
+ import{jsxs as r,Fragment as h,jsx as e}from"react/jsx-runtime";import{cn as l}from"../../../../shared/utils/cn.js";import{Buttons as f}from"./ui/Buttons.js";import{Advantages as s}from"./ui/Advantages.js";import{useDevice as b}from"../../../../shared/hooks/useDevice.js";import{ResponsiveContainer as u}from"../../../../shared/ui/responsiveContainer/ResponsiveContainer.js";const j=({headTitle:n,subtitle:a,buttonsConfig:c,advantages:t,classes:o,images:d,backgroundColor:p})=>{const{isMobile:m}=b(),i=t?.details&&t?.details?.items.length>0;return r(h,{children:[r("section",{id:"banner","data-test-id":"banner",style:{backgroundColor:p??"#d9edff"},className:l("relative h-[552px] desktop:h-[456px]",o?.root),children:[e("div",{className:"absolute bottom-0 left-0 right-0 top-0 mx-auto h-full max-w-[1920px] desktop:h-[456px]",children:m?e("img",{loading:"eager",fetchPriority:"high",src:d?.mobile,className:"h-full w-full object-cover object-center",alt:d?.alt}):e("img",{loading:"eager",fetchPriority:"high",src:d?.desktop,alt:d?.alt,className:"h-full w-full object-cover object-center"})}),r(u,{className:l("h-full",o?.container),children:[e("div",{className:l("flex h-full",o?.wrapper),children:r("div",{className:l("flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20",o?.textBlock),children:[r("div",{className:"z-10 flex flex-col gap-4",children:[e("div",{dangerouslySetInnerHTML:{__html:n},className:l("mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l",o?.title)}),e("div",{dangerouslySetInnerHTML:{__html:a},className:l("desk-body-regular-l text-color-dark",o?.subtitle)})]}),e(f,{buttonConfig:c})]})}),t?.enabled&&i&&e(s,{classes:{root:"mobile:hidden desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:rounded-md desktop:p-0"},...t})]})]}),t?.enabled&&i&&e(s,{classes:{root:"px-4 pt-4 mobile:bg-color-white desktop:hidden"},...t})]})};export{j as BannerImageFull};
2
2
  //# sourceMappingURL=BannerImageFull.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BannerImageFull.js","sources":["../../../../../../lib/widgets/banner/ui/banners/BannerImageFull.tsx"],"sourcesContent":["'use client'\n\nimport { Advantages, Buttons } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type BannerProps, widgetIds } from '$/widgets'\n\nexport const BannerImageFull = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantages,\n classes,\n images,\n backgroundColor\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isMobile } = useDevice()\n\n const advantagesExist = advantages?.details && advantages?.details?.items.length > 0\n\n return (\n <>\n <section\n id={widgetIds.banner}\n data-test-id={widgetIds.banner}\n style={{ backgroundColor: backgroundColor ?? '#d9edff' }}\n className={cn('relative h-[552px] desktop:h-[456px]', classes?.root)}\n >\n <div className='absolute bottom-0 left-0 right-0 top-0 mx-auto h-full max-w-[1920px] desktop:h-[456px]'>\n {isMobile ? (\n <img\n loading='eager'\n fetchPriority='high'\n src={images?.mobile}\n className='h-full w-full object-cover object-center'\n alt={images?.alt}\n />\n ) : (\n <img\n loading='eager'\n fetchPriority='high'\n src={images?.desktop}\n alt={images?.alt}\n className='h-full w-full object-cover object-center'\n />\n )}\n </div>\n\n <ResponsiveContainer className={cn('h-full', classes?.container)}>\n <div className={cn('flex h-full', classes?.wrapper)}>\n <div className={cn('flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20', classes?.textBlock)}>\n <div className='z-10 flex flex-col gap-4'>\n <div\n dangerouslySetInnerHTML={{ __html: headTitle }}\n className={cn('mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l', classes?.title)}\n />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}\n />\n </div>\n\n <Buttons buttonConfig={buttonsConfig} />\n </div>\n </div>\n\n {advantages?.enabled && advantagesExist && (\n <Advantages\n classes={{\n root: 'mobile:hidden desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:rounded-md desktop:p-0'\n }}\n {...advantages}\n />\n )}\n </ResponsiveContainer>\n </section>\n {advantages?.enabled && advantagesExist && (\n <Advantages\n classes={{\n root: 'px-4 pt-4 mobile:bg-color-white desktop:hidden'\n }}\n {...advantages}\n />\n )}\n </>\n )\n}\n"],"names":["BannerImageFull","headTitle","subtitle","buttonsConfig","advantages","classes","images","backgroundColor","isMobile","useDevice","advantagesExist","jsxs","Fragment","widgetIds","cn","jsx","ResponsiveContainer","Buttons","Advantages"],"mappings":"6aAQO,MAAMA,EAAkB,CAAC,CAC9B,UAAAC,EACA,SAAAC,EACA,cAAAC,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,EACA,gBAAAC,CACF,IAA0C,CACxC,KAAM,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAEfC,EAAkBN,GAAY,SAAWA,GAAY,SAAS,MAAM,OAAS,EAEnF,OACEO,EAAAC,EAAA,CACE,SAAA,CAAAD,EAAC,UAAA,CACC,GAAIE,EAAU,OACd,eAAcA,EAAU,OACxB,MAAO,CAAE,gBAAiBN,GAAmB,SAAA,EAC7C,UAAWO,EAAG,uCAAwCT,GAAS,IAAI,EAEnE,SAAA,CAAAU,EAAC,MAAA,CAAI,UAAU,yFACZ,SAAAP,EACCO,EAAC,MAAA,CACC,QAAQ,QACR,cAAc,OACd,IAAKT,GAAQ,OACb,UAAU,2CACV,IAAKA,GAAQ,GAAA,CAAA,EAGfS,EAAC,MAAA,CACC,QAAQ,QACR,cAAc,OACd,IAAKT,GAAQ,QACb,IAAKA,GAAQ,IACb,UAAU,0CAAA,CAAA,EAGhB,IAECU,EAAA,CAAoB,UAAWF,EAAG,SAAUT,GAAS,SAAS,EAC7D,SAAA,CAAAU,EAAC,MAAA,CAAI,UAAWD,EAAG,cAAeT,GAAS,OAAO,EAChD,SAAAM,EAAC,MAAA,CAAI,UAAWG,EAAG,mEAAoET,GAAS,SAAS,EACvG,SAAA,CAAAM,EAAC,MAAA,CAAI,UAAU,2BACb,SAAA,CAAAI,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQd,CAAA,EACnC,UAAWa,EAAG,mEAAoET,GAAS,KAAK,CAAA,CAAA,EAElGU,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQb,CAAA,EACnC,UAAWY,EAAG,sCAAuCT,GAAS,QAAQ,CAAA,CAAA,CACxE,EACF,EAEAU,EAACE,EAAA,CAAQ,aAAcd,CAAA,CAAe,CAAA,CAAA,CACxC,CAAA,CACF,EAECC,GAAY,SAAWM,GACtBK,EAACG,EAAA,CACC,QAAS,CACP,KAAM,gIAAA,EAEP,GAAGd,CAAA,CAAA,CACN,CAAA,CAEJ,CAAA,CAAA,CAAA,EAEDA,GAAY,SAAWM,GACtBK,EAACG,EAAA,CACC,QAAS,CACP,KAAM,gDAAA,EAEP,GAAGd,CAAA,CAAA,CACN,EAEJ,CAEJ"}
1
+ {"version":3,"file":"BannerImageFull.js","sources":["../../../../../../lib/widgets/banner/ui/banners/BannerImageFull.tsx"],"sourcesContent":["import { Advantages, Buttons } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type BannerProps } from '$/widgets'\n\nexport const BannerImageFull = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantages,\n classes,\n images,\n backgroundColor\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const { isMobile } = useDevice()\n\n const advantagesExist = advantages?.details && advantages?.details?.items.length > 0\n\n return (\n <>\n <section\n id='banner'\n data-test-id='banner'\n style={{ backgroundColor: backgroundColor ?? '#d9edff' }}\n className={cn('relative h-[552px] desktop:h-[456px]', classes?.root)}\n >\n <div className='absolute bottom-0 left-0 right-0 top-0 mx-auto h-full max-w-[1920px] desktop:h-[456px]'>\n {isMobile ? (\n <img\n loading='eager'\n fetchPriority='high'\n src={images?.mobile}\n className='h-full w-full object-cover object-center'\n alt={images?.alt}\n />\n ) : (\n <img\n loading='eager'\n fetchPriority='high'\n src={images?.desktop}\n alt={images?.alt}\n className='h-full w-full object-cover object-center'\n />\n )}\n </div>\n\n <ResponsiveContainer className={cn('h-full', classes?.container)}>\n <div className={cn('flex h-full', classes?.wrapper)}>\n <div className={cn('flex w-[328px] flex-col gap-10 pt-6 desktop:w-full desktop:pt-20', classes?.textBlock)}>\n <div className='z-10 flex flex-col gap-4'>\n <div\n dangerouslySetInnerHTML={{ __html: headTitle }}\n className={cn('mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l', classes?.title)}\n />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}\n />\n </div>\n\n <Buttons buttonConfig={buttonsConfig} />\n </div>\n </div>\n\n {advantages?.enabled && advantagesExist && (\n <Advantages\n classes={{\n root: 'mobile:hidden desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:rounded-md desktop:p-0'\n }}\n {...advantages}\n />\n )}\n </ResponsiveContainer>\n </section>\n {advantages?.enabled && advantagesExist && (\n <Advantages\n classes={{\n root: 'px-4 pt-4 mobile:bg-color-white desktop:hidden'\n }}\n {...advantages}\n />\n )}\n </>\n )\n}\n"],"names":["BannerImageFull","headTitle","subtitle","buttonsConfig","advantages","classes","images","backgroundColor","isMobile","useDevice","advantagesExist","jsxs","Fragment","cn","jsx","ResponsiveContainer","Buttons","Advantages"],"mappings":"uXAMO,MAAMA,EAAkB,CAAC,CAC9B,UAAAC,EACA,SAAAC,EACA,cAAAC,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,EACA,gBAAAC,CACF,IAA0C,CACxC,KAAM,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAEfC,EAAkBN,GAAY,SAAWA,GAAY,SAAS,MAAM,OAAS,EAEnF,OACEO,EAAAC,EAAA,CACE,SAAA,CAAAD,EAAC,UAAA,CACC,GAAG,SACH,eAAa,SACb,MAAO,CAAE,gBAAiBJ,GAAmB,SAAA,EAC7C,UAAWM,EAAG,uCAAwCR,GAAS,IAAI,EAEnE,SAAA,CAAAS,EAAC,MAAA,CAAI,UAAU,yFACZ,SAAAN,EACCM,EAAC,MAAA,CACC,QAAQ,QACR,cAAc,OACd,IAAKR,GAAQ,OACb,UAAU,2CACV,IAAKA,GAAQ,GAAA,CAAA,EAGfQ,EAAC,MAAA,CACC,QAAQ,QACR,cAAc,OACd,IAAKR,GAAQ,QACb,IAAKA,GAAQ,IACb,UAAU,0CAAA,CAAA,EAGhB,IAECS,EAAA,CAAoB,UAAWF,EAAG,SAAUR,GAAS,SAAS,EAC7D,SAAA,CAAAS,EAAC,MAAA,CAAI,UAAWD,EAAG,cAAeR,GAAS,OAAO,EAChD,SAAAM,EAAC,MAAA,CAAI,UAAWE,EAAG,mEAAoER,GAAS,SAAS,EACvG,SAAA,CAAAM,EAAC,MAAA,CAAI,UAAU,2BACb,SAAA,CAAAG,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQb,CAAA,EACnC,UAAWY,EAAG,mEAAoER,GAAS,KAAK,CAAA,CAAA,EAElGS,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQZ,CAAA,EACnC,UAAWW,EAAG,sCAAuCR,GAAS,QAAQ,CAAA,CAAA,CACxE,EACF,EAEAS,EAACE,EAAA,CAAQ,aAAcb,CAAA,CAAe,CAAA,CAAA,CACxC,CAAA,CACF,EAECC,GAAY,SAAWM,GACtBI,EAACG,EAAA,CACC,QAAS,CACP,KAAM,gIAAA,EAEP,GAAGb,CAAA,CAAA,CACN,CAAA,CAEJ,CAAA,CAAA,CAAA,EAEDA,GAAY,SAAWM,GACtBI,EAACG,EAAA,CACC,QAAS,CACP,KAAM,gDAAA,EAEP,GAAGb,CAAA,CAAA,CACN,EAEJ,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsxs as d,jsx as e}from"react/jsx-runtime";import{cn as o}from"../../../../shared/utils/cn.js";import{Buttons as h}from"./ui/Buttons.js";import{Advantages as n}from"./ui/Advantages.js";import{widgetIds as s}from"../../../model/helpers.js";import{ResponsiveContainer as k}from"../../../../shared/ui/responsiveContainer/ResponsiveContainer.js";const y=({headTitle:p,subtitle:a,buttonsConfig:c,advantages:l,classes:t,images:i,backgroundColor:m})=>{const r=l?.details&&l?.details?.items.length>0;return d("section",{id:s.banner,style:{backgroundColor:m??"#d9edff"},"data-test-id":s.banner,className:o("",t?.root),children:[d(k,{className:o("relative desktop:h-[456px]",t?.container),children:[d("div",{className:o("flex flex-col desktop:flex-row desktop:justify-between",t?.wrapper),children:[d("div",{className:"flex flex-col desktop:gap-10 desktop:pt-20",children:[d("div",{className:o("flex flex-col gap-4 pt-6 desktop:pt-0",t?.textBlock),children:[e("div",{dangerouslySetInnerHTML:{__html:p},className:o("mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l",t?.title)}),e("div",{dangerouslySetInnerHTML:{__html:a},className:o("desk-body-regular-l text-color-dark",t?.subtitle)})]}),e(h,{buttonConfig:c,classes:{group:"z-10"}})]}),e("div",{className:o("relative flex h-[356px] justify-center desktop:hidden desktop:h-[456px] desktop:w-[550px]",t?.imageContainer),children:e("img",{loading:"eager",fetchpriority:"high",src:i?.mobile,alt:i?.alt,className:"h-full object-contain"})}),e("div",{className:o("relative flex h-[356px] justify-center mobile:hidden desktop:h-[456px] desktop:w-[550px]",t?.imageContainer),children:e("img",{loading:"eager",fetchpriority:"high",src:i?.desktop,alt:i?.alt,className:"h-full object-contain"})})]}),l?.enabled&&r&&e(n,{classes:{root:"mobile:hidden desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:rounded-md desktop:p-0"},...l})]}),l?.enabled&&r&&e(n,{classes:{root:"px-4 pt-4 mobile:bg-color-white desktop:hidden"},...l})]})};export{y as BannerWithSeparateImg};
1
+ import{jsxs as d,jsx as e}from"react/jsx-runtime";import{cn as o}from"../../../../shared/utils/cn.js";import{Buttons as m}from"./ui/Buttons.js";import{Advantages as n}from"./ui/Advantages.js";import{ResponsiveContainer as h}from"../../../../shared/ui/responsiveContainer/ResponsiveContainer.js";const u=({headTitle:s,subtitle:a,buttonsConfig:p,advantages:l,classes:t,images:i,backgroundColor:c})=>{const r=l?.details&&l?.details?.items.length>0;return d("section",{id:"banner",style:{backgroundColor:c??"#d9edff"},"data-test-id":"banner",className:o("",t?.root),children:[d(h,{className:o("relative desktop:h-[456px]",t?.container),children:[d("div",{className:o("flex flex-col desktop:flex-row desktop:justify-between",t?.wrapper),children:[d("div",{className:"flex flex-col desktop:gap-10 desktop:pt-20",children:[d("div",{className:o("flex flex-col gap-4 pt-6 desktop:pt-0",t?.textBlock),children:[e("div",{dangerouslySetInnerHTML:{__html:s},className:o("mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l",t?.title)}),e("div",{dangerouslySetInnerHTML:{__html:a},className:o("desk-body-regular-l text-color-dark",t?.subtitle)})]}),e(m,{buttonConfig:p,classes:{group:"z-10"}})]}),e("div",{className:o("relative flex h-[356px] justify-center desktop:hidden desktop:h-[456px] desktop:w-[550px]",t?.imageContainer),children:e("img",{loading:"eager",fetchpriority:"high",src:i?.mobile,alt:i?.alt,className:"h-full object-contain"})}),e("div",{className:o("relative flex h-[356px] justify-center mobile:hidden desktop:h-[456px] desktop:w-[550px]",t?.imageContainer),children:e("img",{loading:"eager",fetchpriority:"high",src:i?.desktop,alt:i?.alt,className:"h-full object-contain"})})]}),l?.enabled&&r&&e(n,{classes:{root:"mobile:hidden desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:rounded-md desktop:p-0"},...l})]}),l?.enabled&&r&&e(n,{classes:{root:"px-4 pt-4 mobile:bg-color-white desktop:hidden"},...l})]})};export{u as BannerWithSeparateImg};
2
2
  //# sourceMappingURL=BannerWithSeparateImg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BannerWithSeparateImg.js","sources":["../../../../../../lib/widgets/banner/ui/banners/BannerWithSeparateImg.tsx"],"sourcesContent":["/* eslint-disable react/no-unknown-property */\nimport { Advantages, Buttons } from './ui'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type BannerProps, widgetIds } from '$/widgets'\n\nexport const BannerWithSeparateImg = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantages,\n classes,\n images,\n backgroundColor\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const advantagesExist = advantages?.details && advantages?.details?.items.length > 0\n\n return (\n <section\n id={widgetIds.banner}\n style={{ backgroundColor: backgroundColor ?? '#d9edff' }}\n data-test-id={widgetIds.banner}\n className={cn('', classes?.root)}\n >\n <ResponsiveContainer className={cn('relative desktop:h-[456px]', classes?.container)}>\n <div className={cn('flex flex-col desktop:flex-row desktop:justify-between', classes?.wrapper)}>\n <div className='flex flex-col desktop:gap-10 desktop:pt-20'>\n <div className={cn('flex flex-col gap-4 pt-6 desktop:pt-0', classes?.textBlock)}>\n <div\n dangerouslySetInnerHTML={{ __html: headTitle }}\n className={cn('mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l', classes?.title)}\n />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}\n />\n </div>\n\n <Buttons\n buttonConfig={buttonsConfig}\n classes={{\n group: 'z-10'\n }}\n />\n </div>\n\n <div\n className={cn(\n 'relative flex h-[356px] justify-center desktop:hidden desktop:h-[456px] desktop:w-[550px]',\n classes?.imageContainer\n )}\n >\n {/* @ts-expect-error fetchpriority */}\n <img loading='eager' fetchpriority='high' src={images?.mobile} alt={images?.alt} className='h-full object-contain' />\n </div>\n\n <div\n className={cn(\n 'relative flex h-[356px] justify-center mobile:hidden desktop:h-[456px] desktop:w-[550px]',\n classes?.imageContainer\n )}\n >\n {/* @ts-expect-error fetchpriority */}\n <img loading='eager' fetchpriority='high' src={images?.desktop} alt={images?.alt} className='h-full object-contain' />\n </div>\n </div>\n\n {advantages?.enabled && advantagesExist && (\n <Advantages\n classes={{\n root: 'mobile:hidden desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:rounded-md desktop:p-0'\n }}\n {...advantages}\n />\n )}\n </ResponsiveContainer>\n\n {advantages?.enabled && advantagesExist && (\n <Advantages\n classes={{\n root: 'px-4 pt-4 mobile:bg-color-white desktop:hidden'\n }}\n {...advantages}\n />\n )}\n </section>\n )\n}\n"],"names":["BannerWithSeparateImg","headTitle","subtitle","buttonsConfig","advantages","classes","images","backgroundColor","advantagesExist","jsxs","widgetIds","cn","ResponsiveContainer","jsx","Buttons","Advantages"],"mappings":"6VAMO,MAAMA,EAAwB,CAAC,CACpC,UAAAC,EACA,SAAAC,EACA,cAAAC,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,EACA,gBAAAC,CACF,IAA0C,CACxC,MAAMC,EAAkBJ,GAAY,SAAWA,GAAY,SAAS,MAAM,OAAS,EAEnF,OACEK,EAAC,UAAA,CACC,GAAIC,EAAU,OACd,MAAO,CAAE,gBAAiBH,GAAmB,SAAA,EAC7C,eAAcG,EAAU,OACxB,UAAWC,EAAG,GAAIN,GAAS,IAAI,EAE/B,SAAA,CAAAI,EAACG,GAAoB,UAAWD,EAAG,6BAA8BN,GAAS,SAAS,EACjF,SAAA,CAAAI,EAAC,OAAI,UAAWE,EAAG,yDAA0DN,GAAS,OAAO,EAC3F,SAAA,CAAAI,EAAC,MAAA,CAAI,UAAU,6CACb,SAAA,CAAAA,EAAC,OAAI,UAAWE,EAAG,wCAAyCN,GAAS,SAAS,EAC5E,SAAA,CAAAQ,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQZ,CAAA,EACnC,UAAWU,EAAG,mEAAoEN,GAAS,KAAK,CAAA,CAAA,EAElGQ,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQX,CAAA,EACnC,UAAWS,EAAG,sCAAuCN,GAAS,QAAQ,CAAA,CAAA,CACxE,EACF,EAEAQ,EAACC,EAAA,CACC,aAAcX,EACd,QAAS,CACP,MAAO,MAAA,CACT,CAAA,CACF,EACF,EAEAU,EAAC,MAAA,CACC,UAAWF,EACT,4FACAN,GAAS,cAAA,EAIX,SAAAQ,EAAC,MAAA,CAAI,QAAQ,QAAQ,cAAc,OAAO,IAAKP,GAAQ,OAAQ,IAAKA,GAAQ,IAAK,UAAU,uBAAA,CAAwB,CAAA,CAAA,EAGrHO,EAAC,MAAA,CACC,UAAWF,EACT,2FACAN,GAAS,cAAA,EAIX,SAAAQ,EAAC,MAAA,CAAI,QAAQ,QAAQ,cAAc,OAAO,IAAKP,GAAQ,QAAS,IAAKA,GAAQ,IAAK,UAAU,uBAAA,CAAwB,CAAA,CAAA,CACtH,EACF,EAECF,GAAY,SAAWI,GACtBK,EAACE,EAAA,CACC,QAAS,CACP,KAAM,gIAAA,EAEP,GAAGX,CAAA,CAAA,CACN,EAEJ,EAECA,GAAY,SAAWI,GACtBK,EAACE,EAAA,CACC,QAAS,CACP,KAAM,gDAAA,EAEP,GAAGX,CAAA,CAAA,CACN,CAAA,CAAA,CAIR"}
1
+ {"version":3,"file":"BannerWithSeparateImg.js","sources":["../../../../../../lib/widgets/banner/ui/banners/BannerWithSeparateImg.tsx"],"sourcesContent":["/* eslint-disable react/no-unknown-property */\nimport { Advantages, Buttons } from './ui'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type BannerProps } from '$/widgets'\n\nexport const BannerWithSeparateImg = ({\n headTitle,\n subtitle,\n buttonsConfig,\n advantages,\n classes,\n images,\n backgroundColor\n}: Omit<BannerProps, 'bannerVariant'>) => {\n const advantagesExist = advantages?.details && advantages?.details?.items.length > 0\n\n return (\n <section\n id='banner'\n style={{ backgroundColor: backgroundColor ?? '#d9edff' }}\n data-test-id='banner'\n className={cn('', classes?.root)}\n >\n <ResponsiveContainer className={cn('relative desktop:h-[456px]', classes?.container)}>\n <div className={cn('flex flex-col desktop:flex-row desktop:justify-between', classes?.wrapper)}>\n <div className='flex flex-col desktop:gap-10 desktop:pt-20'>\n <div className={cn('flex flex-col gap-4 pt-6 desktop:pt-0', classes?.textBlock)}>\n <div\n dangerouslySetInnerHTML={{ __html: headTitle }}\n className={cn('mob-headline-bold-m text-color-dark desktop:desk-headline-bold-l', classes?.title)}\n />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}\n />\n </div>\n\n <Buttons\n buttonConfig={buttonsConfig}\n classes={{\n group: 'z-10'\n }}\n />\n </div>\n\n <div\n className={cn(\n 'relative flex h-[356px] justify-center desktop:hidden desktop:h-[456px] desktop:w-[550px]',\n classes?.imageContainer\n )}\n >\n {/* @ts-expect-error fetchpriority */}\n <img loading='eager' fetchpriority='high' src={images?.mobile} alt={images?.alt} className='h-full object-contain' />\n </div>\n\n <div\n className={cn(\n 'relative flex h-[356px] justify-center mobile:hidden desktop:h-[456px] desktop:w-[550px]',\n classes?.imageContainer\n )}\n >\n {/* @ts-expect-error fetchpriority */}\n <img loading='eager' fetchpriority='high' src={images?.desktop} alt={images?.alt} className='h-full object-contain' />\n </div>\n </div>\n\n {advantages?.enabled && advantagesExist && (\n <Advantages\n classes={{\n root: 'mobile:hidden desktop:absolute desktop:bottom-[-50px] desktop:right-1/2 desktop:translate-x-1/2 desktop:rounded-md desktop:p-0'\n }}\n {...advantages}\n />\n )}\n </ResponsiveContainer>\n\n {advantages?.enabled && advantagesExist && (\n <Advantages\n classes={{\n root: 'px-4 pt-4 mobile:bg-color-white desktop:hidden'\n }}\n {...advantages}\n />\n )}\n </section>\n )\n}\n"],"names":["BannerWithSeparateImg","headTitle","subtitle","buttonsConfig","advantages","classes","images","backgroundColor","advantagesExist","jsxs","cn","ResponsiveContainer","jsx","Buttons","Advantages"],"mappings":"uSAMO,MAAMA,EAAwB,CAAC,CACpC,UAAAC,EACA,SAAAC,EACA,cAAAC,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,EACA,gBAAAC,CACF,IAA0C,CACxC,MAAMC,EAAkBJ,GAAY,SAAWA,GAAY,SAAS,MAAM,OAAS,EAEnF,OACEK,EAAC,UAAA,CACC,GAAG,SACH,MAAO,CAAE,gBAAiBF,GAAmB,SAAA,EAC7C,eAAa,SACb,UAAWG,EAAG,GAAIL,GAAS,IAAI,EAE/B,SAAA,CAAAI,EAACE,GAAoB,UAAWD,EAAG,6BAA8BL,GAAS,SAAS,EACjF,SAAA,CAAAI,EAAC,OAAI,UAAWC,EAAG,yDAA0DL,GAAS,OAAO,EAC3F,SAAA,CAAAI,EAAC,MAAA,CAAI,UAAU,6CACb,SAAA,CAAAA,EAAC,OAAI,UAAWC,EAAG,wCAAyCL,GAAS,SAAS,EAC5E,SAAA,CAAAO,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQX,CAAA,EACnC,UAAWS,EAAG,mEAAoEL,GAAS,KAAK,CAAA,CAAA,EAElGO,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQV,CAAA,EACnC,UAAWQ,EAAG,sCAAuCL,GAAS,QAAQ,CAAA,CAAA,CACxE,EACF,EAEAO,EAACC,EAAA,CACC,aAAcV,EACd,QAAS,CACP,MAAO,MAAA,CACT,CAAA,CACF,EACF,EAEAS,EAAC,MAAA,CACC,UAAWF,EACT,4FACAL,GAAS,cAAA,EAIX,SAAAO,EAAC,MAAA,CAAI,QAAQ,QAAQ,cAAc,OAAO,IAAKN,GAAQ,OAAQ,IAAKA,GAAQ,IAAK,UAAU,uBAAA,CAAwB,CAAA,CAAA,EAGrHM,EAAC,MAAA,CACC,UAAWF,EACT,2FACAL,GAAS,cAAA,EAIX,SAAAO,EAAC,MAAA,CAAI,QAAQ,QAAQ,cAAc,OAAO,IAAKN,GAAQ,QAAS,IAAKA,GAAQ,IAAK,UAAU,uBAAA,CAAwB,CAAA,CAAA,CACtH,EACF,EAECF,GAAY,SAAWI,GACtBI,EAACE,EAAA,CACC,QAAS,CACP,KAAM,gIAAA,EAEP,GAAGV,CAAA,CAAA,CACN,EAEJ,EAECA,GAAY,SAAWI,GACtBI,EAACE,EAAA,CACC,QAAS,CACP,KAAM,gDAAA,EAEP,GAAGV,CAAA,CAAA,CACN,CAAA,CAAA,CAIR"}
@@ -1,2 +1,2 @@
1
- import{jsx as r,jsxs as n}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";import{BenefitItem as l}from"./ui/BenefitItem.js";import{cn as o}from"../../shared/utils/cn.js";import{widgetIds as d}from"../model/helpers.js";import{ResponsiveContainer as p}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";const g=a("grid gap-4",{variants:{variant:{twoCards:"grid-cols-1 mobile:grid-rows-[repeat(2,400px)] desktop:grid-cols-2",threeCards:"grid-cols-1 desktop:grid-cols-2",fourCards:"grid-cols-1 mobile:grid-rows-[400px,1fr,1fr,400px] desktop:grid-cols-3"}}}),u=({headline:s,details:m,variant:i,classes:e})=>r("section",{id:d.benefit,"data-test-id":d.benefit,className:o(e?.root),children:n(p,{className:e?.container,children:[r("div",{dangerouslySetInnerHTML:{__html:s},className:o("mob-headline-bold-s mb-8 desktop:desk-headline-bold-m",e?.heading)}),r("ul",{className:o(g({variant:i}),e?.grid),children:m?.map(t=>r(l,{variant:i,classes:e?.item,...t},t.title))})]})});export{u as Benefit,u as default};
1
+ import{jsx as r,jsxs as n}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";import{BenefitItem as m}from"./ui/BenefitItem.js";import{cn as o}from"../../shared/utils/cn.js";import{ResponsiveContainer as l}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";const p=a("grid gap-4",{variants:{variant:{twoCards:"grid-cols-1 mobile:grid-rows-[repeat(2,400px)] desktop:grid-cols-2",threeCards:"grid-cols-1 desktop:grid-cols-2",fourCards:"grid-cols-1 mobile:grid-rows-[400px,1fr,1fr,400px] desktop:grid-cols-3"}}}),x=({headline:d,details:s,variant:i,classes:e})=>r("section",{id:"benefit","data-test-id":"benefit",className:o(e?.root),children:n(l,{className:e?.container,children:[r("div",{dangerouslySetInnerHTML:{__html:d},className:o("mob-headline-bold-s mb-8 desktop:desk-headline-bold-m",e?.heading)}),r("ul",{className:o(p({variant:i}),e?.grid),children:s?.map(t=>r(m,{variant:i,classes:e?.item,...t},t.title))})]})});export{x as Benefit,x as default};
2
2
  //# sourceMappingURL=Benefit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Benefit.js","sources":["../../../../lib/widgets/benefit/Benefit.tsx"],"sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport { widgetIds } from '../model'\nimport { type Details } from './model/types'\nimport { BenefitItem, type BenefitItemClasses } from './ui/BenefitItem'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type BenefitClasses = {\n root?: string\n container?: string\n item?: BenefitItemClasses\n heading?: string\n grid?: string\n}\n\nconst gridConfig = cva('grid gap-4', {\n variants: {\n variant: {\n twoCards: 'grid-cols-1 mobile:grid-rows-[repeat(2,400px)] desktop:grid-cols-2',\n threeCards: 'grid-cols-1 desktop:grid-cols-2',\n fourCards: 'grid-cols-1 mobile:grid-rows-[400px,1fr,1fr,400px] desktop:grid-cols-3'\n }\n }\n})\n\nexport interface BenefitProps {\n headline: string\n classes?: BenefitClasses\n variant: 'twoCards' | 'threeCards' | 'fourCards'\n details: Details[]\n}\n\nexport const Benefit = ({ headline, details, variant, classes }: BenefitProps) => {\n return (\n <section id={widgetIds.benefit} data-test-id={widgetIds.benefit} className={cn(classes?.root)}>\n <ResponsiveContainer className={classes?.container}>\n <div\n dangerouslySetInnerHTML={{ __html: headline }}\n className={cn('mob-headline-bold-s mb-8 desktop:desk-headline-bold-m', classes?.heading)}\n />\n <ul className={cn(gridConfig({ variant }), classes?.grid)}>\n {details?.map((card) => (\n <BenefitItem variant={variant} key={card.title} classes={classes?.item} {...card} />\n ))}\n </ul>\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default Benefit\n"],"names":["gridConfig","cva","Benefit","headline","details","variant","classes","widgetIds","cn","ResponsiveContainer","jsx","card","BenefitItem"],"mappings":"kVAiBA,MAAMA,EAAaC,EAAI,aAAc,CACnC,SAAU,CACR,QAAS,CACP,SAAU,qEACV,WAAY,kCACZ,UAAW,wEAAA,CACb,CAEJ,CAAC,EASYC,EAAU,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,QAAAC,EAAS,QAAAC,OAEjD,UAAA,CAAQ,GAAIC,EAAU,QAAS,eAAcA,EAAU,QAAS,UAAWC,EAAGF,GAAS,IAAI,EAC1F,WAACG,EAAA,CAAoB,UAAWH,GAAS,UACvC,SAAA,CAAAI,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQP,CAAA,EACnC,UAAWK,EAAG,wDAAyDF,GAAS,OAAO,CAAA,CAAA,EAEzFI,EAAC,KAAA,CAAG,UAAWF,EAAGR,EAAW,CAAE,QAAAK,CAAA,CAAS,EAAGC,GAAS,IAAI,EACrD,SAAAF,GAAS,IAAKO,GACbD,EAACE,EAAA,CAAY,QAAAP,EAAmC,QAASC,GAAS,KAAO,GAAGK,CAAA,EAAxCA,EAAK,KAAyC,CACnF,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CACF"}
1
+ {"version":3,"file":"Benefit.js","sources":["../../../../lib/widgets/benefit/Benefit.tsx"],"sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport { type Details } from './model/types'\nimport { BenefitItem, type BenefitItemClasses } from './ui/BenefitItem'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type BenefitClasses = {\n root?: string\n container?: string\n item?: BenefitItemClasses\n heading?: string\n grid?: string\n}\n\nconst gridConfig = cva('grid gap-4', {\n variants: {\n variant: {\n twoCards: 'grid-cols-1 mobile:grid-rows-[repeat(2,400px)] desktop:grid-cols-2',\n threeCards: 'grid-cols-1 desktop:grid-cols-2',\n fourCards: 'grid-cols-1 mobile:grid-rows-[400px,1fr,1fr,400px] desktop:grid-cols-3'\n }\n }\n})\n\nexport interface BenefitProps {\n headline: string\n classes?: BenefitClasses\n variant: 'twoCards' | 'threeCards' | 'fourCards'\n details: Details[]\n}\n\nexport const Benefit = ({ headline, details, variant, classes }: BenefitProps) => {\n return (\n <section id='benefit' data-test-id='benefit' className={cn(classes?.root)}>\n <ResponsiveContainer className={classes?.container}>\n <div\n dangerouslySetInnerHTML={{ __html: headline }}\n className={cn('mob-headline-bold-s mb-8 desktop:desk-headline-bold-m', classes?.heading)}\n />\n <ul className={cn(gridConfig({ variant }), classes?.grid)}>\n {details?.map((card) => (\n <BenefitItem variant={variant} key={card.title} classes={classes?.item} {...card} />\n ))}\n </ul>\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default Benefit\n"],"names":["gridConfig","cva","Benefit","headline","details","variant","classes","jsx","cn","jsxs","ResponsiveContainer","card","BenefitItem"],"mappings":"kSAgBA,MAAMA,EAAaC,EAAI,aAAc,CACnC,SAAU,CACR,QAAS,CACP,SAAU,qEACV,WAAY,kCACZ,UAAW,wEAAA,CACb,CAEJ,CAAC,EASYC,EAAU,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,QAAAC,EAAS,QAAAC,KAElDC,EAAC,UAAA,CAAQ,GAAG,UAAU,eAAa,UAAU,UAAWC,EAAGF,GAAS,IAAI,EACtE,SAAAG,EAACC,EAAA,CAAoB,UAAWJ,GAAS,UACvC,SAAA,CAAAC,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQJ,CAAA,EACnC,UAAWK,EAAG,wDAAyDF,GAAS,OAAO,CAAA,CAAA,EAEzFC,EAAC,KAAA,CAAG,UAAWC,EAAGR,EAAW,CAAE,QAAAK,CAAA,CAAS,EAAGC,GAAS,IAAI,EACrD,SAAAF,GAAS,IAAKO,GACbJ,EAACK,EAAA,CAAY,QAAAP,EAAmC,QAASC,GAAS,KAAO,GAAGK,CAAA,EAAxCA,EAAK,KAAyC,CACnF,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CACF"}
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as p}from"react/jsx-runtime";import{useState as C,useMemo as b}from"react";import{CalculatorView as h}from"./CalculatorView.js";import{cn as e}from"../../shared/utils/cn.js";import{CalculatorTabs as g}from"./ui/CalculatorTabs.js";import{widgetIds as m}from"../model/helpers.js";import{ResponsiveContainer as w}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Heading as x}from"../../shared/ui/heading/Heading.js";const k=({calculators:o,headline:s,classes:a})=>{const l=o.length>1,[n,d]=C(l?o[0]?.name:""),i=b(()=>o?.map(({name:c,label:f})=>({name:c,label:f})),[o]),u=l?i?.findIndex(c=>c.name===n):0,r=o[u];return t("section",{id:m.calculator,"data-test-id":m.calculator,className:e(a?.root),children:t(w,{className:e(a?.container),children:p("div",{className:e(a?.wrapper),children:[t(x,{className:e("mb-8 desktop:mb-12",a?.headline),as:"h2",children:s}),l&&t(g,{calculatorTabs:i,activeCalculator:n,setActiveCalculator:d,classes:a?.calculatorTabs}),t(h,{name:r.name,label:r.label,calculatorInfoConfig:r.calculatorInfoConfig,calculatorFieldsConfig:r.calculatorFieldsConfig,classes:a?.calculatorView})]})})})};export{k as Calculator,k as default};
1
+ import{jsx as t,jsxs as f}from"react/jsx-runtime";import{useState as p,useMemo as C}from"react";import{CalculatorView as b}from"./CalculatorView.js";import{cn as e}from"../../shared/utils/cn.js";import{CalculatorTabs as h}from"./ui/CalculatorTabs.js";import{ResponsiveContainer as g}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Heading as x}from"../../shared/ui/heading/Heading.js";const S=({calculators:o,headline:m,classes:a})=>{const l=o.length>1,[n,s]=p(l?o[0]?.name:""),i=C(()=>o?.map(({name:c,label:d})=>({name:c,label:d})),[o]),u=l?i?.findIndex(c=>c.name===n):0,r=o[u];return t("section",{id:"calculator","data-test-id":"calculator",className:e(a?.root),children:t(g,{className:e(a?.container),children:f("div",{className:e(a?.wrapper),children:[t(x,{className:e("mb-8 desktop:mb-12",a?.headline),as:"h2",children:m}),l&&t(h,{calculatorTabs:i,activeCalculator:n,setActiveCalculator:s,classes:a?.calculatorTabs}),t(b,{name:r.name,label:r.label,calculatorInfoConfig:r.calculatorInfoConfig,calculatorFieldsConfig:r.calculatorFieldsConfig,classes:a?.calculatorView})]})})})};export{S as Calculator,S as default};
2
2
  //# sourceMappingURL=Calculator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calculator.js","sources":["../../../../lib/widgets/calculator/Calculator.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { cn } from '../../shared/utils'\nimport { widgetIds } from '../model'\nimport { CalculatorView, type CalculatorViewClasses, type CalculatorViewProps } from './CalculatorView'\nimport { CalculatorTabs, type CalculatorTabsClasses, type CalculatorTabValue } from './ui'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\n\nexport type CalculatorClasses = {\n root?: string\n container?: string\n headline?: string\n wrapper?: string\n calculatorView?: CalculatorViewClasses\n calculatorTabs?: CalculatorTabsClasses\n}\n\nexport interface CalculatorProps {\n headline: string\n calculators: CalculatorViewProps[]\n classes?: CalculatorClasses\n}\n\nexport const Calculator = ({ calculators, headline, classes }: CalculatorProps) => {\n const shouldShowTabs = calculators.length > 1\n\n const [activeCalculator, setActiveCalculator] = useState<CalculatorTabValue>(shouldShowTabs ? calculators[0]?.name : '')\n\n const calculatorsTabs = useMemo(() => calculators?.map(({ name, label }) => ({ name, label })), [calculators])\n\n const currentCalculatorIndex = shouldShowTabs\n ? calculatorsTabs?.findIndex((tab) => tab.name === activeCalculator) // Активный калькулятор по значению таба\n : 0 // Берем первый калькулятор если табов нет\n\n const currentCalculator = calculators[currentCalculatorIndex]\n\n return (\n <section id={widgetIds.calculator} data-test-id={widgetIds.calculator} className={cn(classes?.root)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn(classes?.wrapper)}>\n <Heading className={cn('mb-8 desktop:mb-12', classes?.headline)} as='h2'>\n {headline}\n </Heading>\n {shouldShowTabs && (\n <CalculatorTabs\n calculatorTabs={calculatorsTabs}\n activeCalculator={activeCalculator}\n setActiveCalculator={setActiveCalculator}\n classes={classes?.calculatorTabs}\n />\n )}\n\n <CalculatorView\n name={currentCalculator.name}\n label={currentCalculator.label}\n calculatorInfoConfig={currentCalculator.calculatorInfoConfig}\n calculatorFieldsConfig={currentCalculator.calculatorFieldsConfig}\n classes={classes?.calculatorView}\n />\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default Calculator\n"],"names":["Calculator","calculators","headline","classes","shouldShowTabs","activeCalculator","setActiveCalculator","useState","calculatorsTabs","useMemo","name","label","currentCalculatorIndex","tab","currentCalculator","jsx","widgetIds","cn","ResponsiveContainer","jsxs","Heading","CalculatorTabs","CalculatorView"],"mappings":"ycAsBO,MAAMA,EAAa,CAAC,CAAE,YAAAC,EAAa,SAAAC,EAAU,QAAAC,KAA+B,CACjF,MAAMC,EAAiBH,EAAY,OAAS,EAEtC,CAACI,EAAkBC,CAAmB,EAAIC,EAA6BH,EAAiBH,EAAY,CAAC,GAAG,KAAO,EAAE,EAEjHO,EAAkBC,EAAQ,IAAMR,GAAa,IAAI,CAAC,CAAE,KAAAS,EAAM,MAAAC,CAAA,KAAa,CAAE,KAAAD,EAAM,MAAAC,CAAA,EAAQ,EAAG,CAACV,CAAW,CAAC,EAEvGW,EAAyBR,EAC3BI,GAAiB,UAAWK,GAAQA,EAAI,OAASR,CAAgB,EACjE,EAEES,EAAoBb,EAAYW,CAAsB,EAE5D,OACEG,EAAC,UAAA,CAAQ,GAAIC,EAAU,WAAY,eAAcA,EAAU,WAAY,UAAWC,EAAGd,GAAS,IAAI,EAChG,WAACe,EAAA,CAAoB,UAAWD,EAAGd,GAAS,SAAS,EACnD,SAAAgB,EAAC,MAAA,CAAI,UAAWF,EAAGd,GAAS,OAAO,EACjC,SAAA,CAAAY,EAACK,EAAA,CAAQ,UAAWH,EAAG,qBAAsBd,GAAS,QAAQ,EAAG,GAAG,KACjE,SAAAD,CAAA,CACH,EACCE,GACCW,EAACM,EAAA,CACC,eAAgBb,EAChB,iBAAAH,EACA,oBAAAC,EACA,QAASH,GAAS,cAAA,CAAA,EAItBY,EAACO,EAAA,CACC,KAAMR,EAAkB,KACxB,MAAOA,EAAkB,MACzB,qBAAsBA,EAAkB,qBACxC,uBAAwBA,EAAkB,uBAC1C,QAASX,GAAS,cAAA,CAAA,CACpB,CAAA,CACF,EACF,EACF,CAEJ"}
1
+ {"version":3,"file":"Calculator.js","sources":["../../../../lib/widgets/calculator/Calculator.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { cn } from '../../shared/utils'\nimport { CalculatorView, type CalculatorViewClasses, type CalculatorViewProps } from './CalculatorView'\nimport { CalculatorTabs, type CalculatorTabsClasses, type CalculatorTabValue } from './ui'\nimport { Heading, ResponsiveContainer } from '$/shared/ui'\n\nexport type CalculatorClasses = {\n root?: string\n container?: string\n headline?: string\n wrapper?: string\n calculatorView?: CalculatorViewClasses\n calculatorTabs?: CalculatorTabsClasses\n}\n\nexport interface CalculatorProps {\n headline: string\n calculators: CalculatorViewProps[]\n classes?: CalculatorClasses\n}\n\nexport const Calculator = ({ calculators, headline, classes }: CalculatorProps) => {\n const shouldShowTabs = calculators.length > 1\n\n const [activeCalculator, setActiveCalculator] = useState<CalculatorTabValue>(shouldShowTabs ? calculators[0]?.name : '')\n\n const calculatorsTabs = useMemo(() => calculators?.map(({ name, label }) => ({ name, label })), [calculators])\n\n const currentCalculatorIndex = shouldShowTabs\n ? calculatorsTabs?.findIndex((tab) => tab.name === activeCalculator) // Активный калькулятор по значению таба\n : 0 // Берем первый калькулятор если табов нет\n\n const currentCalculator = calculators[currentCalculatorIndex]\n\n return (\n <section id='calculator' data-test-id='calculator' className={cn(classes?.root)}>\n <ResponsiveContainer className={cn(classes?.container)}>\n <div className={cn(classes?.wrapper)}>\n <Heading className={cn('mb-8 desktop:mb-12', classes?.headline)} as='h2'>\n {headline}\n </Heading>\n {shouldShowTabs && (\n <CalculatorTabs\n calculatorTabs={calculatorsTabs}\n activeCalculator={activeCalculator}\n setActiveCalculator={setActiveCalculator}\n classes={classes?.calculatorTabs}\n />\n )}\n\n <CalculatorView\n name={currentCalculator.name}\n label={currentCalculator.label}\n calculatorInfoConfig={currentCalculator.calculatorInfoConfig}\n calculatorFieldsConfig={currentCalculator.calculatorFieldsConfig}\n classes={classes?.calculatorView}\n />\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default Calculator\n"],"names":["Calculator","calculators","headline","classes","shouldShowTabs","activeCalculator","setActiveCalculator","useState","calculatorsTabs","useMemo","name","label","currentCalculatorIndex","tab","currentCalculator","jsx","cn","ResponsiveContainer","jsxs","Heading","CalculatorTabs","CalculatorView"],"mappings":"yZAqBO,MAAMA,EAAa,CAAC,CAAE,YAAAC,EAAa,SAAAC,EAAU,QAAAC,KAA+B,CACjF,MAAMC,EAAiBH,EAAY,OAAS,EAEtC,CAACI,EAAkBC,CAAmB,EAAIC,EAA6BH,EAAiBH,EAAY,CAAC,GAAG,KAAO,EAAE,EAEjHO,EAAkBC,EAAQ,IAAMR,GAAa,IAAI,CAAC,CAAE,KAAAS,EAAM,MAAAC,CAAA,KAAa,CAAE,KAAAD,EAAM,MAAAC,CAAA,EAAQ,EAAG,CAACV,CAAW,CAAC,EAEvGW,EAAyBR,EAC3BI,GAAiB,UAAWK,GAAQA,EAAI,OAASR,CAAgB,EACjE,EAEES,EAAoBb,EAAYW,CAAsB,EAE5D,OACEG,EAAC,UAAA,CAAQ,GAAG,aAAa,eAAa,aAAa,UAAWC,EAAGb,GAAS,IAAI,EAC5E,SAAAY,EAACE,GAAoB,UAAWD,EAAGb,GAAS,SAAS,EACnD,SAAAe,EAAC,OAAI,UAAWF,EAAGb,GAAS,OAAO,EACjC,SAAA,CAAAY,EAACI,EAAA,CAAQ,UAAWH,EAAG,qBAAsBb,GAAS,QAAQ,EAAG,GAAG,KACjE,SAAAD,CAAA,CACH,EACCE,GACCW,EAACK,EAAA,CACC,eAAgBZ,EAChB,iBAAAH,EACA,oBAAAC,EACA,QAASH,GAAS,cAAA,CAAA,EAItBY,EAACM,EAAA,CACC,KAAMP,EAAkB,KACxB,MAAOA,EAAkB,MACzB,qBAAsBA,EAAkB,qBACxC,uBAAwBA,EAAkB,uBAC1C,QAASX,GAAS,cAAA,CAAA,CACpB,CAAA,CACF,EACF,EACF,CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../lib/widgets/calculator/model/utils.ts"],"sourcesContent":["import type { FieldValues } from 'react-hook-form'\nimport { z } from 'zod'\nimport type { CalculatorViewProps } from '../CalculatorView'\nimport type { InfoListItemMode } from '../ui'\nimport type { CalculatorSuffix, ValueWithFormula } from './types'\nimport { getDynamicSchema } from '@/shared/utils'\n\nexport const isFormula = (value: ValueWithFormula | string): value is ValueWithFormula => {\n return typeof value !== 'string' && 'formula' in value\n}\n\nexport const formatWithIntl = (suffix: CalculatorSuffix, value: number) => {\n let calculationValue = value\n\n const options: Intl.NumberFormatOptions = {\n style: suffix\n }\n\n switch (suffix) {\n case 'currency':\n options.currency = 'RUB'\n options.minimumFractionDigits = 0\n options.maximumFractionDigits = 0\n break\n\n case 'percent':\n options.minimumFractionDigits = 0\n options.maximumFractionDigits = 1\n calculationValue = calculationValue / 100\n break\n default:\n return null\n }\n\n const formatter = new Intl.NumberFormat('ru-RU', options)\n return formatter.format(calculationValue)\n}\n\nexport const formatValueToRenderInfoItem = (renderMode: InfoListItemMode, value: string) => {\n switch (renderMode) {\n case 'text':\n return value\n default:\n return formatWithIntl(renderMode, Number(value))\n }\n}\n\nexport const getCalculatorSchema = <T extends FieldValues>(\n props: CalculatorViewProps<T>['calculatorFieldsConfig']['fieldsGroup']\n) => {\n const groups = Object.values(props)\n\n return groups.reduce<z.ZodObject<any>>((acc, item) => acc.merge(getDynamicSchema(item.fields)), z.object({}))\n}\n"],"names":["isFormula","value","formatWithIntl","suffix","calculationValue","options","formatValueToRenderInfoItem","renderMode","getCalculatorSchema","props","acc","item","getDynamicSchema","z"],"mappings":"4GAOO,MAAMA,EAAaC,GACjB,OAAOA,GAAU,UAAY,YAAaA,EAGtCC,EAAiB,CAACC,EAA0BF,IAAkB,CACzE,IAAIG,EAAmBH,EAEvB,MAAMI,EAAoC,CACxC,MAAOF,CAAA,EAGT,OAAQA,EAAA,CACN,IAAK,WACHE,EAAQ,SAAW,MACnBA,EAAQ,sBAAwB,EAChCA,EAAQ,sBAAwB,EAChC,MAEF,IAAK,UACHA,EAAQ,sBAAwB,EAChCA,EAAQ,sBAAwB,EAChCD,EAAmBA,EAAmB,IACtC,MACF,QACE,OAAO,IAAA,CAIX,OADkB,IAAI,KAAK,aAAa,QAASC,CAAO,EACvC,OAAOD,CAAgB,CAC1C,EAEaE,EAA8B,CAACC,EAA8BN,IAAkB,CAC1F,OAAQM,EAAA,CACN,IAAK,OACH,OAAON,EACT,QACE,OAAOC,EAAeK,EAAY,OAAON,CAAK,CAAC,CAAA,CAErD,EAEaO,EACXC,GAEe,OAAO,OAAOA,CAAK,EAEpB,OAAyB,CAACC,EAAKC,IAASD,EAAI,MAAME,EAAiBD,EAAK,MAAM,CAAC,EAAGE,EAAE,OAAO,CAAA,CAAE,CAAC"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../lib/widgets/calculator/model/utils.ts"],"sourcesContent":["import type { FieldValues } from 'react-hook-form'\nimport { z } from 'zod'\nimport { getDynamicSchema } from '@/shared/utils'\nimport { type CalculatorViewProps } from '$/widgets'\nimport { type CalculatorSuffix, type ValueWithFormula } from '$/widgets/calculator/model/types'\nimport { type InfoListItemMode } from '$/widgets/calculator/ui'\n\nexport const isFormula = (value: ValueWithFormula | string): value is ValueWithFormula => {\n return typeof value !== 'string' && 'formula' in value\n}\n\nexport const formatWithIntl = (suffix: CalculatorSuffix, value: number) => {\n let calculationValue = value\n\n const options: Intl.NumberFormatOptions = {\n style: suffix\n }\n\n switch (suffix) {\n case 'currency':\n options.currency = 'RUB'\n options.minimumFractionDigits = 0\n options.maximumFractionDigits = 0\n break\n\n case 'percent':\n options.minimumFractionDigits = 0\n options.maximumFractionDigits = 1\n calculationValue = calculationValue / 100\n break\n default:\n return null\n }\n\n const formatter = new Intl.NumberFormat('ru-RU', options)\n return formatter.format(calculationValue)\n}\n\nexport const formatValueToRenderInfoItem = (renderMode: InfoListItemMode, value: string) => {\n switch (renderMode) {\n case 'text':\n return value\n default:\n return formatWithIntl(renderMode, Number(value))\n }\n}\n\nexport const getCalculatorSchema = <T extends FieldValues>(\n props: CalculatorViewProps<T>['calculatorFieldsConfig']['fieldsGroup']\n) => {\n const groups = Object.values(props)\n\n return groups.reduce<z.ZodObject<any>>((acc, item) => acc.merge(getDynamicSchema(item.fields)), z.object({}))\n}\n"],"names":["isFormula","value","formatWithIntl","suffix","calculationValue","options","formatValueToRenderInfoItem","renderMode","getCalculatorSchema","props","acc","item","getDynamicSchema","z"],"mappings":"4GAOO,MAAMA,EAAaC,GACjB,OAAOA,GAAU,UAAY,YAAaA,EAGtCC,EAAiB,CAACC,EAA0BF,IAAkB,CACzE,IAAIG,EAAmBH,EAEvB,MAAMI,EAAoC,CACxC,MAAOF,CAAA,EAGT,OAAQA,EAAA,CACN,IAAK,WACHE,EAAQ,SAAW,MACnBA,EAAQ,sBAAwB,EAChCA,EAAQ,sBAAwB,EAChC,MAEF,IAAK,UACHA,EAAQ,sBAAwB,EAChCA,EAAQ,sBAAwB,EAChCD,EAAmBA,EAAmB,IACtC,MACF,QACE,OAAO,IAAA,CAIX,OADkB,IAAI,KAAK,aAAa,QAASC,CAAO,EACvC,OAAOD,CAAgB,CAC1C,EAEaE,EAA8B,CAACC,EAA8BN,IAAkB,CAC1F,OAAQM,EAAA,CACN,IAAK,OACH,OAAON,EACT,QACE,OAAOC,EAAeK,EAAY,OAAON,CAAK,CAAC,CAAA,CAErD,EAEaO,EACXC,GAEe,OAAO,OAAOA,CAAK,EAEpB,OAAyB,CAACC,EAAKC,IAASD,EAAI,MAAME,EAAiBD,EAAK,MAAM,CAAC,EAAGE,EAAE,OAAO,CAAA,CAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AdditionalSlider.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.tsx"],"sourcesContent":["import { type FieldValues, useFormContext } from 'react-hook-form'\nimport { useAdditionalSlider } from '../hooks'\nimport type { AdditionalSliderGroupConfig, SlidersGroupProps } from './FieldsGroup'\nimport { SliderControl, SwitchBase } from '$/shared/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\n\nexport type AdditionalSliderClasses = {\n wrapper?: string\n block?: string\n //TODO: add reexport to classes for form elements (checkbox, switch, input, etc.)\n // slider: SliderBaseClasses\n // switch?: SwitchBaseClasses\n}\n\ninterface AdditionalSliderProps<T extends FieldValues> {\n additionalSliderGroupConfig: AdditionalSliderGroupConfig<T>\n slidersGroupConfig: SlidersGroupProps<T>\n classes?: AdditionalSliderClasses\n}\n\nexport const AdditionalSlider = <T extends FieldValues>({\n slidersGroupConfig,\n additionalSliderGroupConfig,\n classes\n}: AdditionalSliderProps<T>) => {\n const { control } = useFormContext<T>()\n\n const { sliderVisible, additionalSliderMax, onCheckedChange } = useAdditionalSlider({\n slidersGroupConfig: slidersGroupConfig,\n additionalSliderGroupConfig: additionalSliderGroupConfig\n })\n\n if (TypeGuards.isNil(additionalSliderGroupConfig?.args) || !additionalSliderGroupConfig?.args) return null\n\n return (\n <div className={cn('flex flex-col gap-4', classes?.wrapper)}>\n <div className={cn('inline-flex items-center gap-2', classes?.block)}>\n <SwitchBase checked={sliderVisible} onCheckedChange={onCheckedChange} />\n <p className='desk-body-regular-l'>Хочу получить деньги дополнительно</p>\n </div>\n {sliderVisible && (\n <SliderControl\n {...additionalSliderGroupConfig.args}\n control={control}\n componentType='algorithmic'\n suffix='currency'\n defaultValue={additionalSliderGroupConfig?.args.min}\n max={additionalSliderMax}\n />\n )}\n </div>\n )\n}\n"],"names":["AdditionalSlider","slidersGroupConfig","additionalSliderGroupConfig","classes","control","useFormContext","sliderVisible","additionalSliderMax","onCheckedChange","useAdditionalSlider","TypeGuards","cn","jsxs","jsx","SwitchBase","SliderControl"],"mappings":"ifAoBO,MAAMA,EAAmB,CAAwB,CACtD,mBAAAC,EACA,4BAAAC,EACA,QAAAC,CACF,IAAgC,CAC9B,KAAM,CAAE,QAAAC,CAAA,EAAYC,EAAA,EAEd,CAAE,cAAAC,EAAe,oBAAAC,EAAqB,gBAAAC,CAAA,EAAoBC,EAAoB,CAClF,mBAAAR,EACA,4BAAAC,CAAA,CACD,EAED,OAAIQ,EAAW,MAAMR,GAA6B,IAAI,GAAK,CAACA,GAA6B,KAAa,OAGnG,MAAA,CAAI,UAAWS,EAAG,sBAAuBR,GAAS,OAAO,EACxD,SAAA,CAAAS,EAAC,OAAI,UAAWD,EAAG,iCAAkCR,GAAS,KAAK,EACjE,SAAA,CAAAU,EAACC,EAAA,CAAW,QAASR,EAAe,gBAAAE,CAAA,CAAkC,EACtEK,EAAC,IAAA,CAAE,UAAU,sBAAsB,SAAA,oCAAA,CAAkC,CAAA,EACvE,EACCP,GACCO,EAACE,EAAA,CACE,GAAGb,EAA4B,KAChC,QAAAE,EACA,cAAc,cACd,OAAO,WACP,aAAcF,GAA6B,KAAK,IAChD,IAAKK,CAAA,CAAA,CACP,EAEJ,CAEJ"}
1
+ {"version":3,"file":"AdditionalSlider.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.tsx"],"sourcesContent":["import { type FieldValues, useFormContext } from 'react-hook-form'\nimport { SliderControl, SwitchBase } from '$/shared/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { useAdditionalSlider } from '$/widgets/calculator/ui/calculatorFields/hooks'\nimport { type AdditionalSliderGroupConfig, type SlidersGroupProps } from '$/widgets/calculator/ui/calculatorFields/ui/FieldsGroup'\n\nexport type AdditionalSliderClasses = {\n wrapper?: string\n block?: string\n //TODO: add reexport to classes for form elements (checkbox, switch, input, etc.)\n // slider: SliderBaseClasses\n // switch?: SwitchBaseClasses\n}\n\ninterface AdditionalSliderProps<T extends FieldValues> {\n additionalSliderGroupConfig: AdditionalSliderGroupConfig<T>\n slidersGroupConfig: SlidersGroupProps<T>\n classes?: AdditionalSliderClasses\n}\n\nexport const AdditionalSlider = <T extends FieldValues>({\n slidersGroupConfig,\n additionalSliderGroupConfig,\n classes\n}: AdditionalSliderProps<T>) => {\n const { control } = useFormContext<T>()\n\n const { sliderVisible, additionalSliderMax, onCheckedChange } = useAdditionalSlider({\n slidersGroupConfig: slidersGroupConfig,\n additionalSliderGroupConfig: additionalSliderGroupConfig\n })\n\n if (TypeGuards.isNil(additionalSliderGroupConfig?.args) || !additionalSliderGroupConfig?.args) return null\n\n return (\n <div className={cn('flex flex-col gap-4', classes?.wrapper)}>\n <div className={cn('inline-flex items-center gap-2', classes?.block)}>\n <SwitchBase checked={sliderVisible} onCheckedChange={onCheckedChange} />\n <p className='desk-body-regular-l'>Хочу получить деньги дополнительно</p>\n </div>\n {sliderVisible && (\n <SliderControl\n {...additionalSliderGroupConfig.args}\n control={control}\n componentType='algorithmic'\n suffix='currency'\n defaultValue={additionalSliderGroupConfig?.args.min}\n max={additionalSliderMax}\n />\n )}\n </div>\n )\n}\n"],"names":["AdditionalSlider","slidersGroupConfig","additionalSliderGroupConfig","classes","control","useFormContext","sliderVisible","additionalSliderMax","onCheckedChange","useAdditionalSlider","TypeGuards","cn","jsxs","jsx","SwitchBase","SliderControl"],"mappings":"ifAoBO,MAAMA,EAAmB,CAAwB,CACtD,mBAAAC,EACA,4BAAAC,EACA,QAAAC,CACF,IAAgC,CAC9B,KAAM,CAAE,QAAAC,CAAA,EAAYC,EAAA,EAEd,CAAE,cAAAC,EAAe,oBAAAC,EAAqB,gBAAAC,CAAA,EAAoBC,EAAoB,CAClF,mBAAAR,EACA,4BAAAC,CAAA,CACD,EAED,OAAIQ,EAAW,MAAMR,GAA6B,IAAI,GAAK,CAACA,GAA6B,KAAa,OAGnG,MAAA,CAAI,UAAWS,EAAG,sBAAuBR,GAAS,OAAO,EACxD,SAAA,CAAAS,EAAC,OAAI,UAAWD,EAAG,iCAAkCR,GAAS,KAAK,EACjE,SAAA,CAAAU,EAACC,EAAA,CAAW,QAASR,EAAe,gBAAAE,CAAA,CAAkC,EACtEK,EAAC,IAAA,CAAE,UAAU,sBAAsB,SAAA,oCAAA,CAAkC,CAAA,EACvE,EACCP,GACCO,EAACE,EAAA,CACE,GAAGb,EAA4B,KAChC,QAAAE,EACA,cAAc,cACd,OAAO,WACP,aAAcF,GAA6B,KAAK,IAChD,IAAKK,CAAA,CAAA,CACP,EAEJ,CAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalculatorModal.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.tsx"],"sourcesContent":["import type { ModalContentVariant } from '../../../model'\nimport { useBoolean } from '$/shared/hooks'\nimport { Modal, type ModalProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorModalClasses = {\n wrapper?: string\n description?: string\n button?: string\n}\n\nexport interface CalculatorModalProps {\n triggerText: string\n contentVariant: ModalContentVariant\n modalTitle?: string\n description?: string\n classes?: CalculatorModalClasses\n modalProps?: ModalProps\n}\n\nconst renderModalContent = (contentVariant: ModalContentVariant) => {\n switch (contentVariant) {\n case 'content1':\n return <div>content 1</div>\n case 'content2':\n return <div>content 2</div>\n }\n}\n\nexport const CalculatorModal = ({\n triggerText,\n modalTitle,\n description,\n classes,\n modalProps,\n contentVariant\n}: CalculatorModalProps) => {\n const [isModalOpen, modalSetter] = useBoolean(false)\n\n return (\n <div className={cn('flex flex-col gap-4 rounded-sm bg-color-blue-grey-100 p-4', classes?.wrapper)}>\n {description && <p className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}>{description}</p>}\n <button\n onClick={() => modalSetter(true)}\n className={cn(\n 'desk-body-regular-l w-max cursor-pointer text-color-primary-default underline underline-offset-4',\n classes?.button\n )}\n >\n {triggerText}\n </button>\n <Modal title={modalTitle} isModalOpen={isModalOpen} closeModal={() => modalSetter(false)} {...modalProps}>\n {renderModalContent(contentVariant)}\n </Modal>\n </div>\n )\n}\n"],"names":["renderModalContent","contentVariant","jsx","CalculatorModal","triggerText","modalTitle","description","classes","modalProps","isModalOpen","modalSetter","useBoolean","cn","Modal"],"mappings":"gPAoBA,MAAMA,EAAsBC,GAAwC,CAClE,OAAQA,EAAA,CACN,IAAK,WACH,OAAOC,EAAC,OAAI,SAAA,WAAA,CAAS,EACvB,IAAK,WACH,OAAOA,EAAC,OAAI,SAAA,WAAA,CAAS,CAAA,CAE3B,EAEaC,EAAkB,CAAC,CAC9B,YAAAC,EACA,WAAAC,EACA,YAAAC,EACA,QAAAC,EACA,WAAAC,EACA,eAAAP,CACF,IAA4B,CAC1B,KAAM,CAACQ,EAAaC,CAAW,EAAIC,EAAW,EAAK,EAEnD,SACG,MAAA,CAAI,UAAWC,EAAG,4DAA6DL,GAAS,OAAO,EAC7F,SAAA,CAAAD,GAAeJ,EAAC,KAAE,UAAWU,EAAG,0CAA2CL,GAAS,WAAW,EAAI,SAAAD,CAAA,CAAY,EAChHJ,EAAC,SAAA,CACC,QAAS,IAAMQ,EAAY,EAAI,EAC/B,UAAWE,EACT,mGACAL,GAAS,MAAA,EAGV,SAAAH,CAAA,CAAA,EAEHF,EAACW,EAAA,CAAM,MAAOR,EAAY,YAAAI,EAA0B,WAAY,IAAMC,EAAY,EAAK,EAAI,GAAGF,EAC3F,SAAAR,EAAmBC,CAAc,CAAA,CACpC,CAAA,EACF,CAEJ"}
1
+ {"version":3,"file":"CalculatorModal.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.tsx"],"sourcesContent":["import { useBoolean } from '$/shared/hooks'\nimport { Modal, type ModalProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type ModalContentVariant } from '$/widgets/calculator/model'\n\nexport type CalculatorModalClasses = {\n wrapper?: string\n description?: string\n button?: string\n}\n\nexport interface CalculatorModalProps {\n triggerText: string\n contentVariant: ModalContentVariant\n modalTitle?: string\n description?: string\n classes?: CalculatorModalClasses\n modalProps?: ModalProps\n}\n\nconst renderModalContent = (contentVariant: ModalContentVariant) => {\n switch (contentVariant) {\n case 'content1':\n return <div>content 1</div>\n case 'content2':\n return <div>content 2</div>\n }\n}\n\nexport const CalculatorModal = ({\n triggerText,\n modalTitle,\n description,\n classes,\n modalProps,\n contentVariant\n}: CalculatorModalProps) => {\n const [isModalOpen, modalSetter] = useBoolean(false)\n\n return (\n <div className={cn('flex flex-col gap-4 rounded-sm bg-color-blue-grey-100 p-4', classes?.wrapper)}>\n {description && <p className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}>{description}</p>}\n <button\n onClick={() => modalSetter(true)}\n className={cn(\n 'desk-body-regular-l w-max cursor-pointer text-color-primary-default underline underline-offset-4',\n classes?.button\n )}\n >\n {triggerText}\n </button>\n <Modal title={modalTitle} isModalOpen={isModalOpen} closeModal={() => modalSetter(false)} {...modalProps}>\n {renderModalContent(contentVariant)}\n </Modal>\n </div>\n )\n}\n"],"names":["renderModalContent","contentVariant","jsx","CalculatorModal","triggerText","modalTitle","description","classes","modalProps","isModalOpen","modalSetter","useBoolean","cn","Modal"],"mappings":"gPAoBA,MAAMA,EAAsBC,GAAwC,CAClE,OAAQA,EAAA,CACN,IAAK,WACH,OAAOC,EAAC,OAAI,SAAA,WAAA,CAAS,EACvB,IAAK,WACH,OAAOA,EAAC,OAAI,SAAA,WAAA,CAAS,CAAA,CAE3B,EAEaC,EAAkB,CAAC,CAC9B,YAAAC,EACA,WAAAC,EACA,YAAAC,EACA,QAAAC,EACA,WAAAC,EACA,eAAAP,CACF,IAA4B,CAC1B,KAAM,CAACQ,EAAaC,CAAW,EAAIC,EAAW,EAAK,EAEnD,SACG,MAAA,CAAI,UAAWC,EAAG,4DAA6DL,GAAS,OAAO,EAC7F,SAAA,CAAAD,GAAeJ,EAAC,KAAE,UAAWU,EAAG,0CAA2CL,GAAS,WAAW,EAAI,SAAAD,CAAA,CAAY,EAChHJ,EAAC,SAAA,CACC,QAAS,IAAMQ,EAAY,EAAI,EAC/B,UAAWE,EACT,mGACAL,GAAS,MAAA,EAGV,SAAAH,CAAA,CAAA,EAEHF,EAACW,EAAA,CAAM,MAAOR,EAAY,YAAAI,EAA0B,WAAY,IAAMC,EAAY,EAAK,EAAI,GAAGF,EAC3F,SAAAR,EAAmBC,CAAc,CAAA,CACpC,CAAA,EACF,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{CalculatorInfo as a}from"./CalculatorInfo.js";export{a as CalculatorInfo};
1
+ import{CalculatorInfo as t}from"./CalculatorInfo.js";import{CalculatorInfoHead as a}from"./ui/CalculatorInfoHead.js";import{CalculatedBlock as l}from"./ui/CalculatedBlock.js";import{CalculatorInfoBody as p}from"./ui/CalculatorInfoBody.js";import{CalculatorInfoFooter as c}from"./ui/CalculatorInfoFooter.js";import{InfoListItem as I}from"./ui/InfoListItem.js";import{AssistHint as C}from"./ui/AssistHint.js";export{C as AssistHint,l as CalculatedBlock,t as CalculatorInfo,p as CalculatorInfoBody,c as CalculatorInfoFooter,a as CalculatorInfoHead,I as InfoListItem};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalculatedBlock.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.tsx"],"sourcesContent":["import { type CalculatorSuffix, type CalculatorValue, formatWithIntl } from '../../../model'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatedBlockClasses = {\n wrapper?: string\n description?: string\n value?: string\n}\n\nexport interface CalculatedBlockProps {\n rootDescription: string\n rootValue: CalculatorValue\n suffix: CalculatorSuffix\n classes?: CalculatedBlockClasses\n}\n\nexport const CalculatedBlock = ({ rootDescription, rootValue, suffix, classes }: CalculatedBlockProps) => {\n return (\n <div className={cn('mb-6 flex items-center justify-between gap-6', classes?.wrapper)}>\n <p className={cn('desk-body-regular-l text-color-dark', classes?.description)}>{rootDescription}</p>\n <div className={cn('desk-title-bold-l flex items-center gap-1 text-color-dark mobile:mob-title-bold-l', classes?.value)}>\n {formatWithIntl(suffix, Number(rootValue))}\n </div>\n </div>\n )\n}\n"],"names":["CalculatedBlock","rootDescription","rootValue","suffix","classes","cn","jsx","formatWithIntl"],"mappings":"kKAgBO,MAAMA,EAAkB,CAAC,CAAE,gBAAAC,EAAiB,UAAAC,EAAW,OAAAC,EAAQ,QAAAC,OAEjE,MAAA,CAAI,UAAWC,EAAG,+CAAgDD,GAAS,OAAO,EACjF,SAAA,CAAAE,EAAC,KAAE,UAAWD,EAAG,sCAAuCD,GAAS,WAAW,EAAI,SAAAH,EAAgB,EAChGK,EAAC,MAAA,CAAI,UAAWD,EAAG,oFAAqFD,GAAS,KAAK,EACnH,SAAAG,EAAeJ,EAAQ,OAAOD,CAAS,CAAC,CAAA,CAC3C,CAAA,EACF"}
1
+ {"version":3,"file":"CalculatedBlock.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.tsx"],"sourcesContent":["import { cn } from '$/shared/utils'\nimport { type CalculatorSuffix, type CalculatorValue, formatWithIntl } from '$/widgets/calculator/model'\n\nexport type CalculatedBlockClasses = {\n wrapper?: string\n description?: string\n value?: string\n}\n\nexport interface CalculatedBlockProps {\n rootDescription: string\n rootValue: CalculatorValue\n suffix: CalculatorSuffix\n classes?: CalculatedBlockClasses\n}\n\nexport const CalculatedBlock = ({ rootDescription, rootValue, suffix, classes }: CalculatedBlockProps) => {\n return (\n <div className={cn('mb-6 flex items-center justify-between gap-6', classes?.wrapper)}>\n <p className={cn('desk-body-regular-l text-color-dark', classes?.description)}>{rootDescription}</p>\n <div className={cn('desk-title-bold-l flex items-center gap-1 text-color-dark mobile:mob-title-bold-l', classes?.value)}>\n {formatWithIntl(suffix, Number(rootValue))}\n </div>\n </div>\n )\n}\n"],"names":["CalculatedBlock","rootDescription","rootValue","suffix","classes","cn","jsx","formatWithIntl"],"mappings":"kKAgBO,MAAMA,EAAkB,CAAC,CAAE,gBAAAC,EAAiB,UAAAC,EAAW,OAAAC,EAAQ,QAAAC,OAEjE,MAAA,CAAI,UAAWC,EAAG,+CAAgDD,GAAS,OAAO,EACjF,SAAA,CAAAE,EAAC,KAAE,UAAWD,EAAG,sCAAuCD,GAAS,WAAW,EAAI,SAAAH,EAAgB,EAChGK,EAAC,MAAA,CAAI,UAAWD,EAAG,oFAAqFD,GAAS,KAAK,EACnH,SAAAG,EAAeJ,EAAQ,OAAOD,CAAS,CAAC,CAAA,CAC3C,CAAA,EACF"}
@@ -1,2 +1,2 @@
1
- import{jsx as r}from"react/jsx-runtime";import{useFormContext as s}from"react-hook-form";import{InfoListItem as c}from"./InfoListItem.js";import{formatInfoList as i}from"../../../model/helpers.js";import{cn as l}from"../../../../../shared/utils/cn.js";const I=({infoList:t,classes:e,withoutDivider:m})=>{const{watch:f}=s(),a=f(),n=i(t,a);return r("div",{className:l("flex flex-col gap-3 pt-4",{"mb-6 mt-4 border-t border-solid border-blue-grey-500":m},e?.wrapper),children:n?.map(o=>r(c,{...o},o.label))})};export{I as CalculatorInfoBody};
1
+ import{jsx as r}from"react/jsx-runtime";import{useFormContext as s}from"react-hook-form";import{formatInfoList as c}from"../../../model/helpers.js";import{cn as i}from"../../../../../shared/utils/cn.js";import{InfoListItem as l}from"./InfoListItem.js";const I=({infoList:t,classes:e,withoutDivider:m})=>{const{watch:f}=s(),a=f(),n=c(t,a);return r("div",{className:i("flex flex-col gap-3 pt-4",{"mb-6 mt-4 border-t border-solid border-blue-grey-500":m},e?.wrapper),children:n?.map(o=>r(l,{...o},o.label))})};export{I as CalculatorInfoBody};
2
2
  //# sourceMappingURL=CalculatorInfoBody.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalculatorInfoBody.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form'\nimport { type CalculatorSchema, formatInfoList } from '../../../model'\nimport { InfoListItem, type InfoListItemDTO } from './InfoListItem'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorInfoBodyClasses = {\n wrapper?: string\n}\n\nexport interface CalculatedInfoBodyProps {\n infoList: InfoListItemDTO[]\n classes?: CalculatorInfoBodyClasses\n withoutDivider?: boolean\n}\n\nexport const CalculatorInfoBody = ({ infoList, classes, withoutDivider }: CalculatedInfoBodyProps) => {\n const { watch } = useFormContext<CalculatorSchema>()\n const watchedFields = watch()\n const formattedInfoList = formatInfoList(infoList, watchedFields)\n\n return (\n <div\n className={cn(\n 'flex flex-col gap-3 pt-4',\n { 'mb-6 mt-4 border-t border-solid border-blue-grey-500': withoutDivider },\n classes?.wrapper\n )}\n >\n {formattedInfoList?.map((listItem) => (\n <InfoListItem key={listItem.label} {...listItem} />\n ))}\n </div>\n )\n}\n"],"names":["CalculatorInfoBody","infoList","classes","withoutDivider","watch","useFormContext","watchedFields","formattedInfoList","formatInfoList","jsx","cn","listItem","InfoListItem"],"mappings":"4PAeO,MAAMA,EAAqB,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,eAAAC,KAA8C,CACpG,KAAM,CAAE,MAAAC,CAAA,EAAUC,EAAA,EACZC,EAAgBF,EAAA,EAChBG,EAAoBC,EAAeP,EAAUK,CAAa,EAEhE,OACEG,EAAC,MAAA,CACC,UAAWC,EACT,2BACA,CAAE,uDAAwDP,CAAA,EAC1DD,GAAS,OAAA,EAGV,SAAAK,GAAmB,IAAKI,GACvBF,EAACG,GAAmC,GAAGD,GAApBA,EAAS,KAAqB,CAClD,CAAA,CAAA,CAGP"}
1
+ {"version":3,"file":"CalculatorInfoBody.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form'\nimport { cn } from '$/shared/utils'\nimport { type CalculatorSchema, formatInfoList } from '$/widgets/calculator/model'\nimport { InfoListItem, type InfoListItemDTO } from '$/widgets/calculator/ui'\n\nexport type CalculatorInfoBodyClasses = {\n wrapper?: string\n}\n\nexport interface CalculatedInfoBodyProps {\n infoList: InfoListItemDTO[]\n classes?: CalculatorInfoBodyClasses\n withoutDivider?: boolean\n}\n\nexport const CalculatorInfoBody = ({ infoList, classes, withoutDivider }: CalculatedInfoBodyProps) => {\n const { watch } = useFormContext<CalculatorSchema>()\n const watchedFields = watch()\n const formattedInfoList = formatInfoList(infoList, watchedFields)\n\n return (\n <div\n className={cn(\n 'flex flex-col gap-3 pt-4',\n { 'mb-6 mt-4 border-t border-solid border-blue-grey-500': withoutDivider },\n classes?.wrapper\n )}\n >\n {formattedInfoList?.map((listItem) => (\n <InfoListItem key={listItem.label} {...listItem} />\n ))}\n </div>\n )\n}\n"],"names":["CalculatorInfoBody","infoList","classes","withoutDivider","watch","useFormContext","watchedFields","formattedInfoList","formatInfoList","jsx","cn","listItem","InfoListItem"],"mappings":"4PAeO,MAAMA,EAAqB,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,eAAAC,KAA8C,CACpG,KAAM,CAAE,MAAAC,CAAA,EAAUC,EAAA,EACZC,EAAgBF,EAAA,EAChBG,EAAoBC,EAAeP,EAAUK,CAAa,EAEhE,OACEG,EAAC,MAAA,CACC,UAAWC,EACT,2BACA,CAAE,uDAAwDP,CAAA,EAC1DD,GAAS,OAAA,EAGV,SAAAK,GAAmB,IAAKI,GACvBF,EAACG,GAAmC,GAAGD,GAApBA,EAAS,KAAqB,CAClD,CAAA,CAAA,CAGP"}
@@ -1 +1 @@
1
- {"version":3,"file":"InfoListItem.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.tsx"],"sourcesContent":["import { type CalculatorSuffix, type CalculatorValue, formatValueToRenderInfoItem } from '../../../model'\nimport { Icon, Popover } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type InfoListItemMode = CalculatorSuffix | 'text'\nexport type InfoListItemColor = 'dark' | 'blue'\n\nexport interface InfoListItemCommon {\n label: string\n mode: InfoListItemMode\n hint?: string\n accent?: boolean\n color?: InfoListItemColor\n withFormula?: boolean\n}\n\nexport interface InfoListItemDTO extends InfoListItemCommon {\n value: CalculatorValue\n}\n\nexport interface InfoListItemProps extends InfoListItemCommon {\n value: string\n}\n\nexport const InfoListItem = ({ hint, value, label, mode, color = 'dark', accent = false }: InfoListItemProps) => {\n return (\n <div className='flex items-center justify-between gap-4'>\n <div className='flex items-center gap-2'>\n <p className='desk-body-regular-l text-color-dark'>{label}</p>\n {hint && (\n <Popover\n withCloseBtn={false}\n triggerElement={<Icon className='size-5 text-icon-blue-grey-600' name='info/helpCircle' />}\n >\n <p>{hint}</p>\n </Popover>\n )}\n </div>\n <span\n className={cn('desk-body-medium-l text-color-dark', {\n '[&&]:desk-title-bold-s': accent,\n 'text-color-primary-default': color === 'blue'\n })}\n >\n {formatValueToRenderInfoItem(mode, value)}\n </span>\n </div>\n )\n}\n"],"names":["InfoListItem","hint","value","label","mode","color","accent","jsxs","jsx","Popover","Icon","cn","formatValueToRenderInfoItem"],"mappings":"kTAwBO,MAAMA,EAAe,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,MAAAC,EAAO,KAAAC,EAAM,MAAAC,EAAQ,OAAQ,OAAAC,EAAS,MAE9EC,EAAC,MAAA,CAAI,UAAU,0CACb,SAAA,CAAAA,EAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAC,EAAC,IAAA,CAAE,UAAU,sCAAuC,SAAAL,EAAM,EACzDF,GACCO,EAACC,EAAA,CACC,aAAc,GACd,eAAgBD,EAACE,EAAA,CAAK,UAAU,iCAAiC,KAAK,kBAAkB,EAExF,SAAAF,EAAC,KAAG,SAAAP,CAAA,CAAK,CAAA,CAAA,CACX,EAEJ,EACAO,EAAC,OAAA,CACC,UAAWG,EAAG,qCAAsC,CAClD,yBAA0BL,EAC1B,6BAA8BD,IAAU,MAAA,CACzC,EAEA,SAAAO,EAA4BR,EAAMF,CAAK,CAAA,CAAA,CAC1C,EACF"}
1
+ {"version":3,"file":"InfoListItem.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.tsx"],"sourcesContent":["import { Icon, Popover } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { type CalculatorSuffix, type CalculatorValue, formatValueToRenderInfoItem } from '$/widgets/calculator/model'\n\nexport type InfoListItemMode = CalculatorSuffix | 'text'\nexport type InfoListItemColor = 'dark' | 'blue'\n\nexport interface InfoListItemCommon {\n label: string\n mode: InfoListItemMode\n hint?: string\n accent?: boolean\n color?: InfoListItemColor\n withFormula?: boolean\n}\n\nexport interface InfoListItemDTO extends InfoListItemCommon {\n value: CalculatorValue\n}\n\nexport interface InfoListItemProps extends InfoListItemCommon {\n value: string\n}\n\nexport const InfoListItem = ({ hint, value, label, mode, color = 'dark', accent = false }: InfoListItemProps) => {\n return (\n <div className='flex items-center justify-between gap-4'>\n <div className='flex items-center gap-2'>\n <p className='desk-body-regular-l text-color-dark'>{label}</p>\n {hint && (\n <Popover\n withCloseBtn={false}\n triggerElement={<Icon className='size-5 text-icon-blue-grey-600' name='info/helpCircle' />}\n >\n <p>{hint}</p>\n </Popover>\n )}\n </div>\n <span\n className={cn('desk-body-medium-l text-color-dark', {\n '[&&]:desk-title-bold-s': accent,\n 'text-color-primary-default': color === 'blue'\n })}\n >\n {formatValueToRenderInfoItem(mode, value)}\n </span>\n </div>\n )\n}\n"],"names":["InfoListItem","hint","value","label","mode","color","accent","jsxs","jsx","Popover","Icon","cn","formatValueToRenderInfoItem"],"mappings":"kTAwBO,MAAMA,EAAe,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,MAAAC,EAAO,KAAAC,EAAM,MAAAC,EAAQ,OAAQ,OAAAC,EAAS,MAE9EC,EAAC,MAAA,CAAI,UAAU,0CACb,SAAA,CAAAA,EAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAC,EAAC,IAAA,CAAE,UAAU,sCAAuC,SAAAL,EAAM,EACzDF,GACCO,EAACC,EAAA,CACC,aAAc,GACd,eAAgBD,EAACE,EAAA,CAAK,UAAU,iCAAiC,KAAK,kBAAkB,EAExF,SAAAF,EAAC,KAAG,SAAAP,CAAA,CAAK,CAAA,CAAA,CACX,EAEJ,EACAO,EAAC,OAAA,CACC,UAAWG,EAAG,qCAAsC,CAClD,yBAA0BL,EAC1B,6BAA8BD,IAAU,MAAA,CACzC,EAEA,SAAAO,EAA4BR,EAAMF,CAAK,CAAA,CAAA,CAC1C,EACF"}
@@ -1,2 +1,2 @@
1
- import{CalculatorTabs as a}from"./CalculatorTabs.js";import{CalculatorInfo as t}from"./calculatorInfo/CalculatorInfo.js";import{CalculatorFields as f}from"./calculatorFields/CalculatorFields.js";export{f as CalculatorFields,t as CalculatorInfo,a as CalculatorTabs};
1
+ import{CalculatorTabs as t}from"./CalculatorTabs.js";import{CalculatorInfo as l}from"./calculatorInfo/CalculatorInfo.js";import{CalculatorInfoHead as f}from"./calculatorInfo/ui/CalculatorInfoHead.js";import{CalculatedBlock as p}from"./calculatorInfo/ui/CalculatedBlock.js";import{CalculatorInfoBody as c}from"./calculatorInfo/ui/CalculatorInfoBody.js";import{CalculatorInfoFooter as C}from"./calculatorInfo/ui/CalculatorInfoFooter.js";import{InfoListItem as s}from"./calculatorInfo/ui/InfoListItem.js";import{AssistHint as d}from"./calculatorInfo/ui/AssistHint.js";import{CalculatorFields as B}from"./calculatorFields/CalculatorFields.js";export{d as AssistHint,p as CalculatedBlock,B as CalculatorFields,l as CalculatorInfo,c as CalculatorInfoBody,C as CalculatorInfoFooter,f as CalculatorInfoHead,t as CalculatorTabs,s as InfoListItem};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as o}from"react/jsx-runtime";import{useState as a}from"react";import{cn as s}from"../../shared/utils/cn.js";import{Carousel as c}from"../../shared/ui/carousel/Carousel.js";import{widgetIds as r}from"../model/helpers.js";import{ResponsiveContainer as l}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";const x=e=>{const[t,i]=a(0);return o("section",{id:r.carouselBlock,"data-test-id":r.carouselBlock,className:s(e.classes?.root),children:o(l,{className:s(e.classes?.container),children:o(c,{visibleIndex:t,setVisibleIndex:i,...e})})})};export{x as CarouselBlock,x as default};
1
+ import{jsx as o}from"react/jsx-runtime";import{useState as a}from"react";import{cn as s}from"../../shared/utils/cn.js";import{Carousel as i}from"../../shared/ui/carousel/Carousel.js";import{ResponsiveContainer as c}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";const f=e=>{const[r,t]=a(0);return o("section",{id:"carouselBlock","data-test-id":"carouselBlock",className:s(e.classes?.root),children:o(c,{className:s(e.classes?.container),children:o(i,{visibleIndex:r,setVisibleIndex:t,...e})})})};export{f as CarouselBlock,f as default};
2
2
  //# sourceMappingURL=CarouselBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CarouselBlock.js","sources":["../../../../lib/widgets/carouselBlock/CarouselBlock.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { widgetIds } from '../model'\nimport { Carousel, type CarouselProps, ResponsiveContainer, type SlideVariant } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface CarouselBlockProps<V extends SlideVariant> extends Omit<CarouselProps<V>, 'setVisibleIndex' | 'visibleIndex'> {\n classes?: {\n root?: string\n container?: string\n }\n}\n\nexport const CarouselBlock = <V extends SlideVariant>(props: CarouselBlockProps<V>) => {\n const [visibleIndex, setVisibleIndex] = useState(0)\n\n return (\n <section id={widgetIds.carouselBlock} data-test-id={widgetIds.carouselBlock} className={cn(props.classes?.root)}>\n <ResponsiveContainer className={cn(props.classes?.container)}>\n <Carousel visibleIndex={visibleIndex} setVisibleIndex={setVisibleIndex} {...props} />\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default CarouselBlock\n"],"names":["CarouselBlock","props","visibleIndex","setVisibleIndex","useState","jsx","widgetIds","cn","ResponsiveContainer","Carousel"],"mappings":"wUAYO,MAAMA,EAAyCC,GAAiC,CACrF,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAS,CAAC,EAElD,OACEC,EAAC,UAAA,CAAQ,GAAIC,EAAU,cAAe,eAAcA,EAAU,cAAe,UAAWC,EAAGN,EAAM,SAAS,IAAI,EAC5G,SAAAI,EAACG,EAAA,CAAoB,UAAWD,EAAGN,EAAM,SAAS,SAAS,EACzD,SAAAI,EAACI,EAAA,CAAS,aAAAP,EAA4B,gBAAAC,EAAmC,GAAGF,CAAA,CAAO,EACrF,EACF,CAEJ"}
1
+ {"version":3,"file":"CarouselBlock.js","sources":["../../../../lib/widgets/carouselBlock/CarouselBlock.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { Carousel, type CarouselProps, ResponsiveContainer, type SlideVariant } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface CarouselBlockProps<V extends SlideVariant> extends Omit<CarouselProps<V>, 'setVisibleIndex' | 'visibleIndex'> {\n classes?: {\n root?: string\n container?: string\n }\n}\n\nexport const CarouselBlock = <V extends SlideVariant>(props: CarouselBlockProps<V>) => {\n const [visibleIndex, setVisibleIndex] = useState(0)\n\n return (\n <section id='carouselBlock' data-test-id='carouselBlock' className={cn(props.classes?.root)}>\n <ResponsiveContainer className={cn(props.classes?.container)}>\n <Carousel visibleIndex={visibleIndex} setVisibleIndex={setVisibleIndex} {...props} />\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default CarouselBlock\n"],"names":["CarouselBlock","props","visibleIndex","setVisibleIndex","useState","jsx","cn","ResponsiveContainer","Carousel"],"mappings":"wRAWO,MAAMA,EAAyCC,GAAiC,CACrF,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAS,CAAC,EAElD,OACEC,EAAC,UAAA,CAAQ,GAAG,gBAAgB,eAAa,gBAAgB,UAAWC,EAAGL,EAAM,SAAS,IAAI,EACxF,SAAAI,EAACE,EAAA,CAAoB,UAAWD,EAAGL,EAAM,SAAS,SAAS,EACzD,SAAAI,EAACG,EAAA,CAAS,aAAAN,EAA4B,gBAAAC,EAAmC,GAAGF,CAAA,CAAO,CAAA,CACrF,EACF,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{jsx as i,jsxs as t}from"react/jsx-runtime";import{createElement as s}from"react";import{ConditionsWithCTA as l}from"./ui/ConditionsWithCTA.js";import{SingleCondition as c}from"./ui/SingleCondition.js";import{cn as e}from"../../shared/utils/cn.js";import{widgetIds as d}from"../model/helpers.js";import{ResponsiveContainer as g}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";const v=({headline:n,classes:o,conditions:a,conditionsWithCTA:m})=>i("section",{id:d.conditionBlock,"data-test-id":d.conditionBlock,className:o?.root,children:t(g,{className:e(o?.container,"mobile:max-w-[360px]"),children:[i("div",{className:e("flex flex-col gap-6 desktop:items-start desktop:gap-12",o?.wrapper),children:i("div",{dangerouslySetInnerHTML:{__html:n},className:e("mob-headline-bold-s mb-6 text-color-dark desktop:desk-headline-bold-m desktop:mb-12",o?.headline)})}),t("div",{className:e("grid grid-cols-1 gap-6 desktop:grid-cols-[repeat(2,1fr)]",o?.conditionContainer),children:[i("div",{className:e("grid grid-cols-1 grid-rows-[repeat(3,minmax(136px,1fr))] gap-4 desktop:grid-cols-[repeat(2,minmax(353px,1fr))] desktop:grid-rows-[repeat(2,minmax(160px,1fr))] desktop:gap-6",o?.conditionWrapper),children:a?.map((r,p)=>s(c,{...r,key:r.description,index:p,classes:o?.condition}))}),i(l,{...m,classes:o?.conditionsWithCTA})]})]})});export{v as ConditionBlock,v as default};
1
+ import{jsx as i,jsxs as t}from"react/jsx-runtime";import{createElement as m}from"react";import{ConditionsWithCTA as l}from"./ui/ConditionsWithCTA.js";import{SingleCondition as s}from"./ui/SingleCondition.js";import{cn as e}from"../../shared/utils/cn.js";import{ResponsiveContainer as c}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";const b=({headline:d,classes:o,conditions:n,conditionsWithCTA:a})=>i("section",{id:"conditionBlock","data-test-id":"conditionBlock",className:o?.root,children:t(c,{className:e(o?.container,"mobile:max-w-[360px]"),children:[i("div",{className:e("flex flex-col gap-6 desktop:items-start desktop:gap-12",o?.wrapper),children:i("div",{dangerouslySetInnerHTML:{__html:d},className:e("mob-headline-bold-s mb-6 text-color-dark desktop:desk-headline-bold-m desktop:mb-12",o?.headline)})}),t("div",{className:e("grid grid-cols-1 gap-6 desktop:grid-cols-[repeat(2,1fr)]",o?.conditionContainer),children:[i("div",{className:e("grid grid-cols-1 grid-rows-[repeat(3,minmax(136px,1fr))] gap-4 desktop:grid-cols-[repeat(2,minmax(353px,1fr))] desktop:grid-rows-[repeat(2,minmax(160px,1fr))] desktop:gap-6",o?.conditionWrapper),children:n?.map((r,p)=>m(s,{...r,key:r.description,index:p,classes:o?.condition}))}),i(l,{...a,classes:o?.conditionsWithCTA})]})]})});export{b as ConditionBlock,b as default};
2
2
  //# sourceMappingURL=ConditionBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBlock.js","sources":["../../../../lib/widgets/conditionBlock/ConditionBlock.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactElement } from 'react'\nimport { widgetIds } from '../model'\nimport { type ConditionType, type ConditionWitchCTAType } from './model/types'\nimport { ConditionsWithCTA, type ConditionsWithCTAClasses } from './ui/ConditionsWithCTA'\nimport { SingleCondition, type SingleConditionClasses } from './ui/SingleCondition'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ConditionBlockClasses = {\n root?: string\n container?: string\n wrapper?: string\n headline?: string\n conditionWrapper?: string\n condition?: SingleConditionClasses\n conditionContainer?: string\n conditionsWithCTA?: ConditionsWithCTAClasses\n}\n\nexport interface ConditionBlockClassesProps<WithImages extends boolean> extends HTMLAttributes<HTMLDivElement> {\n headline: ReactElement | string\n conditions?: ConditionType<WithImages>[]\n classes?: ConditionBlockClasses\n conditionsWithCTA?: ConditionWitchCTAType\n}\n\nexport const ConditionBlock = <WithImages extends boolean>({\n headline,\n classes,\n conditions,\n conditionsWithCTA\n}: ConditionBlockClassesProps<WithImages>) => {\n return (\n <section id={widgetIds.conditionBlock} data-test-id={widgetIds.conditionBlock} className={classes?.root}>\n <ResponsiveContainer className={cn(classes?.container, 'mobile:max-w-[360px]')}>\n <div className={cn('flex flex-col gap-6 desktop:items-start desktop:gap-12', classes?.wrapper)}>\n <div\n dangerouslySetInnerHTML={{ __html: headline }}\n className={cn(\n 'mob-headline-bold-s mb-6 text-color-dark desktop:desk-headline-bold-m desktop:mb-12',\n classes?.headline\n )}\n />\n </div>\n <div className={cn('grid grid-cols-1 gap-6 desktop:grid-cols-[repeat(2,1fr)]', classes?.conditionContainer)}>\n <div\n className={cn(\n 'grid grid-cols-1 grid-rows-[repeat(3,minmax(136px,1fr))] gap-4 desktop:grid-cols-[repeat(2,minmax(353px,1fr))] desktop:grid-rows-[repeat(2,minmax(160px,1fr))] desktop:gap-6',\n classes?.conditionWrapper\n )}\n >\n {conditions?.map((condition, index) => (\n <SingleCondition {...condition} key={condition.description} index={index} classes={classes?.condition} />\n ))}\n </div>\n <ConditionsWithCTA {...conditionsWithCTA} classes={classes?.conditionsWithCTA} />\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default ConditionBlock\n"],"names":["ConditionBlock","headline","classes","conditions","conditionsWithCTA","widgetIds","ResponsiveContainer","cn","jsx","condition","index","SingleCondition","ConditionsWithCTA"],"mappings":"+YA0BO,MAAMA,EAAiB,CAA6B,CACzD,SAAAC,EACA,QAAAC,EACA,WAAAC,EACA,kBAAAC,CACF,MAEK,UAAA,CAAQ,GAAIC,EAAU,eAAgB,eAAcA,EAAU,eAAgB,UAAWH,GAAS,KACjG,WAACI,EAAA,CAAoB,UAAWC,EAAGL,GAAS,UAAW,sBAAsB,EAC3E,SAAA,CAAAM,EAAC,OAAI,UAAWD,EAAG,yDAA0DL,GAAS,OAAO,EAC3F,SAAAM,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQP,CAAA,EACnC,UAAWM,EACT,sFACAL,GAAS,QAAA,CACX,CAAA,EAEJ,IACC,MAAA,CAAI,UAAWK,EAAG,2DAA4DL,GAAS,kBAAkB,EACxG,SAAA,CAAAM,EAAC,MAAA,CACC,UAAWD,EACT,+KACAL,GAAS,gBAAA,EAGV,YAAY,IAAI,CAACO,EAAWC,MAC1BC,EAAA,CAAiB,GAAGF,EAAW,IAAKA,EAAU,YAAa,MAAAC,EAAc,QAASR,GAAS,UAAW,CACxG,CAAA,CAAA,IAEFU,EAAA,CAAmB,GAAGR,EAAmB,QAASF,GAAS,iBAAA,CAAmB,CAAA,CAAA,CACjF,CAAA,CAAA,CACF,CAAA,CACF"}
1
+ {"version":3,"file":"ConditionBlock.js","sources":["../../../../lib/widgets/conditionBlock/ConditionBlock.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactElement } from 'react'\nimport { type ConditionType, type ConditionWitchCTAType } from './model/types'\nimport { ConditionsWithCTA, type ConditionsWithCTAClasses } from './ui/ConditionsWithCTA'\nimport { SingleCondition, type SingleConditionClasses } from './ui/SingleCondition'\nimport { ResponsiveContainer } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ConditionBlockClasses = {\n root?: string\n container?: string\n wrapper?: string\n headline?: string\n conditionWrapper?: string\n condition?: SingleConditionClasses\n conditionContainer?: string\n conditionsWithCTA?: ConditionsWithCTAClasses\n}\n\nexport interface ConditionBlockClassesProps<WithImages extends boolean> extends HTMLAttributes<HTMLDivElement> {\n headline: ReactElement | string\n conditions?: ConditionType<WithImages>[]\n classes?: ConditionBlockClasses\n conditionsWithCTA?: ConditionWitchCTAType\n}\n\nexport const ConditionBlock = <WithImages extends boolean>({\n headline,\n classes,\n conditions,\n conditionsWithCTA\n}: ConditionBlockClassesProps<WithImages>) => {\n return (\n <section id='conditionBlock' data-test-id='conditionBlock' className={classes?.root}>\n <ResponsiveContainer className={cn(classes?.container, 'mobile:max-w-[360px]')}>\n <div className={cn('flex flex-col gap-6 desktop:items-start desktop:gap-12', classes?.wrapper)}>\n <div\n dangerouslySetInnerHTML={{ __html: headline }}\n className={cn(\n 'mob-headline-bold-s mb-6 text-color-dark desktop:desk-headline-bold-m desktop:mb-12',\n classes?.headline\n )}\n />\n </div>\n <div className={cn('grid grid-cols-1 gap-6 desktop:grid-cols-[repeat(2,1fr)]', classes?.conditionContainer)}>\n <div\n className={cn(\n 'grid grid-cols-1 grid-rows-[repeat(3,minmax(136px,1fr))] gap-4 desktop:grid-cols-[repeat(2,minmax(353px,1fr))] desktop:grid-rows-[repeat(2,minmax(160px,1fr))] desktop:gap-6',\n classes?.conditionWrapper\n )}\n >\n {conditions?.map((condition, index) => (\n <SingleCondition {...condition} key={condition.description} index={index} classes={classes?.condition} />\n ))}\n </div>\n <ConditionsWithCTA {...conditionsWithCTA} classes={classes?.conditionsWithCTA} />\n </div>\n </ResponsiveContainer>\n </section>\n )\n}\n\nexport default ConditionBlock\n"],"names":["ConditionBlock","headline","classes","conditions","conditionsWithCTA","jsxs","ResponsiveContainer","cn","jsx","condition","index","SingleCondition","ConditionsWithCTA"],"mappings":"+VAyBO,MAAMA,EAAiB,CAA6B,CACzD,SAAAC,EACA,QAAAC,EACA,WAAAC,EACA,kBAAAC,CACF,MAEK,UAAA,CAAQ,GAAG,iBAAiB,eAAa,iBAAiB,UAAWF,GAAS,KAC7E,SAAAG,EAACC,GAAoB,UAAWC,EAAGL,GAAS,UAAW,sBAAsB,EAC3E,SAAA,CAAAM,EAAC,OAAI,UAAWD,EAAG,yDAA0DL,GAAS,OAAO,EAC3F,SAAAM,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQP,CAAA,EACnC,UAAWM,EACT,sFACAL,GAAS,QAAA,CACX,CAAA,EAEJ,IACC,MAAA,CAAI,UAAWK,EAAG,2DAA4DL,GAAS,kBAAkB,EACxG,SAAA,CAAAM,EAAC,MAAA,CACC,UAAWD,EACT,+KACAL,GAAS,gBAAA,EAGV,YAAY,IAAI,CAACO,EAAWC,MAC1BC,EAAA,CAAiB,GAAGF,EAAW,IAAKA,EAAU,YAAa,MAAAC,EAAc,QAASR,GAAS,UAAW,CACxG,CAAA,CAAA,IAEFU,EAAA,CAAmB,GAAGR,EAAmB,QAASF,GAAS,iBAAA,CAAmB,CAAA,CAAA,CACjF,CAAA,CAAA,CACF,CAAA,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionsWithCTA.js","sources":["../../../../../lib/widgets/conditionBlock/ui/ConditionsWithCTA.tsx"],"sourcesContent":["import { type ConditionWitchCTAType } from '../model/types'\nimport { cn } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\n\nexport type ConditionsWithCTAClasses = {\n conditionWitchCTAContainer?: string\n descriptionFirstRate?: string\n firstRate?: string\n secondRate?: string\n descriptionSecondRate?: string\n mainDescription?: string\n button?: string\n}\n\nexport const ConditionsWithCTA = (props: ConditionWitchCTAType) => {\n const { classes, firstRate, descriptionFirstRate, secondRate, descriptionSecondRate, mainDescription, button } = props\n\n return (\n <div\n className={cn(\n 'relative flex flex-col overflow-hidden rounded-md bg-color-blue-grey-100 p-4 desktop:w-[386px] desktop:p-8',\n classes?.conditionWitchCTAContainer\n )}\n >\n <div className={cn('mb-3 flex flex-col gap-2')}>\n {firstRate && (\n <div\n dangerouslySetInnerHTML={{ __html: firstRate }}\n className={cn('mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l', classes?.firstRate)}\n />\n )}\n <div\n dangerouslySetInnerHTML={{ __html: descriptionFirstRate ?? '' }}\n className={cn('desk-body-regular-l text-color-dark', classes?.descriptionFirstRate)}\n />\n </div>\n <div className={cn('mb-6 flex flex-col gap-2 desktop:mb-11')}>\n {secondRate && (\n <div\n dangerouslySetInnerHTML={{ __html: secondRate }}\n className={cn('mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l', classes?.secondRate)}\n />\n )}\n <div\n dangerouslySetInnerHTML={{ __html: descriptionSecondRate ?? '' }}\n className={cn('desk-body-regular-l text-color-dark', classes?.descriptionSecondRate)}\n />\n </div>\n {mainDescription && (\n <div\n dangerouslySetInnerHTML={{ __html: mainDescription }}\n className={cn('mob-body-regular-l mb-6 text-color-tetriary desktop:desk-body-regular-l', classes?.mainDescription)}\n />\n )}\n {button && <ButtonWithHandlers intent='primary' className={cn('mt-auto w-full', classes?.button)} size='lg' {...button} />}\n </div>\n )\n}\n"],"names":["ConditionsWithCTA","props","classes","firstRate","descriptionFirstRate","secondRate","descriptionSecondRate","mainDescription","button","jsxs","cn","jsx","ButtonWithHandlers"],"mappings":"uLAcO,MAAMA,EAAqBC,GAAiC,CACjE,KAAM,CAAE,QAAAC,EAAS,UAAAC,EAAW,qBAAAC,EAAsB,WAAAC,EAAY,sBAAAC,EAAuB,gBAAAC,EAAiB,OAAAC,GAAWP,EAEjH,OACEQ,EAAC,MAAA,CACC,UAAWC,EACT,6GACAR,GAAS,0BAAA,EAGX,SAAA,CAAAO,EAAC,MAAA,CAAI,UAAWC,EAAG,0BAA0B,EAC1C,SAAA,CAAAP,GACCQ,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQR,CAAA,EACnC,UAAWO,EAAG,wEAAyER,GAAS,SAAS,CAAA,CAAA,EAG7GS,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQP,GAAwB,EAAA,EAC3D,UAAWM,EAAG,sCAAuCR,GAAS,oBAAoB,CAAA,CAAA,CACpF,EACF,EACAO,EAAC,MAAA,CAAI,UAAWC,EAAG,wCAAwC,EACxD,SAAA,CAAAL,GACCM,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQN,CAAA,EACnC,UAAWK,EAAG,wEAAyER,GAAS,UAAU,CAAA,CAAA,EAG9GS,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQL,GAAyB,EAAA,EAC5D,UAAWI,EAAG,sCAAuCR,GAAS,qBAAqB,CAAA,CAAA,CACrF,EACF,EACCK,GACCI,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQJ,CAAA,EACnC,UAAWG,EAAG,0EAA2ER,GAAS,eAAe,CAAA,CAAA,EAGpHM,GAAUG,EAACC,EAAA,CAAmB,OAAO,UAAU,UAAWF,EAAG,iBAAkBR,GAAS,MAAM,EAAG,KAAK,KAAM,GAAGM,CAAA,CAAQ,CAAA,CAAA,CAAA,CAG9H"}
1
+ {"version":3,"file":"ConditionsWithCTA.js","sources":["../../../../../lib/widgets/conditionBlock/ui/ConditionsWithCTA.tsx"],"sourcesContent":["import { cn } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\nimport { type ConditionWitchCTAType } from '$/widgets/conditionBlock/model/types'\n\nexport type ConditionsWithCTAClasses = {\n conditionWitchCTAContainer?: string\n descriptionFirstRate?: string\n firstRate?: string\n secondRate?: string\n descriptionSecondRate?: string\n mainDescription?: string\n button?: string\n}\n\nexport const ConditionsWithCTA = (props: ConditionWitchCTAType) => {\n const { classes, firstRate, descriptionFirstRate, secondRate, descriptionSecondRate, mainDescription, button } = props\n\n return (\n <div\n className={cn(\n 'relative flex flex-col overflow-hidden rounded-md bg-color-blue-grey-100 p-4 desktop:w-[386px] desktop:p-8',\n classes?.conditionWitchCTAContainer\n )}\n >\n <div className={cn('mb-3 flex flex-col gap-2')}>\n {firstRate && (\n <div\n dangerouslySetInnerHTML={{ __html: firstRate }}\n className={cn('mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l', classes?.firstRate)}\n />\n )}\n <div\n dangerouslySetInnerHTML={{ __html: descriptionFirstRate ?? '' }}\n className={cn('desk-body-regular-l text-color-dark', classes?.descriptionFirstRate)}\n />\n </div>\n <div className={cn('mb-6 flex flex-col gap-2 desktop:mb-11')}>\n {secondRate && (\n <div\n dangerouslySetInnerHTML={{ __html: secondRate }}\n className={cn('mob-title-bold-l text-color-primary-default desktop:desk-title-bold-l', classes?.secondRate)}\n />\n )}\n <div\n dangerouslySetInnerHTML={{ __html: descriptionSecondRate ?? '' }}\n className={cn('desk-body-regular-l text-color-dark', classes?.descriptionSecondRate)}\n />\n </div>\n {mainDescription && (\n <div\n dangerouslySetInnerHTML={{ __html: mainDescription }}\n className={cn('mob-body-regular-l mb-6 text-color-tetriary desktop:desk-body-regular-l', classes?.mainDescription)}\n />\n )}\n {button && <ButtonWithHandlers intent='primary' className={cn('mt-auto w-full', classes?.button)} size='lg' {...button} />}\n </div>\n )\n}\n"],"names":["ConditionsWithCTA","props","classes","firstRate","descriptionFirstRate","secondRate","descriptionSecondRate","mainDescription","button","jsxs","cn","jsx","ButtonWithHandlers"],"mappings":"uLAcO,MAAMA,EAAqBC,GAAiC,CACjE,KAAM,CAAE,QAAAC,EAAS,UAAAC,EAAW,qBAAAC,EAAsB,WAAAC,EAAY,sBAAAC,EAAuB,gBAAAC,EAAiB,OAAAC,GAAWP,EAEjH,OACEQ,EAAC,MAAA,CACC,UAAWC,EACT,6GACAR,GAAS,0BAAA,EAGX,SAAA,CAAAO,EAAC,MAAA,CAAI,UAAWC,EAAG,0BAA0B,EAC1C,SAAA,CAAAP,GACCQ,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQR,CAAA,EACnC,UAAWO,EAAG,wEAAyER,GAAS,SAAS,CAAA,CAAA,EAG7GS,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQP,GAAwB,EAAA,EAC3D,UAAWM,EAAG,sCAAuCR,GAAS,oBAAoB,CAAA,CAAA,CACpF,EACF,EACAO,EAAC,MAAA,CAAI,UAAWC,EAAG,wCAAwC,EACxD,SAAA,CAAAL,GACCM,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQN,CAAA,EACnC,UAAWK,EAAG,wEAAyER,GAAS,UAAU,CAAA,CAAA,EAG9GS,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQL,GAAyB,EAAA,EAC5D,UAAWI,EAAG,sCAAuCR,GAAS,qBAAqB,CAAA,CAAA,CACrF,EACF,EACCK,GACCI,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQJ,CAAA,EACnC,UAAWG,EAAG,0EAA2ER,GAAS,eAAe,CAAA,CAAA,EAGpHM,GAAUG,EAACC,EAAA,CAAmB,OAAO,UAAU,UAAWF,EAAG,iBAAkBR,GAAS,MAAM,EAAG,KAAK,KAAM,GAAGM,CAAA,CAAQ,CAAA,CAAA,CAAA,CAG9H"}