@anker-in/headless-ui 0.0.26 → 0.0.27-alpha.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/CONTRIBUTING.md +88 -27
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +19 -0
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +2 -0
- package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +7 -0
- package/dist/cjs/biz-components/BrandEquity/index.d.ts +1 -0
- package/dist/cjs/biz-components/BrandEquity/index.js +2 -0
- package/dist/cjs/biz-components/BrandEquity/index.js.map +7 -0
- package/dist/cjs/biz-components/Category/index.d.ts +16 -0
- package/dist/cjs/biz-components/Category/index.js +2 -0
- package/dist/cjs/biz-components/Category/index.js.map +7 -0
- package/dist/cjs/biz-components/Evaluate/index.d.ts +19 -0
- package/dist/cjs/biz-components/Evaluate/index.js +2 -0
- package/dist/cjs/biz-components/Evaluate/index.js.map +7 -0
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +7 -0
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +2 -0
- package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +7 -0
- package/dist/cjs/biz-components/HeroBanner/index.d.ts +1 -0
- package/dist/cjs/biz-components/HeroBanner/index.js +2 -0
- package/dist/cjs/biz-components/HeroBanner/index.js.map +7 -0
- package/dist/cjs/biz-components/HeroBanner/types.d.ts +26 -0
- package/dist/cjs/biz-components/HeroBanner/types.js +2 -0
- package/dist/cjs/biz-components/HeroBanner/types.js.map +7 -0
- package/dist/cjs/biz-components/Marquee/index.d.ts +23 -0
- package/dist/cjs/biz-components/Marquee/index.js +2 -0
- package/dist/cjs/biz-components/Marquee/index.js.map +7 -0
- package/dist/cjs/biz-components/MemberEquity/index.d.ts +6 -0
- package/dist/cjs/biz-components/MemberEquity/index.js +40 -0
- package/dist/cjs/biz-components/MemberEquity/index.js.map +7 -0
- package/dist/cjs/biz-components/MemberEquity/types.d.ts +25 -0
- package/dist/cjs/biz-components/MemberEquity/types.js +2 -0
- package/dist/cjs/biz-components/MemberEquity/types.js.map +7 -0
- package/dist/cjs/biz-components/Shelf/Shelf.d.ts +6 -0
- package/dist/cjs/biz-components/Shelf/Shelf.js +2 -0
- package/dist/cjs/biz-components/Shelf/Shelf.js.map +7 -0
- package/dist/cjs/biz-components/Shelf/index.d.ts +1 -0
- package/dist/cjs/biz-components/Shelf/index.js +2 -0
- package/dist/cjs/biz-components/Shelf/index.js.map +7 -0
- package/dist/cjs/biz-components/Shelf/types.d.ts +6 -0
- package/dist/cjs/biz-components/Shelf/types.js +2 -0
- package/dist/cjs/biz-components/Shelf/types.js.map +7 -0
- package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +38 -0
- package/dist/cjs/biz-components/ShelfDisplay/index.js +10 -0
- package/dist/cjs/biz-components/ShelfDisplay/index.js.map +7 -0
- package/dist/cjs/biz-components/Slogan/index.d.ts +7 -0
- package/dist/cjs/biz-components/Slogan/index.js +2 -0
- package/dist/cjs/biz-components/Slogan/index.js.map +7 -0
- package/dist/cjs/biz-components/Slogan/types.d.ts +24 -0
- package/dist/cjs/biz-components/Slogan/types.js +2 -0
- package/dist/cjs/biz-components/Slogan/types.js.map +7 -0
- package/dist/cjs/biz-components/index.d.ts +9 -0
- package/dist/cjs/biz-components/index.js +2 -0
- package/dist/cjs/biz-components/index.js.map +7 -0
- package/dist/cjs/components/alert.d.ts +17 -0
- package/dist/cjs/components/alert.js +2 -0
- package/dist/cjs/components/alert.js.map +7 -0
- package/dist/cjs/components/avatar.d.ts +26 -0
- package/dist/cjs/components/avatar.js +2 -0
- package/dist/cjs/components/avatar.js.map +7 -0
- package/dist/cjs/components/badge.d.ts +2 -2
- package/dist/cjs/components/badge.js +1 -1
- package/dist/cjs/components/badge.js.map +3 -3
- package/dist/cjs/components/button.d.ts +2 -1
- package/dist/cjs/components/button.js +1 -1
- package/dist/cjs/components/button.js.map +3 -3
- package/dist/cjs/components/card.d.ts +8 -0
- package/dist/cjs/components/card.js +2 -0
- package/dist/cjs/components/card.js.map +7 -0
- package/dist/cjs/components/carousel.d.ts +28 -0
- package/dist/cjs/components/carousel.js +2 -0
- package/dist/cjs/components/carousel.js.map +7 -0
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +2 -2
- package/dist/cjs/components/color.d.ts +13 -0
- package/dist/cjs/components/color.js +2 -0
- package/dist/cjs/components/color.js.map +7 -0
- package/dist/cjs/components/container.d.ts +13 -0
- package/dist/cjs/components/container.js +2 -0
- package/dist/cjs/components/container.js.map +7 -0
- package/dist/cjs/components/dialog.d.ts +2 -2
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +2 -2
- package/dist/cjs/components/drawer.d.ts +13 -0
- package/dist/cjs/components/drawer.js +2 -0
- package/dist/cjs/components/drawer.js.map +7 -0
- package/dist/cjs/components/drop-down.d.ts +27 -0
- package/dist/cjs/components/drop-down.js +2 -0
- package/dist/cjs/components/drop-down.js.map +7 -0
- package/dist/cjs/components/gird.d.ts +17 -0
- package/dist/cjs/components/gird.js +2 -0
- package/dist/cjs/components/gird.js.map +7 -0
- package/dist/cjs/components/heading.d.ts +2 -2
- package/dist/cjs/components/heading.js +1 -1
- package/dist/cjs/components/heading.js.map +2 -2
- package/dist/cjs/components/index.d.ts +12 -1
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +2 -2
- package/dist/cjs/components/input-number.d.ts +78 -0
- package/dist/cjs/components/input-number.js +2 -0
- package/dist/cjs/components/input-number.js.map +7 -0
- package/dist/cjs/components/input.js +1 -1
- package/dist/cjs/components/input.js.map +2 -2
- package/dist/cjs/components/link.d.ts +47 -0
- package/dist/cjs/components/link.js +2 -0
- package/dist/cjs/components/link.js.map +7 -0
- package/dist/cjs/components/picture.d.ts +1 -1
- package/dist/cjs/components/picture.js +1 -1
- package/dist/cjs/components/picture.js.map +3 -3
- package/dist/cjs/components/popover.js +1 -1
- package/dist/cjs/components/popover.js.map +2 -2
- package/dist/cjs/components/radio.js +1 -1
- package/dist/cjs/components/radio.js.map +2 -2
- package/dist/cjs/components/skeleton.js +4 -4
- package/dist/cjs/components/skeleton.js.map +1 -1
- package/dist/cjs/components/tabs.d.ts +9 -0
- package/dist/cjs/components/tabs.js +2 -0
- package/dist/cjs/components/tabs.js.map +7 -0
- package/dist/cjs/components/text.d.ts +2 -3
- package/dist/cjs/components/text.js +1 -1
- package/dist/cjs/components/text.js.map +3 -3
- package/dist/cjs/components/theme.d.ts +2 -3
- package/dist/cjs/components/theme.js +1 -1
- package/dist/cjs/components/theme.js.map +2 -2
- package/dist/cjs/helpers/constants.d.ts +0 -2
- package/dist/cjs/helpers/constants.js +1 -1
- package/dist/cjs/helpers/constants.js.map +4 -4
- package/dist/cjs/helpers/utils.js +1 -1
- package/dist/cjs/helpers/utils.js.map +3 -3
- package/dist/cjs/icons/spinner.d.ts +1 -1
- package/dist/cjs/icons/spinner.js +1 -1
- package/dist/cjs/icons/spinner.js.map +2 -2
- package/dist/cjs/shared/Styles.d.ts +33 -0
- package/dist/cjs/shared/Styles.js +2 -0
- package/dist/cjs/shared/Styles.js.map +7 -0
- package/dist/cjs/stories/HeroBanner.stories.d.ts +23 -0
- package/dist/cjs/stories/HeroBanner.stories.js +10 -0
- package/dist/cjs/stories/HeroBanner.stories.js.map +7 -0
- package/dist/cjs/stories/MemberEquity.stories.d.ts +9 -0
- package/dist/cjs/stories/MemberEquity.stories.js +31 -0
- package/dist/cjs/stories/MemberEquity.stories.js.map +7 -0
- package/dist/cjs/stories/alert.stories.d.ts +27 -0
- package/dist/cjs/stories/alert.stories.js +2 -0
- package/dist/cjs/stories/alert.stories.js.map +7 -0
- package/dist/cjs/stories/avatar.stories.d.ts +40 -0
- package/dist/cjs/stories/avatar.stories.js +2 -0
- package/dist/cjs/stories/avatar.stories.js.map +7 -0
- package/dist/cjs/stories/badge.stories.d.ts +2 -12
- package/dist/cjs/stories/badge.stories.js +1 -1
- package/dist/cjs/stories/badge.stories.js.map +2 -2
- package/dist/cjs/stories/brandEquity.stories.d.ts +16 -0
- package/dist/cjs/stories/brandEquity.stories.js +2 -0
- package/dist/cjs/stories/brandEquity.stories.js.map +7 -0
- package/dist/cjs/stories/button.stories.d.ts +14 -0
- package/dist/cjs/stories/button.stories.js +1 -1
- package/dist/cjs/stories/button.stories.js.map +3 -3
- package/dist/cjs/stories/card.stories.d.ts +27 -0
- package/dist/cjs/stories/card.stories.js +2 -0
- package/dist/cjs/stories/card.stories.js.map +7 -0
- package/dist/cjs/stories/carousel.stories.d.ts +62 -0
- package/dist/cjs/stories/carousel.stories.js +2 -0
- package/dist/cjs/stories/carousel.stories.js.map +7 -0
- package/dist/cjs/stories/category.stories.d.ts +13 -0
- package/dist/cjs/stories/category.stories.js +2 -0
- package/dist/cjs/stories/category.stories.js.map +7 -0
- package/dist/cjs/stories/checkbox.stories.d.ts +2 -2
- package/dist/cjs/stories/checkbox.stories.js +1 -1
- package/dist/cjs/stories/checkbox.stories.js.map +2 -2
- package/dist/cjs/stories/container.stories.d.ts +23 -0
- package/dist/cjs/stories/container.stories.js +15 -0
- package/dist/cjs/stories/container.stories.js.map +7 -0
- package/dist/cjs/stories/dialog.stories.js +1 -1
- package/dist/cjs/stories/dialog.stories.js.map +2 -2
- package/dist/cjs/stories/drawer.stories.d.ts +20 -0
- package/dist/cjs/stories/drawer.stories.js +2 -0
- package/dist/cjs/stories/drawer.stories.js.map +7 -0
- package/dist/cjs/stories/drop-down.stories.d.ts +16 -0
- package/dist/cjs/stories/drop-down.stories.js +2 -0
- package/dist/cjs/stories/drop-down.stories.js.map +7 -0
- package/dist/cjs/stories/evaluate.stories.d.ts +13 -0
- package/dist/cjs/stories/evaluate.stories.js +2 -0
- package/dist/cjs/stories/evaluate.stories.js.map +7 -0
- package/dist/cjs/stories/grid.stories.d.ts +22 -0
- package/dist/cjs/stories/grid.stories.js +13 -0
- package/dist/cjs/stories/grid.stories.js.map +7 -0
- package/dist/cjs/stories/heading.stories.d.ts +2 -2
- package/dist/cjs/stories/heading.stories.js +1 -1
- package/dist/cjs/stories/heading.stories.js.map +2 -2
- package/dist/cjs/stories/input-number.stories.d.ts +39 -0
- package/dist/cjs/stories/input-number.stories.js +2 -0
- package/dist/cjs/stories/input-number.stories.js.map +7 -0
- package/dist/cjs/stories/input.stories.js +1 -1
- package/dist/cjs/stories/input.stories.js.map +2 -2
- package/dist/cjs/stories/link.stories.d.ts +82 -0
- package/dist/cjs/stories/link.stories.js +2 -0
- package/dist/cjs/stories/link.stories.js.map +7 -0
- package/dist/cjs/stories/marquee.stories.d.ts +49 -0
- package/dist/cjs/stories/marquee.stories.js +2 -0
- package/dist/cjs/stories/marquee.stories.js.map +7 -0
- package/dist/cjs/stories/picture.stories.d.ts +1 -1
- package/dist/cjs/stories/picture.stories.js +2 -2
- package/dist/cjs/stories/picture.stories.js.map +2 -2
- package/dist/cjs/stories/popover.stories.d.ts +1 -1
- package/dist/cjs/stories/popover.stories.js +1 -1
- package/dist/cjs/stories/popover.stories.js.map +2 -2
- package/dist/cjs/stories/radio.stories.js +1 -1
- package/dist/cjs/stories/radio.stories.js.map +2 -2
- package/dist/cjs/stories/shelf.stories.d.ts +15 -0
- package/dist/cjs/stories/shelf.stories.js +2 -0
- package/dist/cjs/stories/shelf.stories.js.map +7 -0
- package/dist/cjs/stories/shelfDisplay.stories.d.ts +13 -0
- package/dist/cjs/stories/shelfDisplay.stories.js +2 -0
- package/dist/cjs/stories/shelfDisplay.stories.js.map +7 -0
- package/dist/cjs/stories/skeleton.stories.js +1 -1
- package/dist/cjs/stories/skeleton.stories.js.map +2 -2
- package/dist/cjs/stories/slogan.stories.d.ts +21 -0
- package/dist/cjs/stories/slogan.stories.js +26 -0
- package/dist/cjs/stories/slogan.stories.js.map +7 -0
- package/dist/cjs/stories/tabs.stories.d.ts +360 -0
- package/dist/cjs/stories/tabs.stories.js +2 -0
- package/dist/cjs/stories/tabs.stories.js.map +7 -0
- package/dist/cjs/stories/text.stories.d.ts +2 -11
- package/dist/cjs/stories/text.stories.js +1 -1
- package/dist/cjs/stories/text.stories.js.map +3 -3
- package/dist/cjs/types/index.d.ts +0 -0
- package/dist/cjs/types/index.js +2 -0
- package/dist/cjs/types/index.js.map +7 -0
- package/dist/cjs/types/props.d.ts +5 -0
- package/dist/cjs/types/props.js +2 -0
- package/dist/cjs/types/props.js.map +7 -0
- package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +19 -0
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js +2 -0
- package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +7 -0
- package/dist/esm/biz-components/BrandEquity/index.d.ts +1 -0
- package/dist/esm/biz-components/BrandEquity/index.js +2 -0
- package/dist/esm/biz-components/BrandEquity/index.js.map +7 -0
- package/dist/esm/biz-components/Category/index.d.ts +16 -0
- package/dist/esm/biz-components/Category/index.js +2 -0
- package/dist/esm/biz-components/Category/index.js.map +7 -0
- package/dist/esm/biz-components/Evaluate/index.d.ts +19 -0
- package/dist/esm/biz-components/Evaluate/index.js +2 -0
- package/dist/esm/biz-components/Evaluate/index.js.map +7 -0
- package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +7 -0
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js +2 -0
- package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +7 -0
- package/dist/esm/biz-components/HeroBanner/index.d.ts +1 -0
- package/dist/esm/biz-components/HeroBanner/index.js +2 -0
- package/dist/esm/biz-components/HeroBanner/index.js.map +7 -0
- package/dist/esm/biz-components/HeroBanner/types.d.ts +26 -0
- package/dist/esm/biz-components/HeroBanner/types.js +1 -0
- package/dist/esm/biz-components/HeroBanner/types.js.map +7 -0
- package/dist/esm/biz-components/Marquee/index.d.ts +23 -0
- package/dist/esm/biz-components/Marquee/index.js +2 -0
- package/dist/esm/biz-components/Marquee/index.js.map +7 -0
- package/dist/esm/biz-components/MemberEquity/index.d.ts +6 -0
- package/dist/esm/biz-components/MemberEquity/index.js +40 -0
- package/dist/esm/biz-components/MemberEquity/index.js.map +7 -0
- package/dist/esm/biz-components/MemberEquity/types.d.ts +25 -0
- package/dist/esm/biz-components/MemberEquity/types.js +1 -0
- package/dist/esm/biz-components/MemberEquity/types.js.map +7 -0
- package/dist/esm/biz-components/Shelf/Shelf.d.ts +6 -0
- package/dist/esm/biz-components/Shelf/Shelf.js +2 -0
- package/dist/esm/biz-components/Shelf/Shelf.js.map +7 -0
- package/dist/esm/biz-components/Shelf/index.d.ts +1 -0
- package/dist/esm/biz-components/Shelf/index.js +2 -0
- package/dist/esm/biz-components/Shelf/index.js.map +7 -0
- package/dist/esm/biz-components/Shelf/types.d.ts +6 -0
- package/dist/esm/biz-components/Shelf/types.js +1 -0
- package/dist/esm/biz-components/Shelf/types.js.map +7 -0
- package/dist/esm/biz-components/ShelfDisplay/index.d.ts +38 -0
- package/dist/esm/biz-components/ShelfDisplay/index.js +10 -0
- package/dist/esm/biz-components/ShelfDisplay/index.js.map +7 -0
- package/dist/esm/biz-components/Slogan/index.d.ts +7 -0
- package/dist/esm/biz-components/Slogan/index.js +2 -0
- package/dist/esm/biz-components/Slogan/index.js.map +7 -0
- package/dist/esm/biz-components/Slogan/types.d.ts +24 -0
- package/dist/esm/biz-components/Slogan/types.js +1 -0
- package/dist/esm/biz-components/Slogan/types.js.map +7 -0
- package/dist/esm/biz-components/index.d.ts +9 -0
- package/dist/esm/biz-components/index.js +2 -0
- package/dist/esm/biz-components/index.js.map +7 -0
- package/dist/esm/components/alert.d.ts +17 -0
- package/dist/esm/components/alert.js +2 -0
- package/dist/esm/components/alert.js.map +7 -0
- package/dist/esm/components/avatar.d.ts +26 -0
- package/dist/esm/components/avatar.js +2 -0
- package/dist/esm/components/avatar.js.map +7 -0
- package/dist/esm/components/badge.d.ts +2 -2
- package/dist/esm/components/badge.js +1 -1
- package/dist/esm/components/badge.js.map +3 -3
- package/dist/esm/components/button.d.ts +2 -1
- package/dist/esm/components/button.js +1 -1
- package/dist/esm/components/button.js.map +3 -3
- package/dist/esm/components/card.d.ts +8 -0
- package/dist/esm/components/card.js +2 -0
- package/dist/esm/components/card.js.map +7 -0
- package/dist/esm/components/carousel.d.ts +28 -0
- package/dist/esm/components/carousel.js +2 -0
- package/dist/esm/components/carousel.js.map +7 -0
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/checkbox.js.map +2 -2
- package/dist/esm/components/color.d.ts +13 -0
- package/dist/esm/components/color.js +2 -0
- package/dist/esm/components/color.js.map +7 -0
- package/dist/esm/components/container.d.ts +13 -0
- package/dist/esm/components/container.js +2 -0
- package/dist/esm/components/container.js.map +7 -0
- package/dist/esm/components/dialog.d.ts +2 -2
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dialog.js.map +2 -2
- package/dist/esm/components/drawer.d.ts +13 -0
- package/dist/esm/components/drawer.js +2 -0
- package/dist/esm/components/drawer.js.map +7 -0
- package/dist/esm/components/drop-down.d.ts +27 -0
- package/dist/esm/components/drop-down.js +2 -0
- package/dist/esm/components/drop-down.js.map +7 -0
- package/dist/esm/components/gird.d.ts +17 -0
- package/dist/esm/components/gird.js +2 -0
- package/dist/esm/components/gird.js.map +7 -0
- package/dist/esm/components/heading.d.ts +2 -2
- package/dist/esm/components/heading.js +1 -1
- package/dist/esm/components/heading.js.map +2 -2
- package/dist/esm/components/index.d.ts +12 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +2 -2
- package/dist/esm/components/input-number.d.ts +78 -0
- package/dist/esm/components/input-number.js +2 -0
- package/dist/esm/components/input-number.js.map +7 -0
- package/dist/esm/components/input.js +1 -1
- package/dist/esm/components/input.js.map +2 -2
- package/dist/esm/components/link.d.ts +47 -0
- package/dist/esm/components/link.js +2 -0
- package/dist/esm/components/link.js.map +7 -0
- package/dist/esm/components/picture.d.ts +1 -1
- package/dist/esm/components/picture.js +1 -1
- package/dist/esm/components/picture.js.map +3 -3
- package/dist/esm/components/popover.js +1 -1
- package/dist/esm/components/popover.js.map +2 -2
- package/dist/esm/components/radio.js +1 -1
- package/dist/esm/components/radio.js.map +2 -2
- package/dist/esm/components/skeleton.js +4 -4
- package/dist/esm/components/skeleton.js.map +1 -1
- package/dist/esm/components/tabs.d.ts +9 -0
- package/dist/esm/components/tabs.js +2 -0
- package/dist/esm/components/tabs.js.map +7 -0
- package/dist/esm/components/text.d.ts +2 -3
- package/dist/esm/components/text.js +1 -1
- package/dist/esm/components/text.js.map +3 -3
- package/dist/esm/components/theme.d.ts +2 -3
- package/dist/esm/components/theme.js +1 -1
- package/dist/esm/components/theme.js.map +2 -2
- package/dist/esm/helpers/constants.d.ts +0 -2
- package/dist/esm/helpers/constants.js +1 -1
- package/dist/esm/helpers/constants.js.map +3 -3
- package/dist/esm/helpers/utils.js +1 -1
- package/dist/esm/helpers/utils.js.map +3 -3
- package/dist/esm/icons/spinner.d.ts +1 -1
- package/dist/esm/icons/spinner.js +1 -1
- package/dist/esm/icons/spinner.js.map +2 -2
- package/dist/esm/shared/Styles.d.ts +33 -0
- package/dist/esm/shared/Styles.js +2 -0
- package/dist/esm/shared/Styles.js.map +7 -0
- package/dist/esm/stories/HeroBanner.stories.d.ts +23 -0
- package/dist/esm/stories/HeroBanner.stories.js +10 -0
- package/dist/esm/stories/HeroBanner.stories.js.map +7 -0
- package/dist/esm/stories/MemberEquity.stories.d.ts +9 -0
- package/dist/esm/stories/MemberEquity.stories.js +31 -0
- package/dist/esm/stories/MemberEquity.stories.js.map +7 -0
- package/dist/esm/stories/alert.stories.d.ts +27 -0
- package/dist/esm/stories/alert.stories.js +2 -0
- package/dist/esm/stories/alert.stories.js.map +7 -0
- package/dist/esm/stories/avatar.stories.d.ts +40 -0
- package/dist/esm/stories/avatar.stories.js +2 -0
- package/dist/esm/stories/avatar.stories.js.map +7 -0
- package/dist/esm/stories/badge.stories.d.ts +2 -12
- package/dist/esm/stories/badge.stories.js +1 -1
- package/dist/esm/stories/badge.stories.js.map +2 -2
- package/dist/esm/stories/brandEquity.stories.d.ts +16 -0
- package/dist/esm/stories/brandEquity.stories.js +2 -0
- package/dist/esm/stories/brandEquity.stories.js.map +7 -0
- package/dist/esm/stories/button.stories.d.ts +14 -0
- package/dist/esm/stories/button.stories.js +1 -1
- package/dist/esm/stories/button.stories.js.map +3 -3
- package/dist/esm/stories/card.stories.d.ts +27 -0
- package/dist/esm/stories/card.stories.js +2 -0
- package/dist/esm/stories/card.stories.js.map +7 -0
- package/dist/esm/stories/carousel.stories.d.ts +62 -0
- package/dist/esm/stories/carousel.stories.js +2 -0
- package/dist/esm/stories/carousel.stories.js.map +7 -0
- package/dist/esm/stories/category.stories.d.ts +13 -0
- package/dist/esm/stories/category.stories.js +2 -0
- package/dist/esm/stories/category.stories.js.map +7 -0
- package/dist/esm/stories/checkbox.stories.d.ts +2 -2
- package/dist/esm/stories/checkbox.stories.js +1 -1
- package/dist/esm/stories/checkbox.stories.js.map +2 -2
- package/dist/esm/stories/container.stories.d.ts +23 -0
- package/dist/esm/stories/container.stories.js +15 -0
- package/dist/esm/stories/container.stories.js.map +7 -0
- package/dist/esm/stories/dialog.stories.js +1 -1
- package/dist/esm/stories/dialog.stories.js.map +2 -2
- package/dist/esm/stories/drawer.stories.d.ts +20 -0
- package/dist/esm/stories/drawer.stories.js +2 -0
- package/dist/esm/stories/drawer.stories.js.map +7 -0
- package/dist/esm/stories/drop-down.stories.d.ts +16 -0
- package/dist/esm/stories/drop-down.stories.js +2 -0
- package/dist/esm/stories/drop-down.stories.js.map +7 -0
- package/dist/esm/stories/evaluate.stories.d.ts +13 -0
- package/dist/esm/stories/evaluate.stories.js +2 -0
- package/dist/esm/stories/evaluate.stories.js.map +7 -0
- package/dist/esm/stories/grid.stories.d.ts +22 -0
- package/dist/esm/stories/grid.stories.js +13 -0
- package/dist/esm/stories/grid.stories.js.map +7 -0
- package/dist/esm/stories/heading.stories.d.ts +2 -2
- package/dist/esm/stories/heading.stories.js +1 -1
- package/dist/esm/stories/heading.stories.js.map +2 -2
- package/dist/esm/stories/input-number.stories.d.ts +39 -0
- package/dist/esm/stories/input-number.stories.js +2 -0
- package/dist/esm/stories/input-number.stories.js.map +7 -0
- package/dist/esm/stories/input.stories.js +1 -1
- package/dist/esm/stories/input.stories.js.map +2 -2
- package/dist/esm/stories/link.stories.d.ts +82 -0
- package/dist/esm/stories/link.stories.js +2 -0
- package/dist/esm/stories/link.stories.js.map +7 -0
- package/dist/esm/stories/marquee.stories.d.ts +49 -0
- package/dist/esm/stories/marquee.stories.js +2 -0
- package/dist/esm/stories/marquee.stories.js.map +7 -0
- package/dist/esm/stories/picture.stories.d.ts +1 -1
- package/dist/esm/stories/picture.stories.js +2 -2
- package/dist/esm/stories/picture.stories.js.map +2 -2
- package/dist/esm/stories/popover.stories.d.ts +1 -1
- package/dist/esm/stories/popover.stories.js +1 -1
- package/dist/esm/stories/popover.stories.js.map +2 -2
- package/dist/esm/stories/radio.stories.js +1 -1
- package/dist/esm/stories/radio.stories.js.map +2 -2
- package/dist/esm/stories/shelf.stories.d.ts +15 -0
- package/dist/esm/stories/shelf.stories.js +2 -0
- package/dist/esm/stories/shelf.stories.js.map +7 -0
- package/dist/esm/stories/shelfDisplay.stories.d.ts +13 -0
- package/dist/esm/stories/shelfDisplay.stories.js +2 -0
- package/dist/esm/stories/shelfDisplay.stories.js.map +7 -0
- package/dist/esm/stories/skeleton.stories.js +1 -1
- package/dist/esm/stories/skeleton.stories.js.map +2 -2
- package/dist/esm/stories/slogan.stories.d.ts +21 -0
- package/dist/esm/stories/slogan.stories.js +26 -0
- package/dist/esm/stories/slogan.stories.js.map +7 -0
- package/dist/esm/stories/tabs.stories.d.ts +360 -0
- package/dist/esm/stories/tabs.stories.js +2 -0
- package/dist/esm/stories/tabs.stories.js.map +7 -0
- package/dist/esm/stories/text.stories.d.ts +2 -11
- package/dist/esm/stories/text.stories.js +2 -2
- package/dist/esm/stories/text.stories.js.map +3 -3
- package/dist/esm/types/index.d.ts +0 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +7 -0
- package/dist/esm/types/props.d.ts +5 -0
- package/dist/esm/types/props.js +1 -0
- package/dist/esm/types/props.js.map +7 -0
- package/package.json +28 -3
- package/src/biz-components/BrandEquity/BrandEquity.tsx +77 -0
- package/src/biz-components/BrandEquity/index.ts +1 -0
- package/src/biz-components/Category/index.tsx +57 -0
- package/src/biz-components/Evaluate/index.tsx +85 -0
- package/src/biz-components/HeroBanner/HeroBanner.tsx +103 -0
- package/src/biz-components/HeroBanner/index.tsx +1 -0
- package/src/biz-components/HeroBanner/types.ts +28 -0
- package/src/biz-components/Marquee/index.tsx +79 -0
- package/src/biz-components/MemberEquity/index.tsx +114 -0
- package/src/biz-components/MemberEquity/types.ts +26 -0
- package/src/biz-components/Shelf/Shelf.tsx +22 -0
- package/src/biz-components/Shelf/index.ts +1 -0
- package/src/biz-components/Shelf/types.ts +6 -0
- package/src/biz-components/ShelfDisplay/index.tsx +142 -0
- package/src/biz-components/Slogan/index.tsx +53 -0
- package/src/biz-components/Slogan/types.ts +25 -0
- package/src/biz-components/index.ts +11 -0
- package/src/components/alert.tsx +124 -0
- package/src/components/avatar.tsx +126 -0
- package/src/components/badge.tsx +9 -11
- package/src/components/button.tsx +40 -23
- package/src/components/card.tsx +51 -0
- package/src/components/carousel.tsx +352 -0
- package/src/components/checkbox.tsx +5 -7
- package/src/components/color.tsx +77 -0
- package/src/components/container.tsx +28 -0
- package/src/components/dialog.tsx +9 -12
- package/src/components/drawer.tsx +115 -0
- package/src/components/drop-down.tsx +182 -0
- package/src/components/gird.tsx +90 -0
- package/src/components/heading.tsx +21 -26
- package/src/components/index.ts +12 -5
- package/src/components/input-number.tsx +216 -0
- package/src/components/input.tsx +9 -9
- package/src/components/link.tsx +99 -0
- package/src/components/picture.tsx +3 -2
- package/src/components/popover.tsx +1 -1
- package/src/components/radio.tsx +6 -6
- package/src/components/skeleton.tsx +3 -3
- package/src/components/tabs.tsx +78 -0
- package/src/components/text.tsx +20 -34
- package/src/components/theme.tsx +1 -2
- package/src/helpers/constants.ts +0 -3
- package/src/helpers/utils.ts +9 -1
- package/src/icons/spinner.tsx +1 -1
- package/src/shared/Styles.tsx +94 -0
- package/src/stories/HeroBanner.stories.tsx +86 -0
- package/src/stories/MemberEquity.stories.tsx +107 -0
- package/src/stories/alert.stories.tsx +41 -0
- package/src/stories/avatar.stories.tsx +83 -0
- package/src/stories/badge.stories.tsx +10 -14
- package/src/stories/brandEquity.stories.tsx +73 -0
- package/src/stories/button.stories.tsx +24 -3
- package/src/stories/card.stories.tsx +97 -0
- package/src/stories/carousel.stories.tsx +161 -0
- package/src/stories/category.stories.tsx +52 -0
- package/src/stories/checkbox.stories.tsx +9 -9
- package/src/stories/container.stories.tsx +97 -0
- package/src/stories/dialog.stories.tsx +8 -8
- package/src/stories/drawer.stories.tsx +88 -0
- package/src/stories/drop-down.stories.tsx +83 -0
- package/src/stories/evaluate.stories.tsx +53 -0
- package/src/stories/grid.stories.tsx +190 -0
- package/src/stories/heading.stories.tsx +4 -8
- package/src/stories/input-number.stories.tsx +52 -0
- package/src/stories/input.stories.tsx +2 -2
- package/src/stories/link.stories.tsx +142 -0
- package/src/stories/marquee.stories.tsx +102 -0
- package/src/stories/picture.stories.tsx +2 -2
- package/src/stories/popover.stories.tsx +2 -2
- package/src/stories/radio.stories.tsx +2 -2
- package/src/stories/shelf.stories.tsx +35 -0
- package/src/stories/shelfDisplay.stories.tsx +69 -0
- package/src/stories/skeleton.stories.tsx +7 -7
- package/src/stories/slogan.stories.tsx +99 -0
- package/src/stories/tabs.stories.tsx +179 -0
- package/src/stories/text.stories.tsx +9 -33
- package/src/styles/global.css +0 -197
- package/src/types/index.ts +0 -0
- package/src/types/props.ts +5 -0
- package/style.css +1091 -734
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { cn } from '../../helpers/utils'
|
|
3
|
+
import Picture from '../../components/picture'
|
|
4
|
+
import Button from '../../components/button'
|
|
5
|
+
export interface ShelfDisplayItem {
|
|
6
|
+
/** 产品图片*/
|
|
7
|
+
img: string
|
|
8
|
+
/** 折扣后价格*/
|
|
9
|
+
price: string
|
|
10
|
+
title: string
|
|
11
|
+
/** 折扣前价格*/
|
|
12
|
+
basePrice: string
|
|
13
|
+
subTitle: string
|
|
14
|
+
/** 标签*/
|
|
15
|
+
tagItems: string[]
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface ShelfDisplayProps {
|
|
19
|
+
products: ShelfDisplayItem[]
|
|
20
|
+
/** 卡片形状 */
|
|
21
|
+
itemShape?: 'round' | 'square'
|
|
22
|
+
className?: string
|
|
23
|
+
/** 主题色*/
|
|
24
|
+
theme?: 'light' | 'dark'
|
|
25
|
+
/** 按钮形状 */
|
|
26
|
+
shape?: 'round' | 'square'
|
|
27
|
+
/** 主按钮配置 */
|
|
28
|
+
primaryButton?: string
|
|
29
|
+
/** 副按钮配置 */
|
|
30
|
+
secondaryButton?: string
|
|
31
|
+
/** 按钮事件*/
|
|
32
|
+
event?: {
|
|
33
|
+
primaryButton?: {
|
|
34
|
+
onClick: (v: any) => void
|
|
35
|
+
},
|
|
36
|
+
secondaryButton?: {
|
|
37
|
+
onClick: (v: any) => void
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const ShelfDisplay: React.FC<ShelfDisplayProps> = ({
|
|
43
|
+
className = '',
|
|
44
|
+
shape = 'square',
|
|
45
|
+
itemShape = 'square',
|
|
46
|
+
products = [],
|
|
47
|
+
primaryButton,
|
|
48
|
+
secondaryButton,
|
|
49
|
+
event
|
|
50
|
+
}) => {
|
|
51
|
+
|
|
52
|
+
const onPrimaryButton = (params: ShelfDisplayItem) => {
|
|
53
|
+
event?.primaryButton?.onClick?.(params)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const onSecondaryButton = (params: ShelfDisplayItem) => {
|
|
57
|
+
event?.secondaryButton?.onClick(params)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return (
|
|
61
|
+
<>
|
|
62
|
+
<div className={cn('w-full', className)}>
|
|
63
|
+
<div className={cn('flex overflow-hidden', 'md:px-[140px] lg:px-[268px]')}>
|
|
64
|
+
<div className={cn('w-full flex', 'gap-3 md:gap-4 overflow-x-auto overflow-y-hidden')}>
|
|
65
|
+
{products?.map((item, index) => {
|
|
66
|
+
return (
|
|
67
|
+
<div
|
|
68
|
+
key={index}
|
|
69
|
+
className={cn(
|
|
70
|
+
'bg-[#EAEAEC] p-4 flex flex-col min-w-[288px] max-w-[288px]',
|
|
71
|
+
'md:min-w-[316px] md:max-w-[316px] lg:min-w-[404px] lg:max-w-[404px] lg:pt-4 lg:px-6 lg:pb-6',
|
|
72
|
+
itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'
|
|
73
|
+
)}
|
|
74
|
+
>
|
|
75
|
+
<div className={cn('h-[137px] overflow-hidden relative inline-block mb-2', 'lg:mb-3 lg:h-[195px]')}>
|
|
76
|
+
<Picture
|
|
77
|
+
source={item?.img || ''}
|
|
78
|
+
className="h-full [&_img]:w-auto object-cover flex justify-center"
|
|
79
|
+
/>
|
|
80
|
+
</div>
|
|
81
|
+
<div className="mb-1 flex gap-1 flex-wrap lg:mb-2">
|
|
82
|
+
{item?.tagItems?.map((tag, index) => {
|
|
83
|
+
return (
|
|
84
|
+
<div
|
|
85
|
+
key={index}
|
|
86
|
+
className="border-2 border-[#00BEFA] px-2 py-1 text-sm font-bold rounded-3xl text-[#00BEFA] lg:text-base"
|
|
87
|
+
>
|
|
88
|
+
{tag}
|
|
89
|
+
</div>
|
|
90
|
+
)
|
|
91
|
+
})}
|
|
92
|
+
</div>
|
|
93
|
+
<p className="flex-1 font-bold text-xl text-[#1D1D1F] leading-[1.2] tracking-[-0.04em] lg:text-2xl">
|
|
94
|
+
{item?.title || ''}
|
|
95
|
+
</p>
|
|
96
|
+
<h3 className="mt-1 mb-5 text-sm font-semibold text-[#1D1D1F] leading-[1.2] tracking-[-0.02em] lg:mt-2 lg:mb-6 lg:text-lg">
|
|
97
|
+
{item?.subTitle || ''}
|
|
98
|
+
</h3>
|
|
99
|
+
<div className="mb-2 flex items-center">
|
|
100
|
+
<div className="font-bold text-xl text-[#1D1D1F] lg:text-2xl">
|
|
101
|
+
{item?.price || ''}
|
|
102
|
+
</div>
|
|
103
|
+
<div className="ml-1 font-bold text-xl text-[#86868C] lg:text-2xl">
|
|
104
|
+
{item?.basePrice || ''}
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
{/* 按钮组 */}
|
|
108
|
+
<div className="flex items-center gap-3">
|
|
109
|
+
<Button
|
|
110
|
+
variant="primary"
|
|
111
|
+
onClick={() => onPrimaryButton(item)}
|
|
112
|
+
className={`
|
|
113
|
+
flex-1 bg-transparent border-[#1D1D1F] border box-border text-[#1D1D1F] text-xs md:text-sm lg:text-base
|
|
114
|
+
px-4 md:px-6 lg:px-7 hover:bg-transparent hover:text-black py-2 md:py-2.5 lg:py-3 tracking-[-0.04em]
|
|
115
|
+
${shape === 'round' ? 'rounded-[20px] lg:rounded-3xl' : ''}
|
|
116
|
+
`}
|
|
117
|
+
>
|
|
118
|
+
{primaryButton || ''}
|
|
119
|
+
</Button>
|
|
120
|
+
<Button
|
|
121
|
+
variant="secondary"
|
|
122
|
+
onClick={() => onSecondaryButton(item)}
|
|
123
|
+
className={`
|
|
124
|
+
flex-1 bg-[#1D1D1F] border-[#1D1D1F] border text-white box-border text-xs md:text-sm lg:text-base
|
|
125
|
+
px-4 md:px-6 lg:px-7 py-2 md:py-2.5 lg:py-3 tracking-[-0.04em]
|
|
126
|
+
${shape === 'round' ? 'rounded-[20px] lg:rounded-3xl' : ''}
|
|
127
|
+
`}
|
|
128
|
+
>
|
|
129
|
+
{secondaryButton || ''}
|
|
130
|
+
</Button>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
)
|
|
134
|
+
})}
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
</>
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export default ShelfDisplay
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { cn } from '../../helpers/utils.js'
|
|
3
|
+
import { Heading, Text } from '../../components/index.js'
|
|
4
|
+
import { withStyles } from '../../shared/Styles.js'
|
|
5
|
+
import type { SloganProps } from './types.js'
|
|
6
|
+
|
|
7
|
+
const Slogan = React.forwardRef<HTMLDivElement, SloganProps>(
|
|
8
|
+
({ title, features, className }, ref) => {
|
|
9
|
+
return (
|
|
10
|
+
<div
|
|
11
|
+
ref={ref}
|
|
12
|
+
className={cn(
|
|
13
|
+
'flex flex-col items-start md:flex-row md:items-end justify-center md:justify-between text-center w-full',
|
|
14
|
+
'px-4 sm:px-6 md:px-8 lg:px-16 xl:px-32',
|
|
15
|
+
'gap-8 py-8 sm:py-10 md:py-12 lg:py-16 xl:py-20',
|
|
16
|
+
className
|
|
17
|
+
)}
|
|
18
|
+
>
|
|
19
|
+
<Heading
|
|
20
|
+
as="h2"
|
|
21
|
+
size={2}
|
|
22
|
+
weight={"bold"}
|
|
23
|
+
align={"left"}
|
|
24
|
+
className='slogan-title text-[#1D1D1F] !leading-none text-[40px] md:text-[40px] lg:text-[48px] xl:text-[64px]'
|
|
25
|
+
>
|
|
26
|
+
{title}
|
|
27
|
+
</Heading>
|
|
28
|
+
{features && features.length > 0 && (
|
|
29
|
+
<div className="flex flex-row w-full gap-3 max-w-[423px] items-center">
|
|
30
|
+
{features.slice(0, 3).map((feature, index) => (
|
|
31
|
+
<React.Fragment key={index}>
|
|
32
|
+
{index > 0 && (
|
|
33
|
+
<div className="self-stretch w-px bg-[#D9D9D9]" />
|
|
34
|
+
)}
|
|
35
|
+
<div className="flex-1">
|
|
36
|
+
<Text
|
|
37
|
+
align="left"
|
|
38
|
+
className="slogan-feature-text font-medium line-clamp-3 md:line-clamp-2 text-[#1D1D1F] text-[12px] leading-[1.4] sm:text-[13px] md:text-[14px]"
|
|
39
|
+
html={feature}
|
|
40
|
+
/>
|
|
41
|
+
</div>
|
|
42
|
+
</React.Fragment>
|
|
43
|
+
))}
|
|
44
|
+
</div>
|
|
45
|
+
)}
|
|
46
|
+
</div>
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
Slogan.displayName = 'Slogan'
|
|
52
|
+
|
|
53
|
+
export default withStyles(Slogan)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface Feature {
|
|
2
|
+
/**
|
|
3
|
+
* 特性标题
|
|
4
|
+
*/
|
|
5
|
+
title: string
|
|
6
|
+
/**
|
|
7
|
+
* 特性描述
|
|
8
|
+
*/
|
|
9
|
+
description: string
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface SloganProps {
|
|
13
|
+
/**
|
|
14
|
+
* 主标题
|
|
15
|
+
*/
|
|
16
|
+
title: string
|
|
17
|
+
/**
|
|
18
|
+
* 特性列表,最多支持3个
|
|
19
|
+
*/
|
|
20
|
+
features?: string[]
|
|
21
|
+
/**
|
|
22
|
+
* 自定义类名
|
|
23
|
+
*/
|
|
24
|
+
className?: string
|
|
25
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { default as Shelf } from './Shelf/index.js'
|
|
2
|
+
export { default as BrandEquity } from './BrandEquity/index.js'
|
|
3
|
+
export { default as MemberEquity } from './MemberEquity/index.js'
|
|
4
|
+
export { default as Slogan } from './Slogan/index.js'
|
|
5
|
+
export { default as ShelfDisplay } from './ShelfDisplay/index.js'
|
|
6
|
+
export { default as Evaluate } from './Evaluate/index.js'
|
|
7
|
+
export { default as Category } from './Category/index.js'
|
|
8
|
+
export { default as HeroBanner } from './HeroBanner/index.js'
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
export * from './Marquee'
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import * as React from 'react'
|
|
2
|
+
import { cva, type VariantProps } from 'class-variance-authority'
|
|
3
|
+
import { cn } from '../helpers/index.js'
|
|
4
|
+
|
|
5
|
+
const alertVariants = cva(
|
|
6
|
+
'[&>svg:first-child]:text-foreground relative w-full rounded-lg border px-4 py-3 text-sm [&>:first-child]:absolute [&>svg:first-child+div]:translate-y-[-3px] [&>svg:first-child]:left-4 [&>svg:first-child]:top-2 [&>svg:first-child~*]:pl-7',
|
|
7
|
+
{
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
default: 'bg-background text-foreground',
|
|
11
|
+
destructive:
|
|
12
|
+
'border-destructive/50 text-destructive dark:border-destructive [&>svg:first-child]:text-destructive',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
defaultVariants: {
|
|
16
|
+
variant: 'default',
|
|
17
|
+
},
|
|
18
|
+
}
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
const Close = () => (
|
|
22
|
+
<svg
|
|
23
|
+
className="close absolute right-4 top-2 size-6 cursor-pointer !pl-0"
|
|
24
|
+
width="24"
|
|
25
|
+
height="24"
|
|
26
|
+
viewBox="0 0 24 24"
|
|
27
|
+
fill="none"
|
|
28
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
29
|
+
>
|
|
30
|
+
<path
|
|
31
|
+
d="M15.3452 16.4762L12.1377 13.2687L8.92973 16.4767C8.61712 16.7893 8.11029 16.7891 7.79766 16.4765C7.48505 16.1638 7.4848 15.657 7.79741 15.3444L11.0054 12.1364L7.79791 8.92891C7.48503 8.61603 7.48503 8.10946 7.79765 7.79683C8.11015 7.48433 8.61688 7.48424 8.92973 7.79709L12.1372 11.0046L15.3452 7.79658C15.6577 7.48408 16.1646 7.48421 16.4772 7.79683C16.7899 8.10946 16.79 8.61641 16.4775 8.9289L13.2695 12.1369L16.477 15.3444C16.7899 15.6572 16.7898 16.1639 16.4773 16.4764C16.1647 16.789 15.6581 16.789 15.3452 16.4762L15.3452 16.4762Z"
|
|
32
|
+
fill="#1D1D1F"
|
|
33
|
+
/>
|
|
34
|
+
</svg>
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
const IconMap = {
|
|
38
|
+
info: (
|
|
39
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
40
|
+
<circle cx="12" cy="12" r="10.5" fill="#00BEFA" />
|
|
41
|
+
<path
|
|
42
|
+
fillRule="evenodd"
|
|
43
|
+
clipRule="evenodd"
|
|
44
|
+
d="M13.1249 7.13281C13.1249 6.51149 12.6213 6.00781 11.9999 6.00781C11.3786 6.00781 10.8749 6.51149 10.8749 7.13281V13.1328C10.8749 13.7541 11.3786 14.2578 11.9999 14.2578C12.6213 14.2578 13.1249 13.7541 13.1249 13.1328V7.13281ZM13.3499 16.6342C13.3499 15.8886 12.7455 15.2842 11.9999 15.2842C11.2543 15.2842 10.6499 15.8886 10.6499 16.6342C10.6499 17.3798 11.2543 17.9842 11.9999 17.9842C12.7455 17.9842 13.3499 17.3798 13.3499 16.6342Z"
|
|
45
|
+
fill="white"
|
|
46
|
+
/>
|
|
47
|
+
</svg>
|
|
48
|
+
),
|
|
49
|
+
success: (
|
|
50
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
51
|
+
<circle cx="12.5" cy="12.5" r="10.5" fill="#30D158" />
|
|
52
|
+
<path
|
|
53
|
+
fillRule="evenodd"
|
|
54
|
+
clipRule="evenodd"
|
|
55
|
+
d="M18.3976 8.6772C18.0468 8.32635 17.478 8.32635 17.1271 8.6772L11.5586 14.2457L8.15843 10.8456C7.80758 10.4947 7.23874 10.4947 6.88789 10.8456C6.53704 11.1964 6.53704 11.7653 6.88789 12.1161L10.849 16.0772C10.8632 16.0914 10.8778 16.1051 10.8928 16.1182C10.9028 16.1293 10.9132 16.1402 10.9239 16.1509C11.2748 16.5018 11.8436 16.5018 12.1945 16.1509L18.3976 9.94773C18.7485 9.59688 18.7485 9.02805 18.3976 8.6772Z"
|
|
56
|
+
fill="white"
|
|
57
|
+
/>
|
|
58
|
+
</svg>
|
|
59
|
+
),
|
|
60
|
+
warning: (
|
|
61
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
62
|
+
<circle cx="12" cy="12" r="10.5" fill="#FFC24D" />
|
|
63
|
+
<path
|
|
64
|
+
fillRule="evenodd"
|
|
65
|
+
clipRule="evenodd"
|
|
66
|
+
d="M13.1249 7.13281C13.1249 6.51149 12.6213 6.00781 11.9999 6.00781C11.3786 6.00781 10.8749 6.51149 10.8749 7.13281V13.1328C10.8749 13.7541 11.3786 14.2578 11.9999 14.2578C12.6213 14.2578 13.1249 13.7541 13.1249 13.1328V7.13281ZM13.3499 16.6342C13.3499 15.8886 12.7455 15.2842 11.9999 15.2842C11.2543 15.2842 10.6499 15.8886 10.6499 16.6342C10.6499 17.3798 11.2543 17.9842 11.9999 17.9842C12.7455 17.9842 13.3499 17.3798 13.3499 16.6342Z"
|
|
67
|
+
fill="white"
|
|
68
|
+
/>
|
|
69
|
+
</svg>
|
|
70
|
+
),
|
|
71
|
+
error: (
|
|
72
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
73
|
+
<circle cx="12" cy="12" r="10.5" fill="#FF4D4D" />
|
|
74
|
+
<path
|
|
75
|
+
fillRule="evenodd"
|
|
76
|
+
clipRule="evenodd"
|
|
77
|
+
d="M13.1249 7.13281C13.1249 6.51149 12.6213 6.00781 11.9999 6.00781C11.3786 6.00781 10.8749 6.51149 10.8749 7.13281V13.1328C10.8749 13.7541 11.3786 14.2578 11.9999 14.2578C12.6213 14.2578 13.1249 13.7541 13.1249 13.1328V7.13281ZM13.3499 16.6342C13.3499 15.8886 12.7455 15.2842 11.9999 15.2842C11.2543 15.2842 10.6499 15.8886 10.6499 16.6342C10.6499 17.3798 11.2543 17.9842 11.9999 17.9842C12.7455 17.9842 13.3499 17.3798 13.3499 16.6342Z"
|
|
78
|
+
fill="white"
|
|
79
|
+
/>
|
|
80
|
+
</svg>
|
|
81
|
+
),
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const Alert = React.forwardRef<
|
|
85
|
+
HTMLDivElement,
|
|
86
|
+
React.HTMLAttributes<HTMLDivElement> &
|
|
87
|
+
VariantProps<typeof alertVariants> & {
|
|
88
|
+
/**
|
|
89
|
+
* 状态
|
|
90
|
+
*/
|
|
91
|
+
status?: 'success' | 'error' | 'warning' | 'info'
|
|
92
|
+
/**
|
|
93
|
+
* 是否可以关闭
|
|
94
|
+
*/
|
|
95
|
+
closable?: boolean
|
|
96
|
+
}
|
|
97
|
+
>(({ className, variant, status, closable = false, children, ...props }, ref) => {
|
|
98
|
+
const icon = status ? IconMap[status] : null
|
|
99
|
+
|
|
100
|
+
return (
|
|
101
|
+
<div ref={ref} role="alert" className={cn(alertVariants({ variant }), className)} {...props}>
|
|
102
|
+
{icon}
|
|
103
|
+
{children}
|
|
104
|
+
{closable && <Close />}
|
|
105
|
+
</div>
|
|
106
|
+
)
|
|
107
|
+
})
|
|
108
|
+
Alert.displayName = 'Alert'
|
|
109
|
+
|
|
110
|
+
const AlertTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(
|
|
111
|
+
({ className, ...props }, ref) => (
|
|
112
|
+
<h5 ref={ref} className={cn('mb-1 font-medium leading-none tracking-tight', className)} {...props} />
|
|
113
|
+
)
|
|
114
|
+
)
|
|
115
|
+
AlertTitle.displayName = 'AlertTitle'
|
|
116
|
+
|
|
117
|
+
const AlertDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(
|
|
118
|
+
({ className, ...props }, ref) => (
|
|
119
|
+
<div ref={ref} className={cn('text-sm text-[#86868C] [&_p]:leading-relaxed', className)} {...props} />
|
|
120
|
+
)
|
|
121
|
+
)
|
|
122
|
+
AlertDescription.displayName = 'AlertDescription'
|
|
123
|
+
|
|
124
|
+
export { Alert, AlertTitle, AlertDescription }
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import React, { useEffect, useRef, forwardRef } from 'react'
|
|
4
|
+
import fitty from 'fitty'
|
|
5
|
+
import type { FittyInstance } from 'fitty'
|
|
6
|
+
import * as AvatarPrimitive from '@radix-ui/react-avatar'
|
|
7
|
+
import { type VariantProps, cva } from 'class-variance-authority'
|
|
8
|
+
import { cn } from '../helpers/index.js'
|
|
9
|
+
|
|
10
|
+
// 定义 avatar 的样式变体
|
|
11
|
+
const avatarVariants = cva('tracking transition-colors', {
|
|
12
|
+
variants: {
|
|
13
|
+
size: {
|
|
14
|
+
small: 'size-6', // 小
|
|
15
|
+
medium: 'size-12', // 中
|
|
16
|
+
large: 'size-[72px]', // 大
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
type AvatarProps = {
|
|
22
|
+
/** 定义子组件作为父组件的类型,详细使用方式请参考radix-ui */
|
|
23
|
+
asChild?: boolean
|
|
24
|
+
/** 类名*/
|
|
25
|
+
className?: string
|
|
26
|
+
/** 样式*/
|
|
27
|
+
style?: React.CSSProperties
|
|
28
|
+
/** 点击事件*/
|
|
29
|
+
onClick?: Function
|
|
30
|
+
/** 文本自适应*/
|
|
31
|
+
isAdaptation?: boolean
|
|
32
|
+
/** 文本自适应最小字体, 开启时生效*/
|
|
33
|
+
minSize?: number
|
|
34
|
+
/** 文本自适应最大字体, 开启时生效*/
|
|
35
|
+
maxSize?: number
|
|
36
|
+
/** 文本自适应的类, 开启时生效*/
|
|
37
|
+
textClassName?: string
|
|
38
|
+
} & VariantProps<typeof avatarVariants> &
|
|
39
|
+
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>
|
|
40
|
+
|
|
41
|
+
const Avatar = forwardRef<React.ElementRef<typeof AvatarPrimitive.Root>, AvatarProps>(
|
|
42
|
+
(
|
|
43
|
+
{
|
|
44
|
+
className,
|
|
45
|
+
textClassName,
|
|
46
|
+
isAdaptation = false,
|
|
47
|
+
minSize = 4,
|
|
48
|
+
maxSize = 16,
|
|
49
|
+
children,
|
|
50
|
+
style,
|
|
51
|
+
size = 'small',
|
|
52
|
+
onClick,
|
|
53
|
+
...props
|
|
54
|
+
},
|
|
55
|
+
ref
|
|
56
|
+
) => {
|
|
57
|
+
const textRef = useRef<HTMLDivElement>(null)
|
|
58
|
+
// 点击事件
|
|
59
|
+
const handleClick = (e: React.MouseEvent<HTMLSpanElement, MouseEvent>) => {
|
|
60
|
+
onClick?.(e)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
let fittyInstance: FittyInstance
|
|
65
|
+
if (isAdaptation && textRef.current) {
|
|
66
|
+
fittyInstance = fitty?.(textRef.current, {
|
|
67
|
+
minSize,
|
|
68
|
+
maxSize,
|
|
69
|
+
})
|
|
70
|
+
}
|
|
71
|
+
return () => fittyInstance?.unsubscribe?.()
|
|
72
|
+
}, [])
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
<AvatarPrimitive.Root
|
|
76
|
+
ref={ref}
|
|
77
|
+
onClick={handleClick}
|
|
78
|
+
className={cn(
|
|
79
|
+
avatarVariants({ size }),
|
|
80
|
+
'bg-bg-2 relative flex shrink-0 overflow-hidden rounded-full',
|
|
81
|
+
className
|
|
82
|
+
)}
|
|
83
|
+
{...(style ? { style: style } : null)}
|
|
84
|
+
{...props}
|
|
85
|
+
>
|
|
86
|
+
{isAdaptation ? (
|
|
87
|
+
<span className="bg-muted flex size-full items-center justify-center rounded-full">
|
|
88
|
+
<span ref={textRef} className={cn('px-2', textClassName)}>
|
|
89
|
+
{children}
|
|
90
|
+
</span>
|
|
91
|
+
</span>
|
|
92
|
+
) : (
|
|
93
|
+
children
|
|
94
|
+
)}
|
|
95
|
+
</AvatarPrimitive.Root>
|
|
96
|
+
)
|
|
97
|
+
}
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
Avatar.displayName = 'Avatar'
|
|
101
|
+
|
|
102
|
+
const AvatarImage = forwardRef<
|
|
103
|
+
React.ElementRef<typeof AvatarPrimitive.Image>,
|
|
104
|
+
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>
|
|
105
|
+
>(({ className, ...props }, ref) => (
|
|
106
|
+
<AvatarPrimitive.Image ref={ref} className={cn('aspect-square size-full', className)} {...props} />
|
|
107
|
+
))
|
|
108
|
+
|
|
109
|
+
AvatarImage.displayName = AvatarPrimitive.Image.displayName
|
|
110
|
+
|
|
111
|
+
const AvatarFallback = forwardRef<
|
|
112
|
+
React.ElementRef<typeof AvatarPrimitive.Fallback>,
|
|
113
|
+
React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>
|
|
114
|
+
>(({ className, ...props }, ref) => {
|
|
115
|
+
return (
|
|
116
|
+
<AvatarPrimitive.Fallback
|
|
117
|
+
ref={ref}
|
|
118
|
+
className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}
|
|
119
|
+
{...props}
|
|
120
|
+
/>
|
|
121
|
+
)
|
|
122
|
+
})
|
|
123
|
+
|
|
124
|
+
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
|
|
125
|
+
|
|
126
|
+
export { Avatar, AvatarImage, AvatarFallback }
|
package/src/components/badge.tsx
CHANGED
|
@@ -4,26 +4,24 @@ import { type VariantProps, cva } from 'class-variance-authority'
|
|
|
4
4
|
import { cn } from '../helpers/index.js'
|
|
5
5
|
|
|
6
6
|
const badgeVariants = cva(
|
|
7
|
-
'
|
|
7
|
+
'inline-flex justify-center text-btn-primary border-btn-primary items-center font-medium rounded-[20px] border px-[10px] py-1 text-xs transition-colors focus:outline-none',
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
outline: 'ai-text-foreground',
|
|
15
|
-
},
|
|
10
|
+
size: {
|
|
11
|
+
sm: 'text-xs',
|
|
12
|
+
base: 'text-sm',
|
|
13
|
+
}
|
|
16
14
|
},
|
|
17
15
|
defaultVariants: {
|
|
18
|
-
|
|
16
|
+
size: 'base',
|
|
19
17
|
},
|
|
20
18
|
}
|
|
21
19
|
)
|
|
22
20
|
|
|
23
|
-
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}
|
|
21
|
+
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> { }
|
|
24
22
|
|
|
25
|
-
function Badge({ className,
|
|
26
|
-
return <div className={cn(badgeVariants({
|
|
23
|
+
function Badge({ className, size, ...props }: BadgeProps) {
|
|
24
|
+
return <div className={cn(badgeVariants({ size }), className)} {...props} />
|
|
27
25
|
}
|
|
28
26
|
|
|
29
27
|
export default Badge
|
|
@@ -11,21 +11,22 @@ import { cn } from '../helpers/index.js'
|
|
|
11
11
|
* Button Variants
|
|
12
12
|
*/
|
|
13
13
|
const buttonVariants = cva(
|
|
14
|
-
'
|
|
14
|
+
'ring-offset-background focus-visible:ring-ring rounded-btn inline-flex items-center justify-center text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none',
|
|
15
15
|
{
|
|
16
16
|
variants: {
|
|
17
17
|
variant: {
|
|
18
|
-
|
|
18
|
+
nature: 'border border-solid border-black',
|
|
19
|
+
primary: 'bg-btn-primary text-btn-primary-foreground hover:bg-btn-primary-active',
|
|
19
20
|
secondary:
|
|
20
|
-
'
|
|
21
|
-
link: '
|
|
22
|
-
ghost: 'hover:
|
|
21
|
+
'bg-btn-secondary text-btn-secondary-foreground hover:bg-btn-secondary-active hover:text-btn-secondary border border-solid',
|
|
22
|
+
link: 'text-primary underline-offset-4 hover:underline',
|
|
23
|
+
ghost: 'hover:bg-btn-primary hover:text-btn-primary-foreground',
|
|
23
24
|
},
|
|
24
25
|
size: {
|
|
25
|
-
sm: '
|
|
26
|
-
base: '
|
|
27
|
-
lg: '
|
|
28
|
-
icon: '
|
|
26
|
+
sm: 'px-3 py-2 text-[12px] leading-tight',
|
|
27
|
+
base: 'px-5 pt-[11px] pb-[10px] text-[14px] leading-tight',
|
|
28
|
+
lg: 'px-7 pt-[15px] pb-[14px] text-[16px] leading-tight',
|
|
29
|
+
icon: 'size-10 rounded-full leading-tight',
|
|
29
30
|
},
|
|
30
31
|
/** hover 状态下的动画效果,需要注意不同variant 下的效果 */
|
|
31
32
|
hoverEffect: {
|
|
@@ -37,40 +38,53 @@ const buttonVariants = cva(
|
|
|
37
38
|
disabled: '',
|
|
38
39
|
loading: '',
|
|
39
40
|
},
|
|
41
|
+
theme: {
|
|
42
|
+
dark: '',
|
|
43
|
+
light: '',
|
|
44
|
+
},
|
|
40
45
|
},
|
|
41
46
|
compoundVariants: [
|
|
42
47
|
{
|
|
43
48
|
variant: 'primary',
|
|
44
49
|
hoverEffect: 'slide',
|
|
45
50
|
class:
|
|
46
|
-
'
|
|
51
|
+
'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-primary before:bg-btn-primary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[""] hover:before:translate-x-0',
|
|
47
52
|
},
|
|
48
53
|
{
|
|
49
54
|
variant: 'secondary',
|
|
50
55
|
hoverEffect: 'slide',
|
|
51
56
|
class:
|
|
52
|
-
'
|
|
57
|
+
'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-secondary before:bg-btn-secondary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[""] hover:before:translate-x-0',
|
|
53
58
|
},
|
|
54
59
|
{
|
|
55
60
|
variant: 'primary',
|
|
56
61
|
state: 'loading',
|
|
57
|
-
class: '
|
|
62
|
+
class: 'bg-btn-primary',
|
|
58
63
|
},
|
|
59
64
|
{
|
|
60
65
|
variant: 'secondary',
|
|
61
66
|
state: 'loading',
|
|
62
|
-
class:
|
|
63
|
-
'ai-bg-btn-secondary disabled:ai-bg-btn-secondary-disabled disabled:ai-text-btn-secondary-disabled-foreground',
|
|
67
|
+
class: 'bg-btn-secondary disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground',
|
|
64
68
|
},
|
|
65
69
|
{
|
|
66
70
|
variant: 'primary',
|
|
67
71
|
state: 'disabled',
|
|
68
|
-
class: 'disabled:
|
|
72
|
+
class: 'disabled:bg-btn-primary-disabled disabled:text-btn-primary-disabled-foreground',
|
|
69
73
|
},
|
|
70
74
|
{
|
|
71
75
|
variant: 'secondary',
|
|
72
76
|
state: 'disabled',
|
|
73
|
-
class: 'disabled:
|
|
77
|
+
class: 'disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
variant: 'nature',
|
|
81
|
+
theme: 'dark',
|
|
82
|
+
class: 'bg-transparent text-black',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
variant: 'nature',
|
|
86
|
+
theme: 'light',
|
|
87
|
+
class: 'bg-black text-white',
|
|
74
88
|
},
|
|
75
89
|
],
|
|
76
90
|
defaultVariants: {
|
|
@@ -78,6 +92,7 @@ const buttonVariants = cva(
|
|
|
78
92
|
size: 'base',
|
|
79
93
|
hoverEffect: 'none',
|
|
80
94
|
state: 'default',
|
|
95
|
+
theme: 'light',
|
|
81
96
|
},
|
|
82
97
|
}
|
|
83
98
|
)
|
|
@@ -85,10 +100,11 @@ const buttonVariants = cva(
|
|
|
85
100
|
const loadingSvgVariants = cva('', {
|
|
86
101
|
variants: {
|
|
87
102
|
variant: {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
103
|
+
nature: 'stroke-btn-primary-foreground',
|
|
104
|
+
primary: 'stroke-btn-primary-foreground',
|
|
105
|
+
secondary: 'stroke-btn-secondary-foreground',
|
|
106
|
+
link: 'stroke-primary',
|
|
107
|
+
ghost: 'stroke-primary',
|
|
92
108
|
},
|
|
93
109
|
},
|
|
94
110
|
defaultVariants: {
|
|
@@ -98,7 +114,7 @@ const loadingSvgVariants = cva('', {
|
|
|
98
114
|
|
|
99
115
|
export interface ButtonProps
|
|
100
116
|
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
|
|
101
|
-
|
|
117
|
+
VariantProps<typeof buttonVariants> {
|
|
102
118
|
/** 设置按钮载入状态 */
|
|
103
119
|
loading?: boolean
|
|
104
120
|
/** 设置按钮失效状态 */
|
|
@@ -116,6 +132,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
|
|
116
132
|
size = 'base',
|
|
117
133
|
children,
|
|
118
134
|
variant,
|
|
135
|
+
theme = 'light',
|
|
119
136
|
hoverEffect = 'none',
|
|
120
137
|
className,
|
|
121
138
|
disabled = false,
|
|
@@ -132,7 +149,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
|
|
132
149
|
return (
|
|
133
150
|
<Comp
|
|
134
151
|
disabled={isInactive}
|
|
135
|
-
className={cn(buttonVariants({ variant, size, hoverEffect, state }), className)}
|
|
152
|
+
className={cn(buttonVariants({ variant, size, hoverEffect, state, theme }), className)}
|
|
136
153
|
ref={ref}
|
|
137
154
|
{...props}
|
|
138
155
|
>
|
|
@@ -141,7 +158,7 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
|
|
141
158
|
<span style={{ display: 'contents', visibility: 'hidden' }} aria-hidden>
|
|
142
159
|
{children}
|
|
143
160
|
</span>
|
|
144
|
-
<span className="
|
|
161
|
+
<span className="absolute">
|
|
145
162
|
{spinner ? (
|
|
146
163
|
spinner
|
|
147
164
|
) : (
|