@scbt-ecom/ui 0.111.3 → 0.113.0
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/ui.js +1 -1
- package/dist/lib/exports/widget.js +1 -1
- package/dist/lib/shared/style.css +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/dialog/Dialog.js +1 -1
- package/dist/lib/shared/ui/dialog/Dialog.js.map +1 -1
- package/dist/lib/shared/ui/divider/Divider.js +2 -0
- package/dist/lib/shared/ui/divider/Divider.js.map +1 -0
- package/dist/lib/shared/ui/divider/index.js +2 -0
- 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/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/index.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/index.js +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 +2 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js.map +1 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/index.js +2 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/index.js.map +1 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/useCurrencyControl.js +2 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/useCurrencyControl.js.map +1 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/useCurrencyFormat.js +2 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/useCurrencyFormat.js.map +1 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/index.js +2 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/index.js.map +1 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js +2 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js.map +1 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/index.js +2 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/index.js.map +1 -0
- package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.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/index.js +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/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/base.validators.js +1 -1
- package/dist/lib/shared/validation/base/base.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/currency.validators.js +2 -0
- package/dist/lib/shared/validation/base/currency.validators.js.map +1 -0
- 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/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/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/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/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/Table.js +1 -1
- package/dist/lib/widgets/table/Table.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/@floating-ui/dom/dist/floating-ui.dom.js +1 -1
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +2 -0
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +1 -0
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/ui/divider/Divider.d.ts +25 -0
- package/dist/types/lib/shared/ui/divider/index.d.ts +1 -0
- package/dist/types/lib/shared/ui/formElements/controlled/index.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.d.ts +11 -23
- package/dist/types/lib/shared/ui/formElements/controlled/inputCurrency/index.d.ts +1 -1
- package/dist/types/lib/shared/ui/formElements/index.d.ts +1 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/index.d.ts +1 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.d.ts +37 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/index.d.ts +2 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/useCurrencyControl.d.ts +15 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/inputCurrency/hooks/useCurrencyFormat.d.ts +1 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/inputCurrency/index.d.ts +1 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.d.ts +14 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/index.d.ts +1 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.d.ts +3 -0
- package/dist/types/lib/shared/ui/index.d.ts +1 -0
- package/dist/types/lib/shared/validation/base/base.constants.d.ts +1 -0
- package/dist/types/lib/shared/validation/base/base.validators.d.ts +2 -0
- package/dist/types/lib/shared/validation/base/currency.validators.d.ts +69 -0
- package/dist/types/lib/shared/validation/index.d.ts +1 -0
- package/package.json +4 -3
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/model/helpers.js +0 -2
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/model/helpers.js.map +0 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/model/useInputCurrency.js +0 -2
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/model/useInputCurrency.js.map +0 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/ui/MenuTrigger.js +0 -2
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/ui/MenuTrigger.js.map +0 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/ui/OptionList.js +0 -2
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/ui/OptionList.js.map +0 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/ui/index.js +0 -2
- package/dist/types/lib/shared/ui/formElements/controlled/inputCurrency/model/helpers.d.ts +0 -3
- package/dist/types/lib/shared/ui/formElements/controlled/inputCurrency/model/useInputCurrency.d.ts +0 -10
- package/dist/types/lib/shared/ui/formElements/controlled/inputCurrency/ui/MenuTrigger.d.ts +0 -7
- package/dist/types/lib/shared/ui/formElements/controlled/inputCurrency/ui/OptionList.d.ts +0 -8
- package/dist/types/lib/shared/ui/formElements/controlled/inputCurrency/ui/index.d.ts +0 -2
- /package/dist/lib/shared/ui/{formElements/controlled/inputCurrency/ui → divider}/index.js.map +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as m}from"react/jsx-runtime";import{cn as p}from"../../shared/utils/cn.js";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";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/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{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";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"../../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 M=({handlerOptions:o,className:r,...t})=>{const i=n(o);return m(e,{className:p(r),onClick:i,...t,children:t.children})};export{M 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":"83DAQO,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/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-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"../../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 mo=({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{mo as Calculator,mo 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":"mpEAsBO,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"../../../node_modules/react-hook-form/dist/index.esm.js";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/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
|
|
1
|
+
import{jsx as i,jsxs as f}from"react/jsx-runtime";import{useEffect as c}from"react";import{FormProvider as d}from"../../../node_modules/react-hook-form/dist/index.esm.js";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"../../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 no=({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{no 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":"upFA4BO,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{jsxs as e,jsx as t}from"react/jsx-runtime";import{useFormContext as y}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{useAdditionalSlider as N}from"../hooks/useAdditionalSlider.js";import{cn as
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useFormContext as y}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";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"../../../../../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";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"../../../../../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 C=({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{C 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":"i6EAoBO,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/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"../../../../../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"../../../../../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"})}},V=({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{V 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":"2nEAoBA,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{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"../../../../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";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/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"../../../../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";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"../../../../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 e=({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{e 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":"8tEAgCO,MAAMA,EAAiB,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"../../../../../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";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/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"../../../../../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";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"../../../../../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=({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{T 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":"urEAkBO,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 i,Fragment as t,jsxs as d}from"react/jsx-runtime";import{cn as p}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";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/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"../../../../../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";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"../../../../../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 R=({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{R 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":"woEAeO,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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as o,jsx as r}from"react/jsx-runtime";import{cn as s}from"../../../../../shared/utils/cn.js";import{formatValueToRenderInfoItem as a}from"../../../model/utils.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";import{Popover as c}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 n}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/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 o,jsx as r}from"react/jsx-runtime";import{cn as s}from"../../../../../shared/utils/cn.js";import{formatValueToRenderInfoItem as a}from"../../../model/utils.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";import{Popover as c}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 n}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"../../../../../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 S=({hint:t,value:e,label:i,mode:m,color:p="dark",accent:l=!1})=>o("div",{className:"flex items-center justify-between gap-4",children:[o("div",{className:"flex items-center gap-2",children:[r("p",{className:"desk-body-regular-l text-color-dark",children:i}),t&&r(c,{withCloseBtn:!1,triggerElement:r(n,{className:"size-5 text-icon-blue-grey-600",name:"info/helpCircle"}),children:r("p",{children:t})})]}),r("span",{className:s("desk-body-medium-l text-color-dark",{"[&&]:desk-title-bold-s":l,"text-color-primary-default":p==="blue"}),children:a(m,e)})]});export{S as InfoListItem};
|
|
2
2
|
//# sourceMappingURL=InfoListItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoListItem.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.tsx"],"sourcesContent":["import { type CalculatorSuffix, type CalculatorValue, formatValueToRenderInfoItem } from '../../../model'\nimport { Icon, Popover } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type InfoListItemMode = CalculatorSuffix | 'text'\nexport type InfoListItemColor = 'dark' | 'blue'\n\nexport interface InfoListItemCommon {\n label: string\n mode: InfoListItemMode\n hint?: string\n accent?: boolean\n color?: InfoListItemColor\n withFormula?: boolean\n}\n\nexport interface InfoListItemDTO extends InfoListItemCommon {\n value: CalculatorValue\n}\n\nexport interface InfoListItemProps extends InfoListItemCommon {\n value: string\n}\n\nexport const InfoListItem = ({ hint, value, label, mode, color = 'dark', accent = false }: InfoListItemProps) => {\n return (\n <div className='flex items-center justify-between gap-4'>\n <div className='flex items-center gap-2'>\n <p className='desk-body-regular-l text-color-dark'>{label}</p>\n {hint && (\n <Popover\n withCloseBtn={false}\n triggerElement={<Icon className='size-5 text-icon-blue-grey-600' name='info/helpCircle' />}\n >\n <p>{hint}</p>\n </Popover>\n )}\n </div>\n <span\n className={cn('desk-body-medium-l text-color-dark', {\n '[&&]:desk-title-bold-s': accent,\n 'text-color-primary-default': color === 'blue'\n })}\n >\n {formatValueToRenderInfoItem(mode, value)}\n </span>\n </div>\n )\n}\n"],"names":["InfoListItem","hint","value","label","mode","color","accent","jsxs","jsx","Popover","Icon","cn","formatValueToRenderInfoItem"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InfoListItem.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.tsx"],"sourcesContent":["import { type CalculatorSuffix, type CalculatorValue, formatValueToRenderInfoItem } from '../../../model'\nimport { Icon, Popover } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type InfoListItemMode = CalculatorSuffix | 'text'\nexport type InfoListItemColor = 'dark' | 'blue'\n\nexport interface InfoListItemCommon {\n label: string\n mode: InfoListItemMode\n hint?: string\n accent?: boolean\n color?: InfoListItemColor\n withFormula?: boolean\n}\n\nexport interface InfoListItemDTO extends InfoListItemCommon {\n value: CalculatorValue\n}\n\nexport interface InfoListItemProps extends InfoListItemCommon {\n value: string\n}\n\nexport const InfoListItem = ({ hint, value, label, mode, color = 'dark', accent = false }: InfoListItemProps) => {\n return (\n <div className='flex items-center justify-between gap-4'>\n <div className='flex items-center gap-2'>\n <p className='desk-body-regular-l text-color-dark'>{label}</p>\n {hint && (\n <Popover\n withCloseBtn={false}\n triggerElement={<Icon className='size-5 text-icon-blue-grey-600' name='info/helpCircle' />}\n >\n <p>{hint}</p>\n </Popover>\n )}\n </div>\n <span\n className={cn('desk-body-medium-l text-color-dark', {\n '[&&]:desk-title-bold-s': accent,\n 'text-color-primary-default': color === 'blue'\n })}\n >\n {formatValueToRenderInfoItem(mode, value)}\n </span>\n </div>\n )\n}\n"],"names":["InfoListItem","hint","value","label","mode","color","accent","jsxs","jsx","Popover","Icon","cn","formatValueToRenderInfoItem"],"mappings":"6vEAwBO,MAAMA,EAAe,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,MAAAC,EAAO,KAAAC,EAAM,MAAAC,EAAQ,OAAQ,OAAAC,EAAS,MAE9EC,EAAC,MAAA,CAAI,UAAU,0CACb,SAAA,CAAAA,EAAC,MAAA,CAAI,UAAU,0BACb,SAAA,CAAAC,EAAC,IAAA,CAAE,UAAU,sCAAuC,SAAAL,EAAM,EACzDF,GACCO,EAACC,EAAA,CACC,aAAc,GACd,eAAgBD,EAACE,EAAA,CAAK,UAAU,iCAAiC,KAAK,kBAAkB,EAExF,SAAAF,EAAC,KAAG,SAAAP,CAAA,CAAK,CAAA,CAAA,CACX,EAEJ,EACAO,EAAC,OAAA,CACC,UAAWG,EAAG,qCAAsC,CAClD,yBAA0BL,EAC1B,6BAA8BD,IAAU,MAAA,CACzC,EAEA,SAAAO,EAA4BR,EAAMF,CAAK,CAAA,CAAA,CAC1C,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r,jsxs as d}from"react/jsx-runtime";import{useState as D,createElement as z}from"react";import{HTMLRenderer as g}from"../htmlParser/HTMLRenderer.js";import{widgetIds as b}from"../model/helpers.js";import{getFieldsProgress as H}from"./model/getFieldsProgress.js";import{getDynamicSchema as I}from"../../../src/shared/utils/getDynamicSchema.js";import{cn as e}from"../../shared/utils/cn.js";import{useControlledForm as M}from"../../shared/hooks/useControlledForm.js";import{useFieldsProgress as R}from"../../shared/hooks/useFieldsProgress.js";import{ResponsiveContainer as Z}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Button as A}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{ProgressBar as E}from"../../shared/ui/progressBar/ProgressBar.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import{Icon as L}from"../../shared/ui/icon/Icon.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as c}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{CheckboxBase as Q}from"../../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/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.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{ZodUtils as T}from"../../shared/validation/utils/zodUtils.js";import{FieldMapper as U}from"../fieldMapper/FieldMapper.js";import{QueryClientProvider as V}from"../queryClientProvider/QueryClientProvider.js";const q=(m,n,i,o)=>m.type==="off"?null:m.type==="text"?r(g,{html:m.message,as:"div",className:o==null?void 0:o.content}):d("label",{className:e("mob-body-regular-s text-color-dark","desktop:desk-body-regular-s desktop:gap-x-4","flex items-center justify-items-start gap-x-3"),children:[r(Q,{classes:o==null?void 0:o.checkbox,checked:n,onCheckedChange:i}),r(g,{html:m.content,as:"div",className:o==null?void 0:o.content})]}),
|
|
1
|
+
import{jsx as r,jsxs as d}from"react/jsx-runtime";import{useState as D,createElement as z}from"react";import{HTMLRenderer as g}from"../htmlParser/HTMLRenderer.js";import{widgetIds as b}from"../model/helpers.js";import{getFieldsProgress as H}from"./model/getFieldsProgress.js";import{getDynamicSchema as I}from"../../../src/shared/utils/getDynamicSchema.js";import{cn as e}from"../../shared/utils/cn.js";import{useControlledForm as M}from"../../shared/hooks/useControlledForm.js";import{useFieldsProgress as R}from"../../shared/hooks/useFieldsProgress.js";import{ResponsiveContainer as Z}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Button as A}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{ProgressBar as E}from"../../shared/ui/progressBar/ProgressBar.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import{Icon as L}from"../../shared/ui/icon/Icon.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import{Heading as c}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{CheckboxBase as Q}from"../../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"../../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"../../shared/validation/zodValidation/dadataFio.js";import"../../shared/validation/zodValidation/calendar.js";import"../../shared/validation/zodValidation/phone.js";import"../../shared/validation/zodValidation/otpCode.js";import{ZodUtils as T}from"../../shared/validation/utils/zodUtils.js";import{FieldMapper as U}from"../fieldMapper/FieldMapper.js";import{QueryClientProvider as V}from"../queryClientProvider/QueryClientProvider.js";const q=(m,n,i,o)=>m.type==="off"?null:m.type==="text"?r(g,{html:m.message,as:"div",className:o==null?void 0:o.content}):d("label",{className:e("mob-body-regular-s text-color-dark","desktop:desk-body-regular-s desktop:gap-x-4","flex items-center justify-items-start gap-x-3"),children:[r(Q,{classes:o==null?void 0:o.checkbox,checked:n,onCheckedChange:i}),r(g,{html:m.content,as:"div",className:o==null?void 0:o.content})]}),Lt=({fields:m,title:n,progress:i,approvement:o,chips:f,submitProps:w,classes:t,buttonGroup:p})=>{var k,y;const{submitCallback:x}=w||{},[a,N]=D(!1),h=I(m),C=T.getZodDefaults(h),{control:u,handleSubmit:P}=M({schema:h,defaultValues:C,mode:"onBlur"}),B=H(i,m),j=R({control:u,fields:B||[],schema:h}),v=l=>{x&&x({...l,agree:a})};return r(V,{children:r("section",{id:b.form,"data-test-id":b.form,className:e("w-full",t==null?void 0:t.root),children:d(Z,{className:e("border-warm-grey-200 px-4 desktop:w-[636px] desktop:gap-8 desktop:p-14","relative mx-auto flex flex-col gap-6 rounded-sm py-8 desktop:border"),children:[f.enabled&&d("div",{className:e("desk-body-regular-l flex items-center gap-x-2 rounded-sm desktop:absolute","bg-color-blue-grey-100 px-2 py-1 text-color-tetriary","right-4 top-4 w-max",(k=t==null?void 0:t.chips)==null?void 0:k.root),children:[f.image&&r(L,{name:f.image,className:e("size-6",(y=t==null?void 0:t.chips)==null?void 0:y.icon)}),f.content]}),r(c,{as:"h2",className:e("desktop:hidden",t==null?void 0:t.title),children:n}),r(c,{as:"h3",className:e("mobile:hidden",t==null?void 0:t.title),children:n}),d("form",{onSubmit:P(v),className:e("flex w-full flex-col gap-y-6","desktop:gap-y-8",t==null?void 0:t.form),children:[i.enabled&&r(E,{progress:j,topContent:r(g,{html:i.title}),bottomContent:r(g,{html:i.subtitle}),maxPercent:i.maxPercent,classes:t==null?void 0:t.progressBar}),r(U,{control:u,fields:m}),d("div",{className:e("mob-body-regular-s flex flex-col items-start justify-center gap-4",{"desktop:flex-row desktop:items-center":p.length===1}),children:[q(o,a,N,t==null?void 0:t.approvement),r("div",{className:e("flex w-full flex-col items-center justify-center gap-4 desktop:flex-row",{"desktop:w-fit":p.length===1}),children:p==null?void 0:p.map((l,F)=>{const S=l.type==="submit"&&o.type==="checkbox"?!a:!1;return z(A,{...l,size:"lg",key:F,disabled:S,className:e("w-full whitespace-nowrap",{"desktop:!w-fit":p.length===1},{"w-full":!!o},t==null?void 0:t.submit)})})})]})]})]})})})};export{Lt as DynamicForm,Lt as default};
|
|
2
2
|
//# sourceMappingURL=DynamicForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicForm.js","sources":["../../../../lib/widgets/dynamicForm/DynamicForm.tsx"],"sourcesContent":["'use client'\n\nimport { useState } from 'react'\nimport { type Control, type FieldValues, type SubmitHandler } from 'react-hook-form'\nimport { type TypeOf } from 'zod'\nimport { HTMLRenderer } from '../htmlParser'\nimport { widgetIds } from '../model'\nimport {\n type Approvement,\n type ApprovementType,\n type Chips,\n type ChipsType,\n getFieldsProgress,\n type Progress,\n type ProgressField,\n type ProgressType\n} from './model'\nimport { type FieldValidation, getDynamicSchema } from '@/shared/utils'\nimport { useControlledForm, useFieldsProgress } from '$/shared/hooks'\nimport {\n Button,\n type ButtonProps,\n CheckboxBase,\n type CheckedState,\n Heading,\n Icon,\n ProgressBar,\n ResponsiveContainer\n} from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\nimport { type FieldElement, FieldMapper } from '$/widgets/fieldMapper'\nimport { QueryClientProvider } from '$/widgets/queryClientProvider'\n\ntype SubmitProps = {\n submitCallback: <T extends FieldValues>(values: T) => void\n}\n\ntype ChipsClasses = {\n root?: string\n icon?: string\n}\ntype ApprovementClasses = {\n checkbox?: React.ComponentProps<typeof CheckboxBase>['classes']\n content?: string\n}\n\ntype DynamicFormClasses = {\n root?: string\n title?: string\n fields?: string\n form?: string\n chips?: ChipsClasses\n approvement?: ApprovementClasses\n progressBar?: React.ComponentProps<typeof ProgressBar>['classes']\n submit?: string\n}\n\nexport type DynamicFormProps<AType extends ApprovementType, CType extends ChipsType, PType extends ProgressType> = {\n fields: FieldElement<any, any, { validation: FieldValidation; progress: ProgressField }>[]\n title: string\n progress: Progress<PType>\n approvement: Approvement<AType>\n chips: Chips<CType>\n submitProps?: SubmitProps\n classes?: DynamicFormClasses\n buttonGroup: ButtonProps[]\n}\n\nconst withApprovement = <Type extends ApprovementType>(\n approvement: Approvement<Type>,\n checked: CheckedState,\n onCheckedChange: (checked: CheckedState) => void,\n classes?: ApprovementClasses\n): React.ReactNode => {\n if (approvement.type === 'off') return null\n\n if (approvement.type === 'text') {\n return <HTMLRenderer html={approvement.message} as='div' className={classes?.content} />\n }\n\n return (\n <label\n className={cn(\n 'mob-body-regular-s text-color-dark',\n 'desktop:desk-body-regular-s desktop:gap-x-4',\n 'flex items-center justify-items-start gap-x-3'\n )}\n >\n <CheckboxBase classes={classes?.checkbox} checked={checked} onCheckedChange={onCheckedChange} />\n <HTMLRenderer html={approvement.content} as='div' className={classes?.content} />\n </label>\n )\n}\n\nexport const DynamicForm = <AType extends ApprovementType, CType extends ChipsType, PType extends ProgressType>({\n fields,\n title,\n progress,\n approvement,\n chips,\n submitProps,\n classes,\n buttonGroup\n}: DynamicFormProps<AType, CType, PType>) => {\n const { submitCallback } = submitProps || {}\n\n const [checked, onCheckedChange] = useState<CheckedState>(false)\n\n const schema = getDynamicSchema(fields)\n const defaultValues = ZodUtils.getZodDefaults(schema)\n\n const { control, handleSubmit } = useControlledForm({\n schema,\n defaultValues,\n mode: 'onBlur'\n })\n\n const fieldsProgress = getFieldsProgress(progress, fields)\n\n const formattedProgress = useFieldsProgress({ control, fields: fieldsProgress || [], schema })\n\n const onSubmit: SubmitHandler<TypeOf<typeof schema>> = (values) => {\n if (submitCallback) submitCallback({ ...values, agree: checked })\n }\n\n return (\n <QueryClientProvider>\n <section id={widgetIds.form} data-test-id={widgetIds.form} className={cn('w-full', classes?.root)}>\n <ResponsiveContainer\n className={cn(\n 'border-warm-grey-200 px-4 desktop:w-[636px] desktop:gap-8 desktop:p-14',\n 'relative mx-auto flex flex-col gap-6 rounded-sm py-8 desktop:border'\n )}\n >\n {chips.enabled && (\n <div\n className={cn(\n 'desk-body-regular-l flex items-center gap-x-2 rounded-sm desktop:absolute',\n 'bg-color-blue-grey-100 px-2 py-1 text-color-tetriary',\n 'right-4 top-4 w-max',\n classes?.chips?.root\n )}\n >\n {chips.image && <Icon name={chips.image} className={cn('size-6', classes?.chips?.icon)} />}\n {chips.content}\n </div>\n )}\n <Heading as='h2' className={cn('desktop:hidden', classes?.title)}>\n {title}\n </Heading>\n <Heading as='h3' className={cn('mobile:hidden', classes?.title)}>\n {title}\n </Heading>\n <form\n onSubmit={handleSubmit(onSubmit)}\n className={cn('flex w-full flex-col gap-y-6', 'desktop:gap-y-8', classes?.form)}\n >\n {progress.enabled && (\n <ProgressBar\n progress={formattedProgress}\n topContent={<HTMLRenderer html={progress.title} />}\n bottomContent={<HTMLRenderer html={progress.subtitle} />}\n maxPercent={progress.maxPercent}\n classes={classes?.progressBar}\n />\n )}\n <FieldMapper control={control as unknown as Control} fields={fields} />\n <div\n className={cn('mob-body-regular-s flex flex-col items-start justify-center gap-4', {\n ['desktop:flex-row desktop:items-center']: buttonGroup.length === 1\n })}\n >\n {withApprovement(approvement, checked, onCheckedChange, classes?.approvement)}\n <div\n className={cn('flex w-full flex-col items-center justify-center gap-4 desktop:flex-row', {\n 'desktop:w-fit': buttonGroup.length === 1\n })}\n >\n {buttonGroup?.map((button, index) => {\n const disabled = button.type === 'submit' && approvement.type === 'checkbox' ? !checked : false\n\n return (\n <Button\n {...button}\n size='lg'\n key={index}\n disabled={disabled}\n className={cn(\n 'w-full whitespace-nowrap',\n {\n ['desktop:!w-fit']: buttonGroup.length === 1\n },\n {\n 'w-full': Boolean(approvement)\n },\n classes?.submit\n )}\n />\n )\n })}\n </div>\n </div>\n </form>\n </ResponsiveContainer>\n </section>\n </QueryClientProvider>\n )\n}\n\nexport default DynamicForm\n"],"names":["withApprovement","approvement","checked","onCheckedChange","classes","jsx","HTMLRenderer","jsxs","cn","CheckboxBase","DynamicForm","fields","title","progress","chips","submitProps","buttonGroup","submitCallback","useState","schema","getDynamicSchema","defaultValues","ZodUtils","control","handleSubmit","useControlledForm","fieldsProgress","getFieldsProgress","formattedProgress","useFieldsProgress","onSubmit","values","QueryClientProvider","widgetIds","ResponsiveContainer","_a","Icon","_b","Heading","ProgressBar","FieldMapper","button","index","disabled","createElement","Button"],"mappings":"i6FAqEA,MAAMA,EAAkB,CACtBC,EACAC,EACAC,EACAC,IAEIH,EAAY,OAAS,MAAc,KAEnCA,EAAY,OAAS,OAChBI,EAACC,GAAa,KAAML,EAAY,QAAS,GAAG,MAAM,UAAWG,GAAA,YAAAA,EAAS,OAAA,CAAS,EAItFG,EAAC,QAAA,CACC,UAAWC,EACT,qCACA,8CACA,+CAAA,EAGF,SAAA,CAAAH,EAACI,EAAA,CAAa,QAASL,GAAA,YAAAA,EAAS,SAAU,QAAAF,EAAkB,gBAAAC,EAAkC,EAC9FE,EAACC,GAAa,KAAML,EAAY,QAAS,GAAG,MAAM,UAAWG,GAAA,YAAAA,EAAS,OAAA,CAAS,CAAA,CAAA,CAAA,EAKxEM,GAAc,CAAqF,CAC9G,OAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAZ,EACA,MAAAa,EACA,YAAAC,EACA,QAAAX,EACA,YAAAY,CACF,IAA6C,SAC3C,KAAM,CAAE,eAAAC,GAAmBF,GAAe,CAAA,EAEpC,CAACb,EAASC,CAAe,EAAIe,EAAuB,EAAK,EAEzDC,EAASC,EAAiBT,CAAM,EAChCU,EAAgBC,EAAS,eAAeH,CAAM,EAE9C,CAAE,QAAAI,EAAS,aAAAC,CAAA,EAAiBC,EAAkB,CAClD,OAAAN,EACA,cAAAE,EACA,KAAM,QAAA,CACP,EAEKK,EAAiBC,EAAkBd,EAAUF,CAAM,EAEnDiB,EAAoBC,EAAkB,CAAE,QAAAN,EAAS,OAAQG,GAAkB,CAAA,EAAI,OAAAP,EAAQ,EAEvFW,EAAkDC,GAAW,CAC7Dd,GAAgBA,EAAe,CAAE,GAAGc,EAAQ,MAAO7B,EAAS,CAClE,EAEA,OACEG,EAAC2B,EAAA,CACC,SAAA3B,EAAC,UAAA,CAAQ,GAAI4B,EAAU,KAAM,eAAcA,EAAU,KAAM,UAAWzB,EAAG,SAAUJ,GAAA,YAAAA,EAAS,IAAI,EAC9F,SAAAG,EAAC2B,EAAA,CACC,UAAW1B,EACT,yEACA,qEAAA,EAGD,SAAA,CAAAM,EAAM,SACLP,EAAC,MAAA,CACC,UAAWC,EACT,4EACA,uDACA,uBACA2B,EAAA/B,GAAA,YAAAA,EAAS,QAAT,YAAA+B,EAAgB,IAAA,EAGjB,SAAA,CAAArB,EAAM,OAAST,EAAC+B,EAAA,CAAK,KAAMtB,EAAM,MAAO,UAAWN,EAAG,UAAU6B,EAAAjC,GAAA,YAAAA,EAAS,QAAT,YAAAiC,EAAgB,IAAI,CAAA,CAAG,EACvFvB,EAAM,OAAA,CAAA,CAAA,EAGXT,EAACiC,EAAA,CAAQ,GAAG,KAAK,UAAW9B,EAAG,iBAAkBJ,GAAA,YAAAA,EAAS,KAAK,EAC5D,SAAAQ,CAAA,CACH,EACAP,EAACiC,EAAA,CAAQ,GAAG,KAAK,UAAW9B,EAAG,gBAAiBJ,GAAA,YAAAA,EAAS,KAAK,EAC3D,SAAAQ,CAAA,CACH,EACAL,EAAC,OAAA,CACC,SAAUiB,EAAaM,CAAQ,EAC/B,UAAWtB,EAAG,+BAAgC,kBAAmBJ,GAAA,YAAAA,EAAS,IAAI,EAE7E,SAAA,CAAAS,EAAS,SACRR,EAACkC,EAAA,CACC,SAAUX,EACV,WAAYvB,EAACC,EAAA,CAAa,KAAMO,EAAS,MAAO,EAChD,cAAeR,EAACC,EAAA,CAAa,KAAMO,EAAS,SAAU,EACtD,WAAYA,EAAS,WACrB,QAAST,GAAA,YAAAA,EAAS,WAAA,CAAA,EAGtBC,EAACmC,EAAA,CAAY,QAAAjB,EAAwC,OAAAZ,CAAA,CAAgB,EACrEJ,EAAC,MAAA,CACC,UAAWC,EAAG,oEAAqE,CAChF,wCAA0CQ,EAAY,SAAW,CAAA,CACnE,EAEA,SAAA,CAAAhB,EAAgBC,EAAaC,EAASC,EAAiBC,GAAA,YAAAA,EAAS,WAAW,EAC5EC,EAAC,MAAA,CACC,UAAWG,EAAG,0EAA2E,CACvF,gBAAiBQ,EAAY,SAAW,CAAA,CACzC,EAEA,SAAAA,GAAA,YAAAA,EAAa,IAAI,CAACyB,EAAQC,IAAU,CACnC,MAAMC,EAAWF,EAAO,OAAS,UAAYxC,EAAY,OAAS,WAAa,CAACC,EAAU,GAE1F,OACE0C,EAACC,EAAA,CACE,GAAGJ,EACJ,KAAK,KACL,IAAKC,EACL,SAAAC,EACA,UAAWnC,EACT,2BACA,CACG,iBAAmBQ,EAAY,SAAW,CAAA,EAE7C,CACE,SAAU,EAAQf,CAAW,EAE/BG,GAAA,YAAAA,EAAS,MAAA,CACX,CAAA,CAGN,EAAC,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,EAEJ,CAAA,CACF,CAEJ"}
|
|
1
|
+
{"version":3,"file":"DynamicForm.js","sources":["../../../../lib/widgets/dynamicForm/DynamicForm.tsx"],"sourcesContent":["'use client'\n\nimport { useState } from 'react'\nimport { type Control, type FieldValues, type SubmitHandler } from 'react-hook-form'\nimport { type TypeOf } from 'zod'\nimport { HTMLRenderer } from '../htmlParser'\nimport { widgetIds } from '../model'\nimport {\n type Approvement,\n type ApprovementType,\n type Chips,\n type ChipsType,\n getFieldsProgress,\n type Progress,\n type ProgressField,\n type ProgressType\n} from './model'\nimport { type FieldValidation, getDynamicSchema } from '@/shared/utils'\nimport { useControlledForm, useFieldsProgress } from '$/shared/hooks'\nimport {\n Button,\n type ButtonProps,\n CheckboxBase,\n type CheckedState,\n Heading,\n Icon,\n ProgressBar,\n ResponsiveContainer\n} from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\nimport { type FieldElement, FieldMapper } from '$/widgets/fieldMapper'\nimport { QueryClientProvider } from '$/widgets/queryClientProvider'\n\ntype SubmitProps = {\n submitCallback: <T extends FieldValues>(values: T) => void\n}\n\ntype ChipsClasses = {\n root?: string\n icon?: string\n}\ntype ApprovementClasses = {\n checkbox?: React.ComponentProps<typeof CheckboxBase>['classes']\n content?: string\n}\n\ntype DynamicFormClasses = {\n root?: string\n title?: string\n fields?: string\n form?: string\n chips?: ChipsClasses\n approvement?: ApprovementClasses\n progressBar?: React.ComponentProps<typeof ProgressBar>['classes']\n submit?: string\n}\n\nexport type DynamicFormProps<AType extends ApprovementType, CType extends ChipsType, PType extends ProgressType> = {\n fields: FieldElement<any, any, { validation: FieldValidation; progress: ProgressField }>[]\n title: string\n progress: Progress<PType>\n approvement: Approvement<AType>\n chips: Chips<CType>\n submitProps?: SubmitProps\n classes?: DynamicFormClasses\n buttonGroup: ButtonProps[]\n}\n\nconst withApprovement = <Type extends ApprovementType>(\n approvement: Approvement<Type>,\n checked: CheckedState,\n onCheckedChange: (checked: CheckedState) => void,\n classes?: ApprovementClasses\n): React.ReactNode => {\n if (approvement.type === 'off') return null\n\n if (approvement.type === 'text') {\n return <HTMLRenderer html={approvement.message} as='div' className={classes?.content} />\n }\n\n return (\n <label\n className={cn(\n 'mob-body-regular-s text-color-dark',\n 'desktop:desk-body-regular-s desktop:gap-x-4',\n 'flex items-center justify-items-start gap-x-3'\n )}\n >\n <CheckboxBase classes={classes?.checkbox} checked={checked} onCheckedChange={onCheckedChange} />\n <HTMLRenderer html={approvement.content} as='div' className={classes?.content} />\n </label>\n )\n}\n\nexport const DynamicForm = <AType extends ApprovementType, CType extends ChipsType, PType extends ProgressType>({\n fields,\n title,\n progress,\n approvement,\n chips,\n submitProps,\n classes,\n buttonGroup\n}: DynamicFormProps<AType, CType, PType>) => {\n const { submitCallback } = submitProps || {}\n\n const [checked, onCheckedChange] = useState<CheckedState>(false)\n\n const schema = getDynamicSchema(fields)\n const defaultValues = ZodUtils.getZodDefaults(schema)\n\n const { control, handleSubmit } = useControlledForm({\n schema,\n defaultValues,\n mode: 'onBlur'\n })\n\n const fieldsProgress = getFieldsProgress(progress, fields)\n\n const formattedProgress = useFieldsProgress({ control, fields: fieldsProgress || [], schema })\n\n const onSubmit: SubmitHandler<TypeOf<typeof schema>> = (values) => {\n if (submitCallback) submitCallback({ ...values, agree: checked })\n }\n\n return (\n <QueryClientProvider>\n <section id={widgetIds.form} data-test-id={widgetIds.form} className={cn('w-full', classes?.root)}>\n <ResponsiveContainer\n className={cn(\n 'border-warm-grey-200 px-4 desktop:w-[636px] desktop:gap-8 desktop:p-14',\n 'relative mx-auto flex flex-col gap-6 rounded-sm py-8 desktop:border'\n )}\n >\n {chips.enabled && (\n <div\n className={cn(\n 'desk-body-regular-l flex items-center gap-x-2 rounded-sm desktop:absolute',\n 'bg-color-blue-grey-100 px-2 py-1 text-color-tetriary',\n 'right-4 top-4 w-max',\n classes?.chips?.root\n )}\n >\n {chips.image && <Icon name={chips.image} className={cn('size-6', classes?.chips?.icon)} />}\n {chips.content}\n </div>\n )}\n <Heading as='h2' className={cn('desktop:hidden', classes?.title)}>\n {title}\n </Heading>\n <Heading as='h3' className={cn('mobile:hidden', classes?.title)}>\n {title}\n </Heading>\n <form\n onSubmit={handleSubmit(onSubmit)}\n className={cn('flex w-full flex-col gap-y-6', 'desktop:gap-y-8', classes?.form)}\n >\n {progress.enabled && (\n <ProgressBar\n progress={formattedProgress}\n topContent={<HTMLRenderer html={progress.title} />}\n bottomContent={<HTMLRenderer html={progress.subtitle} />}\n maxPercent={progress.maxPercent}\n classes={classes?.progressBar}\n />\n )}\n <FieldMapper control={control as unknown as Control} fields={fields} />\n <div\n className={cn('mob-body-regular-s flex flex-col items-start justify-center gap-4', {\n ['desktop:flex-row desktop:items-center']: buttonGroup.length === 1\n })}\n >\n {withApprovement(approvement, checked, onCheckedChange, classes?.approvement)}\n <div\n className={cn('flex w-full flex-col items-center justify-center gap-4 desktop:flex-row', {\n 'desktop:w-fit': buttonGroup.length === 1\n })}\n >\n {buttonGroup?.map((button, index) => {\n const disabled = button.type === 'submit' && approvement.type === 'checkbox' ? !checked : false\n\n return (\n <Button\n {...button}\n size='lg'\n key={index}\n disabled={disabled}\n className={cn(\n 'w-full whitespace-nowrap',\n {\n ['desktop:!w-fit']: buttonGroup.length === 1\n },\n {\n 'w-full': Boolean(approvement)\n },\n classes?.submit\n )}\n />\n )\n })}\n </div>\n </div>\n </form>\n </ResponsiveContainer>\n </section>\n </QueryClientProvider>\n )\n}\n\nexport default DynamicForm\n"],"names":["withApprovement","approvement","checked","onCheckedChange","classes","jsx","HTMLRenderer","jsxs","cn","CheckboxBase","DynamicForm","fields","title","progress","chips","submitProps","buttonGroup","submitCallback","useState","schema","getDynamicSchema","defaultValues","ZodUtils","control","handleSubmit","useControlledForm","fieldsProgress","getFieldsProgress","formattedProgress","useFieldsProgress","onSubmit","values","QueryClientProvider","widgetIds","ResponsiveContainer","_a","Icon","_b","Heading","ProgressBar","FieldMapper","button","index","disabled","createElement","Button"],"mappings":"k/FAqEA,MAAMA,EAAkB,CACtBC,EACAC,EACAC,EACAC,IAEIH,EAAY,OAAS,MAAc,KAEnCA,EAAY,OAAS,OAChBI,EAACC,GAAa,KAAML,EAAY,QAAS,GAAG,MAAM,UAAWG,GAAA,YAAAA,EAAS,OAAA,CAAS,EAItFG,EAAC,QAAA,CACC,UAAWC,EACT,qCACA,8CACA,+CAAA,EAGF,SAAA,CAAAH,EAACI,EAAA,CAAa,QAASL,GAAA,YAAAA,EAAS,SAAU,QAAAF,EAAkB,gBAAAC,EAAkC,EAC9FE,EAACC,GAAa,KAAML,EAAY,QAAS,GAAG,MAAM,UAAWG,GAAA,YAAAA,EAAS,OAAA,CAAS,CAAA,CAAA,CAAA,EAKxEM,GAAc,CAAqF,CAC9G,OAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAZ,EACA,MAAAa,EACA,YAAAC,EACA,QAAAX,EACA,YAAAY,CACF,IAA6C,SAC3C,KAAM,CAAE,eAAAC,GAAmBF,GAAe,CAAA,EAEpC,CAACb,EAASC,CAAe,EAAIe,EAAuB,EAAK,EAEzDC,EAASC,EAAiBT,CAAM,EAChCU,EAAgBC,EAAS,eAAeH,CAAM,EAE9C,CAAE,QAAAI,EAAS,aAAAC,CAAA,EAAiBC,EAAkB,CAClD,OAAAN,EACA,cAAAE,EACA,KAAM,QAAA,CACP,EAEKK,EAAiBC,EAAkBd,EAAUF,CAAM,EAEnDiB,EAAoBC,EAAkB,CAAE,QAAAN,EAAS,OAAQG,GAAkB,CAAA,EAAI,OAAAP,EAAQ,EAEvFW,EAAkDC,GAAW,CAC7Dd,GAAgBA,EAAe,CAAE,GAAGc,EAAQ,MAAO7B,EAAS,CAClE,EAEA,OACEG,EAAC2B,EAAA,CACC,SAAA3B,EAAC,UAAA,CAAQ,GAAI4B,EAAU,KAAM,eAAcA,EAAU,KAAM,UAAWzB,EAAG,SAAUJ,GAAA,YAAAA,EAAS,IAAI,EAC9F,SAAAG,EAAC2B,EAAA,CACC,UAAW1B,EACT,yEACA,qEAAA,EAGD,SAAA,CAAAM,EAAM,SACLP,EAAC,MAAA,CACC,UAAWC,EACT,4EACA,uDACA,uBACA2B,EAAA/B,GAAA,YAAAA,EAAS,QAAT,YAAA+B,EAAgB,IAAA,EAGjB,SAAA,CAAArB,EAAM,OAAST,EAAC+B,EAAA,CAAK,KAAMtB,EAAM,MAAO,UAAWN,EAAG,UAAU6B,EAAAjC,GAAA,YAAAA,EAAS,QAAT,YAAAiC,EAAgB,IAAI,CAAA,CAAG,EACvFvB,EAAM,OAAA,CAAA,CAAA,EAGXT,EAACiC,EAAA,CAAQ,GAAG,KAAK,UAAW9B,EAAG,iBAAkBJ,GAAA,YAAAA,EAAS,KAAK,EAC5D,SAAAQ,CAAA,CACH,EACAP,EAACiC,EAAA,CAAQ,GAAG,KAAK,UAAW9B,EAAG,gBAAiBJ,GAAA,YAAAA,EAAS,KAAK,EAC3D,SAAAQ,CAAA,CACH,EACAL,EAAC,OAAA,CACC,SAAUiB,EAAaM,CAAQ,EAC/B,UAAWtB,EAAG,+BAAgC,kBAAmBJ,GAAA,YAAAA,EAAS,IAAI,EAE7E,SAAA,CAAAS,EAAS,SACRR,EAACkC,EAAA,CACC,SAAUX,EACV,WAAYvB,EAACC,EAAA,CAAa,KAAMO,EAAS,MAAO,EAChD,cAAeR,EAACC,EAAA,CAAa,KAAMO,EAAS,SAAU,EACtD,WAAYA,EAAS,WACrB,QAAST,GAAA,YAAAA,EAAS,WAAA,CAAA,EAGtBC,EAACmC,EAAA,CAAY,QAAAjB,EAAwC,OAAAZ,CAAA,CAAgB,EACrEJ,EAAC,MAAA,CACC,UAAWC,EAAG,oEAAqE,CAChF,wCAA0CQ,EAAY,SAAW,CAAA,CACnE,EAEA,SAAA,CAAAhB,EAAgBC,EAAaC,EAASC,EAAiBC,GAAA,YAAAA,EAAS,WAAW,EAC5EC,EAAC,MAAA,CACC,UAAWG,EAAG,0EAA2E,CACvF,gBAAiBQ,EAAY,SAAW,CAAA,CACzC,EAEA,SAAAA,GAAA,YAAAA,EAAa,IAAI,CAACyB,EAAQC,IAAU,CACnC,MAAMC,EAAWF,EAAO,OAAS,UAAYxC,EAAY,OAAS,WAAa,CAACC,EAAU,GAE1F,OACE0C,EAACC,EAAA,CACE,GAAGJ,EACJ,KAAK,KACL,IAAKC,EACL,SAAAC,EACA,UAAWnC,EACT,2BACA,CACG,iBAAmBQ,EAAY,SAAW,CAAA,EAE7C,CACE,SAAU,EAAQf,CAAW,EAE/BG,GAAA,YAAAA,EAAS,MAAA,CACX,CAAA,CAGN,EAAC,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,EAEJ,CAAA,CACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as m,jsxs as c}from"react/jsx-runtime";import{useState as w,createElement as D}from"react";import{HTMLRenderer as a}from"../htmlParser/HTMLRenderer.js";import{getDynamicSchema as N}from"../../../src/shared/utils/getDynamicSchema.js";import{cn as u}from"../../shared/utils/cn.js";import{useControlledForm as B}from"../../shared/hooks/useControlledForm.js";import{Button as j}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{Dialog as F}from"../../shared/ui/dialog/Dialog.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import{CheckboxBase as M}from"../../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/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.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{ZodUtils as Z}from"../../shared/validation/utils/zodUtils.js";import{FieldMapper as A}from"../fieldMapper/FieldMapper.js";import{QueryClientProvider as E}from"../queryClientProvider/QueryClientProvider.js";const H=(o,p,i,t)=>o.type==="off"?null:o.type==="text"?m(a,{html:o.message,as:"div",className:t==null?void 0:t.content}):c("label",{className:u("mob-body-regular-s text-color-dark","desktop:desk-body-regular-m desktop:gap-x-4","flex items-center justify-items-start gap-x-3"),children:[m(M,{classes:t==null?void 0:t.checkbox,checked:p,onCheckedChange:i}),m(a,{html:o.content,as:"div",className:t==null?void 0:t.content})]}),
|
|
1
|
+
import{jsx as m,jsxs as c}from"react/jsx-runtime";import{useState as w,createElement as D}from"react";import{HTMLRenderer as a}from"../htmlParser/HTMLRenderer.js";import{getDynamicSchema as N}from"../../../src/shared/utils/getDynamicSchema.js";import{cn as u}from"../../shared/utils/cn.js";import{useControlledForm as B}from"../../shared/hooks/useControlledForm.js";import{Button as j}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{Dialog as F}from"../../shared/ui/dialog/Dialog.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import{CheckboxBase as M}from"../../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"../../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"../../shared/validation/zodValidation/dadataFio.js";import"../../shared/validation/zodValidation/calendar.js";import"../../shared/validation/zodValidation/phone.js";import"../../shared/validation/zodValidation/otpCode.js";import{ZodUtils as Z}from"../../shared/validation/utils/zodUtils.js";import{FieldMapper as A}from"../fieldMapper/FieldMapper.js";import{QueryClientProvider as E}from"../queryClientProvider/QueryClientProvider.js";const H=(o,p,i,t)=>o.type==="off"?null:o.type==="text"?m(a,{html:o.message,as:"div",className:t==null?void 0:t.content}):c("label",{className:u("mob-body-regular-s text-color-dark","desktop:desk-body-regular-m desktop:gap-x-4","flex items-center justify-items-start gap-x-3"),children:[m(M,{classes:t==null?void 0:t.checkbox,checked:p,onCheckedChange:i}),m(a,{html:o.content,as:"div",className:t==null?void 0:t.content})]}),wt=({fields:o,title:p,approvement:i,submitProps:t,dialogId:h,classes:r,buttonGroup:n,...x})=>{const{submitCallback:d}=t??{},[f,g]=w(!1),l=N(o),b=Z.getZodDefaults(l),{control:k,handleSubmit:y}=B({schema:l,defaultValues:b,mode:"onBlur"});return m(E,{children:m(F,{id:h,title:p,...x,children:c("form",{onSubmit:y(e=>{d&&d({...e,agree:f})}),className:"flex flex-col gap-6",children:[m(A,{control:k,fields:o}),H(i,f,g,r==null?void 0:r.approvement),n==null?void 0:n.map((e,C)=>{const S=e.type==="submit"&&i.type==="checkbox"?!f:!1;return D(j,{...e,key:C,disabled:S,className:u("w-full whitespace-nowrap",{"w-full":!!i},r==null?void 0:r.submit)})})]})})})};export{wt as DynamicFormDialog,wt as default};
|
|
2
2
|
//# sourceMappingURL=DynamicFormDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicFormDialog.js","sources":["../../../../lib/widgets/dynamicFormDialog/DynamicFormDialog.tsx"],"sourcesContent":["'use client'\nimport { useState } from 'react'\nimport type { Control, FieldValues, SubmitHandler } from 'react-hook-form'\nimport { type TypeOf } from 'zod'\nimport { HTMLRenderer } from '../htmlParser'\nimport type { Approvement, ApprovementType } from './model'\nimport { type FieldValidation, getDynamicSchema } from '@/shared/utils'\nimport { useControlledForm } from '$/shared/hooks'\nimport { Button, type ButtonProps, CheckboxBase, type CheckedState, Dialog } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\nimport { type FieldElement, FieldMapper } from '$/widgets/fieldMapper'\nimport { QueryClientProvider } from '$/widgets/queryClientProvider'\n\ntype SubmitProps = {\n submitCallback: <T extends FieldValues>(values: T) => void\n}\n\ntype ApprovementClasses = {\n checkbox?: React.ComponentProps<typeof CheckboxBase>['classes']\n content?: string\n}\n\ntype DynamicFormDialogClasses = {\n root?: string\n title?: string\n fields?: string\n form?: string\n approvement?: ApprovementClasses\n submit?: string\n}\n\nexport type DynamicFormDialogProps<AType extends ApprovementType> = React.DialogHTMLAttributes<HTMLDialogElement> & {\n fields: FieldElement<any, any, { validation: FieldValidation }>[]\n title: string\n approvement: Approvement<AType>\n dialogId: string\n submitProps?: SubmitProps\n classes?: DynamicFormDialogClasses\n buttonGroup: ButtonProps[]\n}\n\nconst withApprovement = <Type extends ApprovementType>(\n approvement: Approvement<Type>,\n checked: CheckedState,\n onCheckedChange: (checked: CheckedState) => void,\n classes?: ApprovementClasses\n) => {\n if (approvement.type === 'off') return null\n\n if (approvement.type === 'text') {\n return <HTMLRenderer html={approvement.message} as='div' className={classes?.content} />\n }\n\n return (\n <label\n className={cn(\n 'mob-body-regular-s text-color-dark',\n 'desktop:desk-body-regular-m desktop:gap-x-4',\n 'flex items-center justify-items-start gap-x-3'\n )}\n >\n <CheckboxBase classes={classes?.checkbox} checked={checked} onCheckedChange={onCheckedChange} />\n <HTMLRenderer html={approvement.content} as='div' className={classes?.content} />\n </label>\n )\n}\n\nexport const DynamicFormDialog = <AType extends ApprovementType>({\n fields,\n title,\n approvement,\n submitProps,\n dialogId,\n classes,\n buttonGroup,\n ...props\n}: DynamicFormDialogProps<AType>) => {\n const { submitCallback } = submitProps ?? {}\n\n const [checked, onCheckedChange] = useState<CheckedState>(false)\n\n const schema = getDynamicSchema(fields)\n const defaultValues = ZodUtils.getZodDefaults(schema)\n\n const { control, handleSubmit } = useControlledForm({\n schema,\n defaultValues,\n mode: 'onBlur'\n })\n\n const onSubmit: SubmitHandler<TypeOf<typeof schema>> = (values) => {\n if (submitCallback) submitCallback({ ...values, agree: checked })\n }\n\n return (\n <QueryClientProvider>\n <Dialog id={dialogId} title={title} {...props}>\n <form onSubmit={handleSubmit(onSubmit)} className='flex flex-col gap-6'>\n <FieldMapper control={control as unknown as Control} fields={fields} />\n {withApprovement(approvement, checked, onCheckedChange, classes?.approvement)}\n {buttonGroup?.map((button, index) => {\n const disabled = button.type === 'submit' && approvement.type === 'checkbox' ? !checked : false\n\n return (\n <Button\n {...button}\n key={index}\n disabled={disabled}\n className={cn(\n 'w-full whitespace-nowrap',\n {\n 'w-full': Boolean(approvement)\n },\n classes?.submit\n )}\n />\n )\n })}\n {/*<Button {...buttonProps} type='submit' disabled={approvement.type === 'checkbox' ? !checked : false} className='w-full'>*/}\n {/* {children ?? 'Отправить форму'}*/}\n {/*</Button>*/}\n </form>\n </Dialog>\n </QueryClientProvider>\n )\n}\n\nexport default DynamicFormDialog\n"],"names":["withApprovement","approvement","checked","onCheckedChange","classes","jsx","HTMLRenderer","jsxs","cn","CheckboxBase","DynamicFormDialog","fields","title","submitProps","dialogId","buttonGroup","props","submitCallback","useState","schema","getDynamicSchema","defaultValues","ZodUtils","control","handleSubmit","useControlledForm","QueryClientProvider","Dialog","values","FieldMapper","button","index","disabled","createElement","Button"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DynamicFormDialog.js","sources":["../../../../lib/widgets/dynamicFormDialog/DynamicFormDialog.tsx"],"sourcesContent":["'use client'\nimport { useState } from 'react'\nimport type { Control, FieldValues, SubmitHandler } from 'react-hook-form'\nimport { type TypeOf } from 'zod'\nimport { HTMLRenderer } from '../htmlParser'\nimport type { Approvement, ApprovementType } from './model'\nimport { type FieldValidation, getDynamicSchema } from '@/shared/utils'\nimport { useControlledForm } from '$/shared/hooks'\nimport { Button, type ButtonProps, CheckboxBase, type CheckedState, Dialog } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\nimport { ZodUtils } from '$/shared/validation'\nimport { type FieldElement, FieldMapper } from '$/widgets/fieldMapper'\nimport { QueryClientProvider } from '$/widgets/queryClientProvider'\n\ntype SubmitProps = {\n submitCallback: <T extends FieldValues>(values: T) => void\n}\n\ntype ApprovementClasses = {\n checkbox?: React.ComponentProps<typeof CheckboxBase>['classes']\n content?: string\n}\n\ntype DynamicFormDialogClasses = {\n root?: string\n title?: string\n fields?: string\n form?: string\n approvement?: ApprovementClasses\n submit?: string\n}\n\nexport type DynamicFormDialogProps<AType extends ApprovementType> = React.DialogHTMLAttributes<HTMLDialogElement> & {\n fields: FieldElement<any, any, { validation: FieldValidation }>[]\n title: string\n approvement: Approvement<AType>\n dialogId: string\n submitProps?: SubmitProps\n classes?: DynamicFormDialogClasses\n buttonGroup: ButtonProps[]\n}\n\nconst withApprovement = <Type extends ApprovementType>(\n approvement: Approvement<Type>,\n checked: CheckedState,\n onCheckedChange: (checked: CheckedState) => void,\n classes?: ApprovementClasses\n) => {\n if (approvement.type === 'off') return null\n\n if (approvement.type === 'text') {\n return <HTMLRenderer html={approvement.message} as='div' className={classes?.content} />\n }\n\n return (\n <label\n className={cn(\n 'mob-body-regular-s text-color-dark',\n 'desktop:desk-body-regular-m desktop:gap-x-4',\n 'flex items-center justify-items-start gap-x-3'\n )}\n >\n <CheckboxBase classes={classes?.checkbox} checked={checked} onCheckedChange={onCheckedChange} />\n <HTMLRenderer html={approvement.content} as='div' className={classes?.content} />\n </label>\n )\n}\n\nexport const DynamicFormDialog = <AType extends ApprovementType>({\n fields,\n title,\n approvement,\n submitProps,\n dialogId,\n classes,\n buttonGroup,\n ...props\n}: DynamicFormDialogProps<AType>) => {\n const { submitCallback } = submitProps ?? {}\n\n const [checked, onCheckedChange] = useState<CheckedState>(false)\n\n const schema = getDynamicSchema(fields)\n const defaultValues = ZodUtils.getZodDefaults(schema)\n\n const { control, handleSubmit } = useControlledForm({\n schema,\n defaultValues,\n mode: 'onBlur'\n })\n\n const onSubmit: SubmitHandler<TypeOf<typeof schema>> = (values) => {\n if (submitCallback) submitCallback({ ...values, agree: checked })\n }\n\n return (\n <QueryClientProvider>\n <Dialog id={dialogId} title={title} {...props}>\n <form onSubmit={handleSubmit(onSubmit)} className='flex flex-col gap-6'>\n <FieldMapper control={control as unknown as Control} fields={fields} />\n {withApprovement(approvement, checked, onCheckedChange, classes?.approvement)}\n {buttonGroup?.map((button, index) => {\n const disabled = button.type === 'submit' && approvement.type === 'checkbox' ? !checked : false\n\n return (\n <Button\n {...button}\n key={index}\n disabled={disabled}\n className={cn(\n 'w-full whitespace-nowrap',\n {\n 'w-full': Boolean(approvement)\n },\n classes?.submit\n )}\n />\n )\n })}\n {/*<Button {...buttonProps} type='submit' disabled={approvement.type === 'checkbox' ? !checked : false} className='w-full'>*/}\n {/* {children ?? 'Отправить форму'}*/}\n {/*</Button>*/}\n </form>\n </Dialog>\n </QueryClientProvider>\n )\n}\n\nexport default DynamicFormDialog\n"],"names":["withApprovement","approvement","checked","onCheckedChange","classes","jsx","HTMLRenderer","jsxs","cn","CheckboxBase","DynamicFormDialog","fields","title","submitProps","dialogId","buttonGroup","props","submitCallback","useState","schema","getDynamicSchema","defaultValues","ZodUtils","control","handleSubmit","useControlledForm","QueryClientProvider","Dialog","values","FieldMapper","button","index","disabled","createElement","Button"],"mappings":"olFA0CA,MAAMA,EAAkB,CACtBC,EACAC,EACAC,EACAC,IAEIH,EAAY,OAAS,MAAc,KAEnCA,EAAY,OAAS,OAChBI,EAACC,GAAa,KAAML,EAAY,QAAS,GAAG,MAAM,UAAWG,GAAA,YAAAA,EAAS,OAAA,CAAS,EAItFG,EAAC,QAAA,CACC,UAAWC,EACT,qCACA,8CACA,+CAAA,EAGF,SAAA,CAAAH,EAACI,EAAA,CAAa,QAASL,GAAA,YAAAA,EAAS,SAAU,QAAAF,EAAkB,gBAAAC,EAAkC,EAC9FE,EAACC,GAAa,KAAML,EAAY,QAAS,GAAG,MAAM,UAAWG,GAAA,YAAAA,EAAS,OAAA,CAAS,CAAA,CAAA,CAAA,EAKxEM,GAAoB,CAAgC,CAC/D,OAAAC,EACA,MAAAC,EACA,YAAAX,EACA,YAAAY,EACA,SAAAC,EACA,QAAAV,EACA,YAAAW,EACA,GAAGC,CACL,IAAqC,CACnC,KAAM,CAAE,eAAAC,GAAmBJ,GAAe,CAAA,EAEpC,CAACX,EAASC,CAAe,EAAIe,EAAuB,EAAK,EAEzDC,EAASC,EAAiBT,CAAM,EAChCU,EAAgBC,EAAS,eAAeH,CAAM,EAE9C,CAAE,QAAAI,EAAS,aAAAC,CAAA,EAAiBC,EAAkB,CAClD,OAAAN,EACA,cAAAE,EACA,KAAM,QAAA,CACP,EAMD,SACGK,EAAA,CACC,SAAArB,EAACsB,EAAA,CAAO,GAAIb,EAAU,MAAAF,EAAe,GAAGI,EACtC,SAAAT,EAAC,QAAK,SAAUiB,EAPkCI,GAAW,CAC7DX,GAAgBA,EAAe,CAAE,GAAGW,EAAQ,MAAO1B,EAAS,CAClE,CAK2C,EAAG,UAAU,sBAChD,SAAA,CAAAG,EAACwB,EAAA,CAAY,QAAAN,EAAwC,OAAAZ,CAAA,CAAgB,EACpEX,EAAgBC,EAAaC,EAASC,EAAiBC,GAAA,YAAAA,EAAS,WAAW,EAC3EW,GAAA,YAAAA,EAAa,IAAI,CAACe,EAAQC,IAAU,CACnC,MAAMC,EAAWF,EAAO,OAAS,UAAY7B,EAAY,OAAS,WAAa,CAACC,EAAU,GAE1F,OACE+B,EAACC,EAAA,CACE,GAAGJ,EACJ,IAAKC,EACL,SAAAC,EACA,UAAWxB,EACT,2BACA,CACE,SAAU,EAAQP,CAAW,EAE/BG,GAAA,YAAAA,EAAS,MAAA,CACX,CAAA,CAGN,EAAC,CAAA,CAIH,EACF,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as o,jsxs as i}from"react/jsx-runtime";import{cn as m}from"../../shared/utils/cn.js";import{statusConfig as e}from"./model/helpers.js";import{ResponsiveContainer as p}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Button as l}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";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 c}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"../../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 O=({status:r,navigationFn:t})=>o("div",{className:"flex flex-col",children:o(p,{className:"flex flex-col justify-center",children:i("div",{className:"mt-32 flex w-full flex-col items-center gap-8 desktop:gap-12",children:[o("span",{className:m("flex size-16 items-center justify-center rounded-full bg-color-positive-light",`${e()[r].icon.bg}`),children:e()[r].icon.element}),i("div",{className:"flex flex-col items-center gap-2 text-center desktop:gap-6",children:[o(c,{as:"h2",children:e()[r].title}),o("p",{className:"desk-body-regular-l text-color-dark",children:e()[r].description})]}),o(l,{size:"lg",className:"w-full max-w-[328px] desktop:desk-body-regular-l desktop:w-[256px]",onClick:t,children:e()[r].button.text})]})})});export{O as FallbacksView};
|
|
2
2
|
//# sourceMappingURL=FallbacksView.js.map
|