dxd-style-code 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dxd-style-code.js +11974 -3725
- package/dist/dxd-style-code.umd.cjs +10 -1
- package/dist/style.css +1 -1
- package/package.json +13 -6
- package/src/components/atoms/DXAvatar/DXAvatar.stories.js +319 -0
- package/src/components/atoms/DXAvatar/DXAvatar.vue +167 -0
- package/src/components/atoms/DXAvatar/index.js +2 -0
- package/src/components/atoms/DXBackdrop/DXBackdrop.stories.js +341 -0
- package/src/components/atoms/DXBackdrop/DXBackdrop.vue +102 -0
- package/src/components/atoms/DXBackdrop/index.js +2 -0
- package/src/components/atoms/DXBadge/DXBadge.stories.js +239 -0
- package/src/components/atoms/DXBadge/DXBadge.vue +45 -0
- package/src/components/atoms/DXBadge/index.js +2 -0
- package/src/components/atoms/DXButton/DXButton.stories.js +178 -0
- package/src/components/atoms/DXButton/DXButton.vue +84 -0
- package/src/components/atoms/DXButton/index.js +2 -0
- package/src/components/atoms/DXCard/DXCard.stories.js +133 -0
- package/src/components/atoms/DXCard/DXCard.vue +46 -0
- package/src/components/atoms/DXCard/index.js +2 -0
- package/src/components/atoms/DXCheckbox/DXCheckbox.stories.js +294 -0
- package/src/components/atoms/DXCheckbox/DXCheckbox.vue +191 -0
- package/src/components/atoms/DXCheckbox/index.js +2 -0
- package/src/components/atoms/DXDivider/DXDivider.stories.js +135 -0
- package/src/components/atoms/DXDivider/DXDivider.vue +74 -0
- package/src/components/atoms/DXDivider/index.js +2 -0
- package/src/components/atoms/DXDropdownItem/DXDropdownItem.vue +116 -0
- package/src/components/atoms/DXDropdownItem/index.js +2 -0
- package/src/components/atoms/DXFormLabel/DXFormLabel.stories.js +194 -0
- package/src/components/atoms/DXFormLabel/DXFormLabel.vue +94 -0
- package/src/components/atoms/DXFormLabel/index.js +2 -0
- package/src/components/atoms/DXIcon/DXIcon.stories.js +156 -0
- package/src/components/atoms/DXIcon/DXIcon.vue +102 -0
- package/src/components/atoms/DXIcon/index.js +3 -0
- package/src/components/atoms/DXIconWrapper/DXIconWrapper.stories.js +237 -0
- package/src/components/atoms/DXIconWrapper/DXIconWrapper.vue +79 -0
- package/src/components/atoms/DXIconWrapper/index.js +2 -0
- package/src/components/atoms/DXInputAddon/DXInputAddon.stories.js +230 -0
- package/src/components/atoms/DXInputAddon/DXInputAddon.vue +64 -0
- package/src/components/atoms/DXInputAddon/index.js +2 -0
- package/src/components/atoms/DXLink/DXLink.stories.js +475 -0
- package/src/components/atoms/DXLink/DXLink.vue +229 -0
- package/src/components/atoms/DXLink/index.js +2 -0
- package/src/components/atoms/DXLoader/DXLoader.stories.js +280 -0
- package/src/components/atoms/DXLoader/DXLoader.vue +78 -0
- package/src/components/atoms/DXLoader/index.js +2 -0
- package/src/components/atoms/DXProgress/DXProgress.stories.js +312 -0
- package/src/components/atoms/DXProgress/DXProgress.vue +85 -0
- package/src/components/atoms/DXProgress/index.js +2 -0
- package/src/components/atoms/DXQuote/DXQuote.stories.js +255 -0
- package/src/components/atoms/DXQuote/DXQuote.vue +97 -0
- package/src/components/atoms/DXQuote/index.js +2 -0
- package/src/components/atoms/DXRadio/DXRadio.stories.js +277 -0
- package/src/components/atoms/DXRadio/DXRadio.vue +144 -0
- package/src/components/atoms/DXRadio/index.js +2 -0
- package/src/components/atoms/DXSkeleton/DXSkeleton.stories.js +50 -0
- package/src/components/atoms/DXSkeleton/DXSkeleton.vue +19 -0
- package/src/components/atoms/DXSkeleton/index.js +2 -0
- package/src/components/atoms/DXSlider/DXSlider.stories.js +522 -0
- package/src/components/atoms/DXSlider/DXSlider.vue +338 -0
- package/src/components/atoms/DXSlider/index.js +2 -0
- package/src/components/atoms/DXTags/DXTags.stories.js +206 -0
- package/src/components/atoms/DXTags/DXTags.vue +111 -0
- package/src/components/atoms/DXTags/index.js +2 -0
- package/src/components/atoms/DXToast/DXToast.stories.js +40 -0
- package/src/components/atoms/DXToast/DXToast.vue +32 -0
- package/src/components/atoms/DXToast/index.js +2 -0
- package/src/components/atoms/DXToggle/DXToggle.stories.js +143 -0
- package/src/components/atoms/DXToggle/DXToggle.vue +142 -0
- package/src/components/atoms/DXToggle/index.js +2 -0
- package/src/components/atoms/DXToggleButton/DXToggleButton.stories.js +513 -0
- package/src/components/atoms/DXToggleButton/DXToggleButton.vue +140 -0
- package/src/components/atoms/DXToggleButton/index.js +2 -0
- package/src/components/atoms/DXTooltip/DXTooltip.stories.js +243 -0
- package/src/components/atoms/DXTooltip/DXTooltip.vue +151 -0
- package/src/components/atoms/DXTooltip/index.js +2 -0
- package/src/components/atoms/index.js +24 -0
- package/src/components/layout/DXBox/DXBox.stories.js +238 -0
- package/src/components/layout/DXBox/DXBox.vue +198 -0
- package/src/components/layout/DXBox/index.js +2 -0
- package/src/components/layout/DXContainer/DXContainer.stories.js +147 -0
- package/src/components/layout/DXContainer/DXContainer.vue +83 -0
- package/src/components/layout/DXContainer/index.js +2 -0
- package/src/components/layout/DXFlex/DXFlex.stories.js +210 -0
- package/src/components/layout/DXFlex/DXFlex.vue +149 -0
- package/src/components/layout/DXFlex/index.js +2 -0
- package/src/components/layout/DXGrid/DXGrid.stories.js +238 -0
- package/src/components/layout/DXGrid/DXGrid.vue +167 -0
- package/src/components/layout/DXGrid/index.js +2 -0
- package/src/components/layout/DXSpacer/DXSpacer.stories.js +187 -0
- package/src/components/layout/DXSpacer/DXSpacer.vue +102 -0
- package/src/components/layout/DXSpacer/index.js +2 -0
- package/src/components/layout/DXStack/DXStack.stories.js +199 -0
- package/src/components/layout/DXStack/DXStack.vue +140 -0
- package/src/components/layout/DXStack/index.js +2 -0
- package/src/components/layout/index.js +8 -0
- package/src/components/molecules/DXActionButtons/DXActionButtons.stories.js +288 -0
- package/src/components/molecules/DXActionButtons/DXActionButtons.vue +106 -0
- package/src/components/molecules/DXActionButtons/index.js +2 -0
- package/src/components/molecules/DXAlert/DXAlert.stories.js +70 -0
- package/src/components/molecules/DXAlert/DXAlert.vue +116 -0
- package/src/components/molecules/DXAlert/index.js +2 -0
- package/src/components/molecules/DXBaseTable/DXBaseTable.stories.js +433 -0
- package/src/components/molecules/DXBaseTable/DXBaseTable.vue +459 -0
- package/src/components/molecules/DXBaseTable/index.js +4 -0
- package/src/components/molecules/DXBreadcrumb/DXBreadcrumb.stories.js +227 -0
- package/src/components/molecules/DXBreadcrumb/DXBreadcrumb.vue +96 -0
- package/src/components/molecules/DXBreadcrumb/index.js +2 -0
- package/src/components/molecules/DXButtonGroup/DXButtonGroup.stories.js +26 -0
- package/src/components/molecules/DXButtonGroup/DXButtonGroup.vue +78 -0
- package/src/components/molecules/DXButtonGroup/index.js +2 -0
- package/src/components/molecules/DXCloseButton/DXCloseButton.stories.js +53 -0
- package/src/components/molecules/DXCloseButton/DXCloseButton.vue +62 -0
- package/src/components/molecules/DXCloseButton/index.js +3 -0
- package/src/components/molecules/DXComboBox/DXComboBox.stories.js +62 -0
- package/src/components/molecules/DXComboBox/DXComboBox.vue +167 -0
- package/src/components/molecules/DXComboBox/index.js +2 -0
- package/src/components/molecules/DXCopyField/DXCopyField.stories.js +231 -0
- package/src/components/molecules/DXCopyField/DXCopyField.vue +75 -0
- package/src/components/molecules/DXCopyField/index.js +2 -0
- package/src/components/molecules/DXDataFilter/DXDataFilter.stories.js +275 -0
- package/src/components/molecules/DXDataFilter/DXDataFilter.vue +385 -0
- package/src/components/molecules/DXDataFilter/index.js +2 -0
- package/src/components/molecules/DXDatePicker/DXDatePicker.stories.js +42 -0
- package/src/components/molecules/DXDatePicker/DXDatePicker.vue +121 -0
- package/src/components/molecules/DXDatePicker/index.js +2 -0
- package/src/components/molecules/DXDropdownDivider/DXDropdownDivider.vue +30 -0
- package/src/components/molecules/DXDropdownDivider/index.js +2 -0
- package/src/components/molecules/DXFileUpload/DXFileUpload.stories.js +53 -0
- package/src/components/molecules/DXFileUpload/DXFileUpload.vue +199 -0
- package/src/components/molecules/DXFileUpload/index.js +2 -0
- package/src/components/molecules/DXFilterGroup/DXFilterGroup.stories.js +43 -0
- package/src/components/molecules/DXFilterGroup/DXFilterGroup.vue +43 -0
- package/src/components/molecules/DXFilterGroup/index.js +2 -0
- package/src/components/molecules/DXFormControl/DXFormControl.stories.js +69 -0
- package/src/components/molecules/DXFormControl/DXFormControl.vue +72 -0
- package/src/components/molecules/DXFormControl/index.js +2 -0
- package/src/components/molecules/DXInput/DXInput.stories.js +291 -0
- package/src/components/molecules/DXInput/DXInput.vue +156 -0
- package/src/components/molecules/DXInput/index.js +3 -0
- package/src/components/molecules/DXInputGroup/DXInputGroup.stories.js +228 -0
- package/src/components/molecules/DXInputGroup/DXInputGroup.vue +64 -0
- package/src/components/molecules/DXInputGroup/index.js +2 -0
- package/src/components/molecules/DXInputMask/DXInputMask.stories.js +53 -0
- package/src/components/molecules/DXInputMask/DXInputMask.vue +89 -0
- package/src/components/molecules/DXInputMask/index.js +2 -0
- package/src/components/molecules/DXMenu/DXMenu.stories.js +379 -0
- package/src/components/molecules/DXMenu/DXMenu.vue +331 -0
- package/src/components/molecules/DXMenu/README.md +479 -0
- package/src/components/molecules/DXMenu/index.js +2 -0
- package/src/components/molecules/DXPagination/DXPagination.stories.js +62 -0
- package/src/components/molecules/DXPagination/DXPagination.vue +123 -0
- package/src/components/molecules/DXPagination/index.js +2 -0
- package/src/components/molecules/DXPasswordInput/DXPasswordInput.stories.js +42 -0
- package/src/components/molecules/DXPasswordInput/DXPasswordInput.vue +74 -0
- package/src/components/molecules/DXPasswordInput/index.js +2 -0
- package/src/components/molecules/DXRadioCard/DXRadioCard.stories.js +60 -0
- package/src/components/molecules/DXRadioCard/DXRadioCard.vue +71 -0
- package/src/components/molecules/DXRadioCard/index.js +2 -0
- package/src/components/molecules/DXRadioGroup/DXRadioGroup.stories.js +297 -0
- package/src/components/molecules/DXRadioGroup/DXRadioGroup.vue +73 -0
- package/src/components/molecules/DXRadioGroup/index.js +2 -0
- package/src/components/molecules/DXRating/DXRating.stories.js +322 -0
- package/src/components/molecules/DXRating/DXRating.vue +402 -0
- package/src/components/molecules/DXRating/index.js +2 -0
- package/src/components/molecules/DXSearchBar/DXSearchBar.stories.js +357 -0
- package/src/components/molecules/DXSearchBar/DXSearchBar.vue +525 -0
- package/src/components/molecules/DXSearchBar/index.js +2 -0
- package/src/components/molecules/DXSearchSelect/DXSearchSelect.stories.js +50 -0
- package/src/components/molecules/DXSearchSelect/DXSearchSelect.vue +207 -0
- package/src/components/molecules/DXSearchSelect/index.js +2 -0
- package/src/components/molecules/DXSegmentedControl/DXSegmentedControl.stories.js +326 -0
- package/src/components/molecules/DXSegmentedControl/DXSegmentedControl.vue +116 -0
- package/src/components/molecules/DXSegmentedControl/index.js +2 -0
- package/src/components/molecules/DXSelect/DXSelect.stories.js +259 -0
- package/src/components/molecules/DXSelect/DXSelect.vue +149 -0
- package/src/components/molecules/DXSelect/index.js +3 -0
- package/src/components/molecules/DXStatCard/DXStatCard.stories.js +335 -0
- package/src/components/molecules/DXStatCard/DXStatCard.vue +309 -0
- package/src/components/molecules/DXStatCard/index.js +2 -0
- package/src/components/molecules/DXTableFiltersPanel/DXTableFiltersPanel.vue +72 -0
- package/src/components/molecules/DXTableFiltersPanel/index.js +7 -0
- package/src/components/molecules/DXTablePagination/DXTablePagination.stories.js +236 -0
- package/src/components/molecules/DXTablePagination/DXTablePagination.vue +93 -0
- package/src/components/molecules/DXTablePagination/index.js +2 -0
- package/src/components/molecules/DXTableToolbar/DXTableToolbar.stories.js +271 -0
- package/src/components/molecules/DXTableToolbar/DXTableToolbar.vue +102 -0
- package/src/components/molecules/DXTableToolbar/index.js +2 -0
- package/src/components/molecules/DXTextarea/DXTextarea.stories.js +239 -0
- package/src/components/molecules/DXTextarea/DXTextarea.vue +158 -0
- package/src/components/molecules/DXTextarea/index.js +3 -0
- package/src/components/molecules/DXTimePicker/DXTimePicker.stories.js +282 -0
- package/src/components/molecules/DXTimePicker/DXTimePicker.vue +640 -0
- package/src/components/molecules/DXTimePicker/index.js +2 -0
- package/src/components/molecules/DXValidationIcon/DXValidationIcon.stories.js +60 -0
- package/src/components/molecules/DXValidationIcon/DXValidationIcon.vue +53 -0
- package/src/components/molecules/DXValidationIcon/index.js +3 -0
- package/src/components/molecules/index.js +34 -0
- package/src/components/organisms/DXAccordion/DXAccordion.stories.js +33 -0
- package/src/components/organisms/DXAccordion/DXAccordion.vue +104 -0
- package/src/components/organisms/DXAccordion/index.js +2 -0
- package/src/components/organisms/DXAppLayout/DXAppLayout.stories.js +689 -0
- package/src/components/organisms/DXAppLayout/DXAppLayout.vue +460 -0
- package/src/components/organisms/DXAppLayout/index.js +2 -0
- package/src/components/organisms/DXAuthenticationForm/DXAuthenticationForm.stories.js +232 -0
- package/src/components/organisms/DXAuthenticationForm/DXAuthenticationForm.vue +458 -0
- package/src/components/organisms/DXAuthenticationForm/index.js +2 -0
- package/src/components/organisms/DXChartContainer/DXChartContainer.stories.js +286 -0
- package/src/components/organisms/DXChartContainer/DXChartContainer.vue +273 -0
- package/src/components/organisms/DXChartContainer/index.js +2 -0
- package/src/components/organisms/DXChatInterface/DXChatInterface.stories.js +164 -0
- package/src/components/organisms/DXChatInterface/DXChatInterface.vue +583 -0
- package/src/components/organisms/DXChatInterface/index.js +2 -0
- package/src/components/organisms/DXCommentSection/DXCommentSection.stories.js +173 -0
- package/src/components/organisms/DXCommentSection/DXCommentSection.vue +487 -0
- package/src/components/organisms/DXCommentSection/index.js +2 -0
- package/src/components/organisms/DXDashboardGrid/DXDashboardGrid.stories.js +331 -0
- package/src/components/organisms/DXDashboardGrid/DXDashboardGrid.vue +309 -0
- package/src/components/organisms/DXDashboardGrid/index.js +2 -0
- package/src/components/organisms/DXDashboardWidget/DXDashboardWidget.stories.js +271 -0
- package/src/components/organisms/DXDashboardWidget/DXDashboardWidget.vue +260 -0
- package/src/components/organisms/DXDashboardWidget/index.js +2 -0
- package/src/components/organisms/DXDataTable/DXDataTable.stories.js +247 -0
- package/src/components/organisms/DXDataTable/DXDataTable.vue +496 -0
- package/src/components/organisms/DXDataTable/index.js +2 -0
- package/src/components/organisms/DXDropdown/DXDropdown.stories.js +795 -0
- package/src/components/organisms/DXDropdown/DXDropdown.vue +238 -0
- package/src/components/organisms/DXDropdown/index.js +2 -0
- package/src/components/organisms/DXEmptyState/DXEmptyState.stories.js +37 -0
- package/src/components/organisms/DXEmptyState/DXEmptyState.vue +41 -0
- package/src/components/organisms/DXEmptyState/index.js +2 -0
- package/src/components/organisms/DXFormWizard/DXFormWizard.stories.js +378 -0
- package/src/components/organisms/DXFormWizard/DXFormWizard.vue +578 -0
- package/src/components/organisms/DXFormWizard/index.js +2 -0
- package/src/components/organisms/DXHeaderBar/DXHeaderBar.stories.js +448 -0
- package/src/components/organisms/DXHeaderBar/DXHeaderBar.vue +190 -0
- package/src/components/organisms/DXHeaderBar/index.js +2 -0
- package/src/components/organisms/DXMediaGallery/DXMediaGallery.stories.js +347 -0
- package/src/components/organisms/DXMediaGallery/DXMediaGallery.vue +422 -0
- package/src/components/organisms/DXMediaGallery/index.js +2 -0
- package/src/components/organisms/DXModal/DXModal.stories.js +138 -0
- package/src/components/organisms/DXModal/DXModal.vue +213 -0
- package/src/components/organisms/DXModal/index.js +2 -0
- package/src/components/organisms/DXNotificationCenter/DXNotificationCenter.stories.js +183 -0
- package/src/components/organisms/DXNotificationCenter/DXNotificationCenter.vue +566 -0
- package/src/components/organisms/DXNotificationCenter/index.js +2 -0
- package/src/components/organisms/DXReportGenerator/DXReportGenerator.stories.js +199 -0
- package/src/components/organisms/DXReportGenerator/DXReportGenerator.vue +344 -0
- package/src/components/organisms/DXReportGenerator/index.js +2 -0
- package/src/components/organisms/DXSettingsPanel/DXSettingsPanel.stories.js +245 -0
- package/src/components/organisms/DXSettingsPanel/DXSettingsPanel.vue +454 -0
- package/src/components/organisms/DXSettingsPanel/index.js +2 -0
- package/src/components/organisms/DXSidebar/DXSidebar.stories.js +316 -0
- package/src/components/organisms/DXSidebar/DXSidebar.vue +212 -0
- package/src/components/organisms/DXSidebar/index.js +2 -0
- package/src/components/organisms/DXSidebarMenu/DATA_STRUCTURE.md +299 -0
- package/src/components/organisms/DXSidebarMenu/DXSidebarMenu.stories.js +729 -0
- package/src/components/organisms/DXSidebarMenu/DXSidebarMenu.vue +257 -0
- package/src/components/organisms/DXSidebarMenu/DXSidebarMenuItem.vue +249 -0
- package/src/components/organisms/DXSidebarMenu/README.md +333 -0
- package/src/components/organisms/DXSidebarMenu/index.js +3 -0
- package/src/components/organisms/DXTable/DXTable.stories.js +550 -0
- package/src/components/organisms/DXTable/DXTable.vue +324 -0
- package/src/components/organisms/DXTable/index.js +2 -0
- package/src/components/organisms/DXTabs/DXTabs.stories.js +407 -0
- package/src/components/organisms/DXTabs/DXTabs.vue +301 -0
- package/src/components/organisms/DXTabs/index.js +2 -0
- package/src/components/organisms/DXUserProfileCard/DXUserProfileCard.stories.js +194 -0
- package/src/components/organisms/DXUserProfileCard/DXUserProfileCard.vue +403 -0
- package/src/components/organisms/DXUserProfileCard/index.js +2 -0
- package/src/components/organisms/DXWizard/DXWizard.stories.js +212 -0
- package/src/components/organisms/DXWizard/DXWizard.vue +615 -0
- package/src/components/organisms/DXWizard/index.js +2 -0
- package/src/components/organisms/index.js +25 -0
- package/src/components/typography/DXBlockquote/DXBlockquote.stories.js +33 -0
- package/src/components/typography/DXBlockquote/DXBlockquote.vue +44 -0
- package/src/components/typography/DXBlockquote/index.js +2 -0
- package/src/components/typography/DXCode/DXCode.stories.js +29 -0
- package/src/components/typography/DXCode/DXCode.vue +46 -0
- package/src/components/typography/DXCode/index.js +2 -0
- package/src/components/typography/DXHeading/DXHeading.stories.js +54 -0
- package/src/components/typography/DXHeading/DXHeading.vue +68 -0
- package/src/components/typography/DXHeading/index.js +2 -0
- package/src/components/typography/DXLabel/DXLabel.stories.js +40 -0
- package/src/components/typography/DXLabel/DXLabel.vue +49 -0
- package/src/components/typography/DXLabel/index.js +2 -0
- package/src/components/typography/DXList/DXList.stories.js +50 -0
- package/src/components/typography/DXList/DXList.vue +55 -0
- package/src/components/typography/DXList/index.js +2 -0
- package/src/components/typography/DXText/DXText.stories.js +47 -0
- package/src/components/typography/DXText/DXText.vue +67 -0
- package/src/components/typography/DXText/index.js +2 -0
- package/src/components/typography/index.js +8 -0
- package/src/components/utilities/DXAnimatePresence/DXAnimatePresence.stories.js +335 -0
- package/src/components/utilities/DXAnimatePresence/DXAnimatePresence.vue +207 -0
- package/src/components/utilities/DXAnimatePresence/index.js +2 -0
- package/src/components/utilities/DXBreakpointProvider/DXBreakpointProvider.stories.js +321 -0
- package/src/components/utilities/DXBreakpointProvider/DXBreakpointProvider.vue +158 -0
- package/src/components/utilities/DXBreakpointProvider/index.js +2 -0
- package/src/components/utilities/DXObserver/DXObserver.stories.js +324 -0
- package/src/components/utilities/DXObserver/DXObserver.vue +182 -0
- package/src/components/utilities/DXObserver/index.js +2 -0
- package/src/components/utilities/DXPortal/DXPortal.stories.js +267 -0
- package/src/components/utilities/DXPortal/DXPortal.vue +69 -0
- package/src/components/utilities/DXPortal/index.js +2 -0
- package/src/components/utilities/DXStaggeredAnimation/DXStaggeredAnimation.stories.js +339 -0
- package/src/components/utilities/DXStaggeredAnimation/DXStaggeredAnimation.vue +155 -0
- package/src/components/utilities/DXStaggeredAnimation/index.js +2 -0
- package/src/components/utilities/DXThemeProvider/DXThemeProvider.stories.js +327 -0
- package/src/components/utilities/DXThemeProvider/DXThemeProvider.vue +227 -0
- package/src/components/utilities/DXThemeProvider/index.js +2 -0
- package/src/components/utilities/DXTransitionGroup/DXTransitionGroup.stories.js +368 -0
- package/src/components/utilities/DXTransitionGroup/DXTransitionGroup.vue +212 -0
- package/src/components/utilities/DXTransitionGroup/index.js +2 -0
- package/src/components/utilities/index.js +9 -0
- package/src/composables/useAnimation.js +264 -0
- package/src/composables/useClassComposition.js +35 -0
- package/src/composables/useDataAttributes.js +83 -0
- package/src/composables/useMenu.js +88 -0
- package/src/composables/useSize.js +135 -0
- package/src/composables/useSpacing.js +37 -0
- package/src/composables/useTableColumns.js +88 -0
- package/src/composables/useTableData.js +82 -0
- package/src/composables/useTableFilter.js +158 -0
- package/src/composables/useTablePagination.js +89 -0
- package/src/composables/useTableSelection.js +77 -0
- package/src/composables/useTableSort.js +75 -0
- package/src/composables/useTabsScroll.js +88 -0
- package/src/composables/useVariant.js +700 -0
- package/src/index.js +86 -0
- package/src/styles/animations.css +171 -0
- package/src/styles/index.css +99 -0
- package/src/styles/tokens.js +123 -0
- package/src/utils/propTypes.js +77 -0
- package/src/utils/toggleButtonPresets.js +115 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import DXProgress from './DXProgress.vue';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Atoms/DXProgress',
|
|
5
|
+
component: DXProgress,
|
|
6
|
+
tags: ['autodocs'],
|
|
7
|
+
argTypes: {
|
|
8
|
+
value: {
|
|
9
|
+
control: { type: 'range', min: 0, max: 100 },
|
|
10
|
+
description: 'Текущее значение прогресса',
|
|
11
|
+
},
|
|
12
|
+
min: {
|
|
13
|
+
control: { type: 'number' },
|
|
14
|
+
description: 'Минимальное значение',
|
|
15
|
+
},
|
|
16
|
+
max: {
|
|
17
|
+
control: { type: 'number' },
|
|
18
|
+
description: 'Максимальное значение',
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
control: { type: 'select' },
|
|
22
|
+
options: ['xs', 'sm', 'md', 'lg'],
|
|
23
|
+
description: 'Размер прогресс-бара',
|
|
24
|
+
},
|
|
25
|
+
color: {
|
|
26
|
+
control: { type: 'select' },
|
|
27
|
+
options: ['default', 'success', 'warning', 'danger', 'info'],
|
|
28
|
+
description: 'Цвет прогресс-бара',
|
|
29
|
+
},
|
|
30
|
+
label: {
|
|
31
|
+
control: { type: 'text' },
|
|
32
|
+
description: 'Текст лейбла',
|
|
33
|
+
},
|
|
34
|
+
showLabel: {
|
|
35
|
+
control: { type: 'boolean' },
|
|
36
|
+
description: 'Показывать лейбл',
|
|
37
|
+
},
|
|
38
|
+
showValue: {
|
|
39
|
+
control: { type: 'boolean' },
|
|
40
|
+
description: 'Показывать значение справа',
|
|
41
|
+
},
|
|
42
|
+
showInnerValue: {
|
|
43
|
+
control: { type: 'boolean' },
|
|
44
|
+
description: 'Показывать значение внутри бара',
|
|
45
|
+
},
|
|
46
|
+
striped: {
|
|
47
|
+
control: { type: 'boolean' },
|
|
48
|
+
description: 'Полосатый фон',
|
|
49
|
+
},
|
|
50
|
+
animated: {
|
|
51
|
+
control: { type: 'boolean' },
|
|
52
|
+
description: 'Анимированные полосы',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export const Default = {
|
|
58
|
+
args: {
|
|
59
|
+
value: 60,
|
|
60
|
+
size: 'md',
|
|
61
|
+
color: 'default',
|
|
62
|
+
},
|
|
63
|
+
render: (args) => ({
|
|
64
|
+
components: { DXProgress },
|
|
65
|
+
setup() { return { args }; },
|
|
66
|
+
template: '<DXProgress v-bind="args" />',
|
|
67
|
+
}),
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export const Sizes = {
|
|
71
|
+
render: () => ({
|
|
72
|
+
components: { DXProgress },
|
|
73
|
+
template: `
|
|
74
|
+
<div class="flex flex-col items-start gap-6">
|
|
75
|
+
<div class="flex flex-col gap-2 w-full">
|
|
76
|
+
<span class="text-sm text-slate-600">xs (h-1)</span>
|
|
77
|
+
<DXProgress :value="60" size="xs" />
|
|
78
|
+
</div>
|
|
79
|
+
<div class="flex flex-col gap-2 w-full">
|
|
80
|
+
<span class="text-sm text-slate-600">sm (h-2)</span>
|
|
81
|
+
<DXProgress :value="60" size="sm" />
|
|
82
|
+
</div>
|
|
83
|
+
<div class="flex flex-col gap-2 w-full">
|
|
84
|
+
<span class="text-sm text-slate-600">md (h-3)</span>
|
|
85
|
+
<DXProgress :value="60" size="md" />
|
|
86
|
+
</div>
|
|
87
|
+
<div class="flex flex-col gap-2 w-full">
|
|
88
|
+
<span class="text-sm text-slate-600">lg (h-4)</span>
|
|
89
|
+
<DXProgress :value="60" size="lg" />
|
|
90
|
+
</div>
|
|
91
|
+
<div class="text-sm text-slate-500 mt-2">
|
|
92
|
+
Все размеры: xs | sm | md | lg
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
`,
|
|
96
|
+
}),
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export const Variants = {
|
|
100
|
+
render: () => ({
|
|
101
|
+
components: { DXProgress },
|
|
102
|
+
template: `
|
|
103
|
+
<div class="flex flex-col items-start gap-6">
|
|
104
|
+
<div class="flex flex-col gap-4 w-full">
|
|
105
|
+
<h3 class="text-sm font-semibold text-slate-700">Цветовые варианты</h3>
|
|
106
|
+
<div class="space-y-4">
|
|
107
|
+
<div class="flex flex-col gap-2">
|
|
108
|
+
<span class="text-xs text-slate-600">Default</span>
|
|
109
|
+
<DXProgress :value="75" color="default" />
|
|
110
|
+
</div>
|
|
111
|
+
<div class="flex flex-col gap-2">
|
|
112
|
+
<span class="text-xs text-slate-600">Success</span>
|
|
113
|
+
<DXProgress :value="75" color="success" />
|
|
114
|
+
</div>
|
|
115
|
+
<div class="flex flex-col gap-2">
|
|
116
|
+
<span class="text-xs text-slate-600">Warning</span>
|
|
117
|
+
<DXProgress :value="75" color="warning" />
|
|
118
|
+
</div>
|
|
119
|
+
<div class="flex flex-col gap-2">
|
|
120
|
+
<span class="text-xs text-slate-600">Danger</span>
|
|
121
|
+
<DXProgress :value="75" color="danger" />
|
|
122
|
+
</div>
|
|
123
|
+
<div class="flex flex-col gap-2">
|
|
124
|
+
<span class="text-xs text-slate-600">Info</span>
|
|
125
|
+
<DXProgress :value="75" color="info" />
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="text-sm text-slate-500">
|
|
130
|
+
Все варианты: default | success | warning | danger | info
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
`,
|
|
134
|
+
}),
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export const WithLabel = {
|
|
138
|
+
render: () => ({
|
|
139
|
+
components: { DXProgress },
|
|
140
|
+
template: `
|
|
141
|
+
<div class="flex flex-col gap-6">
|
|
142
|
+
<div class="flex flex-col gap-4">
|
|
143
|
+
<h3 class="text-sm font-semibold text-slate-700">С лейблом и значением</h3>
|
|
144
|
+
<DXProgress
|
|
145
|
+
:value="75"
|
|
146
|
+
label="Загрузка файлов"
|
|
147
|
+
:show-label="true"
|
|
148
|
+
:show-value="true"
|
|
149
|
+
/>
|
|
150
|
+
</div>
|
|
151
|
+
<div class="flex flex-col gap-4">
|
|
152
|
+
<h3 class="text-sm font-semibold text-slate-700">Только лейбл</h3>
|
|
153
|
+
<DXProgress
|
|
154
|
+
:value="50"
|
|
155
|
+
label="Обработка данных"
|
|
156
|
+
:show-label="true"
|
|
157
|
+
/>
|
|
158
|
+
</div>
|
|
159
|
+
<div class="flex flex-col gap-4">
|
|
160
|
+
<h3 class="text-sm font-semibold text-slate-700">Только значение</h3>
|
|
161
|
+
<DXProgress
|
|
162
|
+
:value="90"
|
|
163
|
+
:show-value="true"
|
|
164
|
+
/>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
`,
|
|
168
|
+
}),
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
export const WithInnerValue = {
|
|
172
|
+
render: () => ({
|
|
173
|
+
components: { DXProgress },
|
|
174
|
+
template: `
|
|
175
|
+
<div class="flex flex-col gap-6">
|
|
176
|
+
<div class="flex flex-col gap-4">
|
|
177
|
+
<h3 class="text-sm font-semibold text-slate-700">Значение внутри бара</h3>
|
|
178
|
+
<DXProgress
|
|
179
|
+
:value="65"
|
|
180
|
+
color="success"
|
|
181
|
+
:show-inner-value="true"
|
|
182
|
+
/>
|
|
183
|
+
</div>
|
|
184
|
+
<div class="flex flex-col gap-4">
|
|
185
|
+
<h3 class="text-sm font-semibold text-slate-700">С лейблом и внутренним значением</h3>
|
|
186
|
+
<DXProgress
|
|
187
|
+
:value="80"
|
|
188
|
+
label="Синхронизация"
|
|
189
|
+
color="info"
|
|
190
|
+
:show-label="true"
|
|
191
|
+
:show-inner-value="true"
|
|
192
|
+
/>
|
|
193
|
+
</div>
|
|
194
|
+
<div class="flex flex-col gap-4">
|
|
195
|
+
<h3 class="text-sm font-semibold text-slate-700">Разные значения</h3>
|
|
196
|
+
<DXProgress :value="25" color="danger" :show-inner-value="true" />
|
|
197
|
+
<DXProgress :value="50" color="warning" :show-inner-value="true" />
|
|
198
|
+
<DXProgress :value="75" color="success" :show-inner-value="true" />
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
`,
|
|
202
|
+
}),
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
export const Striped = {
|
|
206
|
+
render: () => ({
|
|
207
|
+
components: { DXProgress },
|
|
208
|
+
template: `
|
|
209
|
+
<div class="flex flex-col gap-6">
|
|
210
|
+
<div class="flex flex-col gap-4">
|
|
211
|
+
<h3 class="text-sm font-semibold text-slate-700">Полосатый (без анимации)</h3>
|
|
212
|
+
<DXProgress :value="70" color="default" :striped="true" />
|
|
213
|
+
</div>
|
|
214
|
+
<div class="flex flex-col gap-4">
|
|
215
|
+
<h3 class="text-sm font-semibold text-slate-700">Анимированные полосы</h3>
|
|
216
|
+
<DXProgress :value="70" color="success" :striped="true" :animated="true" />
|
|
217
|
+
</div>
|
|
218
|
+
<div class="flex flex-col gap-4">
|
|
219
|
+
<h3 class="text-sm font-semibold text-slate-700">Разные цвета с анимацией</h3>
|
|
220
|
+
<DXProgress :value="60" color="default" :striped="true" :animated="true" />
|
|
221
|
+
<DXProgress :value="60" color="success" :striped="true" :animated="true" />
|
|
222
|
+
<DXProgress :value="60" color="warning" :striped="true" :animated="true" />
|
|
223
|
+
<DXProgress :value="60" color="danger" :striped="true" :animated="true" />
|
|
224
|
+
<DXProgress :value="60" color="info" :striped="true" :animated="true" />
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
`,
|
|
228
|
+
}),
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
export const SizesAndVariants = {
|
|
232
|
+
render: () => ({
|
|
233
|
+
components: { DXProgress },
|
|
234
|
+
template: `
|
|
235
|
+
<div class="flex flex-col gap-8">
|
|
236
|
+
<div>
|
|
237
|
+
<h3 class="text-sm font-semibold text-slate-700 mb-4">Размеры с вариантом success</h3>
|
|
238
|
+
<div class="space-y-4">
|
|
239
|
+
<DXProgress :value="70" size="xs" color="success" />
|
|
240
|
+
<DXProgress :value="70" size="sm" color="success" />
|
|
241
|
+
<DXProgress :value="70" size="md" color="success" />
|
|
242
|
+
<DXProgress :value="70" size="lg" color="success" />
|
|
243
|
+
</div>
|
|
244
|
+
</div>
|
|
245
|
+
<div>
|
|
246
|
+
<h3 class="text-sm font-semibold text-slate-700 mb-4">Размеры с вариантом danger</h3>
|
|
247
|
+
<div class="space-y-4">
|
|
248
|
+
<DXProgress :value="40" size="xs" color="danger" />
|
|
249
|
+
<DXProgress :value="40" size="sm" color="danger" />
|
|
250
|
+
<DXProgress :value="40" size="md" color="danger" />
|
|
251
|
+
<DXProgress :value="40" size="lg" color="danger" />
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
`,
|
|
256
|
+
}),
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
export const UseCases = {
|
|
260
|
+
render: () => ({
|
|
261
|
+
components: { DXProgress },
|
|
262
|
+
template: `
|
|
263
|
+
<div class="flex flex-col gap-8">
|
|
264
|
+
<div>
|
|
265
|
+
<h3 class="text-sm font-semibold text-slate-700 mb-4">Загрузка файла</h3>
|
|
266
|
+
<DXProgress
|
|
267
|
+
:value="45"
|
|
268
|
+
label="Загрузка файла.pdf"
|
|
269
|
+
:show-label="true"
|
|
270
|
+
:show-value="true"
|
|
271
|
+
color="info"
|
|
272
|
+
/>
|
|
273
|
+
</div>
|
|
274
|
+
<div>
|
|
275
|
+
<h3 class="text-sm font-semibold text-slate-700 mb-4">Обработка данных</h3>
|
|
276
|
+
<DXProgress
|
|
277
|
+
:value="80"
|
|
278
|
+
label="Обработка данных"
|
|
279
|
+
:show-label="true"
|
|
280
|
+
:show-inner-value="true"
|
|
281
|
+
color="success"
|
|
282
|
+
:striped="true"
|
|
283
|
+
:animated="true"
|
|
284
|
+
/>
|
|
285
|
+
</div>
|
|
286
|
+
<div>
|
|
287
|
+
<h3 class="text-sm font-semibold text-slate-700 mb-4">Ошибка загрузки</h3>
|
|
288
|
+
<DXProgress
|
|
289
|
+
:value="30"
|
|
290
|
+
label="Ошибка загрузки"
|
|
291
|
+
:show-label="true"
|
|
292
|
+
:show-value="true"
|
|
293
|
+
color="danger"
|
|
294
|
+
/>
|
|
295
|
+
</div>
|
|
296
|
+
<div>
|
|
297
|
+
<h3 class="text-sm font-semibold text-slate-700 mb-4">Кастомный диапазон</h3>
|
|
298
|
+
<DXProgress
|
|
299
|
+
:value="150"
|
|
300
|
+
:min="0"
|
|
301
|
+
:max="200"
|
|
302
|
+
label="Прогресс: 150/200"
|
|
303
|
+
:show-label="true"
|
|
304
|
+
:show-value="true"
|
|
305
|
+
color="warning"
|
|
306
|
+
/>
|
|
307
|
+
</div>
|
|
308
|
+
</div>
|
|
309
|
+
`,
|
|
310
|
+
}),
|
|
311
|
+
};
|
|
312
|
+
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="w-full"
|
|
4
|
+
data-component="DXProgress"
|
|
5
|
+
:data-size="size"
|
|
6
|
+
:data-color="color"
|
|
7
|
+
:data-animated="animated"
|
|
8
|
+
:data-striped="striped"
|
|
9
|
+
>
|
|
10
|
+
<div v-if="showLabel || $slots.label" class="flex justify-between items-center mb-1">
|
|
11
|
+
<span class="text-sm font-medium text-slate-700">
|
|
12
|
+
<slot name="label">{{ label }}</slot>
|
|
13
|
+
</span>
|
|
14
|
+
<span v-if="showValue" class="text-sm font-semibold text-slate-900">
|
|
15
|
+
{{ displayValue }}
|
|
16
|
+
</span>
|
|
17
|
+
</div>
|
|
18
|
+
<div :class="trackClasses">
|
|
19
|
+
<div
|
|
20
|
+
:class="barClasses"
|
|
21
|
+
:style="{ width: `${percentage}%` }"
|
|
22
|
+
role="progressbar"
|
|
23
|
+
:aria-valuenow="value"
|
|
24
|
+
:aria-valuemin="min"
|
|
25
|
+
:aria-valuemax="max"
|
|
26
|
+
>
|
|
27
|
+
<span v-if="showInnerValue && percentage > 10" class="text-xs font-medium text-white px-1">
|
|
28
|
+
{{ displayValue }}
|
|
29
|
+
</span>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
</template>
|
|
34
|
+
|
|
35
|
+
<script setup>
|
|
36
|
+
import { computed } from "vue";
|
|
37
|
+
import { useSize } from "@/composables/useSize";
|
|
38
|
+
import { useAnimation } from "@/composables/useAnimation";
|
|
39
|
+
import { useVariantProgress } from "@/composables/useVariant";
|
|
40
|
+
|
|
41
|
+
const props = defineProps({
|
|
42
|
+
/** Текущее значение */
|
|
43
|
+
value: { type: Number, default: 0 },
|
|
44
|
+
/** Минимум */
|
|
45
|
+
min: { type: Number, default: 0 },
|
|
46
|
+
/** Максимум */
|
|
47
|
+
max: { type: Number, default: 100 },
|
|
48
|
+
/** Лейбл */
|
|
49
|
+
label: { type: String, default: "" },
|
|
50
|
+
/** Показывать лейбл */
|
|
51
|
+
showLabel: { type: Boolean, default: false },
|
|
52
|
+
/** Показывать значение справа */
|
|
53
|
+
showValue: { type: Boolean, default: false },
|
|
54
|
+
/** Показывать значение внутри бара */
|
|
55
|
+
showInnerValue: { type: Boolean, default: false },
|
|
56
|
+
/** Размер: xs | sm | md | lg */
|
|
57
|
+
size: { type: String, default: "md" },
|
|
58
|
+
/** Цвет: default | success | warning | danger | info */
|
|
59
|
+
color: { type: String, default: "default" },
|
|
60
|
+
/** Анимация */
|
|
61
|
+
animated: { type: Boolean, default: false },
|
|
62
|
+
/** Полосатый */
|
|
63
|
+
striped: { type: Boolean, default: false },
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
const percentage = computed(() => {
|
|
67
|
+
const range = props.max - props.min;
|
|
68
|
+
return Math.min(100, Math.max(0, ((props.value - props.min) / range) * 100));
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
const displayValue = computed(() => `${Math.round(percentage.value)}%`);
|
|
72
|
+
|
|
73
|
+
const trackClasses = computed(() => [
|
|
74
|
+
"w-full bg-slate-200 rounded-full overflow-hidden",
|
|
75
|
+
useSize(props.size, 'progress'),
|
|
76
|
+
]);
|
|
77
|
+
|
|
78
|
+
const barClasses = computed(() => [
|
|
79
|
+
"h-full rounded-full transition-all duration-300 flex items-center justify-end",
|
|
80
|
+
useVariantProgress(props.color),
|
|
81
|
+
props.striped && "dx-bg-stripes",
|
|
82
|
+
props.animated && props.striped && useAnimation('stripes', 'progress'),
|
|
83
|
+
]);
|
|
84
|
+
</script>
|
|
85
|
+
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import DXQuote from './DXQuote.vue';
|
|
2
|
+
import DXText from '../DXText/DXText.vue';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Atoms/DXQuote',
|
|
6
|
+
component: DXQuote,
|
|
7
|
+
tags: ['autodocs'],
|
|
8
|
+
parameters: {
|
|
9
|
+
docs: {
|
|
10
|
+
description: {
|
|
11
|
+
component: `
|
|
12
|
+
# DXQuote
|
|
13
|
+
|
|
14
|
+
Компонент для отображения inline-цитат в текстовом контенте.
|
|
15
|
+
|
|
16
|
+
## Назначение
|
|
17
|
+
|
|
18
|
+
DXQuote предоставляет семантический способ отображения inline-цитат с поддержкой
|
|
19
|
+
различных стилей кавычек и визуального выделения. Используется для цитирования
|
|
20
|
+
в статьях, блогах и комментариях.
|
|
21
|
+
|
|
22
|
+
## Архитектура
|
|
23
|
+
|
|
24
|
+
### Использует
|
|
25
|
+
- Семантический HTML тег \`<q>\` - для inline-цитат
|
|
26
|
+
- \`useClassComposition\` composable - для стилей
|
|
27
|
+
|
|
28
|
+
### Используется в
|
|
29
|
+
- Статьи и блоги
|
|
30
|
+
- Комментарии и обсуждения
|
|
31
|
+
- Вместе с \`DXText\` и \`DXBlockquote\`
|
|
32
|
+
|
|
33
|
+
## Внутренняя логика
|
|
34
|
+
|
|
35
|
+
### Варианты
|
|
36
|
+
- **default**: Обычная цитата без выделения
|
|
37
|
+
- **highlighted**: Цитата с фоном для выделения
|
|
38
|
+
|
|
39
|
+
### Стили кавычек
|
|
40
|
+
- **default**: Стандартные кавычки браузера
|
|
41
|
+
- **french**: Французские кавычки « »
|
|
42
|
+
- **german**: Немецкие кавычки „ "
|
|
43
|
+
|
|
44
|
+
## Особенности
|
|
45
|
+
|
|
46
|
+
### Семантика
|
|
47
|
+
Использует семантический тег \`<q>\` для правильной разметки цитат.
|
|
48
|
+
|
|
49
|
+
### Атрибут cite
|
|
50
|
+
Поддерживает атрибут \`cite\` для указания источника цитаты.
|
|
51
|
+
`,
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
argTypes: {
|
|
56
|
+
cite: {
|
|
57
|
+
control: 'text',
|
|
58
|
+
description: 'URL источника цитаты.',
|
|
59
|
+
table: {
|
|
60
|
+
type: { summary: 'string' },
|
|
61
|
+
defaultValue: { summary: 'null' },
|
|
62
|
+
category: 'Content',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
variant: {
|
|
66
|
+
control: 'select',
|
|
67
|
+
options: ['default', 'highlighted'],
|
|
68
|
+
description: 'Вариант стилизации: default (обычная) | highlighted (с выделением).',
|
|
69
|
+
table: {
|
|
70
|
+
type: { summary: 'string' },
|
|
71
|
+
defaultValue: { summary: 'default' },
|
|
72
|
+
category: 'Appearance',
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
quoteStyle: {
|
|
76
|
+
control: 'select',
|
|
77
|
+
options: ['default', 'french', 'german'],
|
|
78
|
+
description: 'Стиль кавычек: default | french (« ») | german („ ").',
|
|
79
|
+
table: {
|
|
80
|
+
type: { summary: 'string' },
|
|
81
|
+
defaultValue: { summary: 'default' },
|
|
82
|
+
category: 'Appearance',
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
export const Default = {
|
|
89
|
+
args: {
|
|
90
|
+
variant: 'default',
|
|
91
|
+
quoteStyle: 'default',
|
|
92
|
+
},
|
|
93
|
+
parameters: {
|
|
94
|
+
docs: {
|
|
95
|
+
description: {
|
|
96
|
+
story: 'Базовая inline-цитата без выделения. Использует стандартные кавычки браузера.',
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
render: (args) => ({
|
|
101
|
+
components: { DXQuote, DXText },
|
|
102
|
+
setup() {
|
|
103
|
+
return { args };
|
|
104
|
+
},
|
|
105
|
+
template: `
|
|
106
|
+
<DXText>
|
|
107
|
+
Как говорил Эйнштейн:
|
|
108
|
+
<DXQuote v-bind="args">Воображение важнее знания</DXQuote>
|
|
109
|
+
, и это действительно так.
|
|
110
|
+
</DXText>
|
|
111
|
+
`,
|
|
112
|
+
}),
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export const WithCite = {
|
|
116
|
+
args: {
|
|
117
|
+
cite: 'https://example.com/einstein',
|
|
118
|
+
variant: 'default',
|
|
119
|
+
},
|
|
120
|
+
parameters: {
|
|
121
|
+
docs: {
|
|
122
|
+
description: {
|
|
123
|
+
story: 'Цитата с указанием источника через атрибут cite.',
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
render: (args) => ({
|
|
128
|
+
components: { DXQuote, DXText },
|
|
129
|
+
setup() {
|
|
130
|
+
return { args };
|
|
131
|
+
},
|
|
132
|
+
template: `
|
|
133
|
+
<DXText>
|
|
134
|
+
Как говорил Эйнштейн:
|
|
135
|
+
<DXQuote v-bind="args">Воображение важнее знания</DXQuote>
|
|
136
|
+
, и это действительно так.
|
|
137
|
+
</DXText>
|
|
138
|
+
`,
|
|
139
|
+
}),
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export const Highlighted = {
|
|
143
|
+
args: {
|
|
144
|
+
variant: 'highlighted',
|
|
145
|
+
quoteStyle: 'default',
|
|
146
|
+
},
|
|
147
|
+
parameters: {
|
|
148
|
+
docs: {
|
|
149
|
+
description: {
|
|
150
|
+
story: 'Цитата с выделением. Имеет фон для визуального выделения.',
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
render: (args) => ({
|
|
155
|
+
components: { DXQuote, DXText },
|
|
156
|
+
setup() {
|
|
157
|
+
return { args };
|
|
158
|
+
},
|
|
159
|
+
template: `
|
|
160
|
+
<DXText>
|
|
161
|
+
В своей книге автор отмечает, что
|
|
162
|
+
<DXQuote v-bind="args">успех приходит к тем, кто действует</DXQuote>
|
|
163
|
+
, а не к тем, кто только мечтает.
|
|
164
|
+
</DXText>
|
|
165
|
+
`,
|
|
166
|
+
}),
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
export const FrenchQuotes = {
|
|
170
|
+
args: {
|
|
171
|
+
quoteStyle: 'french',
|
|
172
|
+
variant: 'default',
|
|
173
|
+
},
|
|
174
|
+
parameters: {
|
|
175
|
+
docs: {
|
|
176
|
+
description: {
|
|
177
|
+
story: 'Цитата с французскими кавычками « ». Используется во французской типографике.',
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
render: (args) => ({
|
|
182
|
+
components: { DXQuote, DXText },
|
|
183
|
+
setup() {
|
|
184
|
+
return { args };
|
|
185
|
+
},
|
|
186
|
+
template: `
|
|
187
|
+
<DXText>
|
|
188
|
+
<DXQuote v-bind="args">Французский стиль кавычек</DXQuote>
|
|
189
|
+
используется во французской типографике.
|
|
190
|
+
</DXText>
|
|
191
|
+
`,
|
|
192
|
+
}),
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
export const GermanQuotes = {
|
|
196
|
+
args: {
|
|
197
|
+
quoteStyle: 'german',
|
|
198
|
+
variant: 'default',
|
|
199
|
+
},
|
|
200
|
+
parameters: {
|
|
201
|
+
docs: {
|
|
202
|
+
description: {
|
|
203
|
+
story: 'Цитата с немецкими кавычками „ ". Используется в немецкой типографике.',
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
render: (args) => ({
|
|
208
|
+
components: { DXQuote, DXText },
|
|
209
|
+
setup() {
|
|
210
|
+
return { args };
|
|
211
|
+
},
|
|
212
|
+
template: `
|
|
213
|
+
<DXText>
|
|
214
|
+
<DXQuote v-bind="args">Немецкий стиль кавычек</DXQuote>
|
|
215
|
+
используется в немецкой типографике.
|
|
216
|
+
</DXText>
|
|
217
|
+
`,
|
|
218
|
+
}),
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export const AllStyles = {
|
|
222
|
+
parameters: {
|
|
223
|
+
docs: {
|
|
224
|
+
description: {
|
|
225
|
+
story: 'Демонстрация всех стилей кавычек и вариантов.',
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
render: () => ({
|
|
230
|
+
components: { DXQuote, DXText },
|
|
231
|
+
setup() {
|
|
232
|
+
return {};
|
|
233
|
+
},
|
|
234
|
+
template: `
|
|
235
|
+
<div class="space-y-4">
|
|
236
|
+
<DXText>
|
|
237
|
+
Default: <DXQuote>Обычная цитата</DXQuote>
|
|
238
|
+
</DXText>
|
|
239
|
+
<DXText>
|
|
240
|
+
Highlighted: <DXQuote variant="highlighted">Выделенная цитата</DXQuote>
|
|
241
|
+
</DXText>
|
|
242
|
+
<DXText>
|
|
243
|
+
French: <DXQuote quote-style="french">Французские кавычки</DXQuote>
|
|
244
|
+
</DXText>
|
|
245
|
+
<DXText>
|
|
246
|
+
German: <DXQuote quote-style="german">Немецкие кавычки</DXQuote>
|
|
247
|
+
</DXText>
|
|
248
|
+
<DXText>
|
|
249
|
+
Highlighted + French: <DXQuote variant="highlighted" quote-style="french">Комбинация</DXQuote>
|
|
250
|
+
</DXText>
|
|
251
|
+
</div>
|
|
252
|
+
`,
|
|
253
|
+
}),
|
|
254
|
+
};
|
|
255
|
+
|