@vkontakte/vkui 7.5.4 → 7.6.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/components/Calendar/Calendar.js +6 -6
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarDays/CalendarDays.js +3 -3
- package/dist/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.js +16 -14
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/CalendarRange/utils.d.ts.map +1 -1
- package/dist/components/CalendarRange/utils.js +6 -5
- package/dist/components/CalendarRange/utils.js.map +1 -1
- package/dist/components/Cell/Cell.d.ts.map +1 -1
- package/dist/components/Cell/Cell.js +6 -3
- package/dist/components/Cell/Cell.js.map +1 -1
- package/dist/components/CellButtonGroup/CellButtonGroup.d.ts +5 -3
- package/dist/components/CellButtonGroup/CellButtonGroup.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +4 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +4 -2
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts +1 -1
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js +6 -3
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
- package/dist/components/ChipsInputBase/Chip/Chip.d.ts +41 -2
- package/dist/components/ChipsInputBase/Chip/Chip.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/Chip/Chip.js +7 -2
- package/dist/components/ChipsInputBase/Chip/Chip.js.map +1 -1
- package/dist/components/ChipsInputBase/types.d.ts +2 -35
- package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/types.js.map +1 -1
- package/dist/components/ContentBadge/ContentBadge.d.ts +1 -1
- package/dist/components/ContentBadge/ContentBadge.d.ts.map +1 -1
- package/dist/components/ContentBadge/ContentBadge.js +15 -9
- package/dist/components/ContentBadge/ContentBadge.js.map +1 -1
- package/dist/components/ContentCard/ContentCard.d.ts +1 -1
- package/dist/components/ContentCard/ContentCard.d.ts.map +1 -1
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +16 -27
- package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +161 -428
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +3 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +25 -5
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/components/CustomSelect/helpers.d.ts +12 -0
- package/dist/components/CustomSelect/helpers.d.ts.map +1 -0
- package/dist/components/CustomSelect/helpers.js +63 -0
- package/dist/components/CustomSelect/helpers.js.map +1 -0
- package/dist/components/CustomSelect/hooks/useAfterItems.d.ts +11 -0
- package/dist/components/CustomSelect/hooks/useAfterItems.d.ts.map +1 -0
- package/dist/components/CustomSelect/hooks/useAfterItems.js +57 -0
- package/dist/components/CustomSelect/hooks/useAfterItems.js.map +1 -0
- package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts +13 -0
- package/dist/components/CustomSelect/hooks/useDropdownOpenedController.d.ts.map +1 -0
- package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js +60 -0
- package/dist/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -0
- package/dist/components/CustomSelect/hooks/useFocusedOptionController.d.ts +20 -0
- package/dist/components/CustomSelect/hooks/useFocusedOptionController.d.ts.map +1 -0
- package/dist/components/CustomSelect/hooks/useFocusedOptionController.js +52 -0
- package/dist/components/CustomSelect/hooks/useFocusedOptionController.js.map +1 -0
- package/dist/components/CustomSelect/hooks/useInputKeyboardController.d.ts +13 -0
- package/dist/components/CustomSelect/hooks/useInputKeyboardController.d.ts.map +1 -0
- package/dist/components/CustomSelect/hooks/useInputKeyboardController.js +78 -0
- package/dist/components/CustomSelect/hooks/useInputKeyboardController.js.map +1 -0
- package/dist/components/CustomSelect/hooks/useInputValueController.d.ts +15 -0
- package/dist/components/CustomSelect/hooks/useInputValueController.d.ts.map +1 -0
- package/dist/components/CustomSelect/hooks/useInputValueController.js +43 -0
- package/dist/components/CustomSelect/hooks/useInputValueController.js.map +1 -0
- package/dist/components/CustomSelect/hooks/useScrollListController.d.ts +9 -0
- package/dist/components/CustomSelect/hooks/useScrollListController.d.ts.map +1 -0
- package/dist/components/CustomSelect/hooks/useScrollListController.js +37 -0
- package/dist/components/CustomSelect/hooks/useScrollListController.js.map +1 -0
- package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts +18 -0
- package/dist/components/CustomSelect/hooks/useSelectedOptionController.d.ts.map +1 -0
- package/dist/components/CustomSelect/hooks/useSelectedOptionController.js +81 -0
- package/dist/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -0
- package/dist/components/CustomSelect/types.d.ts +33 -0
- package/dist/components/CustomSelect/types.d.ts.map +1 -0
- package/dist/components/CustomSelect/types.js +3 -0
- package/dist/components/CustomSelect/types.js.map +1 -0
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.d.ts.map +1 -1
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -0
- package/dist/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/DateInput.js +3 -2
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +4 -4
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.d.ts +1 -1
- package/dist/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts +3 -2
- package/dist/components/MiniInfoCell/MiniInfoCell.d.ts.map +1 -1
- package/dist/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts +1 -1
- package/dist/components/ModalCard/ModalCard.d.ts.map +1 -1
- package/dist/components/ModalCard/ModalCard.js +4 -2
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCard/ModalCardInternal.d.ts +1 -1
- package/dist/components/ModalCard/ModalCardInternal.d.ts.map +1 -1
- package/dist/components/ModalCard/ModalCardInternal.js +5 -3
- package/dist/components/ModalCard/ModalCardInternal.js.map +1 -1
- package/dist/components/ModalCard/types.d.ts +8 -0
- package/dist/components/ModalCard/types.d.ts.map +1 -1
- package/dist/components/ModalCard/types.js.map +1 -1
- package/dist/components/ModalOutlet/ModalOutlet.d.ts +2 -1
- package/dist/components/ModalOutlet/ModalOutlet.d.ts.map +1 -1
- package/dist/components/ModalOutlet/ModalOutlet.js +4 -3
- package/dist/components/ModalOutlet/ModalOutlet.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts +1 -1
- package/dist/components/ModalPage/ModalPage.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPage.js +3 -1
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPage/ModalPageInternal.d.ts +1 -1
- package/dist/components/ModalPage/ModalPageInternal.d.ts.map +1 -1
- package/dist/components/ModalPage/ModalPageInternal.js +5 -3
- package/dist/components/ModalPage/ModalPageInternal.js.map +1 -1
- package/dist/components/ModalPage/types.d.ts +8 -0
- package/dist/components/ModalPage/types.d.ts.map +1 -1
- package/dist/components/ModalPage/types.js.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts +1 -1
- package/dist/components/ModalRoot/ModalRoot.d.ts.map +1 -1
- package/dist/components/ModalRoot/ModalRoot.js +4 -2
- package/dist/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/components/ModalRoot/types.d.ts +6 -0
- package/dist/components/ModalRoot/types.d.ts.map +1 -1
- package/dist/components/ModalRoot/types.js.map +1 -1
- package/dist/components/ModalRoot/useModalManager.d.ts +3 -1
- package/dist/components/ModalRoot/useModalManager.d.ts.map +1 -1
- package/dist/components/ModalRoot/useModalManager.js +2 -1
- package/dist/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts +2 -2
- package/dist/components/OnboardingTooltip/OnboardingTooltip.d.ts.map +1 -1
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js +4 -2
- package/dist/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +1 -1
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/usePopover.d.ts +1 -1
- package/dist/components/Popover/usePopover.d.ts.map +1 -1
- package/dist/components/Popover/usePopover.js +3 -1
- package/dist/components/Popover/usePopover.js.map +1 -1
- package/dist/components/Popper/Popper.d.ts +2 -2
- package/dist/components/Popper/Popper.d.ts.map +1 -1
- package/dist/components/Popper/Popper.js +3 -1
- package/dist/components/Popper/Popper.js.map +1 -1
- package/dist/components/Select/Select.d.ts +2 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +5 -2
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectionControl/SelectionControl.d.ts +5 -1
- package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
- package/dist/components/SelectionControl/SelectionControl.js +22 -6
- package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/components/SelectionControl/SelectionControlContext.d.ts +7 -0
- package/dist/components/SelectionControl/SelectionControlContext.d.ts.map +1 -0
- package/dist/components/SelectionControl/SelectionControlContext.js +7 -0
- package/dist/components/SelectionControl/SelectionControlContext.js.map +1 -0
- package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.d.ts.map +1 -1
- package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +3 -1
- package/dist/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.d.ts.map +1 -1
- package/dist/components/SimpleCell/SimpleCell.js +29 -8
- package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/components/Skeleton/Skeleton.js +1 -1
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +19 -9
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/TabsController.d.ts +2 -2
- package/dist/components/Tabs/TabsController.d.ts.map +1 -1
- package/dist/components/Tabs/TabsController.js.map +1 -1
- package/dist/components/Tabs/TabsControllerContext.d.ts +5 -0
- package/dist/components/Tabs/TabsControllerContext.d.ts.map +1 -0
- package/dist/components/Tabs/TabsControllerContext.js +4 -0
- package/dist/components/Tabs/TabsControllerContext.js.map +1 -0
- package/dist/components/Tabs/TabsModeContext.d.ts +0 -2
- package/dist/components/Tabs/TabsModeContext.d.ts.map +1 -1
- package/dist/components/Tabs/TabsModeContext.js +1 -2
- package/dist/components/Tabs/TabsModeContext.js.map +1 -1
- package/dist/components/TabsItem/TabsItem.d.ts.map +1 -1
- package/dist/components/TabsItem/TabsItem.js +3 -1
- package/dist/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/useTooltip.d.ts +1 -1
- package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/useTooltip.js +3 -1
- package/dist/components/Tooltip/useTooltip.js.map +1 -1
- package/dist/components/Typography/Caption/Caption.d.ts +2 -0
- package/dist/components/Typography/Caption/Caption.d.ts.map +1 -1
- package/dist/components/Typography/Caption/Caption.js +4 -1
- package/dist/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/components/Typography/Footnote/Footnote.d.ts +2 -0
- package/dist/components/Typography/Footnote/Footnote.d.ts.map +1 -1
- package/dist/components/Typography/Footnote/Footnote.js +4 -1
- package/dist/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/components/Typography/Typography.d.ts +1 -0
- package/dist/components/Typography/Typography.d.ts.map +1 -1
- package/dist/components/Typography/Typography.js +7 -1
- package/dist/components/Typography/Typography.js.map +1 -1
- package/dist/components/View/View.d.ts.map +1 -1
- package/dist/components/View/View.js +2 -1
- package/dist/components/View/View.js.map +1 -1
- package/dist/components/View/ViewInfinite.d.ts.map +1 -1
- package/dist/components/View/ViewInfinite.js +2 -1
- package/dist/components/View/ViewInfinite.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/Banner/Banner.module.css +1 -6
- package/dist/cssm/components/Calendar/Calendar.js +6 -6
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.js +3 -3
- package/dist/cssm/components/CalendarDays/CalendarDays.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js +16 -14
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarRange/utils.js +6 -5
- package/dist/cssm/components/CalendarRange/utils.js.map +1 -1
- package/dist/cssm/components/Cell/Cell.js +3 -1
- package/dist/cssm/components/Cell/Cell.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +2 -1
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js +4 -2
- package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
- package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +11 -2
- package/dist/cssm/components/ChipsInputBase/Chip/Chip.js +6 -2
- package/dist/cssm/components/ChipsInputBase/Chip/Chip.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/Chip/Chip.module.css +8 -1
- package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
- package/dist/cssm/components/ContentBadge/ContentBadge.js +14 -8
- package/dist/cssm/components/ContentBadge/ContentBadge.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +154 -421
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +22 -4
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css +12 -0
- package/dist/cssm/components/CustomSelect/helpers.js +62 -0
- package/dist/cssm/components/CustomSelect/helpers.js.map +1 -0
- package/dist/cssm/components/CustomSelect/hooks/useAfterItems.js +58 -0
- package/dist/cssm/components/CustomSelect/hooks/useAfterItems.js.map +1 -0
- package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js +60 -0
- package/dist/cssm/components/CustomSelect/hooks/useDropdownOpenedController.js.map +1 -0
- package/dist/cssm/components/CustomSelect/hooks/useFocusedOptionController.js +52 -0
- package/dist/cssm/components/CustomSelect/hooks/useFocusedOptionController.js.map +1 -0
- package/dist/cssm/components/CustomSelect/hooks/useInputKeyboardController.js +78 -0
- package/dist/cssm/components/CustomSelect/hooks/useInputKeyboardController.js.map +1 -0
- package/dist/cssm/components/CustomSelect/hooks/useInputValueController.js +43 -0
- package/dist/cssm/components/CustomSelect/hooks/useInputValueController.js.map +1 -0
- package/dist/cssm/components/CustomSelect/hooks/useScrollListController.js +37 -0
- package/dist/cssm/components/CustomSelect/hooks/useScrollListController.js.map +1 -0
- package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js +81 -0
- package/dist/cssm/components/CustomSelect/hooks/useSelectedOptionController.js.map +1 -0
- package/dist/cssm/components/CustomSelect/types.js +3 -0
- package/dist/cssm/components/CustomSelect/types.js.map +1 -0
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js +1 -0
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.js.map +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +3 -2
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +4 -4
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/ImageBase/ImageBaseBadge/ImageBaseBadge.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js +2 -1
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCard/ModalCardInternal.js +3 -2
- package/dist/cssm/components/ModalCard/ModalCardInternal.js.map +1 -1
- package/dist/cssm/components/ModalCard/types.js.map +1 -1
- package/dist/cssm/components/ModalOutlet/ModalOutlet.js +2 -2
- package/dist/cssm/components/ModalOutlet/ModalOutlet.js.map +1 -1
- package/dist/cssm/components/ModalOutlet/ModalOutlet.module.css +4 -0
- package/dist/cssm/components/ModalOverlay/ModalOverlay.module.css +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js +2 -1
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.module.css +1 -0
- package/dist/cssm/components/ModalPage/ModalPageInternal.js +3 -2
- package/dist/cssm/components/ModalPage/ModalPageInternal.js.map +1 -1
- package/dist/cssm/components/ModalPage/types.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRoot.js +4 -2
- package/dist/cssm/components/ModalRoot/ModalRoot.js.map +1 -1
- package/dist/cssm/components/ModalRoot/types.js.map +1 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js +2 -1
- package/dist/cssm/components/ModalRoot/useModalManager.js.map +1 -1
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js +3 -2
- package/dist/cssm/components/OnboardingTooltip/OnboardingTooltip.js.map +1 -1
- package/dist/cssm/components/Popover/Popover.js.map +1 -1
- package/dist/cssm/components/Popover/usePopover.js +2 -1
- package/dist/cssm/components/Popover/usePopover.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.js +2 -1
- package/dist/cssm/components/Popper/Popper.js.map +1 -1
- package/dist/cssm/components/RichCell/RichCell.module.css +4 -2
- package/dist/cssm/components/Select/Select.js +1 -1
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControl.js +16 -6
- package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControl.module.css +6 -3
- package/dist/cssm/components/SelectionControl/SelectionControlContext.js +7 -0
- package/dist/cssm/components/SelectionControl/SelectionControlContext.js.map +1 -0
- package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js +3 -1
- package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.js.map +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +6 -3
- package/dist/cssm/components/SimpleCell/SimpleCell.js +29 -8
- package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
- package/dist/cssm/components/Skeleton/Skeleton.js +1 -1
- package/dist/cssm/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/cssm/components/Slider/SliderThumb/SliderThumb.module.css +2 -1
- package/dist/cssm/components/Tabs/Tabs.js +19 -9
- package/dist/cssm/components/Tabs/Tabs.js.map +1 -1
- package/dist/cssm/components/Tabs/TabsController.js.map +1 -1
- package/dist/cssm/components/Tabs/TabsControllerContext.js +4 -0
- package/dist/cssm/components/Tabs/TabsControllerContext.js.map +1 -0
- package/dist/cssm/components/Tabs/TabsModeContext.js +1 -2
- package/dist/cssm/components/Tabs/TabsModeContext.js.map +1 -1
- package/dist/cssm/components/TabsItem/TabsItem.js +3 -1
- package/dist/cssm/components/TabsItem/TabsItem.js.map +1 -1
- package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cssm/components/Tooltip/useTooltip.js +2 -1
- package/dist/cssm/components/Tooltip/useTooltip.js.map +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.js +4 -1
- package/dist/cssm/components/Typography/Caption/Caption.js.map +1 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.js +4 -1
- package/dist/cssm/components/Typography/Footnote/Footnote.js.map +1 -1
- package/dist/cssm/components/Typography/Typography.js +7 -1
- package/dist/cssm/components/Typography/Typography.js.map +1 -1
- package/dist/cssm/components/View/View.js +2 -1
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/components/View/View.module.css +1 -1
- package/dist/cssm/components/View/ViewInfinite.js +2 -1
- package/dist/cssm/components/View/ViewInfinite.js.map +1 -1
- package/dist/cssm/components/VisuallyHidden/VisuallyHidden.module.css +0 -2
- package/dist/cssm/hooks/useCalendar.js +6 -4
- package/dist/cssm/hooks/useCalendar.js.map +1 -1
- package/dist/cssm/hooks/useFloatingElement.js +3 -2
- package/dist/cssm/hooks/useFloatingElement.js.map +1 -1
- package/dist/cssm/hooks/useTodayDate.js +3 -2
- package/dist/cssm/hooks/useTodayDate.js.map +1 -1
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/accessibility.js +8 -0
- package/dist/cssm/lib/accessibility.js.map +1 -1
- package/dist/cssm/lib/calendar.js +9 -7
- package/dist/cssm/lib/calendar.js.map +1 -1
- package/dist/cssm/lib/date.js +66 -3
- package/dist/cssm/lib/date.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js +18 -8
- package/dist/cssm/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
- package/dist/cssm/lib/touch/UIPanGestureRecognizer.js +2 -2
- package/dist/cssm/lib/touch/UIPanGestureRecognizer.js.map +1 -1
- package/dist/cssm/lib/utils.js +1 -0
- package/dist/cssm/lib/utils.js.map +1 -1
- package/dist/cssm/styles/dynamicTokens.css +14 -2
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/hooks/useCalendar.d.ts.map +1 -1
- package/dist/hooks/useCalendar.js +6 -4
- package/dist/hooks/useCalendar.js.map +1 -1
- package/dist/hooks/useFloatingElement.d.ts +1 -1
- package/dist/hooks/useFloatingElement.d.ts.map +1 -1
- package/dist/hooks/useFloatingElement.js +3 -2
- package/dist/hooks/useFloatingElement.js.map +1 -1
- package/dist/hooks/useTodayDate.d.ts.map +1 -1
- package/dist/hooks/useTodayDate.js +3 -2
- package/dist/hooks/useTodayDate.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/accessibility.d.ts +1 -1
- package/dist/lib/accessibility.d.ts.map +1 -1
- package/dist/lib/accessibility.js +8 -0
- package/dist/lib/accessibility.js.map +1 -1
- package/dist/lib/calendar.d.ts.map +1 -1
- package/dist/lib/calendar.js +9 -7
- package/dist/lib/calendar.js.map +1 -1
- package/dist/lib/date.d.ts +31 -1
- package/dist/lib/date.d.ts.map +1 -1
- package/dist/lib/date.js +67 -3
- package/dist/lib/date.js.map +1 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts +6 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js +18 -8
- package/dist/lib/floating/useFloatingMiddlewaresBootstrap/index.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/types.d.ts +2 -0
- package/dist/lib/floating/useFloatingWithInteractions/types.d.ts.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/types.js.map +1 -1
- package/dist/lib/touch/UIPanGestureRecognizer.d.ts.map +1 -1
- package/dist/lib/touch/UIPanGestureRecognizer.js +2 -2
- package/dist/lib/touch/UIPanGestureRecognizer.js.map +1 -1
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +1 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +6 -7
- package/src/components/Banner/Banner.module.css +1 -6
- package/src/components/Banner/Banner.module.css.d.ts.map +1 -1
- package/src/components/Calendar/Calendar.tsx +6 -6
- package/src/components/CalendarDays/CalendarDays.tsx +3 -3
- package/src/components/CalendarRange/CalendarRange.tsx +15 -20
- package/src/components/CalendarRange/utils.ts +7 -6
- package/src/components/Cell/Cell.tsx +3 -0
- package/src/components/Checkbox/Checkbox.tsx +6 -0
- package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css +7 -2
- package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.module.css.d.ts.map +1 -1
- package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx +12 -3
- package/src/components/ChipsInputBase/Chip/Chip.module.css +8 -1
- package/src/components/ChipsInputBase/Chip/Chip.module.css.d.ts.map +1 -1
- package/src/components/ChipsInputBase/Chip/Chip.tsx +55 -1
- package/src/components/ChipsInputBase/types.ts +2 -45
- package/src/components/ContentBadge/ContentBadge.tsx +18 -12
- package/src/components/ContentCard/ContentCard.tsx +1 -1
- package/src/components/CustomSelect/CustomSelect.tsx +216 -562
- package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css +12 -0
- package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.module.css.d.ts.map +1 -1
- package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +25 -2
- package/src/components/CustomSelect/helpers.ts +103 -0
- package/src/components/CustomSelect/hooks/useAfterItems.tsx +89 -0
- package/src/components/CustomSelect/hooks/useDropdownOpenedController.ts +61 -0
- package/src/components/CustomSelect/hooks/useFocusedOptionController.ts +86 -0
- package/src/components/CustomSelect/hooks/useInputKeyboardController.ts +96 -0
- package/src/components/CustomSelect/hooks/useInputValueController.ts +58 -0
- package/src/components/CustomSelect/hooks/useScrollListController.ts +46 -0
- package/src/components/CustomSelect/hooks/useSelectedOptionController.ts +132 -0
- package/src/components/CustomSelect/types.ts +38 -0
- package/src/components/CustomSelectDropdown/CustomSelectDropdown.tsx +1 -0
- package/src/components/DateInput/DateInput.tsx +9 -3
- package/src/components/DateRangeInput/DateRangeInput.tsx +9 -6
- package/src/components/ImageBase/ImageBaseBadge/ImageBaseBadge.tsx +1 -1
- package/src/components/MiniInfoCell/MiniInfoCell.tsx +8 -3
- package/src/components/ModalCard/ModalCard.tsx +2 -0
- package/src/components/ModalCard/ModalCardInternal.tsx +8 -2
- package/src/components/ModalCard/types.ts +8 -0
- package/src/components/ModalOutlet/ModalOutlet.module.css +4 -0
- package/src/components/ModalOutlet/ModalOutlet.module.css.d.ts.map +1 -1
- package/src/components/ModalOutlet/ModalOutlet.tsx +8 -1
- package/src/components/ModalOverlay/ModalOverlay.module.css +1 -1
- package/src/components/ModalPage/ModalPage.module.css +1 -0
- package/src/components/ModalPage/ModalPage.module.css.d.ts.map +1 -1
- package/src/components/ModalPage/ModalPage.tsx +2 -0
- package/src/components/ModalPage/ModalPageInternal.tsx +8 -2
- package/src/components/ModalPage/types.ts +8 -0
- package/src/components/ModalRoot/ModalRoot.tsx +19 -6
- package/src/components/ModalRoot/types.ts +7 -0
- package/src/components/ModalRoot/useModalManager.tsx +4 -0
- package/src/components/OnboardingTooltip/OnboardingTooltip.tsx +3 -0
- package/src/components/Popover/Popover.tsx +1 -0
- package/src/components/Popover/usePopover.tsx +2 -0
- package/src/components/Popper/Popper.tsx +3 -0
- package/src/components/RichCell/RichCell.module.css +4 -2
- package/src/components/RichCell/RichCell.module.css.d.ts.map +1 -1
- package/src/components/Select/Select.tsx +5 -5
- package/src/components/SelectionControl/SelectionControl.module.css +6 -3
- package/src/components/SelectionControl/SelectionControl.module.css.d.ts.map +1 -1
- package/src/components/SelectionControl/SelectionControl.tsx +30 -8
- package/src/components/SelectionControl/SelectionControlContext.ts +7 -0
- package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css +6 -3
- package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.module.css.d.ts.map +1 -1
- package/src/components/SelectionControl/SelectionControlLabel/SelectionControlLabel.tsx +7 -1
- package/src/components/SimpleCell/SimpleCell.tsx +5 -0
- package/src/components/Skeleton/Skeleton.tsx +1 -1
- package/src/components/Slider/SliderThumb/SliderThumb.module.css +1 -1
- package/src/components/Tabs/Tabs.tsx +16 -12
- package/src/components/Tabs/TabsController.ts +2 -2
- package/src/components/Tabs/TabsControllerContext.ts +7 -0
- package/src/components/Tabs/TabsModeContext.ts +0 -3
- package/src/components/TabsItem/TabsItem.tsx +5 -9
- package/src/components/Tooltip/Tooltip.tsx +1 -0
- package/src/components/Tooltip/useTooltip.tsx +2 -0
- package/src/components/Typography/Caption/Caption.tsx +14 -6
- package/src/components/Typography/Footnote/Footnote.tsx +10 -6
- package/src/components/Typography/Typography.tsx +9 -2
- package/src/components/View/View.module.css +1 -1
- package/src/components/View/View.tsx +2 -1
- package/src/components/View/ViewInfinite.tsx +2 -1
- package/src/components/VisuallyHidden/VisuallyHidden.module.css +0 -2
- package/src/components/VisuallyHidden/VisuallyHidden.module.css.d.ts.map +1 -1
- package/src/hooks/useCalendar.ts +6 -4
- package/src/hooks/useFloatingElement.tsx +2 -0
- package/src/hooks/useTodayDate.ts +3 -2
- package/src/index.ts +5 -3
- package/src/lib/accessibility.ts +4 -0
- package/src/lib/calendar.ts +8 -12
- package/src/lib/date.ts +82 -3
- package/src/lib/floating/useFloatingMiddlewaresBootstrap/index.ts +23 -10
- package/src/lib/floating/useFloatingWithInteractions/types.ts +2 -0
- package/src/lib/touch/UIPanGestureRecognizer.ts +2 -2
- package/src/lib/utils.ts +3 -0
- package/src/styles/dynamicTokens.css +13 -2
|
@@ -15,7 +15,7 @@ import { DEFAULT_DRAGGABLE_LABEL } from "./constants.js";
|
|
|
15
15
|
/**
|
|
16
16
|
* @see https://vkui.io/components/cell
|
|
17
17
|
*/ export const Cell = (_param)=>{
|
|
18
|
-
var { mode, onRemove, removePlaceholder = 'Удалить', onDragFinish, before, after, disabled, draggable, Component: ComponentProps, onChange, name, value, checked, defaultChecked, getRootRef, draggerLabel = DEFAULT_DRAGGABLE_LABEL, className, style, toggleButtonTestId, removeButtonTestId } = _param, restProps = _object_without_properties(_param, [
|
|
18
|
+
var { mode, onRemove, removePlaceholder = 'Удалить', onDragFinish, before, after, disabled, draggable, Component: ComponentProps, onChange, name, value, checked, defaultChecked, getRootRef, draggerLabel = DEFAULT_DRAGGABLE_LABEL, className, style, toggleButtonTestId, removeButtonTestId, href: hrefProp } = _param, restProps = _object_without_properties(_param, [
|
|
19
19
|
"mode",
|
|
20
20
|
"onRemove",
|
|
21
21
|
"removePlaceholder",
|
|
@@ -35,12 +35,14 @@ import { DEFAULT_DRAGGABLE_LABEL } from "./constants.js";
|
|
|
35
35
|
"className",
|
|
36
36
|
"style",
|
|
37
37
|
"toggleButtonTestId",
|
|
38
|
-
"removeButtonTestId"
|
|
38
|
+
"removeButtonTestId",
|
|
39
|
+
"href"
|
|
39
40
|
]);
|
|
40
41
|
const [dragging, setDragging] = React.useState(false);
|
|
41
42
|
const selectable = mode === 'selectable';
|
|
42
43
|
const removable = mode === 'removable';
|
|
43
44
|
const Component = selectable ? 'label' : ComponentProps;
|
|
45
|
+
const href = selectable ? undefined : hrefProp;
|
|
44
46
|
const platform = usePlatform();
|
|
45
47
|
const rootElRef = useExternRef(getRootRef);
|
|
46
48
|
const dragger = draggable ? /*#__PURE__*/ _jsx(CellDragger, {
|
|
@@ -69,7 +71,8 @@ import { DEFAULT_DRAGGABLE_LABEL } from "./constants.js";
|
|
|
69
71
|
const simpleCellProps = _object_spread_props(_object_spread(_object_spread_props(_object_spread({
|
|
70
72
|
hasActive: hasActive,
|
|
71
73
|
hasHover: hasActive && !removable,
|
|
72
|
-
disabled
|
|
74
|
+
disabled,
|
|
75
|
+
href
|
|
73
76
|
}, restProps), {
|
|
74
77
|
className: "vkuiCell__content"
|
|
75
78
|
}), Component && {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Cell/Cell.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { SwappedItemRange } from '../../hooks/useDraggableWithDomApi';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasRootRef } from '../../types';\nimport { Removable, type RemovableProps } from '../Removable/Removable';\nimport { SimpleCell, type SimpleCellProps } from '../SimpleCell/SimpleCell';\nimport { CellCheckbox, type CellCheckboxProps } from './CellCheckbox/CellCheckbox';\nimport { CellDragger } from './CellDragger/CellDragger';\nimport { DEFAULT_DRAGGABLE_LABEL } from './constants';\nimport styles from './Cell.module.css';\n\nexport interface CellProps\n extends Omit<SimpleCellProps, 'getRootRef'>,\n RemovableProps,\n HasRootRef<HTMLDivElement> {\n /**\n * Режим отображения ячейки:\n *\n * - \"removable\": добавляется кнопка для удаления\n * - \"selectable\": добавляется чекбокс для выбора.\n */\n mode?: 'removable' | 'selectable';\n /**\n * В режиме перетаскивания ячейка перестает реагировать на нажатие, то есть при нажатии переданный `onClick` вызываться не будет.\n */\n draggable?: boolean;\n /**\n * Имя для `input` в режиме `selectable`.\n */\n name?: string;\n /**\n * В режиме `selectable` реагирует на входящие значения пропса `cheсked`, как зависящий напрямую от входящего значения.\n */\n checked?: boolean;\n /**\n * В режиме `selectable` реагирует на входящие значения пропса `defaultChecked` как неконтролируемый компонент.\n */\n defaultChecked?: boolean;\n /**\n * Обработчик, срабатывающий при завершении перетаскивания.\n * **Важно:** режим перетаскивания не меняет порядок ячеек в DOM. В обработчике есть объект с полями `from` и `to`.\n * Эти числа нужны для того, чтобы разработчик понимал, с какого индекса на какой произошел переход. В песочнице\n * есть рабочий пример с обработкой этих чисел и перерисовкой списка.\n */\n onDragFinish?: (swappedItemRange: SwappedItemRange) => void;\n /**\n * Текст для кнопки перетаскивания ячейки.\n */\n draggerLabel?: string;\n}\n\n/**\n * @see https://vkui.io/components/cell\n */\nexport const Cell: React.FC<CellProps> & {\n Checkbox: typeof CellCheckbox;\n} = ({\n mode,\n onRemove,\n removePlaceholder = 'Удалить',\n onDragFinish,\n before,\n after,\n disabled,\n draggable,\n Component: ComponentProps,\n onChange,\n name,\n value,\n checked,\n defaultChecked,\n getRootRef,\n draggerLabel = DEFAULT_DRAGGABLE_LABEL,\n className,\n style,\n toggleButtonTestId,\n removeButtonTestId,\n ...restProps\n}: CellProps) => {\n const [dragging, setDragging] = React.useState(false);\n const selectable = mode === 'selectable';\n const removable = mode === 'removable';\n const Component = selectable ? 'label' : ComponentProps;\n\n const platform = usePlatform();\n\n const rootElRef = useExternRef(getRootRef);\n\n const dragger = draggable ? (\n <CellDragger\n elRef={rootElRef}\n className={classNames(styles.dragger, !before && !selectable && styles.controlNoBefore)}\n onDragStateChange={setDragging}\n onDragFinish={onDragFinish}\n >\n {draggerLabel}\n </CellDragger>\n ) : null;\n\n let checkbox;\n if (selectable) {\n const checkboxProps: CellCheckboxProps = {\n name,\n value,\n defaultChecked,\n checked,\n disabled,\n onChange,\n };\n checkbox = (\n <CellCheckbox\n className={classNames(styles.checkbox, !before && styles.controlNoBefore)}\n {...checkboxProps}\n />\n );\n }\n\n const hasActive = !disabled && !dragging;\n\n const cellClasses = classNames(\n styles.host,\n dragging && styles.dragging,\n platform === 'ios' && styles.ios,\n removable && styles.removable,\n );\n\n const simpleCellProps: SimpleCellProps = {\n hasActive: hasActive,\n hasHover: hasActive && !removable,\n disabled,\n ...restProps,\n className: styles.content,\n // чтобы свойство, если не определено, не присутствовало в\n // restProps явно как {'Component': undefined} и ниже не переопределяло\n // возможное значение commonProps.Component = 'a' при слиянии двух объектов, как\n // {...commonProps, ...restProps}\n ...(Component && { Component }),\n before: (\n <React.Fragment>\n {draggable && platform !== 'ios' && dragger}\n {selectable && checkbox}\n {before}\n </React.Fragment>\n ),\n after: (\n <React.Fragment>\n {draggable && platform === 'ios' && dragger}\n {after}\n </React.Fragment>\n ),\n };\n\n if (removable) {\n return (\n <Removable\n className={classNames(cellClasses, className)}\n style={style}\n getRootRef={rootElRef}\n removePlaceholder={removePlaceholder}\n onRemove={(e) => onRemove?.(e, rootElRef.current)}\n toggleButtonTestId={toggleButtonTestId}\n removeButtonTestId={removeButtonTestId}\n disabled={disabled}\n >\n {platform === 'ios' ? (\n ({ isRemoving }) => {\n return (\n <SimpleCell {...simpleCellProps} {...(isRemoving ? { onClick: undefined } : {})} />\n );\n }\n ) : (\n <SimpleCell {...simpleCellProps} />\n )}\n </Removable>\n );\n }\n\n return (\n <div className={classNames(cellClasses, className)} style={style} ref={rootElRef}>\n <SimpleCell {...simpleCellProps} />\n </div>\n );\n};\n\nCell.Checkbox = CellCheckbox;\n"],"names":["React","classNames","useExternRef","usePlatform","Removable","SimpleCell","CellCheckbox","CellDragger","DEFAULT_DRAGGABLE_LABEL","Cell","mode","onRemove","removePlaceholder","onDragFinish","before","after","disabled","draggable","Component","ComponentProps","onChange","name","value","checked","defaultChecked","getRootRef","draggerLabel","className","style","toggleButtonTestId","removeButtonTestId","restProps","dragging","setDragging","useState","selectable","removable","platform","rootElRef","dragger","elRef","onDragStateChange","checkbox","checkboxProps","hasActive","cellClasses","simpleCellProps","hasHover","Fragment","e","current","isRemoving","onClick","
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Cell/Cell.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport type { SwappedItemRange } from '../../hooks/useDraggableWithDomApi';\nimport { useExternRef } from '../../hooks/useExternRef';\nimport { usePlatform } from '../../hooks/usePlatform';\nimport type { HasRootRef } from '../../types';\nimport { Removable, type RemovableProps } from '../Removable/Removable';\nimport { SimpleCell, type SimpleCellProps } from '../SimpleCell/SimpleCell';\nimport { CellCheckbox, type CellCheckboxProps } from './CellCheckbox/CellCheckbox';\nimport { CellDragger } from './CellDragger/CellDragger';\nimport { DEFAULT_DRAGGABLE_LABEL } from './constants';\nimport styles from './Cell.module.css';\n\nexport interface CellProps\n extends Omit<SimpleCellProps, 'getRootRef'>,\n RemovableProps,\n HasRootRef<HTMLDivElement> {\n /**\n * Режим отображения ячейки:\n *\n * - \"removable\": добавляется кнопка для удаления\n * - \"selectable\": добавляется чекбокс для выбора.\n */\n mode?: 'removable' | 'selectable';\n /**\n * В режиме перетаскивания ячейка перестает реагировать на нажатие, то есть при нажатии переданный `onClick` вызываться не будет.\n */\n draggable?: boolean;\n /**\n * Имя для `input` в режиме `selectable`.\n */\n name?: string;\n /**\n * В режиме `selectable` реагирует на входящие значения пропса `cheсked`, как зависящий напрямую от входящего значения.\n */\n checked?: boolean;\n /**\n * В режиме `selectable` реагирует на входящие значения пропса `defaultChecked` как неконтролируемый компонент.\n */\n defaultChecked?: boolean;\n /**\n * Обработчик, срабатывающий при завершении перетаскивания.\n * **Важно:** режим перетаскивания не меняет порядок ячеек в DOM. В обработчике есть объект с полями `from` и `to`.\n * Эти числа нужны для того, чтобы разработчик понимал, с какого индекса на какой произошел переход. В песочнице\n * есть рабочий пример с обработкой этих чисел и перерисовкой списка.\n */\n onDragFinish?: (swappedItemRange: SwappedItemRange) => void;\n /**\n * Текст для кнопки перетаскивания ячейки.\n */\n draggerLabel?: string;\n}\n\n/**\n * @see https://vkui.io/components/cell\n */\nexport const Cell: React.FC<CellProps> & {\n Checkbox: typeof CellCheckbox;\n} = ({\n mode,\n onRemove,\n removePlaceholder = 'Удалить',\n onDragFinish,\n before,\n after,\n disabled,\n draggable,\n Component: ComponentProps,\n onChange,\n name,\n value,\n checked,\n defaultChecked,\n getRootRef,\n draggerLabel = DEFAULT_DRAGGABLE_LABEL,\n className,\n style,\n toggleButtonTestId,\n removeButtonTestId,\n href: hrefProp,\n ...restProps\n}: CellProps) => {\n const [dragging, setDragging] = React.useState(false);\n const selectable = mode === 'selectable';\n const removable = mode === 'removable';\n const Component = selectable ? 'label' : ComponentProps;\n const href = selectable ? undefined : hrefProp;\n\n const platform = usePlatform();\n\n const rootElRef = useExternRef(getRootRef);\n\n const dragger = draggable ? (\n <CellDragger\n elRef={rootElRef}\n className={classNames(styles.dragger, !before && !selectable && styles.controlNoBefore)}\n onDragStateChange={setDragging}\n onDragFinish={onDragFinish}\n >\n {draggerLabel}\n </CellDragger>\n ) : null;\n\n let checkbox;\n if (selectable) {\n const checkboxProps: CellCheckboxProps = {\n name,\n value,\n defaultChecked,\n checked,\n disabled,\n onChange,\n };\n checkbox = (\n <CellCheckbox\n className={classNames(styles.checkbox, !before && styles.controlNoBefore)}\n {...checkboxProps}\n />\n );\n }\n\n const hasActive = !disabled && !dragging;\n\n const cellClasses = classNames(\n styles.host,\n dragging && styles.dragging,\n platform === 'ios' && styles.ios,\n removable && styles.removable,\n );\n\n const simpleCellProps: SimpleCellProps = {\n hasActive: hasActive,\n hasHover: hasActive && !removable,\n disabled,\n href,\n ...restProps,\n className: styles.content,\n // чтобы свойство, если не определено, не присутствовало в\n // restProps явно как {'Component': undefined} и ниже не переопределяло\n // возможное значение commonProps.Component = 'a' при слиянии двух объектов, как\n // {...commonProps, ...restProps}\n ...(Component && { Component }),\n before: (\n <React.Fragment>\n {draggable && platform !== 'ios' && dragger}\n {selectable && checkbox}\n {before}\n </React.Fragment>\n ),\n after: (\n <React.Fragment>\n {draggable && platform === 'ios' && dragger}\n {after}\n </React.Fragment>\n ),\n };\n\n if (removable) {\n return (\n <Removable\n className={classNames(cellClasses, className)}\n style={style}\n getRootRef={rootElRef}\n removePlaceholder={removePlaceholder}\n onRemove={(e) => onRemove?.(e, rootElRef.current)}\n toggleButtonTestId={toggleButtonTestId}\n removeButtonTestId={removeButtonTestId}\n disabled={disabled}\n >\n {platform === 'ios' ? (\n ({ isRemoving }) => {\n return (\n <SimpleCell {...simpleCellProps} {...(isRemoving ? { onClick: undefined } : {})} />\n );\n }\n ) : (\n <SimpleCell {...simpleCellProps} />\n )}\n </Removable>\n );\n }\n\n return (\n <div className={classNames(cellClasses, className)} style={style} ref={rootElRef}>\n <SimpleCell {...simpleCellProps} />\n </div>\n );\n};\n\nCell.Checkbox = CellCheckbox;\n"],"names":["React","classNames","useExternRef","usePlatform","Removable","SimpleCell","CellCheckbox","CellDragger","DEFAULT_DRAGGABLE_LABEL","Cell","mode","onRemove","removePlaceholder","onDragFinish","before","after","disabled","draggable","Component","ComponentProps","onChange","name","value","checked","defaultChecked","getRootRef","draggerLabel","className","style","toggleButtonTestId","removeButtonTestId","href","hrefProp","restProps","dragging","setDragging","useState","selectable","removable","undefined","platform","rootElRef","dragger","elRef","onDragStateChange","checkbox","checkboxProps","hasActive","cellClasses","simpleCellProps","hasHover","Fragment","e","current","isRemoving","onClick","div","ref","Checkbox"],"mappings":"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"}
|
|
@@ -62,6 +62,8 @@ export declare const CellButtonGroup: {
|
|
|
62
62
|
inert?: boolean | undefined | undefined;
|
|
63
63
|
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
64
64
|
is?: string | undefined | undefined;
|
|
65
|
+
exportparts?: string | undefined | undefined;
|
|
66
|
+
part?: string | undefined | undefined;
|
|
65
67
|
"aria-activedescendant"?: string | undefined | undefined;
|
|
66
68
|
"aria-atomic"?: (boolean | "false" | "true") | undefined;
|
|
67
69
|
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
|
|
@@ -137,7 +139,7 @@ export declare const CellButtonGroup: {
|
|
|
137
139
|
onBlurCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
|
|
138
140
|
onChange?: React.FormEventHandler<HTMLDivElement> | undefined;
|
|
139
141
|
onChangeCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
|
|
140
|
-
onBeforeInput?: React.
|
|
142
|
+
onBeforeInput?: React.InputEventHandler<HTMLDivElement> | undefined;
|
|
141
143
|
onBeforeInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
|
|
142
144
|
onInput?: React.FormEventHandler<HTMLDivElement> | undefined;
|
|
143
145
|
onInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
|
|
@@ -187,8 +189,6 @@ export declare const CellButtonGroup: {
|
|
|
187
189
|
onProgressCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
|
|
188
190
|
onRateChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
|
|
189
191
|
onRateChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
|
|
190
|
-
onResize?: React.ReactEventHandler<HTMLDivElement> | undefined;
|
|
191
|
-
onResizeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
|
|
192
192
|
onSeeked?: React.ReactEventHandler<HTMLDivElement> | undefined;
|
|
193
193
|
onSeekedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
|
|
194
194
|
onSeeking?: React.ReactEventHandler<HTMLDivElement> | undefined;
|
|
@@ -269,6 +269,8 @@ export declare const CellButtonGroup: {
|
|
|
269
269
|
onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
|
|
270
270
|
onScroll?: React.UIEventHandler<HTMLDivElement> | undefined;
|
|
271
271
|
onScrollCapture?: React.UIEventHandler<HTMLDivElement> | undefined;
|
|
272
|
+
onScrollEnd?: React.UIEventHandler<HTMLDivElement> | undefined;
|
|
273
|
+
onScrollEndCapture?: React.UIEventHandler<HTMLDivElement> | undefined;
|
|
272
274
|
onWheel?: React.WheelEventHandler<HTMLDivElement> | undefined;
|
|
273
275
|
onWheelCapture?: React.WheelEventHandler<HTMLDivElement> | undefined;
|
|
274
276
|
onAnimationStart?: React.AnimationEventHandler<HTMLDivElement> | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/components/CellButtonGroup/CellButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI7D,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,eAAe;YAAW,oBAAoB,GAAG,KAAK,CAAC,SAAS
|
|
1
|
+
{"version":3,"file":"CellButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/components/CellButtonGroup/CellButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI7D,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,eAAe;YAAW,oBAAoB,GAAG,KAAK,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE5E,CAAC"}
|
|
@@ -11,6 +11,10 @@ export interface CheckboxProps extends Omit<CheckboxInputProps, 'getRootRef'>, H
|
|
|
11
11
|
* Контент, идущий за основным текстом.
|
|
12
12
|
*/
|
|
13
13
|
titleAfter?: React.ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Отключает отступы у чекбокса. При использовании этого свойства, значение по умолчанию для свойств `hoverMode` и `activeMode` становится `"opacity"`.
|
|
16
|
+
*/
|
|
17
|
+
noPadding?: boolean;
|
|
14
18
|
}
|
|
15
19
|
/**
|
|
16
20
|
* @see https://vkui.io/components/checkbox
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGvF,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAC5C,UAAU,CAAC,gBAAgB,CAAC,EAC5B,IAAI,CACF,iBAAiB,EACjB,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,kBAAkB,CAC3E;IACH;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGvF,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAC5C,UAAU,CAAC,gBAAgB,CAAC,EAC5B,IAAI,CACF,iBAAiB,EACjB,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,kBAAkB,CAC3E;IACH;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAsCD;;GAEG;AACH,eAAO,MAAM,QAAQ;YAAW,aAAa,GAAG,KAAK,CAAC,SAAS;;CAO9D,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { SelectionControlLabel } from "../SelectionControl/SelectionControlLabel
|
|
|
8
8
|
import { CheckboxInput } from "./CheckboxInput/CheckboxInput.js";
|
|
9
9
|
import { CheckboxSimple } from "./CheckboxSimple/CheckboxSimple.js";
|
|
10
10
|
const CheckboxComponent = (_param)=>{
|
|
11
|
-
var { children, className, style, getRootRef, description, hoverMode, activeMode, hasHover, hasActive, focusVisibleMode, titleAfter } = _param, restProps = _object_without_properties(_param, [
|
|
11
|
+
var { children, className, style, getRootRef, description, hoverMode, activeMode, hasHover, hasActive, focusVisibleMode, titleAfter, noPadding } = _param, restProps = _object_without_properties(_param, [
|
|
12
12
|
"children",
|
|
13
13
|
"className",
|
|
14
14
|
"style",
|
|
@@ -19,7 +19,8 @@ const CheckboxComponent = (_param)=>{
|
|
|
19
19
|
"hasHover",
|
|
20
20
|
"hasActive",
|
|
21
21
|
"focusVisibleMode",
|
|
22
|
-
"titleAfter"
|
|
22
|
+
"titleAfter",
|
|
23
|
+
"noPadding"
|
|
23
24
|
]);
|
|
24
25
|
return /*#__PURE__*/ _jsxs(SelectionControl, {
|
|
25
26
|
className: className,
|
|
@@ -31,6 +32,7 @@ const CheckboxComponent = (_param)=>{
|
|
|
31
32
|
hasHover: hasHover,
|
|
32
33
|
hasActive: hasActive,
|
|
33
34
|
focusVisibleMode: focusVisibleMode,
|
|
35
|
+
noPadding: noPadding,
|
|
34
36
|
children: [
|
|
35
37
|
/*#__PURE__*/ _jsx(CheckboxInput, _object_spread({}, restProps)),
|
|
36
38
|
/*#__PURE__*/ _jsx(SelectionControlLabel, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport type { HasRootRef } from '../../types';\nimport { SelectionControl } from '../SelectionControl/SelectionControl';\nimport { SelectionControlLabel } from '../SelectionControl/SelectionControlLabel/SelectionControlLabel';\nimport type { TappableOmitProps } from '../Tappable/Tappable';\nimport { CheckboxInput, type CheckboxInputProps } from './CheckboxInput/CheckboxInput';\nimport { CheckboxSimple } from './CheckboxSimple/CheckboxSimple';\n\nexport interface CheckboxProps\n extends Omit<CheckboxInputProps, 'getRootRef'>,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n /**\n * Подпись под основным текстом.\n */\n description?: React.ReactNode;\n /**\n * Контент, идущий за основным текстом.\n */\n titleAfter?: React.ReactNode;\n}\n\nconst CheckboxComponent = ({\n children,\n className,\n style,\n getRootRef,\n description,\n hoverMode,\n activeMode,\n hasHover,\n hasActive,\n focusVisibleMode,\n titleAfter,\n ...restProps\n}: CheckboxProps): React.ReactNode => {\n return (\n <SelectionControl\n className={className}\n style={style}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n >\n <CheckboxInput {...restProps} />\n <SelectionControlLabel titleAfter={titleAfter} description={description}>\n {children}\n </SelectionControlLabel>\n </SelectionControl>\n );\n};\n\n/**\n * @see https://vkui.io/components/checkbox\n */\nexport const Checkbox = (props: CheckboxProps): React.ReactNode => {\n const simple = !(hasReactNode(props.children) || hasReactNode(props.description));\n if (simple) {\n return <CheckboxSimple {...props} />;\n }\n\n return <CheckboxComponent {...props} />;\n};\n\nCheckbox.Input = CheckboxInput;\n"],"names":["React","hasReactNode","SelectionControl","SelectionControlLabel","CheckboxInput","CheckboxSimple","CheckboxComponent","children","className","style","getRootRef","description","hoverMode","activeMode","hasHover","hasActive","focusVisibleMode","titleAfter","restProps","disabled","Checkbox","props","simple","Input"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,SAASC,qBAAqB,QAAQ,qEAAkE;AAExG,SAASC,aAAa,QAAiC,mCAAgC;AACvF,SAASC,cAAc,QAAQ,qCAAkC;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import * as React from 'react';\nimport { hasReactNode } from '@vkontakte/vkjs';\nimport type { HasRootRef } from '../../types';\nimport { SelectionControl } from '../SelectionControl/SelectionControl';\nimport { SelectionControlLabel } from '../SelectionControl/SelectionControlLabel/SelectionControlLabel';\nimport type { TappableOmitProps } from '../Tappable/Tappable';\nimport { CheckboxInput, type CheckboxInputProps } from './CheckboxInput/CheckboxInput';\nimport { CheckboxSimple } from './CheckboxSimple/CheckboxSimple';\n\nexport interface CheckboxProps\n extends Omit<CheckboxInputProps, 'getRootRef'>,\n HasRootRef<HTMLLabelElement>,\n Pick<\n TappableOmitProps,\n 'hoverMode' | 'activeMode' | 'hasHover' | 'hasActive' | 'focusVisibleMode'\n > {\n /**\n * Подпись под основным текстом.\n */\n description?: React.ReactNode;\n /**\n * Контент, идущий за основным текстом.\n */\n titleAfter?: React.ReactNode;\n /**\n * Отключает отступы у чекбокса. При использовании этого свойства, значение по умолчанию для свойств `hoverMode` и `activeMode` становится `\"opacity\"`.\n */\n noPadding?: boolean;\n}\n\nconst CheckboxComponent = ({\n children,\n className,\n style,\n getRootRef,\n description,\n hoverMode,\n activeMode,\n hasHover,\n hasActive,\n focusVisibleMode,\n titleAfter,\n noPadding,\n ...restProps\n}: CheckboxProps): React.ReactNode => {\n return (\n <SelectionControl\n className={className}\n style={style}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n noPadding={noPadding}\n >\n <CheckboxInput {...restProps} />\n <SelectionControlLabel titleAfter={titleAfter} description={description}>\n {children}\n </SelectionControlLabel>\n </SelectionControl>\n );\n};\n\n/**\n * @see https://vkui.io/components/checkbox\n */\nexport const Checkbox = (props: CheckboxProps): React.ReactNode => {\n const simple = !(hasReactNode(props.children) || hasReactNode(props.description));\n if (simple) {\n return <CheckboxSimple {...props} />;\n }\n\n return <CheckboxComponent {...props} />;\n};\n\nCheckbox.Input = CheckboxInput;\n"],"names":["React","hasReactNode","SelectionControl","SelectionControlLabel","CheckboxInput","CheckboxSimple","CheckboxComponent","children","className","style","getRootRef","description","hoverMode","activeMode","hasHover","hasActive","focusVisibleMode","titleAfter","noPadding","restProps","disabled","Checkbox","props","simple","Input"],"mappings":";;;AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,gBAAgB,QAAQ,0CAAuC;AACxE,SAASC,qBAAqB,QAAQ,qEAAkE;AAExG,SAASC,aAAa,QAAiC,mCAAgC;AACvF,SAASC,cAAc,QAAQ,qCAAkC;AAuBjE,MAAMC,oBAAoB;QAAC,EACzBC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,SAAS,EAEK,WADXC;QAZHZ;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,qBACE,MAAChB;QACCM,WAAWA;QACXC,OAAOA;QACPW,UAAUD,UAAUC,QAAQ;QAC5BV,YAAYA;QACZE,WAAWA;QACXC,YAAYA;QACZC,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;QAClBE,WAAWA;;0BAEX,KAACd,kCAAkBe;0BACnB,KAAChB;gBAAsBc,YAAYA;gBAAYN,aAAaA;0BACzDJ;;;;AAIT;AAEA;;CAEC,GACD,OAAO,MAAMc,WAAW,CAACC;IACvB,MAAMC,SAAS,CAAEtB,CAAAA,aAAaqB,MAAMf,QAAQ,KAAKN,aAAaqB,MAAMX,WAAW,CAAA;IAC/E,IAAIY,QAAQ;QACV,qBAAO,KAAClB,mCAAmBiB;IAC7B;IAEA,qBAAO,KAAChB,sCAAsBgB;AAChC,EAAE;AAEFD,SAASG,KAAK,GAAGpB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { CheckboxProps } from '../Checkbox';
|
|
2
|
-
export declare function CheckboxSimple({ children, className, style, getRootRef, description, hoverMode, activeMode, hasHover, hasActive, focusVisibleMode, titleAfter, ...restProps }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function CheckboxSimple({ children, className, style, getRootRef, description, hoverMode: hoverModeProp, activeMode: activeModeProp, hasHover, hasActive, focusVisibleMode, titleAfter, noPadding, ...restProps }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=CheckboxSimple.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxSimple.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,
|
|
1
|
+
{"version":3,"file":"CheckboxSimple.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,GAAG,SAAS,EACb,EAAE,aAAa,2CA2Bf"}
|
|
@@ -11,7 +11,7 @@ const sizeYClassNames = {
|
|
|
11
11
|
compact: "vkuiCheckboxSimple__sizeYCompact"
|
|
12
12
|
};
|
|
13
13
|
export function CheckboxSimple(_param) {
|
|
14
|
-
var { children, className, style, getRootRef, description, hoverMode, activeMode, hasHover, hasActive, focusVisibleMode, titleAfter } = _param, restProps = _object_without_properties(_param, [
|
|
14
|
+
var { children, className, style, getRootRef, description, hoverMode: hoverModeProp, activeMode: activeModeProp, hasHover, hasActive, focusVisibleMode, titleAfter, noPadding } = _param, restProps = _object_without_properties(_param, [
|
|
15
15
|
"children",
|
|
16
16
|
"className",
|
|
17
17
|
"style",
|
|
@@ -22,11 +22,14 @@ export function CheckboxSimple(_param) {
|
|
|
22
22
|
"hasHover",
|
|
23
23
|
"hasActive",
|
|
24
24
|
"focusVisibleMode",
|
|
25
|
-
"titleAfter"
|
|
25
|
+
"titleAfter",
|
|
26
|
+
"noPadding"
|
|
26
27
|
]);
|
|
27
28
|
const { sizeY = 'none' } = useAdaptivity();
|
|
29
|
+
const hoverMode = hoverModeProp || (noPadding ? 'opacity' : 'background');
|
|
30
|
+
const activeMode = activeModeProp || (noPadding ? 'opacity' : 'background');
|
|
28
31
|
return /*#__PURE__*/ _jsx(Tappable, {
|
|
29
|
-
className: classNames(className, "vkuiCheckboxSimple__host", sizeY !== 'regular' && sizeYClassNames[sizeY]),
|
|
32
|
+
className: classNames(className, "vkuiCheckboxSimple__host", !noPadding && "vkuiCheckboxSimple__withPadding", sizeY !== 'regular' && sizeYClassNames[sizeY]),
|
|
30
33
|
style: style,
|
|
31
34
|
disabled: restProps.disabled,
|
|
32
35
|
getRootRef: getRootRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Tappable } from '../../Tappable/Tappable';\nimport type { CheckboxProps } from '../Checkbox';\nimport { CheckboxInput } from '../CheckboxInput/CheckboxInput';\nimport styles from './CheckboxSimple.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport function CheckboxSimple({\n children,\n className,\n style,\n getRootRef,\n description,\n hoverMode,\n activeMode,\n hasHover,\n hasActive,\n focusVisibleMode,\n titleAfter,\n ...restProps\n}: CheckboxProps) {\n const { sizeY = 'none' } = useAdaptivity();\n\n return (\n <Tappable\n className={classNames(className
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx"],"sourcesContent":["'use client';\n\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { Tappable } from '../../Tappable/Tappable';\nimport type { CheckboxProps } from '../Checkbox';\nimport { CheckboxInput } from '../CheckboxInput/CheckboxInput';\nimport styles from './CheckboxSimple.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n};\n\nexport function CheckboxSimple({\n children,\n className,\n style,\n getRootRef,\n description,\n hoverMode: hoverModeProp,\n activeMode: activeModeProp,\n hasHover,\n hasActive,\n focusVisibleMode,\n titleAfter,\n noPadding,\n ...restProps\n}: CheckboxProps) {\n const { sizeY = 'none' } = useAdaptivity();\n\n const hoverMode = hoverModeProp || (noPadding ? 'opacity' : 'background');\n const activeMode = activeModeProp || (noPadding ? 'opacity' : 'background');\n\n return (\n <Tappable\n className={classNames(\n className,\n styles.host,\n !noPadding && styles.withPadding,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n )}\n style={style}\n disabled={restProps.disabled}\n getRootRef={getRootRef}\n hoverMode={hoverMode}\n activeMode={activeMode}\n hasHover={hasHover}\n hasActive={hasActive}\n focusVisibleMode={focusVisibleMode}\n Component=\"label\"\n >\n <CheckboxInput {...restProps} />\n </Tappable>\n );\n}\n"],"names":["classNames","useAdaptivity","Tappable","CheckboxInput","sizeYClassNames","none","compact","CheckboxSimple","children","className","style","getRootRef","description","hoverMode","hoverModeProp","activeMode","activeModeProp","hasHover","hasActive","focusVisibleMode","titleAfter","noPadding","restProps","sizeY","disabled","Component"],"mappings":"AAAA;;;;AAEA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,QAAQ,QAAQ,6BAA0B;AAEnD,SAASC,aAAa,QAAQ,oCAAiC;AAG/D,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAEA,OAAO,SAASC,eAAe;QAAA,EAC7BC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,WAAW,EACXC,WAAWC,aAAa,EACxBC,YAAYC,cAAc,EAC1BC,QAAQ,EACRC,SAAS,EACTC,gBAAgB,EAChBC,UAAU,EACVC,SAAS,EAEK,GAde,QAa1BC,uCAb0B;QAC7Bd;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;QACAE;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAGtB;IAE3B,MAAMY,YAAYC,iBAAkBO,CAAAA,YAAY,YAAY,YAAW;IACvE,MAAMN,aAAaC,kBAAmBK,CAAAA,YAAY,YAAY,YAAW;IAEzE,qBACE,KAACnB;QACCO,WAAWT,WACTS,uCAEA,CAACY,gDACDE,UAAU,aAAanB,eAAe,CAACmB,MAAM;QAE/Cb,OAAOA;QACPc,UAAUF,UAAUE,QAAQ;QAC5Bb,YAAYA;QACZE,WAAWA;QACXE,YAAYA;QACZE,UAAUA;QACVC,WAAWA;QACXC,kBAAkBA;QAClBM,WAAU;kBAEV,cAAA,KAACtB,kCAAkBmB;;AAGzB"}
|
|
@@ -1,7 +1,46 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type
|
|
2
|
+
import { type HasComponent, type HasDataAttribute, type HTMLAttributesWithRootRef } from '../../../types';
|
|
3
|
+
import { type ChipOptionValue } from '../types';
|
|
4
|
+
export interface ChipProps extends HasComponent, HasDataAttribute, HTMLAttributesWithRootRef<HTMLElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Режим отображения компонента.
|
|
7
|
+
*/
|
|
8
|
+
mode?: 'primary' | 'secondary';
|
|
9
|
+
/**
|
|
10
|
+
* Значение чипа.
|
|
11
|
+
*/
|
|
12
|
+
value?: ChipOptionValue;
|
|
13
|
+
/**
|
|
14
|
+
* Можно ли удалить чип.
|
|
15
|
+
*/
|
|
16
|
+
removable?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Блокировка взаимодействия с чипом.
|
|
19
|
+
*/
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Режим только для чтения.
|
|
23
|
+
*/
|
|
24
|
+
readOnly?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Текст для кнопки удаления.
|
|
27
|
+
*/
|
|
28
|
+
removeLabel?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Контент перед основным содержимым.
|
|
31
|
+
*/
|
|
32
|
+
before?: React.ReactNode;
|
|
33
|
+
/**
|
|
34
|
+
* Контент после основного содержимого.
|
|
35
|
+
*/
|
|
36
|
+
after?: React.ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* Обработчик удаления чипа.
|
|
39
|
+
*/
|
|
40
|
+
onRemove?: (event: React.MouseEvent, value: ChipOptionValue) => void;
|
|
41
|
+
}
|
|
3
42
|
/**
|
|
4
43
|
* @see https://vkui.io/components/chip
|
|
5
44
|
*/
|
|
6
|
-
export declare const Chip: ({ Component, value, removable, onRemove, removeLabel, before, after, disabled, readOnly, children, className, onFocus: onFocusProp, onBlur: onBlurProp, ...restProps }: ChipProps) => React.ReactNode;
|
|
45
|
+
export declare const Chip: ({ mode, Component, value, removable, onRemove, removeLabel, before, after, disabled, readOnly, children, className, onFocus: onFocusProp, onBlur: onBlurProp, ...restProps }: ChipProps) => React.ReactNode;
|
|
7
46
|
//# sourceMappingURL=Chip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/components/ChipsInputBase/Chip/Chip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/components/ChipsInputBase/Chip/Chip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC/B,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAahD,MAAM,WAAW,SACf,SAAQ,YAAY,EAClB,gBAAgB,EAChB,yBAAyB,CAAC,WAAW,CAAC;IACxC;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACtE;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,8KAgBlB,SAAS,KAAG,KAAK,CAAC,SAiEpB,CAAC"}
|
|
@@ -16,10 +16,15 @@ const sizeYClassNames = {
|
|
|
16
16
|
none: "vkuiChip__sizeYNone",
|
|
17
17
|
compact: "vkuiChip__sizeYCompact"
|
|
18
18
|
};
|
|
19
|
+
const modeClassNames = {
|
|
20
|
+
primary: "vkuiChip__modePrimary",
|
|
21
|
+
secondary: "vkuiChip__modeSecondary"
|
|
22
|
+
};
|
|
19
23
|
/**
|
|
20
24
|
* @see https://vkui.io/components/chip
|
|
21
25
|
*/ export const Chip = (_param)=>{
|
|
22
|
-
var { Component = 'span', value = '', removable = true, onRemove, removeLabel = 'Удалить', before, after, disabled, readOnly, children, className, onFocus: onFocusProp, onBlur: onBlurProp } = _param, restProps = _object_without_properties(_param, [
|
|
26
|
+
var { mode = 'primary', Component = 'span', value = '', removable = true, onRemove, removeLabel = 'Удалить', before, after, disabled, readOnly, children, className, onFocus: onFocusProp, onBlur: onBlurProp } = _param, restProps = _object_without_properties(_param, [
|
|
27
|
+
"mode",
|
|
23
28
|
"Component",
|
|
24
29
|
"value",
|
|
25
30
|
"removable",
|
|
@@ -59,7 +64,7 @@ const sizeYClassNames = {
|
|
|
59
64
|
]);
|
|
60
65
|
return /*#__PURE__*/ _jsxs(RootComponent, _object_spread_props(_object_spread({}, restProps), {
|
|
61
66
|
Component: Component,
|
|
62
|
-
className: classNames("vkuiChip__host", sizeY !== 'regular' && sizeYClassNames[sizeY], focusVisibleClassName, className),
|
|
67
|
+
className: classNames("vkuiChip__host", sizeY !== 'regular' && sizeYClassNames[sizeY], modeClassNames[mode], focusVisibleClassName, className),
|
|
63
68
|
"aria-readonly": readOnly,
|
|
64
69
|
"aria-disabled": disabled,
|
|
65
70
|
onFocus: disabled ? undefined : handleFocus,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ChipsInputBase/Chip/Chip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useFocusVisible } from '../../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../../hooks/useFocusVisibleClassName';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { Footnote } from '../../Typography/Footnote/Footnote';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport type
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ChipsInputBase/Chip/Chip.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Icon16Cancel } from '@vkontakte/icons';\nimport { classNames, hasReactNode } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../../hooks/useAdaptivity';\nimport { useFocusVisible } from '../../../hooks/useFocusVisible';\nimport { useFocusVisibleClassName } from '../../../hooks/useFocusVisibleClassName';\nimport {\n type HasComponent,\n type HasDataAttribute,\n type HTMLAttributesWithRootRef,\n} from '../../../types';\nimport { RootComponent } from '../../RootComponent/RootComponent';\nimport { Footnote } from '../../Typography/Footnote/Footnote';\nimport { VisuallyHidden } from '../../VisuallyHidden/VisuallyHidden';\nimport { type ChipOptionValue } from '../types';\nimport styles from './Chip.module.css';\n\nconst sizeYClassNames = {\n none: styles.sizeYNone,\n compact: styles.sizeYCompact,\n} as const;\n\nconst modeClassNames = {\n primary: styles.modePrimary,\n secondary: styles.modeSecondary,\n} as const;\n\nexport interface ChipProps\n extends HasComponent,\n HasDataAttribute,\n HTMLAttributesWithRootRef<HTMLElement> {\n /**\n * Режим отображения компонента.\n */\n mode?: 'primary' | 'secondary';\n /**\n * Значение чипа.\n */\n value?: ChipOptionValue;\n /**\n * Можно ли удалить чип.\n */\n removable?: boolean;\n /**\n * Блокировка взаимодействия с чипом.\n */\n disabled?: boolean;\n /**\n * Режим только для чтения.\n */\n readOnly?: boolean;\n /**\n * Текст для кнопки удаления.\n */\n removeLabel?: string;\n /**\n * Контент перед основным содержимым.\n */\n before?: React.ReactNode;\n /**\n * Контент после основного содержимого.\n */\n after?: React.ReactNode;\n /**\n * Обработчик удаления чипа.\n */\n onRemove?: (event: React.MouseEvent, value: ChipOptionValue) => void;\n}\n\n/**\n * @see https://vkui.io/components/chip\n */\nexport const Chip = ({\n mode = 'primary',\n Component = 'span',\n value = '',\n removable = true,\n onRemove,\n removeLabel = 'Удалить',\n before,\n after,\n disabled,\n readOnly,\n children,\n className,\n onFocus: onFocusProp,\n onBlur: onBlurProp,\n ...restProps\n}: ChipProps): React.ReactNode => {\n const { sizeY = 'none' } = useAdaptivity();\n const { focusVisible, onFocus, onBlur } = useFocusVisible();\n const focusVisibleClassName = useFocusVisibleClassName({ focusVisible });\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n if (onFocusProp) {\n onFocusProp(event);\n }\n onFocus(event);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (onBlurProp) {\n onBlurProp(event);\n }\n onBlur(event);\n };\n\n const onRemoveWrapper = React.useCallback(\n (event: React.MouseEvent) => {\n onRemove?.(event, value);\n },\n [onRemove, value],\n );\n\n return (\n <RootComponent\n {...restProps}\n Component={Component}\n className={classNames(\n styles.host,\n sizeY !== 'regular' && sizeYClassNames[sizeY],\n modeClassNames[mode],\n focusVisibleClassName,\n className,\n )}\n aria-readonly={readOnly}\n aria-disabled={disabled}\n onFocus={disabled ? undefined : handleFocus}\n onBlur={disabled ? undefined : handleBlur}\n >\n <div className={styles.in}>\n {hasReactNode(before) && <div className={styles.before}>{before}</div>}\n <Footnote className={styles.content}>{children}</Footnote>\n {hasReactNode(after) && <div className={styles.after}>{after}</div>}\n </div>\n {!readOnly && removable && (\n <div className={styles.removable}>\n <button\n type=\"button\"\n tabIndex={-1} // [reason]: чтобы можно было выставлять состояние фокуса только программно через `*.focus()`\n disabled={disabled}\n className={styles.remove}\n onClick={disabled ? undefined : onRemoveWrapper}\n >\n <VisuallyHidden>\n {removeLabel} {children}\n </VisuallyHidden>\n <Icon16Cancel />\n </button>\n </div>\n )}\n </RootComponent>\n );\n};\n"],"names":["React","Icon16Cancel","classNames","hasReactNode","useAdaptivity","useFocusVisible","useFocusVisibleClassName","RootComponent","Footnote","VisuallyHidden","sizeYClassNames","none","compact","modeClassNames","primary","secondary","Chip","mode","Component","value","removable","onRemove","removeLabel","before","after","disabled","readOnly","children","className","onFocus","onFocusProp","onBlur","onBlurProp","restProps","sizeY","focusVisible","focusVisibleClassName","handleFocus","event","handleBlur","onRemoveWrapper","useCallback","aria-readonly","aria-disabled","undefined","div","button","type","tabIndex","onClick"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,UAAU,EAAEC,YAAY,QAAQ,kBAAkB;AAC3D,SAASC,aAAa,QAAQ,kCAA+B;AAC7D,SAASC,eAAe,QAAQ,oCAAiC;AACjE,SAASC,wBAAwB,QAAQ,6CAA0C;AAMnF,SAASC,aAAa,QAAQ,uCAAoC;AAClE,SAASC,QAAQ,QAAQ,wCAAqC;AAC9D,SAASC,cAAc,QAAQ,yCAAsC;AAIrE,MAAMC,kBAAkB;IACtBC,IAAI;IACJC,OAAO;AACT;AAEA,MAAMC,iBAAiB;IACrBC,OAAO;IACPC,SAAS;AACX;AA4CA;;CAEC,GACD,OAAO,MAAMC,OAAO;QAAC,EACnBC,OAAO,SAAS,EAChBC,YAAY,MAAM,EAClBC,QAAQ,EAAE,EACVC,YAAY,IAAI,EAChBC,QAAQ,EACRC,cAAc,SAAS,EACvBC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,SAASC,WAAW,EACpBC,QAAQC,UAAU,EAER,WADPC;QAdHhB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;;IAGA,MAAM,EAAEG,QAAQ,MAAM,EAAE,GAAG9B;IAC3B,MAAM,EAAE+B,YAAY,EAAEN,OAAO,EAAEE,MAAM,EAAE,GAAG1B;IAC1C,MAAM+B,wBAAwB9B,yBAAyB;QAAE6B;IAAa;IAEtE,MAAME,cAAc,CAACC;QACnB,IAAIR,aAAa;YACfA,YAAYQ;QACd;QACAT,QAAQS;IACV;IAEA,MAAMC,aAAa,CAACD;QAClB,IAAIN,YAAY;YACdA,WAAWM;QACb;QACAP,OAAOO;IACT;IAEA,MAAME,kBAAkBxC,MAAMyC,WAAW,CACvC,CAACH;QACCjB,qBAAAA,+BAAAA,SAAWiB,OAAOnB;IACpB,GACA;QAACE;QAAUF;KAAM;IAGnB,qBACE,MAACZ,uDACK0B;QACJf,WAAWA;QACXU,WAAW1B,6BAETgC,UAAU,aAAaxB,eAAe,CAACwB,MAAM,EAC7CrB,cAAc,CAACI,KAAK,EACpBmB,uBACAR;QAEFc,iBAAehB;QACfiB,iBAAelB;QACfI,SAASJ,WAAWmB,YAAYP;QAChCN,QAAQN,WAAWmB,YAAYL;;0BAE/B,MAACM;gBAAIjB,SAAS;;oBACXzB,aAAaoB,yBAAW,KAACsB;wBAAIjB,SAAS;kCAAkBL;;kCACzD,KAACf;wBAASoB,SAAS;kCAAmBD;;oBACrCxB,aAAaqB,wBAAU,KAACqB;wBAAIjB,SAAS;kCAAiBJ;;;;YAExD,CAACE,YAAYN,2BACZ,KAACyB;gBAAIjB,SAAS;0BACZ,cAAA,MAACkB;oBACCC,MAAK;oBACLC,UAAU,CAAC;oBACXvB,UAAUA;oBACVG,SAAS;oBACTqB,SAASxB,WAAWmB,YAAYJ;;sCAEhC,MAAC/B;;gCAAe;gCACNa;gCAAY;gCAAEK;;;sCAExB,KAAC1B;;;;;;AAMb,EAAE"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type * as React from 'react';
|
|
2
|
-
import type { HasAlign,
|
|
2
|
+
import type { HasAlign, HasRef } from '../../types';
|
|
3
3
|
import { type FormFieldProps } from '../FormField/FormField';
|
|
4
4
|
import { type FormFieldClearButtonProps } from '../FormFieldClearButton/FormFieldClearButton';
|
|
5
|
+
import { type ChipProps } from './Chip/Chip';
|
|
5
6
|
export type NavigateTo = 'prev' | 'next' | 'last' | 'first';
|
|
6
7
|
export type ChipOptionValue = string | number;
|
|
7
8
|
export type ChipOptionLabel = React.ReactElement | string | number;
|
|
@@ -20,40 +21,6 @@ export type ChipOption = {
|
|
|
20
21
|
disabled?: boolean;
|
|
21
22
|
[index: string]: any;
|
|
22
23
|
};
|
|
23
|
-
export interface ChipProps extends HasComponent, HasDataAttribute, HTMLAttributesWithRootRef<HTMLElement> {
|
|
24
|
-
/**
|
|
25
|
-
* Значение чипа.
|
|
26
|
-
*/
|
|
27
|
-
value?: ChipOptionValue;
|
|
28
|
-
/**
|
|
29
|
-
* Можно ли удалить чип.
|
|
30
|
-
*/
|
|
31
|
-
removable?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Блокировка взаимодействия с чипом.
|
|
34
|
-
*/
|
|
35
|
-
disabled?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Режим только для чтения.
|
|
38
|
-
*/
|
|
39
|
-
readOnly?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Текст для кнопки удаления.
|
|
42
|
-
*/
|
|
43
|
-
removeLabel?: string;
|
|
44
|
-
/**
|
|
45
|
-
* Контент перед основным содержимым.
|
|
46
|
-
*/
|
|
47
|
-
before?: React.ReactNode;
|
|
48
|
-
/**
|
|
49
|
-
* Контент после основного содержимого.
|
|
50
|
-
*/
|
|
51
|
-
after?: React.ReactNode;
|
|
52
|
-
/**
|
|
53
|
-
* Обработчик удаления чипа.
|
|
54
|
-
*/
|
|
55
|
-
onRemove?: (event: React.MouseEvent, value: ChipOptionValue) => void;
|
|
56
|
-
}
|
|
57
24
|
export interface RenderChipProps extends ChipProps {
|
|
58
25
|
/**
|
|
59
26
|
* Отображаемый текст чипа.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInputBase/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/ChipsInputBase/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ChipsInputBase/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ChipsInputBase/types.ts"],"sourcesContent":["import type * as React from 'react';\nimport type { HasAlign, HasRef } from '../../types';\nimport { type FormFieldProps } from '../FormField/FormField';\nimport { type FormFieldClearButtonProps } from '../FormFieldClearButton/FormFieldClearButton';\nimport { type ChipProps } from './Chip/Chip';\n\nexport type NavigateTo = 'prev' | 'next' | 'last' | 'first';\n\nexport type ChipOptionValue = string | number;\n\nexport type ChipOptionLabel = React.ReactElement | string | number;\n\nexport type ChipOption = {\n /**\n * Значение опции.\n */\n value: ChipOptionValue;\n /**\n * Отображаемый текст опции.\n */\n label: ChipOptionLabel;\n /**\n * Блокировка взаимодействия с оцией.\n */\n disabled?: boolean;\n [index: string]: any;\n};\n\nexport interface RenderChipProps extends ChipProps {\n /**\n * Отображаемый текст чипа.\n */\n label: ChipOptionLabel;\n}\n\nexport type RenderChip<O extends ChipOption = ChipOption> = (\n props: RenderChipProps,\n option: O,\n) => React.ReactNode;\n\nexport type GetOptionValue<O extends ChipOption = ChipOption> = (option: O) => ChipOptionValue;\n\nexport type GetOptionLabel<O extends ChipOption = ChipOption> = (option: O) => ChipOptionLabel;\n\nexport type GetNewOptionData<O extends ChipOption = ChipOption> = (\n value: ChipOptionValue,\n label: ChipOptionLabel,\n) => O;\n\nexport type OnChange<O extends ChipOption = ChipOption> = (value: O[]) => void;\n\nexport type OnInputChange = (event: React.ChangeEvent<HTMLInputElement>) => void;\n\n/**\n * @public\n */\nexport interface UseChipsInputBaseProps<O extends ChipOption = ChipOption> {\n /**\n * Блокировка взаимодействия с компонентом.\n */\n disabled?: boolean;\n /**\n * Выбранные опции.\n */\n value?: O[];\n /**\n * Выбранные опции по умолчанию.\n */\n defaultValue?: O[];\n /**\n * Обработчик изменения выбранных опций.\n */\n onChange?: OnChange<O>;\n /**\n * Значение поля ввода.\n */\n inputValue?: string;\n /**\n * Значение поля ввода по умолчанию.\n */\n defaultInputValue?: string;\n /**\n * Обработчик изменения значения в поле ввода.\n */\n onInputChange?: OnInputChange;\n /**\n * Символ или строка, которая будет использоваться как разделитель для автоматического создания опций из текста, введенного в поле ввода.\n * Принимает:\n * - `string` - простая строка\n * - `RegExp` - регулярное выражение\n * - `string[]` - массив строк, по которым нужно разелять ввод.\n *\n * Работает в двух сценариях:\n * 1. При вводе разделителя - текст до разделителя автоматически преобразуется в новую опцию.\n * Например, при `delimiter=\",\"` ввод \"опция1,\" создаст опцию \"опция1\".\n *\n * 2. При вставке из буфера обмена - если вставляемый текст содержит разделители,\n * он будет автоматически разбит на несколько опций.\n * Например, при `delimiter=\",\"` вставка \"опция1,опция2,опция3\" создаст\n * три отдельные опции: \"опция1\", \"опция2\" и \"опция3\".\n */\n delimiter?: string | RegExp | string[];\n}\n\n/**\n * @private\n */\ntype UseChipsInputBaseOnlyNeededProps<O extends ChipOption = ChipOption> = Omit<\n UseChipsInputBaseProps<O>,\n 'onChange' | 'defaultValue' | 'defaultInputValue'\n>;\n\n/**\n * @public\n */\nexport interface ChipsInputBaseProps<O extends ChipOption = ChipOption>\n extends UseChipsInputBaseOnlyNeededProps<O>,\n Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n keyof UseChipsInputBaseProps<O> | 'defaultChecked'\n >,\n HasRef<HTMLInputElement>,\n HasAlign {\n /**\n * Ссылка на корневой элемент.\n */\n getRootRef?: React.Ref<HTMLDivElement>;\n /**\n * Добавляет значение в список на событие `onBlur`.\n */\n addOnBlur?: boolean;\n /**\n * Render prop функция для возврата своего компонента.\n *\n * @default Используется [Chip](#/Chip)\n */\n renderChip?: RenderChip<O>;\n /**\n * Показывать ли кнопку для очистки значения.\n */\n clearButtonShown?: boolean;\n /**\n * (e2e) testId кнопки очистки.\n */\n clearButtonTestId?: string;\n /**\n * Кастомная кнопка для очистки значения.\n * Должна принимать обязательное свойство `onClick`.\n */\n ClearButton?: React.ComponentType<FormFieldClearButtonProps>;\n /**\n * `aria-label` для списка выбранных опций.\n */\n chipsListLabel?: string;\n}\n\n/**\n * @private\n */\nexport interface ChipsInputBasePrivateProps<O extends ChipOption = ChipOption>\n extends ChipsInputBaseProps<O>,\n Pick<FormFieldProps, 'mode' | 'status' | 'before' | 'after' | 'maxHeight'> {\n /**\n * Обработчик очистки всех выбранных опций.\n */\n onClear: () => void;\n /**\n * Обработчик добавления новой опции чипа.\n */\n onAddChipOption: (value: string) => void;\n /**\n * Обработчик удаления опции чипа.\n */\n onRemoveChipOption: (value: O | ChipOptionValue) => void;\n}\n"],"names":[],"mappings":"AA4JA;;CAEC,GACD,WAeC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { HTMLAttributesWithRootRef } from '../../types';
|
|
3
|
-
import type
|
|
3
|
+
import { type TypographyProps } from '../Typography/Typography';
|
|
4
4
|
import { ContentBadgeIconSlot } from './ContentBadgeIconSlot';
|
|
5
5
|
import type { ContentBadgeModeType, ContentBadgeSizeType } from './types';
|
|
6
6
|
export interface ContentBadgeProps extends HTMLAttributesWithRootRef<HTMLDivElement>, Pick<TypographyProps, 'weight'> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentBadge.d.ts","sourceRoot":"","sources":["../../../src/components/ContentBadge/ContentBadge.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContentBadge.d.ts","sourceRoot":"","sources":["../../../src/components/ContentBadge/ContentBadge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAI7D,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,0BAA0B,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAqC1E,MAAM,WAAW,iBACf,SAAQ,yBAAyB,CAAC,cAAc,CAAC,EAC/C,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,GAAG,SAAS,CAAC;IAC9E;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG;IACvD,QAAQ,EAAE,OAAO,oBAAoB,CAAC;IACtC;;OAEG;IACH,QAAQ,EAAE,OAAO,oBAAoB,CAAC;CAoCvC,CAAC"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
2
3
|
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
3
4
|
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
6
|
import * as React from "react";
|
|
6
7
|
import { classNames } from "@vkontakte/vkjs";
|
|
8
|
+
import { useAdaptivity } from "../../hooks/useAdaptivity.js";
|
|
7
9
|
import { defineComponentDisplayNames } from "../../lib/react/defineComponentDisplayNames.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
+
import { Tappable } from "../Tappable/Tappable.js";
|
|
11
|
+
import { captionClassNames } from "../Typography/Caption/Caption.js";
|
|
12
|
+
import { footnoteClassNames } from "../Typography/Footnote/Footnote.js";
|
|
13
|
+
import { weightClassNames } from "../Typography/Typography.js";
|
|
10
14
|
import { ContentBadgeContext } from "./ContentBadgeContext.js";
|
|
11
15
|
import { ContentBadgeIconSlot } from "./ContentBadgeIconSlot.js";
|
|
12
16
|
const appearanceClassNames = {
|
|
@@ -50,20 +54,22 @@ const sizeClassNames = {
|
|
|
50
54
|
* @since 6.1.0
|
|
51
55
|
* @see https://vkui.io/components/content-badge
|
|
52
56
|
*/ export const ContentBadge = (_param)=>{
|
|
53
|
-
var { appearance = 'accent', mode = 'primary', capsule, size = 'm', weight = '2',
|
|
57
|
+
var { appearance = 'accent', mode = 'primary', capsule, size = 'm', weight = '2', children } = _param, restProps = _object_without_properties(_param, [
|
|
54
58
|
"appearance",
|
|
55
59
|
"mode",
|
|
56
60
|
"capsule",
|
|
57
61
|
"size",
|
|
58
62
|
"weight",
|
|
59
|
-
"className",
|
|
60
63
|
"children"
|
|
61
64
|
]);
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
const { sizeY = 'none' } = useAdaptivity();
|
|
66
|
+
const typographyClassNames = size === 'l' ? footnoteClassNames(sizeY) : captionClassNames(sizeY);
|
|
67
|
+
return /*#__PURE__*/ _jsx(Tappable, _object_spread_props(_object_spread({
|
|
68
|
+
baseClassName: classNames("vkuiContentBadge__host", size !== 's' && capsule && "vkuiContentBadge__capsule", mode === 'outline' && "vkuiContentBadge__modeOutline", appearanceClassNames[appearance][mode], sizeClassNames[size], typographyClassNames, weightClassNames(weight)),
|
|
69
|
+
DefaultComponent: "span",
|
|
70
|
+
hoverMode: "opacity",
|
|
71
|
+
activeMode: "opacity"
|
|
72
|
+
}, restProps), {
|
|
67
73
|
children: /*#__PURE__*/ _jsx(ContentBadgeContext.Provider, {
|
|
68
74
|
value: {
|
|
69
75
|
isSingleChild: React.Children.count(children) === 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ContentBadge/ContentBadge.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ContentBadge/ContentBadge.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { useAdaptivity } from '../../hooks/useAdaptivity';\nimport { defineComponentDisplayNames } from '../../lib/react/defineComponentDisplayNames';\nimport type { HTMLAttributesWithRootRef } from '../../types';\nimport { Tappable } from '../Tappable/Tappable';\nimport { captionClassNames } from '../Typography/Caption/Caption';\nimport { footnoteClassNames } from '../Typography/Footnote/Footnote';\nimport { type TypographyProps, weightClassNames } from '../Typography/Typography';\nimport { ContentBadgeContext } from './ContentBadgeContext';\nimport { ContentBadgeIconSlot } from './ContentBadgeIconSlot';\nimport type { ContentBadgeModeType, ContentBadgeSizeType } from './types';\nimport styles from './ContentBadge.module.css';\n\nconst appearanceClassNames = {\n 'accent': {\n primary: styles.primaryAccent,\n secondary: styles.secondaryAccent,\n outline: styles.outlineAccent,\n },\n 'neutral': {\n primary: styles.primaryNeutral,\n secondary: styles.secondaryNeutral,\n outline: styles.outlineNeutral,\n },\n 'accent-green': {\n primary: styles.primaryAccentGreen,\n secondary: styles.secondaryAccentGreen,\n outline: styles.outlineAccentGreen,\n },\n 'accent-red': {\n primary: styles.primaryAccentRed,\n secondary: styles.secondaryAccentRed,\n outline: styles.outlineAccentRed,\n },\n 'overlay': {\n primary: styles.primaryOverlay,\n secondary: styles.secondaryOverlay,\n outline: styles.outlineOverlay,\n },\n};\n\nconst sizeClassNames = {\n s: styles.sizeS,\n m: styles.sizeM,\n l: styles.sizeL,\n};\n\nexport interface ContentBadgeProps\n extends HTMLAttributesWithRootRef<HTMLDivElement>,\n Pick<TypographyProps, 'weight'> {\n /**\n * Вид отображения.\n */\n mode?: ContentBadgeModeType;\n /**\n * Цвет оформления.\n */\n appearance?: 'accent' | 'neutral' | 'accent-green' | 'accent-red' | 'overlay';\n /**\n * Включает приближение значения закругления к форме круга.\n *\n * > Note: игнорируется при size=\"s\".\n */\n capsule?: boolean;\n /**\n * Определяет отступы и размер текста.\n *\n * Соответствие размеров иконок в слоте `<ContentBadge.SlotIcon />`:\n *\n * - size=\"s\" – ⚠️ не поддерживает иконки;\n * - size=\"m\" – при **одиночной** иконке `16x16`, в остальных случаях `12x12`;\n * - size=\"l\" – при **одиночной** иконке `20x20`, в остальных случаях `16x16`.\n */\n size?: ContentBadgeSizeType;\n}\n\n/**\n * Компонент, который позволяет добавить текстовые или иконочные бейджи. Как правило, используются\n * поверх других элементов или рядом с ними.\n *\n * Используйте `ContentBadge.SlotIcon` для размещения иконок внутри `ContentBadge`.\n *\n * @since 6.1.0\n * @see https://vkui.io/components/content-badge\n */\nexport const ContentBadge: React.FC<ContentBadgeProps> & {\n IconSlot: typeof ContentBadgeIconSlot;\n /**\n * @deprecated Since 7.3.4. Используйте `IconSlot`.\n */\n SlotIcon: typeof ContentBadgeIconSlot;\n} = ({\n appearance = 'accent',\n mode = 'primary',\n capsule,\n size = 'm',\n weight = '2',\n children,\n ...restProps\n}: ContentBadgeProps) => {\n const { sizeY = 'none' } = useAdaptivity();\n const typographyClassNames = size === 'l' ? footnoteClassNames(sizeY) : captionClassNames(sizeY);\n\n return (\n <Tappable\n baseClassName={classNames(\n styles.host,\n size !== 's' && capsule && styles.capsule,\n mode === 'outline' && styles.modeOutline,\n appearanceClassNames[appearance][mode],\n sizeClassNames[size],\n typographyClassNames,\n weightClassNames(weight),\n )}\n DefaultComponent=\"span\"\n hoverMode=\"opacity\"\n activeMode=\"opacity\"\n {...restProps}\n >\n <ContentBadgeContext.Provider\n value={{ isSingleChild: React.Children.count(children) === 1, size }}\n >\n {children}\n </ContentBadgeContext.Provider>\n </Tappable>\n );\n};\n\nContentBadge.IconSlot = ContentBadgeIconSlot;\nContentBadge.SlotIcon = ContentBadgeIconSlot;\n\nif (process.env.NODE_ENV !== 'production') {\n defineComponentDisplayNames(ContentBadge.IconSlot, 'ContentBadge.IconSlot');\n defineComponentDisplayNames(ContentBadge.SlotIcon, 'ContentBadge.SlotIcon');\n}\n"],"names":["React","classNames","useAdaptivity","defineComponentDisplayNames","Tappable","captionClassNames","footnoteClassNames","weightClassNames","ContentBadgeContext","ContentBadgeIconSlot","appearanceClassNames","primary","secondary","outline","sizeClassNames","s","m","l","ContentBadge","appearance","mode","capsule","size","weight","children","restProps","sizeY","typographyClassNames","baseClassName","DefaultComponent","hoverMode","activeMode","Provider","value","isSingleChild","Children","count","IconSlot","SlotIcon","process","env","NODE_ENV"],"mappings":"AAAA;;;;;AAEA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,aAAa,QAAQ,+BAA4B;AAC1D,SAASC,2BAA2B,QAAQ,iDAA8C;AAE1F,SAASC,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,iBAAiB,QAAQ,mCAAgC;AAClE,SAASC,kBAAkB,QAAQ,qCAAkC;AACrE,SAA+BC,gBAAgB,QAAQ,8BAA2B;AAClF,SAASC,mBAAmB,QAAQ,2BAAwB;AAC5D,SAASC,oBAAoB,QAAQ,4BAAyB;AAI9D,MAAMC,uBAAuB;IAC3B,UAAU;QACRC,OAAO;QACPC,SAAS;QACTC,OAAO;IACT;IACA,WAAW;QACTF,OAAO;QACPC,SAAS;QACTC,OAAO;IACT;IACA,gBAAgB;QACdF,OAAO;QACPC,SAAS;QACTC,OAAO;IACT;IACA,cAAc;QACZF,OAAO;QACPC,SAAS;QACTC,OAAO;IACT;IACA,WAAW;QACTF,OAAO;QACPC,SAAS;QACTC,OAAO;IACT;AACF;AAEA,MAAMC,iBAAiB;IACrBC,CAAC;IACDC,CAAC;IACDC,CAAC;AACH;AA+BA;;;;;;;;CAQC,GACD,OAAO,MAAMC,eAMT;QAAC,EACHC,aAAa,QAAQ,EACrBC,OAAO,SAAS,EAChBC,OAAO,EACPC,OAAO,GAAG,EACVC,SAAS,GAAG,EACZC,QAAQ,EAEU,WADfC;QANHN;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGA,MAAM,EAAEE,QAAQ,MAAM,EAAE,GAAGxB;IAC3B,MAAMyB,uBAAuBL,SAAS,MAAMhB,mBAAmBoB,SAASrB,kBAAkBqB;IAE1F,qBACE,KAACtB;QACCwB,eAAe3B,qCAEbqB,SAAS,OAAOD,wCAChBD,SAAS,8CACTV,oBAAoB,CAACS,WAAW,CAACC,KAAK,EACtCN,cAAc,CAACQ,KAAK,EACpBK,sBACApB,iBAAiBgB;QAEnBM,kBAAiB;QACjBC,WAAU;QACVC,YAAW;OACPN;kBAEJ,cAAA,KAACjB,oBAAoBwB,QAAQ;YAC3BC,OAAO;gBAAEC,eAAelC,MAAMmC,QAAQ,CAACC,KAAK,CAACZ,cAAc;gBAAGF;YAAK;sBAElEE;;;AAIT,EAAE;AAEFN,aAAamB,QAAQ,GAAG5B;AACxBS,aAAaoB,QAAQ,GAAG7B;AAExB,IAAI8B,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzCtC,4BAA4Be,aAAamB,QAAQ,EAAE;IACnDlC,4BAA4Be,aAAaoB,QAAQ,EAAE;AACrD"}
|