@funhub/platform 0.2.5 → 0.2.7
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/assets/icons/channel-list/channel-active-indicator.mjs +2 -0
- package/dist/assets/icons/common/header-menu.mjs +2 -0
- package/dist/assets/icons/common/header-search-icon.mjs +2 -0
- package/dist/assets/icons/common/right_arrow_thin.mjs +2 -0
- package/dist/assets/icons/eye-off-icon.mjs +1 -1
- package/dist/assets/icons/marquee-close.mjs +2 -0
- package/dist/assets/icons/marquee-speaker.mjs +2 -0
- package/dist/assets/images/shortcut-grid/shortcut-grid-card-bg-primary.mjs +2 -0
- package/dist/biz.d.mts +10 -6
- package/dist/biz.mjs +1 -1
- package/dist/common.d.mts +5 -2
- package/dist/common.mjs +1 -1
- package/dist/components/biz/basics/fullscreen-feed/runtime/user-action.mjs +1 -1
- package/dist/components/biz/basics/logo/variants/basic-logo/runtime/client.mjs +1 -1
- package/dist/components/biz/business/advertisement/ad-match.d.mts +7 -3
- package/dist/components/biz/business/advertisement/ad-match.mjs +1 -1
- package/dist/components/biz/business/advertisement/banner-ad/client.mjs +1 -1
- package/dist/components/biz/business/advertisement/banner-ad/material.d.mts +2 -2
- package/dist/components/biz/business/advertisement/banner-ad/material.mjs +1 -1
- package/dist/components/biz/business/advertisement/banner-ad/schema.d.mts +9 -4
- package/dist/components/biz/business/advertisement/banner-ad/schema.mjs +1 -1
- package/dist/components/biz/business/advertisement/feed-ad/index.d.mts +1 -31
- package/dist/components/biz/business/advertisement/feed-ad/index.mjs +1 -1
- package/dist/components/biz/business/advertisement/floating-ad/client.d.mts +4 -3
- package/dist/components/biz/business/advertisement/floating-ad/client.mjs +1 -1
- package/dist/components/biz/business/advertisement/floating-ad/index.d.mts +1 -1
- package/dist/components/biz/business/advertisement/floating-ad/material.d.mts +5 -0
- package/dist/components/biz/business/advertisement/floating-ad/schema.d.mts +21 -6
- package/dist/components/biz/business/advertisement/floating-ad/schema.mjs +1 -1
- package/dist/components/biz/business/advertisement/icon-ad/client.mjs +1 -1
- package/dist/components/biz/business/advertisement/icon-ad/material.d.mts +1 -1
- package/dist/components/biz/business/advertisement/icon-ad/material.mjs +1 -1
- package/dist/components/biz/business/advertisement/icon-ad/schema.d.mts +7 -1
- package/dist/components/biz/business/advertisement/icon-ad/schema.mjs +1 -1
- package/dist/components/biz/business/advertisement/index.d.mts +4 -4
- package/dist/components/biz/business/advertisement/popup-ad/client.mjs +2 -2
- package/dist/components/biz/business/advertisement/popup-ad/index.d.mts +1 -1
- package/dist/components/biz/business/advertisement/popup-ad/material.d.mts +2 -2
- package/dist/components/biz/business/advertisement/popup-ad/schema.d.mts +14 -15
- package/dist/components/biz/business/advertisement/popup-ad/schema.mjs +1 -1
- package/dist/components/biz/business/advertisement/text-ad/client.mjs +1 -1
- package/dist/components/biz/business/advertisement/text-ad/material.d.mts +1 -1
- package/dist/components/biz/business/advertisement/text-ad/material.mjs +1 -1
- package/dist/components/biz/business/advertisement/text-ad/schema.d.mts +5 -1
- package/dist/components/biz/business/advertisement/text-ad/schema.mjs +1 -1
- package/dist/components/biz/business/banner/variants/basic-banner/runtime/client.mjs +1 -1
- package/dist/components/biz/business/banner-carousel/client.d.mts +2 -1
- package/dist/components/biz/business/banner-carousel/client.mjs +1 -1
- package/dist/components/biz/business/banner-carousel/default-props.mjs +1 -1
- package/dist/components/biz/business/channel-list/client.mjs +1 -1
- package/dist/components/biz/business/channel-list/default-props.mjs +1 -1
- package/dist/components/biz/business/detail/shared/detail-operate.mjs +1 -1
- package/dist/components/biz/business/detail/shared/editor-preview.mjs +1 -1
- package/dist/components/biz/business/detail/video-detail-actions/client.mjs +1 -1
- package/dist/components/biz/business/detail/video-detail-info/client.mjs +1 -1
- package/dist/components/biz/business/detail/video-detail-recommend/client.d.mts +1 -13
- package/dist/components/biz/business/detail/video-detail-recommend/client.mjs +1 -1
- package/dist/components/biz/business/detail/video-detail-recommend/material.mjs +1 -1
- package/dist/components/biz/business/detail/video-detail-recommend/schema.mjs +1 -1
- package/dist/components/biz/business/detail/video-detail-recommend/shared.mjs +2 -0
- package/dist/components/biz/business/header-search/header-avatar-icon/client.mjs +1 -1
- package/dist/components/biz/business/header-search/header-avatar-logo-search/client.d.mts +1 -1
- package/dist/components/biz/business/header-search/header-avatar-logo-search/client.mjs +1 -1
- package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.d.mts +4 -3
- package/dist/components/biz/business/header-search/header-avatar-logo-search/schema.mjs +1 -1
- package/dist/components/biz/business/header-search/header-avatar-logo-search-icon/client.mjs +1 -1
- package/dist/components/biz/business/header-search/header-logo-search/client.mjs +1 -1
- package/dist/components/biz/business/header-search/header-search/client.mjs +1 -1
- package/dist/components/biz/business/header-search/shared/avatar.mjs +1 -1
- package/dist/components/biz/business/header-search/shared/header-action.mjs +2 -0
- package/dist/components/biz/business/header-search/shared/header-search-icon.mjs +2 -0
- package/dist/components/biz/business/header-search/shared/header-shell.mjs +2 -0
- package/dist/components/biz/business/header-search/shared/logo.mjs +1 -1
- package/dist/components/biz/business/header-search/shared/search.mjs +1 -1
- package/dist/components/biz/business/home-recommend/home-recommend-grid/inspector-schema.d.mts +0 -8
- package/dist/components/biz/business/home-recommend/home-recommend-grid/inspector-schema.mjs +1 -1
- package/dist/components/biz/business/home-recommend/home-recommend-grid/material.d.mts +0 -8
- package/dist/components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.d.mts +0 -8
- package/dist/components/biz/business/home-recommend/home-recommend-waterfall/inspector-schema.mjs +1 -1
- package/dist/components/biz/business/home-recommend/home-recommend-waterfall/material.d.mts +0 -8
- package/dist/components/biz/business/home-recommend/shared/home-recommend-base.mjs +1 -1
- package/dist/components/biz/business/home-recommend/shared/home-recommend-preview.mjs +1 -1
- package/dist/components/biz/business/hot-recommend/client.d.mts +17 -0
- package/dist/components/biz/business/hot-recommend/client.mjs +2 -0
- package/dist/components/biz/business/hot-recommend/index.d.mts +5 -0
- package/dist/components/biz/business/hot-recommend/material.d.mts +24 -0
- package/dist/components/biz/business/hot-recommend/material.mjs +2 -0
- package/dist/components/biz/business/hot-recommend/schema.d.mts +23 -0
- package/dist/components/biz/business/hot-recommend/schema.mjs +2 -0
- package/dist/components/biz/business/hot-recommend/server.d.mts +11 -0
- package/dist/components/biz/business/hot-recommend/server.mjs +2 -0
- package/dist/components/biz/business/index.d.mts +10 -5
- package/dist/components/biz/business/large-feature-grid/card-item.mjs +1 -1
- package/dist/components/biz/business/large-feature-grid/client.mjs +1 -1
- package/dist/components/biz/business/large-feature-grid/schema.mjs +1 -1
- package/dist/components/biz/business/marquee/client.mjs +1 -1
- package/dist/components/biz/business/marquee/marquee.module.mjs +2 -6
- package/dist/components/biz/business/nav-bar/variants/basic-nav-bar/runtime/client.mjs +1 -1
- package/dist/components/biz/business/profile/index.d.mts +1 -1
- package/dist/components/biz/business/profile/profile-header/client.d.mts +2 -1
- package/dist/components/biz/business/profile/profile-header/client.mjs +1 -1
- package/dist/components/biz/business/profile/profile-header/index.d.mts +1 -1
- package/dist/components/biz/business/profile/profile-header/user-profile-avatar.mjs +1 -1
- package/dist/components/biz/business/profile/profile-header/user-profile-cover-background.mjs +1 -1
- package/dist/components/biz/business/profile/profile-main/client.mjs +1 -1
- package/dist/components/biz/business/profile/profile-main/empty-state.mjs +2 -0
- package/dist/components/biz/business/profile/profile-main/shell.mjs +1 -1
- package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/client.mjs +1 -1
- package/dist/components/biz/business/profile/profile-main/tabs/collect-tab/video-waterfall.mjs +2 -0
- package/dist/components/biz/business/profile/profile-main/tabs/history-tab/client.mjs +1 -1
- package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.d.mts +5 -1
- package/dist/components/biz/business/profile/profile-main/tabs/like-tab/client.mjs +1 -1
- package/dist/components/biz/business/profile/profile-main/utils.mjs +1 -1
- package/dist/components/biz/business/ranking-recommend/client.d.mts +17 -0
- package/dist/components/biz/business/ranking-recommend/client.mjs +70 -0
- package/dist/components/biz/business/ranking-recommend/material.d.mts +35 -0
- package/dist/components/biz/business/ranking-recommend/material.mjs +2 -0
- package/dist/components/biz/business/ranking-recommend/schema.d.mts +35 -0
- package/dist/components/biz/business/ranking-recommend/schema.mjs +2 -0
- package/dist/components/biz/business/ranking-recommend/server.d.mts +11 -0
- package/dist/components/biz/business/ranking-recommend/server.mjs +2 -0
- package/dist/components/biz/business/ranking-recommend/shared/query.mjs +2 -0
- package/dist/components/biz/business/ranking-recommend/shared.d.mts +15 -0
- package/dist/components/biz/business/ranking-recommend/shared.mjs +2 -0
- package/dist/components/biz/business/search-history/client.mjs +1 -1
- package/dist/components/biz/business/search-history/schema.mjs +1 -1
- package/dist/components/biz/business/search-input/client.mjs +1 -1
- package/dist/components/biz/business/shortcut-grid/client.mjs +1 -1
- package/dist/components/biz/business/tab-bar/client.d.mts +0 -2
- package/dist/components/biz/business/tab-bar/client.mjs +1 -1
- package/dist/components/common/collection-popup/create-collection-sheet.d.mts +41 -0
- package/dist/components/common/collection-popup/create-collection-sheet.mjs +2 -0
- package/dist/components/common/collection-popup/index.d.mts +1 -0
- package/dist/components/common/collection-popup/index.mjs +1 -1
- package/dist/components/common/icons/setting.mjs +1 -1
- package/dist/components/common/list/collection-list/collection-list-item.d.mts +8 -0
- package/dist/components/common/list/collection-list/collection-list-item.mjs +1 -1
- package/dist/components/common/list/collection-list/collection-list.d.mts +6 -0
- package/dist/components/common/list/collection-list/collection-list.mjs +1 -1
- package/dist/components/common/list/collection-list/collection-select-icon.mjs +2 -0
- package/dist/components/common/list/waterfall-recommend/index.d.mts +2 -0
- package/dist/components/common/list/waterfall-recommend/waterfall-recommend.d.mts +116 -0
- package/dist/components/common/list/waterfall-recommend/waterfall-recommend.mjs +2 -0
- package/dist/components/common/series-episodes/index.d.mts +3 -1
- package/dist/components/common/series-episodes/index.mjs +1 -1
- package/dist/components/common/tab-bar/index.mjs +1 -1
- package/dist/components/pages/collection-detail/_components/collection-detail-video-card.mjs +2 -0
- package/dist/components/pages/collection-detail/detail.mjs +1 -1
- package/dist/components/pages/edit/page.mjs +1 -1
- package/dist/components/pages/feedback/_components/feedback-form.mjs +1 -1
- package/dist/components/pages/home/client.mjs +1 -1
- package/dist/components/pages/login/auth-page-styles.mjs +6 -0
- package/dist/components/pages/login/forgot.mjs +1 -1
- package/dist/components/pages/login/login-client.mjs +1 -1
- package/dist/components/pages/login/register.mjs +1 -1
- package/dist/components/pages/login/verify.mjs +1 -4
- package/dist/components/pages/publish/components/collection.mjs +1 -1
- package/dist/components/pages/search/page-client.mjs +1 -1
- package/dist/components/pages/search/search-result/index.mjs +1 -1
- package/dist/components/pages/search/search-result/search-all.mjs +1 -1
- package/dist/components/pages/search/search-result/search-user.mjs +1 -1
- package/dist/components/pages/search/search-result/search-video-info.mjs +1 -1
- package/dist/components/pages/search/search-result/shared.mjs +2 -0
- package/dist/components/pages/search/top-header.mjs +1 -1
- package/dist/components/pages/search-result/page-client.mjs +1 -1
- package/dist/components/pages/search-result/search-all.mjs +1 -1
- package/dist/components/pages/search-result/search-empty.mjs +2 -0
- package/dist/components/pages/search-result/search-tab.mjs +1 -1
- package/dist/components/pages/search-result/search-user.mjs +1 -1
- package/dist/components/pages/search-result/search-video-info.mjs +2 -0
- package/dist/components/pages/search-result/shared.mjs +2 -0
- package/dist/components/pages/search-result/top-header.mjs +2 -0
- package/dist/components/pages/settings/_components/reset-password-drawer.mjs +1 -4
- package/dist/components/pages/settings/_components/settings.mjs +1 -1
- package/dist/components/pages/user-follow/_components/follow-no-login.mjs +1 -1
- package/dist/components/pages/video-list/video-list-client.mjs +1 -1
- package/dist/components/pages/video-list/video-list-recommend-item.mjs +2 -0
- package/dist/components/pages/video-list/video-list-skeleton.d.mts +2 -3
- package/dist/components/pages/video-list/video-list-skeleton.mjs +1 -1
- package/dist/components/ui/badge.d.mts +1 -1
- package/dist/components/ui/box.d.mts +1 -1
- package/dist/components/ui/button.d.mts +2 -2
- package/dist/components/ui/empty.d.mts +1 -1
- package/dist/components/ui/item.d.mts +1 -1
- package/dist/i18n/locales/en.mjs +2 -2
- package/dist/i18n/locales/zh-CN.mjs +2 -2
- package/dist/materials.d.mts +3 -1
- package/dist/materials.mjs +1 -1
- package/dist/service/generated/client.d.mts +38 -2
- package/dist/service/generated/client.mjs +1 -1
- package/dist/service/generated/tanstack.d.mts +47 -2
- package/dist/service/generated/tanstack.mjs +1 -1
- package/dist/service.d.mts +3 -3
- package/dist/service.mjs +1 -1
- package/dist/theme-tokens.d.mts +9 -0
- package/dist/theme-tokens.mjs +2 -0
- package/dist/types.d.mts +662 -9
- package/dist/utils/email-validator.d.mts +8 -0
- package/dist/utils/email-validator.mjs +2 -0
- package/dist/utils/helper.d.mts +1 -1
- package/dist/utils/helper.mjs +1 -1
- package/dist/utils/schema/inspector.d.mts +2 -2
- package/dist/utils.d.mts +2 -1
- package/dist/utils.mjs +1 -1
- package/package.json +7 -2
- package/theme.css +172 -59
- package/dist/assets/icons/detail/collect_nor.mjs +0 -2
- package/dist/assets/icons/detail/collect_sel.mjs +0 -2
- package/dist/assets/icons/detail/share.mjs +0 -2
- package/dist/assets/icons/marquee-enter.mjs +0 -2
- package/dist/assets/icons/right_arrow.mjs +0 -2
- package/dist/assets/icons/search/avatar.mjs +0 -2
- package/dist/assets/images/marquee.mjs +0 -2
- package/dist/components/biz/business/detail/shared/detail-introduction.mjs +0 -2
- package/dist/components/common/collection-popup/collection-create-modal.mjs +0 -2
- package/dist/components/common/skeleton/search-video-card-skeleton.mjs +0 -2
- package/dist/components/pages/search/search-utils.mjs +0 -2
- package/dist/components/pages/search-result/search-result-skeleton.mjs +0 -2
- package/dist/components/pages/search-result/search-video.mjs +0 -2
- package/dist/components/pages/video-list/video-list-item.mjs +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
|
|
2
|
+
const e=new Set(`com.cn.net.org.edu.gov.mil.int.info.biz.name.mobi.asia.cc.tv.me.vip.top.xyz.club.shop.store.online.site.live.tech.app.dev.io.ai.pro.email`.split(`.`)),t=new Set([`com.cn`,`net.cn`,`org.cn`,`gov.cn`,`edu.cn`,`com.hk`,`com.tw`,`com.au`,`co.uk`,`org.uk`,`ac.uk`,`co.jp`]),n=/^[\w.%+-]+$/,r=/^[A-Z0-9-]+$/i,i=/^[A-Z]{2,24}$/i;function a(e){if(e.length<2)return null;let n=e.slice(-2).join(`.`).toLowerCase();if(t.has(n)){let t=e.at(-3);return t?{suffix:n,registrableDomainLabel:t}:null}let r=e.at(-1)?.toLowerCase(),i=e.at(-2);return!r||!i?null:{suffix:r,registrableDomainLabel:i}}function o(o){let s=o.trim();if(!s||s.length>254)return!1;let c=s.split(`@`);if(c.length!==2)return!1;let[l,u]=c;if(!l||!u||l.length>64||!n.test(l)||l.startsWith(`.`)||l.endsWith(`.`)||l.includes(`..`))return!1;let d=u.split(`.`);if(d.length<2||d.some(e=>!e||e.length>63||!r.test(e)?!0:e.startsWith(`-`)||e.endsWith(`-`)))return!1;let f=a(d);if(!f)return!1;let{suffix:p,registrableDomainLabel:m}=f;if(!(t.has(p)||e.has(p)))return!1;let h=p.split(`.`).at(-1)??``;return!(!i.test(h)||/^\d+$/.test(m)&&m.length<3)}export{o as isValidEmail};
|
package/dist/utils/helper.d.mts
CHANGED
package/dist/utils/helper.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
|
|
2
|
-
function e(e){return`${(e/
|
|
2
|
+
function e(e){return`${(e/390*100).toFixed(3)}vw`}function t(e){if(e)return e.trim()||void 0}function n(){typeof document<`u`&&(document.body.style.overflow=`hidden`)}function r(){typeof document<`u`&&(document.body.style.overflow=``)}export{n as disablePageScroll,r as enablePageScroll,t as normalizeClassName,e as pxToVw};
|
|
@@ -6,10 +6,10 @@ type InspectorFieldOption<T> = Omit<T, 'type'>;
|
|
|
6
6
|
declare const stringInspectorFieldSchema: z.ZodObject<{
|
|
7
7
|
type: z.ZodLiteral<"string">;
|
|
8
8
|
fieldType: z.ZodOptional<z.ZodEnum<{
|
|
9
|
+
select: "select";
|
|
9
10
|
input: "input";
|
|
10
11
|
textarea: "textarea";
|
|
11
12
|
color: "color";
|
|
12
|
-
select: "select";
|
|
13
13
|
}>>;
|
|
14
14
|
defaultValue: z.ZodOptional<z.ZodString>;
|
|
15
15
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -68,10 +68,10 @@ type ObjectInspectorFieldOption = InspectorFieldOption<z.infer<typeof objectInsp
|
|
|
68
68
|
declare const componentInspectorFieldMetaSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
69
69
|
type: z.ZodLiteral<"string">;
|
|
70
70
|
fieldType: z.ZodOptional<z.ZodEnum<{
|
|
71
|
+
select: "select";
|
|
71
72
|
input: "input";
|
|
72
73
|
textarea: "textarea";
|
|
73
74
|
color: "color";
|
|
74
|
-
select: "select";
|
|
75
75
|
}>>;
|
|
76
76
|
defaultValue: z.ZodOptional<z.ZodString>;
|
|
77
77
|
label: z.ZodOptional<z.ZodString>;
|
package/dist/utils.d.mts
CHANGED
|
@@ -4,6 +4,7 @@ import { cn } from "./utils/cn.mjs";
|
|
|
4
4
|
import { debounceFun, formatVideoDuration, generateDynamicSign, generateUUID, getAtUserElement, getCookie, getCurrentSecondTime, getUserId, hashPassword, isClient, isMobileDevice, numToString, parseResolution, parseTextAtUserIds, randomString, removeCookie, replaceAtUserElement, replaceAtUserElementHtmlStr, secondToTime, setCookie, stringToNumber, stripHtmlTags, updateUrlParams } from "./utils/common.mjs";
|
|
5
5
|
import { decryptImageToArrayBuffer, decryptImageToUint8Array, decryptImageUrl, guessImageContentTypeFromUrl, isEncryptedImageUrl, resolveImageUrl, shouldProbeImageUrl, shouldUseApiResDirectly } from "./utils/decrypt-image-client.mjs";
|
|
6
6
|
import { getOrCreateDeviceId } from "./utils/device-id.mjs";
|
|
7
|
+
import { isValidEmail } from "./utils/email-validator.mjs";
|
|
7
8
|
import { eventBus } from "./utils/event-bus.mjs";
|
|
8
9
|
import { checkFollowStatus, followUser, getAppId, getCurrentUserId, unfollowUser } from "./utils/follow-service.mjs";
|
|
9
10
|
import { getResUrl } from "./utils/get-res-url.mjs";
|
|
@@ -21,4 +22,4 @@ import { PresignedUploadInfo, UploadToS3Options, UploadToS3Result, uploadToS3Wit
|
|
|
21
22
|
import { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToNumberArray } from "./utils/uint8.mjs";
|
|
22
23
|
import { UploadFileResult, encryptBncBuffer, uploadFile } from "./utils/upload-file.mjs";
|
|
23
24
|
import { CompatibleRouter, useRouter } from "./utils/use-compatible-router.mjs";
|
|
24
|
-
export { CompatibleRouter, ComponentPropsSchemaBuilderHelpers, DefineMaterialOption, eventBus as EventBus, HttpClient, HttpError, INSPECTOR_META_KEY, ImageCompressionQualityRule, InferSchemaProps, MaterialCategory, MaterialComponentMode, MaterialComponentProps, MaterialMap, OverwriteMaterialOption, PASSWORD_ALLOWED_SPECIAL_CHARS, PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, PasswordValidationResult, PasswordValidationType, PresignedUploadInfo, RequestConfig, RequestMethod, ResponseData, SchemaHasDefaultValue, UploadFileResult, UploadToS3Options, UploadToS3Result, array, base64ToUint8Array, boolean, checkFollowStatus, clearMyChannelsFromStorage, cn, components, compressImage, createInputAndSelectFile, datetime, debounceFun, decryptImageToArrayBuffer, decryptImageToUint8Array, decryptImageUrl, defaultImageCompressionMaxSizeMB, defaultImageCompressionQuality, defineComponentPropsSchema, defineMaterial, disablePageScroll, enablePageScroll, encryptBncBuffer, enumSchema as enum, enumSchema, followUser, formatVideoDuration, generateDynamicSign, generateMaterialMap, generateMaterialMapGroupByCategory, generateUUID, getAppId, getAtUserElement, getCookie, getCoverImage, getCurrentSecondTime, getCurrentUserId, getFirstInvalidPasswordChar, getImageCompressionQuality, getImageResolutionFromFile, getOrCreateDeviceId, getPasswordCharacterTypeCount, getPasswordValidationErrorText, getResUrl, getSchemaDefaultProps, getUserId, guessImageContentTypeFromUrl, hashPassword, httpClient, imageCompressionQualityRules, isClient, isEncryptedImageUrl, isMobileDevice, loadComponent, loadHiddenChannelIdsFromStorage, loadMyChannelsFromStorage, normalizeClassName, numToString, number, object, overwriteMaterial, parseResolution, parseTextAtUserIds, pxToVw, randomString, removeCookie, replaceAtUserElement, replaceAtUserElementHtmlStr, resolveImageUrl, rewriteComponent, saveHiddenChannelIdsToStorage, secondToTime, setCookie, shouldProbeImageUrl, shouldUseApiResDirectly, string, stringToNumber, stripHtmlTags, timeRange, uint8ArrayToBase64, uint8ArrayToNumberArray, unfollowUser, updateUrlParams, uploadFile, uploadToS3WithPresignedUrl, useRouter, validatePasswordPair, withInspectorMeta };
|
|
25
|
+
export { CompatibleRouter, ComponentPropsSchemaBuilderHelpers, DefineMaterialOption, eventBus as EventBus, HttpClient, HttpError, INSPECTOR_META_KEY, ImageCompressionQualityRule, InferSchemaProps, MaterialCategory, MaterialComponentMode, MaterialComponentProps, MaterialMap, OverwriteMaterialOption, PASSWORD_ALLOWED_SPECIAL_CHARS, PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, PasswordValidationResult, PasswordValidationType, PresignedUploadInfo, RequestConfig, RequestMethod, ResponseData, SchemaHasDefaultValue, UploadFileResult, UploadToS3Options, UploadToS3Result, array, base64ToUint8Array, boolean, checkFollowStatus, clearMyChannelsFromStorage, cn, components, compressImage, createInputAndSelectFile, datetime, debounceFun, decryptImageToArrayBuffer, decryptImageToUint8Array, decryptImageUrl, defaultImageCompressionMaxSizeMB, defaultImageCompressionQuality, defineComponentPropsSchema, defineMaterial, disablePageScroll, enablePageScroll, encryptBncBuffer, enumSchema as enum, enumSchema, followUser, formatVideoDuration, generateDynamicSign, generateMaterialMap, generateMaterialMapGroupByCategory, generateUUID, getAppId, getAtUserElement, getCookie, getCoverImage, getCurrentSecondTime, getCurrentUserId, getFirstInvalidPasswordChar, getImageCompressionQuality, getImageResolutionFromFile, getOrCreateDeviceId, getPasswordCharacterTypeCount, getPasswordValidationErrorText, getResUrl, getSchemaDefaultProps, getUserId, guessImageContentTypeFromUrl, hashPassword, httpClient, imageCompressionQualityRules, isClient, isEncryptedImageUrl, isMobileDevice, isValidEmail, loadComponent, loadHiddenChannelIdsFromStorage, loadMyChannelsFromStorage, normalizeClassName, numToString, number, object, overwriteMaterial, parseResolution, parseTextAtUserIds, pxToVw, randomString, removeCookie, replaceAtUserElement, replaceAtUserElementHtmlStr, resolveImageUrl, rewriteComponent, saveHiddenChannelIdsToStorage, secondToTime, setCookie, shouldProbeImageUrl, shouldUseApiResDirectly, string, stringToNumber, stripHtmlTags, timeRange, uint8ArrayToBase64, uint8ArrayToNumberArray, unfollowUser, updateUrlParams, uploadFile, uploadToS3WithPresignedUrl, useRouter, validatePasswordPair, withInspectorMeta };
|
package/dist/utils.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
|
|
2
|
-
import{cn as e}from"./utils/cn.mjs";import{clearMyChannelsFromStorage as t,loadHiddenChannelIdsFromStorage as ee,loadMyChannelsFromStorage as n,saveHiddenChannelIdsToStorage as r}from"./utils/channel-storage.mjs";import{debounceFun as i,formatVideoDuration as a,generateDynamicSign as o,generateUUID as s,getAtUserElement as c,getCookie as l,getCurrentSecondTime as u,getUserId as d,hashPassword as f,isClient as p,isMobileDevice as m,numToString as h,parseResolution as g,parseTextAtUserIds as _,randomString as v,removeCookie as y,replaceAtUserElement as b,replaceAtUserElementHtmlStr as x,secondToTime as S,setCookie as C,stringToNumber as w,stripHtmlTags as T,updateUrlParams as E}from"./utils/common.mjs";import D from"./utils/get-res-url.mjs";import{decryptImageToArrayBuffer as O,decryptImageToUint8Array as k,decryptImageUrl as A,guessImageContentTypeFromUrl as j,isEncryptedImageUrl as M,resolveImageUrl as N,shouldProbeImageUrl as P,shouldUseApiResDirectly as F}from"./utils/decrypt-image-client.mjs";import{getOrCreateDeviceId as I}from"./utils/device-id.mjs";import L from"./utils/event-bus.mjs";import
|
|
2
|
+
import{cn as e}from"./utils/cn.mjs";import{clearMyChannelsFromStorage as t,loadHiddenChannelIdsFromStorage as ee,loadMyChannelsFromStorage as n,saveHiddenChannelIdsToStorage as r}from"./utils/channel-storage.mjs";import{debounceFun as i,formatVideoDuration as a,generateDynamicSign as o,generateUUID as s,getAtUserElement as c,getCookie as l,getCurrentSecondTime as u,getUserId as d,hashPassword as f,isClient as p,isMobileDevice as m,numToString as h,parseResolution as g,parseTextAtUserIds as _,randomString as v,removeCookie as y,replaceAtUserElement as b,replaceAtUserElementHtmlStr as x,secondToTime as S,setCookie as C,stringToNumber as w,stripHtmlTags as T,updateUrlParams as E}from"./utils/common.mjs";import D from"./utils/get-res-url.mjs";import{decryptImageToArrayBuffer as O,decryptImageToUint8Array as k,decryptImageUrl as A,guessImageContentTypeFromUrl as j,isEncryptedImageUrl as M,resolveImageUrl as N,shouldProbeImageUrl as P,shouldUseApiResDirectly as F}from"./utils/decrypt-image-client.mjs";import{getOrCreateDeviceId as I}from"./utils/device-id.mjs";import{isValidEmail as L}from"./utils/email-validator.mjs";import R from"./utils/event-bus.mjs";import z,{HttpClient as B,HttpError as V}from"./utils/http.mjs";import{checkFollowStatus as H,followUser as U,getAppId as W,getCurrentUserId as G,unfollowUser as K}from"./utils/follow-service.mjs";import{disablePageScroll as q,enablePageScroll as J,normalizeClassName as te,pxToVw as Y}from"./utils/helper.mjs";import{compressImage as X,defaultImageCompressionMaxSizeMB as Z,defaultImageCompressionQuality as Q,getImageCompressionQuality as ne,imageCompressionQualityRules as re}from"./utils/image-compression.mjs";import{components as ie,loadComponent as ae,rewriteComponent as oe}from"./utils/loaders.mjs";import{createInputAndSelectFile as se,getCoverImage as ce,getImageResolutionFromFile as le}from"./utils/media.mjs";import{PASSWORD_ALLOWED_SPECIAL_CHARS as ue,PASSWORD_MAX_LENGTH as de,PASSWORD_MIN_LENGTH as fe,getFirstInvalidPasswordChar as pe,getPasswordCharacterTypeCount as me,getPasswordValidationErrorText as he,validatePasswordPair as ge}from"./utils/password-validator.mjs";import{uploadToS3WithPresignedUrl as _e}from"./utils/s3-uploader.mjs";import{defineMaterial as ve,overwriteMaterial as ye}from"./utils/schema/material.mjs";import{INSPECTOR_META_KEY as be,array as xe,boolean as Se,datetime as Ce,defineComponentPropsSchema as we,enumSchema as $,getSchemaDefaultProps as Te,number as Ee,object as De,string as Oe,timeRange as ke,withInspectorMeta as Ae}from"./utils/schema/schema.mjs";import{generateMaterialMap as je,generateMaterialMapGroupByCategory as Me}from"./utils/schema/utils.mjs";import{base64ToUint8Array as Ne,uint8ArrayToBase64 as Pe,uint8ArrayToNumberArray as Fe}from"./utils/uint8.mjs";import{encryptBncBuffer as Ie,uploadFile as Le}from"./utils/upload-file.mjs";import{useRouter as Re}from"./utils/use-compatible-router.mjs";export{R as EventBus,B as HttpClient,V as HttpError,be as INSPECTOR_META_KEY,ue as PASSWORD_ALLOWED_SPECIAL_CHARS,de as PASSWORD_MAX_LENGTH,fe as PASSWORD_MIN_LENGTH,xe as array,Ne as base64ToUint8Array,Se as boolean,H as checkFollowStatus,t as clearMyChannelsFromStorage,e as cn,ie as components,X as compressImage,se as createInputAndSelectFile,Ce as datetime,i as debounceFun,O as decryptImageToArrayBuffer,k as decryptImageToUint8Array,A as decryptImageUrl,Z as defaultImageCompressionMaxSizeMB,Q as defaultImageCompressionQuality,we as defineComponentPropsSchema,ve as defineMaterial,q as disablePageScroll,J as enablePageScroll,Ie as encryptBncBuffer,$ as enum,$ as enumSchema,U as followUser,a as formatVideoDuration,o as generateDynamicSign,je as generateMaterialMap,Me as generateMaterialMapGroupByCategory,s as generateUUID,W as getAppId,c as getAtUserElement,l as getCookie,ce as getCoverImage,u as getCurrentSecondTime,G as getCurrentUserId,pe as getFirstInvalidPasswordChar,ne as getImageCompressionQuality,le as getImageResolutionFromFile,I as getOrCreateDeviceId,me as getPasswordCharacterTypeCount,he as getPasswordValidationErrorText,D as getResUrl,Te as getSchemaDefaultProps,d as getUserId,j as guessImageContentTypeFromUrl,f as hashPassword,z as httpClient,re as imageCompressionQualityRules,p as isClient,M as isEncryptedImageUrl,m as isMobileDevice,L as isValidEmail,ae as loadComponent,ee as loadHiddenChannelIdsFromStorage,n as loadMyChannelsFromStorage,te as normalizeClassName,h as numToString,Ee as number,De as object,ye as overwriteMaterial,g as parseResolution,_ as parseTextAtUserIds,Y as pxToVw,v as randomString,y as removeCookie,b as replaceAtUserElement,x as replaceAtUserElementHtmlStr,N as resolveImageUrl,oe as rewriteComponent,r as saveHiddenChannelIdsToStorage,S as secondToTime,C as setCookie,P as shouldProbeImageUrl,F as shouldUseApiResDirectly,Oe as string,w as stringToNumber,T as stripHtmlTags,ke as timeRange,Pe as uint8ArrayToBase64,Fe as uint8ArrayToNumberArray,K as unfollowUser,E as updateUrlParams,Le as uploadFile,_e as uploadToS3WithPresignedUrl,Re as useRouter,ge as validatePasswordPair,Ae as withInspectorMeta};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@funhub/platform",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.7",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": [
|
|
7
7
|
"**/*.css"
|
|
@@ -55,6 +55,10 @@
|
|
|
55
55
|
"types": "./dist/i18n.d.mts",
|
|
56
56
|
"import": "./dist/i18n.mjs"
|
|
57
57
|
},
|
|
58
|
+
"./theme-tokens": {
|
|
59
|
+
"types": "./dist/theme-tokens.d.mts",
|
|
60
|
+
"import": "./dist/theme-tokens.mjs"
|
|
61
|
+
},
|
|
58
62
|
"./config/tailwind": {
|
|
59
63
|
"types": "./config/tailwind/index.d.ts",
|
|
60
64
|
"import": "./config/tailwind/index.mjs",
|
|
@@ -132,7 +136,8 @@
|
|
|
132
136
|
"scripts": {
|
|
133
137
|
"dev:web": "next dev",
|
|
134
138
|
"build:web": "next build",
|
|
135
|
-
"
|
|
139
|
+
"gen:theme-tokens": "node scripts/generate-theme-tokens.mjs",
|
|
140
|
+
"prebuild": "pnpm gen:theme-tokens && pnpm i18n:build",
|
|
136
141
|
"build": "cross-env TSDOWN_ENV=production tsdown",
|
|
137
142
|
"predev": "pnpm i18n:build",
|
|
138
143
|
"dev": "node scripts/dev-with-i18n-watch.mjs",
|
package/theme.css
CHANGED
|
@@ -1,24 +1,137 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--tab-bar-height: 56px;
|
|
3
|
-
|
|
4
|
-
--
|
|
5
|
-
--
|
|
6
|
-
|
|
7
|
-
--color-
|
|
8
|
-
--color-
|
|
9
|
-
--color-
|
|
10
|
-
--color-
|
|
11
|
-
--color-
|
|
12
|
-
--color-
|
|
13
|
-
--color-
|
|
14
|
-
--color-
|
|
15
|
-
--color-
|
|
16
|
-
--color-
|
|
17
|
-
--color-
|
|
18
|
-
--color-
|
|
19
|
-
--color-
|
|
20
|
-
|
|
21
|
-
--color-
|
|
3
|
+
--tab-bar-top-gap: 8px;
|
|
4
|
+
--tab-bar-safe-area-bottom: max(env(safe-area-inset-bottom, 0px), 8px);
|
|
5
|
+
--tab-bar-occupied-height: calc(var(--tab-bar-height) + var(--tab-bar-safe-area-bottom));
|
|
6
|
+
/* app-v1 全量语义变量(Figma 定稿节点聚合) */
|
|
7
|
+
--color-brand-primary: #c043e8;
|
|
8
|
+
--color-brand-accent-purple: #9012ff;
|
|
9
|
+
--color-brand-tag-gradient-start: #ca3fe9;
|
|
10
|
+
--color-brand-tag-gradient-end: #9756e3;
|
|
11
|
+
--color-brand-action-gradient-end: #6c43ee;
|
|
12
|
+
--color-brand-rating: #ffc039;
|
|
13
|
+
--color-brand-hot-ranking: #c922ef;
|
|
14
|
+
--color-brand-link: #9054e5;
|
|
15
|
+
--color-text-primary: #ffffff;
|
|
16
|
+
--color-text-secondary: rgba(255, 255, 255, 0.9);
|
|
17
|
+
--color-text-white80: rgba(255, 255, 255, 0.8);
|
|
18
|
+
--color-text-tertiary: rgba(255, 255, 255, 0.6);
|
|
19
|
+
--color-text-quaternary: rgba(255, 255, 255, 0.5);
|
|
20
|
+
--color-text-dimmed: rgba(255, 255, 255, 0.7);
|
|
21
|
+
--color-text-disabled: rgba(255, 255, 255, 0.3);
|
|
22
|
+
--color-text-inactive: #bfbfbf;
|
|
23
|
+
--color-text-muted: #747474;
|
|
24
|
+
--color-surface-tab-bg: #121212;
|
|
25
|
+
--color-surface-card-fallback: #282129;
|
|
26
|
+
--color-surface-chip-bg: #1b1b1b;
|
|
27
|
+
--color-surface-chip-gray20: rgba(217, 217, 217, 0.2);
|
|
28
|
+
--color-surface-white20: rgba(255, 255, 255, 0.2);
|
|
29
|
+
--color-surface-white10: rgba(255, 255, 255, 0.1);
|
|
30
|
+
--color-surface-mask-black40: rgba(0, 0, 0, 0.4);
|
|
31
|
+
--color-surface-mask-black60: rgba(0, 0, 0, 0.6);
|
|
32
|
+
--color-surface-panel-dark: #060315;
|
|
33
|
+
--color-surface-field-bg: rgba(173, 163, 191, 0.1);
|
|
34
|
+
--color-border-search-highlight: rgba(230, 42, 255, 0.9);
|
|
35
|
+
--color-border-panel-glow: rgba(219, 55, 255, 0.4);
|
|
36
|
+
--color-border-danger: #ff1eff;
|
|
37
|
+
/** 验证码输入错误态:边框、格内数字、提示文案 */
|
|
38
|
+
--color-verification-error: #c40000;
|
|
39
|
+
--color-border-required: rgba(255, 0, 0, 0.7);
|
|
40
|
+
--color-neutral-black: #000000;
|
|
41
|
+
--color-neutral-white: #ffffff;
|
|
42
|
+
--color-overlay-mask-start: rgba(8, 2, 17, 0);
|
|
43
|
+
--color-overlay-mask-end70: rgba(8, 2, 17, 0.7);
|
|
44
|
+
--color-overlay-mask-end80: rgba(8, 2, 17, 0.8);
|
|
45
|
+
--color-overlay-top-bar-black30: rgba(0, 0, 0, 0.3);
|
|
46
|
+
--color-overlay-create-top-black50: rgba(0, 0, 0, 0.5);
|
|
47
|
+
--color-overlay-create-mid-purple27: rgba(116, 18, 131, 0.27);
|
|
48
|
+
--color-overlay-create-bottom-purple0: rgba(75, 24, 87, 0);
|
|
49
|
+
--color-overlay-panel-fade-start90: rgba(6, 3, 21, 0.9);
|
|
50
|
+
--color-overlay-panel-fade-end0: rgba(6, 3, 21, 0);
|
|
51
|
+
--gradient-brand-tag: linear-gradient(90deg, #ca3fe9 0%, #9756e3 100%);
|
|
52
|
+
--gradient-action-button: linear-gradient(90deg, #9756e3 0%, #6c43ee 100%);
|
|
53
|
+
--gradient-card-mask-strong: linear-gradient(180deg, rgba(8, 2, 17, 0) 28.624%, rgba(8, 2, 17, 0.8) 77.695%);
|
|
54
|
+
--gradient-card-mask-medium: linear-gradient(180deg, rgba(8, 2, 17, 0) 46.087%, rgba(8, 2, 17, 0.7) 83.152%);
|
|
55
|
+
--gradient-card-mask-light: linear-gradient(180deg, rgba(8, 2, 17, 0) 44.638%, rgba(8, 2, 17, 0.7) 82.699%);
|
|
56
|
+
--gradient-detail-hero-blur: linear-gradient(180deg, rgba(8, 2, 17, 0) 41.303%, rgba(8, 2, 17, 0.7) 61.091%);
|
|
57
|
+
--gradient-search-panel-fade: linear-gradient(180deg, rgba(6, 3, 21, 0.9) 19.905%, rgba(6, 3, 21, 0) 100%);
|
|
58
|
+
--gradient-search-hot-card: linear-gradient(180deg, rgba(151, 86, 227, 0.4) 21.144%, rgba(151, 86, 227, 0) 87.065%);
|
|
59
|
+
--gradient-create-overlay: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(116, 18, 131, 0.27) 28.215%, rgba(75, 24, 87, 0) 100%);
|
|
60
|
+
--font-family-sans: 'PingFang SC';
|
|
61
|
+
--font-family-numeric: 'DIN';
|
|
62
|
+
--font-family-numeric-black: 'DIN_Black';
|
|
63
|
+
--font-sans: var(--font-family-sans);
|
|
64
|
+
--font-mono: var(--font-family-numeric);
|
|
65
|
+
--font-size-xs: 10px;
|
|
66
|
+
--font-size-sm: 12px;
|
|
67
|
+
--font-size-md: 14px;
|
|
68
|
+
--font-size-status: 15px;
|
|
69
|
+
--font-size-base: 16px;
|
|
70
|
+
--font-size-lg: 18px;
|
|
71
|
+
--font-size-xl: 20px;
|
|
72
|
+
--line-height-xs: 14px;
|
|
73
|
+
--line-height-sm: 14px;
|
|
74
|
+
--line-height-tight: 16px;
|
|
75
|
+
--line-height-md: 20px;
|
|
76
|
+
--line-height-status: 22px;
|
|
77
|
+
--line-height-base: 24px;
|
|
78
|
+
--line-height-lg: 24px;
|
|
79
|
+
--font-weight-regular: 400;
|
|
80
|
+
--font-weight-medium: 500;
|
|
81
|
+
--font-weight-semibold: 600;
|
|
82
|
+
--font-weight-bold: 700;
|
|
83
|
+
--radius-sm: 4px;
|
|
84
|
+
--radius-md: 8px;
|
|
85
|
+
--radius-lg: 12px;
|
|
86
|
+
--radius-xl: 16px;
|
|
87
|
+
--radius-sheet: 24px;
|
|
88
|
+
--radius-pill: 100px;
|
|
89
|
+
--effect-backdrop-blur-card-mask: 2px;
|
|
90
|
+
--effect-backdrop-blur-card-mask-lite: 1.5px;
|
|
91
|
+
--effect-backdrop-blur-detail-hero: 4px;
|
|
92
|
+
--effect-backdrop-blur-modal-sheet: 50px;
|
|
93
|
+
--color-cover-text-primary: #ffffff;
|
|
94
|
+
--color-cover-text-secondary: #747474;
|
|
95
|
+
--color-cover-gray-11: #121212;
|
|
96
|
+
--color-cover-gray-6: #d9d9d9;
|
|
97
|
+
--color-cover-light-gray-6: #e0e0e0;
|
|
98
|
+
--color-cover-surface-dark: #1b1b1b;
|
|
99
|
+
--color-cover-gray11: var(--color-cover-gray-11);
|
|
100
|
+
--color-cover-gray6: var(--color-cover-gray-6);
|
|
101
|
+
--color-cover-light-gray6: var(--color-cover-light-gray-6);
|
|
102
|
+
--gradient-cover-overlay: linear-gradient(158.6385deg, #000000 14.614%, rgba(18, 18, 18, 0.1) 50.185%);
|
|
103
|
+
--gradient-cover-cover-overlay: var(--gradient-cover-overlay);
|
|
104
|
+
--font-family-cover-latin: 'Inter';
|
|
105
|
+
--font-family-cover-zh: 'PingFang SC';
|
|
106
|
+
--font-family-cover-numeric: 'Poppins';
|
|
107
|
+
--font-size-cover-16: 16px;
|
|
108
|
+
--font-size-cover-28: 28px;
|
|
109
|
+
--font-size-cover-36: 36px;
|
|
110
|
+
--font-size-cover-48: 48px;
|
|
111
|
+
--font-size-cover-64: 64px;
|
|
112
|
+
--font-size-cover-80: 80px;
|
|
113
|
+
--font-size-cover-110: 110px;
|
|
114
|
+
--font-size-cover-140: 140px;
|
|
115
|
+
|
|
116
|
+
/* 默认是白天模式的颜色(旧变量别名,兼容历史引用) */
|
|
117
|
+
--color-bg1: var(--color-surface-tab-bg);
|
|
118
|
+
--color-bg2: var(--color-surface-chip-bg);
|
|
119
|
+
--color-bg3: var(--color-surface-card-fallback);
|
|
120
|
+
--color-bg4: var(--color-surface-white20);
|
|
121
|
+
--color-text1: var(--color-text-primary);
|
|
122
|
+
--color-text2: var(--color-text-secondary);
|
|
123
|
+
--color-text3: var(--color-text-tertiary);
|
|
124
|
+
--color-text4: var(--color-brand-primary);
|
|
125
|
+
--color-line1: var(--color-surface-chip-gray20);
|
|
126
|
+
--color-line2: var(--color-border-panel-glow);
|
|
127
|
+
--color-theme1: var(--color-brand-accent-purple);
|
|
128
|
+
--color-theme2: var(--gradient-action-button);
|
|
129
|
+
--color-theme3: var(--color-surface-chip-gray20);
|
|
130
|
+
--color-theme4: var(--color-brand-link);
|
|
131
|
+
--color-theme5: var(--color-brand-primary);
|
|
132
|
+
--color-theme6: var(--color-brand-tag-gradient-start);
|
|
133
|
+
/** 叠层色:兼容旧变量,映射到新遮罩层级 */
|
|
134
|
+
--color-overlay: var(--color-overlay-mask-end70);
|
|
22
135
|
|
|
23
136
|
/* shadcn/ui */
|
|
24
137
|
--background: oklch(1 0 0);
|
|
@@ -27,8 +140,8 @@
|
|
|
27
140
|
--card-foreground: oklch(0.145 0 0);
|
|
28
141
|
--popover: oklch(1 0 0);
|
|
29
142
|
--popover-foreground: oklch(0.145 0 0);
|
|
30
|
-
--primary:
|
|
31
|
-
--primary-foreground:
|
|
143
|
+
--primary: var(--color-brand-primary);
|
|
144
|
+
--primary-foreground: #ffffff;
|
|
32
145
|
--secondary: oklch(0.967 0.001 286.375);
|
|
33
146
|
--secondary-foreground: oklch(0.21 0.006 285.885);
|
|
34
147
|
--muted: oklch(0.97 0 0);
|
|
@@ -38,43 +151,43 @@
|
|
|
38
151
|
--destructive: oklch(0.58 0.22 27);
|
|
39
152
|
--border: oklch(0.922 0 0);
|
|
40
153
|
--input: oklch(0.922 0 0);
|
|
41
|
-
--ring:
|
|
42
|
-
--chart-1:
|
|
43
|
-
--chart-2:
|
|
44
|
-
--chart-3:
|
|
45
|
-
--chart-4:
|
|
46
|
-
--chart-5:
|
|
154
|
+
--ring: var(--color-brand-primary);
|
|
155
|
+
--chart-1: #c043e8;
|
|
156
|
+
--chart-2: #9012ff;
|
|
157
|
+
--chart-3: #ffc039;
|
|
158
|
+
--chart-4: #9756e3;
|
|
159
|
+
--chart-5: #6c43ee;
|
|
47
160
|
--radius: 0.625rem;
|
|
48
161
|
--sidebar: oklch(0.985 0 0);
|
|
49
162
|
--sidebar-foreground: oklch(0.145 0 0);
|
|
50
|
-
--sidebar-primary:
|
|
51
|
-
--sidebar-primary-foreground:
|
|
163
|
+
--sidebar-primary: var(--color-brand-primary);
|
|
164
|
+
--sidebar-primary-foreground: #ffffff;
|
|
52
165
|
--sidebar-accent: oklch(0.97 0 0);
|
|
53
166
|
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
54
167
|
--sidebar-border: oklch(0.922 0 0);
|
|
55
|
-
--sidebar-ring:
|
|
168
|
+
--sidebar-ring: var(--color-brand-primary);
|
|
56
169
|
}
|
|
57
170
|
|
|
58
171
|
.dark {
|
|
59
172
|
/* 黑夜模式的颜色 */
|
|
60
|
-
--color-bg1:
|
|
61
|
-
--color-bg2:
|
|
62
|
-
--color-bg3:
|
|
63
|
-
--color-bg4:
|
|
64
|
-
--color-text1:
|
|
65
|
-
--color-text2:
|
|
66
|
-
--color-text3:
|
|
67
|
-
--color-text4:
|
|
68
|
-
--color-line1:
|
|
69
|
-
--color-line2:
|
|
70
|
-
--color-theme1:
|
|
71
|
-
--color-theme2:
|
|
72
|
-
--color-theme3:
|
|
73
|
-
--color-theme4:
|
|
74
|
-
--color-theme5:
|
|
75
|
-
--color-theme6:
|
|
76
|
-
/**
|
|
77
|
-
--color-overlay:
|
|
173
|
+
--color-bg1: var(--color-surface-tab-bg);
|
|
174
|
+
--color-bg2: var(--color-surface-chip-bg);
|
|
175
|
+
--color-bg3: var(--color-surface-card-fallback);
|
|
176
|
+
--color-bg4: var(--color-surface-white20);
|
|
177
|
+
--color-text1: var(--color-text-primary);
|
|
178
|
+
--color-text2: var(--color-text-secondary);
|
|
179
|
+
--color-text3: var(--color-text-tertiary);
|
|
180
|
+
--color-text4: var(--color-brand-primary);
|
|
181
|
+
--color-line1: var(--color-surface-chip-gray20);
|
|
182
|
+
--color-line2: var(--color-border-panel-glow);
|
|
183
|
+
--color-theme1: var(--color-brand-accent-purple);
|
|
184
|
+
--color-theme2: var(--gradient-action-button);
|
|
185
|
+
--color-theme3: var(--color-surface-chip-gray20);
|
|
186
|
+
--color-theme4: var(--color-brand-link);
|
|
187
|
+
--color-theme5: var(--color-brand-primary);
|
|
188
|
+
--color-theme6: var(--color-brand-tag-gradient-start);
|
|
189
|
+
/** 叠层色:兼容旧变量,映射到新遮罩层级 */
|
|
190
|
+
--color-overlay: var(--color-overlay-mask-end70);
|
|
78
191
|
|
|
79
192
|
/* shadcn/ui */
|
|
80
193
|
--background: oklch(0.145 0 0);
|
|
@@ -83,8 +196,8 @@
|
|
|
83
196
|
--card-foreground: oklch(0.985 0 0);
|
|
84
197
|
--popover: oklch(0.205 0 0);
|
|
85
198
|
--popover-foreground: oklch(0.985 0 0);
|
|
86
|
-
--primary:
|
|
87
|
-
--primary-foreground:
|
|
199
|
+
--primary: var(--color-brand-primary);
|
|
200
|
+
--primary-foreground: #ffffff;
|
|
88
201
|
--secondary: oklch(0.274 0.006 286.033);
|
|
89
202
|
--secondary-foreground: oklch(0.985 0 0);
|
|
90
203
|
--muted: oklch(0.269 0 0);
|
|
@@ -94,18 +207,18 @@
|
|
|
94
207
|
--destructive: oklch(0.704 0.191 22.216);
|
|
95
208
|
--border: oklch(1 0 0 / 10%);
|
|
96
209
|
--input: oklch(1 0 0 / 15%);
|
|
97
|
-
--ring:
|
|
98
|
-
--chart-1:
|
|
99
|
-
--chart-2:
|
|
100
|
-
--chart-3:
|
|
101
|
-
--chart-4:
|
|
102
|
-
--chart-5:
|
|
210
|
+
--ring: var(--color-brand-primary);
|
|
211
|
+
--chart-1: #c043e8;
|
|
212
|
+
--chart-2: #9012ff;
|
|
213
|
+
--chart-3: #ffc039;
|
|
214
|
+
--chart-4: #9756e3;
|
|
215
|
+
--chart-5: #6c43ee;
|
|
103
216
|
--sidebar: oklch(0.205 0 0);
|
|
104
217
|
--sidebar-foreground: oklch(0.985 0 0);
|
|
105
|
-
--sidebar-primary:
|
|
106
|
-
--sidebar-primary-foreground:
|
|
218
|
+
--sidebar-primary: var(--color-brand-primary);
|
|
219
|
+
--sidebar-primary-foreground: #ffffff;
|
|
107
220
|
--sidebar-accent: oklch(0.269 0 0);
|
|
108
221
|
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
109
222
|
--sidebar-border: oklch(1 0 0 / 10%);
|
|
110
|
-
--sidebar-ring:
|
|
223
|
+
--sidebar-ring: var(--color-brand-primary);
|
|
111
224
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import*as e from"react";const t=t=>e.createElement(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,...t},e.createElement(`g`,{clipPath:`url(#clip0_528_6021)`},e.createElement(`path`,{d:`M11.9969 2.85869e-06C12.4121 -0.000967899 12.7924 0.245368 12.977 0.635041L16.0994 7.22761L23.0665 8.29233C23.4767 8.35509 23.818 8.65614 23.9465 9.0691C24.0749 9.48214 23.9679 9.93589 23.6716 10.2399L18.605 15.4373L19.8088 22.6605C19.8804 23.0905 19.7115 23.5259 19.3741 23.7821C19.0788 24.0063 18.6988 24.0595 18.3621 23.9317L18.2204 23.8658L11.999 20.3904L5.77972 23.8658C5.41164 24.0714 4.96367 24.0386 4.62598 23.7821C4.28835 23.5255 4.12027 23.0897 4.1924 22.6594L5.40366 15.4385L0.328522 10.241C0.0317724 9.93703 -0.0749205 9.48248 0.0536718 9.0691C0.182264 8.65576 0.524003 8.35473 0.934684 8.29233L7.93803 7.22761L11.02 0.639505L11.0967 0.499998C11.2973 0.190743 11.6335 0.000980944 11.9969 2.85869e-06ZM9.64466 8.77558C9.48616 9.11453 9.17773 9.34976 8.82118 9.40392L3.43177 10.222L7.34039 14.2253C7.56574 14.4561 7.68343 14.7761 7.66745 15.1014L7.65253 15.2409L6.72784 20.7442L11.4866 18.088L11.6091 18.0288C11.902 17.9113 12.2319 17.9313 12.5125 18.088L17.2744 20.7464L16.3572 15.2398C16.2954 14.8691 16.4117 14.4898 16.6683 14.2264L20.5716 10.2209L15.2194 9.40392C14.8654 9.34978 14.5594 9.11687 14.4002 8.78116L12.0054 3.72653L9.64466 8.77558Z`,fill:`currentColor`})),e.createElement(`defs`,null,e.createElement(`clipPath`,{id:`clip0_528_6021`},e.createElement(`rect`,{width:24,height:24,fill:`white`}))));export{t as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import*as e from"react";const t=t=>e.createElement(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,...t},e.createElement(`g`,{clipPath:`url(#clip0_528_6024)`},e.createElement(`path`,{d:`M11.9969 2.85869e-06C12.4121 -0.000967899 12.7924 0.245368 12.977 0.635041L16.0994 7.22761L23.0665 8.29233C23.4767 8.35509 23.818 8.65614 23.9465 9.06911C24.0749 9.48214 23.9679 9.93589 23.6716 10.2399L18.605 15.4373L19.8088 22.6605C19.8804 23.0905 19.7115 23.5259 19.3741 23.7821C19.0788 24.0063 18.6988 24.0595 18.3621 23.9317L18.2204 23.8658L11.999 20.3904L5.77972 23.8658C5.41164 24.0714 4.96367 24.0386 4.62598 23.7821C4.28835 23.5256 4.12027 23.0897 4.1924 22.6594L5.40366 15.4385L0.328522 10.241C0.0317724 9.93703 -0.0749205 9.48248 0.0536718 9.06911C0.182264 8.65576 0.524003 8.35473 0.934684 8.29233L7.93803 7.22761L11.02 0.639505L11.0967 0.499998C11.2973 0.190743 11.6335 0.000980944 11.9969 2.85869e-06Z`,fill:`#FFD320`})),e.createElement(`defs`,null,e.createElement(`clipPath`,{id:`clip0_528_6024`},e.createElement(`rect`,{width:24,height:24,fill:`white`}))));export{t as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import*as e from"react";const t=t=>e.createElement(`svg`,{viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,width:`1em`,height:`1em`,...t},e.createElement(`path`,{d:`M6.2998 0C6.6864 0 7 0.313596 7 0.700195C6.99989 1.0867 6.68634 1.40039 6.2998 1.40039H4.90039C2.96739 1.40039 1.40039 2.96739 1.40039 4.90039V9.09961C1.40039 11.0326 2.96739 12.5996 4.90039 12.5996H9.09961C11.0326 12.5996 12.5996 11.0326 12.5996 9.09961V7.7002C12.5996 7.31366 12.9133 7.00011 13.2998 7C13.6864 7 14 7.3136 14 7.7002V9.09961C14 11.8058 11.8058 14 9.09961 14H4.90039C2.1942 14 6.76469e-08 11.8058 0 9.09961V4.90039C0 2.1942 2.1942 0 4.90039 0H6.2998ZM13.3721 0.00292969C13.7248 0.0389736 14 0.337905 14 0.700195V5.59961C14 5.98621 13.6864 6.2998 13.2998 6.2998C12.9133 6.2997 12.5996 5.98614 12.5996 5.59961V2.39062L8.125 6.86523C7.85167 7.13842 7.4081 7.13842 7.13477 6.86523C6.86153 6.59191 6.86156 6.14835 7.13477 5.875L11.6104 1.40039H8.40039C8.01386 1.40039 7.7003 1.0867 7.7002 0.700195C7.7002 0.313596 8.01379 0 8.40039 0H13.2998L13.3721 0.00292969Z`,fill:`currentColor`}));export{t as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import*as e from"react";const t=t=>e.createElement(`svg`,{preserveAspectRatio:`none`,width:`1em`,height:`1em`,overflow:`visible`,style:{display:`block`},viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t},e.createElement(`path`,{id:`Subtract`,d:`M8 0C12.4183 6.44256e-08 16 3.58172 16 8C16 12.4183 12.4183 16 8 16C3.58172 16 1.28855e-07 12.4183 0 8C0 3.58172 3.58172 0 8 0ZM6.77148 4.34668C6.54772 4.16153 6.21731 4.17499 6.00879 4.38672C5.80047 4.5985 5.78833 4.93303 5.9707 5.16016L6.00879 5.20508L9.02441 8.2666L6.00879 11.3281C5.78643 11.554 5.78652 11.9206 6.00879 12.1465C6.23121 12.3723 6.59195 12.3722 6.81445 12.1465L10.2334 8.67578C10.4558 8.44989 10.4558 8.08333 10.2334 7.85742L6.81445 4.38672L6.77148 4.34668Z`,fill:`var(--fill-0, #F59E0B)`}));export{t as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import*as e from"react";const t=t=>e.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`currentColor`,viewBox:`0 0 12 12`,width:`1em`,height:`1em`,...t},e.createElement(`path`,{d:`M4.24 11.749a.908.908 0 0 1-1.253 0 .837.837 0 0 1 0-1.212L7.678 6 2.987 1.463l-.06-.065A.836.836 0 0 1 2.986.25.908.908 0 0 1 4.173.192l.067.059 5.32 5.143a.837.837 0 0 1 0 1.212l-5.32 5.143Z`}));export{t as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import*as e from"react";const t=t=>e.createElement(`svg`,{width:`1em`,height:`1em`,viewBox:`0 0 36 36`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...t},e.createElement(`path`,{d:`M0 18C0 8.05888 8.05888 0 18 0C27.9411 0 36 8.05888 36 18C36 27.9411 27.9411 36 18 36C8.05888 36 0 27.9411 0 18Z`,fill:`#FFDADA`}),e.createElement(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M18 23.4219C24.2999 23.4219 27.3841 26.2639 28.7998 29.1133C26.5534 31.6567 21.9492 33.4637 18 33.4619C14.0508 33.4637 9.59061 31.6566 7.2002 29.1133C8.61593 26.2639 11.7001 23.4219 18 23.4219ZM18 7.2002C21.3956 7.2002 24.2997 10.0654 24.2998 13.5986V15.2002C24.2997 18.7344 21.3956 21.5996 18 21.5996C14.6044 21.5996 11.7003 18.7344 11.7002 15.2002V13.5996C11.7003 10.0654 14.6044 7.2002 18 7.2002Z`,fill:`url(#paint0_linear_481_372)`}),e.createElement(`defs`,null,e.createElement(`linearGradient`,{id:`paint0_linear_481_372`,x1:18,y1:7.2002,x2:18,y2:33.4685,gradientUnits:`userSpaceOnUse`},e.createElement(`stop`,{stopColor:`#FD4C5E`,stopOpacity:.4}),e.createElement(`stop`,{offset:1,stopColor:`#FD4C5E`,stopOpacity:.05}))));export{t as default};
|