@scbt-ecom/ui 0.152.5 → 0.153.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_commonjsHelpers.js +2 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/index.js +2 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/index2.js +2 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/preload-helper.js +1 -1
- package/dist/lib/configs/index.js +1 -1
- package/dist/lib/configs/tailwindConfigBase.js +1 -1
- package/dist/lib/configs/tailwindPresets/resetPreset.js +1 -1
- package/dist/lib/exports/config.js +1 -1
- package/dist/lib/exports/ui.js +1 -1
- package/dist/lib/exports/widget.js +1 -1
- package/dist/lib/shared/api/apiInstance.js +1 -1
- package/dist/lib/shared/api/apiInstance.js.map +1 -1
- package/dist/lib/shared/hocs/withBoundary/withBoundary.js +1 -1
- package/dist/lib/shared/hocs/withBoundary/withBoundary.js.map +1 -1
- package/dist/lib/shared/hooks/useClickOutside.js +1 -1
- package/dist/lib/shared/hooks/useClickOutside.js.map +1 -1
- package/dist/lib/shared/hooks/useClickOutsideMany.js +1 -1
- package/dist/lib/shared/hooks/useClickOutsideMany.js.map +1 -1
- package/dist/lib/shared/hooks/useFieldsProgress.js +1 -1
- package/dist/lib/shared/hooks/useFieldsProgress.js.map +1 -1
- package/dist/lib/shared/style.css +1 -1
- package/dist/lib/shared/ui/accordion/Accordion.js +1 -1
- package/dist/lib/shared/ui/accordion/Accordion.js.map +1 -1
- package/dist/lib/shared/ui/accordion/ui/AccordionHeader.js +1 -1
- package/dist/lib/shared/ui/accordion/ui/AccordionHeader.js.map +1 -1
- package/dist/lib/shared/ui/badge/Badge.js +1 -1
- package/dist/lib/shared/ui/badge/Badge.js.map +1 -1
- package/dist/lib/shared/ui/brandLogos/BrandLogos.js +1 -1
- package/dist/lib/shared/ui/brandLogos/BrandLogos.js.map +1 -1
- package/dist/lib/shared/ui/button/Button.js +1 -1
- package/dist/lib/shared/ui/button/Button.js.map +1 -1
- package/dist/lib/shared/ui/buttonIcon/ButtonIcon.js +1 -1
- package/dist/lib/shared/ui/buttonIcon/ButtonIcon.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/model/utils.js +1 -1
- package/dist/lib/shared/ui/calendar/model/utils.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/Day.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/Day.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/DayButton.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/DayButton.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/MonthCaption.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/MonthCaption.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/Weekday.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/Weekday.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/SelectDate.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/SelectDate.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/SelectList.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/SelectList.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js.map +1 -1
- package/dist/lib/shared/ui/carousel/CarouselBase.js +1 -1
- package/dist/lib/shared/ui/carousel/CarouselBase.js.map +1 -1
- package/dist/lib/shared/ui/carousel/CarouselNative.js +1 -1
- package/dist/lib/shared/ui/carousel/CarouselNative.js.map +1 -1
- package/dist/lib/shared/ui/carousel/model/helpers.js +1 -1
- package/dist/lib/shared/ui/carousel/model/helpers.js.map +1 -1
- package/dist/lib/shared/ui/carousel/model/hooks/useCarousel.js +1 -1
- package/dist/lib/shared/ui/carousel/model/hooks/useCarousel.js.map +1 -1
- package/dist/lib/shared/ui/carousel/model/index.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/ArrowNavigationButton.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/ArrowNavigationButton.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/CarouselContent.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/CarouselContent.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/CarouselSlide.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/CarouselSlide.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/ContainerWithNavigation.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/ContainerWithNavigation.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/DotsNavigations.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/DotsNavigations.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/index.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideFullScreen.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideFullScreen.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideOnlyImage.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideOnlyImage.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideProductCard.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideProductCard.js.map +1 -1
- package/dist/lib/shared/ui/chips/Chips.js +1 -1
- package/dist/lib/shared/ui/chips/Chips.js.map +1 -1
- package/dist/lib/shared/ui/customLink/CustomLink.js +1 -1
- package/dist/lib/shared/ui/customLink/CustomLink.js.map +1 -1
- package/dist/lib/shared/ui/dialog/Dialog.js +1 -1
- package/dist/lib/shared/ui/dialog/Dialog.js.map +1 -1
- package/dist/lib/shared/ui/divider/Divider.js +1 -1
- package/dist/lib/shared/ui/divider/Divider.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/DropdownList.js +1 -1
- package/dist/lib/shared/ui/dropdownList/DropdownList.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/hooks/useKeyboardNavigation.js +1 -1
- package/dist/lib/shared/ui/dropdownList/hooks/useKeyboardNavigation.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/index.js +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/dropdownList/ui/index.js +1 -1
- package/dist/lib/shared/ui/floatButton/FloatButton.js +1 -1
- package/dist/lib/shared/ui/floatButton/FloatButton.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/autocomplete/AutocompleteControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/autocomplete/AutocompleteControl.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/combobox/hooks/useComboboxControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/combobox/hooks/useComboboxControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/address/DadataAddress.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/address/DadataAddress.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/address/query.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/address/query.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/auto/DadataAuto.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/auto/DadataAuto.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/auto/query.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/auto/query.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/country/DadataCountry.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/country/DadataCountry.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/country/query.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/country/query.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/fio/DadataFio.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/fio/DadataFio.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/fio/query.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/fio/query.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/party/DadataOrganization.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/party/DadataOrganization.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/party/query.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dadata/party/query.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/extensions.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/extensions.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Toolbar.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetHardBreak.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetHardBreak.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetHeadings.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetHeadings.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/input/InputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupCardControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupCardControl.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/radio/RadioGroupTabControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupTabControl.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/MessageView.js +1 -1
- package/dist/lib/shared/ui/formElements/ui/MessageView.js.map +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/FieldAttachment.js +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/FieldAttachment.js.map +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/IconSlot.js +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/IconSlot.js.map +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js.map +1 -1
- package/dist/lib/shared/ui/formElements/ui/index.js +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/combobox/model/utils.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/model/utils.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/input/Input.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/input/Input.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/ui/InputOtpSlot.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputOtp/ui/InputOtpSlot.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/RadioGroup.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/RadioGroup.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/AdditionalContent.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemCard.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemTab.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/radio/ui/RadioItemTab.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/SliderBase.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/model/helpers/getInputSliderSuffix.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/Slider.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/Slider.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/sliderMarks/hooks/useSliderMarks.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.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/switch/Switch.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/switch/Switch.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/textarea/Textarea.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/textarea/Textarea.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/formElements/uncontrolled/uploader/ui/UploaderFiles.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFiles.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderInput.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderInput.js.map +1 -1
- package/dist/lib/shared/ui/heading/Heading.js +1 -1
- package/dist/lib/shared/ui/heading/Heading.js.map +1 -1
- package/dist/lib/shared/ui/hint/Hint.js +1 -1
- package/dist/lib/shared/ui/hint/Hint.js.map +1 -1
- package/dist/lib/shared/ui/index.js +1 -1
- package/dist/lib/shared/ui/keyboardShortcuts/KeyboardShortcuts.js +1 -1
- package/dist/lib/shared/ui/keyboardShortcuts/KeyboardShortcuts.js.map +1 -1
- package/dist/lib/shared/ui/loader/Loader.js +1 -1
- package/dist/lib/shared/ui/loader/Loader.js.map +1 -1
- package/dist/lib/shared/ui/modal/Modal.js +1 -1
- package/dist/lib/shared/ui/modal/Modal.js.map +1 -1
- package/dist/lib/shared/ui/modal/ui/IframeModalContent.js +1 -1
- package/dist/lib/shared/ui/modal/ui/IframeModalContent.js.map +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js.map +1 -1
- package/dist/lib/shared/ui/notification/ui/CustomToast.js +1 -1
- package/dist/lib/shared/ui/notification/ui/CustomToast.js.map +1 -1
- package/dist/lib/shared/ui/pagination/Pagination.js +1 -1
- package/dist/lib/shared/ui/pagination/Pagination.js.map +1 -1
- package/dist/lib/shared/ui/phoneView/PhoneView.js +1 -1
- package/dist/lib/shared/ui/phoneView/PhoneView.js.map +1 -1
- package/dist/lib/shared/ui/popover/Popover.js +1 -1
- package/dist/lib/shared/ui/popover/Popover.js.map +1 -1
- package/dist/lib/shared/ui/progressBar/ProgressBar.js +1 -1
- package/dist/lib/shared/ui/progressBar/ProgressBar.js.map +1 -1
- package/dist/lib/shared/ui/responsiveContainer/ResponsiveContainer.js +1 -1
- package/dist/lib/shared/ui/responsiveContainer/ResponsiveContainer.js.map +1 -1
- package/dist/lib/shared/ui/skeleton/Skeleton.js +1 -1
- package/dist/lib/shared/ui/skeleton/Skeleton.js.map +1 -1
- package/dist/lib/shared/ui/slot/model/getElementRef.js +1 -1
- package/dist/lib/shared/ui/slot/model/getElementRef.js.map +1 -1
- package/dist/lib/shared/ui/slot/model/isSlottable.js +1 -1
- package/dist/lib/shared/ui/slot/model/isSlottable.js.map +1 -1
- package/dist/lib/shared/ui/slot/ui/SlotClone.js +1 -1
- package/dist/lib/shared/ui/slot/ui/SlotClone.js.map +1 -1
- package/dist/lib/shared/ui/tabSwitcher/TabsSwitcher.js +1 -1
- package/dist/lib/shared/ui/tabSwitcher/TabsSwitcher.js.map +1 -1
- package/dist/lib/shared/ui/tabSwitcher/ui/TabContent.js +1 -1
- package/dist/lib/shared/ui/tabSwitcher/ui/TabContent.js.map +1 -1
- package/dist/lib/shared/ui/table/Desktop.js +1 -1
- package/dist/lib/shared/ui/table/Desktop.js.map +1 -1
- package/dist/lib/shared/ui/table/Horizontal.js +1 -1
- package/dist/lib/shared/ui/table/Horizontal.js.map +1 -1
- package/dist/lib/shared/ui/table/Mobile.js +1 -1
- package/dist/lib/shared/ui/table/Mobile.js.map +1 -1
- package/dist/lib/shared/ui/table/Table.js +1 -1
- package/dist/lib/shared/ui/table/Table.js.map +1 -1
- package/dist/lib/shared/ui/table/TablePagination.js +1 -1
- package/dist/lib/shared/ui/table/TablePagination.js.map +1 -1
- package/dist/lib/shared/ui/table/index.js +1 -1
- package/dist/lib/shared/ui/table/model/TableUtils.js +1 -1
- package/dist/lib/shared/ui/table/model/TableUtils.js.map +1 -1
- package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js +1 -1
- package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js.map +1 -1
- package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js +1 -1
- package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js.map +1 -1
- package/dist/lib/shared/utils/cn.js +1 -1
- package/dist/lib/shared/utils/cn.js.map +1 -1
- package/dist/lib/shared/utils/variableHolder/variableContextHolder.js +1 -1
- package/dist/lib/shared/utils/variableHolder/variableContextHolder.js.map +1 -1
- package/dist/lib/shared/utils-tailwind.css +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/currency.validators.js +1 -1
- package/dist/lib/shared/validation/base/currency.validators.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/email.validators.js +1 -1
- package/dist/lib/shared/validation/base/email.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/number.validators.js +1 -1
- package/dist/lib/shared/validation/base/number.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/passport.validators.js +1 -1
- package/dist/lib/shared/validation/base/passport.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/passportDepartment.validators.js +1 -1
- package/dist/lib/shared/validation/base/passportDepartment.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/phone.validators.js +1 -1
- package/dist/lib/shared/validation/base/phone.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/shared/validation/base/select.validators.js +1 -1
- package/dist/lib/shared/validation/base/select.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/string.validators.js +1 -1
- package/dist/lib/shared/validation/base/string.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/url.validators.js +1 -1
- package/dist/lib/shared/validation/base/url.validators.js.map +1 -1
- package/dist/lib/shared/validation/dadata/fio.validators.js +1 -1
- package/dist/lib/shared/validation/dadata/fio.validators.js.map +1 -1
- package/dist/lib/shared/validation/index.js +1 -1
- package/dist/lib/shared/validation/zodValidation/calendar.js +1 -1
- package/dist/lib/shared/validation/zodValidation/calendar.js.map +1 -1
- package/dist/lib/shared/validation/zodValidation/dadataFio.js +1 -1
- package/dist/lib/shared/validation/zodValidation/dadataFio.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/Banner.js +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/banner/ui/banners/ui/Buttons.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/ui/Buttons.js.map +1 -1
- package/dist/lib/widgets/banner/ui/index.js +1 -1
- package/dist/lib/widgets/benefit/Benefit.js +1 -1
- package/dist/lib/widgets/benefit/Benefit.js.map +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js.map +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumb.js +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumb.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/buttonWithHandlers/model/useButtonHandler.js +1 -1
- package/dist/lib/widgets/buttonWithHandlers/model/useButtonHandler.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/model/helpers.js +1 -1
- package/dist/lib/widgets/calculator/model/helpers.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/CalculatorTabs.js +1 -1
- package/dist/lib/widgets/calculator/ui/CalculatorTabs.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/CalculatorFields.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/CalculatorFields.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatedBlock.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoFooter.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoFooter.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/calculator/ui/index.js +1 -1
- package/dist/lib/widgets/conditionBlock/ConditionBlock.js +1 -1
- package/dist/lib/widgets/conditionBlock/ConditionBlock.js.map +1 -1
- package/dist/lib/widgets/conditionBlock/ui/ConditionsWithCTA.js +1 -1
- package/dist/lib/widgets/conditionBlock/ui/ConditionsWithCTA.js.map +1 -1
- package/dist/lib/widgets/conditionBlock/ui/SingleCondition.js +1 -1
- package/dist/lib/widgets/conditionBlock/ui/SingleCondition.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/dynamicForm/model/helpers.js +1 -1
- package/dist/lib/widgets/dynamicForm/model/helpers.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/errorPage/ErrorPage.js +1 -1
- package/dist/lib/widgets/errorPage/ErrorPage.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/Copyright.js +1 -1
- package/dist/lib/widgets/footer/ui/Copyright.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/Ligal.js +1 -1
- package/dist/lib/widgets/footer/ui/Ligal.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/htmlParser/baseHtmlParser.js +1 -1
- package/dist/lib/widgets/htmlParser/baseHtmlParser.js.map +1 -1
- package/dist/lib/widgets/htmlParser/reactHtmlParser.js +1 -1
- package/dist/lib/widgets/htmlParser/reactHtmlParser.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/Column.js +1 -1
- package/dist/lib/widgets/interLinking/ui/Column.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/longBanner/ui/TextList.js +1 -1
- package/dist/lib/widgets/longBanner/ui/TextList.js.map +1 -1
- package/dist/lib/widgets/longBanner/ui/Title.js +1 -1
- package/dist/lib/widgets/longBanner/ui/Title.js.map +1 -1
- package/dist/lib/widgets/model/helpers.js +2 -2
- package/dist/lib/widgets/model/helpers.js.map +1 -1
- package/dist/lib/widgets/seoHeader/SeoHeader.js +1 -1
- package/dist/lib/widgets/seoHeader/SeoHeader.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/Tab.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/Tab.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/SingleStep.js +1 -1
- package/dist/lib/widgets/stepper/ui/SingleStep.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/stepper/ui/StepperTabs.js +1 -1
- package/dist/lib/widgets/stepper/ui/StepperTabs.js.map +1 -1
- package/dist/lib/widgets/table/InfoTable.js +1 -1
- package/dist/lib/widgets/table/InfoTable.js.map +1 -1
- package/dist/lib/widgets/table/model/utils.js +1 -1
- package/dist/lib/widgets/table/model/utils.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/RenderEntity.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/RenderEntity.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/Tabs.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/Tabs.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/ui/ExpertCard.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/ui/ExpertCard.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/usefulInfo/ui/subEntities/table/model/utils.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/model/utils.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopHeadings.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/DesktopRow.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/MobileRow.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/ui/TableBody.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/model/index.js +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/src/shared/utils/getDynamicSchema.js +1 -1
- package/dist/src/shared/utils/getDynamicSchema.js.map +1 -1
- package/dist/stats.html +1 -1
- package/package.json +18 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { forwardRef, useState } from 'react'\nimport { type UseQueryOptions, type UseQueryResult } from '@tanstack/react-query'\nimport type { AutocompleteItemOption } from './types'\nimport { useDebounceValue } from '$/shared/hooks'\nimport { Combobox, type ComboboxProps, type ComboboxValue } from '$/shared/ui'\n\nexport interface AutocompleteBaseProps<TData>\n extends Omit<\n ComboboxProps<false>,\n 'options' | 'inputValue' | 'onInputChange' | 'searchable' | 'multiple' | 'value' | 'onChange'\n > {\n /**\n * Функция для запроса основанная на [@tanstack/query](https://tanstack.com/query/latest/docs/framework/react/overview)\n */\n query: (query: string, options?: Partial<UseQueryOptions<TData[]>>) => UseQueryResult<TData[]>\n /**\n * Параметры запроса\n */\n queryOptions?: Partial<UseQueryOptions<TData[]>>\n /**\n * Позволяет форматировать данные\n */\n formatter: (item: TData, index: number, array: TData[]) => AutocompleteItemOption<TData>\n /**\n * Значение инпута\n */\n value?: string\n /**\n * Handler инпута\n */\n onChange?: (value: string) => void\n /**\n * Стратегия управления полем\n * @variation `input-first` - источником правды является инпут\n * @variation `select-first` - источником правды является список\n * @default input-first\n */\n strategy?: 'input-first' | 'select-first'\n limit?: number\n}\n\nexport const AutocompleteBase = forwardRef(\n <TData,>(\n {\n formatter,\n query,\n queryOptions: initialQueryOptions,\n value,\n displayValue,\n limit = 0,\n onChange,\n strategy = 'input-first',\n ...props\n }: AutocompleteBaseProps<TData>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const [search, setSearch] = useState<string>(value ?? '')\n\n const inputValue = strategy === 'input-first' ? (value ?? '') : search\n const onInputChange = strategy === 'input-first' ? onChange : setSearch\n\n const debounceSearch = useDebounceValue(inputValue, 100)\n\n const queryOptions: Partial<UseQueryOptions<TData[]>> = {\n // enabled: limit > 0 ? debounceSearch.length >= limit : true,\n ...initialQueryOptions\n }\n\n const { data } = query(debounceSearch, queryOptions)\n\n const options = data && Array.isArray(data) ? data?.map(formatter) : []\n\n const onValueChange = (value: ComboboxValue<false>) => {\n if (!value) return\n\n if (onChange) onChange(displayValue ? displayValue(value) : value.label)\n }\n\n return (\n <Combobox\n {...props}\n ref={ref}\n options={options}\n searchable\n filterDisabled\n inputValue={inputValue}\n onInputChange={onInputChange}\n multiple={false}\n displayValue={displayValue}\n onChange={onValueChange}\n empty={debounceSearch.length < limit ? `Введите более ${limit} символов для поиска` : undefined}\n />\n )\n }\n) as <TData>(props: AutocompleteBaseProps<TData> & { ref: React.Ref<HTMLInputElement> }) => React.JSX.Element\n"],"names":["AutocompleteBase","forwardRef","formatter","query","initialQueryOptions","value","displayValue","limit","onChange","strategy","props","ref","search","setSearch","useState","inputValue","onInputChange","debounceSearch","useDebounceValue","queryOptions","data","options","jsx","Combobox"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { forwardRef, useState } from 'react'\nimport { type UseQueryOptions, type UseQueryResult } from '@tanstack/react-query'\nimport type { AutocompleteItemOption } from './types'\nimport { useDebounceValue } from '$/shared/hooks'\nimport { Combobox, type ComboboxProps, type ComboboxValue } from '$/shared/ui'\n\nexport interface AutocompleteBaseProps<TData>\n extends Omit<\n ComboboxProps<false>,\n 'options' | 'inputValue' | 'onInputChange' | 'searchable' | 'multiple' | 'value' | 'onChange'\n > {\n /**\n * Функция для запроса основанная на [@tanstack/query](https://tanstack.com/query/latest/docs/framework/react/overview)\n */\n query: (query: string, options?: Partial<UseQueryOptions<TData[]>>) => UseQueryResult<TData[]>\n /**\n * Параметры запроса\n */\n queryOptions?: Partial<UseQueryOptions<TData[]>>\n /**\n * Позволяет форматировать данные\n */\n formatter: (item: TData, index: number, array: TData[]) => AutocompleteItemOption<TData>\n /**\n * Значение инпута\n */\n value?: string\n /**\n * Handler инпута\n */\n onChange?: (value: string) => void\n /**\n * Стратегия управления полем\n * @variation `input-first` - источником правды является инпут\n * @variation `select-first` - источником правды является список\n * @default input-first\n */\n strategy?: 'input-first' | 'select-first'\n limit?: number\n}\n\nexport const AutocompleteBase = forwardRef(\n <TData,>(\n {\n formatter,\n query,\n queryOptions: initialQueryOptions,\n value,\n displayValue,\n limit = 0,\n onChange,\n strategy = 'input-first',\n ...props\n }: AutocompleteBaseProps<TData>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const [search, setSearch] = useState<string>(value ?? '')\n\n const inputValue = strategy === 'input-first' ? (value ?? '') : search\n const onInputChange = strategy === 'input-first' ? onChange : setSearch\n\n const debounceSearch = useDebounceValue(inputValue, 100)\n\n const queryOptions: Partial<UseQueryOptions<TData[]>> = {\n // enabled: limit > 0 ? debounceSearch.length >= limit : true,\n ...initialQueryOptions\n }\n\n const { data } = query(debounceSearch, queryOptions)\n\n const options = data && Array.isArray(data) ? data?.map(formatter) : []\n\n const onValueChange = (value: ComboboxValue<false>) => {\n if (!value) return\n\n if (onChange) onChange(displayValue ? displayValue(value) : value.label)\n }\n\n return (\n <Combobox\n {...props}\n ref={ref}\n options={options}\n searchable\n filterDisabled\n inputValue={inputValue}\n onInputChange={onInputChange}\n multiple={false}\n displayValue={displayValue}\n onChange={onValueChange}\n empty={debounceSearch.length < limit ? `Введите более ${limit} символов для поиска` : undefined}\n />\n )\n }\n) as <TData>(props: AutocompleteBaseProps<TData> & { ref: React.Ref<HTMLInputElement> }) => React.JSX.Element\n"],"names":["AutocompleteBase","forwardRef","formatter","query","initialQueryOptions","value","displayValue","limit","onChange","strategy","props","ref","search","setSearch","useState","inputValue","onInputChange","debounceSearch","useDebounceValue","queryOptions","data","options","jsx","Combobox"],"mappings":"gNAyCO,MAAMA,EAAmBC,EAC9B,CACE,CACE,UAAAC,EACA,MAAAC,EACA,aAAcC,EACd,MAAAC,EACA,aAAAC,EACA,MAAAC,EAAQ,EACR,SAAAC,EACA,SAAAC,EAAW,cACX,GAAGC,CAAA,EAELC,IACG,CACH,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAiBT,GAAS,EAAE,EAElDU,EAAaN,IAAa,cAAiBJ,GAAS,GAAMO,EAC1DI,EAAgBP,IAAa,cAAgBD,EAAWK,EAExDI,EAAiBC,EAAiBH,EAAY,GAAG,EAEjDI,EAAkD,CAEtD,GAAGf,CAAA,EAGC,CAAE,KAAAgB,CAAA,EAASjB,EAAMc,EAAgBE,CAAY,EAE7CE,EAAUD,GAAQ,MAAM,QAAQA,CAAI,EAAIA,GAAM,IAAIlB,CAAS,EAAI,CAAA,EAQrE,OACEoB,EAACC,EAAA,CACE,GAAGb,EACJ,IAAAC,EACA,QAAAU,EACA,WAAU,GACV,eAAc,GACd,WAAAN,EACA,cAAAC,EACA,SAAU,GACV,aAAAV,EACA,SAjBmBD,GAAgC,CAChDA,GAEDG,GAAUA,EAASF,EAAeA,EAAaD,CAAK,EAAIA,EAAM,KAAK,CACzE,EAcI,MAAOY,EAAe,OAASV,EAAQ,iBAAiBA,CAAK,uBAAyB,MAAA,CAAA,CAG5F,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{forwardRef as h}from"react";import{Root as b,Indicator as g}from"@radix-ui/react-checkbox";import{cn as a}from"../../../../utils/cn.js";import{Icon as u}from"../../../icon/Icon.js";const p=h(({classes:e,className:c,invalid:t,disabled:n,externalHandlers:l,dataLayers:f,...r},m)=>{const{onChange:d,...s}=l||{};return o(b,{...r,...s,onCheckedChange:i=>{r.onCheckedChange&&r.onCheckedChange(i),d&&d(i)},disabled:n,ref:m,"aria-invalid":t,"data-layer-id":f?.targetId,className:a("flex h-6 max-h-6 min-h-6 w-6 min-w-6 max-w-6 items-center justify-center rounded-full","relative rounded-sm border-2 border-blue-grey-700 outline-none",'after:left-1/2 after:top-1/2 after:h-10 after:w-10 after:-translate-x-1/2 after:-translate-y-1/2 after:content-[""]',"after:absolute after:rounded-full [&:not(:disabled)]:hover:after:bg-color-primary-tr-hover","after:duration-100 [&:not(:disabled)]:active:after:bg-color-primary-tr-pressed","after:-z-10 [&:not(:disabled)]:focus:after:bg-color-primary-tr-focus",{"border-negative":t,"disabled:border-0 disabled:bg-color-blue-grey-300":n},e?.root,c),children:o(g,{className:a("h-6 w-6 rounded-sm bg-color-primary-default group-disabled:bg-color-primary-disabled",e?.indicator),children:o(u,{name:"general/check",className:a("size-6 text-icon-white",e?.icon)})})})});p.displayName="CheckboxBase";export{p as CheckboxBase};
|
|
2
2
|
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { type CheckboxProps as CheckboxPrimitiveProps, type CheckedState, Indicator, Root } from '@radix-ui/react-checkbox'\nimport { type DataLayers } from '../../../../types'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type CheckboxBaseClasses = {\n root?: string\n indicator?: string\n icon?: string\n}\n\nexport type { CheckedState }\n\ntype ExternalHandlers = {\n onChange?: (value: CheckedState) => void\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLButtonElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLButtonElement>) => void\n}\n\nexport type CheckboxBaseProps = CheckboxPrimitiveProps & {\n /**\n * Дополнительные стили внутренних компонентов\n */\n classes?: CheckboxBaseClasses\n /**\n * Свойство для отображения не валидного поля\n */\n invalid?: boolean\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n /**\n * Даталееры\n */\n dataLayers?: DataLayers\n}\n\nexport const CheckboxBase = forwardRef<HTMLButtonElement, CheckboxBaseProps>(\n ({ classes, className, invalid, disabled, externalHandlers, dataLayers, ...props }, ref) => {\n const { onChange, ...restHandlers } = externalHandlers || {}\n\n const onCheckedChange = (value: CheckedState) => {\n if (props.onCheckedChange) props.onCheckedChange(value)\n if (onChange) onChange(value)\n }\n\n return (\n <Root\n {...props}\n {...restHandlers}\n onCheckedChange={onCheckedChange}\n disabled={disabled}\n ref={ref}\n aria-invalid={invalid}\n data-layer-id={dataLayers?.targetId}\n className={cn(\n 'flex h-6 max-h-6 min-h-6 w-6 min-w-6 max-w-6 items-center justify-center rounded-full',\n 'relative rounded-sm border-2 border-blue-grey-700 outline-none',\n 'after:left-1/2 after:top-1/2 after:h-10 after:w-10 after:-translate-x-1/2 after:-translate-y-1/2 after:content-[\"\"]',\n 'after:absolute after:rounded-full [&:not(:disabled)]:hover:after:bg-color-primary-tr-hover',\n 'after:duration-100 [&:not(:disabled)]:active:after:bg-color-primary-tr-pressed',\n 'after:-z-10 [&:not(:disabled)]:focus:after:bg-color-primary-tr-focus',\n {\n 'border-negative': invalid,\n 'disabled:border-0 disabled:bg-color-blue-grey-300': disabled\n },\n classes?.root,\n className\n )}\n >\n <Indicator\n className={cn(\n 'h-6 w-6 rounded-sm bg-color-primary-default group-disabled:bg-color-primary-disabled',\n classes?.indicator\n )}\n >\n <Icon name='general/check' className={cn('size-6 text-icon-white', classes?.icon)} />\n </Indicator>\n </Root>\n )\n }\n)\nCheckboxBase.displayName = 'CheckboxBase'\n"],"names":["CheckboxBase","forwardRef","classes","className","invalid","disabled","externalHandlers","dataLayers","props","ref","onChange","restHandlers","jsx","Root","value","cn","Indicator","Icon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { type CheckboxProps as CheckboxPrimitiveProps, type CheckedState, Indicator, Root } from '@radix-ui/react-checkbox'\nimport { type DataLayers } from '../../../../types'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type CheckboxBaseClasses = {\n root?: string\n indicator?: string\n icon?: string\n}\n\nexport type { CheckedState }\n\ntype ExternalHandlers = {\n onChange?: (value: CheckedState) => void\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLButtonElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLButtonElement>) => void\n}\n\nexport type CheckboxBaseProps = CheckboxPrimitiveProps & {\n /**\n * Дополнительные стили внутренних компонентов\n */\n classes?: CheckboxBaseClasses\n /**\n * Свойство для отображения не валидного поля\n */\n invalid?: boolean\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n /**\n * Даталееры\n */\n dataLayers?: DataLayers\n}\n\nexport const CheckboxBase = forwardRef<HTMLButtonElement, CheckboxBaseProps>(\n ({ classes, className, invalid, disabled, externalHandlers, dataLayers, ...props }, ref) => {\n const { onChange, ...restHandlers } = externalHandlers || {}\n\n const onCheckedChange = (value: CheckedState) => {\n if (props.onCheckedChange) props.onCheckedChange(value)\n if (onChange) onChange(value)\n }\n\n return (\n <Root\n {...props}\n {...restHandlers}\n onCheckedChange={onCheckedChange}\n disabled={disabled}\n ref={ref}\n aria-invalid={invalid}\n data-layer-id={dataLayers?.targetId}\n className={cn(\n 'flex h-6 max-h-6 min-h-6 w-6 min-w-6 max-w-6 items-center justify-center rounded-full',\n 'relative rounded-sm border-2 border-blue-grey-700 outline-none',\n 'after:left-1/2 after:top-1/2 after:h-10 after:w-10 after:-translate-x-1/2 after:-translate-y-1/2 after:content-[\"\"]',\n 'after:absolute after:rounded-full [&:not(:disabled)]:hover:after:bg-color-primary-tr-hover',\n 'after:duration-100 [&:not(:disabled)]:active:after:bg-color-primary-tr-pressed',\n 'after:-z-10 [&:not(:disabled)]:focus:after:bg-color-primary-tr-focus',\n {\n 'border-negative': invalid,\n 'disabled:border-0 disabled:bg-color-blue-grey-300': disabled\n },\n classes?.root,\n className\n )}\n >\n <Indicator\n className={cn(\n 'h-6 w-6 rounded-sm bg-color-primary-default group-disabled:bg-color-primary-disabled',\n classes?.indicator\n )}\n >\n <Icon name='general/check' className={cn('size-6 text-icon-white', classes?.icon)} />\n </Indicator>\n </Root>\n )\n }\n)\nCheckboxBase.displayName = 'CheckboxBase'\n"],"names":["CheckboxBase","forwardRef","classes","className","invalid","disabled","externalHandlers","dataLayers","props","ref","onChange","restHandlers","jsx","Root","value","cn","Indicator","Icon"],"mappings":"oOAwCO,MAAMA,EAAeC,EAC1B,CAAC,CAAE,QAAAC,EAAS,UAAAC,EAAW,QAAAC,EAAS,SAAAC,EAAU,iBAAAC,EAAkB,WAAAC,EAAY,GAAGC,CAAA,EAASC,IAAQ,CAC1F,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAAiBL,GAAoB,CAAA,EAO1D,OACEM,EAACC,EAAA,CACE,GAAGL,EACH,GAAGG,EACJ,gBATqBG,GAAwB,CAC3CN,EAAM,iBAAiBA,EAAM,gBAAgBM,CAAK,EAClDJ,KAAmBI,CAAK,CAC9B,EAOI,SAAAT,EACA,IAAAI,EACA,eAAcL,EACd,gBAAeG,GAAY,SAC3B,UAAWQ,EACT,wFACA,iEACA,sHACA,6FACA,iFACA,uEACA,CACE,kBAAmBX,EACnB,oDAAqDC,CAAA,EAEvDH,GAAS,KACTC,CAAA,EAGF,SAAAS,EAACI,EAAA,CACC,UAAWD,EACT,uFACAb,GAAS,SAAA,EAGX,SAAAU,EAACK,GAAK,KAAK,gBAAgB,UAAWF,EAAG,yBAA0Bb,GAAS,IAAI,CAAA,CAAG,CAAA,CAAA,CACrF,CAAA,CAGN,CACF,EACAF,EAAa,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as S,jsx as t}from"react/jsx-runtime";import{forwardRef as U}from"react";import{useFloating as q,autoUpdate as G,flip as J,offset as Q}from"@floating-ui/react";import{AnimatePresence as V,motion as W}from"framer-motion";import{useCombobox as X}from"./hooks/useCombobox.js";import{useKeyboardNavigation as Y}from"./hooks/useKeyboardNavigation.js";import{useClickOutsideMany as Z}from"../../../../hooks/useClickOutsideMany.js";import{cn as s}from"../../../../utils/cn.js";import{InputBase as _}from"../input/Input.js";import{Portal as $}from"../../../portal/Portal.js";import{DropdownList as oo}from"../../../dropdownList/DropdownList.js";import{Icon as eo}from"../../../icon/Icon.js";const to=({options:b,multiple:c,value:a,onChange:y,defaultOpen:w,attachmentProps:x,searchable:r,invalid:p,displayValue:u,label:I,disabled:m,readOnly:d,className:R,externalHandlers:i,inputValue:g,filterDisabled:k,onInputChange:B,empty:L,classes:f,portal:N=globalThis?globalThis?.document?.body:void 0,...h},P)=>{const v=h["data-error-message"],{floating:A,...F}=f?.list??{},{refs:e,floatingStyles:M}=q({placement:"bottom-start",strategy:"absolute",middleware:[J({boundary:"clippingAncestors",crossAxis:!1}),Q(4)],whileElementsMounted:G}),{open:l,setOpen:n,state:O,changeHandler:T,options:j,search:z,onInputChange:D,comboboxDisplayValue:C}=X({multiple:c,value:a,onChange:y,searchable:r,defaultOpen:w,displayValue:u,initialOptions:b,filterDisabled:k,externalHandlers:i,externalInputValue:g,externalOnInputChange:B});Y({ref:e.domReference,openChangeHandler:n});const E=()=>a?c&&r?C(a):r?z:C(a):"",H=o=>{o.target&&o.relatedTarget&&n(!1)};Z([e.floating,e.reference],()=>n(!1));const K=N??e.domReference.current;return S("div",{ref:e.setReference,className:s("relative w-full",f?.root,R),children:[t(_,{ref:P,label:I,invalid:p,readOnly:d||!r,value:g||E(),onChange:D,disabled:m,onClick:o=>{l||n(!0),i?.clickHandler?.(o)},onBlur:o=>{i?.blurHandler?.(o),H(o)},onFocus:i?.focusHandler,classes:{input:s({"cursor-pointer":!r,"cursor-default":m,"pointer-events-none":m||d}),...f?.input},autoComplete:"off",attachmentProps:{icon:t(eo,{name:"arrows/arrowRight",className:s("size-6 rotate-90 text-color-blue-grey-600 duration-100",{"-rotate-90":l,"text-color-negative":p})}),onClickIcon:()=>n(o=>!o),...x},"data-id":"combobox-input","data-error-message":v,dataLayers:h?.dataLayers}),t($,{root:K,children:t(V,{children:l&&t(W.div,{ref:e.setFloating,initial:{opacity:0},animate:{opacity:1},transition:{duration:.1},className:s("z-[1000]",A),style:{...M,width:e.reference.current?.getBoundingClientRect().width},children:t(oo,{empty:L,options:j,multiple:c,onPick:T,value:O,displayValue:u,classes:F,target:e.domReference})})})})]})},ho=U(to);export{ho as Combobox};
|
|
2
2
|
//# sourceMappingURL=combobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/combobox.tsx"],"sourcesContent":["import { type ForwardedRef, forwardRef } from 'react'\nimport { autoUpdate, flip, offset, useFloating } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { useClickOutsideMany } from '../../../../hooks'\nimport { useCombobox, useKeyboardNavigation } from './hooks'\nimport type { ChangeHandler, ComboboxValue } from './model'\nimport type { ComboboxItemOption } from './ui'\nimport { type DataLayers, type DeepPartial } from '$/shared/types'\nimport { DropdownList, Icon, InputBase, type InputBaseProps, Portal } from '$/shared/ui'\nimport { type DropdownListClasses, type DropdownListProps } from '$/shared/ui/dropdownList'\nimport { type IFieldAttachmentProps } from '$/shared/ui/formElements/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ComboboxClasses = {\n root?: string\n list?: { floating?: string } & DropdownListClasses\n input?: InputBaseProps['classes']\n}\n\nexport type ExternalHandlers<Multi extends boolean> = {\n changeHandler?: ChangeHandler<Multi>\n clickHandler?: (event: React.MouseEvent<HTMLElement>) => void\n blurHandler?: (event: React.FocusEvent<HTMLElement>) => void\n focusHandler?: (event: React.FocusEvent<HTMLElement>) => void\n inputChangeHandler?: (value: string) => void\n onKeyDown?: (value: React.KeyboardEventHandler<HTMLInputElement>) => void\n}\n\nexport interface ComboboxProps<Multi extends boolean>\n extends Omit<DropdownListProps<Multi>, 'options' | 'value' | 'onChange'>,\n Record<`data-${string}`, unknown> {\n /**\n * Список опций\n */\n options: ComboboxItemOption[]\n /**\n * Выбранное значение\n */\n value?: ComboboxValue<Multi>\n /**\n * Функция для изменения значения\n */\n onChange?: ChangeHandler<Multi>\n /**\n * Свойство управляющее поиском\n */\n searchable?: boolean\n /**\n * Открыть список по умолчанию\n */\n defaultOpen?: boolean\n /**\n * Свойства дополнительной иконки\n */\n attachmentProps?: DeepPartial<IFieldAttachmentProps>\n /**\n * Пометить поле как не валидное\n */\n invalid?: boolean\n /**\n * Функция для управления отображаемым значением\n */\n displayValue?: (option: ComboboxItemOption) => string\n /**\n * Отображаемый лейбл\n */\n label: string\n /**\n * Выключено поле\n */\n disabled?: boolean\n /**\n * Только для чтения\n */\n readOnly?: boolean\n /**\n * Дополнительные стили\n */\n classes?: ComboboxClasses\n /**\n * Дополнительные события\n */\n externalHandlers?: ExternalHandlers<Multi>\n /**\n * Функция для изменения значения поиска\n */\n onInputChange?: (value: string) => void\n /**\n * Значение инпута\n */\n inputValue?: string\n /**\n * Выключить фильтрацию списка\n */\n filterDisabled?: boolean\n /**\n * Включить рендеринг в портале\n * @property {false | HTMLElement} portal document.body\n */\n portal?: false | HTMLElement\n /**\n * Обработка ошибок для даталееров\n */\n ['data-error-message']?: string\n /**\n * Даталееры\n */\n dataLayers?: DataLayers\n}\n\nconst InnerComponent = <Multi extends boolean>(\n {\n options: initialOptions,\n multiple,\n value,\n onChange,\n defaultOpen,\n attachmentProps,\n searchable,\n invalid,\n displayValue,\n label,\n disabled,\n readOnly,\n className,\n externalHandlers,\n inputValue,\n filterDisabled,\n onInputChange: externalInputChangeHandler,\n empty,\n classes,\n portal = globalThis ? globalThis?.document?.body : undefined,\n ...props\n }: ComboboxProps<Multi>,\n ref: ForwardedRef<HTMLInputElement>\n) => {\n const dataErrorMessage = props['data-error-message']\n\n const { floating, ...dropdownClasses } = classes?.list ?? {}\n\n const { refs, floatingStyles } = useFloating<HTMLDivElement>({\n placement: 'bottom-start',\n strategy: 'absolute',\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(4)\n ],\n whileElementsMounted: autoUpdate\n })\n\n const { open, setOpen, state, changeHandler, options, search, onInputChange, comboboxDisplayValue } = useCombobox({\n multiple,\n value,\n onChange,\n searchable,\n defaultOpen,\n displayValue,\n initialOptions,\n filterDisabled,\n externalHandlers,\n externalInputValue: inputValue,\n externalOnInputChange: externalInputChangeHandler\n })\n\n useKeyboardNavigation({ ref: refs.domReference, openChangeHandler: setOpen })\n\n const getLabel = () => {\n if (!value) return ''\n\n if (multiple && searchable) {\n return comboboxDisplayValue(value)\n } else if (searchable) {\n return search\n } else {\n return comboboxDisplayValue(value)\n }\n }\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (event.target && event.relatedTarget) {\n setOpen(false)\n }\n }\n\n useClickOutsideMany([refs.floating, refs.reference as React.MutableRefObject<HTMLElement | null>], () => setOpen(false))\n\n const portalContainer = portal ?? refs.domReference.current!\n\n return (\n <div ref={refs.setReference} className={cn('relative w-full', classes?.root, className)}>\n <InputBase\n ref={ref}\n label={label}\n invalid={invalid}\n readOnly={readOnly || !searchable}\n value={inputValue || getLabel()}\n onChange={onInputChange}\n disabled={disabled}\n onClick={(event) => {\n if (!open) setOpen(true)\n externalHandlers?.clickHandler?.(event)\n }}\n onBlur={(event) => {\n externalHandlers?.blurHandler?.(event)\n handleBlur(event)\n }}\n onFocus={externalHandlers?.focusHandler}\n classes={{\n input: cn({\n 'cursor-pointer': !searchable,\n 'cursor-default': disabled,\n 'pointer-events-none': disabled || readOnly\n }),\n ...classes?.input\n }}\n autoComplete='off'\n attachmentProps={{\n icon: (\n <Icon\n name='arrows/arrowRight'\n className={cn('size-6 rotate-90 text-color-blue-grey-600 duration-100', {\n '-rotate-90': open,\n 'text-color-negative': invalid\n })}\n />\n ),\n onClickIcon: () => setOpen((prev) => !prev),\n ...attachmentProps\n }}\n data-id='combobox-input'\n data-error-message={dataErrorMessage}\n dataLayers={props?.dataLayers}\n />\n\n <Portal root={portalContainer}>\n <AnimatePresence>\n {open && (\n <motion.div\n ref={refs.setFloating}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.1 }}\n className={cn('z-[1000]', floating)}\n style={{\n ...floatingStyles,\n width: refs.reference.current?.getBoundingClientRect().width\n }}\n >\n <DropdownList\n empty={empty}\n options={options}\n multiple={multiple}\n onPick={changeHandler}\n value={state}\n displayValue={displayValue}\n classes={dropdownClasses}\n target={refs.domReference}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </div>\n )\n}\n\nexport const Combobox = forwardRef(InnerComponent) as <Multi extends boolean>(\n props: ComboboxProps<Multi> & { ref?: ForwardedRef<HTMLInputElement> }\n) => React.JSX.Element\n"],"names":["InnerComponent","initialOptions","multiple","value","onChange","defaultOpen","attachmentProps","searchable","invalid","displayValue","label","disabled","readOnly","className","externalHandlers","inputValue","filterDisabled","externalInputChangeHandler","empty","classes","portal","_a","props","ref","dataErrorMessage","floating","dropdownClasses","refs","floatingStyles","useFloating","flip","offset","autoUpdate","open","setOpen","state","changeHandler","options","search","onInputChange","comboboxDisplayValue","useCombobox","useKeyboardNavigation","getLabel","handleBlur","event","useClickOutsideMany","portalContainer","jsxs","cn","jsx","InputBase","Icon","prev","Portal","AnimatePresence","motion","DropdownList","Combobox","forwardRef"],"mappings":"mxEA8GA,MAAMA,GAAiB,CACrB,CACE,QAASC,EACT,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,WAAAC,EACA,QAAAC,EACA,aAAAC,EACA,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,UAAAC,EACA,iBAAAC,EACA,WAAAC,EACA,eAAAC,EACA,cAAeC,EACf,MAAAC,EACA,QAAAC,EACA,OAAAC,EAAS,YAAaC,MAAA,mCAAY,WAAZ,YAAAA,EAAsB,QAAO,OACnD,GAAGC,CACL,EACAC,IACG,OACH,MAAMC,EAAmBF,EAAM,oBAAoB,EAE7C,CAAE,SAAAG,EAAU,GAAGC,IAAoBP,GAAA,YAAAA,EAAS,OAAQ,CAAA,EAEpD,CAAE,KAAAQ,EAAM,eAAAC,CAAA,EAAmBC,EAA4B,CAC3D,UAAW,eACX,SAAU,WACV,WAAY,CACVC,EAAK,CACH,SAAU,oBACV,UAAW,EAAA,CACZ,EACDC,EAAO,CAAC,CAAA,EAEV,qBAAsBC,CAAA,CACvB,EAEK,CAAE,KAAAC,EAAM,QAAAC,EAAS,MAAAC,EAAO,cAAAC,EAAe,QAAAC,EAAS,OAAAC,EAAQ,cAAAC,EAAe,qBAAAC,CAAA,EAAyBC,EAAY,CAChH,SAAAvC,EACA,MAAAC,EACA,SAAAC,EACA,WAAAG,EACA,YAAAF,EACA,aAAAI,EACA,eAAAR,EACA,eAAAe,EACA,iBAAAF,EACA,mBAAoBC,EACpB,sBAAuBE,CAAA,CACxB,EAEDyB,GAAsB,CAAE,IAAKf,EAAK,aAAc,kBAAmBO,EAAS,EAE5E,MAAMS,EAAW,IACVxC,EAEDD,GAAYK,EACPiC,EAAqBrC,CAAK,EACxBI,EACF+B,EAEAE,EAAqBrC,CAAK,EAPhB,GAWfyC,EAAcC,GAA8C,CAC5DA,EAAM,QAAUA,EAAM,eACxBX,EAAQ,EAAK,CAEjB,EAEAY,EAAoB,CAACnB,EAAK,SAAUA,EAAK,SAAuD,EAAG,IAAMO,EAAQ,EAAK,CAAC,EAEvH,MAAMa,EAAkB3B,GAAUO,EAAK,aAAa,QAEpD,OACEqB,EAAC,MAAA,CAAI,IAAKrB,EAAK,aAAc,UAAWsB,EAAG,kBAAmB9B,GAAA,YAAAA,EAAS,KAAMN,CAAS,EACpF,SAAA,CAAAqC,EAACC,GAAA,CACC,IAAA5B,EACA,MAAAb,EACA,QAAAF,EACA,SAAUI,GAAY,CAACL,EACvB,MAAOQ,GAAc4B,EAAA,EACrB,SAAUJ,EACV,SAAA5B,EACA,QAAUkC,GAAU,OACbZ,GAAMC,EAAQ,EAAI,GACvBb,EAAAP,GAAA,YAAAA,EAAkB,eAAlB,MAAAO,EAAA,KAAAP,EAAiC+B,EACnC,EACA,OAASA,GAAU,QACjBxB,EAAAP,GAAA,YAAAA,EAAkB,cAAlB,MAAAO,EAAA,KAAAP,EAAgC+B,GAChCD,EAAWC,CAAK,CAClB,EACA,QAAS/B,GAAA,YAAAA,EAAkB,aAC3B,QAAS,CACP,MAAOmC,EAAG,CACR,iBAAkB,CAAC1C,EACnB,iBAAkBI,EAClB,sBAAuBA,GAAYC,CAAA,CACpC,EACD,GAAGO,GAAA,YAAAA,EAAS,KAAA,EAEd,aAAa,MACb,gBAAiB,CACf,KACE+B,EAACE,GAAA,CACC,KAAK,oBACL,UAAWH,EAAG,yDAA0D,CACtE,aAAchB,EACd,sBAAuBzB,CAAA,CACxB,CAAA,CAAA,EAGL,YAAa,IAAM0B,EAASmB,GAAS,CAACA,CAAI,EAC1C,GAAG/C,CAAA,EAEL,UAAQ,iBACR,qBAAoBkB,EACpB,WAAYF,GAAA,YAAAA,EAAO,UAAA,CAAA,IAGpBgC,GAAA,CAAO,KAAMP,EACZ,SAAAG,EAACK,GACE,SAAAtB,GACCiB,EAACM,EAAO,IAAP,CACC,IAAK7B,EAAK,YACV,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,EACpB,WAAY,CAAE,SAAU,EAAA,EACxB,UAAWsB,EAAG,WAAYxB,CAAQ,EAClC,MAAO,CACL,GAAGG,EACH,OAAOP,EAAAM,EAAK,UAAU,UAAf,YAAAN,EAAwB,wBAAwB,KAAA,EAGzD,SAAA6B,EAACO,GAAA,CACC,MAAAvC,EACA,QAAAmB,EACA,SAAAnC,EACA,OAAQkC,EACR,MAAOD,EACP,aAAA1B,EACA,QAASiB,EACT,OAAQC,EAAK,YAAA,CAAA,CACf,CAAA,EAGN,CAAA,CACF,CAAA,EACF,CAEJ,EAEa+B,GAAWC,EAAW3D,EAAc"}
|
|
1
|
+
{"version":3,"file":"combobox.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/combobox.tsx"],"sourcesContent":["import { type ForwardedRef, forwardRef } from 'react'\nimport { autoUpdate, flip, offset, useFloating } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { useClickOutsideMany } from '../../../../hooks'\nimport { useCombobox, useKeyboardNavigation } from './hooks'\nimport type { ChangeHandler, ComboboxValue } from './model'\nimport type { ComboboxItemOption } from './ui'\nimport { type DataLayers, type DeepPartial } from '$/shared/types'\nimport { DropdownList, Icon, InputBase, type InputBaseProps, Portal } from '$/shared/ui'\nimport { type DropdownListClasses, type DropdownListProps } from '$/shared/ui/dropdownList'\nimport { type IFieldAttachmentProps } from '$/shared/ui/formElements/ui'\nimport { cn } from '$/shared/utils'\n\nexport type ComboboxClasses = {\n root?: string\n list?: { floating?: string } & DropdownListClasses\n input?: InputBaseProps['classes']\n}\n\nexport type ExternalHandlers<Multi extends boolean> = {\n changeHandler?: ChangeHandler<Multi>\n clickHandler?: (event: React.MouseEvent<HTMLElement>) => void\n blurHandler?: (event: React.FocusEvent<HTMLElement>) => void\n focusHandler?: (event: React.FocusEvent<HTMLElement>) => void\n inputChangeHandler?: (value: string) => void\n onKeyDown?: (value: React.KeyboardEventHandler<HTMLInputElement>) => void\n}\n\nexport interface ComboboxProps<Multi extends boolean>\n extends Omit<DropdownListProps<Multi>, 'options' | 'value' | 'onChange'>,\n Record<`data-${string}`, unknown> {\n /**\n * Список опций\n */\n options: ComboboxItemOption[]\n /**\n * Выбранное значение\n */\n value?: ComboboxValue<Multi>\n /**\n * Функция для изменения значения\n */\n onChange?: ChangeHandler<Multi>\n /**\n * Свойство управляющее поиском\n */\n searchable?: boolean\n /**\n * Открыть список по умолчанию\n */\n defaultOpen?: boolean\n /**\n * Свойства дополнительной иконки\n */\n attachmentProps?: DeepPartial<IFieldAttachmentProps>\n /**\n * Пометить поле как не валидное\n */\n invalid?: boolean\n /**\n * Функция для управления отображаемым значением\n */\n displayValue?: (option: ComboboxItemOption) => string\n /**\n * Отображаемый лейбл\n */\n label: string\n /**\n * Выключено поле\n */\n disabled?: boolean\n /**\n * Только для чтения\n */\n readOnly?: boolean\n /**\n * Дополнительные стили\n */\n classes?: ComboboxClasses\n /**\n * Дополнительные события\n */\n externalHandlers?: ExternalHandlers<Multi>\n /**\n * Функция для изменения значения поиска\n */\n onInputChange?: (value: string) => void\n /**\n * Значение инпута\n */\n inputValue?: string\n /**\n * Выключить фильтрацию списка\n */\n filterDisabled?: boolean\n /**\n * Включить рендеринг в портале\n * @property {false | HTMLElement} portal document.body\n */\n portal?: false | HTMLElement\n /**\n * Обработка ошибок для даталееров\n */\n ['data-error-message']?: string\n /**\n * Даталееры\n */\n dataLayers?: DataLayers\n}\n\nconst InnerComponent = <Multi extends boolean>(\n {\n options: initialOptions,\n multiple,\n value,\n onChange,\n defaultOpen,\n attachmentProps,\n searchable,\n invalid,\n displayValue,\n label,\n disabled,\n readOnly,\n className,\n externalHandlers,\n inputValue,\n filterDisabled,\n onInputChange: externalInputChangeHandler,\n empty,\n classes,\n portal = globalThis ? globalThis?.document?.body : undefined,\n ...props\n }: ComboboxProps<Multi>,\n ref: ForwardedRef<HTMLInputElement>\n) => {\n const dataErrorMessage = props['data-error-message']\n\n const { floating, ...dropdownClasses } = classes?.list ?? {}\n\n const { refs, floatingStyles } = useFloating<HTMLDivElement>({\n placement: 'bottom-start',\n strategy: 'absolute',\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(4)\n ],\n whileElementsMounted: autoUpdate\n })\n\n const { open, setOpen, state, changeHandler, options, search, onInputChange, comboboxDisplayValue } = useCombobox({\n multiple,\n value,\n onChange,\n searchable,\n defaultOpen,\n displayValue,\n initialOptions,\n filterDisabled,\n externalHandlers,\n externalInputValue: inputValue,\n externalOnInputChange: externalInputChangeHandler\n })\n\n useKeyboardNavigation({ ref: refs.domReference, openChangeHandler: setOpen })\n\n const getLabel = () => {\n if (!value) return ''\n\n if (multiple && searchable) {\n return comboboxDisplayValue(value)\n } else if (searchable) {\n return search\n } else {\n return comboboxDisplayValue(value)\n }\n }\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (event.target && event.relatedTarget) {\n setOpen(false)\n }\n }\n\n useClickOutsideMany([refs.floating, refs.reference as React.MutableRefObject<HTMLElement | null>], () => setOpen(false))\n\n const portalContainer = portal ?? refs.domReference.current!\n\n return (\n <div ref={refs.setReference} className={cn('relative w-full', classes?.root, className)}>\n <InputBase\n ref={ref}\n label={label}\n invalid={invalid}\n readOnly={readOnly || !searchable}\n value={inputValue || getLabel()}\n onChange={onInputChange}\n disabled={disabled}\n onClick={(event) => {\n if (!open) setOpen(true)\n externalHandlers?.clickHandler?.(event)\n }}\n onBlur={(event) => {\n externalHandlers?.blurHandler?.(event)\n handleBlur(event)\n }}\n onFocus={externalHandlers?.focusHandler}\n classes={{\n input: cn({\n 'cursor-pointer': !searchable,\n 'cursor-default': disabled,\n 'pointer-events-none': disabled || readOnly\n }),\n ...classes?.input\n }}\n autoComplete='off'\n attachmentProps={{\n icon: (\n <Icon\n name='arrows/arrowRight'\n className={cn('size-6 rotate-90 text-color-blue-grey-600 duration-100', {\n '-rotate-90': open,\n 'text-color-negative': invalid\n })}\n />\n ),\n onClickIcon: () => setOpen((prev) => !prev),\n ...attachmentProps\n }}\n data-id='combobox-input'\n data-error-message={dataErrorMessage}\n dataLayers={props?.dataLayers}\n />\n\n <Portal root={portalContainer}>\n <AnimatePresence>\n {open && (\n <motion.div\n ref={refs.setFloating}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.1 }}\n className={cn('z-[1000]', floating)}\n style={{\n ...floatingStyles,\n width: refs.reference.current?.getBoundingClientRect().width\n }}\n >\n <DropdownList\n empty={empty}\n options={options}\n multiple={multiple}\n onPick={changeHandler}\n value={state}\n displayValue={displayValue}\n classes={dropdownClasses}\n target={refs.domReference}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </div>\n )\n}\n\nexport const Combobox = forwardRef(InnerComponent) as <Multi extends boolean>(\n props: ComboboxProps<Multi> & { ref?: ForwardedRef<HTMLInputElement> }\n) => React.JSX.Element\n"],"names":["InnerComponent","initialOptions","multiple","value","onChange","defaultOpen","attachmentProps","searchable","invalid","displayValue","label","disabled","readOnly","className","externalHandlers","inputValue","filterDisabled","externalInputChangeHandler","empty","classes","portal","props","ref","dataErrorMessage","floating","dropdownClasses","refs","floatingStyles","useFloating","flip","offset","autoUpdate","open","setOpen","state","changeHandler","options","search","onInputChange","comboboxDisplayValue","useCombobox","useKeyboardNavigation","getLabel","handleBlur","event","useClickOutsideMany","portalContainer","jsxs","cn","jsx","InputBase","Icon","prev","Portal","AnimatePresence","motion","DropdownList","Combobox","forwardRef"],"mappings":"urBA8GA,MAAMA,GAAiB,CACrB,CACE,QAASC,EACT,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,WAAAC,EACA,QAAAC,EACA,aAAAC,EACA,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,UAAAC,EACA,iBAAAC,EACA,WAAAC,EACA,eAAAC,EACA,cAAeC,EACf,MAAAC,EACA,QAAAC,EACA,OAAAC,EAAS,WAAa,YAAY,UAAU,KAAO,OACnD,GAAGC,CACL,EACAC,IACG,CACH,MAAMC,EAAmBF,EAAM,oBAAoB,EAE7C,CAAE,SAAAG,EAAU,GAAGC,GAAoBN,GAAS,MAAQ,CAAA,EAEpD,CAAE,KAAAO,EAAM,eAAAC,CAAA,EAAmBC,EAA4B,CAC3D,UAAW,eACX,SAAU,WACV,WAAY,CACVC,EAAK,CACH,SAAU,oBACV,UAAW,EAAA,CACZ,EACDC,EAAO,CAAC,CAAA,EAEV,qBAAsBC,CAAA,CACvB,EAEK,CAAE,KAAAC,EAAM,QAAAC,EAAS,MAAAC,EAAO,cAAAC,EAAe,QAAAC,EAAS,OAAAC,EAAQ,cAAAC,EAAe,qBAAAC,CAAA,EAAyBC,EAAY,CAChH,SAAAtC,EACA,MAAAC,EACA,SAAAC,EACA,WAAAG,EACA,YAAAF,EACA,aAAAI,EACA,eAAAR,EACA,eAAAe,EACA,iBAAAF,EACA,mBAAoBC,EACpB,sBAAuBE,CAAA,CACxB,EAEDwB,EAAsB,CAAE,IAAKf,EAAK,aAAc,kBAAmBO,EAAS,EAE5E,MAAMS,EAAW,IACVvC,EAEDD,GAAYK,EACPgC,EAAqBpC,CAAK,EACxBI,EACF8B,EAEAE,EAAqBpC,CAAK,EAPhB,GAWfwC,EAAcC,GAA8C,CAC5DA,EAAM,QAAUA,EAAM,eACxBX,EAAQ,EAAK,CAEjB,EAEAY,EAAoB,CAACnB,EAAK,SAAUA,EAAK,SAAuD,EAAG,IAAMO,EAAQ,EAAK,CAAC,EAEvH,MAAMa,EAAkB1B,GAAUM,EAAK,aAAa,QAEpD,OACEqB,EAAC,MAAA,CAAI,IAAKrB,EAAK,aAAc,UAAWsB,EAAG,kBAAmB7B,GAAS,KAAMN,CAAS,EACpF,SAAA,CAAAoC,EAACC,EAAA,CACC,IAAA5B,EACA,MAAAZ,EACA,QAAAF,EACA,SAAUI,GAAY,CAACL,EACvB,MAAOQ,GAAc2B,EAAA,EACrB,SAAUJ,EACV,SAAA3B,EACA,QAAUiC,GAAU,CACbZ,GAAMC,EAAQ,EAAI,EACvBnB,GAAkB,eAAe8B,CAAK,CACxC,EACA,OAASA,GAAU,CACjB9B,GAAkB,cAAc8B,CAAK,EACrCD,EAAWC,CAAK,CAClB,EACA,QAAS9B,GAAkB,aAC3B,QAAS,CACP,MAAOkC,EAAG,CACR,iBAAkB,CAACzC,EACnB,iBAAkBI,EAClB,sBAAuBA,GAAYC,CAAA,CACpC,EACD,GAAGO,GAAS,KAAA,EAEd,aAAa,MACb,gBAAiB,CACf,KACE8B,EAACE,GAAA,CACC,KAAK,oBACL,UAAWH,EAAG,yDAA0D,CACtE,aAAchB,EACd,sBAAuBxB,CAAA,CACxB,CAAA,CAAA,EAGL,YAAa,IAAMyB,EAASmB,GAAS,CAACA,CAAI,EAC1C,GAAG9C,CAAA,EAEL,UAAQ,iBACR,qBAAoBiB,EACpB,WAAYF,GAAO,UAAA,CAAA,IAGpBgC,EAAA,CAAO,KAAMP,EACZ,SAAAG,EAACK,GACE,SAAAtB,GACCiB,EAACM,EAAO,IAAP,CACC,IAAK7B,EAAK,YACV,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,EACpB,WAAY,CAAE,SAAU,EAAA,EACxB,UAAWsB,EAAG,WAAYxB,CAAQ,EAClC,MAAO,CACL,GAAGG,EACH,MAAOD,EAAK,UAAU,SAAS,wBAAwB,KAAA,EAGzD,SAAAuB,EAACO,GAAA,CACC,MAAAtC,EACA,QAAAkB,EACA,SAAAlC,EACA,OAAQiC,EACR,MAAOD,EACP,aAAAzB,EACA,QAASgB,EACT,OAAQC,EAAK,YAAA,CAAA,CACf,CAAA,EAGN,CAAA,CACF,CAAA,EACF,CAEJ,EAEa+B,GAAWC,EAAW1D,EAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useState as
|
|
1
|
+
import{useState as x,useRef as j,useMemo as R}from"react";import{TypeGuards as S}from"../../../../../utils/typeGuards.js";const U=v=>{const{multiple:H,defaultOpen:y,value:u,onChange:g,initialOptions:r,searchable:h,filterDisabled:b,displayValue:a,externalHandlers:I,externalInputValue:i,externalOnInputChange:c}=v,{changeHandler:m,inputChangeHandler:O}=I??{},[l,p]=x(""),[D,f]=x(y??!1),d=j(!1),L=R(()=>b||!l.length||!h?r:r.filter(e=>e.label.toLowerCase().includes(i?i.toLowerCase():l.toLowerCase())),[i,b,r,l,h]);return{open:D,setOpen:f,changeHandler:e=>{if(!d.current){if(d.current=!0,H){const t=u||[],s=t.some(n=>n.value===e.value);let o;s?o=t.filter(n=>n.value!==e.value):o=[...t,e],g?.(o),m?.(o);const C=t.map(n=>a?a(n):n.label).join(", ");p(C),c?.(C)}else{let t;u?.value===e.value?t=null:t=e,g?.(t),m?.(t);const s=a&&t?a(t):t?.label;p(s??""),c?.(s??""),f(!1)}setTimeout(()=>{d.current=!1},0)}},options:L,search:l,onInputChange:e=>{f(!0),p(e.target.value),O?.(e.target.value),c?.(e.target.value)},state:u,comboboxDisplayValue:e=>{if(e)return S.isArray(e)?e.map(t=>a?a(t):t.label).join(", "):a?a(e):e.label}}};export{U as useCombobox};
|
|
2
2
|
//# sourceMappingURL=useCombobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCombobox.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.ts"],"sourcesContent":["import { useMemo, useRef, useState } from 'react'\nimport type { ExternalHandlers } from '../combobox'\nimport { type ChangeHandler, type ComboboxValue } from '../model'\nimport type { ComboboxItemOption } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype UseComboboxOptions<Multi extends boolean> = {\n initialOptions: ComboboxItemOption[]\n searchable?: boolean\n multiple?: Multi\n value?: ComboboxValue<Multi>\n onChange?: ChangeHandler<Multi>\n displayValue?: (option: ComboboxItemOption) => string\n defaultOpen?: boolean\n externalHandlers?: ExternalHandlers<Multi>\n externalInputValue?: string\n externalOnInputChange?: (value: string) => void\n filterDisabled?: boolean\n}\n\nexport const useCombobox = <Multi extends boolean>(props: UseComboboxOptions<Multi>) => {\n const {\n multiple,\n defaultOpen,\n value,\n onChange,\n initialOptions,\n searchable,\n filterDisabled,\n displayValue,\n externalHandlers,\n externalInputValue,\n externalOnInputChange\n } = props\n const { changeHandler: externalChangeHandler, inputChangeHandler: externalInputChangeHandler } = externalHandlers ?? {}\n\n const [search, setSearch] = useState<string>('')\n const [open, setOpen] = useState<boolean>(defaultOpen ?? false)\n\n const isUpdatingRef = useRef<boolean>(false)\n\n const options = useMemo<ComboboxItemOption[]>(() => {\n if (filterDisabled) {\n return initialOptions\n }\n\n if (!search.length || !searchable) {\n return initialOptions\n }\n\n return initialOptions.filter((option) =>\n option.label.toLowerCase().includes(externalInputValue ? externalInputValue.toLowerCase() : search.toLowerCase())\n )\n }, [externalInputValue, filterDisabled, initialOptions, search, searchable])\n\n const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setOpen(true)\n\n setSearch(e.target.value)\n externalInputChangeHandler?.(e.target.value)\n externalOnInputChange?.(e.target.value)\n }\n\n const changeHandler = (newValue: ComboboxItemOption) => {\n if (isUpdatingRef.current) return\n\n isUpdatingRef.current = true\n\n if (multiple) {\n const prev = (value as ComboboxItemOption[]) || []\n const exists = prev.some((option) => option.value === newValue.value)\n\n let updatedValue: ComboboxItemOption[]\n\n if (exists) {\n updatedValue = prev.filter((option) => option.value !== newValue.value)\n } else {\n updatedValue = [...prev, newValue]\n }\n\n onChange?.(updatedValue as ComboboxValue<Multi>)\n externalChangeHandler?.(updatedValue as ComboboxValue<Multi>)\n\n const searchValue = prev.map((option) => (displayValue ? displayValue(option) : option.label)).join(', ')\n setSearch(searchValue)\n externalOnInputChange?.(searchValue)\n } else {\n let updated: ComboboxValue<Multi>\n\n if ((value as ComboboxItemOption)?.value === newValue.value) {\n updated = null as ComboboxValue<Multi>\n } else {\n updated = newValue as ComboboxValue<Multi>\n }\n\n onChange?.(updated)\n externalChangeHandler?.(updated)\n\n const label = displayValue && updated ? displayValue(updated as ComboboxItemOption) : (updated as ComboboxItemOption)?.label\n setSearch(label ?? '')\n externalOnInputChange?.(label ?? '')\n setOpen(false)\n }\n\n setTimeout(() => {\n isUpdatingRef.current = false\n }, 0)\n }\n\n const comboboxDisplayValue = (value: ComboboxValue<Multi>) => {\n if (!value) return\n\n if (TypeGuards.isArray(value)) {\n return value.map((item) => (displayValue ? displayValue(item) : item.label)).join(', ')\n }\n\n return displayValue ? displayValue(value) : value.label\n }\n\n return {\n open,\n setOpen,\n changeHandler,\n options,\n search,\n onInputChange,\n state: value,\n comboboxDisplayValue\n }\n}\n"],"names":["useCombobox","props","multiple","defaultOpen","value","onChange","initialOptions","searchable","filterDisabled","displayValue","externalHandlers","externalInputValue","externalOnInputChange","externalChangeHandler","externalInputChangeHandler","search","setSearch","useState","open","setOpen","isUpdatingRef","useRef","options","useMemo","option","newValue","prev","exists","updatedValue","searchValue","updated","label","TypeGuards","item"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCombobox.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.ts"],"sourcesContent":["import { useMemo, useRef, useState } from 'react'\nimport type { ExternalHandlers } from '../combobox'\nimport { type ChangeHandler, type ComboboxValue } from '../model'\nimport type { ComboboxItemOption } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype UseComboboxOptions<Multi extends boolean> = {\n initialOptions: ComboboxItemOption[]\n searchable?: boolean\n multiple?: Multi\n value?: ComboboxValue<Multi>\n onChange?: ChangeHandler<Multi>\n displayValue?: (option: ComboboxItemOption) => string\n defaultOpen?: boolean\n externalHandlers?: ExternalHandlers<Multi>\n externalInputValue?: string\n externalOnInputChange?: (value: string) => void\n filterDisabled?: boolean\n}\n\nexport const useCombobox = <Multi extends boolean>(props: UseComboboxOptions<Multi>) => {\n const {\n multiple,\n defaultOpen,\n value,\n onChange,\n initialOptions,\n searchable,\n filterDisabled,\n displayValue,\n externalHandlers,\n externalInputValue,\n externalOnInputChange\n } = props\n const { changeHandler: externalChangeHandler, inputChangeHandler: externalInputChangeHandler } = externalHandlers ?? {}\n\n const [search, setSearch] = useState<string>('')\n const [open, setOpen] = useState<boolean>(defaultOpen ?? false)\n\n const isUpdatingRef = useRef<boolean>(false)\n\n const options = useMemo<ComboboxItemOption[]>(() => {\n if (filterDisabled) {\n return initialOptions\n }\n\n if (!search.length || !searchable) {\n return initialOptions\n }\n\n return initialOptions.filter((option) =>\n option.label.toLowerCase().includes(externalInputValue ? externalInputValue.toLowerCase() : search.toLowerCase())\n )\n }, [externalInputValue, filterDisabled, initialOptions, search, searchable])\n\n const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setOpen(true)\n\n setSearch(e.target.value)\n externalInputChangeHandler?.(e.target.value)\n externalOnInputChange?.(e.target.value)\n }\n\n const changeHandler = (newValue: ComboboxItemOption) => {\n if (isUpdatingRef.current) return\n\n isUpdatingRef.current = true\n\n if (multiple) {\n const prev = (value as ComboboxItemOption[]) || []\n const exists = prev.some((option) => option.value === newValue.value)\n\n let updatedValue: ComboboxItemOption[]\n\n if (exists) {\n updatedValue = prev.filter((option) => option.value !== newValue.value)\n } else {\n updatedValue = [...prev, newValue]\n }\n\n onChange?.(updatedValue as ComboboxValue<Multi>)\n externalChangeHandler?.(updatedValue as ComboboxValue<Multi>)\n\n const searchValue = prev.map((option) => (displayValue ? displayValue(option) : option.label)).join(', ')\n setSearch(searchValue)\n externalOnInputChange?.(searchValue)\n } else {\n let updated: ComboboxValue<Multi>\n\n if ((value as ComboboxItemOption)?.value === newValue.value) {\n updated = null as ComboboxValue<Multi>\n } else {\n updated = newValue as ComboboxValue<Multi>\n }\n\n onChange?.(updated)\n externalChangeHandler?.(updated)\n\n const label = displayValue && updated ? displayValue(updated as ComboboxItemOption) : (updated as ComboboxItemOption)?.label\n setSearch(label ?? '')\n externalOnInputChange?.(label ?? '')\n setOpen(false)\n }\n\n setTimeout(() => {\n isUpdatingRef.current = false\n }, 0)\n }\n\n const comboboxDisplayValue = (value: ComboboxValue<Multi>) => {\n if (!value) return\n\n if (TypeGuards.isArray(value)) {\n return value.map((item) => (displayValue ? displayValue(item) : item.label)).join(', ')\n }\n\n return displayValue ? displayValue(value) : value.label\n }\n\n return {\n open,\n setOpen,\n changeHandler,\n options,\n search,\n onInputChange,\n state: value,\n comboboxDisplayValue\n }\n}\n"],"names":["useCombobox","props","multiple","defaultOpen","value","onChange","initialOptions","searchable","filterDisabled","displayValue","externalHandlers","externalInputValue","externalOnInputChange","externalChangeHandler","externalInputChangeHandler","search","setSearch","useState","open","setOpen","isUpdatingRef","useRef","options","useMemo","option","newValue","prev","exists","updatedValue","searchValue","updated","label","TypeGuards","item"],"mappings":"0HAoBO,MAAMA,EAAsCC,GAAqC,CACtF,KAAM,CACJ,SAAAC,EACA,YAAAC,EACA,MAAAC,EACA,SAAAC,EACA,eAAAC,EACA,WAAAC,EACA,eAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,mBAAAC,EACA,sBAAAC,CAAA,EACEX,EACE,CAAE,cAAeY,EAAuB,mBAAoBC,CAAA,EAA+BJ,GAAoB,CAAA,EAE/G,CAACK,EAAQC,CAAS,EAAIC,EAAiB,EAAE,EACzC,CAACC,EAAMC,CAAO,EAAIF,EAAkBd,GAAe,EAAK,EAExDiB,EAAgBC,EAAgB,EAAK,EAErCC,EAAUC,EAA8B,IACxCf,GAIA,CAACO,EAAO,QAAU,CAACR,EACdD,EAGFA,EAAe,OAAQkB,GAC5BA,EAAO,MAAM,YAAA,EAAc,SAASb,EAAqBA,EAAmB,cAAgBI,EAAO,aAAa,CAAA,EAEjH,CAACJ,EAAoBH,EAAgBF,EAAgBS,EAAQR,CAAU,CAAC,EAkE3E,MAAO,CACL,KAAAW,EACA,QAAAC,EACA,cA3DqBM,GAAiC,CACtD,GAAI,CAAAL,EAAc,QAIlB,IAFAA,EAAc,QAAU,GAEpBlB,EAAU,CACZ,MAAMwB,EAAQtB,GAAkC,CAAA,EAC1CuB,EAASD,EAAK,KAAMF,GAAWA,EAAO,QAAUC,EAAS,KAAK,EAEpE,IAAIG,EAEAD,EACFC,EAAeF,EAAK,OAAQF,GAAWA,EAAO,QAAUC,EAAS,KAAK,EAEtEG,EAAe,CAAC,GAAGF,EAAMD,CAAQ,EAGnCpB,IAAWuB,CAAoC,EAC/Cf,IAAwBe,CAAoC,EAE5D,MAAMC,EAAcH,EAAK,IAAKF,GAAYf,EAAeA,EAAae,CAAM,EAAIA,EAAO,KAAM,EAAE,KAAK,IAAI,EACxGR,EAAUa,CAAW,EACrBjB,IAAwBiB,CAAW,CACrC,KAAO,CACL,IAAIC,EAEC1B,GAA8B,QAAUqB,EAAS,MACpDK,EAAU,KAEVA,EAAUL,EAGZpB,IAAWyB,CAAO,EAClBjB,IAAwBiB,CAAO,EAE/B,MAAMC,EAAQtB,GAAgBqB,EAAUrB,EAAaqB,CAA6B,EAAKA,GAAgC,MACvHd,EAAUe,GAAS,EAAE,EACrBnB,IAAwBmB,GAAS,EAAE,EACnCZ,EAAQ,EAAK,CACf,CAEA,WAAW,IAAM,CACfC,EAAc,QAAU,EAC1B,EAAG,CAAC,EACN,EAgBE,QAAAE,EACA,OAAAP,EACA,cAtEqB,GAA2C,CAChEI,EAAQ,EAAI,EAEZH,EAAU,EAAE,OAAO,KAAK,EACxBF,IAA6B,EAAE,OAAO,KAAK,EAC3CF,IAAwB,EAAE,OAAO,KAAK,CACxC,EAiEE,MAAOR,EACP,qBAlB4BA,GAAgC,CAC5D,GAAKA,EAEL,OAAI4B,EAAW,QAAQ5B,CAAK,EACnBA,EAAM,IAAK6B,GAAUxB,EAAeA,EAAawB,CAAI,EAAIA,EAAK,KAAM,EAAE,KAAK,IAAI,EAGjFxB,EAAeA,EAAaL,CAAK,EAAIA,EAAM,KACpD,CAUE,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function o(...r){return c=>r.forEach(n=>n?.(c))}export{o as call};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/model/utils.ts"],"sourcesContent":["type Fn<T, R> = (arg: T) => R\n\nexport function call<T>(...functions: Array<Fn<T, void> | undefined>): Fn<T, void> {\n return (arg: T) => functions.forEach((fn) => fn?.(arg))\n}\n"],"names":["call","functions","arg","fn"],"mappings":"AAEO,SAASA,KAAWC,EAAwD,CACjF,OAAQC,GAAWD,EAAU,QAASE,GAAOA,
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/model/utils.ts"],"sourcesContent":["type Fn<T, R> = (arg: T) => R\n\nexport function call<T>(...functions: Array<Fn<T, void> | undefined>): Fn<T, void> {\n return (arg: T) => functions.forEach((fn) => fn?.(arg))\n}\n"],"names":["call","functions","arg","fn"],"mappings":"AAEO,SAASA,KAAWC,EAAwD,CACjF,OAAQC,GAAWD,EAAU,QAASE,GAAOA,IAAKD,CAAG,CAAC,CACxD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as a,jsxs as B}from"react/jsx-runtime";import{forwardRef as F,useRef as M,useState as l}from"react";import{createPortal as T}from"react-dom";import{format as C,parse as j,isValid as _}from"date-fns";import{AnimatePresence as q}from"framer-motion";import{DATE_VISIBLE_PATTERN as m}from"../../../calendar/model/utils.js";import{cn as x}from"../../../../utils/cn.js";import{MaskInput as v}from"../maskInput/MaskInput.js";import{Calendar as H}from"../../../calendar/Calendar.js";import{useClickOutside as K}from"../../../../hooks/useClickOutside.js";import{Icon as L}from"../../../icon/Icon.js";const $=F(({defaultOpen:y=!1,value:f,onChange:t,disabled:r,externalHandlers:k,classes:w,...u},O)=>{const{onChange:o,onFocus:d,...I}=k||{},p=M(null),[P,n]=l(y),g=()=>{n(e=>!e)},[S,s]=l(new Date),[R,D]=l(C(new Date,m));K(p,()=>n(!1));const V=f?new Date(f):new Date,N=e=>{if(D(e),!/^(\d{2})\.(\d{2})\.(\d{4})$/.test(e))return;const c=j(e,m,new Date);if(_(c)){const h=c.toISOString();t&&t(h),o&&o(h),s(c)}},b=e=>{s(e);const i=e.toISOString();t&&t(i),o&&o(i),D(C(e,m)),n(!1)},{root:E,input:A}=w||{};return a("div",{ref:p,className:x("relative w-full",E),children:B(q,{mode:"sync",children:[a(v,{ref:O,...u,...I,disabled:r,mask:"##.##.####",classes:A,value:R,onChange:e=>N(e.target.value),autoComplete:"off",onFocus:e=>{n(!0),d&&d(e)},onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&g()},attachmentProps:{...u.attachmentProps,icon:a(L,{name:"general/calendar",className:x("text-icon-blue-grey-600",{"text-icon-disabled":r})}),onClickIcon:g,disabled:r}}),P&&T(a(H,{required:!0,mode:"single",month:S,onMonthChange:s,selected:V,onSelect:b,className:"absolute right-0 top-full"}),document.body)]})})});$.displayName="DayPickerBase";export{$ as DayPickerBase};
|
|
2
2
|
//# sourceMappingURL=DayPicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DayPicker.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.tsx"],"sourcesContent":["import { forwardRef, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { format, isValid, parse } from 'date-fns'\nimport { AnimatePresence } from 'framer-motion'\nimport { type InputBaseClasses } from '../input/Input'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Calendar, DATE_VISIBLE_PATTERN, Icon, MaskInput, type MaskInputProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype 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 DayPickerClasses = {\n root?: string\n input?: InputBaseClasses\n}\n\nexport type DayPickerProps = Omit<MaskInputProps, 'value' | 'onChange' | 'mask' | 'classes'> & {\n /**\n * Указывает, открыт ли календарь по умолчанию\n */\n defaultOpen?: boolean\n /**\n * Значение поля\n */\n value?: string\n /**\n * Функция изменения значения\n */\n onChange?: (value: string) => void\n /**\n * Внешние классы которыми можно поменять стили\n */\n classes?: DayPickerClasses\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const DayPickerBase = forwardRef<HTMLInputElement, DayPickerProps>(\n ({ defaultOpen = false, value, onChange, disabled, externalHandlers, classes, ...props }, ref) => {\n const { onChange: externalOnChange, onFocus: externalOnFocus, ...restHandlers } = externalHandlers || {}\n\n const containerRef = useRef<HTMLDivElement>(null)\n\n const [calendarOpen, setCalendarOpen] = useState<boolean>(defaultOpen)\n const onCalendarOpenChange = () => {\n setCalendarOpen((prev) => !prev)\n }\n\n const [month, setMonth] = useState<Date>(new Date())\n const [visibleValue, setVisibleValue] = useState<string>(format(new Date(), DATE_VISIBLE_PATTERN))\n\n useClickOutside(containerRef, () => setCalendarOpen(false))\n\n const date = value ? new Date(value) : new Date()\n\n const onValueChange = (value: string) => {\n setVisibleValue(value)\n\n const dateRegex = /^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/\n\n if (!dateRegex.test(value)) {\n return\n }\n\n const parsedDate = parse(value, DATE_VISIBLE_PATTERN, new Date())\n\n if (isValid(parsedDate)) {\n const isoDate = parsedDate.toISOString()\n\n if (onChange) onChange(isoDate)\n if (externalOnChange) externalOnChange(isoDate)\n setMonth(parsedDate)\n }\n }\n\n const onDateChange = (date: Date) => {\n setMonth(date)\n\n const isoDate = date.toISOString()\n\n if (onChange) onChange(isoDate)\n if (externalOnChange) externalOnChange(isoDate)\n\n setVisibleValue(format(date, DATE_VISIBLE_PATTERN))\n setCalendarOpen(false)\n }\n\n const { root, input } = classes || {}\n\n return (\n <div ref={containerRef} className={cn('relative w-full', root)}>\n <AnimatePresence mode='sync'>\n <MaskInput\n ref={ref}\n {...props}\n {...restHandlers}\n disabled={disabled}\n mask='##.##.####'\n classes={input}\n value={visibleValue}\n onChange={(event) => onValueChange(event.target.value)}\n autoComplete='off'\n onFocus={(event) => {\n setCalendarOpen(true)\n if (externalOnFocus) externalOnFocus(event)\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n onCalendarOpenChange()\n }\n }}\n attachmentProps={{\n ...props.attachmentProps,\n icon: (\n <Icon name='general/calendar' className={cn('text-icon-blue-grey-600', { 'text-icon-disabled': disabled })} />\n ),\n onClickIcon: onCalendarOpenChange,\n disabled\n }}\n />\n {calendarOpen &&\n createPortal(\n <Calendar\n required\n mode='single'\n month={month}\n onMonthChange={setMonth}\n selected={date}\n onSelect={onDateChange}\n className='absolute right-0 top-full'\n />,\n document.body\n )}\n </AnimatePresence>\n </div>\n )\n }\n)\nDayPickerBase.displayName = 'DayPickerBase'\n"],"names":["DayPickerBase","forwardRef","defaultOpen","value","onChange","disabled","externalHandlers","classes","props","ref","externalOnChange","externalOnFocus","restHandlers","containerRef","useRef","calendarOpen","setCalendarOpen","useState","onCalendarOpenChange","prev","month","setMonth","visibleValue","setVisibleValue","format","DATE_VISIBLE_PATTERN","useClickOutside","date","onValueChange","parsedDate","parse","isValid","isoDate","onDateChange","root","input","jsx","cn","jsxs","AnimatePresence","MaskInput","event","Icon","createPortal","Calendar"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DayPicker.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.tsx"],"sourcesContent":["import { forwardRef, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\nimport { format, isValid, parse } from 'date-fns'\nimport { AnimatePresence } from 'framer-motion'\nimport { type InputBaseClasses } from '../input/Input'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Calendar, DATE_VISIBLE_PATTERN, Icon, MaskInput, type MaskInputProps } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype 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 DayPickerClasses = {\n root?: string\n input?: InputBaseClasses\n}\n\nexport type DayPickerProps = Omit<MaskInputProps, 'value' | 'onChange' | 'mask' | 'classes'> & {\n /**\n * Указывает, открыт ли календарь по умолчанию\n */\n defaultOpen?: boolean\n /**\n * Значение поля\n */\n value?: string\n /**\n * Функция изменения значения\n */\n onChange?: (value: string) => void\n /**\n * Внешние классы которыми можно поменять стили\n */\n classes?: DayPickerClasses\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const DayPickerBase = forwardRef<HTMLInputElement, DayPickerProps>(\n ({ defaultOpen = false, value, onChange, disabled, externalHandlers, classes, ...props }, ref) => {\n const { onChange: externalOnChange, onFocus: externalOnFocus, ...restHandlers } = externalHandlers || {}\n\n const containerRef = useRef<HTMLDivElement>(null)\n\n const [calendarOpen, setCalendarOpen] = useState<boolean>(defaultOpen)\n const onCalendarOpenChange = () => {\n setCalendarOpen((prev) => !prev)\n }\n\n const [month, setMonth] = useState<Date>(new Date())\n const [visibleValue, setVisibleValue] = useState<string>(format(new Date(), DATE_VISIBLE_PATTERN))\n\n useClickOutside(containerRef, () => setCalendarOpen(false))\n\n const date = value ? new Date(value) : new Date()\n\n const onValueChange = (value: string) => {\n setVisibleValue(value)\n\n const dateRegex = /^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/\n\n if (!dateRegex.test(value)) {\n return\n }\n\n const parsedDate = parse(value, DATE_VISIBLE_PATTERN, new Date())\n\n if (isValid(parsedDate)) {\n const isoDate = parsedDate.toISOString()\n\n if (onChange) onChange(isoDate)\n if (externalOnChange) externalOnChange(isoDate)\n setMonth(parsedDate)\n }\n }\n\n const onDateChange = (date: Date) => {\n setMonth(date)\n\n const isoDate = date.toISOString()\n\n if (onChange) onChange(isoDate)\n if (externalOnChange) externalOnChange(isoDate)\n\n setVisibleValue(format(date, DATE_VISIBLE_PATTERN))\n setCalendarOpen(false)\n }\n\n const { root, input } = classes || {}\n\n return (\n <div ref={containerRef} className={cn('relative w-full', root)}>\n <AnimatePresence mode='sync'>\n <MaskInput\n ref={ref}\n {...props}\n {...restHandlers}\n disabled={disabled}\n mask='##.##.####'\n classes={input}\n value={visibleValue}\n onChange={(event) => onValueChange(event.target.value)}\n autoComplete='off'\n onFocus={(event) => {\n setCalendarOpen(true)\n if (externalOnFocus) externalOnFocus(event)\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n onCalendarOpenChange()\n }\n }}\n attachmentProps={{\n ...props.attachmentProps,\n icon: (\n <Icon name='general/calendar' className={cn('text-icon-blue-grey-600', { 'text-icon-disabled': disabled })} />\n ),\n onClickIcon: onCalendarOpenChange,\n disabled\n }}\n />\n {calendarOpen &&\n createPortal(\n <Calendar\n required\n mode='single'\n month={month}\n onMonthChange={setMonth}\n selected={date}\n onSelect={onDateChange}\n className='absolute right-0 top-full'\n />,\n document.body\n )}\n </AnimatePresence>\n </div>\n )\n }\n)\nDayPickerBase.displayName = 'DayPickerBase'\n"],"names":["DayPickerBase","forwardRef","defaultOpen","value","onChange","disabled","externalHandlers","classes","props","ref","externalOnChange","externalOnFocus","restHandlers","containerRef","useRef","calendarOpen","setCalendarOpen","useState","onCalendarOpenChange","prev","month","setMonth","visibleValue","setVisibleValue","format","DATE_VISIBLE_PATTERN","useClickOutside","date","onValueChange","parsedDate","parse","isValid","isoDate","onDateChange","root","input","jsx","cn","jsxs","AnimatePresence","MaskInput","event","Icon","createPortal","Calendar"],"mappings":"0lBA4CO,MAAMA,EAAgBC,EAC3B,CAAC,CAAE,YAAAC,EAAc,GAAO,MAAAC,EAAO,SAAAC,EAAU,SAAAC,EAAU,iBAAAC,EAAkB,QAAAC,EAAS,GAAGC,CAAA,EAASC,IAAQ,CAChG,KAAM,CAAE,SAAUC,EAAkB,QAASC,EAAiB,GAAGC,CAAA,EAAiBN,GAAoB,CAAA,EAEhGO,EAAeC,EAAuB,IAAI,EAE1C,CAACC,EAAcC,CAAe,EAAIC,EAAkBf,CAAW,EAC/DgB,EAAuB,IAAM,CACjCF,EAAiBG,GAAS,CAACA,CAAI,CACjC,EAEM,CAACC,EAAOC,CAAQ,EAAIJ,EAAe,IAAI,IAAM,EAC7C,CAACK,EAAcC,CAAe,EAAIN,EAAiBO,EAAO,IAAI,KAAQC,CAAoB,CAAC,EAEjGC,EAAgBb,EAAc,IAAMG,EAAgB,EAAK,CAAC,EAE1D,MAAMW,EAAOxB,EAAQ,IAAI,KAAKA,CAAK,MAAQ,KAErCyB,EAAiBzB,GAAkB,CAKvC,GAJAoB,EAAgBpB,CAAK,EAIjB,CAFc,8BAEH,KAAKA,CAAK,EACvB,OAGF,MAAM0B,EAAaC,EAAM3B,EAAOsB,EAAsB,IAAI,IAAM,EAEhE,GAAIM,EAAQF,CAAU,EAAG,CACvB,MAAMG,EAAUH,EAAW,YAAA,EAEvBzB,KAAmB4B,CAAO,EAC1BtB,KAAmCsB,CAAO,EAC9CX,EAASQ,CAAU,CACrB,CACF,EAEMI,EAAgBN,GAAe,CACnCN,EAASM,CAAI,EAEb,MAAMK,EAAUL,EAAK,YAAA,EAEjBvB,KAAmB4B,CAAO,EAC1BtB,KAAmCsB,CAAO,EAE9CT,EAAgBC,EAAOG,EAAMF,CAAoB,CAAC,EAClDT,EAAgB,EAAK,CACvB,EAEM,CAAE,KAAAkB,EAAM,MAAAC,CAAA,EAAU5B,GAAW,CAAA,EAEnC,OACE6B,EAAC,MAAA,CAAI,IAAKvB,EAAc,UAAWwB,EAAG,kBAAmBH,CAAI,EAC3D,SAAAI,EAACC,EAAA,CAAgB,KAAK,OACpB,SAAA,CAAAH,EAACI,EAAA,CACC,IAAA/B,EACC,GAAGD,EACH,GAAGI,EACJ,SAAAP,EACA,KAAK,aACL,QAAS8B,EACT,MAAOb,EACP,SAAWmB,GAAUb,EAAca,EAAM,OAAO,KAAK,EACrD,aAAa,MACb,QAAUA,GAAU,CAClBzB,EAAgB,EAAI,EAChBL,KAAiC8B,CAAK,CAC5C,EACA,UAAYA,GAAU,EAChBA,EAAM,MAAQ,SAAWA,EAAM,MAAQ,MACzCvB,EAAA,CAEJ,EACA,gBAAiB,CACf,GAAGV,EAAM,gBACT,KACE4B,EAACM,EAAA,CAAK,KAAK,mBAAmB,UAAWL,EAAG,0BAA2B,CAAE,qBAAsBhC,CAAA,CAAU,CAAA,CAAG,EAE9G,YAAaa,EACb,SAAAb,CAAA,CACF,CAAA,EAEDU,GACC4B,EACEP,EAACQ,EAAA,CACC,SAAQ,GACR,KAAK,SACL,MAAAxB,EACA,cAAeC,EACf,SAAUM,EACV,SAAUM,EACV,UAAU,2BAAA,CAAA,EAEZ,SAAS,IAAA,CACX,CAAA,CACJ,CAAA,CACF,CAEJ,CACF,EACAjC,EAAc,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Combobox as o}from"./combobox/combobox.js";import{UploaderBase as r}from"./uploader/UploaderBase.js";import{InputOtpBase as m}from"./inputOtp/InputOtpBase.js";import{TextareaBase as t}from"./textarea/Textarea.js";import{RadioGroupBase as e}from"./radio/RadioGroup.js";import{SwitchBase as p}from"./switch/Switch.js";import{DayPickerBase as a}from"./dayPicker/DayPicker.js";import{CheckboxBase as i}from"./checkbox/Checkbox.js";import{MaskInput as f}from"./maskInput/MaskInput.js";import{AutocompleteBase as s}from"./autocomplete/Autocomplete.js";import{SliderBase as B}from"./slider/SliderBase.js";import{InputBase as c}from"./input/Input.js";const w={InputBase:c,SliderBase:B,AutocompleteBase:s,MaskInput:f,CheckboxBase:i,DayPickerBase:a,SwitchBase:p,RadioGroupBase:e,TextareaBase:t,InputOtpBase:m,UploaderBase:r,Combobox:o};export{w as Uncontrolled};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../lib/shared/ui/formElements/uncontrolled/index.ts"],"sourcesContent":["import { InputBase } from './input'\nexport type { InputBaseProps } from './input'\nimport { MaskInput } from './maskInput'\nexport type { MaskInputProps } from './maskInput'\nimport { CheckboxBase } from './checkbox'\nexport type { CheckboxBaseProps, CheckedState } from './checkbox'\nimport { DayPickerBase } from './dayPicker'\nexport type { DayPickerProps } from './dayPicker'\nimport { SwitchBase } from './switch'\nexport type { SwitchBaseProps } from './switch'\nimport { AutocompleteBase } from './autocomplete'\nimport { SliderBase } from './slider'\nexport type { AutocompleteBaseProps, AutocompleteItemOption } from './autocomplete'\nimport { RadioGroupBase } from './radio'\nexport type { RadioGroupBaseProps, RadioOption } from './radio'\nimport { TextareaBase } from './textarea'\nimport { UploaderBase } from './uploader'\nexport type { TextareaBaseProps } from './textarea'\nimport { InputOtpBase } from './inputOtp'\nexport type { InputOtpBaseProps } from './inputOtp'\nimport { Combobox } from './combobox'\nexport type { ComboboxProps, ComboboxItemOption } from './combobox'\n\n/**\n * @example\n * ```ts\n * It's ok\n * import { InputBase } from '@scbt-ecom/ui'\n *\n * Not ok (tree shaking doesn't work)\n * import { Uncontrolled } from '@scbt-ecom/ui'\n * ```\n * @deprecated use Select instead\n */\nexport const Uncontrolled = {\n InputBase,\n SliderBase,\n AutocompleteBase,\n MaskInput,\n CheckboxBase,\n DayPickerBase,\n SwitchBase,\n RadioGroupBase,\n TextareaBase,\n InputOtpBase,\n UploaderBase,\n Combobox\n}\n"],"names":["Uncontrolled","InputBase","SliderBase","AutocompleteBase","MaskInput","CheckboxBase","DayPickerBase","SwitchBase","RadioGroupBase","TextareaBase","InputOtpBase","UploaderBase","Combobox"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../lib/shared/ui/formElements/uncontrolled/index.ts"],"sourcesContent":["import { InputBase } from './input'\nexport type { InputBaseProps } from './input'\nimport { MaskInput } from './maskInput'\nexport type { MaskInputProps } from './maskInput'\nimport { CheckboxBase } from './checkbox'\nexport type { CheckboxBaseProps, CheckedState } from './checkbox'\nimport { DayPickerBase } from './dayPicker'\nexport type { DayPickerProps } from './dayPicker'\nimport { SwitchBase } from './switch'\nexport type { SwitchBaseProps } from './switch'\nimport { AutocompleteBase } from './autocomplete'\nimport { SliderBase } from './slider'\nexport type { AutocompleteBaseProps, AutocompleteItemOption } from './autocomplete'\nimport { RadioGroupBase } from './radio'\nexport type { RadioGroupBaseProps, RadioOption } from './radio'\nimport { TextareaBase } from './textarea'\nimport { UploaderBase } from './uploader'\nexport type { TextareaBaseProps } from './textarea'\nimport { InputOtpBase } from './inputOtp'\nexport type { InputOtpBaseProps } from './inputOtp'\nimport { Combobox } from './combobox'\nexport type { ComboboxProps, ComboboxItemOption } from './combobox'\n\n/**\n * @example\n * ```ts\n * It's ok\n * import { InputBase } from '@scbt-ecom/ui'\n *\n * Not ok (tree shaking doesn't work)\n * import { Uncontrolled } from '@scbt-ecom/ui'\n * ```\n * @deprecated use Select instead\n */\nexport const Uncontrolled = {\n InputBase,\n SliderBase,\n AutocompleteBase,\n MaskInput,\n CheckboxBase,\n DayPickerBase,\n SwitchBase,\n RadioGroupBase,\n TextareaBase,\n InputOtpBase,\n UploaderBase,\n Combobox\n}\n"],"names":["Uncontrolled","InputBase","SliderBase","AutocompleteBase","MaskInput","CheckboxBase","DayPickerBase","SwitchBase","RadioGroupBase","TextareaBase","InputOtpBase","UploaderBase","Combobox"],"mappings":"0oBAkCO,MAAMA,EAAe,CAC1B,UAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,UAAAC,EACA,aAAAC,EACA,cAAAC,EACA,WAAAC,EACA,eAAAC,EACA,aAAAC,EACA,aAAAC,EACA,aAAAC,EACA,SAAAC,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as y,jsx as
|
|
1
|
+
import{jsxs as y,jsx as r}from"react/jsx-runtime";import{forwardRef as w,useId as k}from"react";import{cn as t}from"../../../../utils/cn.js";import{FieldAttachment as B}from"../../ui/fieldAttachment/FieldAttachment.js";const _=w(({label:o,value:n,invalid:i,disabled:p,classes:e,renderValues:l,attachmentProps:d,externalHandlers:b,onChange:u,dataLayers:f,...a},g)=>{const c=k(),{onChange:s,...h}=b||{},m=x=>{u&&u(x),s&&s(x)};return y("div",{className:t("relative flex w-full gap-x-4 rounded-sm bg-color-blue-grey-100","[&_label]:focus-within:top-[9px] [&_label]:focus-within:translate-y-0","[&_label]:focus-within:desk-body-regular-s","hover:bg-color-blue-grey-200","border-[1px] border-transparent focus-within:border-blue-grey-800",{"border-secondary-default":i},e?.container),"data-id":"input-root",children:[l?r("div",{onClick:a.onClick,onBlur:a.onBlur,className:t("peer desk-body-regular-l min-h-[54px] w-full bg-color-transparent [&_input]:px-4 [&_input]:pb-[6px] [&_input]:pt-[28px]","text-color-dark outline-none placeholder:text-color-transparent","flex flex-row flex-wrap gap-2",e?.renderWrapper),children:l()}):r("input",{...a,...h,onChange:m,disabled:p,"data-layer-id":f?.targetId,value:n??"",placeholder:o,"aria-placeholder":o,"aria-invalid":i,ref:g,id:c,className:t("peer desk-body-regular-l w-full bg-color-transparent px-4 pb-[9px] pt-[25px]","text-color-dark outline-none placeholder:text-color-transparent",{hidden:!!l},e?.input)}),r("label",{htmlFor:c,className:t("desk-body-regular-l pointer-events-none absolute left-4 w-[80%] truncate text-start","top-1/2 -translate-y-1/2 text-color-tetriary duration-100",{"desk-body-regular-s top-[9px] translate-y-0":!!n,"text-color-disabled":p},e?.label),children:o}),d&&r(B,{...d})]})});_.displayName="InputBase";export{_ as InputBase};
|
|
2
2
|
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/input/Input.tsx"],"sourcesContent":["import { forwardRef, useId } from 'react'\nimport { type DataLayers } from '../../../../types'\nimport { FieldAttachment } from '../../ui'\nimport { type DeepPartial } from '$/shared/types'\nimport { cn } from '$/shared/utils'\n\nexport type InputBaseClasses = {\n container?: string\n input?: string\n label?: string\n renderWrapper?: string\n}\n\ntype FieldAttachmentProps = React.ComponentPropsWithoutRef<typeof FieldAttachment>\n\ntype ExternalHandlers = {\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => 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 InputBaseProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'placeholder' | 'size'> & {\n /**\n * Дополнительные стили внутренних компонентов\n */\n classes?: InputBaseClasses\n /**\n * Отображаемый placeholder\n */\n label: string\n /**\n * Отображение не валидного поля\n */\n invalid?: boolean\n /**\n * Свойства дополнительной иконки\n */\n attachmentProps?: DeepPartial<FieldAttachmentProps>\n /**\n * Рендер дополнительных значений вместо базового ввода\n */\n renderValues?: () => React.JSX.Element | null\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n /**\n * Даталееры\n */\n dataLayers?: DataLayers\n /**\n * Обработка ошибок для даталееров\n */\n ['data-error-message']?: string\n}\n\nexport const InputBase = forwardRef<HTMLInputElement, InputBaseProps>(\n (\n { label, value, invalid, disabled, classes, renderValues, attachmentProps, externalHandlers, onChange, dataLayers, ...props },\n ref\n ) => {\n const id = useId()\n\n const { onChange: externalOnChange, ...restHandlers } = externalHandlers || {}\n\n const onValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) onChange(event)\n if (externalOnChange) externalOnChange(event)\n }\n\n return (\n <div\n className={cn(\n 'relative flex w-full gap-x-4 rounded-sm bg-color-blue-grey-100',\n '[&_label]:focus-within:top-[9px] [&_label]:focus-within:translate-y-0',\n '[&_label]:focus-within:desk-body-regular-s',\n // '[&_label]:focus-within:text-color-tetriary',\n 'hover:bg-color-blue-grey-200',\n 'border-[1px] border-transparent focus-within:border-blue-grey-800',\n {\n 'border-secondary-default': invalid\n },\n classes?.container\n )}\n data-id='input-root'\n >\n {renderValues ? (\n <div\n onClick={props.onClick}\n onBlur={props.onBlur}\n className={cn(\n 'peer desk-body-regular-l min-h-[54px] w-full bg-color-transparent [&_input]:px-4 [&_input]:pb-[6px] [&_input]:pt-[28px]',\n 'text-color-dark outline-none placeholder:text-color-transparent',\n 'flex flex-row flex-wrap gap-2',\n classes?.renderWrapper\n )}\n >\n {renderValues()}\n </div>\n ) : (\n <input\n {...props}\n {...restHandlers}\n onChange={onValueChange}\n disabled={disabled}\n data-layer-id={dataLayers?.targetId}\n value={value ?? ''}\n placeholder={label}\n aria-placeholder={label}\n aria-invalid={invalid}\n ref={ref}\n id={id}\n className={cn(\n 'peer desk-body-regular-l w-full bg-color-transparent px-4 pb-[9px] pt-[25px]',\n 'text-color-dark outline-none placeholder:text-color-transparent',\n {\n hidden: Boolean(renderValues)\n },\n classes?.input\n )}\n />\n )}\n <label\n htmlFor={id}\n className={cn(\n 'desk-body-regular-l pointer-events-none absolute left-4 w-[80%] truncate text-start',\n 'top-1/2 -translate-y-1/2 text-color-tetriary duration-100',\n {\n 'desk-body-regular-s top-[9px] translate-y-0': Boolean(value),\n 'text-color-disabled': disabled\n },\n classes?.label\n )}\n >\n {label}\n </label>\n {attachmentProps && <FieldAttachment {...attachmentProps} />}\n </div>\n )\n }\n)\nInputBase.displayName = 'InputBase'\n"],"names":["InputBase","forwardRef","label","value","invalid","disabled","classes","renderValues","attachmentProps","externalHandlers","onChange","dataLayers","props","ref","id","useId","externalOnChange","restHandlers","onValueChange","event","jsxs","cn","jsx","FieldAttachment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/input/Input.tsx"],"sourcesContent":["import { forwardRef, useId } from 'react'\nimport { type DataLayers } from '../../../../types'\nimport { FieldAttachment } from '../../ui'\nimport { type DeepPartial } from '$/shared/types'\nimport { cn } from '$/shared/utils'\n\nexport type InputBaseClasses = {\n container?: string\n input?: string\n label?: string\n renderWrapper?: string\n}\n\ntype FieldAttachmentProps = React.ComponentPropsWithoutRef<typeof FieldAttachment>\n\ntype ExternalHandlers = {\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => 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 InputBaseProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'placeholder' | 'size'> & {\n /**\n * Дополнительные стили внутренних компонентов\n */\n classes?: InputBaseClasses\n /**\n * Отображаемый placeholder\n */\n label: string\n /**\n * Отображение не валидного поля\n */\n invalid?: boolean\n /**\n * Свойства дополнительной иконки\n */\n attachmentProps?: DeepPartial<FieldAttachmentProps>\n /**\n * Рендер дополнительных значений вместо базового ввода\n */\n renderValues?: () => React.JSX.Element | null\n /**\n * Дополнительные хендлеры\n */\n externalHandlers?: ExternalHandlers\n /**\n * Даталееры\n */\n dataLayers?: DataLayers\n /**\n * Обработка ошибок для даталееров\n */\n ['data-error-message']?: string\n}\n\nexport const InputBase = forwardRef<HTMLInputElement, InputBaseProps>(\n (\n { label, value, invalid, disabled, classes, renderValues, attachmentProps, externalHandlers, onChange, dataLayers, ...props },\n ref\n ) => {\n const id = useId()\n\n const { onChange: externalOnChange, ...restHandlers } = externalHandlers || {}\n\n const onValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) onChange(event)\n if (externalOnChange) externalOnChange(event)\n }\n\n return (\n <div\n className={cn(\n 'relative flex w-full gap-x-4 rounded-sm bg-color-blue-grey-100',\n '[&_label]:focus-within:top-[9px] [&_label]:focus-within:translate-y-0',\n '[&_label]:focus-within:desk-body-regular-s',\n // '[&_label]:focus-within:text-color-tetriary',\n 'hover:bg-color-blue-grey-200',\n 'border-[1px] border-transparent focus-within:border-blue-grey-800',\n {\n 'border-secondary-default': invalid\n },\n classes?.container\n )}\n data-id='input-root'\n >\n {renderValues ? (\n <div\n onClick={props.onClick}\n onBlur={props.onBlur}\n className={cn(\n 'peer desk-body-regular-l min-h-[54px] w-full bg-color-transparent [&_input]:px-4 [&_input]:pb-[6px] [&_input]:pt-[28px]',\n 'text-color-dark outline-none placeholder:text-color-transparent',\n 'flex flex-row flex-wrap gap-2',\n classes?.renderWrapper\n )}\n >\n {renderValues()}\n </div>\n ) : (\n <input\n {...props}\n {...restHandlers}\n onChange={onValueChange}\n disabled={disabled}\n data-layer-id={dataLayers?.targetId}\n value={value ?? ''}\n placeholder={label}\n aria-placeholder={label}\n aria-invalid={invalid}\n ref={ref}\n id={id}\n className={cn(\n 'peer desk-body-regular-l w-full bg-color-transparent px-4 pb-[9px] pt-[25px]',\n 'text-color-dark outline-none placeholder:text-color-transparent',\n {\n hidden: Boolean(renderValues)\n },\n classes?.input\n )}\n />\n )}\n <label\n htmlFor={id}\n className={cn(\n 'desk-body-regular-l pointer-events-none absolute left-4 w-[80%] truncate text-start',\n 'top-1/2 -translate-y-1/2 text-color-tetriary duration-100',\n {\n 'desk-body-regular-s top-[9px] translate-y-0': Boolean(value),\n 'text-color-disabled': disabled\n },\n classes?.label\n )}\n >\n {label}\n </label>\n {attachmentProps && <FieldAttachment {...attachmentProps} />}\n </div>\n )\n }\n)\nInputBase.displayName = 'InputBase'\n"],"names":["InputBase","forwardRef","label","value","invalid","disabled","classes","renderValues","attachmentProps","externalHandlers","onChange","dataLayers","props","ref","id","useId","externalOnChange","restHandlers","onValueChange","event","jsxs","cn","jsx","FieldAttachment"],"mappings":"2NAyDO,MAAMA,EAAYC,EACvB,CACE,CAAE,MAAAC,EAAO,MAAAC,EAAO,QAAAC,EAAS,SAAAC,EAAU,QAAAC,EAAS,aAAAC,EAAc,gBAAAC,EAAiB,iBAAAC,EAAkB,SAAAC,EAAU,WAAAC,EAAY,GAAGC,CAAA,EACtHC,IACG,CACH,MAAMC,EAAKC,EAAA,EAEL,CAAE,SAAUC,EAAkB,GAAGC,CAAA,EAAiBR,GAAoB,CAAA,EAEtES,EAAiBC,GAA+C,CAChET,KAAmBS,CAAK,EACxBH,KAAmCG,CAAK,CAC9C,EAEA,OACEC,EAAC,MAAA,CACC,UAAWC,EACT,iEACA,wEACA,6CAEA,+BACA,oEACA,CACE,2BAA4BjB,CAAA,EAE9BE,GAAS,SAAA,EAEX,UAAQ,aAEP,SAAA,CAAAC,EACCe,EAAC,MAAA,CACC,QAASV,EAAM,QACf,OAAQA,EAAM,OACd,UAAWS,EACT,0HACA,kEACA,gCACAf,GAAS,aAAA,EAGV,SAAAC,EAAA,CAAa,CAAA,EAGhBe,EAAC,QAAA,CACE,GAAGV,EACH,GAAGK,EACJ,SAAUC,EACV,SAAAb,EACA,gBAAeM,GAAY,SAC3B,MAAOR,GAAS,GAChB,YAAaD,EACb,mBAAkBA,EAClB,eAAcE,EACd,IAAAS,EACA,GAAAC,EACA,UAAWO,EACT,+EACA,kEACA,CACE,OAAQ,EAAQd,CAAY,EAE9BD,GAAS,KAAA,CACX,CAAA,EAGJgB,EAAC,QAAA,CACC,QAASR,EACT,UAAWO,EACT,sFACA,4DACA,CACE,8CAA+C,EAAQlB,EACvD,sBAAuBE,CAAA,EAEzBC,GAAS,KAAA,EAGV,SAAAJ,CAAA,CAAA,EAEFM,GAAmBc,EAACC,EAAA,CAAiB,GAAGf,CAAA,CAAiB,CAAA,CAAA,CAAA,CAGhE,CACF,EACAR,EAAU,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as P,jsx as e}from"react/jsx-runtime";import{forwardRef as R}from"react";import{useFloating as v,autoUpdate as F,flip as O,offset as b,useClick as A,useInteractions as B}from"@floating-ui/react";import{AnimatePresence as M,motion as j}from"framer-motion";import{useCurrencyControl as L}from"./hooks/useCurrencyControl.js";import{useCurrencyFormat as N}from"./hooks/useCurrencyFormat.js";import{InputBase as z}from"../input/Input.js";import{mergeRefs as D}from"../../../../utils/mergeRefs.js";import{CurrencyIcon as E}from"./ui/CurrencyIcon.js";import{DropdownList as H}from"../../../dropdownList/DropdownList.js";import{cn as m}from"../../../../utils/cn.js";import{useClickOutside as S}from"../../../../hooks/useClickOutside.js";import{Portal as U}from"../../../portal/Portal.js";const ee=R(({classes:t,value:r,onChange:l,currencies:s,portal:f=document.body,attachmentProps:p,...u},d)=>{const{currency:a,onCurrencyChange:g,onInputChange:C,open:n,setOpen:i}=L({currencies:s,value:r,onChange:l}),{refs:o,floatingStyles:y,context:h}=v({middleware:[O({boundary:"clippingAncestors",crossAxis:!1}),b(4)],whileElementsMounted:F,open:n,onOpenChange:i}),w=A(h,{ignoreMouse:!0,keyboardHandlers:!0,stickIfOpen:!0}),{getReferenceProps:k,getFloatingProps:x}=B([w]);S(o.floating,()=>i(!1));const c=N(r.value);return P("div",{...k({ref:o.setReference,className:m("relative w-full",t?.root)}),children:[e(z,{ref:D(d,c),...u,autoComplete:"off",inputMode:"decimal",value:r.value,onChange:C,classes:t?.input,attachmentProps:{classes:{icon:"flex items-center gap-2 w-max"},icon:e(E,{currency:a,open:n}),onClickIcon:()=>i(I=>!I),...p}}),e(U,{root:f,children:e(M,{children:n&&e(j.div,{initial:{opacity:0},animate:{opacity:1},transition:{duration:.1},...x({ref:o.setFloating,className:m("z-[1000]"),style:{...y,width:o.reference.current?.getBoundingClientRect().width}}),children:e(H,{target:c,options:s,value:a,onPick:g,classes:t?.dropdownList})})})})]})});export{ee as InputCurrencyBase};
|
|
2
2
|
//# sourceMappingURL=InputCurrency.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputCurrency.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { autoUpdate, flip, offset, useClick, useFloating, useInteractions } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { type DropdownItemOption, DropdownList, type DropdownListProps } from '../../../dropdownList'\nimport { InputBase, type InputBaseProps } from '../input'\nimport { useCurrencyControl, useCurrencyFormat } from './hooks'\nimport { CurrencyIcon } from './ui'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Portal } from '$/shared/ui/portal'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport type CurrencyValue = {\n value: string\n currency: string | null\n}\n\ntype InputCurrencyBaseClasses = {\n root?: string\n input?: InputBaseProps['classes']\n dropdownList?: DropdownListProps['classes']\n}\n\nexport interface InputCurrencyBaseProps extends Omit<InputBaseProps, 'value' | 'onChange' | 'classes'> {\n /**\n * Выбранное значение\n */\n value: CurrencyValue\n /**\n * Функция для изменения значения\n * @param value\n */\n onChange: (value: CurrencyValue) => void\n /**\n * Список валют для выбора\n */\n currencies: DropdownItemOption[]\n /**\n * Дополнительные стили для переопределения\n */\n classes?: InputCurrencyBaseClasses\n /**\n * Включить рендеринг в портале\n * @property {false | HTMLElement} portal document.body\n */\n portal?: false | HTMLElement\n}\n\nexport const InputCurrencyBase = forwardRef<HTMLInputElement, InputCurrencyBaseProps>(\n ({ classes, value, onChange, currencies, portal = document.body, attachmentProps, ...props }, ref) => {\n const { currency, onCurrencyChange, onInputChange, open, setOpen } = useCurrencyControl({ currencies, value, onChange })\n\n const { refs, floatingStyles, context } = useFloating({\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(4)\n ],\n whileElementsMounted: autoUpdate,\n open,\n onOpenChange: setOpen\n })\n\n const click = useClick(context, {\n ignoreMouse: true,\n keyboardHandlers: true,\n stickIfOpen: true\n })\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click])\n\n useClickOutside(refs.floating, () => setOpen(false))\n\n const formatRef = useCurrencyFormat(value.value)\n\n return (\n <div\n {...getReferenceProps({\n ref: refs.setReference,\n className: cn('relative w-full', classes?.root)\n })}\n >\n <InputBase\n ref={mergeRefs(ref, formatRef)}\n {...props}\n autoComplete='off'\n inputMode='decimal'\n value={value.value}\n onChange={onInputChange}\n classes={classes?.input}\n attachmentProps={{\n classes: {\n icon: 'flex items-center gap-2 w-max'\n },\n icon: <CurrencyIcon currency={currency} open={open} />,\n onClickIcon: () => setOpen((prev) => !prev),\n ...attachmentProps\n }}\n />\n <Portal root={portal}>\n <AnimatePresence>\n {open && (\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.1 }}\n {...getFloatingProps({\n ref: refs.setFloating,\n className: cn('z-[1000]'),\n style: {\n ...floatingStyles,\n width: refs.reference.current?.getBoundingClientRect().width\n }\n })}\n >\n <DropdownList\n target={formatRef}\n options={currencies}\n value={currency}\n onPick={onCurrencyChange}\n classes={classes?.dropdownList}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </div>\n )\n }\n)\n"],"names":["InputCurrencyBase","forwardRef","classes","value","onChange","currencies","portal","attachmentProps","props","ref","currency","onCurrencyChange","onInputChange","open","setOpen","useCurrencyControl","refs","floatingStyles","context","useFloating","flip","offset","autoUpdate","click","useClick","getReferenceProps","getFloatingProps","useInteractions","useClickOutside","formatRef","useCurrencyFormat","jsxs","cn","jsx","InputBase","mergeRefs","CurrencyIcon","prev","Portal","AnimatePresence","motion","
|
|
1
|
+
{"version":3,"file":"InputCurrency.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { autoUpdate, flip, offset, useClick, useFloating, useInteractions } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { type DropdownItemOption, DropdownList, type DropdownListProps } from '../../../dropdownList'\nimport { InputBase, type InputBaseProps } from '../input'\nimport { useCurrencyControl, useCurrencyFormat } from './hooks'\nimport { CurrencyIcon } from './ui'\nimport { useClickOutside } from '$/shared/hooks'\nimport { Portal } from '$/shared/ui/portal'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport type CurrencyValue = {\n value: string\n currency: string | null\n}\n\ntype InputCurrencyBaseClasses = {\n root?: string\n input?: InputBaseProps['classes']\n dropdownList?: DropdownListProps['classes']\n}\n\nexport interface InputCurrencyBaseProps extends Omit<InputBaseProps, 'value' | 'onChange' | 'classes'> {\n /**\n * Выбранное значение\n */\n value: CurrencyValue\n /**\n * Функция для изменения значения\n * @param value\n */\n onChange: (value: CurrencyValue) => void\n /**\n * Список валют для выбора\n */\n currencies: DropdownItemOption[]\n /**\n * Дополнительные стили для переопределения\n */\n classes?: InputCurrencyBaseClasses\n /**\n * Включить рендеринг в портале\n * @property {false | HTMLElement} portal document.body\n */\n portal?: false | HTMLElement\n}\n\nexport const InputCurrencyBase = forwardRef<HTMLInputElement, InputCurrencyBaseProps>(\n ({ classes, value, onChange, currencies, portal = document.body, attachmentProps, ...props }, ref) => {\n const { currency, onCurrencyChange, onInputChange, open, setOpen } = useCurrencyControl({ currencies, value, onChange })\n\n const { refs, floatingStyles, context } = useFloating({\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(4)\n ],\n whileElementsMounted: autoUpdate,\n open,\n onOpenChange: setOpen\n })\n\n const click = useClick(context, {\n ignoreMouse: true,\n keyboardHandlers: true,\n stickIfOpen: true\n })\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click])\n\n useClickOutside(refs.floating, () => setOpen(false))\n\n const formatRef = useCurrencyFormat(value.value)\n\n return (\n <div\n {...getReferenceProps({\n ref: refs.setReference,\n className: cn('relative w-full', classes?.root)\n })}\n >\n <InputBase\n ref={mergeRefs(ref, formatRef)}\n {...props}\n autoComplete='off'\n inputMode='decimal'\n value={value.value}\n onChange={onInputChange}\n classes={classes?.input}\n attachmentProps={{\n classes: {\n icon: 'flex items-center gap-2 w-max'\n },\n icon: <CurrencyIcon currency={currency} open={open} />,\n onClickIcon: () => setOpen((prev) => !prev),\n ...attachmentProps\n }}\n />\n <Portal root={portal}>\n <AnimatePresence>\n {open && (\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.1 }}\n {...getFloatingProps({\n ref: refs.setFloating,\n className: cn('z-[1000]'),\n style: {\n ...floatingStyles,\n width: refs.reference.current?.getBoundingClientRect().width\n }\n })}\n >\n <DropdownList\n target={formatRef}\n options={currencies}\n value={currency}\n onPick={onCurrencyChange}\n classes={classes?.dropdownList}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Portal>\n </div>\n )\n }\n)\n"],"names":["InputCurrencyBase","forwardRef","classes","value","onChange","currencies","portal","attachmentProps","props","ref","currency","onCurrencyChange","onInputChange","open","setOpen","useCurrencyControl","refs","floatingStyles","context","useFloating","flip","offset","autoUpdate","click","useClick","getReferenceProps","getFloatingProps","useInteractions","useClickOutside","formatRef","useCurrencyFormat","jsxs","cn","jsx","InputBase","mergeRefs","CurrencyIcon","prev","Portal","AnimatePresence","motion","DropdownList"],"mappings":"wxBA+CO,MAAMA,GAAoBC,EAC/B,CAAC,CAAE,QAAAC,EAAS,MAAAC,EAAO,SAAAC,EAAU,WAAAC,EAAY,OAAAC,EAAS,SAAS,KAAM,gBAAAC,EAAiB,GAAGC,CAAA,EAASC,IAAQ,CACpG,KAAM,CAAE,SAAAC,EAAU,iBAAAC,EAAkB,cAAAC,EAAe,KAAAC,EAAM,QAAAC,GAAYC,EAAmB,CAAE,WAAAV,EAAY,MAAAF,EAAO,SAAAC,CAAA,CAAU,EAEjH,CAAE,KAAAY,EAAM,eAAAC,EAAgB,QAAAC,CAAA,EAAYC,EAAY,CACpD,WAAY,CACVC,EAAK,CACH,SAAU,oBACV,UAAW,EAAA,CACZ,EACDC,EAAO,CAAC,CAAA,EAEV,qBAAsBC,EACtB,KAAAT,EACA,aAAcC,CAAA,CACf,EAEKS,EAAQC,EAASN,EAAS,CAC9B,YAAa,GACb,iBAAkB,GAClB,YAAa,EAAA,CACd,EAEK,CAAE,kBAAAO,EAAmB,iBAAAC,CAAA,EAAqBC,EAAgB,CAACJ,CAAK,CAAC,EAEvEK,EAAgBZ,EAAK,SAAU,IAAMF,EAAQ,EAAK,CAAC,EAEnD,MAAMe,EAAYC,EAAkB3B,EAAM,KAAK,EAE/C,OACE4B,EAAC,MAAA,CACE,GAAGN,EAAkB,CACpB,IAAKT,EAAK,aACV,UAAWgB,EAAG,kBAAmB9B,GAAS,IAAI,CAAA,CAC/C,EAED,SAAA,CAAA+B,EAACC,EAAA,CACC,IAAKC,EAAU1B,EAAKoB,CAAS,EAC5B,GAAGrB,EACJ,aAAa,MACb,UAAU,UACV,MAAOL,EAAM,MACb,SAAUS,EACV,QAASV,GAAS,MAClB,gBAAiB,CACf,QAAS,CACP,KAAM,+BAAA,EAER,KAAM+B,EAACG,EAAA,CAAa,SAAA1B,EAAoB,KAAAG,CAAA,CAAY,EACpD,YAAa,IAAMC,EAASuB,GAAS,CAACA,CAAI,EAC1C,GAAG9B,CAAA,CACL,CAAA,IAED+B,EAAA,CAAO,KAAMhC,EACZ,SAAA2B,EAACM,GACE,SAAA1B,GACCoB,EAACO,EAAO,IAAP,CACC,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,EACpB,WAAY,CAAE,SAAU,EAAA,EACvB,GAAGd,EAAiB,CACnB,IAAKV,EAAK,YACV,UAAWgB,EAAG,UAAU,EACxB,MAAO,CACL,GAAGf,EACH,MAAOD,EAAK,UAAU,SAAS,wBAAwB,KAAA,CACzD,CACD,EAED,SAAAiB,EAACQ,EAAA,CACC,OAAQZ,EACR,QAASxB,EACT,MAAOK,EACP,OAAQC,EACR,QAAST,GAAS,YAAA,CAAA,CACpB,CAAA,EAGN,CAAA,CACF,CAAA,CAAA,CAAA,CAGN,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as o,Fragment as n,jsx as e}from"react/jsx-runtime";import{Divider as d}from"../../../../divider/Divider.js";import{cn as t}from"../../../../../utils/cn.js";import{Icon as g}from"../../../../icon/Icon.js";const x=({currency:r,classes:a,open:i})=>{const{divider:l,root:s,icon:m,label:c}=a??{};return o(n,{children:[e(d,{color:"bg-color-blue-grey-500",height:16,className:l}),o("div",{className:t("desk-body-regular-l flex items-center gap-1 text-color-tetriary",s),children:[r?.attachment?.left,e("span",{className:c,children:r?r.label:"CUR"}),e(g,{name:"arrows/arrowRight",className:t("size-6 rotate-90 duration-100",{"-rotate-90":i},m)})]})]})};export{x as CurrencyIcon};
|
|
2
2
|
//# sourceMappingURL=CurrencyIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrencyIcon.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.tsx"],"sourcesContent":["import { Icon } from '$/shared/ui'\nimport { Divider } from '$/shared/ui/divider'\nimport { type DropdownItemOption } from '$/shared/ui/dropdownList'\nimport { cn } from '$/shared/utils'\n\ntype CurrencyIconClasses = {\n root?: string\n divider?: string\n label?: string\n icon?: string\n}\n\nexport interface CurrencyIconProps {\n currency: DropdownItemOption | null\n classes?: CurrencyIconClasses\n open: boolean\n}\n\nexport const CurrencyIcon = ({ currency, classes, open }: CurrencyIconProps) => {\n const { divider, root, icon, label } = classes ?? {}\n\n return (\n <>\n <Divider color='bg-color-blue-grey-500' height={16} className={divider} />\n <div className={cn('desk-body-regular-l flex items-center gap-1 text-color-tetriary', root)}>\n {currency?.attachment?.left}\n <span className={label}>{currency ? currency.label : 'CUR'}</span>\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-6 rotate-90 duration-100',\n {\n '-rotate-90': open\n },\n icon\n )}\n />\n </div>\n </>\n )\n}\n"],"names":["CurrencyIcon","currency","classes","open","divider","root","icon","label","jsxs","Fragment","jsx","Divider","cn","
|
|
1
|
+
{"version":3,"file":"CurrencyIcon.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.tsx"],"sourcesContent":["import { Icon } from '$/shared/ui'\nimport { Divider } from '$/shared/ui/divider'\nimport { type DropdownItemOption } from '$/shared/ui/dropdownList'\nimport { cn } from '$/shared/utils'\n\ntype CurrencyIconClasses = {\n root?: string\n divider?: string\n label?: string\n icon?: string\n}\n\nexport interface CurrencyIconProps {\n currency: DropdownItemOption | null\n classes?: CurrencyIconClasses\n open: boolean\n}\n\nexport const CurrencyIcon = ({ currency, classes, open }: CurrencyIconProps) => {\n const { divider, root, icon, label } = classes ?? {}\n\n return (\n <>\n <Divider color='bg-color-blue-grey-500' height={16} className={divider} />\n <div className={cn('desk-body-regular-l flex items-center gap-1 text-color-tetriary', root)}>\n {currency?.attachment?.left}\n <span className={label}>{currency ? currency.label : 'CUR'}</span>\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-6 rotate-90 duration-100',\n {\n '-rotate-90': open\n },\n icon\n )}\n />\n </div>\n </>\n )\n}\n"],"names":["CurrencyIcon","currency","classes","open","divider","root","icon","label","jsxs","Fragment","jsx","Divider","cn","Icon"],"mappings":"yNAkBO,MAAMA,EAAe,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,KAAAC,KAA8B,CAC9E,KAAM,CAAE,QAAAC,EAAS,KAAAC,EAAM,KAAAC,EAAM,MAAAC,CAAA,EAAUL,GAAW,CAAA,EAElD,OACEM,EAAAC,EAAA,CACE,SAAA,CAAAC,EAACC,GAAQ,MAAM,yBAAyB,OAAQ,GAAI,UAAWP,EAAS,IACvE,MAAA,CAAI,UAAWQ,EAAG,kEAAmEP,CAAI,EACvF,SAAA,CAAAJ,GAAU,YAAY,OACtB,OAAA,CAAK,UAAWM,EAAQ,SAAAN,EAAWA,EAAS,MAAQ,MAAM,EAC3DS,EAACG,EAAA,CACC,KAAK,oBACL,UAAWD,EACT,gCACA,CACE,aAAcT,CAAA,EAEhBG,CAAA,CACF,CAAA,CACF,CAAA,CACF,CAAA,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as o,Fragment as C}from"react/jsx-runtime";import{forwardRef as g,useRef as I,useEffect as R}from"react";import{OTPInput as h,REGEXP_ONLY_DIGITS as N}from"input-otp";import{cn as f}from"../../../../utils/cn.js";import{mergeRefs as O}from"../../../../utils/mergeRefs.js";import{InputOTPSlot as w}from"./ui/InputOtpSlot.js";const v=g(({value:a,onChange:p,classes:t,maxLength:e=4,initialFocus:m=!0,externalHandlers:r,invalid:u,dataLayers:l,...s},d)=>{const n=I(null);return R(()=>{n.current&&m&&n.current.focus()},[m]),o(C,{children:o(h,{pattern:N,value:a??"",onChange:i=>{p?.(i),r?.onChange?.(i)},ref:O(n,d),containerClassName:f("flex items-center w-full",t?.inputContainer),className:f("disabled:cursor-not-allowed",t?.input),onClick:r?.onClick,maxLength:e,onBlur:r?.onBlur,"aria-invalid":u,onFocus:r?.onFocus,"data-layer-id":l?.targetId,...s,children:o("div",{className:f("m-auto flex w-max items-center gap-4",t?.container),children:e>0&&Array.from({length:e},(i,c)=>o(w,{invalid:u,index:c},c))})})})});export{v as InputOtpBase};
|
|
2
2
|
//# sourceMappingURL=InputOtpBase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputOtpBase.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef } from 'react'\nimport { OTPInput, type OTPInputProps, REGEXP_ONLY_DIGITS } from 'input-otp'\nimport { type DataLayers } from '../../../../types'\nimport { InputOTPSlot, type InputOTPSlotClasses } from './ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport type InputOtpBaseClasses = {\n input?: string\n inputContainer?: string\n container?: string\n slot?: InputOTPSlotClasses\n}\n\ntype ExternalHandlers = {\n onChange?: (value: string) => void\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void\n}\n\nexport type InputOtpBaseProps = Omit<OTPInputProps, 'render'> & {\n /**\n * Внешние классы которыми можно поменять стили\n */\n classes?: InputOtpBaseClasses\n /**\n * Изначальный автофокус\n */\n initialFocus?: boolean\n /**\n * Внешние handlers\n */\n externalHandlers?: ExternalHandlers\n /**\n * Для aria-invalid валидное или не валидное поле\n */\n invalid?: boolean\n /**\n * Даталееры\n */\n dataLayers?: DataLayers\n}\n\nexport const InputOtpBase = forwardRef<HTMLInputElement, InputOtpBaseProps>(\n ({ value, onChange, classes, maxLength = 4, initialFocus = true, externalHandlers, invalid, dataLayers, ...props }, ref) => {\n const inputRef = useRef<HTMLInputElement>(null)\n\n useEffect(() => {\n if (inputRef.current && initialFocus) {\n inputRef.current.focus()\n }\n }, [initialFocus])\n\n return (\n <>\n <OTPInput\n pattern={REGEXP_ONLY_DIGITS}\n value={value ?? ''}\n onChange={(newValue) => {\n onChange?.(newValue)\n externalHandlers?.onChange?.(newValue)\n }}\n ref={mergeRefs(inputRef, ref)}\n containerClassName={cn('flex items-center w-full', classes?.inputContainer)}\n className={cn('disabled:cursor-not-allowed', classes?.input)}\n onClick={externalHandlers?.onClick}\n maxLength={maxLength}\n onBlur={externalHandlers?.onBlur}\n aria-invalid={invalid}\n onFocus={externalHandlers?.onFocus}\n data-layer-id={dataLayers?.targetId}\n {...props}\n >\n <div className={cn('m-auto flex w-max items-center gap-4', classes?.container)}>\n {maxLength > 0 &&\n Array.from({ length: maxLength }, (_, inputIndex) => (\n <InputOTPSlot key={inputIndex} invalid={invalid} index={inputIndex} />\n ))}\n </div>\n </OTPInput>\n </>\n )\n }\n)\n"],"names":["InputOtpBase","forwardRef","value","onChange","classes","maxLength","initialFocus","externalHandlers","invalid","dataLayers","props","ref","inputRef","useRef","useEffect","jsx","Fragment","OTPInput","REGEXP_ONLY_DIGITS","newValue","
|
|
1
|
+
{"version":3,"file":"InputOtpBase.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef } from 'react'\nimport { OTPInput, type OTPInputProps, REGEXP_ONLY_DIGITS } from 'input-otp'\nimport { type DataLayers } from '../../../../types'\nimport { InputOTPSlot, type InputOTPSlotClasses } from './ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport type InputOtpBaseClasses = {\n input?: string\n inputContainer?: string\n container?: string\n slot?: InputOTPSlotClasses\n}\n\ntype ExternalHandlers = {\n onChange?: (value: string) => void\n onClick?: (event: React.MouseEvent<HTMLDivElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLDivElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void\n}\n\nexport type InputOtpBaseProps = Omit<OTPInputProps, 'render'> & {\n /**\n * Внешние классы которыми можно поменять стили\n */\n classes?: InputOtpBaseClasses\n /**\n * Изначальный автофокус\n */\n initialFocus?: boolean\n /**\n * Внешние handlers\n */\n externalHandlers?: ExternalHandlers\n /**\n * Для aria-invalid валидное или не валидное поле\n */\n invalid?: boolean\n /**\n * Даталееры\n */\n dataLayers?: DataLayers\n}\n\nexport const InputOtpBase = forwardRef<HTMLInputElement, InputOtpBaseProps>(\n ({ value, onChange, classes, maxLength = 4, initialFocus = true, externalHandlers, invalid, dataLayers, ...props }, ref) => {\n const inputRef = useRef<HTMLInputElement>(null)\n\n useEffect(() => {\n if (inputRef.current && initialFocus) {\n inputRef.current.focus()\n }\n }, [initialFocus])\n\n return (\n <>\n <OTPInput\n pattern={REGEXP_ONLY_DIGITS}\n value={value ?? ''}\n onChange={(newValue) => {\n onChange?.(newValue)\n externalHandlers?.onChange?.(newValue)\n }}\n ref={mergeRefs(inputRef, ref)}\n containerClassName={cn('flex items-center w-full', classes?.inputContainer)}\n className={cn('disabled:cursor-not-allowed', classes?.input)}\n onClick={externalHandlers?.onClick}\n maxLength={maxLength}\n onBlur={externalHandlers?.onBlur}\n aria-invalid={invalid}\n onFocus={externalHandlers?.onFocus}\n data-layer-id={dataLayers?.targetId}\n {...props}\n >\n <div className={cn('m-auto flex w-max items-center gap-4', classes?.container)}>\n {maxLength > 0 &&\n Array.from({ length: maxLength }, (_, inputIndex) => (\n <InputOTPSlot key={inputIndex} invalid={invalid} index={inputIndex} />\n ))}\n </div>\n </OTPInput>\n </>\n )\n }\n)\n"],"names":["InputOtpBase","forwardRef","value","onChange","classes","maxLength","initialFocus","externalHandlers","invalid","dataLayers","props","ref","inputRef","useRef","useEffect","jsx","Fragment","OTPInput","REGEXP_ONLY_DIGITS","newValue","mergeRefs","cn","_","inputIndex","InputOTPSlot"],"mappings":"6UA2CO,MAAMA,EAAeC,EAC1B,CAAC,CAAE,MAAAC,EAAO,SAAAC,EAAU,QAAAC,EAAS,UAAAC,EAAY,EAAG,aAAAC,EAAe,GAAM,iBAAAC,EAAkB,QAAAC,EAAS,WAAAC,EAAY,GAAGC,CAAA,EAASC,IAAQ,CAC1H,MAAMC,EAAWC,EAAyB,IAAI,EAE9C,OAAAC,EAAU,IAAM,CACVF,EAAS,SAAWN,GACtBM,EAAS,QAAQ,MAAA,CAErB,EAAG,CAACN,CAAY,CAAC,EAGfS,EAAAC,EAAA,CACE,SAAAD,EAACE,EAAA,CACC,QAASC,EACT,MAAOhB,GAAS,GAChB,SAAWiB,GAAa,CACtBhB,IAAWgB,CAAQ,EACnBZ,GAAkB,WAAWY,CAAQ,CACvC,EACA,IAAKC,EAAUR,EAAUD,CAAG,EAC5B,mBAAoBU,EAAG,2BAA4BjB,GAAS,cAAc,EAC1E,UAAWiB,EAAG,8BAA+BjB,GAAS,KAAK,EAC3D,QAASG,GAAkB,QAC3B,UAAAF,EACA,OAAQE,GAAkB,OAC1B,eAAcC,EACd,QAASD,GAAkB,QAC3B,gBAAeE,GAAY,SAC1B,GAAGC,EAEJ,SAAAK,EAAC,MAAA,CAAI,UAAWM,EAAG,uCAAwCjB,GAAS,SAAS,EAC1E,SAAAC,EAAY,GACX,MAAM,KAAK,CAAE,OAAQA,CAAA,EAAa,CAACiB,EAAGC,IACpCR,EAACS,EAAA,CAA8B,QAAAhB,EAAkB,MAAOe,CAAA,EAArCA,CAAiD,CACrE,CAAA,CACL,CAAA,CAAA,EAEJ,CAEJ,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as p,jsx as r}from"react/jsx-runtime";import{forwardRef as d,useContext as b}from"react";import{OTPInputContext as u}from"input-otp";import{cn as t}from"../../../../../utils/cn.js";const f=d(({index:o,classes:e,invalid:a,...n},i)=>{const s=b(u),{char:l,hasFakeCaret:c,isActive:m}=s.slots[o];return p("div",{ref:i,className:t("desk-headline-bold-m relative flex size-10 items-center justify-center bg-color-dark bg-color-transparent",e?.singleChar),...n,children:[l,c&&r("div",{className:t("pointer-events-none absolute inset-0 flex items-center justify-center",e?.caretWrapper),children:r("div",{className:t("h-5 w-px animate-caret-blink bg-color-dark duration-1000",e?.caret)})}),r("span",{className:t("absolute bottom-0 h-px w-8 bg-color-blue-grey-500",{"bg-color-dark":m,"bg-color-negative":a},e?.substrate)})]})});f.displayName="InputOTPSlot";export{f as InputOTPSlot};
|
|
2
2
|
//# sourceMappingURL=InputOtpSlot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputOtpSlot.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/inputOtp/ui/InputOtpSlot.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ElementRef, forwardRef, useContext } from 'react'\nimport { OTPInputContext } from 'input-otp'\nimport { cn } from '$/shared/utils'\n\nexport type InputOTPSlotClasses = {\n singleChar?: string\n caretWrapper?: string\n caret?: string\n substrate?: string\n}\n\ninterface InputOTPSlotProps extends ComponentPropsWithoutRef<'div'> {\n index: number\n classes?: InputOTPSlotClasses\n invalid?: boolean\n}\n\nexport const InputOTPSlot = forwardRef<ElementRef<'div'>, InputOTPSlotProps>(({ index, classes, invalid, ...props }, ref) => {\n const inputOTPContext = useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]\n\n return (\n <div\n ref={ref}\n className={cn(\n 'desk-headline-bold-m relative flex size-10 items-center justify-center bg-color-dark bg-color-transparent',\n classes?.singleChar\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className={cn('pointer-events-none absolute inset-0 flex items-center justify-center', classes?.caretWrapper)}>\n <div className={cn('h-5 w-px animate-caret-blink bg-color-dark duration-1000', classes?.caret)} />\n </div>\n )}\n <span\n className={cn(\n 'absolute bottom-0 h-px w-8 bg-color-blue-grey-500',\n { 'bg-color-dark': isActive, 'bg-color-negative': invalid },\n classes?.substrate\n )}\n ></span>\n </div>\n )\n})\n\nInputOTPSlot.displayName = 'InputOTPSlot'\n"],"names":["InputOTPSlot","forwardRef","index","classes","invalid","props","ref","inputOTPContext","useContext","OTPInputContext","char","hasFakeCaret","isActive","jsxs","cn","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InputOtpSlot.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/inputOtp/ui/InputOtpSlot.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ElementRef, forwardRef, useContext } from 'react'\nimport { OTPInputContext } from 'input-otp'\nimport { cn } from '$/shared/utils'\n\nexport type InputOTPSlotClasses = {\n singleChar?: string\n caretWrapper?: string\n caret?: string\n substrate?: string\n}\n\ninterface InputOTPSlotProps extends ComponentPropsWithoutRef<'div'> {\n index: number\n classes?: InputOTPSlotClasses\n invalid?: boolean\n}\n\nexport const InputOTPSlot = forwardRef<ElementRef<'div'>, InputOTPSlotProps>(({ index, classes, invalid, ...props }, ref) => {\n const inputOTPContext = useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]\n\n return (\n <div\n ref={ref}\n className={cn(\n 'desk-headline-bold-m relative flex size-10 items-center justify-center bg-color-dark bg-color-transparent',\n classes?.singleChar\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className={cn('pointer-events-none absolute inset-0 flex items-center justify-center', classes?.caretWrapper)}>\n <div className={cn('h-5 w-px animate-caret-blink bg-color-dark duration-1000', classes?.caret)} />\n </div>\n )}\n <span\n className={cn(\n 'absolute bottom-0 h-px w-8 bg-color-blue-grey-500',\n { 'bg-color-dark': isActive, 'bg-color-negative': invalid },\n classes?.substrate\n )}\n ></span>\n </div>\n )\n})\n\nInputOTPSlot.displayName = 'InputOTPSlot'\n"],"names":["InputOTPSlot","forwardRef","index","classes","invalid","props","ref","inputOTPContext","useContext","OTPInputContext","char","hasFakeCaret","isActive","jsxs","cn","jsx"],"mappings":"iMAiBO,MAAMA,EAAeC,EAAiD,CAAC,CAAE,MAAAC,EAAO,QAAAC,EAAS,QAAAC,EAAS,GAAGC,CAAA,EAASC,IAAQ,CAC3H,MAAMC,EAAkBC,EAAWC,CAAe,EAC5C,CAAE,KAAAC,EAAM,aAAAC,EAAc,SAAAC,GAAaL,EAAgB,MAAML,CAAK,EAEpE,OACEW,EAAC,MAAA,CACC,IAAAP,EACA,UAAWQ,EACT,4GACAX,GAAS,UAAA,EAEV,GAAGE,EAEH,SAAA,CAAAK,EACAC,GACCI,EAAC,MAAA,CAAI,UAAWD,EAAG,wEAAyEX,GAAS,YAAY,EAC/G,SAAAY,EAAC,OAAI,UAAWD,EAAG,2DAA4DX,GAAS,KAAK,EAAG,EAClG,EAEFY,EAAC,OAAA,CACC,UAAWD,EACT,oDACA,CAAE,gBAAiBF,EAAU,oBAAqBR,CAAA,EAClDD,GAAS,SAAA,CACX,CAAA,CACD,CAAA,CAAA,CAGP,CAAC,EAEDH,EAAa,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import{forwardRef as m}from"react";import{useInputMask as a}from"../../../../../../node_modules/.pnpm/use-mask-input@3.4.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/use-mask-input/dist/index.js";import{defaultMask as n}from"./model/constants.js";import{InputBase as p}from"../input/Input.js";import{mergeRefs as u}from"../../../../utils/mergeRefs.js";import{defaultDefinitions as k}from"./model/mask/utils.js";const d=m(({mask:o,externalMaskDefinitions:r,...t},e)=>{const s=n.get(o),f=a({mask:s??o,options:{jitMasking:!1,definitions:{...k,...r}}});return i(p,{ref:u(f,e),...t})});d.displayName="MaskInput";export{d as MaskInput};
|
|
2
2
|
//# sourceMappingURL=MaskInput.js.map
|