@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
|
@@ -8,4 +8,4 @@ export type AutocompleteControlProps<TFieldValues extends FieldValues, T, TName
|
|
|
8
8
|
message?: string;
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
|
-
export declare const AutocompleteControl: <TFieldValues extends FieldValues, T>({ control, name, defaultValue, disabled, helperText, rules, shouldUnregister, classes,
|
|
11
|
+
export declare const AutocompleteControl: <TFieldValues extends FieldValues, T>({ control, name, defaultValue, disabled, helperText, rules, shouldUnregister, classes, ...props }: AutocompleteControlProps<TFieldValues, T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -7,7 +7,6 @@ export type { InputControlProps, MaskInputControlProps } from './input';
|
|
|
7
7
|
export type { InputCurrencyControlProps, ICurrencyOption, TCurrencyVariant } from './inputCurrency';
|
|
8
8
|
export type { InputOtpControlProps } from './inputOtp';
|
|
9
9
|
export type { RadioGroupControlProps } from './radio';
|
|
10
|
-
export type { SelectControlProps } from './select';
|
|
11
10
|
export type { SliderControlProps } from './slider';
|
|
12
11
|
export type { SwitchControlProps } from './switch';
|
|
13
12
|
export type { TextareaControlProps } from './textarea';
|
|
@@ -29,12 +28,11 @@ export declare const Controlled: {
|
|
|
29
28
|
MaskInputControl: <TFieldValues extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ control, name, defaultValue, disabled, rules, shouldUnregister, classes, helperText, ...props }: import('./input').MaskInputControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
30
29
|
DayPickerControl: <T extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ control, name, disabled, rules, shouldUnregister, defaultValue, inputProps, helperText, classes, ...props }: import('./dayPickerControl').DayPickerControlProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
31
30
|
CheckboxControl: <TFieldValues extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ control, classes, className, name, rules, shouldUnregister, defaultValue, disabled, children, helperText, ...props }: import('./checkbox').CheckboxControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
32
|
-
SelectControl: <TFieldValues extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ control, classes, name, rules, shouldUnregister, disabled, defaultValue, returnValue, options, helperText, ...props }: import('./select').SelectControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
33
31
|
SwitchControl: <TFieldValues extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ classes, className, control, name, rules, defaultValue, disabled, shouldUnregister, children, helperText, tooltip, popoverProps, ...props }: import('./switch').SwitchControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
34
32
|
RadioGroupControl: <TFieldValues extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ classes, className, control, name, rules, shouldUnregister, disabled, defaultValue, helperText, label, ...props }: import('./radio').RadioGroupControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
35
33
|
RadioGroupTabControl: <TFieldValues extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ options, ...props }: import('./radio').RadioGroupControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
36
34
|
RadioGroupCardControl: <TFieldValues extends import('react-hook-form').FieldValues = import('react-hook-form').FieldValues>({ options, ...props }: import('./radio').RadioGroupControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
37
|
-
AutocompleteControl: <TFieldValues extends import('react-hook-form').FieldValues, T>({ control, name, defaultValue, disabled, helperText, rules, shouldUnregister, classes,
|
|
35
|
+
AutocompleteControl: <TFieldValues extends import('react-hook-form').FieldValues, T>({ control, name, defaultValue, disabled, helperText, rules, shouldUnregister, classes, ...props }: import('./autocomplete').AutocompleteControlProps<TFieldValues, T>) => import("react/jsx-runtime").JSX.Element;
|
|
38
36
|
DadataFio: <TFieldValues extends import('react-hook-form').FieldValues>({ formatter, dadataBaseUrl, queryClient, ...props }: import('./dadata').DadataFioProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
39
37
|
DadataAddress: <TFieldValues extends import('react-hook-form').FieldValues>({ formatter, dadataBaseUrl, queryClient, ...props }: import('./dadata').DadataAddressProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
40
38
|
DadataCountry: <TFieldValues extends import('react-hook-form').FieldValues>({ formatter, dadataBaseUrl, queryClient, ...props }: import('./dadata').DadataCountryProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -6,7 +6,6 @@ export * from './uncontrolled/input';
|
|
|
6
6
|
export * from './uncontrolled/inputOtp';
|
|
7
7
|
export * from './uncontrolled/maskInput';
|
|
8
8
|
export * from './uncontrolled/radio';
|
|
9
|
-
export * from './uncontrolled/select';
|
|
10
9
|
export * from './uncontrolled/slider';
|
|
11
10
|
export * from './uncontrolled/switch';
|
|
12
11
|
export * from './uncontrolled/textarea';
|
|
@@ -21,7 +20,6 @@ export * from './controlled/input';
|
|
|
21
20
|
export * from './controlled/inputCurrency';
|
|
22
21
|
export * from './controlled/inputOtp';
|
|
23
22
|
export * from './controlled/radio';
|
|
24
|
-
export * from './controlled/select';
|
|
25
23
|
export * from './controlled/slider';
|
|
26
24
|
export * from './controlled/switch';
|
|
27
25
|
export * from './controlled/textarea';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UseQueryResult } from '@tanstack/react-query';
|
|
2
2
|
import { AutocompleteItemOption } from './types';
|
|
3
|
-
import {
|
|
4
|
-
export interface AutocompleteBaseProps<TData> extends Omit<
|
|
3
|
+
import { ComboboxProps } from '../../../../../../shared/ui';
|
|
4
|
+
export interface AutocompleteBaseProps<TData> extends Omit<ComboboxProps<false>, 'options' | 'inputValue' | 'onInputChange' | 'searchable' | 'multiple' | 'value' | 'onChange'> {
|
|
5
5
|
/**
|
|
6
6
|
* Функция для запроса основанная на [@tanstack/query](https://tanstack.com/query/latest/docs/framework/react/overview)
|
|
7
7
|
*/
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ForwardedRef } from 'react';
|
|
1
2
|
import { ChangeHandler, ComboboxValue } from './model';
|
|
2
3
|
import { ComboboxItemOption } from './ui';
|
|
3
4
|
import { DeepPartial } from '../../../../../../shared/types';
|
|
@@ -71,5 +72,19 @@ export interface ComboboxProps<Multi extends boolean> extends Omit<DropdownListP
|
|
|
71
72
|
* Дополнительные события
|
|
72
73
|
*/
|
|
73
74
|
externalHandlers?: ExternalHandlers<Multi>;
|
|
75
|
+
/**
|
|
76
|
+
* Функция для изменения значения поиска
|
|
77
|
+
*/
|
|
78
|
+
onInputChange?: (value: string) => void;
|
|
79
|
+
/**
|
|
80
|
+
* Значение инпута
|
|
81
|
+
*/
|
|
82
|
+
inputValue?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Выключить фильтрацию списка
|
|
85
|
+
*/
|
|
86
|
+
filterDisabled?: boolean;
|
|
74
87
|
}
|
|
75
|
-
export declare const Combobox: <Multi extends boolean>(
|
|
88
|
+
export declare const Combobox: <Multi extends boolean>(props: ComboboxProps<Multi> & {
|
|
89
|
+
ref?: ForwardedRef<HTMLInputElement>;
|
|
90
|
+
}) => React.JSX.Element;
|
|
@@ -10,6 +10,9 @@ type UseComboboxOptions<Multi extends boolean> = {
|
|
|
10
10
|
displayValue?: (option: ComboboxItemOption) => string;
|
|
11
11
|
defaultOpen?: boolean;
|
|
12
12
|
externalHandlers?: ExternalHandlers<Multi>;
|
|
13
|
+
externalInputValue?: string;
|
|
14
|
+
externalOnInputChange?: (value: string) => void;
|
|
15
|
+
filterDisabled?: boolean;
|
|
13
16
|
};
|
|
14
17
|
export declare const useCombobox: <Multi extends boolean>(props: UseComboboxOptions<Multi>) => {
|
|
15
18
|
open: boolean;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
export type { InputBaseProps } from './input';
|
|
2
2
|
export type { MaskInputProps } from './maskInput';
|
|
3
|
-
export type { SelectBaseProps, SelectItemOption } from './select';
|
|
4
3
|
export type { CheckboxBaseProps, CheckedState } from './checkbox';
|
|
5
4
|
export type { DayPickerProps } from './dayPicker';
|
|
6
5
|
export type { SwitchBaseProps } from './switch';
|
|
7
6
|
export type { AutocompleteBaseProps, AutocompleteItemOption } from './autocomplete';
|
|
8
7
|
export type { RadioGroupBaseProps, RadioOption } from './radio';
|
|
9
8
|
export type { TextareaBaseProps } from './textarea';
|
|
10
|
-
export { isSingleOption } from './select';
|
|
11
9
|
export type { InputOtpBaseProps } from './inputOtp';
|
|
12
10
|
export type { ComboboxProps, ComboboxItemOption } from './combobox';
|
|
13
11
|
/**
|
|
@@ -55,24 +53,6 @@ export declare const Uncontrolled: {
|
|
|
55
53
|
mask: "datetime" | "email" | "numeric" | "currency" | "decimal" | "integer" | "percentage" | "url" | "ip" | "mac" | "ssn" | "brl-currency" | "cpf" | "cnpj" | (string & {}) | (string[] & {}) | null;
|
|
56
54
|
externalMaskDefinitions?: Record<string, import('./maskInput/MaskInput').Definition>;
|
|
57
55
|
} & import('react').RefAttributes<HTMLInputElement>>;
|
|
58
|
-
SelectBase: import('react').ForwardRefExoticComponent<Omit<import('@headlessui/react').ComboboxProps<import('./select').SelectItemOption, boolean, "li">, "onChange" | "className" | "by" | "multiple" | "virtual"> & {
|
|
59
|
-
label: string;
|
|
60
|
-
isMulti?: boolean | undefined;
|
|
61
|
-
invalid?: boolean;
|
|
62
|
-
isSearchable?: boolean;
|
|
63
|
-
options: import('./select').SelectItemOption[];
|
|
64
|
-
classes?: import('./select/Select').SelectClasses;
|
|
65
|
-
displayValue?: (option: import('./select').SelectItemOption) => string;
|
|
66
|
-
onChange?: ((value: import('./select').SelectItemOption | import('./select').SelectItemOption[] | undefined) => void) | undefined;
|
|
67
|
-
onInputChange?: (value: string) => void;
|
|
68
|
-
inputValue?: string;
|
|
69
|
-
attachmentProps?: import('../../../types').DeepPartial<import('../ui').IFieldAttachmentProps>;
|
|
70
|
-
virtual?: boolean;
|
|
71
|
-
filterDisabled?: boolean;
|
|
72
|
-
externalHandlers?: import('./select/Select').ExternalHandlers;
|
|
73
|
-
emptyList?: (query?: string) => React.ReactNode;
|
|
74
|
-
reset?: string;
|
|
75
|
-
} & import('react').RefAttributes<HTMLInputElement>>;
|
|
76
56
|
CheckboxBase: import('react').ForwardRefExoticComponent<import('@radix-ui/react-checkbox').CheckboxProps & {
|
|
77
57
|
classes?: import('./checkbox/Checkbox').CheckboxBaseClasses;
|
|
78
58
|
invalid?: boolean;
|
|
@@ -149,5 +129,7 @@ export declare const Uncontrolled: {
|
|
|
149
129
|
invalid?: boolean;
|
|
150
130
|
} & import('react').RefAttributes<HTMLInputElement>>;
|
|
151
131
|
UploaderBase: import('react').ForwardRefExoticComponent<import('./uploader').UploaderBaseProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
152
|
-
Combobox: <Multi extends boolean>(
|
|
132
|
+
Combobox: <Multi extends boolean>(props: import('./combobox').ComboboxProps<Multi> & {
|
|
133
|
+
ref?: import('react').ForwardedRef<HTMLInputElement>;
|
|
134
|
+
}) => React.JSX.Element;
|
|
153
135
|
};
|
|
@@ -6,7 +6,7 @@ export type ValidationField = {
|
|
|
6
6
|
validation: FieldValidation;
|
|
7
7
|
};
|
|
8
8
|
export interface SelectGroupProps<T extends FieldValues> {
|
|
9
|
-
fields: FieldElementWithoutControl<T, '
|
|
9
|
+
fields: FieldElementWithoutControl<T, 'ComboboxControl', ValidationField>[];
|
|
10
10
|
}
|
|
11
11
|
export interface CheckboxGroupProps<T extends FieldValues> {
|
|
12
12
|
fields: FieldElementWithoutControl<T, 'CheckboxControl', ValidationField>[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scbt-ecom/ui",
|
|
3
|
-
"version": "0.96.
|
|
3
|
+
"version": "0.96.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -83,14 +83,12 @@
|
|
|
83
83
|
},
|
|
84
84
|
"peerDependecies": {
|
|
85
85
|
"react": "^18.3.1",
|
|
86
|
-
"react-dom": "^18.3.1"
|
|
87
|
-
"@headlessui/react": "^2.1.2"
|
|
86
|
+
"react-dom": "^18.3.1"
|
|
88
87
|
},
|
|
89
88
|
"overrides": {
|
|
90
89
|
"esbuild": "0.24.0"
|
|
91
90
|
},
|
|
92
91
|
"dependencies": {
|
|
93
|
-
"@floating-ui/react": "^0.27.4",
|
|
94
92
|
"@headlessui/react": "^2.1.2",
|
|
95
93
|
"@radix-ui/react-checkbox": "^1.1.1",
|
|
96
94
|
"@radix-ui/react-popover": "^1.1.1",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as F,jsx as n}from"react/jsx-runtime";import{useMemo as O}from"react";import{useController as k}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{cn as q}from"../../../../utils/cn.js";import"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../table/ui/primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../uncontrolled/autocomplete/Autocomplete.js";import"../../uncontrolled/checkbox/Checkbox.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import"../../uncontrolled/input/Input.js";import"../../uncontrolled/dayPicker/DayPicker.js";import"../../uncontrolled/inputOtp/InputOtpBase.js";import"../../uncontrolled/maskInput/MaskInput.js";import"../../uncontrolled/radio/RadioGroup.js";import"../../uncontrolled/radio/ui/RadioItem.js";import{SelectBase as z}from"../../uncontrolled/select/Select.js";import{isSingleOption as D}from"../../uncontrolled/select/model/typeGuards.js";import"../../uncontrolled/slider/SliderBase.js";import"../../uncontrolled/switch/Switch.js";import"../../uncontrolled/textarea/Textarea.js";import"../../uncontrolled/uploader/UploaderBase.js";import{MessageView as E}from"../../ui/MessageView.js";import"../editor/ui/Editor.js";import"../input/MaskInputControl.js";const gr=({control:c,classes:f,name:l,rules:a,shouldUnregister:g,disabled:m,defaultValue:C,returnValue:o,options:t,helperText:d,...y})=>{const{field:h,fieldState:x}=k({control:c,name:l,rules:a,shouldUnregister:g,disabled:m,defaultValue:C}),{invalid:A,error:s}=x,{container:S,message:j,...w}=f||{},{value:i,onChange:e,...M}=h,N=r=>{if(Array.isArray(r)){const B=r.map(p=>o?o(p):p.value);e(B)}else D(r)?e(o?o(r):r==null?void 0:r.value):e(null)},v=O(()=>Array.isArray(i)?t.filter(r=>i.includes(o?o(r):r.value)):t.find(r=>(o?o(r):r.value)===i),[t,o,i]);return F("div",{className:q("w-full items-start gap-y-2",S),children:[n(z,{...y,...M,...w,options:t,value:v,onChange:N,invalid:A,disabled:m}),n(E,{text:s?s.message:d,className:j,intent:s?"error":"simple",disabled:m})]})};export{gr as SelectControl};
|
|
2
|
-
//# sourceMappingURL=SelectControl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectControl.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/select/SelectControl.tsx"],"sourcesContent":["'use client'\n\nimport { useMemo } from 'react'\nimport { type Control, type FieldPath, type FieldValues, useController, type UseControllerProps } from 'react-hook-form'\nimport { isSingleOption, SelectBase, type SelectBaseProps, type SelectItemOption } from '$/shared/ui'\nimport { MessageView } from '$/shared/ui/formElements/ui'\nimport { cn } from '$/shared/utils'\n\ntype SelectControlClasses = SelectBaseProps<boolean>['classes'] & {\n container?: string\n message?: string\n}\n\nexport type SelectControlProps<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = UseControllerProps<TFieldValues, TName> &\n SelectBaseProps<boolean> & {\n /**\n * Контрол объект для управления полем\n */\n control: Control<TFieldValues>\n /**\n * Дополнительные стили компонента\n */\n classes?: SelectControlClasses\n /**\n * Дополнительный текст\n */\n helperText?: string\n /**\n * Функция для управления возвращаемым значением\n */\n returnValue?: (option?: SelectItemOption) => string\n }\n\nexport const SelectControl = <TFieldValues extends FieldValues = FieldValues>({\n control,\n classes,\n name,\n rules,\n shouldUnregister,\n disabled,\n defaultValue,\n returnValue,\n options,\n helperText,\n ...props\n}: SelectControlProps<TFieldValues>) => {\n const { field, fieldState } = useController({\n control,\n name,\n rules,\n shouldUnregister,\n disabled,\n defaultValue\n })\n\n const { invalid, error } = fieldState\n const { container, message, ...restClasses } = classes || {}\n\n const { value, onChange, ...restField } = field\n\n const onValueChange = (value?: SelectItemOption | SelectItemOption[]) => {\n if (Array.isArray(value)) {\n const values = value.map((item) => (returnValue ? returnValue(item) : item.value))\n onChange(values)\n } else if (isSingleOption(value)) {\n onChange(returnValue ? returnValue(value) : value?.value)\n } else {\n onChange(null)\n }\n }\n\n const selected = useMemo<SelectItemOption | SelectItemOption[] | undefined>(() => {\n if (Array.isArray(value)) {\n return options.filter((option) => value.includes(returnValue ? returnValue(option) : option.value))\n } else {\n return options.find((option) => (returnValue ? returnValue(option) : option.value) === value)\n }\n }, [options, returnValue, value])\n\n return (\n <div className={cn('w-full items-start gap-y-2', container)}>\n <SelectBase\n {...props}\n {...restField}\n {...restClasses}\n options={options}\n value={selected}\n onChange={onValueChange}\n invalid={invalid}\n disabled={disabled}\n />\n <MessageView\n text={error ? error.message : helperText}\n className={message}\n intent={error ? 'error' : 'simple'}\n disabled={disabled}\n />\n </div>\n )\n}\n"],"names":["SelectControl","control","classes","name","rules","shouldUnregister","disabled","defaultValue","returnValue","options","helperText","props","field","fieldState","useController","invalid","error","container","message","restClasses","value","onChange","restField","onValueChange","values","item","isSingleOption","selected","useMemo","option","cn","jsx","SelectBase","MessageView"],"mappings":"6jDAoCO,MAAMA,GAAgB,CAAiD,CAC5E,QAAAC,EACA,QAAAC,EACA,KAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,aAAAC,EACA,YAAAC,EACA,QAAAC,EACA,WAAAC,EACA,GAAGC,CACL,IAAwC,CACtC,KAAM,CAAE,MAAAC,EAAO,WAAAC,CAAA,EAAeC,EAAc,CAC1C,QAAAb,EACA,KAAAE,EACA,MAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,aAAAC,CAAA,CACD,EAEK,CAAE,QAAAQ,EAAS,MAAAC,CAAA,EAAUH,EACrB,CAAE,UAAAI,EAAW,QAAAC,EAAS,GAAGC,CAAA,EAAgBjB,GAAW,CAAA,EAEpD,CAAE,MAAAkB,EAAO,SAAAC,EAAU,GAAGC,GAAcV,EAEpCW,EAAiBH,GAAkD,CACvE,GAAI,MAAM,QAAQA,CAAK,EAAG,CACxB,MAAMI,EAASJ,EAAM,IAAKK,GAAUjB,EAAcA,EAAYiB,CAAI,EAAIA,EAAK,KAAM,EACjFJ,EAASG,CAAM,CACjB,MAAWE,EAAeN,CAAK,EAC7BC,EAASb,EAAcA,EAAYY,CAAK,EAAIA,GAAAA,YAAAA,EAAO,KAAK,EAExDC,EAAS,IAAI,CAEjB,EAEMM,EAAWC,EAA2D,IACtE,MAAM,QAAQR,CAAK,EACdX,EAAQ,OAAQoB,GAAWT,EAAM,SAASZ,EAAcA,EAAYqB,CAAM,EAAIA,EAAO,KAAK,CAAC,EAE3FpB,EAAQ,KAAMoB,IAAYrB,EAAcA,EAAYqB,CAAM,EAAIA,EAAO,SAAWT,CAAK,EAE7F,CAACX,EAASD,EAAaY,CAAK,CAAC,EAEhC,SACG,MAAA,CAAI,UAAWU,EAAG,6BAA8Bb,CAAS,EACxD,SAAA,CAAAc,EAACC,EAAA,CACE,GAAGrB,EACH,GAAGW,EACH,GAAGH,EACJ,QAAAV,EACA,MAAOkB,EACP,SAAUJ,EACV,QAAAR,EACA,SAAAT,CAAA,CAAA,EAEFyB,EAACE,EAAA,CACC,KAAMjB,EAAQA,EAAM,QAAUN,EAC9B,UAAWQ,EACX,OAAQF,EAAQ,QAAU,SAC1B,SAAAV,CAAA,CAAA,CACF,EACF,CAEJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as i,jsxs as I,Fragment as G}from"react/jsx-runtime";import{forwardRef as J,useRef as L}from"react";import{useFloating as Q}from"../../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.js";import{Combobox as W,ComboboxButton as N,ComboboxInput as X,ComboboxOptions as Y}from"@headlessui/react";import{useSelectController as Z}from"./hooks/useSelectController.js";import{SelectItem as f}from"./ui/SelectItem.js";import{cn as l}from"../../../../utils/cn.js";import{mergeRefs as M}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"../../../dropdownList/ui/dropdownItem/DropdownItem.js";import{InputBase as H}from"../input/Input.js";import"../dayPicker/DayPicker.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{autoUpdate as oo}from"../../../../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.js";import{flip as to,offset as io}from"../../../../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js";const mo=4,qo=J(({label:_,invalid:u,isMulti:m=!1,isSearchable:p,options:A,classes:D,displayValue:r,value:g,onChange:E,attachmentProps:j,virtual:d=!1,filterDisabled:k=!1,inputValue:e,onInputChange:a,externalHandlers:o,disabled:z,emptyList:h,reset:y,...S},T)=>{const{root:K,list:O,...c}=D||{},{refs:b,floatingStyles:U}=Q({placement:"bottom-start",strategy:"absolute",middleware:[to({boundary:"clippingAncestors",crossAxis:!1}),io(mo)],whileElementsMounted:oo}),w=L(null),{options:n,inputValue:C,onValueChange:V,onInputValueChange:v,selectDisplayValue:F}=Z({options:A,isSearchable:p,displayValue:r,onChange:E,filterDisabled:k,externalInputValue:e,externalOnInputChange:a,externalHandlers:o});return i(W,{...S,virtual:d?{options:n}:void 0,by:"value",onBlur:o==null?void 0:o.onBlur,onFocus:o==null?void 0:o.onFocus,onClick:o==null?void 0:o.onClick,value:g||(m?[]:""),onChange:V,multiple:m,disabled:z,"aria-invalid":u,children:({disabled:$,open:R,value:B})=>{var P;const q=()=>m&&p?F(B):p?C:F(B);return I("div",{ref:w,className:l("relative w-full",K),children:[i(N,{className:"w-full",children:i(X,{ref:M(T,b.setReference),"data-test-id":"select-input",as:H,label:_,ariaAutocomplete:"list","aria-controls":"list-options","aria-expanded":R,disabled:$,readOnly:!p,value:e||q(),autoComplete:"off",onKeyDown:t=>{t.stopPropagation(),t.nativeEvent.stopPropagation()},onChange:t=>{const{value:s}=t.target;p&&(a&&a(s),o!=null&&o.onInputChange&&o.onInputChange(s),v&&v(t))},invalid:u,classes:{input:m||!p?"cursor-pointer":void 0},attachmentProps:{icon:i(N,{as:"span","aria-label":"Открыть список",children:i(x,{name:"arrows/arrowRight",className:l("size-6 rotate-90 text-color-blue-grey-600 duration-100",{"-rotate-90":R})})}),...j}})}),i(Y,{portal:!0,id:"list-options","data-test-id":"select-list",ref:b.setFloating,as:"ul",style:{...U,width:(P=w.current)==null?void 0:P.getBoundingClientRect().width},className:l("customScrollbar-y z-10 mt-1","max-h-[264px] w-full overflow-y-auto bg-color-white","rounded-md p-1 shadow-[0_8px_20px_0px_rgba(41,41,41,0.08)]",O),children:d?({option:t})=>i(f,{option:t,isMulti:m,classes:{item:"w-[calc(100%-16px)]",...c},displayValue:r,motionProps:{initial:{opacity:0},animate:{opacity:1}}},t.value):n.length>0?I(G,{children:[y&&!m&&i(f,{"data-test-id":"select-item-empty",option:{value:null,label:y},isMulti:m,classes:c,displayValue:r,motionProps:{initial:{opacity:0},animate:{opacity:1}}}),n.map((t,s)=>i(f,{"data-test-id":`select-item-${s}`,option:t,isMulti:m,classes:c,displayValue:r,motionProps:{initial:{opacity:0},animate:{opacity:1}}},t.value))]}):h?h(e||C):i("p",{className:"py-4 text-center align-middle",children:"Ничего не найдено"})})]})}})});export{qo as SelectBase};
|
|
2
|
-
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../../../../../lib/shared/ui/formElements/uncontrolled/select/Select.tsx"],"sourcesContent":["import { forwardRef, useRef } from 'react'\nimport { autoUpdate, flip, offset, useFloating } from '@floating-ui/react'\nimport { Combobox, ComboboxButton, ComboboxInput, ComboboxOptions, type ComboboxProps } from '@headlessui/react'\nimport { useSelectController } from './hooks'\nimport { type SelectItemOption } from './model'\nimport { SelectItem, type SelectItemProps } from './ui'\nimport { type DeepPartial } from '$/shared/types'\nimport { Icon, InputBase } from '$/shared/ui'\nimport type { FieldAttachment } from '$/shared/ui/formElements/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\ntype FieldAttachmentProps = React.ComponentPropsWithoutRef<typeof FieldAttachment>\n\nexport type SelectClasses = SelectItemProps['classes'] & {\n root?: string\n list?: string\n}\n\nexport type ExternalHandlers = {\n onChange?: (value?: SelectItemOption | SelectItemOption[]) => void\n onClick?: (event: React.MouseEvent<HTMLElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLElement>) => void\n onInputChange?: (value: string) => void\n}\n\nexport type SelectBaseProps<Multi extends boolean> = Omit<\n ComboboxProps<SelectItemOption, Multi, 'li'>,\n 'multiple' | 'onChange' | 'by' | 'className' | 'virtual'\n> & {\n /**\n * Отображаемый лейбл\n */\n label: string\n /**\n * Поддержка множественного выбора\n */\n isMulti?: Multi\n /**\n * Пометить поле как не валидное\n */\n invalid?: boolean\n /**\n * Свойство управляющее поиском\n */\n isSearchable?: boolean\n /**\n * Список отображаемых значений\n */\n options: SelectItemOption[]\n /**\n * Дополнительные стили каждого внутреннего элемента\n */\n classes?: SelectClasses\n /**\n * Функция для управления отображаемым значением\n */\n displayValue?: (option: SelectItemOption) => string\n /**\n * Функция для изменения значения\n */\n onChange?: (value: (Multi extends true ? SelectItemOption[] : SelectItemOption) | undefined) => void\n /**\n * Функция для изменения значения поиска\n */\n onInputChange?: (value: string) => void\n /**\n * Значение инпута\n */\n inputValue?: string\n /**\n * Свойства дополнительной иконки\n */\n attachmentProps?: DeepPartial<FieldAttachmentProps>\n /**\n * Включение виртуализации списка\n */\n virtual?: boolean\n /**\n * Свойство для выключения фильтрации по поиску\n */\n filterDisabled?: boolean\n /**\n * Внешние handlers которые можно прокинуть из вне\n */\n externalHandlers?: ExternalHandlers\n /**\n * Кастомизация отображения текста при пустом списке\n */\n emptyList?: (query?: string) => React.ReactNode\n /**\n * Добавляет option который, позволяет очистить значение селекта\n */\n reset?: string\n}\n\nconst LIST_OFFSET = 4\n\nexport const SelectBase = forwardRef<HTMLInputElement, SelectBaseProps<boolean>>(\n (\n {\n label,\n invalid,\n isMulti = false,\n isSearchable,\n options: initialOptions,\n classes,\n displayValue,\n value,\n onChange,\n attachmentProps,\n virtual = false,\n filterDisabled = false,\n inputValue: externalInputValue,\n onInputChange: externalOnInputChange,\n externalHandlers,\n disabled,\n emptyList,\n reset,\n ...props\n },\n ref\n ) => {\n const { root, list, ...innerClasses } = classes || {}\n\n const { refs, floatingStyles } = useFloating({\n placement: 'bottom-start',\n strategy: 'absolute',\n middleware: [\n flip({\n boundary: 'clippingAncestors',\n crossAxis: false\n }),\n offset(LIST_OFFSET)\n ],\n whileElementsMounted: autoUpdate\n })\n\n const triggerRef = useRef<HTMLDivElement>(null)\n\n const { options, inputValue, onValueChange, onInputValueChange, selectDisplayValue } = useSelectController({\n options: initialOptions,\n isSearchable,\n isMulti,\n displayValue,\n onChange,\n filterDisabled,\n externalInputValue,\n externalOnInputChange,\n externalHandlers\n })\n\n return (\n <Combobox\n {...props}\n virtual={\n virtual\n ? {\n options\n }\n : undefined\n }\n // @ts-expect-error headless ui issue\n by='value'\n onBlur={externalHandlers?.onBlur}\n onFocus={externalHandlers?.onFocus}\n onClick={externalHandlers?.onClick}\n value={(value ? value : isMulti ? [] : '') as typeof value}\n onChange={onValueChange}\n multiple={isMulti}\n // immediate\n disabled={disabled}\n aria-invalid={invalid}\n >\n {({ disabled, open, value }) => {\n const getDisplayValue = () => {\n if (isMulti && isSearchable) {\n return selectDisplayValue(value)\n } else if (isSearchable) {\n return inputValue\n } else {\n return selectDisplayValue(value)\n }\n }\n\n return (\n <div ref={triggerRef} className={cn('relative w-full', root)}>\n <ComboboxButton className='w-full'>\n <ComboboxInput\n // @ts-expect-error asdf\n ref={mergeRefs(ref, refs.setReference)}\n data-test-id='select-input'\n as={InputBase}\n label={label}\n ariaAutocomplete='list'\n aria-controls='list-options'\n aria-expanded={open}\n disabled={disabled}\n readOnly={!isSearchable}\n value={externalInputValue || getDisplayValue()}\n autoComplete='off'\n onKeyDown={(event) => {\n event.stopPropagation()\n event.nativeEvent.stopPropagation()\n }}\n onChange={(event) => {\n const { value } = event.target\n\n if (isSearchable) {\n if (externalOnInputChange) externalOnInputChange(value)\n if (externalHandlers?.onInputChange) externalHandlers.onInputChange(value)\n if (onInputValueChange) onInputValueChange(event)\n }\n }}\n invalid={invalid}\n classes={{\n input: isMulti || !isSearchable ? 'cursor-pointer' : undefined\n }}\n // TODO: think about it\n // renderValues={\n // isMulti\n // ? (ref) => (\n // <ChipList\n // ref={ref}\n // values={value}\n // onDeleteItem={(option) => onDeleteItem(value, option)}\n // inputValue={inputValue}\n // onInputValueChange={onInputValueChange}\n // />\n // )\n // : undefined\n // }\n attachmentProps={{\n icon: (\n <ComboboxButton as='span' aria-label='Открыть список'>\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 </ComboboxButton>\n ),\n ...attachmentProps\n }}\n />\n </ComboboxButton>\n <ComboboxOptions\n portal\n id='list-options'\n data-test-id='select-list'\n ref={refs.setFloating}\n as='ul'\n style={{\n ...floatingStyles,\n width: triggerRef.current?.getBoundingClientRect().width\n }}\n className={cn(\n 'customScrollbar-y z-10 mt-1',\n 'max-h-[264px] w-full overflow-y-auto bg-color-white',\n 'rounded-md p-1 shadow-[0_8px_20px_0px_rgba(41,41,41,0.08)]',\n list\n )}\n >\n {virtual ? (\n ({ option }) => (\n <SelectItem\n key={option.value}\n option={option}\n isMulti={isMulti}\n classes={{\n item: 'w-[calc(100%-16px)]',\n ...innerClasses\n }}\n displayValue={displayValue}\n motionProps={{\n initial: { opacity: 0 },\n animate: { opacity: 1 }\n }}\n />\n )\n ) : options.length > 0 ? (\n <>\n {reset && !isMulti && (\n <SelectItem\n data-test-id='select-item-empty'\n option={{ value: null, label: reset }}\n isMulti={isMulti}\n classes={innerClasses}\n displayValue={displayValue}\n motionProps={{\n initial: { opacity: 0 },\n animate: { opacity: 1 }\n }}\n />\n )}\n {options.map((option, index) => (\n <SelectItem\n data-test-id={`select-item-${index}`}\n key={option.value}\n option={option}\n isMulti={isMulti}\n classes={innerClasses}\n displayValue={displayValue}\n motionProps={{\n initial: { opacity: 0 },\n animate: { opacity: 1 }\n }}\n />\n ))}\n </>\n ) : emptyList ? (\n emptyList(externalInputValue || inputValue)\n ) : (\n <p className='py-4 text-center align-middle'>Ничего не найдено</p>\n )}\n </ComboboxOptions>\n </div>\n )\n }}\n </Combobox>\n )\n }\n)\n"],"names":["LIST_OFFSET","SelectBase","forwardRef","label","invalid","isMulti","isSearchable","initialOptions","classes","displayValue","value","onChange","attachmentProps","virtual","filterDisabled","externalInputValue","externalOnInputChange","externalHandlers","disabled","emptyList","reset","props","ref","root","list","innerClasses","refs","floatingStyles","useFloating","flip","offset","autoUpdate","triggerRef","useRef","options","inputValue","onValueChange","onInputValueChange","selectDisplayValue","useSelectController","jsx","Combobox","open","getDisplayValue","jsxs","cn","ComboboxButton","ComboboxInput","mergeRefs","InputBase","event","Icon","ComboboxOptions","_a","option","SelectItem","Fragment","index"],"mappings":"kzDAgGA,MAAMA,GAAc,EAEPC,GAAaC,EACxB,CACE,CACE,MAAAC,EACA,QAAAC,EACA,QAAAC,EAAU,GACV,aAAAC,EACA,QAASC,EACT,QAAAC,EACA,aAAAC,EACA,MAAAC,EACA,SAAAC,EACA,gBAAAC,EACA,QAAAC,EAAU,GACV,eAAAC,EAAiB,GACjB,WAAYC,EACZ,cAAeC,EACf,iBAAAC,EACA,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,KAAM,CAAE,KAAAC,EAAM,KAAAC,EAAM,GAAGC,CAAA,EAAiBjB,GAAW,CAAA,EAE7C,CAAE,KAAAkB,EAAM,eAAAC,CAAA,EAAmBC,EAAY,CAC3C,UAAW,eACX,SAAU,WACV,WAAY,CACVC,GAAK,CACH,SAAU,oBACV,UAAW,EAAA,CACZ,EACDC,GAAO9B,EAAW,CAAA,EAEpB,qBAAsB+B,EAAA,CACvB,EAEKC,EAAaC,EAAuB,IAAI,EAExC,CAAE,QAAAC,EAAS,WAAAC,EAAY,cAAAC,EAAe,mBAAAC,EAAoB,mBAAAC,CAAA,EAAuBC,EAAoB,CACzG,QAAShC,EACT,aAAAD,EAEA,aAAAG,EACA,SAAAE,EACA,eAAAG,EACA,mBAAAC,EACA,sBAAAC,EACA,iBAAAC,CAAA,CACD,EAED,OACEuB,EAACC,EAAA,CACE,GAAGpB,EACJ,QACER,EACI,CACE,QAAAqB,CAAA,EAEF,OAGN,GAAG,QACH,OAAQjB,GAAA,YAAAA,EAAkB,OAC1B,QAASA,GAAA,YAAAA,EAAkB,QAC3B,QAASA,GAAA,YAAAA,EAAkB,QAC3B,MAAQP,IAAgBL,EAAU,CAAA,EAAK,IACvC,SAAU+B,EACV,SAAU/B,EAEV,SAAAa,EACA,eAAcd,EAEb,UAAC,CAAE,SAAAc,EAAU,KAAAwB,EAAM,MAAAhC,KAAY,OAC9B,MAAMiC,EAAkB,IAClBtC,GAAWC,EACNgC,EAAmB5B,CAAK,EACtBJ,EACF6B,EAEAG,EAAmB5B,CAAK,EAInC,OACEkC,EAAC,OAAI,IAAKZ,EAAY,UAAWa,EAAG,kBAAmBtB,CAAI,EACzD,SAAA,CAAAiB,EAACM,EAAA,CAAe,UAAU,SACxB,SAAAN,EAACO,EAAA,CAEC,IAAKC,EAAU1B,EAAKI,EAAK,YAAY,EACrC,eAAa,eACb,GAAIuB,EACJ,MAAA9C,EACA,iBAAiB,OACjB,gBAAc,eACd,gBAAeuC,EACf,SAAUxB,EACV,SAAU,CAACZ,EACX,MAAOS,GAAsB4B,EAAA,EAC7B,aAAa,MACb,UAAYO,GAAU,CACpBA,EAAM,gBAAA,EACNA,EAAM,YAAY,gBAAA,CACpB,EACA,SAAWA,GAAU,CACnB,KAAM,CAAE,MAAAxC,CAAAA,EAAUwC,EAAM,OAEpB5C,IACEU,KAA6CN,CAAK,EAClDO,GAAA,MAAAA,EAAkB,eAAeA,EAAiB,cAAcP,CAAK,EACrE2B,KAAuCa,CAAK,EAEpD,EACA,QAAA9C,EACA,QAAS,CACP,MAAOC,GAAW,CAACC,EAAe,iBAAmB,MAAA,EAgBvD,gBAAiB,CACf,KACEkC,EAACM,EAAA,CAAe,GAAG,OAAO,aAAW,iBACnC,SAAAN,EAACW,EAAA,CACC,KAAK,oBACL,UAAWN,EAAG,yDAA0D,CACtE,aAAcH,CAAA,CACf,CAAA,CAAA,EAEL,EAEF,GAAG9B,CAAA,CACL,CAAA,EAEJ,EACA4B,EAACY,EAAA,CACC,OAAM,GACN,GAAG,eACH,eAAa,cACb,IAAK1B,EAAK,YACV,GAAG,KACH,MAAO,CACL,GAAGC,EACH,OAAO0B,EAAArB,EAAW,UAAX,YAAAqB,EAAoB,wBAAwB,KAAA,EAErD,UAAWR,EACT,8BACA,sDACA,6DACArB,CAAA,EAGD,SAAAX,EACC,CAAC,CAAE,OAAAyC,CAAA,IACDd,EAACe,EAAA,CAEC,OAAAD,EACA,QAAAjD,EACA,QAAS,CACP,KAAM,sBACN,GAAGoB,CAAA,EAEL,aAAAhB,EACA,YAAa,CACX,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,CAAE,CACxB,EAXK6C,EAAO,KAAA,EAcdpB,EAAQ,OAAS,EACnBU,EAAAY,EAAA,CACG,SAAA,CAAApC,GAAS,CAACf,GACTmC,EAACe,EAAA,CACC,eAAa,oBACb,OAAQ,CAAE,MAAO,KAAM,MAAOnC,CAAA,EAC9B,QAAAf,EACA,QAASoB,EACT,aAAAhB,EACA,YAAa,CACX,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,CAAE,CACxB,CAAA,EAGHyB,EAAQ,IAAI,CAACoB,EAAQG,IACpBjB,EAACe,EAAA,CACC,eAAc,eAAeE,CAAK,GAElC,OAAAH,EACA,QAAAjD,EACA,QAASoB,EACT,aAAAhB,EACA,YAAa,CACX,QAAS,CAAE,QAAS,CAAA,EACpB,QAAS,CAAE,QAAS,CAAA,CAAE,CACxB,EARK6C,EAAO,KAAA,CAUf,CAAA,CAAA,CACH,EACEnC,EACFA,EAAUJ,GAAsBoB,CAAU,EAE1CK,EAAC,IAAA,CAAE,UAAU,gCAAgC,SAAA,mBAAA,CAAiB,CAAA,CAAA,CAElE,EACF,CAEJ,CAAA,CAAA,CAGN,CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useState as M,useMemo as S}from"react";const z=({options:i,displayValue:m,isSearchable:p=!1,onChange:t,filterDisabled:A,externalInputValue:y,externalOnInputChange:g,externalHandlers:f})=>{const[C,V]=M(""),c=o=>m?m(o):o.label,w=o=>{const{value:u}=o.target;V(u)},D=S(()=>A||!p?i:i.filter(o=>c(o).toLowerCase().includes(y?y.toLowerCase():C.toLowerCase())),[p,i,c,C,y,A]),I=()=>{t&&t(void 0),f!=null&&f.onChange&&(f==null||f.onChange(void 0))},h=o=>{if(o){if(!Array.isArray(o)){if(!o.value)return I();const u=c(o);V(u),g&&g(u),f!=null&&f.onInputChange&&(f==null||f.onInputChange(u))}t&&t(o),f!=null&&f.onChange&&(f==null||f.onChange(o))}};return{options:D,inputValue:C,onInputValueChange:w,onValueChange:h,onDeleteItem:(o,u)=>{const L=Array.isArray(o)&&o.filter(j=>j.value!==u.value)||[];h(L)},selectDisplayValue:o=>{if(o)return Array.isArray(o)?o.map(u=>c(u)).join(", "):c(o)}}};export{z as useSelectController};
|
|
2
|
-
//# sourceMappingURL=useSelectController.js.map
|
package/dist/lib/shared/ui/formElements/uncontrolled/select/hooks/useSelectController.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectController.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/select/hooks/useSelectController.ts"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { SelectItemOption } from '../model'\nimport { type ExternalHandlers } from '$/shared/ui/formElements/uncontrolled/select/Select'\n\ntype UseSelectControllerProps = {\n options: SelectItemOption[]\n isMulti?: boolean\n isSearchable?: boolean\n displayValue?: (option: SelectItemOption) => string\n onChange?: (value: SelectItemOption | SelectItemOption[] | undefined) => void\n filterDisabled: boolean\n externalInputValue?: string\n externalOnInputChange?: (value: string) => void\n externalHandlers?: ExternalHandlers\n}\n\nexport const useSelectController = ({\n options: initialOptions,\n displayValue,\n isSearchable = false,\n onChange,\n filterDisabled,\n externalInputValue,\n externalOnInputChange,\n externalHandlers\n}: UseSelectControllerProps) => {\n const [inputValue, setInputValue] = useState<string>('')\n\n const withDisplayValue = (option: SelectItemOption) => {\n return displayValue ? displayValue(option) : option.label\n }\n\n const onInputValueChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const { value } = event.target\n\n setInputValue(value)\n }\n\n const options = useMemo<SelectItemOption[]>(() => {\n if (filterDisabled) {\n return initialOptions\n }\n\n if (!isSearchable) {\n return initialOptions\n }\n\n return initialOptions.filter((option) =>\n withDisplayValue(option)\n .toLowerCase()\n .includes(externalInputValue ? externalInputValue.toLowerCase() : inputValue.toLowerCase())\n )\n }, [isSearchable, initialOptions, withDisplayValue, inputValue, externalInputValue, filterDisabled])\n\n const resetValue = () => {\n if (onChange) onChange(undefined)\n if (externalHandlers?.onChange) externalHandlers?.onChange(undefined)\n }\n\n const onValueChange = (value: SelectItemOption | SelectItemOption[] | null) => {\n if (!value) {\n return\n }\n\n if (!Array.isArray(value)) {\n if (!value.value) {\n return resetValue()\n }\n\n const label = withDisplayValue(value)\n setInputValue(label)\n if (externalOnInputChange) externalOnInputChange(label)\n if (externalHandlers?.onInputChange) externalHandlers?.onInputChange(label)\n }\n\n if (onChange) onChange(value)\n if (externalHandlers?.onChange) externalHandlers?.onChange(value)\n }\n\n const selectDisplayValue = (value: SelectItemOption | SelectItemOption[] | null) => {\n if (!value) return\n\n if (Array.isArray(value)) {\n return value.map((item) => withDisplayValue(item)).join(', ')\n } else {\n return withDisplayValue(value)\n }\n }\n\n const onDeleteItem = (values: SelectItemOption | SelectItemOption[], option: SelectItemOption) => {\n const filteredOptions =\n (Array.isArray(values) && values.filter((value: SelectItemOption) => value.value !== option.value)) || []\n\n onValueChange(filteredOptions)\n }\n\n return { options, inputValue, onInputValueChange, onValueChange, onDeleteItem, selectDisplayValue }\n}\n"],"names":["useSelectController","initialOptions","displayValue","isSearchable","onChange","filterDisabled","externalInputValue","externalOnInputChange","externalHandlers","inputValue","setInputValue","useState","withDisplayValue","option","onInputValueChange","event","value","options","useMemo","resetValue","onValueChange","label","values","filteredOptions","item"],"mappings":"8CAgBO,MAAMA,EAAsB,CAAC,CAClC,QAASC,EACT,aAAAC,EACA,aAAAC,EAAe,GACf,SAAAC,EACA,eAAAC,EACA,mBAAAC,EACA,sBAAAC,EACA,iBAAAC,CACF,IAAgC,CAC9B,KAAM,CAACC,EAAYC,CAAa,EAAIC,EAAiB,EAAE,EAEjDC,EAAoBC,GACjBX,EAAeA,EAAaW,CAAM,EAAIA,EAAO,MAGhDC,EAAkEC,GAAU,CAChF,KAAM,CAAE,MAAAC,GAAUD,EAAM,OAExBL,EAAcM,CAAK,CACrB,EAEMC,EAAUC,EAA4B,IACtCb,GAIA,CAACF,EACIF,EAGFA,EAAe,OAAQY,GAC5BD,EAAiBC,CAAM,EACpB,YAAA,EACA,SAASP,EAAqBA,EAAmB,cAAgBG,EAAW,aAAa,CAAA,EAE7F,CAACN,EAAcF,EAAgBW,EAAkBH,EAAYH,EAAoBD,CAAc,CAAC,EAE7Fc,EAAa,IAAM,CACnBf,KAAmB,MAAS,EAC5BI,GAAA,MAAAA,EAAkB,WAAUA,GAAA,MAAAA,EAAkB,SAAS,QAC7D,EAEMY,EAAiBJ,GAAwD,CAC7E,GAAKA,EAIL,IAAI,CAAC,MAAM,QAAQA,CAAK,EAAG,CACzB,GAAI,CAACA,EAAM,MACT,OAAOG,EAAA,EAGT,MAAME,EAAQT,EAAiBI,CAAK,EACpCN,EAAcW,CAAK,EACfd,KAA6Cc,CAAK,EAClDb,GAAA,MAAAA,EAAkB,gBAAeA,GAAA,MAAAA,EAAkB,cAAca,GACvE,CAEIjB,KAAmBY,CAAK,EACxBR,GAAA,MAAAA,EAAkB,WAAUA,GAAA,MAAAA,EAAkB,SAASQ,IAC7D,EAmBA,MAAO,CAAE,QAAAC,EAAS,WAAAR,EAAY,mBAAAK,EAAoB,cAAAM,EAAe,aAP5C,CAACE,EAA+CT,IAA6B,CAChG,MAAMU,EACH,MAAM,QAAQD,CAAM,GAAKA,EAAO,OAAQN,GAA4BA,EAAM,QAAUH,EAAO,KAAK,GAAM,CAAA,EAEzGO,EAAcG,CAAe,CAC/B,EAE+E,mBAjBnDP,GAAwD,CAClF,GAAKA,EAEL,OAAI,MAAM,QAAQA,CAAK,EACdA,EAAM,IAAKQ,GAASZ,EAAiBY,CAAI,CAAC,EAAE,KAAK,IAAI,EAErDZ,EAAiBI,CAAK,CAEjC,CAS+E,CACjF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeGuards.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/select/model/typeGuards.ts"],"sourcesContent":["import { type SelectItemOption } from '$/shared/ui'\n\nexport const isSingleOption = (value?: SelectItemOption | SelectItemOption[]): value is SelectItemOption | undefined =>\n !Array.isArray(value)\n"],"names":["isSingleOption","value"],"mappings":"AAEO,MAAMA,EAAkBC,GAC7B,CAAC,MAAM,QAAQA,CAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as e,jsx as n}from"react/jsx-runtime";import{cn as c}from"../../../../../utils/cn.js";import"../../../../button/Button.js";import"../../../../buttonIcon/ButtonIcon.js";import"../../../../calendar/Calendar.js";import"../../../../calendar/model/utils.js";import"../../../../accordion/Accordion.js";import"react";import"react-dom";import"../../../../modal/ui/IframeModalContent.js";import"../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as a}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"../../../../dropdownList/ui/dropdownItem/DropdownItem.js";import"../../input/Input.js";import"../../dayPicker/DayPicker.js";import"../../inputOtp/InputOtpBase.js";import"../../maskInput/MaskInput.js";import"../../radio/RadioGroup.js";import"../../radio/ui/RadioItem.js";import"../Select.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";const O=({data:o,displayValue:t,classes:r,onDeleteItem:p,...m})=>e("div",{...m,className:c("mob-body-regular-l flex w-fit items-center gap-x-1 whitespace-nowrap","rounded-sm bg-color-primary-tr-hover px-1 text-color-primary-default",r==null?void 0:r.chip),children:[t?t(o):o.label,n(a,{name:"general/close",className:"size-3.5 cursor-pointer",onClick:i=>{i.stopPropagation(),i.nativeEvent.stopPropagation(),p(o)}})]});export{O as ControlChip};
|
|
2
|
-
//# sourceMappingURL=Chip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/select/ui/Chip.tsx"],"sourcesContent":["import type { SelectItemOption } from '../model'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype ControlChipClasses = {\n chip?: string\n}\n\nexport interface ControlChipProps extends React.HTMLAttributes<HTMLDivElement> {\n displayValue?: (option: SelectItemOption) => string\n data: SelectItemOption\n classes?: ControlChipClasses\n onDeleteItem: (option: SelectItemOption) => void\n}\n\nexport const ControlChip = ({ data, displayValue, classes, onDeleteItem, ...props }: ControlChipProps) => (\n <div\n {...props}\n className={cn(\n 'mob-body-regular-l flex w-fit items-center gap-x-1 whitespace-nowrap',\n 'rounded-sm bg-color-primary-tr-hover px-1 text-color-primary-default',\n classes?.chip\n )}\n >\n {displayValue ? displayValue(data) : data.label}\n <Icon\n name='general/close'\n className='size-3.5 cursor-pointer'\n onClick={(event) => {\n event.stopPropagation()\n event.nativeEvent.stopPropagation()\n\n onDeleteItem(data)\n }}\n />\n </div>\n)\n"],"names":["ControlChip","data","displayValue","classes","onDeleteItem","props","jsxs","cn","jsx","Icon","event"],"mappings":"mvCAeO,MAAMA,EAAc,CAAC,CAAE,KAAAC,EAAM,aAAAC,EAAc,QAAAC,EAAS,aAAAC,EAAc,GAAGC,CAAA,IAC1EC,EAAC,MAAA,CACE,GAAGD,EACJ,UAAWE,EACT,uEACA,uEACAJ,GAAA,YAAAA,EAAS,IAAA,EAGV,SAAA,CAAAD,EAAeA,EAAaD,CAAI,EAAIA,EAAK,MAC1CO,EAACC,EAAA,CACC,KAAK,gBACL,UAAU,0BACV,QAAUC,GAAU,CAClBA,EAAM,gBAAA,EACNA,EAAM,YAAY,gBAAA,EAElBN,EAAaH,CAAI,CACnB,CAAA,CAAA,CACF,CAAA,CACF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as m,Fragment as i,jsx as e}from"react/jsx-runtime";import{ControlChip as y}from"./Chip.js";const c=({values:t,onDeleteItem:o,inputValue:a,onInputValueChange:n,...l})=>{const p=Array.isArray(t)&&t.length>0;return m(i,{children:[p&&t.map(r=>e(y,{...l,data:r,onDeleteItem:s=>o(s)},r.value)),e("input",{type:"text",className:"unset-all-apply desk-body-regular-l flex-1 bg-color-transparent",value:a,onChange:n})]})};export{c as ChipList};
|
|
2
|
-
//# sourceMappingURL=ChipList.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChipList.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/select/ui/ChipList.tsx"],"sourcesContent":["import { type ChangeEvent } from 'react'\nimport { type SelectItemOption } from '../model'\nimport { ControlChip, type ControlChipProps } from './Chip'\n\ntype ControlChipListProps = Omit<ControlChipProps, 'data'> & {\n values: SelectItemOption | SelectItemOption[]\n inputValue: string\n onInputValueChange: (event: ChangeEvent<HTMLInputElement>) => void\n onDeleteItem: (option: SelectItemOption) => void\n}\n\nexport const ChipList = ({ values, onDeleteItem, inputValue, onInputValueChange, ...props }: ControlChipListProps) => {\n const isNotEmpty = Array.isArray(values) && values.length > 0\n\n return (\n <>\n {isNotEmpty &&\n values.map((chip) => (\n <ControlChip key={chip.value} {...props} data={chip} onDeleteItem={(option) => onDeleteItem(option)} />\n ))}\n <input\n type='text'\n className='unset-all-apply desk-body-regular-l flex-1 bg-color-transparent'\n value={inputValue}\n onChange={onInputValueChange}\n />\n </>\n )\n}\n"],"names":["ChipList","values","onDeleteItem","inputValue","onInputValueChange","props","isNotEmpty","jsxs","Fragment","chip","jsx","ControlChip","option"],"mappings":"wGAWO,MAAMA,EAAW,CAAC,CAAE,OAAAC,EAAQ,aAAAC,EAAc,WAAAC,EAAY,mBAAAC,EAAoB,GAAGC,KAAkC,CACpH,MAAMC,EAAa,MAAM,QAAQL,CAAM,GAAKA,EAAO,OAAS,EAE5D,OACEM,EAAAC,EAAA,CACG,SAAA,CAAAF,GACCL,EAAO,IAAKQ,GACVC,EAACC,EAAA,CAA8B,GAAGN,EAAO,KAAMI,EAAM,aAAeG,GAAWV,EAAaU,CAAM,GAAhFH,EAAK,KAA8E,CACtG,EACHC,EAAC,QAAA,CACC,KAAK,OACL,UAAU,kEACV,MAAOP,EACP,SAAUC,CAAA,CAAA,CACZ,EACF,CAEJ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as r,jsxs as c}from"react/jsx-runtime";import{forwardRef as g,Fragment as l}from"react";import{ComboboxOption as y}from"@headlessui/react";import{CheckboxBase as u}from"../../checkbox/Checkbox.js";import{cn as m}from"../../../../../utils/cn.js";import{motion as k}from"../../../../../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.js";const B=g(({option:e,classes:s,displayValue:o,isMulti:t,motionProps:h,...d},n)=>{const x=o?o(e):e.label,{item:i,helperText:p,checkbox:b}=s||{},f=t||e.attachment||e.helperText?"div":l;return r(y,{...d,as:l,disabled:e.disabled,value:e,children:({disabled:a,selected:v})=>c(k.li,{...h,ref:n,className:m("unset-all-apply desk-body-regular-l cursor-pointer truncate rounded-sm bg-color-white px-2","flex h-12 items-center gap-x-4 text-color-dark hover:bg-color-primary-tr-hover hover:text-color-primary-hover","[&:not(:disabled)]:cursor-pointer [&:not(:last-child)]:mb-1 [&>p]:hover:text-color-secondary","data-[selected]:bg-color-primary-tr-hover data-[selected]:text-color-primary-hover","data-[focus]:bg-color-primary-tr-hover data-[focus]:text-color-primary-hover",{"pointer-events-none !text-color-disabled":a,"!flex items-center gap-x-4":t,"gap-x-3":e.attachment&&e.attachment.left},i),children:[t?r(u,{checked:v,disabled:a,classes:{root:"z-10",...b}}):e.attachment&&e.attachment.left,c(f,{children:[x,e.helperText&&r("p",{className:m("desk-body-regular-s text-color-tetriary",{"text-color-disabled":a},p),children:e.helperText})]}),r("div",{className:"ml-auto",children:e.attachment&&e.attachment.right})]})})});export{B as SelectItem};
|
|
2
|
-
//# sourceMappingURL=SelectItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectItem.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/select/ui/SelectItem.tsx"],"sourcesContent":["import React, { forwardRef, Fragment } from 'react'\nimport { ComboboxOption, type ComboboxOptionProps } from '@headlessui/react'\nimport { motion } from 'framer-motion'\nimport { CheckboxBase, type CheckboxBaseClasses } from '../../checkbox/Checkbox'\nimport type { SelectItemOption } from '../model'\nimport { cn } from '$/shared/utils'\n\ntype SelectItemClasses = {\n item?: string\n helperText?: string\n checkbox?: CheckboxBaseClasses\n}\n\nexport type SelectItemProps = Omit<ComboboxOptionProps, 'className' | 'value'> & {\n option: SelectItemOption\n isMulti?: boolean\n classes?: SelectItemClasses\n displayValue?: (option: SelectItemOption) => string\n motionProps?: React.ComponentPropsWithoutRef<typeof motion.li>\n}\n\nexport const SelectItem = forwardRef<HTMLLIElement, SelectItemProps>(\n ({ option, classes, displayValue, isMulti, motionProps, ...props }, ref) => {\n const label = displayValue ? displayValue(option) : option.label\n\n const { item, helperText, checkbox } = classes || {}\n\n const ContentWrapper = isMulti || option.attachment || option.helperText ? 'div' : Fragment\n\n return (\n <ComboboxOption {...props} as={Fragment} disabled={option.disabled} value={option}>\n {({ disabled, selected }) => (\n <motion.li\n {...motionProps}\n ref={ref}\n className={cn(\n 'unset-all-apply desk-body-regular-l cursor-pointer truncate rounded-sm bg-color-white px-2',\n 'flex h-12 items-center gap-x-4 text-color-dark hover:bg-color-primary-tr-hover hover:text-color-primary-hover',\n '[&:not(:disabled)]:cursor-pointer [&:not(:last-child)]:mb-1 [&>p]:hover:text-color-secondary',\n 'data-[selected]:bg-color-primary-tr-hover data-[selected]:text-color-primary-hover',\n 'data-[focus]:bg-color-primary-tr-hover data-[focus]:text-color-primary-hover',\n {\n 'pointer-events-none !text-color-disabled': disabled,\n '!flex items-center gap-x-4': isMulti,\n 'gap-x-3': option.attachment && option.attachment.left\n },\n item\n )}\n >\n {isMulti ? (\n <CheckboxBase checked={selected} disabled={disabled} classes={{ root: 'z-10', ...checkbox }} />\n ) : (\n option.attachment && option.attachment.left\n )}\n <ContentWrapper>\n {label}\n {option.helperText && (\n <p\n className={cn(\n 'desk-body-regular-s text-color-tetriary',\n {\n 'text-color-disabled': disabled\n },\n helperText\n )}\n >\n {option.helperText}\n </p>\n )}\n </ContentWrapper>\n <div className='ml-auto'>{option.attachment && option.attachment.right}</div>\n </motion.li>\n )}\n </ComboboxOption>\n )\n }\n)\n"],"names":["SelectItem","forwardRef","option","classes","displayValue","isMulti","motionProps","props","ref","label","item","helperText","checkbox","ContentWrapper","Fragment","jsx","ComboboxOption","disabled","selected","jsxs","motion","cn","CheckboxBase"],"mappings":"mXAqBO,MAAMA,EAAaC,EACxB,CAAC,CAAE,OAAAC,EAAQ,QAAAC,EAAS,aAAAC,EAAc,QAAAC,EAAS,YAAAC,EAAa,GAAGC,CAAA,EAASC,IAAQ,CAC1E,MAAMC,EAAQL,EAAeA,EAAaF,CAAM,EAAIA,EAAO,MAErD,CAAE,KAAAQ,EAAM,WAAAC,EAAY,SAAAC,CAAA,EAAaT,GAAW,CAAA,EAE5CU,EAAiBR,GAAWH,EAAO,YAAcA,EAAO,WAAa,MAAQY,EAEnF,OACEC,EAACC,EAAA,CAAgB,GAAGT,EAAO,GAAIO,EAAU,SAAUZ,EAAO,SAAU,MAAOA,EACxE,SAAA,CAAC,CAAE,SAAAe,EAAU,SAAAC,KACZC,EAACC,EAAO,GAAP,CACE,GAAGd,EACJ,IAAAE,EACA,UAAWa,EACT,6FACA,gHACA,+FACA,qFACA,+EACA,CACE,2CAA4CJ,EAC5C,6BAA8BZ,EAC9B,UAAWH,EAAO,YAAcA,EAAO,WAAW,IAAA,EAEpDQ,CAAA,EAGD,SAAA,CAAAL,IACEiB,EAAA,CAAa,QAASJ,EAAU,SAAAD,EAAoB,QAAS,CAAE,KAAM,OAAQ,GAAGL,GAAY,EAE7FV,EAAO,YAAcA,EAAO,WAAW,OAExCW,EAAA,CACE,SAAA,CAAAJ,EACAP,EAAO,YACNa,EAAC,IAAA,CACC,UAAWM,EACT,0CACA,CACE,sBAAuBJ,CAAA,EAEzBN,CAAA,EAGD,SAAAT,EAAO,UAAA,CAAA,CACV,EAEJ,EACAa,EAAC,OAAI,UAAU,UAAW,WAAO,YAAcb,EAAO,WAAW,KAAA,CAAM,CAAA,CAAA,CAAA,EAG7E,CAEJ,CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import*as r from"react";import{useLayoutEffect as u}from"react";var c=typeof document<"u",s=function(){},d=c?u:s;const a={...r},i=a.useInsertionEffect,m=i||(e=>e());function p(e){const n=r.useRef(()=>{});return m(()=>{n.current=e}),r.useCallback(function(){for(var o=arguments.length,f=new Array(o),t=0;t<o;t++)f[t]=arguments[t];return n.current==null?void 0:n.current(...f)},[])}export{p as useEffectEvent,d as useModernLayoutEffect};
|
|
2
|
-
//# sourceMappingURL=floating-ui.react.utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"floating-ui.react.utils.js","sources":["../../../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs"],"sourcesContent":["import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport { floor } from '@floating-ui/utils';\nimport { tabbable } from 'tabbable';\n\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\nfunction matchesFocusVisible(element) {\n // We don't want to block focus from working with `visibleOnly`\n // (JSDOM doesn't match `:focus-visible` when the element has `:focus`)\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(':focus-visible');\n } catch (_e) {\n return true;\n }\n}\nfunction getFloatingFocusElement(floatingElement) {\n if (!floatingElement) {\n return null;\n }\n // Try to find the element that has `{...getFloatingProps()}` spread on it.\n // This indicates the floating element is acting as a positioning wrapper, and\n // so focus should be managed on the child element with the event handlers and\n // aria props.\n return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(\"[\" + FOCUSABLE_ATTRIBUTE + \"]\") || floatingElement;\n}\n\nfunction getNodeChildren(nodes, id, onlyOpenChildren) {\n if (onlyOpenChildren === void 0) {\n onlyOpenChildren = true;\n }\n const directChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && (!onlyOpenChildren || ((_node$context = node.context) == null ? void 0 : _node$context.open));\n });\n return directChildren.flatMap(child => [child, ...getNodeChildren(nodes, child.id, onlyOpenChildren)]);\n}\nfunction getDeepestNode(nodes, id) {\n let deepestNodeId;\n let maxDepth = -1;\n function findDeepest(nodeId, depth) {\n if (depth > maxDepth) {\n deepestNodeId = nodeId;\n maxDepth = depth;\n }\n const children = getNodeChildren(nodes, nodeId);\n children.forEach(child => {\n findDeepest(child.id, depth + 1);\n });\n }\n findDeepest(id, 0);\n return nodes.find(node => node.id === deepestNodeId);\n}\nfunction getNodeAncestors(nodes, id) {\n var _nodes$find;\n let allAncestors = [];\n let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n while (currentParentId) {\n const currentNode = nodes.find(node => node.id === currentParentId);\n currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n if (currentNode) {\n allAncestors = allAncestors.concat(currentNode);\n }\n }\n return allAncestors;\n}\n\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n ...React\n};\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\nconst useInsertionEffect = SafeReact.useInsertionEffect;\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEffectEvent(callback) {\n const ref = React.useRef(() => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error('Cannot call an event handler while rendering.');\n }\n });\n useSafeInsertionEffect(() => {\n ref.current = callback;\n });\n return React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n\nfunction isDifferentGridRow(index, cols, prevRow) {\n return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction findNonDisabledListIndex(listRef, _temp) {\n let {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n } = _temp === void 0 ? {} : _temp;\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getGridNavigatedIndex(listRef, _ref) {\n let {\n event,\n orientation,\n loop,\n rtl,\n cols,\n disabledIndices,\n minIndex,\n maxIndex,\n prevIndex,\n stopEvent: stop = false\n } = _ref;\n let nextIndex = prevIndex;\n if (event.key === ARROW_UP) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: nextIndex,\n amount: cols,\n decrement: true,\n disabledIndices\n });\n if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n const col = prevIndex % cols;\n const maxCol = maxIndex % cols;\n const offset = maxIndex - (maxCol - col);\n if (maxCol === col) {\n nextIndex = maxIndex;\n } else {\n nextIndex = maxCol > col ? offset : offset - cols;\n }\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_DOWN) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = minIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n amount: cols,\n disabledIndices\n });\n if (loop && prevIndex + cols > maxIndex) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex % cols - cols,\n amount: cols,\n disabledIndices\n });\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n\n // Remains on the same row/column.\n if (orientation === 'both') {\n const prevRow = floor(prevIndex / cols);\n if (event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== cols - 1) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== 0) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n decrement: true,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n const lastRow = floor(maxIndex / cols) === prevRow;\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n if (loop && lastRow) {\n nextIndex = event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT) ? maxIndex : findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n } else {\n nextIndex = prevIndex;\n }\n }\n }\n return nextIndex;\n}\n\n/** For each cell index, gets the item index that occupies that cell */\nfunction createGridCellMap(sizes, cols, dense) {\n const cellMap = [];\n let startIndex = 0;\n sizes.forEach((_ref2, index) => {\n let {\n width,\n height\n } = _ref2;\n if (width > cols) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n }\n }\n let itemPlaced = false;\n if (dense) {\n startIndex = 0;\n }\n while (!itemPlaced) {\n const targetCells = [];\n for (let i = 0; i < width; i++) {\n for (let j = 0; j < height; j++) {\n targetCells.push(startIndex + i + j * cols);\n }\n }\n if (startIndex % cols + width <= cols && targetCells.every(cell => cellMap[cell] == null)) {\n targetCells.forEach(cell => {\n cellMap[cell] = index;\n });\n itemPlaced = true;\n } else {\n startIndex++;\n }\n }\n });\n\n // convert into a non-sparse array\n return [...cellMap];\n}\n\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getGridCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n if (index === -1) return -1;\n const firstCellIndex = cellMap.indexOf(index);\n const sizeItem = sizes[index];\n switch (corner) {\n case 'tl':\n return firstCellIndex;\n case 'tr':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + sizeItem.width - 1;\n case 'bl':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + (sizeItem.height - 1) * cols;\n case 'br':\n return cellMap.lastIndexOf(index);\n }\n}\n\n/** Gets all cell indices that correspond to the specified indices */\nfunction getGridCellIndices(indices, cellMap) {\n return cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (typeof disabledIndices === 'function') {\n return disabledIndices(index);\n } else if (disabledIndices) {\n return disabledIndices.includes(index);\n }\n const element = listRef.current[index];\n return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nconst getTabbableOptions = () => ({\n getShadowRoot: true,\n displayCheck:\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, dir) {\n const list = tabbable(container, getTabbableOptions());\n const len = list.length;\n if (len === 0) return;\n const active = activeElement(getDocument(container));\n const index = list.indexOf(active);\n const nextIndex = index === -1 ? dir === 1 ? 0 : len - 1 : index + dir;\n return list[nextIndex];\n}\nfunction getNextTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, 1) || referenceElement;\n}\nfunction getPreviousTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, -1) || referenceElement;\n}\nfunction isOutsideEvent(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n const tabbableElements = tabbable(container, getTabbableOptions());\n tabbableElements.forEach(element => {\n element.dataset.tabindex = element.getAttribute('tabindex') || '';\n element.setAttribute('tabindex', '-1');\n });\n}\nfunction enableFocusInside(container) {\n const elements = container.querySelectorAll('[data-tabindex]');\n elements.forEach(element => {\n const tabindex = element.dataset.tabindex;\n delete element.dataset.tabindex;\n if (tabindex) {\n element.setAttribute('tabindex', tabindex);\n } else {\n element.removeAttribute('tabindex');\n }\n });\n}\n\nexport { activeElement, contains, createGridCellMap, disableFocusInside, enableFocusInside, findNonDisabledListIndex, getDeepestNode, getDocument, getFloatingFocusElement, getGridCellIndexOfCorner, getGridCellIndices, getGridNavigatedIndex, getMaxListIndex, getMinListIndex, getNextTabbable, getNodeAncestors, getNodeChildren, getPlatform, getPreviousTabbable, getTabbableOptions, getTarget, getUserAgent, isAndroid, isDifferentGridRow, isEventTargetWithin, isIndexOutOfListBounds, isJSDOM, isListIndexDisabled, isMac, isMouseLikePointerType, isOutsideEvent, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, matchesFocusVisible, stopEvent, useEffectEvent, useLatestRef, index as useModernLayoutEffect };\n"],"names":["isClient","noop","index","useLayoutEffect","SafeReact","React","useInsertionEffect","useSafeInsertionEffect","fn","useEffectEvent","callback","ref","_len","args","_key"],"mappings":"gEAsNA,IAAIA,EAAW,OAAO,SAAa,IAE/BC,EAAO,UAAgB,CAAC,EACxBC,EAAQF,EAAWG,EAAkBF,EAGzC,MAAMG,EAAY,CAChB,GAAGC,CACL,EASMC,EAAqBF,EAAU,mBAC/BG,EAAyBD,IAAuBE,GAAMA,EAAA,GAC5D,SAASC,EAAeC,EAAU,CAChC,MAAMC,EAAMN,EAAM,OAAO,IAAM,CAI/B,CAAC,EACD,OAAAE,EAAuB,IAAM,CAC3BI,EAAI,QAAUD,CAChB,CAAC,EACML,EAAM,YAAY,UAAY,CACnC,QAASO,EAAO,UAAU,OAAQC,EAAO,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,CAAI,EAAI,UAAUA,CAAI,EAE7B,OAAOH,EAAI,SAAW,KAAO,OAASA,EAAI,QAAQ,GAAGE,CAAI,CAC3D,EAAG,CAAA,CAAE,CACP","x_google_ignoreList":[0]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Control, FieldPath, FieldValues, UseControllerProps } from 'react-hook-form';
|
|
2
|
-
import { SelectBaseProps, SelectItemOption } from '../../../../../../shared/ui';
|
|
3
|
-
type SelectControlClasses = SelectBaseProps<boolean>['classes'] & {
|
|
4
|
-
container?: string;
|
|
5
|
-
message?: string;
|
|
6
|
-
};
|
|
7
|
-
export type SelectControlProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = UseControllerProps<TFieldValues, TName> & SelectBaseProps<boolean> & {
|
|
8
|
-
/**
|
|
9
|
-
* Контрол объект для управления полем
|
|
10
|
-
*/
|
|
11
|
-
control: Control<TFieldValues>;
|
|
12
|
-
/**
|
|
13
|
-
* Дополнительные стили компонента
|
|
14
|
-
*/
|
|
15
|
-
classes?: SelectControlClasses;
|
|
16
|
-
/**
|
|
17
|
-
* Дополнительный текст
|
|
18
|
-
*/
|
|
19
|
-
helperText?: string;
|
|
20
|
-
/**
|
|
21
|
-
* Функция для управления возвращаемым значением
|
|
22
|
-
*/
|
|
23
|
-
returnValue?: (option?: SelectItemOption) => string;
|
|
24
|
-
};
|
|
25
|
-
export declare const SelectControl: <TFieldValues extends FieldValues = FieldValues>({ control, classes, name, rules, shouldUnregister, disabled, defaultValue, returnValue, options, helperText, ...props }: SelectControlProps<TFieldValues>) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { SelectControl, type SelectControlProps } from './SelectControl';
|