@scbt-ecom/ui 0.96.3 → 0.96.5
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/dropdownList/ui/dropdownItem/DropdownItem.js +1 -1
- package/dist/lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/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/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 +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/inputCurrency/ui/MenuTrigger.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/ui/MenuTrigger.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/combobox/hooks/useCombobox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.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/index.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/index.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/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/calculatorFields/ui/FieldsGroup.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/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/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/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/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/stats.html +1 -1
- package/dist/types/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.d.ts +1 -1
- package/dist/types/lib/shared/ui/formElements/controlled/index.d.ts +1 -3
- package/dist/types/lib/shared/ui/formElements/index.d.ts +0 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/autocomplete/types.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/combobox/combobox.d.ts +16 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.d.ts +3 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/index.d.ts +3 -21
- package/dist/types/lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.d.ts +1 -1
- package/package.json +2 -4
- package/dist/lib/shared/ui/formElements/controlled/select/SelectControl.js +0 -2
- package/dist/lib/shared/ui/formElements/controlled/select/SelectControl.js.map +0 -1
- package/dist/lib/shared/ui/formElements/controlled/select/index.js +0 -2
- package/dist/lib/shared/ui/formElements/controlled/select/index.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/Select.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/Select.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/index.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/index.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/useSelectController.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/useSelectController.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/index.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/index.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/index.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/index.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/typeGuards.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/typeGuards.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/types.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/types.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/Chip.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/Chip.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/ChipList.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/ChipList.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/SelectItem.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/SelectItem.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/index.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/index.js.map +0 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +0 -2
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +0 -1
- package/dist/types/lib/shared/ui/formElements/controlled/select/SelectControl.d.ts +0 -26
- package/dist/types/lib/shared/ui/formElements/controlled/select/index.d.ts +0 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/Select.d.ts +0 -150
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/hooks/index.d.ts +0 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/hooks/useSelectController.d.ts +0 -22
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/index.d.ts +0 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/model/index.d.ts +0 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/model/typeGuards.d.ts +0 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/model/types.d.ts +0 -11
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/ui/Chip.d.ts +0 -12
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/ui/ChipList.d.ts +0 -11
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/ui/SelectItem.d.ts +0 -25
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/ui/index.d.ts +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as m,jsx as
|
|
1
|
+
import{jsxs as m,jsx as c}from"react/jsx-runtime";import{memo as v,forwardRef as y,Fragment as N}from"react";import{CheckboxBase as w}from"../../../formElements/uncontrolled/checkbox/Checkbox.js";import{cn as p}from"../../../../utils/cn.js";const C=y(({item:e,className:t,onPick:o,multiple:a=!1,active:i=!1,focused:f=!1,displayValue:s,classes:d,...h},x)=>{const{label:u,helperText:l,disabled:n,attachment:r}=e,g=a||r||l?"div":N;return m("li",{...h,ref:x,role:"listitem",onClick:b=>o==null?void 0:o(e,b),"data-focused":f,"data-active":i,className:p("desk-body-regular-l w-full cursor-pointer list-none truncate rounded-sm bg-color-white px-2","flex h-12 items-center gap-x-4 text-color-dark","[&:not(:disabled)]:cursor-pointer [&:not(:last-child)]:mb-1 [&>p]:hover:text-color-secondary",'data-[active="true"]:bg-color-primary-tr-hover data-[active="true"]:text-color-primary-hover','data-[focused="true"]:bg-color-primary-tr-hover data-[focused="true"]:text-color-primary-hover',{"pointer-events-none text-color-disabled":n,"flex items-center gap-x-4":a,"gap-x-3":r&&r.left},d==null?void 0:d.root,t),children:[a?c(w,{checked:i,disabled:n}):r&&r.left,m(g,{children:[s?s(e):u,l&&c("p",{className:p("desk-body-regular-s text-color-tetriary",{"text-color-disabled":n}),children:l})]}),r&&r.right&&c("div",{className:"ml-auto",children:r.right})]})}),O=v(C,(e,t)=>JSON.stringify(e)===JSON.stringify(t));export{O as DropdownItem};
|
|
2
2
|
//# sourceMappingURL=DropdownItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownItem.js","sources":["../../../../../../../lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.tsx"],"sourcesContent":["import { forwardRef, Fragment, memo } from 'react'\nimport type { DropdownItemOption } from './model'\nimport { CheckboxBase } from '$/shared/ui/formElements/uncontrolled/checkbox'\nimport { cn } from '$/shared/utils'\n\nexport type DropdownItemClasses = {\n root?: string\n}\n\nexport interface DropdownItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>, 'children'> {\n item: DropdownItemOption\n onPick?: (value: DropdownItemOption, event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void\n multiple?: boolean\n active?: boolean\n focused?: boolean\n disabled?: boolean\n displayValue?: (option: DropdownItemOption) => string\n classes?: DropdownItemClasses\n}\n\nconst InnerComponent = forwardRef<HTMLLIElement, DropdownItemProps>(\n ({ item, className, onPick, multiple = false, active = false, focused = false, displayValue, classes, ...props }, ref) => {\n const { label, helperText, disabled, attachment } = item\n const ContentWrapper = multiple || attachment || helperText ? 'div' : Fragment\n\n return (\n <li\n {...props}\n ref={ref}\n role='listitem'\n onClick={(event) => onPick?.(item, event)}\n data-focused={focused}\n data-active={active}\n className={cn(\n 'desk-body-regular-l w-full cursor-pointer list-none truncate rounded-sm bg-color-white px-2',\n 'flex h-12 items-center gap-x-4 text-color-dark',\n '[&:not(:disabled)]:cursor-pointer [&:not(:last-child)]:mb-1 [&>p]:hover:text-color-secondary',\n 'data-[active=\"true\"]:bg-color-primary-tr-hover data-[active=\"true\"]:text-color-primary-hover',\n 'data-[focused=\"true\"]:bg-color-primary-tr-hover data-[focused=\"true\"]:text-color-primary-hover',\n {\n 'pointer-events-none text-color-disabled': disabled,\n 'flex items-center gap-x-4': multiple,\n 'gap-x-3': attachment && attachment.left\n },\n classes?.root,\n className\n )}\n >\n {multiple ? <CheckboxBase checked={active} disabled={disabled} /> : attachment && attachment.left}\n <ContentWrapper>\n {displayValue ? displayValue(item) : label}\n {helperText && (\n <p\n className={cn('desk-body-regular-s text-color-tetriary', {\n 'text-color-disabled': disabled\n })}\n >\n {helperText}\n </p>\n )}\n </ContentWrapper>\n {attachment && attachment.right && <div className='ml-auto'>{attachment.right}</div>}\n </li>\n )\n }\n)\n\nexport const DropdownItem = memo(InnerComponent, (prevProps, nextProps) => {\n return prevProps
|
|
1
|
+
{"version":3,"file":"DropdownItem.js","sources":["../../../../../../../lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.tsx"],"sourcesContent":["import { forwardRef, Fragment, memo } from 'react'\nimport type { DropdownItemOption } from './model'\nimport { CheckboxBase } from '$/shared/ui/formElements/uncontrolled/checkbox'\nimport { cn } from '$/shared/utils'\n\nexport type DropdownItemClasses = {\n root?: string\n}\n\nexport interface DropdownItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>, 'children'> {\n item: DropdownItemOption\n onPick?: (value: DropdownItemOption, event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void\n multiple?: boolean\n active?: boolean\n focused?: boolean\n disabled?: boolean\n displayValue?: (option: DropdownItemOption) => string\n classes?: DropdownItemClasses\n}\n\nconst InnerComponent = forwardRef<HTMLLIElement, DropdownItemProps>(\n ({ item, className, onPick, multiple = false, active = false, focused = false, displayValue, classes, ...props }, ref) => {\n const { label, helperText, disabled, attachment } = item\n const ContentWrapper = multiple || attachment || helperText ? 'div' : Fragment\n\n return (\n <li\n {...props}\n ref={ref}\n role='listitem'\n onClick={(event) => onPick?.(item, event)}\n data-focused={focused}\n data-active={active}\n className={cn(\n 'desk-body-regular-l w-full cursor-pointer list-none truncate rounded-sm bg-color-white px-2',\n 'flex h-12 items-center gap-x-4 text-color-dark',\n '[&:not(:disabled)]:cursor-pointer [&:not(:last-child)]:mb-1 [&>p]:hover:text-color-secondary',\n 'data-[active=\"true\"]:bg-color-primary-tr-hover data-[active=\"true\"]:text-color-primary-hover',\n 'data-[focused=\"true\"]:bg-color-primary-tr-hover data-[focused=\"true\"]:text-color-primary-hover',\n {\n 'pointer-events-none text-color-disabled': disabled,\n 'flex items-center gap-x-4': multiple,\n 'gap-x-3': attachment && attachment.left\n },\n classes?.root,\n className\n )}\n >\n {multiple ? <CheckboxBase checked={active} disabled={disabled} /> : attachment && attachment.left}\n <ContentWrapper>\n {displayValue ? displayValue(item) : label}\n {helperText && (\n <p\n className={cn('desk-body-regular-s text-color-tetriary', {\n 'text-color-disabled': disabled\n })}\n >\n {helperText}\n </p>\n )}\n </ContentWrapper>\n {attachment && attachment.right && <div className='ml-auto'>{attachment.right}</div>}\n </li>\n )\n }\n)\n\nexport const DropdownItem = memo(InnerComponent, (prevProps, nextProps) => {\n return JSON.stringify(prevProps) === JSON.stringify(nextProps)\n})\n"],"names":["InnerComponent","forwardRef","item","className","onPick","multiple","active","focused","displayValue","classes","props","ref","label","helperText","disabled","attachment","ContentWrapper","Fragment","jsxs","event","cn","CheckboxBase","jsx","DropdownItem","memo","prevProps","nextProps"],"mappings":"iPAoBA,MAAMA,EAAiBC,EACrB,CAAC,CAAE,KAAAC,EAAM,UAAAC,EAAW,OAAAC,EAAQ,SAAAC,EAAW,GAAO,OAAAC,EAAS,GAAO,QAAAC,EAAU,GAAO,aAAAC,EAAc,QAAAC,EAAS,GAAGC,CAAA,EAASC,IAAQ,CACxH,KAAM,CAAE,MAAAC,EAAO,WAAAC,EAAY,SAAAC,EAAU,WAAAC,GAAeb,EAC9Cc,EAAiBX,GAAYU,GAAcF,EAAa,MAAQI,EAEtE,OACEC,EAAC,KAAA,CACE,GAAGR,EACJ,IAAAC,EACA,KAAK,WACL,QAAUQ,GAAUf,GAAA,YAAAA,EAASF,EAAMiB,GACnC,eAAcZ,EACd,cAAaD,EACb,UAAWc,EACT,8FACA,iDACA,+FACA,+FACA,iGACA,CACE,0CAA2CN,EAC3C,4BAA6BT,EAC7B,UAAWU,GAAcA,EAAW,IAAA,EAEtCN,GAAA,YAAAA,EAAS,KACTN,CAAA,EAGD,SAAA,CAAAE,IAAYgB,EAAA,CAAa,QAASf,EAAQ,SAAAQ,EAAoB,EAAKC,GAAcA,EAAW,OAC5FC,EAAA,CACE,SAAA,CAAAR,EAAeA,EAAaN,CAAI,EAAIU,EACpCC,GACCS,EAAC,IAAA,CACC,UAAWF,EAAG,0CAA2C,CACvD,sBAAuBN,CAAA,CACxB,EAEA,SAAAD,CAAA,CAAA,CACH,EAEJ,EACCE,GAAcA,EAAW,OAASO,EAAC,OAAI,UAAU,UAAW,WAAW,KAAA,CAAM,CAAA,CAAA,CAAA,CAGpF,CACF,EAEaC,EAAeC,EAAKxB,EAAgB,CAACyB,EAAWC,IACpD,KAAK,UAAUD,CAAS,IAAM,KAAK,UAAUC,CAAS,CAC9D"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as g,jsx as t}from"react/jsx-runtime";import{useController as j}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{cn as v}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import{AutocompleteBase as w}from"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"../../uncontrolled/combobox/combobox.js";import"../../uncontrolled/dayPicker/DayPicker.js";import"../../uncontrolled/input/Input.js";import"../../uncontrolled/inputOtp/InputOtpBase.js";import"../../uncontrolled/maskInput/MaskInput.js";import"../../uncontrolled/radio/RadioGroup.js";import"../../uncontrolled/radio/ui/RadioItem.js";import"../../uncontrolled/slider/SliderBase.js";import"../../uncontrolled/switch/Switch.js";import"../../uncontrolled/textarea/Textarea.js";import"../../uncontrolled/uploader/UploaderBase.js";import"../editor/ui/Editor.js";import"../input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{MessageView as A}from"../../ui/MessageView.js";const $=({control:r,name:m,defaultValue:i,disabled:p,helperText:e,rules:s,shouldUnregister:l,classes:n,...a})=>{const{field:c,fieldState:f}=j({control:r,name:m,defaultValue:i,disabled:p,rules:s,shouldUnregister:l}),{error:o,invalid:d}=f,{container:u,message:x}=n||{};return g("div",{className:v("w-full",u),children:[t(w,{...a,...c,invalid:d}),t(A,{className:x,text:(o==null?void 0:o.message)||e,intent:o?"error":"simple"})]})};export{$ as AutocompleteControl};
|
|
2
2
|
//# sourceMappingURL=Autocomplete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { type Control, type FieldValues, type Path, useController, type UseControllerProps } from 'react-hook-form'\nimport { MessageView } from '../../ui'\nimport { AutocompleteBase, type AutocompleteBaseProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AutocompleteControlProps<\n TFieldValues extends FieldValues,\n T,\n TName extends Path<TFieldValues> = Path<TFieldValues>\n> = UseControllerProps<TFieldValues, TName> &\n Omit<AutocompleteBaseProps<T>, 'classes'> & {\n control: Control<TFieldValues>\n helperText?: string\n classes?: AutocompleteBaseProps<T>['classes'] & {\n container?: string\n message?: string\n }\n }\n\nexport const AutocompleteControl = <TFieldValues extends FieldValues, T>({\n control,\n name,\n defaultValue,\n disabled,\n helperText,\n rules,\n shouldUnregister,\n classes,\n
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { type Control, type FieldValues, type Path, useController, type UseControllerProps } from 'react-hook-form'\nimport { MessageView } from '../../ui'\nimport { AutocompleteBase, type AutocompleteBaseProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type AutocompleteControlProps<\n TFieldValues extends FieldValues,\n T,\n TName extends Path<TFieldValues> = Path<TFieldValues>\n> = UseControllerProps<TFieldValues, TName> &\n Omit<AutocompleteBaseProps<T>, 'classes'> & {\n control: Control<TFieldValues>\n helperText?: string\n classes?: AutocompleteBaseProps<T>['classes'] & {\n container?: string\n message?: string\n }\n }\n\nexport const AutocompleteControl = <TFieldValues extends FieldValues, T>({\n control,\n name,\n defaultValue,\n disabled,\n helperText,\n rules,\n shouldUnregister,\n classes,\n ...props\n}: AutocompleteControlProps<TFieldValues, T>) => {\n const { field, fieldState } = useController({\n control,\n name,\n defaultValue,\n disabled,\n rules,\n shouldUnregister\n })\n\n const { error, invalid } = fieldState\n const { container, message } = classes || {}\n\n return (\n <div className={cn('w-full', container)}>\n <AutocompleteBase {...props} {...field} invalid={invalid} />\n <MessageView className={message} text={error?.message || helperText} intent={error ? 'error' : 'simple'} />\n </div>\n )\n}\n"],"names":["AutocompleteControl","control","name","defaultValue","disabled","helperText","rules","shouldUnregister","classes","props","field","fieldState","useController","error","invalid","container","message","cn","jsx","AutocompleteBase","MessageView"],"mappings":"s+CAmBO,MAAMA,EAAsB,CAAsC,CACvE,QAAAC,EACA,KAAAC,EACA,aAAAC,EACA,SAAAC,EACA,WAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,QAAAC,EACA,GAAGC,CACL,IAAiD,CAC/C,KAAM,CAAE,MAAAC,EAAO,WAAAC,CAAA,EAAeC,EAAc,CAC1C,QAAAX,EACA,KAAAC,EACA,aAAAC,EACA,SAAAC,EACA,MAAAE,EACA,iBAAAC,CAAA,CACD,EAEK,CAAE,MAAAM,EAAO,QAAAC,CAAA,EAAYH,EACrB,CAAE,UAAAI,EAAW,QAAAC,CAAA,EAAYR,GAAW,CAAA,EAE1C,SACG,MAAA,CAAI,UAAWS,EAAG,SAAUF,CAAS,EACpC,SAAA,CAAAG,EAACC,EAAA,CAAkB,GAAGV,EAAQ,GAAGC,EAAO,QAAAI,EAAkB,EAC1DI,EAACE,EAAA,CAAY,UAAWJ,EAAS,MAAMH,GAAA,YAAAA,EAAO,UAAWR,EAAY,OAAQQ,EAAQ,QAAU,QAAA,CAAU,CAAA,EAC3G,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as i,jsx as t}from"react/jsx-runtime";import{useId as w}from"react";import{useController as B}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{CheckboxBase as I}from"../../uncontrolled/checkbox/Checkbox.js";import{cn as e}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"
|
|
1
|
+
import{jsxs as i,jsx as t}from"react/jsx-runtime";import{useId as w}from"react";import{useController as B}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{CheckboxBase as I}from"../../uncontrolled/checkbox/Checkbox.js";import{cn as e}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/combobox/combobox.js";import"../../uncontrolled/dayPicker/DayPicker.js";import"../../uncontrolled/input/Input.js";import"../../uncontrolled/inputOtp/InputOtpBase.js";import"../../uncontrolled/maskInput/MaskInput.js";import"../../uncontrolled/radio/RadioGroup.js";import"../../uncontrolled/radio/ui/RadioItem.js";import"../../uncontrolled/slider/SliderBase.js";import"../../uncontrolled/switch/Switch.js";import"../../uncontrolled/textarea/Textarea.js";import"../../uncontrolled/uploader/UploaderBase.js";import"../editor/ui/Editor.js";import"../input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{MessageView as M}from"../../ui/MessageView.js";const lo=({control:s,classes:p,className:l,name:a,rules:c,shouldUnregister:n,defaultValue:d,disabled:o,children:x,helperText:f,...g})=>{const{field:h,fieldState:k}=B({control:s,name:a,rules:c,shouldUnregister:n,defaultValue:d,disabled:o}),{container:C,message:u,label:b,...v}=p||{},{value:y,onChange:N,...j}=h,{invalid:F,error:r}=k,m=w();return i("div",{className:e("flex flex-col gap-y-2",l),children:[i("div",{className:e("flex items-center justify-items-start gap-x-3",C),children:[t(I,{id:m,checked:y,onCheckedChange:N,invalid:F,classes:v,...g,...j}),t("label",{htmlFor:m,className:e("mob-body-regular-s text-color-dark","desktop:desk-body-regular-m desktop:gap-x-4",{"text-color-disabled":o},b),children:x})]}),t(M,{text:r?r.message:f,className:u,intent:r?"error":"simple",disabled:o})]})};export{lo as CheckboxControl};
|
|
2
2
|
//# sourceMappingURL=CheckboxControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxControl.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.tsx"],"sourcesContent":["'use client'\n\nimport { useId } from 'react'\nimport { type Control, type FieldPath, type FieldValues, useController, type UseControllerProps } from 'react-hook-form'\nimport { CheckboxBase, type CheckboxBaseProps } from '../../uncontrolled/checkbox'\nimport { MessageView } from '$/shared/ui/formElements/ui'\nimport { cn } from '$/shared/utils'\n\ntype CheckboxControlClasses = CheckboxBaseProps['classes'] & {\n container?: string\n message?: string\n label?: string\n}\n\nexport type CheckboxControlProps<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = UseControllerProps<TFieldValues, TName> &\n Omit<CheckboxBaseProps, 'classes'> & {\n /**\n * Контрол объект для управления полем\n */\n control: Control<TFieldValues>\n /**\n * Отображаемый лейбл\n */\n children: React.ReactElement | string\n /**\n * Дополнительные стили компонента\n */\n classes?: CheckboxControlClasses\n /**\n * Дополнительный текст\n */\n helperText?: string\n }\n\nexport const CheckboxControl = <TFieldValues extends FieldValues = FieldValues>({\n control,\n classes,\n className,\n name,\n rules,\n shouldUnregister,\n defaultValue,\n disabled,\n children,\n helperText,\n ...props\n}: CheckboxControlProps<TFieldValues>) => {\n const { field, fieldState } = useController({\n control,\n name,\n rules,\n shouldUnregister,\n defaultValue,\n disabled\n })\n\n const { container, message, label, ...restClasses } = classes || {}\n const { value, onChange, ...restField } = field\n const { invalid, error } = fieldState\n\n const id = useId()\n\n return (\n <div className={cn('flex flex-col gap-y-2', className)}>\n <div className={cn('flex items-center justify-items-start gap-x-3', container)}>\n <CheckboxBase\n id={id}\n checked={value}\n onCheckedChange={onChange}\n invalid={invalid}\n classes={restClasses}\n {...props}\n {...restField}\n />\n <label\n htmlFor={id}\n className={cn(\n 'mob-body-regular-s text-color-dark',\n 'desktop:desk-body-regular-m desktop:gap-x-4',\n {\n 'text-color-disabled': disabled\n },\n label\n )}\n >\n {children}\n </label>\n </div>\n <MessageView\n text={error ? error.message : helperText}\n className={message}\n intent={error ? 'error' : 'simple'}\n disabled={disabled}\n />\n </div>\n )\n}\n"],"names":["CheckboxControl","control","classes","className","name","rules","shouldUnregister","defaultValue","disabled","children","helperText","props","field","fieldState","useController","container","message","label","restClasses","value","onChange","restField","invalid","error","id","useId","cn","jsxs","jsx","CheckboxBase","MessageView"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CheckboxControl.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.tsx"],"sourcesContent":["'use client'\n\nimport { useId } from 'react'\nimport { type Control, type FieldPath, type FieldValues, useController, type UseControllerProps } from 'react-hook-form'\nimport { CheckboxBase, type CheckboxBaseProps } from '../../uncontrolled/checkbox'\nimport { MessageView } from '$/shared/ui/formElements/ui'\nimport { cn } from '$/shared/utils'\n\ntype CheckboxControlClasses = CheckboxBaseProps['classes'] & {\n container?: string\n message?: string\n label?: string\n}\n\nexport type CheckboxControlProps<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = UseControllerProps<TFieldValues, TName> &\n Omit<CheckboxBaseProps, 'classes'> & {\n /**\n * Контрол объект для управления полем\n */\n control: Control<TFieldValues>\n /**\n * Отображаемый лейбл\n */\n children: React.ReactElement | string\n /**\n * Дополнительные стили компонента\n */\n classes?: CheckboxControlClasses\n /**\n * Дополнительный текст\n */\n helperText?: string\n }\n\nexport const CheckboxControl = <TFieldValues extends FieldValues = FieldValues>({\n control,\n classes,\n className,\n name,\n rules,\n shouldUnregister,\n defaultValue,\n disabled,\n children,\n helperText,\n ...props\n}: CheckboxControlProps<TFieldValues>) => {\n const { field, fieldState } = useController({\n control,\n name,\n rules,\n shouldUnregister,\n defaultValue,\n disabled\n })\n\n const { container, message, label, ...restClasses } = classes || {}\n const { value, onChange, ...restField } = field\n const { invalid, error } = fieldState\n\n const id = useId()\n\n return (\n <div className={cn('flex flex-col gap-y-2', className)}>\n <div className={cn('flex items-center justify-items-start gap-x-3', container)}>\n <CheckboxBase\n id={id}\n checked={value}\n onCheckedChange={onChange}\n invalid={invalid}\n classes={restClasses}\n {...props}\n {...restField}\n />\n <label\n htmlFor={id}\n className={cn(\n 'mob-body-regular-s text-color-dark',\n 'desktop:desk-body-regular-m desktop:gap-x-4',\n {\n 'text-color-disabled': disabled\n },\n label\n )}\n >\n {children}\n </label>\n </div>\n <MessageView\n text={error ? error.message : helperText}\n className={message}\n intent={error ? 'error' : 'simple'}\n disabled={disabled}\n />\n </div>\n )\n}\n"],"names":["CheckboxControl","control","classes","className","name","rules","shouldUnregister","defaultValue","disabled","children","helperText","props","field","fieldState","useController","container","message","label","restClasses","value","onChange","restField","invalid","error","id","useId","cn","jsxs","jsx","CheckboxBase","MessageView"],"mappings":"k/CAqCO,MAAMA,GAAkB,CAAiD,CAC9E,QAAAC,EACA,QAAAC,EACA,UAAAC,EACA,KAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,aAAAC,EACA,SAAAC,EACA,SAAAC,EACA,WAAAC,EACA,GAAGC,CACL,IAA0C,CACxC,KAAM,CAAE,MAAAC,EAAO,WAAAC,CAAA,EAAeC,EAAc,CAC1C,QAAAb,EACA,KAAAG,EACA,MAAAC,EACA,iBAAAC,EACA,aAAAC,EACA,SAAAC,CAAA,CACD,EAEK,CAAE,UAAAO,EAAW,QAAAC,EAAS,MAAAC,EAAO,GAAGC,CAAA,EAAgBhB,GAAW,CAAA,EAC3D,CAAE,MAAAiB,EAAO,SAAAC,EAAU,GAAGC,GAAcT,EACpC,CAAE,QAAAU,EAAS,MAAAC,CAAA,EAAUV,EAErBW,EAAKC,EAAA,EAEX,SACG,MAAA,CAAI,UAAWC,EAAG,wBAAyBvB,CAAS,EACnD,SAAA,CAAAwB,EAAC,MAAA,CAAI,UAAWD,EAAG,gDAAiDX,CAAS,EAC3E,SAAA,CAAAa,EAACC,EAAA,CACC,GAAAL,EACA,QAASL,EACT,gBAAiBC,EACjB,QAAAE,EACA,QAASJ,EACR,GAAGP,EACH,GAAGU,CAAA,CAAA,EAENO,EAAC,QAAA,CACC,QAASJ,EACT,UAAWE,EACT,qCACA,8CACA,CACE,sBAAuBlB,CAAA,EAEzBS,CAAA,EAGD,SAAAR,CAAA,CAAA,CACH,EACF,EACAmB,EAACE,EAAA,CACC,KAAMP,EAAQA,EAAM,QAAUb,EAC9B,UAAWM,EACX,OAAQO,EAAQ,QAAU,SAC1B,SAAAf,CAAA,CAAA,CACF,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as G,jsx as e}from"react/jsx-runtime";import{useMemo as S}from"react";import{useController as T}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{Combobox as k}from"../../uncontrolled/combobox/combobox.js";import{cn as q}from"../../../../utils/cn.js";import{TypeGuards as s}from"../../../../utils/typeGuards.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"../../uncontrolled/dayPicker/DayPicker.js";import"../../uncontrolled/input/Input.js";import"../../uncontrolled/inputOtp/InputOtpBase.js";import"../../uncontrolled/maskInput/MaskInput.js";import"../../uncontrolled/radio/RadioGroup.js";import"../../uncontrolled/radio/ui/RadioItem.js";import"../../uncontrolled/
|
|
1
|
+
import{jsxs as G,jsx as e}from"react/jsx-runtime";import{useMemo as S}from"react";import{useController as T}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{Combobox as k}from"../../uncontrolled/combobox/combobox.js";import{cn as q}from"../../../../utils/cn.js";import{TypeGuards as s}from"../../../../utils/typeGuards.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"../../uncontrolled/dayPicker/DayPicker.js";import"../../uncontrolled/input/Input.js";import"../../uncontrolled/inputOtp/InputOtpBase.js";import"../../uncontrolled/maskInput/MaskInput.js";import"../../uncontrolled/radio/RadioGroup.js";import"../../uncontrolled/radio/ui/RadioItem.js";import"../../uncontrolled/slider/SliderBase.js";import"../../uncontrolled/switch/Switch.js";import"../../uncontrolled/textarea/Textarea.js";import"../../uncontrolled/uploader/UploaderBase.js";import"../editor/ui/Editor.js";import"../input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{MessageView as z}from"../../ui/MessageView.js";const ao=({control:n,className:l,name:c,rules:f,shouldUnregister:a,disabled:t,defaultValue:g,options:m,helperText:x,returnValue:r,classes:C,...d})=>{const{field:b,fieldState:h}=T({control:n,name:c,rules:f,shouldUnregister:a,disabled:t,defaultValue:g}),{error:i,invalid:u}=h,{value:p,onChange:y,...j}=b,{root:w,combobox:A,message:M}=C??{},N=o=>{s.isArray(o)||y(r&&o?r(o):(o==null?void 0:o.value)??null)},F=S(()=>s.isArray(p)?null:m.find(o=>(r?r(o):o.value)===p)??null,[m,p]);return G("div",{className:q("w-full items-start gap-y-2",w,l),children:[e(k,{...d,...j,options:m,value:F,onChange:N,invalid:u,disabled:t,multiple:!1,classes:A}),e(z,{text:i?i.message:x,className:M,intent:i?"error":"simple",disabled:t})]})};export{ao as ComboboxControl};
|
|
2
2
|
//# sourceMappingURL=ComboboxControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxControl.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/combobox/ComboboxControl.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { type Control, type FieldPath, type FieldValues, useController, type UseControllerProps } from 'react-hook-form'\nimport {\n type ChangeHandler,\n Combobox,\n type ComboboxClasses,\n type ComboboxItemOption,\n type ComboboxProps,\n type ComboboxValue\n} from '../../uncontrolled/combobox'\nimport { MessageView } from '$/shared/ui/formElements/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\n\nexport type ComboboxControlClasses = {\n root?: string\n message?: string\n combobox?: ComboboxClasses\n}\n\nexport type ComboboxControlProps<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = UseControllerProps<TFieldValues, TName> &\n ComboboxProps<false> & {\n control: Control<TFieldValues>\n helperText?: string\n returnValue?: (option: ComboboxItemOption) => string | null\n classes?: ComboboxControlClasses\n }\n\nexport const ComboboxControl = <TFieldValues extends FieldValues>({\n control,\n className,\n name,\n rules,\n shouldUnregister,\n disabled,\n defaultValue,\n options,\n helperText,\n returnValue,\n classes,\n ...props\n}: ComboboxControlProps<TFieldValues>) => {\n const { field, fieldState } = useController({\n control,\n name,\n rules,\n shouldUnregister,\n disabled,\n defaultValue\n })\n\n const { error, invalid } = fieldState\n const { value, onChange, ...restField } = field\n\n const { root, combobox, message } = classes ?? {}\n\n const onValueChange: ChangeHandler<false> = (value) => {\n if (TypeGuards.isArray(value)) return\n\n onChange(returnValue && value ? returnValue(value) : (value?.value ?? null))\n }\n\n const selected = useMemo<ComboboxValue<false>>(() => {\n if (TypeGuards.isArray(value)) return null\n\n return options.find((option) => (returnValue ? returnValue(option) : option.value) === value) ?? null\n }, [options, value])\n\n return (\n <div className={cn('w-full items-start gap-y-2', root, className)}>\n <Combobox\n {...props}\n {...restField}\n options={options}\n value={selected}\n onChange={onValueChange}\n invalid={invalid}\n disabled={disabled}\n multiple={false}\n classes={combobox}\n />\n <MessageView\n text={error ? error.message : helperText}\n className={message}\n intent={error ? 'error' : 'simple'}\n disabled={disabled}\n />\n </div>\n )\n}\n"],"names":["ComboboxControl","control","className","name","rules","shouldUnregister","disabled","defaultValue","options","helperText","returnValue","classes","props","field","fieldState","useController","error","invalid","value","onChange","restField","root","combobox","message","onValueChange","TypeGuards","selected","useMemo","option","cn","jsx","Combobox","MessageView"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComboboxControl.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/combobox/ComboboxControl.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { type Control, type FieldPath, type FieldValues, useController, type UseControllerProps } from 'react-hook-form'\nimport {\n type ChangeHandler,\n Combobox,\n type ComboboxClasses,\n type ComboboxItemOption,\n type ComboboxProps,\n type ComboboxValue\n} from '../../uncontrolled/combobox'\nimport { MessageView } from '$/shared/ui/formElements/ui'\nimport { cn, TypeGuards } from '$/shared/utils'\n\nexport type ComboboxControlClasses = {\n root?: string\n message?: string\n combobox?: ComboboxClasses\n}\n\nexport type ComboboxControlProps<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = UseControllerProps<TFieldValues, TName> &\n ComboboxProps<false> & {\n control: Control<TFieldValues>\n helperText?: string\n returnValue?: (option: ComboboxItemOption) => string | null\n classes?: ComboboxControlClasses\n }\n\nexport const ComboboxControl = <TFieldValues extends FieldValues>({\n control,\n className,\n name,\n rules,\n shouldUnregister,\n disabled,\n defaultValue,\n options,\n helperText,\n returnValue,\n classes,\n ...props\n}: ComboboxControlProps<TFieldValues>) => {\n const { field, fieldState } = useController({\n control,\n name,\n rules,\n shouldUnregister,\n disabled,\n defaultValue\n })\n\n const { error, invalid } = fieldState\n const { value, onChange, ...restField } = field\n\n const { root, combobox, message } = classes ?? {}\n\n const onValueChange: ChangeHandler<false> = (value) => {\n if (TypeGuards.isArray(value)) return\n\n onChange(returnValue && value ? returnValue(value) : (value?.value ?? null))\n }\n\n const selected = useMemo<ComboboxValue<false>>(() => {\n if (TypeGuards.isArray(value)) return null\n\n return options.find((option) => (returnValue ? returnValue(option) : option.value) === value) ?? null\n }, [options, value])\n\n return (\n <div className={cn('w-full items-start gap-y-2', root, className)}>\n <Combobox\n {...props}\n {...restField}\n options={options}\n value={selected}\n onChange={onValueChange}\n invalid={invalid}\n disabled={disabled}\n multiple={false}\n classes={combobox}\n />\n <MessageView\n text={error ? error.message : helperText}\n className={message}\n intent={error ? 'error' : 'simple'}\n disabled={disabled}\n />\n </div>\n )\n}\n"],"names":["ComboboxControl","control","className","name","rules","shouldUnregister","disabled","defaultValue","options","helperText","returnValue","classes","props","field","fieldState","useController","error","invalid","value","onChange","restField","root","combobox","message","onValueChange","TypeGuards","selected","useMemo","option","cn","jsx","Combobox","MessageView"],"mappings":"6iDA8BO,MAAMA,GAAkB,CAAmC,CAChE,QAAAC,EACA,UAAAC,EACA,KAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,aAAAC,EACA,QAAAC,EACA,WAAAC,EACA,YAAAC,EACA,QAAAC,EACA,GAAGC,CACL,IAA0C,CACxC,KAAM,CAAE,MAAAC,EAAO,WAAAC,CAAA,EAAeC,EAAc,CAC1C,QAAAd,EACA,KAAAE,EACA,MAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,aAAAC,CAAA,CACD,EAEK,CAAE,MAAAS,EAAO,QAAAC,CAAA,EAAYH,EACrB,CAAE,MAAAI,EAAO,SAAAC,EAAU,GAAGC,GAAcP,EAEpC,CAAE,KAAAQ,EAAM,SAAAC,EAAU,QAAAC,CAAA,EAAYZ,GAAW,CAAA,EAEzCa,EAAuCN,GAAU,CACjDO,EAAW,QAAQP,CAAK,GAE5BC,EAAST,GAAeQ,EAAQR,EAAYQ,CAAK,GAAKA,GAAAA,YAAAA,EAAO,QAAS,IAAK,CAC7E,EAEMQ,EAAWC,EAA8B,IACzCF,EAAW,QAAQP,CAAK,EAAU,KAE/BV,EAAQ,KAAMoB,IAAYlB,EAAcA,EAAYkB,CAAM,EAAIA,EAAO,SAAWV,CAAK,GAAK,KAChG,CAACV,EAASU,CAAK,CAAC,EAEnB,SACG,MAAA,CAAI,UAAWW,EAAG,6BAA8BR,EAAMnB,CAAS,EAC9D,SAAA,CAAA4B,EAACC,EAAA,CACE,GAAGnB,EACH,GAAGQ,EACJ,QAAAZ,EACA,MAAOkB,EACP,SAAUF,EACV,QAAAP,EACA,SAAAX,EACA,SAAU,GACV,QAASgB,CAAA,CAAA,EAEXQ,EAACE,EAAA,CACC,KAAMhB,EAAQA,EAAM,QAAUP,EAC9B,UAAWc,EACX,OAAQP,EAAQ,QAAU,SAC1B,SAAAV,CAAA,CAAA,CACF,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as P,jsx as r}from"react/jsx-runtime";import{useState as S}from"react";import{useController as j}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{SingleDayPicker as k}from"./single.js";import{cn as y}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsxs as P,jsx as r}from"react/jsx-runtime";import{useState as S}from"react";import{useController as j}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{SingleDayPicker as k}from"./single.js";import{cn as y}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"../../uncontrolled/combobox/combobox.js";import"../../uncontrolled/dayPicker/DayPicker.js";import"../../uncontrolled/input/Input.js";import"../../uncontrolled/inputOtp/InputOtpBase.js";import"../../uncontrolled/maskInput/MaskInput.js";import"../../uncontrolled/radio/RadioGroup.js";import"../../uncontrolled/radio/ui/RadioItem.js";import"../../uncontrolled/slider/SliderBase.js";import"../../uncontrolled/switch/Switch.js";import"../../uncontrolled/textarea/Textarea.js";import"../../uncontrolled/uploader/UploaderBase.js";import"../editor/ui/Editor.js";import"../input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{MessageView as N}from"../../ui/MessageView.js";const nt=({control:i,name:m,disabled:o,rules:e,shouldUnregister:p,defaultValue:s,inputProps:n,helperText:a,classes:l,...c})=>{const{field:f,fieldState:u}=j({control:i,name:m,defaultValue:s,disabled:o,rules:e,shouldUnregister:p}),{value:g,onChange:h,...C}=f,{error:t,invalid:d}=u,{message:v,container:x,...w}=l||{},[D,M]=S(new Date);return P("div",{className:y("w-full",x),children:[r(k,{...c,value:g??"",onChange:h,month:D,onMonthChange:M,classes:w,inputProps:{...n,...C,invalid:d}}),r(N,{text:(t==null?void 0:t.message)||a,className:v,intent:t?"error":"simple",disabled:o})]})};export{nt as DayPickerControl};
|
|
2
2
|
//# sourceMappingURL=dayPickerControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dayPickerControl.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.tsx"],"sourcesContent":["'use client'\n\nimport { useState } from 'react'\nimport { type Control, type FieldPath, type FieldValues, useController, type UseControllerProps } from 'react-hook-form'\nimport { SingleDayPicker } from './single'\nimport { type Calendar, type MaskInputProps } from '$/shared/ui'\nimport { MessageView } from '$/shared/ui/formElements/ui'\nimport { cn } from '$/shared/utils'\n\ntype CalendarProps = React.ComponentPropsWithoutRef<typeof Calendar>\ntype DayPickerControlClasses = MaskInputProps['classes'] & {\n message?: string\n}\n\nexport type ExternalHandlers = {\n onChange?: (value: string) => void\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void\n}\n\nexport type DayPickerControlProps<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = UseControllerProps<TFieldValues, TName> &\n Omit<CalendarProps, 'selected' | 'onSelect' | 'mode'> & {\n /**\n * Контрол объект для управления полем\n */\n control: Control<TFieldValues>\n /**\n * Свойства отображаемого Input поля\n */\n inputProps: Omit<MaskInputProps, 'mask'>\n /**\n * Дополнительный текст\n */\n helperText?: string\n /**\n * Дополнительные стили компонента\n */\n classes?: DayPickerControlClasses\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n }\n\nexport const DayPickerControl = <T extends FieldValues = FieldValues>({\n control,\n name,\n disabled,\n rules,\n shouldUnregister,\n defaultValue,\n inputProps,\n helperText,\n classes,\n ...props\n}: DayPickerControlProps<T>) => {\n const { field, fieldState } = useController({\n control,\n name,\n defaultValue,\n disabled,\n rules,\n shouldUnregister\n })\n\n const { value, onChange, ...restField } = field\n const { error, invalid } = fieldState\n const { message, container, ...restClasses } = classes || {}\n\n const [month, setMonth] = useState<Date>(new Date())\n\n return (\n <div className={cn('w-full', container)}>\n <SingleDayPicker\n {...props}\n value={value ?? ''}\n onChange={onChange}\n month={month}\n onMonthChange={setMonth}\n classes={restClasses}\n inputProps={{\n ...inputProps,\n ...restField,\n invalid\n }}\n />\n <MessageView\n text={error?.message || helperText}\n className={message}\n intent={error ? 'error' : 'simple'}\n disabled={disabled}\n />\n </div>\n )\n}\n"],"names":["DayPickerControl","control","name","disabled","rules","shouldUnregister","defaultValue","inputProps","helperText","classes","props","field","fieldState","useController","value","onChange","restField","error","invalid","message","container","restClasses","month","setMonth","useState","cn","jsx","SingleDayPicker","MessageView"],"mappings":"
|
|
1
|
+
{"version":3,"file":"dayPickerControl.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.tsx"],"sourcesContent":["'use client'\n\nimport { useState } from 'react'\nimport { type Control, type FieldPath, type FieldValues, useController, type UseControllerProps } from 'react-hook-form'\nimport { SingleDayPicker } from './single'\nimport { type Calendar, type MaskInputProps } from '$/shared/ui'\nimport { MessageView } from '$/shared/ui/formElements/ui'\nimport { cn } from '$/shared/utils'\n\ntype CalendarProps = React.ComponentPropsWithoutRef<typeof Calendar>\ntype DayPickerControlClasses = MaskInputProps['classes'] & {\n message?: string\n}\n\nexport type ExternalHandlers = {\n onChange?: (value: string) => void\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void\n}\n\nexport type DayPickerControlProps<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = UseControllerProps<TFieldValues, TName> &\n Omit<CalendarProps, 'selected' | 'onSelect' | 'mode'> & {\n /**\n * Контрол объект для управления полем\n */\n control: Control<TFieldValues>\n /**\n * Свойства отображаемого Input поля\n */\n inputProps: Omit<MaskInputProps, 'mask'>\n /**\n * Дополнительный текст\n */\n helperText?: string\n /**\n * Дополнительные стили компонента\n */\n classes?: DayPickerControlClasses\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n }\n\nexport const DayPickerControl = <T extends FieldValues = FieldValues>({\n control,\n name,\n disabled,\n rules,\n shouldUnregister,\n defaultValue,\n inputProps,\n helperText,\n classes,\n ...props\n}: DayPickerControlProps<T>) => {\n const { field, fieldState } = useController({\n control,\n name,\n defaultValue,\n disabled,\n rules,\n shouldUnregister\n })\n\n const { value, onChange, ...restField } = field\n const { error, invalid } = fieldState\n const { message, container, ...restClasses } = classes || {}\n\n const [month, setMonth] = useState<Date>(new Date())\n\n return (\n <div className={cn('w-full', container)}>\n <SingleDayPicker\n {...props}\n value={value ?? ''}\n onChange={onChange}\n month={month}\n onMonthChange={setMonth}\n classes={restClasses}\n inputProps={{\n ...inputProps,\n ...restField,\n invalid\n }}\n />\n <MessageView\n text={error?.message || helperText}\n className={message}\n intent={error ? 'error' : 'simple'}\n disabled={disabled}\n />\n </div>\n )\n}\n"],"names":["DayPickerControl","control","name","disabled","rules","shouldUnregister","defaultValue","inputProps","helperText","classes","props","field","fieldState","useController","value","onChange","restField","error","invalid","message","container","restClasses","month","setMonth","useState","cn","jsx","SingleDayPicker","MessageView"],"mappings":"4gDAgDO,MAAMA,GAAmB,CAAsC,CACpE,QAAAC,EACA,KAAAC,EACA,SAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,aAAAC,EACA,WAAAC,EACA,WAAAC,EACA,QAAAC,EACA,GAAGC,CACL,IAAgC,CAC9B,KAAM,CAAE,MAAAC,EAAO,WAAAC,CAAA,EAAeC,EAAc,CAC1C,QAAAZ,EACA,KAAAC,EACA,aAAAI,EACA,SAAAH,EACA,MAAAC,EACA,iBAAAC,CAAA,CACD,EAEK,CAAE,MAAAS,EAAO,SAAAC,EAAU,GAAGC,GAAcL,EACpC,CAAE,MAAAM,EAAO,QAAAC,CAAA,EAAYN,EACrB,CAAE,QAAAO,EAAS,UAAAC,EAAW,GAAGC,CAAA,EAAgBZ,GAAW,CAAA,EAEpD,CAACa,EAAOC,CAAQ,EAAIC,EAAe,IAAI,IAAM,EAEnD,SACG,MAAA,CAAI,UAAWC,EAAG,SAAUL,CAAS,EACpC,SAAA,CAAAM,EAACC,EAAA,CACE,GAAGjB,EACJ,MAAOI,GAAS,GAChB,SAAAC,EACA,MAAAO,EACA,cAAeC,EACf,QAASF,EACT,WAAY,CACV,GAAGd,EACH,GAAGS,EACH,QAAAE,CAAA,CACF,CAAA,EAEFQ,EAACE,EAAA,CACC,MAAMX,GAAA,YAAAA,EAAO,UAAWT,EACxB,UAAWW,EACX,OAAQF,EAAQ,QAAU,SAC1B,SAAAd,CAAA,CAAA,CACF,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import{formatDateToLocaleString as m}from"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../uncontrolled/checkbox/Checkbox.js";import"
|
|
1
|
+
import"react/jsx-runtime";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import{formatDateToLocaleString as m}from"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../uncontrolled/checkbox/Checkbox.js";import"../../../uncontrolled/combobox/combobox.js";import"../../../uncontrolled/dayPicker/DayPicker.js";import"../../../uncontrolled/input/Input.js";import"../../../uncontrolled/inputOtp/InputOtpBase.js";import"../../../uncontrolled/maskInput/MaskInput.js";import"../../../uncontrolled/radio/RadioGroup.js";import"../../../uncontrolled/radio/ui/RadioItem.js";import"../../../uncontrolled/slider/SliderBase.js";import"../../../uncontrolled/switch/Switch.js";import"../../../uncontrolled/textarea/Textarea.js";import"../../../uncontrolled/uploader/UploaderBase.js";import"../../editor/ui/Editor.js";import"../../input/MaskInputControl.js";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";function F(o,t){switch(o){case"range":const[r,i]=Object.values(t).map(p=>new Date(p));return[r?m(r):void 0,i?m(i):void 0].join("-");case"single":default:const e=t?new Date(t):new Date;return t?m(e):""}}function G(o,t){switch(o){case"range":if(t){const r=Object.entries(t).map(([i,e])=>[i,new Date(e)]);return Object.fromEntries(r)}return{};case"single":default:return t?new Date(t):new Date}}export{G as getCurrentDate,F as getInitialValue};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../../../lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.ts"],"sourcesContent":["import type { DateRange } from 'react-day-picker'\nimport { formatDateToLocaleString } from '$/shared/ui'\n\ntype IsoDateRange = {\n from?: string\n to?: string\n}\n\n/**\n * Функция для получения инит состояния поля ввода\n * @param mode режим календаря (single | range)\n * @param value текущее состояние поля\n */\nexport function getInitialValue(mode: 'single', value?: string): string\nexport function getInitialValue(mode: 'range', value?: IsoDateRange): string\nexport function getInitialValue(mode: 'multiple', value?: IsoDateRange): string\nexport function getInitialValue(mode: 'single' | 'multiple' | 'range', value?: IsoDateRange | string) {\n switch (mode) {\n case 'range':\n const [from, to] = Object.values(value as IsoDateRange).map((date) => new Date(date))\n\n return [from ? formatDateToLocaleString(from) : undefined, to ? formatDateToLocaleString(to) : undefined].join('-')\n case 'single':\n default:\n const date = value ? new Date(value as string) : new Date()\n\n return value ? formatDateToLocaleString(date) : ''\n }\n}\n\n/**\n * Функция для получения объекта даты по текущему состоянию\n * @param mode режим календаря (single | range)\n * @param value текущее состояние поля\n *\n * @returns Date если mode 'single'\n * @returns DateRange если mode 'range'\n */\nexport function getCurrentDate(mode: 'single', value?: string): Date\nexport function getCurrentDate(mode: 'range', value?: IsoDateRange): DateRange\nexport function getCurrentDate(mode: 'multiple', value?: IsoDateRange): Date\nexport function getCurrentDate(mode: 'single' | 'multiple' | 'range', value?: string | IsoDateRange): Date | DateRange {\n switch (mode) {\n case 'range':\n if (value) {\n const entries = Object.entries(value as IsoDateRange).map(([key, value]) => [key, new Date(value)])\n\n return Object.fromEntries(entries)\n }\n\n return {} as DateRange\n case 'single':\n default:\n return value ? new Date(value as string) : new Date()\n }\n}\n"],"names":["getInitialValue","mode","value","from","to","date","formatDateToLocaleString","getCurrentDate","entries","key"],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../../../lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.ts"],"sourcesContent":["import type { DateRange } from 'react-day-picker'\nimport { formatDateToLocaleString } from '$/shared/ui'\n\ntype IsoDateRange = {\n from?: string\n to?: string\n}\n\n/**\n * Функция для получения инит состояния поля ввода\n * @param mode режим календаря (single | range)\n * @param value текущее состояние поля\n */\nexport function getInitialValue(mode: 'single', value?: string): string\nexport function getInitialValue(mode: 'range', value?: IsoDateRange): string\nexport function getInitialValue(mode: 'multiple', value?: IsoDateRange): string\nexport function getInitialValue(mode: 'single' | 'multiple' | 'range', value?: IsoDateRange | string) {\n switch (mode) {\n case 'range':\n const [from, to] = Object.values(value as IsoDateRange).map((date) => new Date(date))\n\n return [from ? formatDateToLocaleString(from) : undefined, to ? formatDateToLocaleString(to) : undefined].join('-')\n case 'single':\n default:\n const date = value ? new Date(value as string) : new Date()\n\n return value ? formatDateToLocaleString(date) : ''\n }\n}\n\n/**\n * Функция для получения объекта даты по текущему состоянию\n * @param mode режим календаря (single | range)\n * @param value текущее состояние поля\n *\n * @returns Date если mode 'single'\n * @returns DateRange если mode 'range'\n */\nexport function getCurrentDate(mode: 'single', value?: string): Date\nexport function getCurrentDate(mode: 'range', value?: IsoDateRange): DateRange\nexport function getCurrentDate(mode: 'multiple', value?: IsoDateRange): Date\nexport function getCurrentDate(mode: 'single' | 'multiple' | 'range', value?: string | IsoDateRange): Date | DateRange {\n switch (mode) {\n case 'range':\n if (value) {\n const entries = Object.entries(value as IsoDateRange).map(([key, value]) => [key, new Date(value)])\n\n return Object.fromEntries(entries)\n }\n\n return {} as DateRange\n case 'single':\n default:\n return value ? new Date(value as string) : new Date()\n }\n}\n"],"names":["getInitialValue","mode","value","from","to","date","formatDateToLocaleString","getCurrentDate","entries","key"],"mappings":"g2CAgBO,SAASA,EAAgBC,EAAuCC,EAA+B,CACpG,OAAQD,EAAA,CACN,IAAK,QACH,KAAM,CAACE,EAAMC,CAAE,EAAI,OAAO,OAAOF,CAAqB,EAAE,IAAKG,GAAS,IAAI,KAAKA,CAAI,CAAC,EAEpF,MAAO,CAACF,EAAOG,EAAyBH,CAAI,EAAI,OAAWC,EAAKE,EAAyBF,CAAE,EAAI,MAAS,EAAE,KAAK,GAAG,EACpH,IAAK,SACL,QACE,MAAMC,EAAOH,EAAQ,IAAI,KAAKA,CAAe,MAAQ,KAErD,OAAOA,EAAQI,EAAyBD,CAAI,EAAI,EAAA,CAEtD,CAaO,SAASE,EAAeN,EAAuCC,EAAiD,CACrH,OAAQD,EAAA,CACN,IAAK,QACH,GAAIC,EAAO,CACT,MAAMM,EAAU,OAAO,QAAQN,CAAqB,EAAE,IAAI,CAAC,CAACO,EAAKP,CAAK,IAAM,CAACO,EAAK,IAAI,KAAKP,CAAK,CAAC,CAAC,EAElG,OAAO,OAAO,YAAYM,CAAO,CACnC,CAEA,MAAO,CAAA,EACT,IAAK,SACL,QACE,OAAON,EAAQ,IAAI,KAAKA,CAAe,MAAQ,IAAK,CAE1D"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as _,jsx as l}from"react/jsx-runtime";import{useRef as j,useState as c}from"react";import{RANGE_MASK as x,SINGLE_VALIDATION_REGEX as T}from"./model/constants.js";import{getCurrentDate as y,getInitialValue as G}from"./model/utils.js";import{useClickOutside as L}from"../../../../hooks/useClickOutside.js";import{cn as d}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import{Calendar as P}from"../../../calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as a}from"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as $}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsxs as _,jsx as l}from"react/jsx-runtime";import{useRef as j,useState as c}from"react";import{RANGE_MASK as x,SINGLE_VALIDATION_REGEX as T}from"./model/constants.js";import{getCurrentDate as y,getInitialValue as G}from"./model/utils.js";import{useClickOutside as L}from"../../../../hooks/useClickOutside.js";import{cn as d}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import{Calendar as P}from"../../../calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as a}from"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as $}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"../../uncontrolled/combobox/combobox.js";import"../../uncontrolled/dayPicker/DayPicker.js";import"../../uncontrolled/input/Input.js";import"../../uncontrolled/inputOtp/InputOtpBase.js";import{MaskInput as q}from"../../uncontrolled/maskInput/MaskInput.js";import"../../uncontrolled/radio/RadioGroup.js";import"../../uncontrolled/radio/ui/RadioItem.js";import"../../uncontrolled/slider/SliderBase.js";import"../../uncontrolled/switch/Switch.js";import"../../uncontrolled/textarea/Textarea.js";import"../../uncontrolled/uploader/UploaderBase.js";import"../editor/ui/Editor.js";import"../input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{parse as h}from"../../../../../../node_modules/date-fns/parse.js";import{isValid as w}from"../../../../../../node_modules/date-fns/isValid.js";import{formatDate as I}from"../../../../../../node_modules/date-fns/format.js";const bt=({inputProps:C,classes:n,value:f,onChange:p,...R})=>{const u=j(null),{calendar:E,...O}=n||{},[S,m]=c(!1),V=()=>{m(t=>!t)},[D,s]=c(new Date),b=y("range",f),[N,g]=c(G("range",f));L(u,()=>m(!1));const A=t=>{const{value:r}=t.target;if(g(r),!r.length)return p({from:"",to:""});const e=r.split("-");if(e.some(o=>!T.test(o)))return;const i=[["from",h(e[0],a,new Date)],["to",h(e[1],a,new Date)]];if(i.every(([,o])=>w(o))){const o=Object.fromEntries(i.map(([k,v])=>[k,v.toISOString()]));p(o),s(i[Math.round(Math.random())][1])}},M=t=>{s(t.from||t.to||new Date);const r=Object.entries(t).reduce((e,[i,o])=>({...e,[i]:o?o.toISOString():""}),{});p(r),g(`${I(r.from||"",a)}-${I(r.to||"",a)}`),t.from&&t.to&&m(!1)};return _("div",{ref:u,className:d("relative w-full",n==null?void 0:n.container),children:[l(q,{mask:x,...C,classes:O,value:N,onChange:A,onFocus:()=>m(!0),attachmentProps:{icon:l($,{name:"general/calendar",className:"text-icon-blue-grey-600"}),onClickIcon:V}}),S&&l(P,{...R,required:!0,mode:"range",month:D,onMonthChange:s,selected:b,onSelect:M,className:d("absolute right-0 top-full",E)})]})};export{bt as RangeDayPicker};
|
|
2
2
|
//# sourceMappingURL=range.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/dayPickerControl/range.tsx"],"sourcesContent":["'use client'\n\nimport { useRef, useState } from 'react'\nimport { type DateRange } from 'react-day-picker'\nimport { format, isValid, parse } from 'date-fns'\nimport { getCurrentDate, getInitialValue, RANGE_MASK, SINGLE_VALIDATION_REGEX } from './model'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Calendar, DATE_VISIBLE_PATTERN, Icon, MaskInput, type MaskInputProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype CalendarProps = React.ComponentPropsWithoutRef<typeof Calendar>\n\ntype RangeDayPickerClasses = MaskInputProps['classes'] & {\n calendar?: string\n}\n\ntype IsoDateRange = {\n from?: string\n to?: string\n}\n\ntype RangeDayPickerProps = Omit<CalendarProps, 'mode'> & {\n /**\n * Свойства Input компонента\n */\n inputProps: Omit<MaskInputProps, 'mask'>\n /**\n * Стили внутренних компонентов\n */\n classes?: RangeDayPickerClasses\n /**\n * Управляемое значение\n */\n value: IsoDateRange\n /**\n * Функция для управления значением\n */\n onChange: (value: IsoDateRange) => void\n}\n\nexport const RangeDayPicker = ({ inputProps, classes, value, onChange, ...props }: RangeDayPickerProps) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const { calendar, ...restClasses } = classes || {}\n\n const [calendarOpen, setCalendarOpen] = useState<boolean>(false)\n const onCalendarOpenChange = () => {\n setCalendarOpen((prev) => !prev)\n }\n\n const [month, setMonth] = useState<Date>(new Date())\n const date = getCurrentDate('range', value)\n\n const [visibleValue, setVisibleValue] = useState<string>(getInitialValue('range', value))\n\n useClickOutside(containerRef, () => setCalendarOpen(false))\n\n const onVisibleValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { value } = event.target\n\n setVisibleValue(value)\n\n if (!value.length) {\n return onChange({\n from: '',\n to: ''\n })\n }\n\n const isoDateRange = value.split('-')\n\n if (isoDateRange.some((date) => !SINGLE_VALIDATION_REGEX.test(date))) {\n return\n }\n\n const dateRangeEntries = [\n ['from', parse(isoDateRange[0], DATE_VISIBLE_PATTERN, new Date())],\n ['to', parse(isoDateRange[1], DATE_VISIBLE_PATTERN, new Date())]\n ] as [string, Date][]\n\n if (dateRangeEntries.every(([, date]) => isValid(date))) {\n const dateRange = Object.fromEntries(dateRangeEntries.map(([key, value]) => [key, value.toISOString()]))\n\n onChange(dateRange)\n setMonth(dateRangeEntries[Math.round(Math.random())][1])\n }\n }\n\n const onDateChange = (newDate: DateRange) => {\n setMonth(newDate.from || newDate.to || new Date())\n\n const isoDateRange = Object.entries(newDate).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: value ? value.toISOString() : ''\n }),\n {} as IsoDateRange\n )\n\n onChange(isoDateRange)\n setVisibleValue(\n `${format(isoDateRange.from || '', DATE_VISIBLE_PATTERN)}-${format(isoDateRange.to || '', DATE_VISIBLE_PATTERN)}`\n )\n\n if (newDate.from && newDate.to) {\n setCalendarOpen(false)\n }\n }\n\n return (\n <div ref={containerRef} className={cn('relative w-full', classes?.container)}>\n <MaskInput\n mask={RANGE_MASK}\n {...inputProps}\n classes={restClasses}\n value={visibleValue}\n onChange={onVisibleValueChange}\n onFocus={() => setCalendarOpen(true)}\n attachmentProps={{\n icon: <Icon name='general/calendar' className='text-icon-blue-grey-600' />,\n onClickIcon: onCalendarOpenChange\n }}\n />\n {calendarOpen && (\n <Calendar\n {...props}\n required\n mode='range'\n month={month}\n onMonthChange={setMonth}\n selected={date}\n onSelect={onDateChange}\n className={cn('absolute right-0 top-full', calendar)}\n />\n )}\n </div>\n )\n}\n"],"names":["RangeDayPicker","inputProps","classes","value","onChange","props","containerRef","useRef","calendar","restClasses","calendarOpen","setCalendarOpen","useState","onCalendarOpenChange","prev","month","setMonth","date","getCurrentDate","visibleValue","setVisibleValue","getInitialValue","useClickOutside","onVisibleValueChange","event","isoDateRange","SINGLE_VALIDATION_REGEX","dateRangeEntries","parse","DATE_VISIBLE_PATTERN","isValid","dateRange","key","onDateChange","newDate","acc","format","jsxs","cn","jsx","MaskInput","RANGE_MASK","Icon","Calendar"],"mappings":"
|
|
1
|
+
{"version":3,"file":"range.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/dayPickerControl/range.tsx"],"sourcesContent":["'use client'\n\nimport { useRef, useState } from 'react'\nimport { type DateRange } from 'react-day-picker'\nimport { format, isValid, parse } from 'date-fns'\nimport { getCurrentDate, getInitialValue, RANGE_MASK, SINGLE_VALIDATION_REGEX } from './model'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Calendar, DATE_VISIBLE_PATTERN, Icon, MaskInput, type MaskInputProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype CalendarProps = React.ComponentPropsWithoutRef<typeof Calendar>\n\ntype RangeDayPickerClasses = MaskInputProps['classes'] & {\n calendar?: string\n}\n\ntype IsoDateRange = {\n from?: string\n to?: string\n}\n\ntype RangeDayPickerProps = Omit<CalendarProps, 'mode'> & {\n /**\n * Свойства Input компонента\n */\n inputProps: Omit<MaskInputProps, 'mask'>\n /**\n * Стили внутренних компонентов\n */\n classes?: RangeDayPickerClasses\n /**\n * Управляемое значение\n */\n value: IsoDateRange\n /**\n * Функция для управления значением\n */\n onChange: (value: IsoDateRange) => void\n}\n\nexport const RangeDayPicker = ({ inputProps, classes, value, onChange, ...props }: RangeDayPickerProps) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const { calendar, ...restClasses } = classes || {}\n\n const [calendarOpen, setCalendarOpen] = useState<boolean>(false)\n const onCalendarOpenChange = () => {\n setCalendarOpen((prev) => !prev)\n }\n\n const [month, setMonth] = useState<Date>(new Date())\n const date = getCurrentDate('range', value)\n\n const [visibleValue, setVisibleValue] = useState<string>(getInitialValue('range', value))\n\n useClickOutside(containerRef, () => setCalendarOpen(false))\n\n const onVisibleValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { value } = event.target\n\n setVisibleValue(value)\n\n if (!value.length) {\n return onChange({\n from: '',\n to: ''\n })\n }\n\n const isoDateRange = value.split('-')\n\n if (isoDateRange.some((date) => !SINGLE_VALIDATION_REGEX.test(date))) {\n return\n }\n\n const dateRangeEntries = [\n ['from', parse(isoDateRange[0], DATE_VISIBLE_PATTERN, new Date())],\n ['to', parse(isoDateRange[1], DATE_VISIBLE_PATTERN, new Date())]\n ] as [string, Date][]\n\n if (dateRangeEntries.every(([, date]) => isValid(date))) {\n const dateRange = Object.fromEntries(dateRangeEntries.map(([key, value]) => [key, value.toISOString()]))\n\n onChange(dateRange)\n setMonth(dateRangeEntries[Math.round(Math.random())][1])\n }\n }\n\n const onDateChange = (newDate: DateRange) => {\n setMonth(newDate.from || newDate.to || new Date())\n\n const isoDateRange = Object.entries(newDate).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: value ? value.toISOString() : ''\n }),\n {} as IsoDateRange\n )\n\n onChange(isoDateRange)\n setVisibleValue(\n `${format(isoDateRange.from || '', DATE_VISIBLE_PATTERN)}-${format(isoDateRange.to || '', DATE_VISIBLE_PATTERN)}`\n )\n\n if (newDate.from && newDate.to) {\n setCalendarOpen(false)\n }\n }\n\n return (\n <div ref={containerRef} className={cn('relative w-full', classes?.container)}>\n <MaskInput\n mask={RANGE_MASK}\n {...inputProps}\n classes={restClasses}\n value={visibleValue}\n onChange={onVisibleValueChange}\n onFocus={() => setCalendarOpen(true)}\n attachmentProps={{\n icon: <Icon name='general/calendar' className='text-icon-blue-grey-600' />,\n onClickIcon: onCalendarOpenChange\n }}\n />\n {calendarOpen && (\n <Calendar\n {...props}\n required\n mode='range'\n month={month}\n onMonthChange={setMonth}\n selected={date}\n onSelect={onDateChange}\n className={cn('absolute right-0 top-full', calendar)}\n />\n )}\n </div>\n )\n}\n"],"names":["RangeDayPicker","inputProps","classes","value","onChange","props","containerRef","useRef","calendar","restClasses","calendarOpen","setCalendarOpen","useState","onCalendarOpenChange","prev","month","setMonth","date","getCurrentDate","visibleValue","setVisibleValue","getInitialValue","useClickOutside","onVisibleValueChange","event","isoDateRange","SINGLE_VALIDATION_REGEX","dateRangeEntries","parse","DATE_VISIBLE_PATTERN","isValid","dateRange","key","onDateChange","newDate","acc","format","jsxs","cn","jsx","MaskInput","RANGE_MASK","Icon","Calendar"],"mappings":"w4DAwCO,MAAMA,GAAiB,CAAC,CAAE,WAAAC,EAAY,QAAAC,EAAS,MAAAC,EAAO,SAAAC,EAAU,GAAGC,KAAiC,CACzG,MAAMC,EAAeC,EAAuB,IAAI,EAC1C,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAAgBP,GAAW,CAAA,EAE1C,CAACQ,EAAcC,CAAe,EAAIC,EAAkB,EAAK,EACzDC,EAAuB,IAAM,CACjCF,EAAiBG,GAAS,CAACA,CAAI,CACjC,EAEM,CAACC,EAAOC,CAAQ,EAAIJ,EAAe,IAAI,IAAM,EAC7CK,EAAOC,EAAe,QAASf,CAAK,EAEpC,CAACgB,EAAcC,CAAe,EAAIR,EAAiBS,EAAgB,QAASlB,CAAK,CAAC,EAExFmB,EAAgBhB,EAAc,IAAMK,EAAgB,EAAK,CAAC,EAE1D,MAAMY,EAAwBC,GAA+C,CAC3E,KAAM,CAAE,MAAArB,CAAAA,EAAUqB,EAAM,OAIxB,GAFAJ,EAAgBjB,CAAK,EAEjB,CAACA,EAAM,OACT,OAAOC,EAAS,CACd,KAAM,GACN,GAAI,EAAA,CACL,EAGH,MAAMqB,EAAetB,EAAM,MAAM,GAAG,EAEpC,GAAIsB,EAAa,KAAMR,GAAS,CAACS,EAAwB,KAAKT,CAAI,CAAC,EACjE,OAGF,MAAMU,EAAmB,CACvB,CAAC,OAAQC,EAAMH,EAAa,CAAC,EAAGI,EAAsB,IAAI,IAAM,CAAC,EACjE,CAAC,KAAMD,EAAMH,EAAa,CAAC,EAAGI,EAAsB,IAAI,IAAM,CAAC,CAAA,EAGjE,GAAIF,EAAiB,MAAM,CAAC,CAAA,CAAGV,CAAI,IAAMa,EAAQb,CAAI,CAAC,EAAG,CACvD,MAAMc,EAAY,OAAO,YAAYJ,EAAiB,IAAI,CAAC,CAACK,EAAK7B,CAAK,IAAM,CAAC6B,EAAK7B,EAAM,YAAA,CAAa,CAAC,CAAC,EAEvGC,EAAS2B,CAAS,EAClBf,EAASW,EAAiB,KAAK,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,CACzD,CACF,EAEMM,EAAgBC,GAAuB,CAC3ClB,EAASkB,EAAQ,MAAQA,EAAQ,IAAM,IAAI,IAAM,EAEjD,MAAMT,EAAe,OAAO,QAAQS,CAAO,EAAE,OAC3C,CAACC,EAAK,CAACH,EAAK7B,CAAK,KAAO,CACtB,GAAGgC,EACH,CAACH,CAAG,EAAG7B,EAAQA,EAAM,cAAgB,EAAA,GAEvC,CAAA,CAAC,EAGHC,EAASqB,CAAY,EACrBL,EACE,GAAGgB,EAAOX,EAAa,MAAQ,GAAII,CAAoB,CAAC,IAAIO,EAAOX,EAAa,IAAM,GAAII,CAAoB,CAAC,EAAA,EAG7GK,EAAQ,MAAQA,EAAQ,IAC1BvB,EAAgB,EAAK,CAEzB,EAEA,OACE0B,EAAC,OAAI,IAAK/B,EAAc,UAAWgC,EAAG,kBAAmBpC,GAAA,YAAAA,EAAS,SAAS,EACzE,SAAA,CAAAqC,EAACC,EAAA,CACC,KAAMC,EACL,GAAGxC,EACJ,QAASQ,EACT,MAAOU,EACP,SAAUI,EACV,QAAS,IAAMZ,EAAgB,EAAI,EACnC,gBAAiB,CACf,KAAM4B,EAACG,EAAA,CAAK,KAAK,mBAAmB,UAAU,0BAA0B,EACxE,YAAa7B,CAAA,CACf,CAAA,EAEDH,GACC6B,EAACI,EAAA,CACE,GAAGtC,EACJ,SAAQ,GACR,KAAK,QACL,MAAAU,EACA,cAAeC,EACf,SAAUC,EACV,SAAUgB,EACV,UAAWK,EAAG,4BAA6B9B,CAAQ,CAAA,CAAA,CACrD,EAEJ,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as G,jsx as f}from"react/jsx-runtime";import{useRef as L,useState as E,useEffect as P}from"react";import{createPortal as j}from"react-dom";import{useFloating as K}from"../../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js";import{SINGLE_MASK as q,SINGLE_VALIDATION_REGEX as B}from"./model/constants.js";import{getCurrentDate as H,getInitialValue as I}from"./model/utils.js";import{useClickOutside as U}from"../../../../hooks/useClickOutside.js";import{cn as y}from"../../../../utils/cn.js";import{mergeRefs as X}from"../../../../utils/mergeRefs.js";import{TypeGuards as b}from"../../../../utils/typeGuards.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import{Calendar as v}from"../../../calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as D}from"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as z}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsxs as G,jsx as f}from"react/jsx-runtime";import{useRef as L,useState as E,useEffect as P}from"react";import{createPortal as j}from"react-dom";import{useFloating as K}from"../../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js";import{SINGLE_MASK as q,SINGLE_VALIDATION_REGEX as B}from"./model/constants.js";import{getCurrentDate as H,getInitialValue as I}from"./model/utils.js";import{useClickOutside as U}from"../../../../hooks/useClickOutside.js";import{cn as y}from"../../../../utils/cn.js";import{mergeRefs as X}from"../../../../utils/mergeRefs.js";import{TypeGuards as b}from"../../../../utils/typeGuards.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import{Calendar as v}from"../../../calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as D}from"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as z}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"../../uncontrolled/combobox/combobox.js";import"../../uncontrolled/dayPicker/DayPicker.js";import"../../uncontrolled/input/Input.js";import"../../uncontrolled/inputOtp/InputOtpBase.js";import{MaskInput as J}from"../../uncontrolled/maskInput/MaskInput.js";import"../../uncontrolled/radio/RadioGroup.js";import"../../uncontrolled/radio/ui/RadioItem.js";import"../../uncontrolled/slider/SliderBase.js";import"../../uncontrolled/switch/Switch.js";import"../../uncontrolled/textarea/Textarea.js";import"../../uncontrolled/uploader/UploaderBase.js";import"../editor/ui/Editor.js";import"../input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{autoUpdate as Q}from"../../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.js";import{flip as W,offset as Y}from"../../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js";import{parse as Z}from"../../../../../../node_modules/date-fns/parse.js";import{isValid as $}from"../../../../../../node_modules/date-fns/isValid.js";import{formatDate as h}from"../../../../../../node_modules/date-fns/format.js";const Ht=({inputProps:s,classes:i,value:e,onChange:n,externalHandlers:O,month:V,onMonthChange:r,...x})=>{const{onChange:m,onFocus:c,...A}=O||{},d=L(null),{refs:u,floatingStyles:N}=K({placement:"bottom-end",middleware:[W({boundary:"clippingAncestors",crossAxis:!1}),Y(0)],whileElementsMounted:Q}),{calendar:k,...C}=i||{},[R,a]=E(!1),g=()=>{a(t=>!t)},w=H("single",e),[F,p]=E(I("single",e));P(()=>{e&&!b.isStringEmpty(e)&&(p(I("single",e)),r&&r(new Date(e)))},[e]),U(d,()=>a(!1));const T=t=>{const{value:o}=t.target;if(p(o),b.isStringEmpty(o))return n("");if(!B.test(o))return;const l=Z(o,D,new Date);if($(l)){const S=l.toISOString();n(S),r&&r(l),m&&m(S)}},_=t=>{r&&r(t);const o=t.toISOString();n(o),p(h(t,D)),a(!1),m&&m(o)};return G("div",{ref:u.setReference,className:y("relative w-full",i==null?void 0:i.container),children:[f(J,{mask:q,...s,...A,classes:C,value:F,onChange:T,autoComplete:"off",onFocus:t=>{a(!0),c&&c(t)},onKeyDown:t=>{t.key==="Enter"&&g()},attachmentProps:{disabled:s.disabled,icon:f(z,{name:"general/calendar",className:"text-icon-blue-grey-600"}),onClickIcon:g,...s.attachmentProps}}),R&&j(f(v,{ref:X(d,u.setFloating),...x,required:!0,mode:"single",style:{...N,width:"max-content"},month:V,onMonthChange:r,selected:w,onSelect:_,className:y(k),"data-test-id":"calendar"}),document.body)]})};export{Ht as SingleDayPicker};
|
|
2
2
|
//# sourceMappingURL=single.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/dayPickerControl/single.tsx"],"sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { autoUpdate, flip, offset, useFloating } from '@floating-ui/react'\nimport { format, isValid, parse } from 'date-fns'\nimport { type ExternalHandlers } from './dayPickerControl'\nimport { getCurrentDate, getInitialValue, SINGLE_MASK, SINGLE_VALIDATION_REGEX } from './model'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Calendar, DATE_VISIBLE_PATTERN, Icon, MaskInput, type MaskInputProps } from '$/shared/ui'\nimport { cn, mergeRefs, TypeGuards } from '$/shared/utils'\n\ntype CalendarProps = React.ComponentPropsWithoutRef<typeof Calendar>\n\ntype SingleDayPickerClasses = MaskInputProps['classes'] & {\n calendar?: string\n}\n\ntype SingleDayPickerProps = Omit<CalendarProps, 'mode'> & {\n /**\n * Свойства Input компонента\n */\n inputProps: Omit<MaskInputProps, 'mask'>\n /**\n * Стили внутренних компонентов\n */\n classes?: SingleDayPickerClasses\n /**\n * Управляемое значение\n */\n value: string\n /**\n * Функция для управления значением\n */\n onChange: (value: string) => void\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const SingleDayPicker = ({\n inputProps,\n classes,\n value,\n onChange,\n externalHandlers,\n month,\n onMonthChange,\n ...props\n}: SingleDayPickerProps) => {\n const { onChange: externalOnChange, onFocus: externalOnFocus, ...restHandlers } = externalHandlers || {}\n\n const calendarRef = useRef<HTMLDivElement>(null)\n\n const { refs, floatingStyles } = useFloating({\n placement: 'bottom-end',\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(0)\n ],\n whileElementsMounted: autoUpdate\n })\n\n const { calendar, ...restClasses } = classes || {}\n\n const [calendarOpen, setCalendarOpen] = useState<boolean>(false)\n\n const onCalendarOpenChange = () => {\n setCalendarOpen((prev) => !prev)\n }\n\n const date = getCurrentDate('single', value)\n\n const [visibleValue, setVisibleValue] = useState<string>(getInitialValue('single', value))\n\n useEffect(() => {\n if (value && !TypeGuards.isStringEmpty(value)) {\n setVisibleValue(getInitialValue('single', value))\n if (onMonthChange) onMonthChange(new Date(value))\n }\n }, [value])\n\n useClickOutside(calendarRef, () => setCalendarOpen(false))\n\n const onVisibleValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { value } = event.target\n\n setVisibleValue(value)\n\n if (TypeGuards.isStringEmpty(value)) {\n return onChange('')\n }\n\n if (!SINGLE_VALIDATION_REGEX.test(value)) {\n return\n }\n\n const date = parse(value, DATE_VISIBLE_PATTERN, new Date())\n\n if (isValid(date)) {\n const isoDate = date.toISOString()\n\n onChange(isoDate)\n if (onMonthChange) onMonthChange(date)\n\n if (externalOnChange) externalOnChange(isoDate)\n }\n }\n\n const onDateChange = (newDate: Date) => {\n if (onMonthChange) onMonthChange(newDate)\n\n const isoDate = newDate.toISOString()\n\n onChange(isoDate)\n setVisibleValue(format(newDate, DATE_VISIBLE_PATTERN))\n setCalendarOpen(false)\n\n if (externalOnChange) externalOnChange(isoDate)\n }\n\n return (\n <div ref={refs.setReference} className={cn('relative w-full', classes?.container)}>\n <MaskInput\n mask={SINGLE_MASK}\n {...inputProps}\n {...restHandlers}\n classes={restClasses}\n value={visibleValue}\n onChange={onVisibleValueChange}\n autoComplete='off'\n onFocus={(event) => {\n setCalendarOpen(true)\n if (externalOnFocus) externalOnFocus(event)\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n onCalendarOpenChange()\n }\n }}\n attachmentProps={{\n disabled: inputProps.disabled,\n icon: <Icon name='general/calendar' className='text-icon-blue-grey-600' />,\n onClickIcon: onCalendarOpenChange,\n ...inputProps.attachmentProps\n }}\n />\n {calendarOpen &&\n createPortal(\n <Calendar\n // @ts-expect-error asdf\n ref={mergeRefs(calendarRef, refs.setFloating)}\n {...props}\n required\n mode='single'\n style={{\n ...floatingStyles,\n width: 'max-content'\n }}\n month={month}\n onMonthChange={onMonthChange}\n selected={date}\n onSelect={onDateChange}\n className={cn(calendar)}\n data-test-id='calendar'\n />,\n document.body\n )}\n </div>\n )\n}\n"],"names":["SingleDayPicker","inputProps","classes","value","onChange","externalHandlers","month","onMonthChange","props","externalOnChange","externalOnFocus","restHandlers","calendarRef","useRef","refs","floatingStyles","useFloating","flip","offset","autoUpdate","calendar","restClasses","calendarOpen","setCalendarOpen","useState","onCalendarOpenChange","prev","date","getCurrentDate","visibleValue","setVisibleValue","getInitialValue","useEffect","TypeGuards","useClickOutside","onVisibleValueChange","event","SINGLE_VALIDATION_REGEX","parse","DATE_VISIBLE_PATTERN","isValid","isoDate","onDateChange","newDate","format","jsxs","cn","jsx","MaskInput","SINGLE_MASK","Icon","createPortal","Calendar","mergeRefs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"single.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/dayPickerControl/single.tsx"],"sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { autoUpdate, flip, offset, useFloating } from '@floating-ui/react'\nimport { format, isValid, parse } from 'date-fns'\nimport { type ExternalHandlers } from './dayPickerControl'\nimport { getCurrentDate, getInitialValue, SINGLE_MASK, SINGLE_VALIDATION_REGEX } from './model'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Calendar, DATE_VISIBLE_PATTERN, Icon, MaskInput, type MaskInputProps } from '$/shared/ui'\nimport { cn, mergeRefs, TypeGuards } from '$/shared/utils'\n\ntype CalendarProps = React.ComponentPropsWithoutRef<typeof Calendar>\n\ntype SingleDayPickerClasses = MaskInputProps['classes'] & {\n calendar?: string\n}\n\ntype SingleDayPickerProps = Omit<CalendarProps, 'mode'> & {\n /**\n * Свойства Input компонента\n */\n inputProps: Omit<MaskInputProps, 'mask'>\n /**\n * Стили внутренних компонентов\n */\n classes?: SingleDayPickerClasses\n /**\n * Управляемое значение\n */\n value: string\n /**\n * Функция для управления значением\n */\n onChange: (value: string) => void\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const SingleDayPicker = ({\n inputProps,\n classes,\n value,\n onChange,\n externalHandlers,\n month,\n onMonthChange,\n ...props\n}: SingleDayPickerProps) => {\n const { onChange: externalOnChange, onFocus: externalOnFocus, ...restHandlers } = externalHandlers || {}\n\n const calendarRef = useRef<HTMLDivElement>(null)\n\n const { refs, floatingStyles } = useFloating({\n placement: 'bottom-end',\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(0)\n ],\n whileElementsMounted: autoUpdate\n })\n\n const { calendar, ...restClasses } = classes || {}\n\n const [calendarOpen, setCalendarOpen] = useState<boolean>(false)\n\n const onCalendarOpenChange = () => {\n setCalendarOpen((prev) => !prev)\n }\n\n const date = getCurrentDate('single', value)\n\n const [visibleValue, setVisibleValue] = useState<string>(getInitialValue('single', value))\n\n useEffect(() => {\n if (value && !TypeGuards.isStringEmpty(value)) {\n setVisibleValue(getInitialValue('single', value))\n if (onMonthChange) onMonthChange(new Date(value))\n }\n }, [value])\n\n useClickOutside(calendarRef, () => setCalendarOpen(false))\n\n const onVisibleValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { value } = event.target\n\n setVisibleValue(value)\n\n if (TypeGuards.isStringEmpty(value)) {\n return onChange('')\n }\n\n if (!SINGLE_VALIDATION_REGEX.test(value)) {\n return\n }\n\n const date = parse(value, DATE_VISIBLE_PATTERN, new Date())\n\n if (isValid(date)) {\n const isoDate = date.toISOString()\n\n onChange(isoDate)\n if (onMonthChange) onMonthChange(date)\n\n if (externalOnChange) externalOnChange(isoDate)\n }\n }\n\n const onDateChange = (newDate: Date) => {\n if (onMonthChange) onMonthChange(newDate)\n\n const isoDate = newDate.toISOString()\n\n onChange(isoDate)\n setVisibleValue(format(newDate, DATE_VISIBLE_PATTERN))\n setCalendarOpen(false)\n\n if (externalOnChange) externalOnChange(isoDate)\n }\n\n return (\n <div ref={refs.setReference} className={cn('relative w-full', classes?.container)}>\n <MaskInput\n mask={SINGLE_MASK}\n {...inputProps}\n {...restHandlers}\n classes={restClasses}\n value={visibleValue}\n onChange={onVisibleValueChange}\n autoComplete='off'\n onFocus={(event) => {\n setCalendarOpen(true)\n if (externalOnFocus) externalOnFocus(event)\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n onCalendarOpenChange()\n }\n }}\n attachmentProps={{\n disabled: inputProps.disabled,\n icon: <Icon name='general/calendar' className='text-icon-blue-grey-600' />,\n onClickIcon: onCalendarOpenChange,\n ...inputProps.attachmentProps\n }}\n />\n {calendarOpen &&\n createPortal(\n <Calendar\n // @ts-expect-error asdf\n ref={mergeRefs(calendarRef, refs.setFloating)}\n {...props}\n required\n mode='single'\n style={{\n ...floatingStyles,\n width: 'max-content'\n }}\n month={month}\n onMonthChange={onMonthChange}\n selected={date}\n onSelect={onDateChange}\n className={cn(calendar)}\n data-test-id='calendar'\n />,\n document.body\n )}\n </div>\n )\n}\n"],"names":["SingleDayPicker","inputProps","classes","value","onChange","externalHandlers","month","onMonthChange","props","externalOnChange","externalOnFocus","restHandlers","calendarRef","useRef","refs","floatingStyles","useFloating","flip","offset","autoUpdate","calendar","restClasses","calendarOpen","setCalendarOpen","useState","onCalendarOpenChange","prev","date","getCurrentDate","visibleValue","setVisibleValue","getInitialValue","useEffect","TypeGuards","useClickOutside","onVisibleValueChange","event","SINGLE_VALIDATION_REGEX","parse","DATE_VISIBLE_PATTERN","isValid","isoDate","onDateChange","newDate","format","jsxs","cn","jsx","MaskInput","SINGLE_MASK","Icon","createPortal","Calendar","mergeRefs"],"mappings":"62EAyCO,MAAMA,GAAkB,CAAC,CAC9B,WAAAC,EACA,QAAAC,EACA,MAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,MAAAC,EACA,cAAAC,EACA,GAAGC,CACL,IAA4B,CAC1B,KAAM,CAAE,SAAUC,EAAkB,QAASC,EAAiB,GAAGC,CAAA,EAAiBN,GAAoB,CAAA,EAEhGO,EAAcC,EAAuB,IAAI,EAEzC,CAAE,KAAAC,EAAM,eAAAC,CAAA,EAAmBC,EAAY,CAC3C,UAAW,aACX,WAAY,CACVC,EAAK,CACH,SAAU,oBACV,UAAW,EAAA,CACZ,EACDC,EAAO,CAAC,CAAA,EAEV,qBAAsBC,CAAA,CACvB,EAEK,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAAgBnB,GAAW,CAAA,EAE1C,CAACoB,EAAcC,CAAe,EAAIC,EAAkB,EAAK,EAEzDC,EAAuB,IAAM,CACjCF,EAAiBG,GAAS,CAACA,CAAI,CACjC,EAEMC,EAAOC,EAAe,SAAUzB,CAAK,EAErC,CAAC0B,EAAcC,CAAe,EAAIN,EAAiBO,EAAgB,SAAU5B,CAAK,CAAC,EAEzF6B,EAAU,IAAM,CACV7B,GAAS,CAAC8B,EAAW,cAAc9B,CAAK,IAC1C2B,EAAgBC,EAAgB,SAAU5B,CAAK,CAAC,EAC5CI,GAAeA,EAAc,IAAI,KAAKJ,CAAK,CAAC,EAEpD,EAAG,CAACA,CAAK,CAAC,EAEV+B,EAAgBtB,EAAa,IAAMW,EAAgB,EAAK,CAAC,EAEzD,MAAMY,EAAwBC,GAA+C,CAC3E,KAAM,CAAE,MAAAjC,CAAAA,EAAUiC,EAAM,OAIxB,GAFAN,EAAgB3B,CAAK,EAEjB8B,EAAW,cAAc9B,CAAK,EAChC,OAAOC,EAAS,EAAE,EAGpB,GAAI,CAACiC,EAAwB,KAAKlC,CAAK,EACrC,OAGF,MAAMwB,EAAOW,EAAMnC,EAAOoC,EAAsB,IAAI,IAAM,EAE1D,GAAIC,EAAQb,CAAI,EAAG,CACjB,MAAMc,EAAUd,EAAK,YAAA,EAErBvB,EAASqC,CAAO,EACZlC,KAA6BoB,CAAI,EAEjClB,KAAmCgC,CAAO,CAChD,CACF,EAEMC,EAAgBC,GAAkB,CAClCpC,KAA6BoC,CAAO,EAExC,MAAMF,EAAUE,EAAQ,YAAA,EAExBvC,EAASqC,CAAO,EAChBX,EAAgBc,EAAOD,EAASJ,CAAoB,CAAC,EACrDhB,EAAgB,EAAK,EAEjBd,KAAmCgC,CAAO,CAChD,EAEA,OACEI,EAAC,MAAA,CAAI,IAAK/B,EAAK,aAAc,UAAWgC,EAAG,kBAAmB5C,GAAA,YAAAA,EAAS,SAAS,EAC9E,SAAA,CAAA6C,EAACC,EAAA,CACC,KAAMC,EACL,GAAGhD,EACH,GAAGU,EACJ,QAASU,EACT,MAAOQ,EACP,SAAUM,EACV,aAAa,MACb,QAAUC,GAAU,CAClBb,EAAgB,EAAI,EAChBb,KAAiC0B,CAAK,CAC5C,EACA,UAAYA,GAAU,CAChBA,EAAM,MAAQ,SAChBX,EAAA,CAEJ,EACA,gBAAiB,CACf,SAAUxB,EAAW,SACrB,KAAM8C,EAACG,EAAA,CAAK,KAAK,mBAAmB,UAAU,0BAA0B,EACxE,YAAazB,EACb,GAAGxB,EAAW,eAAA,CAChB,CAAA,EAEDqB,GACC6B,EACEJ,EAACK,EAAA,CAEC,IAAKC,EAAUzC,EAAaE,EAAK,WAAW,EAC3C,GAAGN,EACJ,SAAQ,GACR,KAAK,SACL,MAAO,CACL,GAAGO,EACH,MAAO,aAAA,EAET,MAAAT,EACA,cAAAC,EACA,SAAUoB,EACV,SAAUe,EACV,UAAWI,EAAG1B,CAAQ,EACtB,eAAa,UAAA,CAAA,EAEf,SAAS,IAAA,CACX,EACJ,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as e}from"../../../../icon/Icon.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../uncontrolled/checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as e}from"../../../../icon/Icon.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../uncontrolled/checkbox/Checkbox.js";import"../../../uncontrolled/combobox/combobox.js";import"../../../uncontrolled/dayPicker/DayPicker.js";import"../../../uncontrolled/input/Input.js";import"../../../uncontrolled/inputOtp/InputOtpBase.js";import"../../../uncontrolled/maskInput/MaskInput.js";import"../../../uncontrolled/radio/RadioGroup.js";import"../../../uncontrolled/radio/ui/RadioItem.js";import"../../../uncontrolled/slider/SliderBase.js";import"../../../uncontrolled/switch/Switch.js";import"../../../uncontrolled/textarea/Textarea.js";import"../../../uncontrolled/uploader/UploaderBase.js";import"../ui/Editor.js";import"../../input/MaskInputControl.js";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const P=[{shortcuts:["ctrl","alt","3"],level:3},{shortcuts:["ctrl","alt","4"],level:4}],j={3:"mob-title-bold-l desktop:desk-title-bold-l",4:"mob-title-bold-m desktop:desk-title-bold-s"},D=["#292929","#FFFFFF","#40465A","#5A6E85","#A9B6C5","#94A4B7","#003790","#042E73","#809BC7","#76BC21","#F49F00","#F42500"],M=i=>[{label:"Жирный текст",icon:o(e,{name:"editor/bold",className:"size-4"}),onClick:()=>i.chain().focus().toggleBold().run(),isActive:i.isActive("bold")},{label:"Курсивный текст",icon:o(e,{name:"editor/italic",className:"size-4"}),onClick:()=>i.chain().focus().toggleItalic().run(),isActive:i.isActive("italic")},{label:"Подчеркнутый текст",icon:o(e,{name:"editor/underline",className:"size-4"}),onClick:()=>i.chain().focus().toggleUnderline().run(),isActive:i.isActive("underline")},{label:"Зачеркнутый текст",icon:o(e,{name:"editor/strikethrough",className:"size-4"}),onClick:()=>i.chain().focus().toggleStrike().run(),isActive:i.isActive("strike")},{label:"Обычный текст",icon:o(e,{name:"editor/typography",className:"size-4"}),onClick:()=>i.chain().focus().setParagraph().run()},{label:"Маркированный список",icon:o(e,{name:"editor/list",className:"size-4"}),onClick:()=>i.chain().focus().toggleBulletList().run(),isActive:i.isActive("bulletList")},{label:"Перенос строки",icon:o(e,{name:"arrows/arrowDownRight",className:"size-4"}),onClick:()=>i.chain().focus().setHardBreak().run()},{label:"Отменить",icon:o(e,{name:"editor/undo",className:"size-4"}),onClick:()=>i.chain().focus().undo().run()},{label:"Вернуть",icon:o(e,{name:"editor/redo",className:"size-4"}),onClick:()=>i.chain().focus().redo().run()},{label:"Очистить стили и теги",icon:o(e,{name:"editor/removeFormatting",className:"size-4"}),onClick:()=>i.chain().focus().clearNodes().unsetAllMarks().run()},{label:"Удалить все",icon:o(e,{name:"general/close",className:"size-4"}),onClick:()=>i.commands.clearContent()}];export{D as editorAllowedColors,j as editorHeadingClasses,P as headingsOptions,M as renderEditorPanel};
|
|
2
2
|
//# sourceMappingURL=helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sources":["../../../../../../../../lib/shared/ui/formElements/controlled/editor/model/helper.tsx"],"sourcesContent":["import type { Editor } from '@tiptap/react'\nimport type { ColorOption, HeadingOptions } from './types'\nimport { Icon } from '$/shared/ui'\n\nexport const headingsOptions: HeadingOptions[] = [\n { shortcuts: ['ctrl', 'alt', '3'], level: 3 },\n { shortcuts: ['ctrl', 'alt', '4'], level: 4 }\n]\n\nexport const editorHeadingClasses: Record<number, string> = {\n 3: 'mob-title-bold-l desktop:desk-title-bold-l',\n 4: 'mob-title-bold-m desktop:desk-title-bold-s'\n}\n\nexport const editorAllowedColors: ColorOption[] = [\n '#292929',\n '#FFFFFF',\n '#40465A',\n '#5A6E85',\n '#A9B6C5',\n '#94A4B7',\n '#003790',\n '#042E73',\n '#809BC7',\n '#76BC21',\n '#F49F00',\n '#F42500'\n]\n\nexport const renderEditorPanel = (editor: Editor) => [\n {\n label: 'Жирный текст',\n icon: <Icon name='editor/bold' className='size-4' />,\n onClick: () => editor.chain().focus().toggleBold().run(),\n isActive: editor.isActive('bold')\n },\n {\n label: 'Курсивный текст',\n icon: <Icon name='editor/italic' className='size-4' />,\n onClick: () => editor.chain().focus().toggleItalic().run(),\n isActive: editor.isActive('italic')\n },\n {\n label: 'Подчеркнутый текст',\n icon: <Icon name='editor/underline' className='size-4' />,\n onClick: () => editor.chain().focus().toggleUnderline().run(),\n isActive: editor.isActive('underline')\n },\n {\n label: 'Зачеркнутый текст',\n icon: <Icon name='editor/strikethrough' className='size-4' />,\n onClick: () => editor.chain().focus().toggleStrike().run(),\n isActive: editor.isActive('strike')\n },\n {\n label: 'Обычный текст',\n icon: <Icon name='editor/typography' className='size-4' />,\n onClick: () => editor.chain().focus().setParagraph().run()\n },\n {\n label: 'Маркированный список',\n icon: <Icon name='editor/list' className='size-4' />,\n onClick: () => editor.chain().focus().toggleBulletList().run(),\n isActive: editor.isActive('bulletList')\n },\n {\n label: 'Перенос строки',\n icon: <Icon name='arrows/arrowDownRight' className='size-4' />,\n onClick: () => editor.chain().focus().setHardBreak().run()\n },\n\n {\n label: 'Отменить',\n icon: <Icon name='editor/undo' className='size-4' />,\n onClick: () => editor.chain().focus().undo().run()\n },\n {\n label: 'Вернуть',\n icon: <Icon name='editor/redo' className='size-4' />,\n onClick: () => editor.chain().focus().redo().run()\n },\n {\n label: 'Очистить стили и теги',\n icon: <Icon name='editor/removeFormatting' className='size-4' />,\n onClick: () => editor.chain().focus().clearNodes().unsetAllMarks().run()\n },\n {\n label: 'Удалить все',\n icon: <Icon name='general/close' className='size-4' />,\n onClick: () => editor.commands.clearContent()\n }\n]\n"],"names":["headingsOptions","editorHeadingClasses","editorAllowedColors","renderEditorPanel","editor","jsx","Icon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"helper.js","sources":["../../../../../../../../lib/shared/ui/formElements/controlled/editor/model/helper.tsx"],"sourcesContent":["import type { Editor } from '@tiptap/react'\nimport type { ColorOption, HeadingOptions } from './types'\nimport { Icon } from '$/shared/ui'\n\nexport const headingsOptions: HeadingOptions[] = [\n { shortcuts: ['ctrl', 'alt', '3'], level: 3 },\n { shortcuts: ['ctrl', 'alt', '4'], level: 4 }\n]\n\nexport const editorHeadingClasses: Record<number, string> = {\n 3: 'mob-title-bold-l desktop:desk-title-bold-l',\n 4: 'mob-title-bold-m desktop:desk-title-bold-s'\n}\n\nexport const editorAllowedColors: ColorOption[] = [\n '#292929',\n '#FFFFFF',\n '#40465A',\n '#5A6E85',\n '#A9B6C5',\n '#94A4B7',\n '#003790',\n '#042E73',\n '#809BC7',\n '#76BC21',\n '#F49F00',\n '#F42500'\n]\n\nexport const renderEditorPanel = (editor: Editor) => [\n {\n label: 'Жирный текст',\n icon: <Icon name='editor/bold' className='size-4' />,\n onClick: () => editor.chain().focus().toggleBold().run(),\n isActive: editor.isActive('bold')\n },\n {\n label: 'Курсивный текст',\n icon: <Icon name='editor/italic' className='size-4' />,\n onClick: () => editor.chain().focus().toggleItalic().run(),\n isActive: editor.isActive('italic')\n },\n {\n label: 'Подчеркнутый текст',\n icon: <Icon name='editor/underline' className='size-4' />,\n onClick: () => editor.chain().focus().toggleUnderline().run(),\n isActive: editor.isActive('underline')\n },\n {\n label: 'Зачеркнутый текст',\n icon: <Icon name='editor/strikethrough' className='size-4' />,\n onClick: () => editor.chain().focus().toggleStrike().run(),\n isActive: editor.isActive('strike')\n },\n {\n label: 'Обычный текст',\n icon: <Icon name='editor/typography' className='size-4' />,\n onClick: () => editor.chain().focus().setParagraph().run()\n },\n {\n label: 'Маркированный список',\n icon: <Icon name='editor/list' className='size-4' />,\n onClick: () => editor.chain().focus().toggleBulletList().run(),\n isActive: editor.isActive('bulletList')\n },\n {\n label: 'Перенос строки',\n icon: <Icon name='arrows/arrowDownRight' className='size-4' />,\n onClick: () => editor.chain().focus().setHardBreak().run()\n },\n\n {\n label: 'Отменить',\n icon: <Icon name='editor/undo' className='size-4' />,\n onClick: () => editor.chain().focus().undo().run()\n },\n {\n label: 'Вернуть',\n icon: <Icon name='editor/redo' className='size-4' />,\n onClick: () => editor.chain().focus().redo().run()\n },\n {\n label: 'Очистить стили и теги',\n icon: <Icon name='editor/removeFormatting' className='size-4' />,\n onClick: () => editor.chain().focus().clearNodes().unsetAllMarks().run()\n },\n {\n label: 'Удалить все',\n icon: <Icon name='general/close' className='size-4' />,\n onClick: () => editor.commands.clearContent()\n }\n]\n"],"names":["headingsOptions","editorHeadingClasses","editorAllowedColors","renderEditorPanel","editor","jsx","Icon"],"mappings":"i3CAIO,MAAMA,EAAoC,CAC/C,CAAE,UAAW,CAAC,OAAQ,MAAO,GAAG,EAAG,MAAO,CAAA,EAC1C,CAAE,UAAW,CAAC,OAAQ,MAAO,GAAG,EAAG,MAAO,CAAA,CAC5C,EAEaC,EAA+C,CAC1D,EAAG,6CACH,EAAG,4CACL,EAEaC,EAAqC,CAChD,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EAEaC,EAAqBC,GAAmB,CACnD,CACE,MAAO,eACP,KAAMC,EAACC,EAAA,CAAK,KAAK,cAAc,UAAU,SAAS,EAClD,QAAS,IAAMF,EAAO,MAAA,EAAQ,QAAQ,WAAA,EAAa,IAAA,EACnD,SAAUA,EAAO,SAAS,MAAM,CAAA,EAElC,CACE,MAAO,kBACP,KAAMC,EAACC,EAAA,CAAK,KAAK,gBAAgB,UAAU,SAAS,EACpD,QAAS,IAAMF,EAAO,MAAA,EAAQ,QAAQ,aAAA,EAAe,IAAA,EACrD,SAAUA,EAAO,SAAS,QAAQ,CAAA,EAEpC,CACE,MAAO,qBACP,KAAMC,EAACC,EAAA,CAAK,KAAK,mBAAmB,UAAU,SAAS,EACvD,QAAS,IAAMF,EAAO,MAAA,EAAQ,QAAQ,gBAAA,EAAkB,IAAA,EACxD,SAAUA,EAAO,SAAS,WAAW,CAAA,EAEvC,CACE,MAAO,oBACP,KAAMC,EAACC,EAAA,CAAK,KAAK,uBAAuB,UAAU,SAAS,EAC3D,QAAS,IAAMF,EAAO,MAAA,EAAQ,QAAQ,aAAA,EAAe,IAAA,EACrD,SAAUA,EAAO,SAAS,QAAQ,CAAA,EAEpC,CACE,MAAO,gBACP,KAAMC,EAACC,EAAA,CAAK,KAAK,oBAAoB,UAAU,SAAS,EACxD,QAAS,IAAMF,EAAO,MAAA,EAAQ,MAAA,EAAQ,aAAA,EAAe,IAAA,CAAI,EAE3D,CACE,MAAO,uBACP,KAAMC,EAACC,EAAA,CAAK,KAAK,cAAc,UAAU,SAAS,EAClD,QAAS,IAAMF,EAAO,MAAA,EAAQ,QAAQ,iBAAA,EAAmB,IAAA,EACzD,SAAUA,EAAO,SAAS,YAAY,CAAA,EAExC,CACE,MAAO,iBACP,KAAMC,EAACC,EAAA,CAAK,KAAK,wBAAwB,UAAU,SAAS,EAC5D,QAAS,IAAMF,EAAO,MAAA,EAAQ,MAAA,EAAQ,aAAA,EAAe,IAAA,CAAI,EAG3D,CACE,MAAO,WACP,KAAMC,EAACC,EAAA,CAAK,KAAK,cAAc,UAAU,SAAS,EAClD,QAAS,IAAMF,EAAO,MAAA,EAAQ,MAAA,EAAQ,KAAA,EAAO,IAAA,CAAI,EAEnD,CACE,MAAO,UACP,KAAMC,EAACC,EAAA,CAAK,KAAK,cAAc,UAAU,SAAS,EAClD,QAAS,IAAMF,EAAO,MAAA,EAAQ,MAAA,EAAQ,KAAA,EAAO,IAAA,CAAI,EAEnD,CACE,MAAO,wBACP,KAAMC,EAACC,EAAA,CAAK,KAAK,0BAA0B,UAAU,SAAS,EAC9D,QAAS,IAAMF,EAAO,MAAA,EAAQ,MAAA,EAAQ,WAAA,EAAa,cAAA,EAAgB,IAAA,CAAI,EAEzE,CACE,MAAO,cACP,KAAMC,EAACC,EAAA,CAAK,KAAK,gBAAgB,UAAU,SAAS,EACpD,QAAS,IAAMF,EAAO,SAAS,aAAA,CAAa,CAEhD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as f,jsx as p}from"react/jsx-runtime";import{forwardRef as w,useEffect as N}from"react";import{CharacterCount as C}from"../../../../../../../node_modules/@tiptap/extension-character-count/dist/index.js";import{useEditor as M,EditorContent as A}from"../../../../../../../node_modules/@tiptap/react/dist/index.js";import{editorConfig as L}from"../model/config.js";import{Toolbar as y}from"./Toolbar.js";import{cn as n}from"../../../../../utils/cn.js";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../uncontrolled/checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsxs as f,jsx as p}from"react/jsx-runtime";import{forwardRef as w,useEffect as N}from"react";import{CharacterCount as C}from"../../../../../../../node_modules/@tiptap/extension-character-count/dist/index.js";import{useEditor as M,EditorContent as A}from"../../../../../../../node_modules/@tiptap/react/dist/index.js";import{editorConfig as L}from"../model/config.js";import{Toolbar as y}from"./Toolbar.js";import{cn as n}from"../../../../../utils/cn.js";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../table/ui/primitives/Primitives.js";import"../../../../carousel/ui/CarouselContent.js";import"../../../../slot/Slot.js";import"../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../uncontrolled/checkbox/Checkbox.js";import"../../../uncontrolled/combobox/combobox.js";import"../../../uncontrolled/dayPicker/DayPicker.js";import"../../../uncontrolled/input/Input.js";import"../../../uncontrolled/inputOtp/InputOtpBase.js";import"../../../uncontrolled/maskInput/MaskInput.js";import"../../../uncontrolled/radio/RadioGroup.js";import"../../../uncontrolled/radio/ui/RadioItem.js";import"../../../uncontrolled/slider/SliderBase.js";import"../../../uncontrolled/switch/Switch.js";import"../../../uncontrolled/textarea/Textarea.js";import"../../../uncontrolled/uploader/UploaderBase.js";import"../../input/MaskInputControl.js";import"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{MessageView as U}from"../../../ui/MessageView.js";const k=Number.MAX_SAFE_INTEGER,ft=w(({onChange:l,value:e="",label:u,limit:d,error:r,classes:t,editable:a,helperText:b,shouldRerenderOnTransaction:g=!0,externalHandlers:c,...h},T)=>{const{onUpdate:x}=c||{},o=M({extensions:[...L,C.configure({limit:d??k})],editable:a,content:e,onUpdate:m=>{const{editor:i}=m,E=i!=null&&i.getText()?i==null?void 0:i.getHTML():"";l(E),x&&x(m)},editorProps:{transformPastedText(m){return m.replace(/\xA0/g," ")},transformPastedHTML(m){return m.replace(/\xA0/g," ")},attributes:{spellcheck:"false",class:n("p-4 outline-none bg-color-blue-grey-100 min-h-[240px] max-h-[500px] customScrollbar-y overflow-y-auto break-keep",t==null?void 0:t.editor)}},shouldRerenderOnTransaction:g,...h});return N(()=>{o&&o.getHTML()!==e&&o.commands.setContent(e)},[o,e]),o?f("div",{className:n("flex w-full flex-col",t==null?void 0:t.root),children:[f("div",{className:n("relative flex w-full flex-col rounded-md border border-solid border-warm-grey-200",t==null?void 0:t.wrapper),children:[p(y,{editor:o}),!e&&p("p",{className:n("absolute left-4 top-16 z-10 text-color-disabled",t==null?void 0:t.label),children:u}),p(A,{ref:T,editor:o}),d&&f("p",{className:"absolute bottom-4 right-4 text-color-disabled",children:[o.storage.characterCount.characters()," / ",d," символов"]})]}),p(U,{className:t==null?void 0:t.message,intent:r!=null&&r.message?"error":"simple",text:(r==null?void 0:r.message)||b,disabled:!a})]}):null});export{ft as Editor};
|
|
2
2
|
//# sourceMappingURL=Editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.js","sources":["../../../../../../../../lib/shared/ui/formElements/controlled/editor/ui/Editor.tsx"],"sourcesContent":["import { forwardRef, type ReactElement, useEffect } from 'react'\nimport { type FieldError } from 'react-hook-form'\nimport CharacterCount from '@tiptap/extension-character-count'\nimport { EditorContent, type EditorEvents, useEditor, type UseEditorOptions } from '@tiptap/react'\nimport { type EditorControlClasses } from '../EditorControl'\nimport { editorConfig } from '../model/config'\nimport { Toolbar } from './Toolbar'\nimport { MessageView } from '$/shared/ui/formElements/ui'\nimport { cn } from '$/shared/utils'\n\ntype ExternalHandlers = {\n onUpdate?: (editor: EditorEvents['update']) => void\n}\n\ninterface EditorProps extends Partial<UseEditorOptions> {\n onChange: (value: string) => void\n value: string\n error?: FieldError\n classes?: EditorControlClasses\n externalHandlers?: ExternalHandlers\n /**\n * Заголовок\n */\n label?: string\n helperText?: string | ReactElement\n limit?: number\n}\n\ntype EditorRef = React.ElementRef<typeof EditorContent>\n\nconst DEFAULT_LIMIT = Number.MAX_SAFE_INTEGER\n\nexport const Editor = forwardRef<EditorRef, EditorProps>(\n (\n {\n onChange,\n value = '',\n label,\n limit,\n error,\n classes,\n editable,\n helperText,\n shouldRerenderOnTransaction = true,\n externalHandlers,\n ...props\n },\n ref\n ) => {\n const { onUpdate: externalOnUpdate } = externalHandlers || {}\n\n const editor = useEditor({\n extensions: [\n ...editorConfig,\n CharacterCount.configure({\n limit: limit ?? DEFAULT_LIMIT\n })\n ],\n editable: editable,\n content: value,\n onUpdate: (props) => {\n const { editor } = props\n const content = editor?.getText() ? editor?.getHTML() : ''\n onChange(content)\n\n if (externalOnUpdate) {\n externalOnUpdate(props)\n }\n },\n editorProps: {\n transformPastedText(text) {\n return text.replace(/\\xA0/g, ' ')\n },\n transformPastedHTML(html) {\n return html.replace(/\\xA0/g, ' ')\n },\n attributes: {\n spellcheck: 'false',\n class: cn(\n 'p-4 outline-none bg-color-blue-grey-100 min-h-[240px] max-h-[500px] customScrollbar-y overflow-y-auto break-keep',\n classes?.editor\n )\n }\n },\n shouldRerenderOnTransaction,\n ...props\n })\n\n useEffect(() => {\n if (editor && editor.getHTML() !== value) {\n editor.commands.setContent(value)\n }\n }, [editor, value])\n\n if (!editor) {\n return null\n }\n\n return (\n <div className={cn('flex w-full flex-col', classes?.root)}>\n <div\n className={cn('relative flex w-full flex-col rounded-md border border-solid border-warm-grey-200', classes?.wrapper)}\n >\n <Toolbar editor={editor} />\n {!value && <p className={cn('absolute left-4 top-16 z-10 text-color-disabled', classes?.label)}>{label}</p>}\n <EditorContent ref={ref} editor={editor} />\n {limit && (\n <p className='absolute bottom-4 right-4 text-color-disabled'>\n {editor.storage.characterCount.characters()} / {limit} символов\n </p>\n )}\n </div>\n\n <MessageView\n className={classes?.message}\n intent={error?.message ? 'error' : 'simple'}\n text={error?.message || helperText}\n disabled={!editable}\n />\n </div>\n )\n }\n)\n"],"names":["DEFAULT_LIMIT","Editor","forwardRef","onChange","value","label","limit","error","classes","editable","helperText","shouldRerenderOnTransaction","externalHandlers","props","ref","externalOnUpdate","editor","useEditor","editorConfig","CharacterCount","content","text","html","cn","useEffect","jsxs","jsx","Toolbar","EditorContent","MessageView"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Editor.js","sources":["../../../../../../../../lib/shared/ui/formElements/controlled/editor/ui/Editor.tsx"],"sourcesContent":["import { forwardRef, type ReactElement, useEffect } from 'react'\nimport { type FieldError } from 'react-hook-form'\nimport CharacterCount from '@tiptap/extension-character-count'\nimport { EditorContent, type EditorEvents, useEditor, type UseEditorOptions } from '@tiptap/react'\nimport { type EditorControlClasses } from '../EditorControl'\nimport { editorConfig } from '../model/config'\nimport { Toolbar } from './Toolbar'\nimport { MessageView } from '$/shared/ui/formElements/ui'\nimport { cn } from '$/shared/utils'\n\ntype ExternalHandlers = {\n onUpdate?: (editor: EditorEvents['update']) => void\n}\n\ninterface EditorProps extends Partial<UseEditorOptions> {\n onChange: (value: string) => void\n value: string\n error?: FieldError\n classes?: EditorControlClasses\n externalHandlers?: ExternalHandlers\n /**\n * Заголовок\n */\n label?: string\n helperText?: string | ReactElement\n limit?: number\n}\n\ntype EditorRef = React.ElementRef<typeof EditorContent>\n\nconst DEFAULT_LIMIT = Number.MAX_SAFE_INTEGER\n\nexport const Editor = forwardRef<EditorRef, EditorProps>(\n (\n {\n onChange,\n value = '',\n label,\n limit,\n error,\n classes,\n editable,\n helperText,\n shouldRerenderOnTransaction = true,\n externalHandlers,\n ...props\n },\n ref\n ) => {\n const { onUpdate: externalOnUpdate } = externalHandlers || {}\n\n const editor = useEditor({\n extensions: [\n ...editorConfig,\n CharacterCount.configure({\n limit: limit ?? DEFAULT_LIMIT\n })\n ],\n editable: editable,\n content: value,\n onUpdate: (props) => {\n const { editor } = props\n const content = editor?.getText() ? editor?.getHTML() : ''\n onChange(content)\n\n if (externalOnUpdate) {\n externalOnUpdate(props)\n }\n },\n editorProps: {\n transformPastedText(text) {\n return text.replace(/\\xA0/g, ' ')\n },\n transformPastedHTML(html) {\n return html.replace(/\\xA0/g, ' ')\n },\n attributes: {\n spellcheck: 'false',\n class: cn(\n 'p-4 outline-none bg-color-blue-grey-100 min-h-[240px] max-h-[500px] customScrollbar-y overflow-y-auto break-keep',\n classes?.editor\n )\n }\n },\n shouldRerenderOnTransaction,\n ...props\n })\n\n useEffect(() => {\n if (editor && editor.getHTML() !== value) {\n editor.commands.setContent(value)\n }\n }, [editor, value])\n\n if (!editor) {\n return null\n }\n\n return (\n <div className={cn('flex w-full flex-col', classes?.root)}>\n <div\n className={cn('relative flex w-full flex-col rounded-md border border-solid border-warm-grey-200', classes?.wrapper)}\n >\n <Toolbar editor={editor} />\n {!value && <p className={cn('absolute left-4 top-16 z-10 text-color-disabled', classes?.label)}>{label}</p>}\n <EditorContent ref={ref} editor={editor} />\n {limit && (\n <p className='absolute bottom-4 right-4 text-color-disabled'>\n {editor.storage.characterCount.characters()} / {limit} символов\n </p>\n )}\n </div>\n\n <MessageView\n className={classes?.message}\n intent={error?.message ? 'error' : 'simple'}\n text={error?.message || helperText}\n disabled={!editable}\n />\n </div>\n )\n }\n)\n"],"names":["DEFAULT_LIMIT","Editor","forwardRef","onChange","value","label","limit","error","classes","editable","helperText","shouldRerenderOnTransaction","externalHandlers","props","ref","externalOnUpdate","editor","useEditor","editorConfig","CharacterCount","content","text","html","cn","useEffect","jsxs","jsx","Toolbar","EditorContent","MessageView"],"mappings":"yvDA8BA,MAAMA,EAAgB,OAAO,iBAEhBC,GAASC,EACpB,CACE,CACE,SAAAC,EACA,MAAAC,EAAQ,GACR,MAAAC,EACA,MAAAC,EACA,MAAAC,EACA,QAAAC,EACA,SAAAC,EACA,WAAAC,EACA,4BAAAC,EAA8B,GAC9B,iBAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,KAAM,CAAE,SAAUC,CAAA,EAAqBH,GAAoB,CAAA,EAErDI,EAASC,EAAU,CACvB,WAAY,CACV,GAAGC,EACHC,EAAe,UAAU,CACvB,MAAOb,GAASN,CAAA,CACjB,CAAA,EAEH,SAAAS,EACA,QAASL,EACT,SAAWS,GAAU,CACnB,KAAM,CAAE,OAAAG,CAAAA,EAAWH,EACbO,EAAUJ,GAAAA,MAAAA,EAAQ,UAAYA,GAAAA,YAAAA,EAAQ,UAAY,GACxDb,EAASiB,CAAO,EAEZL,GACFA,EAAiBF,CAAK,CAE1B,EACA,YAAa,CACX,oBAAoBQ,EAAM,CACxB,OAAOA,EAAK,QAAQ,QAAS,GAAG,CAClC,EACA,oBAAoBC,EAAM,CACxB,OAAOA,EAAK,QAAQ,QAAS,GAAG,CAClC,EACA,WAAY,CACV,WAAY,QACZ,MAAOC,EACL,mHACAf,GAAA,YAAAA,EAAS,MAAA,CACX,CACF,EAEF,4BAAAG,EACA,GAAGE,CAAA,CACJ,EAQD,OANAW,EAAU,IAAM,CACVR,GAAUA,EAAO,QAAA,IAAcZ,GACjCY,EAAO,SAAS,WAAWZ,CAAK,CAEpC,EAAG,CAACY,EAAQZ,CAAK,CAAC,EAEbY,IAKF,MAAA,CAAI,UAAWO,EAAG,uBAAwBf,GAAA,YAAAA,EAAS,IAAI,EACtD,SAAA,CAAAiB,EAAC,MAAA,CACC,UAAWF,EAAG,oFAAqFf,GAAA,YAAAA,EAAS,OAAO,EAEnH,SAAA,CAAAkB,EAACC,GAAQ,OAAAX,EAAgB,EACxB,CAACZ,GAASsB,EAAC,IAAA,CAAE,UAAWH,EAAG,kDAAmDf,GAAA,YAAAA,EAAS,KAAK,EAAI,SAAAH,CAAA,CAAM,EACvGqB,EAACE,EAAA,CAAc,IAAAd,EAAU,OAAAE,CAAA,CAAgB,EACxCV,GACCmB,EAAC,IAAA,CAAE,UAAU,gDACV,SAAA,CAAAT,EAAO,QAAQ,eAAe,WAAA,EAAa,MAAIV,EAAM,WAAA,CAAA,CACxD,CAAA,CAAA,CAAA,EAIJoB,EAACG,EAAA,CACC,UAAWrB,GAAA,YAAAA,EAAS,QACpB,OAAQD,GAAA,MAAAA,EAAO,QAAU,QAAU,SACnC,MAAMA,GAAA,YAAAA,EAAO,UAAWG,EACxB,SAAU,CAACD,CAAA,CAAA,CACb,EACF,EAxBO,IA0BX,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{editorAllowedColors as e}from"../../model/helper.js";import{cn as i}from"../../../../../../utils/cn.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react";import{Popover as m}from"../../../../../popover/Popover.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as p}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../../uncontrolled/checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{editorAllowedColors as e}from"../../model/helper.js";import{cn as i}from"../../../../../../utils/cn.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react";import{Popover as m}from"../../../../../popover/Popover.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as p}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../../uncontrolled/checkbox/Checkbox.js";import"../../../../uncontrolled/combobox/combobox.js";import"../../../../uncontrolled/dayPicker/DayPicker.js";import"../../../../uncontrolled/input/Input.js";import"../../../../uncontrolled/inputOtp/InputOtpBase.js";import"../../../../uncontrolled/maskInput/MaskInput.js";import"../../../../uncontrolled/radio/RadioGroup.js";import"../../../../uncontrolled/radio/ui/RadioItem.js";import"../../../../uncontrolled/slider/SliderBase.js";import"../../../../uncontrolled/switch/Switch.js";import"../../../../uncontrolled/textarea/Textarea.js";import"../../../../uncontrolled/uploader/UploaderBase.js";import"../Editor.js";import"../../../input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const L=({editor:t})=>r(m,{classes:{content:"w-full max-w-[500px] bg-color-blue-grey-200 border border-solid border-warm-grey-300",arrowIcon:"fill-dark-hover"},triggerElement:r("span",{title:"Добавить цвет текста",className:"flex size-7 cursor-pointer items-center justify-center rounded-sm text-color-secondary outline-none transition-colors hover:bg-color-primary-hover hover:text-color-white",children:r(p,{name:"editor/palette",className:"size-4"})}),children:r("div",{className:"grid grid-cols-6 gap-3",children:e.map(o=>r("button",{type:"button",style:{background:o},onClick:()=>t.chain().focus().setColor(o).run(),className:i("desk-body-regular-m size-6 cursor-pointer rounded-full border border-solid border-transparent text-left outline-none transition-transform hover:scale-105",{"border-warm-grey-300":o==="#FFFFFF"})},o))})});export{L as SetColor};
|
|
2
2
|
//# sourceMappingURL=SetColor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetColor.js","sources":["../../../../../../../../../lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.tsx"],"sourcesContent":["import type { Editor } from '@tiptap/react'\nimport { editorAllowedColors } from '../../model/helper'\nimport { Icon, Popover } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ninterface ISetColorProps {\n editor: Editor\n}\n\nexport const SetColor = ({ editor }: ISetColorProps) => {\n return (\n <Popover\n classes={{\n content: 'w-full max-w-[500px] bg-color-blue-grey-200 border border-solid border-warm-grey-300',\n arrowIcon: 'fill-dark-hover'\n }}\n triggerElement={\n <span\n title='Добавить цвет текста'\n className='flex size-7 cursor-pointer items-center justify-center rounded-sm text-color-secondary outline-none transition-colors hover:bg-color-primary-hover hover:text-color-white'\n >\n <Icon name='editor/palette' className='size-4' />\n </span>\n }\n >\n <div className='grid grid-cols-6 gap-3'>\n {editorAllowedColors.map((color) => (\n <button\n key={color}\n type='button'\n style={{ background: color }}\n onClick={() => editor.chain().focus().setColor(color).run()}\n className={cn(\n 'desk-body-regular-m size-6 cursor-pointer rounded-full border border-solid border-transparent text-left outline-none transition-transform hover:scale-105',\n { 'border-warm-grey-300': color === '#FFFFFF' }\n )}\n />\n ))}\n </div>\n </Popover>\n )\n}\n"],"names":["SetColor","editor","jsx","Popover","Icon","editorAllowedColors","color","cn"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SetColor.js","sources":["../../../../../../../../../lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.tsx"],"sourcesContent":["import type { Editor } from '@tiptap/react'\nimport { editorAllowedColors } from '../../model/helper'\nimport { Icon, Popover } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ninterface ISetColorProps {\n editor: Editor\n}\n\nexport const SetColor = ({ editor }: ISetColorProps) => {\n return (\n <Popover\n classes={{\n content: 'w-full max-w-[500px] bg-color-blue-grey-200 border border-solid border-warm-grey-300',\n arrowIcon: 'fill-dark-hover'\n }}\n triggerElement={\n <span\n title='Добавить цвет текста'\n className='flex size-7 cursor-pointer items-center justify-center rounded-sm text-color-secondary outline-none transition-colors hover:bg-color-primary-hover hover:text-color-white'\n >\n <Icon name='editor/palette' className='size-4' />\n </span>\n }\n >\n <div className='grid grid-cols-6 gap-3'>\n {editorAllowedColors.map((color) => (\n <button\n key={color}\n type='button'\n style={{ background: color }}\n onClick={() => editor.chain().focus().setColor(color).run()}\n className={cn(\n 'desk-body-regular-m size-6 cursor-pointer rounded-full border border-solid border-transparent text-left outline-none transition-transform hover:scale-105',\n { 'border-warm-grey-300': color === '#FFFFFF' }\n )}\n />\n ))}\n </div>\n </Popover>\n )\n}\n"],"names":["SetColor","editor","jsx","Popover","Icon","editorAllowedColors","color","cn"],"mappings":"umDASO,MAAMA,EAAW,CAAC,CAAE,OAAAC,KAEvBC,EAACC,EAAA,CACC,QAAS,CACP,QAAS,uFACT,UAAW,iBAAA,EAEb,eACED,EAAC,OAAA,CACC,MAAM,uBACN,UAAU,4KAEV,SAAAA,EAACE,EAAA,CAAK,KAAK,iBAAiB,UAAU,QAAA,CAAS,CAAA,CAAA,EAInD,WAAC,MAAA,CAAI,UAAU,yBACZ,SAAAC,EAAoB,IAAKC,GACxBJ,EAAC,SAAA,CAEC,KAAK,SACL,MAAO,CAAE,WAAYI,CAAA,EACrB,QAAS,IAAML,EAAO,MAAA,EAAQ,QAAQ,SAASK,CAAK,EAAE,IAAA,EACtD,UAAWC,EACT,4JACA,CAAE,uBAAwBD,IAAU,SAAA,CAAU,CAChD,EAPKA,CAAA,CASR,CAAA,CACH,CAAA,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{renderEditorPanel as s}from"../../model/helper.js";import{cn as c}from"../../../../../../utils/cn.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import{Hint as n}from"../../../../../hint/Hint.js";import"react";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../../uncontrolled/checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{renderEditorPanel as s}from"../../model/helper.js";import{cn as c}from"../../../../../../utils/cn.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import{Hint as n}from"../../../../../hint/Hint.js";import"react";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../../uncontrolled/autocomplete/Autocomplete.js";import"../../../../uncontrolled/checkbox/Checkbox.js";import"../../../../uncontrolled/combobox/combobox.js";import"../../../../uncontrolled/dayPicker/DayPicker.js";import"../../../../uncontrolled/input/Input.js";import"../../../../uncontrolled/inputOtp/InputOtpBase.js";import"../../../../uncontrolled/maskInput/MaskInput.js";import"../../../../uncontrolled/radio/RadioGroup.js";import"../../../../uncontrolled/radio/ui/RadioItem.js";import"../../../../uncontrolled/slider/SliderBase.js";import"../../../../uncontrolled/switch/Switch.js";import"../../../../uncontrolled/textarea/Textarea.js";import"../../../../uncontrolled/uploader/UploaderBase.js";import"../Editor.js";import"../../../input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const M=({editor:i})=>{var o;return r("div",{className:"flex items-center gap-2",children:(o=s(i))==null?void 0:o.map(({label:t,icon:e,onClick:m,isActive:p})=>r(n,{sideOffset:12,classes:{content:"w-max border border-warm-grey-200 desk-body-regular-s py-1 px-3"},triggerElement:r("span",{onClick:m,className:c("flex size-7 cursor-pointer items-center justify-center rounded-sm text-color-secondary outline-none transition-colors hover:bg-color-primary-hover hover:text-color-white focus:bg-color-primary-focus focus:text-color-white",{"!bg-color-primary-hover !text-color-white":p}),children:e}),children:t},t))})};export{M as SetCoreCommands};
|
|
2
2
|
//# sourceMappingURL=SetCoreCommands.js.map
|