@windrun-huaiin/third-ui 7.6.0 → 10.0.0
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/_virtual/advancedFormat.js +1 -1
- package/dist/_virtual/advancedFormat.mjs +1 -1
- package/dist/_virtual/customParseFormat.js +1 -1
- package/dist/_virtual/customParseFormat.mjs +1 -1
- package/dist/_virtual/dayjs.min.js +1 -1
- package/dist/_virtual/dayjs.min.mjs +1 -1
- package/dist/_virtual/isoWeek.js +1 -1
- package/dist/_virtual/isoWeek.mjs +1 -1
- package/dist/clerk/clerk-organization.js +1 -1
- package/dist/clerk/clerk-organization.mjs +1 -1
- package/dist/clerk/{clerk-page-generator-client.js → clerk-page-context-generator.js} +2 -2
- package/dist/clerk/{clerk-page-generator-client.mjs → clerk-page-context-generator.mjs} +2 -2
- package/dist/clerk/clerk-page-generator.js +3 -3
- package/dist/clerk/clerk-page-generator.mjs +3 -3
- package/dist/clerk/clerk-user-client.js +4 -3
- package/dist/clerk/clerk-user-client.mjs +4 -3
- package/dist/clerk/clerk-user.js +1 -1
- package/dist/clerk/clerk-user.mjs +1 -1
- package/dist/clerk/fingerprint/fingerprint-client.js +1 -1
- package/dist/clerk/fingerprint/fingerprint-client.mjs +1 -1
- package/dist/clerk/fingerprint/fingerprint-provider.js +147 -56
- package/dist/clerk/fingerprint/fingerprint-provider.mjs +148 -57
- package/dist/clerk/fingerprint/fingerprint-server.d.ts +16 -0
- package/dist/clerk/fingerprint/fingerprint-server.js +18 -0
- package/dist/clerk/fingerprint/fingerprint-server.mjs +18 -1
- package/dist/clerk/fingerprint/server.js +1 -0
- package/dist/clerk/fingerprint/server.mjs +1 -1
- package/dist/clerk/fingerprint/types.d.ts +13 -2
- package/dist/clerk/fingerprint/use-fingerprint.js +1 -1
- package/dist/clerk/fingerprint/use-fingerprint.mjs +1 -1
- package/dist/clerk/index.d.ts +2 -1
- package/dist/clerk/index.js +5 -3
- package/dist/clerk/index.mjs +2 -1
- package/dist/clerk/signin-with-fingerprint-client.js +4 -11
- package/dist/clerk/signin-with-fingerprint-client.mjs +4 -11
- package/dist/clerk/signup-button-with-fingerprint-client.d.ts +6 -0
- package/dist/clerk/signup-button-with-fingerprint-client.js +56 -0
- package/dist/clerk/signup-button-with-fingerprint-client.mjs +54 -0
- package/dist/clerk/signup-with-fingerprint-client.js +4 -11
- package/dist/clerk/signup-with-fingerprint-client.mjs +4 -11
- package/dist/fuma/base/custom-header.d.ts +38 -0
- package/dist/fuma/base/custom-header.js +163 -0
- package/dist/fuma/base/custom-header.mjs +161 -0
- package/dist/fuma/base/custom-home-layout.d.ts +68 -0
- package/dist/fuma/base/custom-home-layout.js +48 -0
- package/dist/fuma/base/custom-home-layout.mjs +46 -0
- package/dist/fuma/base/index.d.ts +2 -0
- package/dist/fuma/base/index.js +9 -0
- package/dist/fuma/base/index.mjs +2 -0
- package/dist/fuma/fuma-banner-suit.d.ts +2 -1
- package/dist/fuma/fuma-banner-suit.js +9 -3
- package/dist/fuma/fuma-banner-suit.mjs +9 -3
- package/dist/fuma/fuma-page-genarator.d.ts +4 -1
- package/dist/fuma/fuma-page-genarator.js +15 -6
- package/dist/fuma/fuma-page-genarator.mjs +15 -6
- package/dist/fuma/fuma-translate-util.d.ts +2 -0
- package/dist/fuma/fuma-translate-util.js +40 -0
- package/dist/fuma/fuma-translate-util.mjs +38 -0
- package/dist/fuma/llm-copy-handler.js +9 -8
- package/dist/fuma/llm-copy-handler.mjs +9 -8
- package/dist/fuma/mdx/banner.d.ts +7 -1
- package/dist/fuma/mdx/banner.js +15 -15
- package/dist/fuma/mdx/banner.mjs +15 -15
- package/dist/fuma/mdx/fuma-github-info.js +1 -1
- package/dist/fuma/mdx/fuma-github-info.mjs +1 -1
- package/dist/fuma/mdx/gradient-button.js +29 -18
- package/dist/fuma/mdx/gradient-button.mjs +29 -18
- package/dist/fuma/mdx/image-zoom.js +2 -2
- package/dist/fuma/mdx/image-zoom.mjs +2 -2
- package/dist/fuma/mdx/mermaid.js +3 -3
- package/dist/fuma/mdx/mermaid.mjs +3 -3
- package/dist/fuma/mdx/toc-base.js +9 -4
- package/dist/fuma/mdx/toc-base.mjs +9 -4
- package/dist/fuma/mdx/zia-card.js +3 -3
- package/dist/fuma/mdx/zia-card.mjs +3 -3
- package/dist/fuma/mdx/zia-file.js +1 -1
- package/dist/fuma/mdx/zia-file.mjs +1 -1
- package/dist/fuma/server.d.ts +1 -0
- package/dist/fuma/server.js +2 -0
- package/dist/fuma/server.mjs +1 -0
- package/dist/fuma/site-x.js +1 -1
- package/dist/fuma/site-x.mjs +1 -1
- package/dist/lib/fuma-schema-check-util.d.ts +4 -57
- package/dist/lib/fuma-schema-check-util.js +10 -31
- package/dist/lib/fuma-schema-check-util.mjs +11 -29
- package/dist/lib/server.d.ts +0 -1
- package/dist/lib/server.js +0 -5
- package/dist/lib/server.mjs +1 -2
- package/dist/main/ai-prompt-textarea.js +1 -1
- package/dist/main/ai-prompt-textarea.mjs +1 -1
- package/dist/main/credit/credit-nav-button.d.ts +21 -0
- package/dist/main/credit/credit-nav-button.js +117 -0
- package/dist/main/credit/credit-nav-button.mjs +114 -0
- package/dist/main/credit/credit-overview-client.d.ts +26 -0
- package/dist/main/credit/credit-overview-client.js +269 -0
- package/dist/main/credit/credit-overview-client.mjs +267 -0
- package/dist/main/credit/credit-overview.d.ts +8 -0
- package/dist/main/credit/credit-overview.js +34 -0
- package/dist/main/credit/credit-overview.mjs +32 -0
- package/dist/main/credit/types.d.ts +68 -0
- package/dist/main/cta.js +3 -2
- package/dist/main/cta.mjs +3 -2
- package/dist/main/faq.js +5 -4
- package/dist/main/faq.mjs +5 -4
- package/dist/main/features.js +3 -2
- package/dist/main/features.mjs +3 -2
- package/dist/main/footer.js +2 -2
- package/dist/main/footer.mjs +2 -2
- package/dist/main/gallery/gallery-desktop-grid.d.ts +6 -0
- package/dist/main/gallery/gallery-desktop-grid.js +10 -0
- package/dist/main/gallery/gallery-desktop-grid.mjs +8 -0
- package/dist/main/gallery/gallery-interactive.d.ts +4 -0
- package/dist/main/gallery/gallery-interactive.js +128 -0
- package/dist/main/gallery/gallery-interactive.mjs +126 -0
- package/dist/main/gallery/gallery-mobile-swiper.d.ts +6 -0
- package/dist/main/gallery/gallery-mobile-swiper.js +13 -0
- package/dist/main/gallery/gallery-mobile-swiper.mjs +11 -0
- package/dist/main/gallery/gallery-server.d.ts +2 -0
- package/dist/main/gallery/gallery-server.js +44 -0
- package/dist/main/gallery/gallery-server.mjs +42 -0
- package/dist/main/gallery/gallery-types.d.ts +19 -0
- package/dist/main/gallery-interactive.js +1 -1
- package/dist/main/gallery-interactive.mjs +1 -1
- package/dist/main/gallery.js +6 -5
- package/dist/main/gallery.mjs +6 -5
- package/dist/main/go-to-top.js +1 -1
- package/dist/main/go-to-top.mjs +1 -1
- package/dist/main/index.d.ts +3 -1
- package/dist/main/index.js +5 -1
- package/dist/main/index.mjs +3 -1
- package/dist/main/money-price/customer-portal.d.ts +7 -0
- package/dist/main/money-price/customer-portal.js +54 -0
- package/dist/main/money-price/customer-portal.mjs +52 -0
- package/dist/main/money-price/money-price-button.d.ts +1 -1
- package/dist/main/money-price/money-price-button.js +162 -42
- package/dist/main/money-price/money-price-button.mjs +162 -42
- package/dist/main/money-price/money-price-config-util.d.ts +50 -2
- package/dist/main/money-price/money-price-config-util.js +177 -4
- package/dist/main/money-price/money-price-config-util.mjs +175 -4
- package/dist/main/money-price/money-price-data.d.ts +8 -0
- package/dist/main/money-price/money-price-data.js +28 -0
- package/dist/main/money-price/money-price-data.mjs +26 -0
- package/dist/main/money-price/money-price-interactive.d.ts +1 -1
- package/dist/main/money-price/money-price-interactive.js +259 -276
- package/dist/main/money-price/money-price-interactive.mjs +261 -278
- package/dist/main/money-price/money-price-types.d.ts +69 -20
- package/dist/main/money-price/money-price.d.ts +1 -1
- package/dist/main/money-price/money-price.js +9 -62
- package/dist/main/money-price/money-price.mjs +10 -63
- package/dist/main/price-plan.js +6 -6
- package/dist/main/price-plan.mjs +6 -6
- package/dist/main/section-layout.d.ts +1 -0
- package/dist/main/section-layout.js +7 -0
- package/dist/main/section-layout.mjs +5 -0
- package/dist/main/seo-content.js +3 -2
- package/dist/main/seo-content.mjs +3 -2
- package/dist/main/server.d.ts +6 -3
- package/dist/main/server.js +9 -4
- package/dist/main/server.mjs +4 -2
- package/dist/main/tips.js +3 -2
- package/dist/main/tips.mjs +3 -2
- package/dist/main/usage.js +4 -3
- package/dist/main/usage.mjs +4 -3
- package/dist/main/x-button.js +6 -6
- package/dist/main/x-button.mjs +6 -6
- package/dist/node_modules/.pnpm/@fingerprintjs_fingerprintjs@4.6.2/node_modules/@fingerprintjs/fingerprintjs/dist/fp.esm.js +1 -1
- package/dist/node_modules/.pnpm/@fingerprintjs_fingerprintjs@4.6.2/node_modules/@fingerprintjs/fingerprintjs/dist/fp.esm.mjs +1 -1
- package/dist/node_modules/.pnpm/{@iconify_utils@2.3.0 → @iconify_utils@3.0.2}/node_modules/@iconify/utils/lib/customisations/defaults.js +7 -6
- package/dist/node_modules/.pnpm/{@iconify_utils@2.3.0 → @iconify_utils@3.0.2}/node_modules/@iconify/utils/lib/customisations/defaults.mjs +7 -6
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon/defaults.js +39 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon/defaults.mjs +34 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon/merge.js +20 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon/merge.mjs +18 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon/name.js +60 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon/name.mjs +57 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon/transformations.js +15 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon/transformations.mjs +13 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon-set/get-icon.js +30 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon-set/get-icon.mjs +27 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon-set/tree.js +26 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/icon-set/tree.mjs +24 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/build.js +118 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/build.mjs +115 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/defs.js +36 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/defs.mjs +32 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/html.js +12 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/html.mjs +10 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/id.js +48 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/id.mjs +46 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/size.js +30 -0
- package/dist/node_modules/.pnpm/@iconify_utils@3.0.2/node_modules/@iconify/utils/lib/svg/size.mjs +28 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/architecture-U656AL7Q.js +9 -0
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/architecture-O4VJ6CD3.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/architecture-U656AL7Q.mjs} +2 -2
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-KMC2YHZD.js → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-76Q3JFCE.js} +8 -8
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-KMC2YHZD.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-76Q3JFCE.mjs} +1 -1
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-4KMFLZZN.js → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-FPAJGGOC.js} +1 -1
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-4KMFLZZN.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-FPAJGGOC.mjs} +1 -1
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-XRWGC2XP.js → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-FWNWRKHM.js} +13 -13
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-XRWGC2XP.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-FWNWRKHM.mjs} +1 -1
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-T44TD3VJ.js → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-LBM3YZW2.js} +8 -8
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-T44TD3VJ.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-LBM3YZW2.mjs} +1 -1
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-WFRQ32O7.js → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-LHMN2FUI.js} +8 -8
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-WFRQ32O7.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-LHMN2FUI.mjs} +1 -1
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-JEIROHC2.js → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-O7ZBX7Z2.js} +10 -10
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-JEIROHC2.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-O7ZBX7Z2.mjs} +1 -1
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-BN7GFLIU.js → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-S6J4BHB3.js} +8 -8
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-BN7GFLIU.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-S6J4BHB3.mjs} +1 -1
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-WFWHJNB7.js → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-T53DSG4Q.js} +10 -10
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-WFWHJNB7.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-T53DSG4Q.mjs} +1 -1
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/gitGraph-F6HP7TQM.js +9 -0
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/gitGraph-ZV4HHKMB.mjs → @mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/gitGraph-F6HP7TQM.mjs} +2 -2
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/info-NVLQJR56.js +9 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/info-NVLQJR56.mjs +2 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/packet-BFZMPI3H.js +9 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/packet-BFZMPI3H.mjs +2 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/pie-7BOR55EZ.js +9 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/pie-7BOR55EZ.mjs +2 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/radar-NHE76QYJ.js +9 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/radar-NHE76QYJ.mjs +2 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/treemap-KMMF4GRG.js +9 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/treemap-KMMF4GRG.mjs +2 -0
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.3/node_modules/@mermaid-js/parser/dist/mermaid-parser.core.js +129 -0
- package/dist/node_modules/.pnpm/{@mermaid-js_parser@0.6.2 → @mermaid-js_parser@0.6.3}/node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs +16 -16
- package/dist/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
- package/dist/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
- package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/cross-count.js +0 -3
- package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/cross-count.mjs +0 -3
- package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/position/bk.js +24 -4
- package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/position/bk.mjs +24 -4
- package/dist/node_modules/.pnpm/{dompurify@3.2.6 → dompurify@3.3.0}/node_modules/dompurify/dist/purify.es.js +59 -25
- package/dist/node_modules/.pnpm/{dompurify@3.2.6 → dompurify@3.3.0}/node_modules/dompurify/dist/purify.es.mjs +59 -25
- package/dist/node_modules/.pnpm/{katex@0.16.22 → katex@0.16.25}/node_modules/katex/dist/katex.js +26 -34
- package/dist/node_modules/.pnpm/{katex@0.16.22 → katex@0.16.25}/node_modules/katex/dist/katex.mjs +26 -34
- package/dist/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
- package/dist/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
- package/dist/node_modules/.pnpm/marked@16.4.2/node_modules/marked/lib/marked.esm.js +84 -0
- package/dist/node_modules/.pnpm/marked@16.4.2/node_modules/marked/lib/marked.esm.mjs +74 -0
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-SUXI7LT5.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-VXUJARFQ.js} +373 -351
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-SUXI7LT5.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-VXUJARFQ.mjs} +320 -298
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-6J76NXCF.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-VD42YOAC.js} +393 -380
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-6J76NXCF.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-VD42YOAC.mjs} +162 -149
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-6F6E4RAY.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-YG6GDRKO.js} +126 -125
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-6F6E4RAY.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-YG6GDRKO.mjs} +10 -9
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-353BL4L5.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-4BX2VUAB.js} +2 -2
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-353BL4L5.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-4BX2VUAB.mjs} +1 -1
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-BFAMUDN2.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.js} +2 -2
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-BFAMUDN2.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.mjs} +1 -1
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-RKKUNAVE.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-6MN3ZHY7.js} +15 -15
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-RKKUNAVE.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-6MN3ZHY7.mjs} +15 -15
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-3XYRH5AP.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ABZYJK2D.js} +142 -203
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-3XYRH5AP.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ABZYJK2D.mjs} +27 -85
- package/dist/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-AGHRB4JF.js +81 -0
- package/dist/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-AGHRB4JF.mjs +76 -0
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-UWXLY5YG.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ATLVNIR6.js} +30 -11
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-UWXLY5YG.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ATLVNIR6.mjs} +22 -3
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-SZ463SBG.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-B4BG7PRW.js} +207 -205
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-SZ463SBG.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-B4BG7PRW.mjs} +132 -130
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-AC5SNWB5.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-CVBHYZKI.js} +2 -2
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-AC5SNWB5.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-CVBHYZKI.mjs} +1 -1
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-OW32GOEJ.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-DI55MBZ5.js} +98 -97
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-OW32GOEJ.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-DI55MBZ5.mjs} +10 -9
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-P3VETL53.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-EXTU4WIE.js} +4 -3
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-P3VETL53.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-EXTU4WIE.mjs} +2 -1
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-E2GYISFI.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-FMBD7UC4.js} +2 -2
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-E2GYISFI.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-FMBD7UC4.mjs} +1 -1
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-MXNHSMXR.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-HN2XXSSU.js} +17 -9
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-MXNHSMXR.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-HN2XXSSU.mjs} +11 -5
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-QESNASVV.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-JA3XYJ7Z.js} +51 -50
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-QESNASVV.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-JA3XYJ7Z.mjs} +23 -22
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-JW4RIYDF.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-JZLCHNYA.js} +731 -440
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-JW4RIYDF.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-JZLCHNYA.mjs} +404 -113
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-L5ZGVLVO.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-MI3HLSF2.js} +139 -139
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-L5ZGVLVO.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-MI3HLSF2.mjs} +5 -5
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-IWUHOULB.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-N4CR4FBY.js} +29 -22
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-IWUHOULB.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-N4CR4FBY.mjs} +13 -6
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-SKB7J2MH.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-QN33PNHL.js} +7 -6
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-SKB7J2MH.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-QN33PNHL.mjs} +2 -1
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-M6DAPIYF.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-QXUST7PY.js} +211 -85
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-M6DAPIYF.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-QXUST7PY.mjs} +142 -16
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-AACKK3MU.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-QZHKN3VN.js} +2 -2
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-AACKK3MU.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-QZHKN3VN.mjs} +1 -1
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55PJQP7W.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-S3R3BYOJ.js} +61 -49
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55PJQP7W.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-S3R3BYOJ.mjs} +13 -1
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-67H74DCK.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-TZMSLE5B.js} +10 -9
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-67H74DCK.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/chunk-TZMSLE5B.mjs} +2 -1
- package/dist/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-2ON5EDUG.js +31 -0
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-M3E45YP4.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-2ON5EDUG.mjs} +9 -8
- package/dist/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-WZHVMYZB.js +31 -0
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-YAWTLIQI.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-WZHVMYZB.mjs} +9 -8
- package/dist/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.js +302 -0
- package/dist/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.mjs +300 -0
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/dagre-JOIXM2OF.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/dagre-6UL2VRFP.js} +123 -122
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/dagre-JOIXM2OF.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/dagre-6UL2VRFP.mjs} +12 -11
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-VMROVX33.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/diagram-PSM6KHXK.js} +46 -45
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-VMROVX33.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/diagram-PSM6KHXK.mjs} +8 -7
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-ZTM2IBQH.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/diagram-QEK2KX5R.js} +45 -44
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-ZTM2IBQH.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/diagram-QEK2KX5R.mjs} +6 -5
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-5UYTHUR4.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/diagram-S2PKOQOG.js} +68 -57
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-5UYTHUR4.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/diagram-S2PKOQOG.mjs} +56 -45
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-3M52JZNH.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-Q2GNP2WA.js} +70 -69
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-3M52JZNH.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-Q2GNP2WA.mjs} +14 -13
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-KYDEHFYC.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-NV44I4VS.js} +97 -93
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-KYDEHFYC.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-NV44I4VS.mjs} +20 -16
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-EK5VF46D.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-LVOFAZNH.js} +134 -125
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-EK5VF46D.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-LVOFAZNH.mjs} +27 -18
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-GW3U2K7C.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-NY62KEGX.js} +116 -115
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-GW3U2K7C.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-NY62KEGX.mjs} +6 -5
- package/dist/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-ER5ION4S.js +42 -0
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-LHK5PUON.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-ER5ION4S.mjs} +5 -4
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-EWQZEKCU.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-XKPGCS4Q.js} +100 -99
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-EWQZEKCU.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-XKPGCS4Q.mjs} +10 -9
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/kanban-definition-ZSS6B67P.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/kanban-definition-3W4ZIXB7.js} +79 -78
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/kanban-definition-ZSS6B67P.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/kanban-definition-3W4ZIXB7.mjs} +12 -11
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/mindmap-definition-6CBA2TL7.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/mindmap-definition-VGOIOE7T.js} +277 -379
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/mindmap-definition-6CBA2TL7.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/mindmap-definition-VGOIOE7T.mjs} +234 -336
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-NIOCPIFQ.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-ADFJNKIX.js} +58 -56
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-NIOCPIFQ.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-ADFJNKIX.mjs} +30 -28
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-2OG54O6I.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-AYHSOK5B.js} +96 -95
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-2OG54O6I.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-AYHSOK5B.mjs} +6 -5
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-QOLK2EJ7.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-UZGBJVZJ.js} +64 -63
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-QOLK2EJ7.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-UZGBJVZJ.mjs} +14 -13
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-4UZDY2LN.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-TZEHDZUN.js} +73 -69
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-4UZDY2LN.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-TZEHDZUN.mjs} +17 -13
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-SKLFT4DO.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-WL72ISMW.js} +839 -376
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-SKLFT4DO.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-WL72ISMW.mjs} +591 -128
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-MI5ZYTHO.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-FKZM4ZOC.js} +94 -93
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-MI5ZYTHO.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-FKZM4ZOC.mjs} +12 -11
- package/dist/node_modules/.pnpm/mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-4FDKWEC3.js +31 -0
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-5AN5P6BG.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-4FDKWEC3.mjs} +9 -8
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-MYPXXCX6.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-IT6M3QCI.js} +93 -92
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-MYPXXCX6.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-IT6M3QCI.mjs} +8 -7
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-H2YORKM3.js → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-PRI3JC2R.js} +136 -133
- package/dist/node_modules/.pnpm/{mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-H2YORKM3.mjs → mermaid@11.12.1/node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-PRI3JC2R.mjs} +43 -40
- package/dist/node_modules/.pnpm/{mermaid@11.9.0 → mermaid@11.12.1}/node_modules/mermaid/dist/mermaid.core.js +226 -225
- package/dist/node_modules/.pnpm/{mermaid@11.9.0 → mermaid@11.12.1}/node_modules/mermaid/dist/mermaid.core.mjs +43 -42
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.3.0_react-dom@19.1.0_react@19.1.0__react@19.1.0 → react-medium-image-zoom@5.4.0_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/react-medium-image-zoom/dist/index.js +16 -12
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.3.0_react-dom@19.1.0_react@19.1.0__react@19.1.0 → react-medium-image-zoom@5.4.0_react-dom@19.2.0_react@19.2.0__react@19.2.0}/node_modules/react-medium-image-zoom/dist/index.mjs +16 -12
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/modules/pagination.js +461 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/modules/pagination.mjs +459 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/classes-to-selector.js +8 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/classes-to-selector.mjs +6 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/create-element-if-not-defined.js +23 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/create-element-if-not-defined.mjs +21 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/ssr-window.esm.js +143 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/ssr-window.esm.mjs +140 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/swiper-core.js +3874 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/swiper-core.mjs +3871 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/update-on-virtual-data.js +129 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/update-on-virtual-data.mjs +124 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/update-swiper.js +226 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/update-swiper.mjs +216 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/utils.js +310 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/shared/utils.mjs +288 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/swiper-react.js +390 -0
- package/dist/node_modules/.pnpm/swiper@12.0.3/node_modules/swiper/swiper-react.mjs +387 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +6 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.mjs +4 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +15 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.mjs +13 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +30 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.mjs +28 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +21 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.mjs +19 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/classic/errors.js +52 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/classic/errors.mjs +50 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/classic/iso.js +44 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/classic/iso.mjs +35 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/classic/parse.js +31 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/classic/parse.mjs +18 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/classic/schemas.js +492 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/classic/schemas.mjs +439 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/api.js +434 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/api.mjs +388 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/checks.js +245 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/checks.mjs +232 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/core.js +68 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/core.mjs +62 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/errors.js +80 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/errors.mjs +75 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/parse.js +101 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/parse.mjs +86 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/regexes.js +102 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/regexes.mjs +76 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/registries.js +56 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/registries.mjs +52 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/schemas.js +952 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/schemas.mjs +909 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/util.js +182 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/util.mjs +163 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/versions.js +9 -0
- package/dist/node_modules/.pnpm/zod@4.1.12/node_modules/zod/v4/core/versions.mjs +7 -0
- package/package.json +27 -21
- package/src/clerk/{clerk-page-generator-client.tsx → clerk-page-context-generator.tsx} +2 -2
- package/src/clerk/clerk-page-generator.tsx +3 -3
- package/src/clerk/clerk-user-client.tsx +7 -12
- package/src/clerk/fingerprint/fingerprint-provider.tsx +311 -112
- package/src/clerk/fingerprint/fingerprint-server.ts +33 -5
- package/src/clerk/fingerprint/types.ts +16 -2
- package/src/clerk/fingerprint/use-fingerprint.ts +1 -1
- package/src/clerk/index.ts +2 -1
- package/src/clerk/signin-with-fingerprint-client.tsx +3 -11
- package/src/clerk/signup-button-with-fingerprint-client.tsx +87 -0
- package/src/clerk/signup-with-fingerprint-client.tsx +3 -11
- package/src/fuma/base/custom-header.tsx +574 -0
- package/src/fuma/base/custom-home-layout.tsx +146 -0
- package/src/fuma/base/index.ts +2 -0
- package/src/fuma/fuma-banner-suit.tsx +22 -5
- package/src/fuma/fuma-page-genarator.tsx +29 -9
- package/src/fuma/fuma-translate-util.ts +44 -0
- package/src/fuma/llm-copy-handler.ts +8 -7
- package/src/fuma/mdx/airtical-card.tsx +1 -1
- package/src/fuma/mdx/banner.tsx +25 -7
- package/src/fuma/mdx/gradient-button.tsx +43 -26
- package/src/fuma/mdx/mermaid.tsx +2 -2
- package/src/fuma/mdx/toc-base.tsx +9 -4
- package/src/fuma/mdx/zia-card.tsx +6 -6
- package/src/fuma/server.ts +1 -0
- package/src/lib/fuma-schema-check-util.ts +11 -40
- package/src/lib/server.ts +0 -1
- package/src/main/ai-prompt-textarea.tsx +1 -1
- package/src/main/credit/credit-nav-button.tsx +283 -0
- package/src/main/credit/credit-overview-client.tsx +552 -0
- package/src/main/credit/credit-overview.tsx +53 -0
- package/src/main/credit/types.ts +89 -0
- package/src/main/cta.tsx +9 -8
- package/src/main/faq.tsx +4 -3
- package/src/main/features.tsx +3 -3
- package/src/main/footer.tsx +1 -1
- package/src/main/gallery/gallery-desktop-grid.tsx +41 -0
- package/src/main/gallery/gallery-interactive.tsx +153 -0
- package/src/main/gallery/gallery-mobile-swiper.tsx +65 -0
- package/src/main/gallery/gallery-server.tsx +46 -0
- package/src/main/gallery/gallery-types.ts +22 -0
- package/src/main/go-to-top.tsx +1 -1
- package/src/main/index.ts +5 -3
- package/src/main/money-price/customer-portal.ts +63 -0
- package/src/main/money-price/money-price-button.tsx +211 -56
- package/src/main/money-price/money-price-config-util.ts +222 -5
- package/src/main/money-price/money-price-data.ts +49 -0
- package/src/main/money-price/money-price-interactive.tsx +487 -344
- package/src/main/money-price/money-price-types.ts +76 -22
- package/src/main/money-price/money-price.tsx +28 -267
- package/src/main/price-plan.tsx +3 -3
- package/src/main/section-layout.ts +5 -0
- package/src/main/seo-content.tsx +2 -2
- package/src/main/server.ts +15 -4
- package/src/main/tips.tsx +2 -2
- package/src/main/usage.tsx +4 -4
- package/src/main/x-button.tsx +13 -13
- package/src/styles/fuma.css +38 -13
- package/src/styles/third-ui.css +37 -2
- package/dist/lib/fuma-search-util.d.ts +0 -2
- package/dist/lib/fuma-search-util.js +0 -8
- package/dist/lib/fuma-search-util.mjs +0 -6
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon/defaults.js +0 -29
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon/defaults.mjs +0 -24
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon/merge.js +0 -22
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon/merge.mjs +0 -20
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon/name.js +0 -55
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon/name.mjs +0 -52
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon/transformations.js +0 -18
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon/transformations.mjs +0 -16
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon-set/get-icon.js +0 -29
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon-set/get-icon.mjs +0 -26
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon-set/tree.js +0 -25
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/icon-set/tree.mjs +0 -23
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/build.js +0 -122
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/build.mjs +0 -119
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/defs.js +0 -34
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/defs.mjs +0 -30
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/html.js +0 -11
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/html.mjs +0 -9
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/id.js +0 -30
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/id.mjs +0 -28
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/size.js +0 -42
- package/dist/node_modules/.pnpm/@iconify_utils@2.3.0/node_modules/@iconify/utils/lib/svg/size.mjs +0 -40
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/architecture-O4VJ6CD3.js +0 -9
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/gitGraph-ZV4HHKMB.js +0 -9
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/info-63CPKGFF.js +0 -9
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/info-63CPKGFF.mjs +0 -2
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/packet-HUATNLJX.js +0 -9
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/packet-HUATNLJX.mjs +0 -2
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/pie-WTHONI2E.js +0 -9
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/pie-WTHONI2E.mjs +0 -2
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/radar-NJJJXTRR.js +0 -9
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/radar-NJJJXTRR.mjs +0 -2
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/treemap-75Q7IDZK.js +0 -9
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/treemap-75Q7IDZK.mjs +0 -2
- package/dist/node_modules/.pnpm/@mermaid-js_parser@0.6.2/node_modules/@mermaid-js/parser/dist/mermaid-parser.core.js +0 -129
- package/dist/node_modules/.pnpm/marked@16.1.2/node_modules/marked/lib/marked.esm.js +0 -83
- package/dist/node_modules/.pnpm/marked@16.1.2/node_modules/marked/lib/marked.esm.mjs +0 -73
- package/dist/node_modules/.pnpm/mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-M3E45YP4.js +0 -30
- package/dist/node_modules/.pnpm/mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-YAWTLIQI.js +0 -30
- package/dist/node_modules/.pnpm/mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-LHK5PUON.js +0 -41
- package/dist/node_modules/.pnpm/mermaid@11.9.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-5AN5P6BG.js +0 -30
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +0 -135
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.mjs +0 -132
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +0 -11
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.mjs +0 -8
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +0 -8
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.mjs +0 -8
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +0 -122
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.mjs +0 -111
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +0 -138
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.mjs +0 -135
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +0 -113
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.mjs +0 -111
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +0 -3339
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.mjs +0 -3297
- package/src/lib/fuma-search-util.ts +0 -6
- package/src/main/gallery-interactive.tsx +0 -171
- package/src/main/gallery.tsx +0 -98
- /package/dist/clerk/{clerk-page-generator-client.d.ts → clerk-page-context-generator.d.ts} +0 -0
- /package/dist/node_modules/.pnpm/{@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.2 → @rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3}/node_modules/tslib/tslib.es6.js +0 -0
- /package/dist/node_modules/.pnpm/{@rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.2 → @rollup_plugin-typescript@12.1.4_rollup@4.46.2_tslib@2.8.1_typescript@5.9.3}/node_modules/tslib/tslib.es6.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/acyclic.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/acyclic.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/add-border-segments.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/add-border-segments.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/coordinate-system.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/coordinate-system.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/data/list.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/data/list.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/greedy-fas.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/greedy-fas.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/layout.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/layout.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/nesting-graph.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/nesting-graph.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/normalize.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/normalize.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/add-subgraph-constraints.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/add-subgraph-constraints.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/barycenter.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/barycenter.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/build-layer-graph.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/build-layer-graph.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/index.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/index.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/init-order.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/init-order.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/resolve-conflicts.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/resolve-conflicts.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/sort-subgraph.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/sort-subgraph.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/sort.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/order/sort.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/parent-dummy-chains.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/parent-dummy-chains.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/position/index.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/position/index.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/rank/feasible-tree.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/rank/feasible-tree.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/rank/index.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/rank/index.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/rank/network-simplex.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/rank/network-simplex.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/rank/util.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/rank/util.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/util.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/dagre/util.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/alg/dfs.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/alg/dfs.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/alg/postorder.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/alg/postorder.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/alg/preorder.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/alg/preorder.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/alg/topsort.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/alg/topsort.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/graph.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/graph.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/json.js +0 -0
- /package/dist/node_modules/.pnpm/{dagre-d3-es@7.0.11 → dagre-d3-es@7.0.13}/node_modules/dagre-d3-es/src/graphlib/json.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.19}/node_modules/dayjs/dayjs.min.js +0 -0
- /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.19}/node_modules/dayjs/dayjs.min.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.19}/node_modules/dayjs/plugin/advancedFormat.js +0 -0
- /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.19}/node_modules/dayjs/plugin/advancedFormat.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.19}/node_modules/dayjs/plugin/customParseFormat.js +0 -0
- /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.19}/node_modules/dayjs/plugin/customParseFormat.mjs +0 -0
- /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.19}/node_modules/dayjs/plugin/isoWeek.js +0 -0
- /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.19}/node_modules/dayjs/plugin/isoWeek.mjs +0 -0
|
@@ -0,0 +1,552 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useClerk } from '@clerk/nextjs';
|
|
4
|
+
import { GradientButton } from '@third-ui/fuma/mdx/gradient-button';
|
|
5
|
+
import { globalLucideIcons as icons } from '@windrun-huaiin/base-ui/components/server';
|
|
6
|
+
import { cn } from '@windrun-huaiin/lib/utils';
|
|
7
|
+
import { useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
8
|
+
import { redirectToCustomerPortal } from '../money-price/customer-portal';
|
|
9
|
+
import type {
|
|
10
|
+
CreditBucket,
|
|
11
|
+
CreditBucketStatus,
|
|
12
|
+
CreditOverviewData,
|
|
13
|
+
CreditActionConfig,
|
|
14
|
+
CreditAuthAction,
|
|
15
|
+
PricingModalMode,
|
|
16
|
+
} from './types';
|
|
17
|
+
import { useCreditNavPopover } from './credit-nav-button';
|
|
18
|
+
|
|
19
|
+
type CreditActionKey = 'subscribe' | 'manage' | 'onetime';
|
|
20
|
+
|
|
21
|
+
export interface CreditOverviewTranslations {
|
|
22
|
+
summaryDescription: string;
|
|
23
|
+
totalLabel: string;
|
|
24
|
+
bucketsTitle: string;
|
|
25
|
+
bucketsEmpty: string;
|
|
26
|
+
expiredAtLabel: string;
|
|
27
|
+
expandDetail: string;
|
|
28
|
+
hiddenDetail: string;
|
|
29
|
+
bucketDefaultLabels: Record<string, string>;
|
|
30
|
+
subscriptionPeriodLabel: string;
|
|
31
|
+
subscriptionManage: string;
|
|
32
|
+
subscriptionInactive: string;
|
|
33
|
+
subscribePay?: string;
|
|
34
|
+
onetimeBuy: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
interface CreditOverviewClientProps {
|
|
38
|
+
data: CreditOverviewData;
|
|
39
|
+
locale: string;
|
|
40
|
+
translations: CreditOverviewTranslations;
|
|
41
|
+
className?: string;
|
|
42
|
+
expiringSoonThresholdDays?: number;
|
|
43
|
+
customActionHandlers?: Record<string, () => Promise<void> | void>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
interface NormalizedBucket extends CreditBucket {
|
|
47
|
+
progress: number;
|
|
48
|
+
computedLabel: string;
|
|
49
|
+
computedStatus: CreditBucketStatus;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const clampPercent = (value: number) => Math.min(100, Math.max(0, Math.round(value)));
|
|
53
|
+
|
|
54
|
+
const formatNumber = (locale: string, value: number) =>
|
|
55
|
+
new Intl.NumberFormat(locale, {
|
|
56
|
+
maximumFractionDigits: 0,
|
|
57
|
+
}).format(value);
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
export function CreditOverviewClient({
|
|
61
|
+
data,
|
|
62
|
+
locale,
|
|
63
|
+
translations,
|
|
64
|
+
className,
|
|
65
|
+
expiringSoonThresholdDays = 7,
|
|
66
|
+
customActionHandlers,
|
|
67
|
+
}: CreditOverviewClientProps) {
|
|
68
|
+
const { redirectToSignIn } = useClerk();
|
|
69
|
+
const navPopover = useCreditNavPopover();
|
|
70
|
+
const isMobile = navPopover?.isMobile ?? false;
|
|
71
|
+
const [bucketExpanded, setBucketExpanded] = useState(false);
|
|
72
|
+
const userToggledRef = useRef(false);
|
|
73
|
+
const closeNavPopover = useCallback(
|
|
74
|
+
(options?: { defer?: boolean }) => {
|
|
75
|
+
if (!navPopover) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (options?.defer) {
|
|
79
|
+
if (typeof window !== 'undefined' && typeof window.requestAnimationFrame === 'function') {
|
|
80
|
+
window.requestAnimationFrame(() => navPopover.close());
|
|
81
|
+
} else {
|
|
82
|
+
setTimeout(() => navPopover.close(), 0);
|
|
83
|
+
}
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
navPopover.close();
|
|
87
|
+
},
|
|
88
|
+
[navPopover],
|
|
89
|
+
);
|
|
90
|
+
const buckets = useMemo<NormalizedBucket[]>(() => {
|
|
91
|
+
return (data.buckets || []).map((bucket) => {
|
|
92
|
+
const limit = Math.max(bucket.limit, 0);
|
|
93
|
+
const rawProgress =
|
|
94
|
+
typeof bucket.progressPercent === 'number'
|
|
95
|
+
? bucket.progressPercent
|
|
96
|
+
: limit > 0
|
|
97
|
+
? (bucket.balance / limit) * 100
|
|
98
|
+
: bucket.balance > 0
|
|
99
|
+
? 100
|
|
100
|
+
: 0;
|
|
101
|
+
|
|
102
|
+
const computedLabel =
|
|
103
|
+
bucket.label ??
|
|
104
|
+
translations.bucketDefaultLabels[bucket.kind] ??
|
|
105
|
+
bucket.kind;
|
|
106
|
+
|
|
107
|
+
const computedStatus =
|
|
108
|
+
bucket.status ?? deriveStatus(bucket.expiresAt, expiringSoonThresholdDays);
|
|
109
|
+
|
|
110
|
+
return {
|
|
111
|
+
...bucket,
|
|
112
|
+
progress: clampPercent(rawProgress),
|
|
113
|
+
computedLabel,
|
|
114
|
+
computedStatus,
|
|
115
|
+
};
|
|
116
|
+
});
|
|
117
|
+
}, [data.buckets, translations.bucketDefaultLabels, expiringSoonThresholdDays]);
|
|
118
|
+
|
|
119
|
+
const hasBuckets = buckets.length > 0;
|
|
120
|
+
const subscription = data.subscription;
|
|
121
|
+
const pricingContext = data.pricingContext;
|
|
122
|
+
const ctaBehaviors = data.ctaBehaviors;
|
|
123
|
+
const getModalMoneyPriceData = useCallback(
|
|
124
|
+
(mode: PricingModalMode) => {
|
|
125
|
+
if (!pricingContext) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (mode !== 'onetime') {
|
|
130
|
+
return pricingContext.moneyPriceData;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const hasOnetimeOption = pricingContext.moneyPriceData.billingSwitch.options.some(
|
|
134
|
+
(option) => option.key === 'onetime',
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
if (!hasOnetimeOption) {
|
|
138
|
+
return pricingContext.moneyPriceData;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return {
|
|
142
|
+
...pricingContext.moneyPriceData,
|
|
143
|
+
billingSwitch: {
|
|
144
|
+
...pricingContext.moneyPriceData.billingSwitch,
|
|
145
|
+
defaultKey: 'onetime',
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
[pricingContext],
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
const requestPricingModal = useCallback(
|
|
153
|
+
(mode: PricingModalMode) => {
|
|
154
|
+
if (!pricingContext || !navPopover?.openPricingModal) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
const dataForMode = getModalMoneyPriceData(mode);
|
|
158
|
+
if (!dataForMode) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
navPopover.openPricingModal({
|
|
163
|
+
mode,
|
|
164
|
+
modalMoneyPriceData: dataForMode,
|
|
165
|
+
pricingContext,
|
|
166
|
+
});
|
|
167
|
+
return true;
|
|
168
|
+
},
|
|
169
|
+
[getModalMoneyPriceData, navPopover, pricingContext],
|
|
170
|
+
);
|
|
171
|
+
|
|
172
|
+
const executeAuthAction = useCallback(
|
|
173
|
+
async (action: CreditAuthAction) => {
|
|
174
|
+
const endpoint = action.endpoint ?? pricingContext?.customerPortalApiEndpoint;
|
|
175
|
+
if (!endpoint) {
|
|
176
|
+
console.warn('[CreditOverview] Auth action requires an endpoint.');
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
return redirectToCustomerPortal({
|
|
181
|
+
customerPortalApiEndpoint: endpoint,
|
|
182
|
+
redirectToSignIn,
|
|
183
|
+
returnUrl: action.returnUrl,
|
|
184
|
+
});
|
|
185
|
+
},
|
|
186
|
+
[pricingContext, redirectToSignIn],
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
const executeConfiguredAction = useCallback(
|
|
190
|
+
async (
|
|
191
|
+
action: CreditActionConfig,
|
|
192
|
+
key: CreditActionKey,
|
|
193
|
+
device: 'desktop' | 'mobile',
|
|
194
|
+
) => {
|
|
195
|
+
if (device === 'mobile' && action.kind === 'modal') {
|
|
196
|
+
console.warn(
|
|
197
|
+
`[CreditOverview] Mobile device cannot run modal action for "${key}". Adjust configuration.`,
|
|
198
|
+
);
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
switch (action.kind) {
|
|
203
|
+
case 'modal': {
|
|
204
|
+
const opened = requestPricingModal(action.mode);
|
|
205
|
+
if (opened) {
|
|
206
|
+
closeNavPopover({ defer: true });
|
|
207
|
+
}
|
|
208
|
+
return opened;
|
|
209
|
+
}
|
|
210
|
+
case 'redirect': {
|
|
211
|
+
if (!action.url || action.url === '#') {
|
|
212
|
+
console.warn(`[CreditOverview] Redirect URL missing for action "${key}".`);
|
|
213
|
+
return false;
|
|
214
|
+
}
|
|
215
|
+
window.location.href = action.url;
|
|
216
|
+
closeNavPopover();
|
|
217
|
+
return true;
|
|
218
|
+
}
|
|
219
|
+
case 'auth': {
|
|
220
|
+
const handled = await executeAuthAction(action);
|
|
221
|
+
if (handled) {
|
|
222
|
+
closeNavPopover();
|
|
223
|
+
}
|
|
224
|
+
return handled;
|
|
225
|
+
}
|
|
226
|
+
case 'custom': {
|
|
227
|
+
const handler = customActionHandlers?.[action.handlerKey];
|
|
228
|
+
if (!handler) {
|
|
229
|
+
console.warn(
|
|
230
|
+
`[CreditOverview] Custom action "${action.handlerKey}" missing handler for "${key}".`,
|
|
231
|
+
);
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
await handler();
|
|
235
|
+
closeNavPopover();
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
default:
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
[closeNavPopover, customActionHandlers, executeAuthAction, requestPricingModal],
|
|
243
|
+
);
|
|
244
|
+
|
|
245
|
+
const runConfiguredAction = useCallback(
|
|
246
|
+
async (key: CreditActionKey, fallback: () => Promise<void> | void) => {
|
|
247
|
+
const device: 'desktop' | 'mobile' = isMobile ? 'mobile' : 'desktop';
|
|
248
|
+
const deviceAction = ctaBehaviors?.[key]?.[device];
|
|
249
|
+
|
|
250
|
+
if (deviceAction) {
|
|
251
|
+
const handled = await executeConfiguredAction(deviceAction, key, device);
|
|
252
|
+
if (handled) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
console.warn(
|
|
256
|
+
`[CreditOverview] Configured action "${key}" for ${device} did not complete successfully. Falling back to default behavior.`,
|
|
257
|
+
);
|
|
258
|
+
} else if (ctaBehaviors?.[key]) {
|
|
259
|
+
console.warn(
|
|
260
|
+
`[CreditOverview] Missing ${device} configuration for action "${key}". Falling back to default behavior.`,
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
await Promise.resolve(fallback());
|
|
265
|
+
},
|
|
266
|
+
[ctaBehaviors, executeConfiguredAction, isMobile],
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
const fallbackSubscribe = useCallback(async () => {
|
|
270
|
+
if (!isMobile) {
|
|
271
|
+
const opened = requestPricingModal('subscription');
|
|
272
|
+
if (opened) {
|
|
273
|
+
closeNavPopover({ defer: true });
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
console.warn(
|
|
279
|
+
`[CreditOverview] Missing subscribe action for ${isMobile ? 'mobile' : 'desktop'} device. Dropdown will simply close.`,
|
|
280
|
+
);
|
|
281
|
+
closeNavPopover();
|
|
282
|
+
}, [closeNavPopover, isMobile, requestPricingModal]);
|
|
283
|
+
|
|
284
|
+
const fallbackManage = useCallback(async () => {
|
|
285
|
+
const handled = await redirectToCustomerPortal({
|
|
286
|
+
customerPortalApiEndpoint: pricingContext?.customerPortalApiEndpoint,
|
|
287
|
+
redirectToSignIn,
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
if (handled) {
|
|
291
|
+
closeNavPopover();
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
if (!isMobile) {
|
|
296
|
+
const opened = requestPricingModal('subscription');
|
|
297
|
+
if (opened) {
|
|
298
|
+
closeNavPopover({ defer: true });
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}, [
|
|
302
|
+
closeNavPopover,
|
|
303
|
+
isMobile,
|
|
304
|
+
pricingContext,
|
|
305
|
+
redirectToSignIn,
|
|
306
|
+
requestPricingModal,
|
|
307
|
+
]);
|
|
308
|
+
|
|
309
|
+
const fallbackOnetime = useCallback(async () => {
|
|
310
|
+
if (!isMobile) {
|
|
311
|
+
const opened = requestPricingModal('onetime');
|
|
312
|
+
if (opened) {
|
|
313
|
+
closeNavPopover({ defer: true });
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
console.warn(
|
|
319
|
+
`[CreditOverview] Missing onetime action for ${isMobile ? 'mobile' : 'desktop'} device. Dropdown will simply close.`,
|
|
320
|
+
);
|
|
321
|
+
closeNavPopover();
|
|
322
|
+
}, [closeNavPopover, isMobile, requestPricingModal]);
|
|
323
|
+
|
|
324
|
+
const handleSubscribeAction = useCallback(async () => {
|
|
325
|
+
if (subscription) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
await runConfiguredAction('subscribe', fallbackSubscribe);
|
|
330
|
+
}, [fallbackSubscribe, runConfiguredAction, subscription]);
|
|
331
|
+
|
|
332
|
+
const handleManageAction = useCallback(async () => {
|
|
333
|
+
if (!subscription) {
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
await runConfiguredAction('manage', fallbackManage);
|
|
338
|
+
}, [fallbackManage, runConfiguredAction, subscription]);
|
|
339
|
+
|
|
340
|
+
const handleOnetimeAction = useCallback(async () => {
|
|
341
|
+
await runConfiguredAction('onetime', fallbackOnetime);
|
|
342
|
+
}, [fallbackOnetime, runConfiguredAction]);
|
|
343
|
+
|
|
344
|
+
useLayoutEffect(() => {
|
|
345
|
+
if (userToggledRef.current) {
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
setBucketExpanded(!isMobile);
|
|
349
|
+
}, [isMobile]);
|
|
350
|
+
|
|
351
|
+
const toggleBucketExpanded = useCallback(() => {
|
|
352
|
+
userToggledRef.current = true;
|
|
353
|
+
setBucketExpanded((prev) => !prev);
|
|
354
|
+
}, []);
|
|
355
|
+
|
|
356
|
+
const expandBuckets = useCallback(() => {
|
|
357
|
+
userToggledRef.current = true;
|
|
358
|
+
setBucketExpanded(true);
|
|
359
|
+
}, []);
|
|
360
|
+
|
|
361
|
+
return (
|
|
362
|
+
<section
|
|
363
|
+
className={cn(
|
|
364
|
+
"flex flex-col gap-2 p-2 shadow-inner rounded-xl bg-white dark:bg-slate-900",
|
|
365
|
+
className
|
|
366
|
+
)}
|
|
367
|
+
>
|
|
368
|
+
{/* Primary Card - Total Credits + Subscription */}
|
|
369
|
+
<header className="relative rounded-2xl bg-linear-to-bl from-indigo-200/60 via-indigo-400/90 to-purple-200/50 p-4 shadow-inner dark:from-indigo-300/20 dark:via-slate-400 dark:to-slate-500/50 sm:p-6">
|
|
370
|
+
<div className="flex flex-col gap-2 sm:gap-3">
|
|
371
|
+
<div className="flex items-center justify-start rounded-full ">
|
|
372
|
+
<icons.Gem aria-hidden className="mr-2 h-6 w-6 sm:h-8 sm:w-8" />
|
|
373
|
+
<span className="text-sm font-medium sm:text-base">{translations.totalLabel}</span>
|
|
374
|
+
</div>
|
|
375
|
+
<div className="flex justify-center text-3xl font-semibold leading-tight sm:text-4xl">
|
|
376
|
+
{formatNumber(locale, data.totalBalance)}
|
|
377
|
+
</div>
|
|
378
|
+
<div className="flex-1 flex-col gap-1">
|
|
379
|
+
<p className="text-xs text-gray-700 dark:text-slate-100 sm:text-sm">
|
|
380
|
+
{translations.subscriptionPeriodLabel}
|
|
381
|
+
</p>
|
|
382
|
+
<h4 className="text-xl font-semibold sm:text-2xl">
|
|
383
|
+
{subscription ? subscription.planName : translations.subscriptionInactive}
|
|
384
|
+
</h4>
|
|
385
|
+
</div>
|
|
386
|
+
<div className="pt-2 sm:pt-0">
|
|
387
|
+
<GradientButton
|
|
388
|
+
title={subscription ? translations.subscriptionManage : translations.subscribePay}
|
|
389
|
+
align="center"
|
|
390
|
+
icon={subscription ? <icons.Settings2 /> : <icons.Bell />}
|
|
391
|
+
openInNewTab={false}
|
|
392
|
+
className="w-full"
|
|
393
|
+
onClick={subscription ? handleManageAction : handleSubscribeAction}
|
|
394
|
+
/>
|
|
395
|
+
</div>
|
|
396
|
+
</div>
|
|
397
|
+
<div className="absolute right-3 top-3 sm:right-6 sm:top-6">
|
|
398
|
+
<HoverInfo
|
|
399
|
+
label={translations.totalLabel}
|
|
400
|
+
description={translations.summaryDescription}
|
|
401
|
+
/>
|
|
402
|
+
</div>
|
|
403
|
+
</header>
|
|
404
|
+
|
|
405
|
+
{/* Credit Details Section */}
|
|
406
|
+
<section className="relative flex flex-col gap-3 rounded-2xl border p-4 shadow-inner sm:gap-2 sm:p-5">
|
|
407
|
+
<div className="flex flex-wrap items-center justify-between gap-2">
|
|
408
|
+
<h3 className="text-base font-semibold text-gray-500 dark:text-slate-100 sm:text-lg">
|
|
409
|
+
{translations.bucketsTitle}
|
|
410
|
+
</h3>
|
|
411
|
+
{hasBuckets ? (
|
|
412
|
+
<button
|
|
413
|
+
type="button"
|
|
414
|
+
aria-expanded={bucketExpanded}
|
|
415
|
+
aria-label={bucketExpanded ? translations.hiddenDetail : translations.expandDetail}
|
|
416
|
+
onClick={toggleBucketExpanded}
|
|
417
|
+
className="flex h-7 w-7 items-center justify-center rounded-full border border-transparent bg-white text-purple-600 shadow-[0_6px_20px_rgba(99,102,241,0.25)] transition-colors hover:text-purple-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-purple-500 dark:bg-[#1b1541] dark:text-purple-100 dark:hover:text-purple-50 dark:shadow-[0_6px_22px_rgba(112,86,255,0.35)]"
|
|
418
|
+
>
|
|
419
|
+
{bucketExpanded ? (
|
|
420
|
+
<icons.ChevronUp className="h-4 w-4" />
|
|
421
|
+
) : (
|
|
422
|
+
<icons.ChevronDown className="h-4 w-4" />
|
|
423
|
+
)}
|
|
424
|
+
</button>
|
|
425
|
+
) : null}
|
|
426
|
+
</div>
|
|
427
|
+
{hasBuckets ? (
|
|
428
|
+
bucketExpanded ? (
|
|
429
|
+
<ul className="flex flex-col gap-2">
|
|
430
|
+
{buckets.map((bucket) => {
|
|
431
|
+
const balanceDisplay = formatNumber(locale, bucket.balance);
|
|
432
|
+
return (
|
|
433
|
+
<li
|
|
434
|
+
key={bucket.kind}
|
|
435
|
+
data-credit-kind={bucket.kind}
|
|
436
|
+
className="rounded-2xl border border-slate-200/70 bg-white/85 px-3 py-3 text-sm shadow-sm transition-transform hover:-translate-y-0.5 hover:shadow-md dark:border-slate-800/60 dark:bg-slate-900/60 sm:px-4"
|
|
437
|
+
>
|
|
438
|
+
<div className="grid grid-cols-[1fr_auto] items-center gap-3 text-xs sm:text-sm">
|
|
439
|
+
<span className="flex min-w-0 items-center gap-2">
|
|
440
|
+
<span className="max-w-full truncate rounded-full bg-purple-50 px-2 py-1 text-xs font-semibold text-purple-600 shadow-sm dark:bg-purple-500/20 dark:text-purple-100 sm:text-sm">
|
|
441
|
+
{bucket.computedLabel}
|
|
442
|
+
</span>
|
|
443
|
+
</span>
|
|
444
|
+
<span className="flex min-w-0 justify-end">
|
|
445
|
+
<span
|
|
446
|
+
className="text-right text-base font-semibold leading-tight text-gray-500 dark:text-slate-100 sm:text-lg"
|
|
447
|
+
title={balanceDisplay}
|
|
448
|
+
>
|
|
449
|
+
{balanceDisplay}
|
|
450
|
+
</span>
|
|
451
|
+
</span>
|
|
452
|
+
</div>
|
|
453
|
+
<div className="mt-3 flex justify-end gap-2">
|
|
454
|
+
<span className="text-[11px] font-semibold text-gray-500 dark:text-slate-100 sm:text-xs">
|
|
455
|
+
{translations.expiredAtLabel}: {bucket.expiresAt}
|
|
456
|
+
</span>
|
|
457
|
+
</div>
|
|
458
|
+
</li>
|
|
459
|
+
);
|
|
460
|
+
})}
|
|
461
|
+
</ul>
|
|
462
|
+
) : (
|
|
463
|
+
<button
|
|
464
|
+
type="button"
|
|
465
|
+
onClick={expandBuckets}
|
|
466
|
+
|
|
467
|
+
className="w-full rounded-2xl border border-slate-200/70 bg-white/85 p-6 sm:px-4 text-sm shadow-sm transition-transform hover:-translate-y-0.5 hover:shadow-md dark:border-slate-800/60 dark:bg-slate-900/60 hover:text-purple-500"
|
|
468
|
+
>
|
|
469
|
+
{translations.expandDetail}
|
|
470
|
+
</button>
|
|
471
|
+
)
|
|
472
|
+
) : (
|
|
473
|
+
<div className="w-full rounded-2xl border border-slate-200/70 bg-white/85 p-6 sm:px-4 text-sm shadow-sm transition-transform dark:border-slate-800/60 dark:bg-slate-900/60 text-center">
|
|
474
|
+
{translations.bucketsEmpty}
|
|
475
|
+
</div>
|
|
476
|
+
)}
|
|
477
|
+
<GradientButton
|
|
478
|
+
title={translations.onetimeBuy}
|
|
479
|
+
icon={<icons.ShoppingCart />}
|
|
480
|
+
align="center"
|
|
481
|
+
className="w-full text-sm sm:text-base"
|
|
482
|
+
onClick={handleOnetimeAction}
|
|
483
|
+
/>
|
|
484
|
+
</section>
|
|
485
|
+
</section>
|
|
486
|
+
);
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
function deriveStatus(
|
|
490
|
+
expiresAt?: string,
|
|
491
|
+
thresholdDays = 7,
|
|
492
|
+
): CreditBucketStatus {
|
|
493
|
+
if (!expiresAt) {
|
|
494
|
+
return 'active';
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
const expires = new Date(expiresAt);
|
|
498
|
+
if (Number.isNaN(expires.getTime())) {
|
|
499
|
+
return 'active';
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
const diff = differenceInDays(expires, new Date());
|
|
503
|
+
if (diff < 0) {
|
|
504
|
+
return 'expired';
|
|
505
|
+
}
|
|
506
|
+
if (diff <= thresholdDays) {
|
|
507
|
+
return 'expiringSoon';
|
|
508
|
+
}
|
|
509
|
+
return 'active';
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
function differenceInDays(later: Date, earlier: Date): number {
|
|
513
|
+
const msInDay = 86_400_000;
|
|
514
|
+
return Math.floor((later.getTime() - earlier.getTime()) / msInDay);
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
interface HoverInfoProps {
|
|
518
|
+
label?: string;
|
|
519
|
+
description?: string;
|
|
520
|
+
variant?: 'default' | 'muted';
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
function HoverInfo({ description, variant = 'default' }: HoverInfoProps) {
|
|
524
|
+
if (!description) {
|
|
525
|
+
return null;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
return (
|
|
529
|
+
<span className="group relative inline-flex shrink-0">
|
|
530
|
+
<button
|
|
531
|
+
type="button"
|
|
532
|
+
aria-label={description}
|
|
533
|
+
className={cn(
|
|
534
|
+
'flex h-7 w-7 items-center justify-center rounded-full border text-xs transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-purple-500',
|
|
535
|
+
variant === 'muted'
|
|
536
|
+
? 'border-transparent bg-slate-100 text-slate-500 hover:text-slate-700 dark:bg-slate-800/70 dark:text-slate-100 dark:hover:text-slate-100'
|
|
537
|
+
: 'border-transparent bg-white text-purple-600 shadow-[0_6px_20px_rgba(99,102,241,0.25)] hover:text-purple-700 dark:bg-[#1b1541] dark:text-purple-100 dark:hover:text-purple-50 dark:shadow-[0_6px_22px_rgba(112,86,255,0.35)]',
|
|
538
|
+
)}
|
|
539
|
+
>
|
|
540
|
+
<icons.CircleQuestionMark className="h-3.5 w-3.5" />
|
|
541
|
+
</button>
|
|
542
|
+
<span
|
|
543
|
+
role="tooltip"
|
|
544
|
+
className="pointer-events-none absolute top-full right-full z-50 mt-3 w-max max-w-[260px] translate-x-4 rounded-xl border border-slate-200/70 bg-slate-900/95 px-3 py-2 text-xs leading-relaxed text-white opacity-0 shadow-xl ring-1 ring-black/30 transition-all duration-150 ease-out group-hover:-translate-y-1 group-hover:opacity-100 group-focus-within:-translate-y-1 group-focus-within:opacity-100 dark:border-slate-700/60 dark:bg-slate-800/95"
|
|
545
|
+
>
|
|
546
|
+
<span className="mt-1 block text-white dark:text-slate-100">
|
|
547
|
+
{description}
|
|
548
|
+
</span>
|
|
549
|
+
</span>
|
|
550
|
+
</span>
|
|
551
|
+
);
|
|
552
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { getTranslations } from 'next-intl/server';
|
|
2
|
+
import { CreditOverviewClient } from './credit-overview-client';
|
|
3
|
+
import type { CreditOverviewTranslations } from './credit-overview-client';
|
|
4
|
+
import type { CreditOverviewData } from './types';
|
|
5
|
+
|
|
6
|
+
export interface CreditOverviewProps {
|
|
7
|
+
locale: string;
|
|
8
|
+
data: CreditOverviewData;
|
|
9
|
+
className?: string;
|
|
10
|
+
expiringSoonThresholdDays?: number;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export async function CreditOverview({
|
|
14
|
+
locale,
|
|
15
|
+
data,
|
|
16
|
+
className,
|
|
17
|
+
expiringSoonThresholdDays,
|
|
18
|
+
}: CreditOverviewProps) {
|
|
19
|
+
const t = await getTranslations({ locale, namespace: 'credit' });
|
|
20
|
+
|
|
21
|
+
const translations: CreditOverviewTranslations = {
|
|
22
|
+
summaryDescription: t('summary.description'),
|
|
23
|
+
totalLabel: t('summary.totalLabel'),
|
|
24
|
+
bucketsTitle: t('buckets.title'),
|
|
25
|
+
bucketsEmpty: t('buckets.empty'),
|
|
26
|
+
expiredAtLabel: t('buckets.expiredAtLabel'),
|
|
27
|
+
expandDetail: t('buckets.expandDetail'),
|
|
28
|
+
hiddenDetail: t('buckets.hiddenDetail'),
|
|
29
|
+
bucketDefaultLabels: getBucketLabels(t),
|
|
30
|
+
subscriptionPeriodLabel: t('subscription.periodLabel'),
|
|
31
|
+
subscriptionManage: t('subscription.manage'),
|
|
32
|
+
subscriptionInactive: t('subscription.inactive'),
|
|
33
|
+
subscribePay: t('subscription.pay'),
|
|
34
|
+
onetimeBuy: t('onetime.buy'),
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
return (
|
|
38
|
+
<CreditOverviewClient
|
|
39
|
+
data={data}
|
|
40
|
+
locale={locale}
|
|
41
|
+
translations={translations}
|
|
42
|
+
className={className}
|
|
43
|
+
expiringSoonThresholdDays={expiringSoonThresholdDays}
|
|
44
|
+
/>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function getBucketLabels(
|
|
49
|
+
t: Awaited<ReturnType<typeof getTranslations>>,
|
|
50
|
+
): Record<string, string> {
|
|
51
|
+
const labels = t.raw('buckets.labels') as Record<string, string>;
|
|
52
|
+
return labels ?? {};
|
|
53
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
InitUserContext,
|
|
3
|
+
MoneyPriceConfig,
|
|
4
|
+
MoneyPriceData,
|
|
5
|
+
} from '../money-price/money-price-types';
|
|
6
|
+
|
|
7
|
+
export type PricingModalMode = 'subscription' | 'onetime';
|
|
8
|
+
|
|
9
|
+
export type CreditActionConfig =
|
|
10
|
+
| CreditModalAction
|
|
11
|
+
| CreditRedirectAction
|
|
12
|
+
| CreditAuthAction
|
|
13
|
+
| CreditCustomAction;
|
|
14
|
+
|
|
15
|
+
export interface CreditModalAction {
|
|
16
|
+
kind: 'modal';
|
|
17
|
+
mode: PricingModalMode;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface CreditRedirectAction {
|
|
21
|
+
kind: 'redirect';
|
|
22
|
+
url: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface CreditAuthAction {
|
|
26
|
+
kind: 'auth';
|
|
27
|
+
endpoint?: string;
|
|
28
|
+
returnUrl?: string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface CreditCustomAction {
|
|
32
|
+
kind: 'custom';
|
|
33
|
+
handlerKey: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface DeviceAwareCreditActionConfig {
|
|
37
|
+
desktop?: CreditActionConfig;
|
|
38
|
+
mobile?: CreditActionConfig;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface CreditCTAConfig {
|
|
42
|
+
subscribe?: DeviceAwareCreditActionConfig;
|
|
43
|
+
manage?: DeviceAwareCreditActionConfig;
|
|
44
|
+
onetime?: DeviceAwareCreditActionConfig;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type CreditBucketStatus = 'active' | 'expiringSoon' | 'expired';
|
|
48
|
+
|
|
49
|
+
export interface CreditBucket {
|
|
50
|
+
/** 业务方自定义的积分类型标识,用于映射翻译或埋点 */
|
|
51
|
+
kind: string;
|
|
52
|
+
/** 若提供则使用该名称,否则由组件根据 kind 使用默认翻译 */
|
|
53
|
+
label?: string;
|
|
54
|
+
/** 当前积分余额 */
|
|
55
|
+
balance: number;
|
|
56
|
+
/** 该类型积分的额度上限 */
|
|
57
|
+
limit: number;
|
|
58
|
+
/** 可选状态标签,用于强调过期等状态 */
|
|
59
|
+
status?: CreditBucketStatus;
|
|
60
|
+
/** 积分过期时间(本地时区字符串),用于组件内部推导状态 */
|
|
61
|
+
expiresAt?: string;
|
|
62
|
+
/** 进度百分比(0-100);未提供时组件按 balance/limit 计算 */
|
|
63
|
+
progressPercent?: number;
|
|
64
|
+
/** 任何额外说明,如剩余天数、使用限制等 */
|
|
65
|
+
description?: string;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface SubscriptionInfo {
|
|
69
|
+
planName: string;
|
|
70
|
+
periodStart?: string;
|
|
71
|
+
periodEnd?: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface CreditOverviewData {
|
|
75
|
+
totalBalance: number;
|
|
76
|
+
buckets: CreditBucket[];
|
|
77
|
+
subscription?: SubscriptionInfo;
|
|
78
|
+
pricingContext?: CreditPricingContext;
|
|
79
|
+
ctaBehaviors?: CreditCTAConfig;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export interface CreditPricingContext {
|
|
83
|
+
moneyPriceData: MoneyPriceData;
|
|
84
|
+
moneyPriceConfig: MoneyPriceConfig;
|
|
85
|
+
checkoutApiEndpoint?: string;
|
|
86
|
+
customerPortalApiEndpoint?: string;
|
|
87
|
+
enableSubscriptionUpgrade?: boolean;
|
|
88
|
+
initUserContext?: InitUserContext;
|
|
89
|
+
}
|