@central-design-system/components 4.0.0-alpha.4 → 4.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/MIGRATION.md +14 -42
- package/dist/browser/entry.js +4917 -2238
- package/dist/browser/iconsets/cdsLegacy.js +1 -1
- package/dist/cds.d.ts +119065 -0
- package/dist/cjs/entry.js +9 -9
- package/dist/es/entry.css +0 -18
- package/dist/es/entry.js +3 -2
- package/dist/es/entry.js.map +1 -1
- package/dist/es/src/cds.js +1 -1
- package/dist/es/src/components/CdsApp/CdsApp.css +0 -18
- package/dist/es/src/components/CdsApp/api/CdsApp.props.js +1 -0
- package/dist/es/src/components/CdsApp/api/CdsApp.props.js.map +1 -1
- package/dist/es/src/components/CdsAutocomplete/CdsAutocomplete.css +0 -18
- package/dist/es/src/components/CdsAutocomplete/CdsAutocomplete.vue_vue_type_script_setup_true_lang.js +20 -5
- package/dist/es/src/components/CdsAutocomplete/CdsAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsAutocomplete/api/CdsAutocomplete.props.js +9 -2
- package/dist/es/src/components/CdsAutocomplete/api/CdsAutocomplete.props.js.map +1 -1
- package/dist/es/src/components/CdsAvatar/CdsAvatar.css +0 -18
- package/dist/es/src/components/CdsAvatar/api/CdsAvatar.props.js +20 -5
- package/dist/es/src/components/CdsAvatar/api/CdsAvatar.props.js.map +1 -1
- package/dist/es/src/components/CdsBadge/CdsBadge.css +0 -18
- package/dist/es/src/components/CdsBadge/api/CdsBadge.props.js +37 -9
- package/dist/es/src/components/CdsBadge/api/CdsBadge.props.js.map +1 -1
- package/dist/es/src/components/CdsBreadcrumbs/CdsBreadcrumbs.css +0 -18
- package/dist/es/src/components/CdsBreadcrumbs/api/CdsBreadcrumbs.props.js +32 -8
- package/dist/es/src/components/CdsBreadcrumbs/api/CdsBreadcrumbs.props.js.map +1 -1
- package/dist/es/src/components/CdsButton/CdsButton.css +0 -18
- package/dist/es/src/components/CdsButton/CdsButton.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/src/components/CdsButton/CdsButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsButton/api/CdsButton.props.js +28 -7
- package/dist/es/src/components/CdsButton/api/CdsButton.props.js.map +1 -1
- package/dist/es/src/components/CdsButtonGroup/CdsButtonGroup.css +0 -18
- package/dist/es/src/components/CdsButtonGroup/api/CdsButtonGroup.props.js +4 -1
- package/dist/es/src/components/CdsButtonGroup/api/CdsButtonGroup.props.js.map +1 -1
- package/dist/es/src/components/CdsButtonToggle/CdsButtonToggle.css +0 -18
- package/dist/es/src/components/CdsButtonToggle/CdsButtonToggle.vue_vue_type_script_setup_true_lang.js +20 -5
- package/dist/es/src/components/CdsButtonToggle/CdsButtonToggle.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsCard/CdsCard.css +0 -18
- package/dist/es/src/components/CdsCard/CdsCardGroup.vue_vue_type_script_setup_true_lang.js +20 -5
- package/dist/es/src/components/CdsCard/CdsCardGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsCard/api/CdsCard.props.js +84 -20
- package/dist/es/src/components/CdsCard/api/CdsCard.props.js.map +1 -1
- package/dist/es/src/components/CdsCarousel/CdsCarousel.css +0 -18
- package/dist/es/src/components/CdsCarousel/api/CdsCarousel.props.js +36 -9
- package/dist/es/src/components/CdsCarousel/api/CdsCarousel.props.js.map +1 -1
- package/dist/es/src/components/CdsCheckbox/CdsCheckbox.css +0 -18
- package/dist/es/src/components/CdsCheckboxButton/CdsCheckboxButton.css +0 -18
- package/dist/es/src/components/CdsCheckboxButton/api/CdsCheckboxButton.props.js +8 -2
- package/dist/es/src/components/CdsCheckboxButton/api/CdsCheckboxButton.props.js.map +1 -1
- package/dist/es/src/components/CdsCombobox/CdsCombobox.css +0 -18
- package/dist/es/src/components/CdsCombobox/CdsCombobox.vue_vue_type_script_setup_true_lang.js +24 -6
- package/dist/es/src/components/CdsCombobox/CdsCombobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsCombobox/api/CdsCombobox.props.js +13 -3
- package/dist/es/src/components/CdsCombobox/api/CdsCombobox.props.js.map +1 -1
- package/dist/es/src/components/CdsCounter/CdsCounter.css +0 -18
- package/dist/es/src/components/CdsCounter/api/CdsCounter.props.js +12 -3
- package/dist/es/src/components/CdsCounter/api/CdsCounter.props.js.map +1 -1
- package/dist/es/src/components/CdsDateInput/CdsDateInput.css +0 -18
- package/dist/es/src/components/CdsDateInput/CdsDateInput.vue_vue_type_script_setup_true_lang.js +8 -0
- package/dist/es/src/components/CdsDateInput/CdsDateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsDateInput/api/CdsDateInput.props.js +31 -7
- package/dist/es/src/components/CdsDateInput/api/CdsDateInput.props.js.map +1 -1
- package/dist/es/src/components/CdsDatePicker/CdsDatePicker.css +0 -18
- package/dist/es/src/components/CdsDatePicker/CdsDatePicker.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/es/src/components/CdsDatePicker/CdsDatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsDatePicker/api/CdsDatePicker.props.js +64 -15
- package/dist/es/src/components/CdsDatePicker/api/CdsDatePicker.props.js.map +1 -1
- package/dist/es/src/components/CdsDefaultsProvider/api/CdsDefaultsProvider.props.js +5 -0
- package/dist/es/src/components/CdsDefaultsProvider/api/CdsDefaultsProvider.props.js.map +1 -1
- package/dist/es/src/components/CdsDescription/CdsDescription.css +0 -18
- package/dist/es/src/components/CdsDivider/CdsDivider.css +0 -18
- package/dist/es/src/components/CdsDivider/CdsDivider.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsDivider/api/CdsDivider.props.js +33 -8
- package/dist/es/src/components/CdsDivider/api/CdsDivider.props.js.map +1 -1
- package/dist/es/src/components/CdsDrawer/CdsDrawer.css +0 -18
- package/dist/es/src/components/CdsDrawer/CdsDrawer.vue_vue_type_script_setup_true_lang.js +4 -0
- package/dist/es/src/components/CdsDrawer/CdsDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsDrawer/api/CdsDrawer.props.js +32 -8
- package/dist/es/src/components/CdsDrawer/api/CdsDrawer.props.js.map +1 -1
- package/dist/es/src/components/CdsEmptyState/CdsEmptyState.css +0 -18
- package/dist/es/src/components/CdsEmptyState/api/CdsEmptyState.props.js +33 -8
- package/dist/es/src/components/CdsEmptyState/api/CdsEmptyState.props.js.map +1 -1
- package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanel.vue_vue_type_script_setup_true_lang.js +16 -4
- package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanelTitle.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanelTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanels.css +0 -18
- package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanels.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/es/src/components/CdsExpandablePanel/CdsExpandablePanels.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsExpandablePanel/api/CdsExpandablePanel.props.js +38 -9
- package/dist/es/src/components/CdsExpandablePanel/api/CdsExpandablePanel.props.js.map +1 -1
- package/dist/es/src/components/CdsField/CdsField.css +0 -18
- package/dist/es/src/components/CdsField/CdsField.vue_vue_type_script_setup_true_lang.js +13 -3
- package/dist/es/src/components/CdsField/CdsField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsField/api/CdsField.props.js +56 -14
- package/dist/es/src/components/CdsField/api/CdsField.props.js.map +1 -1
- package/dist/es/src/components/CdsField/composables/useAutocomplete.js +1 -0
- package/dist/es/src/components/CdsField/composables/useAutocomplete.js.map +1 -1
- package/dist/es/src/components/CdsFileInput/CdsFileInput.css +0 -18
- package/dist/es/src/components/CdsFileInput/api/CdsFileInput.props.js +40 -10
- package/dist/es/src/components/CdsFileInput/api/CdsFileInput.props.js.map +1 -1
- package/dist/es/src/components/CdsFileInput/composables/useFileFilter.js +4 -1
- package/dist/es/src/components/CdsFileInput/composables/useFileFilter.js.map +1 -1
- package/dist/es/src/components/CdsFileUpload/CdsFileUpload.css +0 -18
- package/dist/es/src/components/CdsFileUpload/CdsFileUpload.vue_vue_type_script_setup_true_lang.js +4 -0
- package/dist/es/src/components/CdsFileUpload/CdsFileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsFileUpload/api/CdsFileUpload.props.js +85 -21
- package/dist/es/src/components/CdsFileUpload/api/CdsFileUpload.props.js.map +1 -1
- package/dist/es/src/components/CdsFooter/CdsFooter.css +0 -18
- package/dist/es/src/components/CdsForm/CdsForm.css +0 -18
- package/dist/es/src/components/CdsForm/api/CdsForm.props.js +8 -2
- package/dist/es/src/components/CdsForm/api/CdsForm.props.js.map +1 -1
- package/dist/es/src/components/CdsFunctionalButton/CdsFunctionalButton.css +0 -18
- package/dist/es/src/components/CdsFunctionalButton/api/CdsFunctionalButton.props.js +4 -1
- package/dist/es/src/components/CdsFunctionalButton/api/CdsFunctionalButton.props.js.map +1 -1
- package/dist/es/src/components/CdsGrid/api/CdsGrid.props.js +40 -10
- package/dist/es/src/components/CdsGrid/api/CdsGrid.props.js.map +1 -1
- package/dist/es/src/components/CdsGrid/components/CSSGrid.css +0 -18
- package/dist/es/src/components/CdsGrid/components/FlexGrid.css +0 -18
- package/dist/es/src/components/CdsHeader/CdsHeader.css +0 -18
- package/dist/es/src/components/CdsHighlight/CdsHighlight.css +0 -18
- package/dist/es/src/components/CdsHighlight/api/CdsHighlight.props.js +32 -8
- package/dist/es/src/components/CdsHighlight/api/CdsHighlight.props.js.map +1 -1
- package/dist/es/src/components/CdsIcon/CdsIcon.css +0 -18
- package/dist/es/src/components/CdsIcon/api/CdsIcon.props.js +17 -4
- package/dist/es/src/components/CdsIcon/api/CdsIcon.props.js.map +1 -1
- package/dist/es/src/components/CdsImage/CdsImage.css +0 -18
- package/dist/es/src/components/CdsImage/CdsImage.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/es/src/components/CdsImage/CdsImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsImage/api/CdsImage.props.js +64 -16
- package/dist/es/src/components/CdsImage/api/CdsImage.props.js.map +1 -1
- package/dist/es/src/components/CdsInput/CdsInput.css +0 -18
- package/dist/es/src/components/CdsInput/CdsInput.vue_vue_type_script_setup_true_lang.js +44 -11
- package/dist/es/src/components/CdsInput/CdsInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsInput/api/CdsInput.props.js +48 -12
- package/dist/es/src/components/CdsInput/api/CdsInput.props.js.map +1 -1
- package/dist/es/src/components/CdsLabel/CdsLabel.css +0 -18
- package/dist/es/src/components/CdsLabel/api/CdsLabel.props.js +4 -0
- package/dist/es/src/components/CdsLabel/api/CdsLabel.props.js.map +1 -1
- package/dist/es/src/components/CdsLayout/CdsLayout.css +0 -18
- package/dist/es/src/components/CdsLayout/api/CdsLayout.props.js +5 -1
- package/dist/es/src/components/CdsLayout/api/CdsLayout.props.js.map +1 -1
- package/dist/es/src/components/CdsLink/CdsLink.css +0 -18
- package/dist/es/src/components/CdsLink/api/CdsLink.props.js +4 -1
- package/dist/es/src/components/CdsLink/api/CdsLink.props.js.map +1 -1
- package/dist/es/src/components/CdsList/CdsList.css +0 -18
- package/dist/es/src/components/CdsList/CdsList.vue_vue_type_script_setup_true_lang.js +25 -7
- package/dist/es/src/components/CdsList/CdsList.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsList/CdsListGroup.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/es/src/components/CdsList/CdsListGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsList/CdsListItem.css +0 -18
- package/dist/es/src/components/CdsList/CdsListItem.vue_vue_type_script_setup_true_lang.js +29 -8
- package/dist/es/src/components/CdsList/CdsListItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsList/CdsListItemAction.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/es/src/components/CdsList/CdsListItemAction.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsList/CdsListItemDivider.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsList/CdsListItemMedia.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/es/src/components/CdsList/CdsListItemMedia.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsList/CdsListSubheader.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/es/src/components/CdsList/CdsListSubheader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsList/api/CdsList.constants.js +4 -4
- package/dist/es/src/components/CdsList/api/CdsList.props.js +147 -39
- package/dist/es/src/components/CdsList/api/CdsList.props.js.map +1 -1
- package/dist/es/src/components/CdsList/components/ListChildren.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/es/src/components/CdsList/components/ListChildren.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsList/components/ListGroupActivator.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsList/index.js +5 -2
- package/dist/es/src/components/CdsList/index.js.map +1 -1
- package/dist/es/src/components/CdsLoader/CdsLoader.css +0 -18
- package/dist/es/src/components/CdsLoader/api/CdsLoader.props.js +12 -3
- package/dist/es/src/components/CdsLoader/api/CdsLoader.props.js.map +1 -1
- package/dist/es/src/components/CdsMain/CdsMain.css +0 -18
- package/dist/es/src/components/CdsMenu/CdsMenu.css +0 -18
- package/dist/es/src/components/CdsMenu/api/CdsMenu.props.js +8 -2
- package/dist/es/src/components/CdsMenu/api/CdsMenu.props.js.map +1 -1
- package/dist/es/src/components/CdsMessages/CdsMessages.css +0 -18
- package/dist/es/src/components/CdsMessages/api/CdsMessages.props.js +12 -3
- package/dist/es/src/components/CdsMessages/api/CdsMessages.props.js.map +1 -1
- package/dist/es/src/components/CdsModal/CdsModal.css +0 -18
- package/dist/es/src/components/CdsModal/api/CdsModal.props.js +8 -2
- package/dist/es/src/components/CdsModal/api/CdsModal.props.js.map +1 -1
- package/dist/es/src/components/CdsNotification/CdsNotification.css +0 -18
- package/dist/es/src/components/CdsNotification/api/CdsNotification.props.js +28 -7
- package/dist/es/src/components/CdsNotification/api/CdsNotification.props.js.map +1 -1
- package/dist/es/src/components/CdsNotificationAlert/CdsNotificationAlert.css +0 -18
- package/dist/es/src/components/CdsNotificationAlert/api/CdsNotificationAlert.props.js +28 -7
- package/dist/es/src/components/CdsNotificationAlert/api/CdsNotificationAlert.props.js.map +1 -1
- package/dist/es/src/components/CdsOtpInput/CdsOtpInput.css +0 -18
- package/dist/es/src/components/CdsOtpInput/CdsOtpInput.vue_vue_type_script_setup_true_lang.js +20 -5
- package/dist/es/src/components/CdsOtpInput/CdsOtpInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsOtpInput/api/CdsOtpInput.props.js +52 -13
- package/dist/es/src/components/CdsOtpInput/api/CdsOtpInput.props.js.map +1 -1
- package/dist/es/src/components/CdsOverlay/CdsOverlay.css +0 -18
- package/dist/es/src/components/CdsOverlay/CdsOverlay.vue_vue_type_script_setup_true_lang.js +44 -11
- package/dist/es/src/components/CdsOverlay/CdsOverlay.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsOverlay/api/CdsOverlay.props.js +36 -8
- package/dist/es/src/components/CdsOverlay/api/CdsOverlay.props.js.map +1 -1
- package/dist/es/src/components/CdsOverlay/composables/useActivator.js +25 -6
- package/dist/es/src/components/CdsOverlay/composables/useActivator.js.map +1 -1
- package/dist/es/src/components/CdsOverlay/composables/useLocationStrategies.js +18 -4
- package/dist/es/src/components/CdsOverlay/composables/useLocationStrategies.js.map +1 -1
- package/dist/es/src/components/CdsOverlay/composables/useScrollStrategies.js +4 -1
- package/dist/es/src/components/CdsOverlay/composables/useScrollStrategies.js.map +1 -1
- package/dist/es/src/components/CdsPage/CdsPage.css +0 -18
- package/dist/es/src/components/CdsPage/api/CdsPage.props.js +5 -1
- package/dist/es/src/components/CdsPage/api/CdsPage.props.js.map +1 -1
- package/dist/es/src/components/CdsPagination/CdsPagination.css +0 -18
- package/dist/es/src/components/CdsPagination/CdsPagination.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/es/src/components/CdsPagination/CdsPagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsPagination/api/CdsPagination.props.js +84 -21
- package/dist/es/src/components/CdsPagination/api/CdsPagination.props.js.map +1 -1
- package/dist/es/src/components/CdsProgressBar/CdsProgressBar.css +0 -18
- package/dist/es/src/components/CdsProgressBar/api/CdsProgressBar.props.js +64 -16
- package/dist/es/src/components/CdsProgressBar/api/CdsProgressBar.props.js.map +1 -1
- package/dist/es/src/components/CdsProgressBar/composables/useChunk.js +4 -0
- package/dist/es/src/components/CdsProgressBar/composables/useChunk.js.map +1 -1
- package/dist/es/src/components/CdsProgressCircle/CdsProgressCircle.css +0 -18
- package/dist/es/src/components/CdsProgressCircle/api/CdsProgressCircle.props.js +28 -7
- package/dist/es/src/components/CdsProgressCircle/api/CdsProgressCircle.props.js.map +1 -1
- package/dist/es/src/components/CdsRadio/CdsRadio.css +0 -18
- package/dist/es/src/components/CdsRadioGroup/CdsRadioGroup.css +0 -18
- package/dist/es/src/components/CdsRadioGroup/api/CdsRadioGroup.props.js +16 -4
- package/dist/es/src/components/CdsRadioGroup/api/CdsRadioGroup.props.js.map +1 -1
- package/dist/es/src/components/CdsResponsive/CdsResponsive.css +0 -18
- package/dist/es/src/components/CdsResponsive/api/CdsResponsive.props.js +12 -3
- package/dist/es/src/components/CdsResponsive/api/CdsResponsive.props.js.map +1 -1
- package/dist/es/src/components/CdsSelect/CdsSelect.css +0 -18
- package/dist/es/src/components/CdsSelect/CdsSelect.vue_vue_type_script_setup_true_lang.js +16 -4
- package/dist/es/src/components/CdsSelect/CdsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsSelect/api/CdsSelect.props.js +4 -1
- package/dist/es/src/components/CdsSelect/api/CdsSelect.props.js.map +1 -1
- package/dist/es/src/components/CdsSelect/composables/useMenuActivator.js +8 -2
- package/dist/es/src/components/CdsSelect/composables/useMenuActivator.js.map +1 -1
- package/dist/es/src/components/CdsSelect/composables/useSelect.js +69 -17
- package/dist/es/src/components/CdsSelect/composables/useSelect.js.map +1 -1
- package/dist/es/src/components/CdsSelectionControl/CdsSelectionControl.css +0 -18
- package/dist/es/src/components/CdsSelectionControl/CdsSelectionControl.vue_vue_type_script_setup_true_lang.js +8 -0
- package/dist/es/src/components/CdsSelectionControl/CdsSelectionControl.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsSelectionControl/api/CdsSelectionControl.props.js +12 -3
- package/dist/es/src/components/CdsSelectionControl/api/CdsSelectionControl.props.js.map +1 -1
- package/dist/es/src/components/CdsSelectionControlGroup/CdsSelectionControlGroup.css +0 -18
- package/dist/es/src/components/CdsSelectionControlGroup/api/CdsSelectionControlGroup.props.js +44 -11
- package/dist/es/src/components/CdsSelectionControlGroup/api/CdsSelectionControlGroup.props.js.map +1 -1
- package/dist/es/src/components/CdsSkeletonLoader/CdsSkeletonLoader.css +0 -18
- package/dist/es/src/components/CdsSkeletonLoader/api/CdsSkeletonLoader.props.js +16 -4
- package/dist/es/src/components/CdsSkeletonLoader/api/CdsSkeletonLoader.props.js.map +1 -1
- package/dist/es/src/components/CdsSkeletonLoader/api/CdsSkeletonLoader.types.js.map +1 -1
- package/dist/es/src/components/CdsSlideGroup/CdsSlideGroup.css +0 -18
- package/dist/es/src/components/CdsSlideGroup/CdsSlideGroup.vue_vue_type_script_setup_true_lang.js +24 -6
- package/dist/es/src/components/CdsSlideGroup/CdsSlideGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsSlideGroup/api/CdsSlideGroup.props.js +25 -6
- package/dist/es/src/components/CdsSlideGroup/api/CdsSlideGroup.props.js.map +1 -1
- package/dist/es/src/components/CdsSlideView/CdsSlideView.css +0 -18
- package/dist/es/src/components/CdsSlideView/CdsSlideView.vue_vue_type_script_setup_true_lang.js +4 -0
- package/dist/es/src/components/CdsSlideView/CdsSlideView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsSlideView/CdsSlideViewItem.vue_vue_type_script_setup_true_lang.js +5 -1
- package/dist/es/src/components/CdsSlideView/CdsSlideViewItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsSlideView/api/CdsSlideView.props.js +44 -0
- package/dist/es/src/components/CdsSlideView/api/CdsSlideView.props.js.map +1 -1
- package/dist/es/src/components/CdsStages/CdsStages.css +0 -18
- package/dist/es/src/components/CdsStages/CdsStages.vue_vue_type_script_setup_true_lang.js +8 -0
- package/dist/es/src/components/CdsStages/CdsStages.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsStages/api/CdsStages.props.js +8 -2
- package/dist/es/src/components/CdsStages/api/CdsStages.props.js.map +1 -1
- package/dist/es/src/components/CdsStatus/CdsStatus.css +0 -18
- package/dist/es/src/components/CdsStatus/api/CdsStatus.props.js +4 -1
- package/dist/es/src/components/CdsStatus/api/CdsStatus.props.js.map +1 -1
- package/dist/es/src/components/CdsSteps/CdsSteps.css +0 -18
- package/dist/es/src/components/CdsSteps/CdsSteps.vue_vue_type_script_setup_true_lang.js +8 -0
- package/dist/es/src/components/CdsSteps/CdsSteps.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsSteps/api/CdsSteps.props.js +44 -11
- package/dist/es/src/components/CdsSteps/api/CdsSteps.props.js.map +1 -1
- package/dist/es/src/components/CdsSurface/CdsSurface.css +0 -18
- package/dist/es/src/components/CdsSurface/api/CdsSurface.props.js +4 -1
- package/dist/es/src/components/CdsSurface/api/CdsSurface.props.js.map +1 -1
- package/dist/es/src/components/CdsTable/CdsTable.css +0 -18
- package/dist/es/src/components/CdsTable/CdsTable.vue_vue_type_script_setup_true_lang.js +4 -0
- package/dist/es/src/components/CdsTable/CdsTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsTable/composable/table.js +47 -0
- package/dist/es/src/components/CdsTable/composable/table.js.map +1 -1
- package/dist/es/src/components/CdsTabs/CdsTabs.css +0 -18
- package/dist/es/src/components/CdsTabs/api/CdsTabs.props.js +56 -0
- package/dist/es/src/components/CdsTabs/api/CdsTabs.props.js.map +1 -1
- package/dist/es/src/components/CdsTag/CdsTag.css +0 -18
- package/dist/es/src/components/CdsTag/api/CdsTag.props.js +72 -18
- package/dist/es/src/components/CdsTag/api/CdsTag.props.js.map +1 -1
- package/dist/es/src/components/CdsTagGroup/CdsTagGroup.css +0 -18
- package/dist/es/src/components/CdsTagGroup/CdsTagGroup.vue_vue_type_script_setup_true_lang.js +20 -5
- package/dist/es/src/components/CdsTagGroup/CdsTagGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsTagGroup/api/CdsTagGroup.props.js +11 -3
- package/dist/es/src/components/CdsTagGroup/api/CdsTagGroup.props.js.map +1 -1
- package/dist/es/src/components/CdsTextArea/CdsTextArea.css +0 -18
- package/dist/es/src/components/CdsTextArea/api/CdsTextArea.props.js +52 -13
- package/dist/es/src/components/CdsTextArea/api/CdsTextArea.props.js.map +1 -1
- package/dist/es/src/components/CdsTextInput/CdsTextInput.css +0 -18
- package/dist/es/src/components/CdsTextInput/api/CdsTextInput.props.js +40 -10
- package/dist/es/src/components/CdsTextInput/api/CdsTextInput.props.js.map +1 -1
- package/dist/es/src/components/CdsTimePicker/CdsTimePicker.css +0 -18
- package/dist/es/src/components/CdsTimePicker/CdsTimePicker.vue_vue_type_script_setup_true_lang.js +24 -0
- package/dist/es/src/components/CdsTimePicker/CdsTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsTimePicker/api/CdsTimePicker.props.js +32 -8
- package/dist/es/src/components/CdsTimePicker/api/CdsTimePicker.props.js.map +1 -1
- package/dist/es/src/components/CdsToast/CdsToast.css +0 -18
- package/dist/es/src/components/CdsToast/api/CdsToast.props.js +48 -12
- package/dist/es/src/components/CdsToast/api/CdsToast.props.js.map +1 -1
- package/dist/es/src/components/CdsToastQueue/CdsToastQueue.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/es/src/components/CdsToastQueue/CdsToastQueue.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsToastQueue/api/CdsToastQueue.props.js +28 -7
- package/dist/es/src/components/CdsToastQueue/api/CdsToastQueue.props.js.map +1 -1
- package/dist/es/src/components/CdsToggle/CdsToggle.css +0 -18
- package/dist/es/src/components/CdsToggle/api/CdsToggle.props.js +12 -3
- package/dist/es/src/components/CdsToggle/api/CdsToggle.props.js.map +1 -1
- package/dist/es/src/components/CdsToolbar/CdsToolbar.css +0 -18
- package/dist/es/src/components/CdsToolbar/api/CdsToolbar.props.js +20 -5
- package/dist/es/src/components/CdsToolbar/api/CdsToolbar.props.js.map +1 -1
- package/dist/es/src/components/CdsTooltip/CdsTooltip.css +0 -18
- package/dist/es/src/components/CdsTooltip/api/CdsTooltip.props.js +20 -5
- package/dist/es/src/components/CdsTooltip/api/CdsTooltip.props.js.map +1 -1
- package/dist/es/src/components/CdsTree/CdsTree.css +0 -18
- package/dist/es/src/components/CdsTree/CdsTree.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/es/src/components/CdsTree/CdsTree.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsTree/composable/tree.js +28 -0
- package/dist/es/src/components/CdsTree/composable/tree.js.map +1 -1
- package/dist/es/src/components/CdsTree/composable/treeNode.js +68 -2
- package/dist/es/src/components/CdsTree/composable/treeNode.js.map +1 -1
- package/dist/es/src/components/CdsUploader/CdsUploader.css +0 -18
- package/dist/es/src/components/CdsUploader/CdsUploader.vue_vue_type_script_setup_true_lang.js +8 -0
- package/dist/es/src/components/CdsUploader/CdsUploader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsUploader/composables/useUpload.js +104 -26
- package/dist/es/src/components/CdsUploader/composables/useUpload.js.map +1 -1
- package/dist/es/src/components/CdsVirtualScroll/CdsVirtualScroll.css +0 -18
- package/dist/es/src/components/CdsVirtualScroll/CdsVirtualScroll.vue_vue_type_script_setup_true_lang.js +8 -0
- package/dist/es/src/components/CdsVirtualScroll/CdsVirtualScroll.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/es/src/components/CdsVirtualScroll/api/CdsVirtualScroll.props.js +12 -3
- package/dist/es/src/components/CdsVirtualScroll/api/CdsVirtualScroll.props.js.map +1 -1
- package/dist/es/src/components/index.js +2 -1
- package/dist/es/src/components/index.js.map +1 -1
- package/dist/es/src/composables/useAppearance/useAppearance.js +4 -1
- package/dist/es/src/composables/useAppearance/useAppearance.js.map +1 -1
- package/dist/es/src/composables/useColor/useColor.js +20 -5
- package/dist/es/src/composables/useColor/useColor.js.map +1 -1
- package/dist/es/src/composables/useDatetime/useDatetime.js +3 -0
- package/dist/es/src/composables/useDatetime/useDatetime.js.map +1 -1
- package/dist/es/src/composables/useDelay/useDelay.js +8 -2
- package/dist/es/src/composables/useDelay/useDelay.js.map +1 -1
- package/dist/es/src/composables/useDimensions/useDimensions.js +24 -6
- package/dist/es/src/composables/useDimensions/useDimensions.js.map +1 -1
- package/dist/es/src/composables/useDirection/useDirection.js +4 -1
- package/dist/es/src/composables/useDirection/useDirection.js.map +1 -1
- package/dist/es/src/composables/useDisabled/useDisabled.js +4 -1
- package/dist/es/src/composables/useDisabled/useDisabled.js.map +1 -1
- package/dist/es/src/composables/useDisplay/useDisplay.js +2 -0
- package/dist/es/src/composables/useDisplay/useDisplay.js.map +1 -1
- package/dist/es/src/composables/useFilter/useFilter.js +20 -0
- package/dist/es/src/composables/useFilter/useFilter.js.map +1 -1
- package/dist/es/src/composables/useFocus/useFocus.js +12 -3
- package/dist/es/src/composables/useFocus/useFocus.js.map +1 -1
- package/dist/es/src/composables/useFocus/useFocusTrap.js +8 -2
- package/dist/es/src/composables/useFocus/useFocusTrap.js.map +1 -1
- package/dist/es/src/composables/useForm/useForm.js +45 -0
- package/dist/es/src/composables/useForm/useForm.js.map +1 -1
- package/dist/es/src/composables/useGroup/useGroup.js +24 -6
- package/dist/es/src/composables/useGroup/useGroup.js.map +1 -1
- package/dist/es/src/composables/useGroup/useGroupItem.js +8 -2
- package/dist/es/src/composables/useGroup/useGroupItem.js.map +1 -1
- package/dist/es/src/composables/useItems/useItems.js +32 -8
- package/dist/es/src/composables/useItems/useItems.js.map +1 -1
- package/dist/es/src/composables/useLayout/context.js.map +1 -1
- package/dist/es/src/composables/useLayout/useLayout.js +24 -6
- package/dist/es/src/composables/useLayout/useLayout.js.map +1 -1
- package/dist/es/src/composables/useLazy/useLazy.js +1 -0
- package/dist/es/src/composables/useLazy/useLazy.js.map +1 -1
- package/dist/es/src/composables/useLoader/useLoader.js +4 -1
- package/dist/es/src/composables/useLoader/useLoader.js.map +1 -1
- package/dist/es/src/composables/useLocation/useLocation.js +4 -1
- package/dist/es/src/composables/useLocation/useLocation.js.map +1 -1
- package/dist/es/src/composables/useNested/useNested.js +44 -11
- package/dist/es/src/composables/useNested/useNested.js.map +1 -1
- package/dist/es/src/composables/usePosition/usePosition.js +4 -0
- package/dist/es/src/composables/usePosition/usePosition.js.map +1 -1
- package/dist/es/src/composables/useReadonly/useReadonly.js +4 -1
- package/dist/es/src/composables/useReadonly/useReadonly.js.map +1 -1
- package/dist/es/src/composables/useReveal/useReveal.js +4 -1
- package/dist/es/src/composables/useReveal/useReveal.js.map +1 -1
- package/dist/es/src/composables/useRouter/useRouter.js +16 -4
- package/dist/es/src/composables/useRouter/useRouter.js.map +1 -1
- package/dist/es/src/composables/useSize/useSize.js +4 -1
- package/dist/es/src/composables/useSize/useSize.js.map +1 -1
- package/dist/es/src/composables/useStatus/useStatus.js +4 -1
- package/dist/es/src/composables/useStatus/useStatus.js.map +1 -1
- package/dist/es/src/composables/useText/useText.js +8 -2
- package/dist/es/src/composables/useText/useText.js.map +1 -1
- package/dist/es/src/composables/useTheme/useTheme.js +4 -1
- package/dist/es/src/composables/useTheme/useTheme.js.map +1 -1
- package/dist/es/src/composables/useTransition/useTransition.js +4 -1
- package/dist/es/src/composables/useTransition/useTransition.js.map +1 -1
- package/dist/es/src/composables/useValidation/useValidation.js +26 -6
- package/dist/es/src/composables/useValidation/useValidation.js.map +1 -1
- package/dist/es/src/composables/useVirtual/useVirtual.js +12 -3
- package/dist/es/src/composables/useVirtual/useVirtual.js.map +1 -1
- package/dist/es/src/core/defineComponent.js +4 -1
- package/dist/es/src/core/defineComponent.js.map +1 -1
- package/dist/es/src/themes/lumaDark.js +8 -4
- package/dist/es/src/themes/lumaDark.js.map +1 -1
- package/dist/es/src/utils/date/date.js +4 -4
- package/dist/es/src/utils/date/date.js.map +1 -1
- package/dist/esm-node/entry.css +0 -18
- package/dist/esm-node/entry.mjs +3 -2
- package/dist/esm-node/src/cds.mjs +1 -1
- package/dist/esm-node/src/components/CdsApp/CdsApp.css +0 -18
- package/dist/esm-node/src/components/CdsApp/api/CdsApp.props.mjs +1 -0
- package/dist/esm-node/src/components/CdsAutocomplete/CdsAutocomplete.css +0 -18
- package/dist/esm-node/src/components/CdsAutocomplete/CdsAutocomplete.vue_vue_type_script_setup_true_lang.mjs +20 -5
- package/dist/esm-node/src/components/CdsAutocomplete/api/CdsAutocomplete.props.mjs +9 -2
- package/dist/esm-node/src/components/CdsAvatar/CdsAvatar.css +0 -18
- package/dist/esm-node/src/components/CdsAvatar/api/CdsAvatar.props.mjs +20 -5
- package/dist/esm-node/src/components/CdsBadge/CdsBadge.css +0 -18
- package/dist/esm-node/src/components/CdsBadge/api/CdsBadge.props.mjs +37 -9
- package/dist/esm-node/src/components/CdsBreadcrumbs/CdsBreadcrumbs.css +0 -18
- package/dist/esm-node/src/components/CdsBreadcrumbs/api/CdsBreadcrumbs.props.mjs +32 -8
- package/dist/esm-node/src/components/CdsButton/CdsButton.css +0 -18
- package/dist/esm-node/src/components/CdsButton/CdsButton.vue_vue_type_script_setup_true_lang.mjs +4 -1
- package/dist/esm-node/src/components/CdsButton/api/CdsButton.props.mjs +28 -7
- package/dist/esm-node/src/components/CdsButtonGroup/CdsButtonGroup.css +0 -18
- package/dist/esm-node/src/components/CdsButtonGroup/api/CdsButtonGroup.props.mjs +4 -1
- package/dist/esm-node/src/components/CdsButtonToggle/CdsButtonToggle.css +0 -18
- package/dist/esm-node/src/components/CdsButtonToggle/CdsButtonToggle.vue_vue_type_script_setup_true_lang.mjs +20 -5
- package/dist/esm-node/src/components/CdsCard/CdsCard.css +0 -18
- package/dist/esm-node/src/components/CdsCard/CdsCard.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/dist/esm-node/src/components/CdsCard/CdsCardActions.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/dist/esm-node/src/components/CdsCard/CdsCardDivider.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/dist/esm-node/src/components/CdsCard/CdsCardGroup.vue_vue_type_script_setup_true_lang.mjs +21 -6
- package/dist/esm-node/src/components/CdsCard/CdsCardItem.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/dist/esm-node/src/components/CdsCard/CdsCardSubtitle.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/dist/esm-node/src/components/CdsCard/CdsCardText.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/dist/esm-node/src/components/CdsCard/CdsCardTitle.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/dist/esm-node/src/components/CdsCard/api/CdsCard.constants.mjs +9 -9
- package/dist/esm-node/src/components/CdsCard/api/CdsCard.props.mjs +85 -21
- package/dist/esm-node/src/components/CdsCard/index.mjs +1 -1
- package/dist/esm-node/src/components/CdsCarousel/CdsCarousel.css +0 -18
- package/dist/esm-node/src/components/CdsCarousel/api/CdsCarousel.props.mjs +36 -9
- package/dist/esm-node/src/components/CdsCheckbox/CdsCheckbox.css +0 -18
- package/dist/esm-node/src/components/CdsCheckboxButton/CdsCheckboxButton.css +0 -18
- package/dist/esm-node/src/components/CdsCheckboxButton/api/CdsCheckboxButton.props.mjs +8 -2
- package/dist/esm-node/src/components/CdsCombobox/CdsCombobox.css +0 -18
- package/dist/esm-node/src/components/CdsCombobox/CdsCombobox.vue_vue_type_script_setup_true_lang.mjs +24 -6
- package/dist/esm-node/src/components/CdsCombobox/api/CdsCombobox.props.mjs +13 -3
- package/dist/esm-node/src/components/CdsCounter/CdsCounter.css +0 -18
- package/dist/esm-node/src/components/CdsCounter/api/CdsCounter.props.mjs +12 -3
- package/dist/esm-node/src/components/CdsDateInput/CdsDateInput.css +0 -18
- package/dist/esm-node/src/components/CdsDateInput/CdsDateInput.vue_vue_type_script_setup_true_lang.mjs +8 -0
- package/dist/esm-node/src/components/CdsDateInput/api/CdsDateInput.props.mjs +31 -7
- package/dist/esm-node/src/components/CdsDatePicker/CdsDatePicker.css +0 -18
- package/dist/esm-node/src/components/CdsDatePicker/CdsDatePicker.vue_vue_type_script_setup_true_lang.mjs +20 -0
- package/dist/esm-node/src/components/CdsDatePicker/api/CdsDatePicker.props.mjs +64 -15
- package/dist/esm-node/src/components/CdsDefaultsProvider/api/CdsDefaultsProvider.props.mjs +5 -0
- package/dist/esm-node/src/components/CdsDescription/CdsDescription.css +0 -18
- package/dist/esm-node/src/components/CdsDivider/CdsDivider.css +0 -18
- package/dist/esm-node/src/components/CdsDivider/api/CdsDivider.props.mjs +33 -8
- package/dist/esm-node/src/components/CdsDrawer/CdsDrawer.css +0 -18
- package/dist/esm-node/src/components/CdsDrawer/CdsDrawer.vue_vue_type_script_setup_true_lang.mjs +4 -0
- package/dist/esm-node/src/components/CdsDrawer/api/CdsDrawer.props.mjs +32 -8
- package/dist/esm-node/src/components/CdsEmptyState/CdsEmptyState.css +0 -18
- package/dist/esm-node/src/components/CdsEmptyState/api/CdsEmptyState.props.mjs +33 -8
- package/dist/esm-node/src/components/CdsExpandablePanel/CdsExpandablePanel.vue_vue_type_script_setup_true_lang.mjs +16 -4
- package/dist/esm-node/src/components/CdsExpandablePanel/CdsExpandablePanelTitle.vue_vue_type_script_setup_true_lang.mjs +8 -2
- package/dist/esm-node/src/components/CdsExpandablePanel/CdsExpandablePanels.css +0 -18
- package/dist/esm-node/src/components/CdsExpandablePanel/CdsExpandablePanels.vue_vue_type_script_setup_true_lang.mjs +8 -2
- package/dist/esm-node/src/components/CdsExpandablePanel/api/CdsExpandablePanel.props.mjs +38 -9
- package/dist/esm-node/src/components/CdsField/CdsField.css +0 -18
- package/dist/esm-node/src/components/CdsField/CdsField.vue_vue_type_script_setup_true_lang.mjs +13 -3
- package/dist/esm-node/src/components/CdsField/api/CdsField.props.mjs +56 -14
- package/dist/esm-node/src/components/CdsField/composables/useAutocomplete.mjs +1 -0
- package/dist/esm-node/src/components/CdsFileInput/CdsFileInput.css +0 -18
- package/dist/esm-node/src/components/CdsFileInput/api/CdsFileInput.props.mjs +40 -10
- package/dist/esm-node/src/components/CdsFileInput/composables/useFileFilter.mjs +4 -1
- package/dist/esm-node/src/components/CdsFileUpload/CdsFileUpload.css +0 -18
- package/dist/esm-node/src/components/CdsFileUpload/CdsFileUpload.vue_vue_type_script_setup_true_lang.mjs +4 -0
- package/dist/esm-node/src/components/CdsFileUpload/api/CdsFileUpload.props.mjs +85 -21
- package/dist/esm-node/src/components/CdsFooter/CdsFooter.css +0 -18
- package/dist/esm-node/src/components/CdsForm/CdsForm.css +0 -18
- package/dist/esm-node/src/components/CdsForm/api/CdsForm.props.mjs +8 -2
- package/dist/esm-node/src/components/CdsFunctionalButton/CdsFunctionalButton.css +0 -18
- package/dist/esm-node/src/components/CdsFunctionalButton/api/CdsFunctionalButton.props.mjs +4 -1
- package/dist/esm-node/src/components/CdsGrid/api/CdsGrid.props.mjs +40 -10
- package/dist/esm-node/src/components/CdsGrid/components/CSSGrid.css +0 -18
- package/dist/esm-node/src/components/CdsGrid/components/FlexGrid.css +0 -18
- package/dist/esm-node/src/components/CdsHeader/CdsHeader.css +0 -18
- package/dist/esm-node/src/components/CdsHighlight/CdsHighlight.css +0 -18
- package/dist/esm-node/src/components/CdsHighlight/api/CdsHighlight.props.mjs +32 -8
- package/dist/esm-node/src/components/CdsIcon/CdsIcon.css +0 -18
- package/dist/esm-node/src/components/CdsIcon/api/CdsIcon.props.mjs +17 -4
- package/dist/esm-node/src/components/CdsImage/CdsImage.css +0 -18
- package/dist/esm-node/src/components/CdsImage/CdsImage.vue_vue_type_script_setup_true_lang.mjs +20 -0
- package/dist/esm-node/src/components/CdsImage/api/CdsImage.props.mjs +64 -16
- package/dist/esm-node/src/components/CdsInput/CdsInput.css +0 -18
- package/dist/esm-node/src/components/CdsInput/CdsInput.vue_vue_type_script_setup_true_lang.mjs +44 -11
- package/dist/esm-node/src/components/CdsInput/api/CdsInput.props.mjs +48 -12
- package/dist/esm-node/src/components/CdsLabel/CdsLabel.css +0 -18
- package/dist/esm-node/src/components/CdsLabel/api/CdsLabel.props.mjs +4 -0
- package/dist/esm-node/src/components/CdsLayout/CdsLayout.css +0 -18
- package/dist/esm-node/src/components/CdsLayout/api/CdsLayout.props.mjs +5 -1
- package/dist/esm-node/src/components/CdsLink/CdsLink.css +0 -18
- package/dist/esm-node/src/components/CdsLink/api/CdsLink.props.mjs +4 -1
- package/dist/esm-node/src/components/CdsList/CdsList.css +0 -18
- package/dist/esm-node/src/components/CdsList/CdsList.vue_vue_type_script_setup_true_lang.mjs +24 -6
- package/dist/esm-node/src/components/CdsList/CdsListGroup.vue_vue_type_script_setup_true_lang.mjs +4 -1
- package/dist/esm-node/src/components/CdsList/CdsListItem.css +0 -18
- package/dist/esm-node/src/components/CdsList/CdsListItem.vue_vue_type_script_setup_true_lang.mjs +28 -7
- package/dist/esm-node/src/components/CdsList/CdsListItemAction.vue_vue_type_script_setup_true_lang.mjs +8 -2
- package/dist/esm-node/src/components/CdsList/CdsListItemMedia.vue_vue_type_script_setup_true_lang.mjs +8 -2
- package/dist/esm-node/src/components/CdsList/api/CdsList.props.mjs +144 -36
- package/dist/esm-node/src/components/CdsList/components/ListChildren.vue_vue_type_script_setup_true_lang.mjs +8 -2
- package/dist/esm-node/src/components/CdsList/index.mjs +5 -2
- package/dist/esm-node/src/components/CdsLoader/CdsLoader.css +0 -18
- package/dist/esm-node/src/components/CdsLoader/api/CdsLoader.props.mjs +12 -3
- package/dist/esm-node/src/components/CdsMain/CdsMain.css +0 -18
- package/dist/esm-node/src/components/CdsMenu/CdsMenu.css +0 -18
- package/dist/esm-node/src/components/CdsMenu/api/CdsMenu.props.mjs +8 -2
- package/dist/esm-node/src/components/CdsMessages/CdsMessages.css +0 -18
- package/dist/esm-node/src/components/CdsMessages/api/CdsMessages.props.mjs +12 -3
- package/dist/esm-node/src/components/CdsModal/CdsModal.css +0 -18
- package/dist/esm-node/src/components/CdsModal/api/CdsModal.props.mjs +8 -2
- package/dist/esm-node/src/components/CdsNotification/CdsNotification.css +0 -18
- package/dist/esm-node/src/components/CdsNotification/api/CdsNotification.props.mjs +28 -7
- package/dist/esm-node/src/components/CdsNotificationAlert/CdsNotificationAlert.css +0 -18
- package/dist/esm-node/src/components/CdsNotificationAlert/api/CdsNotificationAlert.props.mjs +28 -7
- package/dist/esm-node/src/components/CdsOtpInput/CdsOtpInput.css +0 -18
- package/dist/esm-node/src/components/CdsOtpInput/CdsOtpInput.vue_vue_type_script_setup_true_lang.mjs +20 -5
- package/dist/esm-node/src/components/CdsOtpInput/api/CdsOtpInput.props.mjs +52 -13
- package/dist/esm-node/src/components/CdsOverlay/CdsOverlay.css +0 -18
- package/dist/esm-node/src/components/CdsOverlay/CdsOverlay.vue_vue_type_script_setup_true_lang.mjs +44 -11
- package/dist/esm-node/src/components/CdsOverlay/api/CdsOverlay.props.mjs +36 -8
- package/dist/esm-node/src/components/CdsOverlay/composables/useActivator.mjs +25 -6
- package/dist/esm-node/src/components/CdsOverlay/composables/useLocationStrategies.mjs +18 -4
- package/dist/esm-node/src/components/CdsOverlay/composables/useScrollStrategies.mjs +4 -1
- package/dist/esm-node/src/components/CdsPage/CdsPage.css +0 -18
- package/dist/esm-node/src/components/CdsPage/api/CdsPage.props.mjs +5 -1
- package/dist/esm-node/src/components/CdsPagination/CdsPagination.css +0 -18
- package/dist/esm-node/src/components/CdsPagination/CdsPagination.vue_vue_type_script_setup_true_lang.mjs +16 -0
- package/dist/esm-node/src/components/CdsPagination/api/CdsPagination.props.mjs +84 -21
- package/dist/esm-node/src/components/CdsProgressBar/CdsProgressBar.css +0 -18
- package/dist/esm-node/src/components/CdsProgressBar/api/CdsProgressBar.props.mjs +64 -16
- package/dist/esm-node/src/components/CdsProgressBar/composables/useChunk.mjs +4 -0
- package/dist/esm-node/src/components/CdsProgressCircle/CdsProgressCircle.css +0 -18
- package/dist/esm-node/src/components/CdsProgressCircle/api/CdsProgressCircle.props.mjs +28 -7
- package/dist/esm-node/src/components/CdsRadio/CdsRadio.css +0 -18
- package/dist/esm-node/src/components/CdsRadioGroup/CdsRadioGroup.css +0 -18
- package/dist/esm-node/src/components/CdsRadioGroup/api/CdsRadioGroup.props.mjs +16 -4
- package/dist/esm-node/src/components/CdsResponsive/CdsResponsive.css +0 -18
- package/dist/esm-node/src/components/CdsResponsive/api/CdsResponsive.props.mjs +12 -3
- package/dist/esm-node/src/components/CdsSelect/CdsSelect.css +0 -18
- package/dist/esm-node/src/components/CdsSelect/CdsSelect.vue_vue_type_script_setup_true_lang.mjs +16 -4
- package/dist/esm-node/src/components/CdsSelect/api/CdsSelect.props.mjs +4 -1
- package/dist/esm-node/src/components/CdsSelect/composables/useMenuActivator.mjs +8 -2
- package/dist/esm-node/src/components/CdsSelect/composables/useSelect.mjs +69 -17
- package/dist/esm-node/src/components/CdsSelectionControl/CdsSelectionControl.css +0 -18
- package/dist/esm-node/src/components/CdsSelectionControl/CdsSelectionControl.vue_vue_type_script_setup_true_lang.mjs +8 -0
- package/dist/esm-node/src/components/CdsSelectionControl/api/CdsSelectionControl.props.mjs +12 -3
- package/dist/esm-node/src/components/CdsSelectionControlGroup/CdsSelectionControlGroup.css +0 -18
- package/dist/esm-node/src/components/CdsSelectionControlGroup/api/CdsSelectionControlGroup.props.mjs +44 -11
- package/dist/esm-node/src/components/CdsSkeletonLoader/CdsSkeletonLoader.css +0 -18
- package/dist/esm-node/src/components/CdsSkeletonLoader/api/CdsSkeletonLoader.props.mjs +16 -4
- package/dist/esm-node/src/components/CdsSlideGroup/CdsSlideGroup.css +0 -18
- package/dist/esm-node/src/components/CdsSlideGroup/CdsSlideGroup.vue_vue_type_script_setup_true_lang.mjs +24 -6
- package/dist/esm-node/src/components/CdsSlideGroup/api/CdsSlideGroup.props.mjs +25 -6
- package/dist/esm-node/src/components/CdsSlideView/CdsSlideView.css +0 -18
- package/dist/esm-node/src/components/CdsSlideView/CdsSlideView.vue_vue_type_script_setup_true_lang.mjs +4 -0
- package/dist/esm-node/src/components/CdsSlideView/CdsSlideViewItem.vue_vue_type_script_setup_true_lang.mjs +5 -1
- package/dist/esm-node/src/components/CdsSlideView/api/CdsSlideView.props.mjs +44 -0
- package/dist/esm-node/src/components/CdsStages/CdsStages.css +0 -18
- package/dist/esm-node/src/components/CdsStages/CdsStages.vue_vue_type_script_setup_true_lang.mjs +8 -0
- package/dist/esm-node/src/components/CdsStages/api/CdsStages.props.mjs +8 -2
- package/dist/esm-node/src/components/CdsStatus/CdsStatus.css +0 -18
- package/dist/esm-node/src/components/CdsStatus/api/CdsStatus.props.mjs +4 -1
- package/dist/esm-node/src/components/CdsSteps/CdsSteps.css +0 -18
- package/dist/esm-node/src/components/CdsSteps/CdsSteps.vue_vue_type_script_setup_true_lang.mjs +8 -0
- package/dist/esm-node/src/components/CdsSteps/api/CdsSteps.props.mjs +44 -11
- package/dist/esm-node/src/components/CdsSurface/CdsSurface.css +0 -18
- package/dist/esm-node/src/components/CdsSurface/api/CdsSurface.props.mjs +4 -1
- package/dist/esm-node/src/components/CdsTable/CdsTable.css +0 -18
- package/dist/esm-node/src/components/CdsTable/CdsTable.vue_vue_type_script_setup_true_lang.mjs +4 -0
- package/dist/esm-node/src/components/CdsTable/composable/table.mjs +47 -0
- package/dist/esm-node/src/components/CdsTabs/CdsTabs.css +0 -18
- package/dist/esm-node/src/components/CdsTabs/api/CdsTabs.props.mjs +56 -0
- package/dist/esm-node/src/components/CdsTag/CdsTag.css +0 -18
- package/dist/esm-node/src/components/CdsTag/api/CdsTag.props.mjs +72 -18
- package/dist/esm-node/src/components/CdsTagGroup/CdsTagGroup.css +0 -18
- package/dist/esm-node/src/components/CdsTagGroup/CdsTagGroup.vue_vue_type_script_setup_true_lang.mjs +20 -5
- package/dist/esm-node/src/components/CdsTagGroup/api/CdsTagGroup.props.mjs +11 -3
- package/dist/esm-node/src/components/CdsTextArea/CdsTextArea.css +0 -18
- package/dist/esm-node/src/components/CdsTextArea/api/CdsTextArea.props.mjs +52 -13
- package/dist/esm-node/src/components/CdsTextInput/CdsTextInput.css +0 -18
- package/dist/esm-node/src/components/CdsTextInput/api/CdsTextInput.props.mjs +40 -10
- package/dist/esm-node/src/components/CdsTimePicker/CdsTimePicker.css +0 -18
- package/dist/esm-node/src/components/CdsTimePicker/CdsTimePicker.vue_vue_type_script_setup_true_lang.mjs +24 -0
- package/dist/esm-node/src/components/CdsTimePicker/api/CdsTimePicker.props.mjs +32 -8
- package/dist/esm-node/src/components/CdsToast/CdsToast.css +0 -18
- package/dist/esm-node/src/components/CdsToast/api/CdsToast.props.mjs +48 -12
- package/dist/esm-node/src/components/CdsToastQueue/CdsToastQueue.vue_vue_type_script_setup_true_lang.mjs +4 -1
- package/dist/esm-node/src/components/CdsToastQueue/api/CdsToastQueue.props.mjs +28 -7
- package/dist/esm-node/src/components/CdsToggle/CdsToggle.css +0 -18
- package/dist/esm-node/src/components/CdsToggle/api/CdsToggle.props.mjs +12 -3
- package/dist/esm-node/src/components/CdsToolbar/CdsToolbar.css +0 -18
- package/dist/esm-node/src/components/CdsToolbar/api/CdsToolbar.props.mjs +20 -5
- package/dist/esm-node/src/components/CdsTooltip/CdsTooltip.css +0 -18
- package/dist/esm-node/src/components/CdsTooltip/api/CdsTooltip.props.mjs +20 -5
- package/dist/esm-node/src/components/CdsTree/CdsTree.css +0 -18
- package/dist/esm-node/src/components/CdsTree/CdsTree.vue_vue_type_script_setup_true_lang.mjs +16 -0
- package/dist/esm-node/src/components/CdsTree/composable/tree.mjs +28 -0
- package/dist/esm-node/src/components/CdsTree/composable/treeNode.mjs +68 -2
- package/dist/esm-node/src/components/CdsUploader/CdsUploader.css +0 -18
- package/dist/esm-node/src/components/CdsUploader/CdsUploader.vue_vue_type_script_setup_true_lang.mjs +8 -0
- package/dist/esm-node/src/components/CdsUploader/composables/useUpload.mjs +104 -26
- package/dist/esm-node/src/components/CdsVirtualScroll/CdsVirtualScroll.css +0 -18
- package/dist/esm-node/src/components/CdsVirtualScroll/CdsVirtualScroll.vue_vue_type_script_setup_true_lang.mjs +8 -0
- package/dist/esm-node/src/components/CdsVirtualScroll/api/CdsVirtualScroll.props.mjs +12 -3
- package/dist/esm-node/src/components/index.mjs +2 -1
- package/dist/esm-node/src/composables/useAppearance/useAppearance.mjs +4 -1
- package/dist/esm-node/src/composables/useColor/useColor.mjs +20 -5
- package/dist/esm-node/src/composables/useDatetime/useDatetime.mjs +3 -0
- package/dist/esm-node/src/composables/useDelay/useDelay.mjs +8 -2
- package/dist/esm-node/src/composables/useDimensions/useDimensions.mjs +24 -6
- package/dist/esm-node/src/composables/useDirection/useDirection.mjs +4 -1
- package/dist/esm-node/src/composables/useDisabled/index.mjs +1 -1
- package/dist/esm-node/src/composables/useDisabled/useDisabled.mjs +4 -1
- package/dist/esm-node/src/composables/useDisplay/useDisplay.mjs +2 -0
- package/dist/esm-node/src/composables/useFilter/useFilter.mjs +20 -0
- package/dist/esm-node/src/composables/useFocus/useFocus.mjs +12 -3
- package/dist/esm-node/src/composables/useFocus/useFocusTrap.mjs +8 -2
- package/dist/esm-node/src/composables/useForm/useForm.mjs +45 -0
- package/dist/esm-node/src/composables/useGroup/useGroup.mjs +24 -6
- package/dist/esm-node/src/composables/useGroup/useGroupItem.mjs +8 -2
- package/dist/esm-node/src/composables/useItems/useItems.mjs +32 -8
- package/dist/esm-node/src/composables/useLayout/useLayout.mjs +24 -6
- package/dist/esm-node/src/composables/useLazy/useLazy.mjs +1 -0
- package/dist/esm-node/src/composables/useLoader/index.mjs +1 -1
- package/dist/esm-node/src/composables/useLoader/useLoader.mjs +4 -1
- package/dist/esm-node/src/composables/useLocation/index.mjs +1 -1
- package/dist/esm-node/src/composables/useLocation/useLocation.mjs +4 -1
- package/dist/esm-node/src/composables/useNested/useNested.mjs +44 -11
- package/dist/esm-node/src/composables/usePosition/usePosition.mjs +4 -0
- package/dist/esm-node/src/composables/useReadonly/useReadonly.mjs +4 -1
- package/dist/esm-node/src/composables/useReveal/useReveal.mjs +4 -1
- package/dist/esm-node/src/composables/useRouter/index.mjs +1 -1
- package/dist/esm-node/src/composables/useRouter/useRouter.mjs +16 -4
- package/dist/esm-node/src/composables/useSize/useSize.mjs +4 -1
- package/dist/esm-node/src/composables/useStatus/useStatus.mjs +4 -1
- package/dist/esm-node/src/composables/useText/useText.mjs +8 -2
- package/dist/esm-node/src/composables/useTheme/useTheme.mjs +4 -1
- package/dist/esm-node/src/composables/useTransition/useTransition.mjs +4 -1
- package/dist/esm-node/src/composables/useValidation/useValidation.mjs +26 -6
- package/dist/esm-node/src/composables/useVirtual/useVirtual.mjs +12 -3
- package/dist/esm-node/src/core/defineComponent.mjs +4 -1
- package/dist/esm-node/src/themes/lumaDark.mjs +8 -4
- package/dist/esm-node/src/utils/date/date.mjs +4 -4
- package/dist/iife/entry.js +9 -9
- package/dist/styles/common.css +1 -1
- package/dist/styles/core.css +1 -1
- package/dist/styles/tailwind.css +1 -1
- package/dist/styles.css +2 -2
- package/dist/types/components/CdsApp/api/CdsApp.types.d.ts +4 -1
- package/dist/types/components/CdsAutocomplete/CdsAutocomplete.vue.d.ts +59 -20
- package/dist/types/components/CdsAutocomplete/api/CdsAutocomplete.types.d.ts +60 -15
- package/dist/types/components/CdsAutocomplete/index.d.ts +57 -30
- package/dist/types/components/CdsAvatar/api/CdsAvatar.types.d.ts +8 -2
- package/dist/types/components/CdsBadge/api/CdsBadge.types.d.ts +8 -2
- package/dist/types/components/CdsBreadcrumbs/api/CdsBreadcrumbs.types.d.ts +28 -7
- package/dist/types/components/CdsButton/CdsButton.vue.d.ts +4 -1
- package/dist/types/components/CdsButton/api/CdsButton.types.d.ts +20 -5
- package/dist/types/components/CdsButtonGroup/api/CdsButtonGroup.types.d.ts +4 -1
- package/dist/types/components/CdsButtonToggle/CdsButtonToggle.vue.d.ts +20 -5
- package/dist/types/components/CdsButtonToggle/api/CdsButtonToggle.types.d.ts +8 -2
- package/dist/types/components/CdsCard/CdsCardGroup.vue.d.ts +20 -5
- package/dist/types/components/CdsCard/api/CdsCard.types.d.ts +68 -17
- package/dist/types/components/CdsCarousel/api/CdsCarousel.types.d.ts +12 -3
- package/dist/types/components/CdsCheckbox/api/CdsCheckbox.types.d.ts +8 -2
- package/dist/types/components/CdsCheckboxButton/api/CdsCheckboxButton.types.d.ts +8 -0
- package/dist/types/components/CdsCombobox/CdsCombobox.vue.d.ts +67 -22
- package/dist/types/components/CdsCombobox/api/CdsCombobox.types.d.ts +60 -15
- package/dist/types/components/CdsCombobox/index.d.ts +57 -30
- package/dist/types/components/CdsCounter/api/CdsCounter.types.d.ts +4 -0
- package/dist/types/components/CdsDateInput/CdsDateInput.vue.d.ts +35 -10
- package/dist/types/components/CdsDateInput/api/CdsDateInput.types.d.ts +44 -11
- package/dist/types/components/CdsDateInput/index.d.ts +57 -30
- package/dist/types/components/CdsDatePicker/CdsDatePicker.vue.d.ts +20 -0
- package/dist/types/components/CdsDatePicker/api/CdsDatePicker.types.d.ts +28 -7
- package/dist/types/components/CdsDefaultsProvider/api/CdsDefaultsProvider.types.d.ts +1 -0
- package/dist/types/components/CdsDescription/api/CdsDescription.types.d.ts +4 -0
- package/dist/types/components/CdsDivider/CdsDivider.vue.d.ts +4 -0
- package/dist/types/components/CdsDrawer/CdsDrawer.vue.d.ts +4 -0
- package/dist/types/components/CdsDrawer/api/CdsDrawer.types.d.ts +24 -6
- package/dist/types/components/CdsEmptyState/api/CdsEmptyState.types.d.ts +36 -9
- package/dist/types/components/CdsExpandablePanel/CdsExpandablePanel.vue.d.ts +16 -4
- package/dist/types/components/CdsExpandablePanel/CdsExpandablePanelTitle.vue.d.ts +8 -2
- package/dist/types/components/CdsExpandablePanel/CdsExpandablePanels.vue.d.ts +8 -2
- package/dist/types/components/CdsExpandablePanel/api/CdsExpandablePanel.types.d.ts +56 -14
- package/dist/types/components/CdsField/CdsField.vue.d.ts +18 -2
- package/dist/types/components/CdsField/api/CdsField.types.d.ts +33 -7
- package/dist/types/components/CdsField/index.d.ts +5 -0
- package/dist/types/components/CdsFileInput/CdsFileInput.vue.d.ts +5 -2
- package/dist/types/components/CdsFileInput/api/CdsFileInput.types.d.ts +28 -7
- package/dist/types/components/CdsFileInput/index.d.ts +15 -6
- package/dist/types/components/CdsFileUpload/CdsFileUpload.vue.d.ts +8 -0
- package/dist/types/components/CdsFileUpload/api/CdsFileUpload.types.d.ts +116 -29
- package/dist/types/components/CdsFooter/api/CdsFooter.types.d.ts +12 -3
- package/dist/types/components/CdsForm/api/CdsForm.types.d.ts +20 -5
- package/dist/types/components/CdsFunctionalButton/api/CdsFunctionalButton.types.d.ts +8 -2
- package/dist/types/components/CdsGrid/api/CdsGrid.types.d.ts +12 -0
- package/dist/types/components/CdsHeader/api/CdsHeader.types.d.ts +12 -3
- package/dist/types/components/CdsIcon/api/CdsIcon.types.d.ts +4 -1
- package/dist/types/components/CdsImage/CdsImage.vue.d.ts +20 -0
- package/dist/types/components/CdsImage/api/CdsImage.props.d.ts +4 -1
- package/dist/types/components/CdsImage/api/CdsImage.types.d.ts +28 -7
- package/dist/types/components/CdsInput/CdsInput.vue.d.ts +44 -11
- package/dist/types/components/CdsInput/api/CdsInput.types.d.ts +36 -9
- package/dist/types/components/CdsLabel/api/CdsLabel.types.d.ts +4 -0
- package/dist/types/components/CdsLayout/api/CdsLayout.types.d.ts +16 -4
- package/dist/types/components/CdsLink/api/CdsLink.types.d.ts +8 -2
- package/dist/types/components/CdsList/CdsList.vue.d.ts +24 -6
- package/dist/types/components/CdsList/CdsListGroup.vue.d.ts +4 -1
- package/dist/types/components/CdsList/CdsListItem.vue.d.ts +28 -7
- package/dist/types/components/CdsList/CdsListItemAction.vue.d.ts +20 -5
- package/dist/types/components/CdsList/CdsListItemDivider.vue.d.ts +4 -0
- package/dist/types/components/CdsList/CdsListItemMedia.vue.d.ts +20 -5
- package/dist/types/components/CdsList/CdsListSubheader.vue.d.ts +4 -1
- package/dist/types/components/CdsList/api/CdsList.types.d.ts +84 -21
- package/dist/types/components/CdsList/components/ListChildren.vue.d.ts +16 -4
- package/dist/types/components/CdsList/components/ListGroupActivator.vue.d.ts +4 -1
- package/dist/types/components/CdsList/index.d.ts +76 -0
- package/dist/types/components/CdsMain/api/CdsMain.types.d.ts +4 -1
- package/dist/types/components/CdsMenu/api/CdsMenu.types.d.ts +12 -0
- package/dist/types/components/CdsMessages/api/CdsMessages.types.d.ts +8 -0
- package/dist/types/components/CdsModal/api/CdsModal.types.d.ts +12 -3
- package/dist/types/components/CdsNotification/api/CdsNotification.types.d.ts +36 -9
- package/dist/types/components/CdsNotificationAlert/api/CdsNotificationAlert.types.d.ts +40 -10
- package/dist/types/components/CdsOtpInput/CdsOtpInput.vue.d.ts +20 -5
- package/dist/types/components/CdsOtpInput/api/CdsOtpInput.types.d.ts +36 -9
- package/dist/types/components/CdsOverlay/CdsOverlay.vue.d.ts +44 -11
- package/dist/types/components/CdsOverlay/api/CdsOverlay.types.d.ts +28 -3
- package/dist/types/components/CdsPage/api/CdsPage.types.d.ts +4 -1
- package/dist/types/components/CdsPagination/CdsPagination.vue.d.ts +16 -0
- package/dist/types/components/CdsPagination/api/CdsPagination.types.d.ts +44 -11
- package/dist/types/components/CdsProgressBar/api/CdsProgressBar.types.d.ts +8 -0
- package/dist/types/components/CdsProgressCircle/api/CdsProgressCircle.types.d.ts +4 -1
- package/dist/types/components/CdsRadioGroup/api/CdsRadioGroup.types.d.ts +8 -2
- package/dist/types/components/CdsResponsive/api/CdsResponsive.types.d.ts +8 -2
- package/dist/types/components/CdsSelect/CdsSelect.vue.d.ts +51 -18
- package/dist/types/components/CdsSelect/api/CdsSelect.types.d.ts +60 -15
- package/dist/types/components/CdsSelect/index.d.ts +57 -30
- package/dist/types/components/CdsSelectionControl/CdsSelectionControl.vue.d.ts +8 -0
- package/dist/types/components/CdsSelectionControl/api/CdsSelectionControl.types.d.ts +12 -3
- package/dist/types/components/CdsSelectionControlGroup/api/CdsSelectionControlGroup.types.d.ts +8 -0
- package/dist/types/components/CdsSkeletonLoader/api/CdsSkeletonLoader.types.d.ts +4 -1
- package/dist/types/components/CdsSlideGroup/CdsSlideGroup.vue.d.ts +24 -6
- package/dist/types/components/CdsSlideGroup/api/CdsSlideGroup.types.d.ts +20 -5
- package/dist/types/components/CdsSlideView/CdsSlideView.vue.d.ts +4 -0
- package/dist/types/components/CdsSlideView/CdsSlideViewItem.vue.d.ts +4 -0
- package/dist/types/components/CdsSlideView/api/CdsSlideView.types.d.ts +31 -0
- package/dist/types/components/CdsStages/CdsStages.vue.d.ts +8 -0
- package/dist/types/components/CdsStatus/api/CdsStatus.types.d.ts +4 -1
- package/dist/types/components/CdsSteps/CdsSteps.vue.d.ts +8 -0
- package/dist/types/components/CdsSteps/api/CdsSteps.types.d.ts +72 -18
- package/dist/types/components/CdsSurface/api/CdsSurface.types.d.ts +4 -1
- package/dist/types/components/CdsTable/CdsTable.vue.d.ts +4 -0
- package/dist/types/components/CdsTable/api/CdsTable.types.d.ts +96 -24
- package/dist/types/components/CdsTabs/api/CdsTabs.types.d.ts +32 -0
- package/dist/types/components/CdsTag/api/CdsTag.types.d.ts +64 -16
- package/dist/types/components/CdsTagGroup/CdsTagGroup.vue.d.ts +20 -5
- package/dist/types/components/CdsTagGroup/api/CdsTagGroup.types.d.ts +8 -2
- package/dist/types/components/CdsTextArea/CdsTextArea.vue.d.ts +5 -2
- package/dist/types/components/CdsTextArea/api/CdsTextArea.types.d.ts +24 -6
- package/dist/types/components/CdsTextArea/index.d.ts +15 -6
- package/dist/types/components/CdsTextInput/CdsTextInput.vue.d.ts +7 -4
- package/dist/types/components/CdsTextInput/api/CdsTextInput.types.d.ts +44 -11
- package/dist/types/components/CdsTextInput/index.d.ts +20 -11
- package/dist/types/components/CdsTimePicker/CdsTimePicker.vue.d.ts +24 -0
- package/dist/types/components/CdsTimePicker/api/CdsTimePicker.types.d.ts +4 -1
- package/dist/types/components/CdsToast/api/CdsToast.types.d.ts +40 -10
- package/dist/types/components/CdsToastQueue/CdsToastQueue.vue.d.ts +4 -1
- package/dist/types/components/CdsToastQueue/api/CdsToastQueue.types.d.ts +20 -5
- package/dist/types/components/CdsToggle/api/CdsToggle.types.d.ts +28 -7
- package/dist/types/components/CdsToolbar/api/CdsToolbar.types.d.ts +8 -2
- package/dist/types/components/CdsTooltip/api/CdsTooltip.types.d.ts +4 -0
- package/dist/types/components/CdsTree/CdsTree.vue.d.ts +16 -0
- package/dist/types/components/CdsTree/api/CdsTree.types.d.ts +84 -21
- package/dist/types/components/CdsUploader/CdsUploader.vue.d.ts +8 -0
- package/dist/types/components/CdsUploader/api/CdsUploader.types.d.ts +68 -17
- package/dist/types/components/CdsVirtualScroll/CdsVirtualScroll.vue.d.ts +8 -0
- package/dist/types/components/CdsVirtualScroll/api/CdsVirtualScroll.types.d.ts +20 -5
- package/dist/types/composables/useForm/useForm.d.ts +33 -0
- package/dist/types/composables/useLayout/context.d.ts +61 -0
- package/dist/types/composables/useNested/useNested.d.ts +8 -2
- package/dist/types/entry.d.ts +1 -0
- package/dist/types/themes/lumaDark.d.ts +4 -4
- package/dist/types/utils/date/date.d.ts +1 -1
- package/llms/llms-components.txt +8861 -10675
- package/llms/llms-full.txt +10309 -11489
- package/llms/llms-guides.txt +1400 -738
- package/llms/llms-migration.txt +18 -46
- package/llms/llms-tokens.txt +55 -55
- package/llms/llms.txt +110 -109
- package/package.json +24 -11
- package/src/components/CdsApp/CdsApp.scss +43 -0
- package/src/components/CdsApp/styles/_CdsApp.variables.scss +2 -0
- package/src/components/CdsAutocomplete/CdsAutocomplete.scss +158 -0
- package/src/components/CdsAutocomplete/styles/_CdsAutocomplete.variables.scss +9 -0
- package/src/components/CdsAvatar/CdsAvatar.scss +42 -0
- package/src/components/CdsAvatar/styles/_CdsAvatar.variables.scss +22 -0
- package/src/components/CdsBadge/CdsBadge.scss +69 -0
- package/src/components/CdsBadge/styles/_CdsBadge.variables.scss +22 -0
- package/src/components/CdsBreadcrumbs/CdsBreadcrumbs.scss +49 -0
- package/src/components/CdsBreadcrumbs/styles/_CdsBreadcrumbs.variables.scss +14 -0
- package/src/components/CdsButton/CdsButton.scss +138 -0
- package/src/components/CdsButton/styles/_CdsButton.mixins.scss +76 -0
- package/src/components/CdsButton/styles/_CdsButton.variables.scss +180 -0
- package/src/components/CdsButtonGroup/CdsButtonGroup.scss +62 -0
- package/src/components/CdsButtonGroup/styles/_CdsButtonGroup.variables.scss +7 -0
- package/src/components/CdsButtonToggle/CdsButtonToggle.scss +19 -0
- package/src/components/CdsButtonToggle/styles/_CdsButtonToggle.variables.scss +3 -0
- package/src/components/CdsCard/CdsCard.scss +194 -0
- package/src/components/CdsCard/styles/CdsCard.variables.scss +36 -0
- package/src/components/CdsCarousel/CdsCarousel.scss +76 -0
- package/src/components/CdsCarousel/styles/_CdsCarousel.variables.scss +7 -0
- package/src/components/CdsCheckbox/CdsCheckbox.scss +20 -0
- package/src/components/CdsCheckbox/styles/_CdsCheckbox.mixins.scss +24 -0
- package/src/components/CdsCheckbox/styles/_CdsCheckbox.variables.scss +8 -0
- package/src/components/CdsCheckboxButton/CdsCheckboxButton.scss +78 -0
- package/src/components/CdsCheckboxButton/styles/_CdsCheckboxButton.variables.scss +46 -0
- package/src/components/CdsCombobox/CdsCombobox.scss +158 -0
- package/src/components/CdsCombobox/styles/_CdsCombobox.variables.scss +9 -0
- package/src/components/CdsCounter/CdsCounter.scss +11 -0
- package/src/components/CdsCounter/styles/_CdsCounter.variables.scss +1 -0
- package/src/components/CdsDateInput/CdsDateInput.scss +28 -0
- package/src/components/CdsDateInput/styles/_CdsDateInput.variables.scss +6 -0
- package/src/components/CdsDatePicker/CdsDatePicker.scss +574 -0
- package/src/components/CdsDatePicker/styles/_CdsDatePicker.variables.scss +56 -0
- package/src/components/CdsDescription/CdsDescription.scss +12 -0
- package/src/components/CdsDescription/styles/_CdsDescription.variables.scss +1 -0
- package/src/components/CdsDivider/CdsDivider.scss +83 -0
- package/src/components/CdsDivider/styles/_CdsDivider.variables.scss +28 -0
- package/src/components/CdsDrawer/CdsDrawer.scss +144 -0
- package/src/components/CdsDrawer/styles/_CdsDrawer.variables.scss +17 -0
- package/src/components/CdsEmptyState/CdsEmptyState.scss +103 -0
- package/src/components/CdsEmptyState/styles/_CdsEmptyState.variables.scss +15 -0
- package/src/components/CdsExpandablePanel/CdsExpandablePanel.scss +221 -0
- package/src/components/CdsExpandablePanel/styles/_CdsExpandablePanel.variables.scss +24 -0
- package/src/components/CdsField/CdsField.scss +209 -0
- package/src/components/CdsField/styles/_CdsField.mixins.scss +39 -0
- package/src/components/CdsField/styles/_CdsField.variables.scss +84 -0
- package/src/components/CdsFileInput/CdsFileInput.scss +40 -0
- package/src/components/CdsFileInput/styles/_CdsFileInput.variables.scss +5 -0
- package/src/components/CdsFileUpload/CdsFileUpload.scss +173 -0
- package/src/components/CdsFileUpload/styles/_CdsFileUpload.variables.scss +40 -0
- package/src/components/CdsFooter/CdsFooter.scss +36 -0
- package/src/components/CdsFooter/styles/_CdsFooter.variables.scss +4 -0
- package/src/components/CdsForm/CdsForm.scss +24 -0
- package/src/components/CdsForm/styles/_CdsForm.variables.scss +5 -0
- package/src/components/CdsFunctionalButton/CdsFunctionalButton.scss +49 -0
- package/src/components/CdsFunctionalButton/styles/_CdsFunctionalButton.variables.scss +25 -0
- package/src/components/CdsGrid/components/CSSGrid.scss +3 -0
- package/src/components/CdsGrid/components/FlexGrid.scss +3 -0
- package/src/components/CdsHeader/CdsHeader.scss +36 -0
- package/src/components/CdsHeader/styles/_CdsHeader.variables.scss +3 -0
- package/src/components/CdsHighlight/CdsHighlight.scss +16 -0
- package/src/components/CdsHighlight/styles/_CdsHighlight.variables.scss +8 -0
- package/src/components/CdsIcon/CdsIcon.scss +54 -0
- package/src/components/CdsIcon/styles/_CdsIcon.variables.scss +20 -0
- package/src/components/CdsImage/CdsImage.scss +62 -0
- package/src/components/CdsImage/styles/_CdsImage.variables.scss +4 -0
- package/src/components/CdsInput/CdsInput.scss +108 -0
- package/src/components/CdsInput/styles/_CdsInput.mixins.scss +54 -0
- package/src/components/CdsInput/styles/_CdsInput.variables.scss +98 -0
- package/src/components/CdsLabel/CdsLabel.scss +23 -0
- package/src/components/CdsLabel/styles/_CdsLabel.variables.scss +2 -0
- package/src/components/CdsLayout/CdsLayout.scss +61 -0
- package/src/components/CdsLayout/styles/_CdsLayout.variables.scss +2 -0
- package/src/components/CdsLink/CdsLink.scss +33 -0
- package/src/components/CdsLink/styles/_CdsLink.variables.scss +6 -0
- package/src/components/CdsList/CdsList.scss +104 -0
- package/src/components/CdsList/CdsListItem.scss +330 -0
- package/src/components/CdsList/styles/_CdsList.variables.scss +115 -0
- package/src/components/CdsLoader/CdsLoader.scss +78 -0
- package/src/components/CdsLoader/styles/_CdsLoader.mixins.scss +9 -0
- package/src/components/CdsLoader/styles/_CdsLoader.variables.scss +40 -0
- package/src/components/CdsMain/CdsMain.scss +7 -0
- package/src/components/CdsMenu/CdsMenu.scss +33 -0
- package/src/components/CdsMenu/styles/_CdsMenu.variables.scss +11 -0
- package/src/components/CdsMessages/CdsMessages.scss +20 -0
- package/src/components/CdsMessages/styles/_CdsMessages.variables.scss +5 -0
- package/src/components/CdsModal/CdsModal.scss +106 -0
- package/src/components/CdsModal/styles/_CdsModal.variables.scss +12 -0
- package/src/components/CdsNotification/CdsNotification.scss +99 -0
- package/src/components/CdsNotification/styles/_CdsNotification.variables.scss +13 -0
- package/src/components/CdsNotificationAlert/CdsNotificationAlert.scss +48 -0
- package/src/components/CdsNotificationAlert/styles/_CdsNotificationAlert.variables.scss +5 -0
- package/src/components/CdsOtpInput/CdsOtpInput.scss +192 -0
- package/src/components/CdsOtpInput/styles/_CdsOtpInput.variables.scss +31 -0
- package/src/components/CdsOverlay/CdsOverlay.scss +74 -0
- package/src/components/CdsOverlay/styles/_CdsOverlay.variables.scss +2 -0
- package/src/components/CdsPage/CdsPage.scss +9 -0
- package/src/components/CdsPagination/CdsPagination.scss +69 -0
- package/src/components/CdsPagination/styles/_CdsPagination.variables.scss +10 -0
- package/src/components/CdsProgressBar/CdsProgressBar.scss +285 -0
- package/src/components/CdsProgressBar/styles/_CdsProgressBar.variables.scss +23 -0
- package/src/components/CdsProgressCircle/CdsProgressCircle.scss +116 -0
- package/src/components/CdsProgressCircle/styles/_CdsProgressCircle.variables.scss +21 -0
- package/src/components/CdsRadio/CdsRadio.scss +42 -0
- package/src/components/CdsRadio/styles/_CdsRadio.variables.scss +26 -0
- package/src/components/CdsRadioGroup/CdsRadioGroup.scss +24 -0
- package/src/components/CdsRadioGroup/styles/_CdsRadioGroup.variables.scss +4 -0
- package/src/components/CdsResponsive/CdsResponsive.scss +33 -0
- package/src/components/CdsResponsive/styles/_CdsResponsive.variables.scss +3 -0
- package/src/components/CdsSelect/CdsSelect.scss +149 -0
- package/src/components/CdsSelect/styles/_CdsSelect.variables.scss +7 -0
- package/src/components/CdsSelectionControl/CdsSelectionControl.scss +104 -0
- package/src/components/CdsSelectionControlGroup/CdsSelectionControlGroup.scss +17 -0
- package/src/components/CdsSkeletonLoader/CdsSkeletonLoader.scss +292 -0
- package/src/components/CdsSkeletonLoader/styles/_CdsSkeletonLoader.variables.scss +52 -0
- package/src/components/CdsSlideGroup/CdsSlideGroup.scss +63 -0
- package/src/components/CdsSlideGroup/styles/_CdsSlideGroup.variables.scss +1 -0
- package/src/components/CdsSlideView/CdsSlideView.scss +183 -0
- package/src/components/CdsSlideView/styles/_CdsSlideView.variables.scss +4 -0
- package/src/components/CdsStages/CdsStages.scss +109 -0
- package/src/components/CdsStages/styles/_CdsStages.variables.scss +17 -0
- package/src/components/CdsStatus/CdsStatus.scss +49 -0
- package/src/components/CdsStatus/styles/_CdsStatus.variables.scss +7 -0
- package/src/components/CdsSteps/CdsSteps.scss +216 -0
- package/src/components/CdsSteps/styles/_CdsSteps.variables.scss +42 -0
- package/src/components/CdsSurface/CdsSurface.scss +16 -0
- package/src/components/CdsTable/CdsTable.scss +1140 -0
- package/src/components/CdsTable/styles/_CdsTable.mixins.scss +86 -0
- package/src/components/CdsTable/styles/_CdsTable.variables.scss +82 -0
- package/src/components/CdsTabs/CdsTabs.scss +94 -0
- package/src/components/CdsTabs/styles/_CdsTabs.variables.scss +30 -0
- package/src/components/CdsTag/CdsTag.scss +141 -0
- package/src/components/CdsTag/styles/_CdsTag.variables.scss +57 -0
- package/src/components/CdsTagGroup/CdsTagGroup.scss +32 -0
- package/src/components/CdsTagGroup/styles/_CdsTagGroup.variables.scss +8 -0
- package/src/components/CdsTextArea/CdsTextArea.scss +129 -0
- package/src/components/CdsTextArea/styles/_CdsTextArea.variables.scss +6 -0
- package/src/components/CdsTextInput/CdsTextInput.scss +84 -0
- package/src/components/CdsTextInput/styles/_CdsTextInput.variables.scss +7 -0
- package/src/components/CdsTimePicker/CdsTimePicker.scss +93 -0
- package/src/components/CdsTimePicker/styles/_CdsTimePicker.variables.scss +13 -0
- package/src/components/CdsToast/CdsToast.scss +207 -0
- package/src/components/CdsToast/styles/_CdsToast.variables.scss +16 -0
- package/src/components/CdsToggle/CdsToggle.scss +192 -0
- package/src/components/CdsToggle/styles/_CdsToggle.variables.scss +81 -0
- package/src/components/CdsToolbar/CdsToolbar.scss +72 -0
- package/src/components/CdsToolbar/styles/_CdsToolbar.variables.scss +3 -0
- package/src/components/CdsTooltip/CdsTooltip.scss +111 -0
- package/src/components/CdsTooltip/styles/_CdsTooltip.variables.scss +15 -0
- package/src/components/CdsTree/CdsTree.scss +290 -0
- package/src/components/CdsTree/styles/_CdsTree.variables.scss +29 -0
- package/src/components/CdsUploader/CdsUploader.scss +109 -0
- package/src/components/CdsUploader/styles/_CdsUploader.variables.scss +16 -0
- package/src/components/CdsVirtualScroll/CdsVirtualScroll.scss +16 -0
- package/src/components/CdsVirtualScroll/styles/_CdsVirtualScroll.variables.scss +3 -0
- package/src/styles/component-settings.scss +75 -0
- package/src/styles/generic/_fonts.scss +2 -2
- package/src/styles/settings/_index.scss +6 -0
- package/src/styles/tools/_absolute.sass +9 -0
- package/src/styles/tools/_border.sass +10 -0
- package/src/styles/tools/_motion.scss +11 -17
- package/src/styles/utilities/grid/_config.scss +0 -1
- package/src/themes/lumaDark.ts +8 -4
- package/dist/styles/breakpoints.css +0 -1
- package/dist/styles/index.css +0 -1
package/dist/es/src/components/CdsCombobox/CdsCombobox.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CdsCombobox.vue_vue_type_script_setup_true_lang.js","sources":["../../../../../src/components/CdsCombobox/CdsCombobox.vue"],"sourcesContent":["<script setup lang=\"tsx\">\nimport './CdsCombobox.scss';\n\nimport {\n CdsAvatar,\n CdsCheckboxButton,\n CdsDefaultsProvider,\n CdsHighlight,\n CdsIcon,\n type CdsInputDefaultSlot,\n type CdsInputSlot,\n CdsList,\n CdsListItem,\n CdsListItemDivider,\n CdsMenu,\n CdsSurface,\n CdsTag,\n CdsTextInput,\n CdsVirtualScroll,\n type CdsVirtualScrollSlot\n} from '@cds/components';\nimport { useAutocomplete } from '@cds/components/CdsField/composables/useAutocomplete';\nimport { useInputIcon } from '@cds/components/CdsInput/CdsInputIcon';\nimport type { ListItemSlot } from '@cds/components/CdsList/api/CdsList.types';\nimport CdsListSubheader from '@cds/components/CdsList/CdsListSubheader.vue';\nimport { useFocusRepair } from '@cds/components/CdsSelect/composables/useFocusRepair';\nimport { useMenuActivator } from '@cds/components/CdsSelect/composables/useMenuActivator';\nimport { useScrolling } from '@cds/components/CdsSelect/composables/useScrolling';\nimport { defineCdsTagProps } from '@cds/components/CdsTag/api/CdsTag.props';\nimport { defineCdsTextInputProps } from '@cds/components/CdsTextInput/api/CdsTextInput.props';\nimport { useTextColor } from '@cds/composables/useColor';\nimport { useFilter } from '@cds/composables/useFilter';\nimport { useFocusGroups } from '@cds/composables/useFocus';\nimport { useForm } from '@cds/composables/useForm';\nimport { type ListItem, transformItem, useItems } from '@cds/composables/useItems';\nimport { useLocale } from '@cds/composables/useLocale';\nimport { filterProps, forwardRefs, useDefaults, useProxyModel } from '@cds/core';\nimport {\n camelizeProps,\n checkPrintable,\n classNames,\n deepEqual,\n ensureValidVNode,\n escapeForRegex,\n IN_BROWSER,\n keyNames,\n type TemplateRef,\n wrapInArray\n} from '@cds/utils';\nimport { computed, mergeProps, nextTick, ref, shallowRef, toRef, unref, watch } from 'vue';\n\nimport { CdsComboboxConstants } from './api/CdsCombobox.constants';\nimport { defineCdsComboboxProps } from './api/CdsCombobox.props';\nimport type { CdsComboboxEvents, CdsComboboxSlots } from './api/CdsCombobox.types';\n\ndefineOptions({\n name: CdsComboboxConstants.name\n});\n\nconst _props = defineProps({ ...defineCdsComboboxProps() });\nconst props = useDefaults(_props);\nconst slots = defineSlots<CdsComboboxSlots<any>>();\nconst emit = defineEmits([\"update:focused\", \"update:modelValue\", \"update:menu\", \"update:search\", \"update:selectedAll\"]);\n\nconst { t } = useLocale();\nconst form = useForm(props);\nconst autocomplete = useAutocomplete(props);\nconst { items, transformIn, transformOut } = useItems(props);\nconst model = useProxyModel(\n props,\n 'modelValue',\n [],\n (value) => transformIn(wrapInArray(value)),\n (value) => {\n const transformed = transformOut(value);\n return props.multiple ? transformed : (transformed[0] ?? null);\n }\n);\n\nconst cdsTextInputRef = ref<InstanceType<typeof CdsTextInput>>();\nconst cdsMenuRef = ref<typeof CdsMenu>();\nconst cdsVirtualScrollRef = ref<typeof CdsVirtualScroll>();\nconst headerRef = ref<HTMLElement>();\nconst footerRef = ref<HTMLElement>();\n\nconst isFocused = shallowRef(false);\n// Поисковый запрос не менялся с момента последнего выбора — фильтрация отключена.\nconst isPure = shallowRef(true);\nconst listHasFocus = shallowRef(false);\n// Индекс выбранного значения, выделенного стрелками при навигации по selections.\nconst selectionIndex = shallowRef(-1);\n// Замороженный поисковый запрос: сохраняет список отфильтрованным, пока меню закрывается.\nconst _searchLock = shallowRef<string | null>(null);\n// Значение только что очищено: CdsTextInput выставляет модель в null, ждём завершения очистки.\nlet cleared = false;\n\nconst { CdsInputIcon } = useInputIcon(props);\nconst { textColorClasses, textColorStyles } = useTextColor(() => props.color);\n\nconst closableChips = toRef(() => props.closableChips && !form.isReadonly.value && !form.isDisabled.value);\nconst hasChips = computed(() => !!(props.chips || slots.chip));\nconst hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);\n\nconst _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? (model.value[0]?.title ?? '') : '');\n\nconst search = computed<string>({\n get: () => {\n return _search.value;\n },\n set: (value: string | null) => {\n _search.value = value ?? '';\n\n if (value === null || (value === '' && !props.multiple && !hasSelectionSlot.value)) {\n model.value = [];\n } else if (!props.multiple && !hasSelectionSlot.value) {\n model.value = [transformItem(props, value)];\n nextTick(() => cdsVirtualScrollRef.value?.scrollToIndex(0));\n }\n\n if (value && props.multiple && props.delimiters?.length) {\n const values = splitByDelimiters(value);\n if (values.length > 1) {\n selectMultiple(values);\n _search.value = '';\n }\n }\n\n if (!value) selectionIndex.value = -1;\n\n isPure.value = !value;\n }\n});\n\nconst { filteredItems, getMatches } = useFilter(\n props,\n items,\n () => _searchLock.value ?? (props.alwaysFilter || !isPure.value ? search.value : '')\n);\n\nconst counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : typeof props.counterValue === 'number'\n ? props.counterValue\n : props.multiple\n ? model.value.length\n : search.value.length;\n});\n\nconst displayItems = computed(() => {\n if (props.hideSelected && _searchLock.value === null) {\n return filteredItems.value.filter((filteredItem) => !model.value.some((s) => s.value === filteredItem.value));\n }\n\n return filteredItems.value;\n});\n\nconst selectedValues = computed(() => model.value.map((selection) => selection.value));\n\nconst firstSelectableItem = computed(() =>\n displayItems.value.find((item) => item.type === 'item' && !item.props.disabled)\n);\n\nconst highlightFirst = computed(() => {\n const selectFirst =\n props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === firstSelectableItem.value?.title);\n\n return selectFirst && displayItems.value.length > 0 && !isPure.value && !listHasFocus.value;\n});\n\nconst menuDisabled = computed(\n () => (props.hideNoData && !displayItems.value.length) || form.isReadonly.value || form.isDisabled.value\n);\nconst _menu = useProxyModel(props, 'menu');\nconst menu = computed({\n get: () => _menu.value,\n set: (v) => {\n if (_menu.value && !v && cdsMenuRef.value?.ΨopenChildren?.size) return;\n if (v && menuDisabled.value) return;\n _menu.value = v;\n }\n});\n\nconst { menuId, ariaExpanded, ariaControls } = useMenuActivator(props, menu);\n\nconst computedMenuProps = computed(() => {\n return {\n ...props.menuProps,\n activatorProps: {\n ...props.menuProps?.activatorProps,\n 'aria-haspopup': 'listbox'\n }\n };\n});\n\nconst listRef = ref<typeof CdsList>();\nconst listEvents = useScrolling(listRef, cdsTextInputRef);\nconst repairOrphanedFocus = useFocusRepair(\n menu,\n () => cdsMenuRef.value?.contentEl,\n () => cdsTextInputRef.value?.controlRef\n);\nconst { onTabKeydown } = useFocusGroups({\n groups: [\n { type: 'element' as const, contentRef: headerRef },\n { type: 'list' as const, contentRef: listRef, displayItemsCount: () => displayItems.value.length },\n { type: 'element' as const, contentRef: footerRef }\n ],\n onLeave: () => {\n menu.value = false;\n cdsTextInputRef.value?.focus();\n }\n});\n\nfunction onClear() {\n cleared = true;\n nextTick(() => (cleared = false));\n\n if (props.openOnClear) {\n menu.value = true;\n }\n}\n\nfunction onMousedownControl() {\n if (unref(menuDisabled)) return;\n\n menu.value = true;\n}\n\nfunction onMousedownMenuIcon(event: MouseEvent) {\n if (unref(menuDisabled)) return;\n\n if (isFocused.value) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n menu.value = !menu.value;\n}\n\nfunction onMenuKeydown(event: KeyboardEvent) {\n if (event.key === keyNames.tab) {\n onTabKeydown(event);\n }\n\n if (listRef.value?.$el.contains(event.target) && (checkPrintable(event) || event.key === keyNames.backspace)) {\n cdsTextInputRef.value?.focus();\n }\n}\n\nfunction onKeydown(event: KeyboardEvent) {\n if (unref(form.isReadonly)) return;\n\n const selectionStart = cdsTextInputRef.value?.selectionStart;\n const length = model.value.length;\n\n if (([keyNames.enter, keyNames.down, keyNames.up] as string[]).includes(event.key)) {\n event.preventDefault();\n }\n\n if (([keyNames.enter, keyNames.down] as string[]).includes(event.key)) {\n menu.value = true;\n }\n\n if (event.key === keyNames.esc) {\n menu.value = false;\n }\n\n if (\n highlightFirst.value &&\n ([keyNames.enter, keyNames.tab] as string[]).includes(event.key) &&\n firstSelectableItem.value &&\n !model.value.some(({ value }) => value === firstSelectableItem.value!.value)\n ) {\n select(firstSelectableItem.value);\n }\n\n if (event.key === keyNames.down && highlightFirst.value) {\n listRef.value?.focus('next');\n }\n\n if (event.key === keyNames.enter && search.value) {\n select(transformItem(props, search.value), true, true);\n if (hasSelectionSlot.value) _search.value = '';\n }\n\n if (([keyNames.backspace, keyNames.delete] as string[]).includes(event.key)) {\n if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) {\n select(model.value[0], false);\n return;\n }\n\n if (~selectionIndex.value) {\n event.preventDefault();\n const originalSelectionIndex = selectionIndex.value;\n select(model.value[selectionIndex.value], false);\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;\n } else if (event.key === keyNames.backspace && !search.value) {\n selectionIndex.value = length - 1;\n }\n\n return;\n }\n\n if (!props.multiple) return;\n\n if (event.key === keyNames.left) {\n if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return;\n\n const prev = selectionIndex.value > -1 ? selectionIndex.value - 1 : length - 1;\n\n if (model.value[prev]) {\n selectionIndex.value = prev;\n } else {\n const searchLength = search.value.length;\n selectionIndex.value = -1;\n cdsTextInputRef.value?.setSelectionRange(searchLength, searchLength);\n }\n } else if (event.key === keyNames.right) {\n if (selectionIndex.value < 0) return;\n\n const next = selectionIndex.value + 1;\n\n if (model.value[next]) {\n selectionIndex.value = next;\n } else {\n selectionIndex.value = -1;\n cdsTextInputRef.value?.setSelectionRange(0, 0);\n }\n } else if (~selectionIndex.value && checkPrintable(event)) {\n selectionIndex.value = -1;\n }\n}\n\nfunction onPaste(event: ClipboardEvent) {\n const clipboardText = event.clipboardData?.getData('Text') ?? '';\n const values = splitByDelimiters(clipboardText);\n\n if (values.length > 1 && props.multiple) {\n event.preventDefault();\n selectMultiple(values);\n }\n}\n\nfunction onAfterEnter() {\n if (props.eager) {\n cdsVirtualScrollRef.value?.calculateVisibleItems();\n }\n}\n\nfunction onAfterLeave() {\n if (isFocused.value) {\n if (cdsMenuRef.value?.contentEl?._clickOutside?.lastMousedownWasOutside) {\n isFocused.value = false;\n } else {\n cdsTextInputRef.value?.focus();\n }\n }\n\n isPure.value = true;\n _searchLock.value = null;\n}\n\nfunction onFocusin() {\n isFocused.value = true;\n setTimeout(() => {\n listHasFocus.value = true;\n });\n}\n\nfunction onFocusout(event: FocusEvent) {\n listHasFocus.value = false;\n\n if (!cdsTextInputRef.value?.$el.contains(event.relatedTarget as Node)) {\n if (repairOrphanedFocus(event)) return;\n isFocused.value = false;\n }\n}\n\nlet mousedownInsideContentAt = 0;\nfunction onMousedownContent() {\n mousedownInsideContentAt = performance.now();\n}\n\nfunction onBlur(event: FocusEvent) {\n const next = event.relatedTarget as Node | null;\n const menuContent = cdsMenuRef.value?.contentEl;\n\n if (menuContent?.contains(next) || (!next && performance.now() - mousedownInsideContentAt < 10)) {\n isFocused.value = true;\n }\n}\n\n/**\n * @param set - null переключает текущее состояние выбора\n * @param keepMenu - оставить меню открытым после выбора\n */\nfunction select(item: ListItem | undefined, set: boolean | null = true, keepMenu = false) {\n if (!item || item.props.disabled) return;\n\n if (props.multiple) {\n const index = model.value.findIndex((selection) =>\n (props.valueComparator || deepEqual)(selection.value, item.value)\n );\n const add = set == null ? !~index : set;\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value];\n value.splice(index, 1);\n model.value = value;\n } else if (add) {\n model.value = [...model.value, item];\n }\n\n if (props.clearOnSelect) {\n search.value = '';\n }\n } else {\n const add = set !== false;\n model.value = add ? [item] : [];\n\n if ((!isPure.value || props.alwaysFilter) && _search.value) {\n _searchLock.value = _search.value;\n }\n\n _search.value = add && !hasSelectionSlot.value ? item.title : '';\n\n // Ждём срабатывания вотчера search, прежде чем закрыть меню.\n nextTick(() => {\n menu.value = keepMenu;\n isPure.value = true;\n });\n }\n}\n\nfunction splitByDelimiters(value: string) {\n const effectiveDelimiters = ['\\n', ...(props.delimiters ?? [])];\n const signsToMatch = effectiveDelimiters.map(escapeForRegex).join('|');\n return value.split(new RegExp(`(?:${signsToMatch})+`));\n}\n\nasync function selectMultiple(values: string[]) {\n for (let value of values) {\n value = value.trim();\n if (value) {\n select(transformItem(props, value));\n await nextTick();\n }\n }\n}\n\nconst selectAllLabel = computed(() =>\n typeof props.isSelectAll === 'string' ? props.isSelectAll : t('$cds.selectAll')\n);\nconst selectAllItems = computed(() =>\n displayItems.value.filter((item) => item.type !== 'divider' && item.type !== 'subheader' && !item.props.disabled)\n);\nconst showSelectAll = computed(() => props.multiple && !!props.isSelectAll && selectAllItems.value.length > 0);\nconst isAllSelected = computed(() => {\n const comparator = props.valueComparator || deepEqual;\n return selectAllItems.value.every((item) => model.value.some((s) => comparator(s.value, item.value)));\n});\nconst isSomeSelected = computed(\n () =>\n !isAllSelected.value &&\n selectAllItems.value.some((item) =>\n model.value.some((s) => (props.valueComparator || deepEqual)(s.value, item.value))\n )\n);\n\nfunction onSelectAll() {\n const comparator = props.valueComparator || deepEqual;\n\n if (isAllSelected.value) {\n model.value = model.value.filter((s) => !selectAllItems.value.some((item) => comparator(s.value, item.value)));\n } else {\n const added = selectAllItems.value.filter((item) => !model.value.some((s) => comparator(s.value, item.value)));\n model.value = [...model.value, ...added];\n }\n\n emit('update:selectedAll', isAllSelected.value);\n}\n\nwatch(_search, (value) => {\n if (cleared) {\n // Ждём завершения очистки: сеттер search сбросит _search в ''.\n nextTick(() => (cleared = false));\n } else if (isFocused.value && !menu.value) {\n menu.value = true;\n }\n\n emit('update:search', value);\n});\n\nwatch(model, (value) => {\n if (!props.multiple && !hasSelectionSlot.value) {\n _search.value = value[0]?.title ?? '';\n }\n});\n\nwatch(isFocused, (value, oldValue) => {\n if (value || value === oldValue) return;\n\n selectionIndex.value = -1;\n menu.value = false;\n\n if (search.value) {\n if (props.multiple) {\n select(transformItem(props, search.value));\n return;\n }\n\n if (!hasSelectionSlot.value) return;\n\n if (model.value.some(({ title }) => title === search.value)) {\n _search.value = '';\n } else {\n select(transformItem(props, search.value));\n }\n }\n});\n\nwatch(menu, (value) => {\n if (!props.hideSelected && value && model.value.length && isPure.value) {\n const index = displayItems.value.findIndex((item) =>\n model.value.some((s) => (props.valueComparator || deepEqual)(s.value, item.value))\n );\n IN_BROWSER &&\n window.requestAnimationFrame(() => {\n index >= 0 && cdsVirtualScrollRef.value?.scrollToIndex(index);\n });\n }\n\n if (value) _searchLock.value = null;\n});\n\nwatch(items, (newValue, oldValue) => {\n if (menu.value) return;\n\n if (isFocused.value && !oldValue.length && newValue.length) {\n menu.value = true;\n }\n});\n\nwatch(menuDisabled, (disabled) => {\n if (disabled) menu.value = false;\n});\n\ndefineRender(() => {\n const { rootClass } = CdsComboboxConstants;\n const hasList = !!(\n !props.hideNoData ||\n displayItems.value.length ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n );\n\n const isDirty = model.value.length > 0;\n\n const textInputProps = filterProps(defineCdsTextInputProps, props);\n const menuSlotProps = {\n search,\n filteredItems: unref(filteredItems)\n };\n\n return (\n <CdsTextInput\n ref={cdsTextInputRef}\n {...textInputProps}\n v-model={search.value}\n name={undefined}\n v-model:focused={isFocused.value}\n validationValue={model.externalValue}\n counterValue={unref(counterValue)}\n dirty={isDirty}\n placeholder={isDirty ? undefined : props.placeholder}\n readonly={form.isReadonly.value}\n class={classNames(\n rootClass,\n {\n [`${rootClass}--active-menu`]: unref(menu),\n [`${rootClass}--chips`]: props.chips,\n [`${rootClass}--${props.multiple ? 'multiple' : 'single'}`]: true,\n [`${rootClass}--ellipsis`]: props.ellipsis && props.multiple,\n [`${rootClass}--selection-slot`]: unref(hasSelectionSlot),\n [`${rootClass}--selecting-index`]: selectionIndex.value > -1\n },\n props.class\n )}\n style={props.style}\n onClick:clear={onClear}\n onMousedown:control={onMousedownControl}\n onKeydown={onKeydown}\n onPaste={onPaste}\n onBlur={onBlur}\n aria-expanded={ariaExpanded.value}\n aria-controls={ariaControls.value}\n >\n {{\n ...slots,\n default: ({ id }: CdsInputSlot) => (\n <>\n <select hidden multiple={props.multiple} name={autocomplete.fieldName.value}>\n {model.value.map((item) => (\n <option key={item.value} value={item.value} selected />\n ))}\n </select>\n\n <CdsMenu\n activator=\"parent\"\n id={unref(menuId)}\n ref={cdsMenuRef}\n v-model={menu.value}\n maxHeight={props.menuHeight}\n eager={props.eager}\n openOnClick={false}\n closeOnContentClick={false}\n transition={props.transition as any}\n onAfterEnter={onAfterEnter}\n onAfterLeave={onAfterLeave}\n {...unref(computedMenuProps)}\n contentClass={classNames(`${rootClass}__content`, unref(computedMenuProps).contentClass)}\n >\n <CdsSurface onFocusin={onFocusin} onKeydown={onMenuKeydown} onMousedown={onMousedownContent}>\n {slots['menu-header'] && <header ref={headerRef}>{slots['menu-header'](menuSlotProps)}</header>}\n\n {hasList && (\n <CdsList\n key=\"combobox-list\"\n ref={listRef}\n color={props.itemColor ?? props.color}\n selected={unref(selectedValues)}\n selectStrategy={props.multiple ? 'independent' : 'single-independent'}\n selectable={!!unref(displayItems).length}\n onMousedown={(event: MouseEvent) => event.preventDefault()}\n onFocusout={onFocusout}\n tabindex=\"-1\"\n aria-live=\"polite\"\n aria-labelledby={`${unref(id)}-label`}\n aria-multiselectable={props.multiple}\n {...listEvents}\n {...props.listProps}\n >\n {slots['prepend-item']?.()}\n\n {unref(showSelectAll) && (\n <CdsListItem key=\"select-all\" title={unref(selectAllLabel)} role=\"option\" onClick={onSelectAll}>\n {{\n prepend: () => (\n <CdsCheckboxButton\n modelValue={unref(isAllSelected)}\n indeterminate={unref(isSomeSelected)}\n tabindex=\"-1\"\n aria-hidden\n onClick={(event: MouseEvent) => event.preventDefault()}\n />\n )\n }}\n </CdsListItem>\n )}\n\n {unref(showSelectAll) && <CdsListItemDivider key=\"select-all-divider\" />}\n\n {!unref(displayItems).length &&\n !props.hideNoData &&\n (slots['no-data']?.() ?? <CdsListItem key=\"no-data\" title={t(props.noDataText)} />)}\n\n <CdsVirtualScroll ref={cdsVirtualScrollRef} renderless items={unref(displayItems)} itemKey=\"value\">\n {({ item, index, itemRef }: CdsVirtualScrollSlot<any> & { itemRef: TemplateRef }) => {\n const camelizedProps = camelizeProps(item.props);\n\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: highlightFirst.value && item === firstSelectableItem.value ? true : undefined,\n onClick: () => select(item, null),\n 'aria-posinset': index + 1,\n 'aria-setsize': displayItems.value.length\n });\n\n if (item.type === 'divider') {\n return (\n slots.divider?.({ props: item.raw, index }) ?? (\n <CdsListItemDivider {...item.props} key={`divider-${index}`} />\n )\n );\n }\n\n if (item.type === 'subheader') {\n return (\n slots.subheader?.({ props: item.raw, index }) ?? (\n <CdsListSubheader {...item.props} key={`subheader-${index}`} />\n )\n );\n }\n\n return (\n slots.item?.({\n item: item.raw,\n internalItem: item,\n index,\n props: itemProps\n }) ?? (\n <CdsListItem {...itemProps} role=\"option\">\n {{\n prepend: ({ isSelected }: ListItemSlot) => (\n <>\n {props.multiple && !props.hideSelected ? (\n <CdsCheckboxButton\n key={item.value}\n modelValue={isSelected}\n tabindex=\"-1\"\n aria-hidden\n onClick={(event: MouseEvent) => event.preventDefault()}\n />\n ) : undefined}\n\n {camelizedProps.prependAvatar && <CdsAvatar image={camelizedProps.prependAvatar} />}\n {camelizedProps.prependIcon && <CdsIcon icon={camelizedProps.prependIcon} />}\n </>\n ),\n title: () => {\n return isPure.value ? (\n item.title\n ) : (\n <CdsHighlight\n text={item.title}\n matches={getMatches(item)?.title}\n markClass={`${rootClass}__mask`}\n matchAll\n ignoreCase\n />\n );\n }\n }}\n </CdsListItem>\n )\n );\n }}\n </CdsVirtualScroll>\n\n {slots['append-item']?.()}\n </CdsList>\n )}\n\n {slots['menu-footer'] && <footer ref={footerRef}>{slots['menu-footer'](menuSlotProps)}</footer>}\n </CdsSurface>\n </CdsMenu>\n\n <div class={classNames(`${rootClass}__selections`)}>\n {model.value.map((item, index) => {\n function onChipClose(e: Event) {\n e.stopPropagation();\n e.preventDefault();\n\n select(item, false);\n }\n\n const slotProps = mergeProps(filterProps(defineCdsTagProps, item.props), {\n 'onClick:close': onChipClose,\n onKeydown(e: KeyboardEvent) {\n if (e.key !== keyNames.enter && e.key !== keyNames.space) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n onChipClose(e);\n },\n onMousedown(e: MouseEvent) {\n e.preventDefault();\n e.stopPropagation();\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined\n });\n\n const hasSlot = unref(hasChips) ? !!slots.chip : !!slots.selection;\n const slotContent = hasSlot\n ? ensureValidVNode(\n unref(hasChips)\n ? slots.chip!({ item: item.raw, internalItem: item, index, props: slotProps })\n : slots.selection!({ item: item.raw, internalItem: item, index })\n )\n : undefined;\n\n if (hasSlot && !slotContent) return undefined;\n\n return (\n <div\n key={item.value}\n class={classNames(\n `${rootClass}__selection`,\n { [`${rootClass}__selection--selected`]: index === selectionIndex.value },\n index === selectionIndex.value ? unref(textColorClasses) : undefined\n )}\n style={index === selectionIndex.value ? unref(textColorStyles) : {}}\n >\n {unref(hasChips) ? (\n !slots.chip ? (\n <CdsTag\n key=\"chip\"\n closable={unref(closableChips)}\n size=\"sm\"\n text={item.title}\n disabled={item.props.disabled}\n {...slotProps}\n />\n ) : (\n <CdsDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n CdsTag: {\n closable: unref(closableChips),\n size: 'sm',\n text: item.title\n }\n }}\n >\n {slotContent}\n </CdsDefaultsProvider>\n )\n ) : (\n (slotContent ?? (\n <span class={classNames(`${rootClass}__selection-text`)}>\n {item.title}\n {props.multiple && index < model.value.length - 1 && (\n <span class={classNames(`${rootClass}__selection-comma`)}>,</span>\n )}\n </span>\n ))\n )}\n </div>\n );\n })}\n </div>\n </>\n ),\n 'append-inner': (...args: [arg: CdsInputDefaultSlot]) => (\n <>\n {slots['append-inner']?.(...args)}\n {(!props.hideNoData || props.items.length) && props.menuIcon ? (\n <CdsIcon\n class={classNames(`${rootClass}__menu-icon`)}\n color={cdsTextInputRef.value?.fieldIconColor}\n icon={props.menuIcon}\n aria-hidden\n onMousedown={onMousedownMenuIcon}\n />\n ) : undefined}\n {props.appendInnerIcon && (\n <CdsInputIcon key=\"append-icon\" name=\"appendInner\" color={args[0].iconColor.value} />\n )}\n </>\n )\n }}\n </CdsTextInput>\n );\n});\n\ndefineExpose(\n forwardRefs(\n {\n /** Находится ли компонент в фокусе. */\n isFocused,\n /** Не изменялся ли поисковый запрос с момента последнего выбора. */\n isPure,\n /** Состояние открытия выпадающего меню. */\n menu,\n /** Текущее значение поискового запроса. */\n search,\n /** Индекс выбранного значения, выделенного стрелками при навигации. */\n selectionIndex,\n /** Элементы, отфильтрованные по текущему поисковому запросу. */\n filteredItems,\n /** Выбрать элемент списка. Передайте `set` для явного добавления/снятия выбора. */\n select,\n /** Переключить выбор всех доступных элементов (только для `multiple` + `isSelectAll`). */\n selectAll: onSelectAll\n },\n cdsTextInputRef\n )\n);\n</script>\n"],"names":["_props","__props","props","useDefaults","slots","_useSlots","emit","__emit","t","useLocale","form","useForm","autocomplete","useAutocomplete","items","transformIn","transformOut","useItems","model","useProxyModel","value","wrapInArray","transformed","multiple","cdsTextInputRef","ref","cdsMenuRef","cdsVirtualScrollRef","headerRef","footerRef","isFocused","shallowRef","isPure","listHasFocus","selectionIndex","_searchLock","cleared","CdsInputIcon","useInputIcon","textColorClasses","textColorStyles","useTextColor","color","closableChips","toRef","isReadonly","isDisabled","hasChips","computed","chips","chip","hasSelectionSlot","selection","_search","title","search","get","set","transformItem","nextTick","scrollToIndex","delimiters","length","values","splitByDelimiters","selectMultiple","filteredItems","getMatches","useFilter","alwaysFilter","counterValue","displayItems","hideSelected","filter","filteredItem","some","s","selectedValues","map","firstSelectableItem","find","item","type","disabled","highlightFirst","selectFirst","autoSelectFirst","menuDisabled","hideNoData","_menu","menu","v","ΨopenChildren","size","menuId","ariaExpanded","ariaControls","useMenuActivator","computedMenuProps","menuProps","activatorProps","listRef","listEvents","useScrolling","repairOrphanedFocus","useFocusRepair","contentEl","controlRef","onTabKeydown","useFocusGroups","groups","contentRef","displayItemsCount","onLeave","focus","onClear","openOnClear","onMousedownControl","unref","onMousedownMenuIcon","event","preventDefault","stopPropagation","onMenuKeydown","key","keyNames","tab","$el","contains","target","checkPrintable","backspace","onKeydown","selectionStart","enter","down","up","includes","esc","select","delete","originalSelectionIndex","left","prev","searchLength","setSelectionRange","right","next","onPaste","clipboardText","clipboardData","getData","onAfterEnter","eager","calculateVisibleItems","onAfterLeave","_clickOutside","lastMousedownWasOutside","onFocusin","setTimeout","onFocusout","relatedTarget","mousedownInsideContentAt","onMousedownContent","performance","now","onBlur","menuContent","keepMenu","index","findIndex","valueComparator","deepEqual","add","splice","clearOnSelect","effectiveDelimiters","signsToMatch","escapeForRegex","join","split","RegExp","trim","selectAllLabel","isSelectAll","selectAllItems","showSelectAll","isAllSelected","comparator","every","isSomeSelected","onSelectAll","added","watch","oldValue","IN_BROWSER","window","requestAnimationFrame","newValue","__expose","forwardRefs","selectAll","rootClass","CdsComboboxConstants","hasList","isDirty","textInputProps","filterProps","defineCdsTextInputProps","menuSlotProps","_createVNode","CdsTextInput","_mergeProps","$event","undefined","externalValue","placeholder","classNames","ellipsis","class","style","default","id","_Fragment","fieldName","CdsMenu","menuHeight","transition","contentClass","CdsSurface","CdsList","itemColor","listProps","CdsListItem","prepend","CdsCheckboxButton","CdsListItemDivider","noDataText","CdsVirtualScroll","itemRef","camelizedProps","camelizeProps","itemProps","mergeProps","active","onClick","divider","raw","subheader","CdsListSubheader","internalItem","isSelected","prependAvatar","CdsAvatar","prependIcon","CdsIcon","CdsHighlight","onChipClose","e","slotProps","defineCdsTagProps","space","onMousedown","modelValue","hasSlot","slotContent","ensureValidVNode","CdsTag","CdsDefaultsProvider","closable","text","_createTextVNode","append-inner","args","menuIcon","fieldIconColor","appendInnerIcon","iconColor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CdsCombobox.vue_vue_type_script_setup_true_lang.js","sources":["../../../../../src/components/CdsCombobox/CdsCombobox.vue"],"sourcesContent":["<script setup lang=\"tsx\">\nimport './CdsCombobox.scss';\n\nimport {\n CdsAvatar,\n CdsCheckboxButton,\n CdsDefaultsProvider,\n CdsHighlight,\n CdsIcon,\n type CdsInputDefaultSlot,\n type CdsInputSlot,\n CdsList,\n CdsListItem,\n CdsListItemDivider,\n CdsMenu,\n CdsSurface,\n CdsTag,\n CdsTextInput,\n CdsVirtualScroll,\n type CdsVirtualScrollSlot\n} from '@cds/components';\nimport { useAutocomplete } from '@cds/components/CdsField/composables/useAutocomplete';\nimport { useInputIcon } from '@cds/components/CdsInput/CdsInputIcon';\nimport type { ListItemSlot } from '@cds/components/CdsList/api/CdsList.types';\nimport CdsListSubheader from '@cds/components/CdsList/CdsListSubheader.vue';\nimport { useFocusRepair } from '@cds/components/CdsSelect/composables/useFocusRepair';\nimport { useMenuActivator } from '@cds/components/CdsSelect/composables/useMenuActivator';\nimport { useScrolling } from '@cds/components/CdsSelect/composables/useScrolling';\nimport { defineCdsTagProps } from '@cds/components/CdsTag/api/CdsTag.props';\nimport { defineCdsTextInputProps } from '@cds/components/CdsTextInput/api/CdsTextInput.props';\nimport { useTextColor } from '@cds/composables/useColor';\nimport { useFilter } from '@cds/composables/useFilter';\nimport { useFocusGroups } from '@cds/composables/useFocus';\nimport { useForm } from '@cds/composables/useForm';\nimport { type ListItem, transformItem, useItems } from '@cds/composables/useItems';\nimport { useLocale } from '@cds/composables/useLocale';\nimport { filterProps, forwardRefs, useDefaults, useProxyModel } from '@cds/core';\nimport {\n camelizeProps,\n checkPrintable,\n classNames,\n deepEqual,\n ensureValidVNode,\n escapeForRegex,\n IN_BROWSER,\n keyNames,\n type TemplateRef,\n wrapInArray\n} from '@cds/utils';\nimport { computed, mergeProps, nextTick, ref, shallowRef, toRef, unref, watch } from 'vue';\n\nimport { CdsComboboxConstants } from './api/CdsCombobox.constants';\nimport { defineCdsComboboxProps } from './api/CdsCombobox.props';\nimport type { CdsComboboxEvents, CdsComboboxSlots } from './api/CdsCombobox.types';\n\ndefineOptions({\n name: CdsComboboxConstants.name\n});\n\nconst _props = defineProps({ ...defineCdsComboboxProps() });\nconst props = useDefaults(_props);\nconst slots = defineSlots<CdsComboboxSlots<any>>();\nconst emit = defineEmits([\"update:focused\", \"update:modelValue\", \"update:menu\", \"update:search\", \"update:selectedAll\"]);\n\nconst { t } = useLocale();\nconst form = useForm(props);\nconst autocomplete = useAutocomplete(props);\nconst { items, transformIn, transformOut } = useItems(props);\nconst model = useProxyModel(\n props,\n 'modelValue',\n [],\n (value) => transformIn(wrapInArray(value)),\n (value) => {\n const transformed = transformOut(value);\n return props.multiple ? transformed : (transformed[0] ?? null);\n }\n);\n\nconst cdsTextInputRef = ref<InstanceType<typeof CdsTextInput>>();\nconst cdsMenuRef = ref<typeof CdsMenu>();\nconst cdsVirtualScrollRef = ref<typeof CdsVirtualScroll>();\nconst headerRef = ref<HTMLElement>();\nconst footerRef = ref<HTMLElement>();\n\nconst isFocused = shallowRef(false);\n// Поисковый запрос не менялся с момента последнего выбора — фильтрация отключена.\nconst isPure = shallowRef(true);\nconst listHasFocus = shallowRef(false);\n// Индекс выбранного значения, выделенного стрелками при навигации по selections.\nconst selectionIndex = shallowRef(-1);\n// Замороженный поисковый запрос: сохраняет список отфильтрованным, пока меню закрывается.\nconst _searchLock = shallowRef<string | null>(null);\n// Значение только что очищено: CdsTextInput выставляет модель в null, ждём завершения очистки.\nlet cleared = false;\n\nconst { CdsInputIcon } = useInputIcon(props);\nconst { textColorClasses, textColorStyles } = useTextColor(() => props.color);\n\nconst closableChips = toRef(() => props.closableChips && !form.isReadonly.value && !form.isDisabled.value);\nconst hasChips = computed(() => !!(props.chips || slots.chip));\nconst hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);\n\nconst _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? (model.value[0]?.title ?? '') : '');\n\nconst search = computed<string>({\n get: () => {\n return _search.value;\n },\n set: (value: string | null) => {\n _search.value = value ?? '';\n\n if (value === null || (value === '' && !props.multiple && !hasSelectionSlot.value)) {\n model.value = [];\n } else if (!props.multiple && !hasSelectionSlot.value) {\n model.value = [transformItem(props, value)];\n nextTick(() => cdsVirtualScrollRef.value?.scrollToIndex(0));\n }\n\n if (value && props.multiple && props.delimiters?.length) {\n const values = splitByDelimiters(value);\n if (values.length > 1) {\n selectMultiple(values);\n _search.value = '';\n }\n }\n\n if (!value) selectionIndex.value = -1;\n\n isPure.value = !value;\n }\n});\n\nconst { filteredItems, getMatches } = useFilter(\n props,\n items,\n () => _searchLock.value ?? (props.alwaysFilter || !isPure.value ? search.value : '')\n);\n\nconst counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : typeof props.counterValue === 'number'\n ? props.counterValue\n : props.multiple\n ? model.value.length\n : search.value.length;\n});\n\nconst displayItems = computed(() => {\n if (props.hideSelected && _searchLock.value === null) {\n return filteredItems.value.filter((filteredItem) => !model.value.some((s) => s.value === filteredItem.value));\n }\n\n return filteredItems.value;\n});\n\nconst selectedValues = computed(() => model.value.map((selection) => selection.value));\n\nconst firstSelectableItem = computed(() =>\n displayItems.value.find((item) => item.type === 'item' && !item.props.disabled)\n);\n\nconst highlightFirst = computed(() => {\n const selectFirst =\n props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === firstSelectableItem.value?.title);\n\n return selectFirst && displayItems.value.length > 0 && !isPure.value && !listHasFocus.value;\n});\n\nconst menuDisabled = computed(\n () => (props.hideNoData && !displayItems.value.length) || form.isReadonly.value || form.isDisabled.value\n);\nconst _menu = useProxyModel(props, 'menu');\nconst menu = computed({\n get: () => _menu.value,\n set: (v) => {\n if (_menu.value && !v && cdsMenuRef.value?.ΨopenChildren?.size) return;\n if (v && menuDisabled.value) return;\n _menu.value = v;\n }\n});\n\nconst { menuId, ariaExpanded, ariaControls } = useMenuActivator(props, menu);\n\nconst computedMenuProps = computed(() => {\n return {\n ...props.menuProps,\n activatorProps: {\n ...props.menuProps?.activatorProps,\n 'aria-haspopup': 'listbox'\n }\n };\n});\n\nconst listRef = ref<typeof CdsList>();\nconst listEvents = useScrolling(listRef, cdsTextInputRef);\nconst repairOrphanedFocus = useFocusRepair(\n menu,\n () => cdsMenuRef.value?.contentEl,\n () => cdsTextInputRef.value?.controlRef\n);\nconst { onTabKeydown } = useFocusGroups({\n groups: [\n { type: 'element' as const, contentRef: headerRef },\n { type: 'list' as const, contentRef: listRef, displayItemsCount: () => displayItems.value.length },\n { type: 'element' as const, contentRef: footerRef }\n ],\n onLeave: () => {\n menu.value = false;\n cdsTextInputRef.value?.focus();\n }\n});\n\nfunction onClear() {\n cleared = true;\n nextTick(() => (cleared = false));\n\n if (props.openOnClear) {\n menu.value = true;\n }\n}\n\nfunction onMousedownControl() {\n if (unref(menuDisabled)) return;\n\n menu.value = true;\n}\n\nfunction onMousedownMenuIcon(event: MouseEvent) {\n if (unref(menuDisabled)) return;\n\n if (isFocused.value) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n menu.value = !menu.value;\n}\n\nfunction onMenuKeydown(event: KeyboardEvent) {\n if (event.key === keyNames.tab) {\n onTabKeydown(event);\n }\n\n if (listRef.value?.$el.contains(event.target) && (checkPrintable(event) || event.key === keyNames.backspace)) {\n cdsTextInputRef.value?.focus();\n }\n}\n\nfunction onKeydown(event: KeyboardEvent) {\n if (unref(form.isReadonly)) return;\n\n const selectionStart = cdsTextInputRef.value?.selectionStart;\n const length = model.value.length;\n\n if (([keyNames.enter, keyNames.down, keyNames.up] as string[]).includes(event.key)) {\n event.preventDefault();\n }\n\n if (([keyNames.enter, keyNames.down] as string[]).includes(event.key)) {\n menu.value = true;\n }\n\n if (event.key === keyNames.esc) {\n menu.value = false;\n }\n\n if (\n highlightFirst.value &&\n ([keyNames.enter, keyNames.tab] as string[]).includes(event.key) &&\n firstSelectableItem.value &&\n !model.value.some(({ value }) => value === firstSelectableItem.value!.value)\n ) {\n select(firstSelectableItem.value);\n }\n\n if (event.key === keyNames.down && highlightFirst.value) {\n listRef.value?.focus('next');\n }\n\n if (event.key === keyNames.enter && search.value) {\n select(transformItem(props, search.value), true, true);\n if (hasSelectionSlot.value) _search.value = '';\n }\n\n if (([keyNames.backspace, keyNames.delete] as string[]).includes(event.key)) {\n if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) {\n select(model.value[0], false);\n return;\n }\n\n if (~selectionIndex.value) {\n event.preventDefault();\n const originalSelectionIndex = selectionIndex.value;\n select(model.value[selectionIndex.value], false);\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;\n } else if (event.key === keyNames.backspace && !search.value) {\n selectionIndex.value = length - 1;\n }\n\n return;\n }\n\n if (!props.multiple) return;\n\n if (event.key === keyNames.left) {\n if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return;\n\n const prev = selectionIndex.value > -1 ? selectionIndex.value - 1 : length - 1;\n\n if (model.value[prev]) {\n selectionIndex.value = prev;\n } else {\n const searchLength = search.value.length;\n selectionIndex.value = -1;\n cdsTextInputRef.value?.setSelectionRange(searchLength, searchLength);\n }\n } else if (event.key === keyNames.right) {\n if (selectionIndex.value < 0) return;\n\n const next = selectionIndex.value + 1;\n\n if (model.value[next]) {\n selectionIndex.value = next;\n } else {\n selectionIndex.value = -1;\n cdsTextInputRef.value?.setSelectionRange(0, 0);\n }\n } else if (~selectionIndex.value && checkPrintable(event)) {\n selectionIndex.value = -1;\n }\n}\n\nfunction onPaste(event: ClipboardEvent) {\n const clipboardText = event.clipboardData?.getData('Text') ?? '';\n const values = splitByDelimiters(clipboardText);\n\n if (values.length > 1 && props.multiple) {\n event.preventDefault();\n selectMultiple(values);\n }\n}\n\nfunction onAfterEnter() {\n if (props.eager) {\n cdsVirtualScrollRef.value?.calculateVisibleItems();\n }\n}\n\nfunction onAfterLeave() {\n if (isFocused.value) {\n if (cdsMenuRef.value?.contentEl?._clickOutside?.lastMousedownWasOutside) {\n isFocused.value = false;\n } else {\n cdsTextInputRef.value?.focus();\n }\n }\n\n isPure.value = true;\n _searchLock.value = null;\n}\n\nfunction onFocusin() {\n isFocused.value = true;\n setTimeout(() => {\n listHasFocus.value = true;\n });\n}\n\nfunction onFocusout(event: FocusEvent) {\n listHasFocus.value = false;\n\n if (!cdsTextInputRef.value?.$el.contains(event.relatedTarget as Node)) {\n if (repairOrphanedFocus(event)) return;\n isFocused.value = false;\n }\n}\n\nlet mousedownInsideContentAt = 0;\nfunction onMousedownContent() {\n mousedownInsideContentAt = performance.now();\n}\n\nfunction onBlur(event: FocusEvent) {\n const next = event.relatedTarget as Node | null;\n const menuContent = cdsMenuRef.value?.contentEl;\n\n if (menuContent?.contains(next) || (!next && performance.now() - mousedownInsideContentAt < 10)) {\n isFocused.value = true;\n }\n}\n\n/**\n * @param set - null переключает текущее состояние выбора\n * @param keepMenu - оставить меню открытым после выбора\n */\nfunction select(item: ListItem | undefined, set: boolean | null = true, keepMenu = false) {\n if (!item || item.props.disabled) return;\n\n if (props.multiple) {\n const index = model.value.findIndex((selection) =>\n (props.valueComparator || deepEqual)(selection.value, item.value)\n );\n const add = set == null ? !~index : set;\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value];\n value.splice(index, 1);\n model.value = value;\n } else if (add) {\n model.value = [...model.value, item];\n }\n\n if (props.clearOnSelect) {\n search.value = '';\n }\n } else {\n const add = set !== false;\n model.value = add ? [item] : [];\n\n if ((!isPure.value || props.alwaysFilter) && _search.value) {\n _searchLock.value = _search.value;\n }\n\n _search.value = add && !hasSelectionSlot.value ? item.title : '';\n\n // Ждём срабатывания вотчера search, прежде чем закрыть меню.\n nextTick(() => {\n menu.value = keepMenu;\n isPure.value = true;\n });\n }\n}\n\nfunction splitByDelimiters(value: string) {\n const effectiveDelimiters = ['\\n', ...(props.delimiters ?? [])];\n const signsToMatch = effectiveDelimiters.map(escapeForRegex).join('|');\n return value.split(new RegExp(`(?:${signsToMatch})+`));\n}\n\nasync function selectMultiple(values: string[]) {\n for (let value of values) {\n value = value.trim();\n if (value) {\n select(transformItem(props, value));\n await nextTick();\n }\n }\n}\n\nconst selectAllLabel = computed(() =>\n typeof props.isSelectAll === 'string' ? props.isSelectAll : t('$cds.selectAll')\n);\nconst selectAllItems = computed(() =>\n displayItems.value.filter((item) => item.type !== 'divider' && item.type !== 'subheader' && !item.props.disabled)\n);\nconst showSelectAll = computed(() => props.multiple && !!props.isSelectAll && selectAllItems.value.length > 0);\nconst isAllSelected = computed(() => {\n const comparator = props.valueComparator || deepEqual;\n return selectAllItems.value.every((item) => model.value.some((s) => comparator(s.value, item.value)));\n});\nconst isSomeSelected = computed(\n () =>\n !isAllSelected.value &&\n selectAllItems.value.some((item) =>\n model.value.some((s) => (props.valueComparator || deepEqual)(s.value, item.value))\n )\n);\n\nfunction onSelectAll() {\n const comparator = props.valueComparator || deepEqual;\n\n if (isAllSelected.value) {\n model.value = model.value.filter((s) => !selectAllItems.value.some((item) => comparator(s.value, item.value)));\n } else {\n const added = selectAllItems.value.filter((item) => !model.value.some((s) => comparator(s.value, item.value)));\n model.value = [...model.value, ...added];\n }\n\n emit('update:selectedAll', isAllSelected.value);\n}\n\nwatch(_search, (value) => {\n if (cleared) {\n // Ждём завершения очистки: сеттер search сбросит _search в ''.\n nextTick(() => (cleared = false));\n } else if (isFocused.value && !menu.value) {\n menu.value = true;\n }\n\n emit('update:search', value);\n});\n\nwatch(model, (value) => {\n if (!props.multiple && !hasSelectionSlot.value) {\n _search.value = value[0]?.title ?? '';\n }\n});\n\nwatch(isFocused, (value, oldValue) => {\n if (value || value === oldValue) return;\n\n selectionIndex.value = -1;\n menu.value = false;\n\n if (search.value) {\n if (props.multiple) {\n select(transformItem(props, search.value));\n return;\n }\n\n if (!hasSelectionSlot.value) return;\n\n if (model.value.some(({ title }) => title === search.value)) {\n _search.value = '';\n } else {\n select(transformItem(props, search.value));\n }\n }\n});\n\nwatch(menu, (value) => {\n if (!props.hideSelected && value && model.value.length && isPure.value) {\n const index = displayItems.value.findIndex((item) =>\n model.value.some((s) => (props.valueComparator || deepEqual)(s.value, item.value))\n );\n IN_BROWSER &&\n window.requestAnimationFrame(() => {\n index >= 0 && cdsVirtualScrollRef.value?.scrollToIndex(index);\n });\n }\n\n if (value) _searchLock.value = null;\n});\n\nwatch(items, (newValue, oldValue) => {\n if (menu.value) return;\n\n if (isFocused.value && !oldValue.length && newValue.length) {\n menu.value = true;\n }\n});\n\nwatch(menuDisabled, (disabled) => {\n if (disabled) menu.value = false;\n});\n\ndefineRender(() => {\n const { rootClass } = CdsComboboxConstants;\n const hasList = !!(\n !props.hideNoData ||\n displayItems.value.length ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n );\n\n const isDirty = model.value.length > 0;\n\n const textInputProps = filterProps(defineCdsTextInputProps, props);\n const menuSlotProps = {\n search,\n filteredItems: unref(filteredItems)\n };\n\n return (\n <CdsTextInput\n ref={cdsTextInputRef}\n {...textInputProps}\n v-model={search.value}\n name={undefined}\n v-model:focused={isFocused.value}\n validationValue={model.externalValue}\n counterValue={unref(counterValue)}\n dirty={isDirty}\n placeholder={isDirty ? undefined : props.placeholder}\n readonly={form.isReadonly.value}\n class={classNames(\n rootClass,\n {\n [`${rootClass}--active-menu`]: unref(menu),\n [`${rootClass}--chips`]: props.chips,\n [`${rootClass}--${props.multiple ? 'multiple' : 'single'}`]: true,\n [`${rootClass}--ellipsis`]: props.ellipsis && props.multiple,\n [`${rootClass}--selection-slot`]: unref(hasSelectionSlot),\n [`${rootClass}--selecting-index`]: selectionIndex.value > -1\n },\n props.class\n )}\n style={props.style}\n onClick:clear={onClear}\n onMousedown:control={onMousedownControl}\n onKeydown={onKeydown}\n onPaste={onPaste}\n onBlur={onBlur}\n aria-expanded={ariaExpanded.value}\n aria-controls={ariaControls.value}\n >\n {{\n ...slots,\n default: ({ id }: CdsInputSlot) => (\n <>\n <select hidden multiple={props.multiple} name={autocomplete.fieldName.value}>\n {model.value.map((item) => (\n <option key={item.value} value={item.value} selected />\n ))}\n </select>\n\n <CdsMenu\n activator=\"parent\"\n id={unref(menuId)}\n ref={cdsMenuRef}\n v-model={menu.value}\n maxHeight={props.menuHeight}\n eager={props.eager}\n openOnClick={false}\n closeOnContentClick={false}\n transition={props.transition as any}\n onAfterEnter={onAfterEnter}\n onAfterLeave={onAfterLeave}\n {...unref(computedMenuProps)}\n contentClass={classNames(`${rootClass}__content`, unref(computedMenuProps).contentClass)}\n >\n <CdsSurface onFocusin={onFocusin} onKeydown={onMenuKeydown} onMousedown={onMousedownContent}>\n {slots['menu-header'] && <header ref={headerRef}>{slots['menu-header'](menuSlotProps)}</header>}\n\n {hasList && (\n <CdsList\n key=\"combobox-list\"\n ref={listRef}\n color={props.itemColor ?? props.color}\n selected={unref(selectedValues)}\n selectStrategy={props.multiple ? 'independent' : 'single-independent'}\n selectable={!!unref(displayItems).length}\n onMousedown={(event: MouseEvent) => event.preventDefault()}\n onFocusout={onFocusout}\n tabindex=\"-1\"\n aria-live=\"polite\"\n aria-labelledby={`${unref(id)}-label`}\n aria-multiselectable={props.multiple}\n {...listEvents}\n {...props.listProps}\n >\n {slots['prepend-item']?.()}\n\n {unref(showSelectAll) && (\n <CdsListItem key=\"select-all\" title={unref(selectAllLabel)} role=\"option\" onClick={onSelectAll}>\n {{\n prepend: () => (\n <CdsCheckboxButton\n modelValue={unref(isAllSelected)}\n indeterminate={unref(isSomeSelected)}\n tabindex=\"-1\"\n aria-hidden\n onClick={(event: MouseEvent) => event.preventDefault()}\n />\n )\n }}\n </CdsListItem>\n )}\n\n {unref(showSelectAll) && <CdsListItemDivider key=\"select-all-divider\" />}\n\n {!unref(displayItems).length &&\n !props.hideNoData &&\n (slots['no-data']?.() ?? <CdsListItem key=\"no-data\" title={t(props.noDataText)} />)}\n\n <CdsVirtualScroll ref={cdsVirtualScrollRef} renderless items={unref(displayItems)} itemKey=\"value\">\n {({ item, index, itemRef }: CdsVirtualScrollSlot<any> & { itemRef: TemplateRef }) => {\n const camelizedProps = camelizeProps(item.props);\n\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: highlightFirst.value && item === firstSelectableItem.value ? true : undefined,\n onClick: () => select(item, null),\n 'aria-posinset': index + 1,\n 'aria-setsize': displayItems.value.length\n });\n\n if (item.type === 'divider') {\n return (\n slots.divider?.({ props: item.raw, index }) ?? (\n <CdsListItemDivider {...item.props} key={`divider-${index}`} />\n )\n );\n }\n\n if (item.type === 'subheader') {\n return (\n slots.subheader?.({ props: item.raw, index }) ?? (\n <CdsListSubheader {...item.props} key={`subheader-${index}`} />\n )\n );\n }\n\n return (\n slots.item?.({\n item: item.raw,\n internalItem: item,\n index,\n props: itemProps\n }) ?? (\n <CdsListItem {...itemProps} role=\"option\">\n {{\n prepend: ({ isSelected }: ListItemSlot) => (\n <>\n {props.multiple && !props.hideSelected ? (\n <CdsCheckboxButton\n key={item.value}\n modelValue={isSelected}\n tabindex=\"-1\"\n aria-hidden\n onClick={(event: MouseEvent) => event.preventDefault()}\n />\n ) : undefined}\n\n {camelizedProps.prependAvatar && <CdsAvatar image={camelizedProps.prependAvatar} />}\n {camelizedProps.prependIcon && <CdsIcon icon={camelizedProps.prependIcon} />}\n </>\n ),\n title: () => {\n return isPure.value ? (\n item.title\n ) : (\n <CdsHighlight\n text={item.title}\n matches={getMatches(item)?.title}\n markClass={`${rootClass}__mask`}\n matchAll\n ignoreCase\n />\n );\n }\n }}\n </CdsListItem>\n )\n );\n }}\n </CdsVirtualScroll>\n\n {slots['append-item']?.()}\n </CdsList>\n )}\n\n {slots['menu-footer'] && <footer ref={footerRef}>{slots['menu-footer'](menuSlotProps)}</footer>}\n </CdsSurface>\n </CdsMenu>\n\n <div class={classNames(`${rootClass}__selections`)}>\n {model.value.map((item, index) => {\n function onChipClose(e: Event) {\n e.stopPropagation();\n e.preventDefault();\n\n select(item, false);\n }\n\n const slotProps = mergeProps(filterProps(defineCdsTagProps, item.props), {\n 'onClick:close': onChipClose,\n onKeydown(e: KeyboardEvent) {\n if (e.key !== keyNames.enter && e.key !== keyNames.space) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n onChipClose(e);\n },\n onMousedown(e: MouseEvent) {\n e.preventDefault();\n e.stopPropagation();\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined\n });\n\n const hasSlot = unref(hasChips) ? !!slots.chip : !!slots.selection;\n const slotContent = hasSlot\n ? ensureValidVNode(\n unref(hasChips)\n ? slots.chip!({ item: item.raw, internalItem: item, index, props: slotProps })\n : slots.selection!({ item: item.raw, internalItem: item, index })\n )\n : undefined;\n\n if (hasSlot && !slotContent) return undefined;\n\n return (\n <div\n key={item.value}\n class={classNames(\n `${rootClass}__selection`,\n { [`${rootClass}__selection--selected`]: index === selectionIndex.value },\n index === selectionIndex.value ? unref(textColorClasses) : undefined\n )}\n style={index === selectionIndex.value ? unref(textColorStyles) : {}}\n >\n {unref(hasChips) ? (\n !slots.chip ? (\n <CdsTag\n key=\"chip\"\n closable={unref(closableChips)}\n size=\"sm\"\n text={item.title}\n disabled={item.props.disabled}\n {...slotProps}\n />\n ) : (\n <CdsDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n CdsTag: {\n closable: unref(closableChips),\n size: 'sm',\n text: item.title\n }\n }}\n >\n {slotContent}\n </CdsDefaultsProvider>\n )\n ) : (\n (slotContent ?? (\n <span class={classNames(`${rootClass}__selection-text`)}>\n {item.title}\n {props.multiple && index < model.value.length - 1 && (\n <span class={classNames(`${rootClass}__selection-comma`)}>,</span>\n )}\n </span>\n ))\n )}\n </div>\n );\n })}\n </div>\n </>\n ),\n 'append-inner': (...args: [arg: CdsInputDefaultSlot]) => (\n <>\n {slots['append-inner']?.(...args)}\n {(!props.hideNoData || props.items.length) && props.menuIcon ? (\n <CdsIcon\n class={classNames(`${rootClass}__menu-icon`)}\n color={cdsTextInputRef.value?.fieldIconColor}\n icon={props.menuIcon}\n aria-hidden\n onMousedown={onMousedownMenuIcon}\n />\n ) : undefined}\n {props.appendInnerIcon && (\n <CdsInputIcon key=\"append-icon\" name=\"appendInner\" color={args[0].iconColor.value} />\n )}\n </>\n )\n }}\n </CdsTextInput>\n );\n});\n\ndefineExpose(\n forwardRefs(\n {\n /**\n * Находится ли компонент в фокусе.\n * @en Whether the component is focused.\n */\n isFocused,\n /**\n * Не изменялся ли поисковый запрос с момента последнего выбора.\n * @en Whether the search query has not changed since the last selection.\n */\n isPure,\n /** Состояние открытия выпадающего меню. */\n menu,\n /**\n * Текущее значение поискового запроса.\n * @en Current value of the search query.\n */\n search,\n /**\n * Индекс выбранного значения, выделенного стрелками при навигации.\n * @en Index of the selected value highlighted by the arrow keys during navigation.\n */\n selectionIndex,\n /**\n * Элементы, отфильтрованные по текущему поисковому запросу.\n * @en Items filtered by the current search query.\n */\n filteredItems,\n /** Выбрать элемент списка. Передайте `set` для явного добавления/снятия выбора. */\n select,\n /**\n * Переключить выбор всех доступных элементов (только для `multiple` + `isSelectAll`).\n * @en Toggle the selection of all available items (for `multiple` + `isSelectAll` only).\n */\n selectAll: onSelectAll\n },\n cdsTextInputRef\n )\n);\n</script>\n"],"names":["_props","__props","props","useDefaults","slots","_useSlots","emit","__emit","t","useLocale","form","useForm","autocomplete","useAutocomplete","items","transformIn","transformOut","useItems","model","useProxyModel","value","wrapInArray","transformed","multiple","cdsTextInputRef","ref","cdsMenuRef","cdsVirtualScrollRef","headerRef","footerRef","isFocused","shallowRef","isPure","listHasFocus","selectionIndex","_searchLock","cleared","CdsInputIcon","useInputIcon","textColorClasses","textColorStyles","useTextColor","color","closableChips","toRef","isReadonly","isDisabled","hasChips","computed","chips","chip","hasSelectionSlot","selection","_search","title","search","get","set","transformItem","nextTick","scrollToIndex","delimiters","length","values","splitByDelimiters","selectMultiple","filteredItems","getMatches","useFilter","alwaysFilter","counterValue","displayItems","hideSelected","filter","filteredItem","some","s","selectedValues","map","firstSelectableItem","find","item","type","disabled","highlightFirst","selectFirst","autoSelectFirst","menuDisabled","hideNoData","_menu","menu","v","ΨopenChildren","size","menuId","ariaExpanded","ariaControls","useMenuActivator","computedMenuProps","menuProps","activatorProps","listRef","listEvents","useScrolling","repairOrphanedFocus","useFocusRepair","contentEl","controlRef","onTabKeydown","useFocusGroups","groups","contentRef","displayItemsCount","onLeave","focus","onClear","openOnClear","onMousedownControl","unref","onMousedownMenuIcon","event","preventDefault","stopPropagation","onMenuKeydown","key","keyNames","tab","$el","contains","target","checkPrintable","backspace","onKeydown","selectionStart","enter","down","up","includes","esc","select","delete","originalSelectionIndex","left","prev","searchLength","setSelectionRange","right","next","onPaste","clipboardText","clipboardData","getData","onAfterEnter","eager","calculateVisibleItems","onAfterLeave","_clickOutside","lastMousedownWasOutside","onFocusin","setTimeout","onFocusout","relatedTarget","mousedownInsideContentAt","onMousedownContent","performance","now","onBlur","menuContent","keepMenu","index","findIndex","valueComparator","deepEqual","add","splice","clearOnSelect","effectiveDelimiters","signsToMatch","escapeForRegex","join","split","RegExp","trim","selectAllLabel","isSelectAll","selectAllItems","showSelectAll","isAllSelected","comparator","every","isSomeSelected","onSelectAll","added","watch","oldValue","IN_BROWSER","window","requestAnimationFrame","newValue","__expose","forwardRefs","selectAll","rootClass","CdsComboboxConstants","hasList","isDirty","textInputProps","filterProps","defineCdsTextInputProps","menuSlotProps","_createVNode","CdsTextInput","_mergeProps","$event","undefined","externalValue","placeholder","classNames","ellipsis","class","style","default","id","_Fragment","fieldName","CdsMenu","menuHeight","transition","contentClass","CdsSurface","CdsList","itemColor","listProps","CdsListItem","prepend","CdsCheckboxButton","CdsListItemDivider","noDataText","CdsVirtualScroll","itemRef","camelizedProps","camelizeProps","itemProps","mergeProps","active","onClick","divider","raw","subheader","CdsListSubheader","internalItem","isSelected","prependAvatar","CdsAvatar","prependIcon","CdsIcon","CdsHighlight","onChipClose","e","slotProps","defineCdsTagProps","space","onMousedown","modelValue","hasSlot","slotContent","ensureValidVNode","CdsTag","CdsDefaultsProvider","closable","text","_createTextVNode","append-inner","args","menuIcon","fieldIconColor","appendInnerIcon","iconColor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,UAAMA,SAASC;AACf,UAAMC,QAAQC,YAAYH,MAAM;AAChC,UAAMI,QAAQC,SAAA;AACd,UAAMC,OAAOC;AAEb,UAAM;AAAA,MAAEC;AAAAA,QAAMC,UAAS;AACvB,UAAMC,OAAOC,QAAQT,KAAK;AAC1B,UAAMU,eAAeC,gBAAgBX,KAAK;AAC1C,UAAM;AAAA,MAAEY;AAAAA,MAAOC;AAAAA,MAAaC;AAAAA,IAAa,IAAIC,SAASf,KAAK;AAC3D,UAAMgB,QAAQC,cACZjB,OACA,cACA,CAAA,GACCkB,WAAUL,YAAYM,YAAYD,KAAK,CAAC,GACxCA,WAAU;AACT,YAAME,cAAcN,aAAaI,KAAK;AACtC,aAAOlB,MAAMqB,WAAWD,cAAeA,YAAY,CAAC,KAAK;AAAA,IAC3D,CACF;AAEA,UAAME,kBAAkBC,IAAG;AAC3B,UAAMC,aAAaD,IAAG;AACtB,UAAME,sBAAsBF,IAAG;AAC/B,UAAMG,YAAYH,IAAG;AACrB,UAAMI,YAAYJ,IAAG;AAErB,UAAMK,YAAYC,WAAW,KAAK;AAElC,UAAMC,SAASD,WAAW,IAAI;AAC9B,UAAME,eAAeF,WAAW,KAAK;AAErC,UAAMG,iBAAiBH,WAAW,EAAE;AAEpC,UAAMI,cAAcJ,WAA0B,IAAI;AAElD,QAAIK,UAAU;AAEd,UAAM;AAAA,MAAEC;AAAAA,IAAa,IAAIC,aAAapC,KAAK;AAC3C,UAAM;AAAA,MAAEqC;AAAAA,MAAkBC;AAAAA,IAAgB,IAAIC,aAAa,MAAMvC,MAAMwC,KAAK;AAE5E,UAAMC,gBAAgBC,MAAM,MAAM1C,MAAMyC,iBAAiB,CAACjC,KAAKmC,WAAWzB,SAAS,CAACV,KAAKoC,WAAW1B,KAAK;AACzG,UAAM2B,WAAWC,SAAS,MAAM,CAAC,EAAE9C,MAAM+C,SAAS7C,MAAM8C,KAAK;AAC7D,UAAMC,mBAAmBH,SAAS,MAAMD,SAAS3B,SAAS,CAAC,CAAChB,MAAMgD,SAAS;AAE3E,UAAMC,UAAUtB,WAAW,CAAC7B,MAAMqB,YAAY,CAAC4B,iBAAiB/B,UAASF,WAAME,MAAM,CAAC,MAAbF,mBAAgBoC,UAAS,KAAM,EAAE;AAE1G,UAAMC,SAASP,SAAiB;AAAA,MAC9BQ,KAAKA,MAAM;AACT,eAAOH,QAAQjC;AAAAA,MACjB;AAAA,MACAqC,KAAMrC,WAAyB;;AAC7BiC,gBAAQjC,QAAQA,SAAS;AAEzB,YAAIA,UAAU,QAASA,UAAU,MAAM,CAAClB,MAAMqB,YAAY,CAAC4B,iBAAiB/B,OAAQ;AAClFF,gBAAME,QAAQ,CAAA;AAAA,QAChB,WAAW,CAAClB,MAAMqB,YAAY,CAAC4B,iBAAiB/B,OAAO;AACrDF,gBAAME,QAAQ,CAACsC,cAAcxD,OAAOkB,KAAK,CAAC;AAC1CuC,mBAAS,MAAA;;AAAMhC,oBAAAA,MAAAA,oBAAoBP,UAApBO,gBAAAA,IAA2BiC,cAAc;AAAA,WAAE;AAAA,QAC5D;AAEA,YAAIxC,SAASlB,MAAMqB,cAAYrB,MAAAA,MAAM2D,eAAN3D,gBAAAA,IAAkB4D,SAAQ;AACvD,gBAAMC,SAASC,kBAAkB5C,KAAK;AACtC,cAAI2C,OAAOD,SAAS,GAAG;AACrBG,2BAAeF,MAAM;AACrBV,oBAAQjC,QAAQ;AAAA,UAClB;AAAA,QACF;AAEA,YAAI,CAACA,MAAOc,gBAAed,QAAQ;AAEnCY,eAAOZ,QAAQ,CAACA;AAAAA,MAClB;AAAA,IACF,CAAC;AAED,UAAM;AAAA,MAAE8C;AAAAA,MAAeC;AAAAA,QAAeC,UACpClE,OACAY,OACA,MAAMqB,YAAYf,UAAUlB,MAAMmE,gBAAgB,CAACrC,OAAOZ,QAAQmC,OAAOnC,QAAQ,GACnF;AAEA,UAAMkD,eAAetB,SAAS,MAAM;AAClC,aAAO,OAAO9C,MAAMoE,iBAAiB,aACjCpE,MAAMoE,aAAapD,MAAME,KAAK,IAC9B,OAAOlB,MAAMoE,iBAAiB,WAC5BpE,MAAMoE,eACNpE,MAAMqB,WACJL,MAAME,MAAM0C,SACZP,OAAOnC,MAAM0C;AAAAA,IACvB,CAAC;AAED,UAAMS,eAAevB,SAAS,MAAM;AAClC,UAAI9C,MAAMsE,gBAAgBrC,YAAYf,UAAU,MAAM;AACpD,eAAO8C,cAAc9C,MAAMqD,OAAQC,kBAAiB,CAACxD,MAAME,MAAMuD,KAAMC,OAAMA,EAAExD,UAAUsD,aAAatD,KAAK,CAAC;AAAA,MAC9G;AAEA,aAAO8C,cAAc9C;AAAAA,IACvB,CAAC;AAED,UAAMyD,iBAAiB7B,SAAS,MAAM9B,MAAME,MAAM0D,IAAK1B,eAAcA,UAAUhC,KAAK,CAAC;AAErF,UAAM2D,sBAAsB/B,SAAS,MACnCuB,aAAanD,MAAM4D,KAAMC,UAASA,KAAKC,SAAS,UAAU,CAACD,KAAK/E,MAAMiF,QAAQ,CAChF;AAEA,UAAMC,iBAAiBpC,SAAS,MAAM;;AACpC,YAAMqC,cACJnF,MAAMoF,oBAAoB,QACzBpF,MAAMoF,oBAAoB,WAAW/B,OAAOnC,YAAU2D,MAAAA,oBAAoB3D,UAApB2D,gBAAAA,IAA2BzB;AAEpF,aAAO+B,eAAed,aAAanD,MAAM0C,SAAS,KAAK,CAAC9B,OAAOZ,SAAS,CAACa,aAAab;AAAAA,IACxF,CAAC;AAED,UAAMmE,eAAevC,SACnB,MAAO9C,MAAMsF,cAAc,CAACjB,aAAanD,MAAM0C,UAAWpD,KAAKmC,WAAWzB,SAASV,KAAKoC,WAAW1B,KACrG;AACA,UAAMqE,QAAQtE,cAAcjB,OAAO,MAAM;AACzC,UAAMwF,OAAO1C,SAAS;AAAA,MACpBQ,KAAKA,MAAMiC,MAAMrE;AAAAA,MACjBqC,KAAMkC,OAAM;;AACV,YAAIF,MAAMrE,SAAS,CAACuE,OAAKjE,MAAAA,MAAAA,WAAWN,UAAXM,gBAAAA,IAAkBkE,kBAAlBlE,mBAAiCmE,MAAM;AAChE,YAAIF,KAAKJ,aAAanE,MAAO;AAC7BqE,cAAMrE,QAAQuE;AAAAA,MAChB;AAAA,IACF,CAAC;AAED,UAAM;AAAA,MAAEG;AAAAA,MAAQC;AAAAA,MAAcC;AAAAA,IAAa,IAAIC,iBAAiB/F,OAAOwF,IAAI;AAE3E,UAAMQ,oBAAoBlD,SAAS,MAAM;;AACvC,aAAO;AAAA,QACL,GAAG9C,MAAMiG;AAAAA,QACTC,gBAAgB;AAAA,UACd,IAAGlG,MAAAA,MAAMiG,cAANjG,gBAAAA,IAAiBkG;AAAAA,UACpB,iBAAiB;AAAA,QACnB;AAAA;IAEJ,CAAC;AAED,UAAMC,UAAU5E,IAAG;AACnB,UAAM6E,aAAaC,aAAaF,SAAS7E,eAAe;AACxD,UAAMgF,sBAAsBC,eAC1Bf,MACA;;AAAMhE,cAAAA,MAAAA,WAAWN,UAAXM,gBAAAA,IAAkBgF;AAAAA,OACxB,MAAA;;AAAMlF,cAAAA,MAAAA,gBAAgBJ,UAAhBI,gBAAAA,IAAuBmF;AAAAA,KAC/B;AACA,UAAM;AAAA,MAAEC;AAAAA,QAAiBC,eAAe;AAAA,MACtCC,QAAQ,CACN;AAAA,QAAE5B,MAAM;AAAA,QAAoB6B,YAAYnF;AAAAA,MAAU,GAClD;AAAA,QAAEsD,MAAM;AAAA,QAAiB6B,YAAYV;AAAAA,QAASW,mBAAmBA,MAAMzC,aAAanD,MAAM0C;AAAAA,MAAO,GACjG;AAAA,QAAEoB,MAAM;AAAA,QAAoB6B,YAAYlF;AAAAA,MAAU,CAAA;AAAA,MAEpDoF,SAASA,MAAM;;AACbvB,aAAKtE,QAAQ;AACbI,SAAAA,MAAAA,gBAAgBJ,UAAhBI,gBAAAA,IAAuB0F;AAAAA,MACzB;AAAA,IACF,CAAC;AAED,aAASC,UAAU;AACjB/E,gBAAU;AACVuB,eAAS,MAAOvB,UAAU,KAAM;AAEhC,UAAIlC,MAAMkH,aAAa;AACrB1B,aAAKtE,QAAQ;AAAA,MACf;AAAA,IACF;AAEA,aAASiG,qBAAqB;AAC5B,UAAIC,MAAM/B,YAAY,EAAG;AAEzBG,WAAKtE,QAAQ;AAAA,IACf;AAEA,aAASmG,oBAAoBC,OAAmB;AAC9C,UAAIF,MAAM/B,YAAY,EAAG;AAEzB,UAAIzD,UAAUV,OAAO;AACnBoG,cAAMC,eAAc;AACpBD,cAAME,gBAAe;AAAA,MACvB;AAEAhC,WAAKtE,QAAQ,CAACsE,KAAKtE;AAAAA,IACrB;AAEA,aAASuG,cAAcH,OAAsB;;AAC3C,UAAIA,MAAMI,QAAQC,SAASC,KAAK;AAC9BlB,qBAAaY,KAAK;AAAA,MACpB;AAEA,YAAInB,MAAAA,QAAQjF,UAARiF,gBAAAA,IAAe0B,IAAIC,SAASR,MAAMS,aAAYC,eAAeV,KAAK,KAAKA,MAAMI,QAAQC,SAASM,YAAY;AAC5G3G,8BAAgBJ,UAAhBI,mBAAuB0F;AAAAA,MACzB;AAAA,IACF;AAEA,aAASkB,UAAUZ,OAAsB;;AACvC,UAAIF,MAAM5G,KAAKmC,UAAU,EAAG;AAE5B,YAAMwF,kBAAiB7G,MAAAA,gBAAgBJ,UAAhBI,gBAAAA,IAAuB6G;AAC9C,YAAMvE,SAAS5C,MAAME,MAAM0C;AAE3B,UAAK,CAAC+D,SAASS,OAAOT,SAASU,MAAMV,SAASW,EAAE,EAAeC,SAASjB,MAAMI,GAAG,GAAG;AAClFJ,cAAMC,eAAc;AAAA,MACtB;AAEA,UAAK,CAACI,SAASS,OAAOT,SAASU,IAAI,EAAeE,SAASjB,MAAMI,GAAG,GAAG;AACrElC,aAAKtE,QAAQ;AAAA,MACf;AAEA,UAAIoG,MAAMI,QAAQC,SAASa,KAAK;AAC9BhD,aAAKtE,QAAQ;AAAA,MACf;AAEA,UACEgE,eAAehE,SACd,CAACyG,SAASS,OAAOT,SAASC,GAAG,EAAeW,SAASjB,MAAMI,GAAG,KAC/D7C,oBAAoB3D,SACpB,CAACF,MAAME,MAAMuD,KAAK,CAAC;AAAA,QAAEvD;AAAAA,YAAYA,UAAU2D,oBAAoB3D,MAAOA,KAAK,GAC3E;AACAuH,eAAO5D,oBAAoB3D,KAAK;AAAA,MAClC;AAEA,UAAIoG,MAAMI,QAAQC,SAASU,QAAQnD,eAAehE,OAAO;AACvDiF,sBAAQjF,UAARiF,mBAAea,MAAM;AAAA,MACvB;AAEA,UAAIM,MAAMI,QAAQC,SAASS,SAAS/E,OAAOnC,OAAO;AAChDuH,eAAOjF,cAAcxD,OAAOqD,OAAOnC,KAAK,GAAG,MAAM,IAAI;AACrD,YAAI+B,iBAAiB/B,MAAOiC,SAAQjC,QAAQ;AAAA,MAC9C;AAEA,UAAK,CAACyG,SAASM,WAAWN,SAASe,MAAM,EAAeH,SAASjB,MAAMI,GAAG,GAAG;AAC3E,YAAI,CAAC1H,MAAMqB,YAAY4B,iBAAiB/B,SAASF,MAAME,MAAM0C,SAAS,KAAK,CAACP,OAAOnC,OAAO;AACxFuH,iBAAOzH,MAAME,MAAM,CAAC,GAAG,KAAK;AAC5B;AAAA,QACF;AAEA,YAAI,CAACc,eAAed,OAAO;AACzBoG,gBAAMC,eAAc;AACpB,gBAAMoB,yBAAyB3G,eAAed;AAC9CuH,iBAAOzH,MAAME,MAAMc,eAAed,KAAK,GAAG,KAAK;AAE/Cc,yBAAed,QAAQyH,0BAA0B/E,SAAS,IAAIA,SAAS,IAAI+E;AAAAA,QAC7E,WAAWrB,MAAMI,QAAQC,SAASM,aAAa,CAAC5E,OAAOnC,OAAO;AAC5Dc,yBAAed,QAAQ0C,SAAS;AAAA,QAClC;AAEA;AAAA,MACF;AAEA,UAAI,CAAC5D,MAAMqB,SAAU;AAErB,UAAIiG,MAAMI,QAAQC,SAASiB,MAAM;AAC/B,YAAI5G,eAAed,QAAQ,KAAKiH,kBAAkBA,iBAAiB,EAAG;AAEtE,cAAMU,OAAO7G,eAAed,QAAQ,KAAKc,eAAed,QAAQ,IAAI0C,SAAS;AAE7E,YAAI5C,MAAME,MAAM2H,IAAI,GAAG;AACrB7G,yBAAed,QAAQ2H;AAAAA,QACzB,OAAO;AACL,gBAAMC,eAAezF,OAAOnC,MAAM0C;AAClC5B,yBAAed,QAAQ;AACvBI,gCAAgBJ,UAAhBI,mBAAuByH,kBAAkBD,cAAcA;AAAAA,QACzD;AAAA,MACF,WAAWxB,MAAMI,QAAQC,SAASqB,OAAO;AACvC,YAAIhH,eAAed,QAAQ,EAAG;AAE9B,cAAM+H,OAAOjH,eAAed,QAAQ;AAEpC,YAAIF,MAAME,MAAM+H,IAAI,GAAG;AACrBjH,yBAAed,QAAQ+H;AAAAA,QACzB,OAAO;AACLjH,yBAAed,QAAQ;AACvBI,gCAAgBJ,UAAhBI,mBAAuByH,kBAAkB,GAAG;AAAA,QAC9C;AAAA,MACF,WAAW,CAAC/G,eAAed,SAAS8G,eAAeV,KAAK,GAAG;AACzDtF,uBAAed,QAAQ;AAAA,MACzB;AAAA,IACF;AAEA,aAASgI,QAAQ5B,OAAuB;;AACtC,YAAM6B,kBAAgB7B,MAAAA,MAAM8B,kBAAN9B,gBAAAA,IAAqB+B,QAAQ,YAAW;AAC9D,YAAMxF,SAASC,kBAAkBqF,aAAa;AAE9C,UAAItF,OAAOD,SAAS,KAAK5D,MAAMqB,UAAU;AACvCiG,cAAMC,eAAc;AACpBxD,uBAAeF,MAAM;AAAA,MACvB;AAAA,IACF;AAEA,aAASyF,eAAe;;AACtB,UAAItJ,MAAMuJ,OAAO;AACf9H,SAAAA,MAAAA,oBAAoBP,UAApBO,gBAAAA,IAA2B+H;AAAAA,MAC7B;AAAA,IACF;AAEA,aAASC,eAAe;;AACtB,UAAI7H,UAAUV,OAAO;AACnB,aAAIM,YAAAA,MAAAA,WAAWN,UAAXM,gBAAAA,IAAkBgF,cAAlBhF,mBAA6BkI,kBAA7BlI,mBAA4CmI,yBAAyB;AACvE/H,oBAAUV,QAAQ;AAAA,QACpB,OAAO;AACLI,gCAAgBJ,UAAhBI,mBAAuB0F;AAAAA,QACzB;AAAA,MACF;AAEAlF,aAAOZ,QAAQ;AACfe,kBAAYf,QAAQ;AAAA,IACtB;AAEA,aAAS0I,YAAY;AACnBhI,gBAAUV,QAAQ;AAClB2I,iBAAW,MAAM;AACf9H,qBAAab,QAAQ;AAAA,MACvB,CAAC;AAAA,IACH;AAEA,aAAS4I,WAAWxC,OAAmB;;AACrCvF,mBAAab,QAAQ;AAErB,UAAI,GAACI,MAAAA,gBAAgBJ,UAAhBI,gBAAAA,IAAuBuG,IAAIC,SAASR,MAAMyC,iBAAwB;AACrE,YAAIzD,oBAAoBgB,KAAK,EAAG;AAChC1F,kBAAUV,QAAQ;AAAA,MACpB;AAAA,IACF;AAEA,QAAI8I,2BAA2B;AAC/B,aAASC,qBAAqB;AAC5BD,iCAA2BE,YAAYC,IAAG;AAAA,IAC5C;AAEA,aAASC,OAAO9C,OAAmB;;AACjC,YAAM2B,OAAO3B,MAAMyC;AACnB,YAAMM,eAAc7I,MAAAA,WAAWN,UAAXM,gBAAAA,IAAkBgF;AAEtC,WAAI6D,2CAAavC,SAASmB,UAAU,CAACA,QAAQiB,YAAYC,IAAG,IAAKH,2BAA2B,IAAK;AAC/FpI,kBAAUV,QAAQ;AAAA,MACpB;AAAA,IACF;AAMA,aAASuH,OAAO1D,MAA4BxB,MAAsB,MAAM+G,WAAW,OAAO;AACxF,UAAI,CAACvF,QAAQA,KAAK/E,MAAMiF,SAAU;AAElC,UAAIjF,MAAMqB,UAAU;AAClB,cAAMkJ,QAAQvJ,MAAME,MAAMsJ,UAAWtH,gBAClClD,MAAMyK,mBAAmBC,WAAWxH,UAAUhC,OAAO6D,KAAK7D,KAAK,CAClE;AACA,cAAMyJ,MAAMpH,OAAO,OAAO,CAAC,CAACgH,QAAQhH;AAEpC,YAAI,CAACgH,OAAO;AACV,gBAAMrJ,QAAQyJ,MAAM,CAAC,GAAG3J,MAAME,OAAO6D,IAAI,IAAI,CAAC,GAAG/D,MAAME,KAAK;AAC5DA,gBAAM0J,OAAOL,OAAO,CAAC;AACrBvJ,gBAAME,QAAQA;AAAAA,QAChB,WAAWyJ,KAAK;AACd3J,gBAAME,QAAQ,CAAC,GAAGF,MAAME,OAAO6D,IAAI;AAAA,QACrC;AAEA,YAAI/E,MAAM6K,eAAe;AACvBxH,iBAAOnC,QAAQ;AAAA,QACjB;AAAA,MACF,OAAO;AACL,cAAMyJ,MAAMpH,QAAQ;AACpBvC,cAAME,QAAQyJ,MAAM,CAAC5F,IAAI,IAAI,CAAA;AAE7B,aAAK,CAACjD,OAAOZ,SAASlB,MAAMmE,iBAAiBhB,QAAQjC,OAAO;AAC1De,sBAAYf,QAAQiC,QAAQjC;AAAAA,QAC9B;AAEAiC,gBAAQjC,QAAQyJ,OAAO,CAAC1H,iBAAiB/B,QAAQ6D,KAAK3B,QAAQ;AAG9DK,iBAAS,MAAM;AACb+B,eAAKtE,QAAQoJ;AACbxI,iBAAOZ,QAAQ;AAAA,QACjB,CAAC;AAAA,MACH;AAAA,IACF;AAEA,aAAS4C,kBAAkB5C,OAAe;AACxC,YAAM4J,sBAAsB,CAAC,MAAM,GAAI9K,MAAM2D,cAAc,CAAA,CAAG;AAC9D,YAAMoH,eAAeD,oBAAoBlG,IAAIoG,cAAc,EAAEC,KAAK,GAAG;AACrE,aAAO/J,MAAMgK,MAAM,IAAIC,OAAO,MAAMJ,YAAY,IAAI,CAAC;AAAA,IACvD;AAEA,mBAAehH,eAAeF,QAAkB;AAC9C,eAAS3C,SAAS2C,QAAQ;AACxB3C,gBAAQA,MAAMkK,KAAI;AAClB,YAAIlK,OAAO;AACTuH,iBAAOjF,cAAcxD,OAAOkB,KAAK,CAAC;AAClC,gBAAMuC,SAAQ;AAAA,QAChB;AAAA,MACF;AAAA,IACF;AAEA,UAAM4H,iBAAiBvI,SAAS,MAC9B,OAAO9C,MAAMsL,gBAAgB,WAAWtL,MAAMsL,cAAchL,EAAE,gBAAgB,CAChF;AACA,UAAMiL,iBAAiBzI,SAAS,MAC9BuB,aAAanD,MAAMqD,OAAQQ,UAASA,KAAKC,SAAS,aAAaD,KAAKC,SAAS,eAAe,CAACD,KAAK/E,MAAMiF,QAAQ,CAClH;AACA,UAAMuG,gBAAgB1I,SAAS,MAAM9C,MAAMqB,YAAY,CAAC,CAACrB,MAAMsL,eAAeC,eAAerK,MAAM0C,SAAS,CAAC;AAC7G,UAAM6H,gBAAgB3I,SAAS,MAAM;AACnC,YAAM4I,aAAa1L,MAAMyK,mBAAmBC;AAC5C,aAAOa,eAAerK,MAAMyK,MAAO5G,UAAS/D,MAAME,MAAMuD,KAAMC,OAAMgH,WAAWhH,EAAExD,OAAO6D,KAAK7D,KAAK,CAAC,CAAC;AAAA,IACtG,CAAC;AACD,UAAM0K,iBAAiB9I,SACrB,MACE,CAAC2I,cAAcvK,SACfqK,eAAerK,MAAMuD,KAAMM,UACzB/D,MAAME,MAAMuD,KAAMC,QAAO1E,MAAMyK,mBAAmBC,WAAWhG,EAAExD,OAAO6D,KAAK7D,KAAK,CAAC,CACnF,CACJ;AAEA,aAAS2K,cAAc;AACrB,YAAMH,aAAa1L,MAAMyK,mBAAmBC;AAE5C,UAAIe,cAAcvK,OAAO;AACvBF,cAAME,QAAQF,MAAME,MAAMqD,OAAQG,OAAM,CAAC6G,eAAerK,MAAMuD,KAAMM,UAAS2G,WAAWhH,EAAExD,OAAO6D,KAAK7D,KAAK,CAAC,CAAC;AAAA,MAC/G,OAAO;AACL,cAAM4K,QAAQP,eAAerK,MAAMqD,OAAQQ,UAAS,CAAC/D,MAAME,MAAMuD,KAAMC,OAAMgH,WAAWhH,EAAExD,OAAO6D,KAAK7D,KAAK,CAAC,CAAC;AAC7GF,cAAME,QAAQ,CAAC,GAAGF,MAAME,OAAO,GAAG4K,KAAK;AAAA,MACzC;AAEA1L,WAAK,sBAAsBqL,cAAcvK,KAAK;AAAA,IAChD;AAEA6K,UAAM5I,SAAUjC,WAAU;AACxB,UAAIgB,SAAS;AAEXuB,iBAAS,MAAOvB,UAAU,KAAM;AAAA,MAClC,WAAWN,UAAUV,SAAS,CAACsE,KAAKtE,OAAO;AACzCsE,aAAKtE,QAAQ;AAAA,MACf;AAEAd,WAAK,iBAAiBc,KAAK;AAAA,IAC7B,CAAC;AAED6K,UAAM/K,OAAQE,WAAU;;AACtB,UAAI,CAAClB,MAAMqB,YAAY,CAAC4B,iBAAiB/B,OAAO;AAC9CiC,gBAAQjC,UAAQA,MAAAA,MAAM,CAAC,MAAPA,gBAAAA,IAAUkC,UAAS;AAAA,MACrC;AAAA,IACF,CAAC;AAED2I,UAAMnK,WAAW,CAACV,OAAO8K,aAAa;AACpC,UAAI9K,SAASA,UAAU8K,SAAU;AAEjChK,qBAAed,QAAQ;AACvBsE,WAAKtE,QAAQ;AAEb,UAAImC,OAAOnC,OAAO;AAChB,YAAIlB,MAAMqB,UAAU;AAClBoH,iBAAOjF,cAAcxD,OAAOqD,OAAOnC,KAAK,CAAC;AACzC;AAAA,QACF;AAEA,YAAI,CAAC+B,iBAAiB/B,MAAO;AAE7B,YAAIF,MAAME,MAAMuD,KAAK,CAAC;AAAA,UAAErB;AAAAA,QAAM,MAAMA,UAAUC,OAAOnC,KAAK,GAAG;AAC3DiC,kBAAQjC,QAAQ;AAAA,QAClB,OAAO;AACLuH,iBAAOjF,cAAcxD,OAAOqD,OAAOnC,KAAK,CAAC;AAAA,QAC3C;AAAA,MACF;AAAA,IACF,CAAC;AAED6K,UAAMvG,MAAOtE,WAAU;AACrB,UAAI,CAAClB,MAAMsE,gBAAgBpD,SAASF,MAAME,MAAM0C,UAAU9B,OAAOZ,OAAO;AACtE,cAAMqJ,QAAQlG,aAAanD,MAAMsJ,UAAWzF,UAC1C/D,MAAME,MAAMuD,KAAMC,QAAO1E,MAAMyK,mBAAmBC,WAAWhG,EAAExD,OAAO6D,KAAK7D,KAAK,CAAC,CACnF;AACA+K,sBACEC,OAAOC,sBAAsB,MAAM;;AACjC5B,mBAAS,OAAK9I,MAAAA,oBAAoBP,UAApBO,gBAAAA,IAA2BiC,cAAc6G;AAAAA,QACzD,CAAC;AAAA,MACL;AAEA,UAAIrJ,MAAOe,aAAYf,QAAQ;AAAA,IACjC,CAAC;AAED6K,UAAMnL,OAAO,CAACwL,UAAUJ,aAAa;AACnC,UAAIxG,KAAKtE,MAAO;AAEhB,UAAIU,UAAUV,SAAS,CAAC8K,SAASpI,UAAUwI,SAASxI,QAAQ;AAC1D4B,aAAKtE,QAAQ;AAAA,MACf;AAAA,IACF,CAAC;AAED6K,UAAM1G,cAAeJ,cAAa;AAChC,UAAIA,SAAUO,MAAKtE,QAAQ;AAAA,IAC7B,CAAC;AA0TDmL,aACEC,YACE;AAAA;AAAA;AAAA;AAAA;AAAA,MAKE1K;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAKAE;AAAAA;AAAAA,MAEA0D;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAKAnC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAKArB;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAKAgC;AAAAA;AAAAA,MAEAyE;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAKA8D,WAAWV;AAAAA,OAEbvK,eACF,CACF;WAhWa,MAAM;AACjB,YAAM;AAAA,QAAEkL;AAAAA,MAAU,IAAIC;AACtB,YAAMC,UAAU,CAAC,EACf,CAAC1M,MAAMsF,cACPjB,aAAanD,MAAM0C,UACnB1D,MAAM,cAAc,KACpBA,MAAM,aAAa,KACnBA,MAAM,SAAS;AAGjB,YAAMyM,UAAU3L,MAAME,MAAM0C,SAAS;AAErC,YAAMgJ,iBAAiBC,YAAYC,yBAAyB9M,KAAK;AACjE,YAAM+M,gBAAgB;AAAA,QACpB1J;AAAAA,QACAW,eAAeoD,MAAMpD,aAAa;AAAA;AAGpC,aAAAgJ,YAAAC,cAAAC,WAAA;AAAA,QAAA,OAES5L;AAAAA,MAAe,GAChBsL,gBAAc;AAAA,QAAA,cACTvJ,OAAOnC;AAAAA,QAAK,uBAAAiM,YAAZ9J,OAAOnC,QAAKiM;AAAAA,QAAA,QACfC;AAAAA,QAAS,WACExL,UAAUV;AAAAA,QAAK,oBAAAiM,YAAfvL,UAAUV,QAAKiM;AAAAA,QAAA,mBACfnM,MAAMqM;AAAAA,QAAa,gBACtBjG,MAAMhD,YAAY;AAAA,QAAC,SAC1BuI;AAAAA,QAAO,eACDA,UAAUS,SAAYpN,MAAMsN;AAAAA,QAAW,YAC1C9M,KAAKmC,WAAWzB;AAAAA,QAAK,SACxBqM,WACLf,WACA;AAAA,UACE,CAAC,GAAGA,SAAS,eAAe,GAAGpF,MAAM5B,IAAI;AAAA,UACzC,CAAC,GAAGgH,SAAS,SAAS,GAAGxM,MAAM+C;AAAAA,UAC/B,CAAC,GAAGyJ,SAAS,KAAKxM,MAAMqB,WAAW,aAAa,QAAQ,EAAE,GAAG;AAAA,UAC7D,CAAC,GAAGmL,SAAS,YAAY,GAAGxM,MAAMwN,YAAYxN,MAAMqB;AAAAA,UACpD,CAAC,GAAGmL,SAAS,kBAAkB,GAAGpF,MAAMnE,gBAAgB;AAAA,UACxD,CAAC,GAAGuJ,SAAS,mBAAmB,GAAGxK,eAAed,QAAQ;AAAA,QAC5D,GACAlB,MAAMyN,KACR;AAAA,QAAC,SACMzN,MAAM0N;AAAAA,QAAK,iBACHzG;AAAAA,QAAO,uBACDE;AAAAA,QAAkB,aAC5Be;AAAAA,QAAS,WACXgB;AAAAA,QAAO,UACRkB;AAAAA,QAAM,iBACCvE,aAAa3E;AAAAA,QAAK,iBAClB4E,aAAa5E;AAAAA,MAAK,CAAA,GAAA;AAAA,QAG/B,GAAGhB;AAAAA,QACHyN,SAASA,CAAC;AAAA,UAAEC;AAAAA,QAAiB,MAACZ,YAAAa,iBAAAb,YAAA,UAAA;AAAA,UAAA,UAAA;AAAA,UAAA,YAEDhN,MAAMqB;AAAAA,UAAQ,QAAQX,aAAaoN,UAAU5M;AAAAA,WAAK,CACxEF,MAAME,MAAM0D,IAAKG,UAAIiI,YAAA,UAAA;AAAA,UAAA,OACPjI,KAAK7D;AAAAA,UAAK,SAAS6D,KAAK7D;AAAAA,UAAK,YAAA;AAAA,QAAA,GAAA,IAAA,CAC3C,CAAC,CAAA,GAAA8L,YAAAe,SAAAb,WAAA;AAAA,UAAA,aAAA;AAAA,UAAA,MAKE9F,MAAMxB,MAAM;AAAA,UAAC,OACZpE;AAAAA,UAAU,cACNgE,KAAKtE;AAAAA,UAAK,uBAAAiM,YAAV3H,KAAKtE,QAAKiM;AAAAA,UAAA,aACRnN,MAAMgO;AAAAA,UAAU,SACpBhO,MAAMuJ;AAAAA,UAAK,eACL;AAAA,UAAK,uBACG;AAAA,UAAK,cACdvJ,MAAMiO;AAAAA,UAAU,gBACd3E;AAAAA,UAAY,gBACZG;AAAAA,WACVrC,MAAMpB,iBAAiB,GAAC;AAAA,UAAA,gBACduH,WAAW,GAAGf,SAAS,aAAapF,MAAMpB,iBAAiB,EAAEkI,YAAY;AAAA,QAAC,CAAA,GAAA;AAAA,UAAAP,SAAAA,MAAA,CAAAX,YAAAmB,YAAA;AAAA,YAAA,aAEjEvE;AAAAA,YAAS,aAAanC;AAAAA,YAAa,eAAewC;AAAAA,UAAkB,GAAA;AAAA,YAAA0D,SAAAA,MAAA,CACxFzN,MAAM,aAAa,KAAC8M,YAAA,UAAA;AAAA,cAAA,OAAiBtL;AAAAA,YAAS,GAAA,CAAGxB,MAAM,aAAa,EAAE6M,aAAa,CAAC,CAAA,GAEpFL,WAAOM,YAAAoB,SAAAlB,WAAA;AAAA,cAAA,OAAA;AAAA,cAAA,OAGC/G;AAAAA,cAAO,SACLnG,MAAMqO,aAAarO,MAAMwC;AAAAA,cAAK,YAC3B4E,MAAMzC,cAAc;AAAA,cAAC,kBACf3E,MAAMqB,WAAW,gBAAgB;AAAA,cAAoB,cACzD,CAAC,CAAC+F,MAAM/C,YAAY,EAAET;AAAAA,cAAM,eAC1B0D,WAAsBA,MAAMC,eAAc;AAAA,cAAE,cAC9CuC;AAAAA,cAAU,YAAA;AAAA,cAAA,aAAA;AAAA,cAAA,mBAGL,GAAG1C,MAAMwG,EAAE,CAAC;AAAA,cAAQ,wBACf5N,MAAMqB;AAAAA,YAAQ,GAChC+E,YACApG,MAAMsO,SAAS,GAAA;AAAA,cAAAX,SAAAA,MAAAA;;AAAA,yBAElBzN,MAAAA,MAAM,oBAANA,gBAAAA,IAAAA,aAEAkH,MAAMoE,aAAa,KAACwB,YAAAuB,aAAA;AAAA,kBAAA,OAAA;AAAA,kBAAA,SACkBnH,MAAMiE,cAAc;AAAA,kBAAC,QAAA;AAAA,kBAAA,WAAyBQ;AAAAA,gBAAW,GAAA;AAAA,kBAE1F2C,SAASA,MAAAxB,YAAAyB,mBAAA;AAAA,oBAAA,cAEOrH,MAAMqE,aAAa;AAAA,oBAAC,iBACjBrE,MAAMwE,cAAc;AAAA,oBAAC,YAAA;AAAA,oBAAA,eAAA;AAAA,oBAAA,WAG1BtE,WAAsBA,MAAMC,eAAc;AAAA,kBAAE,GAAA,IAAA;AAAA,iBAE1D,GAKLH,MAAMoE,aAAa,KAACwB,YAAA0B,oBAAA;AAAA,kBAAA,OAAA;AAAA,mBAAA,IAAA,GAEpB,CAACtH,MAAM/C,YAAY,EAAET,UACpB,CAAC5D,MAAMsF,iBACNpF,WAAM,eAANA,mCAAoB8M,YAAAuB,aAAA;AAAA,kBAAA,OAAA;AAAA,kBAAA,SAAsCjO,EAAEN,MAAM2O,UAAU;AAAA,gBAAC,GAAA,IAAA,IAAK3B,YAAA4B,kBAAA;AAAA,kBAAA,OAE9DnN;AAAAA,kBAAmB,cAAA;AAAA,kBAAA,SAAoB2F,MAAM/C,YAAY;AAAA,kBAAC,WAAA;AAAA,gBAAA,GAAA;AAAA,kBAAAsJ,SAC9EA,CAAC;AAAA,oBAAE5I;AAAAA,oBAAMwF;AAAAA,oBAAOsE;AAAAA,kBAA8D,MAAM;;AACnF,0BAAMC,iBAAiBC,cAAchK,KAAK/E,KAAK;AAE/C,0BAAMgP,YAAYC,WAAWlK,KAAK/E,OAAO;AAAA,sBACvCuB,KAAKsN;AAAAA,sBACLnH,KAAK3C,KAAK7D;AAAAA,sBACVgO,QAAQhK,eAAehE,SAAS6D,SAASF,oBAAoB3D,QAAQ,OAAOkM;AAAAA,sBAC5E+B,SAASA,MAAM1G,OAAO1D,MAAM,IAAI;AAAA,sBAChC,iBAAiBwF,QAAQ;AAAA,sBACzB,gBAAgBlG,aAAanD,MAAM0C;AAAAA,oBACrC,CAAC;AAED,wBAAImB,KAAKC,SAAS,WAAW;AAC3B,+BACE9E,MAAAA,MAAMkP,YAANlP,gBAAAA,IAAAA,YAAgB;AAAA,wBAAEF,OAAO+E,KAAKsK;AAAAA,wBAAK9E;AAAAA,6BAAQyC,YAAA0B,oBAAAxB,WACjBnI,KAAK/E,OAAK;AAAA,wBAAA,OAAO,WAAWuK,KAAK;AAAA,uBAAE,GAAA,IAAA;AAAA,oBAGjE;AAEA,wBAAIxF,KAAKC,SAAS,aAAa;AAC7B,+BACE9E,MAAAA,MAAMoP,cAANpP,gBAAAA,IAAAA,YAAkB;AAAA,wBAAEF,OAAO+E,KAAKsK;AAAAA,wBAAK9E;AAAAA,6BAAQyC,YAAAuC,aAAArC,WACrBnI,KAAK/E,OAAK;AAAA,wBAAA,OAAO,aAAauK,KAAK;AAAA,uBAAE,GAAA,IAAA;AAAA,oBAGjE;AAEA,6BACErK,MAAAA,MAAM6E,SAAN7E,gBAAAA,IAAAA,YAAa;AAAA,sBACX6E,MAAMA,KAAKsK;AAAAA,sBACXG,cAAczK;AAAAA,sBACdwF;AAAAA,sBACAvK,OAAOgP;AAAAA,2BACPhC,YAAAuB,aAAArB,WACiB8B,WAAS;AAAA,sBAAA,QAAA;AAAA,oBAAA,CAAA,GAAA;AAAA,sBAEtBR,SAASA,CAAC;AAAA,wBAAEiB;AAAAA,sBAAyB,MAACzC,YAAAa,UAAA,MAAA,CAEjC7N,MAAMqB,YAAY,CAACrB,MAAMsE,eAAY0I,YAAAyB,mBAAA;AAAA,wBAAA,OAE7B1J,KAAK7D;AAAAA,wBAAK,cACHuO;AAAAA,wBAAU,YAAA;AAAA,wBAAA,eAAA;AAAA,wBAAA,WAGZnI,WAAsBA,MAAMC,eAAc;AAAA,yBAAE,IAAA,IAEtD6F,QAEH0B,eAAeY,iBAAa1C,YAAA2C,WAAA;AAAA,wBAAA,SAAsBb,eAAeY;AAAAA,sBAAa,GAAA,IAAA,GAC9EZ,eAAec,eAAW5C,YAAA6C,SAAA;AAAA,wBAAA,QAAmBf,eAAec;AAAAA,sBAAW,GAAA,IAAA,CAAI,CAAA;AAAA,sBAGhFxM,OAAOA,MAAM;;AACX,+BAAOtB,OAAOZ,QACZ6D,KAAK3B,QAAI4J,YAAA8C,cAAA;AAAA,0BAAA,QAGD/K,KAAK3B;AAAAA,0BAAK,YACPa,MAAAA,WAAWc,IAAI,MAAfd,gBAAAA,IAAkBb;AAAAA,0BAAK,aACrB,GAAGoJ,SAAS;AAAA,0BAAQ,YAAA;AAAA,0BAAA,cAAA;AAAA,2BAAA,IAAA;AAAA,sBAKrC;AAAA,qBAAA;AAAA,kBAKV;AAAA,gBAAC,CAAA,IAGFtM,WAAM,mBAANA,8BAAwB;AAAA;AAAA,YAAA,CAAA,GAI5BA,MAAM,aAAa,KAAC8M,YAAA,UAAA;AAAA,cAAA,OAAiBrL;AAAAA,YAAS,GAAA,CAAGzB,MAAM,aAAa,EAAE6M,aAAa,CAAC,CAAA,CAAU;AAAA,UAAA,CAAA,CAAA;AAAA,QAAA,CAAA,GAAAC,YAAA,OAAA;AAAA,UAAA,SAIvFO,WAAW,GAAGf,SAAS,cAAc;AAAA,WAAC,CAC/CxL,MAAME,MAAM0D,IAAI,CAACG,MAAMwF,UAAU;AAChC,mBAASwF,YAAYC,GAAU;AAC7BA,cAAExI,gBAAe;AACjBwI,cAAEzI,eAAc;AAEhBkB,mBAAO1D,MAAM,KAAK;AAAA,UACpB;AAEA,gBAAMkL,YAAYhB,WAAWpC,YAAYqD,mBAAmBnL,KAAK/E,KAAK,GAAG;AAAA,YACvE,iBAAiB+P;AAAAA,YACjB7H,UAAU8H,GAAkB;AAC1B,kBAAIA,EAAEtI,QAAQC,SAASS,SAAS4H,EAAEtI,QAAQC,SAASwI,MAAO;AAE1DH,gBAAEzI,eAAc;AAChByI,gBAAExI,gBAAe;AAEjBuI,0BAAYC,CAAC;AAAA,YACf;AAAA,YACAI,YAAYJ,GAAe;AACzBA,gBAAEzI,eAAc;AAChByI,gBAAExI,gBAAe;AAAA,YACnB;AAAA,YACA6I,YAAY;AAAA,YACZ,uBAAuBjD;AAAAA,UACzB,CAAC;AAED,gBAAMkD,UAAUlJ,MAAMvE,QAAQ,IAAI,CAAC,CAAC3C,MAAM8C,OAAO,CAAC,CAAC9C,MAAMgD;AACzD,gBAAMqN,cAAcD,UAChBE,iBACEpJ,MAAMvE,QAAQ,IACV3C,MAAM8C,KAAM;AAAA,YAAE+B,MAAMA,KAAKsK;AAAAA,YAAKG,cAAczK;AAAAA,YAAMwF;AAAAA,YAAOvK,OAAOiQ;AAAAA,UAAU,CAAC,IAC3E/P,MAAMgD,UAAW;AAAA,YAAE6B,MAAMA,KAAKsK;AAAAA,YAAKG,cAAczK;AAAAA,YAAMwF;AAAAA,WAAO,CACpE,IACA6C;AAEJ,cAAIkD,WAAW,CAACC,YAAa,QAAOnD;AAEpC,iBAAAJ,YAAA,OAAA;AAAA,YAAA,OAESjI,KAAK7D;AAAAA,YAAK,SACRqM,WACL,GAAGf,SAAS,eACZ;AAAA,cAAE,CAAC,GAAGA,SAAS,uBAAuB,GAAGjC,UAAUvI,eAAed;AAAAA,YAAM,GACxEqJ,UAAUvI,eAAed,QAAQkG,MAAM/E,gBAAgB,IAAI+K,MAC7D;AAAA,YAAC,SACM7C,UAAUvI,eAAed,QAAQkG,MAAM9E,eAAe,IAAI,CAAA;AAAA,UAAE,GAAA,CAElE8E,MAAMvE,QAAQ,IACb,CAAC3C,MAAM8C,OAAIgK,YAAAyD,QAAAvD,WAAA;AAAA,YAAA,OAAA;AAAA,YAAA,YAGG9F,MAAM3E,aAAa;AAAA,YAAC,QAAA;AAAA,YAAA,QAExBsC,KAAK3B;AAAAA,YAAK,YACN2B,KAAK/E,MAAMiF;AAAAA,UAAQ,GACzBgL,SAAS,GAAA,IAAA,IAAAjD,YAAA0D,qBAAA;AAAA,YAAA,OAAA;AAAA,YAAA,YAKH;AAAA,cACRD,QAAQ;AAAA,gBACNE,UAAUvJ,MAAM3E,aAAa;AAAA,gBAC7BkD,MAAM;AAAA,gBACNiL,MAAM7L,KAAK3B;AAAAA,cACb;AAAA,YACF;AAAA,UAAC,GAAA;AAAA,YAAAuK,SAAAA,MAAA,CAEA4C,WAAW;AAAA,WAAA,IAIfA,eAAWvD,YAAA,QAAA;AAAA,YAAA,SACGO,WAAW,GAAGf,SAAS,kBAAkB;AAAA,UAAC,GAAA,CACpDzH,KAAK3B,OACLpD,MAAMqB,YAAYkJ,QAAQvJ,MAAME,MAAM0C,SAAS,KAACoJ,YAAA,QAAA;AAAA,YAAA,SAClCO,WAAW,GAAGf,SAAS,mBAAmB;AAAA,aAAC,CAAAqE,sBACzD,CAAA,CAGN,CAAA;AAAA,QAGP,CAAC,CAAC,CAAA,CAAA,CAAA;AAAA,QAIR,gBAAgBC,IAAIC,SAAgC;;AAAA/D,6BAAAa,UAAA,MAAA,EAE/C3N,MAAAA,MAAM,oBAANA,gBAAAA,IAAAA,YAAwB,GAAG6Q,QAC1B,CAAC/Q,MAAMsF,cAActF,MAAMY,MAAMgD,WAAW5D,MAAMgR,WAAQhE,YAAA6C,SAAA;AAAA,YAAA,SAEjDtC,WAAW,GAAGf,SAAS,aAAa;AAAA,YAAC,UACrClL,qBAAgBJ,UAAhBI,mBAAuB2P;AAAAA,YAAc,QACtCjR,MAAMgR;AAAAA,YAAQ,eAAA;AAAA,YAAA,eAEP3J;AAAAA,aAAmB,IAAA,IAEhC+F,QACHpN,MAAMkR,mBAAelE,YAAA7K,cAAA;AAAA,YAAA,OAAA;AAAA,YAAA,QAAA;AAAA,YAAA,SACsC4O,KAAK,CAAC,EAAEI,UAAUjQ;AAAAA,aAAK,IAAA,CAClF,CAAA;AAAA;AAAA,MAEL,CAAA;AAAA,IAIR;AAAA;;"}
|
|
@@ -8,21 +8,31 @@ import { C as CdsComboboxConstants } from "./CdsCombobox.constants.js";
|
|
|
8
8
|
import { C as CdsModalTransition } from "../../../transitions/modalTransition.js";
|
|
9
9
|
const defineCdsComboboxProps = propsFactory(
|
|
10
10
|
{
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Фильтрует список даже когда поисковый запрос не менялся с момента последнего выбора.
|
|
13
|
+
* @en Filters the list even when the search query has not changed since the last selection.
|
|
14
|
+
*/
|
|
12
15
|
alwaysFilter: Boolean,
|
|
13
16
|
/**
|
|
14
17
|
* Подсвечивает первый подходящий элемент списка при вводе; Enter или Tab выбирают его.
|
|
15
18
|
* Значение `exact` подсвечивает только при полном совпадении поискового запроса с заголовком элемента.
|
|
19
|
+
* @en Highlights the first matching item as you type; Enter or Tab select it. The `exact` value highlights it only on a full match of the search query with the item title.
|
|
16
20
|
*/
|
|
17
21
|
autoSelectFirst: {
|
|
18
22
|
type: [Boolean, String]
|
|
19
23
|
},
|
|
20
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Очищает поисковый запрос после выбора элемента (актуально для `multiple`).
|
|
26
|
+
* @en Clears the search query after an item is selected (relevant for `multiple`).
|
|
27
|
+
*/
|
|
21
28
|
clearOnSelect: {
|
|
22
29
|
type: Boolean,
|
|
23
30
|
default: true
|
|
24
31
|
},
|
|
25
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Символы-разделители: ввод или вставка строки с ними разбивает её на несколько значений (только для `multiple`).
|
|
34
|
+
* @en Delimiter characters: typing or pasting a string containing them splits it into several values (for `multiple` only).
|
|
35
|
+
*/
|
|
26
36
|
delimiters: Array,
|
|
27
37
|
...defineFilterProps({ filterKeys: ["title"] }),
|
|
28
38
|
...omit(defineSelectProps({ hideNoData: true, returnObject: true }), ["nativeSelect", "noAutoScroll"]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CdsCombobox.props.js","sources":["../../../../../../src/components/CdsCombobox/api/CdsCombobox.props.ts"],"sourcesContent":["import { defineSelectProps } from '@cds/components/CdsSelect/composables/useSelect';\nimport { defineCdsTextInputProps } from '@cds/components/CdsTextInput/api/CdsTextInput.props';\nimport { defineFilterProps } from '@cds/composables/useFilter';\nimport { defineTransitionProps } from '@cds/composables/useTransition';\nimport { propsFactory } from '@cds/core';\nimport { CdsModalTransition } from '@cds/transitions';\nimport { omit } from '@cds/utils';\nimport type { PropType } from 'vue';\n\nimport { CdsComboboxConstants } from './CdsCombobox.constants';\n\nexport const defineCdsComboboxProps = propsFactory(\n {\n
|
|
1
|
+
{"version":3,"file":"CdsCombobox.props.js","sources":["../../../../../../src/components/CdsCombobox/api/CdsCombobox.props.ts"],"sourcesContent":["import { defineSelectProps } from '@cds/components/CdsSelect/composables/useSelect';\nimport { defineCdsTextInputProps } from '@cds/components/CdsTextInput/api/CdsTextInput.props';\nimport { defineFilterProps } from '@cds/composables/useFilter';\nimport { defineTransitionProps } from '@cds/composables/useTransition';\nimport { propsFactory } from '@cds/core';\nimport { CdsModalTransition } from '@cds/transitions';\nimport { omit } from '@cds/utils';\nimport type { PropType } from 'vue';\n\nimport { CdsComboboxConstants } from './CdsCombobox.constants';\n\nexport const defineCdsComboboxProps = propsFactory(\n {\n /**\n * Фильтрует список даже когда поисковый запрос не менялся с момента последнего выбора.\n * @en Filters the list even when the search query has not changed since the last selection.\n */\n alwaysFilter: Boolean,\n /**\n * Подсвечивает первый подходящий элемент списка при вводе; Enter или Tab выбирают его.\n * Значение `exact` подсвечивает только при полном совпадении поискового запроса с заголовком элемента.\n * @en Highlights the first matching item as you type; Enter or Tab select it. The `exact` value highlights it only on a full match of the search query with the item title.\n */\n autoSelectFirst: {\n type: [Boolean, String] as PropType<boolean | 'exact'>\n },\n /**\n * Очищает поисковый запрос после выбора элемента (актуально для `multiple`).\n * @en Clears the search query after an item is selected (relevant for `multiple`).\n */\n clearOnSelect: {\n type: Boolean,\n default: true\n },\n /**\n * Символы-разделители: ввод или вставка строки с ними разбивает её на несколько значений (только для `multiple`).\n * @en Delimiter characters: typing or pasting a string containing them splits it into several values (for `multiple` only).\n */\n delimiters: Array as PropType<readonly string[]>,\n\n ...defineFilterProps({ filterKeys: ['title'] }),\n ...omit(defineSelectProps({ hideNoData: true, returnObject: true }), ['nativeSelect', 'noAutoScroll']),\n ...omit(\n defineCdsTextInputProps({\n autocomplete: 'off',\n modelValue: null,\n role: 'combobox'\n }),\n ['validationValue', 'dirty']\n ),\n ...defineTransitionProps({ transition: { component: CdsModalTransition } })\n },\n CdsComboboxConstants.name\n);\n"],"names":[],"mappings":";;;;;;;;AAWO,MAAM,yBAAyB;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKE,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMd,iBAAiB;AAAA,MACf,MAAM,CAAC,SAAS,MAAM;AAAA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMxB,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMX,YAAY;AAAA,IAEZ,GAAG,kBAAkB,EAAE,YAAY,CAAC,OAAO,GAAG;AAAA,IAC9C,GAAG,KAAK,kBAAkB,EAAE,YAAY,MAAM,cAAc,MAAM,GAAG,CAAC,gBAAgB,cAAc,CAAC;AAAA,IACrG,GAAG;AAAA,MACD,wBAAwB;AAAA,QACtB,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,MAAM;AAAA,MAAA,CACP;AAAA,MACD,CAAC,mBAAmB,OAAO;AAAA,IAAA;AAAA,IAE7B,GAAG,sBAAsB,EAAE,YAAY,EAAE,WAAW,mBAAA,GAAsB;AAAA,EAAA;AAAA,EAE5E,qBAAqB;AACvB;"}
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
@charset "UTF-8";
|
|
2
|
-
/*
|
|
3
|
-
* Easing component
|
|
4
|
-
* @type Map
|
|
5
|
-
*/
|
|
6
|
-
/*
|
|
7
|
-
* Get the transition-timing-function for a given easing and motion mode
|
|
8
|
-
* @param {String} $type - Can be `ease-in-out`, `ease-in`, or `ease-out`
|
|
9
|
-
* @param {String} $mode [basic] - Can be `basic` or `accent`
|
|
10
|
-
* @param {Map} $easing [$easing] - Easing's map
|
|
11
|
-
* @return {Function} CSS `cubic-bezier()` function
|
|
12
|
-
*/
|
|
13
|
-
/*
|
|
14
|
-
* Set the transition-timing-function for a given easing and motion mode
|
|
15
|
-
* @param {Number} $duration — The dynamic duration in ms
|
|
16
|
-
* @param {String} $type - The name of the easing curve to apply
|
|
17
|
-
* @param {String} $mode - The mode for the easing curve to use
|
|
18
|
-
*/
|
|
19
1
|
@layer cds-components {
|
|
20
2
|
.cds-counter {
|
|
21
3
|
flex: 0 1 auto;
|
|
@@ -6,11 +6,20 @@ import { C as CdsTransitionSlideY } from "../../../transitions/index.js";
|
|
|
6
6
|
import { C as CdsCounterConstants } from "./CdsCounter.constants.js";
|
|
7
7
|
const defineCdsCounterProps = propsFactory(
|
|
8
8
|
{
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Активное состояние
|
|
11
|
+
* @en Active state
|
|
12
|
+
*/
|
|
10
13
|
active: Boolean,
|
|
11
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Максимальное значение
|
|
16
|
+
* @en Maximum value
|
|
17
|
+
*/
|
|
12
18
|
max: [Number, String],
|
|
13
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Значение счетчика
|
|
21
|
+
* @en Value of the counter
|
|
22
|
+
*/
|
|
14
23
|
value: {
|
|
15
24
|
type: [Number, String],
|
|
16
25
|
default: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CdsCounter.props.js","sources":["../../../../../../src/components/CdsCounter/api/CdsCounter.props.ts"],"sourcesContent":["import { defineDisabledProps } from '@cds/composables/useDisabled';\nimport { defineTransitionProps } from '@cds/composables/useTransition';\nimport { defineComponentProps, propsFactory } from '@cds/core';\nimport { CdsTransitionSlideY } from '@cds/transitions';\nimport type { Component } from 'vue';\n\nimport { CdsCounterConstants } from './CdsCounter.constants';\n\nexport const defineCdsCounterProps = propsFactory(\n {\n
|
|
1
|
+
{"version":3,"file":"CdsCounter.props.js","sources":["../../../../../../src/components/CdsCounter/api/CdsCounter.props.ts"],"sourcesContent":["import { defineDisabledProps } from '@cds/composables/useDisabled';\nimport { defineTransitionProps } from '@cds/composables/useTransition';\nimport { defineComponentProps, propsFactory } from '@cds/core';\nimport { CdsTransitionSlideY } from '@cds/transitions';\nimport type { Component } from 'vue';\n\nimport { CdsCounterConstants } from './CdsCounter.constants';\n\nexport const defineCdsCounterProps = propsFactory(\n {\n /**\n * Активное состояние\n * @en Active state\n */\n active: Boolean,\n /**\n * Максимальное значение\n * @en Maximum value\n */\n max: [Number, String],\n /**\n * Значение счетчика\n * @en Value of the counter\n */\n value: {\n type: [Number, String],\n default: 0\n },\n\n ...defineComponentProps(),\n ...defineDisabledProps(),\n ...defineTransitionProps({\n transition: { component: CdsTransitionSlideY as Component }\n })\n },\n CdsCounterConstants.name\n);\n"],"names":[],"mappings":";;;;;;AAQO,MAAM,wBAAwB;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKE,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,IAKR,KAAK,CAAC,QAAQ,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,IAKpB,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IAAA;AAAA,IAGX,GAAG,qBAAA;AAAA,IACH,GAAG,oBAAA;AAAA,IACH,GAAG,sBAAsB;AAAA,MACvB,YAAY,EAAE,WAAW,oBAAA;AAAA,IAAiC,CAC3D;AAAA,EAAA;AAAA,EAEH,oBAAoB;AACtB;"}
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
@charset "UTF-8";
|
|
2
|
-
/*
|
|
3
|
-
* Easing component
|
|
4
|
-
* @type Map
|
|
5
|
-
*/
|
|
6
|
-
/*
|
|
7
|
-
* Get the transition-timing-function for a given easing and motion mode
|
|
8
|
-
* @param {String} $type - Can be `ease-in-out`, `ease-in`, or `ease-out`
|
|
9
|
-
* @param {String} $mode [basic] - Can be `basic` or `accent`
|
|
10
|
-
* @param {Map} $easing [$easing] - Easing's map
|
|
11
|
-
* @return {Function} CSS `cubic-bezier()` function
|
|
12
|
-
*/
|
|
13
|
-
/*
|
|
14
|
-
* Set the transition-timing-function for a given easing and motion mode
|
|
15
|
-
* @param {Number} $duration — The dynamic duration in ms
|
|
16
|
-
* @param {String} $type - The name of the easing curve to apply
|
|
17
|
-
* @param {String} $mode - The mode for the easing curve to use
|
|
18
|
-
*/
|
|
19
1
|
@layer cds-components {
|
|
20
2
|
.cds-date-input--no-input .cds-field {
|
|
21
3
|
pointer-events: auto;
|
package/dist/es/src/components/CdsDateInput/CdsDateInput.vue_vue_type_script_setup_true_lang.js
CHANGED
|
@@ -232,7 +232,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
232
232
|
}, null)]);
|
|
233
233
|
}
|
|
234
234
|
__expose(forwardRefs({
|
|
235
|
+
/**
|
|
236
|
+
* Подтверждает выбранную в календаре дату и закрывает всплывающее окно.
|
|
237
|
+
* @en Confirms the date chosen in the calendar and closes the popup.
|
|
238
|
+
*/
|
|
235
239
|
save,
|
|
240
|
+
/**
|
|
241
|
+
* Отменяет выбор, возвращает предыдущее значение и закрывает всплывающее окно.
|
|
242
|
+
* @en Cancels the selection, restores the previous value and closes the popup.
|
|
243
|
+
*/
|
|
236
244
|
cancel
|
|
237
245
|
}, cdsTextInputRef));
|
|
238
246
|
return () => {
|
package/dist/es/src/components/CdsDateInput/CdsDateInput.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CdsDateInput.vue_vue_type_script_setup_true_lang.js","sources":["../../../../../src/components/CdsDateInput/CdsDateInput.vue"],"sourcesContent":["<script setup lang=\"tsx\">\nimport './CdsDateInput.scss';\n\nimport { CdsButton } from '@cds/components/CdsButton';\nimport { CdsDatePicker } from '@cds/components/CdsDatePicker';\nimport { defineCdsDatePickerProps } from '@cds/components/CdsDatePicker/api/CdsDatePicker.props';\nimport { CdsDivider } from '@cds/components/CdsDivider';\nimport { CdsMenu } from '@cds/components/CdsMenu';\nimport { CdsTextInput } from '@cds/components/CdsTextInput';\nimport { defineCdsTextInputProps } from '@cds/components/CdsTextInput/api/CdsTextInput.props';\nimport { CdsTimePicker } from '@cds/components/CdsTimePicker';\nimport { defineCdsTimePickerProps } from '@cds/components/CdsTimePicker/api/CdsTimePicker.props';\nimport type { TDatetimeValueRange } from '@cds/composables/useDatetime';\nimport { useDatetime } from '@cds/composables/useDatetime';\nimport { useLocale } from '@cds/composables/useLocale';\nimport { filterProps, forwardRefs, useDefaults, useProxyModel } from '@cds/core';\nimport type { IRawDate } from '@cds/utils';\nimport {\n classNames,\n deepEqual,\n extractDate,\n formatDate,\n isValidDate,\n keyNames,\n omit,\n pick,\n splitDate,\n wrapInArray\n} from '@cds/utils';\nimport { computed, ref, unref, watch } from 'vue';\n\nimport { CdsDateInputConstants, multipleSeparator, rangeSeparator } from './api/CdsDateInput.constants';\nimport { defineCdsDateInputProps } from './api/CdsDateInput.props';\nimport type { CdsDateInputEvents, CdsDateInputSlots, TDateInputValue } from './api/CdsDateInput.types';\n\ndefineOptions({\n name: CdsDateInputConstants.name\n});\n\nconst _props = defineProps({ ...defineCdsDateInputProps() });\nconst props = useDefaults(_props);\nconst slots = defineSlots<CdsDateInputSlots>();\nconst emit = defineEmits([\"update:modelValue\", \"update:menu\", \"update:focused\", \"save\", \"cancel\", \"navigation\", \"rangeStart\", \"rangeEnd\"]);\n\nconst { t } = useLocale();\n// useDatetime нужны только маска и локаль — модель поля разбирается здесь.\nconst { getLocale, getMask } = useDatetime({\n get mask() {\n return props.mask;\n },\n get locale() {\n return props.locale;\n }\n});\n\nconst internalLocale = computed(() => getLocale());\n/** Маска значения: при `with-time` к дате дописывается время, если его там ещё нет. */\nconst internalMask = computed(() => {\n const mask = getMask();\n\n if (!unref(hasTime) || /[Hhms]/.test(mask)) return mask;\n\n return `${mask} ${props.withSeconds ? 'HH:mm:ss' : 'HH:mm'}`;\n});\n\nconst model = useProxyModel(props, 'modelValue');\nconst menu = useProxyModel(props, 'menu');\nconst isFocused = useProxyModel(props, 'focused');\n\nconst cdsTextInputRef = ref<InstanceType<typeof CdsTextInput>>();\n/** Отложенное значение календаря, пока изменения не подтверждены кнопкой сохранения. */\nconst proxyModel = ref<TDateInputValue>(unref(model));\n\nconst isRangeOrMultiple = computed(() => !!props.range || !!props.multiple);\n/** Время выбирается только для одиночной даты: у набора дат и диапазона общего времени нет. */\nconst hasTime = computed(() => props.withTime && !unref(isRangeOrMultiple));\nconst isInteractive = computed(() => !props.disabled && !props.readonly);\nconst isReadonly = computed(() => !props.updateOn.length || !!props.readonly);\n// CdsDatePicker принимает изменяемый массив и не принимает null — приводим значение к его типу модели.\nconst pickerModel = computed(\n () =>\n ((props.hideActions ? unref(model) : unref(proxyModel)) ?? undefined) as\n | string\n | TDatetimeValueRange\n | Array<string | TDatetimeValueRange>\n | undefined\n);\nconst isPristine = computed(() => deepEqual(unref(proxyModel), unref(model)));\n\n/** Разделитель диапазона в пользовательском вводе: тире любого вида, окружённое пробелами. */\nconst rangeInputSeparator = /\\s+[—–-]\\s+/;\n\nconst display = computed(() => wrapInArray(unref(model)).filter(Boolean).map(formatEntry).join(multipleSeparator));\n\nwatch(menu, (value) => {\n if (value) proxyModel.value = unref(model);\n});\n\nwatch(model, (value) => {\n if (props.hideActions) proxyModel.value = value;\n});\n\nfunction emptyModelValue(): TDateInputValue {\n return props.multiple ? [] : null;\n}\n\n/** Собирает нативную дату из разобранного значения (месяцы в `IRawDate` начинаются с единицы). */\nfunction toNativeDate(date: IRawDate): Date {\n return new Date(\n date.year as number,\n (date.month as number) - 1,\n date.day,\n date.hour ?? 0,\n date.minute ?? 0,\n date.second ?? 0\n );\n}\n\n/** Приводит значение к строке в маске компонента: строку оставляет как есть, объект даты кодирует. */\nfunction toMaskedString(value: string | IRawDate | undefined): string {\n if (value == null) return '';\n if (typeof value === 'string') return value;\n\n return formatDate(toNativeDate(value), unref(internalMask), unref(internalLocale)) ?? '';\n}\n\n/** Переводит строку из маски компонента в формат отображения `displayFormat`. */\nfunction formatValue(value: string | IRawDate | undefined): string {\n const masked = toMaskedString(value);\n\n if (!masked || !props.displayFormat) return masked;\n\n const date = extractDate(masked, unref(internalMask), unref(internalLocale));\n\n if (!isValidDate(date)) return masked;\n\n if (typeof props.displayFormat === 'function') return props.displayFormat(date);\n\n return formatDate(date, props.displayFormat, unref(internalLocale)) ?? masked;\n}\n\nfunction formatEntry(entry: string | TDatetimeValueRange): string {\n if (entry && typeof entry === 'object') {\n return `${formatValue(entry.from)}${rangeSeparator}${formatValue(entry.to)}`;\n }\n\n return formatValue(entry);\n}\n\n/** Парсит одну дату по маске компонента, а затем по строковому `displayFormat`. Возвращает `null` для невалидного ввода. */\nfunction parseValue(value: string): string | null {\n const text = value.trim();\n\n if (!text) return null;\n\n const masks = [unref(internalMask), typeof props.displayFormat === 'string' ? props.displayFormat : undefined];\n\n for (const mask of masks) {\n if (!mask) continue;\n\n const raw = splitDate(text, mask, unref(internalLocale));\n\n if (raw.year == null || raw.month == null || raw.day == null) continue;\n\n const date = toNativeDate(raw);\n\n if (!isValidDate(date)) continue;\n\n return formatDate(date, unref(internalMask), unref(internalLocale)) ?? null;\n }\n\n return null;\n}\n\nfunction sortDates(dates: string[]): string[] {\n return [...dates].sort(\n (a, b) =>\n extractDate(a, unref(internalMask), unref(internalLocale)).valueOf() -\n extractDate(b, unref(internalMask), unref(internalLocale)).valueOf()\n );\n}\n\nfunction onUserInput({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue();\n return;\n }\n\n const parts = props.range\n ? value.split(rangeInputSeparator)\n : props.multiple\n ? value.split(multipleSeparator.trim())\n : [value];\n const parsed = parts.map(parseValue);\n\n // Невалидный ввод не меняет модель: поле вернётся к текущему значению.\n if (parsed.some((date) => date === null)) return;\n\n const dates = parsed as string[];\n\n // Календарь отдаёт диапазон объектом `{ from, to }`, а с `multiple` — массивом таких объектов.\n if (props.range) {\n const [from, to] = sortDates(dates);\n const value = to ? { from, to } : from;\n\n model.value = props.multiple ? [value] : value;\n return;\n }\n\n model.value = props.multiple ? dates : dates[0];\n}\n\nfunction onClick(event: MouseEvent) {\n if (!unref(isInteractive)) return;\n\n event.stopPropagation();\n\n menu.value = true;\n}\n\nfunction onKeydown(event: KeyboardEvent) {\n if (event.key !== keyNames.enter) return;\n\n if (!unref(menu) || !unref(isFocused)) {\n menu.value = true;\n }\n\n if (props.updateOn.includes('enter') && !props.readonly) {\n onUserInput(event.target as HTMLInputElement);\n }\n}\n\nfunction onBlur(event: FocusEvent) {\n if (props.updateOn.includes('blur') && !props.readonly) {\n onUserInput(event.target as HTMLInputElement);\n }\n}\n\n/** Поле отдаёт `null` только при очистке — вводимые строки разбираются на blur/enter. */\nfunction onUpdateDisplayModel(value: string | null) {\n if (value != null) return;\n\n model.value = emptyModelValue();\n}\n\n/**\n * Переносит время из текущего значения в новое: календарь пересобирает строку\n * из собственного снимка модели и о правках тайм-пикера не знает.\n */\nfunction withCurrentTime(next: TDateInputValue): TDateInputValue {\n const current = props.hideActions ? unref(model) : unref(proxyModel);\n\n if (typeof next !== 'string' || typeof current !== 'string') return next;\n\n const mask = unref(internalMask);\n const locale = unref(internalLocale);\n const time = splitDate(current, mask, locale);\n\n if (time.hour == null) return next;\n\n const date = splitDate(next, mask, locale);\n\n if (date.year == null || date.month == null || date.day == null) return next;\n\n return formatDate(toNativeDate({ ...date, ...pick(time, ['hour', 'minute', 'second']) }), mask, locale) ?? next;\n}\n\nfunction onPickerUpdate(value: TDateInputValue) {\n if (unref(hasTime)) value = withCurrentTime(value);\n\n if (!props.hideActions) {\n proxyModel.value = value;\n return;\n }\n\n model.value = value;\n emit('save', value);\n\n // Меню остаётся открытым, пока выбор не закончен: диапазон, набор дат или время.\n if (!unref(isRangeOrMultiple) && !unref(hasTime)) menu.value = false;\n}\n\n/** Тайм-пикер работает с той же строкой и той же маской — он меняет только её временную часть. */\nfunction onTimeUpdate(value: string | undefined) {\n if (value == null) return;\n\n if (!props.hideActions) {\n proxyModel.value = value;\n return;\n }\n\n model.value = value;\n emit('save', value);\n}\n\nfunction save() {\n model.value = unref(proxyModel);\n emit('save', unref(proxyModel));\n menu.value = false;\n}\n\nfunction cancel() {\n proxyModel.value = unref(model);\n emit('cancel');\n menu.value = false;\n}\n\nfunction renderActions() {\n const { rootClass } = CdsDateInputConstants;\n\n if (slots.actions) {\n return slots.actions({ save, cancel, isPristine: unref(isPristine) });\n }\n\n return (\n <div class={`${rootClass}__actions`}>\n <CdsButton appearance=\"tertiary\" size=\"sm\" text={t('$cds.confirmEdit.cancel')} onClick={cancel} />\n <CdsButton\n appearance=\"primary\"\n size=\"sm\"\n text={t('$cds.confirmEdit.ok')}\n disabled={unref(isPristine)}\n onClick={save}\n />\n </div>\n );\n}\n\ndefineRender(() => {\n const { rootClass } = CdsDateInputConstants;\n\n const textInputProps = filterProps(defineCdsTextInputProps, props);\n const pickerProps = {\n ...omit(filterProps(defineCdsDatePickerProps, props), ['modelValue', 'description']),\n mask: unref(internalMask),\n ...props.pickerProps\n };\n const timePickerProps = {\n ...omit(filterProps(defineCdsTimePickerProps, props), ['modelValue']),\n mask: unref(internalMask),\n ...props.timePickerProps\n };\n\n return (\n <CdsTextInput\n ref={cdsTextInputRef}\n {...textInputProps}\n class={classNames(\n rootClass,\n {\n [`${rootClass}--active-menu`]: unref(menu),\n // Поле readonly только ради запрета клавиатурного ввода — календарь по клику должен работать.\n [`${rootClass}--no-input`]: !props.updateOn.length && unref(isInteractive)\n },\n props.class\n )}\n style={props.style}\n modelValue={unref(display)}\n placeholder={props.placeholder ?? unref(internalMask)}\n readonly={unref(isReadonly)}\n validationValue={unref(model)}\n focused={unref(menu) || unref(isFocused)}\n onUpdate:focused={(value: boolean) => (isFocused.value = value)}\n onUpdate:modelValue={onUpdateDisplayModel}\n onClick:control={onClick}\n onClick:prependInner={onClick}\n onKeydown={unref(isInteractive) ? onKeydown : undefined}\n onBlur={onBlur}\n >\n {{\n ...slots,\n default: () => (\n <CdsMenu\n activator=\"parent\"\n v-model={menu.value}\n minWidth=\"0\"\n location={props.location}\n openOnClick={false}\n closeOnContentClick={false}\n {...props.menuProps}\n >\n <div class={`${rootClass}__pickers`}>\n <CdsDatePicker\n {...pickerProps}\n modelValue={unref(pickerModel)}\n onUpdate:modelValue={onPickerUpdate}\n onNavigation={(payload: { year: number | undefined; month: number | undefined }) =>\n emit('navigation', payload)\n }\n onRangeStart={(value: Partial<IRawDate>) => emit('rangeStart', value)}\n onRangeEnd={(payload: { from: Partial<IRawDate>; to: Partial<IRawDate> }) => emit('rangeEnd', payload)}\n onMousedown={(event: MouseEvent) => event.preventDefault()}\n >\n {{\n title: slots['picker-title'],\n description: slots['picker-description']\n }}\n </CdsDatePicker>\n\n {unref(hasTime) ? (\n <>\n <CdsDivider />\n\n <CdsTimePicker\n {...timePickerProps}\n modelValue={unref(pickerModel) as string | undefined}\n onUpdate:modelValue={onTimeUpdate}\n onMousedown={(event: MouseEvent) => event.preventDefault()}\n />\n </>\n ) : null}\n\n {!props.hideActions ? renderActions() : null}\n </div>\n </CdsMenu>\n )\n }}\n </CdsTextInput>\n );\n});\n\ndefineExpose(forwardRefs({ save, cancel }, cdsTextInputRef));\n</script>\n"],"names":["_props","__props","props","useDefaults","slots","_useSlots","emit","__emit","t","useLocale","getLocale","getMask","useDatetime","mask","locale","internalLocale","computed","internalMask","unref","hasTime","test","withSeconds","model","useProxyModel","menu","isFocused","cdsTextInputRef","ref","proxyModel","isRangeOrMultiple","range","multiple","withTime","isInteractive","disabled","readonly","isReadonly","updateOn","length","pickerModel","hideActions","undefined","isPristine","deepEqual","rangeInputSeparator","display","wrapInArray","filter","Boolean","map","formatEntry","join","multipleSeparator","watch","value","emptyModelValue","toNativeDate","date","Date","year","month","day","hour","minute","second","toMaskedString","formatDate","formatValue","masked","displayFormat","extractDate","isValidDate","entry","from","rangeSeparator","to","parseValue","text","trim","masks","raw","splitDate","sortDates","dates","sort","a","b","valueOf","onUserInput","parts","split","parsed","some","onClick","event","stopPropagation","onKeydown","key","keyNames","enter","includes","target","onBlur","onUpdateDisplayModel","withCurrentTime","next","current","time","pick","onPickerUpdate","onTimeUpdate","save","cancel","renderActions","rootClass","CdsDateInputConstants","actions","_createVNode","CdsButton","__expose","forwardRefs","textInputProps","filterProps","defineCdsTextInputProps","pickerProps","omit","defineCdsDatePickerProps","timePickerProps","defineCdsTimePickerProps","CdsTextInput","_mergeProps","classNames","class","style","placeholder","default","CdsMenu","$event","location","menuProps","CdsDatePicker","payload","preventDefault","title","description","_Fragment","CdsDivider","CdsTimePicker"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CdsDateInput.vue_vue_type_script_setup_true_lang.js","sources":["../../../../../src/components/CdsDateInput/CdsDateInput.vue"],"sourcesContent":["<script setup lang=\"tsx\">\nimport './CdsDateInput.scss';\n\nimport { CdsButton } from '@cds/components/CdsButton';\nimport { CdsDatePicker } from '@cds/components/CdsDatePicker';\nimport { defineCdsDatePickerProps } from '@cds/components/CdsDatePicker/api/CdsDatePicker.props';\nimport { CdsDivider } from '@cds/components/CdsDivider';\nimport { CdsMenu } from '@cds/components/CdsMenu';\nimport { CdsTextInput } from '@cds/components/CdsTextInput';\nimport { defineCdsTextInputProps } from '@cds/components/CdsTextInput/api/CdsTextInput.props';\nimport { CdsTimePicker } from '@cds/components/CdsTimePicker';\nimport { defineCdsTimePickerProps } from '@cds/components/CdsTimePicker/api/CdsTimePicker.props';\nimport type { TDatetimeValueRange } from '@cds/composables/useDatetime';\nimport { useDatetime } from '@cds/composables/useDatetime';\nimport { useLocale } from '@cds/composables/useLocale';\nimport { filterProps, forwardRefs, useDefaults, useProxyModel } from '@cds/core';\nimport type { IRawDate } from '@cds/utils';\nimport {\n classNames,\n deepEqual,\n extractDate,\n formatDate,\n isValidDate,\n keyNames,\n omit,\n pick,\n splitDate,\n wrapInArray\n} from '@cds/utils';\nimport { computed, ref, unref, watch } from 'vue';\n\nimport { CdsDateInputConstants, multipleSeparator, rangeSeparator } from './api/CdsDateInput.constants';\nimport { defineCdsDateInputProps } from './api/CdsDateInput.props';\nimport type { CdsDateInputEvents, CdsDateInputSlots, TDateInputValue } from './api/CdsDateInput.types';\n\ndefineOptions({\n name: CdsDateInputConstants.name\n});\n\nconst _props = defineProps({ ...defineCdsDateInputProps() });\nconst props = useDefaults(_props);\nconst slots = defineSlots<CdsDateInputSlots>();\nconst emit = defineEmits([\"update:modelValue\", \"update:menu\", \"update:focused\", \"save\", \"cancel\", \"navigation\", \"rangeStart\", \"rangeEnd\"]);\n\nconst { t } = useLocale();\n// useDatetime нужны только маска и локаль — модель поля разбирается здесь.\nconst { getLocale, getMask } = useDatetime({\n get mask() {\n return props.mask;\n },\n get locale() {\n return props.locale;\n }\n});\n\nconst internalLocale = computed(() => getLocale());\n/** Маска значения: при `with-time` к дате дописывается время, если его там ещё нет. */\nconst internalMask = computed(() => {\n const mask = getMask();\n\n if (!unref(hasTime) || /[Hhms]/.test(mask)) return mask;\n\n return `${mask} ${props.withSeconds ? 'HH:mm:ss' : 'HH:mm'}`;\n});\n\nconst model = useProxyModel(props, 'modelValue');\nconst menu = useProxyModel(props, 'menu');\nconst isFocused = useProxyModel(props, 'focused');\n\nconst cdsTextInputRef = ref<InstanceType<typeof CdsTextInput>>();\n/** Отложенное значение календаря, пока изменения не подтверждены кнопкой сохранения. */\nconst proxyModel = ref<TDateInputValue>(unref(model));\n\nconst isRangeOrMultiple = computed(() => !!props.range || !!props.multiple);\n/** Время выбирается только для одиночной даты: у набора дат и диапазона общего времени нет. */\nconst hasTime = computed(() => props.withTime && !unref(isRangeOrMultiple));\nconst isInteractive = computed(() => !props.disabled && !props.readonly);\nconst isReadonly = computed(() => !props.updateOn.length || !!props.readonly);\n// CdsDatePicker принимает изменяемый массив и не принимает null — приводим значение к его типу модели.\nconst pickerModel = computed(\n () =>\n ((props.hideActions ? unref(model) : unref(proxyModel)) ?? undefined) as\n | string\n | TDatetimeValueRange\n | Array<string | TDatetimeValueRange>\n | undefined\n);\nconst isPristine = computed(() => deepEqual(unref(proxyModel), unref(model)));\n\n/** Разделитель диапазона в пользовательском вводе: тире любого вида, окружённое пробелами. */\nconst rangeInputSeparator = /\\s+[—–-]\\s+/;\n\nconst display = computed(() => wrapInArray(unref(model)).filter(Boolean).map(formatEntry).join(multipleSeparator));\n\nwatch(menu, (value) => {\n if (value) proxyModel.value = unref(model);\n});\n\nwatch(model, (value) => {\n if (props.hideActions) proxyModel.value = value;\n});\n\nfunction emptyModelValue(): TDateInputValue {\n return props.multiple ? [] : null;\n}\n\n/** Собирает нативную дату из разобранного значения (месяцы в `IRawDate` начинаются с единицы). */\nfunction toNativeDate(date: IRawDate): Date {\n return new Date(\n date.year as number,\n (date.month as number) - 1,\n date.day,\n date.hour ?? 0,\n date.minute ?? 0,\n date.second ?? 0\n );\n}\n\n/** Приводит значение к строке в маске компонента: строку оставляет как есть, объект даты кодирует. */\nfunction toMaskedString(value: string | IRawDate | undefined): string {\n if (value == null) return '';\n if (typeof value === 'string') return value;\n\n return formatDate(toNativeDate(value), unref(internalMask), unref(internalLocale)) ?? '';\n}\n\n/** Переводит строку из маски компонента в формат отображения `displayFormat`. */\nfunction formatValue(value: string | IRawDate | undefined): string {\n const masked = toMaskedString(value);\n\n if (!masked || !props.displayFormat) return masked;\n\n const date = extractDate(masked, unref(internalMask), unref(internalLocale));\n\n if (!isValidDate(date)) return masked;\n\n if (typeof props.displayFormat === 'function') return props.displayFormat(date);\n\n return formatDate(date, props.displayFormat, unref(internalLocale)) ?? masked;\n}\n\nfunction formatEntry(entry: string | TDatetimeValueRange): string {\n if (entry && typeof entry === 'object') {\n return `${formatValue(entry.from)}${rangeSeparator}${formatValue(entry.to)}`;\n }\n\n return formatValue(entry);\n}\n\n/** Парсит одну дату по маске компонента, а затем по строковому `displayFormat`. Возвращает `null` для невалидного ввода. */\nfunction parseValue(value: string): string | null {\n const text = value.trim();\n\n if (!text) return null;\n\n const masks = [unref(internalMask), typeof props.displayFormat === 'string' ? props.displayFormat : undefined];\n\n for (const mask of masks) {\n if (!mask) continue;\n\n const raw = splitDate(text, mask, unref(internalLocale));\n\n if (raw.year == null || raw.month == null || raw.day == null) continue;\n\n const date = toNativeDate(raw);\n\n if (!isValidDate(date)) continue;\n\n return formatDate(date, unref(internalMask), unref(internalLocale)) ?? null;\n }\n\n return null;\n}\n\nfunction sortDates(dates: string[]): string[] {\n return [...dates].sort(\n (a, b) =>\n extractDate(a, unref(internalMask), unref(internalLocale)).valueOf() -\n extractDate(b, unref(internalMask), unref(internalLocale)).valueOf()\n );\n}\n\nfunction onUserInput({ value }: HTMLInputElement) {\n if (!value.trim()) {\n model.value = emptyModelValue();\n return;\n }\n\n const parts = props.range\n ? value.split(rangeInputSeparator)\n : props.multiple\n ? value.split(multipleSeparator.trim())\n : [value];\n const parsed = parts.map(parseValue);\n\n // Невалидный ввод не меняет модель: поле вернётся к текущему значению.\n if (parsed.some((date) => date === null)) return;\n\n const dates = parsed as string[];\n\n // Календарь отдаёт диапазон объектом `{ from, to }`, а с `multiple` — массивом таких объектов.\n if (props.range) {\n const [from, to] = sortDates(dates);\n const value = to ? { from, to } : from;\n\n model.value = props.multiple ? [value] : value;\n return;\n }\n\n model.value = props.multiple ? dates : dates[0];\n}\n\nfunction onClick(event: MouseEvent) {\n if (!unref(isInteractive)) return;\n\n event.stopPropagation();\n\n menu.value = true;\n}\n\nfunction onKeydown(event: KeyboardEvent) {\n if (event.key !== keyNames.enter) return;\n\n if (!unref(menu) || !unref(isFocused)) {\n menu.value = true;\n }\n\n if (props.updateOn.includes('enter') && !props.readonly) {\n onUserInput(event.target as HTMLInputElement);\n }\n}\n\nfunction onBlur(event: FocusEvent) {\n if (props.updateOn.includes('blur') && !props.readonly) {\n onUserInput(event.target as HTMLInputElement);\n }\n}\n\n/** Поле отдаёт `null` только при очистке — вводимые строки разбираются на blur/enter. */\nfunction onUpdateDisplayModel(value: string | null) {\n if (value != null) return;\n\n model.value = emptyModelValue();\n}\n\n/**\n * Переносит время из текущего значения в новое: календарь пересобирает строку\n * из собственного снимка модели и о правках тайм-пикера не знает.\n */\nfunction withCurrentTime(next: TDateInputValue): TDateInputValue {\n const current = props.hideActions ? unref(model) : unref(proxyModel);\n\n if (typeof next !== 'string' || typeof current !== 'string') return next;\n\n const mask = unref(internalMask);\n const locale = unref(internalLocale);\n const time = splitDate(current, mask, locale);\n\n if (time.hour == null) return next;\n\n const date = splitDate(next, mask, locale);\n\n if (date.year == null || date.month == null || date.day == null) return next;\n\n return formatDate(toNativeDate({ ...date, ...pick(time, ['hour', 'minute', 'second']) }), mask, locale) ?? next;\n}\n\nfunction onPickerUpdate(value: TDateInputValue) {\n if (unref(hasTime)) value = withCurrentTime(value);\n\n if (!props.hideActions) {\n proxyModel.value = value;\n return;\n }\n\n model.value = value;\n emit('save', value);\n\n // Меню остаётся открытым, пока выбор не закончен: диапазон, набор дат или время.\n if (!unref(isRangeOrMultiple) && !unref(hasTime)) menu.value = false;\n}\n\n/** Тайм-пикер работает с той же строкой и той же маской — он меняет только её временную часть. */\nfunction onTimeUpdate(value: string | undefined) {\n if (value == null) return;\n\n if (!props.hideActions) {\n proxyModel.value = value;\n return;\n }\n\n model.value = value;\n emit('save', value);\n}\n\nfunction save() {\n model.value = unref(proxyModel);\n emit('save', unref(proxyModel));\n menu.value = false;\n}\n\nfunction cancel() {\n proxyModel.value = unref(model);\n emit('cancel');\n menu.value = false;\n}\n\nfunction renderActions() {\n const { rootClass } = CdsDateInputConstants;\n\n if (slots.actions) {\n return slots.actions({ save, cancel, isPristine: unref(isPristine) });\n }\n\n return (\n <div class={`${rootClass}__actions`}>\n <CdsButton appearance=\"tertiary\" size=\"sm\" text={t('$cds.confirmEdit.cancel')} onClick={cancel} />\n <CdsButton\n appearance=\"primary\"\n size=\"sm\"\n text={t('$cds.confirmEdit.ok')}\n disabled={unref(isPristine)}\n onClick={save}\n />\n </div>\n );\n}\n\ndefineRender(() => {\n const { rootClass } = CdsDateInputConstants;\n\n const textInputProps = filterProps(defineCdsTextInputProps, props);\n const pickerProps = {\n ...omit(filterProps(defineCdsDatePickerProps, props), ['modelValue', 'description']),\n mask: unref(internalMask),\n ...props.pickerProps\n };\n const timePickerProps = {\n ...omit(filterProps(defineCdsTimePickerProps, props), ['modelValue']),\n mask: unref(internalMask),\n ...props.timePickerProps\n };\n\n return (\n <CdsTextInput\n ref={cdsTextInputRef}\n {...textInputProps}\n class={classNames(\n rootClass,\n {\n [`${rootClass}--active-menu`]: unref(menu),\n // Поле readonly только ради запрета клавиатурного ввода — календарь по клику должен работать.\n [`${rootClass}--no-input`]: !props.updateOn.length && unref(isInteractive)\n },\n props.class\n )}\n style={props.style}\n modelValue={unref(display)}\n placeholder={props.placeholder ?? unref(internalMask)}\n readonly={unref(isReadonly)}\n validationValue={unref(model)}\n focused={unref(menu) || unref(isFocused)}\n onUpdate:focused={(value: boolean) => (isFocused.value = value)}\n onUpdate:modelValue={onUpdateDisplayModel}\n onClick:control={onClick}\n onClick:prependInner={onClick}\n onKeydown={unref(isInteractive) ? onKeydown : undefined}\n onBlur={onBlur}\n >\n {{\n ...slots,\n default: () => (\n <CdsMenu\n activator=\"parent\"\n v-model={menu.value}\n minWidth=\"0\"\n location={props.location}\n openOnClick={false}\n closeOnContentClick={false}\n {...props.menuProps}\n >\n <div class={`${rootClass}__pickers`}>\n <CdsDatePicker\n {...pickerProps}\n modelValue={unref(pickerModel)}\n onUpdate:modelValue={onPickerUpdate}\n onNavigation={(payload: { year: number | undefined; month: number | undefined }) =>\n emit('navigation', payload)\n }\n onRangeStart={(value: Partial<IRawDate>) => emit('rangeStart', value)}\n onRangeEnd={(payload: { from: Partial<IRawDate>; to: Partial<IRawDate> }) => emit('rangeEnd', payload)}\n onMousedown={(event: MouseEvent) => event.preventDefault()}\n >\n {{\n title: slots['picker-title'],\n description: slots['picker-description']\n }}\n </CdsDatePicker>\n\n {unref(hasTime) ? (\n <>\n <CdsDivider />\n\n <CdsTimePicker\n {...timePickerProps}\n modelValue={unref(pickerModel) as string | undefined}\n onUpdate:modelValue={onTimeUpdate}\n onMousedown={(event: MouseEvent) => event.preventDefault()}\n />\n </>\n ) : null}\n\n {!props.hideActions ? renderActions() : null}\n </div>\n </CdsMenu>\n )\n }}\n </CdsTextInput>\n );\n});\n\ndefineExpose(\n forwardRefs(\n {\n /**\n * Подтверждает выбранную в календаре дату и закрывает всплывающее окно.\n * @en Confirms the date chosen in the calendar and closes the popup.\n */\n save,\n /**\n * Отменяет выбор, возвращает предыдущее значение и закрывает всплывающее окно.\n * @en Cancels the selection, restores the previous value and closes the popup.\n */\n cancel\n },\n cdsTextInputRef\n )\n);\n</script>\n"],"names":["_props","__props","props","useDefaults","slots","_useSlots","emit","__emit","t","useLocale","getLocale","getMask","useDatetime","mask","locale","internalLocale","computed","internalMask","unref","hasTime","test","withSeconds","model","useProxyModel","menu","isFocused","cdsTextInputRef","ref","proxyModel","isRangeOrMultiple","range","multiple","withTime","isInteractive","disabled","readonly","isReadonly","updateOn","length","pickerModel","hideActions","undefined","isPristine","deepEqual","rangeInputSeparator","display","wrapInArray","filter","Boolean","map","formatEntry","join","multipleSeparator","watch","value","emptyModelValue","toNativeDate","date","Date","year","month","day","hour","minute","second","toMaskedString","formatDate","formatValue","masked","displayFormat","extractDate","isValidDate","entry","from","rangeSeparator","to","parseValue","text","trim","masks","raw","splitDate","sortDates","dates","sort","a","b","valueOf","onUserInput","parts","split","parsed","some","onClick","event","stopPropagation","onKeydown","key","keyNames","enter","includes","target","onBlur","onUpdateDisplayModel","withCurrentTime","next","current","time","pick","onPickerUpdate","onTimeUpdate","save","cancel","renderActions","rootClass","CdsDateInputConstants","actions","_createVNode","CdsButton","__expose","forwardRefs","textInputProps","filterProps","defineCdsTextInputProps","pickerProps","omit","defineCdsDatePickerProps","timePickerProps","defineCdsTimePickerProps","CdsTextInput","_mergeProps","classNames","class","style","placeholder","default","CdsMenu","$event","location","menuProps","CdsDatePicker","payload","preventDefault","title","description","_Fragment","CdsDivider","CdsTimePicker"],"mappings":"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"}
|