@scbt-ecom/ui 0.95.1 → 0.95.3
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/configs/tailwindConfigBase.js +1 -1
- package/dist/lib/configs/tailwindConfigBase.js.map +1 -1
- package/dist/lib/configs/tailwindPresets/resetPreset.js +1 -1
- package/dist/lib/configs/tailwindPresets/resetPreset.js.map +1 -1
- package/dist/lib/exports/widget.js +1 -1
- package/dist/lib/shared/hooks/useClickOutside.js +1 -1
- package/dist/lib/shared/hooks/useClickOutside.js.map +1 -1
- package/dist/lib/shared/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/carousel/CarouselBase.js +1 -1
- package/dist/lib/shared/ui/carousel/CarouselBase.js.map +1 -1
- package/dist/lib/shared/ui/carousel/model/helpers.js +1 -1
- package/dist/lib/shared/ui/carousel/model/helpers.js.map +1 -1
- package/dist/lib/shared/ui/carousel/ui/CarouselContent.js +1 -1
- package/dist/lib/shared/ui/carousel/ui/CarouselContent.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/DropdownList.js +1 -1
- package/dist/lib/shared/ui/dropdownList/DropdownList.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/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/select/SelectControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/select/SelectControl.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/ui/fieldAttachment/ui/ValidateSlot.js +1 -1
- package/dist/lib/shared/ui/formElements/ui/fieldAttachment/ui/ValidateSlot.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/checkbox/Checkbox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/combobox/combobox.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/index.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/index.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/input/Input.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/input/Input.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/maskInput/MaskInput.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/Select.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/Select.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/Chip.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/select/ui/Chip.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/hint/Hint.js +1 -1
- package/dist/lib/shared/ui/hint/Hint.js.map +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js +1 -1
- package/dist/lib/shared/ui/modal/ui/ModalHeader.js.map +1 -1
- package/dist/lib/shared/ui/popover/Popover.js +1 -1
- package/dist/lib/shared/ui/popover/Popover.js.map +1 -1
- package/dist/lib/shared/ui/slot/ui/SlotClone.js +1 -1
- package/dist/lib/shared/ui/slot/ui/SlotClone.js.map +1 -1
- package/dist/lib/shared/ui/table/Desktop.js +1 -1
- package/dist/lib/shared/ui/table/Desktop.js.map +1 -1
- package/dist/lib/shared/ui/table/Table.js +1 -1
- package/dist/lib/shared/ui/table/Table.js.map +1 -1
- package/dist/lib/shared/ui/table/model/TableUtils.js +1 -1
- package/dist/lib/shared/ui/table/model/TableUtils.js.map +1 -1
- package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js +1 -1
- package/dist/lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.js.map +1 -1
- package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js +1 -1
- package/dist/lib/shared/ui/table/ui/editableCell/EditableCell.js.map +1 -1
- package/dist/lib/shared/utils/cn.js +1 -1
- package/dist/lib/shared/utils/cn.js.map +1 -1
- package/dist/lib/shared/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/email.validators.js +1 -1
- package/dist/lib/shared/validation/base/email.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/phone.validators.js +1 -1
- package/dist/lib/shared/validation/base/phone.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/regex.validators.js +1 -1
- package/dist/lib/shared/validation/base/regex.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/url.validators.js +1 -1
- package/dist/lib/shared/validation/base/url.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/benefit/ui/BenefitItem.js +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js.map +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumb.js +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumb.js.map +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js +1 -1
- package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js.map +1 -1
- package/dist/lib/widgets/buttonWithHandlers/model/useButtonHandler.js +1 -1
- package/dist/lib/widgets/buttonWithHandlers/model/useButtonHandler.js.map +1 -1
- package/dist/lib/widgets/calculator/Calculator.js +1 -1
- package/dist/lib/widgets/calculator/Calculator.js.map +1 -1
- package/dist/lib/widgets/calculator/model/helpers.js +1 -1
- package/dist/lib/widgets/calculator/model/helpers.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/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/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/rootTab/RootTab.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/rootTab/RootTab.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/tab/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/node_modules/@hookform/resolvers/dist/resolvers.js +2 -0
- package/dist/node_modules/@hookform/resolvers/dist/resolvers.js.map +1 -0
- package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js +1 -1
- package/dist/node_modules/@hookform/resolvers/zod/dist/zod.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/queryObserver.js +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/queryObserver.js.map +1 -1
- package/dist/node_modules/@tiptap/react/dist/index.js.map +1 -1
- package/dist/node_modules/prosemirror-model/dist/index.js +3 -3
- package/dist/node_modules/prosemirror-model/dist/index.js.map +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/node_modules/tailwindcss/plugin.js +1 -1
- package/dist/node_modules/tailwindcss-animate/index.js +2 -0
- package/dist/node_modules/tailwindcss-animate/index.js.map +1 -0
- package/dist/src/shared/utils/getDynamicSchema.js +1 -1
- package/dist/src/shared/utils/getDynamicSchema.js.map +1 -1
- package/dist/stats.html +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../../../../lib/shared/ui/table/Table.tsx"],"sourcesContent":["import { useState } from 'react'\nimport {\n type ColumnFiltersState,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type PaginationState,\n type SortingState,\n useReactTable\n} from '@tanstack/react-table'\nimport { Desktop } from './Desktop'\nimport { Mobile } from './Mobile'\nimport { type DataTableProps } from './model'\nimport { useDevice } from '$/shared/hooks'\n\nexport const DataTable = <TData extends {}>({\n columns,\n data,\n enableHeaders = true,\n mode = 'solid',\n classes,\n pagination = true,\n empty,\n pageSize = 10\n}: DataTableProps<TData>) => {\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [sorting, setSorting] = useState<SortingState>([])\n const [paginationState, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize\n })\n\n const table = useReactTable({\n data,\n columns,\n state: { columnFilters, sorting, pagination: paginationState },\n enableRowSelection: true,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onPaginationChange: setPagination,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getPaginationRowModel: getPaginationRowModel()\n })\n\n const { isMobile } = useDevice()\n\n return isMobile ? (\n <Mobile table={table} enableHeaders={enableHeaders} empty={empty} mode={mode} classes={classes} />\n ) : (\n <Desktop table={table} enableHeaders={enableHeaders} empty={empty} mode={mode} pagination={pagination} classes={classes} />\n )\n}\n"],"names":["DataTable","columns","data","enableHeaders","mode","classes","pagination","empty","pageSize","columnFilters","setColumnFilters","useState","sorting","setSorting","paginationState","setPagination","table","useReactTable","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getPaginationRowModel","isMobile","useDevice","jsx","Mobile","Desktop"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../../../../lib/shared/ui/table/Table.tsx"],"sourcesContent":["import { useState } from 'react'\nimport {\n type ColumnFiltersState,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type PaginationState,\n type SortingState,\n useReactTable\n} from '@tanstack/react-table'\nimport { Desktop } from './Desktop'\nimport { Mobile } from './Mobile'\nimport { type DataTableProps } from './model'\nimport { useDevice } from '$/shared/hooks'\n\nexport const DataTable = <TData extends {}>({\n columns,\n data,\n enableHeaders = true,\n mode = 'solid',\n classes,\n pagination = true,\n empty,\n pageSize = 10\n}: DataTableProps<TData>) => {\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [sorting, setSorting] = useState<SortingState>([])\n const [paginationState, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize\n })\n\n const table = useReactTable({\n data,\n columns,\n state: { columnFilters, sorting, pagination: paginationState },\n enableRowSelection: true,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onPaginationChange: setPagination,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getPaginationRowModel: getPaginationRowModel()\n })\n\n const { isMobile } = useDevice()\n\n return isMobile ? (\n <Mobile table={table} enableHeaders={enableHeaders} empty={empty} mode={mode} classes={classes} />\n ) : (\n <Desktop table={table} enableHeaders={enableHeaders} empty={empty} mode={mode} pagination={pagination} classes={classes} />\n )\n}\n"],"names":["DataTable","columns","data","enableHeaders","mode","classes","pagination","empty","pageSize","columnFilters","setColumnFilters","useState","sorting","setSorting","paginationState","setPagination","table","useReactTable","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getPaginationRowModel","isMobile","useDevice","jsx","Mobile","Desktop"],"mappings":"8gBAkBO,MAAMA,EAAY,CAAmB,CAC1C,QAAAC,EACA,KAAAC,EACA,cAAAC,EAAgB,GAChB,KAAAC,EAAO,QACP,QAAAC,EACA,WAAAC,EAAa,GACb,MAAAC,EACA,SAAAC,EAAW,EACb,IAA6B,CAC3B,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAA6B,CAAA,CAAE,EACnE,CAACC,EAASC,CAAU,EAAIF,EAAuB,CAAA,CAAE,EACjD,CAACG,EAAiBC,CAAa,EAAIJ,EAA0B,CACjE,UAAW,EACX,SAAAH,CAAA,CACD,EAEKQ,EAAQC,EAAc,CAC1B,KAAAf,EACA,QAAAD,EACA,MAAO,CAAE,cAAAQ,EAAe,QAAAG,EAAS,WAAYE,CAAA,EAC7C,mBAAoB,GACpB,gBAAiBD,EACjB,sBAAuBH,EACvB,mBAAoBK,EACpB,gBAAiBG,EAAA,EACjB,oBAAqBC,EAAA,EACrB,kBAAmBC,EAAA,EACnB,mBAAoBC,EAAA,EACpB,uBAAwBC,EAAA,EACxB,sBAAuBC,EAAA,CAAsB,CAC9C,EAEK,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAErB,OAAOD,EACLE,EAACC,EAAA,CAAO,MAAAX,EAAc,cAAAb,EAA8B,MAAAI,EAAc,KAAAH,EAAY,QAAAC,CAAA,CAAkB,EAEhGqB,EAACE,GAAQ,MAAAZ,EAAc,cAAAb,EAA8B,MAAAI,EAAc,KAAAH,EAAY,WAAAE,EAAwB,QAAAD,EAAkB,CAE7H"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as g}from"react/jsx-runtime";import"../ui/primitives/Primitives.js";import{DataTableColumnHeader as p}from"../ui/dataTableColumnHeader/DataTableColumnHeader.js";import"react";import
|
|
1
|
+
import{jsx as g}from"react/jsx-runtime";import"../ui/primitives/Primitives.js";import{DataTableColumnHeader as p}from"../ui/dataTableColumnHeader/DataTableColumnHeader.js";import"react";import{TypeGuards as a}from"../../../utils/typeGuards.js";import{createColumnHelper as d}from"../../../../../node_modules/@tanstack/table-core/build/lib/index.js";class T{static getColumnHelper(){return d()}static getColumns(i,m){const{helper:u=this.getColumnHelper(),enableColumnFilter:o=!1,enableSorting:l=!1,cellAccessor:n,headerAccessor:s}=m||{};return Object.keys(i).map(e=>u.accessor(e,{header:t=>{const{column:r}=t,c=s?s[e]:null;return g(p,{isSorted:r.getIsSorted()==="desc",nextSortingOrder:r.getNextSortingOrder(),toggleSorting:r.toggleSorting,canSort:r.getCanSort(),children:c?c(e,t):e})},cell:t=>{const r=n?n[e]:null;return r?r(t):t.getValue()},enableColumnFilter:a.isBoolean(o)?o:o.includes(e),enableSorting:a.isBoolean(l)?l:l.includes(e)}))}}export{T as TableUtils};
|
|
2
2
|
//# sourceMappingURL=TableUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableUtils.js","sources":["../../../../../../lib/shared/ui/table/model/TableUtils.tsx"],"sourcesContent":["import {\n type CellContext,\n type ColumnDef,\n type ColumnHelper,\n createColumnHelper,\n type HeaderContext\n} from '@tanstack/react-table'\nimport { DataTableColumnHeader } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype ColumnDefOptions<TData, TValue> = {\n enableSorting?: (keyof TData)[] | boolean\n enableColumnFilter?: (keyof TData)[] | boolean\n helper?: ColumnHelper<TData>\n cellAccessor?: Partial<Record<keyof TData, (cellContext: CellContext<TData, TValue>) => React.ReactNode>>\n headerAccessor?: Partial<\n Record<keyof TData, (key: keyof TData, headerContext: HeaderContext<TData, TValue>) => React.ReactNode>\n >\n}\n\nexport class TableUtils {\n static getColumnHelper<TData extends {}>(): ColumnHelper<TData> {\n return createColumnHelper<TData>()\n }\n\n static getColumns<TData extends {}, TValue = TData[keyof TData]>(\n template: TData,\n options?: ColumnDefOptions<TData, TValue>\n ): ColumnDef<TData>[] {\n const {\n helper = this.getColumnHelper<TData>(),\n enableColumnFilter = false,\n enableSorting = false,\n cellAccessor,\n headerAccessor\n } = options || {}\n\n const keys = Object.keys(template) as (keyof TData)[]\n\n return keys.map((key) => {\n return helper.accessor<any, TValue>(key, {\n header: (header) => {\n const { column } = header\n const accessor = headerAccessor ? headerAccessor[key] : null\n\n return (\n <DataTableColumnHeader\n isSorted={column.getIsSorted() === 'desc'}\n nextSortingOrder={column.getNextSortingOrder()}\n toggleSorting={column.toggleSorting}\n canSort={column.getCanSort()}\n >\n {accessor ? accessor(key, header) : (key as string)}\n </DataTableColumnHeader>\n )\n },\n cell: (cell) => {\n const accessor = cellAccessor ? cellAccessor[key] : null\n\n return accessor ? accessor(cell) : cell.getValue()\n },\n enableColumnFilter: TypeGuards.isBoolean(enableColumnFilter) ? enableColumnFilter : enableColumnFilter.includes(key),\n enableSorting: TypeGuards.isBoolean(enableSorting) ? enableSorting : enableSorting.includes(key)\n })\n }) as ColumnDef<TData>[]\n }\n}\n"],"names":["TableUtils","createColumnHelper","template","options","helper","enableColumnFilter","enableSorting","cellAccessor","headerAccessor","key","header","column","accessor","jsx","DataTableColumnHeader","cell","TypeGuards"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableUtils.js","sources":["../../../../../../lib/shared/ui/table/model/TableUtils.tsx"],"sourcesContent":["import {\n type CellContext,\n type ColumnDef,\n type ColumnHelper,\n createColumnHelper,\n type HeaderContext\n} from '@tanstack/react-table'\nimport { DataTableColumnHeader } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype ColumnDefOptions<TData, TValue> = {\n enableSorting?: (keyof TData)[] | boolean\n enableColumnFilter?: (keyof TData)[] | boolean\n helper?: ColumnHelper<TData>\n cellAccessor?: Partial<Record<keyof TData, (cellContext: CellContext<TData, TValue>) => React.ReactNode>>\n headerAccessor?: Partial<\n Record<keyof TData, (key: keyof TData, headerContext: HeaderContext<TData, TValue>) => React.ReactNode>\n >\n}\n\nexport class TableUtils {\n static getColumnHelper<TData extends {}>(): ColumnHelper<TData> {\n return createColumnHelper<TData>()\n }\n\n static getColumns<TData extends {}, TValue = TData[keyof TData]>(\n template: TData,\n options?: ColumnDefOptions<TData, TValue>\n ): ColumnDef<TData>[] {\n const {\n helper = this.getColumnHelper<TData>(),\n enableColumnFilter = false,\n enableSorting = false,\n cellAccessor,\n headerAccessor\n } = options || {}\n\n const keys = Object.keys(template) as (keyof TData)[]\n\n return keys.map((key) => {\n return helper.accessor<any, TValue>(key, {\n header: (header) => {\n const { column } = header\n const accessor = headerAccessor ? headerAccessor[key] : null\n\n return (\n <DataTableColumnHeader\n isSorted={column.getIsSorted() === 'desc'}\n nextSortingOrder={column.getNextSortingOrder()}\n toggleSorting={column.toggleSorting}\n canSort={column.getCanSort()}\n >\n {accessor ? accessor(key, header) : (key as string)}\n </DataTableColumnHeader>\n )\n },\n cell: (cell) => {\n const accessor = cellAccessor ? cellAccessor[key] : null\n\n return accessor ? accessor(cell) : cell.getValue()\n },\n enableColumnFilter: TypeGuards.isBoolean(enableColumnFilter) ? enableColumnFilter : enableColumnFilter.includes(key),\n enableSorting: TypeGuards.isBoolean(enableSorting) ? enableSorting : enableSorting.includes(key)\n })\n }) as ColumnDef<TData>[]\n }\n}\n"],"names":["TableUtils","createColumnHelper","template","options","helper","enableColumnFilter","enableSorting","cellAccessor","headerAccessor","key","header","column","accessor","jsx","DataTableColumnHeader","cell","TypeGuards"],"mappings":"6VAoBO,MAAMA,CAAW,CACtB,OAAO,iBAAyD,CAC9D,OAAOC,EAAA,CACT,CAEA,OAAO,WACLC,EACAC,EACoB,CACpB,KAAM,CACJ,OAAAC,EAAS,KAAK,gBAAA,EACd,mBAAAC,EAAqB,GACrB,cAAAC,EAAgB,GAChB,aAAAC,EACA,eAAAC,CAAA,EACEL,GAAW,CAAA,EAIf,OAFa,OAAO,KAAKD,CAAQ,EAErB,IAAKO,GACRL,EAAO,SAAsBK,EAAK,CACvC,OAASC,GAAW,CAClB,KAAM,CAAE,OAAAC,GAAWD,EACbE,EAAWJ,EAAiBA,EAAeC,CAAG,EAAI,KAExD,OACEI,EAACC,EAAA,CACC,SAAUH,EAAO,YAAA,IAAkB,OACnC,iBAAkBA,EAAO,oBAAA,EACzB,cAAeA,EAAO,cACtB,QAASA,EAAO,WAAA,EAEf,SAAAC,EAAWA,EAASH,EAAKC,CAAM,EAAKD,CAAA,CAAA,CAG3C,EACA,KAAOM,GAAS,CACd,MAAMH,EAAWL,EAAeA,EAAaE,CAAG,EAAI,KAEpD,OAAOG,EAAWA,EAASG,CAAI,EAAIA,EAAK,SAAA,CAC1C,EACA,mBAAoBC,EAAW,UAAUX,CAAkB,EAAIA,EAAqBA,EAAmB,SAASI,CAAG,EACnH,cAAeO,EAAW,UAAUV,CAAa,EAAIA,EAAgBA,EAAc,SAASG,CAAG,CAAA,CAChG,CACF,CACH,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as d,jsx as e}from"react/jsx-runtime";import{useDevice as x}from"../../../../hooks/useDevice.js";import"react";import{cn as t}from"../../../../utils/cn.js";import
|
|
1
|
+
import{jsxs as d,jsx as e}from"react/jsx-runtime";import{useDevice as x}from"../../../../hooks/useDevice.js";import"react";import{cn as t}from"../../../../utils/cn.js";import{Icon as b}from"../../../icon/Icon.js";const D=({children:r,canSort:s,toggleSorting:a,nextSortingOrder:n,isSorted:c,classes:i})=>{const{root:m,content:l,icon:p}=i||{},{isDesktop:u}=x(),o=s&&u;return d("button",{type:"button",className:t("desk-body-regular-l flex items-center justify-center gap-x-2 text-color-secondary",m),onClick:()=>a(!c),disabled:!o,children:[e("span",{className:t("",l),children:r}),o&&e(b,{name:"arrows/arrowRight",className:t("size-4 rotate-90 text-color-current duration-100",{"-rotate-90":!n},p)})]})};export{D as DataTableColumnHeader};
|
|
2
2
|
//# sourceMappingURL=DataTableColumnHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableColumnHeader.js","sources":["../../../../../../../lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.tsx"],"sourcesContent":["import { type SortDirection } from '@tanstack/react-table'\nimport { useDevice } from '$/shared/hooks'\nimport { Icon } from '$/shared/ui/icon'\nimport { cn } from '$/shared/utils'\n\ntype DataTableColumnHeaderClasses = {\n root?: string\n content?: string\n icon?: string\n}\n\ntype DataTableColumnHeaderProps = {\n children: React.ReactNode\n isSorted: boolean | SortDirection\n toggleSorting: (desc: boolean) => void\n nextSortingOrder: boolean | SortDirection\n canSort: boolean\n classes?: DataTableColumnHeaderClasses\n}\n\nexport const DataTableColumnHeader = ({\n children,\n canSort,\n toggleSorting,\n nextSortingOrder,\n isSorted,\n classes\n}: DataTableColumnHeaderProps) => {\n const { root, content, icon } = classes || {}\n\n const { isDesktop } = useDevice()\n\n const isSortable = canSort && isDesktop\n\n return (\n <button\n type='button'\n className={cn('desk-body-regular-l flex items-center justify-center gap-x-2 text-color-secondary', root)}\n onClick={() => toggleSorting(!isSorted)}\n disabled={!isSortable}\n >\n <span className={cn('', content)}>{children}</span>\n {isSortable && (\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-4 rotate-90 text-color-current duration-100',\n {\n '-rotate-90': !nextSortingOrder\n },\n icon\n )}\n />\n )}\n </button>\n )\n}\n"],"names":["DataTableColumnHeader","children","canSort","toggleSorting","nextSortingOrder","isSorted","classes","root","content","icon","isDesktop","useDevice","isSortable","jsxs","cn","jsx","Icon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTableColumnHeader.js","sources":["../../../../../../../lib/shared/ui/table/ui/dataTableColumnHeader/DataTableColumnHeader.tsx"],"sourcesContent":["import { type SortDirection } from '@tanstack/react-table'\nimport { useDevice } from '$/shared/hooks'\nimport { Icon } from '$/shared/ui/icon'\nimport { cn } from '$/shared/utils'\n\ntype DataTableColumnHeaderClasses = {\n root?: string\n content?: string\n icon?: string\n}\n\ntype DataTableColumnHeaderProps = {\n children: React.ReactNode\n isSorted: boolean | SortDirection\n toggleSorting: (desc: boolean) => void\n nextSortingOrder: boolean | SortDirection\n canSort: boolean\n classes?: DataTableColumnHeaderClasses\n}\n\nexport const DataTableColumnHeader = ({\n children,\n canSort,\n toggleSorting,\n nextSortingOrder,\n isSorted,\n classes\n}: DataTableColumnHeaderProps) => {\n const { root, content, icon } = classes || {}\n\n const { isDesktop } = useDevice()\n\n const isSortable = canSort && isDesktop\n\n return (\n <button\n type='button'\n className={cn('desk-body-regular-l flex items-center justify-center gap-x-2 text-color-secondary', root)}\n onClick={() => toggleSorting(!isSorted)}\n disabled={!isSortable}\n >\n <span className={cn('', content)}>{children}</span>\n {isSortable && (\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'size-4 rotate-90 text-color-current duration-100',\n {\n '-rotate-90': !nextSortingOrder\n },\n icon\n )}\n />\n )}\n </button>\n )\n}\n"],"names":["DataTableColumnHeader","children","canSort","toggleSorting","nextSortingOrder","isSorted","classes","root","content","icon","isDesktop","useDevice","isSortable","jsxs","cn","jsx","Icon"],"mappings":"qNAoBO,MAAMA,EAAwB,CAAC,CACpC,SAAAC,EACA,QAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,QAAAC,CACF,IAAkC,CAChC,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,KAAAC,CAAA,EAASH,GAAW,CAAA,EAErC,CAAE,UAAAI,CAAA,EAAcC,EAAA,EAEhBC,EAAaV,GAAWQ,EAE9B,OACEG,EAAC,SAAA,CACC,KAAK,SACL,UAAWC,EAAG,oFAAqFP,CAAI,EACvG,QAAS,IAAMJ,EAAc,CAACE,CAAQ,EACtC,SAAU,CAACO,EAEX,SAAA,CAAAG,EAAC,QAAK,UAAWD,EAAG,GAAIN,CAAO,EAAI,SAAAP,EAAS,EAC3CW,GACCG,EAACC,EAAA,CACC,KAAK,oBACL,UAAWF,EACT,mDACA,CACE,aAAc,CAACV,CAAA,EAEjBK,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAIR"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as u}from"react/jsx-runtime";import{useState as a,useRef as c}from"react";import{useClickOutside as w}from"../../../../hooks/useClickOutside.js";
|
|
1
|
+
import{jsx as u}from"react/jsx-runtime";import{useState as a,useRef as c}from"react";import{useClickOutside as w}from"../../../../hooks/useClickOutside.js";const R=({row:f,getValue:n,update:i,target:p,rowIndex:m=-1})=>{const[d,o]=a(!1),[s,C]=a(n()),t=c(!1),l=c(null),{original:g}=f,h=e=>{C(e.target.value),t.current=!0},r=()=>{if(t.current){const e={...g,[p]:s};i(m,e),t.current=!1}o(!1)};return w(l,r),d?u("input",{ref:l,className:"mr-2 w-full outline-none",type:"text",value:s,onChange:h,onKeyDown:e=>{e.key==="Enter"&&(e.preventDefault(),r())}}):u("p",{className:"w-full",onClick:()=>o(!0),children:n()})};export{R as EditableCell};
|
|
2
2
|
//# sourceMappingURL=EditableCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableCell.js","sources":["../../../../../../../lib/shared/ui/table/ui/editableCell/EditableCell.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport { type CellContext } from '@tanstack/react-table'\nimport { useClickOutside } from '$/shared/hooks'\n\ntype Cell<TData, TValue> = CellContext<TData, TValue> & { rowIndex?: number }\n\ninterface EditableCellProps<TData, TValue> extends Cell<TData, TValue> {\n target: keyof TData\n update: (target: number, values: TData) => void\n}\n\nexport const EditableCell = <TData, TValue extends string | undefined>({\n row,\n getValue,\n update,\n target,\n rowIndex = -1\n}: EditableCellProps<TData, TValue>) => {\n const [focused, setFocused] = useState<boolean>(false)\n const [value, setValue] = useState<TValue | string>(getValue())\n const changed = useRef<boolean>(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const { original } = row\n\n const onValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n\n changed.current = true\n }\n\n const onInputBlur = () => {\n if (changed.current) {\n const updatedRow = { ...original, [target]: value }\n update(rowIndex, updatedRow)\n\n changed.current = false\n }\n\n setFocused(false)\n }\n\n useClickOutside(inputRef, onInputBlur)\n\n return focused ? (\n <input\n ref={inputRef}\n className='mr-2 w-full outline-none'\n type='text'\n value={value}\n onChange={onValueChange}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n\n onInputBlur()\n }\n }}\n />\n ) : (\n <p className='w-full' onClick={() => setFocused(true)}>\n {getValue()}\n </p>\n )\n}\n"],"names":["EditableCell","row","getValue","update","target","rowIndex","focused","setFocused","useState","value","setValue","changed","useRef","inputRef","original","onValueChange","event","onInputBlur","updatedRow","useClickOutside","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EditableCell.js","sources":["../../../../../../../lib/shared/ui/table/ui/editableCell/EditableCell.tsx"],"sourcesContent":["import { useRef, useState } from 'react'\nimport { type CellContext } from '@tanstack/react-table'\nimport { useClickOutside } from '$/shared/hooks'\n\ntype Cell<TData, TValue> = CellContext<TData, TValue> & { rowIndex?: number }\n\ninterface EditableCellProps<TData, TValue> extends Cell<TData, TValue> {\n target: keyof TData\n update: (target: number, values: TData) => void\n}\n\nexport const EditableCell = <TData, TValue extends string | undefined>({\n row,\n getValue,\n update,\n target,\n rowIndex = -1\n}: EditableCellProps<TData, TValue>) => {\n const [focused, setFocused] = useState<boolean>(false)\n const [value, setValue] = useState<TValue | string>(getValue())\n const changed = useRef<boolean>(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const { original } = row\n\n const onValueChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value)\n\n changed.current = true\n }\n\n const onInputBlur = () => {\n if (changed.current) {\n const updatedRow = { ...original, [target]: value }\n update(rowIndex, updatedRow)\n\n changed.current = false\n }\n\n setFocused(false)\n }\n\n useClickOutside(inputRef, onInputBlur)\n\n return focused ? (\n <input\n ref={inputRef}\n className='mr-2 w-full outline-none'\n type='text'\n value={value}\n onChange={onValueChange}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n\n onInputBlur()\n }\n }}\n />\n ) : (\n <p className='w-full' onClick={() => setFocused(true)}>\n {getValue()}\n </p>\n )\n}\n"],"names":["EditableCell","row","getValue","update","target","rowIndex","focused","setFocused","useState","value","setValue","changed","useRef","inputRef","original","onValueChange","event","onInputBlur","updatedRow","useClickOutside","jsx"],"mappings":"4JAWO,MAAMA,EAAe,CAA2C,CACrE,IAAAC,EACA,SAAAC,EACA,OAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,EACb,IAAwC,CACtC,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAkB,EAAK,EAC/C,CAACC,EAAOC,CAAQ,EAAIF,EAA0BN,GAAU,EACxDS,EAAUC,EAAgB,EAAK,EAE/BC,EAAWD,EAAyB,IAAI,EAExC,CAAE,SAAAE,GAAab,EAEfc,EAAiBC,GAA+C,CACpEN,EAASM,EAAM,OAAO,KAAK,EAE3BL,EAAQ,QAAU,EACpB,EAEMM,EAAc,IAAM,CACxB,GAAIN,EAAQ,QAAS,CACnB,MAAMO,EAAa,CAAE,GAAGJ,EAAU,CAACV,CAAM,EAAGK,CAAA,EAC5CN,EAAOE,EAAUa,CAAU,EAE3BP,EAAQ,QAAU,EACpB,CAEAJ,EAAW,EAAK,CAClB,EAEA,OAAAY,EAAgBN,EAAUI,CAAW,EAE9BX,EACLc,EAAC,QAAA,CACC,IAAKP,EACL,UAAU,2BACV,KAAK,OACL,MAAAJ,EACA,SAAUM,EACV,UAAYC,GAAU,CAChBA,EAAM,MAAQ,UAChBA,EAAM,eAAA,EAENC,EAAA,EAEJ,CAAA,CAAA,EAGFG,EAAC,IAAA,CAAE,UAAU,SAAS,QAAS,IAAMb,EAAW,EAAI,EACjD,SAAAL,EAAA,CAAS,CACZ,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{clsx as o}from"../../../node_modules/clsx/dist/clsx.js";import{twMerge as t}from"tailwind-merge";const c=(...r)=>t(o(r));export{c as cn};
|
|
1
|
+
import{clsx as o}from"../../../node_modules/clsx/dist/clsx.js";import{twMerge as t}from"../../../node_modules/tailwind-merge/dist/bundle-mjs.js";const c=(...r)=>t(o(r));export{c as cn};
|
|
2
2
|
//# sourceMappingURL=cn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cn.js","sources":["../../../../lib/shared/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport const cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs))\n}\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"cn.js","sources":["../../../../lib/shared/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport const cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs))\n}\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":"iJAGO,MAAMA,EAAK,IAAIC,IACbC,EAAQC,EAAKF,CAAM,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"react/jsx-runtime";import
|
|
1
|
+
import"react/jsx-runtime";import{TypeGuards as r}from"../../utils/typeGuards.js";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import{formatDateToLocaleString as E}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react";import"react-dom";import"../../ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../ui/table/ui/primitives/Primitives.js";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../ui/formElements/uncontrolled/select/Select.js";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";const f={NON_EMPTY:()=>"Поле не может быть пустым",MIN_LENGTH:t=>`Поле должно содержать минимум символов: ${t}`,MAX_LENGTH:t=>`Поле должно содержать максимум символов: ${t}`,FIX_LENGTH:t=>`Поле должно быть фиксированной длины символов: ${t}`,MIN_VALUE:t=>`Значение не может быть меньше чем ${t}`,MAX_VALUE:t=>`Значение не может быть больше чем ${t}`,PHONE_NON_EMPTY:()=>"Номер телефона должен состоять из 11 цифр",PHONE_INVALID_OPERATOR:()=>"Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9",EMAIL_INVALID:()=>"Email введен некорректно. Пример: example@domain.ru",EMAIL_NON_EMPTY:()=>"Введите адрес электронной почты",SELECT_NON_EMPTY:()=>"Выберите один из вариантов",SELECT_MULTIPLE_MIN_LENGTH:t=>`Выберите не менее ${t} вариантов`,SELECT_MULTIPLE_MAX_LENGTH:t=>`Выберите не более ${t} вариантов`,SELECT_FIX_LENGTH:t=>`Поле должно быть фиксированного количества вариантов: ${t}`,DATE_INVALID_FORMAT:()=>"Дата указана некорректно",DATE_NON_EMPTY:()=>"Укажите дату",VALUE_OUT_OF_RANGE:t=>`Выберите один из вариантов ${t.join(", ")}`,DATE_MIN:t=>{const o=r.isString(t)?new Date(t):t;return`Выбранная дата должна быть не раньше ${E(o)}`},DATE_MAX:t=>{const o=r.isString(t)?new Date(t):t;return`Выбранная дата должна быть не позже ${E(o)}`},INVALID_REGEX_STRING:()=>"Поле не соответствует требованиям",INVALID_URL:()=>"Ссылка введена некорректно. Пример: https://example.com, example.com"};export{f as baseDefaultMessages};
|
|
2
2
|
//# sourceMappingURL=base.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.constants.js","sources":["../../../../../lib/shared/validation/base/base.constants.ts"],"sourcesContent":["import { type Primitive } from 'zod'\nimport { formatDateToLocaleString } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const baseDefaultMessages = {\n NON_EMPTY: () => 'Поле не может быть пустым',\n MIN_LENGTH: (min: number) => `Поле должно содержать минимум символов: ${min}`,\n MAX_LENGTH: (max: number) => `Поле должно содержать максимум символов: ${max}`,\n FIX_LENGTH: (length: number) => `Поле должно быть фиксированной длины символов: ${length}`,\n MIN_VALUE: (min: number) => `Значение не может быть меньше чем ${min}`,\n MAX_VALUE: (max: number) => `Значение не может быть больше чем ${max}`,\n PHONE_NON_EMPTY: () => 'Номер телефона должен состоять из 11 цифр',\n PHONE_INVALID_OPERATOR: () => 'Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9',\n EMAIL_INVALID: () => 'Email введен некорректно. Пример: example@domain.ru',\n EMAIL_NON_EMPTY: () => 'Введите адрес электронной почты',\n SELECT_NON_EMPTY: () => 'Выберите один из вариантов',\n SELECT_MULTIPLE_MIN_LENGTH: (length: number) => `Выберите не менее ${length} вариантов`,\n SELECT_MULTIPLE_MAX_LENGTH: (length: number) => `Выберите не более ${length} вариантов`,\n SELECT_FIX_LENGTH: (length: number) => `Поле должно быть фиксированного количества вариантов: ${length}`,\n DATE_INVALID_FORMAT: () => 'Дата указана некорректно',\n DATE_NON_EMPTY: () => 'Укажите дату',\n VALUE_OUT_OF_RANGE: <T extends Primitive>(range: T[]) => `Выберите один из вариантов ${range.join(', ')}`,\n DATE_MIN: (min: Date | string) => {\n const date = TypeGuards.isString(min) ? new Date(min) : min\n\n return `Выбранная дата должна быть не раньше ${formatDateToLocaleString(date)}`\n },\n DATE_MAX: (max: Date | string) => {\n const date = TypeGuards.isString(max) ? new Date(max) : max\n\n return `Выбранная дата должна быть не позже ${formatDateToLocaleString(date)}`\n },\n INVALID_REGEX_STRING: () => 'Поле не соответствует требованиям',\n INVALID_URL: () => 'Ссылка введена некорректно. Пример: https://example.com, example.com'\n}\n"],"names":["baseDefaultMessages","min","max","length","range","date","TypeGuards","formatDateToLocaleString"],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.constants.js","sources":["../../../../../lib/shared/validation/base/base.constants.ts"],"sourcesContent":["import { type Primitive } from 'zod'\nimport { formatDateToLocaleString } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const baseDefaultMessages = {\n NON_EMPTY: () => 'Поле не может быть пустым',\n MIN_LENGTH: (min: number) => `Поле должно содержать минимум символов: ${min}`,\n MAX_LENGTH: (max: number) => `Поле должно содержать максимум символов: ${max}`,\n FIX_LENGTH: (length: number) => `Поле должно быть фиксированной длины символов: ${length}`,\n MIN_VALUE: (min: number) => `Значение не может быть меньше чем ${min}`,\n MAX_VALUE: (max: number) => `Значение не может быть больше чем ${max}`,\n PHONE_NON_EMPTY: () => 'Номер телефона должен состоять из 11 цифр',\n PHONE_INVALID_OPERATOR: () => 'Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9',\n EMAIL_INVALID: () => 'Email введен некорректно. Пример: example@domain.ru',\n EMAIL_NON_EMPTY: () => 'Введите адрес электронной почты',\n SELECT_NON_EMPTY: () => 'Выберите один из вариантов',\n SELECT_MULTIPLE_MIN_LENGTH: (length: number) => `Выберите не менее ${length} вариантов`,\n SELECT_MULTIPLE_MAX_LENGTH: (length: number) => `Выберите не более ${length} вариантов`,\n SELECT_FIX_LENGTH: (length: number) => `Поле должно быть фиксированного количества вариантов: ${length}`,\n DATE_INVALID_FORMAT: () => 'Дата указана некорректно',\n DATE_NON_EMPTY: () => 'Укажите дату',\n VALUE_OUT_OF_RANGE: <T extends Primitive>(range: T[]) => `Выберите один из вариантов ${range.join(', ')}`,\n DATE_MIN: (min: Date | string) => {\n const date = TypeGuards.isString(min) ? new Date(min) : min\n\n return `Выбранная дата должна быть не раньше ${formatDateToLocaleString(date)}`\n },\n DATE_MAX: (max: Date | string) => {\n const date = TypeGuards.isString(max) ? new Date(max) : max\n\n return `Выбранная дата должна быть не позже ${formatDateToLocaleString(date)}`\n },\n INVALID_REGEX_STRING: () => 'Поле не соответствует требованиям',\n INVALID_URL: () => 'Ссылка введена некорректно. Пример: https://example.com, example.com'\n}\n"],"names":["baseDefaultMessages","min","max","length","range","date","TypeGuards","formatDateToLocaleString"],"mappings":"2kDAIO,MAAMA,EAAsB,CACjC,UAAW,IAAM,4BACjB,WAAaC,GAAgB,2CAA2CA,CAAG,GAC3E,WAAaC,GAAgB,4CAA4CA,CAAG,GAC5E,WAAaC,GAAmB,kDAAkDA,CAAM,GACxF,UAAYF,GAAgB,qCAAqCA,CAAG,GACpE,UAAYC,GAAgB,qCAAqCA,CAAG,GACpE,gBAAiB,IAAM,4CACvB,uBAAwB,IAAM,kEAC9B,cAAe,IAAM,sDACrB,gBAAiB,IAAM,kCACvB,iBAAkB,IAAM,6BACxB,2BAA6BC,GAAmB,qBAAqBA,CAAM,aAC3E,2BAA6BA,GAAmB,qBAAqBA,CAAM,aAC3E,kBAAoBA,GAAmB,yDAAyDA,CAAM,GACtG,oBAAqB,IAAM,2BAC3B,eAAgB,IAAM,eACtB,mBAA0CC,GAAe,8BAA8BA,EAAM,KAAK,IAAI,CAAC,GACvG,SAAWH,GAAuB,CAChC,MAAMI,EAAOC,EAAW,SAASL,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,wCAAwCM,EAAyBF,CAAI,CAAC,EAC/E,EACA,SAAWH,GAAuB,CAChC,MAAMG,EAAOC,EAAW,SAASJ,CAAG,EAAI,IAAI,KAAKA,CAAG,EAAIA,EAExD,MAAO,uCAAuCK,EAAyBF,CAAI,CAAC,EAC9E,EACA,qBAAsB,IAAM,oCAC5B,YAAa,IAAM,sEACrB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as o from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as a}from"./base.constants.js";import"react/jsx-runtime";import
|
|
1
|
+
import*as o from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as a}from"./base.constants.js";import"react/jsx-runtime";import{TypeGuards as m}from"../../utils/typeGuards.js";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as D}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react";import"react-dom";import"../../ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../ui/table/ui/primitives/Primitives.js";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../ui/formElements/uncontrolled/select/Select.js";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import{parse as _}from"../../../../node_modules/date-fns/parse.js";import{isValid as f}from"../../../../node_modules/date-fns/isValid.js";const g=l=>{const{iso:u=!0,pattern:p=D,min:t,max:d,defaultValue:i,message:e}=l||{};return o.string().min(8,(e==null?void 0:e.min)||a.DATE_NON_EMPTY()).superRefine((n,r)=>{const I=p.replace(/\W/g,"").length;if(n.replace(/[._-]/g,"").length<I&&r.addIssue({code:o.ZodIssueCode.too_small,minimum:I,type:"date",inclusive:!0,message:(e==null?void 0:e.min)||a.DATE_NON_EMPTY()}),u){let T=null;try{T=new Date(n)}catch{r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||a.DATE_INVALID_FORMAT()})}t&&T.getTime()<(m.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||a.DATE_MIN(t)}),d&&T.getTime()>(m.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||a.DATE_MAX(d)})}else{const T=_(n,p,new Date);f(T)||r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||a.DATE_INVALID_FORMAT()}),t&&T.getTime()<(m.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||a.DATE_MIN(t)}),d&&T.getTime()>(m.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||a.DATE_MAX(d)})}}).default(i??"")},c=l=>{const{iso:u=!0,pattern:p=D,min:t,max:d,message:i}=l||{};return o.string().transform(e=>e||void 0).superRefine((e,n)=>{if(m.isString(e)&&e.length){const r=p.replace(/\W/g,"").length;if(e.replace(/[._-]/g,"").length<r&&n.addIssue({code:o.ZodIssueCode.too_small,minimum:r,type:"date",inclusive:!0,message:(i==null?void 0:i.min)||a.DATE_NON_EMPTY()}),u){let s=null;try{s=new Date(e)}catch{n.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||a.DATE_INVALID_FORMAT()})}t&&s.getTime()<(m.isString(t)?new Date(t).getTime():t.getTime())&&n.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||a.DATE_MIN(t)}),d&&s.getTime()>(m.isString(d)?new Date(d).getTime():d.getTime())&&n.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||a.DATE_MAX(d)})}else{const s=_(e,p,new Date);f(s)||n.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||a.DATE_INVALID_FORMAT()}),t&&s.getTime()<(m.isString(t)?new Date(t).getTime():t.getTime())&&n.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||a.DATE_MIN(t)}),d&&s.getTime()>(m.isString(d)?new Date(d).getTime():d.getTime())&&n.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||a.DATE_MAX(d)})}}}).optional()};function x(l){const{required:u=!0}=l||{};return u?g(l):c(l)}export{x as getDateSchema};
|
|
2
2
|
//# sourceMappingURL=date.validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.validators.js","sources":["../../../../../lib/shared/validation/base/date.validators.ts"],"sourcesContent":["import { isValid, parse } from 'date-fns'\nimport z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { DATE_VISIBLE_PATTERN } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type DateValidationOptions<Required extends boolean> = {\n /**\n * валидация строки с учетом ISO формата\n * @default true\n */\n iso?: boolean\n /**\n * шаблон для валидации строки (будет проигнорирован, если `iso = true`)\n * @default 'dd.MM.yyyy'\n */\n pattern?: string\n /**\n * минимальная дата\n * `Date | ISO string`\n */\n min?: Date | string\n /**\n * максимальная дата\n * `Date | ISO string`\n */\n max?: Date | string\n /**\n * указывает что поле обязательное\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n max?: string\n invalidDate?: string\n }\n}\n\n/**\n * Схема валидации обязательного поля даты\n */\nconst getDateRequired = (props?: Omit<DateValidationOptions<boolean>, 'required'>) => {\n const { iso = true, pattern = DATE_VISIBLE_PATTERN, min, max, defaultValue, message } = props || {}\n\n return z\n .string()\n .min(8, message?.min || baseDefaultMessages.DATE_NON_EMPTY())\n .superRefine((value, context) => {\n const validSymbolsLength = pattern.replace(/\\W/g, '').length\n const cleanedValue = value.replace(/[._-]/g, '')\n\n if (cleanedValue.length < validSymbolsLength) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: validSymbolsLength,\n type: 'date',\n inclusive: true,\n message: message?.min || baseDefaultMessages.DATE_NON_EMPTY()\n })\n }\n\n if (iso) {\n let date: Date | null = null\n\n try {\n date = new Date(value)\n } catch {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date!.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date!.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n } else {\n const date = parse(value, pattern, new Date())\n\n if (!isValid(date)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n }\n })\n .default(defaultValue ?? '')\n}\ntype DateRequiredSchema = ReturnType<typeof getDateRequired>\n\n/**\n * Схема валидации опционального поля даты\n */\nconst getDateOptional = (props?: Omit<DateValidationOptions<boolean>, 'required'>) => {\n const { iso = true, pattern = DATE_VISIBLE_PATTERN, min, max, message } = props || {}\n\n return z\n .string()\n .transform((value) => (!value ? undefined : value))\n .superRefine((value, context) => {\n if (TypeGuards.isString(value) && Boolean(value.length)) {\n const validSymbolsLength = pattern.replace(/\\W/g, '').length\n const cleanedValue = value.replace(/[._-]/g, '')\n\n if (cleanedValue.length < validSymbolsLength) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: validSymbolsLength,\n type: 'date',\n inclusive: true,\n message: message?.min || baseDefaultMessages.DATE_NON_EMPTY()\n })\n }\n\n if (iso) {\n let date: Date | null = null\n\n try {\n date = new Date(value)\n } catch {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date!.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date!.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n } else {\n const date = parse(value, pattern, new Date())\n\n if (!isValid(date)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n }\n }\n })\n .optional()\n}\ntype DateOptionalSchema = ReturnType<typeof getDateOptional>\n\n/**\n * Схема валидации поля даты\n * @param {DateValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `iso` - `boolean | undefined`\n * @typeParam `pattern` - `string | undefined`\n * @typeParam `message` - `{ [min | invalidOperator]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getDateSchema()\n * })\n * // will returns z.string()\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getDateSchema({ required: false })\n * })\n * // will returns z.string().optional()\n */\nexport function getDateSchema(props?: DateValidationOptions<true>): DateRequiredSchema\nexport function getDateSchema(props?: DateValidationOptions<false>): DateOptionalSchema\nexport function getDateSchema<Required extends boolean>(\n props?: DateValidationOptions<Required>\n): DateRequiredSchema | DateOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getDateRequired(props) : getDateOptional(props)\n}\n"],"names":["getDateRequired","props","iso","pattern","DATE_VISIBLE_PATTERN","min","max","defaultValue","message","z","baseDefaultMessages","value","context","validSymbolsLength","date","TypeGuards","parse","isValid","getDateOptional","getDateSchema","required"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date.validators.js","sources":["../../../../../lib/shared/validation/base/date.validators.ts"],"sourcesContent":["import { isValid, parse } from 'date-fns'\nimport z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { DATE_VISIBLE_PATTERN } from '$/shared/ui'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type DateValidationOptions<Required extends boolean> = {\n /**\n * валидация строки с учетом ISO формата\n * @default true\n */\n iso?: boolean\n /**\n * шаблон для валидации строки (будет проигнорирован, если `iso = true`)\n * @default 'dd.MM.yyyy'\n */\n pattern?: string\n /**\n * минимальная дата\n * `Date | ISO string`\n */\n min?: Date | string\n /**\n * максимальная дата\n * `Date | ISO string`\n */\n max?: Date | string\n /**\n * указывает что поле обязательное\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n max?: string\n invalidDate?: string\n }\n}\n\n/**\n * Схема валидации обязательного поля даты\n */\nconst getDateRequired = (props?: Omit<DateValidationOptions<boolean>, 'required'>) => {\n const { iso = true, pattern = DATE_VISIBLE_PATTERN, min, max, defaultValue, message } = props || {}\n\n return z\n .string()\n .min(8, message?.min || baseDefaultMessages.DATE_NON_EMPTY())\n .superRefine((value, context) => {\n const validSymbolsLength = pattern.replace(/\\W/g, '').length\n const cleanedValue = value.replace(/[._-]/g, '')\n\n if (cleanedValue.length < validSymbolsLength) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: validSymbolsLength,\n type: 'date',\n inclusive: true,\n message: message?.min || baseDefaultMessages.DATE_NON_EMPTY()\n })\n }\n\n if (iso) {\n let date: Date | null = null\n\n try {\n date = new Date(value)\n } catch {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date!.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date!.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n } else {\n const date = parse(value, pattern, new Date())\n\n if (!isValid(date)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n }\n })\n .default(defaultValue ?? '')\n}\ntype DateRequiredSchema = ReturnType<typeof getDateRequired>\n\n/**\n * Схема валидации опционального поля даты\n */\nconst getDateOptional = (props?: Omit<DateValidationOptions<boolean>, 'required'>) => {\n const { iso = true, pattern = DATE_VISIBLE_PATTERN, min, max, message } = props || {}\n\n return z\n .string()\n .transform((value) => (!value ? undefined : value))\n .superRefine((value, context) => {\n if (TypeGuards.isString(value) && Boolean(value.length)) {\n const validSymbolsLength = pattern.replace(/\\W/g, '').length\n const cleanedValue = value.replace(/[._-]/g, '')\n\n if (cleanedValue.length < validSymbolsLength) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: validSymbolsLength,\n type: 'date',\n inclusive: true,\n message: message?.min || baseDefaultMessages.DATE_NON_EMPTY()\n })\n }\n\n if (iso) {\n let date: Date | null = null\n\n try {\n date = new Date(value)\n } catch {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date!.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date!.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n } else {\n const date = parse(value, pattern, new Date())\n\n if (!isValid(date)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.invalidDate || baseDefaultMessages.DATE_INVALID_FORMAT()\n })\n }\n\n if (min) {\n if (date.getTime() < (TypeGuards.isString(min) ? new Date(min).getTime() : min.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.min || baseDefaultMessages.DATE_MIN(min)\n })\n }\n }\n\n if (max) {\n if (date.getTime() > (TypeGuards.isString(max) ? new Date(max).getTime() : max.getTime())) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_date,\n message: message?.max || baseDefaultMessages.DATE_MAX(max)\n })\n }\n }\n }\n }\n })\n .optional()\n}\ntype DateOptionalSchema = ReturnType<typeof getDateOptional>\n\n/**\n * Схема валидации поля даты\n * @param {DateValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `iso` - `boolean | undefined`\n * @typeParam `pattern` - `string | undefined`\n * @typeParam `message` - `{ [min | invalidOperator]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getDateSchema()\n * })\n * // will returns z.string()\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getDateSchema({ required: false })\n * })\n * // will returns z.string().optional()\n */\nexport function getDateSchema(props?: DateValidationOptions<true>): DateRequiredSchema\nexport function getDateSchema(props?: DateValidationOptions<false>): DateOptionalSchema\nexport function getDateSchema<Required extends boolean>(\n props?: DateValidationOptions<Required>\n): DateRequiredSchema | DateOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getDateRequired(props) : getDateOptional(props)\n}\n"],"names":["getDateRequired","props","iso","pattern","DATE_VISIBLE_PATTERN","min","max","defaultValue","message","z","baseDefaultMessages","value","context","validSymbolsLength","date","TypeGuards","parse","isValid","getDateOptional","getDateSchema","required"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as s from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as o}from"./base.constants.js";import
|
|
1
|
+
import*as s from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as o}from"./base.constants.js";import{TypeGuards as g}from"../../utils/typeGuards.js";const E=/^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$/g,m=e=>{const{message:t,defaultValue:n,regexp:i=E}=e||{},r=g.isString(i)?new RegExp(i):i;return s.string().min(1,(t==null?void 0:t.min)||o.EMAIL_NON_EMPTY()).regex(r,(t==null?void 0:t.invalid)||o.EMAIL_INVALID()).default(n??"")},c=e=>{const{message:t,regexp:n=E}=e||{},i=g.isString(n)?new RegExp(n):n;return s.string().refine(r=>g.isStringEmpty(r)?!0:i.test(r),{message:(t==null?void 0:t.invalid)||o.EMAIL_INVALID()}).optional().transform(r=>(r==null?void 0:r.length)===0?void 0:r)};function u(e){const{required:t=!0}=e||{};return t?m(e):c(e)}export{u as getEmailSchema};
|
|
2
2
|
//# sourceMappingURL=email.validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.validators.js","sources":["../../../../../lib/shared/validation/base/email.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type EmailValidationOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * Регулярное выражение для проверки email на валидность\n */\n regexp?: RegExp | string\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n invalid?: string\n }\n}\n\nconst EMAIL_REGEX = /^[\\w-.]+@([\\w-]+\\.)+[\\w-]{2,4}$/g\n\n/**\n * Схема валидации обязательного поля типа email\n */\nconst getEmailRequired = (props?: Omit<EmailValidationOptions<true>, 'required'>) => {\n const { message, defaultValue, regexp = EMAIL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return z\n .string()\n .min(1, message?.min || baseDefaultMessages.EMAIL_NON_EMPTY())\n .regex(regex, message?.invalid || baseDefaultMessages.EMAIL_INVALID())\n .default(defaultValue ?? '')\n}\ntype EmailRequiredSchema = ReturnType<typeof getEmailRequired>\n\n/**\n * Схема валидации опционального поля типа email\n */\nconst getEmailOptional = (props?: Omit<EmailValidationOptions<false>, 'required'>) => {\n const { message, regexp = EMAIL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return z\n .string()\n .refine(\n (value) => {\n if (TypeGuards.isStringEmpty(value)) return true\n return regex.test(value)\n },\n {\n message: message?.invalid || baseDefaultMessages.EMAIL_INVALID()\n }\n )\n .optional()\n .transform((value) => (value?.length === 0 ? undefined : value))\n}\ntype EmailOptionalSchema = ReturnType<typeof getEmailOptional>\n\n/**\n * Схема валидации поля типа email\n * @param {EmailValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `regexp` - `RegExp`\n * @typeParam `message` - `{ [min | invalid]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getEmailSchema()\n * })\n * // will returns z.string().min(1).email()\n *\n * @example with optional value\n * z.object({\n * field: zodValidators.base.getEmailSchema({ required: false })\n * })\n * // will returns z.string().min(1).email().optional()\n */\nexport function getEmailSchema(props?: EmailValidationOptions<true>): EmailRequiredSchema\nexport function getEmailSchema(props?: EmailValidationOptions<false>): EmailOptionalSchema\nexport function getEmailSchema<Required extends boolean>(\n props?: EmailValidationOptions<Required>\n): EmailRequiredSchema | EmailOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getEmailRequired(props) : getEmailOptional(props)\n}\n"],"names":["EMAIL_REGEX","getEmailRequired","props","message","defaultValue","regexp","regex","TypeGuards","z","baseDefaultMessages","getEmailOptional","value","getEmailSchema","required"],"mappings":"
|
|
1
|
+
{"version":3,"file":"email.validators.js","sources":["../../../../../lib/shared/validation/base/email.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type EmailValidationOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * Регулярное выражение для проверки email на валидность\n */\n regexp?: RegExp | string\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n invalid?: string\n }\n}\n\nconst EMAIL_REGEX = /^[\\w-.]+@([\\w-]+\\.)+[\\w-]{2,4}$/g\n\n/**\n * Схема валидации обязательного поля типа email\n */\nconst getEmailRequired = (props?: Omit<EmailValidationOptions<true>, 'required'>) => {\n const { message, defaultValue, regexp = EMAIL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return z\n .string()\n .min(1, message?.min || baseDefaultMessages.EMAIL_NON_EMPTY())\n .regex(regex, message?.invalid || baseDefaultMessages.EMAIL_INVALID())\n .default(defaultValue ?? '')\n}\ntype EmailRequiredSchema = ReturnType<typeof getEmailRequired>\n\n/**\n * Схема валидации опционального поля типа email\n */\nconst getEmailOptional = (props?: Omit<EmailValidationOptions<false>, 'required'>) => {\n const { message, regexp = EMAIL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return z\n .string()\n .refine(\n (value) => {\n if (TypeGuards.isStringEmpty(value)) return true\n return regex.test(value)\n },\n {\n message: message?.invalid || baseDefaultMessages.EMAIL_INVALID()\n }\n )\n .optional()\n .transform((value) => (value?.length === 0 ? undefined : value))\n}\ntype EmailOptionalSchema = ReturnType<typeof getEmailOptional>\n\n/**\n * Схема валидации поля типа email\n * @param {EmailValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `regexp` - `RegExp`\n * @typeParam `message` - `{ [min | invalid]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getEmailSchema()\n * })\n * // will returns z.string().min(1).email()\n *\n * @example with optional value\n * z.object({\n * field: zodValidators.base.getEmailSchema({ required: false })\n * })\n * // will returns z.string().min(1).email().optional()\n */\nexport function getEmailSchema(props?: EmailValidationOptions<true>): EmailRequiredSchema\nexport function getEmailSchema(props?: EmailValidationOptions<false>): EmailOptionalSchema\nexport function getEmailSchema<Required extends boolean>(\n props?: EmailValidationOptions<Required>\n): EmailRequiredSchema | EmailOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getEmailRequired(props) : getEmailOptional(props)\n}\n"],"names":["EMAIL_REGEX","getEmailRequired","props","message","defaultValue","regexp","regex","TypeGuards","z","baseDefaultMessages","getEmailOptional","value","getEmailSchema","required"],"mappings":"+KAyBA,MAAMA,EAAc,mCAKdC,EAAoBC,GAA2D,CACnF,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAc,OAAAC,EAASL,CAAA,EAAgBE,GAAS,CAAA,EAE3DI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EACJ,SACA,IAAI,GAAGL,GAAA,YAAAA,EAAS,MAAOM,EAAoB,gBAAA,CAAiB,EAC5D,MAAMH,GAAOH,GAAA,YAAAA,EAAS,UAAWM,EAAoB,eAAe,EACpE,QAAQL,GAAgB,EAAE,CAC/B,EAMMM,EAAoBR,GAA4D,CACpF,KAAM,CAAE,QAAAC,EAAS,OAAAE,EAASL,CAAA,EAAgBE,GAAS,CAAA,EAE7CI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EACJ,SACA,OACEG,GACKJ,EAAW,cAAcI,CAAK,EAAU,GACrCL,EAAM,KAAKK,CAAK,EAEzB,CACE,SAASR,GAAA,YAAAA,EAAS,UAAWM,EAAoB,cAAA,CAAc,CACjE,EAED,SAAA,EACA,UAAWE,IAAWA,GAAA,YAAAA,EAAO,UAAW,EAAI,OAAYA,CAAM,CACnE,EAyBO,SAASC,EACdV,EAC2C,CAC3C,KAAM,CAAE,SAAAW,EAAW,EAAA,EAASX,GAAS,CAAA,EAErC,OAAOW,EAAWZ,EAAiBC,CAAK,EAAIQ,EAAiBR,CAAK,CACpE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as a from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as u}from"./base.constants.js";import
|
|
1
|
+
import*as a from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as u}from"./base.constants.js";import{TypeGuards as g}from"../../utils/typeGuards.js";const f=t=>{const{ignoreMask:d=!0,maskSymbols:o=/[()+_ -]/g,message:e,defaultValue:m,validOperatorCodes:l=["3","4","5","6","9"]}=t||{},n=g.isString(o)?new RegExp(o):o;let r=a.string().superRefine((s,i)=>{const c=s.replace(n,""),p=c.charAt(1);l.includes(p)||i.addIssue({code:a.ZodIssueCode.invalid_string,validation:"regex",message:(e==null?void 0:e.invalidOperator)||u.PHONE_INVALID_OPERATOR()}),c.length<11&&i.addIssue({code:a.ZodIssueCode.too_small,minimum:11,inclusive:!0,type:"string",message:(e==null?void 0:e.min)||u.PHONE_NON_EMPTY()})});return d&&(r=r.transform(s=>s.replace(n,""))),r.default(m??"")},O=t=>{const{ignoreMask:d=!0,maskSymbols:o=/[()+_ -]/g,message:e,validOperatorCodes:m=["3","4","5","6","9"]}=t||{},l=g.isString(o)?new RegExp(o):o;let n=a.string().superRefine((r,s)=>{const i=r.replace(l,"");if(!i.length)return;const c=i.charAt(1);m.includes(c)||s.addIssue({code:a.ZodIssueCode.invalid_string,validation:"regex",message:(e==null?void 0:e.invalidOperator)||u.PHONE_INVALID_OPERATOR()}),i.length<11&&s.addIssue({code:a.ZodIssueCode.too_small,minimum:11,inclusive:!0,type:"string",message:(e==null?void 0:e.min)||u.PHONE_NON_EMPTY()})});return d&&(n=n.transform(r=>r.replace(l,""))),n.optional().transform(r=>!r||(r==null?void 0:r.replace(l,"").length)!==0?void 0:r)};function I(t){const{required:d=!0}=t||{};return d?f(t):O(t)}export{I as getPhoneSchema};
|
|
2
2
|
//# sourceMappingURL=phone.validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone.validators.js","sources":["../../../../../lib/shared/validation/base/phone.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type PhoneValidationOptions<Required extends boolean> = {\n /**\n * исключает маску в возвращаемом значении\n * @default true\n */\n ignoreMask?: boolean\n /**\n * игнорирует символы для проверки поля исключая данные символы\n * @default /[()+_ -]/g\n */\n maskSymbols?: RegExp | string\n /**\n * указывает что поле обязательное\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n invalidOperator?: string\n }\n /**\n * указываем валидные коды оператор\n * @default ['3', '4', '5', '6', '9']\n * @param string[]\n */\n validOperatorCodes?: string[]\n}\n\n/**\n * Схема валидации обязательного поля номера телефона\n */\nconst getPhoneRequired = (props?: Omit<PhoneValidationOptions<true>, 'required'>) => {\n const {\n ignoreMask = true,\n maskSymbols = /[()+_ -]/g,\n message,\n defaultValue,\n validOperatorCodes = ['3', '4', '5', '6', '9']\n } = props || {}\n\n const mask = TypeGuards.isString(maskSymbols) ? new RegExp(maskSymbols) : maskSymbols\n\n let schema = z.string().superRefine((value, context) => {\n const cleanValue = value.replace(mask, '')\n\n const operatorCode = cleanValue.charAt(1)\n\n if (!validOperatorCodes.includes(operatorCode)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_string,\n validation: 'regex',\n message: message?.invalidOperator || baseDefaultMessages.PHONE_INVALID_OPERATOR()\n })\n }\n\n if (cleanValue.length < 11) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: 11,\n inclusive: true,\n type: 'string',\n message: message?.min || baseDefaultMessages.PHONE_NON_EMPTY()\n })\n }\n })\n\n if (ignoreMask) {\n schema = schema.transform((value) => value.replace(mask, '')) as unknown as typeof schema\n }\n\n return schema.default(defaultValue ?? '')\n}\ntype PhoneRequiredSchema = ReturnType<typeof getPhoneRequired>\n\n/**\n * Схема валидации опционального поля номера телефона\n */\nconst getPhoneOptional = (props?: Omit<PhoneValidationOptions<false>, 'required'>) => {\n const { ignoreMask = true, maskSymbols = /[()+_ -]/g, message, validOperatorCodes = ['3', '4', '5', '6', '9'] } = props || {}\n\n const mask = TypeGuards.isString(maskSymbols) ? new RegExp(maskSymbols) : maskSymbols\n\n let schema = z.string().superRefine((value, context) => {\n const cleanValue = value.replace(mask, '')\n\n if (!cleanValue.length) return\n\n const operatorCode = cleanValue.charAt(1)\n\n if (!validOperatorCodes.includes(operatorCode)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_string,\n validation: 'regex',\n message: message?.invalidOperator || baseDefaultMessages.PHONE_INVALID_OPERATOR()\n })\n }\n\n if (cleanValue.length < 11) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: 11,\n inclusive: true,\n type: 'string',\n message: message?.min || baseDefaultMessages.PHONE_NON_EMPTY()\n })\n }\n })\n\n if (ignoreMask) {\n schema = schema.transform((value) => value.replace(mask, '')) as unknown as typeof schema\n }\n\n return schema.optional().transform((value) => (!value || value?.replace(mask, '').length !== 0 ? undefined : value))\n}\ntype PhoneOptionalSchema = ReturnType<typeof getPhoneOptional>\n\n/**\n * Схема валидации опционального поля номера телефона\n * @param {PhoneValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `ignoreSeparators` - `boolean | undefined` `default: false`\n * @typeParam `maskSymbols` - `RegExp | undefined` `default: /[()+_ -]/g`\n * @typeParam `message` - `{ [min | invalidOperator]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getPhoneSchema()\n * })\n * // will returns z.string()\n *\n * @example with optional value\n * z.object({\n * field: zodValidators.base.getPhoneSchema({ required: false })\n * })\n * // will returns z.string().optional()\n */\nexport function getPhoneSchema(props?: PhoneValidationOptions<true>): PhoneRequiredSchema\nexport function getPhoneSchema(props?: PhoneValidationOptions<false>): PhoneOptionalSchema\nexport function getPhoneSchema<Required extends boolean>(\n props?: PhoneValidationOptions<Required>\n): PhoneRequiredSchema | PhoneOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getPhoneRequired(props) : getPhoneOptional(props)\n}\n"],"names":["getPhoneRequired","props","ignoreMask","maskSymbols","message","defaultValue","validOperatorCodes","mask","TypeGuards","schema","z","value","context","cleanValue","operatorCode","baseDefaultMessages","getPhoneOptional","getPhoneSchema","required"],"mappings":"
|
|
1
|
+
{"version":3,"file":"phone.validators.js","sources":["../../../../../lib/shared/validation/base/phone.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type PhoneValidationOptions<Required extends boolean> = {\n /**\n * исключает маску в возвращаемом значении\n * @default true\n */\n ignoreMask?: boolean\n /**\n * игнорирует символы для проверки поля исключая данные символы\n * @default /[()+_ -]/g\n */\n maskSymbols?: RegExp | string\n /**\n * указывает что поле обязательное\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: {\n min?: string\n invalidOperator?: string\n }\n /**\n * указываем валидные коды оператор\n * @default ['3', '4', '5', '6', '9']\n * @param string[]\n */\n validOperatorCodes?: string[]\n}\n\n/**\n * Схема валидации обязательного поля номера телефона\n */\nconst getPhoneRequired = (props?: Omit<PhoneValidationOptions<true>, 'required'>) => {\n const {\n ignoreMask = true,\n maskSymbols = /[()+_ -]/g,\n message,\n defaultValue,\n validOperatorCodes = ['3', '4', '5', '6', '9']\n } = props || {}\n\n const mask = TypeGuards.isString(maskSymbols) ? new RegExp(maskSymbols) : maskSymbols\n\n let schema = z.string().superRefine((value, context) => {\n const cleanValue = value.replace(mask, '')\n\n const operatorCode = cleanValue.charAt(1)\n\n if (!validOperatorCodes.includes(operatorCode)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_string,\n validation: 'regex',\n message: message?.invalidOperator || baseDefaultMessages.PHONE_INVALID_OPERATOR()\n })\n }\n\n if (cleanValue.length < 11) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: 11,\n inclusive: true,\n type: 'string',\n message: message?.min || baseDefaultMessages.PHONE_NON_EMPTY()\n })\n }\n })\n\n if (ignoreMask) {\n schema = schema.transform((value) => value.replace(mask, '')) as unknown as typeof schema\n }\n\n return schema.default(defaultValue ?? '')\n}\ntype PhoneRequiredSchema = ReturnType<typeof getPhoneRequired>\n\n/**\n * Схема валидации опционального поля номера телефона\n */\nconst getPhoneOptional = (props?: Omit<PhoneValidationOptions<false>, 'required'>) => {\n const { ignoreMask = true, maskSymbols = /[()+_ -]/g, message, validOperatorCodes = ['3', '4', '5', '6', '9'] } = props || {}\n\n const mask = TypeGuards.isString(maskSymbols) ? new RegExp(maskSymbols) : maskSymbols\n\n let schema = z.string().superRefine((value, context) => {\n const cleanValue = value.replace(mask, '')\n\n if (!cleanValue.length) return\n\n const operatorCode = cleanValue.charAt(1)\n\n if (!validOperatorCodes.includes(operatorCode)) {\n context.addIssue({\n code: z.ZodIssueCode.invalid_string,\n validation: 'regex',\n message: message?.invalidOperator || baseDefaultMessages.PHONE_INVALID_OPERATOR()\n })\n }\n\n if (cleanValue.length < 11) {\n context.addIssue({\n code: z.ZodIssueCode.too_small,\n minimum: 11,\n inclusive: true,\n type: 'string',\n message: message?.min || baseDefaultMessages.PHONE_NON_EMPTY()\n })\n }\n })\n\n if (ignoreMask) {\n schema = schema.transform((value) => value.replace(mask, '')) as unknown as typeof schema\n }\n\n return schema.optional().transform((value) => (!value || value?.replace(mask, '').length !== 0 ? undefined : value))\n}\ntype PhoneOptionalSchema = ReturnType<typeof getPhoneOptional>\n\n/**\n * Схема валидации опционального поля номера телефона\n * @param {PhoneValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `ignoreSeparators` - `boolean | undefined` `default: false`\n * @typeParam `maskSymbols` - `RegExp | undefined` `default: /[()+_ -]/g`\n * @typeParam `message` - `{ [min | invalidOperator]: string }`\n * @returns схема валидации поля в соответствии с настройками\n *\n * @example with required value\n * z.object({\n * field: zodValidators.base.getPhoneSchema()\n * })\n * // will returns z.string()\n *\n * @example with optional value\n * z.object({\n * field: zodValidators.base.getPhoneSchema({ required: false })\n * })\n * // will returns z.string().optional()\n */\nexport function getPhoneSchema(props?: PhoneValidationOptions<true>): PhoneRequiredSchema\nexport function getPhoneSchema(props?: PhoneValidationOptions<false>): PhoneOptionalSchema\nexport function getPhoneSchema<Required extends boolean>(\n props?: PhoneValidationOptions<Required>\n): PhoneRequiredSchema | PhoneOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getPhoneRequired(props) : getPhoneOptional(props)\n}\n"],"names":["getPhoneRequired","props","ignoreMask","maskSymbols","message","defaultValue","validOperatorCodes","mask","TypeGuards","schema","z","value","context","cleanValue","operatorCode","baseDefaultMessages","getPhoneOptional","getPhoneSchema","required"],"mappings":"+KAuCA,MAAMA,EAAoBC,GAA2D,CACnF,KAAM,CACJ,WAAAC,EAAa,GACb,YAAAC,EAAc,YACd,QAAAC,EACA,aAAAC,EACA,mBAAAC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAA,EAC3CL,GAAS,CAAA,EAEPM,EAAOC,EAAW,SAASL,CAAW,EAAI,IAAI,OAAOA,CAAW,EAAIA,EAE1E,IAAIM,EAASC,EAAE,OAAA,EAAS,YAAY,CAACC,EAAOC,IAAY,CACtD,MAAMC,EAAaF,EAAM,QAAQJ,EAAM,EAAE,EAEnCO,EAAeD,EAAW,OAAO,CAAC,EAEnCP,EAAmB,SAASQ,CAAY,GAC3CF,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,eACrB,WAAY,QACZ,SAASN,GAAA,YAAAA,EAAS,kBAAmBW,EAAoB,uBAAA,CAAuB,CACjF,EAGCF,EAAW,OAAS,IACtBD,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,UACrB,QAAS,GACT,UAAW,GACX,KAAM,SACN,SAASN,GAAA,YAAAA,EAAS,MAAOW,EAAoB,gBAAA,CAAgB,CAC9D,CAEL,CAAC,EAED,OAAIb,IACFO,EAASA,EAAO,UAAWE,GAAUA,EAAM,QAAQJ,EAAM,EAAE,CAAC,GAGvDE,EAAO,QAAQJ,GAAgB,EAAE,CAC1C,EAMMW,EAAoBf,GAA4D,CACpF,KAAM,CAAE,WAAAC,EAAa,GAAM,YAAAC,EAAc,YAAa,QAAAC,EAAS,mBAAAE,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,CAAA,EAAML,GAAS,CAAA,EAErHM,EAAOC,EAAW,SAASL,CAAW,EAAI,IAAI,OAAOA,CAAW,EAAIA,EAE1E,IAAIM,EAASC,EAAE,OAAA,EAAS,YAAY,CAACC,EAAOC,IAAY,CACtD,MAAMC,EAAaF,EAAM,QAAQJ,EAAM,EAAE,EAEzC,GAAI,CAACM,EAAW,OAAQ,OAExB,MAAMC,EAAeD,EAAW,OAAO,CAAC,EAEnCP,EAAmB,SAASQ,CAAY,GAC3CF,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,eACrB,WAAY,QACZ,SAASN,GAAA,YAAAA,EAAS,kBAAmBW,EAAoB,uBAAA,CAAuB,CACjF,EAGCF,EAAW,OAAS,IACtBD,EAAQ,SAAS,CACf,KAAMF,EAAE,aAAa,UACrB,QAAS,GACT,UAAW,GACX,KAAM,SACN,SAASN,GAAA,YAAAA,EAAS,MAAOW,EAAoB,gBAAA,CAAgB,CAC9D,CAEL,CAAC,EAED,OAAIb,IACFO,EAASA,EAAO,UAAWE,GAAUA,EAAM,QAAQJ,EAAM,EAAE,CAAC,GAGvDE,EAAO,SAAA,EAAW,UAAWE,GAAW,CAACA,IAASA,GAAA,YAAAA,EAAO,QAAQJ,EAAM,IAAI,UAAW,EAAI,OAAYI,CAAM,CACrH,EA0BO,SAASM,EACdhB,EAC2C,CAC3C,KAAM,CAAE,SAAAiB,EAAW,EAAA,EAASjB,GAAS,CAAA,EAErC,OAAOiB,EAAWlB,EAAiBC,CAAK,EAAIe,EAAiBf,CAAK,CACpE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"../../../../node_modules/zod/v3/external.js";import"../zodValidation/dadataFio.js";import"../zodValidation/calendar.js";import"../zodValidation/phone.js";import"../zodValidation/otpCode.js";import{baseDefaultMessages as m}from"./base.constants.js";import"react/jsx-runtime";import"
|
|
1
|
+
import*as e from"../../../../node_modules/zod/v3/external.js";import"../zodValidation/dadataFio.js";import"../zodValidation/calendar.js";import"../zodValidation/phone.js";import"../zodValidation/otpCode.js";import{baseDefaultMessages as m}from"./base.constants.js";import"react/jsx-runtime";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react";import"react-dom";import"../../ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../../ui/table/ui/primitives/Primitives.js";import"../../ui/carousel/ui/CarouselContent.js";import"../../ui/slot/Slot.js";import"../../ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../../ui/formElements/uncontrolled/input/Input.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../ui/formElements/uncontrolled/select/Select.js";import"../../ui/formElements/uncontrolled/slider/SliderBase.js";import"../../ui/formElements/uncontrolled/switch/Switch.js";import"../../ui/formElements/uncontrolled/textarea/Textarea.js";import"../../ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";const p=(r,o)=>{const{message:t,defaultValue:i=""}=o||{};return e.string().nonempty(m.NON_EMPTY()).regex(r,t||m.INVALID_REGEX_STRING()).default(i)},n=(r,o)=>p(r,o).optional().transform(t=>t!=null&&t.length?t:void 0);function B(r,o){const{required:t=!0,...i}=o||{};return t?p(r,i):n(r,i)}export{B as getRegexSchema};
|
|
2
2
|
//# sourceMappingURL=regex.validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regex.validators.js","sources":["../../../../../lib/shared/validation/base/regex.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from '$/shared/validation'\n\nexport type RegexValidatorsOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: string\n}\n\nconst getRegexRequired = (regex: RegExp, props?: Omit<RegexValidatorsOptions<true>, 'required'>) => {\n const { message, defaultValue = '' } = props || {}\n\n return z\n .string()\n .nonempty(baseDefaultMessages.NON_EMPTY())\n .regex(regex, message || baseDefaultMessages.INVALID_REGEX_STRING())\n .default(defaultValue)\n}\ntype RegexRequiredSchema = ReturnType<typeof getRegexRequired>\n\nconst getRegexOptional = (regex: RegExp, props?: Omit<RegexValidatorsOptions<false>, 'required'>) => {\n return getRegexRequired(regex, props)\n .optional()\n .transform((value) => (!value?.length ? undefined : value))\n}\ntype RegexOptionalSchema = ReturnType<typeof getRegexOptional>\n\nexport function getRegexSchema(regex: RegExp, props?: RegexValidatorsOptions<true>): RegexRequiredSchema\nexport function getRegexSchema(regex: RegExp, props?: RegexValidatorsOptions<false>): RegexOptionalSchema\nexport function getRegexSchema<Required extends boolean>(\n regex: RegExp,\n props?: RegexValidatorsOptions<Required>\n): RegexRequiredSchema | RegexOptionalSchema {\n const { required = true, ...restProps } = props || {}\n\n return required ? getRegexRequired(regex, restProps) : getRegexOptional(regex, restProps)\n}\n"],"names":["getRegexRequired","regex","props","message","defaultValue","z","baseDefaultMessages","getRegexOptional","value","getRegexSchema","required","restProps"],"mappings":"
|
|
1
|
+
{"version":3,"file":"regex.validators.js","sources":["../../../../../lib/shared/validation/base/regex.validators.ts"],"sourcesContent":["import z from 'zod'\nimport { baseDefaultMessages } from '$/shared/validation'\n\nexport type RegexValidatorsOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * значение по умолчанию\n * @default undefined\n */\n defaultValue?: string\n message?: string\n}\n\nconst getRegexRequired = (regex: RegExp, props?: Omit<RegexValidatorsOptions<true>, 'required'>) => {\n const { message, defaultValue = '' } = props || {}\n\n return z\n .string()\n .nonempty(baseDefaultMessages.NON_EMPTY())\n .regex(regex, message || baseDefaultMessages.INVALID_REGEX_STRING())\n .default(defaultValue)\n}\ntype RegexRequiredSchema = ReturnType<typeof getRegexRequired>\n\nconst getRegexOptional = (regex: RegExp, props?: Omit<RegexValidatorsOptions<false>, 'required'>) => {\n return getRegexRequired(regex, props)\n .optional()\n .transform((value) => (!value?.length ? undefined : value))\n}\ntype RegexOptionalSchema = ReturnType<typeof getRegexOptional>\n\nexport function getRegexSchema(regex: RegExp, props?: RegexValidatorsOptions<true>): RegexRequiredSchema\nexport function getRegexSchema(regex: RegExp, props?: RegexValidatorsOptions<false>): RegexOptionalSchema\nexport function getRegexSchema<Required extends boolean>(\n regex: RegExp,\n props?: RegexValidatorsOptions<Required>\n): RegexRequiredSchema | RegexOptionalSchema {\n const { required = true, ...restProps } = props || {}\n\n return required ? getRegexRequired(regex, restProps) : getRegexOptional(regex, restProps)\n}\n"],"names":["getRegexRequired","regex","props","message","defaultValue","z","baseDefaultMessages","getRegexOptional","value","getRegexSchema","required","restProps"],"mappings":"0vDAiBA,MAAMA,EAAmB,CAACC,EAAeC,IAA2D,CAClG,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAe,EAAA,EAAOF,GAAS,CAAA,EAEhD,OAAOG,EACJ,OAAA,EACA,SAASC,EAAoB,WAAW,EACxC,MAAML,EAAOE,GAAWG,EAAoB,qBAAA,CAAsB,EAClE,QAAQF,CAAY,CACzB,EAGMG,EAAmB,CAACN,EAAeC,IAChCF,EAAiBC,EAAOC,CAAK,EACjC,SAAA,EACA,UAAWM,GAAYA,GAAA,MAAAA,EAAO,OAAqBA,EAAZ,MAAkB,EAMvD,SAASC,EACdR,EACAC,EAC2C,CAC3C,KAAM,CAAE,SAAAQ,EAAW,GAAM,GAAGC,CAAA,EAAcT,GAAS,CAAA,EAEnD,OAAOQ,EAAWV,EAAiBC,EAAOU,CAAS,EAAIJ,EAAiBN,EAAOU,CAAS,CAC1F"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{baseDefaultMessages as o}from"./base.constants.js";import
|
|
1
|
+
import{baseDefaultMessages as o}from"./base.constants.js";import{TypeGuards as g}from"../../utils/typeGuards.js";import{string as p}from"../../../../node_modules/zod/v3/types.js";const s=/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/,c=n=>{const{message:t,defaultValue:e,regexp:i=s}=n||{},r=g.isString(i)?new RegExp(i):i;return p().min(1,(t==null?void 0:t.min)||o.NON_EMPTY()).regex(r,(t==null?void 0:t.invalid)||o.INVALID_URL()).default(e??"")},f=n=>{const{message:t,regexp:e=s}=n||{},i=g.isString(e)?new RegExp(e):e;return p().refine(r=>g.isStringEmpty(r)?!0:i.test(r),(t==null?void 0:t.invalid)||o.INVALID_URL()).optional().transform(r=>r!=null&&r.length?r:void 0)};function x(n){const{required:t=!0}=n||{};return t?c(n):f(n)}export{x as getUrlSchema};
|
|
2
2
|
//# sourceMappingURL=url.validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.validators.js","sources":["../../../../../lib/shared/validation/base/url.validators.ts"],"sourcesContent":["import { string } from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type UrlValidationOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * Регулярное выражение для проверки url на валидность\n */\n regexp?: RegExp | string\n /**\n * значение по умолчанию\n */\n defaultValue?: string\n message?: {\n min?: string\n invalid?: string\n }\n}\n\nconst URL_REGEX =\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/\n\n/**\n * Схема валидации обязательного поля ссылки\n */\nconst getUrlRequired = (props?: Omit<UrlValidationOptions<true>, 'required'>) => {\n const { message, defaultValue, regexp = URL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return string()\n .min(1, message?.min || baseDefaultMessages.NON_EMPTY())\n .regex(regex, message?.invalid || baseDefaultMessages.INVALID_URL())\n .default(defaultValue ?? '')\n}\ntype UrlRequiredSchema = ReturnType<typeof getUrlRequired>\n\n/**\n * Схема валидации опционального поля ссылки\n */\nconst getUrlOptional = (props?: Omit<UrlValidationOptions<false>, 'required'>) => {\n const { message, regexp = URL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return string()\n .refine((value) => {\n if (TypeGuards.isStringEmpty(value)) return true\n return regex.test(value)\n }, message?.invalid || baseDefaultMessages.INVALID_URL())\n .optional()\n .transform((value) => (!value?.length ? undefined : value))\n}\ntype UrlOptionalSchema = ReturnType<typeof getUrlOptional>\n\nexport function getUrlSchema(props?: UrlValidationOptions<true>): UrlRequiredSchema\nexport function getUrlSchema(props?: UrlValidationOptions<false>): UrlOptionalSchema\n/**\n * Схема валидации поля ссылки\n * @param {UrlValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `regexp` - `RegExp`\n * @typeParam `message` - `{ [min | invalid]: string }`\n * @returns схема валидации поля в соответствии с настройками\n */\nexport function getUrlSchema<Required extends boolean>(\n props?: UrlValidationOptions<Required>\n): UrlRequiredSchema | UrlOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getUrlRequired(props) : getUrlOptional(props)\n}\n"],"names":["URL_REGEX","getUrlRequired","props","message","defaultValue","regexp","regex","TypeGuards","string","baseDefaultMessages","getUrlOptional","value","getUrlSchema","required"],"mappings":"
|
|
1
|
+
{"version":3,"file":"url.validators.js","sources":["../../../../../lib/shared/validation/base/url.validators.ts"],"sourcesContent":["import { string } from 'zod'\nimport { baseDefaultMessages } from './base.constants'\nimport { TypeGuards } from '$/shared/utils'\n\nexport type UrlValidationOptions<Required extends boolean> = {\n /**\n * указывает что поле обязательное\n * @default true\n */\n required?: Required\n /**\n * Регулярное выражение для проверки url на валидность\n */\n regexp?: RegExp | string\n /**\n * значение по умолчанию\n */\n defaultValue?: string\n message?: {\n min?: string\n invalid?: string\n }\n}\n\nconst URL_REGEX =\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/\n\n/**\n * Схема валидации обязательного поля ссылки\n */\nconst getUrlRequired = (props?: Omit<UrlValidationOptions<true>, 'required'>) => {\n const { message, defaultValue, regexp = URL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return string()\n .min(1, message?.min || baseDefaultMessages.NON_EMPTY())\n .regex(regex, message?.invalid || baseDefaultMessages.INVALID_URL())\n .default(defaultValue ?? '')\n}\ntype UrlRequiredSchema = ReturnType<typeof getUrlRequired>\n\n/**\n * Схема валидации опционального поля ссылки\n */\nconst getUrlOptional = (props?: Omit<UrlValidationOptions<false>, 'required'>) => {\n const { message, regexp = URL_REGEX } = props || {}\n\n const regex = TypeGuards.isString(regexp) ? new RegExp(regexp) : regexp\n\n return string()\n .refine((value) => {\n if (TypeGuards.isStringEmpty(value)) return true\n return regex.test(value)\n }, message?.invalid || baseDefaultMessages.INVALID_URL())\n .optional()\n .transform((value) => (!value?.length ? undefined : value))\n}\ntype UrlOptionalSchema = ReturnType<typeof getUrlOptional>\n\nexport function getUrlSchema(props?: UrlValidationOptions<true>): UrlRequiredSchema\nexport function getUrlSchema(props?: UrlValidationOptions<false>): UrlOptionalSchema\n/**\n * Схема валидации поля ссылки\n * @param {UrlValidationOptions} props настройки схемы\n * @typeParam `required` - `boolean`\n * @typeParam `regexp` - `RegExp`\n * @typeParam `message` - `{ [min | invalid]: string }`\n * @returns схема валидации поля в соответствии с настройками\n */\nexport function getUrlSchema<Required extends boolean>(\n props?: UrlValidationOptions<Required>\n): UrlRequiredSchema | UrlOptionalSchema {\n const { required = true } = props || {}\n\n return required ? getUrlRequired(props) : getUrlOptional(props)\n}\n"],"names":["URL_REGEX","getUrlRequired","props","message","defaultValue","regexp","regex","TypeGuards","string","baseDefaultMessages","getUrlOptional","value","getUrlSchema","required"],"mappings":"mLAwBA,MAAMA,EACJ,wHAKIC,EAAkBC,GAAyD,CAC/E,KAAM,CAAE,QAAAC,EAAS,aAAAC,EAAc,OAAAC,EAASL,CAAA,EAAcE,GAAS,CAAA,EAEzDI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EAAA,EACJ,IAAI,GAAGL,GAAA,YAAAA,EAAS,MAAOM,EAAoB,WAAW,EACtD,MAAMH,GAAOH,GAAA,YAAAA,EAAS,UAAWM,EAAoB,YAAA,CAAa,EAClE,QAAQL,GAAgB,EAAE,CAC/B,EAMMM,EAAkBR,GAA0D,CAChF,KAAM,CAAE,QAAAC,EAAS,OAAAE,EAASL,CAAA,EAAcE,GAAS,CAAA,EAE3CI,EAAQC,EAAW,SAASF,CAAM,EAAI,IAAI,OAAOA,CAAM,EAAIA,EAEjE,OAAOG,EAAA,EACJ,OAAQG,GACHJ,EAAW,cAAcI,CAAK,EAAU,GACrCL,EAAM,KAAKK,CAAK,GACtBR,GAAA,YAAAA,EAAS,UAAWM,EAAoB,YAAA,CAAa,EACvD,SAAA,EACA,UAAWE,GAAYA,GAAA,MAAAA,EAAO,OAAqBA,EAAZ,MAAkB,CAC9D,EAaO,SAASC,EACdV,EACuC,CACvC,KAAM,CAAE,SAAAW,EAAW,EAAA,EAASX,GAAS,CAAA,EAErC,OAAOW,EAAWZ,EAAeC,CAAK,EAAIQ,EAAeR,CAAK,CAChE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as p,jsx as t}from"react/jsx-runtime";import*as f from"react";import{AUTH_PROVIDER_MODE as n}from"./model/helpers.js";import{MobileId as a}from"./ui/MobileId.js";import{Esia as c}from"./ui/Esia.js";import{cn as i}from"../../shared/utils/cn.js";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import{Badge as s}from"../../shared/ui/badge/Badge.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"
|
|
1
|
+
import{jsxs as p,jsx as t}from"react/jsx-runtime";import*as f from"react";import{AUTH_PROVIDER_MODE as n}from"./model/helpers.js";import{MobileId as a}from"./ui/MobileId.js";import{Esia as c}from"./ui/Esia.js";import{cn as i}from"../../shared/utils/cn.js";import"../../shared/ui/button/Button.js";import"../../shared/ui/buttonIcon/ButtonIcon.js";import{Badge as s}from"../../shared/ui/badge/Badge.js";import"../../shared/ui/calendar/Calendar.js";import"../../shared/ui/calendar/model/utils.js";import"../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../shared/ui/modal/ui/IframeModalContent.js";import"../../../node_modules/react-hot-toast/dist/index.js";import"../../shared/ui/table/ui/primitives/Primitives.js";import"../../shared/ui/carousel/ui/CarouselContent.js";import"../../shared/ui/slot/Slot.js";import"../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../shared/ui/formElements/uncontrolled/select/Select.js";import"../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../shared/ui/formElements/controlled/input/MaskInputControl.js";const g=o=>{switch(o.mode){case n.ESIA:return t(c,{...o});case n.MOBILE_ID:return t(a,{...o});case n.COMBINE:default:const{esiaConfig:d,mobileIdConfig:l,subtitle:e,badge:m,classes:r}=o,u=!e&&!m?f.Fragment:"div";return p("div",{className:i("flex w-[328px] flex-col items-center justify-center gap-2 rounded-sm bg-color-white px-2 py-4 outline outline-1 outline-warm-grey-200 desktop:w-[524px] desktop:p-4",r==null?void 0:r.root),children:[p(u,{className:i("flex w-full items-center justify-between gap-2",r==null?void 0:r.topContent),children:[e&&t("h5",{className:i("desk-body-regular-l flex flex-1 text-color-dark",r==null?void 0:r.subtitle),children:e}),m&&t(s,{className:i("bg-color-positive",r==null?void 0:r.badge),children:m})]}),p("div",{className:i("grid w-full grid-cols-2 gap-2 desktop:gap-4",r==null?void 0:r.authWrapper),children:[t(c,{...d,classes:{root:"p-0 outline-0 h-[74px]",arrowIcon:"hidden",...d.classes}}),t(a,{...l,classes:{root:"p-0 outline-0 h-[74px]",arrowIcon:"hidden",...l.classes}})]})]})}},Q=o=>g(o);export{Q as AuthProvider};
|
|
2
2
|
//# sourceMappingURL=AuthProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.js","sources":["../../../../lib/widgets/authProvider/AuthProvider.tsx"],"sourcesContent":["import * as React from 'react'\nimport { AUTH_PROVIDER_MODE } from './model/helpers'\nimport type { AuthProviderProps } from './model/types'\nimport { Esia, MobileId } from './ui'\nimport { Badge } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst renderProvider = (props: AuthProviderProps): React.ReactElement => {\n switch (props.mode) {\n case AUTH_PROVIDER_MODE.ESIA:\n return <Esia {...props} />\n case AUTH_PROVIDER_MODE.MOBILE_ID:\n return <MobileId {...props} />\n case AUTH_PROVIDER_MODE.COMBINE:\n default:\n const { esiaConfig, mobileIdConfig, subtitle, badge, classes } = props\n\n const HeadWrapper = !subtitle && !badge ? React.Fragment : 'div'\n\n return (\n <div\n className={cn(\n 'flex w-[328px] flex-col items-center justify-center gap-2 rounded-sm bg-color-white px-2 py-4 outline outline-1 outline-warm-grey-200 desktop:w-[524px] desktop:p-4',\n classes?.root\n )}\n >\n <HeadWrapper className={cn('flex w-full items-center justify-between gap-2', classes?.topContent)}>\n {subtitle && <h5 className={cn('desk-body-regular-l flex flex-1 text-color-dark', classes?.subtitle)}>{subtitle}</h5>}\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </HeadWrapper>\n <div className={cn('grid w-full grid-cols-2 gap-2 desktop:gap-4', classes?.authWrapper)}>\n <Esia\n {...esiaConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...esiaConfig.classes\n }}\n />\n <MobileId\n {...mobileIdConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...mobileIdConfig.classes\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport const AuthProvider = (props: AuthProviderProps) => {\n return renderProvider(props)\n}\n"],"names":["renderProvider","props","AUTH_PROVIDER_MODE","jsx","Esia","MobileId","esiaConfig","mobileIdConfig","subtitle","badge","classes","HeadWrapper","React","jsxs","cn","Badge","AuthProvider"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthProvider.js","sources":["../../../../lib/widgets/authProvider/AuthProvider.tsx"],"sourcesContent":["import * as React from 'react'\nimport { AUTH_PROVIDER_MODE } from './model/helpers'\nimport type { AuthProviderProps } from './model/types'\nimport { Esia, MobileId } from './ui'\nimport { Badge } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nconst renderProvider = (props: AuthProviderProps): React.ReactElement => {\n switch (props.mode) {\n case AUTH_PROVIDER_MODE.ESIA:\n return <Esia {...props} />\n case AUTH_PROVIDER_MODE.MOBILE_ID:\n return <MobileId {...props} />\n case AUTH_PROVIDER_MODE.COMBINE:\n default:\n const { esiaConfig, mobileIdConfig, subtitle, badge, classes } = props\n\n const HeadWrapper = !subtitle && !badge ? React.Fragment : 'div'\n\n return (\n <div\n className={cn(\n 'flex w-[328px] flex-col items-center justify-center gap-2 rounded-sm bg-color-white px-2 py-4 outline outline-1 outline-warm-grey-200 desktop:w-[524px] desktop:p-4',\n classes?.root\n )}\n >\n <HeadWrapper className={cn('flex w-full items-center justify-between gap-2', classes?.topContent)}>\n {subtitle && <h5 className={cn('desk-body-regular-l flex flex-1 text-color-dark', classes?.subtitle)}>{subtitle}</h5>}\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </HeadWrapper>\n <div className={cn('grid w-full grid-cols-2 gap-2 desktop:gap-4', classes?.authWrapper)}>\n <Esia\n {...esiaConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...esiaConfig.classes\n }}\n />\n <MobileId\n {...mobileIdConfig}\n classes={{\n root: 'p-0 outline-0 h-[74px]',\n arrowIcon: 'hidden',\n ...mobileIdConfig.classes\n }}\n />\n </div>\n </div>\n )\n }\n}\n\nexport const AuthProvider = (props: AuthProviderProps) => {\n return renderProvider(props)\n}\n"],"names":["renderProvider","props","AUTH_PROVIDER_MODE","jsx","Esia","MobileId","esiaConfig","mobileIdConfig","subtitle","badge","classes","HeadWrapper","React","jsxs","cn","Badge","AuthProvider"],"mappings":"46DAOA,MAAMA,EAAkBC,GAAiD,CACvE,OAAQA,EAAM,KAAA,CACZ,KAAKC,EAAmB,KACtB,OAAOC,EAACC,EAAA,CAAM,GAAGH,CAAA,CAAO,EAC1B,KAAKC,EAAmB,UACtB,OAAOC,EAACE,EAAA,CAAU,GAAGJ,CAAA,CAAO,EAC9B,KAAKC,EAAmB,QACxB,QACE,KAAM,CAAE,WAAAI,EAAY,eAAAC,EAAgB,SAAAC,EAAU,MAAAC,EAAO,QAAAC,GAAYT,EAE3DU,EAAc,CAACH,GAAY,CAACC,EAAQG,EAAM,SAAW,MAE3D,OACEC,EAAC,MAAA,CACC,UAAWC,EACT,sKACAJ,GAAA,YAAAA,EAAS,IAAA,EAGX,SAAA,CAAAG,EAACF,GAAY,UAAWG,EAAG,iDAAkDJ,GAAA,YAAAA,EAAS,UAAU,EAC7F,SAAA,CAAAF,GAAYL,EAAC,MAAG,UAAWW,EAAG,kDAAmDJ,GAAA,YAAAA,EAAS,QAAQ,EAAI,SAAAF,CAAA,CAAS,EAC/GC,KAAUM,EAAA,CAAM,UAAWD,EAAG,oBAAqBJ,GAAA,YAAAA,EAAS,KAAK,EAAI,SAAAD,CAAA,CAAM,CAAA,EAC9E,IACC,MAAA,CAAI,UAAWK,EAAG,8CAA+CJ,GAAA,YAAAA,EAAS,WAAW,EACpF,SAAA,CAAAP,EAACC,EAAA,CACE,GAAGE,EACJ,QAAS,CACP,KAAM,yBACN,UAAW,SACX,GAAGA,EAAW,OAAA,CAChB,CAAA,EAEFH,EAACE,EAAA,CACE,GAAGE,EACJ,QAAS,CACP,KAAM,yBACN,UAAW,SACX,GAAGA,EAAe,OAAA,CACpB,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAAA,CACF,CAGR,EAEaS,EAAgBf,GACpBD,EAAeC,CAAK"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as o,jsxs as p}from"react/jsx-runtime";import{AuthWrapper as h}from"./ui/AuthWrapper.js";import{EsiaLogo as g}from"./ui/EsiaLogo.js";import{Links as x}from"./ui/Links.js";import{useDevice as u}from"../../../shared/hooks/useDevice.js";import"react";import{cn as i}from"../../../shared/utils/cn.js";import"
|
|
1
|
+
import{jsx as o,jsxs as p}from"react/jsx-runtime";import{AuthWrapper as h}from"./ui/AuthWrapper.js";import{EsiaLogo as g}from"./ui/EsiaLogo.js";import{Links as x}from"./ui/Links.js";import{useDevice as u}from"../../../shared/hooks/useDevice.js";import"react";import{cn as i}from"../../../shared/utils/cn.js";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import{Badge as N}from"../../../shared/ui/badge/Badge.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as j}from"../../../shared/ui/icon/Icon.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/select/Select.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";const l=({mainLink:n,subLink:f,isLoading:e,badge:t,loaderProps:d,classes:r})=>{const{isMobile:m}=u();return o(h,{isLoading:e,loaderProps:d,classes:r==null?void 0:r.authWrapper,children:p("div",{className:i("flex flex-1 items-center justify-between gap-1",{"justify-center":!t&&m},r==null?void 0:r.innerWrapper),children:[p("div",{className:i("flex items-center gap-1 desktop:gap-4",r==null?void 0:r.textContent),children:[o(g,{className:i("size-7 desktop:size-8",r==null?void 0:r.esiaLogo)}),o(x,{mainLink:n,subLink:f,isMobile:m,classes:r==null?void 0:r.links}),o(j,{name:"arrows/arrowRight",className:i("mobile:hidden",r==null?void 0:r.arrowIcon)})]}),t&&o(N,{className:i("bg-color-positive",r==null?void 0:r.badge),children:t})]})})};export{l as Esia};
|
|
2
2
|
//# sourceMappingURL=Esia.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Esia.js","sources":["../../../../../lib/widgets/authProvider/ui/Esia.tsx"],"sourcesContent":["import type { TEsiaProps } from '../model/types'\nimport { AuthWrapper, EsiaLogo, Links } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Esia = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TEsiaProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <EsiaLogo className={cn('size-7 desktop:size-8', classes?.esiaLogo)} />\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n"],"names":["Esia","mainLink","subLink","isLoading","badge","loaderProps","classes","isMobile","useDevice","AuthWrapper","jsxs","cn","jsx","EsiaLogo","Links","Icon","Badge"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Esia.js","sources":["../../../../../lib/widgets/authProvider/ui/Esia.tsx"],"sourcesContent":["import type { TEsiaProps } from '../model/types'\nimport { AuthWrapper, EsiaLogo, Links } from './ui'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const Esia = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TEsiaProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <EsiaLogo className={cn('size-7 desktop:size-8', classes?.esiaLogo)} />\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n"],"names":["Esia","mainLink","subLink","isLoading","badge","loaderProps","classes","isMobile","useDevice","AuthWrapper","jsxs","cn","jsx","EsiaLogo","Links","Icon","Badge"],"mappings":"wmEAMO,MAAMA,EAAO,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,YAAAC,EAAa,QAAAC,KAA0B,CACjG,KAAM,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAErB,SACGC,EAAA,CAAY,UAAAN,EAAsB,YAAAE,EAA0B,QAASC,GAAA,YAAAA,EAAS,YAC7E,SAAAI,EAAC,MAAA,CACC,UAAWC,EACT,iDACA,CAAE,iBAAkB,CAACP,GAASG,CAAA,EAC9BD,GAAA,YAAAA,EAAS,YAAA,EAGX,SAAA,CAAAI,EAAC,OAAI,UAAWC,EAAG,wCAAyCL,GAAA,YAAAA,EAAS,WAAW,EAC9E,SAAA,CAAAM,EAACC,GAAS,UAAWF,EAAG,wBAAyBL,GAAA,YAAAA,EAAS,QAAQ,EAAG,IACpEQ,EAAA,CAAM,SAAAb,EAAoB,QAAAC,EAAkB,SAAAK,EAAoB,QAASD,GAAA,YAAAA,EAAS,MAAO,EAC1FM,EAACG,GAAK,KAAK,oBAAoB,UAAWJ,EAAG,gBAAiBL,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,CAAA,EACrF,EACCF,KAAUY,EAAA,CAAM,UAAWL,EAAG,oBAAqBL,GAAA,YAAAA,EAAS,KAAK,EAAI,SAAAF,CAAA,CAAM,CAAA,CAAA,CAAA,EAEhF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as i,jsxs as p}from"react/jsx-runtime";import{AuthWrapper as h}from"./ui/AuthWrapper.js";import{Links as z}from"./ui/Links.js";import{useDevice as v}from"../../../shared/hooks/useDevice.js";import"react";import{cn as r}from"../../../shared/utils/cn.js";import"
|
|
1
|
+
import{jsx as i,jsxs as p}from"react/jsx-runtime";import{AuthWrapper as h}from"./ui/AuthWrapper.js";import{Links as z}from"./ui/Links.js";import{useDevice as v}from"../../../shared/hooks/useDevice.js";import"react";import{cn as r}from"../../../shared/utils/cn.js";import"../../../shared/ui/button/Button.js";import"../../../shared/ui/buttonIcon/ButtonIcon.js";import{Badge as x}from"../../../shared/ui/badge/Badge.js";import"../../../shared/ui/calendar/Calendar.js";import"../../../shared/ui/calendar/model/utils.js";import"../../../shared/ui/accordion/Accordion.js";import"react-dom";import"../../../shared/ui/modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as t}from"../../../shared/ui/icon/Icon.js";import"../../../shared/ui/table/ui/primitives/Primitives.js";import"../../../shared/ui/carousel/ui/CarouselContent.js";import"../../../shared/ui/slot/Slot.js";import"../../../shared/ui/formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../shared/ui/formElements/uncontrolled/checkbox/Checkbox.js";import"../../../shared/ui/dropdownList/ui/dropdownItem/DropdownItem.js";import"../../../shared/ui/formElements/uncontrolled/input/Input.js";import"../../../shared/ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../shared/ui/formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../shared/ui/formElements/uncontrolled/maskInput/MaskInput.js";import"../../../shared/ui/formElements/uncontrolled/radio/RadioGroup.js";import"../../../shared/ui/formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../shared/ui/formElements/uncontrolled/select/Select.js";import"../../../shared/ui/formElements/uncontrolled/slider/SliderBase.js";import"../../../shared/ui/formElements/uncontrolled/switch/Switch.js";import"../../../shared/ui/formElements/uncontrolled/textarea/Textarea.js";import"../../../shared/ui/formElements/uncontrolled/uploader/UploaderBase.js";import"../../../shared/ui/formElements/controlled/editor/ui/Editor.js";import"../../../shared/ui/formElements/controlled/input/MaskInputControl.js";const a=({mainLink:e,subLink:d,isLoading:f,badge:m,loaderProps:g,classes:o})=>{const{isMobile:n}=v();return i(h,{isLoading:f,loaderProps:g,classes:o==null?void 0:o.authWrapper,children:p("div",{className:r("flex flex-1 items-center justify-between gap-1",{"justify-center":!m&&n},o==null?void 0:o.innerWrapper),children:[p("div",{className:r("flex items-center gap-1 desktop:gap-4",o==null?void 0:o.textContent),children:[p("div",{children:[i(t,{name:"logos/mts",className:r("relative z-[9] size-7 desktop:size-8",o==null?void 0:o.mtsLogo)}),i(t,{name:"logos/megafon",className:r("relative z-[8] -ml-4 size-7 desktop:size-8",o==null?void 0:o.megafonLogo)}),i(t,{name:"logos/beeline",className:r("relative z-[7] -ml-4 size-7 desktop:size-8",o==null?void 0:o.beelineLogo)})]}),i(z,{mainLink:e,subLink:d,isMobile:n,classes:o==null?void 0:o.links}),i(t,{name:"arrows/arrowRight",className:r("mobile:hidden",o==null?void 0:o.arrowIcon)})]}),m&&i(x,{className:r("bg-color-positive",o==null?void 0:o.badge),children:m})]})})};export{a as MobileId};
|
|
2
2
|
//# sourceMappingURL=MobileId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileId.js","sources":["../../../../../lib/widgets/authProvider/ui/MobileId.tsx"],"sourcesContent":["import { type TMobileIdProps } from '../model/types'\nimport { AuthWrapper, Links } from './ui/'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const MobileId = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TMobileIdProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <div>\n <Icon name='logos/mts' className={cn('relative z-[9] size-7 desktop:size-8', classes?.mtsLogo)} />\n <Icon name='logos/megafon' className={cn('relative z-[8] -ml-4 size-7 desktop:size-8', classes?.megafonLogo)} />\n <Icon name='logos/beeline' className={cn('relative z-[7] -ml-4 size-7 desktop:size-8', classes?.beelineLogo)} />\n </div>\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n"],"names":["MobileId","mainLink","subLink","isLoading","badge","loaderProps","classes","isMobile","useDevice","AuthWrapper","jsxs","cn","jsx","Icon","Links","Badge"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MobileId.js","sources":["../../../../../lib/widgets/authProvider/ui/MobileId.tsx"],"sourcesContent":["import { type TMobileIdProps } from '../model/types'\nimport { AuthWrapper, Links } from './ui/'\nimport { useDevice } from '$/shared/hooks'\nimport { Badge, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport const MobileId = ({ mainLink, subLink, isLoading, badge, loaderProps, classes }: TMobileIdProps) => {\n const { isMobile } = useDevice()\n\n return (\n <AuthWrapper isLoading={isLoading} loaderProps={loaderProps} classes={classes?.authWrapper}>\n <div\n className={cn(\n 'flex flex-1 items-center justify-between gap-1',\n { 'justify-center': !badge && isMobile },\n classes?.innerWrapper\n )}\n >\n <div className={cn('flex items-center gap-1 desktop:gap-4', classes?.textContent)}>\n <div>\n <Icon name='logos/mts' className={cn('relative z-[9] size-7 desktop:size-8', classes?.mtsLogo)} />\n <Icon name='logos/megafon' className={cn('relative z-[8] -ml-4 size-7 desktop:size-8', classes?.megafonLogo)} />\n <Icon name='logos/beeline' className={cn('relative z-[7] -ml-4 size-7 desktop:size-8', classes?.beelineLogo)} />\n </div>\n <Links mainLink={mainLink} subLink={subLink} isMobile={isMobile} classes={classes?.links} />\n <Icon name='arrows/arrowRight' className={cn('mobile:hidden', classes?.arrowIcon)} />\n </div>\n {badge && <Badge className={cn('bg-color-positive', classes?.badge)}>{badge}</Badge>}\n </div>\n </AuthWrapper>\n )\n}\n"],"names":["MobileId","mainLink","subLink","isLoading","badge","loaderProps","classes","isMobile","useDevice","AuthWrapper","jsxs","cn","jsx","Icon","Links","Badge"],"mappings":"4jEAMO,MAAMA,EAAW,CAAC,CAAE,SAAAC,EAAU,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,YAAAC,EAAa,QAAAC,KAA8B,CACzG,KAAM,CAAE,SAAAC,CAAA,EAAaC,EAAA,EAErB,SACGC,EAAA,CAAY,UAAAN,EAAsB,YAAAE,EAA0B,QAASC,GAAA,YAAAA,EAAS,YAC7E,SAAAI,EAAC,MAAA,CACC,UAAWC,EACT,iDACA,CAAE,iBAAkB,CAACP,GAASG,CAAA,EAC9BD,GAAA,YAAAA,EAAS,YAAA,EAGX,SAAA,CAAAI,EAAC,OAAI,UAAWC,EAAG,wCAAyCL,GAAA,YAAAA,EAAS,WAAW,EAC9E,SAAA,CAAAI,EAAC,MAAA,CACC,SAAA,CAAAE,EAACC,EAAA,CAAK,KAAK,YAAY,UAAWF,EAAG,uCAAwCL,GAAA,YAAAA,EAAS,OAAO,EAAG,EAChGM,EAACC,GAAK,KAAK,gBAAgB,UAAWF,EAAG,6CAA8CL,GAAA,YAAAA,EAAS,WAAW,EAAG,EAC9GM,EAACC,GAAK,KAAK,gBAAgB,UAAWF,EAAG,6CAA8CL,GAAA,YAAAA,EAAS,WAAW,CAAA,CAAG,CAAA,EAChH,IACCQ,EAAA,CAAM,SAAAb,EAAoB,QAAAC,EAAkB,SAAAK,EAAoB,QAASD,GAAA,YAAAA,EAAS,MAAO,EAC1FM,EAACC,GAAK,KAAK,oBAAoB,UAAWF,EAAG,gBAAiBL,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,CAAA,EACrF,EACCF,KAAUW,EAAA,CAAM,UAAWJ,EAAG,oBAAqBL,GAAA,YAAAA,EAAS,KAAK,EAAI,SAAAF,CAAA,CAAM,CAAA,CAAA,CAAA,EAEhF,CAEJ"}
|