@anker-in/headless-ui 1.0.25 → 1.0.26-alpha.1761902931346
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +2 -0
- package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +7 -0
- package/dist/cjs/biz-components/FeatureCards/index.d.ts +2 -0
- package/dist/cjs/biz-components/FeatureCards/index.js +2 -0
- package/dist/cjs/biz-components/FeatureCards/index.js.map +7 -0
- package/dist/cjs/biz-components/FeatureCards/types.d.ts +25 -0
- package/dist/cjs/biz-components/FeatureCards/types.js +2 -0
- package/dist/cjs/biz-components/FeatureCards/types.js.map +7 -0
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js +2 -0
- package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js.map +7 -0
- package/dist/cjs/biz-components/FeatureShowcase/index.d.ts +2 -0
- package/dist/cjs/biz-components/FeatureShowcase/index.js +2 -0
- package/dist/cjs/biz-components/FeatureShowcase/index.js.map +7 -0
- package/dist/cjs/biz-components/FeatureShowcase/types.d.ts +21 -0
- package/dist/cjs/biz-components/FeatureShowcase/types.js +2 -0
- package/dist/cjs/biz-components/FeatureShowcase/types.js.map +7 -0
- package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
- package/dist/cjs/biz-components/FooterNavigation/index.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/index.js.map +2 -2
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js +2 -0
- package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js.map +7 -0
- package/dist/cjs/biz-components/ImageTextFeature/index.d.ts +2 -0
- package/dist/cjs/biz-components/ImageTextFeature/index.js +2 -0
- package/dist/cjs/biz-components/ImageTextFeature/index.js.map +7 -0
- package/dist/cjs/biz-components/ImageTextFeature/types.d.ts +31 -0
- package/dist/cjs/biz-components/ImageTextFeature/types.js +2 -0
- package/dist/cjs/biz-components/ImageTextFeature/types.js.map +7 -0
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +2 -0
- package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +7 -0
- package/dist/cjs/biz-components/ImageWithText/index.d.ts +2 -0
- package/dist/cjs/biz-components/ImageWithText/index.js +2 -0
- package/dist/cjs/biz-components/ImageWithText/index.js.map +7 -0
- package/dist/cjs/biz-components/ImageWithText/types.d.ts +23 -0
- package/dist/cjs/biz-components/ImageWithText/types.js +2 -0
- package/dist/cjs/biz-components/ImageWithText/types.js.map +7 -0
- package/dist/cjs/biz-components/Ksp/index.d.ts +40 -0
- package/dist/cjs/biz-components/Ksp/index.js +2 -0
- package/dist/cjs/biz-components/Ksp/index.js.map +7 -0
- package/dist/cjs/biz-components/MarqueeReview/index.d.ts +41 -0
- package/dist/cjs/biz-components/MarqueeReview/index.js +25 -0
- package/dist/cjs/biz-components/MarqueeReview/index.js.map +7 -0
- package/dist/cjs/biz-components/ProductCompare/index.d.ts +37 -0
- package/dist/cjs/biz-components/ProductCompare/index.js +2 -0
- package/dist/cjs/biz-components/ProductCompare/index.js.map +7 -0
- package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +7 -0
- package/dist/cjs/biz-components/ProductHero/ProductHero.js +2 -0
- package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +7 -0
- package/dist/cjs/biz-components/ProductHero/index.d.ts +2 -0
- package/dist/cjs/biz-components/ProductHero/index.js +2 -0
- package/dist/cjs/biz-components/ProductHero/index.js.map +7 -0
- package/dist/cjs/biz-components/ProductHero/types.d.ts +21 -0
- package/dist/cjs/biz-components/ProductHero/types.js +2 -0
- package/dist/cjs/biz-components/ProductHero/types.js.map +7 -0
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js +2 -0
- package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js.map +7 -0
- package/dist/cjs/biz-components/SpecsComparison/index.d.ts +2 -0
- package/dist/cjs/biz-components/SpecsComparison/index.js +2 -0
- package/dist/cjs/biz-components/SpecsComparison/index.js.map +7 -0
- package/dist/cjs/biz-components/SpecsComparison/types.d.ts +34 -0
- package/dist/cjs/biz-components/SpecsComparison/types.js +2 -0
- package/dist/cjs/biz-components/SpecsComparison/types.js.map +7 -0
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.js +2 -0
- package/dist/cjs/biz-components/TabWithImage/TabWithImage.js.map +7 -0
- package/dist/cjs/biz-components/TabWithImage/index.d.ts +2 -0
- package/dist/cjs/biz-components/TabWithImage/index.js +2 -0
- package/dist/cjs/biz-components/TabWithImage/index.js.map +7 -0
- package/dist/cjs/biz-components/TabWithImage/types.d.ts +29 -0
- package/dist/cjs/biz-components/TabWithImage/types.js +2 -0
- package/dist/cjs/biz-components/TabWithImage/types.js.map +7 -0
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js +2 -0
- package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js.map +7 -0
- package/dist/cjs/biz-components/TabsWithMedia/index.d.ts +2 -0
- package/dist/cjs/biz-components/TabsWithMedia/index.js +2 -0
- package/dist/cjs/biz-components/TabsWithMedia/index.js.map +7 -0
- package/dist/cjs/biz-components/TabsWithMedia/types.d.ts +41 -0
- package/dist/cjs/biz-components/TabsWithMedia/types.js +2 -0
- package/dist/cjs/biz-components/TabsWithMedia/types.js.map +7 -0
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.js +2 -0
- package/dist/cjs/biz-components/VideoFeature/VideoFeature.js.map +7 -0
- package/dist/cjs/biz-components/VideoFeature/index.d.ts +2 -0
- package/dist/cjs/biz-components/VideoFeature/index.js +2 -0
- package/dist/cjs/biz-components/VideoFeature/index.js.map +7 -0
- package/dist/cjs/biz-components/VideoFeature/types.d.ts +19 -0
- package/dist/cjs/biz-components/VideoFeature/types.js +2 -0
- package/dist/cjs/biz-components/VideoFeature/types.js.map +7 -0
- package/dist/cjs/biz-components/index.d.ts +59 -0
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/cpn-components/CpnNavigation/index.js +1 -1
- package/dist/cjs/cpn-components/CpnNavigation/index.js.map +3 -3
- package/dist/cjs/shared/Styles.js +1 -1
- package/dist/cjs/shared/Styles.js.map +3 -3
- package/dist/cjs/stories/MarqueeReview.stories.d.ts +73 -0
- package/dist/cjs/stories/MarqueeReview.stories.js +19 -0
- package/dist/cjs/stories/MarqueeReview.stories.js.map +7 -0
- package/dist/cjs/stories/featureCards.stories.d.ts +28 -0
- package/dist/cjs/stories/featureCards.stories.js +2 -0
- package/dist/cjs/stories/featureCards.stories.js.map +7 -0
- package/dist/cjs/stories/featureShowcase.stories.d.ts +28 -0
- package/dist/cjs/stories/featureShowcase.stories.js +2 -0
- package/dist/cjs/stories/featureShowcase.stories.js.map +7 -0
- package/dist/cjs/stories/imageTextFeature.stories.d.ts +27 -0
- package/dist/cjs/stories/imageTextFeature.stories.js +2 -0
- package/dist/cjs/stories/imageTextFeature.stories.js.map +7 -0
- package/dist/cjs/stories/imageWithText.stories.d.ts +27 -0
- package/dist/cjs/stories/imageWithText.stories.js +2 -0
- package/dist/cjs/stories/imageWithText.stories.js.map +7 -0
- package/dist/cjs/stories/ksp.stories.d.ts +63 -0
- package/dist/cjs/stories/ksp.stories.js +129 -0
- package/dist/cjs/stories/ksp.stories.js.map +7 -0
- package/dist/cjs/stories/productCompare.stories.d.ts +49 -0
- package/dist/cjs/stories/productCompare.stories.js +63 -0
- package/dist/cjs/stories/productCompare.stories.js.map +7 -0
- package/dist/cjs/stories/productHero.stories.d.ts +28 -0
- package/dist/cjs/stories/productHero.stories.js +2 -0
- package/dist/cjs/stories/productHero.stories.js.map +7 -0
- package/dist/cjs/stories/specsComparison.stories.d.ts +27 -0
- package/dist/cjs/stories/specsComparison.stories.js +30 -0
- package/dist/cjs/stories/specsComparison.stories.js.map +7 -0
- package/dist/cjs/stories/tabWithImage.stories.d.ts +27 -0
- package/dist/cjs/stories/tabWithImage.stories.js +2 -0
- package/dist/cjs/stories/tabWithImage.stories.js.map +7 -0
- package/dist/cjs/stories/tabsWithMedia.stories.d.ts +27 -0
- package/dist/cjs/stories/tabsWithMedia.stories.js +2 -0
- package/dist/cjs/stories/tabsWithMedia.stories.js.map +7 -0
- package/dist/cjs/stories/videoFeature.stories.d.ts +28 -0
- package/dist/cjs/stories/videoFeature.stories.js +2 -0
- package/dist/cjs/stories/videoFeature.stories.js.map +7 -0
- package/dist/cjs/types/props.d.ts +4 -0
- package/dist/cjs/types/props.js +1 -1
- package/dist/cjs/types/props.js.map +1 -1
- package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js +2 -0
- package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +7 -0
- package/dist/esm/biz-components/FeatureCards/index.d.ts +2 -0
- package/dist/esm/biz-components/FeatureCards/index.js +2 -0
- package/dist/esm/biz-components/FeatureCards/index.js.map +7 -0
- package/dist/esm/biz-components/FeatureCards/types.d.ts +25 -0
- package/dist/esm/biz-components/FeatureCards/types.js +1 -0
- package/dist/esm/biz-components/FeatureCards/types.js.map +7 -0
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js +2 -0
- package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js.map +7 -0
- package/dist/esm/biz-components/FeatureShowcase/index.d.ts +2 -0
- package/dist/esm/biz-components/FeatureShowcase/index.js +2 -0
- package/dist/esm/biz-components/FeatureShowcase/index.js.map +7 -0
- package/dist/esm/biz-components/FeatureShowcase/types.d.ts +21 -0
- package/dist/esm/biz-components/FeatureShowcase/types.js +1 -0
- package/dist/esm/biz-components/FeatureShowcase/types.js.map +7 -0
- package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
- package/dist/esm/biz-components/FooterNavigation/index.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/index.js.map +2 -2
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js +2 -0
- package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js.map +7 -0
- package/dist/esm/biz-components/ImageTextFeature/index.d.ts +2 -0
- package/dist/esm/biz-components/ImageTextFeature/index.js +2 -0
- package/dist/esm/biz-components/ImageTextFeature/index.js.map +7 -0
- package/dist/esm/biz-components/ImageTextFeature/types.d.ts +31 -0
- package/dist/esm/biz-components/ImageTextFeature/types.js +1 -0
- package/dist/esm/biz-components/ImageTextFeature/types.js.map +7 -0
- package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
- package/dist/esm/biz-components/ImageWithText/ImageWithText.js +2 -0
- package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +7 -0
- package/dist/esm/biz-components/ImageWithText/index.d.ts +2 -0
- package/dist/esm/biz-components/ImageWithText/index.js +2 -0
- package/dist/esm/biz-components/ImageWithText/index.js.map +7 -0
- package/dist/esm/biz-components/ImageWithText/types.d.ts +23 -0
- package/dist/esm/biz-components/ImageWithText/types.js +1 -0
- package/dist/esm/biz-components/ImageWithText/types.js.map +7 -0
- package/dist/esm/biz-components/Ksp/index.d.ts +40 -0
- package/dist/esm/biz-components/Ksp/index.js +2 -0
- package/dist/esm/biz-components/Ksp/index.js.map +7 -0
- package/dist/esm/biz-components/MarqueeReview/index.d.ts +41 -0
- package/dist/esm/biz-components/MarqueeReview/index.js +25 -0
- package/dist/esm/biz-components/MarqueeReview/index.js.map +7 -0
- package/dist/esm/biz-components/ProductCompare/index.d.ts +37 -0
- package/dist/esm/biz-components/ProductCompare/index.js +2 -0
- package/dist/esm/biz-components/ProductCompare/index.js.map +7 -0
- package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +7 -0
- package/dist/esm/biz-components/ProductHero/ProductHero.js +2 -0
- package/dist/esm/biz-components/ProductHero/ProductHero.js.map +7 -0
- package/dist/esm/biz-components/ProductHero/index.d.ts +2 -0
- package/dist/esm/biz-components/ProductHero/index.js +2 -0
- package/dist/esm/biz-components/ProductHero/index.js.map +7 -0
- package/dist/esm/biz-components/ProductHero/types.d.ts +21 -0
- package/dist/esm/biz-components/ProductHero/types.js +1 -0
- package/dist/esm/biz-components/ProductHero/types.js.map +7 -0
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js +2 -0
- package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js.map +7 -0
- package/dist/esm/biz-components/SpecsComparison/index.d.ts +2 -0
- package/dist/esm/biz-components/SpecsComparison/index.js +2 -0
- package/dist/esm/biz-components/SpecsComparison/index.js.map +7 -0
- package/dist/esm/biz-components/SpecsComparison/types.d.ts +34 -0
- package/dist/esm/biz-components/SpecsComparison/types.js +1 -0
- package/dist/esm/biz-components/SpecsComparison/types.js.map +7 -0
- package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
- package/dist/esm/biz-components/TabWithImage/TabWithImage.js +2 -0
- package/dist/esm/biz-components/TabWithImage/TabWithImage.js.map +7 -0
- package/dist/esm/biz-components/TabWithImage/index.d.ts +2 -0
- package/dist/esm/biz-components/TabWithImage/index.js +2 -0
- package/dist/esm/biz-components/TabWithImage/index.js.map +7 -0
- package/dist/esm/biz-components/TabWithImage/types.d.ts +29 -0
- package/dist/esm/biz-components/TabWithImage/types.js +1 -0
- package/dist/esm/biz-components/TabWithImage/types.js.map +7 -0
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js +2 -0
- package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js.map +7 -0
- package/dist/esm/biz-components/TabsWithMedia/index.d.ts +2 -0
- package/dist/esm/biz-components/TabsWithMedia/index.js +2 -0
- package/dist/esm/biz-components/TabsWithMedia/index.js.map +7 -0
- package/dist/esm/biz-components/TabsWithMedia/types.d.ts +41 -0
- package/dist/esm/biz-components/TabsWithMedia/types.js +1 -0
- package/dist/esm/biz-components/TabsWithMedia/types.js.map +7 -0
- package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
- package/dist/esm/biz-components/VideoFeature/VideoFeature.js +2 -0
- package/dist/esm/biz-components/VideoFeature/VideoFeature.js.map +7 -0
- package/dist/esm/biz-components/VideoFeature/index.d.ts +2 -0
- package/dist/esm/biz-components/VideoFeature/index.js +2 -0
- package/dist/esm/biz-components/VideoFeature/index.js.map +7 -0
- package/dist/esm/biz-components/VideoFeature/types.d.ts +19 -0
- package/dist/esm/biz-components/VideoFeature/types.js +1 -0
- package/dist/esm/biz-components/VideoFeature/types.js.map +7 -0
- package/dist/esm/biz-components/index.d.ts +59 -0
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +3 -3
- package/dist/esm/cpn-components/CpnNavigation/index.js +1 -1
- package/dist/esm/cpn-components/CpnNavigation/index.js.map +2 -2
- package/dist/esm/shared/Styles.js +1 -1
- package/dist/esm/shared/Styles.js.map +3 -3
- package/dist/esm/stories/MarqueeReview.stories.d.ts +73 -0
- package/dist/esm/stories/MarqueeReview.stories.js +19 -0
- package/dist/esm/stories/MarqueeReview.stories.js.map +7 -0
- package/dist/esm/stories/featureCards.stories.d.ts +28 -0
- package/dist/esm/stories/featureCards.stories.js +2 -0
- package/dist/esm/stories/featureCards.stories.js.map +7 -0
- package/dist/esm/stories/featureShowcase.stories.d.ts +28 -0
- package/dist/esm/stories/featureShowcase.stories.js +2 -0
- package/dist/esm/stories/featureShowcase.stories.js.map +7 -0
- package/dist/esm/stories/imageTextFeature.stories.d.ts +27 -0
- package/dist/esm/stories/imageTextFeature.stories.js +2 -0
- package/dist/esm/stories/imageTextFeature.stories.js.map +7 -0
- package/dist/esm/stories/imageWithText.stories.d.ts +27 -0
- package/dist/esm/stories/imageWithText.stories.js +2 -0
- package/dist/esm/stories/imageWithText.stories.js.map +7 -0
- package/dist/esm/stories/ksp.stories.d.ts +63 -0
- package/dist/esm/stories/ksp.stories.js +129 -0
- package/dist/esm/stories/ksp.stories.js.map +7 -0
- package/dist/esm/stories/productCompare.stories.d.ts +49 -0
- package/dist/esm/stories/productCompare.stories.js +63 -0
- package/dist/esm/stories/productCompare.stories.js.map +7 -0
- package/dist/esm/stories/productHero.stories.d.ts +28 -0
- package/dist/esm/stories/productHero.stories.js +2 -0
- package/dist/esm/stories/productHero.stories.js.map +7 -0
- package/dist/esm/stories/specsComparison.stories.d.ts +27 -0
- package/dist/esm/stories/specsComparison.stories.js +30 -0
- package/dist/esm/stories/specsComparison.stories.js.map +7 -0
- package/dist/esm/stories/tabWithImage.stories.d.ts +27 -0
- package/dist/esm/stories/tabWithImage.stories.js +2 -0
- package/dist/esm/stories/tabWithImage.stories.js.map +7 -0
- package/dist/esm/stories/tabsWithMedia.stories.d.ts +27 -0
- package/dist/esm/stories/tabsWithMedia.stories.js +2 -0
- package/dist/esm/stories/tabsWithMedia.stories.js.map +7 -0
- package/dist/esm/stories/videoFeature.stories.d.ts +28 -0
- package/dist/esm/stories/videoFeature.stories.js +2 -0
- package/dist/esm/stories/videoFeature.stories.js.map +7 -0
- package/dist/esm/types/props.d.ts +4 -0
- package/dist/tokens/base.css +3 -0
- package/package.json +4 -1
- package/tailwind.config.js +2 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { StoryObj } from '@storybook/react';
|
|
3
|
+
import type { TabsWithMediaProps } from '../biz-components/TabsWithMedia/types.js';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: React.ForwardRefExoticComponent<Omit<Omit<TabsWithMediaProps & React.RefAttributes<HTMLDivElement>, keyof import("../shared/Styles.js").StylesProps> & Partial<import("../shared/Styles.js").StylesProps & import("../shared/Styles.js").ContainerProps> & {
|
|
7
|
+
className?: string;
|
|
8
|
+
data?: Record<string, any>;
|
|
9
|
+
}, "ref"> & React.RefAttributes<any>>;
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: string;
|
|
12
|
+
backgrounds: {
|
|
13
|
+
default: string;
|
|
14
|
+
};
|
|
15
|
+
docs: {
|
|
16
|
+
description: {
|
|
17
|
+
component: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
tags: string[];
|
|
22
|
+
};
|
|
23
|
+
export default meta;
|
|
24
|
+
type Story = StoryObj<typeof meta>;
|
|
25
|
+
export declare const Default: Story;
|
|
26
|
+
export declare const ThreeItems: Story;
|
|
27
|
+
export declare const FourItems: Story;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var l=Object.create;var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var r=(e,t)=>{for(var i in t)o(e,i,{get:t[i],enumerable:!0})},n=(e,t,i,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of m(t))!b.call(e,s)&&s!==i&&o(e,s,{get:()=>t[s],enumerable:!(p=c(t,s))||p.enumerable});return e};var h=(e,t,i)=>(i=e!=null?l(d(e)):{},n(t||!e||!e.__esModule?o(i,"default",{value:e,enumerable:!0}):i,e)),g=e=>n(o({},"__esModule",{value:!0}),e);var S={};r(S,{Default:()=>u,FourItems:()=>T,ThreeItems:()=>v,default:()=>_});module.exports=g(S);var A=require("react"),f=h(require("../biz-components/TabsWithMedia/index.js"));const y={title:"Biz Components/TabsWithMedia",component:f.default,parameters:{layout:"padded",backgrounds:{default:"dark"},docs:{description:{component:"Tab \u5207\u6362\u5A92\u4F53\u5C55\u793A\u7EC4\u4EF6\uFF0C\u652F\u6301\u89C6\u9891\u81EA\u52A8\u5207\u6362 Tab\u3001Swiper \u5185\u5BB9\u5207\u6362\u3001\u52A8\u753B\u6548\u679C\uFF0C\u9002\u5408\u5C55\u793A\u591A\u4E2A\u529F\u80FD\u7279\u6027"}}},tags:["autodocs"]};var _=y;const a={title:"All You Need, All-in-One",poster:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046",alt:"All You Need, All-in-One",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046",mimeType:"image/png"},video:{url:"https://cdn.shopify.com/videos/c/o/v/1478fa98828e4879890963a4c60fff14.mp4",alt:"All You Need, All-in-One Video",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046",mimeType:"video/mp4"},mobvideo:{url:"https://cdn.shopify.com/videos/c/vp/b8cf80b388c54228860dd0bf1de7c36c/b8cf80b388c54228860dd0bf1de7c36c.SD-480p-0.9Mbps-50503406.mp4",alt:"All You Need, All-in-One Mobile Video",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046",mimeType:"video/mp4"},items:[{tab:"Self-Emptying",desc:"3L dust bag supports up to 75 days of maintenance-free cleaning.",icon:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/6a7e92ad-5be0-4ba1-a549-eb794a8cbdcb_Property_1_Self-Emptying.png?v=1751509824",alt:"Self-Emptying",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/6a7e92ad-5be0-4ba1-a549-eb794a8cbdcb_Property_1_Self-Emptying.png?v=1751509824",mimeType:"image/png"},poster:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046",alt:"Self-Emptying Poster",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046",mimeType:"image/png"}},{tab:"Self-Refilling",desc:"Features a 2.5L clean water tank, sufficient for 4 mopping sessions in a 2,000 sq ft house.",icon:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/98814790-6119-48d3-9518-3706103971ce_Property_1_Self-Refilling.png?v=1751509870",alt:"Self-Refilling",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/98814790-6119-48d3-9518-3706103971ce_Property_1_Self-Refilling.png?v=1751509870",mimeType:"image/png"},poster:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/62f8efdb-baa0-4b66-b0ce-e43ba80aaa93_1952837054_2.png?v=1751440082",alt:"Self-Refilling Poster",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/62f8efdb-baa0-4b66-b0ce-e43ba80aaa93_1952837054_2.png?v=1751440082",mimeType:"image/png"}},{tab:"Self-Washing",desc:"Automatically washes the mop after each session.",icon:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/cb041a84-9e89-4844-ac1b-8fc6fff8f13c_Property_1_Self-Washing.png?v=1751509912",alt:"Self-Washing",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/cb041a84-9e89-4844-ac1b-8fc6fff8f13c_Property_1_Self-Washing.png?v=1751509912",mimeType:"image/png"},poster:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/0506a613-f916-4bce-84ab-a3da4cd9078a_1952837054_4.png?v=1751440128",alt:"Self-Washing Poster",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/0506a613-f916-4bce-84ab-a3da4cd9078a_1952837054_4.png?v=1751440128",mimeType:"image/png"}},{tab:"Hot Air Drying",desc:"Intelligent 35-50\xB0C (95-122\xB0F) temperature control for efficient drying.",icon:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/074f6c07-dc85-44b1-9351-fcc8b3423f1f_Property_1_Hot_Air_Drying.png?v=1751509932",alt:"Hot Air Drying",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/074f6c07-dc85-44b1-9351-fcc8b3423f1f_Property_1_Hot_Air_Drying.png?v=1751509932",mimeType:"image/png"},poster:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/65e9ba72-06d6-49cb-90b4-27406c409567_1952837054_3.png?v=1751440106",alt:"Hot Air Drying Poster",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/65e9ba72-06d6-49cb-90b4-27406c409567_1952837054_3.png?v=1751440106",mimeType:"image/png"}},{tab:"Wastewater Collection",desc:"1.8L tank collects dirty water.",icon:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/6f392913-919d-4842-9b40-a1736c3b1213_Property_1_Wastewater_Collection.png?v=1751509955",alt:"Wastewater Collection",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/6f392913-919d-4842-9b40-a1736c3b1213_Property_1_Wastewater_Collection.png?v=1751509955",mimeType:"image/png"},poster:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/39b69bf4-e615-42b7-8eda-eaef031c79c4_1952837054_5.png?v=1751536624",alt:"Wastewater Collection Poster",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/39b69bf4-e615-42b7-8eda-eaef031c79c4_1952837054_5.png?v=1751536624",mimeType:"image/png"}},{tab:"Automatic Detergent Dispensing",desc:"Automatically dispenses detergent, lasting up to 6 months.",icon:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/57d9d293-e511-40a5-a100-0763f7681ba6_Property_1_Automatic_Detergent_Dispensing.png?v=1751510012",alt:"Automatic Detergent Dispensing",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/57d9d293-e511-40a5-a100-0763f7681ba6_Property_1_Automatic_Detergent_Dispensing.png?v=1751510012",mimeType:"image/png"},poster:{url:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/03b6c2d7-e5a8-47c4-9d21-20fcb70eb385_1952837054_6.png?v=1751536659",alt:"Automatic Detergent Dispensing Poster",thumbnailURL:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/03b6c2d7-e5a8-47c4-9d21-20fcb70eb385_1952837054_6.png?v=1751536659",mimeType:"image/png"}}]},u={args:{data:a}},v={args:{data:{...a,items:a.items.slice(0,3),timeIdx:[{time:2.4,point:2.4,highlightIdx:0},{time:2.5,point:4.9,highlightIdx:1},{time:2.5,point:7.4,highlightIdx:2}]}}},T={args:{data:{...a,items:a.items.slice(0,4),timeIdx:[{time:2.4,point:2.4,highlightIdx:0},{time:2.5,point:4.9,highlightIdx:1},{time:2.5,point:7.4,highlightIdx:2},{time:2.8,point:10.2,highlightIdx:3}]}}};
|
|
2
|
+
//# sourceMappingURL=tabsWithMedia.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/stories/tabsWithMedia.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\nimport type { Meta, StoryObj } from '@storybook/react'\nimport TabsWithMedia from '../biz-components/TabsWithMedia/index.js'\nimport type { TabsWithMediaProps } from '../biz-components/TabsWithMedia/types.js'\n\nconst meta = {\n title: 'Biz Components/TabsWithMedia',\n component: TabsWithMedia,\n parameters: {\n layout: 'padded',\n backgrounds: {\n default: 'dark',\n },\n docs: {\n description: {\n component:\n 'Tab \u5207\u6362\u5A92\u4F53\u5C55\u793A\u7EC4\u4EF6\uFF0C\u652F\u6301\u89C6\u9891\u81EA\u52A8\u5207\u6362 Tab\u3001Swiper \u5185\u5BB9\u5207\u6362\u3001\u52A8\u753B\u6548\u679C\uFF0C\u9002\u5408\u5C55\u793A\u591A\u4E2A\u529F\u80FD\u7279\u6027',\n },\n },\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof TabsWithMedia>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nconst defaultData: TabsWithMediaProps['data'] = {\n title: 'All You Need, All-in-One',\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046',\n alt: 'All You Need, All-in-One',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046',\n mimeType: 'image/png',\n },\n video: {\n url: 'https://cdn.shopify.com/videos/c/o/v/1478fa98828e4879890963a4c60fff14.mp4',\n alt: 'All You Need, All-in-One Video',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046',\n mimeType: 'video/mp4',\n },\n mobvideo: {\n url: 'https://cdn.shopify.com/videos/c/vp/b8cf80b388c54228860dd0bf1de7c36c/b8cf80b388c54228860dd0bf1de7c36c.SD-480p-0.9Mbps-50503406.mp4',\n alt: 'All You Need, All-in-One Mobile Video',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046',\n mimeType: 'video/mp4',\n },\n items: [\n {\n tab: 'Self-Emptying',\n desc: '3L dust bag supports up to 75 days of maintenance-free cleaning.',\n icon: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/6a7e92ad-5be0-4ba1-a549-eb794a8cbdcb_Property_1_Self-Emptying.png?v=1751509824',\n alt: 'Self-Emptying',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/6a7e92ad-5be0-4ba1-a549-eb794a8cbdcb_Property_1_Self-Emptying.png?v=1751509824',\n mimeType: 'image/png',\n },\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046',\n alt: 'Self-Emptying Poster',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/a4bb1353-863a-4541-8abb-fd19f1db548d_1952837054.png?v=1751440046',\n mimeType: 'image/png',\n },\n },\n {\n tab: 'Self-Refilling',\n desc: 'Features a 2.5L clean water tank, sufficient for 4 mopping sessions in a 2,000 sq ft house.',\n icon: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/98814790-6119-48d3-9518-3706103971ce_Property_1_Self-Refilling.png?v=1751509870',\n alt: 'Self-Refilling',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/98814790-6119-48d3-9518-3706103971ce_Property_1_Self-Refilling.png?v=1751509870',\n mimeType: 'image/png',\n },\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/62f8efdb-baa0-4b66-b0ce-e43ba80aaa93_1952837054_2.png?v=1751440082',\n alt: 'Self-Refilling Poster',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/62f8efdb-baa0-4b66-b0ce-e43ba80aaa93_1952837054_2.png?v=1751440082',\n mimeType: 'image/png',\n },\n },\n {\n tab: 'Self-Washing',\n desc: 'Automatically washes the mop after each session.',\n icon: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/cb041a84-9e89-4844-ac1b-8fc6fff8f13c_Property_1_Self-Washing.png?v=1751509912',\n alt: 'Self-Washing',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/cb041a84-9e89-4844-ac1b-8fc6fff8f13c_Property_1_Self-Washing.png?v=1751509912',\n mimeType: 'image/png',\n },\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/0506a613-f916-4bce-84ab-a3da4cd9078a_1952837054_4.png?v=1751440128',\n alt: 'Self-Washing Poster',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/0506a613-f916-4bce-84ab-a3da4cd9078a_1952837054_4.png?v=1751440128',\n mimeType: 'image/png',\n },\n },\n {\n tab: 'Hot Air Drying',\n desc: 'Intelligent 35-50\u00B0C (95-122\u00B0F) temperature control for efficient drying.',\n icon: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/074f6c07-dc85-44b1-9351-fcc8b3423f1f_Property_1_Hot_Air_Drying.png?v=1751509932',\n alt: 'Hot Air Drying',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/074f6c07-dc85-44b1-9351-fcc8b3423f1f_Property_1_Hot_Air_Drying.png?v=1751509932',\n mimeType: 'image/png',\n },\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/65e9ba72-06d6-49cb-90b4-27406c409567_1952837054_3.png?v=1751440106',\n alt: 'Hot Air Drying Poster',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/65e9ba72-06d6-49cb-90b4-27406c409567_1952837054_3.png?v=1751440106',\n mimeType: 'image/png',\n },\n },\n {\n tab: 'Wastewater Collection',\n desc: '1.8L tank collects dirty water.',\n icon: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/6f392913-919d-4842-9b40-a1736c3b1213_Property_1_Wastewater_Collection.png?v=1751509955',\n alt: 'Wastewater Collection',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/6f392913-919d-4842-9b40-a1736c3b1213_Property_1_Wastewater_Collection.png?v=1751509955',\n mimeType: 'image/png',\n },\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/39b69bf4-e615-42b7-8eda-eaef031c79c4_1952837054_5.png?v=1751536624',\n alt: 'Wastewater Collection Poster',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/39b69bf4-e615-42b7-8eda-eaef031c79c4_1952837054_5.png?v=1751536624',\n mimeType: 'image/png',\n },\n },\n {\n tab: 'Automatic Detergent Dispensing',\n desc: 'Automatically dispenses detergent, lasting up to 6 months.',\n icon: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/57d9d293-e511-40a5-a100-0763f7681ba6_Property_1_Automatic_Detergent_Dispensing.png?v=1751510012',\n alt: 'Automatic Detergent Dispensing',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/57d9d293-e511-40a5-a100-0763f7681ba6_Property_1_Automatic_Detergent_Dispensing.png?v=1751510012',\n mimeType: 'image/png',\n },\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/03b6c2d7-e5a8-47c4-9d21-20fcb70eb385_1952837054_6.png?v=1751536659',\n alt: 'Automatic Detergent Dispensing Poster',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/03b6c2d7-e5a8-47c4-9d21-20fcb70eb385_1952837054_6.png?v=1751536659',\n mimeType: 'image/png',\n },\n },\n ],\n}\n\nexport const Default: Story = {\n args: {\n data: defaultData,\n },\n}\n\nexport const ThreeItems: Story = {\n args: {\n data: {\n ...defaultData,\n items: defaultData.items.slice(0, 3),\n timeIdx: [\n { time: 2.4, point: 2.4, highlightIdx: 0 },\n { time: 2.5, point: 4.9, highlightIdx: 1 },\n { time: 2.5, point: 7.4, highlightIdx: 2 },\n ],\n },\n },\n}\n\nexport const FourItems: Story = {\n args: {\n data: {\n ...defaultData,\n items: defaultData.items.slice(0, 4),\n timeIdx: [\n { time: 2.4, point: 2.4, highlightIdx: 0 },\n { time: 2.5, point: 4.9, highlightIdx: 1 },\n { time: 2.5, point: 7.4, highlightIdx: 2 },\n { time: 2.8, point: 10.2, highlightIdx: 3 },\n ],\n },\n },\n}\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,cAAAC,EAAA,eAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAN,GAAA,IAAAO,EAAkB,iBAElBC,EAA0B,uDAG1B,MAAMC,EAAO,CACX,MAAO,+BACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,SACR,YAAa,CACX,QAAS,MACX,EACA,KAAM,CACJ,YAAa,CACX,UACE,qPACJ,CACF,CACF,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOL,EAAQI,EAIf,MAAME,EAA0C,CAC9C,MAAO,2BACP,OAAQ,CACN,IAAK,0HACL,IAAK,2BACL,aACE,0HACF,SAAU,WACZ,EACA,MAAO,CACL,IAAK,4EACL,IAAK,iCACL,aACE,0HACF,SAAU,WACZ,EACA,SAAU,CACR,IAAK,qIACL,IAAK,wCACL,aACE,0HACF,SAAU,WACZ,EACA,MAAO,CACL,CACE,IAAK,gBACL,KAAM,mEACN,KAAM,CACJ,IAAK,wIACL,IAAK,gBACL,aACE,wIACF,SAAU,WACZ,EACA,OAAQ,CACN,IAAK,0HACL,IAAK,uBACL,aACE,0HACF,SAAU,WACZ,CACF,EACA,CACE,IAAK,iBACL,KAAM,8FACN,KAAM,CACJ,IAAK,yIACL,IAAK,iBACL,aACE,yIACF,SAAU,WACZ,EACA,OAAQ,CACN,IAAK,4HACL,IAAK,wBACL,aACE,4HACF,SAAU,WACZ,CACF,EACA,CACE,IAAK,eACL,KAAM,mDACN,KAAM,CACJ,IAAK,uIACL,IAAK,eACL,aACE,uIACF,SAAU,WACZ,EACA,OAAQ,CACN,IAAK,4HACL,IAAK,sBACL,aACE,4HACF,SAAU,WACZ,CACF,EACA,CACE,IAAK,iBACL,KAAM,iFACN,KAAM,CACJ,IAAK,yIACL,IAAK,iBACL,aACE,yIACF,SAAU,WACZ,EACA,OAAQ,CACN,IAAK,4HACL,IAAK,wBACL,aACE,4HACF,SAAU,WACZ,CACF,EACA,CACE,IAAK,wBACL,KAAM,kCACN,KAAM,CACJ,IAAK,gJACL,IAAK,wBACL,aACE,gJACF,SAAU,WACZ,EACA,OAAQ,CACN,IAAK,4HACL,IAAK,+BACL,aACE,4HACF,SAAU,WACZ,CACF,EACA,CACE,IAAK,iCACL,KAAM,8DACN,KAAM,CACJ,IAAK,yJACL,IAAK,iCACL,aACE,yJACF,SAAU,WACZ,EACA,OAAQ,CACN,IAAK,4HACL,IAAK,wCACL,aACE,4HACF,SAAU,WACZ,CACF,CACF,CACF,EAEaT,EAAiB,CAC5B,KAAM,CACJ,KAAMS,CACR,CACF,EAEaP,EAAoB,CAC/B,KAAM,CACJ,KAAM,CACJ,GAAGO,EACH,MAAOA,EAAY,MAAM,MAAM,EAAG,CAAC,EACnC,QAAS,CACP,CAAE,KAAM,IAAK,MAAO,IAAK,aAAc,CAAE,EACzC,CAAE,KAAM,IAAK,MAAO,IAAK,aAAc,CAAE,EACzC,CAAE,KAAM,IAAK,MAAO,IAAK,aAAc,CAAE,CAC3C,CACF,CACF,CACF,EAEaR,EAAmB,CAC9B,KAAM,CACJ,KAAM,CACJ,GAAGQ,EACH,MAAOA,EAAY,MAAM,MAAM,EAAG,CAAC,EACnC,QAAS,CACP,CAAE,KAAM,IAAK,MAAO,IAAK,aAAc,CAAE,EACzC,CAAE,KAAM,IAAK,MAAO,IAAK,aAAc,CAAE,EACzC,CAAE,KAAM,IAAK,MAAO,IAAK,aAAc,CAAE,EACzC,CAAE,KAAM,IAAK,MAAO,KAAM,aAAc,CAAE,CAC5C,CACF,CACF,CACF",
|
|
6
|
+
"names": ["tabsWithMedia_stories_exports", "__export", "Default", "FourItems", "ThreeItems", "tabsWithMedia_stories_default", "__toCommonJS", "import_react", "import_TabsWithMedia", "meta", "TabsWithMedia", "defaultData"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { StoryObj } from '@storybook/react';
|
|
3
|
+
import type { VideoFeatureProps } from '../biz-components/VideoFeature/types.js';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: React.ForwardRefExoticComponent<Omit<Omit<VideoFeatureProps & React.RefAttributes<HTMLDivElement>, keyof import("../shared/Styles.js").StylesProps> & Partial<import("../shared/Styles.js").StylesProps & import("../shared/Styles.js").ContainerProps> & {
|
|
7
|
+
className?: string;
|
|
8
|
+
data?: Record<string, any>;
|
|
9
|
+
}, "ref"> & React.RefAttributes<any>>;
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: string;
|
|
12
|
+
backgrounds: {
|
|
13
|
+
default: string;
|
|
14
|
+
};
|
|
15
|
+
docs: {
|
|
16
|
+
description: {
|
|
17
|
+
component: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
tags: string[];
|
|
22
|
+
};
|
|
23
|
+
export default meta;
|
|
24
|
+
type Story = StoryObj<typeof meta>;
|
|
25
|
+
export declare const Default: Story;
|
|
26
|
+
export declare const WithoutSubtitle: Story;
|
|
27
|
+
export declare const DesktopOnly: Story;
|
|
28
|
+
export declare const WithoutPosters: Story;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var f=Object.create;var t=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var n=(e,o)=>{for(var a in o)t(e,a,{get:o[a],enumerable:!0})},p=(e,o,a,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of r(o))!m.call(e,i)&&i!==a&&t(e,i,{get:()=>o[i],enumerable:!(s=d(o,i))||s.enumerable});return e};var h=(e,o,a)=>(a=e!=null?f(c(e)):{},p(o||!e||!e.__esModule?t(a,"default",{value:e,enumerable:!0}):a,e)),b=e=>p(t({},"__esModule",{value:!0}),e);var T={};n(T,{Default:()=>y,DesktopOnly:()=>D,WithoutPosters:()=>S,WithoutSubtitle:()=>_,default:()=>v});module.exports=b(T);var R=require("react"),l=h(require("../biz-components/VideoFeature/index.js"));const u={title:"Biz Components/VideoFeature",component:l.default,parameters:{layout:"padded",backgrounds:{default:"dark"},docs:{description:{component:"\u89C6\u9891\u7279\u6027\u5C55\u793A\u7EC4\u4EF6\uFF0C\u7528\u4E8E\u5C55\u793A\u4EA7\u54C1\u89C6\u9891\u548C\u63CF\u8FF0\uFF0C\u652F\u6301\u684C\u9762\u7AEF\u548C\u79FB\u52A8\u7AEF\u4E0D\u540C\u89C6\u9891\uFF0C\u5E26\u61D2\u52A0\u8F7D\u529F\u80FD"}}},tags:["autodocs"]};var v=u;const g={title:"DuoSpiral\u2122 Detangle Brushes",poster:{url:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",alt:"DuoSpiral\u2122 Detangle Brushes",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",mimeType:"image/png"},subtitle:"DuoSpiral\u2122 brushes prevent hair from getting tangled for a hassle-free cleaning experience.",video:{url:"https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4",alt:"DuoSpiral\u2122 Detangle Brushes Video",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",mimeType:"video/mp4"},mobPoster:{url:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811",alt:"DuoSpiral\u2122 Detangle Brushes Mobile",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811",mimeType:"image/png"},mobvideo:{url:"https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4",alt:"DuoSpiral\u2122 Detangle Brushes Mobile Video",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811",mimeType:"video/mp4"}},y={args:{data:g}},_={args:{data:{title:"DuoSpiral\u2122 Detangle Brushes",poster:{url:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",alt:"DuoSpiral\u2122 Detangle Brushes",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",mimeType:"image/png"},video:{url:"https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4",alt:"DuoSpiral\u2122 Detangle Brushes Video",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",mimeType:"video/mp4"},mobPoster:{url:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811",alt:"DuoSpiral\u2122 Detangle Brushes Mobile",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811",mimeType:"image/png"},mobvideo:{url:"https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4",alt:"DuoSpiral\u2122 Detangle Brushes Mobile Video",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811",mimeType:"video/mp4"}}}},D={args:{data:{title:"Advanced Cleaning Technology",subtitle:"Experience powerful cleaning with our latest innovation.",poster:{url:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",alt:"Advanced Cleaning Technology",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",mimeType:"image/png"},video:{url:"https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4",alt:"Advanced Cleaning Technology Video",thumbnailURL:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",mimeType:"video/mp4"}}}},S={args:{data:{title:"DuoSpiral\u2122 Detangle Brushes",subtitle:"DuoSpiral\u2122 brushes prevent hair from getting tangled for a hassle-free cleaning experience.",video:{url:"https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4",alt:"DuoSpiral\u2122 Detangle Brushes Video",thumbnailURL:"",mimeType:"video/mp4"},mobvideo:{url:"https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4",alt:"DuoSpiral\u2122 Detangle Brushes Mobile Video",thumbnailURL:"",mimeType:"video/mp4"}}}};
|
|
2
|
+
//# sourceMappingURL=videoFeature.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/stories/videoFeature.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\nimport type { Meta, StoryObj } from '@storybook/react'\nimport VideoFeature from '../biz-components/VideoFeature/index.js'\nimport type { VideoFeatureProps } from '../biz-components/VideoFeature/types.js'\n\nconst meta = {\n title: 'Biz Components/VideoFeature',\n component: VideoFeature,\n parameters: {\n layout: 'padded',\n backgrounds: {\n default: 'dark',\n },\n docs: {\n description: {\n component: '\u89C6\u9891\u7279\u6027\u5C55\u793A\u7EC4\u4EF6\uFF0C\u7528\u4E8E\u5C55\u793A\u4EA7\u54C1\u89C6\u9891\u548C\u63CF\u8FF0\uFF0C\u652F\u6301\u684C\u9762\u7AEF\u548C\u79FB\u52A8\u7AEF\u4E0D\u540C\u89C6\u9891\uFF0C\u5E26\u61D2\u52A0\u8F7D\u529F\u80FD',\n },\n },\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof VideoFeature>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nconst defaultData: VideoFeatureProps['data'] = {\n title: 'DuoSpiral\u2122 Detangle Brushes',\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n alt: 'DuoSpiral\u2122 Detangle Brushes',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n mimeType: 'image/png',\n },\n subtitle: 'DuoSpiral\u2122 brushes prevent hair from getting tangled for a hassle-free cleaning experience.',\n video: {\n url: 'https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4',\n alt: 'DuoSpiral\u2122 Detangle Brushes Video',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n mimeType: 'video/mp4',\n },\n mobPoster: {\n url: 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811',\n alt: 'DuoSpiral\u2122 Detangle Brushes Mobile',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811',\n mimeType: 'image/png',\n },\n mobvideo: {\n url: 'https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4',\n alt: 'DuoSpiral\u2122 Detangle Brushes Mobile Video',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811',\n mimeType: 'video/mp4',\n },\n}\n\nexport const Default: Story = {\n args: {\n data: defaultData,\n },\n}\n\nexport const WithoutSubtitle: Story = {\n args: {\n data: {\n title: 'DuoSpiral\u2122 Detangle Brushes',\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n alt: 'DuoSpiral\u2122 Detangle Brushes',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n mimeType: 'image/png',\n },\n video: {\n url: 'https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4',\n alt: 'DuoSpiral\u2122 Detangle Brushes Video',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n mimeType: 'video/mp4',\n },\n mobPoster: {\n url: 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811',\n alt: 'DuoSpiral\u2122 Detangle Brushes Mobile',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811',\n mimeType: 'image/png',\n },\n mobvideo: {\n url: 'https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4',\n alt: 'DuoSpiral\u2122 Detangle Brushes Mobile Video',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811',\n mimeType: 'video/mp4',\n },\n },\n },\n}\n\nexport const DesktopOnly: Story = {\n args: {\n data: {\n title: 'Advanced Cleaning Technology',\n subtitle: 'Experience powerful cleaning with our latest innovation.',\n poster: {\n url: 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n alt: 'Advanced Cleaning Technology',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n mimeType: 'image/png',\n },\n video: {\n url: 'https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4',\n alt: 'Advanced Cleaning Technology Video',\n thumbnailURL:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n mimeType: 'video/mp4',\n },\n },\n },\n}\n\nexport const WithoutPosters: Story = {\n args: {\n data: {\n title: 'DuoSpiral\u2122 Detangle Brushes',\n subtitle: 'DuoSpiral\u2122 brushes prevent hair from getting tangled for a hassle-free cleaning experience.',\n video: {\n url: 'https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4',\n alt: 'DuoSpiral\u2122 Detangle Brushes Video',\n thumbnailURL: '',\n mimeType: 'video/mp4',\n },\n mobvideo: {\n url: 'https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4',\n alt: 'DuoSpiral\u2122 Detangle Brushes Mobile Video',\n thumbnailURL: '',\n mimeType: 'video/mp4',\n },\n },\n },\n}\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,gBAAAC,EAAA,mBAAAC,EAAA,oBAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAP,GAAA,IAAAQ,EAAkB,iBAElBC,EAAyB,sDAGzB,MAAMC,EAAO,CACX,MAAO,8BACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,SACR,YAAa,CACX,QAAS,MACX,EACA,KAAM,CACJ,YAAa,CACX,UAAW,wPACb,CACF,CACF,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOL,EAAQI,EAIf,MAAME,EAAyC,CAC7C,MAAO,mCACP,OAAQ,CACN,IAAK,8HACL,IAAK,mCACL,aACE,8HACF,SAAU,WACZ,EACA,SAAU,mGACV,MAAO,CACL,IAAK,4EACL,IAAK,yCACL,aACE,8HACF,SAAU,WACZ,EACA,UAAW,CACT,IAAK,8HACL,IAAK,0CACL,aACE,8HACF,SAAU,WACZ,EACA,SAAU,CACR,IAAK,4EACL,IAAK,gDACL,aACE,8HACF,SAAU,WACZ,CACF,EAEaV,EAAiB,CAC5B,KAAM,CACJ,KAAMU,CACR,CACF,EAEaP,EAAyB,CACpC,KAAM,CACJ,KAAM,CACJ,MAAO,mCACP,OAAQ,CACN,IAAK,8HACL,IAAK,mCACL,aACE,8HACF,SAAU,WACZ,EACA,MAAO,CACL,IAAK,4EACL,IAAK,yCACL,aACE,8HACF,SAAU,WACZ,EACA,UAAW,CACT,IAAK,8HACL,IAAK,0CACL,aACE,8HACF,SAAU,WACZ,EACA,SAAU,CACR,IAAK,4EACL,IAAK,gDACL,aACE,8HACF,SAAU,WACZ,CACF,CACF,CACF,EAEaF,EAAqB,CAChC,KAAM,CACJ,KAAM,CACJ,MAAO,+BACP,SAAU,2DACV,OAAQ,CACN,IAAK,8HACL,IAAK,+BACL,aACE,8HACF,SAAU,WACZ,EACA,MAAO,CACL,IAAK,4EACL,IAAK,qCACL,aACE,8HACF,SAAU,WACZ,CACF,CACF,CACF,EAEaC,EAAwB,CACnC,KAAM,CACJ,KAAM,CACJ,MAAO,mCACP,SAAU,mGACV,MAAO,CACL,IAAK,4EACL,IAAK,yCACL,aAAc,GACd,SAAU,WACZ,EACA,SAAU,CACR,IAAK,4EACL,IAAK,gDACL,aAAc,GACd,SAAU,WACZ,CACF,CACF,CACF",
|
|
6
|
+
"names": ["videoFeature_stories_exports", "__export", "Default", "DesktopOnly", "WithoutPosters", "WithoutSubtitle", "videoFeature_stories_default", "__toCommonJS", "import_react", "import_VideoFeature", "meta", "VideoFeature", "defaultData"]
|
|
7
|
+
}
|
package/dist/cjs/types/props.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var m=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of a(e))!g.call(t,p)&&p!==o&&n(t,p,{get:()=>e[p],enumerable:!(r=i(e,p))||r.enumerable});return t};var s=t=>m(n({},"__esModule",{value:!0}),t);var y={};module.exports=s(y);
|
|
2
2
|
//# sourceMappingURL=props.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/types/props.ts"],
|
|
4
|
-
"sourcesContent": ["export interface ComponentCommonProps {\n style?: string\n event?: any\n condition?: any\n className?: string\n id?: string\n key?: string\n}\n\nexport type ContainerProps = {\n containerMode?: Mode\n spaceY?: SpaceY\n spaceTop?: SpaceTop\n spaceBottom?: SpaceBottom\n}\n\nexport type Mode = 'section' | 'fragment'\n\nexport type SpaceY = 'default' | 'none' | string\nexport type SpaceTop = 'default' | 'none' | string\nexport type SpaceBottom = 'default' | 'none' | string\n\nexport type Img = {\n url: string\n alt?: string\n}\n\nexport type Video = {\n url: string\n}\n\nexport type Theme = 'light' | 'dark'\nexport type Shape = 'rounded' | 'square'\nexport type Align = 'left' | 'center' | 'right'\n\nexport type Media = {\n alt: string\n url: string\n thumbnailURL: string\n mimeType: 'video/mp4' | 'image/jpeg' | 'image/png' | 'image/webp'\n width?: number\n height?: number\n focalX?: number\n focalY?: number\n}\n\nexport type GSAPContext = {\n gsap?: any\n ScrollTrigger?: any\n SplitText?: any\n}\n"],
|
|
4
|
+
"sourcesContent": ["export interface ComponentCommonProps {\n style?: string\n event?: any\n condition?: any\n className?: string\n id?: string\n key?: string\n}\n\nexport type ContainerProps = {\n containerMode?: Mode\n spaceY?: SpaceY\n spaceTop?: SpaceTop\n spaceBottom?: SpaceBottom\n}\n\nexport type Mode = 'section' | 'fragment'\n\nexport type SpaceY = 'default' | 'none' | string\nexport type SpaceTop = 'default' | 'none' | string\nexport type SpaceBottom = 'default' | 'none' | string\n\nexport type Img = {\n url: string\n alt?: string\n}\n\nexport type Video = {\n url: string\n}\n\nexport type Theme = 'light' | 'dark'\nexport type Shape = 'rounded' | 'square'\nexport type Align = 'left' | 'center' | 'right'\n\nexport type Media = {\n alt: string\n url: string\n thumbnailURL: string\n mimeType: 'video/mp4' | 'image/jpeg' | 'image/png' | 'image/webp'\n width?: number\n height?: number\n focalX?: number\n focalY?: number\n poster?: {\n url: string\n mimeType: 'image/jpeg' | 'image/png' | 'image/webp'\n }\n}\n\nexport type GSAPContext = {\n gsap?: any\n ScrollTrigger?: any\n SplitText?: any\n}\n"],
|
|
5
5
|
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["props_exports", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FeatureCardsProps } from './types.js';
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<Omit<FeatureCardsProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
|
|
4
|
+
className?: string;
|
|
5
|
+
data?: Record<string, any>;
|
|
6
|
+
}, "ref"> & React.RefAttributes<any>>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{Fragment as H,jsx as t,jsxs as p}from"react/jsx-runtime";import u,{useImperativeHandle as y,useRef as w}from"react";import{Heading as o,Picture as f,Text as r}from"../../components/index.js";import{cn as i}from"../../helpers/utils.js";import{withLayout as b}from"../../shared/Styles.js";import{useExposure as C}from"../../hooks/useExposure.js";import{trackUrlRef as F}from"../../shared/trackUrlRef.js";import{Swiper as T,SwiperSlide as z}from"swiper/react";const x="image",d="feature_cards",h=u.forwardRef(({data:g,className:v},k)=>{const{title:a,subtitle:l,items:n=[]}=g,s=w(null);C(s,{componentType:x,componentName:d,componentTitle:a,componentDescription:l}),y(k,()=>s.current);const N=e=>{const c=p(H,{children:[t(f,{source:e.image.url,alt:e.image.alt||e.title,className:"absolute inset-0 !h-full",imgClassName:"!h-full object-cover"}),p("div",{className:"z-10",children:[t(o,{size:3,as:"h2",className:"laptop:text-[20px] desktop:text-[32px] lg-desktop:text-[32px]",children:e.title}),t(r,{size:4,as:"p",className:"mt-[4px] line-clamp-2 h-[40px] text-[14px] laptop:h-[44px] lg-desktop:text-[18px]",children:e.subtitle})]})]}),m=i("relative flex h-[360px] max-h-[560px] flex-1 flex-col justify-end gap-[16px] overflow-hidden rounded-[12px] px-[16px] py-[12px] text-info-primary tablet:h-[336px] laptop:h-[336px] laptop:px-[16px] laptop:py-[16px] desktop:h-[448px] desktop:rounded-[16px] desktop:px-[32px] desktop:py-[24px] lg-desktop:h-[560px]",{"aiui-dark":e.theme==="dark","aiui-light":e.theme==="light"});return e.link?t("a",{href:F(e.link,`${x}_${d}`),className:m,"data-headless-type-name":`${x}#${d}`,"data-headless-title-desc-button":`${a}#${e.title}#${e.subtitle}`,children:c}):t("div",{className:m,children:c})};return p("section",{ref:s,"data-ui-component-id":"FeatureCards",className:i("flex w-full flex-col justify-center",v),children:[t(o,{size:4,as:"h1",className:"text-left laptop:text-center",children:a}),l&&t(r,{size:2,as:"p",className:"mt-[4px] text-left text-[14px] laptop:text-center desktop:text-[16px] lg-desktop:text-[18px]",children:l}),t("div",{className:"mt-[24px] hidden w-full gap-[16px] laptop:mt-[32px] laptop:flex desktop:mt-[40px] lg-desktop:mt-[24px]",children:n.map(e=>t(u.Fragment,{children:N(e)},e.title))}),t("div",{className:"mt-[24px] w-full laptop:hidden",children:t(T,{spaceBetween:12,slidesPerView:"auto",grabCursor:!0,className:"relative w-full !overflow-visible",children:n.map(e=>t(z,{className:"relative !h-[360px] !w-[296px]",children:p("div",{className:i("absolute inset-0 flex flex-1 flex-col justify-end gap-[16px] overflow-hidden rounded-[12px] px-[16px] py-[12px] text-info-primary laptop:px-[16px] laptop:py-[16px] desktop:rounded-[16px] desktop:px-[32px] desktop:py-[24px]",{"aiui-dark":e.theme==="dark","aiui-light":e.theme==="light"}),children:[t(f,{source:e.image.url,alt:e.image.alt||e.title,className:"absolute inset-0 !h-full",imgClassName:"!h-full object-cover"}),p("div",{className:"z-10",children:[t(o,{size:3,as:"h2",children:e.title}),t(r,{size:4,as:"p",className:"mt-[4px] line-clamp-2 h-[40px] overflow-visible text-[14px] laptop:h-[50px] lg-desktop:text-[18px]",children:e.subtitle})]})]},e.title)},e.title))})})]})});h.displayName="FeatureCards";var P=b(h);export{P as default};
|
|
2
|
+
//# sourceMappingURL=FeatureCards.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/FeatureCards/FeatureCards.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useImperativeHandle, useRef } from 'react'\nimport { Heading, Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport type { FeatureCardsProps, FeatureCardItem } from './types.js'\nimport { Swiper, SwiperSlide } from 'swiper/react'\n\nconst componentType = 'image'\nconst componentName = 'feature_cards'\n\nconst FeatureCards = React.forwardRef<HTMLDivElement, FeatureCardsProps>(({ data, className }, ref) => {\n const { title, subtitle, items = [] } = data\n\n const boxRef = useRef<HTMLDivElement>(null)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: title,\n componentDescription: subtitle,\n })\n\n useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n const renderCard = (item: FeatureCardItem) => {\n const cardContent = (\n <>\n <Picture\n source={item.image.url}\n alt={item.image.alt || item.title}\n className=\"absolute inset-0 !h-full\"\n imgClassName=\"!h-full object-cover\"\n />\n <div className=\"z-10\">\n <Heading size={3} as=\"h2\" className=\"laptop:text-[20px] desktop:text-[32px] lg-desktop:text-[32px]\">\n {item.title}\n </Heading>\n <Text\n size={4}\n as=\"p\"\n className=\"mt-[4px] line-clamp-2 h-[40px] text-[14px] laptop:h-[44px] lg-desktop:text-[18px]\"\n >\n {item.subtitle}\n </Text>\n </div>\n </>\n )\n\n const cardClasses = cn(\n 'relative flex h-[360px] max-h-[560px] flex-1 flex-col justify-end gap-[16px] overflow-hidden rounded-[12px] px-[16px] py-[12px] text-info-primary tablet:h-[336px] laptop:h-[336px] laptop:px-[16px] laptop:py-[16px] desktop:h-[448px] desktop:rounded-[16px] desktop:px-[32px] desktop:py-[24px] lg-desktop:h-[560px]',\n {\n 'aiui-dark': item.theme === 'dark',\n 'aiui-light': item.theme === 'light',\n }\n )\n\n if (item.link) {\n return (\n <a\n href={trackUrlRef(item.link, `${componentType}_${componentName}`)}\n className={cardClasses}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${item.title}#${item.subtitle}`}\n >\n {cardContent}\n </a>\n )\n }\n\n return <div className={cardClasses}>{cardContent}</div>\n }\n\n return (\n <section\n ref={boxRef}\n data-ui-component-id=\"FeatureCards\"\n className={cn('flex w-full flex-col justify-center', className)}\n >\n {/* \u6807\u9898\u533A\u57DF */}\n <Heading size={4} as=\"h1\" className=\"text-left laptop:text-center\">\n {title}\n </Heading>\n {subtitle && (\n <Text\n size={2}\n as=\"p\"\n className=\"mt-[4px] text-left text-[14px] laptop:text-center desktop:text-[16px] lg-desktop:text-[18px]\"\n >\n {subtitle}\n </Text>\n )}\n\n {/* \u684C\u9762\u7AEF\u7F51\u683C\u5E03\u5C40 */}\n <div className=\"mt-[24px] hidden w-full gap-[16px] laptop:mt-[32px] laptop:flex desktop:mt-[40px] lg-desktop:mt-[24px]\">\n {items.map(item => (\n <React.Fragment key={item.title}>{renderCard(item)}</React.Fragment>\n ))}\n </div>\n\n {/* \u79FB\u52A8\u7AEF Swiper \u5E03\u5C40 */}\n <div className=\"mt-[24px] w-full laptop:hidden\">\n <Swiper spaceBetween={12} slidesPerView=\"auto\" grabCursor className=\"relative w-full !overflow-visible\">\n {items.map(item => (\n <SwiperSlide key={item.title} className=\"relative !h-[360px] !w-[296px]\">\n <div\n key={item.title}\n className={cn(\n 'absolute inset-0 flex flex-1 flex-col justify-end gap-[16px] overflow-hidden rounded-[12px] px-[16px] py-[12px] text-info-primary laptop:px-[16px] laptop:py-[16px] desktop:rounded-[16px] desktop:px-[32px] desktop:py-[24px]',\n {\n 'aiui-dark': item.theme === 'dark',\n 'aiui-light': item.theme === 'light',\n }\n )}\n >\n <Picture\n source={item.image.url}\n alt={item.image.alt || item.title}\n className=\"absolute inset-0 !h-full\"\n imgClassName=\"!h-full object-cover\"\n />\n <div className=\"z-10\">\n <Heading size={3} as=\"h2\">\n {item.title}\n </Heading>\n <Text\n size={4}\n as=\"p\"\n className=\"mt-[4px] line-clamp-2 h-[40px] overflow-visible text-[14px] laptop:h-[50px] lg-desktop:text-[18px]\"\n >\n {item.subtitle}\n </Text>\n </div>\n </div>\n </SwiperSlide>\n ))}\n </Swiper>\n </div>\n </section>\n )\n})\n\nFeatureCards.displayName = 'FeatureCards'\n\nexport default withLayout(FeatureCards)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "React", "useImperativeHandle", "useRef", "Heading", "Picture", "Text", "cn", "withLayout", "useExposure", "trackUrlRef", "Swiper", "SwiperSlide", "componentType", "componentName", "FeatureCards", "data", "className", "ref", "title", "subtitle", "items", "boxRef", "renderCard", "item", "cardContent", "cardClasses", "FeatureCards_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/FeatureCards/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { default } from './FeatureCards.js'\nexport type { FeatureCardsProps, FeatureCardItem } from './types.js'\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,WAAAA,MAAe",
|
|
6
|
+
"names": ["default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Media, Theme } from '../../types/props.js';
|
|
2
|
+
export interface FeatureCardItem {
|
|
3
|
+
/** 卡片标题 */
|
|
4
|
+
title: string;
|
|
5
|
+
/** 卡片副标题/描述 */
|
|
6
|
+
subtitle: string;
|
|
7
|
+
/** 背景图片 URL */
|
|
8
|
+
image: Media;
|
|
9
|
+
/** 主题,默认 light */
|
|
10
|
+
theme?: Theme;
|
|
11
|
+
/** 链接地址 */
|
|
12
|
+
link?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface FeatureCardsProps {
|
|
15
|
+
data: {
|
|
16
|
+
/** 主标题 */
|
|
17
|
+
title: string;
|
|
18
|
+
/** 副标题/描述 */
|
|
19
|
+
subtitle?: string;
|
|
20
|
+
/** 卡片列表 */
|
|
21
|
+
items: FeatureCardItem[];
|
|
22
|
+
};
|
|
23
|
+
/** 自定义类名 */
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FeatureShowcaseProps } from './types.js';
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<Omit<FeatureShowcaseProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
|
|
4
|
+
className?: string;
|
|
5
|
+
data?: Record<string, any>;
|
|
6
|
+
}, "ref"> & React.RefAttributes<any>>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as p}from"react/jsx-runtime";import u,{useRef as f,useImperativeHandle as h}from"react";import{Picture as a,Text as l,Heading as x}from"../../components/index.js";import{cn as v}from"../../helpers/utils.js";import{withLayout as w}from"../../shared/Styles.js";import{useExposure as N}from"../../hooks/useExposure.js";const k="image",g="feature_showcase",d=u.forwardRef(({data:m,className:i},r)=>{const{datalist:c=[],datalists:n=[]}=m||{},s=f(null);return N(s,{componentType:k,componentName:g,componentTitle:"Feature Showcase"}),h(r,()=>s.current),p("section",{ref:s,"data-ui-component-id":"FeatureShowcase",className:v("flex gap-[16px] scrollbar-hidden l:flex-row l:overflow-hidden l:overflow-x-scroll laptop:flex-col",i),children:[e("div",{className:"flex gap-[16px]",children:c?.map((t,o)=>e("div",{children:p("div",{className:"relative",children:[e(a,{source:`${t.imageMob.url}`,className:"w-[296px] rounded-[12px] laptop:hidden"}),e(a,{source:`${t.image.url} 1024`,className:"l:hidden"}),p("div",{className:"absolute bottom-0 left-0 px-[16px] py-[12px] text-[#fff] laptop:px-[16px] laptop:py-[20px] desktop:px-[32px] desktop:py-[24px] lg-desktop:px-[32px] lg-desktop:py-[32px]",children:[e(x,{as:"h2",size:3,html:t?.title,className:"mt-[16px] md:text-[20px]"}),e(l,{as:"p",html:t.desc,size:4,className:"mt-[4px] line-clamp-2 h-[40px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:h-fit desktop:text-[16px] lg-desktop:text-[18px]"})]})]})},o))}),e("div",{className:"flex gap-[16px]",children:n?.map((t,o)=>e("div",{children:p("div",{className:"relative",children:[e(a,{source:`${t.imageMob.url}`,className:"w-[296px] rounded-[12px] laptop:hidden"}),e(a,{source:`${t.image.url} 1024`,className:"l:hidden"}),p("div",{className:"absolute bottom-0 left-0 px-[16px] py-[12px] text-[#fff] laptop:px-[16px] laptop:py-[20px] desktop:px-[32px] desktop:py-[24px] lg-desktop:px-[32px] lg-desktop:py-[32px]",children:[e(x,{as:"h2",size:3,html:t?.title,className:"mt-[16px] md:text-[20px]"}),e(l,{as:"p",html:t.desc,size:4,className:"mt-[4px] line-clamp-2 h-[40px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:h-fit desktop:text-[16px] lg-desktop:text-[18px]"})]})]})},o))})]})});d.displayName="FeatureShowcase";var H=w(d);export{H as default};
|
|
2
|
+
//# sourceMappingURL=FeatureShowcase.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/FeatureShowcase/FeatureShowcase.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useRef, useImperativeHandle } from 'react'\nimport { Picture, Text, Heading } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport type { FeatureShowcaseProps, FeatureShowcaseItem } from './types.js'\n\nconst componentType = 'image'\nconst componentName = 'feature_showcase'\n\nconst FeatureShowcase = React.forwardRef<HTMLDivElement, FeatureShowcaseProps>(({ data, className }, ref) => {\n const { datalist = [], datalists = [] } = data || {}\n\n const boxRef = useRef<HTMLDivElement>(null)\n\n useExposure(boxRef, {\n componentType,\n componentName,\n componentTitle: 'Feature Showcase',\n })\n\n useImperativeHandle(ref, () => boxRef.current as HTMLDivElement)\n\n return (\n <section\n ref={boxRef}\n data-ui-component-id=\"FeatureShowcase\"\n className={cn(\n 'flex gap-[16px] scrollbar-hidden l:flex-row l:overflow-hidden l:overflow-x-scroll laptop:flex-col',\n className\n )}\n >\n <div className=\"flex gap-[16px]\">\n {datalist?.map((item: FeatureShowcaseItem, index: number) => (\n <div key={index}>\n <div className=\"relative\">\n <Picture source={`${item.imageMob.url}`} className=\"w-[296px] rounded-[12px] laptop:hidden\" />\n <Picture source={`${item.image.url} 1024`} className=\"l:hidden\" />\n <div className=\"absolute bottom-0 left-0 px-[16px] py-[12px] text-[#fff] laptop:px-[16px] laptop:py-[20px] desktop:px-[32px] desktop:py-[24px] lg-desktop:px-[32px] lg-desktop:py-[32px]\">\n <Heading as={'h2'} size={3} html={item?.title} className=\"mt-[16px] md:text-[20px]\" />\n\n <Text\n as={'p'}\n html={item.desc}\n size={4}\n className=\"mt-[4px] line-clamp-2 h-[40px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:h-fit desktop:text-[16px] lg-desktop:text-[18px]\"\n />\n </div>\n </div>\n </div>\n ))}\n </div>\n <div className=\"flex gap-[16px]\">\n {datalists?.map((item: FeatureShowcaseItem, index: number) => (\n <div key={index}>\n <div className=\"relative\">\n <Picture source={`${item.imageMob.url}`} className=\"w-[296px] rounded-[12px] laptop:hidden\" />\n <Picture source={`${item.image.url} 1024`} className=\"l:hidden\" />\n <div className=\"absolute bottom-0 left-0 px-[16px] py-[12px] text-[#fff] laptop:px-[16px] laptop:py-[20px] desktop:px-[32px] desktop:py-[24px] lg-desktop:px-[32px] lg-desktop:py-[32px]\">\n <Heading as={'h2'} size={3} html={item?.title} className=\"mt-[16px] md:text-[20px]\" />\n\n <Text\n as={'p'}\n html={item.desc}\n size={4}\n className=\"mt-[4px] line-clamp-2 h-[40px] text-[14px] tablet:text-[14px] laptop:text-[14px] desktop:h-fit desktop:text-[16px] lg-desktop:text-[18px]\"\n />\n </div>\n </div>\n </div>\n ))}\n </div>\n </section>\n )\n})\n\nFeatureShowcase.displayName = 'FeatureShowcase'\n\nexport default withLayout(FeatureShowcase)\n"],
|
|
5
|
+
"mappings": "aAqCc,cAAAA,EAEA,QAAAC,MAFA,oBApCd,OAAOC,GAAS,UAAAC,EAAQ,uBAAAC,MAA2B,QACnD,OAAS,WAAAC,EAAS,QAAAC,EAAM,WAAAC,MAAe,4BACvC,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAC3B,OAAS,eAAAC,MAAmB,6BAG5B,MAAMC,EAAgB,QAChBC,EAAgB,mBAEhBC,EAAkBX,EAAM,WAAiD,CAAC,CAAE,KAAAY,EAAM,UAAAC,CAAU,EAAGC,IAAQ,CAC3G,KAAM,CAAE,SAAAC,EAAW,CAAC,EAAG,UAAAC,EAAY,CAAC,CAAE,EAAIJ,GAAQ,CAAC,EAE7CK,EAAShB,EAAuB,IAAI,EAE1C,OAAAO,EAAYS,EAAQ,CAClB,cAAAR,EACA,cAAAC,EACA,eAAgB,kBAClB,CAAC,EAEDR,EAAoBY,EAAK,IAAMG,EAAO,OAAyB,EAG7DlB,EAAC,WACC,IAAKkB,EACL,uBAAqB,kBACrB,UAAWX,EACT,oGACAO,CACF,EAEA,UAAAf,EAAC,OAAI,UAAU,kBACZ,SAAAiB,GAAU,IAAI,CAACG,EAA2BC,IACzCrB,EAAC,OACC,SAAAC,EAAC,OAAI,UAAU,WACb,UAAAD,EAACK,EAAA,CAAQ,OAAQ,GAAGe,EAAK,SAAS,GAAG,GAAI,UAAU,yCAAyC,EAC5FpB,EAACK,EAAA,CAAQ,OAAQ,GAAGe,EAAK,MAAM,GAAG,QAAS,UAAU,WAAW,EAChEnB,EAAC,OAAI,UAAU,2KACb,UAAAD,EAACO,EAAA,CAAQ,GAAI,KAAM,KAAM,EAAG,KAAMa,GAAM,MAAO,UAAU,2BAA2B,EAEpFpB,EAACM,EAAA,CACC,GAAI,IACJ,KAAMc,EAAK,KACX,KAAM,EACN,UAAU,4IACZ,GACF,GACF,GAdQC,CAeV,CACD,EACH,EACArB,EAAC,OAAI,UAAU,kBACZ,SAAAkB,GAAW,IAAI,CAACE,EAA2BC,IAC1CrB,EAAC,OACC,SAAAC,EAAC,OAAI,UAAU,WACb,UAAAD,EAACK,EAAA,CAAQ,OAAQ,GAAGe,EAAK,SAAS,GAAG,GAAI,UAAU,yCAAyC,EAC5FpB,EAACK,EAAA,CAAQ,OAAQ,GAAGe,EAAK,MAAM,GAAG,QAAS,UAAU,WAAW,EAChEnB,EAAC,OAAI,UAAU,2KACb,UAAAD,EAACO,EAAA,CAAQ,GAAI,KAAM,KAAM,EAAG,KAAMa,GAAM,MAAO,UAAU,2BAA2B,EAEpFpB,EAACM,EAAA,CACC,GAAI,IACJ,KAAMc,EAAK,KACX,KAAM,EACN,UAAU,4IACZ,GACF,GACF,GAdQC,CAeV,CACD,EACH,GACF,CAEJ,CAAC,EAEDR,EAAgB,YAAc,kBAE9B,IAAOS,EAAQb,EAAWI,CAAe",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "useRef", "useImperativeHandle", "Picture", "Text", "Heading", "cn", "withLayout", "useExposure", "componentType", "componentName", "FeatureShowcase", "data", "className", "ref", "datalist", "datalists", "boxRef", "item", "index", "FeatureShowcase_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/FeatureShowcase/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { default } from './FeatureShowcase.js'\nexport type { FeatureShowcaseProps, FeatureShowcaseItem } from './types.js'\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,WAAAA,MAAe",
|
|
6
|
+
"names": ["default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Media } from '../../types/props';
|
|
2
|
+
export interface FeatureShowcaseItem {
|
|
3
|
+
/** 标题 */
|
|
4
|
+
title: string;
|
|
5
|
+
/** 描述文本 */
|
|
6
|
+
desc: string;
|
|
7
|
+
/** 桌面端图片 URL */
|
|
8
|
+
image: Media;
|
|
9
|
+
/** 移动端图片 URL */
|
|
10
|
+
imageMob: Media;
|
|
11
|
+
}
|
|
12
|
+
export interface FeatureShowcaseProps {
|
|
13
|
+
data: {
|
|
14
|
+
/** 第一组数据列表 */
|
|
15
|
+
datalist: FeatureShowcaseItem[];
|
|
16
|
+
/** 第二组数据列表 */
|
|
17
|
+
datalists: FeatureShowcaseItem[];
|
|
18
|
+
};
|
|
19
|
+
/** 自定义类名 */
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Fragment as z,jsx as e,jsxs as l}from"react/jsx-runtime";import{useEffect as v,useMemo as M,useState as
|
|
1
|
+
import{Fragment as z,jsx as e,jsxs as l}from"react/jsx-runtime";import{useEffect as v,useMemo as M,useState as k}from"react";import{Picture as f,Text as i,Container as C,Link as x}from"../../components/index.js";import F from"../Subscribe/index.js";import{FooterNavigationBlockType as b}from"./types.js";import{AddIcon as N,SubtractIcon as g,ArrowRightIcon as D,CountryIcon as A}from"./icons/index.js";import{useMediaQuery as y}from"react-responsive";import{cn as h}from"../../helpers/utils.js";import{withLayout as L}from"../../shared/Styles.js";const E=({data:{footerNavigation:s}={},currentCountry:r,event:o,subscribeLoading:t})=>{const[n,m]=k(!1),p=y({query:"(max-width: 1439px)"});v(()=>{m(p)},[p]);const d=M(()=>s?.footerBlocks?.find(c=>c?.blockType===b.Brand)?.country||{},[s]);return l(C,{childClassName:"bg-black py-8 laptop:py-16 flex flex-col desktop:gap-16 gap-8",children:[e(i,{html:s?.story,className:"desktop:text-sm text-xs font-bold text-[#6D6D6F]"}),s?.footerBlocks?.map(c=>{if(c?.blockType===b.Signup)return e(S,{subscribeLoading:t,data:c,onSubmit:o?.signup});if(c?.blockType===b.Brand)return e($,{data:c,isMobile:n,event:o,currentCountry:r});if(c?.blockType===b.Main)return e(T,{data:{...c,country:d},event:o,isMobile:n,currentCountry:r})})]})},S=({data:s,onSubmit:r,subscribeLoading:o})=>l("div",{className:"desktop:py-16 desktop:gap-16 laptop:px-8 desktop:flex-row flex flex-col gap-8 rounded-btn bg-[#1D1D1F] px-4 py-8",children:[e(F,{subscribeMetadata:s?.signup,className:"desktop:flex-[744]",onSubmit:r,loading:o}),e("div",{className:"desktop:hidden h-px w-full bg-[#3D3E3F]"}),l("div",{className:"desktop:gap-6 laptop:flex-row desktop:flex-[792] flex flex-col gap-4",children:[l("div",{className:"flex-1",children:[e(i,{html:s?.enjoy?.title,className:" text-xl font-bold leading-[1.2] text-white"}),e("div",{className:"mt-4 flex flex-col gap-2",children:s?.enjoy?.enjoys?.map(t=>l("div",{className:"flex-start flex gap-2",children:[e(f,{source:t?.icon?.url,alt:t?.icon?.alt,className:"size-5 shrink-0"}),e(i,{html:t?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA]"})]},t?.id))})]}),e("div",{className:"w-px bg-[#3D3E3F] hidden desktop:block"}),l("div",{className:"flex-1",children:[e(i,{html:s?.benefit?.title,className:"text-xl font-bold leading-[1.2] text-white"}),e("div",{className:"mt-4 flex flex-col gap-2",children:s?.benefit?.benefits?.map(t=>e(x,{href:`${t?.link}?ref=footer`,asChild:!t?.link,className:"no-underline",children:e(i,{html:t?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})},t?.id))})]})]})]}),T=({data:s,event:r,isMobile:o,currentCountry:t})=>{const[n,m]=k(!1),{services:p,mainNav:d,country:c}=s;return l("div",{className:"flex flex-col gap-8",children:[l("div",{className:h({"desktop:gap-16 flex":p?.download?.title}),children:[l("div",{className:h("w-full",{"desktop:flex-[1260]":p?.download?.title}),children:[e(i,{html:p?.storeBenefits?.title,className:" text-xl font-bold leading-[1.2] text-white"}),e("div",{className:h("laptop:flex-row desktop:gap-4 laptop:flex-wrap mt-4 flex flex-col gap-2",{"desktop:max-w-[648px]":p?.download?.title}),children:p?.storeBenefits?.reasons?.map(a=>l("div",{className:"desktop:min-w-[288px] flex flex-1 shrink-0 items-center gap-2",children:[e(f,{source:a?.icon?.url,alt:a?.icon?.alt,className:"size-5 shrink-0"}),e(x,{href:`${a?.link}?ref=footer`,asChild:!a?.link,className:"no-underline",children:e(i,{html:a?.label,className:"text-sm desktop:text-base font-bold leading-[1.2] text-[#B6B6BA]"})})]},a?.id))})]}),e(w,{className:h({"desktop:flex-[404] hidden desktop:block":p?.download?.title}),title:p?.download?.title,apps:p?.download?.apps})]}),e("div",{className:"desktop:block hidden h-px bg-[#3D3E3F]"}),l("div",{className:"desktop:grid grid-cols-4 gap-4",children:[e(u,{title:d?.products?.title,lists:d?.products?.products}),e(u,{title:d?.explore?.title,lists:d?.explore?.explores}),e(u,{title:d?.support?.title,lists:d?.support?.supports}),l("div",{className:"desktop:py-0 desktop:border-none border-t border-[#3D3E3F] pt-4",children:[l("div",{className:"desktop:pb-0 flex items-center justify-between pb-4",children:[e(i,{as:"p",html:d?.contact?.title,className:"text-xl font-bold leading-[1.2] text-white"}),o&&e("button",{onClick:()=>m(!n),children:n?e(g,{width:20,height:20}):e(N,{width:20,height:20})})]}),(n&&o||!o)&&e("div",{className:"desktop:mt-4 desktop:mb-0 mb-4 flex flex-col gap-2",children:d?.contact?.contacts?.map(a=>l("div",{className:"flex items-start gap-2",children:[e(f,{source:a?.icon?.url,alt:a?.icon?.alt,className:"size-5 shrink-0"}),e(x,{href:a?.link,className:"no-underline",children:e(i,{html:a?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})})]},a?.id))}),e(B,{country:t||c,className:"desktop:hidden border-b border-[#3D3E3F]",isMobile:o,onChangeCountry:r?.country}),e("div",{className:"desktop:hidden mt-8",children:e(w,{title:p?.download?.title,apps:p?.download?.apps})}),!!d?.socials?.length&&e("div",{className:"mt-8 flex items-center gap-2",children:d?.socials?.map(a=>e(x,{href:`${a?.link}?ref=footer`,children:e(f,{source:a?.icon?.url,alt:a?.icon?.alt,className:"size-8 shrink-0"})},a?.id))}),e("div",{className:"mt-4 flex flex-wrap gap-2",children:d?.payment?.map(a=>e(x,{href:a?.link,children:e(f,{source:a?.icon?.url,alt:a?.icon?.alt,className:"h-[28px] w-[44px] shrink-0"})},a?.id))})]})]})]})},$=({data:s,isMobile:r,event:o,currentCountry:t})=>l("div",{className:"flex flex-col gap-4",children:[l("div",{className:"desktop:items-center desktop:flex desktop:gap-4",children:[l("div",{className:"laptop:flex-row laptop:items-center desktop:flex-[980] flex flex-col items-start gap-4",children:[e(i,{html:s?.brand?.currentBrand,className:"text-[#B6B6BA]"}),e("div",{className:"laptop:block hidden h-[20px] w-px bg-[#B6B6BA] laptop:mb-[10px]"}),e("div",{className:"desktop:gap-6 flex flex-wrap items-center gap-4",children:s?.brand?.brands?.map(n=>e(x,{href:`${n?.link}?ref=footer`,children:e(i,{html:n?.icon,className:"text-[#B6B6BA] hover:text-white"})},n?.id))})]}),e(B,{country:t||s?.country,className:"desktop:flex-[316] desktop:block hidden",isMobile:r,onChangeCountry:o?.country})]}),e("div",{className:"h-px bg-[#3D3E3F]"}),l("div",{className:"laptop:flex-row desktop:gap-4 desktop:items-center flex flex-col items-start gap-1",children:[e(i,{html:s?.copyright?.label,className:"desktop:text-base text-xs font-bold leading-[1.4] text-[#6D6D6F]"}),e("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1",children:s?.policy?.policies?.map(n=>e(x,{href:`${n?.link}?ref=footer`,className:"desktop:text-base text-xs font-bold hover:text-white leading-[1.4] text-[#B6B6BA] no-underline",children:n?.label},n?.id))})]})]}),u=({title:s,lists:r,className:o})=>{const[t,n]=k(!1),[m,p]=k(!1),d=y({query:"(max-width: 1439px)"});return v(()=>{p(d)},[d]),l("div",{className:h("desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4",o),children:[l("div",{className:"flex items-center justify-between",onClick:()=>n(!t),children:[e(i,{as:"p",html:s,className:"text-xl font-bold leading-[1.2] text-white"}),m&&e(z,{children:t?e(g,{width:20,height:20}):e(N,{width:20,height:20})})]}),(t&&m||!m)&&e("div",{className:"mt-4 flex flex-col gap-2",children:r?.map(c=>e(x,{href:`${c?.link}?ref=footer`,className:"no-underline",children:e(i,{html:c?.label,className:"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white"})},c?.id))})]})},w=({title:s,apps:r,className:o})=>r?.length?l("div",{className:o,children:[e(i,{html:s,className:" text-xl font-bold leading-[1.2] text-white"}),e("div",{className:"mt-4 flex items-center gap-4",children:r?.map(t=>l("div",{className:"flex flex-col items-center gap-[6px]",children:[e(x,{href:t?.link,children:e(f,{source:t?.icon?.url,alt:t?.icon?.alt,className:"size-10 shrink-0"})}),t?.label&&e(i,{html:t?.label,className:"text-xs font-bold text-[#999999]"})]},t?.id))})]}):null,B=({country:s,isMobile:r,className:o,onChangeCountry:t})=>e("div",{className:h("desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4",o),onClick:()=>t?.(),children:l("div",{className:"flex items-center justify-between",children:[l("div",{className:"flex cursor-pointer items-center gap-2",children:[e(A,{width:20,height:20,className:"shrink-0"}),e(i,{as:"p",html:s?.countryName||s?.country,className:"desktop:text-[#B6B6BA] text-base font-bold leading-[1.4] text-white hover:text-white"})]}),r&&e("button",{children:e(D,{width:20,height:20})})]})});var J=L(E);export{J as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/FooterNavigation/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import { useEffect, useMemo, useState } from 'react'\nimport { Picture, Text, Container, Link } from '../../components/index.js'\nimport Subscribe from '../Subscribe/index.js'\nimport type { FooterNavigationProps } from './types.js'\nimport { FooterNavigationBlockType } from './types.js'\nimport { AddIcon, SubtractIcon, ArrowRightIcon, CountryIcon } from './icons/index.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\n\nconst FooterNavigation = ({\n data: { footerNavigation } = {},\n currentCountry,\n event,\n subscribeLoading,\n}: FooterNavigationProps) => {\n const [isMobile, setIsMobile] = useState(false)\n\n const mediaQuery = useMediaQuery({ query: '(max-width: 1439px)' })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const country = useMemo(() => {\n return (\n footerNavigation?.footerBlocks?.find((block: any) => block?.blockType === FooterNavigationBlockType.Brand)\n ?.country || {}\n )\n }, [footerNavigation])\n\n return (\n <Container childClassName=\"bg-black py-8 laptop:py-16 flex flex-col desktop:gap-16 gap-8\">\n <Text html={footerNavigation?.story} className=\"desktop:text-sm text-xs font-bold text-[#6D6D6F]\" />\n {footerNavigation?.footerBlocks?.map((block: any) => {\n if (block?.blockType === FooterNavigationBlockType.Signup) {\n return <MarketingConversion subscribeLoading={subscribeLoading} data={block} onSubmit={event?.signup} />\n }\n if (block?.blockType === FooterNavigationBlockType.Brand) {\n return <FooterBrand data={block} isMobile={isMobile} event={event} currentCountry={currentCountry} />\n }\n if (block?.blockType === FooterNavigationBlockType.Main) {\n return (\n <MainServices\n data={{ ...block, country }}\n event={event}\n isMobile={isMobile}\n currentCountry={currentCountry}\n />\n )\n }\n })}\n </Container>\n )\n}\n\n/**\n * MarketingConversion \u8425\u9500\u8F6C\u5316\u6A21\u5757\n * @param data\n * @param onSubmit signup\u63D0\u4EA4\u4E8B\u4EF6\n * @returns\n */\nconst MarketingConversion = ({ data, onSubmit, subscribeLoading }: { data: any; onSubmit?: (params: any) => void; subscribeLoading?: boolean }) => {\n return (\n <div className=\"desktop:py-16 desktop:gap-16 laptop:px-8 desktop:flex-row flex flex-col gap-8 rounded-btn bg-[#1D1D1F] px-4 py-8\">\n <Subscribe\n subscribeMetadata={data?.signup}\n className=\"desktop:flex-[744]\"\n onSubmit={onSubmit}\n loading={subscribeLoading}\n />\n <div className=\"desktop:hidden h-px w-full bg-[#3D3E3F]\" />\n <div className=\"desktop:gap-6 laptop:flex-row desktop:flex-[792] flex flex-col gap-4\">\n <div className=\"flex-1\">\n <Text html={data?.enjoy?.title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex flex-col gap-2\">\n {data?.enjoy?.enjoys?.map((enjoyItem: any) => (\n <div key={enjoyItem?.id} className=\"flex-start flex gap-2\">\n <Picture source={enjoyItem?.icon?.url} alt={enjoyItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Text\n html={enjoyItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA]\"\n />\n </div>\n ))}\n </div>\n </div>\n <div className=\"w-px bg-[#3D3E3F] hidden desktop:block\" />\n <div className=\"flex-1\">\n <Text html={data?.benefit?.title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex flex-col gap-2\">\n {data?.benefit?.benefits?.map((benefitItem: any) => (\n <Link\n href={`${benefitItem?.link}?ref=footer`}\n asChild={!benefitItem?.link}\n key={benefitItem?.id}\n className=\"no-underline\"\n >\n <Text\n html={benefitItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\n/**\n * MainServices \u4E3B\u5BFC\u822A\u4E0E\u670D\u52A1\u6A21\u5757\n * @param services \u670D\u52A1\n * @param mainNav \u4E3B\u5BFC\u822A\n * @param event \u4E8B\u4EF6\n * @param isMobile \u662F\u5426\u662F\u79FB\u52A8\u7AEF\n * @param currentCountry \u5F53\u524D\u56FD\u5BB6\n * @returns\n */\nconst MainServices = ({\n data,\n event,\n isMobile,\n currentCountry,\n}: {\n data: any\n event: any\n isMobile: boolean\n currentCountry: any\n}) => {\n const [mainNavMenuOpen, setMainNavMenuOpen] = useState<boolean>(false)\n const { services, mainNav, country } = data\n return (\n <div className=\"flex flex-col gap-8\">\n <div\n className={cn({\n 'desktop:gap-16 flex': services?.download?.title,\n })}\n >\n <div\n className={cn('w-full', {\n 'desktop:flex-[1260]': services?.download?.title,\n })}\n >\n <Text html={services?.storeBenefits?.title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div\n className={cn('laptop:flex-row desktop:gap-4 laptop:flex-wrap mt-4 flex flex-col gap-2', {\n 'desktop:max-w-[648px]': services?.download?.title,\n })}\n >\n {services?.storeBenefits?.reasons?.map((reasonItem: any) => (\n <div key={reasonItem?.id} className=\"desktop:min-w-[288px] flex flex-1 shrink-0 items-center gap-2\">\n <Picture source={reasonItem?.icon?.url} alt={reasonItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Link href={`${reasonItem?.link}?ref=footer`} asChild={!reasonItem?.link} className=\"no-underline\">\n <Text\n html={reasonItem?.label}\n className=\"text-sm desktop:text-base font-bold leading-[1.2] text-[#B6B6BA]\"\n />\n </Link>\n </div>\n ))}\n </div>\n </div>\n <DownloadApp\n className={cn({\n 'desktop:flex-[404] hidden desktop:block': services?.download?.title,\n })}\n title={services?.download?.title}\n apps={services?.download?.apps}\n />\n </div>\n <div className=\"desktop:block hidden h-px bg-[#3D3E3F]\" />\n <div className=\"desktop:grid grid-cols-4 gap-4\">\n <MainNavMenu title={mainNav?.products?.title} lists={mainNav?.products?.products} />\n <MainNavMenu title={mainNav?.explore?.title} lists={mainNav?.explore?.explores} />\n <MainNavMenu title={mainNav?.support?.title} lists={mainNav?.support?.supports} />\n <div className=\"desktop:py-0 desktop:border-none border-t border-[#3D3E3F] pt-4\">\n <div className=\"desktop:pb-0 flex items-center justify-between pb-4\">\n <Text as=\"p\" html={mainNav?.contact?.title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n {isMobile && (\n <button onClick={() => setMainNavMenuOpen(!mainNavMenuOpen)}>\n {mainNavMenuOpen ? <SubtractIcon width={20} height={20} /> : <AddIcon width={20} height={20} />}\n </button>\n )}\n </div>\n {((mainNavMenuOpen && isMobile) || !isMobile) && (\n <div className=\"desktop:mt-4 desktop:mb-0 mb-4 flex flex-col gap-2\">\n {mainNav?.contact?.contacts?.map((contactItem: any) => (\n <div key={contactItem?.id} className=\"flex items-start gap-2\">\n <Picture source={contactItem?.icon?.url} alt={contactItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Link href={contactItem?.link} className=\"no-underline\">\n <Text\n html={contactItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n </div>\n ))}\n </div>\n )}\n <ChangeCountry\n country={currentCountry || country}\n className=\"desktop:hidden border-b border-[#3D3E3F]\"\n isMobile={isMobile}\n onChangeCountry={event?.country}\n />\n <div className=\"desktop:hidden mt-8\">\n <DownloadApp title={services?.download?.title} apps={services?.download?.apps} />\n </div>\n {!!mainNav?.socials?.length && (\n <div className=\"mt-8 flex items-center gap-2\">\n {mainNav?.socials?.map((socialItem: any) => (\n <Link href={`${socialItem?.link}?ref=footer`} key={socialItem?.id}>\n <Picture source={socialItem?.icon?.url} alt={socialItem?.icon?.alt} className=\"size-8 shrink-0\" />\n </Link>\n ))}\n </div>\n )}\n <div className=\"mt-4 flex flex-wrap gap-2\">\n {mainNav?.payment?.map((paymentItem: any) => (\n <Link href={paymentItem?.link} key={paymentItem?.id}>\n <Picture\n source={paymentItem?.icon?.url}\n alt={paymentItem?.icon?.alt}\n className=\"h-[28px] w-[44px] shrink-0\"\n />\n </Link>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nconst FooterBrand = ({\n data,\n isMobile,\n event,\n currentCountry,\n}: {\n data: any\n isMobile: boolean\n event: any\n currentCountry: any\n}) => {\n return (\n <div className=\"flex flex-col gap-4\">\n <div className=\"desktop:items-center desktop:flex desktop:gap-4\">\n <div className=\"laptop:flex-row laptop:items-center desktop:flex-[980] flex flex-col items-start gap-4\">\n <Text html={data?.brand?.currentBrand} className=\"text-[#B6B6BA]\" />\n <div className=\"laptop:block hidden h-[20px] w-px bg-[#B6B6BA] laptop:mb-[10px]\" />\n <div className=\"desktop:gap-6 flex flex-wrap items-center gap-4\">\n {data?.brand?.brands?.map((brandItem: any) => (\n <Link href={`${brandItem?.link}?ref=footer`} key={brandItem?.id}>\n <Text html={brandItem?.icon} className=\"text-[#B6B6BA] hover:text-white\" />\n </Link>\n ))}\n </div>\n </div>\n <ChangeCountry\n country={currentCountry || data?.country}\n className=\"desktop:flex-[316] desktop:block hidden\"\n isMobile={isMobile}\n onChangeCountry={event?.country}\n />\n </div>\n <div className=\"h-px bg-[#3D3E3F]\" />\n <div className=\"laptop:flex-row desktop:gap-4 desktop:items-center flex flex-col items-start gap-1\">\n <Text\n html={data?.copyright?.label}\n className=\"desktop:text-base text-xs font-bold leading-[1.4] text-[#6D6D6F]\"\n />\n <div className=\"flex flex-wrap items-center gap-x-2 gap-y-1\">\n {data?.policy?.policies?.map((policyItem: any) => (\n <Link\n href={`${policyItem?.link}?ref=footer`}\n key={policyItem?.id}\n className=\"desktop:text-base text-xs font-bold leading-[1.4] text-[#B6B6BA] no-underline\"\n >\n {policyItem?.label}\n </Link>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nconst MainNavMenu = ({ title, lists, className }: { title: string; lists: any[]; className?: string }) => {\n const [mainNavMenuOpen, setMainNavMenuOpen] = useState<boolean>(false)\n const [isMobile, setIsMobile] = useState(false)\n\n const mediaQuery = useMediaQuery({ query: '(max-width: 1439px)' })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n return (\n <div className={cn('desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4', className)}>\n <div className=\"flex items-center justify-between\" onClick={() => setMainNavMenuOpen(!mainNavMenuOpen)}>\n <Text as=\"p\" html={title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n {isMobile && (\n <>{mainNavMenuOpen ? <SubtractIcon width={20} height={20} /> : <AddIcon width={20} height={20} />}</>\n )}\n </div>\n {((mainNavMenuOpen && isMobile) || !isMobile) && (\n <div className=\"mt-4 flex flex-col gap-2\">\n {lists?.map((item: any) => (\n <Link href={`${item?.link}?ref=footer`} key={item?.id} className=\"no-underline\">\n <Text\n html={item?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n ))}\n </div>\n )}\n </div>\n )\n}\n\n/**\n * DownloadApp \u4E0B\u8F7D\u5E94\u7528\u6A21\u5757\n * @param title\n * @param apps\n * @param className\n * @returns\n */\nconst DownloadApp = ({ title, apps, className }: { title: string; apps: any[]; className?: string }) => {\n if (!apps?.length) return null\n return (\n <div className={className}>\n <Text html={title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex items-center gap-4\">\n {apps?.map((appItem: any) => (\n <div key={appItem?.id} className=\"flex flex-col items-center gap-[6px]\">\n <Link href={appItem?.link}>\n <Picture source={appItem?.icon?.url} alt={appItem?.icon?.alt} className=\"size-10 shrink-0\" />\n </Link>\n {appItem?.label && <Text html={appItem?.label} className=\"text-xs font-bold text-[#999999]\" />}\n </div>\n ))}\n </div>\n </div>\n )\n}\n\n/**\n * ChangeCountry \u5207\u6362\u56FD\u5BB6\u6A21\u5757\n * @param data \u6570\u636E\n * @param isMobile \u662F\u5426\u662F\u79FB\u52A8\u7AEF\n * @returns\n */\nconst ChangeCountry = ({\n country,\n isMobile,\n className,\n onChangeCountry,\n}: {\n country: any\n isMobile: boolean\n className?: string\n onChangeCountry?: () => void\n}) => {\n return (\n <div\n className={cn('desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4', className)}\n onClick={() => onChangeCountry?.()}\n >\n <div className=\"flex items-center justify-between\">\n <div className=\"flex cursor-pointer items-center gap-2\">\n <CountryIcon width={20} height={20} className=\"shrink-0\" />\n <Text\n as=\"p\"\n html={country?.countryName || country?.country}\n className=\"desktop:text-[#B6B6BA] text-base font-bold leading-[1.4] text-white hover:text-white\"\n />\n </div>\n {isMobile && (\n <button>\n <ArrowRightIcon width={20} height={20} />\n </button>\n )}\n </div>\n </div>\n )\n}\n\nexport default withLayout(FooterNavigation)\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import { useEffect, useMemo, useState } from 'react'\nimport { Picture, Text, Container, Link } from '../../components/index.js'\nimport Subscribe from '../Subscribe/index.js'\nimport type { FooterNavigationProps } from './types.js'\nimport { FooterNavigationBlockType } from './types.js'\nimport { AddIcon, SubtractIcon, ArrowRightIcon, CountryIcon } from './icons/index.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\n\nconst FooterNavigation = ({\n data: { footerNavigation } = {},\n currentCountry,\n event,\n subscribeLoading,\n}: FooterNavigationProps) => {\n const [isMobile, setIsMobile] = useState(false)\n\n const mediaQuery = useMediaQuery({ query: '(max-width: 1439px)' })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const country = useMemo(() => {\n return (\n footerNavigation?.footerBlocks?.find((block: any) => block?.blockType === FooterNavigationBlockType.Brand)\n ?.country || {}\n )\n }, [footerNavigation])\n\n return (\n <Container childClassName=\"bg-black py-8 laptop:py-16 flex flex-col desktop:gap-16 gap-8\">\n <Text html={footerNavigation?.story} className=\"desktop:text-sm text-xs font-bold text-[#6D6D6F]\" />\n {footerNavigation?.footerBlocks?.map((block: any) => {\n if (block?.blockType === FooterNavigationBlockType.Signup) {\n return <MarketingConversion subscribeLoading={subscribeLoading} data={block} onSubmit={event?.signup} />\n }\n if (block?.blockType === FooterNavigationBlockType.Brand) {\n return <FooterBrand data={block} isMobile={isMobile} event={event} currentCountry={currentCountry} />\n }\n if (block?.blockType === FooterNavigationBlockType.Main) {\n return (\n <MainServices\n data={{ ...block, country }}\n event={event}\n isMobile={isMobile}\n currentCountry={currentCountry}\n />\n )\n }\n })}\n </Container>\n )\n}\n\n/**\n * MarketingConversion \u8425\u9500\u8F6C\u5316\u6A21\u5757\n * @param data\n * @param onSubmit signup\u63D0\u4EA4\u4E8B\u4EF6\n * @returns\n */\nconst MarketingConversion = ({ data, onSubmit, subscribeLoading }: { data: any; onSubmit?: (params: any) => void; subscribeLoading?: boolean }) => {\n return (\n <div className=\"desktop:py-16 desktop:gap-16 laptop:px-8 desktop:flex-row flex flex-col gap-8 rounded-btn bg-[#1D1D1F] px-4 py-8\">\n <Subscribe\n subscribeMetadata={data?.signup}\n className=\"desktop:flex-[744]\"\n onSubmit={onSubmit}\n loading={subscribeLoading}\n />\n <div className=\"desktop:hidden h-px w-full bg-[#3D3E3F]\" />\n <div className=\"desktop:gap-6 laptop:flex-row desktop:flex-[792] flex flex-col gap-4\">\n <div className=\"flex-1\">\n <Text html={data?.enjoy?.title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex flex-col gap-2\">\n {data?.enjoy?.enjoys?.map((enjoyItem: any) => (\n <div key={enjoyItem?.id} className=\"flex-start flex gap-2\">\n <Picture source={enjoyItem?.icon?.url} alt={enjoyItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Text\n html={enjoyItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA]\"\n />\n </div>\n ))}\n </div>\n </div>\n <div className=\"w-px bg-[#3D3E3F] hidden desktop:block\" />\n <div className=\"flex-1\">\n <Text html={data?.benefit?.title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex flex-col gap-2\">\n {data?.benefit?.benefits?.map((benefitItem: any) => (\n <Link\n href={`${benefitItem?.link}?ref=footer`}\n asChild={!benefitItem?.link}\n key={benefitItem?.id}\n className=\"no-underline\"\n >\n <Text\n html={benefitItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\n/**\n * MainServices \u4E3B\u5BFC\u822A\u4E0E\u670D\u52A1\u6A21\u5757\n * @param services \u670D\u52A1\n * @param mainNav \u4E3B\u5BFC\u822A\n * @param event \u4E8B\u4EF6\n * @param isMobile \u662F\u5426\u662F\u79FB\u52A8\u7AEF\n * @param currentCountry \u5F53\u524D\u56FD\u5BB6\n * @returns\n */\nconst MainServices = ({\n data,\n event,\n isMobile,\n currentCountry,\n}: {\n data: any\n event: any\n isMobile: boolean\n currentCountry: any\n}) => {\n const [mainNavMenuOpen, setMainNavMenuOpen] = useState<boolean>(false)\n const { services, mainNav, country } = data\n return (\n <div className=\"flex flex-col gap-8\">\n <div\n className={cn({\n 'desktop:gap-16 flex': services?.download?.title,\n })}\n >\n <div\n className={cn('w-full', {\n 'desktop:flex-[1260]': services?.download?.title,\n })}\n >\n <Text html={services?.storeBenefits?.title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div\n className={cn('laptop:flex-row desktop:gap-4 laptop:flex-wrap mt-4 flex flex-col gap-2', {\n 'desktop:max-w-[648px]': services?.download?.title,\n })}\n >\n {services?.storeBenefits?.reasons?.map((reasonItem: any) => (\n <div key={reasonItem?.id} className=\"desktop:min-w-[288px] flex flex-1 shrink-0 items-center gap-2\">\n <Picture source={reasonItem?.icon?.url} alt={reasonItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Link href={`${reasonItem?.link}?ref=footer`} asChild={!reasonItem?.link} className=\"no-underline\">\n <Text\n html={reasonItem?.label}\n className=\"text-sm desktop:text-base font-bold leading-[1.2] text-[#B6B6BA]\"\n />\n </Link>\n </div>\n ))}\n </div>\n </div>\n <DownloadApp\n className={cn({\n 'desktop:flex-[404] hidden desktop:block': services?.download?.title,\n })}\n title={services?.download?.title}\n apps={services?.download?.apps}\n />\n </div>\n <div className=\"desktop:block hidden h-px bg-[#3D3E3F]\" />\n <div className=\"desktop:grid grid-cols-4 gap-4\">\n <MainNavMenu title={mainNav?.products?.title} lists={mainNav?.products?.products} />\n <MainNavMenu title={mainNav?.explore?.title} lists={mainNav?.explore?.explores} />\n <MainNavMenu title={mainNav?.support?.title} lists={mainNav?.support?.supports} />\n <div className=\"desktop:py-0 desktop:border-none border-t border-[#3D3E3F] pt-4\">\n <div className=\"desktop:pb-0 flex items-center justify-between pb-4\">\n <Text as=\"p\" html={mainNav?.contact?.title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n {isMobile && (\n <button onClick={() => setMainNavMenuOpen(!mainNavMenuOpen)}>\n {mainNavMenuOpen ? <SubtractIcon width={20} height={20} /> : <AddIcon width={20} height={20} />}\n </button>\n )}\n </div>\n {((mainNavMenuOpen && isMobile) || !isMobile) && (\n <div className=\"desktop:mt-4 desktop:mb-0 mb-4 flex flex-col gap-2\">\n {mainNav?.contact?.contacts?.map((contactItem: any) => (\n <div key={contactItem?.id} className=\"flex items-start gap-2\">\n <Picture source={contactItem?.icon?.url} alt={contactItem?.icon?.alt} className=\"size-5 shrink-0\" />\n <Link href={contactItem?.link} className=\"no-underline\">\n <Text\n html={contactItem?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n </div>\n ))}\n </div>\n )}\n <ChangeCountry\n country={currentCountry || country}\n className=\"desktop:hidden border-b border-[#3D3E3F]\"\n isMobile={isMobile}\n onChangeCountry={event?.country}\n />\n <div className=\"desktop:hidden mt-8\">\n <DownloadApp title={services?.download?.title} apps={services?.download?.apps} />\n </div>\n {!!mainNav?.socials?.length && (\n <div className=\"mt-8 flex items-center gap-2\">\n {mainNav?.socials?.map((socialItem: any) => (\n <Link href={`${socialItem?.link}?ref=footer`} key={socialItem?.id}>\n <Picture source={socialItem?.icon?.url} alt={socialItem?.icon?.alt} className=\"size-8 shrink-0\" />\n </Link>\n ))}\n </div>\n )}\n <div className=\"mt-4 flex flex-wrap gap-2\">\n {mainNav?.payment?.map((paymentItem: any) => (\n <Link href={paymentItem?.link} key={paymentItem?.id}>\n <Picture\n source={paymentItem?.icon?.url}\n alt={paymentItem?.icon?.alt}\n className=\"h-[28px] w-[44px] shrink-0\"\n />\n </Link>\n ))}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nconst FooterBrand = ({\n data,\n isMobile,\n event,\n currentCountry,\n}: {\n data: any\n isMobile: boolean\n event: any\n currentCountry: any\n}) => {\n return (\n <div className=\"flex flex-col gap-4\">\n <div className=\"desktop:items-center desktop:flex desktop:gap-4\">\n <div className=\"laptop:flex-row laptop:items-center desktop:flex-[980] flex flex-col items-start gap-4\">\n <Text html={data?.brand?.currentBrand} className=\"text-[#B6B6BA]\" />\n <div className=\"laptop:block hidden h-[20px] w-px bg-[#B6B6BA] laptop:mb-[10px]\" />\n <div className=\"desktop:gap-6 flex flex-wrap items-center gap-4\">\n {data?.brand?.brands?.map((brandItem: any) => (\n <Link href={`${brandItem?.link}?ref=footer`} key={brandItem?.id}>\n <Text html={brandItem?.icon} className=\"text-[#B6B6BA] hover:text-white\" />\n </Link>\n ))}\n </div>\n </div>\n <ChangeCountry\n country={currentCountry || data?.country}\n className=\"desktop:flex-[316] desktop:block hidden\"\n isMobile={isMobile}\n onChangeCountry={event?.country}\n />\n </div>\n <div className=\"h-px bg-[#3D3E3F]\" />\n <div className=\"laptop:flex-row desktop:gap-4 desktop:items-center flex flex-col items-start gap-1\">\n <Text\n html={data?.copyright?.label}\n className=\"desktop:text-base text-xs font-bold leading-[1.4] text-[#6D6D6F]\"\n />\n <div className=\"flex flex-wrap items-center gap-x-2 gap-y-1\">\n {data?.policy?.policies?.map((policyItem: any) => (\n <Link\n href={`${policyItem?.link}?ref=footer`}\n key={policyItem?.id}\n className=\"desktop:text-base text-xs font-bold hover:text-white leading-[1.4] text-[#B6B6BA] no-underline\"\n >\n {policyItem?.label}\n </Link>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nconst MainNavMenu = ({ title, lists, className }: { title: string; lists: any[]; className?: string }) => {\n const [mainNavMenuOpen, setMainNavMenuOpen] = useState<boolean>(false)\n const [isMobile, setIsMobile] = useState(false)\n\n const mediaQuery = useMediaQuery({ query: '(max-width: 1439px)' })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n return (\n <div className={cn('desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4', className)}>\n <div className=\"flex items-center justify-between\" onClick={() => setMainNavMenuOpen(!mainNavMenuOpen)}>\n <Text as=\"p\" html={title} className=\"text-xl font-bold leading-[1.2] text-white\" />\n {isMobile && (\n <>{mainNavMenuOpen ? <SubtractIcon width={20} height={20} /> : <AddIcon width={20} height={20} />}</>\n )}\n </div>\n {((mainNavMenuOpen && isMobile) || !isMobile) && (\n <div className=\"mt-4 flex flex-col gap-2\">\n {lists?.map((item: any) => (\n <Link href={`${item?.link}?ref=footer`} key={item?.id} className=\"no-underline\">\n <Text\n html={item?.label}\n className=\"desktop:text-base text-sm font-bold leading-[1.2] text-[#B6B6BA] hover:text-white\"\n />\n </Link>\n ))}\n </div>\n )}\n </div>\n )\n}\n\n/**\n * DownloadApp \u4E0B\u8F7D\u5E94\u7528\u6A21\u5757\n * @param title\n * @param apps\n * @param className\n * @returns\n */\nconst DownloadApp = ({ title, apps, className }: { title: string; apps: any[]; className?: string }) => {\n if (!apps?.length) return null\n return (\n <div className={className}>\n <Text html={title} className=\" text-xl font-bold leading-[1.2] text-white\" />\n <div className=\"mt-4 flex items-center gap-4\">\n {apps?.map((appItem: any) => (\n <div key={appItem?.id} className=\"flex flex-col items-center gap-[6px]\">\n <Link href={appItem?.link}>\n <Picture source={appItem?.icon?.url} alt={appItem?.icon?.alt} className=\"size-10 shrink-0\" />\n </Link>\n {appItem?.label && <Text html={appItem?.label} className=\"text-xs font-bold text-[#999999]\" />}\n </div>\n ))}\n </div>\n </div>\n )\n}\n\n/**\n * ChangeCountry \u5207\u6362\u56FD\u5BB6\u6A21\u5757\n * @param data \u6570\u636E\n * @param isMobile \u662F\u5426\u662F\u79FB\u52A8\u7AEF\n * @returns\n */\nconst ChangeCountry = ({\n country,\n isMobile,\n className,\n onChangeCountry,\n}: {\n country: any\n isMobile: boolean\n className?: string\n onChangeCountry?: () => void\n}) => {\n return (\n <div\n className={cn('desktop:py-0 desktop:border-none border-t border-[#3D3E3F] py-4', className)}\n onClick={() => onChangeCountry?.()}\n >\n <div className=\"flex items-center justify-between\">\n <div className=\"flex cursor-pointer items-center gap-2\">\n <CountryIcon width={20} height={20} className=\"shrink-0\" />\n <Text\n as=\"p\"\n html={country?.countryName || country?.country}\n className=\"desktop:text-[#B6B6BA] text-base font-bold leading-[1.4] text-white hover:text-white\"\n />\n </div>\n {isMobile && (\n <button>\n <ArrowRightIcon width={20} height={20} />\n </button>\n )}\n </div>\n </div>\n )\n}\n\nexport default withLayout(FooterNavigation)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Fragment", "jsx", "jsxs", "useEffect", "useMemo", "useState", "Picture", "Text", "Container", "Link", "Subscribe", "FooterNavigationBlockType", "AddIcon", "SubtractIcon", "ArrowRightIcon", "CountryIcon", "useMediaQuery", "cn", "withLayout", "FooterNavigation", "footerNavigation", "currentCountry", "event", "subscribeLoading", "isMobile", "setIsMobile", "mediaQuery", "country", "block", "MarketingConversion", "FooterBrand", "MainServices", "data", "onSubmit", "enjoyItem", "benefitItem", "mainNavMenuOpen", "setMainNavMenuOpen", "services", "mainNav", "reasonItem", "DownloadApp", "MainNavMenu", "contactItem", "ChangeCountry", "socialItem", "paymentItem", "brandItem", "policyItem", "title", "lists", "className", "item", "apps", "appItem", "onChangeCountry", "FooterNavigation_default"]
|
|
7
7
|
}
|