@scbt-ecom/ui 0.96.4 → 0.96.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/exports/ui.js +1 -1
- package/dist/lib/exports/widget.js +1 -1
- package/dist/lib/shared/style.css +1 -1
- package/dist/lib/shared/ui/brandLogos/BrandLogos.js +1 -1
- package/dist/lib/shared/ui/brandLogos/BrandLogos.js.map +1 -1
- package/dist/lib/shared/ui/calendar/Calendar.js +1 -1
- package/dist/lib/shared/ui/calendar/Calendar.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/Navigation.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/Navigation.js.map +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js +1 -1
- package/dist/lib/shared/ui/calendar/ui/selectDate/ui/Trigger.js.map +1 -1
- package/dist/lib/shared/ui/dialog/Dialog.js +1 -1
- package/dist/lib/shared/ui/dialog/Dialog.js.map +1 -1
- package/dist/lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js +1 -1
- package/dist/lib/shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/checkbox/CheckboxControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/combobox/ComboboxControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/dayPickerControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/model/utils.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/range.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/dayPickerControl/single.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/index.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/index.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/ui/MenuTrigger.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/ui/MenuTrigger.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/index.js +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/index.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/index.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/model/hooks/useUploader.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFile.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.js.map +1 -1
- package/dist/lib/shared/ui/index.js +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js.map +1 -1
- package/dist/lib/shared/ui/popover/Popover.js +1 -1
- package/dist/lib/shared/ui/popover/Popover.js.map +1 -1
- package/dist/lib/shared/validation/base/base.constants.js +1 -1
- package/dist/lib/shared/validation/base/base.constants.js.map +1 -1
- package/dist/lib/shared/validation/base/date.validators.js +1 -1
- package/dist/lib/shared/validation/base/date.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/regex.validators.js +1 -1
- package/dist/lib/shared/validation/base/regex.validators.js.map +1 -1
- package/dist/lib/widgets/authProvider/AuthProvider.js +1 -1
- package/dist/lib/widgets/authProvider/AuthProvider.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/Esia.js +1 -1
- package/dist/lib/widgets/authProvider/ui/Esia.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/MobileId.js +1 -1
- package/dist/lib/widgets/authProvider/ui/MobileId.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/Links.js +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/Links.js.map +1 -1
- package/dist/lib/widgets/banner/index.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js.map +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js.map +1 -1
- package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js.map +1 -1
- package/dist/lib/widgets/benefit/Benefit.js +1 -1
- package/dist/lib/widgets/benefit/Benefit.js.map +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js +1 -1
- package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js.map +1 -1
- package/dist/lib/widgets/calculator/Calculator.js +1 -1
- package/dist/lib/widgets/calculator/Calculator.js.map +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js.map +1 -1
- package/dist/lib/widgets/dynamicForm/DynamicForm.js +1 -1
- package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
- package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js +1 -1
- package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js.map +1 -1
- package/dist/lib/widgets/fallbacksView/FallbacksView.js +1 -1
- package/dist/lib/widgets/fallbacksView/FallbacksView.js.map +1 -1
- package/dist/lib/widgets/fallbacksView/model/helpers.js +1 -1
- package/dist/lib/widgets/fallbacksView/model/helpers.js.map +1 -1
- package/dist/lib/widgets/fieldMapper/FieldMapper.js +1 -1
- package/dist/lib/widgets/fieldMapper/FieldMapper.js.map +1 -1
- package/dist/lib/widgets/footer/Footer.js +1 -1
- package/dist/lib/widgets/footer/Footer.js.map +1 -1
- package/dist/lib/widgets/footer/ui/FooterLogo.js +1 -1
- package/dist/lib/widgets/footer/ui/FooterLogo.js.map +1 -1
- package/dist/lib/widgets/footer/ui/NavLinks.js +1 -1
- package/dist/lib/widgets/footer/ui/NavLinks.js.map +1 -1
- package/dist/lib/widgets/footer/ui/PhonesBlock.js +1 -1
- package/dist/lib/widgets/footer/ui/PhonesBlock.js.map +1 -1
- package/dist/lib/widgets/footer/ui/SiteMap.js +1 -1
- package/dist/lib/widgets/footer/ui/SiteMap.js.map +1 -1
- package/dist/lib/widgets/footer/ui/SocialLinks.js +1 -1
- package/dist/lib/widgets/footer/ui/SocialLinks.js.map +1 -1
- package/dist/lib/widgets/header/Header.js +1 -1
- package/dist/lib/widgets/header/Header.js.map +1 -1
- package/dist/lib/widgets/header/model/helpers.js +1 -1
- package/dist/lib/widgets/header/model/helpers.js.map +1 -1
- package/dist/lib/widgets/index.js +1 -1
- package/dist/lib/widgets/infoBlock/InfoBlock.js +1 -1
- package/dist/lib/widgets/infoBlock/InfoBlock.js.map +1 -1
- package/dist/lib/widgets/infoBlock/ui/LinksList.js +1 -1
- package/dist/lib/widgets/infoBlock/ui/LinksList.js.map +1 -1
- package/dist/lib/widgets/infoBlock/ui/RootContent.js +1 -1
- package/dist/lib/widgets/infoBlock/ui/RootContent.js.map +1 -1
- package/dist/lib/widgets/interLinking/InterLinking.js +1 -1
- package/dist/lib/widgets/interLinking/InterLinking.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/ColumnGroup.js +1 -1
- package/dist/lib/widgets/interLinking/ui/ColumnGroup.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js.map +1 -1
- package/dist/lib/widgets/longBanner/LongBanner.js +1 -1
- package/dist/lib/widgets/longBanner/LongBanner.js.map +1 -1
- package/dist/lib/widgets/longBanner/ui/TextItem.js +1 -1
- package/dist/lib/widgets/longBanner/ui/TextItem.js.map +1 -1
- package/dist/lib/widgets/model/helpers.js +2 -2
- package/dist/lib/widgets/model/helpers.js.map +1 -1
- package/dist/lib/widgets/seoHeader/SeoHeader.js +1 -1
- package/dist/lib/widgets/seoHeader/SeoHeader.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/ui/content/TabContent.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/CategoriesMobile.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/Menu.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/mobile/menu/MenuItem.js.map +1 -1
- package/dist/lib/widgets/stepper/Stepper.js +1 -1
- package/dist/lib/widgets/stepper/Stepper.js.map +1 -1
- package/dist/lib/widgets/stepper/ui/StepperCarousel.js +1 -1
- package/dist/lib/widgets/stepper/ui/StepperCarousel.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/UsefulInfo.js +1 -1
- package/dist/lib/widgets/usefulInfo/UsefulInfo.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/Documents.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/documents/ui/document/Document.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js.map +1 -1
- package/dist/lib/widgets/userFeedback/UserFeedback.js +1 -1
- package/dist/lib/widgets/userFeedback/UserFeedback.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/Finally.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/Finally.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/SelectRating.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/SelectRating.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/UserReview.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/UserReview.js.map +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js +1 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/ui/formElements/controlled/autocomplete/Autocomplete.d.ts +1 -1
- package/dist/types/lib/shared/ui/formElements/controlled/index.d.ts +1 -3
- package/dist/types/lib/shared/ui/formElements/index.d.ts +0 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/autocomplete/types.d.ts +2 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/combobox/combobox.d.ts +16 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.d.ts +3 -0
- package/dist/types/lib/shared/ui/formElements/uncontrolled/index.d.ts +3 -21
- package/dist/types/lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.d.ts +1 -1
- package/package.json +2 -4
- package/dist/lib/shared/ui/formElements/controlled/select/SelectControl.js +0 -2
- package/dist/lib/shared/ui/formElements/controlled/select/SelectControl.js.map +0 -1
- package/dist/lib/shared/ui/formElements/controlled/select/index.js +0 -2
- package/dist/lib/shared/ui/formElements/controlled/select/index.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/Select.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/Select.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/index.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/index.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/useSelectController.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/useSelectController.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/index.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/index.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/index.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/index.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/typeGuards.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/typeGuards.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/types.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/model/types.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/Chip.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/Chip.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/ChipList.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/ChipList.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/SelectItem.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/SelectItem.js.map +0 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/index.js +0 -2
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/index.js.map +0 -1
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js +0 -2
- package/dist/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +0 -1
- package/dist/types/lib/shared/ui/formElements/controlled/select/SelectControl.d.ts +0 -26
- package/dist/types/lib/shared/ui/formElements/controlled/select/index.d.ts +0 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/Select.d.ts +0 -150
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/hooks/index.d.ts +0 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/hooks/useSelectController.d.ts +0 -22
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/index.d.ts +0 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/model/index.d.ts +0 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/model/typeGuards.d.ts +0 -2
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/model/types.d.ts +0 -11
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/ui/Chip.d.ts +0 -12
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/ui/ChipList.d.ts +0 -11
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/ui/SelectItem.d.ts +0 -25
- package/dist/types/lib/shared/ui/formElements/uncontrolled/select/ui/index.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidateSlot.js","sources":["../../../../../../../../lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.tsx"],"sourcesContent":["import { type IFieldAttachmentProps, type TFieldAttachmentClasses } from '../FieldAttachment'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface IValidateSlotProps extends Pick<IFieldAttachmentProps, 'badge' | 'withValidateIcons'> {\n isValid?: boolean\n isInvalid?: boolean\n classes?: Pick<TFieldAttachmentClasses, 'badge' | 'errorIcon' | 'successIcon'>\n}\n\nexport const ValidateSlot = ({ badge, withValidateIcons, isValid, isInvalid, classes }: IValidateSlotProps) => {\n return (\n <>\n {isValid && withValidateIcons && (\n <Icon name='general/check' className={cn('size-6 text-icon-positive-default', classes?.successIcon)} />\n )}\n {isInvalid && withValidateIcons && (\n <Icon name='info/warningCircle' className={cn('size-5 text-icon-secondary-default', classes?.errorIcon)} />\n )}\n {badge && !isValid && <Badge className={cn('bg-color-positive text-color-white', classes?.badge)}>{badge}</Badge>}\n </>\n )\n}\n"],"names":["ValidateSlot","badge","withValidateIcons","isValid","isInvalid","classes","jsxs","Fragment","jsx","Icon","cn","Badge"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ValidateSlot.js","sources":["../../../../../../../../lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.tsx"],"sourcesContent":["import { type IFieldAttachmentProps, type TFieldAttachmentClasses } from '../FieldAttachment'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport interface IValidateSlotProps extends Pick<IFieldAttachmentProps, 'badge' | 'withValidateIcons'> {\n isValid?: boolean\n isInvalid?: boolean\n classes?: Pick<TFieldAttachmentClasses, 'badge' | 'errorIcon' | 'successIcon'>\n}\n\nexport const ValidateSlot = ({ badge, withValidateIcons, isValid, isInvalid, classes }: IValidateSlotProps) => {\n return (\n <>\n {isValid && withValidateIcons && (\n <Icon name='general/check' className={cn('size-6 text-icon-positive-default', classes?.successIcon)} />\n )}\n {isInvalid && withValidateIcons && (\n <Icon name='info/warningCircle' className={cn('size-5 text-icon-secondary-default', classes?.errorIcon)} />\n )}\n {badge && !isValid && <Badge className={cn('bg-color-positive text-color-white', classes?.badge)}>{badge}</Badge>}\n </>\n )\n}\n"],"names":["ValidateSlot","badge","withValidateIcons","isValid","isInvalid","classes","jsxs","Fragment","jsx","Icon","cn","Badge"],"mappings":"khDAUO,MAAMA,EAAe,CAAC,CAAE,MAAAC,EAAO,kBAAAC,EAAmB,QAAAC,EAAS,UAAAC,EAAW,QAAAC,KAEzEC,EAAAC,EAAA,CACG,SAAA,CAAAJ,GAAWD,GACVM,EAACC,EAAA,CAAK,KAAK,gBAAgB,UAAWC,EAAG,oCAAqCL,GAAA,YAAAA,EAAS,WAAW,CAAA,CAAG,EAEtGD,GAAaF,GACZM,EAACC,EAAA,CAAK,KAAK,qBAAqB,UAAWC,EAAG,qCAAsCL,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,EAE1GJ,GAAS,CAACE,GAAWK,EAACG,EAAA,CAAM,UAAWD,EAAG,qCAAsCL,GAAA,YAAAA,EAAS,KAAK,EAAI,SAAAJ,CAAA,CAAM,CAAA,EAC3G"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as j}from"react/jsx-runtime";import{forwardRef as w}from"react";import{useDebounceValue as A}from"../../../../hooks/useDebounce.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../checkbox/Checkbox.js";import{Combobox as B}from"../combobox/combobox.js";import"../dayPicker/DayPicker.js";import"../input/Input.js";import"../inputOtp/InputOtpBase.js";import"../maskInput/MaskInput.js";import"../radio/RadioGroup.js";import"../radio/ui/RadioItem.js";import"../slider/SliderBase.js";import"../switch/Switch.js";import"../textarea/Textarea.js";import"../uploader/UploaderBase.js";import"../../controlled/editor/ui/Editor.js";import"../../controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";const y=w(({formatter:f,query:u,value:p,displayValue:m,onChange:i,externalHandlers:o,...b},h)=>{const g=A(p||"",100),{data:r}=u(g),s=r?r.map(f):[],D=t=>{t&&i&&i(m?m(t):t.label)};return j(B,{...b,ref:h,options:s,searchable:!0,filterDisabled:!0,inputValue:p,onInputChange:i,multiple:!1,displayValue:m,externalHandlers:{changeHandler:t=>{var c;D(t),(c=o==null?void 0:o.changeHandler)==null||c.call(o,t)},...o}})});export{y as AutocompleteBase};
|
|
2
2
|
//# sourceMappingURL=Autocomplete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { type UseQueryResult } from '@tanstack/react-query'\nimport type { AutocompleteItemOption } from './types'\nimport { useDebounceValue } from '$/shared/hooks'\nimport {
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { 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) => UseQueryResult<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\nexport const AutocompleteBase = forwardRef(\n <TData,>(\n { formatter, query, value, displayValue, onChange, externalHandlers, ...props }: AutocompleteBaseProps<TData>,\n ref: React.ForwardedRef<HTMLInputElement>\n ) => {\n const debounceSearch = useDebounceValue(value || '', 100)\n\n const { data } = query(debounceSearch)\n\n const options = 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={value}\n onInputChange={onChange}\n multiple={false}\n displayValue={displayValue}\n externalHandlers={{\n changeHandler: (value) => {\n onValueChange(value)\n externalHandlers?.changeHandler?.(value)\n },\n ...externalHandlers\n }}\n />\n )\n }\n) as <TData>(props: AutocompleteBaseProps<TData> & { ref: React.Ref<HTMLInputElement> }) => React.JSX.Element\n"],"names":["AutocompleteBase","forwardRef","formatter","query","value","displayValue","onChange","externalHandlers","props","ref","debounceSearch","useDebounceValue","data","options","onValueChange","jsx","Combobox","_a"],"mappings":"6oCA6BO,MAAMA,EAAmBC,EAC9B,CACE,CAAE,UAAAC,EAAW,MAAAC,EAAO,MAAAC,EAAO,aAAAC,EAAc,SAAAC,EAAU,iBAAAC,EAAkB,GAAGC,CAAA,EACxEC,IACG,CACH,MAAMC,EAAiBC,EAAiBP,GAAS,GAAI,GAAG,EAElD,CAAE,KAAAQ,CAAA,EAAST,EAAMO,CAAc,EAE/BG,EAAUD,EAAOA,EAAK,IAAIV,CAAS,EAAI,CAAA,EAEvCY,EAAiBV,GAAgC,CAChDA,GAEDE,GAAUA,EAASD,EAAeA,EAAaD,CAAK,EAAIA,EAAM,KAAK,CACzE,EAEA,OACEW,EAACC,EAAA,CACE,GAAGR,EACJ,IAAAC,EACA,QAAAI,EACA,WAAU,GACV,eAAc,GACd,WAAYT,EACZ,cAAeE,EACf,SAAU,GACV,aAAAD,EACA,iBAAkB,CAChB,cAAgBD,GAAU,OACxBU,EAAcV,CAAK,GACnBa,EAAAV,GAAA,YAAAA,EAAkB,gBAAlB,MAAAU,EAAA,KAAAV,EAAkCH,EACpC,EACA,GAAGG,CAAA,CACL,CAAA,CAGN,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{forwardRef as b}from"react";import{Checkbox as c,CheckboxIndicator as l}from"../../../../../../node_modules/@radix-ui/react-checkbox/dist/index.js";import{cn as e}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as g}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{forwardRef as b}from"react";import{Checkbox as c,CheckboxIndicator as l}from"../../../../../../node_modules/@radix-ui/react-checkbox/dist/index.js";import{cn as e}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as g}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../combobox/combobox.js";import"../dayPicker/DayPicker.js";import"../input/Input.js";import"../inputOtp/InputOtpBase.js";import"../maskInput/MaskInput.js";import"../radio/RadioGroup.js";import"../radio/ui/RadioItem.js";import"../slider/SliderBase.js";import"../switch/Switch.js";import"../textarea/Textarea.js";import"../uploader/UploaderBase.js";import"../../controlled/editor/ui/Editor.js";import"../../controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";const u=b(({classes:r,className:d,invalid:i,disabled:m,externalHandlers:p,...o},f)=>{const{onChange:a,...h}=p||{};return t(c,{...o,...h,onCheckedChange:n=>{o.onCheckedChange&&o.onCheckedChange(n),a&&a(n)},disabled:m,ref:f,"aria-invalid":i,className:e("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":i,"disabled:border-0 disabled:bg-color-blue-grey-300":m},r==null?void 0:r.root,d),children:t(l,{className:e("h-6 w-6 rounded-sm bg-color-primary-default group-disabled:bg-color-primary-disabled",r==null?void 0:r.indicator),children:t(g,{name:"general/check",className:e("size-6 text-icon-white",r==null?void 0:r.icon)})})})});u.displayName="CheckboxBase";export{u 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 { 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\nexport const CheckboxBase = forwardRef<HTMLButtonElement, CheckboxBaseProps>(\n ({ classes, className, invalid, disabled, externalHandlers, ...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 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","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 { 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\nexport const CheckboxBase = forwardRef<HTMLButtonElement, CheckboxBaseProps>(\n ({ classes, className, invalid, disabled, externalHandlers, ...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 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","props","ref","onChange","restHandlers","jsx","Root","value","cn","Indicator","Icon"],"mappings":"gxCAmCO,MAAMA,EAAeC,EAC1B,CAAC,CAAE,QAAAC,EAAS,UAAAC,EAAW,QAAAC,EAAS,SAAAC,EAAU,iBAAAC,EAAkB,GAAGC,CAAA,EAASC,IAAQ,CAC9E,KAAM,CAAE,SAAAC,EAAU,GAAGC,CAAA,EAAiBJ,GAAoB,CAAA,EAO1D,OACEK,EAACC,EAAA,CACE,GAAGL,EACH,GAAGG,EACJ,gBATqBG,GAAwB,CAC3CN,EAAM,iBAAiBA,EAAM,gBAAgBM,CAAK,EAClDJ,KAAmBI,CAAK,CAC9B,EAOI,SAAAR,EACA,IAAAG,EACA,eAAcJ,EACd,UAAWU,EACT,wFACA,iEACA,sHACA,6FACA,iFACA,uEACA,CACE,kBAAmBV,EACnB,oDAAqDC,CAAA,EAEvDH,GAAA,YAAAA,EAAS,KACTC,CAAA,EAGF,SAAAQ,EAACI,EAAA,CACC,UAAWD,EACT,uFACAZ,GAAA,YAAAA,EAAS,SAAA,EAGX,SAAAS,EAACK,GAAK,KAAK,gBAAgB,UAAWF,EAAG,yBAA0BZ,GAAA,YAAAA,EAAS,IAAI,CAAA,CAAG,CAAA,CAAA,CACrF,CAAA,CAGN,CACF,EACAF,EAAa,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as U,jsx as i}from"react/jsx-runtime";import{forwardRef as q,useRef as G}from"react";import{useFloating as J}from"../../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js";import{useCombobox as K}from"./hooks/useCombobox.js";import{useClickOutside as Q}from"../../../../hooks/useClickOutside.js";import{cn as m}from"../../../../utils/cn.js";import{mergeRefs as T}from"../../../../utils/mergeRefs.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as V}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../checkbox/Checkbox.js";import"../dayPicker/DayPicker.js";import{InputBase as W}from"../input/Input.js";import"../inputOtp/InputOtpBase.js";import"../maskInput/MaskInput.js";import"../radio/RadioGroup.js";import"../radio/ui/RadioItem.js";import"../slider/SliderBase.js";import"../switch/Switch.js";import"../textarea/Textarea.js";import"../uploader/UploaderBase.js";import"../../controlled/editor/ui/Editor.js";import"../../controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{DropdownList as X}from"../../../dropdownList/DropdownList.js";import{AnimatePresence as Y}from"../../../../../../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js";import{motion as Z}from"../../../../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.js";import{autoUpdate as _}from"../../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.js";import{flip as $,offset as l}from"../../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js";const x=({options:y,multiple:u,value:d,onChange:v,defaultOpen:b,attachmentProps:I,searchable:r,invalid:R,displayValue:e,label:k,disabled:p,readOnly:c,className:A,externalHandlers:o,inputValue:B,filterDisabled:F,onInputChange:N,classes:t},O)=>{var w;const{floating:P,...a}=(t==null?void 0:t.list)??{},n=G(null),{refs:g,floatingStyles:j}=J({placement:"bottom-start",strategy:"absolute",middleware:[$({boundary:"clippingAncestors",crossAxis:!1}),l(4)],whileElementsMounted:_}),{open:f,setOpen:h,state:s,changeHandler:z,options:D,search:E,onInputChange:L}=K({multiple:u,value:d,onChange:v,searchable:r,defaultOpen:b,displayValue:e,initialOptions:y,filterDisabled:F,externalHandlers:o,externalInputValue:B,externalOnInputChange:N});return document&&(f?document.body.style.overflow="hidden":document.body.style.overflow="initial"),Q(n,()=>h(!1)),U("div",{ref:n,className:m("relative w-full",t==null?void 0:t.root,A),children:[i(W,{ref:T(O,g.setReference),label:k,invalid:R,readOnly:c||!r,value:E,onChange:L,disabled:p,onClick:M=>{var C;h(S=>!S),(C=o==null?void 0:o.clickHandler)==null||C.call(o,M)},onBlur:o==null?void 0:o.blurHandler,onFocus:o==null?void 0:o.focusHandler,classes:{input:m({"cursor-pointer":!r,"cursor-default":p,"pointer-events-none":p||c}),...t==null?void 0:t.input},autoComplete:"off",attachmentProps:{icon:i(V,{name:"arrows/arrowRight",className:m("size-6 rotate-90 text-color-blue-grey-600 duration-100",{"-rotate-90":f})}),...I}}),i(Y,{children:f&&i(Z.div,{ref:g.setFloating,initial:{opacity:0},animate:{opacity:1},transition:{duration:.1},className:m("z-[1000]",P),style:{...j,width:(w=n.current)==null?void 0:w.getBoundingClientRect().width},children:i(X,{options:D,multiple:u,onPick:z,value:s,displayValue:e,classes:a})})})]})},Go=q(x);export{Go 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 { useRef } from 'react'\nimport { autoUpdate, flip, offset, useFloating } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { useCombobox } from './hooks'\nimport type { ChangeHandler, ComboboxValue } from './model'\nimport type { ComboboxItemOption } from './ui'\nimport { useClickOutside } from '$/shared/hooks'\nimport { type DeepPartial } from '$/shared/types'\nimport { Icon } from '$/shared/ui'\nimport { DropdownList, type DropdownListClasses, type DropdownListProps } from '$/shared/ui/dropdownList'\nimport { type IFieldAttachmentProps } from '$/shared/ui/formElements/ui'\nimport { InputBase, type InputBaseProps } from '$/shared/ui/formElements/uncontrolled/input'\nimport { cn, mergeRefs } 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}\n\nexport interface ComboboxProps<Multi extends boolean> extends Omit<DropdownListProps<Multi>, 'options' | 'value' | 'onChange'> {\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\
|
|
1
|
+
{"version":3,"file":"combobox.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/combobox.tsx"],"sourcesContent":["import { type ForwardedRef, forwardRef, useRef } from 'react'\nimport { autoUpdate, flip, offset, useFloating } from '@floating-ui/react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { useCombobox } from './hooks'\nimport type { ChangeHandler, ComboboxValue } from './model'\nimport type { ComboboxItemOption } from './ui'\nimport { useClickOutside } from '$/shared/hooks'\nimport { type DeepPartial } from '$/shared/types'\nimport { Icon } from '$/shared/ui'\nimport { DropdownList, type DropdownListClasses, type DropdownListProps } from '$/shared/ui/dropdownList'\nimport { type IFieldAttachmentProps } from '$/shared/ui/formElements/ui'\nimport { InputBase, type InputBaseProps } from '$/shared/ui/formElements/uncontrolled/input'\nimport { cn, mergeRefs } 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}\n\nexport interface ComboboxProps<Multi extends boolean> extends Omit<DropdownListProps<Multi>, 'options' | 'value' | 'onChange'> {\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\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 classes\n }: ComboboxProps<Multi>,\n ref: ForwardedRef<HTMLInputElement>\n) => {\n const { floating, ...dropdownClasses } = classes?.list ?? {}\n\n const containerRef = useRef<HTMLDivElement>(null)\n\n const { refs, floatingStyles } = useFloating<HTMLInputElement>({\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 } = 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 if (document) {\n if (open) {\n document.body.style.overflow = 'hidden'\n } else {\n document.body.style.overflow = 'initial'\n }\n }\n\n useClickOutside(containerRef, () => setOpen(false))\n\n return (\n <div ref={containerRef} className={cn('relative w-full', classes?.root, className)}>\n <InputBase\n ref={mergeRefs(ref, refs.setReference)}\n label={label}\n invalid={invalid}\n readOnly={readOnly || !searchable}\n value={search}\n onChange={onInputChange}\n disabled={disabled}\n onClick={(event) => {\n setOpen((prev) => !prev)\n externalHandlers?.clickHandler?.(event)\n }}\n onBlur={externalHandlers?.blurHandler}\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 })}\n />\n ),\n ...attachmentProps\n }}\n />\n\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={{ ...floatingStyles, width: containerRef.current?.getBoundingClientRect().width }}\n >\n <DropdownList\n options={options}\n multiple={multiple}\n onPick={changeHandler}\n value={state}\n displayValue={displayValue}\n classes={dropdownClasses}\n />\n </motion.div>\n )}\n </AnimatePresence>\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","classes","ref","floating","dropdownClasses","containerRef","useRef","refs","floatingStyles","useFloating","flip","offset","autoUpdate","open","setOpen","state","changeHandler","options","search","onInputChange","useCombobox","useClickOutside","jsxs","cn","jsx","InputBase","mergeRefs","event","prev","_a","Icon","AnimatePresence","motion","DropdownList","Combobox","forwardRef"],"mappings":"++DA+FA,MAAMA,EAAiB,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,QAAAC,CACF,EACAC,IACG,OACH,KAAM,CAAE,SAAAC,EAAU,GAAGC,IAAoBH,GAAA,YAAAA,EAAS,OAAQ,CAAA,EAEpDI,EAAeC,EAAuB,IAAI,EAE1C,CAAE,KAAAC,EAAM,eAAAC,CAAA,EAAmBC,EAA8B,CAC7D,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,CAAA,EAAkBC,EAAY,CAC1F,SAAAnC,EACA,MAAAC,EACA,SAAAC,EACA,WAAAG,EACA,YAAAF,EACA,aAAAI,EACA,eAAAR,EACA,eAAAe,EACA,iBAAAF,EACA,mBAAoBC,EACpB,sBAAuBE,CAAA,CACxB,EAED,OAAI,WACEa,EACF,SAAS,KAAK,MAAM,SAAW,SAE/B,SAAS,KAAK,MAAM,SAAW,WAInCQ,EAAgBhB,EAAc,IAAMS,EAAQ,EAAK,CAAC,EAGhDQ,EAAC,MAAA,CAAI,IAAKjB,EAAc,UAAWkB,EAAG,kBAAmBtB,GAAA,YAAAA,EAAS,KAAML,CAAS,EAC/E,SAAA,CAAA4B,EAACC,EAAA,CACC,IAAKC,EAAUxB,EAAKK,EAAK,YAAY,EACrC,MAAAd,EACA,QAAAF,EACA,SAAUI,GAAY,CAACL,EACvB,MAAO4B,EACP,SAAUC,EACV,SAAAzB,EACA,QAAUiC,GAAU,OAClBb,EAASc,GAAS,CAACA,CAAI,GACvBC,EAAAhC,GAAA,YAAAA,EAAkB,eAAlB,MAAAgC,EAAA,KAAAhC,EAAiC8B,EACnC,EACA,OAAQ9B,GAAA,YAAAA,EAAkB,YAC1B,QAASA,GAAA,YAAAA,EAAkB,aAC3B,QAAS,CACP,MAAO0B,EAAG,CACR,iBAAkB,CAACjC,EACnB,iBAAkBI,EAClB,sBAAuBA,GAAYC,CAAA,CACpC,EACD,GAAGM,GAAA,YAAAA,EAAS,KAAA,EAEd,aAAa,MACb,gBAAiB,CACf,KACEuB,EAACM,EAAA,CACC,KAAK,oBACL,UAAWP,EAAG,yDAA0D,CACtE,aAAcV,CAAA,CACf,CAAA,CAAA,EAGL,GAAGxB,CAAA,CACL,CAAA,EAGFmC,EAACO,GACE,SAAAlB,GACCW,EAACQ,EAAO,IAAP,CACC,IAAKzB,EAAK,YACV,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,EACpB,WAAY,CAAE,SAAU,EAAA,EACxB,UAAWgB,EAAG,WAAYpB,CAAQ,EAClC,MAAO,CAAE,GAAGK,EAAgB,OAAOqB,EAAAxB,EAAa,UAAb,YAAAwB,EAAsB,wBAAwB,KAAA,EAEjF,SAAAL,EAACS,EAAA,CACC,QAAAhB,EACA,SAAAhC,EACA,OAAQ+B,EACR,MAAOD,EACP,aAAAvB,EACA,QAASY,CAAA,CAAA,CACX,CAAA,CACF,CAEJ,CAAA,EACF,CAEJ,EAEa8B,GAAWC,EAAWpD,CAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useState as
|
|
1
|
+
import{useState as p,useMemo as E}from"react";const N=D=>{const{multiple:w,defaultOpen:H,value:M,onChange:e,initialOptions:u,searchable:L,filterDisabled:V,displayValue:i,externalHandlers:k,externalInputValue:f,externalOnInputChange:t}=D,{changeHandler:l,inputChangeHandler:b}=k??{},[r,m]=p(""),[q,v]=p(H??!1),[z,A]=p(M??(w?[]:null)),B=E(()=>V||!r.length||!L?u:u.filter(s=>s.label.toLowerCase().includes(f?f.toLowerCase():r.toLowerCase())),[f,V,u,r,L]);return{open:q,setOpen:v,changeHandler:s=>{A(a=>{if(w){const d=a,n=d.some(c=>c.value===s.value)?d.filter(c=>c.value!==s.value):[...d,s];e==null||e(n),l==null||l(n);const y=n.map(c=>i?i(c):c.label).join(", ");return m(y),t==null||t(y),n}const o=(a==null?void 0:a.value)===s.value?null:s;e==null||e(o),l==null||l(o);const j=i&&o?i(o):o==null?void 0:o.label;return m(j??""),t==null||t(j??""),v(!1),o})},options:B,search:r,onInputChange:s=>{m(s.target.value),b==null||b(s.target.value),t==null||t(s.target.value)},state:z}};export{N 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, useState } from 'react'\nimport type { ExternalHandlers } from '../combobox'\nimport { type ChangeHandler, type ComboboxValue } from '../model'\nimport type { ComboboxItemOption } from '../ui'\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}\n\nexport const useCombobox = <Multi extends boolean>(props: UseComboboxOptions<Multi>) => {\n const {
|
|
1
|
+
{"version":3,"file":"useCombobox.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/combobox/hooks/useCombobox.ts"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { ExternalHandlers } from '../combobox'\nimport { type ChangeHandler, type ComboboxValue } from '../model'\nimport type { ComboboxItemOption } from '../ui'\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 const [state, setState] = useState<ComboboxValue<Multi>>(value ?? ((multiple ? [] : null) as ComboboxValue<Multi>))\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 setSearch(e.target.value)\n externalInputChangeHandler?.(e.target.value)\n externalOnInputChange?.(e.target.value)\n }\n\n const changeHandler = (value: ComboboxItemOption) => {\n setState((prevState) => {\n if (multiple) {\n const prev = prevState as ComboboxItemOption[]\n const exists = prev.some((option) => option.value === value.value)\n\n const updated = (\n exists ? prev.filter((option) => option.value !== value.value) : [...prev, value]\n ) as ComboboxValue<Multi>\n\n onChange?.(updated)\n externalChangeHandler?.(updated)\n\n const searchValue = (updated as ComboboxItemOption[])\n .map((option) => (displayValue ? displayValue(option) : option.label))\n .join(', ')\n setSearch(searchValue)\n externalOnInputChange?.(searchValue)\n\n return updated\n }\n\n const updated = ((prevState as ComboboxItemOption)?.value === value.value ? null : value) as ComboboxValue<Multi>\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 return updated\n })\n }\n\n return {\n open,\n setOpen,\n changeHandler,\n options,\n search,\n onInputChange,\n state\n }\n}\n"],"names":["useCombobox","props","multiple","defaultOpen","value","onChange","initialOptions","searchable","filterDisabled","displayValue","externalHandlers","externalInputValue","externalOnInputChange","externalChangeHandler","externalInputChangeHandler","search","setSearch","useState","open","setOpen","state","setState","options","useMemo","option","prevState","prev","updated","searchValue","label","e"],"mappings":"8CAmBO,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,EACxD,CAACiB,EAAOC,CAAQ,EAAIJ,EAA+Bb,IAAWF,EAAW,GAAK,KAA8B,EAE5GoB,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,EA4C3E,MAAO,CACL,KAAAW,EACA,QAAAC,EACA,cAvCqBf,GAA8B,CACnDiB,EAAUI,GAAc,CACtB,GAAIvB,EAAU,CACZ,MAAMwB,EAAOD,EAGPE,EAFSD,EAAK,KAAMF,GAAWA,EAAO,QAAUpB,EAAM,KAAK,EAGtDsB,EAAK,OAAQF,GAAWA,EAAO,QAAUpB,EAAM,KAAK,EAAI,CAAC,GAAGsB,EAAMtB,CAAK,EAGlFC,GAAA,MAAAA,EAAWsB,GACXd,GAAA,MAAAA,EAAwBc,GAExB,MAAMC,EAAeD,EAClB,IAAKH,GAAYf,EAAeA,EAAae,CAAM,EAAIA,EAAO,KAAM,EACpE,KAAK,IAAI,EACZ,OAAAR,EAAUY,CAAW,EACrBhB,GAAA,MAAAA,EAAwBgB,GAEjBD,CACT,CAEA,MAAMA,GAAYF,GAAA,YAAAA,EAAkC,SAAUrB,EAAM,MAAQ,KAAOA,EAEnFC,GAAA,MAAAA,EAAWsB,GACXd,GAAA,MAAAA,EAAwBc,GAExB,MAAME,EAAQpB,GAAgBkB,EAAUlB,EAAakB,CAA6B,EAAKA,GAAA,YAAAA,EAAgC,MACvH,OAAAX,EAAUa,GAAS,EAAE,EACrBjB,GAAA,MAAAA,EAAwBiB,GAAS,IACjCV,EAAQ,EAAK,EAENQ,CACT,CAAC,CACH,EAME,QAAAL,EACA,OAAAP,EACA,cAhDqBe,GAA2C,CAChEd,EAAUc,EAAE,OAAO,KAAK,EACxBhB,GAAA,MAAAA,EAA6BgB,EAAE,OAAO,OACtClB,GAAA,MAAAA,EAAwBkB,EAAE,OAAO,MACnC,EA6CE,MAAAV,CAAA,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as n,jsxs as B}from"react/jsx-runtime";import{forwardRef as F,useRef as M,useState as p}from"react";import{createPortal as T}from"react-dom";import{useClickOutside as j}from"../../../../hooks/useClickOutside.js";import{cn as C}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import{Calendar as _}from"../../../calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as c}from"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as q}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsx as n,jsxs as B}from"react/jsx-runtime";import{forwardRef as F,useRef as M,useState as p}from"react";import{createPortal as T}from"react-dom";import{useClickOutside as j}from"../../../../hooks/useClickOutside.js";import{cn as C}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import{Calendar as _}from"../../../calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as c}from"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as q}from"../../../icon/Icon.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../checkbox/Checkbox.js";import"../combobox/combobox.js";import"../input/Input.js";import"../inputOtp/InputOtpBase.js";import{MaskInput as v}from"../maskInput/MaskInput.js";import"../radio/RadioGroup.js";import"../radio/ui/RadioItem.js";import"../slider/SliderBase.js";import"../switch/Switch.js";import"../textarea/Textarea.js";import"../uploader/UploaderBase.js";import"../../controlled/editor/ui/Editor.js";import"../../controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{AnimatePresence as H}from"../../../../../../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js";import{parse as K}from"../../../../../../node_modules/date-fns/parse.js";import{isValid as L}from"../../../../../../node_modules/date-fns/isValid.js";import{formatDate as x}from"../../../../../../node_modules/date-fns/format.js";const $=F(({defaultOpen:y=!1,value:l,onChange:e,disabled:i,externalHandlers:k,classes:w,...f},O)=>{const{onChange:o,onFocus:u,...I}=k||{},d=M(null),[P,r]=p(y),D=()=>{r(t=>!t)},[S,a]=p(new Date),[R,g]=p(x(new Date,c));j(d,()=>r(!1));const V=l?new Date(l):new Date,N=t=>{if(g(t),!/^(\d{2})\.(\d{2})\.(\d{4})$/.test(t))return;const s=K(t,c,new Date);if(L(s)){const h=s.toISOString();e&&e(h),o&&o(h),a(s)}},b=t=>{a(t);const m=t.toISOString();e&&e(m),o&&o(m),g(x(t,c)),r(!1)},{root:E,input:A}=w||{};return n("div",{ref:d,className:C("relative w-full",E),children:B(H,{mode:"sync",children:[n(v,{ref:O,...f,...I,disabled:i,mask:"##.##.####",classes:A,value:R,onChange:t=>N(t.target.value),autoComplete:"off",onFocus:t=>{r(!0),u&&u(t)},onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&D()},attachmentProps:{...f.attachmentProps,icon:n(q,{name:"general/calendar",className:C("text-icon-blue-grey-600",{"text-icon-disabled":i})}),onClickIcon:D,disabled:i}}),P&&T(n(_,{required:!0,mode:"single",month:S,onMonthChange:a,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":"8rDA4CO,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{InputBase as o}from"./input/Input.js";import{MaskInput as r}from"./maskInput/MaskInput.js";import{
|
|
1
|
+
import{InputBase as o}from"./input/Input.js";import{MaskInput as r}from"./maskInput/MaskInput.js";import{CheckboxBase as m}from"./checkbox/Checkbox.js";import{DayPickerBase as t}from"./dayPicker/DayPicker.js";import{SwitchBase as p}from"./switch/Switch.js";import{AutocompleteBase as e}from"./autocomplete/Autocomplete.js";import{SliderBase as i}from"./slider/SliderBase.js";import{RadioGroupBase as a}from"./radio/RadioGroup.js";import"./radio/ui/RadioItem.js";import"react/jsx-runtime";import"react";import{TextareaBase as f}from"./textarea/Textarea.js";import{UploaderBase as s}from"./uploader/UploaderBase.js";import{InputOtpBase as B}from"./inputOtp/InputOtpBase.js";import{Combobox as c}from"./combobox/combobox.js";const D={InputBase:o,SliderBase:i,AutocompleteBase:e,MaskInput:r,CheckboxBase:m,DayPickerBase:t,SwitchBase:p,RadioGroupBase:a,TextareaBase:f,InputOtpBase:B,UploaderBase:s,Combobox:c};export{D 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 {
|
|
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":"ktBAkCO,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 g,jsx as c}from"react/jsx-runtime";import*as N from"react";import{forwardRef as K}from"react";import{NumericFormat as Q}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as n}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as T}from"../Slider.js";import{useSliderAlgorithmic as U}from"./hooks/useSliderAlgorithmic.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as W}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as X}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsxs as g,jsx as c}from"react/jsx-runtime";import*as N from"react";import{forwardRef as K}from"react";import{NumericFormat as Q}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as n}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as T}from"../Slider.js";import{useSliderAlgorithmic as U}from"./hooks/useSliderAlgorithmic.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as W}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as X}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as Y}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Z=c(X,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),Mi=K(({classes:h,invalid:k,externalHandlers:i,disabled:b,value:u,onChange:e,min:p,max:s,suffix:d,label:w,attachmentProps:t,additionalSuffix:S,readOnly:f,componentType:B,...r},C)=>{const y=N.useId(),l=N.useRef(null),v=()=>{var o;(o=l==null?void 0:l.current)==null||o.focus()},{handleBlur:R,sliderValue:j,sliderStep:A,sliderMin:F,sliderMax:M,handleChangeSlider:V}=U({min:p,max:s,defaultValue:0,value:u,onChange:e}),{root:$,slider:z,textLeft:G,textRight:L,inputRoot:q,textContainer:D,input:E,field:J}=h||{};return g("div",{"aria-label":B,className:m("flex w-full flex-col gap-1",$),children:[g("div",{className:m("relative w-full select-none",{"select-none":f},J),children:[c(Y,{label:w,value:u,attachmentProps:{onClickIcon:f?void 0:(t==null?void 0:t.onClickIcon)||v,icon:f?void 0:(t==null?void 0:t.icon)||Z,...t},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...q},onBlur:o=>{R(u),r!=null&&r.onBlur&&(r==null||r.onBlur(o)),i!=null&&i.onBlur&&i.onBlur(o)},onClick:i==null?void 0:i.onClick,onFocus:i==null?void 0:i.onBlur,renderValues:()=>c(Q,{id:y,readOnly:f,"aria-invalid":k?"true":"false",value:u,disabled:b,suffix:` ${n(d,u)} ${S??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:W(l,C),onValueChange:({floatValue:o})=>{var I;o!==void 0&&(e&&e(o),(I=i==null?void 0:i.onInputChange)==null||I.call(i,o))},"data-test-id":"slider",className:m("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",E),...r})}),c(T,{classes:{...z},step:A,value:j,disabled:b,min:Number(F),max:Number(M),onChange:V,externalHandlers:i})]}),g("div",{className:m("flex justify-between",D),children:[p&&c("span",{className:m("desk-body-regular-m text-color-tetriary",G),children:n(d,p,!1)}),s&&c("span",{className:m("desk-body-regular-m text-color-tetriary",L),children:n(d,s,!1)})]})]})});export{Mi as SliderAlgorithmic};
|
|
2
2
|
//# sourceMappingURL=SliderAlgorithmic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderAlgorithmic.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { type SliderAlgorithmicProps } from '../../model/types'\nimport { SliderInner } from '../Slider'\nimport { useSliderAlgorithmic } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderAlgorithmic = forwardRef<HTMLInputElement, SliderAlgorithmicProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { handleBlur, sliderValue, sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderAlgorithmic({\n min,\n max,\n defaultValue: 0,\n value,\n onChange\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n handleBlur(value)\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue !== undefined) {\n if (onChange) onChange(floatValue)\n externalHandlers?.onInputChange?.(floatValue)\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={sliderValue}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n externalHandlers={externalHandlers}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderAlgorithmic","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","attachmentProps","additionalSuffix","readOnly","componentType","props","ref","inputId","React","inputRef","handleIconClick","_a","handleBlur","sliderValue","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderAlgorithmic","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SliderAlgorithmic.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { type SliderAlgorithmicProps } from '../../model/types'\nimport { SliderInner } from '../Slider'\nimport { useSliderAlgorithmic } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderAlgorithmic = forwardRef<HTMLInputElement, SliderAlgorithmicProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { handleBlur, sliderValue, sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderAlgorithmic({\n min,\n max,\n defaultValue: 0,\n value,\n onChange\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n handleBlur(value)\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue !== undefined) {\n if (onChange) onChange(floatValue)\n externalHandlers?.onInputChange?.(floatValue)\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={sliderValue}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n externalHandlers={externalHandlers}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderAlgorithmic","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","attachmentProps","additionalSuffix","readOnly","componentType","props","ref","inputId","React","inputRef","handleIconClick","_a","handleBlur","sliderValue","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderAlgorithmic","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"0wDAUA,MAAMA,EACJC,EAACC,EAAA,CACC,KAAK,eACL,UAAU,wGAAA,CACZ,EAGWC,GAAoBC,EAC/B,CACE,CACE,QAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,IAAAC,EACA,IAAAC,EACA,OAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,cAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAUC,EAAM,MAAA,EAEhBC,EAAWD,EAAM,OAAyB,IAAI,EAE9CE,EAAkB,IAAM,QAC5BC,EAAAF,GAAA,YAAAA,EAAU,UAAV,MAAAE,EAAmB,OACrB,EAEM,CAAE,WAAAC,EAAY,YAAAC,EAAa,WAAAC,EAAY,UAAAC,EAAW,UAAAC,EAAW,mBAAAC,CAAA,EAAuBC,EAAqB,CAC7G,IAAArB,EACA,IAAAC,EACA,aAAc,EACd,MAAAH,EACA,SAAAC,CAAA,CACD,EAEK,CAAE,KAAAuB,EAAM,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,EAAW,UAAAC,EAAW,cAAAC,EAAe,MAAAC,EAAO,MAAAC,CAAA,EAAUnC,GAAW,CAAA,EAEjG,OACEoC,EAAC,OAAI,aAAYvB,EAAe,UAAWwB,EAAG,6BAA8BT,CAAI,EAC9E,SAAA,CAAAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,8BAA+B,CAAG,cAAgBzB,CAAA,EAAYuB,CAAK,EACpF,SAAA,CAAAvC,EAAC0C,EAAA,CACC,MAAA7B,EACA,MAAAL,EACA,gBAAiB,CACf,YAAaQ,EAAW,QAAYF,GAAA,YAAAA,EAAiB,cAAeS,EACpE,KAAMP,EAAW,QAAYF,GAAA,YAAAA,EAAiB,OAAQf,EACtD,GAAGe,CAAA,EAEL,QAAS,CACP,UAAW,qFACX,GAAGsB,CAAA,EAEL,OAASO,GAAM,CACblB,EAAWjB,CAAK,EACZU,GAAA,MAAAA,EAAO,SAAQA,GAAA,MAAAA,EAAO,OAAOyB,IAC7BrC,GAAA,MAAAA,EAAkB,QAAQA,EAAiB,OAAOqC,CAAC,CACzD,EACA,QAASrC,GAAA,YAAAA,EAAkB,QAC3B,QAASA,GAAA,YAAAA,EAAkB,OAC3B,aAAc,IACZN,EAAC4C,EAAA,CACC,GAAIxB,EACJ,SAAAJ,EACA,eAAcX,EAAU,OAAS,QACjC,MAAAG,EACA,SAAAD,EACA,OAAQ,IAAIsC,EAAqBjC,EAAQJ,CAAK,CAAC,IAAIO,GAAoB,EAAE,GACzE,oBAAoB,WACpB,kBAAmB,IACnB,cAAe,GACf,YAAa+B,EAAUxB,EAAUH,CAAG,EACpC,cAAe,CAAC,CAAE,WAAA4B,KAAiB,OAC7BA,IAAe,SACbtC,KAAmBsC,CAAU,GACjCvB,EAAAlB,GAAA,YAAAA,EAAkB,gBAAlB,MAAAkB,EAAA,KAAAlB,EAAkCyC,GAEtC,EACA,eAAa,SACb,UAAWN,EACT,yGAEAH,CAAA,EAED,GAAGpB,CAAA,CAAA,CACN,CAAA,EAGJlB,EAACgD,EAAA,CACC,QAAS,CAAE,GAAGf,CAAA,EACd,KAAMN,EACN,MAAOD,EACP,SAAAnB,EACA,IAAK,OAAOqB,CAAS,EACrB,IAAK,OAAOC,CAAS,EACrB,SAAUC,EACV,iBAAAxB,CAAA,CAAA,CACF,EACF,IACC,MAAA,CAAI,UAAWmC,EAAG,uBAAwBJ,CAAa,EACrD,SAAA,CAAA3B,GACCV,EAAC,OAAA,CAAK,UAAWyC,EAAG,0CAA2CP,CAAQ,EACpE,SAAAW,EAAqBjC,EAAQF,EAAK,EAAK,CAAA,CAC1C,EAEDC,GACCX,EAAC,OAAA,CAAK,UAAWyC,EAAG,0CAA2CN,CAAS,EACrE,SAAAU,EAAqBjC,EAAQD,EAAK,EAAK,CAAA,CAC1C,CAAA,CAAA,CAEJ,CAAA,EACF,CAEJ,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as f,jsx as m}from"react/jsx-runtime";import*as d from"react";import{forwardRef as O}from"react";import{NumericFormat as P}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as e}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as q}from"../Slider.js";import{useSliderMarks as z}from"./hooks/useSliderMarks.js";import{cn as i}from"../../../../../../utils/cn.js";import{mergeRefs as A}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsxs as f,jsx as m}from"react/jsx-runtime";import*as d from"react";import{forwardRef as O}from"react";import{NumericFormat as P}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as e}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as q}from"../Slider.js";import{useSliderMarks as z}from"./hooks/useSliderMarks.js";import{cn as i}from"../../../../../../utils/cn.js";import{mergeRefs as A}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as D}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Ro=O(({classes:g,invalid:n,externalHandlers:o,disabled:l,value:t,onChange:p,suffix:u,label:b,marks:h,attachmentProps:N,additionalSuffix:y,componentType:a,...w},I)=>{const R=d.useId(),S=d.useRef(null),{sliderMin:s,sliderMax:c,handleChangeSlider:k,handleBlur:B}=z({marks:h,onChange:p,value:t}),{root:C,slider:M,textLeft:j,textRight:v,inputRoot:F,textContainer:$,input:G,field:L}=g||{};return f("div",{"aria-label":a,className:i("flex w-full flex-col gap-1",C),children:[f("div",{className:i("relative w-full select-none",L),children:[m(D,{label:b,value:t,attachmentProps:{...N},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...F},onClick:o==null?void 0:o.onClick,onFocus:o==null?void 0:o.onBlur,onBlur:r=>{o!=null&&o.onBlur&&(o==null||o.onBlur(r)),B()},renderValues:()=>m(P,{id:R,readOnly:!0,"aria-invalid":n?"true":"false",value:t,disabled:l,suffix:` ${e(u,t)} ${y??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:A(S,I),onValueChange:({floatValue:r})=>{r&&(p&&p(r),o!=null&&o.onInputChange&&o.onInputChange(r))},"data-test-id":"slider",className:i("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",G),...w})}),m(q,{classes:{...M},marks:h,step:null,value:t??0,disabled:l,min:Number(s),max:Number(c),onChange:k})]}),f("div",{className:i("flex justify-between",$),children:[s&&m("span",{className:i("desk-body-regular-m text-color-tetriary",j),children:e(u,s,!1)}),c&&m("span",{className:i("desk-body-regular-m text-color-tetriary",v),children:e(u,c,!1)})]})]})});export{Ro as SliderMarks};
|
|
2
2
|
//# sourceMappingURL=SliderMarks.js.map
|
package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderMarks.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { type SliderMarksProps } from '../../model/types'\nimport { SliderInner } from '../../ui/Slider'\nimport { useSliderMarks } from './hooks/useSliderMarks'\nimport { InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport const SliderMarks = forwardRef<HTMLInputElement, SliderMarksProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n suffix,\n label,\n marks,\n attachmentProps,\n additionalSuffix,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const { sliderMin, sliderMax, handleChangeSlider, handleBlur } = useSliderMarks({\n marks,\n onChange,\n value\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n onBlur={(e) => {\n if (externalHandlers?.onBlur) {\n externalHandlers?.onBlur(e)\n }\n handleBlur()\n }}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue) {\n if (onChange) onChange(floatValue)\n if (externalHandlers?.onInputChange) {\n externalHandlers.onInputChange(floatValue)\n }\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n marks={marks}\n step={null}\n value={value ?? 0}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {sliderMin && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, sliderMin, false)}\n </span>\n )}\n {sliderMax && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, sliderMax, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["SliderMarks","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","suffix","label","marks","attachmentProps","additionalSuffix","componentType","props","ref","inputId","React","inputRef","sliderMin","sliderMax","handleChangeSlider","handleBlur","useSliderMarks","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","jsx","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SliderMarks.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { type SliderMarksProps } from '../../model/types'\nimport { SliderInner } from '../../ui/Slider'\nimport { useSliderMarks } from './hooks/useSliderMarks'\nimport { InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport const SliderMarks = forwardRef<HTMLInputElement, SliderMarksProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n suffix,\n label,\n marks,\n attachmentProps,\n additionalSuffix,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const { sliderMin, sliderMax, handleChangeSlider, handleBlur } = useSliderMarks({\n marks,\n onChange,\n value\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n onBlur={(e) => {\n if (externalHandlers?.onBlur) {\n externalHandlers?.onBlur(e)\n }\n handleBlur()\n }}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue) {\n if (onChange) onChange(floatValue)\n if (externalHandlers?.onInputChange) {\n externalHandlers.onInputChange(floatValue)\n }\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n marks={marks}\n step={null}\n value={value ?? 0}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {sliderMin && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, sliderMin, false)}\n </span>\n )}\n {sliderMax && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, sliderMax, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["SliderMarks","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","suffix","label","marks","attachmentProps","additionalSuffix","componentType","props","ref","inputId","React","inputRef","sliderMin","sliderMax","handleChangeSlider","handleBlur","useSliderMarks","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","jsx","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"2sDAUO,MAAMA,GAAcC,EACzB,CACE,CACE,QAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,OAAAC,EACA,MAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAUC,EAAM,MAAA,EAEhBC,EAAWD,EAAM,OAAyB,IAAI,EAE9C,CAAE,UAAAE,EAAW,UAAAC,EAAW,mBAAAC,EAAoB,WAAAC,CAAA,EAAeC,EAAe,CAC9E,MAAAb,EACA,SAAAH,EACA,MAAAD,CAAA,CACD,EAEK,CAAE,KAAAkB,EAAM,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,EAAW,UAAAC,EAAW,cAAAC,EAAe,MAAAC,EAAO,MAAAC,CAAA,EAAU7B,GAAW,CAAA,EACjG,OACE8B,EAAC,OAAI,aAAYnB,EAAe,UAAWoB,EAAG,6BAA8BT,CAAI,EAC9E,SAAA,CAAAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,8BAA+BF,CAAK,EACrD,SAAA,CAAAG,EAACC,EAAA,CACC,MAAA1B,EACA,MAAAH,EACA,gBAAiB,CACf,GAAGK,CAAA,EAEL,QAAS,CACP,UAAW,qFACX,GAAGiB,CAAA,EAEL,QAASxB,GAAA,YAAAA,EAAkB,QAC3B,QAASA,GAAA,YAAAA,EAAkB,OAC3B,OAASgC,GAAM,CACThC,GAAA,MAAAA,EAAkB,SACpBA,GAAA,MAAAA,EAAkB,OAAOgC,IAE3Bd,EAAA,CACF,EACA,aAAc,IACZY,EAACG,EAAA,CACC,GAAIrB,EACJ,SAAQ,GACR,eAAcb,EAAU,OAAS,QACjC,MAAAG,EACA,SAAAD,EACA,OAAQ,IAAIiC,EAAqB9B,EAAQF,CAAK,CAAC,IAAIM,GAAoB,EAAE,GACzE,oBAAoB,WACpB,kBAAmB,IACnB,cAAe,GACf,YAAa2B,EAAUrB,EAAUH,CAAG,EACpC,cAAe,CAAC,CAAE,WAAAyB,KAAiB,CAC7BA,IACEjC,KAAmBiC,CAAU,EAC7BpC,GAAA,MAAAA,EAAkB,eACpBA,EAAiB,cAAcoC,CAAU,EAG/C,EACA,eAAa,SACb,UAAWP,EACT,yGACAH,CAAA,EAED,GAAGhB,CAAA,CAAA,CACN,CAAA,EAGJoB,EAACO,EAAA,CACC,QAAS,CAAE,GAAGhB,CAAA,EACd,MAAAf,EACA,KAAM,KACN,MAAOJ,GAAS,EAChB,SAAAD,EACA,IAAK,OAAOc,CAAS,EACrB,IAAK,OAAOC,CAAS,EACrB,SAAUC,CAAA,CAAA,CACZ,EACF,IACC,MAAA,CAAI,UAAWY,EAAG,uBAAwBJ,CAAa,EACrD,SAAA,CAAAV,GACCe,EAAC,OAAA,CAAK,UAAWD,EAAG,0CAA2CP,CAAQ,EACpE,SAAAY,EAAqB9B,EAAQW,EAAW,EAAK,CAAA,CAChD,EAEDC,GACCc,EAAC,OAAA,CAAK,UAAWD,EAAG,0CAA2CN,CAAS,EACrE,SAAAW,EAAqB9B,EAAQY,EAAW,EAAK,CAAA,CAChD,CAAA,CAAA,CAEJ,CAAA,EACF,CAEJ,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as d,jsx as c}from"react/jsx-runtime";import*as I from"react";import{forwardRef as K}from"react";import{NumericFormat as Q}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as g}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as T}from"../Slider.js";import{useSliderStep as U}from"./hooks/useSliderStep.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as V}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as W}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsxs as d,jsx as c}from"react/jsx-runtime";import*as I from"react";import{forwardRef as K}from"react";import{NumericFormat as Q}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as g}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as T}from"../Slider.js";import{useSliderStep as U}from"./hooks/useSliderStep.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as V}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as W}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as X}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Y=c(W,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),$o=K(({classes:N,invalid:S,externalHandlers:o,disabled:b,value:u,onChange:l,min:p,max:n,suffix:s,label:h,step:k,attachmentProps:t,additionalSuffix:w,readOnly:e,componentType:C,...r},B)=>{const y=I.useId(),f=I.useRef(null),R=()=>{var i;(i=f==null?void 0:f.current)==null||i.focus()},{handleBlur:v,sliderStep:j,sliderMin:F,sliderMax:M,handleChangeSlider:$}=U({min:p,max:n,step:k,onChange:l}),{root:z,slider:G,textLeft:L,textRight:q,inputRoot:A,textContainer:D,input:E,field:J}=N||{};return d("div",{"aria-label":C,className:m("flex w-full flex-col gap-1",z),children:[d("div",{className:m("relative w-full select-none",{"select-none":e},J),children:[c(X,{label:h,value:u,attachmentProps:{onClickIcon:e?void 0:(t==null?void 0:t.onClickIcon)||R,icon:e?void 0:(t==null?void 0:t.icon)||Y,...t},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...A},onBlur:i=>{v(u),r!=null&&r.onBlur&&(r==null||r.onBlur(i)),o!=null&&o.onBlur&&o.onBlur(i)},onClick:o==null?void 0:o.onClick,onFocus:o==null?void 0:o.onBlur,renderValues:()=>c(Q,{id:y,readOnly:e,"aria-invalid":S?"true":"false",value:u,disabled:b,suffix:` ${g(s,u)} ${w??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:V(f,B),onValueChange:({floatValue:i})=>{i&&(l&&l(i),o!=null&&o.onInputChange&&o.onInputChange(i))},"data-test-id":"slider",className:m("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",E),...r})}),c(T,{classes:{...G},step:j,value:u??0,disabled:b,min:Number(F),max:Number(M),onChange:$})]}),d("div",{className:m("flex justify-between",D),children:[p&&c("span",{className:m("desk-body-regular-m text-color-tetriary",L),children:g(s,p,!1)}),n&&c("span",{className:m("desk-body-regular-m text-color-tetriary",q),children:g(s,n,!1)})]})]})});export{$o as SliderStep};
|
|
2
2
|
//# sourceMappingURL=SliderStep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderStep.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { type SliderStepProps } from '../../model/types'\nimport { SliderInner } from '../Slider'\nimport { useSliderStep } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderStep = forwardRef<HTMLInputElement, SliderStepProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n step,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { handleBlur, sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderStep({\n min,\n max,\n step,\n onChange\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n handleBlur(value)\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue) {\n if (onChange) onChange(floatValue)\n if (externalHandlers?.onInputChange) {\n externalHandlers.onInputChange(floatValue)\n }\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={value ?? 0}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderStep","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","step","attachmentProps","additionalSuffix","readOnly","componentType","props","ref","inputId","React","inputRef","handleIconClick","_a","handleBlur","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderStep","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SliderStep.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { type SliderStepProps } from '../../model/types'\nimport { SliderInner } from '../Slider'\nimport { useSliderStep } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderStep = forwardRef<HTMLInputElement, SliderStepProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n step,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { handleBlur, sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderStep({\n min,\n max,\n step,\n onChange\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n handleBlur(value)\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue) {\n if (onChange) onChange(floatValue)\n if (externalHandlers?.onInputChange) {\n externalHandlers.onInputChange(floatValue)\n }\n }\n }}\n data-test-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={value ?? 0}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderStep","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","step","attachmentProps","additionalSuffix","readOnly","componentType","props","ref","inputId","React","inputRef","handleIconClick","_a","handleBlur","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderStep","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"4vDAUA,MAAMA,EACJC,EAACC,EAAA,CACC,KAAK,eACL,UAAU,wGAAA,CACZ,EAGWC,GAAaC,EACxB,CACE,CACE,QAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,IAAAC,EACA,IAAAC,EACA,OAAAC,EACA,MAAAC,EACA,KAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,cAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAUC,EAAM,MAAA,EAEhBC,EAAWD,EAAM,OAAyB,IAAI,EAE9CE,EAAkB,IAAM,QAC5BC,EAAAF,GAAA,YAAAA,EAAU,UAAV,MAAAE,EAAmB,OACrB,EAEM,CAAE,WAAAC,EAAY,WAAAC,EAAY,UAAAC,EAAW,UAAAC,EAAW,mBAAAC,CAAA,EAAuBC,EAAc,CACzF,IAAArB,EACA,IAAAC,EACA,KAAAG,EACA,SAAAL,CAAA,CACD,EAEK,CAAE,KAAAuB,EAAM,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,EAAW,UAAAC,EAAW,cAAAC,EAAe,MAAAC,EAAO,MAAAC,CAAA,EAAUnC,GAAW,CAAA,EAEjG,OACEoC,EAAC,OAAI,aAAYtB,EAAe,UAAWuB,EAAG,6BAA8BT,CAAI,EAC9E,SAAA,CAAAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,8BAA+B,CAAG,cAAgBxB,CAAA,EAAYsB,CAAK,EACpF,SAAA,CAAAvC,EAAC0C,EAAA,CACC,MAAA7B,EACA,MAAAL,EACA,gBAAiB,CACf,YAAaS,EAAW,QAAYF,GAAA,YAAAA,EAAiB,cAAeS,EACpE,KAAMP,EAAW,QAAYF,GAAA,YAAAA,EAAiB,OAAQhB,EACtD,GAAGgB,CAAA,EAEL,QAAS,CACP,UAAW,qFACX,GAAGqB,CAAA,EAEL,OAASO,GAAM,CACbjB,EAAWlB,CAAK,EACZW,GAAA,MAAAA,EAAO,SAAQA,GAAA,MAAAA,EAAO,OAAOwB,IAC7BrC,GAAA,MAAAA,EAAkB,QAAQA,EAAiB,OAAOqC,CAAC,CACzD,EACA,QAASrC,GAAA,YAAAA,EAAkB,QAC3B,QAASA,GAAA,YAAAA,EAAkB,OAC3B,aAAc,IACZN,EAAC4C,EAAA,CACC,GAAIvB,EACJ,SAAAJ,EACA,eAAcZ,EAAU,OAAS,QACjC,MAAAG,EACA,SAAAD,EACA,OAAQ,IAAIsC,EAAqBjC,EAAQJ,CAAK,CAAC,IAAIQ,GAAoB,EAAE,GACzE,oBAAoB,WACpB,kBAAmB,IACnB,cAAe,GACf,YAAa8B,EAAUvB,EAAUH,CAAG,EACpC,cAAe,CAAC,CAAE,WAAA2B,KAAiB,CAC7BA,IACEtC,KAAmBsC,CAAU,EAC7BzC,GAAA,MAAAA,EAAkB,eACpBA,EAAiB,cAAcyC,CAAU,EAG/C,EACA,eAAa,SACb,UAAWN,EACT,yGAEAH,CAAA,EAED,GAAGnB,CAAA,CAAA,CACN,CAAA,EAGJnB,EAACgD,EAAA,CACC,QAAS,CAAE,GAAGf,CAAA,EACd,KAAMN,EACN,MAAOnB,GAAS,EAChB,SAAAD,EACA,IAAK,OAAOqB,CAAS,EACrB,IAAK,OAAOC,CAAS,EACrB,SAAUC,CAAA,CAAA,CACZ,EACF,IACC,MAAA,CAAI,UAAWW,EAAG,uBAAwBJ,CAAa,EACrD,SAAA,CAAA3B,GACCV,EAAC,OAAA,CAAK,UAAWyC,EAAG,0CAA2CP,CAAQ,EACpE,SAAAW,EAAqBjC,EAAQF,EAAK,EAAK,CAAA,CAC1C,EAEDC,GACCX,EAAC,OAAA,CAAK,UAAWyC,EAAG,0CAA2CN,CAAS,EACrE,SAAAU,EAAqBjC,EAAQD,EAAK,EAAK,CAAA,CAC1C,CAAA,CAAA,CAEJ,CAAA,EACF,CAEJ,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as x,Fragment as h,jsx as o}from"react/jsx-runtime";import{forwardRef as j}from"react";import{defaultDropzoneOptions as v}from"./model/helpers.js";import{useUploader as w}from"./model/hooks/useUploader.js";import{UploaderFiles as z}from"./ui/UploaderFiles.js";import{cn as S}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../checkbox/Checkbox.js";import"
|
|
1
|
+
import{jsxs as x,Fragment as h,jsx as o}from"react/jsx-runtime";import{forwardRef as j}from"react";import{defaultDropzoneOptions as v}from"./model/helpers.js";import{useUploader as w}from"./model/hooks/useUploader.js";import{UploaderFiles as z}from"./ui/UploaderFiles.js";import{cn as S}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../autocomplete/Autocomplete.js";import"../checkbox/Checkbox.js";import"../combobox/combobox.js";import"../dayPicker/DayPicker.js";import"../input/Input.js";import"../inputOtp/InputOtpBase.js";import"../maskInput/MaskInput.js";import"../radio/RadioGroup.js";import"../radio/ui/RadioItem.js";import"../slider/SliderBase.js";import"../switch/Switch.js";import"../textarea/Textarea.js";import"../../controlled/editor/ui/Editor.js";import"../../controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{UploaderInput as b}from"./ui/UploaderInput.js";const mo=j(({classes:i,dropzoneOptions:m=v,name:p,value:r,disabled:e,invalid:s,onChange:l,externalHandlers:t,...f},a)=>{const{filesStatus:n,removeFile:c,dropzoneState:d}=w({controlledFiles:r,dropzoneOptions:m,onChange:l,externalHandlers:t}),{root:u,input:F,files:U}=i||{};return x(h,{children:[o("div",{className:S("relative mb-3 w-[476px]",u),children:o(b,{...f,ref:a,name:p,classes:F,disabled:e,invalid:s,dropzoneState:d,externalHandlers:t})}),o(z,{files:r,removeFile:c,classes:U,filesStatus:n})]})});export{mo as UploaderBase};
|
|
2
2
|
//# sourceMappingURL=UploaderBase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploaderBase.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes } from 'react'\nimport { type DropzoneOptions } from 'react-dropzone'\nimport { defaultDropzoneOptions } from './model'\nimport { useUploader } from './model/hooks/useUploader'\nimport { UploaderFiles, type UploaderFilesClasses, UploaderInput, type UploaderInputClasses } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype UploaderBaseClasses = {\n root?: string\n input?: UploaderInputClasses\n files?: UploaderFilesClasses\n}\n\nexport type ExternalHandlers = {\n onChange?: (files: File[]) => void\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void\n}\n\nexport interface UploaderBaseProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'placeholder' | 'value' | 'onChange'> {\n /**\n * Опции uploader-а, в нем можно валидировать файлы, указывать максимум и минимум для файлов\n * Подробнее можно узнать в типе DropzoneOptions\n */\n dropzoneOptions?: DropzoneOptions\n /**\n * Объект классов которые можно переопределить\n */\n classes?: UploaderBaseClasses\n /**\n * Доп текст под инпутом\n */\n helperText?: string\n /**\n * Сеттер значение\n * @param file - файлы\n */\n onChange?: (file: File[]) => void\n /**\n * Валидное ли значение\n */\n invalid?: boolean\n /**\n * Значение\n */\n value?: File[]\n /**\n * Внешние объект handlers\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const UploaderBase = forwardRef<HTMLInputElement, UploaderBaseProps>(\n (\n {\n classes,\n dropzoneOptions = defaultDropzoneOptions,\n name,\n value,\n disabled,\n invalid,\n onChange,\n externalHandlers,\n ...props\n }: UploaderBaseProps,\n ref\n ) => {\n const { filesStatus, removeFile, dropzoneState } = useUploader({\n controlledFiles: value,\n dropzoneOptions,\n onChange,\n externalHandlers\n })\n\n const { root, input, files } = classes || {}\n\n return (\n <>\n <div className={cn('relative mb-3 w-[476px]', root)}>\n <UploaderInput\n {...props}\n ref={ref}\n name={name}\n classes={input}\n disabled={disabled}\n invalid={invalid}\n dropzoneState={dropzoneState}\n externalHandlers={externalHandlers}\n />\n </div>\n <UploaderFiles files={value} removeFile={removeFile} classes={files} filesStatus={filesStatus} />\n </>\n )\n }\n)\n"],"names":["UploaderBase","forwardRef","classes","dropzoneOptions","defaultDropzoneOptions","name","value","disabled","invalid","onChange","externalHandlers","props","ref","filesStatus","removeFile","dropzoneState","useUploader","root","input","files","jsxs","Fragment","jsx","cn","UploaderInput","UploaderFiles"],"mappings":"
|
|
1
|
+
{"version":3,"file":"UploaderBase.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/UploaderBase.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes } from 'react'\nimport { type DropzoneOptions } from 'react-dropzone'\nimport { defaultDropzoneOptions } from './model'\nimport { useUploader } from './model/hooks/useUploader'\nimport { UploaderFiles, type UploaderFilesClasses, UploaderInput, type UploaderInputClasses } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype UploaderBaseClasses = {\n root?: string\n input?: UploaderInputClasses\n files?: UploaderFilesClasses\n}\n\nexport type ExternalHandlers = {\n onChange?: (files: File[]) => void\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void\n}\n\nexport interface UploaderBaseProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'placeholder' | 'value' | 'onChange'> {\n /**\n * Опции uploader-а, в нем можно валидировать файлы, указывать максимум и минимум для файлов\n * Подробнее можно узнать в типе DropzoneOptions\n */\n dropzoneOptions?: DropzoneOptions\n /**\n * Объект классов которые можно переопределить\n */\n classes?: UploaderBaseClasses\n /**\n * Доп текст под инпутом\n */\n helperText?: string\n /**\n * Сеттер значение\n * @param file - файлы\n */\n onChange?: (file: File[]) => void\n /**\n * Валидное ли значение\n */\n invalid?: boolean\n /**\n * Значение\n */\n value?: File[]\n /**\n * Внешние объект handlers\n */\n externalHandlers?: ExternalHandlers\n}\n\nexport const UploaderBase = forwardRef<HTMLInputElement, UploaderBaseProps>(\n (\n {\n classes,\n dropzoneOptions = defaultDropzoneOptions,\n name,\n value,\n disabled,\n invalid,\n onChange,\n externalHandlers,\n ...props\n }: UploaderBaseProps,\n ref\n ) => {\n const { filesStatus, removeFile, dropzoneState } = useUploader({\n controlledFiles: value,\n dropzoneOptions,\n onChange,\n externalHandlers\n })\n\n const { root, input, files } = classes || {}\n\n return (\n <>\n <div className={cn('relative mb-3 w-[476px]', root)}>\n <UploaderInput\n {...props}\n ref={ref}\n name={name}\n classes={input}\n disabled={disabled}\n invalid={invalid}\n dropzoneState={dropzoneState}\n externalHandlers={externalHandlers}\n />\n </div>\n <UploaderFiles files={value} removeFile={removeFile} classes={files} filesStatus={filesStatus} />\n </>\n )\n }\n)\n"],"names":["UploaderBase","forwardRef","classes","dropzoneOptions","defaultDropzoneOptions","name","value","disabled","invalid","onChange","externalHandlers","props","ref","filesStatus","removeFile","dropzoneState","useUploader","root","input","files","jsxs","Fragment","jsx","cn","UploaderInput","UploaderFiles"],"mappings":"k2CAoDO,MAAMA,GAAeC,EAC1B,CACE,CACE,QAAAC,EACA,gBAAAC,EAAkBC,EAClB,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,EACA,SAAAC,EACA,iBAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,KAAM,CAAE,YAAAC,EAAa,WAAAC,EAAY,cAAAC,CAAA,EAAkBC,EAAY,CAC7D,gBAAiBV,EACjB,gBAAAH,EACA,SAAAM,EACA,iBAAAC,CAAA,CACD,EAEK,CAAE,KAAAO,EAAM,MAAAC,EAAO,MAAAC,CAAA,EAAUjB,GAAW,CAAA,EAE1C,OACEkB,EAAAC,EAAA,CACE,SAAA,CAAAC,EAAC,MAAA,CAAI,UAAWC,EAAG,0BAA2BN,CAAI,EAChD,SAAAK,EAACE,EAAA,CACE,GAAGb,EACJ,IAAAC,EACA,KAAAP,EACA,QAASa,EACT,SAAAX,EACA,QAAAC,EACA,cAAAO,EACA,iBAAAL,CAAA,CAAA,EAEJ,IACCe,EAAA,CAAc,MAAOnB,EAAO,WAAAQ,EAAwB,QAASK,EAAO,YAAAN,CAAA,CAA0B,CAAA,EACjG,CAEJ,CACF"}
|