@scbt-ecom/ui 0.127.1 → 0.128.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/exports/widget.js +1 -1
- package/dist/lib/shared/hooks/useControlledForm.js +1 -1
- package/dist/lib/shared/hooks/useControlledForm.js.map +1 -1
- package/dist/lib/shared/hooks/useFieldsProgress.js +1 -1
- package/dist/lib/shared/hooks/useFieldsProgress.js.map +1 -1
- package/dist/lib/shared/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/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/EditorControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/EditorControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/model/helper.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/Editor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/EditorModal.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetColor.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetCoreCommands.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/SetFontSize.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/editor/ui/commands/setCustomLink.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/InputControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/input/MaskInputControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputCurrency/InputCurrencyControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/inputOtp/InputOtpControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/slider/SliderControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/switch/SwitchControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/textarea/TextareaControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js +1 -1
- package/dist/lib/shared/ui/formElements/controlled/uploader/UploaderControl.js.map +1 -1
- package/dist/lib/shared/ui/formElements/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/inputCurrency/InputCurrency.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/InputCurrency.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/inputCurrency/ui/CurrencyIcon.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/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/table/Desktop.js +1 -1
- package/dist/lib/shared/ui/table/Desktop.js.map +1 -1
- package/dist/lib/shared/ui/table/Horizontal.js +1 -1
- package/dist/lib/shared/ui/table/Horizontal.js.map +1 -1
- package/dist/lib/shared/ui/table/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/variableHolder/variableContextHolder.js.map +1 -1
- package/dist/lib/shared/validation/base/base.constants.js +1 -1
- package/dist/lib/shared/validation/base/base.constants.js.map +1 -1
- package/dist/lib/shared/validation/base/date.validators.js +1 -1
- package/dist/lib/shared/validation/base/date.validators.js.map +1 -1
- package/dist/lib/shared/validation/base/regex.validators.js +1 -1
- package/dist/lib/shared/validation/base/regex.validators.js.map +1 -1
- package/dist/lib/widgets/authProvider/AuthProvider.js +1 -1
- package/dist/lib/widgets/authProvider/AuthProvider.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/Esia.js +1 -1
- package/dist/lib/widgets/authProvider/ui/Esia.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/MobileId.js +1 -1
- package/dist/lib/widgets/authProvider/ui/MobileId.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/AuthWrapper.js.map +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/Links.js +1 -1
- package/dist/lib/widgets/authProvider/ui/ui/Links.js.map +1 -1
- package/dist/lib/widgets/banner/index.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerImageFull.js.map +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/BannerWithSeparateImg.js.map +1 -1
- package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js +1 -1
- package/dist/lib/widgets/banner/ui/banners/ui/Advantages.js.map +1 -1
- package/dist/lib/widgets/benefit/Benefit.js +1 -1
- package/dist/lib/widgets/benefit/Benefit.js.map +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js.map +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/lib/widgets/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js +1 -1
- package/dist/lib/widgets/buttonWithHandlers/ButtonWithHandlers.js.map +1 -1
- package/dist/lib/widgets/calculator/Calculator.js +1 -1
- package/dist/lib/widgets/calculator/Calculator.js.map +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js +1 -1
- package/dist/lib/widgets/calculator/CalculatorView.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/hooks/useAdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/AdditionalSlider.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/CalculatorModal.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/FieldsGroup.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/CalculatorInfo.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/AssistHint.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoBody.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/CalculatorInfoHead.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorInfo/ui/InfoListItem.js.map +1 -1
- package/dist/lib/widgets/dynamicForm/DynamicForm.js +1 -1
- package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
- package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js +1 -1
- package/dist/lib/widgets/dynamicFormDialog/DynamicFormDialog.js.map +1 -1
- package/dist/lib/widgets/fallbacksView/FallbacksView.js +1 -1
- package/dist/lib/widgets/fallbacksView/FallbacksView.js.map +1 -1
- package/dist/lib/widgets/fallbacksView/model/helpers.js +1 -1
- package/dist/lib/widgets/fallbacksView/model/helpers.js.map +1 -1
- package/dist/lib/widgets/fieldMapper/FieldMapper.js +1 -1
- package/dist/lib/widgets/fieldMapper/FieldMapper.js.map +1 -1
- package/dist/lib/widgets/footer/Footer.js +1 -1
- package/dist/lib/widgets/footer/Footer.js.map +1 -1
- package/dist/lib/widgets/footer/ui/FooterLogo.js +1 -1
- package/dist/lib/widgets/footer/ui/FooterLogo.js.map +1 -1
- package/dist/lib/widgets/footer/ui/NavLinks.js +1 -1
- package/dist/lib/widgets/footer/ui/NavLinks.js.map +1 -1
- package/dist/lib/widgets/footer/ui/PhonesBlock.js +1 -1
- package/dist/lib/widgets/footer/ui/PhonesBlock.js.map +1 -1
- package/dist/lib/widgets/footer/ui/SiteMap.js +1 -1
- package/dist/lib/widgets/footer/ui/SiteMap.js.map +1 -1
- package/dist/lib/widgets/footer/ui/SocialLinks.js +1 -1
- package/dist/lib/widgets/footer/ui/SocialLinks.js.map +1 -1
- package/dist/lib/widgets/header/Header.js +1 -1
- package/dist/lib/widgets/header/Header.js.map +1 -1
- package/dist/lib/widgets/header/model/helpers.js +1 -1
- package/dist/lib/widgets/header/model/helpers.js.map +1 -1
- package/dist/lib/widgets/index.js +1 -1
- package/dist/lib/widgets/infoBlock/InfoBlock.js +1 -1
- package/dist/lib/widgets/infoBlock/InfoBlock.js.map +1 -1
- package/dist/lib/widgets/infoBlock/ui/LinksList.js +1 -1
- package/dist/lib/widgets/infoBlock/ui/LinksList.js.map +1 -1
- package/dist/lib/widgets/infoBlock/ui/RootContent.js +1 -1
- package/dist/lib/widgets/infoBlock/ui/RootContent.js.map +1 -1
- package/dist/lib/widgets/interLinking/InterLinking.js +1 -1
- package/dist/lib/widgets/interLinking/InterLinking.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/ColumnGroup.js +1 -1
- package/dist/lib/widgets/interLinking/ui/ColumnGroup.js.map +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js +1 -1
- package/dist/lib/widgets/interLinking/ui/LinksList.js.map +1 -1
- package/dist/lib/widgets/longBanner/LongBanner.js +1 -1
- package/dist/lib/widgets/longBanner/LongBanner.js.map +1 -1
- package/dist/lib/widgets/longBanner/ui/TextItem.js +1 -1
- package/dist/lib/widgets/longBanner/ui/TextItem.js.map +1 -1
- package/dist/lib/widgets/model/helpers.js +2 -2
- package/dist/lib/widgets/model/helpers.js.map +1 -1
- package/dist/lib/widgets/seoHeader/SeoHeader.js +1 -1
- package/dist/lib/widgets/seoHeader/SeoHeader.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoriesDesktop.js.map +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.js +1 -1
- package/dist/lib/widgets/seoHeader/ui/desktop/CategoryTabs.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/table/InfoTable.js +1 -1
- package/dist/lib/widgets/table/InfoTable.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/experts/Experts.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/experts/Experts.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/html/Html.js.map +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js +1 -1
- package/dist/lib/widgets/usefulInfo/ui/subEntities/table/Table.js.map +1 -1
- package/dist/lib/widgets/userFeedback/UserFeedback.js +1 -1
- package/dist/lib/widgets/userFeedback/UserFeedback.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/FeedbackTrigger.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/Finally.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/Finally.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/SelectRating.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/SelectRating.js.map +1 -1
- package/dist/lib/widgets/userFeedback/ui/UserReview.js +1 -1
- package/dist/lib/widgets/userFeedback/ui/UserReview.js.map +1 -1
- package/dist/node_modules/@hookform/resolvers/dist/resolvers.js +1 -1
- package/dist/node_modules/@hookform/resolvers/dist/resolvers.js.map +1 -1
- 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/stats.html +1 -1
- package/dist/types/lib/shared/utils/variableHolder/variableContextHolder.d.ts +144 -1
- package/package.json +3 -2
- package/dist/node_modules/react-hook-form/dist/index.esm.js +0 -2
- package/dist/node_modules/react-hook-form/dist/index.esm.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploaderFilename.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useOverflow } from '$/shared/hooks/useOverflow'\nimport { Hint } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type UploaderFileNameClasses = {\n fileText?: string\n}\n\ninterface UploaderFilenameProps {\n file: File\n classes?: UploaderFileNameClasses\n}\n\nexport const UploaderFilename = ({ file, classes }: UploaderFilenameProps) => {\n const fileRef = useRef<HTMLParagraphElement>(null)\n const isOverflow = useOverflow(fileRef)\n\n const { fileText } = classes || {}\n\n return (\n <div className='w-[300px]'>\n {isOverflow ? (\n <Hint triggerElement={<p className={cn('desk-body-regular-m truncate text-color-dark', fileText)}>{file.name}</p>}>\n {file.name}\n </Hint>\n ) : (\n <p ref={fileRef} className={cn('desk-body-regular-m text-nowrap text-color-dark', fileText)}>\n {file.name}\n </p>\n )}\n </div>\n )\n}\n"],"names":["UploaderFilename","file","classes","fileRef","useRef","isOverflow","useOverflow","fileText","jsx","Hint","cn"],"mappings":"
|
|
1
|
+
{"version":3,"file":"UploaderFilename.js","sources":["../../../../../../../../lib/shared/ui/formElements/uncontrolled/uploader/ui/UploaderFilename.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useOverflow } from '$/shared/hooks/useOverflow'\nimport { Hint } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type UploaderFileNameClasses = {\n fileText?: string\n}\n\ninterface UploaderFilenameProps {\n file: File\n classes?: UploaderFileNameClasses\n}\n\nexport const UploaderFilename = ({ file, classes }: UploaderFilenameProps) => {\n const fileRef = useRef<HTMLParagraphElement>(null)\n const isOverflow = useOverflow(fileRef)\n\n const { fileText } = classes || {}\n\n return (\n <div className='w-[300px]'>\n {isOverflow ? (\n <Hint triggerElement={<p className={cn('desk-body-regular-m truncate text-color-dark', fileText)}>{file.name}</p>}>\n {file.name}\n </Hint>\n ) : (\n <p ref={fileRef} className={cn('desk-body-regular-m text-nowrap text-color-dark', fileText)}>\n {file.name}\n </p>\n )}\n </div>\n )\n}\n"],"names":["UploaderFilename","file","classes","fileRef","useRef","isOverflow","useOverflow","fileText","jsx","Hint","cn"],"mappings":"m7CAcO,MAAMA,EAAmB,CAAC,CAAE,KAAAC,EAAM,QAAAC,KAAqC,CAC5E,MAAMC,EAAUC,EAA6B,IAAI,EAC3CC,EAAaC,EAAYH,CAAO,EAEhC,CAAE,SAAAI,GAAaL,GAAW,CAAA,EAEhC,OACEM,EAAC,MAAA,CAAI,UAAU,YACZ,WACCA,EAACC,EAAA,CAAK,eAAgBD,EAAC,IAAA,CAAE,UAAWE,EAAG,+CAAgDH,CAAQ,EAAI,SAAAN,EAAK,KAAK,EAC1G,SAAAA,EAAK,IAAA,CACR,EAEAO,EAAC,KAAE,IAAKL,EAAS,UAAWO,EAAG,kDAAmDH,CAAQ,EACvF,SAAAN,EAAK,KACR,EAEJ,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as o,jsxs as i}from"react/jsx-runtime";import*as m from"react";import{Provider as R,Root as b,Trigger as k,Content as v,Arrow as x}from"../../../../node_modules/@radix-ui/react-tooltip/dist/index.js";import{useDevice as N}from"../../hooks/useDevice.js";import{useClickOutside as O}from"../../hooks/useClickOutside.js";import{cn as t}from"../../utils/cn.js";const
|
|
1
|
+
import{jsx as o,jsxs as i}from"react/jsx-runtime";import*as m from"react";import{Provider as R,Root as b,Trigger as k,Content as v,Arrow as x}from"../../../../node_modules/@radix-ui/react-tooltip/dist/index.js";import{useDevice as N}from"../../hooks/useDevice.js";import{useClickOutside as O}from"../../hooks/useClickOutside.js";import"react-hook-form";import{cn as t}from"../../utils/cn.js";const M=({triggerElement:p,children:d,delayDuration:f=250,sideOffset:u=6,align:h="center",side:w="top",defaultOpen:g=!1,classes:r,...a})=>{const[c,e]=m.useState(!1),n=m.useRef(null),{isMobile:l}=N();return O(n,()=>e(!1)),o(R,{children:o(b,{open:c,onOpenChange:e,defaultOpen:g,delayDuration:f,children:i("div",{className:t(r==null?void 0:r.wrapper),onClick:()=>e(l),children:[o(k,{type:"button",className:t("cursor-pointer",r==null?void 0:r.trigger),children:p}),i(v,{onPointerDownOutside:C=>C.preventDefault(),className:t("desk-body-regular-m w-48 origin-center animate-scale-in rounded-sm bg-color-white p-4 text-color-dark shadow-sm",r==null?void 0:r.content),sideOffset:u,align:h,side:w,ref:n,...a,children:[d,o(x,{width:12,height:6,className:t("fill-white",r==null?void 0:r.arrow)})]})]})})})};export{M as Hint};
|
|
2
2
|
//# sourceMappingURL=Hint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hint.js","sources":["../../../../../lib/shared/ui/hint/Hint.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport { useClickOutside, useDevice } from '$/shared/hooks'\nimport { cn } from '$/shared/utils'\n\ntype HintClasses = {\n wrapper?: string\n content?: string\n arrow?: string\n trigger?: string\n}\n\nexport interface HintContentProps extends TooltipPrimitive.TooltipContentProps {\n delayDuration?: number\n sideOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n}\n\nexport interface IHintProps extends HintContentProps {\n triggerElement: React.ReactElement\n children: React.ReactElement | string\n classes?: HintClasses\n}\n\nexport const Hint = ({\n triggerElement,\n children,\n delayDuration = 250,\n sideOffset = 6,\n align = 'center',\n side = 'top',\n defaultOpen = false,\n classes,\n ...contentProps\n}: IHintProps) => {\n const [open, setOpen] = React.useState(false)\n const contentRef = React.useRef<HTMLDivElement>(null)\n const { isMobile } = useDevice()\n\n useClickOutside(contentRef, () => setOpen(false))\n return (\n <TooltipPrimitive.Provider>\n <TooltipPrimitive.Root open={open} onOpenChange={setOpen} defaultOpen={defaultOpen} delayDuration={delayDuration}>\n <div className={cn(classes?.wrapper)} onClick={() => setOpen(isMobile)}>\n <TooltipPrimitive.Trigger type='button' className={cn('cursor-pointer', classes?.trigger)}>\n {triggerElement}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Content\n onPointerDownOutside={(event) => event.preventDefault()}\n className={cn(\n 'desk-body-regular-m w-48 origin-center animate-scale-in rounded-sm bg-color-white p-4 text-color-dark shadow-sm',\n classes?.content\n )}\n sideOffset={sideOffset}\n align={align}\n side={side}\n ref={contentRef}\n {...contentProps}\n >\n {children}\n <TooltipPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrow)} />\n </TooltipPrimitive.Content>\n </div>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n )\n}\n"],"names":["Hint","triggerElement","children","delayDuration","sideOffset","align","side","defaultOpen","classes","contentProps","open","setOpen","React","contentRef","isMobile","useDevice","useClickOutside","jsx","TooltipPrimitive.Provider","TooltipPrimitive.Root","jsxs","cn","TooltipPrimitive.Trigger","TooltipPrimitive.Content","event","TooltipPrimitive.Arrow"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Hint.js","sources":["../../../../../lib/shared/ui/hint/Hint.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport { useClickOutside, useDevice } from '$/shared/hooks'\nimport { cn } from '$/shared/utils'\n\ntype HintClasses = {\n wrapper?: string\n content?: string\n arrow?: string\n trigger?: string\n}\n\nexport interface HintContentProps extends TooltipPrimitive.TooltipContentProps {\n delayDuration?: number\n sideOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n}\n\nexport interface IHintProps extends HintContentProps {\n triggerElement: React.ReactElement\n children: React.ReactElement | string\n classes?: HintClasses\n}\n\nexport const Hint = ({\n triggerElement,\n children,\n delayDuration = 250,\n sideOffset = 6,\n align = 'center',\n side = 'top',\n defaultOpen = false,\n classes,\n ...contentProps\n}: IHintProps) => {\n const [open, setOpen] = React.useState(false)\n const contentRef = React.useRef<HTMLDivElement>(null)\n const { isMobile } = useDevice()\n\n useClickOutside(contentRef, () => setOpen(false))\n return (\n <TooltipPrimitive.Provider>\n <TooltipPrimitive.Root open={open} onOpenChange={setOpen} defaultOpen={defaultOpen} delayDuration={delayDuration}>\n <div className={cn(classes?.wrapper)} onClick={() => setOpen(isMobile)}>\n <TooltipPrimitive.Trigger type='button' className={cn('cursor-pointer', classes?.trigger)}>\n {triggerElement}\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Content\n onPointerDownOutside={(event) => event.preventDefault()}\n className={cn(\n 'desk-body-regular-m w-48 origin-center animate-scale-in rounded-sm bg-color-white p-4 text-color-dark shadow-sm',\n classes?.content\n )}\n sideOffset={sideOffset}\n align={align}\n side={side}\n ref={contentRef}\n {...contentProps}\n >\n {children}\n <TooltipPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrow)} />\n </TooltipPrimitive.Content>\n </div>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n )\n}\n"],"names":["Hint","triggerElement","children","delayDuration","sideOffset","align","side","defaultOpen","classes","contentProps","open","setOpen","React","contentRef","isMobile","useDevice","useClickOutside","jsx","TooltipPrimitive.Provider","TooltipPrimitive.Root","jsxs","cn","TooltipPrimitive.Trigger","TooltipPrimitive.Content","event","TooltipPrimitive.Arrow"],"mappings":"wYA4BO,MAAMA,EAAO,CAAC,CACnB,eAAAC,EACA,SAAAC,EACA,cAAAC,EAAgB,IAChB,WAAAC,EAAa,EACb,MAAAC,EAAQ,SACR,KAAAC,EAAO,MACP,YAAAC,EAAc,GACd,QAAAC,EACA,GAAGC,CACL,IAAkB,CAChB,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAM,SAAS,EAAK,EACtCC,EAAaD,EAAM,OAAuB,IAAI,EAC9C,CAAE,SAAAE,CAAA,EAAaC,EAAA,EAErB,OAAAC,EAAgBH,EAAY,IAAMF,EAAQ,EAAK,CAAC,EAE9CM,EAACC,EAAA,CACC,SAAAD,EAACE,EAAA,CAAsB,KAAAT,EAAY,aAAcC,EAAS,YAAAJ,EAA0B,cAAAJ,EAClF,SAAAiB,EAAC,MAAA,CAAI,UAAWC,EAAGb,GAAA,YAAAA,EAAS,OAAO,EAAG,QAAS,IAAMG,EAAQG,CAAQ,EACnE,SAAA,CAAAG,EAACK,EAAA,CAAyB,KAAK,SAAS,UAAWD,EAAG,iBAAkBb,GAAA,YAAAA,EAAS,OAAO,EACrF,SAAAP,CAAA,CACH,EACAmB,EAACG,EAAA,CACC,qBAAuBC,GAAUA,EAAM,eAAA,EACvC,UAAWH,EACT,kHACAb,GAAA,YAAAA,EAAS,OAAA,EAEX,WAAAJ,EACA,MAAAC,EACA,KAAAC,EACA,IAAKO,EACJ,GAAGJ,EAEH,SAAA,CAAAP,EACDe,EAACQ,EAAA,CAAuB,MAAO,GAAI,OAAQ,EAAG,UAAWJ,EAAG,aAAcb,GAAA,YAAAA,EAAS,KAAK,CAAA,CAAG,CAAA,CAAA,CAAA,CAC7F,CAAA,CACF,EACF,EACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cn as r}from"../../../utils/cn.js";import"react";import"../../button/Button.js";import"../../buttonIcon/ButtonIcon.js";import"../../calendar/Calendar.js";import"../../calendar/model/utils.js";import"../../accordion/Accordion.js";import"react-dom";import"./IframeModalContent.js";import"../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as n}from"../../icon/Icon.js";import"../../table/ui/primitives/Primitives.js";import{Heading as d}from"../../heading/Heading.js";import"../../carousel/ui/CarouselContent.js";import"../../slot/Slot.js";import"../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../formElements/uncontrolled/combobox/combobox.js";import"../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../formElements/uncontrolled/input/Input.js";import"../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../formElements/uncontrolled/radio/RadioGroup.js";import"../../formElements/uncontrolled/radio/ui/RadioItem.js";import"../../formElements/uncontrolled/slider/SliderBase.js";import"../../formElements/uncontrolled/switch/Switch.js";import"../../formElements/uncontrolled/textarea/Textarea.js";import"../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../src/configs/api.js";import"../../formElements/controlled/editor/ui/Editor.js";import"../../formElements/controlled/input/MaskInputControl.js";import"../../dropdownList/ui/dropdownItem/DropdownItem.js";const
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cn as r}from"../../../utils/cn.js";import"react";import"../../button/Button.js";import"../../buttonIcon/ButtonIcon.js";import"../../calendar/Calendar.js";import"../../calendar/model/utils.js";import"../../accordion/Accordion.js";import"react-hook-form";import"react-dom";import"./IframeModalContent.js";import"../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as n}from"../../icon/Icon.js";import"../../table/ui/primitives/Primitives.js";import{Heading as d}from"../../heading/Heading.js";import"../../carousel/ui/CarouselContent.js";import"../../slot/Slot.js";import"../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../formElements/uncontrolled/combobox/combobox.js";import"../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../formElements/uncontrolled/input/Input.js";import"../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../formElements/uncontrolled/radio/RadioGroup.js";import"../../formElements/uncontrolled/radio/ui/RadioItem.js";import"../../formElements/uncontrolled/slider/SliderBase.js";import"../../formElements/uncontrolled/switch/Switch.js";import"../../formElements/uncontrolled/textarea/Textarea.js";import"../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../src/configs/api.js";import"../../formElements/controlled/editor/ui/Editor.js";import"../../formElements/controlled/input/MaskInputControl.js";import"../../dropdownList/ui/dropdownItem/DropdownItem.js";const T=({title:i,closeModal:m,classes:o})=>e("div",{className:r("flex items-start justify-between gap-4",o==null?void 0:o.header),children:[i&&t(d,{as:"h3",className:r("flex-1 text-color-dark",o==null?void 0:o.title),children:i}),t("span",{onClick:m,onKeyDown:p=>{p.key==="Enter"&&m()},role:"button","aria-label":"Close modal",tabIndex:0,className:r("rounded-sm p-0.5 outline-none transition-colors hover:bg-color-blue-grey-200 focus-visible:bg-color-blue-grey-200"),children:t(n,{name:"general/close",className:r("ml-auto size-6 cursor-pointer text-icon-dark-hover outline-0",o==null?void 0:o.icon)})})]});export{T as ModalHeader};
|
|
2
2
|
//# sourceMappingURL=ModalHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalHeader.js","sources":["../../../../../../lib/shared/ui/modal/ui/ModalHeader.tsx"],"sourcesContent":["import type { ModalProps } from '../Modal'\nimport { Heading, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TModalHeaderClasses = {\n header?: string\n title?: string\n icon?: string\n}\n\nexport interface IModalHeaderProps extends Pick<ModalProps, 'closeModal' | 'title'> {\n classes?: TModalHeaderClasses\n}\n\nexport const ModalHeader = ({ title, closeModal, classes }: IModalHeaderProps) => {\n return (\n <div className={cn('flex items-start justify-between gap-4', classes?.header)}>\n {title && (\n <Heading as='h3' className={cn('flex-1 text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <span\n onClick={closeModal}\n onKeyDown={(event) => {\n if (event.key === 'Enter') closeModal()\n }}\n role='button'\n aria-label='Close modal'\n tabIndex={0}\n className={cn(\n 'rounded-sm p-0.5 outline-none transition-colors hover:bg-color-blue-grey-200 focus-visible:bg-color-blue-grey-200'\n )}\n >\n <Icon\n name='general/close'\n className={cn('ml-auto size-6 cursor-pointer text-icon-dark-hover outline-0', classes?.icon)}\n />\n </span>\n </div>\n )\n}\n"],"names":["ModalHeader","title","closeModal","classes","cn","jsx","Heading","event","Icon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModalHeader.js","sources":["../../../../../../lib/shared/ui/modal/ui/ModalHeader.tsx"],"sourcesContent":["import type { ModalProps } from '../Modal'\nimport { Heading, Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\nexport type TModalHeaderClasses = {\n header?: string\n title?: string\n icon?: string\n}\n\nexport interface IModalHeaderProps extends Pick<ModalProps, 'closeModal' | 'title'> {\n classes?: TModalHeaderClasses\n}\n\nexport const ModalHeader = ({ title, closeModal, classes }: IModalHeaderProps) => {\n return (\n <div className={cn('flex items-start justify-between gap-4', classes?.header)}>\n {title && (\n <Heading as='h3' className={cn('flex-1 text-color-dark', classes?.title)}>\n {title}\n </Heading>\n )}\n <span\n onClick={closeModal}\n onKeyDown={(event) => {\n if (event.key === 'Enter') closeModal()\n }}\n role='button'\n aria-label='Close modal'\n tabIndex={0}\n className={cn(\n 'rounded-sm p-0.5 outline-none transition-colors hover:bg-color-blue-grey-200 focus-visible:bg-color-blue-grey-200'\n )}\n >\n <Icon\n name='general/close'\n className={cn('ml-auto size-6 cursor-pointer text-icon-dark-hover outline-0', classes?.icon)}\n />\n </span>\n </div>\n )\n}\n"],"names":["ModalHeader","title","closeModal","classes","cn","jsx","Heading","event","Icon"],"mappings":"wsDAcO,MAAMA,EAAc,CAAC,CAAE,MAAAC,EAAO,WAAAC,EAAY,QAAAC,OAE5C,MAAA,CAAI,UAAWC,EAAG,yCAA0CD,GAAA,YAAAA,EAAS,MAAM,EACzE,SAAA,CAAAF,GACCI,EAACC,EAAA,CAAQ,GAAG,KAAK,UAAWF,EAAG,yBAA0BD,GAAA,YAAAA,EAAS,KAAK,EACpE,SAAAF,CAAA,CACH,EAEFI,EAAC,OAAA,CACC,QAASH,EACT,UAAYK,GAAU,CAChBA,EAAM,MAAQ,SAASL,EAAA,CAC7B,EACA,KAAK,SACL,aAAW,cACX,SAAU,EACV,UAAWE,EACT,mHAAA,EAGF,SAAAC,EAACG,EAAA,CACC,KAAK,gBACL,UAAWJ,EAAG,+DAAgED,GAAA,YAAAA,EAAS,IAAI,CAAA,CAAA,CAC7F,CAAA,CACF,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as i,jsx as o}from"react/jsx-runtime";import{Root as b,Trigger as N,Portal as y,Content as c,Close as j,Arrow as C}from"../../../../node_modules/@radix-ui/react-popover/dist/index.js";import{cn as t}from"../../utils/cn.js";import"react";import"../button/Button.js";import"../buttonIcon/ButtonIcon.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"react-dom";import"../modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as v}from"../icon/Icon.js";import"../table/ui/primitives/Primitives.js";import"../carousel/ui/CarouselContent.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const
|
|
1
|
+
import{jsxs as i,jsx as o}from"react/jsx-runtime";import{Root as b,Trigger as N,Portal as y,Content as c,Close as j,Arrow as C}from"../../../../node_modules/@radix-ui/react-popover/dist/index.js";import{cn as t}from"../../utils/cn.js";import"react";import"../button/Button.js";import"../buttonIcon/ButtonIcon.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"react-hook-form";import"react-dom";import"../modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as v}from"../icon/Icon.js";import"../table/ui/primitives/Primitives.js";import"../carousel/ui/CarouselContent.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const er=({triggerElement:m,classes:r,sideOffset:e=4,alignOffset:p,align:n,side:u,defaultOpen:g=!1,avoidCollisions:d=!0,children:f,arrowPadding:h,portalContainer:x,withCloseBtn:l=!0,withArrow:w=!0,...a})=>i(b,{defaultOpen:g,children:[o("div",{className:t("flex w-max items-center gap-2",r==null?void 0:r.root),children:o(N,{"aria-label":"tooltip",className:t("flex cursor-pointer items-center justify-center",r==null?void 0:r.trigger),children:m})}),o(y,{container:x,children:i(c,{className:t("desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none",r==null?void 0:r.content),sideOffset:e,alignOffset:p,avoidCollisions:d,arrowPadding:h,align:n,side:u,...a,children:[f,l&&o(j,{"aria-label":"Close",className:t("flex size-5 items-center justify-center outline-0 outline-transparent",r==null?void 0:r.closeTrigger),children:o(v,{name:"general/close",className:t("size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800",r==null?void 0:r.closeIcon)})}),w&&o(C,{width:12,height:6,className:t("fill-white",r==null?void 0:r.arrowIcon)})]})})]});export{er as Popover};
|
|
2
2
|
//# sourceMappingURL=Popover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../../../../lib/shared/ui/popover/Popover.tsx"],"sourcesContent":["'use client'\n\nimport type { ReactElement, ReactNode } from 'react'\nimport type { PopoverContentProps as PopoverContentPropsBase } from '@radix-ui/react-popover'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype PopoverClasses = {\n root?: string\n content?: string\n trigger?: string\n arrowIcon?: string\n closeIcon?: string\n closeTrigger?: string\n}\n\ninterface PopoverContentProps extends PopoverContentPropsBase {\n sideOffset?: number\n alignOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n avoidCollisions?: boolean\n withCloseBtn?: boolean\n withArrow?: boolean\n}\n\nexport interface PopoverProps extends PopoverContentProps {\n triggerElement: ReactElement\n children: ReactNode\n classes?: PopoverClasses\n portalContainer?: PopoverPrimitive.PopoverPortalProps['container']\n}\n\nexport const Popover = ({\n triggerElement,\n classes,\n sideOffset = 4,\n alignOffset,\n align,\n side,\n defaultOpen = false,\n avoidCollisions = true,\n children,\n arrowPadding,\n portalContainer,\n withCloseBtn = true,\n withArrow = true,\n ...contentProps\n}: PopoverProps) => {\n return (\n <PopoverPrimitive.Root defaultOpen={defaultOpen}>\n <div className={cn('flex w-max items-center gap-2', classes?.root)}>\n <PopoverPrimitive.Trigger\n aria-label='tooltip'\n className={cn('flex cursor-pointer items-center justify-center', classes?.trigger)}\n >\n {triggerElement}\n </PopoverPrimitive.Trigger>\n </div>\n <PopoverPrimitive.Portal container={portalContainer}>\n <PopoverPrimitive.Content\n className={cn(\n 'desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none',\n classes?.content\n )}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n arrowPadding={arrowPadding}\n align={align}\n side={side}\n {...contentProps}\n >\n {children}\n\n {withCloseBtn && (\n <PopoverPrimitive.Close\n aria-label='Close'\n className={cn('flex size-5 items-center justify-center outline-0 outline-transparent', classes?.closeTrigger)}\n >\n <Icon\n name='general/close'\n className={cn(\n 'size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800',\n classes?.closeIcon\n )}\n />\n </PopoverPrimitive.Close>\n )}\n {withArrow && <PopoverPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrowIcon)} />}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n )\n}\n"],"names":["Popover","triggerElement","classes","sideOffset","alignOffset","align","side","defaultOpen","avoidCollisions","children","arrowPadding","portalContainer","withCloseBtn","withArrow","contentProps","jsxs","PopoverPrimitive.Root","jsx","cn","PopoverPrimitive.Trigger","PopoverPrimitive.Portal","PopoverPrimitive.Content","PopoverPrimitive.Close","Icon","PopoverPrimitive.Arrow"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../../../lib/shared/ui/popover/Popover.tsx"],"sourcesContent":["'use client'\n\nimport type { ReactElement, ReactNode } from 'react'\nimport type { PopoverContentProps as PopoverContentPropsBase } from '@radix-ui/react-popover'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { Icon } from '$/shared/ui'\nimport { cn } from '$/shared/utils'\n\ntype PopoverClasses = {\n root?: string\n content?: string\n trigger?: string\n arrowIcon?: string\n closeIcon?: string\n closeTrigger?: string\n}\n\ninterface PopoverContentProps extends PopoverContentPropsBase {\n sideOffset?: number\n alignOffset?: number\n align?: 'end' | 'center' | 'start'\n side?: 'top' | 'right' | 'bottom' | 'left'\n defaultOpen?: boolean\n avoidCollisions?: boolean\n withCloseBtn?: boolean\n withArrow?: boolean\n}\n\nexport interface PopoverProps extends PopoverContentProps {\n triggerElement: ReactElement\n children: ReactNode\n classes?: PopoverClasses\n portalContainer?: PopoverPrimitive.PopoverPortalProps['container']\n}\n\nexport const Popover = ({\n triggerElement,\n classes,\n sideOffset = 4,\n alignOffset,\n align,\n side,\n defaultOpen = false,\n avoidCollisions = true,\n children,\n arrowPadding,\n portalContainer,\n withCloseBtn = true,\n withArrow = true,\n ...contentProps\n}: PopoverProps) => {\n return (\n <PopoverPrimitive.Root defaultOpen={defaultOpen}>\n <div className={cn('flex w-max items-center gap-2', classes?.root)}>\n <PopoverPrimitive.Trigger\n aria-label='tooltip'\n className={cn('flex cursor-pointer items-center justify-center', classes?.trigger)}\n >\n {triggerElement}\n </PopoverPrimitive.Trigger>\n </div>\n <PopoverPrimitive.Portal container={portalContainer}>\n <PopoverPrimitive.Content\n className={cn(\n 'desk-body-regular-m flex w-fit max-w-64 items-start gap-2 rounded-sm bg-color-white p-4 shadow-sm outline-none',\n classes?.content\n )}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n arrowPadding={arrowPadding}\n align={align}\n side={side}\n {...contentProps}\n >\n {children}\n\n {withCloseBtn && (\n <PopoverPrimitive.Close\n aria-label='Close'\n className={cn('flex size-5 items-center justify-center outline-0 outline-transparent', classes?.closeTrigger)}\n >\n <Icon\n name='general/close'\n className={cn(\n 'size-5 cursor-pointer text-icon-blue-grey-600 transition-colors hover:text-icon-blue-grey-800',\n classes?.closeIcon\n )}\n />\n </PopoverPrimitive.Close>\n )}\n {withArrow && <PopoverPrimitive.Arrow width={12} height={6} className={cn('fill-white', classes?.arrowIcon)} />}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n )\n}\n"],"names":["Popover","triggerElement","classes","sideOffset","alignOffset","align","side","defaultOpen","avoidCollisions","children","arrowPadding","portalContainer","withCloseBtn","withArrow","contentProps","jsxs","PopoverPrimitive.Root","jsx","cn","PopoverPrimitive.Trigger","PopoverPrimitive.Portal","PopoverPrimitive.Content","PopoverPrimitive.Close","Icon","PopoverPrimitive.Arrow"],"mappings":"0tDAmCO,MAAMA,GAAU,CAAC,CACtB,eAAAC,EACA,QAAAC,EACA,WAAAC,EAAa,EACb,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,YAAAC,EAAc,GACd,gBAAAC,EAAkB,GAClB,SAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,aAAAC,EAAe,GACf,UAAAC,EAAY,GACZ,GAAGC,CACL,IAEIC,EAACC,EAAA,CAAsB,YAAAT,EACrB,SAAA,CAAAU,EAAC,OAAI,UAAWC,EAAG,gCAAiChB,GAAA,YAAAA,EAAS,IAAI,EAC/D,SAAAe,EAACE,EAAA,CACC,aAAW,UACX,UAAWD,EAAG,kDAAmDhB,GAAA,YAAAA,EAAS,OAAO,EAEhF,SAAAD,CAAA,CAAA,EAEL,EACAgB,EAACG,EAAA,CAAwB,UAAWT,EAClC,SAAAI,EAACM,EAAA,CACC,UAAWH,EACT,iHACAhB,GAAA,YAAAA,EAAS,OAAA,EAEX,WAAAC,EACA,YAAAC,EACA,gBAAAI,EACA,aAAAE,EACA,MAAAL,EACA,KAAAC,EACC,GAAGQ,EAEH,SAAA,CAAAL,EAEAG,GACCK,EAACK,EAAA,CACC,aAAW,QACX,UAAWJ,EAAG,wEAAyEhB,GAAA,YAAAA,EAAS,YAAY,EAE5G,SAAAe,EAACM,EAAA,CACC,KAAK,gBACL,UAAWL,EACT,gGACAhB,GAAA,YAAAA,EAAS,SAAA,CACX,CAAA,CACF,CAAA,EAGHW,GAAaI,EAACO,EAAA,CAAuB,MAAO,GAAI,OAAQ,EAAG,UAAWN,EAAG,aAAchB,GAAA,YAAAA,EAAS,SAAS,CAAA,CAAG,CAAA,CAAA,CAAA,CAC/G,CACF,CAAA,EACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as u,jsx as r}from"react/jsx-runtime";import{flexRender as f}from"../../../../node_modules/@tanstack/react-table/build/lib/index.js";import{TablePagination as N}from"./TablePagination.js";import{Table as P,TableHeader as T,TableRow as l,TableHead as R,TableBody as S,TableCell as h}from"./ui/primitives/Primitives.js";import"react";import{cn as e}from"../../utils/cn.js";import"../button/Button.js";import"../buttonIcon/ButtonIcon.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"react-dom";import"../modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../carousel/ui/CarouselContent.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const no=({mode:
|
|
1
|
+
import{jsxs as u,jsx as r}from"react/jsx-runtime";import{flexRender as f}from"../../../../node_modules/@tanstack/react-table/build/lib/index.js";import{TablePagination as N}from"./TablePagination.js";import{Table as P,TableHeader as T,TableRow as l,TableHead as R,TableBody as S,TableCell as h}from"./ui/primitives/Primitives.js";import"react";import{cn as e}from"../../utils/cn.js";import"react-hook-form";import"../button/Button.js";import"../buttonIcon/ButtonIcon.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"react-dom";import"../modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../carousel/ui/CarouselContent.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const no=({mode:p,enableHeaders:b,table:t,classes:o,pagination:m,empty:x="Ничего не найдено"})=>{const w=m!==!1&&t.getPageCount()>1,g={pageCount:t.getPageCount(),rowsCount:t.getCoreRowModel().rows.length,pageSize:t.getState().pagination.pageSize,page:t.getState().pagination.pageIndex+1,onPageIndexChange:t.setPageIndex,classes:o==null?void 0:o.pagination};return u("div",{className:e("flex w-full flex-col gap-y-4",o==null?void 0:o.root),children:[u(P,{className:e("w-full",o==null?void 0:o.table),children:[b&&r(T,{className:"px-2",children:t.getHeaderGroups().map(n=>r(l,{className:e("w-full",{"border-b border-b-[rgba(234,237,241,1)]":p==="solid"},o==null?void 0:o.tableHeader),children:n.headers.map(i=>r(R,{className:e("py-3",{"px-2":p==="odd"},o==null?void 0:o.tableHead),children:i.isPlaceholder?null:f(i.column.columnDef.header,i.getContext())},i.id))},n.id))}),r(S,{children:t.getRowModel().rows.length?t.getRowModel().rows.map((n,i)=>r(l,{className:e("w-full",{"[&:not(:last-child)]:border-b [&:not(:last-child)]:border-b-[rgba(234,237,241,1)]":p==="solid","[&:nth-child(odd)]:bg-color-primary-light-default":p==="odd"},o==null?void 0:o.tableRow),children:n.getVisibleCells().map((d,C)=>{const a=d.getContext(),y=a.column.getSize();return r(h,{style:{width:y},className:e("py-3",{"px-3":p==="odd","font-medium":C!==0},o==null?void 0:o.tableCell),children:f(d.column.columnDef.cell,{...a,rowIndex:i})},d.id)})},n.id)):r(l,{children:r(h,{className:"py-4 text-center",colSpan:t.getAllColumns().length,children:x})})})]}),typeof m=="function"?m(g):w?r(N,{...g}):null]})};export{no as Desktop};
|
|
2
2
|
//# sourceMappingURL=Desktop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Desktop.js","sources":["../../../../../lib/shared/ui/table/Desktop.tsx"],"sourcesContent":["import { flexRender, type Table as TTable } from '@tanstack/react-table'\nimport type { DataTableProps } from './model'\nimport { TablePagination } from './TablePagination'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype DesktopTableProps<TData extends {}> = Pick<\n DataTableProps<TData>,\n 'enableHeaders' | 'classes' | 'mode' | 'pagination' | 'empty'\n> & {\n table: TTable<TData>\n}\n\nexport const Desktop = <TData extends {}>({\n mode,\n enableHeaders,\n table,\n classes,\n pagination,\n empty = 'Ничего не найдено'\n}: DesktopTableProps<TData>) => {\n const paginationEnabled = pagination !== false && table.getPageCount() > 1\n\n const paginationProps = {\n pageCount: table.getPageCount(),\n rowsCount: table.getCoreRowModel().rows.length,\n pageSize: table.getState().pagination.pageSize,\n page: table.getState().pagination.pageIndex + 1,\n onPageIndexChange: table.setPageIndex,\n classes: classes?.pagination\n }\n\n return (\n <div className={cn('flex w-full flex-col gap-y-4', classes?.root)}>\n <Table className={cn('w-full', classes?.table)}>\n {enableHeaders && (\n <TableHeader className='px-2'>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow\n key={headerGroup.id}\n className={cn(\n 'w-full',\n {\n 'border-b border-b-[rgba(234,237,241,1)]': mode === 'solid'\n },\n classes?.tableHeader\n )}\n >\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n className={cn(\n 'py-3',\n {\n 'px-2': mode === 'odd'\n },\n classes?.tableHead\n )}\n >\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n )}\n <TableBody>\n {table.getRowModel().rows.length ? (\n table.getRowModel().rows.map((row, rowIndex) => (\n <TableRow\n key={row.id}\n className={cn(\n 'w-full',\n {\n '[&:not(:last-child)]:border-b [&:not(:last-child)]:border-b-[rgba(234,237,241,1)]': mode === 'solid',\n '[&:nth-child(odd)]:bg-color-primary-light-default': mode === 'odd'\n },\n classes?.tableRow\n )}\n >\n {row.getVisibleCells().map((cell, cellIndex) => {\n const cellContext = cell.getContext()\n const size = cellContext.column.getSize()\n\n return (\n <TableCell\n key={cell.id}\n style={{ width: size }}\n className={cn(\n 'py-3',\n {\n 'px-3': mode === 'odd',\n 'font-medium': cellIndex !== 0\n },\n classes?.tableCell\n )}\n >\n {flexRender(cell.column.columnDef.cell, { ...cellContext, rowIndex })}\n </TableCell>\n )\n })}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell className='py-4 text-center' colSpan={table.getAllColumns().length}>\n {empty}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n {typeof pagination === 'function' ? (\n pagination(paginationProps)\n ) : paginationEnabled ? (\n <TablePagination {...paginationProps} />\n ) : null}\n </div>\n )\n}\n"],"names":["Desktop","mode","enableHeaders","table","classes","pagination","empty","paginationEnabled","paginationProps","cn","jsxs","Table","jsx","TableHeader","headerGroup","TableRow","header","TableHead","flexRender","TableBody","row","rowIndex","cell","cellIndex","cellContext","size","TableCell","TablePagination"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Desktop.js","sources":["../../../../../lib/shared/ui/table/Desktop.tsx"],"sourcesContent":["import { flexRender, type Table as TTable } from '@tanstack/react-table'\nimport type { DataTableProps } from './model'\nimport { TablePagination } from './TablePagination'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype DesktopTableProps<TData extends {}> = Pick<\n DataTableProps<TData>,\n 'enableHeaders' | 'classes' | 'mode' | 'pagination' | 'empty'\n> & {\n table: TTable<TData>\n}\n\nexport const Desktop = <TData extends {}>({\n mode,\n enableHeaders,\n table,\n classes,\n pagination,\n empty = 'Ничего не найдено'\n}: DesktopTableProps<TData>) => {\n const paginationEnabled = pagination !== false && table.getPageCount() > 1\n\n const paginationProps = {\n pageCount: table.getPageCount(),\n rowsCount: table.getCoreRowModel().rows.length,\n pageSize: table.getState().pagination.pageSize,\n page: table.getState().pagination.pageIndex + 1,\n onPageIndexChange: table.setPageIndex,\n classes: classes?.pagination\n }\n\n return (\n <div className={cn('flex w-full flex-col gap-y-4', classes?.root)}>\n <Table className={cn('w-full', classes?.table)}>\n {enableHeaders && (\n <TableHeader className='px-2'>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow\n key={headerGroup.id}\n className={cn(\n 'w-full',\n {\n 'border-b border-b-[rgba(234,237,241,1)]': mode === 'solid'\n },\n classes?.tableHeader\n )}\n >\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n className={cn(\n 'py-3',\n {\n 'px-2': mode === 'odd'\n },\n classes?.tableHead\n )}\n >\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n )}\n <TableBody>\n {table.getRowModel().rows.length ? (\n table.getRowModel().rows.map((row, rowIndex) => (\n <TableRow\n key={row.id}\n className={cn(\n 'w-full',\n {\n '[&:not(:last-child)]:border-b [&:not(:last-child)]:border-b-[rgba(234,237,241,1)]': mode === 'solid',\n '[&:nth-child(odd)]:bg-color-primary-light-default': mode === 'odd'\n },\n classes?.tableRow\n )}\n >\n {row.getVisibleCells().map((cell, cellIndex) => {\n const cellContext = cell.getContext()\n const size = cellContext.column.getSize()\n\n return (\n <TableCell\n key={cell.id}\n style={{ width: size }}\n className={cn(\n 'py-3',\n {\n 'px-3': mode === 'odd',\n 'font-medium': cellIndex !== 0\n },\n classes?.tableCell\n )}\n >\n {flexRender(cell.column.columnDef.cell, { ...cellContext, rowIndex })}\n </TableCell>\n )\n })}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell className='py-4 text-center' colSpan={table.getAllColumns().length}>\n {empty}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n {typeof pagination === 'function' ? (\n pagination(paginationProps)\n ) : paginationEnabled ? (\n <TablePagination {...paginationProps} />\n ) : null}\n </div>\n )\n}\n"],"names":["Desktop","mode","enableHeaders","table","classes","pagination","empty","paginationEnabled","paginationProps","cn","jsxs","Table","jsx","TableHeader","headerGroup","TableRow","header","TableHead","flexRender","TableBody","row","rowIndex","cell","cellIndex","cellContext","size","TableCell","TablePagination"],"mappings":"4wDAaO,MAAMA,GAAU,CAAmB,CACxC,KAAAC,EACA,cAAAC,EACA,MAAAC,EACA,QAAAC,EACA,WAAAC,EACA,MAAAC,EAAQ,mBACV,IAAgC,CAC9B,MAAMC,EAAoBF,IAAe,IAASF,EAAM,eAAiB,EAEnEK,EAAkB,CACtB,UAAWL,EAAM,aAAA,EACjB,UAAWA,EAAM,gBAAA,EAAkB,KAAK,OACxC,SAAUA,EAAM,SAAA,EAAW,WAAW,SACtC,KAAMA,EAAM,SAAA,EAAW,WAAW,UAAY,EAC9C,kBAAmBA,EAAM,aACzB,QAASC,GAAA,YAAAA,EAAS,UAAA,EAGpB,SACG,MAAA,CAAI,UAAWK,EAAG,+BAAgCL,GAAA,YAAAA,EAAS,IAAI,EAC9D,SAAA,CAAAM,EAACC,GAAM,UAAWF,EAAG,SAAUL,GAAA,YAAAA,EAAS,KAAK,EAC1C,SAAA,CAAAF,GACCU,EAACC,GAAY,UAAU,OACpB,WAAM,gBAAA,EAAkB,IAAKC,GAC5BF,EAACG,EAAA,CAEC,UAAWN,EACT,SACA,CACE,0CAA2CR,IAAS,OAAA,EAEtDG,GAAA,YAAAA,EAAS,WAAA,EAGV,SAAAU,EAAY,QAAQ,IAAKE,GACxBJ,EAACK,EAAA,CAEC,UAAWR,EACT,OACA,CACE,OAAQR,IAAS,KAAA,EAEnBG,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAAY,EAAO,cAAgB,KAAOE,EAAWF,EAAO,OAAO,UAAU,OAAQA,EAAO,WAAA,CAAY,CAAA,EATxFA,EAAO,EAAA,CAWf,CAAA,EAtBIF,EAAY,EAAA,CAwBpB,EACH,EAEFF,EAACO,EAAA,CACE,SAAAhB,EAAM,YAAA,EAAc,KAAK,OACxBA,EAAM,YAAA,EAAc,KAAK,IAAI,CAACiB,EAAKC,IACjCT,EAACG,EAAA,CAEC,UAAWN,EACT,SACA,CACE,oFAAqFR,IAAS,QAC9F,oDAAqDA,IAAS,KAAA,EAEhEG,GAAA,YAAAA,EAAS,QAAA,EAGV,WAAI,gBAAA,EAAkB,IAAI,CAACkB,EAAMC,IAAc,CAC9C,MAAMC,EAAcF,EAAK,WAAA,EACnBG,EAAOD,EAAY,OAAO,QAAA,EAEhC,OACEZ,EAACc,EAAA,CAEC,MAAO,CAAE,MAAOD,CAAA,EAChB,UAAWhB,EACT,OACA,CACE,OAAQR,IAAS,MACjB,cAAesB,IAAc,CAAA,EAE/BnB,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAAc,EAAWI,EAAK,OAAO,UAAU,KAAM,CAAE,GAAGE,EAAa,SAAAH,CAAA,CAAU,CAAA,EAX/DC,EAAK,EAAA,CAchB,CAAC,CAAA,EA9BIF,EAAI,EAAA,CAgCZ,EAEDR,EAACG,EAAA,CACC,WAACW,EAAA,CAAU,UAAU,mBAAmB,QAASvB,EAAM,gBAAgB,OACpE,SAAAG,CAAA,CACH,EACF,CAAA,CAEJ,CAAA,EACF,EACC,OAAOD,GAAe,WACrBA,EAAWG,CAAe,EACxBD,EACFK,EAACe,EAAA,CAAiB,GAAGnB,CAAA,CAAiB,EACpC,IAAA,EACN,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as h,jsx as e}from"react/jsx-runtime";import{useRef as T,useState as v,useLayoutEffect as E}from"react";import{flexRender as w}from"../../../../node_modules/@tanstack/react-table/build/lib/index.js";import{TablePagination as H}from"./TablePagination.js";import{Table as M,TableBody as z,TableRow as x,TableHead as I,TableCell as b}from"./ui/primitives/Primitives.js";import{cn as l}from"../../utils/cn.js";import"../button/Button.js";import"../buttonIcon/ButtonIcon.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"react-dom";import"../modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../carousel/ui/CarouselContent.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const
|
|
1
|
+
import{jsxs as h,jsx as e}from"react/jsx-runtime";import{useRef as T,useState as v,useLayoutEffect as E}from"react";import{flexRender as w}from"../../../../node_modules/@tanstack/react-table/build/lib/index.js";import{TablePagination as H}from"./TablePagination.js";import{Table as M,TableBody as z,TableRow as x,TableHead as I,TableCell as b}from"./ui/primitives/Primitives.js";import{cn as l}from"../../utils/cn.js";import"react-hook-form";import"../button/Button.js";import"../buttonIcon/ButtonIcon.js";import"../calendar/Calendar.js";import"../calendar/model/utils.js";import"../accordion/Accordion.js";import"react-dom";import"../modal/ui/IframeModalContent.js";import"../../../../node_modules/react-hot-toast/dist/index.js";import"../carousel/ui/CarouselContent.js";import"../slot/Slot.js";import"../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../formElements/uncontrolled/checkbox/Checkbox.js";import"../formElements/uncontrolled/combobox/combobox.js";import"../formElements/uncontrolled/dayPicker/DayPicker.js";import"../formElements/uncontrolled/input/Input.js";import"../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../formElements/uncontrolled/maskInput/MaskInput.js";import"../formElements/uncontrolled/radio/RadioGroup.js";import"../formElements/uncontrolled/radio/ui/RadioItem.js";import"../formElements/uncontrolled/slider/SliderBase.js";import"../formElements/uncontrolled/switch/Switch.js";import"../formElements/uncontrolled/textarea/Textarea.js";import"../formElements/uncontrolled/uploader/UploaderBase.js";import"../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../formElements/controlled/editor/ui/Editor.js";import"../formElements/controlled/input/MaskInputControl.js";import"../dropdownList/ui/dropdownItem/DropdownItem.js";const ht=({mode:n,enableHeaders:C,table:o,classes:t,pagination:d,empty:y="Ничего не найдено"})=>{const m=T(null),[N,R]=v(!1);E(()=>{if(!m.current)return;const i=m.current,r=new AbortController;return m.current.addEventListener("scroll",()=>{const p=i.scrollLeft;R(p!==0)},{signal:r.signal}),()=>{r.abort()}},[]);const S=d!==!1&&o.getPageCount()>1,g={pageCount:o.getPageCount(),rowsCount:o.getCoreRowModel().rows.length,pageSize:o.getState().pagination.pageSize,page:o.getState().pagination.pageIndex+1,onPageIndexChange:o.setPageIndex,classes:t==null?void 0:t.pagination},u=o.getRowModel().rows,f=o.getAllLeafColumns(),c=new Map;return o.getHeaderGroups().forEach(i=>{i.headers.forEach(r=>{c.set(r.column.id,r)})}),h("div",{className:l("flex w-full flex-col gap-y-4",t==null?void 0:t.root),children:[e("div",{ref:m,className:"customScrollbar-y relative overflow-x-auto pb-2",children:e(M,{className:l("min-w-full",t==null?void 0:t.table),children:e(z,{children:f.length&&u.length?f.map((i,r)=>{const p=c.get(i.id);return h(x,{className:l("w-full",{"[&:not(:last-child)]:border-b":n==="solid"},t==null?void 0:t.tableRow),children:[C&&e(I,{className:l("sticky left-0 bg-color-white py-3 text-left text-color-tetriary desktop:whitespace-nowrap desktop:px-4 desktop:py-[17px]",{"px-3":n==="odd","bg-color-primary-light-default":n==="odd"&&r%2===0,"[&:not(:last-child)]:border-b-[rgba(234,237,241,1)]":n==="solid","drop-shadow-xl":N},t==null?void 0:t.tableHead),children:p&&w(p.column.columnDef.header,p.getContext())}),u.map((k,L)=>{const a=k.getVisibleCells().find(P=>P.column.id===i.id);return a?e(b,{className:l("whitespace-nowrap py-3",{"bg-color-primary-light-default":n==="odd"&&r%2===0,"font-medium":r!==0,"px-3 desktop:p-4 desktop:pl-5":n==="odd"},t==null?void 0:t.tableCell),children:w(a.column.columnDef.cell,{...a.getContext(),rowIndex:L})},a.id):null})]},i.id)}):e(x,{children:e(b,{className:"py-4 text-center",colSpan:f.length+1,children:y})})})})}),S?typeof d=="function"?d(g):e(H,{...g}):null]})};export{ht as Horizontal};
|
|
2
2
|
//# sourceMappingURL=Horizontal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Horizontal.js","sources":["../../../../../lib/shared/ui/table/Horizontal.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from 'react'\nimport { flexRender, type Header, type Table as TTable } from '@tanstack/react-table'\nimport type { DataTableProps } from './model'\nimport { TablePagination } from './TablePagination'\nimport { Table, TableBody, TableCell, TableHead, TableRow } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype DesktopTableProps<TData extends {}> = Pick<\n DataTableProps<TData>,\n 'enableHeaders' | 'classes' | 'mode' | 'pagination' | 'empty'\n> & {\n table: TTable<TData>\n}\n\nexport const Horizontal = <TData extends {}>({\n mode,\n enableHeaders,\n table,\n classes,\n pagination,\n empty = 'Ничего не найдено'\n}: DesktopTableProps<TData>) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const [hasLeftOffset, setLeftOffset] = useState<boolean>(false)\n\n useLayoutEffect(() => {\n if (!containerRef.current) return\n const container = containerRef.current\n\n const abortController = new AbortController()\n\n containerRef.current.addEventListener(\n 'scroll',\n () => {\n const offset = container.scrollLeft\n setLeftOffset(offset !== 0)\n },\n { signal: abortController.signal }\n )\n\n return () => {\n abortController.abort()\n }\n }, [])\n\n const paginationEnabled = pagination !== false && table.getPageCount() > 1\n\n const paginationProps = {\n pageCount: table.getPageCount(),\n rowsCount: table.getCoreRowModel().rows.length,\n pageSize: table.getState().pagination.pageSize,\n page: table.getState().pagination.pageIndex + 1,\n onPageIndexChange: table.setPageIndex,\n classes: classes?.pagination\n }\n\n const rows = table.getRowModel().rows\n const columns = table.getAllLeafColumns()\n\n // карта column.id -> header\n const headersMap = new Map<string, Header<TData, unknown>>()\n table.getHeaderGroups().forEach((group) => {\n group.headers.forEach((header) => {\n headersMap.set(header.column.id, header)\n })\n })\n\n return (\n <div className={cn('flex w-full flex-col gap-y-4', classes?.root)}>\n <div ref={containerRef} className='customScrollbar-y relative overflow-x-auto pb-2'>\n <Table className={cn('min-w-full', classes?.table)}>\n <TableBody>\n {columns.length && rows.length ? (\n columns.map((column, index) => {\n const header = headersMap.get(column.id)\n\n return (\n <TableRow\n key={column.id}\n className={cn(\n 'w-full',\n {\n '[&:not(:last-child)]:border-b': mode === 'solid'\n },\n classes?.tableRow\n )}\n >\n {enableHeaders && (\n <TableHead\n className={cn(\n 'sticky left-0 bg-color-white py-3 text-left text-color-tetriary desktop:whitespace-nowrap desktop:px-4 desktop:py-[17px]',\n {\n 'px-3': mode === 'odd',\n 'bg-color-primary-light-default': mode === 'odd' && index % 2 === 0,\n '[&:not(:last-child)]:border-b-[rgba(234,237,241,1)]': mode === 'solid',\n 'drop-shadow-xl': hasLeftOffset\n },\n classes?.tableHead\n )}\n >\n {header && flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n )}\n\n {rows.map((row, rowIndex) => {\n const cell = row.getVisibleCells().find((c) => c.column.id === column.id)\n if (!cell) return null\n\n return (\n <TableCell\n key={cell.id}\n className={cn(\n 'whitespace-nowrap py-3',\n {\n 'bg-color-primary-light-default': mode === 'odd' && index % 2 === 0,\n 'font-medium': index !== 0,\n 'px-3 desktop:p-4 desktop:pl-5': mode === 'odd'\n },\n classes?.tableCell\n )}\n >\n {flexRender(cell.column.columnDef.cell, {\n ...cell.getContext(),\n rowIndex\n })}\n </TableCell>\n )\n })}\n </TableRow>\n )\n })\n ) : (\n <TableRow>\n <TableCell className='py-4 text-center' colSpan={columns.length + 1}>\n {empty}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n\n {paginationEnabled ? (\n typeof pagination === 'function' ? (\n pagination(paginationProps)\n ) : (\n <TablePagination {...paginationProps} />\n )\n ) : null}\n </div>\n )\n}\n"],"names":["Horizontal","mode","enableHeaders","table","classes","pagination","empty","containerRef","useRef","hasLeftOffset","setLeftOffset","useState","useLayoutEffect","container","abortController","offset","paginationEnabled","paginationProps","rows","columns","headersMap","group","header","cn","jsx","Table","TableBody","column","index","jsxs","TableRow","TableHead","flexRender","row","rowIndex","cell","c","TableCell","TablePagination"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Horizontal.js","sources":["../../../../../lib/shared/ui/table/Horizontal.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from 'react'\nimport { flexRender, type Header, type Table as TTable } from '@tanstack/react-table'\nimport type { DataTableProps } from './model'\nimport { TablePagination } from './TablePagination'\nimport { Table, TableBody, TableCell, TableHead, TableRow } from './ui'\nimport { cn } from '$/shared/utils'\n\ntype DesktopTableProps<TData extends {}> = Pick<\n DataTableProps<TData>,\n 'enableHeaders' | 'classes' | 'mode' | 'pagination' | 'empty'\n> & {\n table: TTable<TData>\n}\n\nexport const Horizontal = <TData extends {}>({\n mode,\n enableHeaders,\n table,\n classes,\n pagination,\n empty = 'Ничего не найдено'\n}: DesktopTableProps<TData>) => {\n const containerRef = useRef<HTMLDivElement>(null)\n const [hasLeftOffset, setLeftOffset] = useState<boolean>(false)\n\n useLayoutEffect(() => {\n if (!containerRef.current) return\n const container = containerRef.current\n\n const abortController = new AbortController()\n\n containerRef.current.addEventListener(\n 'scroll',\n () => {\n const offset = container.scrollLeft\n setLeftOffset(offset !== 0)\n },\n { signal: abortController.signal }\n )\n\n return () => {\n abortController.abort()\n }\n }, [])\n\n const paginationEnabled = pagination !== false && table.getPageCount() > 1\n\n const paginationProps = {\n pageCount: table.getPageCount(),\n rowsCount: table.getCoreRowModel().rows.length,\n pageSize: table.getState().pagination.pageSize,\n page: table.getState().pagination.pageIndex + 1,\n onPageIndexChange: table.setPageIndex,\n classes: classes?.pagination\n }\n\n const rows = table.getRowModel().rows\n const columns = table.getAllLeafColumns()\n\n // карта column.id -> header\n const headersMap = new Map<string, Header<TData, unknown>>()\n table.getHeaderGroups().forEach((group) => {\n group.headers.forEach((header) => {\n headersMap.set(header.column.id, header)\n })\n })\n\n return (\n <div className={cn('flex w-full flex-col gap-y-4', classes?.root)}>\n <div ref={containerRef} className='customScrollbar-y relative overflow-x-auto pb-2'>\n <Table className={cn('min-w-full', classes?.table)}>\n <TableBody>\n {columns.length && rows.length ? (\n columns.map((column, index) => {\n const header = headersMap.get(column.id)\n\n return (\n <TableRow\n key={column.id}\n className={cn(\n 'w-full',\n {\n '[&:not(:last-child)]:border-b': mode === 'solid'\n },\n classes?.tableRow\n )}\n >\n {enableHeaders && (\n <TableHead\n className={cn(\n 'sticky left-0 bg-color-white py-3 text-left text-color-tetriary desktop:whitespace-nowrap desktop:px-4 desktop:py-[17px]',\n {\n 'px-3': mode === 'odd',\n 'bg-color-primary-light-default': mode === 'odd' && index % 2 === 0,\n '[&:not(:last-child)]:border-b-[rgba(234,237,241,1)]': mode === 'solid',\n 'drop-shadow-xl': hasLeftOffset\n },\n classes?.tableHead\n )}\n >\n {header && flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n )}\n\n {rows.map((row, rowIndex) => {\n const cell = row.getVisibleCells().find((c) => c.column.id === column.id)\n if (!cell) return null\n\n return (\n <TableCell\n key={cell.id}\n className={cn(\n 'whitespace-nowrap py-3',\n {\n 'bg-color-primary-light-default': mode === 'odd' && index % 2 === 0,\n 'font-medium': index !== 0,\n 'px-3 desktop:p-4 desktop:pl-5': mode === 'odd'\n },\n classes?.tableCell\n )}\n >\n {flexRender(cell.column.columnDef.cell, {\n ...cell.getContext(),\n rowIndex\n })}\n </TableCell>\n )\n })}\n </TableRow>\n )\n })\n ) : (\n <TableRow>\n <TableCell className='py-4 text-center' colSpan={columns.length + 1}>\n {empty}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n\n {paginationEnabled ? (\n typeof pagination === 'function' ? (\n pagination(paginationProps)\n ) : (\n <TablePagination {...paginationProps} />\n )\n ) : null}\n </div>\n )\n}\n"],"names":["Horizontal","mode","enableHeaders","table","classes","pagination","empty","containerRef","useRef","hasLeftOffset","setLeftOffset","useState","useLayoutEffect","container","abortController","offset","paginationEnabled","paginationProps","rows","columns","headersMap","group","header","cn","jsx","Table","TableBody","column","index","jsxs","TableRow","TableHead","flexRender","row","rowIndex","cell","c","TableCell","TablePagination"],"mappings":"+yDAcO,MAAMA,GAAa,CAAmB,CAC3C,KAAAC,EACA,cAAAC,EACA,MAAAC,EACA,QAAAC,EACA,WAAAC,EACA,MAAAC,EAAQ,mBACV,IAAgC,CAC9B,MAAMC,EAAeC,EAAuB,IAAI,EAC1C,CAACC,EAAeC,CAAa,EAAIC,EAAkB,EAAK,EAE9DC,EAAgB,IAAM,CACpB,GAAI,CAACL,EAAa,QAAS,OAC3B,MAAMM,EAAYN,EAAa,QAEzBO,EAAkB,IAAI,gBAE5B,OAAAP,EAAa,QAAQ,iBACnB,SACA,IAAM,CACJ,MAAMQ,EAASF,EAAU,WACzBH,EAAcK,IAAW,CAAC,CAC5B,EACA,CAAE,OAAQD,EAAgB,MAAA,CAAO,EAG5B,IAAM,CACXA,EAAgB,MAAA,CAClB,CACF,EAAG,CAAA,CAAE,EAEL,MAAME,EAAoBX,IAAe,IAASF,EAAM,eAAiB,EAEnEc,EAAkB,CACtB,UAAWd,EAAM,aAAA,EACjB,UAAWA,EAAM,gBAAA,EAAkB,KAAK,OACxC,SAAUA,EAAM,SAAA,EAAW,WAAW,SACtC,KAAMA,EAAM,SAAA,EAAW,WAAW,UAAY,EAC9C,kBAAmBA,EAAM,aACzB,QAASC,GAAA,YAAAA,EAAS,UAAA,EAGdc,EAAOf,EAAM,YAAA,EAAc,KAC3BgB,EAAUhB,EAAM,kBAAA,EAGhBiB,MAAiB,IACvB,OAAAjB,EAAM,gBAAA,EAAkB,QAASkB,GAAU,CACzCA,EAAM,QAAQ,QAASC,GAAW,CAChCF,EAAW,IAAIE,EAAO,OAAO,GAAIA,CAAM,CACzC,CAAC,CACH,CAAC,IAGE,MAAA,CAAI,UAAWC,EAAG,+BAAgCnB,GAAA,YAAAA,EAAS,IAAI,EAC9D,SAAA,CAAAoB,EAAC,MAAA,CAAI,IAAKjB,EAAc,UAAU,kDAChC,SAAAiB,EAACC,EAAA,CAAM,UAAWF,EAAG,aAAcnB,GAAA,YAAAA,EAAS,KAAK,EAC/C,SAAAoB,EAACE,EAAA,CACE,SAAAP,EAAQ,QAAUD,EAAK,OACtBC,EAAQ,IAAI,CAACQ,EAAQC,IAAU,CAC7B,MAAMN,EAASF,EAAW,IAAIO,EAAO,EAAE,EAEvC,OACEE,EAACC,EAAA,CAEC,UAAWP,EACT,SACA,CACE,gCAAiCtB,IAAS,OAAA,EAE5CG,GAAA,YAAAA,EAAS,QAAA,EAGV,SAAA,CAAAF,GACCsB,EAACO,EAAA,CACC,UAAWR,EACT,2HACA,CACE,OAAQtB,IAAS,MACjB,iCAAkCA,IAAS,OAAS2B,EAAQ,IAAM,EAClE,sDAAuD3B,IAAS,QAChE,iBAAkBQ,CAAA,EAEpBL,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAAkB,GAAUU,EAAWV,EAAO,OAAO,UAAU,OAAQA,EAAO,YAAY,CAAA,CAAA,EAI5EJ,EAAK,IAAI,CAACe,EAAKC,IAAa,CAC3B,MAAMC,EAAOF,EAAI,gBAAA,EAAkB,KAAMG,GAAMA,EAAE,OAAO,KAAOT,EAAO,EAAE,EACxE,OAAKQ,EAGHX,EAACa,EAAA,CAEC,UAAWd,EACT,yBACA,CACE,iCAAkCtB,IAAS,OAAS2B,EAAQ,IAAM,EAClE,cAAeA,IAAU,EACzB,gCAAiC3B,IAAS,KAAA,EAE5CG,GAAA,YAAAA,EAAS,SAAA,EAGV,SAAA4B,EAAWG,EAAK,OAAO,UAAU,KAAM,CACtC,GAAGA,EAAK,WAAA,EACR,SAAAD,CAAA,CACD,CAAA,EAdIC,EAAK,EAAA,EAJI,IAqBpB,CAAC,CAAA,CAAA,EAjDIR,EAAO,EAAA,CAoDlB,CAAC,EAEDH,EAACM,EAAA,CACC,SAAAN,EAACa,GAAU,UAAU,mBAAmB,QAASlB,EAAQ,OAAS,EAC/D,SAAAb,CAAA,CACH,EACF,CAAA,CAEJ,EACF,EACF,EAECU,EACC,OAAOX,GAAe,WACpBA,EAAWY,CAAe,EAE1BO,EAACc,EAAA,CAAiB,GAAGrB,CAAA,CAAiB,EAEtC,IAAA,EACN,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as a}from"react/jsx-runtime";import{useState as g}from"react";import{useReactTable as F}from"../../../../node_modules/@tanstack/react-table/build/lib/index.js";import{Desktop as C}from"./Desktop.js";import{Horizontal as S}from"./Horizontal.js";import{Mobile as b}from"./Mobile.js";import{useDevice as P}from"../../hooks/useDevice.js";import"../../../../node_modules/classnames/index.js";import{TypeGuards as x}from"../../utils/typeGuards.js";import{getPaginationRowModel as D,getFacetedUniqueValues as T,getFacetedRowModel as q,getSortedRowModel as U,getFilteredRowModel as V,getCoreRowModel as h}from"../../../../node_modules/@tanstack/table-core/build/lib/index.js";const
|
|
1
|
+
import{jsx as a}from"react/jsx-runtime";import{useState as g}from"react";import{useReactTable as F}from"../../../../node_modules/@tanstack/react-table/build/lib/index.js";import{Desktop as C}from"./Desktop.js";import{Horizontal as S}from"./Horizontal.js";import{Mobile as b}from"./Mobile.js";import{useDevice as P}from"../../hooks/useDevice.js";import"../../../../node_modules/classnames/index.js";import{TypeGuards as x}from"../../utils/typeGuards.js";import"react-hook-form";import{getPaginationRowModel as D,getFacetedUniqueValues as T,getFacetedRowModel as q,getSortedRowModel as U,getFilteredRowModel as V,getCoreRowModel as h}from"../../../../node_modules/@tanstack/table-core/build/lib/index.js";const N=({columns:l,data:d,enableHeaders:o=!0,mode:t="solid",classes:e,pagination:m=!0,empty:i,horizontal:r,pageSize:s=10})=>{const[u,p]=g([]),[c,M]=g([]),[R,w]=g({pageIndex:0,pageSize:s}),n=F({data:d,columns:l,state:{columnFilters:u,sorting:c,pagination:R},enableRowSelection:!0,onSortingChange:M,onColumnFiltersChange:p,onPaginationChange:w,getCoreRowModel:h(),getFilteredRowModel:V(),getSortedRowModel:U(),getFacetedRowModel:q(),getFacetedUniqueValues:T(),getPaginationRowModel:D()}),{isMobile:f}=P();return(x.isFunction(r)?r(l):r)?a(S,{table:n,enableHeaders:o,pagination:m,empty:i,mode:t,classes:e}):f?a(b,{table:n,enableHeaders:o,empty:i,mode:t,classes:e}):a(C,{table:n,enableHeaders:o,empty:i,pagination:m,mode:t,classes:e})};export{N as DataTable};
|
|
2
2
|
//# sourceMappingURL=Table.js.map
|
|
@@ -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 { Horizontal } from './Horizontal'\nimport { Mobile } from './Mobile'\nimport { type DataTableProps } from './model'\nimport { useDevice } from '$/shared/hooks'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const DataTable = <TData extends {}>({\n columns,\n data,\n enableHeaders = true,\n mode = 'solid',\n classes,\n pagination = true,\n empty,\n horizontal,\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 if (TypeGuards.isFunction(horizontal) ? horizontal(columns) : horizontal) {\n return (\n <Horizontal\n table={table}\n enableHeaders={enableHeaders}\n pagination={pagination}\n empty={empty}\n mode={mode}\n classes={classes}\n />\n )\n }\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} pagination={pagination} mode={mode} classes={classes} />\n )\n}\n"],"names":["DataTable","columns","data","enableHeaders","mode","classes","pagination","empty","horizontal","pageSize","columnFilters","setColumnFilters","useState","sorting","setSorting","paginationState","setPagination","table","useReactTable","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getPaginationRowModel","isMobile","useDevice","TypeGuards","jsx","Horizontal","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 { Horizontal } from './Horizontal'\nimport { Mobile } from './Mobile'\nimport { type DataTableProps } from './model'\nimport { useDevice } from '$/shared/hooks'\nimport { TypeGuards } from '$/shared/utils'\n\nexport const DataTable = <TData extends {}>({\n columns,\n data,\n enableHeaders = true,\n mode = 'solid',\n classes,\n pagination = true,\n empty,\n horizontal,\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 if (TypeGuards.isFunction(horizontal) ? horizontal(columns) : horizontal) {\n return (\n <Horizontal\n table={table}\n enableHeaders={enableHeaders}\n pagination={pagination}\n empty={empty}\n mode={mode}\n classes={classes}\n />\n )\n }\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} pagination={pagination} mode={mode} classes={classes} />\n )\n}\n"],"names":["DataTable","columns","data","enableHeaders","mode","classes","pagination","empty","horizontal","pageSize","columnFilters","setColumnFilters","useState","sorting","setSorting","paginationState","setPagination","table","useReactTable","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getFacetedRowModel","getFacetedUniqueValues","getPaginationRowModel","isMobile","useDevice","TypeGuards","jsx","Horizontal","Mobile","Desktop"],"mappings":"+rBAoBO,MAAMA,EAAY,CAAmB,CAC1C,QAAAC,EACA,KAAAC,EACA,cAAAC,EAAgB,GAChB,KAAAC,EAAO,QACP,QAAAC,EACA,WAAAC,EAAa,GACb,MAAAC,EACA,WAAAC,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,KAAAhB,EACA,QAAAD,EACA,MAAO,CAAE,cAAAS,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,OAAIC,EAAW,WAAWnB,CAAU,EAAIA,EAAWP,CAAO,EAAIO,GAE1DoB,EAACC,EAAA,CACC,MAAAZ,EACA,cAAAd,EACA,WAAAG,EACA,MAAAC,EACA,KAAAH,EACA,QAAAC,CAAA,CAAA,EAKCoB,EACLG,EAACE,EAAA,CAAO,MAAAb,EAAc,cAAAd,EAA8B,MAAAI,EAAc,KAAAH,EAAY,QAAAC,CAAA,CAAkB,EAEhGuB,EAACG,GAAQ,MAAAd,EAAc,cAAAd,EAA8B,MAAAI,EAAc,WAAAD,EAAwB,KAAAF,EAAY,QAAAC,EAAkB,CAE7H"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as d}from"react/jsx-runtime";import"../ui/primitives/Primitives.js";import{DataTableColumnHeader as S}from"../ui/dataTableColumnHeader/DataTableColumnHeader.js";import"react";import"../../../../../node_modules/classnames/index.js";import{TypeGuards as c}from"../../../utils/typeGuards.js";import"../../button/Button.js";import"../../buttonIcon/ButtonIcon.js";import"../../calendar/Calendar.js";import"../../calendar/model/utils.js";import"../../accordion/Accordion.js";import"react-dom";import"../../modal/ui/IframeModalContent.js";import"../../../../../node_modules/react-hot-toast/dist/index.js";import"../../carousel/ui/CarouselContent.js";import"../../slot/Slot.js";import"../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../formElements/uncontrolled/combobox/combobox.js";import"../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../formElements/uncontrolled/input/Input.js";import"../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../formElements/uncontrolled/radio/RadioGroup.js";import"../../formElements/uncontrolled/radio/ui/RadioItem.js";import"../../formElements/uncontrolled/slider/SliderBase.js";import"../../formElements/uncontrolled/switch/Switch.js";import"../../formElements/uncontrolled/textarea/Textarea.js";import"../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../src/configs/api.js";import"../../formElements/controlled/editor/ui/Editor.js";import"../../formElements/controlled/input/MaskInputControl.js";import"../../dropdownList/ui/dropdownItem/DropdownItem.js";import{createColumnHelper as b}from"../../../../../node_modules/@tanstack/table-core/build/lib/index.js";class
|
|
1
|
+
import{jsx as d}from"react/jsx-runtime";import"../ui/primitives/Primitives.js";import{DataTableColumnHeader as S}from"../ui/dataTableColumnHeader/DataTableColumnHeader.js";import"react";import"../../../../../node_modules/classnames/index.js";import{TypeGuards as c}from"../../../utils/typeGuards.js";import"react-hook-form";import"../../button/Button.js";import"../../buttonIcon/ButtonIcon.js";import"../../calendar/Calendar.js";import"../../calendar/model/utils.js";import"../../accordion/Accordion.js";import"react-dom";import"../../modal/ui/IframeModalContent.js";import"../../../../../node_modules/react-hot-toast/dist/index.js";import"../../carousel/ui/CarouselContent.js";import"../../slot/Slot.js";import"../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../formElements/uncontrolled/combobox/combobox.js";import"../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../formElements/uncontrolled/input/Input.js";import"../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../formElements/uncontrolled/radio/RadioGroup.js";import"../../formElements/uncontrolled/radio/ui/RadioItem.js";import"../../formElements/uncontrolled/slider/SliderBase.js";import"../../formElements/uncontrolled/switch/Switch.js";import"../../formElements/uncontrolled/textarea/Textarea.js";import"../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../src/configs/api.js";import"../../formElements/controlled/editor/ui/Editor.js";import"../../formElements/controlled/input/MaskInputControl.js";import"../../dropdownList/ui/dropdownItem/DropdownItem.js";import{createColumnHelper as b}from"../../../../../node_modules/@tanstack/table-core/build/lib/index.js";class tr{static getColumnHelper(){return b()}static getColumns(a,g){const{helper:u=this.getColumnHelper(),enableColumnFilter:e=!1,enableSorting:i=!1,cellAccessor:n,headerAccessor:l,sortingFn:m,size:p}=g||{};return Object.keys(a).map(r=>u.accessor(r,{header:o=>{const{column:t}=o,s=l?l[r]:null;return d(S,{isSorted:t.getIsSorted()==="desc",nextSortingOrder:t.getNextSortingOrder(),toggleSorting:t.toggleSorting,canSort:t.getCanSort(),children:s?s(r,o):r})},cell:o=>{const t=n?n[r]:null;return t?t(o):o.getValue()},enableColumnFilter:c.isBoolean(e)?e:e.includes(r),enableSorting:c.isBoolean(i)?i:i.includes(r),sortingFn:typeof m=="object"?m[r]:m,...p==null?void 0:p[r]}))}}export{tr 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 type SortingFnOption\n} from '@tanstack/react-table'\nimport { DataTableColumnHeader } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype SizeOptions = {\n size?: number\n minSize?: number\n maxSize?: number\n}\n\ntype ColumnDefOptions<TData, TValue> = {\n enableSorting?: (keyof TData)[] | boolean\n sortingFn?: SortingFnOption<TData> | Partial<Record<keyof TData, SortingFnOption<TData>>>\n enableColumnFilter?: (keyof TData)[] | boolean\n size?: Partial<Record<keyof TData, SizeOptions>>\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 sortingFn,\n size\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 sortingFn: typeof sortingFn === 'object' ? sortingFn[key] : sortingFn,\n ...size?.[key]\n })\n }) as ColumnDef<TData>[]\n }\n}\n"],"names":["TableUtils","createColumnHelper","template","options","helper","enableColumnFilter","enableSorting","cellAccessor","headerAccessor","sortingFn","size","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 type SortingFnOption\n} from '@tanstack/react-table'\nimport { DataTableColumnHeader } from '../ui'\nimport { TypeGuards } from '$/shared/utils'\n\ntype SizeOptions = {\n size?: number\n minSize?: number\n maxSize?: number\n}\n\ntype ColumnDefOptions<TData, TValue> = {\n enableSorting?: (keyof TData)[] | boolean\n sortingFn?: SortingFnOption<TData> | Partial<Record<keyof TData, SortingFnOption<TData>>>\n enableColumnFilter?: (keyof TData)[] | boolean\n size?: Partial<Record<keyof TData, SizeOptions>>\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 sortingFn,\n size\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 sortingFn: typeof sortingFn === 'object' ? sortingFn[key] : sortingFn,\n ...size?.[key]\n })\n }) as ColumnDef<TData>[]\n }\n}\n"],"names":["TableUtils","createColumnHelper","template","options","helper","enableColumnFilter","enableSorting","cellAccessor","headerAccessor","sortingFn","size","key","header","column","accessor","jsx","DataTableColumnHeader","cell","TypeGuards"],"mappings":"m3DA6BO,MAAMA,EAAW,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,EACA,UAAAC,EACA,KAAAC,CAAA,EACEP,GAAW,CAAA,EAIf,OAFa,OAAO,KAAKD,CAAQ,EAErB,IAAKS,GACRP,EAAO,SAAsBO,EAAK,CACvC,OAASC,GAAW,CAClB,KAAM,CAAE,OAAAC,GAAWD,EACbE,EAAWN,EAAiBA,EAAeG,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,EAAWP,EAAeA,EAAaI,CAAG,EAAI,KAEpD,OAAOG,EAAWA,EAASG,CAAI,EAAIA,EAAK,SAAA,CAC1C,EACA,mBAAoBC,EAAW,UAAUb,CAAkB,EAAIA,EAAqBA,EAAmB,SAASM,CAAG,EACnH,cAAeO,EAAW,UAAUZ,CAAa,EAAIA,EAAgBA,EAAc,SAASK,CAAG,EAC/F,UAAW,OAAOF,GAAc,SAAWA,EAAUE,CAAG,EAAIF,EAC5D,GAAGC,GAAA,YAAAA,EAAOC,EAAG,CACd,CACF,CACH,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as d,jsx as
|
|
1
|
+
import{jsxs as d,jsx as r}from"react/jsx-runtime";import{useDevice as b}from"../../../../hooks/useDevice.js";import"react";import{cn as t}from"../../../../utils/cn.js";import"react-hook-form";import{Icon as x}from"../../../icon/Icon.js";const N=({children:e,canSort:s,toggleSorting:a,nextSortingOrder:n,isSorted:c,classes:i})=>{const{root:m,content:l,icon:p}=i||{},{isDesktop:u}=b(),o=s&&u;return d("button",{type:"button",className:t("mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l",m),onClick:()=>a(!c),disabled:!o,children:[r("span",{className:t("",l),children:e}),o&&r(x,{name:"arrows/arrowRight",className:t("size-4 rotate-90 text-color-current duration-100",{"-rotate-90":!n},p)})]})};export{N 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(\n 'mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l',\n root\n )}\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(\n 'mob-body-regular-s flex items-center justify-center gap-x-2 text-start text-color-tetriary desktop:desk-body-regular-l',\n root\n )}\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":"6OAoBO,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,EACT,yHACAP,CAAA,EAEF,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{jsxs as C,jsx as p}from"react/jsx-runtime";import{useState as y,useRef as s}from"react";import{useClickOutside as N}from"../../../../hooks/useClickOutside.js";import"../../../../../../node_modules/classnames/index.js";import{Button as j}from"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as k}from"../../../icon/Icon.js";import"../primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../../formElements/uncontrolled/combobox/combobox.js";import"../../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../formElements/uncontrolled/input/Input.js";import"../../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../../formElements/uncontrolled/radio/RadioGroup.js";import"../../../formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../formElements/uncontrolled/slider/SliderBase.js";import"../../../formElements/uncontrolled/switch/Switch.js";import"../../../formElements/uncontrolled/textarea/Textarea.js";import"../../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../../formElements/controlled/editor/ui/Editor.js";import"../../../formElements/controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";const eo=({row:l,getValue:u,update:f,target:c,rowIndex:d=-1,attachment:r,readOnly:a=!1})=>{const[i,g]=y(u()),
|
|
1
|
+
import{jsxs as C,jsx as p}from"react/jsx-runtime";import{useState as y,useRef as s}from"react";import{useClickOutside as N}from"../../../../hooks/useClickOutside.js";import"react-hook-form";import"../../../../../../node_modules/classnames/index.js";import{Button as j}from"../../../button/Button.js";import"../../../buttonIcon/ButtonIcon.js";import"../../../calendar/Calendar.js";import"../../../calendar/model/utils.js";import"../../../accordion/Accordion.js";import"react-dom";import"../../../modal/ui/IframeModalContent.js";import"../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as k}from"../../../icon/Icon.js";import"../primitives/Primitives.js";import"../../../carousel/ui/CarouselContent.js";import"../../../slot/Slot.js";import"../../../formElements/uncontrolled/autocomplete/Autocomplete.js";import"../../../formElements/uncontrolled/checkbox/Checkbox.js";import"../../../formElements/uncontrolled/combobox/combobox.js";import"../../../formElements/uncontrolled/dayPicker/DayPicker.js";import"../../../formElements/uncontrolled/input/Input.js";import"../../../formElements/uncontrolled/inputOtp/InputOtpBase.js";import"../../../formElements/uncontrolled/maskInput/MaskInput.js";import"../../../formElements/uncontrolled/radio/RadioGroup.js";import"../../../formElements/uncontrolled/radio/ui/RadioItem.js";import"../../../formElements/uncontrolled/slider/SliderBase.js";import"../../../formElements/uncontrolled/switch/Switch.js";import"../../../formElements/uncontrolled/textarea/Textarea.js";import"../../../formElements/uncontrolled/uploader/UploaderBase.js";import"../../../formElements/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../../../src/configs/api.js";import"../../../formElements/controlled/editor/ui/Editor.js";import"../../../formElements/controlled/input/MaskInputControl.js";import"../../../dropdownList/ui/dropdownItem/DropdownItem.js";const eo=({row:l,getValue:u,update:f,target:c,rowIndex:d=-1,attachment:r,readOnly:a=!1})=>{const[i,g]=y(u()),t=s(!1),m=s(null),{original:w}=l,x=o=>{g(o.target.value),t.current=!0},e=()=>{if(t.current){const o={...w,[c]:i};f(d,o),t.current=!1}};return N(m,e),C("div",{className:"flex items-center justify-between pr-1",children:[p("input",{ref:m,className:"mr-2 w-full outline-none",type:"text",readOnly:a,value:i,onChange:x,onBlur:e,onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),e())}}),r&&p(j,{intent:"ghost",onClick:o=>{var n;return(n=r==null?void 0:r.handler)==null?void 0:n.call(r,i,o)},className:"mr-1 h-6 w-6 p-0",children:p(k,{name:r.icon,className:"size-4"})})]})};export{eo 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'\nimport { type AllowedIcons, Button, Icon } from '$/shared/ui'\n\ntype Cell<TData, TValue> = CellContext<TData, TValue> & { rowIndex?: number; readOnly?: boolean }\n\ninterface EditableCellProps<TData, TValue> extends Cell<TData, TValue> {\n target: keyof TData\n update: (target: number, values: TData) => void\n attachment?: {\n icon: AllowedIcons\n handler?: (value: TValue | string, event: React.MouseEvent<HTMLButtonElement>) => void\n }\n}\n\nexport const EditableCell = <TData, TValue extends string | undefined>({\n row,\n getValue,\n update,\n target,\n rowIndex = -1,\n attachment,\n readOnly = false\n}: EditableCellProps<TData, TValue>) => {\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\n useClickOutside(inputRef, onInputBlur)\n\n return (\n <div className='flex items-center justify-between pr-1'>\n <input\n ref={inputRef}\n className='mr-2 w-full outline-none'\n type='text'\n readOnly={readOnly}\n value={value}\n onChange={onValueChange}\n onBlur={onInputBlur}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n\n onInputBlur()\n }\n }}\n />\n {attachment && (\n <Button intent='ghost' onClick={(event) => attachment?.handler?.(value, event)} className='mr-1 h-6 w-6 p-0'>\n <Icon name={attachment.icon} className='size-4' />\n </Button>\n )}\n </div>\n )\n}\n"],"names":["EditableCell","row","getValue","update","target","rowIndex","attachment","readOnly","value","setValue","useState","changed","useRef","inputRef","original","onValueChange","event","onInputBlur","updatedRow","useClickOutside","jsxs","jsx","Button","_a","Icon"],"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'\nimport { type AllowedIcons, Button, Icon } from '$/shared/ui'\n\ntype Cell<TData, TValue> = CellContext<TData, TValue> & { rowIndex?: number; readOnly?: boolean }\n\ninterface EditableCellProps<TData, TValue> extends Cell<TData, TValue> {\n target: keyof TData\n update: (target: number, values: TData) => void\n attachment?: {\n icon: AllowedIcons\n handler?: (value: TValue | string, event: React.MouseEvent<HTMLButtonElement>) => void\n }\n}\n\nexport const EditableCell = <TData, TValue extends string | undefined>({\n row,\n getValue,\n update,\n target,\n rowIndex = -1,\n attachment,\n readOnly = false\n}: EditableCellProps<TData, TValue>) => {\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\n useClickOutside(inputRef, onInputBlur)\n\n return (\n <div className='flex items-center justify-between pr-1'>\n <input\n ref={inputRef}\n className='mr-2 w-full outline-none'\n type='text'\n readOnly={readOnly}\n value={value}\n onChange={onValueChange}\n onBlur={onInputBlur}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n event.preventDefault()\n\n onInputBlur()\n }\n }}\n />\n {attachment && (\n <Button intent='ghost' onClick={(event) => attachment?.handler?.(value, event)} className='mr-1 h-6 w-6 p-0'>\n <Icon name={attachment.icon} className='size-4' />\n </Button>\n )}\n </div>\n )\n}\n"],"names":["EditableCell","row","getValue","update","target","rowIndex","attachment","readOnly","value","setValue","useState","changed","useRef","inputRef","original","onValueChange","event","onInputBlur","updatedRow","useClickOutside","jsxs","jsx","Button","_a","Icon"],"mappings":"k3DAgBO,MAAMA,GAAe,CAA2C,CACrE,IAAAC,EACA,SAAAC,EACA,OAAAC,EACA,OAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,SAAAC,EAAW,EACb,IAAwC,CACtC,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAA0BR,GAAU,EACxDS,EAAUC,EAAgB,EAAK,EAE/BC,EAAWD,EAAyB,IAAI,EAExC,CAAE,SAAAE,GAAab,EAEfc,EAAiBC,GAA+C,CACpEP,EAASO,EAAM,OAAO,KAAK,EAE3BL,EAAQ,QAAU,EACpB,EAEMM,EAAc,IAAM,CACxB,GAAIN,EAAQ,QAAS,CACnB,MAAMO,EAAa,CAAE,GAAGJ,EAAU,CAACV,CAAM,EAAGI,CAAA,EAC5CL,EAAOE,EAAUa,CAAU,EAE3BP,EAAQ,QAAU,EACpB,CACF,EAEA,OAAAQ,EAAgBN,EAAUI,CAAW,EAGnCG,EAAC,MAAA,CAAI,UAAU,yCACb,SAAA,CAAAC,EAAC,QAAA,CACC,IAAKR,EACL,UAAU,2BACV,KAAK,OACL,SAAAN,EACA,MAAAC,EACA,SAAUO,EACV,OAAQE,EACR,UAAYD,GAAU,CAChBA,EAAM,MAAQ,UAChBA,EAAM,eAAA,EAENC,EAAA,EAEJ,CAAA,CAAA,EAEDX,KACEgB,EAAA,CAAO,OAAO,QAAQ,QAAUN,GAAA,OAAU,OAAAO,EAAAjB,GAAA,YAAAA,EAAY,UAAZ,YAAAiB,EAAA,KAAAjB,EAAsBE,EAAOQ,IAAQ,UAAU,mBACxF,SAAAK,EAACG,EAAA,CAAK,KAAMlB,EAAW,KAAM,UAAU,QAAA,CAAS,CAAA,CAClD,CAAA,EAEJ,CAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variableContextHolder.js","sources":["../../../../../lib/shared/utils/variableHolder/variableContextHolder.ts"],"sourcesContent":["import { localStorageActions } from '../localStorageActions'\n\nexport interface Variable<Key = string, Value = string> {\n _id: string\n key: Key\n value: Value\n createdAt: string\n updatedAt: string\n description: string\n}\n\nexport type VariableEntry<Key = string, Value = string> = [Key, Value]\n\nexport interface IVariableContextHolder<Key, Value> {\n variables: Variable<Key, Value>[]\n append: (variable: Variable<Key, Value>) => void\n remove: (key: Key) => void\n has: (key: Key) => boolean\n replace: (variables: Variable<Key, Value>[]) => void\n clear: () => void\n update: (id: string, variable: Variable<Key, Value>) => void\n entriesOf: (...keys: Key[]) => VariableEntry<Key, Value>[]\n observe: (listener: (variables: Variable<Key, Value>[]) => void) => () => void\n get: (key: Key) => Variable<Key, Value> | undefined\n}\n\nexport interface VariableStore {\n setItem: <T>(key: string, value: T) => void\n getItem: <T>(key: string) => T | null\n clearItems: (...keys: string[]) => void\n}\n\nclass InMemoryVariableStore implements VariableStore {\n private _store = new Map<string, unknown>()\n\n constructor() {}\n\n clearItems(...keys: string[]): void {\n for (const key of keys) {\n this._store.delete(key)\n }\n }\n\n getItem<T>(key: string): T | null {\n return (this._store.get(key) as T) ?? null\n }\n\n setItem<T>(key: string, value: T): void {\n this._store.set(key, value)\n }\n}\n\n/**\n * Класс для управления переменными\n */\nexport class VariableContextHolder<Key extends string = string, Value = string> implements IVariableContextHolder<Key, Value> {\n private _variables: Variable<Key, Value>[] = []\n private _listeners = new Map<symbol, (variables: Variable<Key, Value>[]) => void>()\n private _nextListenerId: number = 0\n private _storeContext: VariableStore\n\n private static _VARIABLE_REGEX: RegExp = /\\$\\{([^}]+)}/g\n private static _VARIABLE_PATTERN: string = '${variable}'\n private static _instance = new Map<string, VariableContextHolder>()\n\n private constructor(private _store: string) {\n if (typeof window === 'undefined') {\n this._storeContext = new InMemoryVariableStore()\n } else {\n this._storeContext = localStorageActions\n }\n\n this._variables = this._storeContext.getItem<Variable<Key, Value>[]>(this._store) ?? []\n }\n\n static unwrap(variable: string): string {\n return variable.replace(/\\$\\{|}/g, '')\n }\n\n static wrap(variable: string): string {\n return this._VARIABLE_PATTERN.replace('variable', variable)\n }\n\n static match(pattern: string): string[] | null {\n return pattern.match(this._VARIABLE_REGEX) as string[] | null\n }\n\n // use only a singleton instance, do not create duplicated instances of each store key\n public static getInstance(store: string): VariableContextHolder {\n const instance = VariableContextHolder._instance.get(store)\n\n if (!instance) {\n const holder = new VariableContextHolder(store)\n VariableContextHolder._instance.set(store, holder)\n\n return holder\n }\n\n return instance\n }\n\n get variables() {\n return this._variables\n }\n\n private collect() {\n this._storeContext.setItem(this._store, this._variables)\n this._listeners.forEach((listener) => listener(this._variables))\n\n return this._variables\n }\n\n get = (id: string) => {\n return this._variables.find((variable) => variable._id === id)\n }\n\n append = (variable: Variable<Key, Value>) => {\n this._variables.push(variable)\n this.collect()\n }\n\n clear = () => {\n this._variables = []\n this.collect()\n }\n\n entriesOf = (...keys: Key[]): VariableEntry<Key, Value>[] => {\n const entries: VariableEntry<Key, Value>[] = []\n\n for (const variable of this._variables) {\n if (keys.includes(variable.key)) entries.push([variable.key, variable.value])\n }\n\n return entries\n }\n\n remove = (key: Key) => {\n this._variables = this._variables.filter((v) => v.key !== key)\n this.collect()\n }\n\n replace = (variables: Variable<Key, Value>[]): Variable<Key, Value>[] => {\n this._variables = variables\n\n return this.collect()\n }\n\n update = (id: string, variable: Variable<Key, Value>): Variable<Key, Value>[] => {\n const updated = this._variables.map((v) => (v._id === id ? variable : v))\n\n return this.replace(updated)\n }\n\n observe = (listener: (variables: Variable<Key, Value>[]) => void): (() => void) => {\n const listenerId = Symbol(this._nextListenerId++)\n this._listeners.set(listenerId, listener)\n\n return () => {\n this._listeners.delete(listenerId)\n }\n }\n\n has(key: Key): boolean {\n return this._variables.some((variable) => variable.key === key)\n }\n}\n"],"names":["InMemoryVariableStore","__publicField","keys","key","value","_VariableContextHolder","_store","id","variable","entries","v","variables","updated","listener","listenerId","localStorageActions","pattern","store","instance","holder","VariableContextHolder"],"mappings":"oOAgCA,MAAMA,CAA+C,CAGnD,aAAc,CAFNC,EAAA,kBAAa,IAEN,CAEf,cAAcC,EAAsB,CAClC,UAAWC,KAAOD,EAChB,KAAK,OAAO,OAAOC,CAAG,CAE1B,CAEA,QAAWA,EAAuB,CAChC,OAAQ,KAAK,OAAO,IAAIA,CAAG,GAAW,IACxC,CAEA,QAAWA,EAAaC,EAAgB,CACtC,KAAK,OAAO,IAAID,EAAKC,CAAK,CAC5B,CACF,CAKO,MAAMC,EAAN,MAAMA,CAAiH,CAUpH,YAAoBC,EAAgB,CATpCL,EAAA,kBAAqC,CAAA,GACrCA,EAAA,sBAAiB,KACjBA,EAAA,uBAA0B,GAC1BA,EAAA,sBAqDRA,EAAA,WAAOM,GACE,KAAK,WAAW,KAAMC,GAAaA,EAAS,MAAQD,CAAE,GAG/DN,EAAA,cAAUO,GAAmC,CAC3C,KAAK,WAAW,KAAKA,CAAQ,EAC7B,KAAK,QAAA,CACP,GAEAP,EAAA,aAAQ,IAAM,CACZ,KAAK,WAAa,CAAA,EAClB,KAAK,QAAA,CACP,GAEAA,EAAA,iBAAY,IAAIC,IAA6C,CAC3D,MAAMO,EAAuC,CAAA,EAE7C,UAAWD,KAAY,KAAK,WACtBN,EAAK,SAASM,EAAS,GAAG,GAAGC,EAAQ,KAAK,CAACD,EAAS,IAAKA,EAAS,KAAK,CAAC,EAG9E,OAAOC,CACT,GAEAR,EAAA,cAAUE,GAAa,CACrB,KAAK,WAAa,KAAK,WAAW,OAAQO,GAAMA,EAAE,MAAQP,CAAG,EAC7D,KAAK,QAAA,CACP,GAEAF,EAAA,eAAWU,IACT,KAAK,WAAaA,EAEX,KAAK,QAAA,IAGdV,EAAA,cAAS,CAACM,EAAYC,IAA2D,CAC/E,MAAMI,EAAU,KAAK,WAAW,IAAKF,GAAOA,EAAE,MAAQH,EAAKC,EAAWE,CAAE,EAExE,OAAO,KAAK,QAAQE,CAAO,CAC7B,GAEAX,EAAA,eAAWY,GAAwE,CACjF,MAAMC,EAAa,OAAO,KAAK,iBAAiB,EAChD,YAAK,WAAW,IAAIA,EAAYD,CAAQ,EAEjC,IAAM,CACX,KAAK,WAAW,OAAOC,CAAU,CACnC,CACF,GA/F4B,KAAA,OAAAR,EACtB,OAAO,OAAW,IACpB,KAAK,cAAgB,IAAIN,EAEzB,KAAK,cAAgBe,EAGvB,KAAK,WAAa,KAAK,cAAc,QAAgC,KAAK,MAAM,GAAK,CAAA,CACvF,CAEA,OAAO,OAAOP,EAA0B,CACtC,OAAOA,EAAS,QAAQ,UAAW,EAAE,CACvC,CAEA,OAAO,KAAKA,EAA0B,CACpC,OAAO,KAAK,kBAAkB,QAAQ,WAAYA,CAAQ,CAC5D,CAEA,OAAO,MAAMQ,EAAkC,CAC7C,OAAOA,EAAQ,MAAM,KAAK,eAAe,CAC3C,CAGA,OAAc,YAAYC,EAAsC,CAC9D,MAAMC,EAAWb,EAAsB,UAAU,IAAIY,CAAK,EAE1D,GAAI,CAACC,EAAU,CACb,MAAMC,EAAS,IAAId,EAAsBY,CAAK,EAC9C,OAAAZ,EAAsB,UAAU,IAAIY,EAAOE,CAAM,EAE1CA,CACT,CAEA,OAAOD,CACT,CAEA,IAAI,WAAY,CACd,OAAO,KAAK,UACd,CAEQ,SAAU,CAChB,YAAK,cAAc,QAAQ,KAAK,OAAQ,KAAK,UAAU,EACvD,KAAK,WAAW,QAASL,GAAaA,EAAS,KAAK,UAAU,CAAC,EAExD,KAAK,UACd,CAoDA,IAAIV,EAAmB,CACrB,OAAO,KAAK,WAAW,KAAMK,GAAaA,EAAS,MAAQL,CAAG,CAChE,CACF,EAxGEF,EANWI,EAMI,kBAA0B,iBACzCJ,EAPWI,EAOI,oBAA4B,eAC3CJ,EARWI,EAQI,YAAY,IAAI,KAR1B,IAAMe,EAANf"}
|
|
1
|
+
{"version":3,"file":"variableContextHolder.js","sources":["../../../../../lib/shared/utils/variableHolder/variableContextHolder.ts"],"sourcesContent":["import { localStorageActions } from '../localStorageActions'\n\nexport interface Variable<Key = string, Value = string> {\n _id: string\n key: Key\n value: Value\n createdAt: string\n updatedAt: string\n description: string\n}\n\nexport type VariableEntry<Key = string, Value = string> = [Key, Value]\n\nexport interface IVariableContextHolder<Key, Value> {\n /**\n * список переменных, находящихся в имплементации\n */\n variables: Variable<Key, Value>[]\n /**\n * метод для добавления переменной\n * @param variable\n */\n append: (variable: Variable<Key, Value>) => void\n /**\n * метод для удаления переменной\n * @param key\n */\n remove: (key: Key) => void\n /**\n * метод для проверки наличия переменной по ключу\n * @param key\n */\n has: (key: Key) => boolean\n /**\n * метод для замены всех переменных\n * @param variables\n */\n replace: (variables: Variable<Key, Value>[]) => void\n /**\n * метод для очистки переменных\n */\n clear: () => void\n /**\n * метод для обновления переменной, по её идентификатору\n * @param id\n * @param variable\n */\n update: (id: string, variable: Variable<Key, Value>) => void\n /**\n * получение вхождений переменных по ключам\n * @param keys\n * @returns {VariableEntry<Key, Value>[]} entries `Array<[Key, Value]>`\n */\n entriesOf: (...keys: Key[]) => VariableEntry<Key, Value>[]\n /**\n * метод для подписки на изменения переменных\n * @param listener\n * @returns функция для отписки\n */\n observe: (listener: (variables: Variable<Key, Value>[]) => void) => () => void\n /**\n * получение переменной по ключу\n * @param key\n * @returns `Variable<Key, Value>` если переменная присутствует, `undefined` если переменной не существует\n */\n get: (key: Key) => Variable<Key, Value> | undefined\n}\n\nexport interface VariableStore {\n setItem: <T>(key: string, value: T) => void\n getItem: <T>(key: string) => T | null\n clearItems: (...keys: string[]) => void\n}\n\nclass InMemoryVariableStore implements VariableStore {\n private _store = new Map<string, unknown>()\n\n constructor() {}\n\n clearItems(...keys: string[]): void {\n for (const key of keys) {\n this._store.delete(key)\n }\n }\n\n getItem<T>(key: string): T | null {\n return (this._store.get(key) as T) ?? null\n }\n\n setItem<T>(key: string, value: T): void {\n this._store.set(key, value)\n }\n}\n\n/**\n * Класс для управления переменными.\n * Присутствует возможность использования в среде исполнения NodeJS, при этом будет использоваться in-memory хранилище переменных, что может потреблять дополнительную память приложения\n *\n * @example Базовое использование\n * ```ts\n * // используем статичный метод класса для получения инстанса\n * const holder = VariableContextHolder.getInstance('VARIABLE_STORE')\n *\n * // эмулируем создание переменной\n * const variable: Variable = {\n * _id: Math.random().toString(36).substring(2),\n * // ключ должен быть обёрнут в шаблон переменной\n * // чтобы это сделать, используем статичный метод\n * key: VariableContextHolder.wrap('variable_key'),\n * value: 'variable_value',\n * createdAt: new Date().toISOString(),\n * updatedAt: new Date().toISOString(),\n * description: ''\n * }\n *\n * holder.append(variable)\n *\n * holder.variables.forEach((v) => {\n * // рендерим переменные как в соответствии с требованиями\n * })\n * ```\n *\n * @example Использование с react\n * ```tsx\n * const Component = () => {\n * // создадим ref с экземпляром класса (это нужно чтобы не изменять ссылку при ре-рендере)\n * const holder = useRef(VariableContextHolder.getInstance('VARIABLE_STORE'))\n * // подключаем и подписываемся на мутацию переменных\n * const variables = useSyncExternalStore(holder.current.observe, () => holder.current.variables)\n *\n * return (\n * <div>\n * {variables.map((variable) => (\n * // рендерим переменные как в соответствии с требованиями\n * ))}\n * </div>\n * )\n * }\n * ```\n *\n * @example Синхронизация с сервером\n * ```ts\n * const holder = VariableContextHolder.getInstance('VARIABLE_STORE')\n *\n * // загружаем переменные с сервера\n * fetch('https://backend.url/variables')\n * .then((response) => response.json())\n * .then((data) => holder.replace(data))\n * ```\n *\n * @example Обход строки для замены переменных на их значения\n * ```ts\n * const holder = VariableContextHolder.getInstance('VARIABLE_STORE')\n *\n * const transformVariable = (value: string): string => {\n * let str = value\n * // находим все переменные в строке\n * let matches = VariableContextHolder.match(str)\n * // получаем вхождения по найденным переменным\n * let variables = holder.entriesOf(...(matches ?? []))\n *\n * // выполняем замену переменных до тех пор, пока в строке содержатся переменные\n * while (!TypeGuards.isArrayEmpty(variables)) {\n * variables.forEach(([key, value]) => {\n * // заменяем каждую переменную на её значение\n * str = str.replace(key, value)\n * })\n * // пробуем снова получить переменные в строке,\n * // так как переменная может содержать другую переменную\n * matches = VariableContextHolder.match(str)\n * variables = holder.entriesOf(...(matches ?? []))\n * }\n *\n * return str\n * }\n *\n * const stringWithVariables = 'Процентная ставка \\${percent}% годовых до \\${months} месяцев'\n * const processedString = transformVariable(stringWithVariables)\n * ```\n */\nexport class VariableContextHolder<Key extends string = string, Value = string> implements IVariableContextHolder<Key, Value> {\n private _variables: Variable<Key, Value>[] = []\n private _listeners = new Map<symbol, (variables: Variable<Key, Value>[]) => void>()\n private _nextListenerId: number = 0\n private _storeContext: VariableStore\n\n private static _VARIABLE_REGEX: RegExp = /\\$\\{([^}]+)}/g\n private static _VARIABLE_PATTERN: string = '${variable}'\n private static _instance = new Map<string, VariableContextHolder>()\n\n private constructor(private _store: string) {\n // create in-memory store if instance created out of browser\n if (typeof window === 'undefined') {\n this._storeContext = new InMemoryVariableStore()\n } else {\n this._storeContext = localStorageActions\n }\n\n this._variables = this._storeContext.getItem<Variable<Key, Value>[]>(this._store) ?? []\n }\n\n /**\n * метод для извлечения ключа переменной из шаблона\n * @param variable\n */\n public static unwrap(variable: string): string {\n return variable.replace(/\\$\\{|}/g, '')\n }\n\n /**\n * метод для оборачивания ключа переменной в шаблон\n * @param variable\n */\n public static wrap(variable: string): string {\n return this._VARIABLE_PATTERN.replace('variable', variable)\n }\n\n /**\n * метод для поиска переменных в строке\n * @param pattern\n * @returns `string[]` если переменные присутствуют в строке, иначе `null`\n */\n public static match(pattern: string): string[] | null {\n return pattern.match(this._VARIABLE_REGEX) as string[] | null\n }\n\n /**\n * метод для получения синглтон экземпляра класса по ключу хранилища\n * @param store\n * @returns экземпляр подключенный к in-memory хранилищу если код выполняется в NodeJS, `localStorage` если в браузере\n */\n public static getInstance(store: string): VariableContextHolder {\n const instance = VariableContextHolder._instance.get(store)\n\n if (!instance) {\n const holder = new VariableContextHolder(store)\n VariableContextHolder._instance.set(store, holder)\n\n return holder\n }\n\n return instance\n }\n\n get variables() {\n return this._variables\n }\n\n private collect() {\n this._storeContext.setItem(this._store, this._variables)\n this._listeners.forEach((listener) => listener(this._variables))\n\n return this._variables\n }\n\n get = (id: string) => {\n return this._variables.find((variable) => variable._id === id)\n }\n\n append = (variable: Variable<Key, Value>) => {\n this._variables.push(variable)\n this.collect()\n }\n\n clear = () => {\n this._variables = []\n this.collect()\n }\n\n entriesOf = (...keys: Key[]): VariableEntry<Key, Value>[] => {\n const entries: VariableEntry<Key, Value>[] = []\n\n for (const variable of this._variables) {\n if (keys.includes(variable.key)) entries.push([variable.key, variable.value])\n }\n\n return entries\n }\n\n remove = (key: Key) => {\n this._variables = this._variables.filter((v) => v.key !== key)\n this.collect()\n }\n\n replace = (variables: Variable<Key, Value>[]): Variable<Key, Value>[] => {\n this._variables = variables\n\n return this.collect()\n }\n\n update = (id: string, variable: Variable<Key, Value>): Variable<Key, Value>[] => {\n const updated = this._variables.map((v) => (v._id === id ? variable : v))\n\n return this.replace(updated)\n }\n\n observe = (listener: (variables: Variable<Key, Value>[]) => void): (() => void) => {\n const listenerId = Symbol(this._nextListenerId++)\n this._listeners.set(listenerId, listener)\n\n return () => {\n this._listeners.delete(listenerId)\n }\n }\n\n has(key: Key): boolean {\n return this._variables.some((variable) => variable.key === key)\n }\n}\n"],"names":["InMemoryVariableStore","__publicField","keys","key","value","_VariableContextHolder","_store","id","variable","entries","v","variables","updated","listener","listenerId","localStorageActions","pattern","store","instance","holder","VariableContextHolder"],"mappings":"oOA0EA,MAAMA,CAA+C,CAGnD,aAAc,CAFNC,EAAA,kBAAa,IAEN,CAEf,cAAcC,EAAsB,CAClC,UAAWC,KAAOD,EAChB,KAAK,OAAO,OAAOC,CAAG,CAE1B,CAEA,QAAWA,EAAuB,CAChC,OAAQ,KAAK,OAAO,IAAIA,CAAG,GAAW,IACxC,CAEA,QAAWA,EAAaC,EAAgB,CACtC,KAAK,OAAO,IAAID,EAAKC,CAAK,CAC5B,CACF,CAwFO,MAAMC,EAAN,MAAMA,CAAiH,CAUpH,YAAoBC,EAAgB,CATpCL,EAAA,kBAAqC,CAAA,GACrCA,EAAA,sBAAiB,KACjBA,EAAA,uBAA0B,GAC1BA,EAAA,sBAuERA,EAAA,WAAOM,GACE,KAAK,WAAW,KAAMC,GAAaA,EAAS,MAAQD,CAAE,GAG/DN,EAAA,cAAUO,GAAmC,CAC3C,KAAK,WAAW,KAAKA,CAAQ,EAC7B,KAAK,QAAA,CACP,GAEAP,EAAA,aAAQ,IAAM,CACZ,KAAK,WAAa,CAAA,EAClB,KAAK,QAAA,CACP,GAEAA,EAAA,iBAAY,IAAIC,IAA6C,CAC3D,MAAMO,EAAuC,CAAA,EAE7C,UAAWD,KAAY,KAAK,WACtBN,EAAK,SAASM,EAAS,GAAG,GAAGC,EAAQ,KAAK,CAACD,EAAS,IAAKA,EAAS,KAAK,CAAC,EAG9E,OAAOC,CACT,GAEAR,EAAA,cAAUE,GAAa,CACrB,KAAK,WAAa,KAAK,WAAW,OAAQO,GAAMA,EAAE,MAAQP,CAAG,EAC7D,KAAK,QAAA,CACP,GAEAF,EAAA,eAAWU,IACT,KAAK,WAAaA,EAEX,KAAK,QAAA,IAGdV,EAAA,cAAS,CAACM,EAAYC,IAA2D,CAC/E,MAAMI,EAAU,KAAK,WAAW,IAAKF,GAAOA,EAAE,MAAQH,EAAKC,EAAWE,CAAE,EAExE,OAAO,KAAK,QAAQE,CAAO,CAC7B,GAEAX,EAAA,eAAWY,GAAwE,CACjF,MAAMC,EAAa,OAAO,KAAK,iBAAiB,EAChD,YAAK,WAAW,IAAIA,EAAYD,CAAQ,EAEjC,IAAM,CACX,KAAK,WAAW,OAAOC,CAAU,CACnC,CACF,GAjH4B,KAAA,OAAAR,EAEtB,OAAO,OAAW,IACpB,KAAK,cAAgB,IAAIN,EAEzB,KAAK,cAAgBe,EAGvB,KAAK,WAAa,KAAK,cAAc,QAAgC,KAAK,MAAM,GAAK,CAAA,CACvF,CAMA,OAAc,OAAOP,EAA0B,CAC7C,OAAOA,EAAS,QAAQ,UAAW,EAAE,CACvC,CAMA,OAAc,KAAKA,EAA0B,CAC3C,OAAO,KAAK,kBAAkB,QAAQ,WAAYA,CAAQ,CAC5D,CAOA,OAAc,MAAMQ,EAAkC,CACpD,OAAOA,EAAQ,MAAM,KAAK,eAAe,CAC3C,CAOA,OAAc,YAAYC,EAAsC,CAC9D,MAAMC,EAAWb,EAAsB,UAAU,IAAIY,CAAK,EAE1D,GAAI,CAACC,EAAU,CACb,MAAMC,EAAS,IAAId,EAAsBY,CAAK,EAC9C,OAAAZ,EAAsB,UAAU,IAAIY,EAAOE,CAAM,EAE1CA,CACT,CAEA,OAAOD,CACT,CAEA,IAAI,WAAY,CACd,OAAO,KAAK,UACd,CAEQ,SAAU,CAChB,YAAK,cAAc,QAAQ,KAAK,OAAQ,KAAK,UAAU,EACvD,KAAK,WAAW,QAASL,GAAaA,EAAS,KAAK,UAAU,CAAC,EAExD,KAAK,UACd,CAoDA,IAAIV,EAAmB,CACrB,OAAO,KAAK,WAAW,KAAMK,GAAaA,EAAS,MAAQL,CAAG,CAChE,CACF,EA1HEF,EANWI,EAMI,kBAA0B,iBACzCJ,EAPWI,EAOI,oBAA4B,eAC3CJ,EARWI,EAQI,YAAY,IAAI,KAR1B,IAAMe,EAANf"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"react/jsx-runtime";import"../../../../node_modules/classnames/index.js";import{TypeGuards as E}from"../../utils/typeGuards.js";import"react";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import{formatDateToLocaleString as o}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";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/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.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/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/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const
|
|
1
|
+
import"react/jsx-runtime";import"../../../../node_modules/classnames/index.js";import{TypeGuards as E}from"../../utils/typeGuards.js";import"react";import"../../ui/button/Button.js";import"../../ui/buttonIcon/ButtonIcon.js";import"../../ui/calendar/Calendar.js";import{formatDateToLocaleString as o}from"../../ui/calendar/model/utils.js";import"../../ui/accordion/Accordion.js";import"react-hook-form";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/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.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/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/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.js";const w={NON_EMPTY:()=>"Поле не может быть пустым",MIN_LENGTH:_=>`Поле должно содержать минимум символов: ${_}`,MAX_LENGTH:_=>`Поле должно содержать максимум символов: ${_}`,FIX_LENGTH:_=>`Поле должно быть фиксированной длины символов: ${_}`,MIN_VALUE:_=>`Значение не может быть меньше чем ${_}`,MAX_VALUE:_=>`Значение не может быть больше чем ${_}`,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:_=>`Выберите не менее ${_} вариантов`,SELECT_MULTIPLE_MAX_LENGTH:_=>`Выберите не более ${_} вариантов`,SELECT_FIX_LENGTH:_=>`Поле должно быть фиксированного количества вариантов: ${_}`,DATE_INVALID_FORMAT:()=>"Дата указана некорректно",DATE_NON_EMPTY:()=>"Укажите дату",VALUE_OUT_OF_RANGE:_=>`Выберите один из вариантов ${_.join(", ")}`,DATE_MIN:_=>{const t=E.isString(_)?new Date(_):_;return`Выбранная дата должна быть не раньше ${o(t)}`},DATE_MAX:_=>{const t=E.isString(_)?new Date(_):_;return`Выбранная дата должна быть не позже ${o(t)}`},INVALID_REGEX_STRING:()=>"Поле не соответствует требованиям",INVALID_URL:()=>"Ссылка введена некорректно. Пример: https://example.com, example.com",PASSPORT_INVALID_TYPE:()=>"Паспортные данные введены некорректно",PASSPORT_NON_EMPTY:()=>"Поле обязательно для заполнения",PASSPORT_PART_OR_NUMBER_NON_EMPTY:()=>"Серия или номер паспорта не могут быть пустыми",INVALID_PASSPORT_PART:()=>"Серия паспорта введена некорректно",INVALID_PASSPORT_NUMBER:()=>"Номер паспорта введен некорректно",DEPARTMENT_NON_EMPTY:()=>"Поле обязательно для заполнения",INVALID_DEPARTMENT:()=>"Код подразделения введён некорректно",CURRENCY_NON_EMPTY:()=>"Не выбрана валюта"};export{w 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\n PHONE_NON_EMPTY: () => 'Номер телефона должен состоять из 11 цифр',\n PHONE_INVALID_OPERATOR: () => 'Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9',\n\n EMAIL_INVALID: () => 'Email введен некорректно. Пример: example@domain.ru',\n EMAIL_NON_EMPTY: () => 'Введите адрес электронной почты',\n\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\n DATE_INVALID_FORMAT: () => 'Дата указана некорректно',\n DATE_NON_EMPTY: () => 'Укажите дату',\n VALUE_OUT_OF_RANGE: <T extends Primitive>(range: T[]) => `Выберите один из вариантов ${range.join(', ')}`,\n\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\n INVALID_REGEX_STRING: () => 'Поле не соответствует требованиям',\n\n INVALID_URL: () => 'Ссылка введена некорректно. Пример: https://example.com, example.com',\n\n PASSPORT_INVALID_TYPE: () => 'Паспортные данные введены некорректно',\n PASSPORT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n PASSPORT_PART_OR_NUMBER_NON_EMPTY: () => 'Серия или номер паспорта не могут быть пустыми',\n INVALID_PASSPORT_PART: () => 'Серия паспорта введена некорректно',\n INVALID_PASSPORT_NUMBER: () => 'Номер паспорта введен некорректно',\n\n DEPARTMENT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n INVALID_DEPARTMENT: () => 'Код подразделения введён некорректно',\n\n CURRENCY_NON_EMPTY: () => 'Не выбрана валюта'\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\n PHONE_NON_EMPTY: () => 'Номер телефона должен состоять из 11 цифр',\n PHONE_INVALID_OPERATOR: () => 'Код города/оператора должен начинаться с цифры 3, 4, 5, 6 или 9',\n\n EMAIL_INVALID: () => 'Email введен некорректно. Пример: example@domain.ru',\n EMAIL_NON_EMPTY: () => 'Введите адрес электронной почты',\n\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\n DATE_INVALID_FORMAT: () => 'Дата указана некорректно',\n DATE_NON_EMPTY: () => 'Укажите дату',\n VALUE_OUT_OF_RANGE: <T extends Primitive>(range: T[]) => `Выберите один из вариантов ${range.join(', ')}`,\n\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\n INVALID_REGEX_STRING: () => 'Поле не соответствует требованиям',\n\n INVALID_URL: () => 'Ссылка введена некорректно. Пример: https://example.com, example.com',\n\n PASSPORT_INVALID_TYPE: () => 'Паспортные данные введены некорректно',\n PASSPORT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n PASSPORT_PART_OR_NUMBER_NON_EMPTY: () => 'Серия или номер паспорта не могут быть пустыми',\n INVALID_PASSPORT_PART: () => 'Серия паспорта введена некорректно',\n INVALID_PASSPORT_NUMBER: () => 'Номер паспорта введен некорректно',\n\n DEPARTMENT_NON_EMPTY: () => 'Поле обязательно для заполнения',\n INVALID_DEPARTMENT: () => 'Код подразделения введён некорректно',\n\n CURRENCY_NON_EMPTY: () => 'Не выбрана валюта'\n}\n"],"names":["baseDefaultMessages","min","max","length","range","date","TypeGuards","formatDateToLocaleString"],"mappings":"6wDAIO,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,GAEpE,gBAAiB,IAAM,4CACvB,uBAAwB,IAAM,kEAE9B,cAAe,IAAM,sDACrB,gBAAiB,IAAM,kCAEvB,iBAAkB,IAAM,6BACxB,2BAA6BC,GAAmB,qBAAqBA,CAAM,aAC3E,2BAA6BA,GAAmB,qBAAqBA,CAAM,aAC3E,kBAAoBA,GAAmB,yDAAyDA,CAAM,GAEtG,oBAAqB,IAAM,2BAC3B,eAAgB,IAAM,eACtB,mBAA0CC,GAAe,8BAA8BA,EAAM,KAAK,IAAI,CAAC,GAEvG,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,EAEA,qBAAsB,IAAM,oCAE5B,YAAa,IAAM,uEAEnB,sBAAuB,IAAM,wCAC7B,mBAAoB,IAAM,kCAC1B,kCAAmC,IAAM,iDACzC,sBAAuB,IAAM,qCAC7B,wBAAyB,IAAM,oCAE/B,qBAAsB,IAAM,kCAC5B,mBAAoB,IAAM,uCAE1B,mBAAoB,IAAM,mBAC5B"}
|
|
@@ -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"../../../../node_modules/classnames/index.js";import{TypeGuards as n}from"../../utils/typeGuards.js";import"react";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-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/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.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/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/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.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:
|
|
1
|
+
import*as o from"../../../../node_modules/zod/v3/external.js";import{baseDefaultMessages as a}from"./base.constants.js";import"react/jsx-runtime";import"../../../../node_modules/classnames/index.js";import{TypeGuards as n}from"../../utils/typeGuards.js";import"react";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-hook-form";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/formElements/uncontrolled/combobox/combobox.js";import"../../ui/formElements/uncontrolled/dayPicker/DayPicker.js";import"../../ui/formElements/uncontrolled/input/Input.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/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/uncontrolled/inputCurrency/InputCurrency.js";import"../../../../src/configs/api.js";import"../../ui/formElements/controlled/editor/ui/Editor.js";import"../../ui/formElements/controlled/input/MaskInputControl.js";import"../../ui/dropdownList/ui/dropdownItem/DropdownItem.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:p=!0,pattern:u=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((r,m)=>{const I=u.replace(/\W/g,"").length;if(r.replace(/[._-]/g,"").length<I&&m.addIssue({code:o.ZodIssueCode.too_small,minimum:I,type:"date",inclusive:!0,message:(e==null?void 0:e.min)||a.DATE_NON_EMPTY()}),p){let T=null;try{T=new Date(r)}catch{m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||a.DATE_INVALID_FORMAT()})}t&&T.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||a.DATE_MIN(t)}),d&&T.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||a.DATE_MAX(d)})}else{const T=_(r,u,new Date);f(T)||m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.invalidDate)||a.DATE_INVALID_FORMAT()}),t&&T.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.min)||a.DATE_MIN(t)}),d&&T.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&m.addIssue({code:o.ZodIssueCode.invalid_date,message:(e==null?void 0:e.max)||a.DATE_MAX(d)})}}).default(i??"")},c=l=>{const{iso:p=!0,pattern:u=D,min:t,max:d,message:i}=l||{};return o.string().transform(e=>e||void 0).superRefine((e,r)=>{if(n.isString(e)&&e.length){const m=u.replace(/\W/g,"").length;if(e.replace(/[._-]/g,"").length<m&&r.addIssue({code:o.ZodIssueCode.too_small,minimum:m,type:"date",inclusive:!0,message:(i==null?void 0:i.min)||a.DATE_NON_EMPTY()}),p){let s=null;try{s=new Date(e)}catch{r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||a.DATE_INVALID_FORMAT()})}t&&s.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||a.DATE_MIN(t)}),d&&s.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||a.DATE_MAX(d)})}else{const s=_(e,u,new Date);f(s)||r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.invalidDate)||a.DATE_INVALID_FORMAT()}),t&&s.getTime()<(n.isString(t)?new Date(t).getTime():t.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.min)||a.DATE_MIN(t)}),d&&s.getTime()>(n.isString(d)?new Date(d).getTime():d.getTime())&&r.addIssue({code:o.ZodIssueCode.invalid_date,message:(i==null?void 0:i.max)||a.DATE_MAX(d)})}}}).optional()};function de(l){const{required:p=!0}=l||{};return p?g(l):c(l)}export{de as getDateSchema};
|
|
2
2
|
//# sourceMappingURL=date.validators.js.map
|