@scbt-ecom/ui 0.127.1 → 0.128.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.
- package/dist/lib/exports/widget.js +1 -1
- package/dist/lib/shared/hooks/useControlledForm.js +1 -1
- package/dist/lib/shared/hooks/useControlledForm.js.map +1 -1
- package/dist/lib/shared/hooks/useFieldsProgress.js +1 -1
- package/dist/lib/shared/hooks/useFieldsProgress.js.map +1 -1
- package/dist/lib/shared/ui/brandLogos/BrandLogos.js +1 -1
- package/dist/lib/shared/ui/brandLogos/BrandLogos.js.map +1 -1
- package/dist/lib/shared/ui/calendar/Calendar.js +1 -1
- package/dist/lib/shared/ui/calendar/Calendar.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/Navigation.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/Navigation.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js.map +1 -1
- package/dist/lib/shared/ui/carousel/CarouselBase.js +1 -1
- package/dist/lib/shared/ui/carousel/CarouselBase.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/CarouselContent.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/CarouselContent.js.map +1 -1
- package/dist/lib/shared/ui/dialog/Dialog.js +1 -1
- package/dist/lib/shared/ui/dialog/Dialog.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/DropdownList.js +1 -1
- package/dist/lib/shared/ui/dropdownList/DropdownList.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/EditorControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/EditorControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js.map +1 -1
- package/dist/lib/shared/ui/hint/Hint.js +1 -1
- package/dist/lib/shared/ui/hint/Hint.js.map +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js.map +1 -1
- package/dist/lib/shared/ui/popover/Popover.js +1 -1
- package/dist/lib/shared/ui/popover/Popover.js.map +1 -1
- package/dist/lib/shared/ui/table/Desktop.js +1 -1
- package/dist/lib/shared/ui/table/Desktop.js.map +1 -1
- package/dist/lib/shared/ui/table/Horizontal.js +1 -1
- package/dist/lib/shared/ui/table/Horizontal.js.map +1 -1
- package/dist/lib/shared/ui/table/Table.js +1 -1
- package/dist/lib/shared/ui/table/Table.js.map +1 -1
- package/dist/lib/shared/ui/table/model/TableUtils.js +1 -1
- package/dist/lib/shared/ui/table/model/TableUtils.js.map +1 -1
- package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js +1 -1
- package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js.map +1 -1
- package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js +1 -1
- package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js.map +1 -1
- package/dist/lib/shared/utils/variableHolder/variableContextHolder.js.map +1 -1
- package/dist/lib/shared/validation/base/base.constants.js +1 -1
- package/dist/lib/shared/validation/base/base.constants.js.map +1 -1
- package/dist/lib/shared/validation/base/date.validators.js +1 -1
- package/dist/lib/shared/validation/base/date.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/regex.validators.js +1 -1
- package/dist/lib/shared/validation/base/regex.validators.js.map +1 -1
- package/dist/lib/widgets/authProvider/AuthProvider.js +1 -1
- package/dist/lib/widgets/authProvider/AuthProvider.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/Esia.js +1 -1
- package/dist/lib/widgets/authProvider/ui/Esia.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/MobileId.js +1 -1
- package/dist/lib/widgets/authProvider/ui/MobileId.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/Links.js +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/Links.js.map +1 -1
- package/dist/lib/widgets/banner/index.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js.map +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js.map +1 -1
- package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js.map +1 -1
- package/dist/lib/widgets/benefit/Benefit.js +1 -1
- package/dist/lib/widgets/benefit/Benefit.js.map +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js.map +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js +1 -1
- package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js.map +1 -1
- package/dist/lib/widgets/calculator/Calculator.js +1 -1
- package/dist/lib/widgets/calculator/Calculator.js.map +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js.map +1 -1
- package/dist/lib/widgets/dynamicForm/DynamicForm.js +1 -1
- package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
- package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js +1 -1
- package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js.map +1 -1
- package/dist/lib/widgets/fallbacksView/FallbacksView.js +1 -1
- package/dist/lib/widgets/fallbacksView/FallbacksView.js.map +1 -1
- package/dist/lib/widgets/fallbacksView/model/helpers.js +1 -1
- package/dist/lib/widgets/fallbacksView/model/helpers.js.map +1 -1
- package/dist/lib/widgets/fieldMapper/FieldMapper.js +1 -1
- package/dist/lib/widgets/fieldMapper/FieldMapper.js.map +1 -1
- package/dist/lib/widgets/footer/Footer.js +1 -1
- package/dist/lib/widgets/footer/Footer.js.map +1 -1
- package/dist/lib/widgets/footer/ui/FooterLogo.js +1 -1
- package/dist/lib/widgets/footer/ui/FooterLogo.js.map +1 -1
- package/dist/lib/widgets/footer/ui/NavLinks.js +1 -1
- package/dist/lib/widgets/footer/ui/NavLinks.js.map +1 -1
- package/dist/lib/widgets/footer/ui/PhonesBlock.js +1 -1
- package/dist/lib/widgets/footer/ui/PhonesBlock.js.map +1 -1
- package/dist/lib/widgets/footer/ui/SiteMap.js +1 -1
- package/dist/lib/widgets/footer/ui/SiteMap.js.map +1 -1
- package/dist/lib/widgets/footer/ui/SocialLinks.js +1 -1
- package/dist/lib/widgets/footer/ui/SocialLinks.js.map +1 -1
- package/dist/lib/widgets/header/Header.js +1 -1
- package/dist/lib/widgets/header/Header.js.map +1 -1
- package/dist/lib/widgets/header/model/helpers.js +1 -1
- package/dist/lib/widgets/header/model/helpers.js.map +1 -1
- package/dist/lib/widgets/index.js +1 -1
- package/dist/lib/widgets/infoBlock/InfoBlock.js +1 -1
- package/dist/lib/widgets/infoBlock/InfoBlock.js.map +1 -1
- package/dist/lib/widgets/infoBlock/ui/LinksList.js +1 -1
- package/dist/lib/widgets/infoBlock/ui/LinksList.js.map +1 -1
- package/dist/lib/widgets/infoBlock/ui/RootContent.js +1 -1
- package/dist/lib/widgets/infoBlock/ui/RootContent.js.map +1 -1
- package/dist/lib/widgets/interLinking/InterLinking.js +1 -1
- package/dist/lib/widgets/interLinking/InterLinking.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/ColumnGroup.js +1 -1
- package/dist/lib/widgets/interLinking/ui/ColumnGroup.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js.map +1 -1
- package/dist/lib/widgets/longBanner/LongBanner.js +1 -1
- package/dist/lib/widgets/longBanner/LongBanner.js.map +1 -1
- package/dist/lib/widgets/longBanner/ui/TextItem.js +1 -1
- package/dist/lib/widgets/longBanner/ui/TextItem.js.map +1 -1
- package/dist/lib/widgets/model/helpers.js +2 -2
- package/dist/lib/widgets/model/helpers.js.map +1 -1
- package/dist/lib/widgets/seoHeader/SeoHeader.js +1 -1
- package/dist/lib/widgets/seoHeader/SeoHeader.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js.map +1 -1
- package/dist/lib/widgets/stepper/Stepper.js +1 -1
- package/dist/lib/widgets/stepper/Stepper.js.map +1 -1
- package/dist/lib/widgets/stepper/ui/StepperCarousel.js +1 -1
- package/dist/lib/widgets/stepper/ui/StepperCarousel.js.map +1 -1
- package/dist/lib/widgets/table/InfoTable.js +1 -1
- package/dist/lib/widgets/table/InfoTable.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/UsefulInfo.js +1 -1
- package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js.map +1 -1
- package/dist/lib/widgets/userFeedback/UserFeedback.js +1 -1
- package/dist/lib/widgets/userFeedback/UserFeedback.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/Finally.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/Finally.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/SelectRating.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/SelectRating.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/UserReview.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/UserReview.js.map +1 -1
- package/dist/node_modules/@hookform/resolvers/dist/resolvers.js +1 -1
- package/dist/node_modules/@hookform/resolvers/dist/resolvers.js.map +1 -1
- package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js +1 -1
- package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/utils/variableHolder/variableContextHolder.d.ts +144 -1
- package/package.json +3 -2
- package/dist/node_modules/react-hook-form/dist/index.esm.js +0 -2
- package/dist/node_modules/react-hook-form/dist/index.esm.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as p}from"react/jsx-runtime";import{cva as y}from"../../../../node_modules/class-variance-authority/dist/index.js";import{useDevice as l}from"../../../shared/hooks/useDevice.js";import"react";import{cn as t}from"../../../shared/utils/cn.js";import{TypeGuards as h}from"../../../shared/utils/typeGuards.js";import{ButtonWithHandlers as v}from"../../buttonWithHandlers/ButtonWithHandlers.js";const w=y("flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0",{variants:{variant:{twoCards:"",threeCards:"desktop:first:col-span-full",fourCards:"desktop:first:col-span-2 desktop:last:col-span-2"}}}),
|
|
1
|
+
import{jsxs as e,jsx as p}from"react/jsx-runtime";import{cva as y}from"../../../../node_modules/class-variance-authority/dist/index.js";import{useDevice as l}from"../../../shared/hooks/useDevice.js";import"react";import{cn as t}from"../../../shared/utils/cn.js";import{TypeGuards as h}from"../../../shared/utils/typeGuards.js";import"react-hook-form";import{ButtonWithHandlers as v}from"../../buttonWithHandlers/ButtonWithHandlers.js";const w=y("flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0",{variants:{variant:{twoCards:"",threeCards:"desktop:first:col-span-full",fourCards:"desktop:first:col-span-2 desktop:last:col-span-2"}}}),T=({subtitle:m,title:n,img:o,classes:r,button:i,variant:x,color:u,enabledMobileButton:k,enabledMobileImage:d})=>{const{isDesktop:f}=l();return e("li",{style:{backgroundColor:u??"#F3F4F7"},className:t(w({variant:x}),{"pb-0":d},{"pb-12":!d},r==null?void 0:r.root),children:[e("div",{className:t("flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8",r==null?void 0:r.wrapper),children:[e("div",{className:t("flex flex-col gap-4",r==null?void 0:r.textContainer),children:[p("div",{dangerouslySetInnerHTML:{__html:n},className:t("desktop:desk-title-bold-s",r==null?void 0:r.title)}),p("div",{dangerouslySetInnerHTML:{__html:m},className:t("mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l",r==null?void 0:r.subtitle)})]}),k&&f&&(i==null?void 0:i.handlerOptions)&&p(v,{intent:"primary",className:t("desktop:w-[200px]",r==null?void 0:r.button),size:"lg",...i})]}),(d||f)&&o&&p("div",{className:t("flex w-full justify-end",r==null?void 0:r.imgContainer),children:o&&"url"in o&&h.isObject(o)?p("img",{className:t("h-[246px] object-cover",r==null?void 0:r.img),src:o.url,alt:o.alt}):o})]},n)};export{T as BenefitItem};
|
|
2
2
|
//# sourceMappingURL=BenefitItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BenefitItem.js","sources":["../../../../../lib/widgets/benefit/ui/BenefitItem.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { type Details } from '../model/types'\nimport { useDevice } from '$/shared/hooks'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n subtitle?: string\n img?: string\n imgContainer?: string\n title?: string\n}\n\nconst itemConfig = cva(\n 'flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0',\n {\n variants: {\n variant: {\n twoCards: '',\n threeCards: 'desktop:first:col-span-full',\n fourCards: 'desktop:first:col-span-2 desktop:last:col-span-2'\n }\n }\n }\n)\n\nexport interface BenefitItemProps extends Details {\n classes?: BenefitItemClasses\n variant?: 'twoCards' | 'threeCards' | 'fourCards'\n}\n\nexport const BenefitItem = ({\n subtitle,\n title,\n img,\n classes,\n button,\n variant,\n color,\n enabledMobileButton,\n enabledMobileImage\n}: BenefitItemProps) => {\n const { isDesktop } = useDevice()\n\n return (\n <li\n key={title}\n style={{ backgroundColor: color ?? '#F3F4F7' }}\n className={cn(itemConfig({ variant }), { 'pb-0': enabledMobileImage }, { 'pb-12': !enabledMobileImage }, classes?.root)}\n >\n <div className={cn('flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8', classes?.wrapper)}>\n <div className={cn('flex flex-col gap-4', classes?.textContainer)}>\n <div dangerouslySetInnerHTML={{ __html: title }} className={cn('desktop:desk-title-bold-s', classes?.title)} />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l', classes?.subtitle)}\n />\n </div>\n\n {enabledMobileButton && isDesktop && button?.handlerOptions && (\n <ButtonWithHandlers intent='primary' className={cn('desktop:w-[200px]', classes?.button)} size='lg' {...button} />\n )}\n </div>\n\n {(enabledMobileImage || isDesktop) && img && (\n <div className={cn('flex w-full justify-end', classes?.imgContainer)}>\n {img && 'url' in img && TypeGuards.isObject(img) ? (\n <img className={cn('h-[246px] object-cover', classes?.img)} src={img.url} alt={img.alt} />\n ) : (\n img\n )}\n </div>\n )}\n </li>\n )\n}\n"],"names":["itemConfig","cva","BenefitItem","subtitle","title","img","classes","button","variant","color","enabledMobileButton","enabledMobileImage","isDesktop","useDevice","jsxs","cn","jsx","ButtonWithHandlers","TypeGuards"],"mappings":"
|
|
1
|
+
{"version":3,"file":"BenefitItem.js","sources":["../../../../../lib/widgets/benefit/ui/BenefitItem.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { type Details } from '../model/types'\nimport { useDevice } from '$/shared/hooks'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n subtitle?: string\n img?: string\n imgContainer?: string\n title?: string\n}\n\nconst itemConfig = cva(\n 'flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0',\n {\n variants: {\n variant: {\n twoCards: '',\n threeCards: 'desktop:first:col-span-full',\n fourCards: 'desktop:first:col-span-2 desktop:last:col-span-2'\n }\n }\n }\n)\n\nexport interface BenefitItemProps extends Details {\n classes?: BenefitItemClasses\n variant?: 'twoCards' | 'threeCards' | 'fourCards'\n}\n\nexport const BenefitItem = ({\n subtitle,\n title,\n img,\n classes,\n button,\n variant,\n color,\n enabledMobileButton,\n enabledMobileImage\n}: BenefitItemProps) => {\n const { isDesktop } = useDevice()\n\n return (\n <li\n key={title}\n style={{ backgroundColor: color ?? '#F3F4F7' }}\n className={cn(itemConfig({ variant }), { 'pb-0': enabledMobileImage }, { 'pb-12': !enabledMobileImage }, classes?.root)}\n >\n <div className={cn('flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8', classes?.wrapper)}>\n <div className={cn('flex flex-col gap-4', classes?.textContainer)}>\n <div dangerouslySetInnerHTML={{ __html: title }} className={cn('desktop:desk-title-bold-s', classes?.title)} />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l', classes?.subtitle)}\n />\n </div>\n\n {enabledMobileButton && isDesktop && button?.handlerOptions && (\n <ButtonWithHandlers intent='primary' className={cn('desktop:w-[200px]', classes?.button)} size='lg' {...button} />\n )}\n </div>\n\n {(enabledMobileImage || isDesktop) && img && (\n <div className={cn('flex w-full justify-end', classes?.imgContainer)}>\n {img && 'url' in img && TypeGuards.isObject(img) ? (\n <img className={cn('h-[246px] object-cover', classes?.img)} src={img.url} alt={img.alt} />\n ) : (\n img\n )}\n </div>\n )}\n </li>\n )\n}\n"],"names":["itemConfig","cva","BenefitItem","subtitle","title","img","classes","button","variant","color","enabledMobileButton","enabledMobileImage","isDesktop","useDevice","jsxs","cn","jsx","ButtonWithHandlers","TypeGuards"],"mappings":"mbAiBA,MAAMA,EAAaC,EACjB,kIACA,CACE,SAAU,CACR,QAAS,CACP,SAAU,GACV,WAAY,8BACZ,UAAW,kDAAA,CACb,CACF,CAEJ,EAOaC,EAAc,CAAC,CAC1B,SAAAC,EACA,MAAAC,EACA,IAAAC,EACA,QAAAC,EACA,OAAAC,EACA,QAAAC,EACA,MAAAC,EACA,oBAAAC,EACA,mBAAAC,CACF,IAAwB,CACtB,KAAM,CAAE,UAAAC,CAAA,EAAcC,EAAA,EAEtB,OACEC,EAAC,KAAA,CAEC,MAAO,CAAE,gBAAiBL,GAAS,SAAA,EACnC,UAAWM,EAAGf,EAAW,CAAE,QAAAQ,CAAA,CAAS,EAAG,CAAE,OAAQG,CAAA,EAAsB,CAAE,QAAS,CAACA,CAAA,EAAsBL,GAAA,YAAAA,EAAS,IAAI,EAEtH,SAAA,CAAAQ,EAAC,OAAI,UAAWC,EAAG,2EAA4ET,GAAA,YAAAA,EAAS,OAAO,EAC7G,SAAA,CAAAQ,EAAC,OAAI,UAAWC,EAAG,sBAAuBT,GAAA,YAAAA,EAAS,aAAa,EAC9D,SAAA,CAAAU,EAAC,MAAA,CAAI,wBAAyB,CAAE,OAAQZ,CAAA,EAAS,UAAWW,EAAG,4BAA6BT,GAAA,YAAAA,EAAS,KAAK,CAAA,CAAG,EAC7GU,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQb,CAAA,EACnC,UAAWY,EAAG,yEAA0ET,GAAA,YAAAA,EAAS,QAAQ,CAAA,CAAA,CAC3G,EACF,EAECI,GAAuBE,IAAaL,GAAA,YAAAA,EAAQ,iBAC3CS,EAACC,GAAmB,OAAO,UAAU,UAAWF,EAAG,oBAAqBT,GAAA,YAAAA,EAAS,MAAM,EAAG,KAAK,KAAM,GAAGC,CAAA,CAAQ,CAAA,EAEpH,GAEEI,GAAsBC,IAAcP,GACpCW,EAAC,OAAI,UAAWD,EAAG,0BAA2BT,GAAA,YAAAA,EAAS,YAAY,EAChE,SAAAD,GAAO,QAASA,GAAOa,EAAW,SAASb,CAAG,EAC7CW,EAAC,MAAA,CAAI,UAAWD,EAAG,yBAA0BT,GAAA,YAAAA,EAAS,GAAG,EAAG,IAAKD,EAAI,IAAK,IAAKA,EAAI,GAAA,CAAK,EAExFA,CAAA,CAEJ,CAAA,CAAA,EAzBGD,CAAA,CA6BX"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as i,Fragment as g,jsxs as f}from"react/jsx-runtime";import{useState as k,useRef as C,useMemo as c}from"react";import{Breadcrumb as v}from"./Breadcrumb.js";import{defaultBreadcrumbs as B}from"./hooks/constants.js";import{useClickOutside as O}from"../../shared/hooks/useClickOutside.js";import{cn as d}from"../../shared/utils/cn.js";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import{Icon as R}from"../../shared/ui/icon/Icon.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../src/configs/api.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const l=(h,o,t,r)=>h.map((e,p)=>f("div",{className:"flex items-center gap-x-1",children:[i(v,{isLast:p===r,breadcrumb:e,className:d(t,{"text-color-tetriary":e.disabled})}),p!==h.length-1&&o]},e.label)),
|
|
1
|
+
import{jsx as i,Fragment as g,jsxs as f}from"react/jsx-runtime";import{useState as k,useRef as C,useMemo as c}from"react";import{Breadcrumb as v}from"./Breadcrumb.js";import{defaultBreadcrumbs as B}from"./hooks/constants.js";import{useClickOutside as O}from"../../shared/hooks/useClickOutside.js";import"react-hook-form";import{cn as d}from"../../shared/utils/cn.js";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import{Icon as R}from"../../shared/ui/icon/Icon.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../src/configs/api.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const l=(h,o,t,r)=>h.map((e,p)=>f("div",{className:"flex items-center gap-x-1",children:[i(v,{isLast:p===r,breadcrumb:e,className:d(t,{"text-color-tetriary":e.disabled})}),p!==h.length-1&&o]},e.label)),ht=({separator:h,ellipsis:o,classes:t,breadcrumbs:r=B})=>{const[e,p]=k(!1),u=C(null);O(u,()=>p(!1));const{first:N,middle:a,last:x}=c(()=>{let n=[],y=[],w=[];return o&&(n=r.slice(0,o),y=r.slice(o,r.length-o),w=r.slice(r.length-o)),{first:n,middle:y,last:w}},[r,o]),m=h??i(R,{name:"arrows/arrowRight",className:d("size-4",t==null?void 0:t.separator)});return i("div",{className:d("flex max-w-[840px] flex-wrap items-center","gap-x-2 gap-y-1 py-4 text-color-primary-default",t==null?void 0:t.root),children:o?i(g,{children:r.length>o*2+1?f(g,{children:[l(N,m,t==null?void 0:t.breadcrumb),m,a.length>0&&f(g,{children:[f("div",{className:"relative",children:[i("button",{onClick:()=>p(!0),children:"..."}),i("ul",{ref:u,className:d("invisible absolute max-h-[264px] overflow-y-auto","w-[280px] rounded-sm bg-color-white","customScrollbar-y p-1 opacity-0 shadow-sm",{"visible opacity-100":e}),children:a.map(n=>i("li",{children:i(v,{breadcrumb:n,className:d("desk-body-regular-l inline-block py-3","w-full rounded-sm bg-color-white px-2","text-color-dark hover:bg-color-primary-tr-hover",t==null?void 0:t.breadcrumb)})},n.label))})]}),m]}),l(x,m,t==null?void 0:t.breadcrumb,x.length-1)]}):l(r,m,t==null?void 0:t.breadcrumb,r.length-1)}):l(r,m,t==null?void 0:t.breadcrumb,r.length-1)})};export{ht as Breadcrumbs};
|
|
2
2
|
//# sourceMappingURL=Breadcrumbs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs.js","sources":["../../../../lib/widgets/breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { useMemo, useRef, useState } from 'react'\nimport { Breadcrumb } from './Breadcrumb'\nimport { type Breadcrumb as BreadcrumbType, defaultBreadcrumbs, type UseBreadcrumbsOptions } from './hooks'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype BreadcrumbsClasses = {\n root?: string\n separator?: string\n breadcrumb?: string\n}\n\ntype BreadcrumbsProps = UseBreadcrumbsOptions & {\n /**\n * произвольный сепаратор, разделяющий элементы\n */\n separator?: React.ReactElement | string\n /**\n * указывает, сколько элементов отображать перед/после сужения\n */\n ellipsis?: number\n /**\n * дополнительные стили компонента\n */\n classes?: BreadcrumbsClasses\n /**\n * Массив хлебных крошек\n */\n breadcrumbs: BreadcrumbType[]\n}\n\nconst renderBreadcrumbs = (\n breadcrumbs: BreadcrumbType[],\n separator: BreadcrumbsProps['separator'],\n classes?: BreadcrumbsClasses['breadcrumb'],\n lastIndex?: number\n) => {\n return breadcrumbs.map((breadcrumb, index) => {\n const isLast = index === lastIndex\n\n return (\n <div key={breadcrumb.label} className='flex items-center gap-x-1'>\n <Breadcrumb\n isLast={isLast}\n breadcrumb={breadcrumb}\n className={cn(classes, {\n 'text-color-tetriary': breadcrumb.disabled\n })}\n />\n {index !== breadcrumbs.length - 1 && separator}\n </div>\n )\n })\n}\n\nexport const Breadcrumbs = ({ separator, ellipsis, classes, breadcrumbs = defaultBreadcrumbs }: BreadcrumbsProps) => {\n const [hiddenCrumbsOpen, setHiddenCrumbsOpen] = useState<boolean>(false)\n\n const hiddenCrumbsRef = useRef<HTMLUListElement>(null)\n\n useClickOutside(hiddenCrumbsRef, () => setHiddenCrumbsOpen(false))\n\n // separated crumbs while ellipsis provided\n const { first, middle, last } = useMemo(() => {\n let first: BreadcrumbType[] = []\n let middle: BreadcrumbType[] = []\n let last: BreadcrumbType[] = []\n\n if (ellipsis) {\n first = breadcrumbs.slice(0, ellipsis)\n middle = breadcrumbs.slice(ellipsis, breadcrumbs.length - ellipsis)\n last = breadcrumbs.slice(breadcrumbs.length - ellipsis)\n }\n\n return { first, middle, last }\n }, [breadcrumbs, ellipsis])\n\n const separatedElement = separator ?? <Icon name='arrows/arrowRight' className={cn('size-4', classes?.separator)} />\n\n return (\n <div\n className={cn(\n 'flex max-w-[840px] flex-wrap items-center',\n 'gap-x-2 gap-y-1 py-4 text-color-primary-default',\n classes?.root\n )}\n >\n {ellipsis ? (\n // if ellipsis provided, render hidden breadcrumbs\n <>\n {breadcrumbs.length > ellipsis * 2 + 1 ? (\n // if we have more than ellipsis (visible crumbs) + available hidden crumbs\n // render hidden breadcrumbs\n <>\n {renderBreadcrumbs(first, separatedElement, classes?.breadcrumb)}\n {separatedElement}\n {middle.length > 0 && (\n <>\n <div className='relative'>\n <button onClick={() => setHiddenCrumbsOpen(true)}>...</button>\n <ul\n ref={hiddenCrumbsRef}\n className={cn(\n 'invisible absolute max-h-[264px] overflow-y-auto',\n 'w-[280px] rounded-sm bg-color-white',\n 'customScrollbar-y p-1 opacity-0 shadow-sm',\n {\n 'visible opacity-100': hiddenCrumbsOpen\n }\n )}\n >\n {middle.map((breadcrumb) => (\n <li key={breadcrumb.label}>\n <Breadcrumb\n breadcrumb={breadcrumb}\n className={cn(\n 'desk-body-regular-l inline-block py-3',\n 'w-full rounded-sm bg-color-white px-2',\n 'text-color-dark hover:bg-color-primary-tr-hover',\n classes?.breadcrumb\n )}\n />\n </li>\n ))}\n </ul>\n </div>\n {separatedElement}\n </>\n )}\n {renderBreadcrumbs(last, separatedElement, classes?.breadcrumb, last.length - 1)}\n </>\n ) : (\n // otherwise render all breadcrumbs\n renderBreadcrumbs(breadcrumbs, separatedElement, classes?.breadcrumb, breadcrumbs.length - 1)\n )}\n </>\n ) : (\n // if ellipsis doesn't provided render all breadcrumbs\n renderBreadcrumbs(breadcrumbs, separatedElement, classes?.breadcrumb, breadcrumbs.length - 1)\n )}\n </div>\n )\n}\n"],"names":["renderBreadcrumbs","breadcrumbs","separator","classes","lastIndex","breadcrumb","index","jsxs","jsx","Breadcrumb","cn","Breadcrumbs","ellipsis","defaultBreadcrumbs","hiddenCrumbsOpen","setHiddenCrumbsOpen","useState","hiddenCrumbsRef","useRef","useClickOutside","first","middle","last","useMemo","separatedElement","Icon","Fragment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.js","sources":["../../../../lib/widgets/breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { useMemo, useRef, useState } from 'react'\nimport { Breadcrumb } from './Breadcrumb'\nimport { type Breadcrumb as BreadcrumbType, defaultBreadcrumbs, type UseBreadcrumbsOptions } from './hooks'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype BreadcrumbsClasses = {\n root?: string\n separator?: string\n breadcrumb?: string\n}\n\ntype BreadcrumbsProps = UseBreadcrumbsOptions & {\n /**\n * произвольный сепаратор, разделяющий элементы\n */\n separator?: React.ReactElement | string\n /**\n * указывает, сколько элементов отображать перед/после сужения\n */\n ellipsis?: number\n /**\n * дополнительные стили компонента\n */\n classes?: BreadcrumbsClasses\n /**\n * Массив хлебных крошек\n */\n breadcrumbs: BreadcrumbType[]\n}\n\nconst renderBreadcrumbs = (\n breadcrumbs: BreadcrumbType[],\n separator: BreadcrumbsProps['separator'],\n classes?: BreadcrumbsClasses['breadcrumb'],\n lastIndex?: number\n) => {\n return breadcrumbs.map((breadcrumb, index) => {\n const isLast = index === lastIndex\n\n return (\n <div key={breadcrumb.label} className='flex items-center gap-x-1'>\n <Breadcrumb\n isLast={isLast}\n breadcrumb={breadcrumb}\n className={cn(classes, {\n 'text-color-tetriary': breadcrumb.disabled\n })}\n />\n {index !== breadcrumbs.length - 1 && separator}\n </div>\n )\n })\n}\n\nexport const Breadcrumbs = ({ separator, ellipsis, classes, breadcrumbs = defaultBreadcrumbs }: BreadcrumbsProps) => {\n const [hiddenCrumbsOpen, setHiddenCrumbsOpen] = useState<boolean>(false)\n\n const hiddenCrumbsRef = useRef<HTMLUListElement>(null)\n\n useClickOutside(hiddenCrumbsRef, () => setHiddenCrumbsOpen(false))\n\n // separated crumbs while ellipsis provided\n const { first, middle, last } = useMemo(() => {\n let first: BreadcrumbType[] = []\n let middle: BreadcrumbType[] = []\n let last: BreadcrumbType[] = []\n\n if (ellipsis) {\n first = breadcrumbs.slice(0, ellipsis)\n middle = breadcrumbs.slice(ellipsis, breadcrumbs.length - ellipsis)\n last = breadcrumbs.slice(breadcrumbs.length - ellipsis)\n }\n\n return { first, middle, last }\n }, [breadcrumbs, ellipsis])\n\n const separatedElement = separator ?? <Icon name='arrows/arrowRight' className={cn('size-4', classes?.separator)} />\n\n return (\n <div\n className={cn(\n 'flex max-w-[840px] flex-wrap items-center',\n 'gap-x-2 gap-y-1 py-4 text-color-primary-default',\n classes?.root\n )}\n >\n {ellipsis ? (\n // if ellipsis provided, render hidden breadcrumbs\n <>\n {breadcrumbs.length > ellipsis * 2 + 1 ? (\n // if we have more than ellipsis (visible crumbs) + available hidden crumbs\n // render hidden breadcrumbs\n <>\n {renderBreadcrumbs(first, separatedElement, classes?.breadcrumb)}\n {separatedElement}\n {middle.length > 0 && (\n <>\n <div className='relative'>\n <button onClick={() => setHiddenCrumbsOpen(true)}>...</button>\n <ul\n ref={hiddenCrumbsRef}\n className={cn(\n 'invisible absolute max-h-[264px] overflow-y-auto',\n 'w-[280px] rounded-sm bg-color-white',\n 'customScrollbar-y p-1 opacity-0 shadow-sm',\n {\n 'visible opacity-100': hiddenCrumbsOpen\n }\n )}\n >\n {middle.map((breadcrumb) => (\n <li key={breadcrumb.label}>\n <Breadcrumb\n breadcrumb={breadcrumb}\n className={cn(\n 'desk-body-regular-l inline-block py-3',\n 'w-full rounded-sm bg-color-white px-2',\n 'text-color-dark hover:bg-color-primary-tr-hover',\n classes?.breadcrumb\n )}\n />\n </li>\n ))}\n </ul>\n </div>\n {separatedElement}\n </>\n )}\n {renderBreadcrumbs(last, separatedElement, classes?.breadcrumb, last.length - 1)}\n </>\n ) : (\n // otherwise render all breadcrumbs\n renderBreadcrumbs(breadcrumbs, separatedElement, classes?.breadcrumb, breadcrumbs.length - 1)\n )}\n </>\n ) : (\n // if ellipsis doesn't provided render all breadcrumbs\n renderBreadcrumbs(breadcrumbs, separatedElement, classes?.breadcrumb, breadcrumbs.length - 1)\n )}\n </div>\n )\n}\n"],"names":["renderBreadcrumbs","breadcrumbs","separator","classes","lastIndex","breadcrumb","index","jsxs","jsx","Breadcrumb","cn","Breadcrumbs","ellipsis","defaultBreadcrumbs","hiddenCrumbsOpen","setHiddenCrumbsOpen","useState","hiddenCrumbsRef","useRef","useClickOutside","first","middle","last","useMemo","separatedElement","Icon","Fragment"],"mappings":"ipEAgCA,MAAMA,EAAoB,CACxBC,EACAC,EACAC,EACAC,IAEOH,EAAY,IAAI,CAACI,EAAYC,IAIhCC,EAAC,MAAA,CAA2B,UAAU,4BACpC,SAAA,CAAAC,EAACC,EAAA,CACC,OALSH,IAAUF,EAMnB,WAAAC,EACA,UAAWK,EAAGP,EAAS,CACrB,sBAAuBE,EAAW,QAAA,CACnC,CAAA,CAAA,EAEFC,IAAUL,EAAY,OAAS,GAAKC,CAAA,CAAA,EAR7BG,EAAW,KASrB,CAEH,EAGUM,GAAc,CAAC,CAAE,UAAAT,EAAW,SAAAU,EAAU,QAAAT,EAAS,YAAAF,EAAcY,KAA2C,CACnH,KAAM,CAACC,EAAkBC,CAAmB,EAAIC,EAAkB,EAAK,EAEjEC,EAAkBC,EAAyB,IAAI,EAErDC,EAAgBF,EAAiB,IAAMF,EAAoB,EAAK,CAAC,EAGjE,KAAM,CAAE,MAAAK,EAAO,OAAAC,EAAQ,KAAAC,CAAA,EAASC,EAAQ,IAAM,CAC5C,IAAIH,EAA0B,CAAA,EAC1BC,EAA2B,CAAA,EAC3BC,EAAyB,CAAA,EAE7B,OAAIV,IACFQ,EAAQnB,EAAY,MAAM,EAAGW,CAAQ,EACrCS,EAASpB,EAAY,MAAMW,EAAUX,EAAY,OAASW,CAAQ,EAClEU,EAAOrB,EAAY,MAAMA,EAAY,OAASW,CAAQ,GAGjD,CAAE,MAAAQ,EAAO,OAAAC,EAAQ,KAAAC,CAAAA,CAC1B,EAAG,CAACrB,EAAaW,CAAQ,CAAC,EAEpBY,EAAmBtB,GAAaM,EAACiB,EAAA,CAAK,KAAK,oBAAoB,UAAWf,EAAG,SAAUP,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,EAElH,OACEK,EAAC,MAAA,CACC,UAAWE,EACT,4CACA,kDACAP,GAAA,YAAAA,EAAS,IAAA,EAGV,SAAAS,EAECJ,EAAAkB,EAAA,CACG,SAAAzB,EAAY,OAASW,EAAW,EAAI,EAGnCL,EAAAmB,EAAA,CACG,SAAA,CAAA1B,EAAkBoB,EAAOI,EAAkBrB,GAAA,YAAAA,EAAS,UAAU,EAC9DqB,EACAH,EAAO,OAAS,GACfd,EAAAmB,EAAA,CACE,SAAA,CAAAnB,EAAC,MAAA,CAAI,UAAU,WACb,SAAA,CAAAC,EAAC,UAAO,QAAS,IAAMO,EAAoB,EAAI,EAAG,SAAA,MAAG,EACrDP,EAAC,KAAA,CACC,IAAKS,EACL,UAAWP,EACT,mDACA,sCACA,4CACA,CACE,sBAAuBI,CAAA,CACzB,EAGD,SAAAO,EAAO,IAAKhB,KACV,KAAA,CACC,SAAAG,EAACC,EAAA,CACC,WAAAJ,EACA,UAAWK,EACT,wCACA,wCACA,kDACAP,GAAA,YAAAA,EAAS,UAAA,CACX,CAAA,CACF,EATOE,EAAW,KAUpB,CACD,CAAA,CAAA,CACH,EACF,EACCmB,CAAA,EACH,EAEDxB,EAAkBsB,EAAME,EAAkBrB,GAAA,YAAAA,EAAS,WAAYmB,EAAK,OAAS,CAAC,CAAA,CAAA,CACjF,EAGAtB,EAAkBC,EAAauB,EAAkBrB,GAAA,YAAAA,EAAS,WAAYF,EAAY,OAAS,CAAC,CAAA,CAEhG,EAGAD,EAAkBC,EAAauB,EAAkBrB,GAAA,YAAAA,EAAS,WAAYF,EAAY,OAAS,CAAC,CAAA,CAAA,CAIpG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as m}from"react/jsx-runtime";import{cn as p}from"../../shared/utils/cn.js";import"react";import{useButtonHandler as n}from"./model/useButtonHandler.js";import{Button as e}from"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../src/configs/api.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const
|
|
1
|
+
import{jsx as m}from"react/jsx-runtime";import{cn as p}from"../../shared/utils/cn.js";import"react";import{useButtonHandler as n}from"./model/useButtonHandler.js";import{Button as e}from"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../src/configs/api.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const P=({handlerOptions:o,className:r,...t})=>{const i=n(o);return m(e,{className:p(r),onClick:i,...t,children:t.children})};export{P as ButtonWithHandlers};
|
|
2
2
|
//# sourceMappingURL=ButtonWithHandlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonWithHandlers.js","sources":["../../../../lib/widgets/buttonWithHandlers/ButtonWithHandlers.tsx"],"sourcesContent":["import { cn } from '../../shared/utils'\nimport { type ButtonHandlerOptions, useButtonHandler } from './model'\nimport { Button, type ButtonProps } from '$/shared/ui'\n\nexport interface ButtonWithHandlersProps extends ButtonProps {\n handlerOptions: ButtonHandlerOptions\n}\n\nexport const ButtonWithHandlers = ({ handlerOptions, className, ...props }: ButtonWithHandlersProps) => {\n const handleClick = useButtonHandler(handlerOptions)\n\n return (\n <Button className={cn(className)} onClick={handleClick} {...props}>\n {props.children}\n </Button>\n )\n}\n"],"names":["ButtonWithHandlers","handlerOptions","className","props","handleClick","useButtonHandler","jsx","Button","cn"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ButtonWithHandlers.js","sources":["../../../../lib/widgets/buttonWithHandlers/ButtonWithHandlers.tsx"],"sourcesContent":["import { cn } from '../../shared/utils'\nimport { type ButtonHandlerOptions, useButtonHandler } from './model'\nimport { Button, type ButtonProps } from '$/shared/ui'\n\nexport interface ButtonWithHandlersProps extends ButtonProps {\n handlerOptions: ButtonHandlerOptions\n}\n\nexport const ButtonWithHandlers = ({ handlerOptions, className, ...props }: ButtonWithHandlersProps) => {\n const handleClick = useButtonHandler(handlerOptions)\n\n return (\n <Button className={cn(className)} onClick={handleClick} {...props}>\n {props.children}\n </Button>\n )\n}\n"],"names":["ButtonWithHandlers","handlerOptions","className","props","handleClick","useButtonHandler","jsx","Button","cn"],"mappings":"07DAQO,MAAMA,EAAqB,CAAC,CAAE,eAAAC,EAAgB,UAAAC,EAAW,GAAGC,KAAqC,CACtG,MAAMC,EAAcC,EAAiBJ,CAAc,EAEnD,OACEK,EAACC,EAAA,CAAO,UAAWC,EAAGN,CAAS,EAAG,QAASE,EAAc,GAAGD,EACzD,SAAAA,EAAM,QAAA,CACT,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r,jsxs as g}from"react/jsx-runtime";import{useState as l,useMemo as w}from"react";import{cn as p}from"../../shared/utils/cn.js";import{widgetIds as f}from"../model/helpers.js";import{CalculatorView as x}from"./CalculatorView.js";import{ResponsiveContainer as I}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as v}from"../../shared/ui/heading/Heading.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../src/configs/api.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import{CalculatorTabs as N}from"./ui/CalculatorTabs.js";const
|
|
1
|
+
import{jsx as r,jsxs as g}from"react/jsx-runtime";import{useState as l,useMemo as w}from"react";import{cn as p}from"../../shared/utils/cn.js";import{widgetIds as f}from"../model/helpers.js";import{CalculatorView as x}from"./CalculatorView.js";import{ResponsiveContainer as I}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as v}from"../../shared/ui/heading/Heading.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../src/configs/api.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import{CalculatorTabs as N}from"./ui/CalculatorTabs.js";const no=({calculators:t,headline:u,classes:o})=>{var a;const n=t.length>1,[e,C]=l(n?(a=t[0])==null?void 0:a.name:""),i=w(()=>t==null?void 0:t.map(({name:d,label:b})=>({name:d,label:b})),[t]),h=n?i==null?void 0:i.findIndex(d=>d.name===e):0,m=t[h];return r("section",{id:f.calculator,"data-test-id":f.calculator,className:p(o==null?void 0:o.root),children:r(I,{className:p(o==null?void 0:o.container),children:g("div",{className:p(o==null?void 0:o.wrapper),children:[r(v,{className:p("mb-8 desktop:mb-12",o==null?void 0:o.headline),as:"h2",children:u}),n&&r(N,{calculatorTabs:i,activeCalculator:e,setActiveCalculator:C,classes:o==null?void 0:o.calculatorTabs}),r(x,{name:m.name,label:m.label,calculatorInfoConfig:m.calculatorInfoConfig,calculatorFieldsConfig:m.calculatorFieldsConfig,classes:o==null?void 0:o.calculatorView})]})})})};export{no as Calculator,no 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","_a","calculatorsTabs","useMemo","name","label","currentCalculatorIndex","tab","currentCalculator","jsx","widgetIds","cn","ResponsiveContainer","jsxs","Heading","CalculatorTabs","CalculatorView"],"mappings":"
|
|
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","_a","calculatorsTabs","useMemo","name","label","currentCalculatorIndex","tab","currentCalculator","jsx","widgetIds","cn","ResponsiveContainer","jsxs","Heading","CalculatorTabs","CalculatorView"],"mappings":"+sEAsBO,MAAMA,GAAa,CAAC,CAAE,YAAAC,EAAa,SAAAC,EAAU,QAAAC,KAA+B,OACjF,MAAMC,EAAiBH,EAAY,OAAS,EAEtC,CAACI,EAAkBC,CAAmB,EAAIC,EAA6BH,GAAiBI,EAAAP,EAAY,CAAC,IAAb,YAAAO,EAAgB,KAAO,EAAE,EAEjHC,EAAkBC,EAAQ,IAAMT,GAAA,YAAAA,EAAa,IAAI,CAAC,CAAE,KAAAU,EAAM,MAAAC,CAAA,KAAa,CAAE,KAAAD,EAAM,MAAAC,CAAA,IAAW,CAACX,CAAW,CAAC,EAEvGY,EAAyBT,EAC3BK,GAAA,YAAAA,EAAiB,UAAWK,GAAQA,EAAI,OAAST,GACjD,EAEEU,EAAoBd,EAAYY,CAAsB,EAE5D,OACEG,EAAC,UAAA,CAAQ,GAAIC,EAAU,WAAY,eAAcA,EAAU,WAAY,UAAWC,EAAGf,GAAA,YAAAA,EAAS,IAAI,EAChG,WAACgB,EAAA,CAAoB,UAAWD,EAAGf,GAAA,YAAAA,EAAS,SAAS,EACnD,SAAAiB,EAAC,MAAA,CAAI,UAAWF,EAAGf,GAAA,YAAAA,EAAS,OAAO,EACjC,SAAA,CAAAa,EAACK,EAAA,CAAQ,UAAWH,EAAG,qBAAsBf,GAAA,YAAAA,EAAS,QAAQ,EAAG,GAAG,KACjE,SAAAD,CAAA,CACH,EACCE,GACCY,EAACM,EAAA,CACC,eAAgBb,EAChB,iBAAAJ,EACA,oBAAAC,EACA,QAASH,GAAA,YAAAA,EAAS,cAAA,CAAA,EAItBa,EAACO,EAAA,CACC,KAAMR,EAAkB,KACxB,MAAOA,EAAkB,MACzB,qBAAsBA,EAAkB,qBACxC,uBAAwBA,EAAkB,uBAC1C,QAASZ,GAAA,YAAAA,EAAS,cAAA,CAAA,CACpB,CAAA,CACF,EACF,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as i,jsxs as f}from"react/jsx-runtime";import{useEffect as c}from"react";import{FormProvider as d}from"
|
|
1
|
+
import{jsx as i,jsxs as f}from"react/jsx-runtime";import{useEffect as c}from"react";import{FormProvider as d}from"react-hook-form";import{evaluateFormula as n}from"./model/helpers.js";import{getCalculatorSchema as h,isFormula as x}from"./model/utils.js";import{CalculatorInfo as V}from"./ui/calculatorInfo/CalculatorInfo.js";import{CalculatorFields as w}from"./ui/calculatorFields/CalculatorFields.js";import"./ui/CalculatorTabs.js";import{cn as b}from"../../shared/utils/cn.js";import{localStorageActions as v}from"../../shared/utils/localStorageActions.js";import{useControlledForm as I}from"../../shared/hooks/useControlledForm.js";import"../../shared/validation/zodValidation/dadataFio.js";import"../../shared/validation/zodValidation/calendar.js";import"../../shared/validation/zodValidation/phone.js";import"../../shared/validation/zodValidation/otpCode.js";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../src/configs/api.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import{ZodUtils as S}from"../../shared/validation/utils/zodUtils.js";const ho=({calculatorInfoConfig:p,calculatorFieldsConfig:r,classes:o})=>{const e=h(r==null?void 0:r.fieldsGroup),a=I({schema:e,mode:"onBlur",defaultValues:S.getZodDefaults(e)}),t=a.watch(),{rootValue:m}=p;c(()=>{v.setItem("calculatorData",t)},[t]);const l=x(m)?n(m.formula,t):m,u={...p,rootValue:l};return i(d,{...a,children:f("div",{className:b("flex items-start gap-16 mobile:flex-col mobile:items-center mobile:gap-8",o==null?void 0:o.wrapper),children:[i(w,{...r,classes:o==null?void 0:o.calculatorFields}),i(V,{...u,classes:o==null?void 0:o.calculatorInfo})]})})};export{ho as CalculatorView};
|
|
2
2
|
//# sourceMappingURL=CalculatorView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatorView.js","sources":["../../../../lib/widgets/calculator/CalculatorView.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { type FieldValues, FormProvider } from 'react-hook-form'\nimport { type CalculatorSchema, evaluateFormula, getCalculatorSchema, isFormula } from './model'\nimport {\n CalculatorFields,\n type CalculatorFieldsClasses,\n type CalculatorFieldsProps,\n CalculatorInfo,\n type CalculatorInfoClasses,\n type CalculatorInfoProps,\n type CalculatorTab\n} from './ui'\nimport { useControlledForm } from '$/shared/hooks'\nimport { cn, localStorageActions } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\n\nexport type CalculatorViewClasses = {\n wrapper?: string\n calculatorFields?: CalculatorFieldsClasses\n calculatorInfo?: CalculatorInfoClasses\n}\n\nexport interface CalculatorViewProps<T extends FieldValues = FieldValues> extends CalculatorTab {\n calculatorInfoConfig: CalculatorInfoProps\n calculatorFieldsConfig: CalculatorFieldsProps<T>\n classes?: CalculatorViewClasses\n}\n\nexport const CalculatorView = <T extends FieldValues>({\n calculatorInfoConfig,\n calculatorFieldsConfig,\n classes\n}: CalculatorViewProps<T>) => {\n const calculatorSchema: CalculatorSchema = getCalculatorSchema(calculatorFieldsConfig?.fieldsGroup)\n\n const formMethods = useControlledForm({\n schema: calculatorSchema,\n mode: 'onBlur',\n defaultValues: ZodUtils.getZodDefaults(calculatorSchema)\n })\n\n const watchedFields = formMethods.watch()\n\n const { rootValue } = calculatorInfoConfig\n\n useEffect(() => {\n localStorageActions.setItem('calculatorData', watchedFields)\n }, [watchedFields])\n\n const calculatedValue = isFormula(rootValue) ? evaluateFormula(rootValue.formula, watchedFields) : rootValue\n\n const mergedCalcInfoConfig = { ...calculatorInfoConfig, rootValue: calculatedValue }\n\n return (\n <FormProvider {...formMethods}>\n <div className={cn('flex items-start gap-16 mobile:flex-col mobile:items-center mobile:gap-8', classes?.wrapper)}>\n <CalculatorFields {...calculatorFieldsConfig} classes={classes?.calculatorFields} />\n <CalculatorInfo {...mergedCalcInfoConfig} classes={classes?.calculatorInfo} />\n </div>\n </FormProvider>\n )\n}\n"],"names":["CalculatorView","calculatorInfoConfig","calculatorFieldsConfig","classes","calculatorSchema","getCalculatorSchema","formMethods","useControlledForm","ZodUtils","watchedFields","rootValue","useEffect","localStorageActions","calculatedValue","isFormula","evaluateFormula","mergedCalcInfoConfig","jsx","FormProvider","jsxs","cn","CalculatorFields","CalculatorInfo"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CalculatorView.js","sources":["../../../../lib/widgets/calculator/CalculatorView.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { type FieldValues, FormProvider } from 'react-hook-form'\nimport { type CalculatorSchema, evaluateFormula, getCalculatorSchema, isFormula } from './model'\nimport {\n CalculatorFields,\n type CalculatorFieldsClasses,\n type CalculatorFieldsProps,\n CalculatorInfo,\n type CalculatorInfoClasses,\n type CalculatorInfoProps,\n type CalculatorTab\n} from './ui'\nimport { useControlledForm } from '$/shared/hooks'\nimport { cn, localStorageActions } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\n\nexport type CalculatorViewClasses = {\n wrapper?: string\n calculatorFields?: CalculatorFieldsClasses\n calculatorInfo?: CalculatorInfoClasses\n}\n\nexport interface CalculatorViewProps<T extends FieldValues = FieldValues> extends CalculatorTab {\n calculatorInfoConfig: CalculatorInfoProps\n calculatorFieldsConfig: CalculatorFieldsProps<T>\n classes?: CalculatorViewClasses\n}\n\nexport const CalculatorView = <T extends FieldValues>({\n calculatorInfoConfig,\n calculatorFieldsConfig,\n classes\n}: CalculatorViewProps<T>) => {\n const calculatorSchema: CalculatorSchema = getCalculatorSchema(calculatorFieldsConfig?.fieldsGroup)\n\n const formMethods = useControlledForm({\n schema: calculatorSchema,\n mode: 'onBlur',\n defaultValues: ZodUtils.getZodDefaults(calculatorSchema)\n })\n\n const watchedFields = formMethods.watch()\n\n const { rootValue } = calculatorInfoConfig\n\n useEffect(() => {\n localStorageActions.setItem('calculatorData', watchedFields)\n }, [watchedFields])\n\n const calculatedValue = isFormula(rootValue) ? evaluateFormula(rootValue.formula, watchedFields) : rootValue\n\n const mergedCalcInfoConfig = { ...calculatorInfoConfig, rootValue: calculatedValue }\n\n return (\n <FormProvider {...formMethods}>\n <div className={cn('flex items-start gap-16 mobile:flex-col mobile:items-center mobile:gap-8', classes?.wrapper)}>\n <CalculatorFields {...calculatorFieldsConfig} classes={classes?.calculatorFields} />\n <CalculatorInfo {...mergedCalcInfoConfig} classes={classes?.calculatorInfo} />\n </div>\n </FormProvider>\n )\n}\n"],"names":["CalculatorView","calculatorInfoConfig","calculatorFieldsConfig","classes","calculatorSchema","getCalculatorSchema","formMethods","useControlledForm","ZodUtils","watchedFields","rootValue","useEffect","localStorageActions","calculatedValue","isFormula","evaluateFormula","mergedCalcInfoConfig","jsx","FormProvider","jsxs","cn","CalculatorFields","CalculatorInfo"],"mappings":"mpFA4BO,MAAMA,GAAiB,CAAwB,CACpD,qBAAAC,EACA,uBAAAC,EACA,QAAAC,CACF,IAA8B,CAC5B,MAAMC,EAAqCC,EAAoBH,GAAA,YAAAA,EAAwB,WAAW,EAE5FI,EAAcC,EAAkB,CACpC,OAAQH,EACR,KAAM,SACN,cAAeI,EAAS,eAAeJ,CAAgB,CAAA,CACxD,EAEKK,EAAgBH,EAAY,MAAA,EAE5B,CAAE,UAAAI,GAAcT,EAEtBU,EAAU,IAAM,CACdC,EAAoB,QAAQ,iBAAkBH,CAAa,CAC7D,EAAG,CAACA,CAAa,CAAC,EAElB,MAAMI,EAAkBC,EAAUJ,CAAS,EAAIK,EAAgBL,EAAU,QAASD,CAAa,EAAIC,EAE7FM,EAAuB,CAAE,GAAGf,EAAsB,UAAWY,CAAA,EAEnE,OACEI,EAACC,EAAA,CAAc,GAAGZ,EAChB,SAAAa,EAAC,MAAA,CAAI,UAAWC,EAAG,2EAA4EjB,GAAA,YAAAA,EAAS,OAAO,EAC7G,SAAA,CAAAc,EAACI,EAAA,CAAkB,GAAGnB,EAAwB,QAASC,GAAA,YAAAA,EAAS,iBAAkB,IACjFmB,EAAA,CAAgB,GAAGN,EAAsB,QAASb,GAAA,YAAAA,EAAS,cAAA,CAAgB,CAAA,CAAA,CAC9E,CAAA,CACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useState as u,useEffect as b}from"react";import{useFormContext as y}from"
|
|
1
|
+
import{useState as u,useEffect as b}from"react";import{useFormContext as y}from"react-hook-form";import"../../../../../../node_modules/classnames/index.js";import{TypeGuards as T}from"../../../../../shared/utils/typeGuards.js";const d=2e4,k=({slidersGroupConfig:i,additionalSliderGroupConfig:l})=>{const[h,m]=u(!1),{watch:r,setValue:a}=y(),e=i==null?void 0:i.fields.find(({args:f})=>f.name==="sum"),{args:x}=e||{},{max:s,name:o,defaultValue:M}=x||{},t=r(o),{min:V,name:c}=(l==null?void 0:l.args)??{},N=r(c),n=Number(s??0)-(t??M);return b(()=>{N>n&&a(c,n)},[n,N,a,t]),b(()=>{Number(s)===t&&m(!1)},[m,s,t]),{sliderVisible:h,setSliderVisible:m,sumMax:s,sumName:o,sumDefaultValue:M,sumValue:t,additionalSliderMax:n,onCheckedChange:()=>{m(f=>!f),N<=0&&a(c,V),Number(s)===t&&(a(o??"",t-d),a(c,V))},sliderSumExist:!T.isObjectEmpty(e==null?void 0:e.args),sliderSumCorrectType:(e==null?void 0:e.args.componentType)==="algorithmic"||(e==null?void 0:e.args.componentType)==="step"}};export{k as useAdditionalSlider};
|
|
2
2
|
//# sourceMappingURL=useAdditionalSlider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAdditionalSlider.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { type FieldValues, type Path, type PathValue, useFormContext } from 'react-hook-form'\nimport { TypeGuards } from '../../../../../shared/utils'\nimport { type AdditionalSliderGroupConfig, type SlidersGroupProps } from '../ui'\n\ninterface UseAdditionalSlider<T extends FieldValues> {\n additionalSliderGroupConfig?: AdditionalSliderGroupConfig<T>\n slidersGroupConfig?: SlidersGroupProps<T>\n}\n\nconst ADDITIONAL_MONEY_MINIMUM = 20_000\n\nexport const useAdditionalSlider = <T extends FieldValues>({\n slidersGroupConfig,\n additionalSliderGroupConfig\n}: UseAdditionalSlider<T>) => {\n const [sliderVisible, setSliderVisible] = useState<boolean>(false)\n\n const { watch, setValue } = useFormContext<T>()\n\n const sliderSumGroup = slidersGroupConfig?.fields.find(({ args }) => args.name === 'sum')\n const { args } = sliderSumGroup || {}\n const { max: sumMax, name: sumName, defaultValue: sumDefaultValue } = args || {}\n const sumValue = watch(sumName as Path<T>)\n\n const { min: additionalSliderMin, name: additionalSliderName } = additionalSliderGroupConfig?.args ?? {}\n const additionalSliderValue = watch(additionalSliderName as Path<T>)\n const additionalSliderMax = Number(sumMax ?? 0) - (sumValue ?? sumDefaultValue)\n\n useEffect(() => {\n if (additionalSliderValue > additionalSliderMax) {\n setValue(additionalSliderName as Path<T>, additionalSliderMax as PathValue<T, Path<T>>)\n }\n }, [additionalSliderMax, additionalSliderValue, setValue, sumValue])\n\n useEffect(() => {\n if (Number(sumMax) === sumValue) {\n setSliderVisible(false)\n }\n }, [setSliderVisible, sumMax, sumValue])\n\n const onCheckedChange = () => {\n setSliderVisible((prevValue) => !prevValue)\n\n if (additionalSliderValue <= 0) {\n setValue(additionalSliderName as Path<T>, additionalSliderMin as PathValue<T, Path<T>>)\n }\n\n if (Number(sumMax) === sumValue) {\n setValue((sumName ?? '') as Path<T>, (sumValue - ADDITIONAL_MONEY_MINIMUM) as PathValue<T, Path<T>>)\n setValue(additionalSliderName as Path<T>, additionalSliderMin as PathValue<T, Path<T>>)\n }\n }\n\n return {\n sliderVisible,\n setSliderVisible,\n sumMax,\n sumName,\n sumDefaultValue,\n sumValue,\n additionalSliderMax,\n onCheckedChange,\n sliderSumExist: !TypeGuards.isObjectEmpty(sliderSumGroup?.args),\n sliderSumCorrectType: sliderSumGroup?.args.componentType === 'algorithmic' || sliderSumGroup?.args.componentType === 'step'\n }\n}\n"],"names":["ADDITIONAL_MONEY_MINIMUM","useAdditionalSlider","slidersGroupConfig","additionalSliderGroupConfig","sliderVisible","setSliderVisible","useState","watch","setValue","useFormContext","sliderSumGroup","args","sumMax","sumName","sumDefaultValue","sumValue","additionalSliderMin","additionalSliderName","additionalSliderValue","additionalSliderMax","useEffect","prevValue","TypeGuards"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAdditionalSlider.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { type FieldValues, type Path, type PathValue, useFormContext } from 'react-hook-form'\nimport { TypeGuards } from '../../../../../shared/utils'\nimport { type AdditionalSliderGroupConfig, type SlidersGroupProps } from '../ui'\n\ninterface UseAdditionalSlider<T extends FieldValues> {\n additionalSliderGroupConfig?: AdditionalSliderGroupConfig<T>\n slidersGroupConfig?: SlidersGroupProps<T>\n}\n\nconst ADDITIONAL_MONEY_MINIMUM = 20_000\n\nexport const useAdditionalSlider = <T extends FieldValues>({\n slidersGroupConfig,\n additionalSliderGroupConfig\n}: UseAdditionalSlider<T>) => {\n const [sliderVisible, setSliderVisible] = useState<boolean>(false)\n\n const { watch, setValue } = useFormContext<T>()\n\n const sliderSumGroup = slidersGroupConfig?.fields.find(({ args }) => args.name === 'sum')\n const { args } = sliderSumGroup || {}\n const { max: sumMax, name: sumName, defaultValue: sumDefaultValue } = args || {}\n const sumValue = watch(sumName as Path<T>)\n\n const { min: additionalSliderMin, name: additionalSliderName } = additionalSliderGroupConfig?.args ?? {}\n const additionalSliderValue = watch(additionalSliderName as Path<T>)\n const additionalSliderMax = Number(sumMax ?? 0) - (sumValue ?? sumDefaultValue)\n\n useEffect(() => {\n if (additionalSliderValue > additionalSliderMax) {\n setValue(additionalSliderName as Path<T>, additionalSliderMax as PathValue<T, Path<T>>)\n }\n }, [additionalSliderMax, additionalSliderValue, setValue, sumValue])\n\n useEffect(() => {\n if (Number(sumMax) === sumValue) {\n setSliderVisible(false)\n }\n }, [setSliderVisible, sumMax, sumValue])\n\n const onCheckedChange = () => {\n setSliderVisible((prevValue) => !prevValue)\n\n if (additionalSliderValue <= 0) {\n setValue(additionalSliderName as Path<T>, additionalSliderMin as PathValue<T, Path<T>>)\n }\n\n if (Number(sumMax) === sumValue) {\n setValue((sumName ?? '') as Path<T>, (sumValue - ADDITIONAL_MONEY_MINIMUM) as PathValue<T, Path<T>>)\n setValue(additionalSliderName as Path<T>, additionalSliderMin as PathValue<T, Path<T>>)\n }\n }\n\n return {\n sliderVisible,\n setSliderVisible,\n sumMax,\n sumName,\n sumDefaultValue,\n sumValue,\n additionalSliderMax,\n onCheckedChange,\n sliderSumExist: !TypeGuards.isObjectEmpty(sliderSumGroup?.args),\n sliderSumCorrectType: sliderSumGroup?.args.componentType === 'algorithmic' || sliderSumGroup?.args.componentType === 'step'\n }\n}\n"],"names":["ADDITIONAL_MONEY_MINIMUM","useAdditionalSlider","slidersGroupConfig","additionalSliderGroupConfig","sliderVisible","setSliderVisible","useState","watch","setValue","useFormContext","sliderSumGroup","args","sumMax","sumName","sumDefaultValue","sumValue","additionalSliderMin","additionalSliderName","additionalSliderValue","additionalSliderMax","useEffect","prevValue","TypeGuards"],"mappings":"mOAUA,MAAMA,EAA2B,IAEpBC,EAAsB,CAAwB,CACzD,mBAAAC,EACA,4BAAAC,CACF,IAA8B,CAC5B,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAAkB,EAAK,EAE3D,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EAEtBC,EAAiBR,GAAA,YAAAA,EAAoB,OAAO,KAAK,CAAC,CAAE,KAAAS,CAAAA,IAAWA,EAAK,OAAS,OAC7E,CAAE,KAAAA,GAASD,GAAkB,CAAA,EAC7B,CAAE,IAAKE,EAAQ,KAAMC,EAAS,aAAcC,GAAoBH,GAAQ,CAAA,EACxEI,EAAWR,EAAMM,CAAkB,EAEnC,CAAE,IAAKG,EAAqB,KAAMC,IAAyBd,GAAA,YAAAA,EAA6B,OAAQ,CAAA,EAChGe,EAAwBX,EAAMU,CAA+B,EAC7DE,EAAsB,OAAOP,GAAU,CAAC,GAAKG,GAAYD,GAE/D,OAAAM,EAAU,IAAM,CACVF,EAAwBC,GAC1BX,EAASS,EAAiCE,CAA4C,CAE1F,EAAG,CAACA,EAAqBD,EAAuBV,EAAUO,CAAQ,CAAC,EAEnEK,EAAU,IAAM,CACV,OAAOR,CAAM,IAAMG,GACrBV,EAAiB,EAAK,CAE1B,EAAG,CAACA,EAAkBO,EAAQG,CAAQ,CAAC,EAehC,CACL,cAAAX,EACA,iBAAAC,EACA,OAAAO,EACA,QAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,oBAAAI,EACA,gBArBsB,IAAM,CAC5Bd,EAAkBgB,GAAc,CAACA,CAAS,EAEtCH,GAAyB,GAC3BV,EAASS,EAAiCD,CAA4C,EAGpF,OAAOJ,CAAM,IAAMG,IACrBP,EAAUK,GAAW,GAAiBE,EAAWf,CAAkD,EACnGQ,EAASS,EAAiCD,CAA4C,EAE1F,EAWE,eAAgB,CAACM,EAAW,cAAcZ,GAAA,YAAAA,EAAgB,IAAI,EAC9D,sBAAsBA,GAAA,YAAAA,EAAgB,KAAK,iBAAkB,gBAAiBA,GAAA,YAAAA,EAAgB,KAAK,iBAAkB,MAAA,CAEzH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useFormContext as y}from"
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useFormContext as y}from"react-hook-form";import{useAdditionalSlider as N}from"../hooks/useAdditionalSlider.js";import{cn as o}from"../../../../../shared/utils/cn.js";import{TypeGuards as b}from"../../../../../shared/utils/typeGuards.js";import"react";import"../../../../../shared/ui/button/Button.js";import"../../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../../shared/ui/calendar/Calendar.js";import"../../../../../shared/ui/calendar/model/utils.js";import"../../../../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../../../shared/ui/slot/Slot.js";import"../../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import{SwitchBase as j}from"../../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import{SliderControl as v}from"../../../../../shared/ui/formElements/controlled/slider/SliderControl.js";import"../../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const a=({slidersGroupConfig:c,additionalSliderGroupConfig:m,classes:r})=>{const{control:x}=y(),{sliderVisible:p,additionalSliderMax:h,onCheckedChange:k}=N({slidersGroupConfig:c,additionalSliderGroupConfig:m});return b.isNil(m==null?void 0:m.args)||!(m!=null&&m.args)?null:e("div",{className:o("flex flex-col gap-4",r==null?void 0:r.wrapper),children:[e("div",{className:o("inline-flex items-center gap-2",r==null?void 0:r.block),children:[t(j,{checked:p,onCheckedChange:k}),t("p",{className:"desk-body-regular-l",children:"Хочу получить деньги дополнительно"})]}),p&&t(v,{...m.args,control:x,componentType:"algorithmic",suffix:"currency",defaultValue:m==null?void 0:m.args.min,max:h})]})};export{a as AdditionalSlider};
|
|
2
2
|
//# sourceMappingURL=AdditionalSlider.js.map
|
|
@@ -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":"
|
|
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":"65EAoBO,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,GAAA,YAAAA,EAA6B,IAAI,GAAK,EAACA,GAAA,MAAAA,EAA6B,MAAa,OAGnG,MAAA,CAAI,UAAWS,EAAG,sBAAuBR,GAAA,YAAAA,EAAS,OAAO,EACxD,SAAA,CAAAS,EAAC,OAAI,UAAWD,EAAG,iCAAkCR,GAAA,YAAAA,EAAS,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,GAAA,YAAAA,EAA6B,KAAK,IAChD,IAAKK,CAAA,CAAA,CACP,EAEJ,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as u,jsx as o}from"react/jsx-runtime";import"react";import{useBoolean as c}from"../../../../../shared/hooks/useBoolean.js";import{cn as i}from"../../../../../shared/utils/cn.js";import"../../../../../shared/ui/button/Button.js";import"../../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../../shared/ui/calendar/Calendar.js";import"../../../../../shared/ui/calendar/model/utils.js";import"../../../../../shared/ui/accordion/Accordion.js";import{Modal as a}from"../../../../../shared/ui/modal/Modal.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../../../shared/ui/carousel/ui/CarouselContent.js";import"react-dom";import"../../../../../shared/ui/slot/Slot.js";import"../../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const f=t=>{switch(t){case"content1":return o("div",{children:"content 1"});case"content2":return o("div",{children:"content 2"})}},
|
|
1
|
+
import{jsxs as u,jsx as o}from"react/jsx-runtime";import"react";import{useBoolean as c}from"../../../../../shared/hooks/useBoolean.js";import{cn as i}from"../../../../../shared/utils/cn.js";import"react-hook-form";import"../../../../../shared/ui/button/Button.js";import"../../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../../shared/ui/calendar/Calendar.js";import"../../../../../shared/ui/calendar/model/utils.js";import"../../../../../shared/ui/accordion/Accordion.js";import{Modal as a}from"../../../../../shared/ui/modal/Modal.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../../../shared/ui/carousel/ui/CarouselContent.js";import"react-dom";import"../../../../../shared/ui/slot/Slot.js";import"../../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const f=t=>{switch(t){case"content1":return o("div",{children:"content 1"});case"content2":return o("div",{children:"content 2"})}},X=({triggerText:t,modalTitle:e,description:m,classes:r,modalProps:n,contentVariant:d})=>{const[l,p]=c(!1);return u("div",{className:i("flex flex-col gap-4 rounded-sm bg-color-blue-grey-100 p-4",r==null?void 0:r.wrapper),children:[m&&o("p",{className:i("desk-body-regular-l text-color-tetriary",r==null?void 0:r.description),children:m}),o("button",{onClick:()=>p(!0),className:i("desk-body-regular-l w-max cursor-pointer text-color-primary-default underline underline-offset-4",r==null?void 0:r.button),children:t}),o(a,{title:e,isModalOpen:l,closeModal:()=>p(!1),...n,children:f(d)})]})};export{X as CalculatorModal};
|
|
2
2
|
//# sourceMappingURL=CalculatorModal.js.map
|
|
@@ -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":"
|
|
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":"gsEAoBA,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,GAAA,YAAAA,EAAS,OAAO,EAC7F,SAAA,CAAAD,GAAeJ,EAAC,KAAE,UAAWU,EAAG,0CAA2CL,GAAA,YAAAA,EAAS,WAAW,EAAI,SAAAD,CAAA,CAAY,EAChHJ,EAAC,SAAA,CACC,QAAS,IAAMQ,EAAY,EAAI,EAC/B,UAAWE,EACT,mGACAL,GAAA,YAAAA,EAAS,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{jsx as t}from"react/jsx-runtime";import{useFormContext as e}from"
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{useFormContext as e}from"react-hook-form";import{FieldMapper as m}from"../../../../fieldMapper/FieldMapper.js";const s=({fields:o})=>{const{control:r}=e();return t(m,{fields:o,control:r})};export{s as FieldsGroup};
|
|
2
2
|
//# sourceMappingURL=FieldsGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldsGroup.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.tsx"],"sourcesContent":["import { type FieldValues, useFormContext } from 'react-hook-form'\nimport { type FieldElementWithoutControl, FieldMapper } from '../../../../fieldMapper'\nimport type { FieldValidation } from '@/shared/utils'\nimport { type SliderAdditionalProps } from '$/shared/ui/formElements/uncontrolled/slider'\n\nexport type ValidationField = { validation: FieldValidation }\n\nexport interface SelectGroupProps<T extends FieldValues> {\n fields: FieldElementWithoutControl<T, 'ComboboxControl', ValidationField>[]\n}\n\nexport interface CheckboxGroupProps<T extends FieldValues> {\n fields: FieldElementWithoutControl<T, 'CheckboxControl', ValidationField>[]\n}\n\ntype RadioGroupFields<T extends FieldValues> = FieldElementWithoutControl<\n T,\n 'RadioGroupTabControl' | 'RadioGroupControl' | 'RadioGroupCardControl',\n ValidationField\n>[]\n\nexport interface RadioGroupProps<T extends FieldValues> {\n fields: RadioGroupFields<T>\n}\n\nexport interface SlidersGroupProps<T extends FieldValues> {\n fields: FieldElementWithoutControl<T, 'SliderControl', ValidationField>[]\n}\n\nexport interface SwitchGroupProps<T extends FieldValues> {\n fields: FieldElementWithoutControl<T, 'SwitchControl', ValidationField>[]\n}\n\nexport interface AdditionalSliderGroupConfig<T extends FieldValues> {\n args: SliderAdditionalProps<T>\n type: 'SliderControl'\n}\n\nexport type FieldsGroupProps<T extends FieldValues> =\n | SelectGroupProps<T>\n | CheckboxGroupProps<T>\n | RadioGroupProps<T>\n | SlidersGroupProps<T>\n | SwitchGroupProps<T>\n\nexport const FieldsGroup = <T extends FieldValues>({ fields }: FieldsGroupProps<T>) => {\n const { control } = useFormContext<T>()\n\n // @ts-expect-error fields\n return <FieldMapper fields={fields} control={control} />\n}\n"],"names":["FieldsGroup","fields","control","useFormContext","jsx","FieldMapper"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FieldsGroup.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.tsx"],"sourcesContent":["import { type FieldValues, useFormContext } from 'react-hook-form'\nimport { type FieldElementWithoutControl, FieldMapper } from '../../../../fieldMapper'\nimport type { FieldValidation } from '@/shared/utils'\nimport { type SliderAdditionalProps } from '$/shared/ui/formElements/uncontrolled/slider'\n\nexport type ValidationField = { validation: FieldValidation }\n\nexport interface SelectGroupProps<T extends FieldValues> {\n fields: FieldElementWithoutControl<T, 'ComboboxControl', ValidationField>[]\n}\n\nexport interface CheckboxGroupProps<T extends FieldValues> {\n fields: FieldElementWithoutControl<T, 'CheckboxControl', ValidationField>[]\n}\n\ntype RadioGroupFields<T extends FieldValues> = FieldElementWithoutControl<\n T,\n 'RadioGroupTabControl' | 'RadioGroupControl' | 'RadioGroupCardControl',\n ValidationField\n>[]\n\nexport interface RadioGroupProps<T extends FieldValues> {\n fields: RadioGroupFields<T>\n}\n\nexport interface SlidersGroupProps<T extends FieldValues> {\n fields: FieldElementWithoutControl<T, 'SliderControl', ValidationField>[]\n}\n\nexport interface SwitchGroupProps<T extends FieldValues> {\n fields: FieldElementWithoutControl<T, 'SwitchControl', ValidationField>[]\n}\n\nexport interface AdditionalSliderGroupConfig<T extends FieldValues> {\n args: SliderAdditionalProps<T>\n type: 'SliderControl'\n}\n\nexport type FieldsGroupProps<T extends FieldValues> =\n | SelectGroupProps<T>\n | CheckboxGroupProps<T>\n | RadioGroupProps<T>\n | SlidersGroupProps<T>\n | SwitchGroupProps<T>\n\nexport const FieldsGroup = <T extends FieldValues>({ fields }: FieldsGroupProps<T>) => {\n const { control } = useFormContext<T>()\n\n // @ts-expect-error fields\n return <FieldMapper fields={fields} control={control} />\n}\n"],"names":["FieldsGroup","fields","control","useFormContext","jsx","FieldMapper"],"mappings":"8JA6CO,MAAMA,EAAc,CAAwB,CAAE,OAAAC,KAAkC,CACrF,KAAM,CAAE,QAAAC,CAAA,EAAYC,EAAA,EAGpB,OAAOC,EAACC,EAAA,CAAY,OAAAJ,EAAgB,QAAAC,CAAA,CAAkB,CACxD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as c}from"react/jsx-runtime";import{useFormContext as u}from"
|
|
1
|
+
import{jsx as c}from"react/jsx-runtime";import{useFormContext as u}from"react-hook-form";import{FieldsGroup as g}from"./FieldsGroup.js";const i=(t,s)=>{if(!t)return 0;const n=t.match(/[a-z]+/gi)??[],r=`return ${t}`.trim();return new Function(...n,r)(...s(n).map(Number))},F=({fields:t})=>{const{watch:s}=u(),n=t.map(r=>{var m,a;const o=isNaN(Number(r.args.min))?i((m=r.args.min)==null?void 0:m.toString(),s):r.args.min,e=isNaN(Number(r.args.max))?i((a=r.args.max)==null?void 0:a.toString(),s):r.args.max;return{...r,args:{...r.args,min:o,max:e}}});return c(g,{fields:n})};export{F as SliderFieldsGroup};
|
|
2
2
|
//# sourceMappingURL=SliderFieldsGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderFieldsGroup.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.tsx"],"sourcesContent":["import { type FieldValues, type Path, useFormContext, type UseFormWatch } from 'react-hook-form'\nimport { FieldsGroup, type SlidersGroupProps } from './FieldsGroup'\n\nconst evaluateExpressionWith = <T extends FieldValues>(value: string | undefined, watch: UseFormWatch<T>) => {\n if (!value) return 0\n\n const variables = (value.match(/[a-z]+/gi) as string[]) ?? []\n const expression = `return ${value}`.trim()\n\n const fn = new Function(...variables, expression)\n\n return fn(...watch(variables as Path<T>[]).map(Number))\n}\n\nexport const SliderFieldsGroup = <T extends FieldValues>({ fields }: SlidersGroupProps<T>) => {\n const { watch } = useFormContext<T>()\n\n const transformedFields = (() => {\n return fields.map((field) => {\n const min = isNaN(Number(field.args.min)) ? evaluateExpressionWith(field.args.min?.toString(), watch) : field.args.min\n const max = isNaN(Number(field.args.max)) ? evaluateExpressionWith(field.args.max?.toString(), watch) : field.args.max\n\n return {\n ...field,\n args: {\n ...field.args,\n min,\n max\n }\n }\n })\n })()\n\n return <FieldsGroup fields={transformedFields} />\n}\n"],"names":["evaluateExpressionWith","value","watch","variables","expression","SliderFieldsGroup","fields","useFormContext","transformedFields","field","min","_a","max","_b","jsx","FieldsGroup"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SliderFieldsGroup.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.tsx"],"sourcesContent":["import { type FieldValues, type Path, useFormContext, type UseFormWatch } from 'react-hook-form'\nimport { FieldsGroup, type SlidersGroupProps } from './FieldsGroup'\n\nconst evaluateExpressionWith = <T extends FieldValues>(value: string | undefined, watch: UseFormWatch<T>) => {\n if (!value) return 0\n\n const variables = (value.match(/[a-z]+/gi) as string[]) ?? []\n const expression = `return ${value}`.trim()\n\n const fn = new Function(...variables, expression)\n\n return fn(...watch(variables as Path<T>[]).map(Number))\n}\n\nexport const SliderFieldsGroup = <T extends FieldValues>({ fields }: SlidersGroupProps<T>) => {\n const { watch } = useFormContext<T>()\n\n const transformedFields = (() => {\n return fields.map((field) => {\n const min = isNaN(Number(field.args.min)) ? evaluateExpressionWith(field.args.min?.toString(), watch) : field.args.min\n const max = isNaN(Number(field.args.max)) ? evaluateExpressionWith(field.args.max?.toString(), watch) : field.args.max\n\n return {\n ...field,\n args: {\n ...field.args,\n min,\n max\n }\n }\n })\n })()\n\n return <FieldsGroup fields={transformedFields} />\n}\n"],"names":["evaluateExpressionWith","value","watch","variables","expression","SliderFieldsGroup","fields","useFormContext","transformedFields","field","min","_a","max","_b","jsx","FieldsGroup"],"mappings":"wIAGA,MAAMA,EAAyB,CAAwBC,EAA2BC,IAA2B,CAC3G,GAAI,CAACD,EAAO,MAAO,GAEnB,MAAME,EAAaF,EAAM,MAAM,UAAU,GAAkB,CAAA,EACrDG,EAAa,UAAUH,CAAK,GAAG,KAAA,EAIrC,OAFW,IAAI,SAAS,GAAGE,EAAWC,CAAU,EAEtC,GAAGF,EAAMC,CAAsB,EAAE,IAAI,MAAM,CAAC,CACxD,EAEaE,EAAoB,CAAwB,CAAE,OAAAC,KAAmC,CAC5F,KAAM,CAAE,MAAAJ,CAAA,EAAUK,EAAA,EAEZC,EACGF,EAAO,IAAKG,GAAU,SAC3B,MAAMC,EAAM,MAAM,OAAOD,EAAM,KAAK,GAAG,CAAC,EAAIT,GAAuBW,EAAAF,EAAM,KAAK,MAAX,YAAAE,EAAgB,WAAYT,CAAK,EAAIO,EAAM,KAAK,IAC7GG,EAAM,MAAM,OAAOH,EAAM,KAAK,GAAG,CAAC,EAAIT,GAAuBa,EAAAJ,EAAM,KAAK,MAAX,YAAAI,EAAgB,WAAYX,CAAK,EAAIO,EAAM,KAAK,IAEnH,MAAO,CACL,GAAGA,EACH,KAAM,CACJ,GAAGA,EAAM,KACT,IAAAC,EACA,IAAAE,CAAA,CACF,CAEJ,CAAC,EAGH,OAAOE,EAACC,EAAA,CAAY,OAAQP,CAAA,CAAmB,CACjD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as I,jsx as r}from"react/jsx-runtime";import{CalculatorInfoHead as x}from"./ui/CalculatorInfoHead.js";import{CalculatedBlock as C}from"./ui/CalculatedBlock.js";import{CalculatorInfoBody as a}from"./ui/CalculatorInfoBody.js";import{CalculatorInfoFooter as b}from"./ui/CalculatorInfoFooter.js";import{cn as y}from"../../../../shared/utils/cn.js";import"react";import"../../../../shared/ui/button/Button.js";import"../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../shared/ui/calendar/Calendar.js";import"../../../../shared/ui/calendar/model/utils.js";import"../../../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../../shared/ui/slot/Slot.js";import"../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../src/configs/api.js";import"../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const
|
|
1
|
+
import{jsxs as I,jsx as r}from"react/jsx-runtime";import{CalculatorInfoHead as x}from"./ui/CalculatorInfoHead.js";import{CalculatedBlock as C}from"./ui/CalculatedBlock.js";import{CalculatorInfoBody as a}from"./ui/CalculatorInfoBody.js";import{CalculatorInfoFooter as b}from"./ui/CalculatorInfoFooter.js";import{cn as y}from"../../../../shared/utils/cn.js";import"react";import"../../../../shared/ui/button/Button.js";import"../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../shared/ui/calendar/Calendar.js";import"../../../../shared/ui/calendar/model/utils.js";import"../../../../shared/ui/accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../../shared/ui/slot/Slot.js";import"../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../src/configs/api.js";import"../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const oo=({rootDescription:t,bottomDescription:m,rootValue:p,title:i,subtitle:f,buttonsConfig:u,infoList:d,suffix:n,assistHint:l,classes:o})=>I("div",{className:y("w-full max-w-[456px] rounded-md bg-color-blue-grey-100 p-8 mobile:px-4 mobile:py-8",o==null?void 0:o.wrapper),children:[r(C,{suffix:n,rootValue:p,rootDescription:t,classes:o==null?void 0:o.calculatedBlock}),r(x,{title:i,subtitle:f,classes:o==null?void 0:o.calculatedInfoHead}),r(a,{infoList:d,classes:o==null?void 0:o.calculatorInfoBody}),r(b,{assistHint:l,buttonsConfig:u,bottomDescription:m,classes:o==null?void 0:o.calculatorInfoFooter})]});export{oo as CalculatorInfo};
|
|
2
2
|
//# sourceMappingURL=CalculatorInfo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatorInfo.js","sources":["../../../../../../lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.tsx"],"sourcesContent":["import {\n CalculatedBlock,\n type CalculatedBlockClasses,\n type CalculatedBlockProps,\n type CalculatedInfoBodyProps,\n CalculatorInfoBody,\n type CalculatorInfoBodyClasses,\n CalculatorInfoFooter,\n type CalculatorInfoFooterClasses,\n type CalculatorInfoFooterProps,\n CalculatorInfoHead,\n type CalculatorInfoHeadClasses,\n type CalculatorInfoHeadProps\n} from './ui'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorInfoClasses = {\n wrapper?: string\n calculatedBlock?: CalculatedBlockClasses\n calculatedInfoHead?: CalculatorInfoHeadClasses\n calculatorInfoBody?: CalculatorInfoBodyClasses\n calculatorInfoFooter?: CalculatorInfoFooterClasses\n}\n\nexport interface CalculatorInfoProps\n extends Omit<CalculatedBlockProps, 'classes'>,\n Omit<CalculatorInfoHeadProps, 'classes'>,\n Omit<CalculatedInfoBodyProps, 'classes'>,\n Omit<CalculatorInfoFooterProps, 'classes'> {\n classes?: CalculatorInfoClasses\n}\n\nexport const CalculatorInfo = ({\n rootDescription,\n bottomDescription,\n rootValue,\n title,\n subtitle,\n buttonsConfig,\n infoList,\n suffix,\n assistHint,\n classes\n}: CalculatorInfoProps) => {\n return (\n <div className={cn('w-full max-w-[456px] rounded-md bg-color-blue-grey-100 p-8 mobile:px-4 mobile:py-8', classes?.wrapper)}>\n <CalculatedBlock\n suffix={suffix}\n rootValue={rootValue}\n rootDescription={rootDescription}\n classes={classes?.calculatedBlock}\n />\n <CalculatorInfoHead title={title} subtitle={subtitle} classes={classes?.calculatedInfoHead} />\n <CalculatorInfoBody infoList={infoList} classes={classes?.calculatorInfoBody} />\n <CalculatorInfoFooter\n assistHint={assistHint}\n buttonsConfig={buttonsConfig}\n bottomDescription={bottomDescription}\n classes={classes?.calculatorInfoFooter}\n />\n </div>\n )\n}\n"],"names":["CalculatorInfo","rootDescription","bottomDescription","rootValue","title","subtitle","buttonsConfig","infoList","suffix","assistHint","classes","cn","jsx","CalculatedBlock","CalculatorInfoHead","CalculatorInfoBody","CalculatorInfoFooter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CalculatorInfo.js","sources":["../../../../../../lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.tsx"],"sourcesContent":["import {\n CalculatedBlock,\n type CalculatedBlockClasses,\n type CalculatedBlockProps,\n type CalculatedInfoBodyProps,\n CalculatorInfoBody,\n type CalculatorInfoBodyClasses,\n CalculatorInfoFooter,\n type CalculatorInfoFooterClasses,\n type CalculatorInfoFooterProps,\n CalculatorInfoHead,\n type CalculatorInfoHeadClasses,\n type CalculatorInfoHeadProps\n} from './ui'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorInfoClasses = {\n wrapper?: string\n calculatedBlock?: CalculatedBlockClasses\n calculatedInfoHead?: CalculatorInfoHeadClasses\n calculatorInfoBody?: CalculatorInfoBodyClasses\n calculatorInfoFooter?: CalculatorInfoFooterClasses\n}\n\nexport interface CalculatorInfoProps\n extends Omit<CalculatedBlockProps, 'classes'>,\n Omit<CalculatorInfoHeadProps, 'classes'>,\n Omit<CalculatedInfoBodyProps, 'classes'>,\n Omit<CalculatorInfoFooterProps, 'classes'> {\n classes?: CalculatorInfoClasses\n}\n\nexport const CalculatorInfo = ({\n rootDescription,\n bottomDescription,\n rootValue,\n title,\n subtitle,\n buttonsConfig,\n infoList,\n suffix,\n assistHint,\n classes\n}: CalculatorInfoProps) => {\n return (\n <div className={cn('w-full max-w-[456px] rounded-md bg-color-blue-grey-100 p-8 mobile:px-4 mobile:py-8', classes?.wrapper)}>\n <CalculatedBlock\n suffix={suffix}\n rootValue={rootValue}\n rootDescription={rootDescription}\n classes={classes?.calculatedBlock}\n />\n <CalculatorInfoHead title={title} subtitle={subtitle} classes={classes?.calculatedInfoHead} />\n <CalculatorInfoBody infoList={infoList} classes={classes?.calculatorInfoBody} />\n <CalculatorInfoFooter\n assistHint={assistHint}\n buttonsConfig={buttonsConfig}\n bottomDescription={bottomDescription}\n classes={classes?.calculatorInfoFooter}\n />\n </div>\n )\n}\n"],"names":["CalculatorInfo","rootDescription","bottomDescription","rootValue","title","subtitle","buttonsConfig","infoList","suffix","assistHint","classes","cn","jsx","CalculatedBlock","CalculatorInfoHead","CalculatorInfoBody","CalculatorInfoFooter"],"mappings":"gyEAgCO,MAAMA,GAAiB,CAAC,CAC7B,gBAAAC,EACA,kBAAAC,EACA,UAAAC,EACA,MAAAC,EACA,SAAAC,EACA,cAAAC,EACA,SAAAC,EACA,OAAAC,EACA,WAAAC,EACA,QAAAC,CACF,MAEK,MAAA,CAAI,UAAWC,EAAG,qFAAsFD,GAAA,YAAAA,EAAS,OAAO,EACvH,SAAA,CAAAE,EAACC,EAAA,CACC,OAAAL,EACA,UAAAL,EACA,gBAAAF,EACA,QAASS,GAAA,YAAAA,EAAS,eAAA,CAAA,IAEnBI,EAAA,CAAmB,MAAAV,EAAc,SAAAC,EAAoB,QAASK,GAAA,YAAAA,EAAS,mBAAoB,EAC5FE,EAACG,EAAA,CAAmB,SAAAR,EAAoB,QAASG,GAAA,YAAAA,EAAS,mBAAoB,EAC9EE,EAACI,EAAA,CACC,WAAAP,EACA,cAAAH,EACA,kBAAAJ,EACA,QAASQ,GAAA,YAAAA,EAAS,oBAAA,CAAA,CACpB,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as m,jsx as i}from"react/jsx-runtime";import{cn as t}from"../../../../../shared/utils/cn.js";import"react";import"../../../../../shared/ui/button/Button.js";import"../../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../../shared/ui/calendar/Calendar.js";import"../../../../../shared/ui/calendar/model/utils.js";import"../../../../../shared/ui/accordion/Accordion.js";import{Popover as f}from"../../../../../shared/ui/popover/Popover.js";import"react-dom";import"../../../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as p}from"../../../../../shared/ui/icon/Icon.js";import"../../../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../../../shared/ui/slot/Slot.js";import"../../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const
|
|
1
|
+
import{jsxs as m,jsx as i}from"react/jsx-runtime";import{cn as t}from"../../../../../shared/utils/cn.js";import"react";import"../../../../../shared/ui/button/Button.js";import"../../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../../shared/ui/calendar/Calendar.js";import"../../../../../shared/ui/calendar/model/utils.js";import"../../../../../shared/ui/accordion/Accordion.js";import"react-hook-form";import{Popover as f}from"../../../../../shared/ui/popover/Popover.js";import"react-dom";import"../../../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as p}from"../../../../../shared/ui/icon/Icon.js";import"../../../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../../../shared/ui/slot/Slot.js";import"../../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const V=({iconName:e,text:n,hint:o,classes:r,popoverProps:d})=>m("div",{className:t("mb-6 flex items-center gap-2",r==null?void 0:r.wrapper),children:[m("div",{className:t("flex items-center gap-1",r==null?void 0:r.block),children:[i(p,{name:e,className:t("size-6 text-icon-blue-grey-800",r==null?void 0:r.icon)}),i("p",{className:t("desk-body-regular-l text-color-tetriary",r==null?void 0:r.description),children:n})]}),o&&i(f,{withCloseBtn:!1,triggerElement:i(p,{name:"info/helpCircle",className:"size-5 text-icon-blue-grey-600"}),...d,children:o})]});export{V as AssistHint};
|
|
2
2
|
//# sourceMappingURL=AssistHint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistHint.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.tsx"],"sourcesContent":["import { type AllowedIcons, Icon, Popover, type PopoverProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AssistHintClasses = {\n wrapper?: string\n block?: string\n icon?: string\n description?: string\n}\n\nexport interface AssistHintProps {\n iconName: AllowedIcons\n text: string\n hint?: string\n classes?: AssistHintClasses\n popoverProps?: PopoverProps\n}\n\nexport const AssistHint = ({ iconName, text, hint, classes, popoverProps }: AssistHintProps) => {\n return (\n <div className={cn('mb-6 flex items-center gap-2', classes?.wrapper)}>\n <div className={cn('flex items-center gap-1', classes?.block)}>\n <Icon name={iconName} className={cn('size-6 text-icon-blue-grey-800', classes?.icon)} />\n <p className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}>{text}</p>\n </div>\n\n {hint && (\n <Popover\n withCloseBtn={false}\n triggerElement={<Icon name='info/helpCircle' className='size-5 text-icon-blue-grey-600' />}\n {...popoverProps}\n >\n {hint}\n </Popover>\n )}\n </div>\n )\n}\n"],"names":["AssistHint","iconName","text","hint","classes","popoverProps","cn","jsxs","jsx","Icon","Popover"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AssistHint.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.tsx"],"sourcesContent":["import { type AllowedIcons, Icon, Popover, type PopoverProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AssistHintClasses = {\n wrapper?: string\n block?: string\n icon?: string\n description?: string\n}\n\nexport interface AssistHintProps {\n iconName: AllowedIcons\n text: string\n hint?: string\n classes?: AssistHintClasses\n popoverProps?: PopoverProps\n}\n\nexport const AssistHint = ({ iconName, text, hint, classes, popoverProps }: AssistHintProps) => {\n return (\n <div className={cn('mb-6 flex items-center gap-2', classes?.wrapper)}>\n <div className={cn('flex items-center gap-1', classes?.block)}>\n <Icon name={iconName} className={cn('size-6 text-icon-blue-grey-800', classes?.icon)} />\n <p className={cn('desk-body-regular-l text-color-tetriary', classes?.description)}>{text}</p>\n </div>\n\n {hint && (\n <Popover\n withCloseBtn={false}\n triggerElement={<Icon name='info/helpCircle' className='size-5 text-icon-blue-grey-600' />}\n {...popoverProps}\n >\n {hint}\n </Popover>\n )}\n </div>\n )\n}\n"],"names":["AssistHint","iconName","text","hint","classes","popoverProps","cn","jsxs","jsx","Icon","Popover"],"mappings":"4vEAkBO,MAAMA,EAAa,CAAC,CAAE,SAAAC,EAAU,KAAAC,EAAM,KAAAC,EAAM,QAAAC,EAAS,aAAAC,OAEvD,MAAA,CAAI,UAAWC,EAAG,+BAAgCF,GAAA,YAAAA,EAAS,OAAO,EACjE,SAAA,CAAAG,EAAC,OAAI,UAAWD,EAAG,0BAA2BF,GAAA,YAAAA,EAAS,KAAK,EAC1D,SAAA,CAAAI,EAACC,EAAA,CAAK,KAAMR,EAAU,UAAWK,EAAG,iCAAkCF,GAAA,YAAAA,EAAS,IAAI,EAAG,EACtFI,EAAC,KAAE,UAAWF,EAAG,0CAA2CF,GAAA,YAAAA,EAAS,WAAW,EAAI,SAAAF,CAAA,CAAK,CAAA,EAC3F,EAECC,GACCK,EAACE,EAAA,CACC,aAAc,GACd,eAAgBF,EAACC,EAAA,CAAK,KAAK,kBAAkB,UAAU,iCAAiC,EACvF,GAAGJ,EAEH,SAAAF,CAAA,CAAA,CACH,EAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as m}from"react/jsx-runtime";import{useFormContext as n}from"
|
|
1
|
+
import{jsx as m}from"react/jsx-runtime";import{useFormContext as n}from"react-hook-form";import{formatInfoList as f}from"../../../model/helpers.js";import{InfoListItem as d}from"./InfoListItem.js";import{cn as c}from"../../../../../shared/utils/cn.js";import"react";const w=({infoList:e,classes:o})=>{const{watch:p}=n(),i=p(),r=f(e,i);return m("div",{className:c("mb-6 mt-4 flex flex-col gap-3 border-t border-solid border-blue-grey-500 pt-4",o==null?void 0:o.wrapper),children:r==null?void 0:r.map(t=>m(d,{...t},t.label))})};export{w 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}\n\nexport const CalculatorInfoBody = ({ infoList, classes }: CalculatedInfoBodyProps) => {\n const { watch } = useFormContext<CalculatorSchema>()\n const watchedFields = watch()\n const formattedInfoList = formatInfoList(infoList, watchedFields)\n\n return (\n <div className={cn('mb-6 mt-4 flex flex-col gap-3 border-t border-solid border-blue-grey-500 pt-4', classes?.wrapper)}>\n {formattedInfoList?.map((listItem) => (\n <InfoListItem key={listItem.label} {...listItem} />\n ))}\n </div>\n )\n}\n"],"names":["CalculatorInfoBody","infoList","classes","watch","useFormContext","watchedFields","formattedInfoList","formatInfoList","cn","listItem","InfoListItem"],"mappings":"
|
|
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}\n\nexport const CalculatorInfoBody = ({ infoList, classes }: CalculatedInfoBodyProps) => {\n const { watch } = useFormContext<CalculatorSchema>()\n const watchedFields = watch()\n const formattedInfoList = formatInfoList(infoList, watchedFields)\n\n return (\n <div className={cn('mb-6 mt-4 flex flex-col gap-3 border-t border-solid border-blue-grey-500 pt-4', classes?.wrapper)}>\n {formattedInfoList?.map((listItem) => (\n <InfoListItem key={listItem.label} {...listItem} />\n ))}\n </div>\n )\n}\n"],"names":["CalculatorInfoBody","infoList","classes","watch","useFormContext","watchedFields","formattedInfoList","formatInfoList","cn","listItem","InfoListItem"],"mappings":"0QAcO,MAAMA,EAAqB,CAAC,CAAE,SAAAC,EAAU,QAAAC,KAAuC,CACpF,KAAM,CAAE,MAAAC,CAAA,EAAUC,EAAA,EACZC,EAAgBF,EAAA,EAChBG,EAAoBC,EAAeN,EAAUI,CAAa,EAEhE,SACG,MAAA,CAAI,UAAWG,EAAG,gFAAiFN,GAAA,YAAAA,EAAS,OAAO,EACjH,SAAAI,GAAA,YAAAA,EAAmB,IAAKG,KACtBC,EAAA,CAAmC,GAAGD,GAApBA,EAAS,KAAqB,GAErD,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as i,Fragment as t,jsxs as d}from"react/jsx-runtime";import{cn as p}from"../../../../../shared/utils/cn.js";import"react";import"../../../../../shared/ui/button/Button.js";import"../../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../../shared/ui/calendar/Calendar.js";import"../../../../../shared/ui/calendar/model/utils.js";import"../../../../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as n}from"../../../../../shared/ui/heading/Heading.js";import"../../../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../../../shared/ui/slot/Slot.js";import"../../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const
|
|
1
|
+
import{jsx as i,Fragment as t,jsxs as d}from"react/jsx-runtime";import{cn as p}from"../../../../../shared/utils/cn.js";import"react";import"../../../../../shared/ui/button/Button.js";import"../../../../../shared/ui/buttonIcon/ButtonIcon.js";import"../../../../../shared/ui/calendar/Calendar.js";import"../../../../../shared/ui/calendar/model/utils.js";import"../../../../../shared/ui/accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../../../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as n}from"../../../../../shared/ui/heading/Heading.js";import"../../../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../../../shared/ui/slot/Slot.js";import"../../../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../../../shared/ui/formElements/uncontrolled/combobox/combobox.js";import"../../../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../../../shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";const T=({subtitle:o,title:m,classes:r})=>i(t,{children:(m||o)&&d("div",{className:p("flex flex-col gap-2",r==null?void 0:r.wrapper),children:[m&&i(n,{as:"h3",className:r==null?void 0:r.title,children:m}),o&&i("div",{className:p("desk-body-regular-l text-color-dark",r==null?void 0:r.subtitle),children:o})]})});export{T as CalculatorInfoHead};
|
|
2
2
|
//# sourceMappingURL=CalculatorInfoHead.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatorInfoHead.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.tsx"],"sourcesContent":["import { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorInfoHeadClasses = {\n wrapper?: string\n title?: string\n subtitle?: string\n}\n\nexport interface CalculatorInfoHeadProps {\n title?: string\n subtitle?: string\n classes?: CalculatorInfoHeadClasses\n}\n\nexport const CalculatorInfoHead = ({ subtitle, title, classes }: CalculatorInfoHeadProps) => {\n return (\n <>\n {(title || subtitle) && (\n <div className={cn('flex flex-col gap-2', classes?.wrapper)}>\n {title && (\n <Heading as='h3' className={classes?.title}>\n {title}\n </Heading>\n )}\n {subtitle && <div className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}>{subtitle}</div>}\n </div>\n )}\n </>\n )\n}\n"],"names":["CalculatorInfoHead","subtitle","title","classes","jsx","Fragment","jsxs","cn","Heading"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CalculatorInfoHead.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.tsx"],"sourcesContent":["import { Heading } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type CalculatorInfoHeadClasses = {\n wrapper?: string\n title?: string\n subtitle?: string\n}\n\nexport interface CalculatorInfoHeadProps {\n title?: string\n subtitle?: string\n classes?: CalculatorInfoHeadClasses\n}\n\nexport const CalculatorInfoHead = ({ subtitle, title, classes }: CalculatorInfoHeadProps) => {\n return (\n <>\n {(title || subtitle) && (\n <div className={cn('flex flex-col gap-2', classes?.wrapper)}>\n {title && (\n <Heading as='h3' className={classes?.title}>\n {title}\n </Heading>\n )}\n {subtitle && <div className={cn('desk-body-regular-l text-color-dark', classes?.subtitle)}>{subtitle}</div>}\n </div>\n )}\n </>\n )\n}\n"],"names":["CalculatorInfoHead","subtitle","title","classes","jsx","Fragment","jsxs","cn","Heading"],"mappings":"6sEAeO,MAAMA,EAAqB,CAAC,CAAE,SAAAC,EAAU,MAAAC,EAAO,QAAAC,KAElDC,EAAAC,EAAA,CACI,UAAAH,GAASD,IACTK,EAAC,MAAA,CAAI,UAAWC,EAAG,sBAAuBJ,GAAA,YAAAA,EAAS,OAAO,EACvD,SAAA,CAAAD,KACEM,EAAA,CAAQ,GAAG,KAAK,UAAWL,GAAA,YAAAA,EAAS,MAClC,SAAAD,CAAA,CACH,EAEDD,KAAa,MAAA,CAAI,UAAWM,EAAG,sCAAuCJ,GAAA,YAAAA,EAAS,QAAQ,EAAI,SAAAF,CAAA,CAAS,CAAA,CAAA,CACvG,CAAA,CAEJ"}
|