@flamingo-stack/openframe-frontend-core 0.0.234 → 0.0.235
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/{chunk-DHCGJW3G.js → chunk-2MHQE5ET.js} +8 -6
- package/dist/chunk-2MHQE5ET.js.map +1 -0
- package/dist/{chunk-E6B4B7GM.cjs → chunk-4Y7427BF.cjs} +49 -49
- package/dist/{chunk-E6B4B7GM.cjs.map → chunk-4Y7427BF.cjs.map} +1 -1
- package/dist/chunk-76NMNINV.js +162 -0
- package/dist/chunk-76NMNINV.js.map +1 -0
- package/dist/{chunk-Z46NRJWW.js → chunk-ABSGXVGP.js} +2 -2
- package/dist/chunk-CG6AZ2MC.cjs +162 -0
- package/dist/chunk-CG6AZ2MC.cjs.map +1 -0
- package/dist/{chunk-GSD52WAS.js → chunk-EI36Q3EC.js} +4 -4
- package/dist/{chunk-UYWJM2LS.cjs → chunk-ETFVD7QU.cjs} +12 -12
- package/dist/{chunk-UYWJM2LS.cjs.map → chunk-ETFVD7QU.cjs.map} +1 -1
- package/dist/{chunk-YZDUOUMB.js → chunk-FWYMYXL7.js} +2 -2
- package/dist/{chunk-F6F525T7.js → chunk-GW6J7IPD.js} +2 -2
- package/dist/{chunk-52PRKXK4.cjs → chunk-HJRWBA7M.cjs} +32 -32
- package/dist/{chunk-52PRKXK4.cjs.map → chunk-HJRWBA7M.cjs.map} +1 -1
- package/dist/{chunk-IBSZ27Y7.cjs → chunk-M4CWPAIB.cjs} +7 -7
- package/dist/{chunk-IBSZ27Y7.cjs.map → chunk-M4CWPAIB.cjs.map} +1 -1
- package/dist/{chunk-EO3RG6II.cjs → chunk-MDWFPCHN.cjs} +16 -16
- package/dist/{chunk-EO3RG6II.cjs.map → chunk-MDWFPCHN.cjs.map} +1 -1
- package/dist/{chunk-BOF5MSRY.js → chunk-VO3K4EEG.js} +3 -3
- package/dist/{chunk-MWW7LKDN.cjs → chunk-W4NBBPQL.cjs} +8 -8
- package/dist/{chunk-MWW7LKDN.cjs.map → chunk-W4NBBPQL.cjs.map} +1 -1
- package/dist/{chunk-W7P7RH2X.cjs → chunk-X4SQ2S7Z.cjs} +1275 -1273
- package/dist/chunk-X4SQ2S7Z.cjs.map +1 -0
- package/dist/{chunk-GYRRSOTR.cjs → chunk-X6WUWOL5.cjs} +38 -38
- package/dist/{chunk-GYRRSOTR.cjs.map → chunk-X6WUWOL5.cjs.map} +1 -1
- package/dist/{chunk-LLTUSEHF.js → chunk-Z6FT2JDQ.js} +3 -3
- package/dist/{chunk-D3S2ODUI.js → chunk-ZLQT3T4F.js} +4 -4
- package/dist/components/chat/index.cjs +6 -6
- package/dist/components/chat/index.js +5 -5
- package/dist/components/contact/index.cjs +7 -7
- package/dist/components/contact/index.js +6 -6
- package/dist/components/features/index.cjs +6 -6
- package/dist/components/features/index.js +5 -5
- package/dist/components/icons/index.cjs +3 -3
- package/dist/components/icons/index.js +2 -2
- package/dist/components/index.cjs +236 -236
- package/dist/components/index.js +8 -8
- package/dist/components/navigation/index.cjs +6 -6
- package/dist/components/navigation/index.js +5 -5
- package/dist/components/onboarding-guides/index.cjs +30 -30
- package/dist/components/onboarding-guides/index.js +7 -7
- package/dist/components/resizable.d.ts +1 -1
- package/dist/components/tickets/index.cjs +89 -89
- package/dist/components/tickets/index.js +8 -8
- package/dist/components/ui/file-manager/index.cjs +69 -69
- package/dist/components/ui/file-manager/index.js +2 -2
- package/dist/components/ui/index.cjs +6 -6
- package/dist/components/ui/index.js +5 -5
- package/dist/hooks/index.cjs +4 -4
- package/dist/hooks/index.js +3 -3
- package/dist/index.cjs +6 -6
- package/dist/index.js +5 -5
- package/dist/platform-domains.cjs +127 -0
- package/dist/platform-domains.cjs.map +1 -0
- package/dist/platform-domains.d.ts +75 -0
- package/dist/platform-domains.d.ts.map +1 -0
- package/dist/platform-domains.js +115 -0
- package/dist/platform-domains.js.map +1 -0
- package/dist/types/index.cjs +80 -0
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js +80 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/cn.d.ts +8 -43
- package/dist/utils/cn.d.ts.map +1 -1
- package/dist/utils/index.cjs +106 -72
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +106 -72
- package/dist/utils/index.js.map +1 -1
- package/package.json +7 -1
- package/src/__tests__/platform-domains.test.ts +137 -0
- package/src/platform-domains.ts +238 -0
- package/src/utils/cn.ts +18 -134
- package/src/utils/index.ts +7 -2
- package/dist/chunk-2TBN53KY.cjs +0 -122
- package/dist/chunk-2TBN53KY.cjs.map +0 -1
- package/dist/chunk-DHCGJW3G.js.map +0 -1
- package/dist/chunk-W7P7RH2X.cjs.map +0 -1
- package/dist/chunk-YICWWZ3Z.js +0 -122
- package/dist/chunk-YICWWZ3Z.js.map +0 -1
- /package/dist/{chunk-Z46NRJWW.js.map → chunk-ABSGXVGP.js.map} +0 -0
- /package/dist/{chunk-GSD52WAS.js.map → chunk-EI36Q3EC.js.map} +0 -0
- /package/dist/{chunk-YZDUOUMB.js.map → chunk-FWYMYXL7.js.map} +0 -0
- /package/dist/{chunk-F6F525T7.js.map → chunk-GW6J7IPD.js.map} +0 -0
- /package/dist/{chunk-BOF5MSRY.js.map → chunk-VO3K4EEG.js.map} +0 -0
- /package/dist/{chunk-LLTUSEHF.js.map → chunk-Z6FT2JDQ.js.map} +0 -0
- /package/dist/{chunk-D3S2ODUI.js.map → chunk-ZLQT3T4F.js.map} +0 -0
package/dist/chunk-YICWWZ3Z.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
__esm
|
|
4
|
-
} from "./chunk-GGWZFCYS.js";
|
|
5
|
-
|
|
6
|
-
// src/utils/cn.ts
|
|
7
|
-
import { clsx } from "clsx";
|
|
8
|
-
import { extendTailwindMerge } from "tailwind-merge";
|
|
9
|
-
function cn(...inputs) {
|
|
10
|
-
return twMerge(clsx(inputs));
|
|
11
|
-
}
|
|
12
|
-
function getPlatformProductionUrl(platform) {
|
|
13
|
-
switch (platform) {
|
|
14
|
-
// *-hub platforms — env var convention: NEXT_PUBLIC_<NAME>_HUB_URL
|
|
15
|
-
case "marketing-hub":
|
|
16
|
-
return process.env.NEXT_PUBLIC_MARKETING_HUB_URL || "https://marketing-hub.flamingo.so";
|
|
17
|
-
case "company-hub":
|
|
18
|
-
return process.env.NEXT_PUBLIC_COMPANY_HUB_URL || "https://company-hub.flamingo.so";
|
|
19
|
-
case "product-hub":
|
|
20
|
-
return process.env.NEXT_PUBLIC_PRODUCT_HUB_URL || "https://product-hub.flamingo.so";
|
|
21
|
-
case "revenue-hub":
|
|
22
|
-
return process.env.NEXT_PUBLIC_REVENUE_HUB_URL || "https://revenue-hub.flamingo.so";
|
|
23
|
-
case "people-hub":
|
|
24
|
-
return process.env.NEXT_PUBLIC_PEOPLE_HUB_URL || "https://people-hub.flamingo.so";
|
|
25
|
-
// Standalone platforms — env var convention: NEXT_PUBLIC_<NAME>_URL
|
|
26
|
-
case "openmsp":
|
|
27
|
-
return process.env.NEXT_PUBLIC_OPENMSP_URL || "https://www.openmsp.ai";
|
|
28
|
-
case "flamingo":
|
|
29
|
-
return process.env.NEXT_PUBLIC_FLAMINGO_URL || "https://www.flamingo.run";
|
|
30
|
-
case "tmcg":
|
|
31
|
-
return process.env.NEXT_PUBLIC_TMCG_URL || "https://www.tmcg.miami";
|
|
32
|
-
case "flamingo-teaser":
|
|
33
|
-
return process.env.NEXT_PUBLIC_FLAMINGO_URL || "https://www.flamingo.run";
|
|
34
|
-
case "openframe":
|
|
35
|
-
return process.env.NEXT_PUBLIC_OPENFRAME_URL || "https://openframe.ai";
|
|
36
|
-
// OpenFrame product / dashboard — the "Start Free Trial" CTA target. DISTINCT from
|
|
37
|
-
// the `openframe` content hub above: production overrides that one to
|
|
38
|
-
// hub.openframe.ai via NEXT_PUBLIC_OPENFRAME_URL (the knowledge/docs deployment),
|
|
39
|
-
// so a product CTA must NOT reuse it. Defaults to the product apex so the CTA is
|
|
40
|
-
// correct even when the (optional) dashboard override is unset.
|
|
41
|
-
case "openframe-dashboard":
|
|
42
|
-
return process.env.NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL || "https://openframe.ai";
|
|
43
|
-
case "universal":
|
|
44
|
-
return process.env.NEXT_PUBLIC_FLAMINGO_URL || "https://www.flamingo.run";
|
|
45
|
-
default:
|
|
46
|
-
return process.env.NEXT_PUBLIC_FLAMINGO_URL || "https://www.flamingo.run";
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
function getAllPlatformBaseDomains() {
|
|
50
|
-
if (typeof window === "undefined") return [];
|
|
51
|
-
const hostname = window.location.hostname;
|
|
52
|
-
if (hostname === "localhost" || hostname === "127.0.0.1" || hostname.startsWith("127.")) {
|
|
53
|
-
return [];
|
|
54
|
-
}
|
|
55
|
-
const isVercelPreview = process.env.VERCEL_ENV === "preview" || process.env.NEXT_PUBLIC_VERCEL_ENV === "preview" || hostname.includes(".vercel.app");
|
|
56
|
-
if (isVercelPreview) {
|
|
57
|
-
return [".vercel.app", "vercel.app"];
|
|
58
|
-
}
|
|
59
|
-
const platformIdentifiers = [
|
|
60
|
-
"marketing-hub",
|
|
61
|
-
"company-hub",
|
|
62
|
-
"product-hub",
|
|
63
|
-
"revenue-hub",
|
|
64
|
-
"people-hub",
|
|
65
|
-
"openmsp",
|
|
66
|
-
"flamingo",
|
|
67
|
-
"tmcg",
|
|
68
|
-
"flamingo-teaser",
|
|
69
|
-
"openframe",
|
|
70
|
-
"universal"
|
|
71
|
-
];
|
|
72
|
-
const baseDomains = /* @__PURE__ */ new Set();
|
|
73
|
-
platformIdentifiers.forEach((platform) => {
|
|
74
|
-
try {
|
|
75
|
-
const url = getPlatformProductionUrl(platform);
|
|
76
|
-
const urlHostname = new URL(url).hostname;
|
|
77
|
-
const parts = urlHostname.split(".");
|
|
78
|
-
if (parts.length >= 2) {
|
|
79
|
-
const baseDomain = parts.slice(-2).join(".");
|
|
80
|
-
baseDomains.add(`.${baseDomain}`);
|
|
81
|
-
baseDomains.add(baseDomain);
|
|
82
|
-
}
|
|
83
|
-
} catch (error) {
|
|
84
|
-
console.warn("[Platform Domains] Failed to parse URL for platform:", platform, error);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
return Array.from(baseDomains);
|
|
88
|
-
}
|
|
89
|
-
function getBaseUrl(platform) {
|
|
90
|
-
if (process.env.NODE_ENV !== "production") {
|
|
91
|
-
return process.env.NEXT_PUBLIC_DEV_URL || "http://localhost:3000";
|
|
92
|
-
}
|
|
93
|
-
if (platform) {
|
|
94
|
-
return getPlatformProductionUrl(platform);
|
|
95
|
-
}
|
|
96
|
-
if (process.env.VERCEL_PROJECT_PRODUCTION_URL) {
|
|
97
|
-
return `https://${process.env.VERCEL_PROJECT_PRODUCTION_URL}`;
|
|
98
|
-
}
|
|
99
|
-
return "https://www.openmsp.ai";
|
|
100
|
-
}
|
|
101
|
-
var twMerge;
|
|
102
|
-
var init_cn = __esm({
|
|
103
|
-
"src/utils/cn.ts"() {
|
|
104
|
-
"use strict";
|
|
105
|
-
twMerge = extendTailwindMerge({
|
|
106
|
-
extend: {
|
|
107
|
-
classGroups: {
|
|
108
|
-
"ods-typography": ["text-h1", "text-h2", "text-h3", "text-h4", "text-h5", "text-h6"]
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
export {
|
|
116
|
-
cn,
|
|
117
|
-
getPlatformProductionUrl,
|
|
118
|
-
getAllPlatformBaseDomains,
|
|
119
|
-
getBaseUrl,
|
|
120
|
-
init_cn
|
|
121
|
-
};
|
|
122
|
-
//# sourceMappingURL=chunk-YICWWZ3Z.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/cn.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { extendTailwindMerge } from \"tailwind-merge\"\n\nconst twMerge = extendTailwindMerge<'ods-typography'>({\n extend: {\n classGroups: {\n 'ods-typography': ['text-h1', 'text-h2', 'text-h3', 'text-h4', 'text-h5', 'text-h6'],\n },\n },\n})\n\n/**\n * Combine class names with Tailwind's merge utility\n */\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\n/**\n * Platform URL mappings for production (with environment variable overrides)\n */\nexport function getPlatformProductionUrl(platform: string): string {\n switch (platform) {\n // *-hub platforms — env var convention: NEXT_PUBLIC_<NAME>_HUB_URL\n case 'marketing-hub':\n return process.env.NEXT_PUBLIC_MARKETING_HUB_URL || 'https://marketing-hub.flamingo.so';\n case 'company-hub':\n return process.env.NEXT_PUBLIC_COMPANY_HUB_URL || 'https://company-hub.flamingo.so';\n case 'product-hub':\n return process.env.NEXT_PUBLIC_PRODUCT_HUB_URL || 'https://product-hub.flamingo.so';\n case 'revenue-hub':\n return process.env.NEXT_PUBLIC_REVENUE_HUB_URL || 'https://revenue-hub.flamingo.so';\n case 'people-hub':\n return process.env.NEXT_PUBLIC_PEOPLE_HUB_URL || 'https://people-hub.flamingo.so';\n // Standalone platforms — env var convention: NEXT_PUBLIC_<NAME>_URL\n case 'openmsp':\n return process.env.NEXT_PUBLIC_OPENMSP_URL || 'https://www.openmsp.ai';\n case 'flamingo':\n return process.env.NEXT_PUBLIC_FLAMINGO_URL || 'https://www.flamingo.run';\n case 'tmcg':\n return process.env.NEXT_PUBLIC_TMCG_URL || 'https://www.tmcg.miami';\n case 'flamingo-teaser':\n return process.env.NEXT_PUBLIC_FLAMINGO_URL || 'https://www.flamingo.run';\n case 'openframe':\n return process.env.NEXT_PUBLIC_OPENFRAME_URL || 'https://openframe.ai';\n // OpenFrame product / dashboard — the \"Start Free Trial\" CTA target. DISTINCT from\n // the `openframe` content hub above: production overrides that one to\n // hub.openframe.ai via NEXT_PUBLIC_OPENFRAME_URL (the knowledge/docs deployment),\n // so a product CTA must NOT reuse it. Defaults to the product apex so the CTA is\n // correct even when the (optional) dashboard override is unset.\n case 'openframe-dashboard':\n return process.env.NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL || 'https://openframe.ai';\n case 'universal':\n return process.env.NEXT_PUBLIC_FLAMINGO_URL || 'https://www.flamingo.run';\n default:\n return process.env.NEXT_PUBLIC_FLAMINGO_URL || 'https://www.flamingo.run';\n }\n}\n\n/**\n * Get ALL unique base domains from getPlatformProductionUrl\n *\n * Extracts domains by calling getPlatformProductionUrl for each platform identifier.\n * Platform identifiers match the switch cases in getPlatformProductionUrl.\n *\n * Handles 3 cases:\n * 1. LOCALHOST DEBUG - No domain (hostname-specific cookies)\n * 2. VERCEL PREVIEW (*.vercel.app) - Use vercel.app domain\n * 3. PRODUCTION - Extract from ALL platform URLs via getPlatformProductionUrl\n *\n * @returns Array of all unique base domains (with and without wildcard)\n */\nexport function getAllPlatformBaseDomains(): string[] {\n if (typeof window === 'undefined') return []\n\n const hostname = window.location.hostname\n\n // Case 1: LOCALHOST DEBUG - no domains needed\n if (hostname === 'localhost' ||\n hostname === '127.0.0.1' ||\n hostname.startsWith('127.')) {\n return []\n }\n\n // Case 2: VERCEL PREVIEW - use vercel.app domain\n const isVercelPreview = process.env.VERCEL_ENV === 'preview' ||\n process.env.NEXT_PUBLIC_VERCEL_ENV === 'preview' ||\n hostname.includes('.vercel.app')\n\n if (isVercelPreview) {\n return ['.vercel.app', 'vercel.app']\n }\n\n // Case 3: PRODUCTION - extract from ALL platforms using getPlatformProductionUrl\n // Platform identifiers MUST match switch cases in getPlatformProductionUrl —\n // otherwise the corresponding domain is omitted from cookie scope.\n const platformIdentifiers = [\n 'marketing-hub', 'company-hub', 'product-hub', 'revenue-hub', 'people-hub',\n 'openmsp', 'flamingo', 'tmcg', 'flamingo-teaser', 'openframe', 'universal'\n ]\n\n const baseDomains = new Set<string>()\n\n platformIdentifiers.forEach(platform => {\n try {\n const url = getPlatformProductionUrl(platform)\n const urlHostname = new URL(url).hostname\n const parts = urlHostname.split('.')\n\n if (parts.length >= 2) {\n const baseDomain = parts.slice(-2).join('.')\n baseDomains.add(`.${baseDomain}`) // Wildcard\n baseDomains.add(baseDomain) // Non-wildcard\n }\n } catch (error) {\n console.warn('[Platform Domains] Failed to parse URL for platform:', platform, error)\n }\n })\n\n return Array.from(baseDomains)\n}\n\n/**\n * Get the application base URL for the current environment\n *\n * @param platform - Optional platform name (openmsp, flamingo, tmcg, openframe, etc.)\n * @returns The base URL with protocol (https:// or http://)\n *\n * Priority order:\n * 1. Environment variable override (NEXT_PUBLIC_*_URL)\n * 2. Platform-specific URL (if platform parameter provided)\n * 3. VERCEL_PROJECT_PRODUCTION_URL (Vercel production domain)\n * 4. Production fallback (current app or openmsp)\n * 5. Development (http://localhost:3000)\n *\n * Environment Variables (optional overrides — only set when production domain\n * differs from the hardcoded default):\n *\n * Hub deployments (NEXT_PUBLIC_<NAME>_HUB_URL):\n * - NEXT_PUBLIC_MARKETING_HUB_URL -> marketing-hub.flamingo.so\n * - NEXT_PUBLIC_COMPANY_HUB_URL -> company-hub.flamingo.so\n * - NEXT_PUBLIC_PRODUCT_HUB_URL -> product-hub.flamingo.so\n * - NEXT_PUBLIC_REVENUE_HUB_URL -> revenue-hub.flamingo.so\n * - NEXT_PUBLIC_PEOPLE_HUB_URL -> people-hub.flamingo.so\n *\n * Standalone platforms (NEXT_PUBLIC_<NAME>_URL):\n * - NEXT_PUBLIC_OPENMSP_URL -> www.openmsp.ai\n * - NEXT_PUBLIC_FLAMINGO_URL -> www.flamingo.run\n * - NEXT_PUBLIC_TMCG_URL -> www.tmcg.miami\n * - NEXT_PUBLIC_FLAMINGO_TEASER_URL -> www.flamingo.cx\n * - NEXT_PUBLIC_OPENFRAME_URL -> openframe.ai\n * - NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL -> openframe.ai (product/dashboard CTA target;\n * distinct from the openframe content hub, which prod points at hub.openframe.ai)\n *\n * @example\n * getBaseUrl() // Current app URL\n * getBaseUrl('flamingo') // https://www.flamingo.run (production) or http://localhost:3000 (dev)\n * getBaseUrl('openmsp') // https://www.openmsp.ai (or NEXT_PUBLIC_OPENMSP_URL if set)\n */\nexport function getBaseUrl(platform?: string): string {\n // In development, always use localhost (regardless of platform)\n if (process.env.NODE_ENV !== 'production') {\n return process.env.NEXT_PUBLIC_DEV_URL || 'http://localhost:3000'\n }\n\n // If platform is specified, return its production URL with env variable override support\n if (platform) {\n return getPlatformProductionUrl(platform)\n }\n\n // Production: Use Vercel domain if available\n if (process.env.VERCEL_PROJECT_PRODUCTION_URL) {\n return `https://${process.env.VERCEL_PROJECT_PRODUCTION_URL}`\n }\n\n // Production fallback: Use canonical www domain to avoid Google \"Page with redirect\" issue.\n // openmsp.ai redirects to www.openmsp.ai, so we set the base URL to the\n // final destination to ensure canonical URLs do not require a redirect.\n return 'https://www.openmsp.ai'\n}\n"],"mappings":";;;;;;AAAA,SAAS,YAA6B;AACtC,SAAS,2BAA2B;AAa7B,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;AAKO,SAAS,yBAAyB,UAA0B;AACjE,UAAQ,UAAU;AAAA;AAAA,IAEhB,KAAK;AACH,aAAO,QAAQ,IAAI,iCAAiC;AAAA,IACtD,KAAK;AACH,aAAO,QAAQ,IAAI,+BAA+B;AAAA,IACpD,KAAK;AACH,aAAO,QAAQ,IAAI,+BAA+B;AAAA,IACpD,KAAK;AACH,aAAO,QAAQ,IAAI,+BAA+B;AAAA,IACpD,KAAK;AACH,aAAO,QAAQ,IAAI,8BAA8B;AAAA;AAAA,IAEnD,KAAK;AACH,aAAO,QAAQ,IAAI,2BAA2B;AAAA,IAChD,KAAK;AACH,aAAO,QAAQ,IAAI,4BAA4B;AAAA,IACjD,KAAK;AACH,aAAO,QAAQ,IAAI,wBAAwB;AAAA,IAC7C,KAAK;AACH,aAAO,QAAQ,IAAI,4BAA4B;AAAA,IACjD,KAAK;AACH,aAAO,QAAQ,IAAI,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMlD,KAAK;AACH,aAAO,QAAQ,IAAI,uCAAuC;AAAA,IAC5D,KAAK;AACH,aAAO,QAAQ,IAAI,4BAA4B;AAAA,IACjD;AACE,aAAO,QAAQ,IAAI,4BAA4B;AAAA,EACnD;AACF;AAeO,SAAS,4BAAsC;AACpD,MAAI,OAAO,WAAW,YAAa,QAAO,CAAC;AAE3C,QAAM,WAAW,OAAO,SAAS;AAGjC,MAAI,aAAa,eACb,aAAa,eACb,SAAS,WAAW,MAAM,GAAG;AAC/B,WAAO,CAAC;AAAA,EACV;AAGA,QAAM,kBAAkB,QAAQ,IAAI,eAAe,aAC5B,QAAQ,IAAI,2BAA2B,aACvC,SAAS,SAAS,aAAa;AAEtD,MAAI,iBAAiB;AACnB,WAAO,CAAC,eAAe,YAAY;AAAA,EACrC;AAKA,QAAM,sBAAsB;AAAA,IAC1B;AAAA,IAAiB;AAAA,IAAe;AAAA,IAAe;AAAA,IAAe;AAAA,IAC9D;AAAA,IAAW;AAAA,IAAY;AAAA,IAAQ;AAAA,IAAmB;AAAA,IAAa;AAAA,EACjE;AAEA,QAAM,cAAc,oBAAI,IAAY;AAEpC,sBAAoB,QAAQ,cAAY;AACtC,QAAI;AACF,YAAM,MAAM,yBAAyB,QAAQ;AAC7C,YAAM,cAAc,IAAI,IAAI,GAAG,EAAE;AACjC,YAAM,QAAQ,YAAY,MAAM,GAAG;AAEnC,UAAI,MAAM,UAAU,GAAG;AACrB,cAAM,aAAa,MAAM,MAAM,EAAE,EAAE,KAAK,GAAG;AAC3C,oBAAY,IAAI,IAAI,UAAU,EAAE;AAChC,oBAAY,IAAI,UAAU;AAAA,MAC5B;AAAA,IACF,SAAS,OAAO;AACd,cAAQ,KAAK,wDAAwD,UAAU,KAAK;AAAA,IACtF;AAAA,EACF,CAAC;AAED,SAAO,MAAM,KAAK,WAAW;AAC/B;AAuCO,SAAS,WAAW,UAA2B;AAEpD,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,WAAO,QAAQ,IAAI,uBAAuB;AAAA,EAC5C;AAGA,MAAI,UAAU;AACZ,WAAO,yBAAyB,QAAQ;AAAA,EAC1C;AAGA,MAAI,QAAQ,IAAI,+BAA+B;AAC7C,WAAO,WAAW,QAAQ,IAAI,6BAA6B;AAAA,EAC7D;AAKA,SAAO;AACT;AAnLA,IAGM;AAHN;AAAA;AAAA;AAGA,IAAM,UAAU,oBAAsC;AAAA,MACpD,QAAQ;AAAA,QACN,aAAa;AAAA,UACX,kBAAkB,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS;AAAA,QACrF;AAAA,MACF;AAAA,IACF,CAAC;AAAA;AAAA;","names":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|