{"version":3,"sources":["webpack://@lemon8/web-sharing/./shared/atoms/article/article-comment-replies.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/sharer-ab-test.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/sharer-detail.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/root-traffic.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/page-level-traffic.ts","webpack://@lemon8/web-sharing/./shared/atoms/common/feature-flag.ts","webpack://@lemon8/web-sharing/./shared/atoms/article/article-detail.ts","webpack://@lemon8/web-sharing/./shared/atoms/article/article-related-posts.ts","webpack://@lemon8/web-sharing/./shared/atoms/article/article-comments.ts","webpack://@lemon8/web-sharing/./shared/utils/pending-queue.ts","webpack://@lemon8/web-sharing/./shared/atoms/user/user-detail.ts","webpack://@lemon8/web-sharing/./shared/atoms/user/user-posts.ts","webpack://@lemon8/web-sharing/./shared/atoms/user/user-related-user.ts","webpack://@lemon8/web-sharing/./shared/atoms/hashtag/index.ts","webpack://@lemon8/web-sharing/./shared/atoms/index.ts","webpack://@lemon8/web-sharing/./shared/atoms/poi/poi-info.ts","webpack://@lemon8/web-sharing/./shared/atoms/poi/poi-posts.ts","webpack://@lemon8/web-sharing/./shared/utils/node-pending-queue.ts","webpack://@lemon8/web-sharing/./shared/utils/safe-atom-family.ts","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/ab-test.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/crawler.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/i18n-text.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/index.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/locale.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/render-config.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/root-traffic.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/user-agent.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/atom/web-user.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/i18n/europe.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/i18n/index.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/i18n/language.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/i18n/region.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/format/index.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/format/num-formatter.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/format/time-ago-formatter.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/format/time-formatter.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/index.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/no-operation.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/pending-queue.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/unreachable.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/view-observer/index.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/view-observer/observer.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/view-observer/preset.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/view-observer/use-view-observer.js","webpack://@lemon8/web-sharing/../libs/lemon8-web-app-shared/dist/esm/util/xss/index.js"],"names":["$CommentRepliesStore","atom","debugLabel","$CommentReplies","safeAtomFamily","commentId","a","get","items","hasMore","offset","set","input","old","_objectSpread","concat","encodeURIComponent","$CommentRepliesLoadmore","$SharerABTest","versions","parameters","$SharerDetail","$RootTraffic","$OriginRootTraffic","$SharingPageLevelTraffic","$FeatureFlags","$ArticleDetailStore","$ArticleDetail","groupId","data","Unreachable","ERelatedChannel","$ArticleRelatedPostsStore","$ArticleRelatedPosts","Promise","catch","relatedChannel","sessionImprId","maxBehotTime","searchId","maxCursor","$ArticleRelatedPostsLoadmore","store","$ArticleCommentsStore","$ArticleComments","$ArticleCommentsLoadmore","comment","PendingQueue","constructor","_tasks","_doInterval","length","console","log","forEach","task","window","setInterval","push","pendingQueue","$UserDetailStore","$UserDetail","userUniqueName","resolve","userDetail","$UserPostStore","$UserPost","userLinkName","$UserPostLoadmore","$UserRelatedUserStore","$UserRelatedUser","$UserRelatedUserLoadmore","$HashtagInfoStore","$HashtagPopularPostStore","$HashtagRecentPostStore","$HashtagInfo","hashtagId","$HashtagPopularPost","$HashtagPopularPostLoadmore","$HashtagRecentPost","$HashtagRecentPostLoadmore","Atoms","$Locale","$ABTest","$RenderConfig","$WebUser","$UserAgent","$I18nText","AtomFamilies","$POIInfo","$POIPosts","$POIInfoStore","poiId","$POIPostStore","$POIPostsLoadmore","NodePendingQueue","nodePendingQueue","initializeAtom","areEqual","family","initializeAtomWrapper","param","remove","atomFamily","Object","exports","value","jotai_1","require","CrawlerType","GoogleCrawlerSubType","__createBinding","create","o","m","k","k2","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","defineProperty","__exportStar","p","prototype","hasOwnProperty","call","isSteamingSSR","isMobile","isBot","isiOS","isSafari","isInApp","isMacOS","webId","Set","EURO_COUNTRY_LIST","isEuropeRegion","region","EURO_COUNTRY_SET","has","region_1","Language","en","id","ja","ms","th","vi","fil","SupportedLanguages","map","language","displayName","LanguageDisplayNameMap","sort","l","r","Region","jp","my","vn","us","gb","sg","ph","IDCRegion","getRegionIDC","includes","VA","SG","i18n_1","NUM_INTERVAL_MAP","w","formatNum","num","_config","arguments","undefined","val","config","decimal","units","needDiv","type","toFixed","replace","unitDigit","toString","split","oneDecimal","Number","String","upperLimit","upperText","s","tmpl","formatNumByRegion","t","__importDefault","mod","dayjs_1","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","ONE_WEEK","EIGHT_DAY","formatTimeAgo","time","now","Date","after","seconds","Math","floor","minutes","hours","days","weeks","timeDayjs","default","year","format","dateToLocalISO","timeStamp","timeZone","off","absoff","abs","toISOString","substr","padStart","NoOperation","instance","reason","Error","ViewObserver","options","_this","observe","element","callback","elements","visible","entry","observer","unobserve","delete","_watchElements","entries","containerHeight","innerHeight","document","documentElement","clientHeight","filter","isIntersecting","node","target","elementHeight","boundingClientRect","getBoundingClientRect","height","isVisible","intersectionRatio","targetVisibleIntersectionThreshold","containerVisibleIntersectionThreshold","timeoutSet","timeouts","setTimeout","_onVisibilityChange","minTimeVisible","timeout","clearTimeout","_reportVisibilityStates","_ref","Map","IntersectionObserver","root","rootMargin","threshold","_addEventListeners","destroy","clear","disconnect","_removeEventListeners","addEventListener","removeEventListener","Factory","instances","scene","buildThreshold","steps","Array","from","_x","i","react_1","observer_1","preset_1","useViewObserver","props","deps","onView","ref","inputRef","useRef","tracked","setTracked","useState","useEffect","current","ViewObserverPreset","filter_xss_1","filterXSS","html","_filterXSS","buildInnerHtml","__html"],"mappings":"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","file":"868-096ad0c55901aeaae4ee.js","sourcesContent":["import { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { TComment } from 'shared/models/comment';\n\nexport interface ICommentReplies {\n items: TComment[];\n offset: number;\n hasMore: boolean;\n}\n\ntype TCommentRepliesStore = {\n [key: string]: ICommentReplies;\n};\n\nconst $CommentRepliesStore = atom({} as TCommentRepliesStore);\n$CommentRepliesStore.debugLabel = '$CommentRepliesStore';\n\nexport const $CommentReplies = safeAtomFamily((commentId: string) => {\n const a = atom(\n (get) => {\n return (\n get($CommentRepliesStore)[commentId] || {\n items: [],\n hasMore: true,\n offset: 0,\n }\n );\n },\n (get, set, input: ICommentReplies) => {\n const old = get($CommentRepliesStore);\n set($CommentRepliesStore, {\n ...old,\n [commentId]: input,\n });\n },\n );\n\n a.debugLabel = `$CommentReplies+${encodeURIComponent(commentId)}`;\n\n return a;\n});\n\nexport const $CommentRepliesLoadmore = safeAtomFamily((commentId: string) => {\n const a = atom(null, async (get, set, input: ICommentReplies) => {\n const old = get($CommentReplies(commentId));\n\n set($CommentReplies(commentId), {\n ...input,\n items: [...old.items, ...input.items],\n });\n });\n\n a.debugLabel = `$CommentRepliesLoadmore+${encodeURIComponent(commentId)}`;\n\n return a;\n});\n","import { atom } from 'jotai';\nimport { IABTest } from '@lemon8/web-app-shared/atom';\n\nexport const $SharerABTest = atom({\n versions: '',\n parameters: {},\n});\n\n$SharerABTest.debugLabel = '$SharerABTest';\n","import { atom } from 'jotai';\nimport { TUserDetail } from 'shared/models';\n\nexport const $SharerDetail = atom({} as TUserDetail);\n$SharerDetail.debugLabel = '$SharerDetail';\n","import { IRootTraffic, $RootTraffic as $OriginRootTraffic } from '@lemon8/web-app-shared/atom';\nimport { EPageType } from 'shared/constant/page-type';\nimport { PrimitiveAtom } from 'jotai';\n\nexport interface ISharingRootTraffic extends IRootTraffic {\n enterPageName: EPageType;\n enterPageId: string;\n\n trafficPid: 'sharing_install';\n\n // timestamp - 10bits\n // shareTime: string;\n // sharerUid: string;\n // sharerDid: string;\n\n sharerToken: string;\n\n sharePlatform: string;\n\n isSharingTest: boolean;\n}\n\nexport const $RootTraffic = $OriginRootTraffic as unknown as PrimitiveAtom;\n","import { atom } from 'jotai';\nimport { EPageType } from 'shared/constant/page-type';\n\ninterface ISharingPageTraffic {\n canonicalUrl: string;\n pageType: EPageType;\n}\n\nexport interface IHashtagPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.HASHTAG;\n hashtagId: string;\n}\n\nexport interface IGalleryPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.Gallery;\n groupId: string;\n mediaId: string;\n}\n\nexport interface IVideoPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.VIDEO;\n groupId: string;\n mediaId: string;\n}\n\nexport interface IPOIPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.POI;\n poiId: string;\n}\n\nexport interface IUserPageTraffic extends ISharingPageTraffic {\n pageType: EPageType.USER;\n userLinkName: string;\n userId: string;\n}\n\nexport type TPageLevelTraffic =\n | IHashtagPageTraffic\n | IPOIPageTraffic\n | IGalleryPageTraffic\n | IVideoPageTraffic\n | IUserPageTraffic;\n\nexport const $SharingPageLevelTraffic = atom({} as TPageLevelTraffic);\n$SharingPageLevelTraffic.debugLabel = '$SharingPageLevelTraffic';\n","import { atom } from 'jotai';\n\nexport const $FeatureFlags = atom>({});\n\n$FeatureFlags.debugLabel = '$FeatureFlags';\n","import { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { IArticleUnavailableDetail, TArticleDetail } from 'shared/models/article';\nimport { Unreachable } from '@lemon8/web-app-shared/util';\n\ntype TArticleDetailStore = {\n [key: string]: TArticleDetail | IArticleUnavailableDetail | undefined;\n};\n\nconst $ArticleDetailStore = atom({} as TArticleDetailStore);\n$ArticleDetailStore.debugLabel = '$ArticleDetailStore';\n\nexport const $ArticleDetail = safeAtomFamily((groupId: string) => {\n const a = atom(\n (get) => {\n const data = get($ArticleDetailStore)[groupId];\n if (!data) {\n return Unreachable();\n }\n return data;\n },\n (get, set, input: TArticleDetail | IArticleUnavailableDetail) => {\n const old = get($ArticleDetailStore);\n set($ArticleDetailStore, {\n ...old,\n [groupId]: input,\n });\n },\n );\n\n a.debugLabel = `$ArticleDetail+${encodeURIComponent(groupId)}`;\n\n return a;\n});\n","import { TArticleDetail } from 'shared/models/article';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { Unreachable } from '@lemon8/web-app-shared/util';\n\nexport enum ERelatedChannel {\n FeedForyou = '0',\n Related = '61',\n VerticalSearch = 'vertical_search',\n}\n\nexport interface IArticleRelatedPosts {\n items: TArticleDetail[];\n relatedChannel: ERelatedChannel;\n hasMore: boolean;\n sessionImprId: string;\n maxBehotTime: string;\n searchId: string;\n maxCursor: string;\n}\n\ntype TArticleRelatedPostsStore = { [key: string]: PromiseOrValue | undefined };\n\nconst $ArticleRelatedPostsStore = atom({} as TArticleRelatedPostsStore);\n$ArticleRelatedPostsStore.debugLabel = '$ArticleRelatedPostsStore';\n\nexport const $ArticleRelatedPosts = safeAtomFamily((groupId: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($ArticleRelatedPostsStore)[groupId];\n if (!data) {\n return Unreachable();\n }\n\n if (data instanceof Promise) {\n return data.catch(() => ({\n items: [],\n relatedChannel: ERelatedChannel.Related,\n hasMore: false,\n sessionImprId: '',\n maxBehotTime: '',\n searchId: '',\n maxCursor: '',\n }));\n }\n\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($ArticleRelatedPostsStore);\n set($ArticleRelatedPostsStore, { ...old, [groupId]: input });\n },\n );\n\n a.debugLabel = `$ArticleRelatedPosts+${encodeURIComponent(groupId)}`;\n return a;\n});\n\nexport const $ArticleRelatedPostsLoadmore = safeAtomFamily((groupId: string) => {\n const a = atom(null, async (get, set, input: IArticleRelatedPosts) => {\n const store = get($ArticleRelatedPostsStore);\n const old = await store[groupId];\n\n if (old) {\n set($ArticleRelatedPostsStore, {\n ...store,\n [groupId]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$ArticleRelatedPostsLoadmore+${encodeURIComponent(groupId)}`;\n return a;\n});\n","import { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { Unreachable } from '@lemon8/web-app-shared/util';\nimport { IPrimaryComment } from 'shared/models/comment';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\n\nexport interface IArticleComments {\n items: IPrimaryComment[];\n offset: number;\n hasMore: boolean;\n}\n\ntype TArticleCommentsStore = {\n [key: string]: PromiseOrValue | undefined;\n};\n\nconst $ArticleCommentsStore = atom({} as TArticleCommentsStore);\n$ArticleCommentsStore.debugLabel = '$ArticleCommentsStore';\n\nexport const $ArticleComments = safeAtomFamily((groupId: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($ArticleCommentsStore)[groupId];\n if (!data) {\n return Unreachable();\n }\n\n if (data instanceof Promise) {\n return data.catch(() => ({\n items: [],\n offset: 0,\n hasMore: false,\n }));\n }\n\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($ArticleCommentsStore);\n set($ArticleCommentsStore, {\n ...old,\n [groupId]: input,\n });\n },\n );\n\n a.debugLabel = `$ArticleComments+${encodeURIComponent(groupId)}`;\n\n return a;\n});\n\nexport const $ArticleCommentsLoadmore = safeAtomFamily((groupId: string) => {\n const a = atom(null, async (get, set, input: IArticleComments) => {\n const old = get($ArticleCommentsStore);\n const comment = await old[groupId];\n\n if (comment) {\n set($ArticleCommentsStore, {\n ...old,\n [groupId]: {\n ...input,\n items: [...comment.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$ArticleCommentsLoadmore+${encodeURIComponent(groupId)}`;\n\n return a;\n});\n","export class PendingQueue {\n private _tasks: (() => void)[] = [];\n\n constructor() {\n if (typeof window !== 'undefined') {\n window.setInterval(this._doInterval, 16);\n }\n }\n\n public push(task: (...args: unknown[]) => void) {\n if (typeof window !== 'undefined') {\n this._tasks.push(task);\n }\n }\n\n private _doInterval = (): void => {\n if (this._tasks.length) {\n console.log('pending tasks found, total count: %d', this._tasks.length);\n this._tasks.forEach((task) => task());\n this._tasks = [];\n }\n };\n}\n\nexport const pendingQueue = new PendingQueue();\n","import { atom } from 'jotai';\nimport { IUserDetail, IUserUnavailableDetail } from 'shared/models/user';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { pendingQueue } from 'shared/utils/pending-queue';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\n\ntype TUserDetailStore = { [key: string]: PromiseOrValue | undefined };\n\nexport const $UserDetailStore = atom({});\n\n/**\n * get user detail data\n *\n * use user-unique-name as key\n */\nexport const $UserDetail = safeAtomFamily((userUniqueName: string) => {\n const a = atom<\n PromiseOrValue,\n [PromiseOrValue],\n void\n >(\n (get) => {\n const data = get($UserDetailStore)[userUniqueName];\n if (!data) {\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n throw new Promise((resolve) => pendingQueue.push(resolve));\n }\n return data;\n },\n (get, set, userDetail) => {\n const old = get($UserDetailStore);\n set($UserDetailStore, { ...old, [userUniqueName]: userDetail });\n },\n );\n\n a.debugLabel = `$UserDetail+${encodeURIComponent(userUniqueName)}`;\n\n return a;\n});\n","import { Unreachable } from '@lemon8/web-app-shared/util';\nimport { atom } from 'jotai';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { TArticleDetail } from 'shared/models/article';\n\nexport interface IUserPosts {\n items: TArticleDetail[];\n hasMore: boolean;\n maxBeHotTime: string;\n}\n\ntype TUserPostStore = { [key: string]: PromiseOrValue | undefined };\n\nexport const $UserPostStore = atom({} as TUserPostStore);\n\nexport const $UserPost = safeAtomFamily((userLinkName: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($UserPostStore)[userLinkName];\n if (!data) {\n return Unreachable('no data in $UserPost');\n }\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($UserPostStore);\n set($UserPostStore, { ...old, [userLinkName]: input });\n },\n );\n\n a.debugLabel = `$UserPost+${encodeURIComponent(userLinkName)}`;\n\n return a;\n});\n\nexport const $UserPostLoadmore = safeAtomFamily((userLinkName: string) => {\n const a = atom(null, async (get, set, input) => {\n const store = get($UserPostStore);\n const old = await store[userLinkName];\n\n if (old) {\n set($UserPostStore, {\n ...store,\n [userLinkName]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$UserPostLoadmore+${encodeURIComponent(userLinkName)}`;\n return a;\n});\n","import { Unreachable } from '@lemon8/web-app-shared/util';\nimport { atom } from 'jotai';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { IRelatedUserDetail } from 'shared/models';\n\nexport interface IUserRelatedUser {\n items: IRelatedUserDetail[];\n sessionImprId: string;\n hasMore: boolean;\n}\n\ntype TUserRelatedUserStore = { [key: string]: PromiseOrValue | undefined };\n\nexport const $UserRelatedUserStore = atom({} as TUserRelatedUserStore);\n\nexport const $UserRelatedUser = safeAtomFamily((userLinkName: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($UserRelatedUserStore)[userLinkName];\n if (!data) {\n return Unreachable('no data in $UserRelatedUser');\n }\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($UserRelatedUserStore);\n set($UserRelatedUserStore, { ...old, [userLinkName]: input });\n },\n );\n\n a.debugLabel = `$UserRelatedUser+${encodeURIComponent(userLinkName)}`;\n\n return a;\n});\n\nexport const $UserRelatedUserLoadmore = safeAtomFamily((userLinkName: string) => {\n const a = atom(null, async (get, set, input: IUserRelatedUser) => {\n const store = get($UserRelatedUserStore);\n const old = await store[userLinkName];\n\n if (old) {\n set($UserRelatedUserStore, {\n ...store,\n [userLinkName]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$UserRelatedUserLoadmore+${encodeURIComponent(userLinkName)}`;\n\n return a;\n});\n","import { atom, PrimitiveAtom } from 'jotai';\nimport { pendingQueue } from 'shared/utils/pending-queue';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { IHashtagInfo, IHashtagUnavailableInfo } from 'shared/models/hashtag';\nimport { TArticleDetail } from 'shared/models/article';\nimport { Unreachable } from '@lemon8/web-app-shared/util';\n\nexport interface IHashtagPosts {\n items: TArticleDetail[];\n hasMore: boolean;\n sessionImprId: string;\n}\n\ntype HashtagInfoStore = { [key: string]: IHashtagInfo | IHashtagUnavailableInfo | undefined };\ntype HashtagPostsStore = { [key: string]: IHashtagPosts | undefined };\n\nexport const $HashtagInfoStore: PrimitiveAtom = atom({});\nexport const $HashtagPopularPostStore: PrimitiveAtom = atom({});\nexport const $HashtagRecentPostStore: PrimitiveAtom = atom({});\n\nexport const $HashtagInfo = safeAtomFamily((hashtagId: string) => {\n const a = atom(\n (get) => {\n const data = get($HashtagInfoStore)[hashtagId];\n if (!data) {\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n throw new Promise((resolve) => pendingQueue.push(resolve));\n }\n return data;\n },\n (get, set, input: IHashtagInfo | IHashtagUnavailableInfo) => {\n const old = get($HashtagInfoStore);\n set($HashtagInfoStore, { ...old, [hashtagId]: input });\n },\n );\n a.debugLabel = `$HashtagInfo+${encodeURIComponent(hashtagId)}`;\n return a;\n});\n\nexport const $HashtagPopularPost = safeAtomFamily((hashtagId: string) => {\n const a = atom(\n (get) => {\n const data = get($HashtagPopularPostStore)[hashtagId];\n if (!data) {\n return Unreachable('no data in $HashtagPopularPost');\n }\n return data;\n },\n (get, set, input: IHashtagPosts) => {\n const old = get($HashtagPopularPostStore);\n set($HashtagPopularPostStore, { ...old, [hashtagId]: input });\n },\n );\n a.debugLabel = `$HashtagPopularPost+${encodeURIComponent(hashtagId)}`;\n return a;\n});\n\nexport const $HashtagPopularPostLoadmore = safeAtomFamily((hashtagId: string) => {\n const a = atom(null, async (get, set, input: IHashtagPosts) => {\n const store = get($HashtagPopularPostStore);\n const old = await store[hashtagId];\n\n if (old) {\n set($HashtagPopularPostStore, {\n ...store,\n [hashtagId]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$HashtagPopularPostLoadmore+${encodeURIComponent(hashtagId)}`;\n\n return a;\n});\n\nexport const $HashtagRecentPost = safeAtomFamily((hashtagId: string) => {\n const a = atom(\n (get) => {\n const data = get($HashtagRecentPostStore)[hashtagId];\n if (!data) {\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n throw new Promise((resolve) => pendingQueue.push(resolve));\n }\n return data;\n },\n (get, set, input: IHashtagPosts) => {\n const old = get($HashtagRecentPostStore);\n set($HashtagRecentPostStore, { ...old, [hashtagId]: input });\n },\n );\n\n a.debugLabel = `$HashtagRecentPost+${encodeURIComponent(hashtagId)}`;\n return a;\n});\n\nexport const $HashtagRecentPostLoadmore = safeAtomFamily((hashtagId: string) => {\n const a = atom(null, async (get, set, input: IHashtagPosts) => {\n const store = get($HashtagRecentPostStore);\n const old = await store[hashtagId];\n\n if (old) {\n set($HashtagRecentPostStore, {\n ...store,\n [hashtagId]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$HashtagRecentPostLoadmore+${encodeURIComponent(hashtagId)}`;\n\n return a;\n});\n","import { $Locale, $ABTest, $RenderConfig, $WebUser, $UserAgent, $I18nText } from '@lemon8/web-app-shared/atom';\nimport { $ArticleComments, $ArticleDetail, $ArticleRelatedPosts } from 'shared/atoms/article';\nimport {\n $SharerABTest,\n $SharingPageLevelTraffic,\n $RootTraffic,\n $SharerDetail,\n $FeatureFlags,\n} from 'shared/atoms/common';\nimport { $UserDetail, $UserPost, $UserRelatedUser } from 'shared/atoms/user';\nimport { $POIInfo, $POIPosts } from 'shared/atoms/poi';\nimport { $HashtagInfo, $HashtagRecentPost, $HashtagPopularPost } from './hashtag';\n\nexport * from './common';\nexport * from './article';\nexport * from './user';\nexport * from './poi';\nexport * from './hashtag';\n\nexport const Atoms = {\n $Locale,\n $ABTest,\n $RenderConfig,\n $WebUser,\n $UserAgent,\n $I18nText,\n $RootTraffic,\n $SharerABTest,\n $FeatureFlags,\n $SharerDetail,\n $SharingPageLevelTraffic,\n};\n\nexport const AtomFamilies = {\n $ArticleDetail,\n $ArticleComments,\n $ArticleRelatedPosts,\n\n $UserDetail,\n $UserPost,\n $UserRelatedUser,\n\n $POIInfo,\n $POIPosts,\n\n $HashtagInfo,\n $HashtagRecentPost,\n $HashtagPopularPost,\n};\n","import { Unreachable } from '@lemon8/web-app-shared/util';\nimport { atom } from 'jotai';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { TPOIInfo } from 'shared/models/poi';\n\ntype TPOIInfoStore = { [key: string]: TPOIInfo | undefined };\n\nexport const $POIInfoStore = atom({} as TPOIInfoStore);\n\nexport const $POIInfo = safeAtomFamily((poiId: string) => {\n const a = atom(\n (get) => {\n const data = get($POIInfoStore)[poiId];\n if (!data) {\n return Unreachable('no data in $POIInfo');\n }\n return data;\n },\n (get, set, input: TPOIInfo) => {\n const old = get($POIInfoStore);\n set($POIInfoStore, { ...old, [poiId]: input });\n },\n );\n\n a.debugLabel = `$POIInfo+${encodeURIComponent(poiId)}`;\n\n return a;\n});\n","import { Unreachable } from '@lemon8/web-app-shared/util';\nimport { atom } from 'jotai';\nimport { PromiseOrValue } from 'shared/utils/promise-or-value';\nimport { safeAtomFamily } from 'shared/utils/safe-atom-family';\nimport { TArticleDetail } from 'shared/models/article';\n\nexport interface IPOIPosts {\n items: TArticleDetail[];\n hasMore: boolean;\n sessionImprId: string;\n}\n\ntype TPOIPostsStore = { [key: string]: PromiseOrValue | undefined };\n\nexport const $POIPostStore = atom({} as TPOIPostsStore);\n\nexport const $POIPosts = safeAtomFamily((poiId: string) => {\n const a = atom, [PromiseOrValue], void>(\n (get) => {\n const data = get($POIPostStore)[poiId];\n if (!data) {\n return Unreachable('no data in $POIPosts');\n }\n return data;\n },\n (get, set, input: PromiseOrValue) => {\n const old = get($POIPostStore);\n set($POIPostStore, { ...old, [poiId]: input });\n },\n );\n\n a.debugLabel = `$POIPosts+${encodeURIComponent(poiId)}`;\n\n return a;\n});\n\nexport const $POIPostsLoadmore = safeAtomFamily((poiId: string) => {\n const a = atom(null, async (get, set, input) => {\n const store = get($POIPostStore);\n const old = await store[poiId];\n\n if (old) {\n set($POIPostStore, {\n ...store,\n [poiId]: {\n ...input,\n items: [...old.items, ...input.items],\n },\n });\n }\n });\n\n a.debugLabel = `$POIPostsLoadmore+${encodeURIComponent(poiId)}`;\n return a;\n});\n","export class NodePendingQueue {\n private _tasks: (() => void)[] = [];\n\n constructor() {\n if (typeof window === 'undefined') {\n setInterval(this._doInterval, 500);\n }\n }\n\n public push(task: (...args: unknown[]) => void) {\n if (typeof window === 'undefined') {\n this._tasks.push(task);\n }\n }\n\n private _doInterval = (): void => {\n if (this._tasks.length) {\n console.log('pending tasks found, total count: %d', this._tasks.length);\n this._tasks.forEach((task) => task());\n this._tasks = [];\n }\n };\n}\n\nexport const nodePendingQueue = new NodePendingQueue();\n","import { atomFamily } from 'jotai/utils';\nimport { Atom } from 'jotai/vanilla';\nimport { AtomFamily } from 'jotai/vanilla/utils/atomFamily';\nimport { nodePendingQueue } from 'shared/utils/node-pending-queue';\n\nexport const safeAtomFamily = >(\n initializeAtom: (param: Param) => AtomType,\n areEqual?: (a: Param, b: Param) => boolean,\n): AtomFamily => {\n let family: AtomFamily | null = null;\n\n const initializeAtomWrapper = (param: Param): AtomType => {\n const atom = initializeAtom(param);\n if (typeof window === 'undefined') {\n nodePendingQueue.push(() => {\n family?.remove(param);\n });\n }\n\n return atom;\n };\n\n family = atomFamily(initializeAtomWrapper, areEqual);\n\n return family;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$ABTest = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$ABTest = (0, jotai_1.atom)({\n versions: '',\n parameters: {},\n});\nexports.$ABTest.debugLabel = '$ABTest';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$Crawler = exports.GoogleCrawlerSubType = exports.CrawlerType = void 0;\nconst jotai_1 = require(\"jotai\");\nvar CrawlerType;\n(function (CrawlerType) {\n CrawlerType[\"Google\"] = \"google\";\n})(CrawlerType = exports.CrawlerType || (exports.CrawlerType = {}));\nvar GoogleCrawlerSubType;\n(function (GoogleCrawlerSubType) {\n GoogleCrawlerSubType[\"GoogleAPIs\"] = \"google_apis\";\n GoogleCrawlerSubType[\"AdsBot\"] = \"ads_bot\";\n GoogleCrawlerSubType[\"AdSense\"] = \"mediapartners\";\n GoogleCrawlerSubType[\"Image\"] = \"image\";\n GoogleCrawlerSubType[\"News\"] = \"news\";\n GoogleCrawlerSubType[\"Video\"] = \"video\";\n GoogleCrawlerSubType[\"GoogleBot\"] = \"googlebot\";\n GoogleCrawlerSubType[\"GoogleBot$Mobile\"] = \"googlebot(mobile)\";\n GoogleCrawlerSubType[\"FeedFetcher\"] = \"feed_fetcher\";\n GoogleCrawlerSubType[\"ReadAloud\"] = \"read_aloud\";\n GoogleCrawlerSubType[\"Favicon\"] = \"favicon\";\n GoogleCrawlerSubType[\"Storebot\"] = \"store_bot\";\n GoogleCrawlerSubType[\"SiteVerification\"] = \"site_verification\";\n})(GoogleCrawlerSubType = exports.GoogleCrawlerSubType || (exports.GoogleCrawlerSubType = {}));\nexports.$Crawler = (0, jotai_1.atom)({});\nexports.$Crawler.debugLabel = '$Crawler';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$I18nText = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$I18nText = (0, jotai_1.atom)({});\nexports.$I18nText.debugLabel = '$I18nText';\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ab-test\"), exports);\n__exportStar(require(\"./crawler\"), exports);\n__exportStar(require(\"./i18n-text\"), exports);\n__exportStar(require(\"./locale\"), exports);\n__exportStar(require(\"./render-config\"), exports);\n__exportStar(require(\"./root-traffic\"), exports);\n__exportStar(require(\"./user-agent\"), exports);\n__exportStar(require(\"./web-user\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$Locale = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$Locale = (0, jotai_1.atom)({});\nexports.$Locale.debugLabel = '$Locale';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$RenderConfig = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$RenderConfig = (0, jotai_1.atom)({\n isSteamingSSR: false,\n});\nexports.$RenderConfig.debugLabel = '$RenderConfig';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$RootTraffic = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$RootTraffic = (0, jotai_1.atom)({});\nexports.$RootTraffic.debugLabel = '$RootTraffic';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$UserAgent = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$UserAgent = (0, jotai_1.atom)({\n isMobile: false,\n isBot: false,\n isiOS: false,\n isSafari: false,\n isInApp: false,\n isMacOS: false,\n});\nexports.$UserAgent.debugLabel = '$UserAgent';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.$WebUser = void 0;\nconst jotai_1 = require(\"jotai\");\nexports.$WebUser = (0, jotai_1.atom)({\n webId: '',\n});\nexports.$WebUser.debugLabel = '$WebUser';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEuropeRegion = exports.EURO_COUNTRY_SET = exports.EURO_COUNTRY_LIST = void 0;\nexports.EURO_COUNTRY_LIST = [\n 'at',\n 'be',\n 'bg',\n 'hr',\n 'ch',\n 'cy',\n 'cz',\n 'de',\n 'dk',\n 'ee',\n 'el',\n 'fi',\n 'fr',\n 'gb',\n 'gr',\n 'hu',\n 'ie',\n 'it',\n 'lv',\n 'lt',\n 'lu',\n 'mt',\n 'nl',\n 'pl',\n 'pt',\n 'ro',\n 'sk',\n 'si',\n 'es',\n 'se',\n 'no',\n 'is',\n 'li',\n];\nexports.EURO_COUNTRY_SET = new Set(exports.EURO_COUNTRY_LIST);\nconst isEuropeRegion = (region) => exports.EURO_COUNTRY_SET.has(region);\nexports.isEuropeRegion = isEuropeRegion;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./region\"), exports);\n__exportStar(require(\"./language\"), exports);\n__exportStar(require(\"./europe\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RegionHrefLangMap = exports.RegionFallbackLanguageMap = exports.SupportedLanguageMetas = exports.SupportedLanguages = exports.LanguageDisplayNameMap = exports.Language = void 0;\nconst region_1 = require(\"./region\");\nvar Language;\n(function (Language) {\n Language[\"en\"] = \"en\";\n Language[\"id\"] = \"id\";\n Language[\"ja\"] = \"ja\";\n Language[\"ms\"] = \"ms\";\n Language[\"th\"] = \"th\";\n Language[\"vi\"] = \"vi\";\n Language[\"fil\"] = \"fil\";\n})(Language = exports.Language || (exports.Language = {}));\nexports.LanguageDisplayNameMap = {\n en: 'English',\n id: 'Bahasa Indonesia',\n ja: '日本語',\n ms: 'Bahasa Melayu',\n th: 'ไทย',\n vi: 'Tiếng Việt',\n fil: 'Pilipino',\n};\nexports.SupportedLanguages = [\n Language.en,\n Language.id,\n Language.ja,\n Language.ms,\n Language.th,\n Language.vi,\n];\nexports.SupportedLanguageMetas = exports.SupportedLanguages.map((language) => ({\n language,\n displayName: exports.LanguageDisplayNameMap[language],\n})).sort((l, r) => (l.displayName > r.displayName ? 1 : -1));\nexports.RegionFallbackLanguageMap = {\n [region_1.Region.jp]: Language.ja,\n [region_1.Region.th]: Language.th,\n [region_1.Region.my]: Language.ms,\n [region_1.Region.id]: Language.id,\n [region_1.Region.vn]: Language.vi,\n [region_1.Region.us]: Language.en,\n [region_1.Region.gb]: Language.en,\n [region_1.Region.sg]: Language.en,\n [region_1.Region.ph]: Language.en,\n};\nexports.RegionHrefLangMap = {\n [region_1.Region.jp]: 'ja-jp',\n [region_1.Region.th]: 'th-th',\n [region_1.Region.my]: 'ms-my',\n [region_1.Region.id]: 'id-id',\n [region_1.Region.vn]: 'vi-vn',\n [region_1.Region.us]: 'en-us',\n [region_1.Region.gb]: 'en-gb',\n [region_1.Region.sg]: 'en-sg',\n [region_1.Region.ph]: 'en-ph',\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRegionIDC = exports.IDCRegion = exports.RegionDisplayMap = exports.Region = void 0;\n/**\n * ISO 639-1 Language Code\n */\nvar Region;\n(function (Region) {\n Region[\"jp\"] = \"jp\";\n Region[\"th\"] = \"th\";\n Region[\"my\"] = \"my\";\n Region[\"id\"] = \"id\";\n Region[\"ph\"] = \"ph\";\n Region[\"vn\"] = \"vn\";\n Region[\"us\"] = \"us\";\n Region[\"gb\"] = \"gb\";\n Region[\"sg\"] = \"sg\";\n})(Region = exports.Region || (exports.Region = {}));\nexports.RegionDisplayMap = {\n [Region.jp]: '日本',\n [Region.th]: 'ไทย',\n [Region.my]: 'Malaysia',\n [Region.id]: 'Indonesia',\n [Region.vn]: 'Việt Nam',\n [Region.us]: 'US',\n [Region.gb]: 'UK',\n [Region.sg]: 'Singapore',\n [Region.ph]: 'Philippines',\n};\nvar IDCRegion;\n(function (IDCRegion) {\n IDCRegion[\"SG\"] = \"sg\";\n IDCRegion[\"VA\"] = \"va\";\n})(IDCRegion = exports.IDCRegion || (exports.IDCRegion = {}));\nconst getRegionIDC = (region) => {\n return [Region.jp, Region.us, Region.gb].includes(region) ? IDCRegion.VA : IDCRegion.SG;\n};\nexports.getRegionIDC = getRegionIDC;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./num-formatter\"), exports);\n__exportStar(require(\"./time-ago-formatter\"), exports);\n__exportStar(require(\"./time-formatter\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatNumByRegion = exports.formatNum = void 0;\nconst i18n_1 = require(\"../../i18n\");\nconst NUM_INTERVAL_MAP = {\n w: [i18n_1.Region.jp],\n k: [i18n_1.Region.id, i18n_1.Region.my, i18n_1.Region.ph, i18n_1.Region.sg, i18n_1.Region.th, i18n_1.Region.vn, i18n_1.Region.gb, i18n_1.Region.us],\n};\nfunction formatNum(num, _config = {}) {\n let val = `${num}`;\n const config = {\n decimal: 1,\n units: ['万', '億'],\n needDiv: true,\n ..._config,\n };\n const { decimal } = config;\n if (config.type === 'KMB') {\n if (num >= 1e10) {\n val = `${(num / 1e9).toFixed(0)}B`;\n }\n else if (num >= 1e9) {\n val = `${(num / 1e9).toFixed(decimal).replace(/\\.0*$/, '')}B`;\n }\n else if (num >= 1e7) {\n val = `${(num / 1e6).toFixed(0)}M`;\n }\n else if (num >= 1e6) {\n val = `${(num / 1e6).toFixed(decimal).replace(/\\.0*$/, '')}M`;\n }\n else if (num >= 1e4) {\n val = `${(num / 1e3).toFixed(0)}K`;\n }\n else if (num >= 1e3) {\n val = `${(num / 1e3).toFixed(decimal).replace(/\\.0*$/, '')}K`;\n }\n else {\n val = `${num}`;\n }\n }\n else if (config.type === 'KM') {\n if (num >= 10e6) {\n const unitDigit = (num / 1e6).toString().split('.')[0];\n const oneDecimal = ((num - Number(unitDigit) * 1e6) / 1e5).toString().split('.')[0];\n if (Number(oneDecimal) >= 1) {\n val = `${String(unitDigit)}.${String(oneDecimal)}${config.units[0]}`;\n }\n else {\n val = `${String(unitDigit)}${config.units[1]}`;\n }\n }\n else if (num >= 1e4) {\n const unitDigit = (num / 1e3).toString().split('.')[0];\n const oneDecimal = ((num - Number(unitDigit) * 1e3) / 1e2).toString().split('.')[0];\n if (Number(oneDecimal) >= 1) {\n val = `${String(unitDigit)}.${String(oneDecimal)}${config.units[0]}`;\n }\n else {\n val = `${String(unitDigit)}${config.units[0]}`;\n }\n }\n else {\n val = `${num}`;\n }\n }\n else if (config.type === 'WY') {\n if (num >= 1e10) {\n val = ~~(num / 1e8) + config.units[1];\n }\n else if (num >= 1e8) {\n val = (num / 1e8).toFixed(decimal).replace(/\\.0*$/, '') + config.units[1];\n }\n else if (num >= 1e6) {\n val = ~~(num / 1e4) + config.units[0];\n }\n else if (num >= 1e4) {\n val = (num / 1e4).toFixed(decimal).replace(/\\.0*$/, '') + config.units[0];\n }\n else {\n val = `${num}`;\n }\n }\n else if (config.type === 'W') {\n if (num >= 1e4) {\n const unitDigit = (num / 1e4).toString().split('.')[0];\n const oneDecimal = ((num - Number(unitDigit) * 1e4) / 1e3).toString().split('.')[0];\n if (Number(oneDecimal) >= 1) {\n val = `${String(unitDigit)}.${String(oneDecimal)}${config.units[0]}`;\n }\n else {\n val = `${String(unitDigit)}${config.units[0]}`;\n }\n }\n else {\n val = `${num}`;\n }\n }\n else if (config.upperLimit && num >= config.upperLimit) {\n val = config.upperText;\n }\n if (config.needDiv) {\n val = val.replace(/\\d+/, function (s) {\n return s.replace(/(\\d)(?=(\\d{3})+$)/g, '$1,');\n });\n }\n if (config.tmpl) {\n return config.tmpl.replace('%s', val);\n }\n return val;\n}\nexports.formatNum = formatNum;\nfunction formatNumByRegion(num, region, t) {\n if (NUM_INTERVAL_MAP.w.includes(region)) {\n const type = 'W';\n const units = [t('common_ten_thousand')];\n return formatNum(num, { type, units, needDiv: false });\n }\n if (NUM_INTERVAL_MAP.k.includes(region)) {\n const type = 'KM';\n const units = [t('common_thousand'), t('common_million')];\n return formatNum(num, { type, units, needDiv: false });\n }\n return '';\n}\nexports.formatNumByRegion = formatNumByRegion;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatTimeAgo = void 0;\nconst dayjs_1 = __importDefault(require(\"dayjs\"));\nconst ONE_SECOND = 1000;\nconst ONE_MINUTE = 60 * ONE_SECOND;\nconst ONE_HOUR = 60 * ONE_MINUTE;\nconst ONE_DAY = 24 * ONE_HOUR;\nconst ONE_WEEK = 7 * ONE_DAY;\nconst EIGHT_DAY = 8 * ONE_DAY;\n/**\n * time: seconds\n */\nconst formatTimeAgo = (time, t) => {\n const now = Date.now();\n const after = now - time * 1000;\n if (after < ONE_MINUTE) {\n const seconds = Math.floor(after / ONE_SECOND);\n return t('seconds_ago_plural', { num: seconds }).replace('%d', `${seconds}`);\n }\n if (after < ONE_HOUR) {\n const minutes = Math.floor(after / ONE_MINUTE);\n return t('minutes_ago_plural', { num: minutes }).replace('%d', `${minutes}`);\n }\n if (after < ONE_DAY) {\n const hours = Math.floor(after / ONE_HOUR);\n return t('hours_ago_plural', { num: hours }).replace('%d', `${hours}`);\n }\n if (after < ONE_WEEK) {\n const days = Math.floor(after / ONE_DAY);\n return t('days_ago_plural', { num: days }).replace('%d', `${days}`);\n }\n if (after < EIGHT_DAY) {\n const weeks = Math.floor(after / ONE_WEEK);\n return t('weeks_ago_plural', { num: weeks }).replace('%d', `${weeks}`);\n }\n const timeDayjs = (0, dayjs_1.default)(time * 1000);\n if ((0, dayjs_1.default)(now).year() === timeDayjs.year()) {\n return timeDayjs.format('M/D');\n }\n return timeDayjs.format('YYYY/M/D');\n};\nexports.formatTimeAgo = formatTimeAgo;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dateToLocalISO = void 0;\nconst dateToLocalISO = function (timeStamp, timeZone) {\n // off为当地时区相对UTC的偏移量,日本为9,中国为8\n const off = -timeZone * 60;\n const absoff = Math.abs(off);\n return `${new Date(timeStamp * 1000 - off * 60 * 1000).toISOString().substr(0, 23) +\n (off > 0 ? '-' : '+') +\n (absoff / 60).toFixed(0).padStart(2, '0')}:${(absoff % 60).toString().padStart(2, '0')}`;\n};\nexports.dateToLocalISO = dateToLocalISO;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./unreachable\"), exports);\n__exportStar(require(\"./no-operation\"), exports);\n__exportStar(require(\"./format\"), exports);\n__exportStar(require(\"./xss\"), exports);\n__exportStar(require(\"./view-observer\"), exports);\n__exportStar(require(\"./pending-queue\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NoOperation = void 0;\nconst NoOperation = () => void 0;\nexports.NoOperation = NoOperation;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PendingQueue = void 0;\nclass PendingQueue {\n constructor() {\n this._tasks = [];\n this._doInterval = () => {\n if (this._tasks.length) {\n this._tasks.forEach((task) => task());\n this._tasks = [];\n }\n };\n setInterval(this._doInterval, 500);\n }\n push(task) {\n this._tasks.push(task);\n }\n}\nexports.PendingQueue = PendingQueue;\nPendingQueue.instance = new PendingQueue();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Unreachable = void 0;\nconst Unreachable = (reason = 'unreachable code here') => {\n throw new Error(reason);\n};\nexports.Unreachable = Unreachable;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./observer\"), exports);\n__exportStar(require(\"./preset\"), exports);\n__exportStar(require(\"./use-view-observer\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ViewObserver = void 0;\nclass ViewObserver {\n constructor(options) {\n this.observe = (element, callback) => {\n this.elements.set(element, {\n callback,\n visible: false,\n entry: element,\n });\n this.observer.observe(element);\n };\n this.unobserve = (element) => {\n if (!this.elements.get(element)) {\n return;\n }\n this.observer.unobserve(element);\n this.elements.delete(element);\n };\n /**\n * callback for Intersection Observer\n *\n * Loop through all the observed elements and check if visible\n *\n * @param {Array} [entries] array of [IntersectionObserverEntry],\n */\n this._watchElements = (entries = []) => {\n /**\n * If rootBounds does not exist, it will default to the height and width of the viewport\n */\n const containerHeight = window.innerHeight || document.documentElement.clientHeight;\n entries\n .filter((entry) => entry.isIntersecting)\n .forEach((entry) => {\n const node = entry.target;\n const element = this.elements.get(node);\n const bounds = entry.boundingClientRect || node.getBoundingClientRect();\n const elementHeight = bounds.height;\n const isVisible = entry.intersectionRatio >= this.options.targetVisibleIntersectionThreshold ||\n (entry.intersectionRatio * elementHeight) / containerHeight >=\n this.options.containerVisibleIntersectionThreshold;\n // Element is still visible since last check\n if (isVisible && element && element.timeoutSet) {\n return;\n }\n // If the element is visible\n if (isVisible && element) {\n // Set the visibility state to true but wait until the timeout finishes\n // to fire the event\n element.timeoutSet = true;\n // Start timer\n this.timeouts.set(node, setTimeout(() => {\n // Fire the event\n this._onVisibilityChange(node, true);\n }, this.options.minTimeVisible));\n }\n else {\n const timeout = this.timeouts.get(node);\n // Fire event\n this._onVisibilityChange(node, false);\n // Element is no longer visible, delete timeout\n clearTimeout(timeout);\n this.timeouts.delete(node);\n if (element) {\n element.timeoutSet = false;\n }\n }\n });\n };\n /**\n * callback for orientationchange or other event which may cause element visible change\n *\n * Fire onChange event listeners for all visible elements\n */\n this._reportVisibilityStates = () => {\n this.elements.forEach(({ visible }, element) => {\n if (visible) {\n this._onVisibilityChange(element, visible);\n }\n });\n };\n this.options = options;\n this.elements = new Map();\n this.timeouts = new Map();\n this.observer = new IntersectionObserver(this._watchElements, {\n root: this.options.root,\n rootMargin: this.options.rootMargin,\n threshold: this.options.threshold,\n });\n this._addEventListeners();\n }\n destroy() {\n this.elements.clear();\n this.timeouts.clear();\n if (typeof this.observer.disconnect === 'function') {\n this.observer.disconnect();\n }\n this._removeEventListeners();\n }\n /**\n * Handle DOM element visibility state change\n * @param {Element} element - the DOM node\n * @param {Boolean} visible - the visibility state of the entry\n */\n _onVisibilityChange(element, visible) {\n const entry = this.elements.get(element);\n if (!entry) {\n return;\n }\n // Set the new visibility state\n entry.visible = visible;\n const { callback } = entry;\n callback(visible);\n }\n _addEventListeners() {\n window.addEventListener('focus', this._reportVisibilityStates);\n window.addEventListener('orientationchange', this._reportVisibilityStates);\n }\n _removeEventListeners() {\n window.removeEventListener('focus', this._reportVisibilityStates);\n window.removeEventListener('orientationchange', this._reportVisibilityStates);\n }\n}\nexports.ViewObserver = ViewObserver;\nViewObserver.Factory = {\n instances: new Map(),\n get: (options) => {\n const { scene } = options;\n let instance = ViewObserver.Factory.instances.get(scene);\n if (!instance) {\n instance = new ViewObserver(options);\n ViewObserver.Factory.instances.set(scene, instance);\n }\n return instance;\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ViewObserverPreset = exports.buildThreshold = void 0;\n/**\n * Build an array of threshold values ranging from 0 to 1\n * @param {Number} steps - number of steps between 0 and 1.0\n * @returns {Number[]} returns array of floats\n */\nconst buildThreshold = (steps = 1) => {\n const threshold = Array.from({ length: steps }, (_x, i) => i / steps);\n // Returns an array like [0, ...n, 1]\n return [...threshold, 1];\n};\nexports.buildThreshold = buildThreshold;\nexports.ViewObserverPreset = {\n default: {\n scene: 'default',\n root: null,\n rootMargin: '',\n threshold: (0, exports.buildThreshold)(10),\n targetVisibleIntersectionThreshold: 0.8,\n containerVisibleIntersectionThreshold: 0.5,\n minTimeVisible: 250,\n },\n 'viewport-asap': {\n scene: 'viewport-asap',\n root: null,\n rootMargin: '',\n threshold: (0, exports.buildThreshold)(1),\n targetVisibleIntersectionThreshold: 0,\n containerVisibleIntersectionThreshold: 0,\n minTimeVisible: 0,\n },\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useViewObserver = void 0;\nconst react_1 = require(\"react\");\nconst observer_1 = require(\"./observer\");\nconst preset_1 = require(\"./preset\");\nconst useViewObserver = (props, deps = []) => {\n const { onView, ref: inputRef, options } = props;\n const ref = inputRef || (0, react_1.useRef)(null);\n const [tracked, setTracked] = (0, react_1.useState)(false);\n (0, react_1.useEffect)(() => {\n const element = ref.current;\n if (!element || tracked) {\n return;\n }\n const observer = observer_1.ViewObserver.Factory.get(options || preset_1.ViewObserverPreset.default);\n observer.observe(element, (visible) => {\n if (visible) {\n onView();\n setTracked(true);\n observer.unobserve(element);\n }\n });\n return () => {\n observer.unobserve(element);\n };\n }, [ref, tracked, onView, ...deps]);\n return ref;\n};\nexports.useViewObserver = useViewObserver;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.buildInnerHtml = exports.filterXSS = void 0;\nconst filter_xss_1 = require(\"@ies/filter-xss\");\nconst filterXSS = (html) => (0, filter_xss_1._filterXSS)(html);\nexports.filterXSS = filterXSS;\nconst buildInnerHtml = (html) => {\n return {\n __html: (0, exports.filterXSS)(html),\n };\n};\nexports.buildInnerHtml = buildInnerHtml;\n"],"sourceRoot":""}