@antify/ui 1.0.0
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/LICENSE +21 -0
- package/README.md +14 -0
- package/dist/components/AntAccordion.vue +64 -0
- package/dist/components/AntAccordionItem.vue +119 -0
- package/dist/components/AntAlert.vue +146 -0
- package/dist/components/AntCard.vue +34 -0
- package/dist/components/AntContent.vue +16 -0
- package/dist/components/AntDropdown.vue +100 -0
- package/dist/components/AntIcon.vue +56 -0
- package/dist/components/AntKeycap.vue +45 -0
- package/dist/components/AntListGroup.vue +24 -0
- package/dist/components/AntListGroupItem.vue +83 -0
- package/dist/components/AntModal.vue +130 -0
- package/dist/components/AntPagination.vue +205 -0
- package/dist/components/AntPopover.vue +135 -0
- package/dist/components/AntSkeleton.vue +38 -0
- package/dist/components/AntSpinner.vue +101 -0
- package/dist/components/AntTag.vue +114 -0
- package/dist/components/AntToast.vue +119 -0
- package/dist/components/AntToaster.vue +71 -0
- package/dist/components/AntTooltip.vue +189 -0
- package/dist/components/Main.stories.d.ts +7 -0
- package/dist/components/Main.stories.js +15 -0
- package/dist/components/Main.stories.mjs +8 -0
- package/dist/components/__stories/AntAccordion.stories.d.ts +9 -0
- package/dist/components/__stories/AntAccordion.stories.js +120 -0
- package/dist/components/__stories/AntAccordion.stories.mjs +101 -0
- package/dist/components/__stories/AntAlert.stories.d.ts +11 -0
- package/dist/components/__stories/AntAlert.stories.js +99 -0
- package/dist/components/__stories/AntAlert.stories.mjs +81 -0
- package/dist/components/__stories/AntCard.stories.d.ts +7 -0
- package/dist/components/__stories/AntCard.stories.js +118 -0
- package/dist/components/__stories/AntCard.stories.mjs +87 -0
- package/dist/components/__stories/AntContent.stories.d.ts +6 -0
- package/dist/components/__stories/AntContent.stories.js +43 -0
- package/dist/components/__stories/AntContent.stories.mjs +26 -0
- package/dist/components/__stories/AntDropdown.stories.d.ts +6 -0
- package/dist/components/__stories/AntDropdown.stories.js +71 -0
- package/dist/components/__stories/AntDropdown.stories.mjs +52 -0
- package/dist/components/__stories/AntIcon.stories.d.ts +8 -0
- package/dist/components/__stories/AntIcon.stories.js +122 -0
- package/dist/components/__stories/AntIcon.stories.mjs +93 -0
- package/dist/components/__stories/AntKeycap.stories.d.ts +9 -0
- package/dist/components/__stories/AntKeycap.stories.js +98 -0
- package/dist/components/__stories/AntKeycap.stories.mjs +69 -0
- package/dist/components/__stories/AntListGroup.stories.d.ts +7 -0
- package/dist/components/__stories/AntListGroup.stories.js +56 -0
- package/dist/components/__stories/AntListGroup.stories.mjs +36 -0
- package/dist/components/__stories/AntListGroupItem.stories.d.ts +10 -0
- package/dist/components/__stories/AntListGroupItem.stories.js +83 -0
- package/dist/components/__stories/AntListGroupItem.stories.mjs +62 -0
- package/dist/components/__stories/AntModal.stories.d.ts +7 -0
- package/dist/components/__stories/AntModal.stories.js +96 -0
- package/dist/components/__stories/AntModal.stories.mjs +78 -0
- package/dist/components/__stories/AntPagination.stories.d.ts +8 -0
- package/dist/components/__stories/AntPagination.stories.js +57 -0
- package/dist/components/__stories/AntPagination.stories.mjs +41 -0
- package/dist/components/__stories/AntPopover.stories.d.ts +6 -0
- package/dist/components/__stories/AntPopover.stories.js +67 -0
- package/dist/components/__stories/AntPopover.stories.mjs +47 -0
- package/dist/components/__stories/AntSkeleton.stories.d.ts +8 -0
- package/dist/components/__stories/AntSkeleton.stories.js +60 -0
- package/dist/components/__stories/AntSkeleton.stories.mjs +43 -0
- package/dist/components/__stories/AntSpinner.stories.d.ts +6 -0
- package/dist/components/__stories/AntSpinner.stories.js +61 -0
- package/dist/components/__stories/AntSpinner.stories.mjs +34 -0
- package/dist/components/__stories/AntTag.stories.d.ts +7 -0
- package/dist/components/__stories/AntTag.stories.js +65 -0
- package/dist/components/__stories/AntTag.stories.mjs +43 -0
- package/dist/components/__stories/AntToast.stories.d.ts +8 -0
- package/dist/components/__stories/AntToast.stories.js +85 -0
- package/dist/components/__stories/AntToast.stories.mjs +66 -0
- package/dist/components/__stories/AntToaster.stories.d.ts +42 -0
- package/dist/components/__stories/AntToaster.stories.js +128 -0
- package/dist/components/__stories/AntToaster.stories.mjs +110 -0
- package/dist/components/__stories/AntTooltip.stories.d.ts +16 -0
- package/dist/components/__stories/AntTooltip.stories.js +283 -0
- package/dist/components/__stories/AntTooltip.stories.mjs +241 -0
- package/dist/components/__types/AntAccordion.types.d.ts +4 -0
- package/dist/components/__types/AntAccordion.types.js +11 -0
- package/dist/components/__types/AntAccordion.types.mjs +5 -0
- package/dist/components/__types/AntIcon.types.d.ts +8 -0
- package/dist/components/__types/AntIcon.types.js +15 -0
- package/dist/components/__types/AntIcon.types.mjs +9 -0
- package/dist/components/__types/AntKeycap.types.d.ts +4 -0
- package/dist/components/__types/AntKeycap.types.js +11 -0
- package/dist/components/__types/AntKeycap.types.mjs +5 -0
- package/dist/components/__types/AntListGroupItem.types.d.ts +9 -0
- package/dist/components/__types/AntListGroupItem.types.js +16 -0
- package/dist/components/__types/AntListGroupItem.types.mjs +10 -0
- package/dist/components/__types/AntSpinner.types.d.ts +10 -0
- package/dist/components/__types/AntSpinner.types.js +17 -0
- package/dist/components/__types/AntSpinner.types.mjs +11 -0
- package/dist/components/__types/AntTag.types.d.ts +17 -0
- package/dist/components/__types/AntTag.types.js +25 -0
- package/dist/components/__types/AntTag.types.mjs +19 -0
- package/dist/components/__types/AntToaster.types.d.ts +8 -0
- package/dist/components/__types/AntToaster.types.js +1 -0
- package/dist/components/__types/AntToaster.types.mjs +0 -0
- package/dist/components/__types/index.d.ts +7 -0
- package/dist/components/__types/index.js +82 -0
- package/dist/components/__types/index.mjs +7 -0
- package/dist/components/buttons/AntActionButton.vue +74 -0
- package/dist/components/buttons/AntButton.vue +257 -0
- package/dist/components/buttons/AntCreateButton.vue +54 -0
- package/dist/components/buttons/AntDeleteButton.vue +54 -0
- package/dist/components/buttons/AntDuplicateButton.vue +54 -0
- package/dist/components/buttons/AntEditButton.vue +54 -0
- package/dist/components/buttons/AntSaveAndNewButton.vue +56 -0
- package/dist/components/buttons/AntSaveButton.vue +55 -0
- package/dist/components/buttons/__stories/AntActionButton.stories.d.ts +11 -0
- package/dist/components/buttons/__stories/AntActionButton.stories.js +111 -0
- package/dist/components/buttons/__stories/AntActionButton.stories.mjs +86 -0
- package/dist/components/buttons/__stories/AntButton.stories.d.ts +16 -0
- package/dist/components/buttons/__stories/AntButton.stories.js +361 -0
- package/dist/components/buttons/__stories/AntButton.stories.mjs +313 -0
- package/dist/components/buttons/__stories/AntCreateButton.stories.d.ts +12 -0
- package/dist/components/buttons/__stories/AntCreateButton.stories.js +97 -0
- package/dist/components/buttons/__stories/AntCreateButton.stories.mjs +76 -0
- package/dist/components/buttons/__stories/AntDeleteButton.stories.d.ts +12 -0
- package/dist/components/buttons/__stories/AntDeleteButton.stories.js +97 -0
- package/dist/components/buttons/__stories/AntDeleteButton.stories.mjs +76 -0
- package/dist/components/buttons/__stories/AntDuplicateButton.stories.d.ts +12 -0
- package/dist/components/buttons/__stories/AntDuplicateButton.stories.js +97 -0
- package/dist/components/buttons/__stories/AntDuplicateButton.stories.mjs +76 -0
- package/dist/components/buttons/__stories/AntEditButton.stories.d.ts +12 -0
- package/dist/components/buttons/__stories/AntEditButton.stories.js +97 -0
- package/dist/components/buttons/__stories/AntEditButton.stories.mjs +76 -0
- package/dist/components/buttons/__stories/AntSaveAndNewButton.stories.d.ts +12 -0
- package/dist/components/buttons/__stories/AntSaveAndNewButton.stories.js +97 -0
- package/dist/components/buttons/__stories/AntSaveAndNewButton.stories.mjs +76 -0
- package/dist/components/buttons/__stories/AntSaveButton.stories.d.ts +12 -0
- package/dist/components/buttons/__stories/AntSaveButton.stories.js +97 -0
- package/dist/components/buttons/__stories/AntSaveButton.stories.mjs +76 -0
- package/dist/components/buttons/__types/AntButton.types.d.ts +4 -0
- package/dist/components/buttons/__types/AntButton.types.js +11 -0
- package/dist/components/buttons/__types/AntButton.types.mjs +5 -0
- package/dist/components/buttons/__types/index.d.ts +1 -0
- package/dist/components/buttons/__types/index.js +16 -0
- package/dist/components/buttons/__types/index.mjs +1 -0
- package/dist/components/crud/AntCrud.vue +75 -0
- package/dist/components/crud/AntCrudDetail.vue +11 -0
- package/dist/components/crud/AntCrudDetailActions.vue +58 -0
- package/dist/components/crud/AntCrudDetailNav.vue +64 -0
- package/dist/components/crud/AntCrudTableFilter.vue +122 -0
- package/dist/components/crud/AntCrudTableNav.vue +149 -0
- package/dist/components/crud/__stories/AntCrud.stories.d.ts +6 -0
- package/dist/components/crud/__stories/AntCrud.stories.js +131 -0
- package/dist/components/crud/__stories/AntCrud.stories.mjs +130 -0
- package/dist/components/crud/__stories/AntCrudDetail.stories.d.ts +7 -0
- package/dist/components/crud/__stories/AntCrudDetail.stories.js +90 -0
- package/dist/components/crud/__stories/AntCrudDetail.stories.mjs +84 -0
- package/dist/components/crud/__stories/AntCrudDetailActions.stories.d.ts +6 -0
- package/dist/components/crud/__stories/AntCrudDetailActions.stories.js +38 -0
- package/dist/components/crud/__stories/AntCrudDetailActions.stories.mjs +25 -0
- package/dist/components/crud/__stories/AntCrudDetailNav.stories.d.ts +6 -0
- package/dist/components/crud/__stories/AntCrudDetailNav.stories.js +51 -0
- package/dist/components/crud/__stories/AntCrudDetailNav.stories.mjs +45 -0
- package/dist/components/crud/__stories/AntCrudTableFilter.stories.d.ts +6 -0
- package/dist/components/crud/__stories/AntCrudTableFilter.stories.js +42 -0
- package/dist/components/crud/__stories/AntCrudTableFilter.stories.mjs +27 -0
- package/dist/components/crud/__stories/AntCrudTableNav.stories.d.ts +8 -0
- package/dist/components/crud/__stories/AntCrudTableNav.stories.js +77 -0
- package/dist/components/crud/__stories/AntCrudTableNav.stories.mjs +58 -0
- package/dist/components/dialogs/AntDeleteDialog.vue +29 -0
- package/dist/components/dialogs/AntDialog.vue +182 -0
- package/dist/components/dialogs/__stories/AndDeleteDialog.stories.d.ts +6 -0
- package/dist/components/dialogs/__stories/AndDeleteDialog.stories.js +48 -0
- package/dist/components/dialogs/__stories/AndDeleteDialog.stories.mjs +32 -0
- package/dist/components/dialogs/__stories/AntDialog.stories.d.ts +6 -0
- package/dist/components/dialogs/__stories/AntDialog.stories.js +84 -0
- package/dist/components/dialogs/__stories/AntDialog.stories.mjs +60 -0
- package/dist/components/forms/AntField.vue +123 -0
- package/dist/components/forms/AntFormGroup.vue +36 -0
- package/dist/components/forms/AntFormGroupLabel.vue +5 -0
- package/dist/components/forms/__stories/AntField.stories.d.ts +6 -0
- package/dist/components/forms/__stories/AntField.stories.js +110 -0
- package/dist/components/forms/__stories/AntField.stories.mjs +80 -0
- package/dist/components/forms/__stories/AntFormGroup.stories.d.ts +6 -0
- package/dist/components/forms/__stories/AntFormGroup.stories.js +53 -0
- package/dist/components/forms/__stories/AntFormGroup.stories.mjs +33 -0
- package/dist/components/forms/__stories/AntFormGroupLabel.stories.d.ts +6 -0
- package/dist/components/forms/__stories/AntFormGroupLabel.stories.js +35 -0
- package/dist/components/forms/__stories/AntFormGroupLabel.stories.mjs +20 -0
- package/dist/components/index.d.ts +62 -0
- package/dist/components/index.js +433 -0
- package/dist/components/index.mjs +124 -0
- package/dist/components/inputs/AntCheckbox.vue +201 -0
- package/dist/components/inputs/AntCheckboxGroup.vue +117 -0
- package/dist/components/inputs/AntDateInput.vue +104 -0
- package/dist/components/inputs/AntNumberInput.vue +157 -0
- package/dist/components/inputs/AntPasswordInput.vue +107 -0
- package/dist/components/inputs/AntRadio.vue +214 -0
- package/dist/components/inputs/AntRadioGroup.vue +127 -0
- package/dist/components/inputs/AntRangeSlider.vue +121 -0
- package/dist/components/inputs/AntRichTextEditor.vue +237 -0
- package/dist/components/inputs/AntSearch.vue +75 -0
- package/dist/components/inputs/AntSelect.vue +319 -0
- package/dist/components/inputs/AntSwitch.vue +192 -0
- package/dist/components/inputs/AntSwitcher.vue +196 -0
- package/dist/components/inputs/AntTagInput.vue +339 -0
- package/dist/components/inputs/AntTextInput.vue +75 -0
- package/dist/components/inputs/AntTextarea.vue +191 -0
- package/dist/components/inputs/AntUnitInput.vue +96 -0
- package/dist/components/inputs/Elements/AntBaseInput.vue +319 -0
- package/dist/components/inputs/Elements/AntDropDown.vue +189 -0
- package/dist/components/inputs/Elements/AntInputDescription.vue +58 -0
- package/dist/components/inputs/Elements/AntInputLabel.vue +62 -0
- package/dist/components/inputs/Elements/AntInputLimiter.vue +58 -0
- package/dist/components/inputs/Elements/__stories/AntBaseInput.stories.d.ts +11 -0
- package/dist/components/inputs/Elements/__stories/AntBaseInput.stories.js +311 -0
- package/dist/components/inputs/Elements/__stories/AntBaseInput.stories.mjs +234 -0
- package/dist/components/inputs/Elements/__stories/AntInputDescription.stories.d.ts +6 -0
- package/dist/components/inputs/Elements/__stories/AntInputDescription.stories.js +61 -0
- package/dist/components/inputs/Elements/__stories/AntInputDescription.stories.mjs +34 -0
- package/dist/components/inputs/Elements/__stories/AntInputLabel.stories.d.ts +7 -0
- package/dist/components/inputs/Elements/__stories/AntInputLabel.stories.js +76 -0
- package/dist/components/inputs/Elements/__stories/AntInputLabel.stories.mjs +46 -0
- package/dist/components/inputs/Elements/__stories/AntInputLimiter.stories.d.ts +6 -0
- package/dist/components/inputs/Elements/__stories/AntInputLimiter.stories.js +64 -0
- package/dist/components/inputs/Elements/__stories/AntInputLimiter.stories.mjs +37 -0
- package/dist/components/inputs/Elements/__types/AntBaseInput.types.d.ts +17 -0
- package/dist/components/inputs/Elements/__types/AntBaseInput.types.js +24 -0
- package/dist/components/inputs/Elements/__types/AntBaseInput.types.mjs +18 -0
- package/dist/components/inputs/Elements/__types/index.d.ts +1 -0
- package/dist/components/inputs/Elements/__types/index.js +16 -0
- package/dist/components/inputs/Elements/__types/index.mjs +1 -0
- package/dist/components/inputs/Elements/index.d.ts +6 -0
- package/dist/components/inputs/Elements/index.js +41 -0
- package/dist/components/inputs/Elements/index.mjs +12 -0
- package/dist/components/inputs/__stories/AntCheckbox.stories.d.ts +8 -0
- package/dist/components/inputs/__stories/AntCheckbox.stories.js +415 -0
- package/dist/components/inputs/__stories/AntCheckbox.stories.mjs +382 -0
- package/dist/components/inputs/__stories/AntCheckboxGroup.stories.d.ts +7 -0
- package/dist/components/inputs/__stories/AntCheckboxGroup.stories.js +107 -0
- package/dist/components/inputs/__stories/AntCheckboxGroup.stories.mjs +84 -0
- package/dist/components/inputs/__stories/AntDateInput.stories.d.ts +8 -0
- package/dist/components/inputs/__stories/AntDateInput.stories.js +233 -0
- package/dist/components/inputs/__stories/AntDateInput.stories.mjs +193 -0
- package/dist/components/inputs/__stories/AntNumberInput.stories.d.ts +10 -0
- package/dist/components/inputs/__stories/AntNumberInput.stories.js +301 -0
- package/dist/components/inputs/__stories/AntNumberInput.stories.mjs +246 -0
- package/dist/components/inputs/__stories/AntPasswordInput.stories.d.ts +8 -0
- package/dist/components/inputs/__stories/AntPasswordInput.stories.js +206 -0
- package/dist/components/inputs/__stories/AntPasswordInput.stories.mjs +156 -0
- package/dist/components/inputs/__stories/AntRadioGroup.stories.d.ts +8 -0
- package/dist/components/inputs/__stories/AntRadioGroup.stories.js +279 -0
- package/dist/components/inputs/__stories/AntRadioGroup.stories.mjs +251 -0
- package/dist/components/inputs/__stories/AntRangeSlider.stories.d.ts +7 -0
- package/dist/components/inputs/__stories/AntRangeSlider.stories.js +86 -0
- package/dist/components/inputs/__stories/AntRangeSlider.stories.mjs +67 -0
- package/dist/components/inputs/__stories/AntRichTextEditor.stories-old.d.ts +0 -0
- package/dist/components/inputs/__stories/AntRichTextEditor.stories-old.js +1 -0
- package/dist/components/inputs/__stories/AntRichTextEditor.stories-old.mjs +0 -0
- package/dist/components/inputs/__stories/AntSearch.stories.d.ts +7 -0
- package/dist/components/inputs/__stories/AntSearch.stories.js +137 -0
- package/dist/components/inputs/__stories/AntSearch.stories.mjs +103 -0
- package/dist/components/inputs/__stories/AntSelect.stories.d.ts +13 -0
- package/dist/components/inputs/__stories/AntSelect.stories.js +287 -0
- package/dist/components/inputs/__stories/AntSelect.stories.mjs +255 -0
- package/dist/components/inputs/__stories/AntSwitch.stories.d.ts +8 -0
- package/dist/components/inputs/__stories/AntSwitch.stories.js +376 -0
- package/dist/components/inputs/__stories/AntSwitch.stories.mjs +344 -0
- package/dist/components/inputs/__stories/AntSwitcher.stories.d.ts +8 -0
- package/dist/components/inputs/__stories/AntSwitcher.stories.js +252 -0
- package/dist/components/inputs/__stories/AntSwitcher.stories.mjs +235 -0
- package/dist/components/inputs/__stories/AntTagInput.stories.d.ts +9 -0
- package/dist/components/inputs/__stories/AntTagInput.stories.js +256 -0
- package/dist/components/inputs/__stories/AntTagInput.stories.mjs +228 -0
- package/dist/components/inputs/__stories/AntTextInput.stories.d.ts +9 -0
- package/dist/components/inputs/__stories/AntTextInput.stories.js +271 -0
- package/dist/components/inputs/__stories/AntTextInput.stories.mjs +225 -0
- package/dist/components/inputs/__stories/AntTextarea.stories.d.ts +9 -0
- package/dist/components/inputs/__stories/AntTextarea.stories.js +189 -0
- package/dist/components/inputs/__stories/AntTextarea.stories.mjs +144 -0
- package/dist/components/inputs/__stories/AntUnitInput.stories.d.ts +9 -0
- package/dist/components/inputs/__stories/AntUnitInput.stories.js +158 -0
- package/dist/components/inputs/__stories/AntUnitInput.stories.mjs +116 -0
- package/dist/components/inputs/__types/AntCheckbox.types.d.ts +6 -0
- package/dist/components/inputs/__types/AntCheckbox.types.js +1 -0
- package/dist/components/inputs/__types/AntCheckbox.types.mjs +0 -0
- package/dist/components/inputs/__types/AntDateInput.types.d.ts +7 -0
- package/dist/components/inputs/__types/AntDateInput.types.js +14 -0
- package/dist/components/inputs/__types/AntDateInput.types.mjs +8 -0
- package/dist/components/inputs/__types/AntRadio.types.d.ts +9 -0
- package/dist/components/inputs/__types/AntRadio.types.js +1 -0
- package/dist/components/inputs/__types/AntRadio.types.mjs +0 -0
- package/dist/components/inputs/__types/AntSelect.types.d.ts +4 -0
- package/dist/components/inputs/__types/AntSelect.types.js +1 -0
- package/dist/components/inputs/__types/AntSelect.types.mjs +0 -0
- package/dist/components/inputs/__types/AntSwitcher.types.d.ts +4 -0
- package/dist/components/inputs/__types/AntSwitcher.types.js +1 -0
- package/dist/components/inputs/__types/AntSwitcher.types.mjs +0 -0
- package/dist/components/inputs/__types/AntTagInput.types.d.ts +5 -0
- package/dist/components/inputs/__types/AntTagInput.types.js +12 -0
- package/dist/components/inputs/__types/AntTagInput.types.mjs +6 -0
- package/dist/components/inputs/__types/AntTextInput.types.d.ts +6 -0
- package/dist/components/inputs/__types/AntTextInput.types.js +13 -0
- package/dist/components/inputs/__types/AntTextInput.types.mjs +7 -0
- package/dist/components/inputs/__types/index.d.ts +7 -0
- package/dist/components/inputs/__types/index.js +82 -0
- package/dist/components/inputs/__types/index.mjs +7 -0
- package/dist/components/layouts/AntNavLeftLayout.vue +36 -0
- package/dist/components/layouts/__stories/AntNavLeftLayout.stories.d.ts +7 -0
- package/dist/components/layouts/__stories/AntNavLeftLayout.stories.js +77 -0
- package/dist/components/layouts/__stories/AntNavLeftLayout.stories.mjs +68 -0
- package/dist/components/navbar/AntNavbar.vue +25 -0
- package/dist/components/navbar/AntNavbarItem.vue +78 -0
- package/dist/components/navbar/__stories/AntNavbar.stories.d.ts +6 -0
- package/dist/components/navbar/__stories/AntNavbar.stories.js +73 -0
- package/dist/components/navbar/__stories/AntNavbar.stories.mjs +64 -0
- package/dist/components/navbar/__types/NavbarItem.types.d.ts +10 -0
- package/dist/components/navbar/__types/NavbarItem.types.js +1 -0
- package/dist/components/navbar/__types/NavbarItem.types.mjs +0 -0
- package/dist/components/navbar/__types/index.d.ts +1 -0
- package/dist/components/navbar/__types/index.js +16 -0
- package/dist/components/navbar/__types/index.mjs +1 -0
- package/dist/components/table/AntTable.vue +218 -0
- package/dist/components/table/AntTableSortButton.vue +48 -0
- package/dist/components/table/AntTd.vue +81 -0
- package/dist/components/table/AntTh.vue +78 -0
- package/dist/components/table/__stories/AntTable.stories.d.ts +9 -0
- package/dist/components/table/__stories/AntTable.stories.js +308 -0
- package/dist/components/table/__stories/AntTable.stories.mjs +273 -0
- package/dist/components/table/__types/TableHeader.types.d.ts +36 -0
- package/dist/components/table/__types/TableHeader.types.js +31 -0
- package/dist/components/table/__types/TableHeader.types.mjs +25 -0
- package/dist/components/table/__types/index.d.ts +1 -0
- package/dist/components/table/__types/index.js +16 -0
- package/dist/components/table/__types/index.mjs +1 -0
- package/dist/components/tabs/AntTabItem.vue +118 -0
- package/dist/components/tabs/AntTabs.vue +47 -0
- package/dist/components/tabs/__stories/AntTabItem.stories.d.ts +6 -0
- package/dist/components/tabs/__stories/AntTabItem.stories.js +52 -0
- package/dist/components/tabs/__stories/AntTabItem.stories.mjs +36 -0
- package/dist/components/tabs/__stories/AntTabs.stories.d.ts +9 -0
- package/dist/components/tabs/__stories/AntTabs.stories.js +183 -0
- package/dist/components/tabs/__stories/AntTabs.stories.mjs +179 -0
- package/dist/components/tabs/__types/AntTabItem.types.d.ts +17 -0
- package/dist/components/tabs/__types/AntTabItem.types.js +12 -0
- package/dist/components/tabs/__types/AntTabItem.types.mjs +6 -0
- package/dist/components/tabs/__types/index.d.ts +1 -0
- package/dist/components/tabs/__types/index.js +16 -0
- package/dist/components/tabs/__types/index.mjs +1 -0
- package/dist/components/transitions/AntTransitionCollapseHeight.vue +96 -0
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.js +16 -0
- package/dist/composables/index.mjs +1 -0
- package/dist/composables/useToaster.d.ts +21 -0
- package/dist/composables/useToaster.js +72 -0
- package/dist/composables/useToaster.mjs +53 -0
- package/dist/enums/Direction.enum.d.ts +4 -0
- package/dist/enums/Direction.enum.js +11 -0
- package/dist/enums/Direction.enum.mjs +5 -0
- package/dist/enums/Grouped.enum.d.ts +6 -0
- package/dist/enums/Grouped.enum.js +13 -0
- package/dist/enums/Grouped.enum.mjs +7 -0
- package/dist/enums/Position.enum.d.ts +12 -0
- package/dist/enums/Position.enum.js +20 -0
- package/dist/enums/Position.enum.mjs +14 -0
- package/dist/enums/Size.enum.d.ts +7 -0
- package/dist/enums/Size.enum.js +14 -0
- package/dist/enums/Size.enum.mjs +8 -0
- package/dist/enums/State.enum.d.ts +16 -0
- package/dist/enums/State.enum.js +24 -0
- package/dist/enums/State.enum.mjs +18 -0
- package/dist/enums/index.d.ts +5 -0
- package/dist/enums/index.js +60 -0
- package/dist/enums/index.mjs +5 -0
- package/dist/handler.d.ts +1 -0
- package/dist/handler.js +11 -0
- package/dist/handler.mjs +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +60 -0
- package/dist/index.mjs +5 -0
- package/dist/install.d.ts +3 -0
- package/dist/install.js +17 -0
- package/dist/install.mjs +9 -0
- package/dist/tailwind.config.d.ts +2 -0
- package/dist/tailwind.config.js +198 -0
- package/dist/tailwind.config.mjs +189 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.js +93 -0
- package/dist/types.mjs +8 -0
- package/dist/utils.d.ts +20 -0
- package/dist/utils.js +49 -0
- package/dist/utils.mjs +41 -0
- package/package.json +100 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import {computed, onMounted} from 'vue';
|
|
3
|
+
import {handleEnumValidation} from '../handler';
|
|
4
|
+
import {faCircleXmark, type IconDefinition} from '@fortawesome/free-solid-svg-icons';
|
|
5
|
+
import {AntTagSize, TagState} from './__types/AntTag.types';
|
|
6
|
+
import AntIcon from './AntIcon.vue';
|
|
7
|
+
import {IconSize} from './__types/AntIcon.types';
|
|
8
|
+
|
|
9
|
+
defineEmits(['close']);
|
|
10
|
+
const props = withDefaults(defineProps<{
|
|
11
|
+
state?: TagState,
|
|
12
|
+
size?: AntTagSize;
|
|
13
|
+
iconLeft?: IconDefinition;
|
|
14
|
+
dismiss?: boolean
|
|
15
|
+
}>(), {
|
|
16
|
+
size: AntTagSize.md,
|
|
17
|
+
state: TagState.base,
|
|
18
|
+
dismiss: false
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
const classes = computed(() => {
|
|
22
|
+
const variants: Record<TagState, string> = {
|
|
23
|
+
[TagState.danger]: 'bg-danger-500 text-danger-500-font',
|
|
24
|
+
[TagState.info]: 'bg-info-500 text-info-500-font',
|
|
25
|
+
[TagState.primary]: 'bg-primary-500 text-primary-500-font',
|
|
26
|
+
[TagState.secondary]: 'bg-secondary-500 text-secondary-500-font',
|
|
27
|
+
[TagState.base]: 'bg-neutral-300 text-neutral-300-font',
|
|
28
|
+
[TagState.success]: 'bg-success-500 text-success-500-font',
|
|
29
|
+
[TagState.warning]: 'bg-warning-500 text-warning-500-font',
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
'rounded-md inline-flex items-center': true,
|
|
33
|
+
'px-1 py-0.5 text-xs gap-0.5': props.size === AntTagSize.xs3,
|
|
34
|
+
'px-1.5 py-1 text-xs gap-1': props.size === AntTagSize.xs2,
|
|
35
|
+
'px-2 py-1.5 text-xs gap-1.5': props.size === AntTagSize.xs,
|
|
36
|
+
'px-2 py-1.5 text-sm gap-1.5': props.size === AntTagSize.sm,
|
|
37
|
+
'px-2.5 py-2 text-sm gap-2': props.size === AntTagSize.md,
|
|
38
|
+
'px-3 py-2.5 text-sm gap-2.5': props.size === AntTagSize.lg,
|
|
39
|
+
[variants[props.state]]: true,
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
const getIconSize = computed(() => {
|
|
43
|
+
if (props.size === AntTagSize.xs || props.size === AntTagSize.xs2 || props.size === AntTagSize.xs3) {
|
|
44
|
+
return IconSize.xs;
|
|
45
|
+
} else {
|
|
46
|
+
return IconSize.sm;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
const iconState = computed(() => {
|
|
50
|
+
switch (props.state) {
|
|
51
|
+
case TagState.info:
|
|
52
|
+
return 'text-info-500-font';
|
|
53
|
+
case TagState.success:
|
|
54
|
+
return 'text-success-500-font';
|
|
55
|
+
case TagState.warning:
|
|
56
|
+
return 'text-warning-500-font';
|
|
57
|
+
case TagState.danger:
|
|
58
|
+
return 'text-danger-500-font';
|
|
59
|
+
case TagState.primary:
|
|
60
|
+
return 'text-primary-500-font';
|
|
61
|
+
case TagState.secondary:
|
|
62
|
+
return 'text-secondary-500-font';
|
|
63
|
+
default:
|
|
64
|
+
return 'text-neutral-300-font';
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
const iconWrapperClass = computed(() => {
|
|
68
|
+
return {
|
|
69
|
+
'w-4 h-4': props.size === AntTagSize.xs2 || props.size === AntTagSize.xs,
|
|
70
|
+
'w-5 h-5': props.size === AntTagSize.sm || props.size === AntTagSize.md || props.size === AntTagSize.lg
|
|
71
|
+
};
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
onMounted(() => {
|
|
75
|
+
handleEnumValidation(props.size, AntTagSize, 'size');
|
|
76
|
+
handleEnumValidation(props.state, TagState, 'state');
|
|
77
|
+
});
|
|
78
|
+
</script>
|
|
79
|
+
|
|
80
|
+
<template>
|
|
81
|
+
<span
|
|
82
|
+
:class="classes"
|
|
83
|
+
data-e2e="tag"
|
|
84
|
+
>
|
|
85
|
+
<span
|
|
86
|
+
v-if="iconLeft"
|
|
87
|
+
class="inline-flex items-center justify-center"
|
|
88
|
+
:class="iconWrapperClass"
|
|
89
|
+
>
|
|
90
|
+
<AntIcon
|
|
91
|
+
:icon="iconLeft"
|
|
92
|
+
:size="getIconSize"
|
|
93
|
+
:color="iconState"
|
|
94
|
+
>
|
|
95
|
+
</anticon>
|
|
96
|
+
</span>
|
|
97
|
+
|
|
98
|
+
<slot/>
|
|
99
|
+
|
|
100
|
+
<span
|
|
101
|
+
v-if="dismiss"
|
|
102
|
+
class="inline-flex items-center justify-center"
|
|
103
|
+
:class="iconWrapperClass"
|
|
104
|
+
>
|
|
105
|
+
<AntIcon
|
|
106
|
+
:icon="faCircleXmark"
|
|
107
|
+
:size="getIconSize"
|
|
108
|
+
:color="iconState"
|
|
109
|
+
class="cursor-pointer"
|
|
110
|
+
@click="() => $emit('close')"
|
|
111
|
+
/>
|
|
112
|
+
</span>
|
|
113
|
+
</span>
|
|
114
|
+
</template>
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import {computed, onMounted, useSlots} from 'vue';
|
|
3
|
+
import {handleEnumValidation} from '../handler';
|
|
4
|
+
import {
|
|
5
|
+
faCheckCircle,
|
|
6
|
+
faExclamationCircle,
|
|
7
|
+
faExclamationTriangle,
|
|
8
|
+
faInfoCircle,
|
|
9
|
+
faXmark
|
|
10
|
+
} from '@fortawesome/free-solid-svg-icons';
|
|
11
|
+
import AntIcon from './AntIcon.vue';
|
|
12
|
+
import AntButton from './buttons/AntButton.vue';
|
|
13
|
+
import {State, InputState, Size} from '../enums';
|
|
14
|
+
import {IconSize} from './__types/AntIcon.types';
|
|
15
|
+
|
|
16
|
+
const props = withDefaults(defineProps<{
|
|
17
|
+
title?: string,
|
|
18
|
+
state?: InputState,
|
|
19
|
+
showUndo?: boolean,
|
|
20
|
+
icon?: boolean
|
|
21
|
+
}>(), {
|
|
22
|
+
state: InputState.base,
|
|
23
|
+
showUndo: false,
|
|
24
|
+
icon: true
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const icons = {
|
|
28
|
+
[InputState.base]: faInfoCircle,
|
|
29
|
+
[InputState.info]: faInfoCircle,
|
|
30
|
+
[InputState.danger]: faExclamationCircle,
|
|
31
|
+
[InputState.warning]: faExclamationTriangle,
|
|
32
|
+
[InputState.success]: faCheckCircle,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const _icon = computed(() => icons[props.state]);
|
|
36
|
+
const classes = computed(() => {
|
|
37
|
+
const variants: Record<InputState, string> = {
|
|
38
|
+
[InputState.base]: 'bg-neutral-100 border-neutral-500 text-neutral-500',
|
|
39
|
+
[InputState.danger]: 'bg-danger-100 border-danger-500 text-danger-500',
|
|
40
|
+
[InputState.info]: 'bg-info-100 border-info-500 text-info-500',
|
|
41
|
+
[InputState.success]: 'bg-success-100 border-success-500 text-success-500',
|
|
42
|
+
[InputState.warning]: 'bg-warning-100 border-warning-500 text-warning-500',
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
'inline-flex flex-col gap-2 rounded-md p-2 border transition-colors shadow-md': true,
|
|
47
|
+
[variants[props.state]]: true,
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
const hasDefaultSlot = computed(() => useSlots()['default'] || false);
|
|
51
|
+
const iconColor = computed(() => {
|
|
52
|
+
const variants = {
|
|
53
|
+
[InputState.base]: 'text-neutral-100-font',
|
|
54
|
+
[InputState.danger]: 'text-danger-500',
|
|
55
|
+
[InputState.info]: 'text-info-500',
|
|
56
|
+
[InputState.success]: 'text-success-500',
|
|
57
|
+
[InputState.warning]: 'text-warning-500',
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
return variants[props.state];
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
onMounted(() => {
|
|
64
|
+
handleEnumValidation(props.state, InputState, 'state');
|
|
65
|
+
});
|
|
66
|
+
</script>
|
|
67
|
+
|
|
68
|
+
<template>
|
|
69
|
+
<div
|
|
70
|
+
:class="classes"
|
|
71
|
+
data-e2e="toast"
|
|
72
|
+
:data-e2e-state="props.state"
|
|
73
|
+
>
|
|
74
|
+
<div class="inline-flex items-center justify-between w-content gap-2">
|
|
75
|
+
<div class="inline-flex items-center gap-2">
|
|
76
|
+
<AntIcon
|
|
77
|
+
v-if="icon"
|
|
78
|
+
:icon="_icon"
|
|
79
|
+
:color="iconColor"
|
|
80
|
+
:size="IconSize.sm"
|
|
81
|
+
/>
|
|
82
|
+
|
|
83
|
+
<div
|
|
84
|
+
class="whitespace-pre text-sm"
|
|
85
|
+
:class="{'font-semibold': hasDefaultSlot}"
|
|
86
|
+
>
|
|
87
|
+
<slot name="title">
|
|
88
|
+
{{ title }}
|
|
89
|
+
</slot>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<AntIcon
|
|
94
|
+
:icon="faXmark"
|
|
95
|
+
class="cursor-pointer"
|
|
96
|
+
:color="iconColor"
|
|
97
|
+
@click="() => $emit('close')"
|
|
98
|
+
/>
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
<div v-if="hasDefaultSlot">
|
|
102
|
+
<slot/>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
<div
|
|
106
|
+
v-if="showUndo"
|
|
107
|
+
class="flex justify-end"
|
|
108
|
+
>
|
|
109
|
+
<AntButton
|
|
110
|
+
:state="props.state as unknown as State"
|
|
111
|
+
:size="Size.md"
|
|
112
|
+
filled
|
|
113
|
+
@click="() => $emit('undo')"
|
|
114
|
+
>
|
|
115
|
+
undo
|
|
116
|
+
</AntButton>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
</template>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import {computed} from 'vue';
|
|
3
|
+
import AntToast from './AntToast.vue';
|
|
4
|
+
import {CornerPosition} from '../enums/Position.enum';
|
|
5
|
+
import type {Toast} from "../components/__types";
|
|
6
|
+
|
|
7
|
+
defineEmits(['close']);
|
|
8
|
+
|
|
9
|
+
const props = withDefaults(defineProps<{
|
|
10
|
+
position?: CornerPosition;
|
|
11
|
+
toasts: Toast[];
|
|
12
|
+
}>(), {
|
|
13
|
+
position: CornerPosition.bottomLeft
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const classes = computed(() => ({
|
|
17
|
+
'left-0 top-0 items-start': props.position === CornerPosition.topLeft,
|
|
18
|
+
'right-0 top-0 items-end': props.position === CornerPosition.topRight,
|
|
19
|
+
'left-0 bottom-0 items-start': props.position === CornerPosition.bottomLeft,
|
|
20
|
+
'right-0 bottom-0 items-end': props.position === CornerPosition.bottomRight,
|
|
21
|
+
}));
|
|
22
|
+
</script>
|
|
23
|
+
|
|
24
|
+
<template>
|
|
25
|
+
<div
|
|
26
|
+
class="absolute flex flex-col space-y-2.5 p-2.5"
|
|
27
|
+
:class="classes"
|
|
28
|
+
data-e2e="toaster"
|
|
29
|
+
>
|
|
30
|
+
<TransitionGroup name="list">
|
|
31
|
+
<AntToast
|
|
32
|
+
v-for="toast of toasts"
|
|
33
|
+
:key="`ant-toast-${toast.id}`"
|
|
34
|
+
:title="toast.title"
|
|
35
|
+
:state="toast.type"
|
|
36
|
+
:icon="toast.hasIcon"
|
|
37
|
+
@close="() => $emit('close', toast)"
|
|
38
|
+
>
|
|
39
|
+
<template
|
|
40
|
+
v-if="toast.content"
|
|
41
|
+
#default
|
|
42
|
+
>
|
|
43
|
+
{{ toast.content }}
|
|
44
|
+
</template>
|
|
45
|
+
</AntToast>
|
|
46
|
+
</TransitionGroup>
|
|
47
|
+
</div>
|
|
48
|
+
</template>
|
|
49
|
+
|
|
50
|
+
<style>
|
|
51
|
+
.list-move {
|
|
52
|
+
transition: all 0.5s ease;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.list-enter-active {
|
|
56
|
+
animation: fade-in .6s;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.list-leave-active {
|
|
60
|
+
animation: fade-in .4s reverse;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@keyframes fade-in {
|
|
64
|
+
0% {
|
|
65
|
+
opacity: 0;
|
|
66
|
+
}
|
|
67
|
+
100% {
|
|
68
|
+
opacity: 1;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
</style>
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import {computed, onMounted, ref, getCurrentInstance} from 'vue';
|
|
3
|
+
import {handleEnumValidation} from '../handler';
|
|
4
|
+
import {InputState, Position} from '../enums';
|
|
5
|
+
import {classesToObjectSyntax} from '../utils';
|
|
6
|
+
import {hasSlotContent} from '../utils';
|
|
7
|
+
|
|
8
|
+
const props = withDefaults(defineProps<{
|
|
9
|
+
position?: Position
|
|
10
|
+
tooltipClasses?: string | Record<string, boolean>
|
|
11
|
+
state?: InputState
|
|
12
|
+
expanded?: boolean
|
|
13
|
+
delay?: number
|
|
14
|
+
}>(), {
|
|
15
|
+
position: Position.left,
|
|
16
|
+
tooltipClasses: '',
|
|
17
|
+
state: InputState.base,
|
|
18
|
+
expanded: false,
|
|
19
|
+
delay: 800
|
|
20
|
+
});
|
|
21
|
+
const visible = ref(false);
|
|
22
|
+
const _tooltipClasses = computed(() => ({
|
|
23
|
+
'absolute w-max inline-flex': true,
|
|
24
|
+
// Position
|
|
25
|
+
'bottom-full pb-3.5': props.position === Position.top,
|
|
26
|
+
'top-full pt-3.5': props.position === Position.bottom,
|
|
27
|
+
'right-full pr-3.5': props.position === Position.left,
|
|
28
|
+
'left-full pl-3.5': props.position === Position.right,
|
|
29
|
+
...classesToObjectSyntax(props.tooltipClasses)
|
|
30
|
+
}));
|
|
31
|
+
const classes = computed(() => ({
|
|
32
|
+
'z-10 absolute flex': true,
|
|
33
|
+
'top-0 left-0 right-0 -m-[2px] justify-center': props.position === Position.bottom,
|
|
34
|
+
'bottom-0 left-0 right-0 -m-[2px] justify-center': props.position === Position.top,
|
|
35
|
+
'top-0 left-0 bottom-0 -ml-[2.2px] items-center': props.position === Position.right,
|
|
36
|
+
'top-0 right-0 bottom-0 -mr-[2.2px] items-center': props.position === Position.left,
|
|
37
|
+
}));
|
|
38
|
+
const itemContainerClasses = computed(() => ({
|
|
39
|
+
'relative flex items-center': true,
|
|
40
|
+
'justify-center': props.position === Position.bottom,
|
|
41
|
+
'justify-center rotate-180': props.position === Position.top,
|
|
42
|
+
'justify-center -rotate-90': props.position === Position.right,
|
|
43
|
+
'justify-center rotate-90': props.position === Position.left,
|
|
44
|
+
}));
|
|
45
|
+
const contentClasses = computed(() => {
|
|
46
|
+
const variants: Record<InputState, string> = {
|
|
47
|
+
[InputState.base]: 'text-for-white-bg-font bg-white border-neutral-300',
|
|
48
|
+
[InputState.danger]: 'text-danger-500-font bg-danger-500 border-danger-500',
|
|
49
|
+
[InputState.info]: 'text-info-500-font bg-info-500 border-info-500',
|
|
50
|
+
[InputState.success]: 'text-success-500-font bg-success-500 border-success-500',
|
|
51
|
+
[InputState.warning]: 'text-warning-500-font bg-warning-500 border-warning-500',
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
return {[variants[props.state]]: true};
|
|
55
|
+
});
|
|
56
|
+
const svgPathClasses = computed(() => {
|
|
57
|
+
const variants: Record<InputState, string> = {
|
|
58
|
+
[InputState.base]: 'fill-white stroke-white',
|
|
59
|
+
[InputState.danger]: 'fill-danger-500 stroke-danger-500',
|
|
60
|
+
[InputState.info]: 'fill-info-500 stroke-info-500',
|
|
61
|
+
[InputState.success]: 'fill-success-500 stroke-success-500',
|
|
62
|
+
[InputState.warning]: 'fill-warning-500 stroke-warning-500',
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
return {[variants[props.state]]: true};
|
|
66
|
+
});
|
|
67
|
+
const arrowSvgPathClasses = computed(() => {
|
|
68
|
+
const variants: Record<InputState, string> = {
|
|
69
|
+
[InputState.base]: 'stroke-neutral-300',
|
|
70
|
+
[InputState.danger]: 'stroke-danger-500',
|
|
71
|
+
[InputState.info]: 'stroke-info-500',
|
|
72
|
+
[InputState.success]: 'stroke-success-500',
|
|
73
|
+
[InputState.warning]: 'stroke-warning-500',
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
return {[variants[props.state]]: true};
|
|
77
|
+
});
|
|
78
|
+
const timeout = ref<number | undefined>();
|
|
79
|
+
const clickLock = ref(false);
|
|
80
|
+
const uuid = ref(getCurrentInstance()?.uid);
|
|
81
|
+
|
|
82
|
+
onMounted(() => {
|
|
83
|
+
handleEnumValidation(props.position, Position, 'position');
|
|
84
|
+
handleEnumValidation(props.state, InputState, 'state');
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
function onMouseOver() {
|
|
88
|
+
if (visible.value || clickLock.value) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* To prevent buggy behavior when hovering over multiple tooltips in quick succession,
|
|
94
|
+
* we clear the timeout before setting a new one.
|
|
95
|
+
*/
|
|
96
|
+
clearTimeout(timeout.value);
|
|
97
|
+
|
|
98
|
+
timeout.value = setTimeout(() => visible.value = true, props.delay) as unknown as number;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function onMouseLeave() {
|
|
102
|
+
clearTimeout(timeout.value);
|
|
103
|
+
|
|
104
|
+
visible.value = false;
|
|
105
|
+
clickLock.value = false;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function onClick() {
|
|
109
|
+
clearTimeout(timeout.value);
|
|
110
|
+
|
|
111
|
+
visible.value = false;
|
|
112
|
+
clickLock.value = true;
|
|
113
|
+
}
|
|
114
|
+
</script>
|
|
115
|
+
|
|
116
|
+
<template>
|
|
117
|
+
<div
|
|
118
|
+
:key="uuid"
|
|
119
|
+
class="relative justify-center items-center"
|
|
120
|
+
:class="{'flex w-full': props.expanded, 'inline-flex': !props.expanded}"
|
|
121
|
+
data-e2e="tooltip"
|
|
122
|
+
@mouseover="() => onMouseOver()"
|
|
123
|
+
@mouseleave="() => onMouseLeave()"
|
|
124
|
+
>
|
|
125
|
+
<div
|
|
126
|
+
class="w-full"
|
|
127
|
+
@click="() => onClick()"
|
|
128
|
+
>
|
|
129
|
+
<slot/>
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<div
|
|
133
|
+
v-if="visible && hasSlotContent($slots.content)"
|
|
134
|
+
:class="_tooltipClasses"
|
|
135
|
+
>
|
|
136
|
+
<div
|
|
137
|
+
class="shadow-lg text-sm relative"
|
|
138
|
+
>
|
|
139
|
+
<div
|
|
140
|
+
:class="classes"
|
|
141
|
+
>
|
|
142
|
+
<div
|
|
143
|
+
:class="itemContainerClasses"
|
|
144
|
+
>
|
|
145
|
+
<svg
|
|
146
|
+
class="absolute mt-[.5px]"
|
|
147
|
+
width="30"
|
|
148
|
+
height="8"
|
|
149
|
+
viewBox="0 0 35 8"
|
|
150
|
+
fill="none"
|
|
151
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
152
|
+
>
|
|
153
|
+
<path
|
|
154
|
+
d="M20.3284 1.82843L23.1569 4.65685C24.6571 6.15715 26.692 7 28.8137 7L6.18629 7C8.30802 7 10.3429 6.15715 11.8431 4.65686L14.6716 1.82843C16.2337 0.266331 18.7663 0.266328 20.3284 1.82843Z"
|
|
155
|
+
:class="svgPathClasses"
|
|
156
|
+
/>
|
|
157
|
+
|
|
158
|
+
<path
|
|
159
|
+
d="M34.5 7L28.8137 7C26.692 7 24.6571 6.15715 23.1569 4.65685L20.3284 1.82843C18.7663 0.266328 16.2337 0.266331 14.6716 1.82843L11.8431 4.65686C10.3429 6.15715 8.30802 7 6.18629 7L0.5 7L34.5 7Z"
|
|
160
|
+
:class="svgPathClasses"
|
|
161
|
+
/>
|
|
162
|
+
</svg>
|
|
163
|
+
|
|
164
|
+
<svg
|
|
165
|
+
class="absolute"
|
|
166
|
+
width="30"
|
|
167
|
+
height="8"
|
|
168
|
+
viewBox="0 0 35 8"
|
|
169
|
+
fill="none"
|
|
170
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
171
|
+
>
|
|
172
|
+
<path
|
|
173
|
+
d="M34.5 7L28.8137 7C26.692 7 24.6571 6.15715 23.1569 4.65685L20.3284 1.82843C18.7663 0.266328 16.2337 0.266331 14.6716 1.82843L11.8431 4.65686C10.3429 6.15715 8.30802 7 6.18629 7L0.5 7"
|
|
174
|
+
:class="arrowSvgPathClasses"
|
|
175
|
+
/>
|
|
176
|
+
</svg>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
|
|
180
|
+
<div
|
|
181
|
+
class="p-2 rounded-md border"
|
|
182
|
+
:class="contentClasses"
|
|
183
|
+
>
|
|
184
|
+
<slot name="content"/>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
</template>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
module.exports = exports.Main = void 0;
|
|
7
|
+
module.exports = {
|
|
8
|
+
title: "Main"
|
|
9
|
+
};
|
|
10
|
+
const Main = () => {
|
|
11
|
+
return {
|
|
12
|
+
template: "<div>main</div>"
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
exports.Main = Main;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import AntAccordion from '../AntAccordion.vue';
|
|
2
|
+
import { type Meta, type StoryObj } from '@storybook/vue3';
|
|
3
|
+
declare const meta: Meta<typeof AntAccordion>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof AntAccordion>;
|
|
6
|
+
export declare const Docs: Story;
|
|
7
|
+
export declare const CustomContent: Story;
|
|
8
|
+
export declare const MultipleCollapseStrategy: Story;
|
|
9
|
+
export declare const htmlInContent: Story;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.htmlInContent = exports.default = exports.MultipleCollapseStrategy = exports.Docs = exports.CustomContent = void 0;
|
|
7
|
+
var _AntAccordion = _interopRequireDefault(require("../AntAccordion.vue"));
|
|
8
|
+
var _AntAccordionItem = _interopRequireDefault(require("../AntAccordionItem.vue"));
|
|
9
|
+
var _AntAccordion2 = require("../__types/AntAccordion.types");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
const meta = {
|
|
12
|
+
title: "Components/Accordion",
|
|
13
|
+
component: _AntAccordion.default,
|
|
14
|
+
subcomponents: {
|
|
15
|
+
AntAccordionItem: _AntAccordionItem.default
|
|
16
|
+
},
|
|
17
|
+
parameters: {
|
|
18
|
+
controls: {
|
|
19
|
+
sort: "requiredFirst"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
argTypes: {
|
|
23
|
+
collapseStrategy: {
|
|
24
|
+
control: {
|
|
25
|
+
type: "select"
|
|
26
|
+
},
|
|
27
|
+
options: Object.values(_AntAccordion2.CollapseStrategy)
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
module.exports = meta;
|
|
32
|
+
const Docs = exports.Docs = {
|
|
33
|
+
parameters: {
|
|
34
|
+
chromatic: {
|
|
35
|
+
disableSnapshot: false
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
render: args => ({
|
|
39
|
+
components: {
|
|
40
|
+
AntAccordion: _AntAccordion.default,
|
|
41
|
+
AntAccordionItem: _AntAccordionItem.default
|
|
42
|
+
},
|
|
43
|
+
setup() {
|
|
44
|
+
return {
|
|
45
|
+
args
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
template: `
|
|
49
|
+
<div class="p-4">
|
|
50
|
+
<AntAccordion v-bind="args"/>
|
|
51
|
+
</div>`
|
|
52
|
+
}),
|
|
53
|
+
args: {
|
|
54
|
+
items: [{
|
|
55
|
+
label: "First entry",
|
|
56
|
+
content: "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
|
|
57
|
+
}, {
|
|
58
|
+
label: "Second entry",
|
|
59
|
+
content: "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.",
|
|
60
|
+
iconLeft: true
|
|
61
|
+
}, {
|
|
62
|
+
label: "Third entry",
|
|
63
|
+
content: "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
|
|
64
|
+
}, {
|
|
65
|
+
label: "Fourth entry",
|
|
66
|
+
content: "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
|
|
67
|
+
}]
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const CustomContent = exports.CustomContent = {
|
|
71
|
+
render: args => ({
|
|
72
|
+
components: {
|
|
73
|
+
AntAccordion: _AntAccordion.default,
|
|
74
|
+
AntAccordionItem: _AntAccordionItem.default
|
|
75
|
+
},
|
|
76
|
+
setup() {
|
|
77
|
+
return {
|
|
78
|
+
args
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
template: `
|
|
82
|
+
<div class="p-4">
|
|
83
|
+
<AntAccordion v-bind="args">
|
|
84
|
+
<template #item-content="{item, index}">
|
|
85
|
+
<div class="text-danger-500">{{ item.content }}</div>
|
|
86
|
+
</template>
|
|
87
|
+
</AntAccordion>
|
|
88
|
+
</div>`
|
|
89
|
+
}),
|
|
90
|
+
args: {
|
|
91
|
+
...Docs.args
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
const MultipleCollapseStrategy = exports.MultipleCollapseStrategy = {
|
|
95
|
+
render: Docs.render,
|
|
96
|
+
args: {
|
|
97
|
+
...Docs.args,
|
|
98
|
+
collapseStrategy: _AntAccordion2.CollapseStrategy.multiple
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
const htmlInContent = exports.htmlInContent = {
|
|
102
|
+
render: Docs.render,
|
|
103
|
+
args: {
|
|
104
|
+
items: [{
|
|
105
|
+
label: "First entry",
|
|
106
|
+
content: `Lorem <strong>ipsum</strong> dolor sit amet, consetetur sadipscing elitr, <br/>
|
|
107
|
+
sed diam nonumy eirmod tempor invidunt <br/>
|
|
108
|
+
ut labore et dolore magna aliquyam erat, <br/>
|
|
109
|
+
sed diam voluptua. At vero eos et accusam et <br/>
|
|
110
|
+
justo duo dolores et ea rebum. Stet clita kasd`
|
|
111
|
+
}, {
|
|
112
|
+
label: "Second entry",
|
|
113
|
+
content: `Lorem <strong>ipsum</strong> dolor sit amet, consetetur sadipscing elitr, <br/>
|
|
114
|
+
sed diam nonumy eirmod tempor invidunt <br/>
|
|
115
|
+
ut labore et dolore magna aliquyam erat, <br/>
|
|
116
|
+
sed diam voluptua. At vero eos et accusam et <br/>
|
|
117
|
+
justo duo dolores et ea rebum. Stet clita kasd`
|
|
118
|
+
}]
|
|
119
|
+
}
|
|
120
|
+
};
|