UNPKG

tdesign-mobile-vue

Version:
1 lines 18.1 kB
{"version":3,"file":"notice-bar.mjs","sources":["../../src/notice-bar/notice-bar.tsx"],"sourcesContent":["import { reactive, ref, toRefs, computed, onMounted, nextTick, defineComponent, watch } from 'vue';\nimport { InfoCircleFilledIcon, CheckCircleFilledIcon } from 'tdesign-icons-vue-next';\nimport { isArray, isObject } from 'lodash-es';\nimport { Swiper as TSwiper, SwiperItem as TSwiperItem } from '../swiper';\nimport props from './props';\nimport { NoticeBarTrigger, NoticeBarMarquee } from './type';\nimport config from '../config';\nimport useVModel from '../hooks/useVModel';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { usePrefixClass } from '../hooks/useClass';\n\nconst { prefix } = config;\n\nconst iconDefault = {\n info: <InfoCircleFilledIcon />,\n success: <CheckCircleFilledIcon />,\n warning: <InfoCircleFilledIcon />,\n error: <InfoCircleFilledIcon />,\n};\nexport default defineComponent({\n name: `${prefix}-notice-bar`,\n props,\n emits: ['change'],\n setup(props) {\n const noticeBarClass = usePrefixClass('notice-bar');\n const renderTNodeJSX = useTNodeJSX();\n // 初始化数据\n const state = reactive({\n duration: 0,\n offset: 0,\n listWidth: 0,\n itemWidth: 0,\n timer: null,\n nextTimer: null,\n scroll: {\n marquee: false,\n speed: 50,\n loop: -1, // 值为 -1 表示循环播放,值为 0 表示不循环播放\n delay: 0,\n },\n });\n\n const rootClasses = computed(() => [`${noticeBarClass.value}`, `${noticeBarClass.value}--${props.theme}`]);\n\n // click\n const handleClick = (trigger: NoticeBarTrigger) => {\n props.onClick?.(trigger);\n };\n\n // 动画 i\n const animateStyle = computed(() => ({\n transform: state.offset ? `translateX(${state.offset}px)` : '',\n transitionDuration: `${state.duration}s`,\n transitionTimingFunction: 'linear',\n }));\n\n const listDOM = ref();\n const itemDOM = ref();\n\n const { visible, modelValue } = toRefs(props);\n const [isShow, setStatusValue] = useVModel(visible, modelValue, props.defaultVisible);\n const handleScrolling = () => {\n if (!props?.marquee || (isObject(props?.marquee) && (props?.marquee as NoticeBarMarquee))?.loop === 0) {\n return;\n }\n // 初始化动画参数\n if (typeof props.marquee === 'boolean') {\n state.scroll = { ...state.scroll, marquee: props.marquee };\n }\n if (isObject(props.marquee)) {\n const marquee = props.marquee as NoticeBarMarquee;\n state.scroll = {\n marquee: true,\n loop: typeof marquee?.loop === 'undefined' ? state.scroll.loop : marquee.loop,\n speed: marquee.speed ?? state.scroll.speed,\n delay: marquee.delay ?? state.scroll.delay,\n };\n }\n\n // 设置动画\n setTimeout(() => {\n const listDOMWidth = listDOM.value?.getBoundingClientRect().width;\n const itemDOMWidth = itemDOM.value?.getBoundingClientRect().width;\n if (itemDOMWidth >= listDOMWidth) {\n state.offset = -itemDOMWidth;\n state.duration = itemDOMWidth / state.scroll.speed;\n state.listWidth = listDOMWidth;\n state.itemWidth = itemDOMWidth;\n }\n }, state.scroll.delay);\n };\n // 动画结束后,初始化动画\n const handleTransitionend = () => {\n // 触发再次滚的\n state.scroll.loop = --state.scroll.loop;\n if (state.scroll.loop === 0) {\n state.scroll = {\n ...state.scroll,\n marquee: false,\n };\n return;\n }\n state.offset = state.listWidth;\n state.duration = 0;\n\n setTimeout(() => {\n state.offset = -state.itemWidth;\n state.duration = (state.itemWidth + state.listWidth) / state.scroll.speed;\n }, 0);\n };\n onMounted(() => {\n nextTick(() => {\n if (isShow.value) {\n handleScrolling();\n }\n });\n });\n watch(\n () => isShow.value,\n () => {\n nextTick(() => {\n if (isShow.value) {\n state.offset = state.listWidth;\n state.duration = 0;\n handleScrolling();\n }\n });\n },\n );\n\n return () => {\n if (isShow.value) {\n // prefixIcon\n const renderPrefixIcon = () => {\n const prefixIconContent = renderTNodeJSX('prefixIcon', { defaultNode: iconDefault[props.theme || 'info'] });\n if (props.prefixIcon && prefixIconContent) {\n return (\n <div class={`${noticeBarClass.value}__prefix-icon`} onClick={() => handleClick('prefix-icon')}>\n {prefixIconContent}\n </div>\n );\n }\n };\n // content\n const renderContent = () => {\n const renderShowContent = () => {\n const showContent = renderTNodeJSX('content');\n if (!showContent) {\n return null;\n }\n return showContent;\n };\n const renderOperationContent = () => {\n const operationContent = renderTNodeJSX('operation');\n if (!operationContent) {\n return null;\n }\n return (\n <span\n class={`${noticeBarClass.value}__operation`}\n onClick={(event) => {\n event.stopPropagation();\n handleClick('operation');\n }}\n >\n {operationContent}\n </span>\n );\n };\n return (\n <div ref={listDOM} class={`${noticeBarClass.value}__content-wrap`} onClick={() => handleClick('content')}>\n {props.direction === 'vertical' && isArray(props.content) ? (\n <div>\n <TSwiper\n autoplay\n loop\n direction=\"vertical\"\n duration={2000}\n height={22}\n interval={props?.interval}\n onChange={props?.onChange}\n class={`${noticeBarClass.value}__content--vertical`}\n >\n {props.content.map((item, index) => (\n <TSwiperItem key={index}>\n <div class={`${noticeBarClass.value}__content--vertical-item`}>{item}</div>\n </TSwiperItem>\n ))}\n </TSwiper>\n </div>\n ) : (\n <div\n ref={itemDOM}\n class={[\n `${noticeBarClass.value}__content`,\n !state.scroll.marquee ? `${noticeBarClass.value}__content-wrapable` : '',\n ]}\n style={state.scroll.marquee ? animateStyle.value : ''}\n onTransitionend={handleTransitionend}\n >\n {renderShowContent()}\n {renderOperationContent()}\n </div>\n )}\n </div>\n );\n };\n const renderSuffixIconContent = () => {\n const suffixIconContent = renderTNodeJSX('suffixIcon');\n if (!suffixIconContent) {\n return null;\n }\n return (\n <div class={`${noticeBarClass.value}__suffix-icon`} onClick={() => handleClick('suffix-icon')}>\n {suffixIconContent}\n </div>\n );\n };\n return (\n <div class={rootClasses.value}>\n {renderPrefixIcon()}\n {renderContent()}\n {renderSuffixIconContent()}\n </div>\n );\n }\n return null;\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","prefix","config","iconDefault","info","_createVNode","InfoCircleFilledIcon","success","CheckCircleFilledIcon","warning","error","defineComponent","name","props","emits","setup","noticeBarClass","usePrefixClass","renderTNodeJSX","useTNodeJSX","state","reactive","duration","offset","listWidth","itemWidth","timer","nextTimer","scroll","marquee","speed","loop","delay","rootClasses","computed","concat","value","theme","handleClick","trigger","_props2$onClick","onClick","animateStyle","transform","transitionDuration","transitionTimingFunction","listDOM","ref","itemDOM","_toRefs","toRefs","visible","modelValue","_useVModel","useVModel","defaultVisible","_useVModel2","_slicedToArray","isShow","setStatusValue","handleScrolling","_ref","isObject","_marquee$speed","_marquee$delay","setTimeout","_listDOM$value","_itemDOM$value","listDOMWidth","getBoundingClientRect","width","itemDOMWidth","handleTransitionend","_objectSpread","onMounted","nextTick","watch","renderPrefixIcon","prefixIconContent","defaultNode","prefixIcon","renderContent","_slot","renderShowContent","showContent","renderOperationContent","operationContent","event","stopPropagation","direction","isArray","content","TSwiper","interval","onChange","map","item","index","default","_default","renderSuffixIconContent","suffixIconContent"],"mappings":"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"}