@sima-land/moleculas 16.0.0-alpha.4 → 16.0.0-alpha.41
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/README.md +23 -0
- package/common/components/badge/badge.d.ts +7 -0
- package/common/components/badge/badge.js +42 -0
- package/common/components/badge/badge.js.map +1 -0
- package/common/components/badge/badge.m.scss +100 -0
- package/common/components/badge/index.d.ts +2 -19
- package/common/components/badge/index.js +3 -80
- package/common/components/badge/index.js.map +1 -0
- package/common/components/badge/types.d.ts +40 -0
- package/common/components/{intractive-image → badge}/types.js +1 -0
- package/common/components/badge/types.js.map +1 -0
- package/common/components/badge/utils.d.ts +33 -0
- package/common/components/badge/utils.js +112 -0
- package/common/components/badge/utils.js.map +1 -0
- package/common/components/badge-list/badge-list.d.ts +29 -0
- package/common/components/badge-list/badge-list.js +38 -0
- package/common/components/badge-list/badge-list.js.map +1 -0
- package/common/components/badge-list/index.d.ts +1 -29
- package/common/components/badge-list/index.js +3 -56
- package/common/components/badge-list/index.js.map +1 -0
- package/common/components/breadcrumbs/breadcrumbs.d.ts +46 -0
- package/common/components/breadcrumbs/breadcrumbs.js +82 -0
- package/common/components/breadcrumbs/breadcrumbs.js.map +1 -0
- package/common/components/breadcrumbs/breadcrumbs.m.scss +113 -0
- package/common/components/breadcrumbs/index.d.ts +2 -0
- package/common/components/breadcrumbs/index.js +7 -0
- package/common/components/breadcrumbs/index.js.map +1 -0
- package/common/components/breadcrumbs/types.d.ts +8 -0
- package/common/{types.js → components/breadcrumbs/types.js} +1 -0
- package/common/components/breadcrumbs/types.js.map +1 -0
- package/common/components/hover-slider/hover-slider-nav.d.ts +7 -0
- package/common/components/hover-slider/hover-slider-nav.js +20 -0
- package/common/components/hover-slider/hover-slider-nav.js.map +1 -0
- package/common/components/hover-slider/hover-slider-nav.m.scss +22 -0
- package/common/components/hover-slider/hover-slider.d.ts +9 -0
- package/common/components/hover-slider/hover-slider.js +95 -0
- package/common/components/hover-slider/hover-slider.js.map +1 -0
- package/common/components/hover-slider/hover-slider.m.scss +36 -0
- package/common/components/hover-slider/index.d.ts +3 -0
- package/common/components/hover-slider/index.js +9 -0
- package/common/components/hover-slider/index.js.map +1 -0
- package/common/components/hover-slider/types.d.ts +30 -0
- package/common/components/hover-slider/types.js +3 -0
- package/common/components/hover-slider/types.js.map +1 -0
- package/common/components/hover-slider/utils.d.ts +13 -0
- package/common/components/hover-slider/utils.js +36 -0
- package/common/components/hover-slider/utils.js.map +1 -0
- package/common/components/img-stub/img-stub.d.ts +14 -0
- package/common/components/img-stub/img-stub.js +20 -0
- package/common/components/img-stub/img-stub.js.map +1 -0
- package/common/components/img-stub/img-stub.m.scss +36 -0
- package/common/components/img-stub/index.d.ts +1 -0
- package/common/components/img-stub/index.js +6 -0
- package/common/components/img-stub/index.js.map +1 -0
- package/common/components/{intractive-image → interactive-image}/index.js +1 -0
- package/common/components/interactive-image/index.js.map +1 -0
- package/common/components/{intractive-image → interactive-image}/interactive-image-util.scss +1 -1
- package/common/components/interactive-image/interactive-image.d.ts +15 -0
- package/common/components/interactive-image/interactive-image.js +55 -0
- package/common/components/interactive-image/interactive-image.js.map +1 -0
- package/common/components/{intractive-image/interactive-image.module.scss → interactive-image/interactive-image.m.scss} +2 -2
- package/common/components/{intractive-image → interactive-image}/types.d.ts +4 -4
- package/common/components/interactive-image/types.js +3 -0
- package/common/components/interactive-image/types.js.map +1 -0
- package/common/components/media-gallery/index.d.ts +2 -0
- package/common/components/media-gallery/index.js +7 -0
- package/common/components/media-gallery/index.js.map +1 -0
- package/common/components/media-gallery/media-gallery.d.ts +16 -0
- package/common/components/media-gallery/media-gallery.js +89 -0
- package/common/components/media-gallery/media-gallery.js.map +1 -0
- package/common/components/media-gallery/media-gallery.m.scss +35 -0
- package/common/components/media-gallery/types.d.ts +12 -0
- package/common/components/media-gallery/types.js +3 -0
- package/common/components/media-gallery/types.js.map +1 -0
- package/common/components/media-gallery/utils.d.ts +38 -0
- package/common/components/media-gallery/utils.js +102 -0
- package/common/components/media-gallery/utils.js.map +1 -0
- package/common/components/media-modal/index.d.ts +4 -4
- package/common/components/media-modal/index.js +6 -3
- package/common/components/media-modal/index.js.map +1 -0
- package/common/components/media-modal/layout.d.ts +5 -5
- package/common/components/media-modal/layout.js +22 -49
- package/common/components/media-modal/layout.js.map +1 -0
- package/common/components/media-modal/{layout.module.scss → layout.m.scss} +3 -5
- package/common/components/media-modal/parts/all-round-view.d.ts +1 -2
- package/common/components/media-modal/parts/all-round-view.js +13 -50
- package/common/components/media-modal/parts/all-round-view.js.map +1 -0
- package/common/components/media-modal/parts/index.d.ts +3 -3
- package/common/components/media-modal/parts/index.js +28 -23
- package/common/components/media-modal/parts/index.js.map +1 -0
- package/common/components/media-modal/parts/media-area.d.ts +25 -0
- package/common/components/media-modal/parts/media-area.js +60 -0
- package/common/components/media-modal/parts/media-area.js.map +1 -0
- package/common/components/media-modal/parts/media-area.m.scss +21 -0
- package/common/components/media-modal/parts/media-view.d.ts +9 -2
- package/common/components/media-modal/parts/media-view.js +31 -16
- package/common/components/media-modal/parts/media-view.js.map +1 -0
- package/common/components/media-modal/parts/{media-view.module.scss → media-view.m.scss} +8 -4
- package/common/components/media-modal/parts/{parts.module.scss → parts.m.scss} +2 -2
- package/common/components/media-modal/parts/product-brief.d.ts +4 -2
- package/common/components/media-modal/parts/product-brief.js +15 -33
- package/common/components/media-modal/parts/product-brief.js.map +1 -0
- package/common/components/media-modal/parts/{product-brief.module.scss → product-brief.m.scss} +11 -9
- package/common/components/media-modal/parts/review.d.ts +1 -1
- package/common/components/media-modal/parts/review.js +8 -21
- package/common/components/media-modal/parts/review.js.map +1 -0
- package/common/components/media-modal/parts/{review.module.scss → review.m.scss} +2 -2
- package/common/components/media-modal/parts/scroll-section.d.ts +1 -1
- package/common/components/media-modal/parts/scroll-section.js +6 -9
- package/common/components/media-modal/parts/scroll-section.js.map +1 -0
- package/common/components/media-modal/parts/{scroll-section.module.scss → scroll-section.m.scss} +2 -2
- package/common/components/media-modal/parts/thumbnail.d.ts +4 -4
- package/common/components/media-modal/parts/thumbnail.js +15 -44
- package/common/components/media-modal/parts/thumbnail.js.map +1 -0
- package/common/components/media-modal/parts/{thumbnail.module.scss → thumbnail.m.scss} +36 -14
- package/common/components/media-modal/parts/thumbnails.d.ts +1 -1
- package/common/components/media-modal/parts/thumbnails.js +13 -48
- package/common/components/media-modal/parts/thumbnails.js.map +1 -0
- package/common/components/media-modal/parts/{thumbnails.module.scss → thumbnails.m.scss} +1 -1
- package/common/components/media-modal/types.d.ts +1 -0
- package/common/components/media-modal/types.js +1 -0
- package/common/components/media-modal/types.js.map +1 -0
- package/common/components/media-modal/utils.d.ts +4 -9
- package/common/components/media-modal/utils.js +8 -20
- package/common/components/media-modal/utils.js.map +1 -0
- package/common/components/modifier/index.d.ts +2 -48
- package/common/components/modifier/index.js +4 -100
- package/common/components/modifier/index.js.map +1 -0
- package/common/components/modifier/modifier.d.ts +13 -0
- package/common/components/modifier/modifier.js +72 -0
- package/common/components/modifier/modifier.js.map +1 -0
- package/common/components/modifier/{modifiers.module.scss → modifier.m.scss} +68 -18
- package/common/components/modifier/types.d.ts +37 -0
- package/common/components/modifier/types.js +3 -0
- package/common/components/modifier/types.js.map +1 -0
- package/common/components/pagination-controls/index.d.ts +2 -0
- package/common/components/pagination-controls/index.js +9 -0
- package/common/components/pagination-controls/index.js.map +1 -0
- package/common/components/pagination-controls/pagination-controls.d.ts +30 -0
- package/common/components/pagination-controls/pagination-controls.js +71 -0
- package/common/components/pagination-controls/pagination-controls.js.map +1 -0
- package/common/components/pagination-controls/pagination-controls.m.scss +73 -0
- package/common/components/pagination-controls/types.d.ts +20 -0
- package/common/components/pagination-controls/types.js +3 -0
- package/common/components/pagination-controls/types.js.map +1 -0
- package/common/components/product-image/index.d.ts +3 -0
- package/common/components/product-image/index.js +8 -0
- package/common/components/product-image/index.js.map +1 -0
- package/common/components/product-image/product-image.d.ts +10 -0
- package/common/components/product-image/product-image.js +32 -0
- package/common/components/product-image/product-image.js.map +1 -0
- package/common/components/product-image/product-image.m.scss +62 -0
- package/common/components/product-image/types.d.ts +30 -0
- package/common/components/product-image/types.js +3 -0
- package/common/components/product-image/types.js.map +1 -0
- package/common/components/product-image/utils.d.ts +2 -0
- package/common/components/product-image/utils.js +6 -0
- package/common/components/product-image/utils.js.map +1 -0
- package/common/components/product-info/index.d.ts +4 -16
- package/common/components/product-info/index.js +7 -40
- package/common/components/product-info/index.js.map +1 -0
- package/common/components/product-info/parts/adult-confirm-button.d.ts +7 -0
- package/common/components/product-info/parts/adult-confirm-button.js +19 -0
- package/common/components/product-info/parts/adult-confirm-button.js.map +1 -0
- package/common/components/product-info/parts/badges.d.ts +7 -0
- package/common/components/product-info/parts/badges.js +19 -0
- package/common/components/product-info/parts/badges.js.map +1 -0
- package/common/components/product-info/parts/badges.m.scss +3 -0
- package/common/components/product-info/parts/cart-control.d.ts +7 -0
- package/common/components/product-info/parts/cart-control.js +18 -0
- package/common/components/product-info/parts/cart-control.js.map +1 -0
- package/common/components/product-info/parts/cart-control.m.scss +41 -0
- package/common/components/product-info/parts/footer.d.ts +7 -0
- package/common/components/product-info/parts/footer.js +21 -0
- package/common/components/product-info/parts/footer.js.map +1 -0
- package/common/components/product-info/parts/footer.m.scss +3 -0
- package/common/components/product-info/parts/image-button.d.ts +7 -0
- package/common/components/product-info/parts/image-button.js +38 -0
- package/common/components/product-info/parts/image-button.js.map +1 -0
- package/common/components/product-info/parts/image-button.m.scss +40 -0
- package/common/components/product-info/parts/image.d.ts +7 -0
- package/common/components/product-info/parts/image.js +30 -0
- package/common/components/product-info/parts/image.js.map +1 -0
- package/common/components/product-info/parts/image.m.scss +24 -0
- package/common/components/product-info/parts/index.d.ts +33 -0
- package/common/components/product-info/parts/index.js +38 -0
- package/common/components/product-info/parts/index.js.map +1 -0
- package/common/components/product-info/parts/media.d.ts +7 -0
- package/common/components/product-info/parts/media.js +18 -0
- package/common/components/product-info/parts/media.js.map +1 -0
- package/common/components/product-info/parts/media.m.scss +10 -0
- package/common/components/product-info/parts/parts.m.scss +11 -0
- package/common/components/product-info/parts/prices.d.ts +7 -0
- package/common/components/product-info/parts/prices.js +25 -0
- package/common/components/product-info/parts/prices.js.map +1 -0
- package/common/components/product-info/parts/prices.m.scss +28 -0
- package/common/components/product-info/parts/rating-counter.m.scss +7 -0
- package/common/components/product-info/parts/rating-couter.d.ts +7 -0
- package/common/components/product-info/parts/rating-couter.js +19 -0
- package/common/components/product-info/parts/rating-couter.js.map +1 -0
- package/common/components/product-info/parts/secondary-info.d.ts +7 -0
- package/common/components/product-info/parts/secondary-info.js +18 -0
- package/common/components/product-info/parts/secondary-info.js.map +1 -0
- package/common/components/product-info/parts/secondary-info.m.scss +8 -0
- package/common/components/product-info/parts/title.d.ts +7 -0
- package/common/components/product-info/parts/title.js +23 -0
- package/common/components/product-info/parts/title.js.map +1 -0
- package/common/components/product-info/parts/title.m.scss +23 -0
- package/common/components/product-info/parts/trademark-link.d.ts +7 -0
- package/common/components/product-info/parts/trademark-link.js +19 -0
- package/common/components/product-info/parts/trademark-link.js.map +1 -0
- package/common/components/product-info/parts/trademark-link.m.scss +9 -0
- package/common/components/product-info/parts/wait-list-add-link.d.ts +7 -0
- package/common/components/product-info/parts/wait-list-add-link.js +19 -0
- package/common/components/product-info/parts/wait-list-add-link.js.map +1 -0
- package/common/components/product-info/parts/wait-list-added-link.d.ts +7 -0
- package/common/components/product-info/parts/wait-list-added-link.js +21 -0
- package/common/components/product-info/parts/wait-list-added-link.js.map +1 -0
- package/common/components/product-info/parts/wait-list-added-link.m.scss +9 -0
- package/common/components/product-info/product-info.d.ts +13 -0
- package/common/components/product-info/product-info.js +39 -0
- package/common/components/product-info/product-info.js.map +1 -0
- package/common/components/product-info/types.d.ts +65 -3
- package/common/components/product-info/types.js +1 -0
- package/common/components/product-info/types.js.map +1 -0
- package/common/components/product-info/utils.d.ts +3 -1
- package/common/components/product-info/utils.js +8 -2
- package/common/components/product-info/utils.js.map +1 -0
- package/common/components/rating-counter/index.d.ts +1 -25
- package/common/components/rating-counter/index.js +3 -35
- package/common/components/rating-counter/index.js.map +1 -0
- package/common/components/rating-counter/rating-counter-util.scss +1 -1
- package/common/components/rating-counter/rating-counter.d.ts +35 -0
- package/common/components/rating-counter/rating-counter.js +23 -0
- package/common/components/rating-counter/rating-counter.js.map +1 -0
- package/common/components/rating-counter/{rating-counter.module.scss → rating-counter.m.scss} +2 -2
- package/common/hooks/index.d.ts +3 -0
- package/common/hooks/index.js +10 -0
- package/common/hooks/index.js.map +1 -0
- package/common/hooks/use-client-width.d.ts +8 -0
- package/common/hooks/use-client-width.js +27 -0
- package/common/hooks/use-client-width.js.map +1 -0
- package/common/hooks/use-image-stub.d.ts +14 -0
- package/common/hooks/use-image-stub.js +25 -0
- package/common/hooks/use-image-stub.js.map +1 -0
- package/common/hooks/use-mounted.d.ts +5 -0
- package/common/hooks/use-mounted.js +18 -0
- package/common/hooks/use-mounted.js.map +1 -0
- package/desktop/components/breadcrumbs/breadcrumbs.d.ts +31 -0
- package/desktop/components/breadcrumbs/breadcrumbs.js +56 -0
- package/desktop/components/breadcrumbs/breadcrumbs.js.map +1 -0
- package/desktop/components/breadcrumbs/{breadcrumbs.module.scss → breadcrumbs.m.scss} +37 -2
- package/desktop/components/breadcrumbs/index.d.ts +1 -28
- package/desktop/components/breadcrumbs/index.js +3 -80
- package/desktop/components/breadcrumbs/index.js.map +1 -0
- package/desktop/components/gallery-modal/__mocks__/index.js +1 -0
- package/desktop/components/gallery-modal/__mocks__/index.js.map +1 -0
- package/desktop/components/gallery-modal/components/all-round-view.d.ts +1 -2
- package/desktop/components/gallery-modal/components/all-round-view.js +42 -60
- package/desktop/components/gallery-modal/components/all-round-view.js.map +1 -0
- package/desktop/components/gallery-modal/components/{all-round-view.module.scss → all-round-view.m.scss} +6 -1
- package/desktop/components/gallery-modal/components/gallery-modal.d.ts +6 -5
- package/desktop/components/gallery-modal/components/gallery-modal.js +16 -66
- package/desktop/components/gallery-modal/components/gallery-modal.js.map +1 -0
- package/desktop/components/gallery-modal/components/{gallery-modal.module.scss → gallery-modal.m.scss} +10 -5
- package/desktop/components/gallery-modal/components/image-overlay.d.ts +3 -3
- package/desktop/components/gallery-modal/components/image-overlay.js +4 -17
- package/desktop/components/gallery-modal/components/image-overlay.js.map +1 -0
- package/desktop/components/gallery-modal/components/review-info.d.ts +1 -1
- package/desktop/components/gallery-modal/components/review-info.js +11 -52
- package/desktop/components/gallery-modal/components/review-info.js.map +1 -0
- package/desktop/components/gallery-modal/components/{review-info.module.scss → review-info.m.scss} +1 -1
- package/desktop/components/gallery-modal/components/thumbnail.d.ts +3 -3
- package/desktop/components/gallery-modal/components/thumbnail.js +7 -10
- package/desktop/components/gallery-modal/components/thumbnail.js.map +1 -0
- package/desktop/components/gallery-modal/components/{thumbnail.module.scss → thumbnail.m.scss} +1 -1
- package/desktop/components/gallery-modal/index.js +1 -0
- package/desktop/components/gallery-modal/index.js.map +1 -0
- package/desktop/components/gallery-modal/types.js +1 -0
- package/desktop/components/gallery-modal/types.js.map +1 -0
- package/desktop/components/gallery-modal/utils.d.ts +5 -3
- package/desktop/components/gallery-modal/utils.js +21 -11
- package/desktop/components/gallery-modal/utils.js.map +1 -0
- package/desktop/components/person-info/index.d.ts +1 -41
- package/desktop/components/person-info/index.js +3 -43
- package/desktop/components/person-info/index.js.map +1 -0
- package/desktop/components/person-info/person-info.d.ts +42 -0
- package/desktop/components/person-info/person-info.js +23 -0
- package/desktop/components/person-info/person-info.js.map +1 -0
- package/desktop/components/person-info/{person-info.module.scss → person-info.m.scss} +2 -2
- package/desktop/components/product-carousel/index.d.ts +2 -31
- package/desktop/components/product-carousel/index.js +3 -133
- package/desktop/components/product-carousel/index.js.map +1 -0
- package/desktop/components/product-carousel/product-carousel.d.ts +7 -0
- package/desktop/components/product-carousel/product-carousel.js +84 -0
- package/desktop/components/product-carousel/product-carousel.js.map +1 -0
- package/desktop/components/product-carousel/{product-carousel.module.scss → product-carousel.m.scss} +2 -8
- package/desktop/components/product-carousel/types.d.ts +39 -0
- package/desktop/components/product-carousel/types.js +3 -0
- package/desktop/components/product-carousel/types.js.map +1 -0
- package/desktop/components/promotion-card/banner-title.d.ts +2 -3
- package/desktop/components/promotion-card/banner-title.js +9 -19
- package/desktop/components/promotion-card/banner-title.js.map +1 -0
- package/desktop/components/promotion-card/estimate.d.ts +1 -2
- package/desktop/components/promotion-card/estimate.js +5 -7
- package/desktop/components/promotion-card/estimate.js.map +1 -0
- package/desktop/components/promotion-card/index.d.ts +4 -31
- package/desktop/components/promotion-card/index.js +10 -83
- package/desktop/components/promotion-card/index.js.map +1 -0
- package/desktop/components/promotion-card/placeholder.d.ts +4 -2
- package/desktop/components/promotion-card/placeholder.js +4 -6
- package/desktop/components/promotion-card/placeholder.js.map +1 -0
- package/desktop/components/promotion-card/{placeholder.module.scss → placeholder.m.scss} +2 -2
- package/desktop/components/promotion-card/promotion-card.d.ts +31 -0
- package/desktop/components/promotion-card/promotion-card.js +44 -0
- package/desktop/components/promotion-card/promotion-card.js.map +1 -0
- package/desktop/components/promotion-card/{index.module.scss → promotion-card.m.scss} +25 -34
- package/desktop/components/promotion-card/types.js +1 -0
- package/desktop/components/promotion-card/types.js.map +1 -0
- package/mobile/components/action-circles/action-circles.d.ts +22 -0
- package/mobile/components/action-circles/action-circles.js +30 -0
- package/mobile/components/action-circles/action-circles.js.map +1 -0
- package/mobile/components/{action-list/action-list.module.scss → action-circles/action-circles.m.scss} +5 -2
- package/mobile/components/action-circles/index.d.ts +1 -22
- package/mobile/components/action-circles/index.js +3 -29
- package/mobile/components/action-circles/index.js.map +1 -0
- package/mobile/components/action-list/action-list.d.ts +29 -0
- package/mobile/components/action-list/action-list.js +39 -0
- package/mobile/components/action-list/action-list.js.map +1 -0
- package/mobile/components/{action-circles/action-circles.module.scss → action-list/action-list.m.scss} +5 -2
- package/mobile/components/action-list/index.d.ts +1 -23
- package/mobile/components/action-list/index.js +5 -34
- package/mobile/components/action-list/index.js.map +1 -0
- package/mobile/components/breadcrumbs/breadcrumbs.d.ts +12 -0
- package/mobile/components/breadcrumbs/breadcrumbs.js +17 -0
- package/mobile/components/breadcrumbs/breadcrumbs.js.map +1 -0
- package/mobile/components/breadcrumbs/{breadcrumbs.module.scss → breadcrumbs.m.scss} +1 -1
- package/mobile/components/breadcrumbs/index.d.ts +1 -13
- package/mobile/components/breadcrumbs/index.js +3 -13
- package/mobile/components/breadcrumbs/index.js.map +1 -0
- package/mobile/components/person-info/index.d.ts +1 -44
- package/mobile/components/person-info/index.js +4 -55
- package/mobile/components/person-info/index.js.map +1 -0
- package/mobile/components/person-info/person-info.d.ts +46 -0
- package/mobile/components/person-info/person-info.js +37 -0
- package/mobile/components/person-info/person-info.js.map +1 -0
- package/mobile/components/person-info/{person-info.module.scss → person-info.m.scss} +39 -17
- package/mobile/components/product-row/index.d.ts +1 -41
- package/mobile/components/product-row/index.js +3 -56
- package/mobile/components/product-row/index.js.map +1 -0
- package/mobile/components/product-row/product-row.d.ts +40 -0
- package/mobile/components/product-row/product-row.js +28 -0
- package/mobile/components/product-row/product-row.js.map +1 -0
- package/mobile/components/product-row/{product-row.module.scss → product-row.m.scss} +1 -1
- package/mobile/components/product-slider/index.d.ts +1 -17
- package/mobile/components/product-slider/index.js +3 -57
- package/mobile/components/product-slider/index.js.map +1 -0
- package/mobile/components/product-slider/product-slider.d.ts +22 -0
- package/mobile/components/product-slider/product-slider.js +38 -0
- package/mobile/components/product-slider/product-slider.js.map +1 -0
- package/mobile/components/product-slider/{product-slider.module.scss → product-slider.m.scss} +1 -1
- package/mobile/components/search-bar/index.d.ts +1 -39
- package/mobile/components/search-bar/index.js +4 -104
- package/mobile/components/search-bar/index.js.map +1 -0
- package/mobile/components/search-bar/search-bar.d.ts +39 -0
- package/mobile/components/search-bar/search-bar.js +64 -0
- package/mobile/components/search-bar/search-bar.js.map +1 -0
- package/mobile/components/search-bar/{search-bar.module.scss → search-bar.m.scss} +6 -6
- package/mobile/components/select-screen/index.d.ts +1 -20
- package/mobile/components/select-screen/index.js +4 -65
- package/mobile/components/select-screen/index.js.map +1 -0
- package/mobile/components/select-screen/select-screen.d.ts +20 -0
- package/mobile/components/select-screen/select-screen.js +30 -0
- package/mobile/components/select-screen/select-screen.js.map +1 -0
- package/mobile/components/select-screen/{select-screen.module.scss → select-screen.m.scss} +2 -2
- package/package.json +67 -64
- package/common/components/badge/badge.module.scss +0 -40
- package/common/components/intractive-image/interactive-image.d.ts +0 -15
- package/common/components/intractive-image/interactive-image.js +0 -96
- package/common/components/media-modal/__mocks__/index.d.ts +0 -3
- package/common/components/media-modal/__mocks__/index.js +0 -225
- package/common/components/media-modal/parts/media-content.d.ts +0 -19
- package/common/components/media-modal/parts/media-content.js +0 -103
- package/common/components/media-modal/parts/media-content.module.scss +0 -42
- package/common/components/product-info/parts.d.ts +0 -68
- package/common/components/product-info/parts.js +0 -212
- package/common/components/product-info/product-info.module.scss +0 -280
- package/common/components/rating-counter/star.svg +0 -5
- package/common/constants.d.ts +0 -2
- package/common/constants.js +0 -8
- package/common/icons/eighteen-plus.svg +0 -5
- package/common/icons/image-broken.svg +0 -7
- package/common/icons/touch-x.svg +0 -6
- package/common/types.d.ts +0 -1
- package/desktop/components/breadcrumbs/square-arrow-down.svg +0 -8
- package/desktop/components/gallery-modal/icons/360.svg +0 -3
- package/desktop/components/gallery-modal/icons/pause.svg +0 -3
- package/desktop/components/gallery-modal/icons/turn-left.svg +0 -10
- package/desktop/components/gallery-modal/icons/turn-right.svg +0 -10
- package/desktop/components/modifiers/button/index.d.ts +0 -22
- package/desktop/components/modifiers/button/index.js +0 -48
- package/desktop/components/modifiers/button/modifier-button.module.scss +0 -85
- package/desktop/components/modifiers/group/index.d.ts +0 -15
- package/desktop/components/modifiers/group/index.js +0 -70
- package/desktop/components/modifiers/group/modifiers-group.module.scss +0 -33
- package/desktop/components/modifiers/group/utils.d.ts +0 -20
- package/desktop/components/modifiers/group/utils.js +0 -73
- package/desktop/components/modifiers/modifiers.scss +0 -8
- package/desktop/components/product-card/index.d.ts +0 -26
- package/desktop/components/product-card/index.js +0 -105
- package/desktop/components/product-card/product-card.module.scss +0 -12
- package/desktop/components/product-carousel/hover-card.d.ts +0 -12
- package/desktop/components/product-carousel/hover-card.js +0 -76
- package/desktop/components/product-carousel/hover-card.module.scss +0 -14
- package/desktop/components/product-carousel/utils.d.ts +0 -16
- package/desktop/components/product-carousel/utils.js +0 -44
- package/mobile/components/modifiers-list/index.d.ts +0 -22
- package/mobile/components/modifiers-list/index.js +0 -25
- package/mobile/components/modifiers-list/modifier-item/index.d.ts +0 -29
- package/mobile/components/modifiers-list/modifier-item/index.js +0 -38
- package/mobile/components/modifiers-list/modifier-item/modifier-item.module.scss +0 -70
- package/mobile/components/modifiers-list/modifiers-list.module.scss +0 -21
- package/mobile/components/pseudo-input/index.d.ts +0 -11
- package/mobile/components/pseudo-input/index.js +0 -34
- package/mobile/components/pseudo-input/pseudo-input.module.scss +0 -24
- /package/common/components/badge-list/{badge-list.module.scss → badge-list.m.scss} +0 -0
- /package/common/components/{intractive-image → interactive-image}/index.d.ts +0 -0
- /package/common/components/media-modal/parts/{all-round-view.module.scss → all-round-view.m.scss} +0 -0
- /package/desktop/components/gallery-modal/components/{image-overlay.module.scss → image-overlay.m.scss} +0 -0
- /package/desktop/components/promotion-card/{variables.scss → _variables.scss} +0 -0
- /package/desktop/components/promotion-card/{banner-title.module.scss → banner-title.m.scss} +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# UI-moleculas
|
|
2
|
+
|
|
3
|
+
В этом проекте собраны UI-компоненты, привязанные к контексту интернет-магазина.
|
|
4
|
+
|
|
5
|
+
## Использование
|
|
6
|
+
|
|
7
|
+
### Установка
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
# с помощью npm
|
|
11
|
+
npm i -S @sima-land/moleculas
|
|
12
|
+
|
|
13
|
+
# или с помощью yarn
|
|
14
|
+
yarn add @sima-land/moleculas
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Настройка среды
|
|
18
|
+
|
|
19
|
+
Компоненты библиотеки используют:
|
|
20
|
+
|
|
21
|
+
- импорты css/scss-файлов как css-модулей (каждый такой файл промаркирован в виде `*.m.{css,scss}`)
|
|
22
|
+
|
|
23
|
+
Поэтому, для использования библиотеки необходимо сконфигурировать среду (сборщик или тестовый фреймворк) таким образом чтобы данные импорты работали корректно.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BadgeProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Шильдик.
|
|
4
|
+
* @param props Свойства.
|
|
5
|
+
* @return Элемент.
|
|
6
|
+
*/
|
|
7
|
+
export declare function Badge({ rootRef, className, color, coloring, fields, style, shape, withHoverEffect, 'data-testid': testId, children, ...restProps }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Badge = Badge;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
const bind_1 = __importDefault(require("classnames/bind"));
|
|
10
|
+
const badge_m_scss_1 = __importDefault(require("./badge.m.scss"));
|
|
11
|
+
const cx = bind_1.default.bind(badge_m_scss_1.default);
|
|
12
|
+
/**
|
|
13
|
+
* Шильдик.
|
|
14
|
+
* @param props Свойства.
|
|
15
|
+
* @return Элемент.
|
|
16
|
+
*/
|
|
17
|
+
function Badge({ rootRef, className, color, coloring = 'outline', fields, style, shape = 'unset', withHoverEffect = true, 'data-testid': testId = 'badge', children, ...restProps }) {
|
|
18
|
+
const iconOnly = fields && fields.length === 1 && fields[0].type === 'svg-url';
|
|
19
|
+
const rootClassName = cx('root', iconOnly && 'icon-only', withHoverEffect && 'with-hover-effect', shape === 'round' && 'shape-round', shape === 'pill' && 'shape-pill', shape !== 'pill' && !iconOnly && 'padding-x-default', shape === 'pill' && !iconOnly && 'padding-x-pill', coloring === 'outline' && 'coloring-outline', coloring === 'fill' && 'coloring-fill', className);
|
|
20
|
+
const rootStyle = {
|
|
21
|
+
'--badge-color': (0, utils_1.tokenToCustomProperty)(color),
|
|
22
|
+
...style,
|
|
23
|
+
};
|
|
24
|
+
const content = fields ? (0, utils_1.renderFields)(fields) : children;
|
|
25
|
+
if (restProps.as === 'span') {
|
|
26
|
+
return ((0, jsx_runtime_1.jsx)("span", { ref: rootRef, className: rootClassName, style: rootStyle, "data-testid": testId, ...omitPropAs(restProps), children: content }));
|
|
27
|
+
}
|
|
28
|
+
if (restProps.as === 'div') {
|
|
29
|
+
return ((0, jsx_runtime_1.jsx)("div", { ref: rootRef, className: rootClassName, style: rootStyle, "data-testid": testId, ...omitPropAs(restProps), children: content }));
|
|
30
|
+
}
|
|
31
|
+
if (restProps.as === 'button') {
|
|
32
|
+
return ((0, jsx_runtime_1.jsx)("button", { ref: rootRef, className: rootClassName, style: rootStyle, "data-testid": testId, type: 'button', ...omitPropAs(restProps), children: content }));
|
|
33
|
+
}
|
|
34
|
+
return ((0, jsx_runtime_1.jsx)("a", { ref: rootRef, className: rootClassName, style: rootStyle, "data-testid": testId, ...omitPropAs(restProps), children: content }));
|
|
35
|
+
}
|
|
36
|
+
/** @inheritdoc */
|
|
37
|
+
function omitPropAs(props) {
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
39
|
+
const { as, ...omitted } = props;
|
|
40
|
+
return omitted;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../../src/common/components/badge/badge.tsx"],"names":[],"mappings":";;;;;AAYA,sBAyFC;;AApGD,mCAA8D;AAC9D,2DAAyC;AACzC,kEAAoC;AAEpC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,sBAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,KAAK,CAAC,EACpB,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,GAAG,SAAS,EACpB,MAAM,EACN,KAAK,EACL,KAAK,GAAG,OAAO,EACf,eAAe,GAAG,IAAI,EACtB,aAAa,EAAE,MAAM,GAAG,OAAO,EAC/B,QAAQ,EACR,GAAG,SAAS,EACD;IACX,MAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;IAE/E,MAAM,aAAa,GAAG,EAAE,CACtB,MAAM,EACN,QAAQ,IAAI,WAAW,EACvB,eAAe,IAAI,mBAAmB,EACtC,KAAK,KAAK,OAAO,IAAI,aAAa,EAClC,KAAK,KAAK,MAAM,IAAI,YAAY,EAChC,KAAK,KAAK,MAAM,IAAI,CAAC,QAAQ,IAAI,mBAAmB,EACpD,KAAK,KAAK,MAAM,IAAI,CAAC,QAAQ,IAAI,gBAAgB,EACjD,QAAQ,KAAK,SAAS,IAAI,kBAAkB,EAC5C,QAAQ,KAAK,MAAM,IAAI,eAAe,EACtC,SAAS,CACV,CAAC;IAEF,MAAM,SAAS,GAAe;QAC5B,eAAe,EAAE,IAAA,6BAAqB,EAAC,KAAK,CAAC;QAC7C,GAAG,KAAK;KACT,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEzD,IAAI,SAAS,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,CACL,iCACE,GAAG,EAAE,OAAc,EACnB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,iBACH,MAAM,KACf,UAAU,CAAC,SAAS,CAAC,YAExB,OAAO,GACH,CACR,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO,CACL,gCACE,GAAG,EAAE,OAAc,EACnB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,iBACH,MAAM,KACf,UAAU,CAAC,SAAS,CAAC,YAExB,OAAO,GACJ,CACP,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CACL,mCACE,GAAG,EAAE,OAAc,EACnB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,iBACH,MAAM,EACnB,IAAI,EAAC,QAAQ,KACT,UAAU,CAAC,SAAS,CAAC,YAExB,OAAO,GACD,CACV,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BACE,GAAG,EAAE,OAAc,EACnB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,iBACH,MAAM,KACf,UAAU,CAAC,SAAS,CAAC,YAExB,OAAO,GACN,CACL,CAAC;AACJ,CAAC;AAED,kBAAkB;AAClB,SAAS,UAAU,CAA6B,KAAQ;IACtD,6DAA6D;IAC7D,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IAEjC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
@use 'pkg:@sima-land/ui-nucleons/utils.scss';
|
|
2
|
+
|
|
3
|
+
$badge-size: 20px;
|
|
4
|
+
$icon-size: 16px;
|
|
5
|
+
|
|
6
|
+
.root {
|
|
7
|
+
@include utils.reset-button;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.root {
|
|
11
|
+
display: inline-flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
height: $badge-size;
|
|
15
|
+
font-weight: bold;
|
|
16
|
+
font-size: 12px;
|
|
17
|
+
line-height: 16px;
|
|
18
|
+
max-width: 100%;
|
|
19
|
+
min-width: $badge-size;
|
|
20
|
+
text-decoration: none;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.padding-x-default {
|
|
24
|
+
padding-left: 6px;
|
|
25
|
+
padding-right: 6px;
|
|
26
|
+
&.coloring-outline {
|
|
27
|
+
// ВАЖНО: учитываем border
|
|
28
|
+
padding-left: 5px;
|
|
29
|
+
padding-right: 5px;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.padding-x-pill {
|
|
34
|
+
padding-left: 8px;
|
|
35
|
+
padding-right: 8px;
|
|
36
|
+
&.coloring-outline {
|
|
37
|
+
// ВАЖНО: учитываем border
|
|
38
|
+
padding-left: 7px;
|
|
39
|
+
padding-right: 7px;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.shape-round {
|
|
44
|
+
border-radius: 4px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.shape-pill {
|
|
48
|
+
border-radius: 99999px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.with-hover-effect:hover {
|
|
52
|
+
position: relative;
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
&::after {
|
|
55
|
+
content: '';
|
|
56
|
+
display: block;
|
|
57
|
+
position: absolute;
|
|
58
|
+
top: 0;
|
|
59
|
+
left: 0;
|
|
60
|
+
right: 0;
|
|
61
|
+
bottom: 0;
|
|
62
|
+
background: #fff;
|
|
63
|
+
opacity: 0.16;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.coloring-outline {
|
|
68
|
+
color: var(--badge-color, #aaa);
|
|
69
|
+
|
|
70
|
+
// ВАЖНО: используем border т.к. на Safari box-shadow пропадает при уменьшении масштаба
|
|
71
|
+
border: 1px solid var(--badge-border-color, var(--badge-color, #aaa));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.coloring-fill {
|
|
75
|
+
background: var(--badge-color, #aaa);
|
|
76
|
+
color: var(--badge-text-color, #fff);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.icon-only {
|
|
80
|
+
width: $badge-size;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// содержимое
|
|
84
|
+
.content {
|
|
85
|
+
overflow: hidden;
|
|
86
|
+
text-overflow: ellipsis;
|
|
87
|
+
white-space: nowrap;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.icon {
|
|
91
|
+
display: block;
|
|
92
|
+
width: $icon-size;
|
|
93
|
+
height: $icon-size;
|
|
94
|
+
line-height: $icon-size;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.icon + .content,
|
|
98
|
+
.content + .icon {
|
|
99
|
+
margin-left: 4px;
|
|
100
|
+
}
|
|
@@ -1,19 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
type: 'text' | 'timer' | 'svg-url';
|
|
4
|
-
value: string;
|
|
5
|
-
}
|
|
6
|
-
export interface BadgeProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'> {
|
|
7
|
-
/** Основной цвет, используется как цвет обводки, иконок и текста. */
|
|
8
|
-
color?: string;
|
|
9
|
-
/** Содержимое шильдика. */
|
|
10
|
-
fields: Array<BadgeField>;
|
|
11
|
-
/** Идентификатор для систем автоматизированного тестирования. */
|
|
12
|
-
'data-testid'?: string;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Шильдик.
|
|
16
|
-
* @param props Свойства.
|
|
17
|
-
* @return Элемент.
|
|
18
|
-
*/
|
|
19
|
-
export declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
1
|
+
export type { BadgeSpecificProps, BadgeAsAnchorProps, BadgeAsButtonProps, BadgeAsSpanProps, BadgeAsDivProps, BadgeProps, BadgeField, } from './types';
|
|
2
|
+
export { Badge } from './badge';
|
|
@@ -1,83 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
-
var t = {};
|
|
27
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
-
t[p] = s[p];
|
|
29
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
-
t[p[i]] = s[p[i]];
|
|
33
|
-
}
|
|
34
|
-
return t;
|
|
35
|
-
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
3
|
exports.Badge = void 0;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const badge_module_scss_1 = __importDefault(require("./badge.module.scss"));
|
|
45
|
-
const cx = bind_1.default.bind(badge_module_scss_1.default);
|
|
46
|
-
/**
|
|
47
|
-
* Шильдик.
|
|
48
|
-
* @param props Свойства.
|
|
49
|
-
* @return Элемент.
|
|
50
|
-
*/
|
|
51
|
-
exports.Badge = (0, react_1.forwardRef)(function Badge(_a, ref) {
|
|
52
|
-
var { className, color, fields, href, style, 'data-testid': testId = 'badge' } = _a, restProps = __rest(_a, ["className", "color", "fields", "href", "style", 'data-testid']);
|
|
53
|
-
const iconOnly = fields.length === 1 && fields[0].type === 'svg-url';
|
|
54
|
-
return (react_1.default.createElement("a", Object.assign({ ref: ref }, restProps, { "data-testid": testId, href: href, style: Object.assign(Object.assign({}, style), { '--badge-color': color }), className: cx('root', iconOnly && 'icon-only', href && 'interactive', className), children: iconOnly ? (react_1.default.createElement("img", { className: cx('icon'), src: fields[0].value, alt: '' })) : (
|
|
55
|
-
// вложенный span нужен для того чтобы объединить `display: inline-flex` и `text-overflow: ellipsis`
|
|
56
|
-
react_1.default.createElement("span", { className: cx('content') }, fields.reduce((acc, item, i) => {
|
|
57
|
-
let result = null;
|
|
58
|
-
// на данный момент сочетание иконки с другими элементами не предусмотрено макетами - игнорируем
|
|
59
|
-
switch (item.type) {
|
|
60
|
-
case 'text':
|
|
61
|
-
result = item.value;
|
|
62
|
-
break;
|
|
63
|
-
case 'timer':
|
|
64
|
-
result = (react_1.default.createElement(timer_1.Timer, { key: i, date: item.value, timeout: 1000 * 60, format: formatDistance }));
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
acc.push(result);
|
|
68
|
-
i < fields.length - 1 && acc.push(' ');
|
|
69
|
-
return acc;
|
|
70
|
-
}, []))) })));
|
|
71
|
-
});
|
|
72
|
-
/**
|
|
73
|
-
* Форматирует оставшееся время.
|
|
74
|
-
* @param distance Оставшееся время.
|
|
75
|
-
* @return Отформатированное время.
|
|
76
|
-
*/
|
|
77
|
-
const formatDistance = ({ days, hours, minutes, }) => [toTimePart(days), ...[hours % 24, minutes % 60].map(toTimePart)].join(':');
|
|
78
|
-
/**
|
|
79
|
-
* Форматирует число добавляя нули при необходимости.
|
|
80
|
-
* @param n Число.
|
|
81
|
-
* @return Отформатированное число.
|
|
82
|
-
*/
|
|
83
|
-
const toTimePart = (n) => `${n}`.padStart(2, '0');
|
|
4
|
+
var badge_1 = require("./badge");
|
|
5
|
+
Object.defineProperty(exports, "Badge", { enumerable: true, get: function () { return badge_1.Badge; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/components/badge/index.ts"],"names":[],"mappings":";;;AASA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { AnchorHTMLAttributes, ButtonHTMLAttributes, CSSProperties, HTMLAttributes, Ref } from 'react';
|
|
2
|
+
export interface BadgeField {
|
|
3
|
+
type: 'text' | 'timer' | 'svg-url';
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
export interface BadgeStyle extends CSSProperties {
|
|
7
|
+
'--badge-color'?: string;
|
|
8
|
+
'--badge-text-color'?: string;
|
|
9
|
+
'--badge-border-color'?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface BadgeSpecificProps {
|
|
12
|
+
/** Основной цвет, используется как цвет обводки, иконок и текста. */
|
|
13
|
+
color?: string;
|
|
14
|
+
/** Как применится цвет. */
|
|
15
|
+
coloring?: 'fill' | 'outline' | 'unset';
|
|
16
|
+
/** Содержимое шильдика. */
|
|
17
|
+
fields?: Array<BadgeField>;
|
|
18
|
+
/** Форма скруглений. */
|
|
19
|
+
shape?: 'round' | 'pill' | 'unset';
|
|
20
|
+
/** Нужен ли эффект при наведении. */
|
|
21
|
+
withHoverEffect?: boolean;
|
|
22
|
+
/** Стили. */
|
|
23
|
+
style?: BadgeStyle;
|
|
24
|
+
/** Идентификатор для систем автоматизированного тестирования. */
|
|
25
|
+
'data-testid'?: string;
|
|
26
|
+
rootRef?: Ref<HTMLElement>;
|
|
27
|
+
}
|
|
28
|
+
export interface BadgeAsAnchorProps extends BadgeSpecificProps, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'color' | 'style'> {
|
|
29
|
+
as?: 'anchor';
|
|
30
|
+
}
|
|
31
|
+
export interface BadgeAsButtonProps extends BadgeSpecificProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color' | 'style'> {
|
|
32
|
+
as: 'button';
|
|
33
|
+
}
|
|
34
|
+
export interface BadgeAsDivProps extends BadgeSpecificProps, Omit<HTMLAttributes<HTMLDivElement>, 'color' | 'style'> {
|
|
35
|
+
as: 'div';
|
|
36
|
+
}
|
|
37
|
+
export interface BadgeAsSpanProps extends BadgeSpecificProps, Omit<HTMLAttributes<HTMLSpanElement>, 'color' | 'style'> {
|
|
38
|
+
as: 'span';
|
|
39
|
+
}
|
|
40
|
+
export type BadgeProps = BadgeAsAnchorProps | BadgeAsButtonProps | BadgeAsDivProps | BadgeAsSpanProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/common/components/badge/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { BadgeField } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Если переданное значение является токеном цвета/градиента, вернёт CSS-значение с соответствующей CSS-переменной.
|
|
5
|
+
* Иначе вернет само значение.
|
|
6
|
+
* @param value Значение.
|
|
7
|
+
* @return Значение или undefined.
|
|
8
|
+
*/
|
|
9
|
+
export declare function tokenToCustomProperty(value: string | undefined): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Сформирует содержимое шильдика на основе списка полей.
|
|
12
|
+
* Текстовые поля (type === text | timer) идущие подряд, будут объединены в один span.
|
|
13
|
+
* Между текстовыми полями в span будет вставлен 1 пробел.
|
|
14
|
+
* @param fields Поля.
|
|
15
|
+
* @return СОдержимое шильдика.
|
|
16
|
+
*/
|
|
17
|
+
export declare function renderFields(fields: BadgeField[]): ReactNode[];
|
|
18
|
+
/**
|
|
19
|
+
* Форматирует оставшееся время.
|
|
20
|
+
* @param distance Оставшееся время.
|
|
21
|
+
* @return Отформатированное время.
|
|
22
|
+
*/
|
|
23
|
+
export declare function formatDistance({ days, hours, minutes, }: {
|
|
24
|
+
days: number;
|
|
25
|
+
hours: number;
|
|
26
|
+
minutes: number;
|
|
27
|
+
}): string;
|
|
28
|
+
/**
|
|
29
|
+
* Форматирует число добавляя нули при необходимости.
|
|
30
|
+
* @param n Число.
|
|
31
|
+
* @return Отформатированное число.
|
|
32
|
+
*/
|
|
33
|
+
export declare function toTimePart(n: number): string;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.tokenToCustomProperty = tokenToCustomProperty;
|
|
7
|
+
exports.renderFields = renderFields;
|
|
8
|
+
exports.formatDistance = formatDistance;
|
|
9
|
+
exports.toTimePart = toTimePart;
|
|
10
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
11
|
+
const colors_1 = require("@sima-land/ui-nucleons/colors");
|
|
12
|
+
const gradients_1 = require("@sima-land/ui-nucleons/gradients");
|
|
13
|
+
const timer_1 = require("@sima-land/ui-nucleons/timer");
|
|
14
|
+
const badge_m_scss_1 = __importDefault(require("./badge.m.scss"));
|
|
15
|
+
/**
|
|
16
|
+
* Если переданное значение является токеном цвета/градиента, вернёт CSS-значение с соответствующей CSS-переменной.
|
|
17
|
+
* Иначе вернет само значение.
|
|
18
|
+
* @param value Значение.
|
|
19
|
+
* @return Значение или undefined.
|
|
20
|
+
*/
|
|
21
|
+
function tokenToCustomProperty(value) {
|
|
22
|
+
if (typeof value !== 'string') {
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
if (value.startsWith('color/')) {
|
|
26
|
+
const colorName = value.replace('color/', '');
|
|
27
|
+
if (!colors_1.COLORS.has(colorName)) {
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
return `var(--color-${colorName})`;
|
|
31
|
+
}
|
|
32
|
+
if (value.startsWith('gradient/')) {
|
|
33
|
+
const gradientName = value.replace('gradient/', '');
|
|
34
|
+
if (!gradients_1.GRADIENTS.has(gradientName)) {
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
return `var(--gradient-${gradientName})`;
|
|
38
|
+
}
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Сформирует содержимое шильдика на основе списка полей.
|
|
43
|
+
* Текстовые поля (type === text | timer) идущие подряд, будут объединены в один span.
|
|
44
|
+
* Между текстовыми полями в span будет вставлен 1 пробел.
|
|
45
|
+
* @param fields Поля.
|
|
46
|
+
* @return СОдержимое шильдика.
|
|
47
|
+
*/
|
|
48
|
+
function renderFields(fields) {
|
|
49
|
+
const result = [];
|
|
50
|
+
let item = null;
|
|
51
|
+
for (const field of fields) {
|
|
52
|
+
if (!item) {
|
|
53
|
+
switch (field.type) {
|
|
54
|
+
case 'text': {
|
|
55
|
+
item = [field.value];
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case 'timer': {
|
|
59
|
+
item = [(0, jsx_runtime_1.jsx)(timer_1.Timer, { date: field.value, timeout: 1000 * 60, format: formatDistance }, 0)];
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
case 'svg-url': {
|
|
63
|
+
result.push((0, jsx_runtime_1.jsx)("img", { className: badge_m_scss_1.default.icon, src: field.value, alt: '' }, result.length));
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
switch (field.type) {
|
|
70
|
+
case 'text': {
|
|
71
|
+
item.push(' ');
|
|
72
|
+
item.push(field.value);
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
case 'timer': {
|
|
76
|
+
item.push(' ');
|
|
77
|
+
item.push((0, jsx_runtime_1.jsx)(timer_1.Timer, { date: field.value, timeout: 1000 * 60, format: formatDistance }, item.length));
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
case 'svg-url': {
|
|
81
|
+
// вложенный span нужен для того чтобы объединить `display: inline-flex` и `text-overflow: ellipsis`
|
|
82
|
+
result.push((0, jsx_runtime_1.jsx)("span", { className: badge_m_scss_1.default.content, children: item }, result.length));
|
|
83
|
+
item = null;
|
|
84
|
+
result.push((0, jsx_runtime_1.jsx)("img", { className: badge_m_scss_1.default.icon, src: field.value, alt: '' }, result.length));
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (item) {
|
|
91
|
+
result.push((0, jsx_runtime_1.jsx)("span", { className: badge_m_scss_1.default.content, children: item }, result.length));
|
|
92
|
+
item = null;
|
|
93
|
+
}
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Форматирует оставшееся время.
|
|
98
|
+
* @param distance Оставшееся время.
|
|
99
|
+
* @return Отформатированное время.
|
|
100
|
+
*/
|
|
101
|
+
function formatDistance({ days, hours, minutes, }) {
|
|
102
|
+
return `${toTimePart(days)}:${toTimePart(hours % 24)}:${toTimePart(minutes % 60)}`;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Форматирует число добавляя нули при необходимости.
|
|
106
|
+
* @param n Число.
|
|
107
|
+
* @return Отформатированное число.
|
|
108
|
+
*/
|
|
109
|
+
function toTimePart(n) {
|
|
110
|
+
return `${n}`.padStart(2, '0');
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/common/components/badge/utils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ReactNode, CSSProperties } from 'react';
|
|
2
|
+
export interface BadgeListProps {
|
|
3
|
+
/** Список данных для шильдиков. */
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
/** CSS-класс корневого элемента. */
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Стили корневого элемента. */
|
|
8
|
+
style?: CSSProperties;
|
|
9
|
+
/** Лимит количества строк, не влезающие шильдики будут скрыты. */
|
|
10
|
+
lineLimit?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Компонент списка шильдиков. Формирует отступы между шильдиками и переносы по дизайн-найдам.
|
|
14
|
+
* @param props Свойства компонента.
|
|
15
|
+
* @return Элемент.
|
|
16
|
+
*/
|
|
17
|
+
export declare const BadgeList: {
|
|
18
|
+
({ children, className, lineLimit, style }: BadgeListProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
Slot: typeof BadgeListSlot;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Слот для вывода Badge с произвольной оберткой.
|
|
23
|
+
* @param props Свойства.
|
|
24
|
+
* @return Элемент.
|
|
25
|
+
*/
|
|
26
|
+
declare function BadgeListSlot({ children }: {
|
|
27
|
+
children?: ReactNode;
|
|
28
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BadgeList = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const badge_1 = require("../badge");
|
|
10
|
+
const bind_1 = __importDefault(require("classnames/bind"));
|
|
11
|
+
const badge_list_m_scss_1 = __importDefault(require("./badge-list.m.scss"));
|
|
12
|
+
const cx = bind_1.default.bind(badge_list_m_scss_1.default);
|
|
13
|
+
/**
|
|
14
|
+
* Компонент списка шильдиков. Формирует отступы между шильдиками и переносы по дизайн-найдам.
|
|
15
|
+
* @param props Свойства компонента.
|
|
16
|
+
* @return Элемент.
|
|
17
|
+
*/
|
|
18
|
+
const BadgeList = ({ children, className, lineLimit, style }) => ((0, jsx_runtime_1.jsx)("div", { className: cx('root', className, lineLimit && 'line-limit'), style: lineLimit ? { ...style, '--line-limit': lineLimit } : style, children: react_1.Children.toArray(children).map((child, index) => {
|
|
19
|
+
switch (true) {
|
|
20
|
+
case (0, react_1.isValidElement)(child) && child.type === badge_1.Badge:
|
|
21
|
+
return (0, jsx_runtime_1.jsx)(BadgeListSlot, { children: child }, index);
|
|
22
|
+
case (0, react_1.isValidElement)(child) && child.type === BadgeListSlot:
|
|
23
|
+
return child;
|
|
24
|
+
default:
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
}) }));
|
|
28
|
+
exports.BadgeList = BadgeList;
|
|
29
|
+
/**
|
|
30
|
+
* Слот для вывода Badge с произвольной оберткой.
|
|
31
|
+
* @param props Свойства.
|
|
32
|
+
* @return Элемент.
|
|
33
|
+
*/
|
|
34
|
+
function BadgeListSlot({ children }) {
|
|
35
|
+
return (0, jsx_runtime_1.jsx)("div", { className: cx('item'), children: children });
|
|
36
|
+
}
|
|
37
|
+
exports.BadgeList.Slot = BadgeListSlot;
|
|
38
|
+
//# sourceMappingURL=badge-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge-list.js","sourceRoot":"","sources":["../../../../src/common/components/badge-list/badge-list.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAA2E;AAC3E,oCAAiC;AACjC,2DAAyC;AACzC,4EAAyC;AAgBzC,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,2BAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAkB,EAAE,EAAE,CAAC,CACtF,gCACE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,IAAI,YAAY,CAAC,EAC3D,KAAK,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,SAAS,EAAoB,CAAC,CAAC,CAAC,KAAK,YAEpF,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAA,sBAAc,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAK;gBAChD,OAAO,uBAAC,aAAa,cAAc,KAAK,IAAb,KAAK,CAAyB,CAAC;YAC5D,KAAK,IAAA,sBAAc,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;gBACxD,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,GACE,CACP,CAAC;AAhBW,QAAA,SAAS,aAgBpB;AAEF;;;;GAIG;AACH,SAAS,aAAa,CAAC,EAAE,QAAQ,EAA4B;IAC3D,OAAO,gCAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,YAAG,QAAQ,GAAO,CAAC;AACtD,CAAC;AAED,iBAAS,CAAC,IAAI,GAAG,aAAa,CAAC"}
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export interface BadgeListProps {
|
|
3
|
-
/** Список данных для шильдиков. */
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
/** CSS-класс корневого элемента. */
|
|
6
|
-
className?: string;
|
|
7
|
-
/** Стили корневого элемента. */
|
|
8
|
-
style?: React.CSSProperties;
|
|
9
|
-
/** Лимит количества строк, не влезающие шильдики будут скрыты. */
|
|
10
|
-
lineLimit?: number;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Компонент списка шильдиков. Формирует отступы между шильдиками и переносы по дизайн-найдам.
|
|
14
|
-
* @param props Свойства компонента.
|
|
15
|
-
* @return Элемент.
|
|
16
|
-
*/
|
|
17
|
-
export declare const BadgeList: {
|
|
18
|
-
({ children, className, lineLimit, style }: BadgeListProps): JSX.Element;
|
|
19
|
-
Slot: typeof BadgeListSlot;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Слот для вывода Badge с произвольной оберткой.
|
|
23
|
-
* @param props Свойства.
|
|
24
|
-
* @return Элемент.
|
|
25
|
-
*/
|
|
26
|
-
declare function BadgeListSlot({ children }: {
|
|
27
|
-
children?: ReactNode;
|
|
28
|
-
}): JSX.Element;
|
|
29
|
-
export {};
|
|
1
|
+
export { type BadgeListProps, BadgeList } from './badge-list';
|