@kitelus/fly-ui 0.1.1 → 0.1.2
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/index.cjs +7 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -6
- package/dist/index.d.ts +7 -6
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -68,11 +68,11 @@ function buildKiteThemeStyle(theme) {
|
|
|
68
68
|
// src/components/kite/KiteLogo.tsx
|
|
69
69
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
70
70
|
var SIZE = {
|
|
71
|
-
xs: { icon: 16, text: 12, gap:
|
|
72
|
-
sm: { icon: 20, text: 14, gap:
|
|
73
|
-
md: { icon: 24, text: 16, gap:
|
|
74
|
-
lg: { icon: 28, text: 18, gap:
|
|
75
|
-
xl: { icon: 40, text: 24, gap:
|
|
71
|
+
xs: { icon: 16, text: 12, gap: 4, strongWeight: 600 },
|
|
72
|
+
sm: { icon: 20, text: 14, gap: 6, strongWeight: 600 },
|
|
73
|
+
md: { icon: 24, text: 16, gap: 7, strongWeight: 600 },
|
|
74
|
+
lg: { icon: 28, text: 18, gap: 8, strongWeight: 700 },
|
|
75
|
+
xl: { icon: 40, text: 24, gap: 9, strongWeight: 700 }
|
|
76
76
|
};
|
|
77
77
|
function KiteIcon({ size }) {
|
|
78
78
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
@@ -103,6 +103,7 @@ function KiteLogo({
|
|
|
103
103
|
showText = true,
|
|
104
104
|
name = "Fly",
|
|
105
105
|
subBrand = "UI",
|
|
106
|
+
iconTextGap,
|
|
106
107
|
theme,
|
|
107
108
|
className,
|
|
108
109
|
textClassName,
|
|
@@ -120,7 +121,7 @@ function KiteLogo({
|
|
|
120
121
|
kite_animations_default["kite-fu-logoWrap"],
|
|
121
122
|
className
|
|
122
123
|
),
|
|
123
|
-
style: { ...themeStyle, ...style, gap: cfg.gap },
|
|
124
|
+
style: { ...themeStyle, ...style, gap: iconTextGap ?? cfg.gap },
|
|
124
125
|
children: [
|
|
125
126
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(KiteIcon, { size: cfg.icon }),
|
|
126
127
|
showText ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/lib/cn.ts","../src/components/kite/kite-animations.module.css","../src/components/kite/theme.ts","../src/components/kite/KiteLogo.tsx","../src/components/kite/KiteLoader.tsx","../src/components/kite/KitePageLoader.tsx","../src/components/loading/Loading.tsx"],"sourcesContent":["export { KiteLogo } from \"./components/kite/KiteLogo\";\nexport type { KiteLogoProps } from \"./components/kite/KiteLogo\";\nexport type { KiteTheme } from \"./components/kite/theme\";\nexport { FlyUIThemeProvider, useFlyUITheme } from \"./components/kite/theme\";\n\nexport { KiteLoader } from \"./components/kite/KiteLoader\";\nexport type { KiteLoaderProps } from \"./components/kite/KiteLoader\";\n\nexport { KitePageLoader } from \"./components/kite/KitePageLoader\";\nexport type { KitePageLoaderProps } from \"./components/kite/KitePageLoader\";\n\nexport { Loading } from \"./components/loading/Loading\";\nexport type { LoadingProps } from \"./components/loading/Loading\";\n","export function cn(...parts: Array<string | false | null | undefined>): string {\n return parts.filter(Boolean).join(\" \");\n}\n",".kite-fu-host {\n --kite-primary: #0ea5e9;\n --kite-foreground: #0f172a;\n --kite-muted: #64748b;\n --kite-overlay-background: rgba(255, 255, 255, 0.82);\n --kite-overlay-blur: 2px;\n color: var(--kite-foreground);\n font-family: \"Inter Variable\", Inter, sans-serif;\n line-height: 1;\n box-sizing: border-box;\n}\n\n.kite-fu-host *,\n.kite-fu-host *::before,\n.kite-fu-host *::after {\n box-sizing: inherit;\n}\n\n.kite-fu-skyLayer {\n opacity: 0.86;\n}\n\n.kite-fu-cloudSizeXs,\n.kite-fu-cloudSizeSm,\n.kite-fu-cloudSizeMd,\n.kite-fu-cloudSizeLg {\n transform-box: fill-box;\n transform-origin: center;\n}\n\n.kite-fu-cloudSizeXs {\n transform: scale(0.78);\n}\n.kite-fu-cloudSizeSm {\n transform: scale(0.92);\n}\n.kite-fu-cloudSizeMd {\n transform: scale(1.04);\n}\n.kite-fu-cloudSizeLg {\n transform: scale(1.18);\n}\n\n.kite-fu-cloudDelayB {\n animation-delay: -1.9s;\n}\n.kite-fu-cloudDelayC {\n animation-delay: -3s;\n}\n\n.kite-fu-cloudDriftFar {\n animation: cloud-pass-far 4.6s cubic-bezier(0.4, 0.06, 0.6, 0.94) infinite;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftNear {\n animation: cloud-pass-near 3.5s cubic-bezier(0.34, 0.08, 0.58, 0.96) infinite;\n animation-delay: -1.6s;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftHigh {\n animation: cloud-pass-high 3.2s cubic-bezier(0.36, 0.07, 0.58, 0.95) infinite;\n animation-delay: -2.4s;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftAlt {\n animation: cloud-pass-alt 4.1s cubic-bezier(0.38, 0.06, 0.62, 0.95) infinite;\n animation-delay: -0.9s;\n will-change: transform, opacity;\n}\n\n@keyframes cloud-pass-far {\n 0% {\n transform: translate3d(22px, 0.4px, 0) scale(0.96);\n opacity: 0;\n }\n 18% {\n transform: translate3d(12px, -0.3px, 0) scale(0.98);\n opacity: 0.5;\n }\n 52% {\n transform: translate3d(-4px, 0.2px, 0) scale(1);\n opacity: 0.58;\n }\n 82% {\n transform: translate3d(-18px, -0.5px, 0) scale(0.98);\n opacity: 0.48;\n }\n 100% {\n transform: translate3d(-30px, 0.4px, 0) scale(0.95);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-near {\n 0% {\n transform: translate3d(24px, -0.7px, 0) scale(1.02);\n opacity: 0;\n }\n 16% {\n transform: translate3d(14px, 0px, 0) scale(1.04);\n opacity: 0.62;\n }\n 48% {\n transform: translate3d(-4px, 0.6px, 0) scale(1.06);\n opacity: 0.72;\n }\n 78% {\n transform: translate3d(-18px, -0.1px, 0) scale(1.03);\n opacity: 0.64;\n }\n 100% {\n transform: translate3d(-32px, -0.8px, 0) scale(1.01);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-high {\n 0% {\n transform: translate3d(26px, -1.2px, 0) scale(0.9);\n opacity: 0;\n }\n 20% {\n transform: translate3d(15px, -1.6px, 0) scale(0.95);\n opacity: 0.52;\n }\n 55% {\n transform: translate3d(-5px, -1px, 0) scale(0.98);\n opacity: 0.58;\n }\n 84% {\n transform: translate3d(-21px, -1.4px, 0) scale(0.94);\n opacity: 0.46;\n }\n 100% {\n transform: translate3d(-34px, -1.1px, 0) scale(0.9);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-alt {\n 0% {\n transform: translate3d(24px, 1px, 0) scale(1.08);\n opacity: 0;\n }\n 15% {\n transform: translate3d(15px, 0.2px, 0) scale(1.1);\n opacity: 0.62;\n }\n 49% {\n transform: translate3d(-4px, 0.9px, 0) scale(1.12);\n opacity: 0.7;\n }\n 79% {\n transform: translate3d(-20px, 0.4px, 0) scale(1.08);\n opacity: 0.56;\n }\n 100% {\n transform: translate3d(-34px, 1.1px, 0) scale(1.05);\n opacity: 0;\n }\n}\n\n.kite-fu-float {\n animation: kite-float 1.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;\n transform-box: fill-box;\n transform-origin: center;\n}\n\n@keyframes kite-float {\n 0% {\n transform: translate(-11px, 0px) rotate(-5deg);\n }\n 16% {\n transform: translate(-6px, -1px) rotate(-2deg);\n }\n 32% {\n transform: translate(0px, -2px) rotate(1deg);\n }\n 48% {\n transform: translate(7px, -1px) rotate(4deg);\n }\n 64% {\n transform: translate(11px, 0px) rotate(6deg);\n }\n 80% {\n transform: translate(4px, 1px) rotate(3deg);\n }\n 92% {\n transform: translate(-5px, 1px) rotate(-2deg);\n }\n 100% {\n transform: translate(-11px, 0px) rotate(-5deg);\n }\n}\n\n.kite-fu-shadowBreathe {\n animation: kite-shadow-breathe 1.9s ease-in-out infinite;\n opacity: 0.48;\n}\n\n@keyframes kite-shadow-breathe {\n 0% {\n opacity: 0.48;\n }\n 30% {\n opacity: 0.66;\n }\n 50% {\n opacity: 0.82;\n }\n 72% {\n opacity: 0.64;\n }\n 100% {\n opacity: 0.48;\n }\n}\n\n.kite-fu-stringSway {\n animation: kite-string-sway 1.9s ease-in-out infinite;\n transform-box: fill-box;\n transform-origin: top center;\n opacity: 0.35;\n}\n\n@keyframes kite-string-sway {\n 0% {\n transform: rotate(6deg);\n }\n 16% {\n transform: rotate(3deg);\n }\n 32% {\n transform: rotate(-2deg);\n }\n 48% {\n transform: rotate(-6deg);\n }\n 64% {\n transform: rotate(-7deg);\n }\n 80% {\n transform: rotate(-1deg);\n }\n 92% {\n transform: rotate(4deg);\n }\n 100% {\n transform: rotate(6deg);\n }\n}\n\n.kite-fu-kiteBreath {\n animation: kite-breath 1.6s ease-in-out infinite;\n}\n\n@keyframes kite-breath {\n 0%,\n 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.45;\n }\n}\n\n.kite-fu-dot {\n animation: kite-dot 1.2s ease-in-out infinite;\n}\n\n.kite-fu-dot1 {\n animation-delay: 0.15s;\n}\n.kite-fu-dot2 {\n animation-delay: 0.3s;\n}\n\n@keyframes kite-dot {\n 0%,\n 60%,\n 100% {\n transform: translateY(0);\n opacity: 0.3;\n }\n 30% {\n transform: translateY(-5px);\n opacity: 1;\n }\n}\n\n@keyframes kite-label-pulse {\n 0%,\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n 50% {\n opacity: 0.42;\n transform: translateY(0.5px);\n }\n}\n\n.kite-fu-loadingDots {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.kite-fu-loadingDotsBelowBrand {\n margin-top: 14px;\n}\n\n.kite-fu-loadingDot {\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: var(--kite-primary);\n animation: kite-dot 1.2s ease-in-out infinite;\n}\n\n.kite-fu-loadingDot1 {\n animation-delay: 0.15s;\n}\n.kite-fu-loadingDot2 {\n animation-delay: 0.3s;\n}\n\n.kite-fu-logoWrap {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n}\n\n.kite-fu-logoText {\n margin: 0;\n color: var(--kite-foreground);\n letter-spacing: -0.03em;\n line-height: 1;\n}\n\n.kite-fu-logoTextStrong {\n font-weight: 600;\n}\n\n.kite-fu-logoTextLight {\n font-weight: 300;\n}\n\n.kite-fu-pageWrap {\n font-family: \"Inter Variable\", Inter, sans-serif;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n font-weight: 400;\n}\n\n.kite-fu-pageWrapFullscreen {\n min-height: 100vh;\n}\n\n.kite-fu-pageWrapOverlay {\n position: fixed;\n inset: 0;\n z-index: 50;\n background: var(--kite-overlay-background);\n backdrop-filter: blur(var(--kite-overlay-blur));\n}\n\n.kite-fu-label {\n margin: 10px 0 0;\n font-size: 14px;\n font-family: \"Inter Variable\", Inter, sans-serif;\n font-weight: 400;\n line-height: 1.4;\n color: var(--kite-muted);\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n.kite-fu-loadingTextPulse {\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n","import {\n createElement,\n createContext,\n type CSSProperties,\n type ReactNode,\n useContext,\n} from \"react\";\n\nexport interface KiteTheme {\n primary?: string;\n foreground?: string;\n muted?: string;\n overlayBackground?: string;\n overlayBlur?: string;\n}\n\ninterface FlyUIThemeProviderProps {\n theme?: KiteTheme;\n children: ReactNode;\n}\n\nconst FlyUIThemeContext = createContext<KiteTheme | undefined>(undefined);\n\nexport function FlyUIThemeProvider({\n theme,\n children,\n}: FlyUIThemeProviderProps) {\n return createElement(FlyUIThemeContext.Provider, { value: theme }, children);\n}\n\nexport function useFlyUITheme() {\n return useContext(FlyUIThemeContext);\n}\n\nexport function mergeKiteTheme(\n globalTheme?: KiteTheme,\n componentTheme?: KiteTheme,\n) {\n return { ...globalTheme, ...componentTheme };\n}\n\nexport function buildKiteThemeStyle(theme?: KiteTheme): CSSProperties {\n if (!theme) {\n return {};\n }\n\n return {\n ...(theme.primary ? { [\"--kite-primary\" as string]: theme.primary } : {}),\n ...(theme.foreground\n ? { [\"--kite-foreground\" as string]: theme.foreground }\n : {}),\n ...(theme.muted ? { [\"--kite-muted\" as string]: theme.muted } : {}),\n ...(theme.overlayBackground\n ? { [\"--kite-overlay-background\" as string]: theme.overlayBackground }\n : {}),\n ...(theme.overlayBlur\n ? { [\"--kite-overlay-blur\" as string]: theme.overlayBlur }\n : {}),\n } as CSSProperties;\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nconst SIZE = {\n xs: { icon: 16, text: 12, gap: 6, strongWeight: 600 },\n sm: { icon: 20, text: 14, gap: 8, strongWeight: 600 },\n md: { icon: 24, text: 16, gap: 10, strongWeight: 600 },\n lg: { icon: 28, text: 18, gap: 10, strongWeight: 700 },\n xl: { icon: 40, text: 24, gap: 12, strongWeight: 700 },\n} as const;\n\ntype SizeKey = keyof typeof SIZE;\n\nexport interface KiteLogoProps {\n size?: SizeKey;\n showText?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n textClassName?: string;\n style?: CSSProperties;\n}\n\nfunction KiteIcon({ size }: { size: number }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n opacity=\"0.48\"\n />\n </svg>\n );\n}\n\nexport function KiteLogo({\n size = \"md\",\n showText = true,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n textClassName,\n style,\n}: KiteLogoProps) {\n const cfg = SIZE[size];\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(\n styles[\"kite-fu-host\"],\n styles[\"kite-fu-logoWrap\"],\n className,\n )}\n style={{ ...themeStyle, ...style, gap: cfg.gap }}\n >\n <KiteIcon size={cfg.icon} />\n {showText ? (\n <span\n className={cn(styles[\"kite-fu-logoText\"], textClassName)}\n style={{\n fontSize: `${cfg.text}px`,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span\n className={styles[\"kite-fu-logoTextStrong\"]}\n style={{ fontWeight: cfg.strongWeight }}\n >\n {name}\n </span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n ) : null}\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nconst SIZES = {\n sm: 32,\n md: 48,\n lg: 64,\n} as const;\n\ntype LoaderSize = keyof typeof SIZES;\n\nexport interface KiteLoaderProps {\n size?: LoaderSize;\n label?: string;\n showBrand?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n style?: CSSProperties;\n}\n\nexport function KiteLoader({\n size = \"md\",\n label,\n showBrand = false,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n style,\n}: KiteLoaderProps) {\n const px = SIZES[size];\n const svgH = Math.round(px * 1.2);\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(styles[\"kite-fu-host\"], className)}\n role=\"status\"\n aria-label={label ?? \"Loading\"}\n style={{ ...themeStyle, ...style }}\n >\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 10,\n }}\n >\n <svg\n width={px}\n height={svgH}\n viewBox=\"0 0 24 31\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n overflow=\"visible\"\n >\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\n <path\n d=\"M15.4 3.8c0-0.8 0.6-1.5 1.5-1.5 0.2-1 1.1-1.8 2.1-1.8 0.7 0 1.4 0.4 1.9 1 0.2-0.1 0.5-0.1 0.7-0.1 1 0 1.9 0.9 1.9 1.9s-0.9 1.9-1.9 1.9h-4.5c-0.9 0-1.7-0.7-1.7-1.6z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.28\"\n />\n </g>\n </g>\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\n <path\n d=\"M2.4 5.7c0-1 0.8-1.8 1.8-1.8 0.2-1.2 1.3-2.1 2.5-2.1 1 0 1.8 0.5 2.3 1.3 0.3-0.1 0.5-0.1 0.8-0.1 1.3 0 2.3 1 2.3 2.3s-1 2.3-2.3 2.3H4.4c-1.1 0-2-0.9-2-2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.32\"\n />\n </g>\n </g>\n </g>\n <g\n className={cn(\n styles[\"kite-fu-float\"],\n styles[\"kite-fu-kiteBreath\"],\n )}\n >\n <g transform=\"rotate(90 12 12)\">\n <path\n d=\"M12 0 L0 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n className={styles[\"kite-fu-shadowBreathe\"]}\n />\n <path\n d=\"M12 24 Q13 28.5 12 31\"\n stroke=\"var(--kite-muted, #64748b)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n fill=\"none\"\n className={styles[\"kite-fu-stringSway\"]}\n />\n </g>\n </g>\n </svg>\n {showBrand ? (\n <span\n className={cn(\n styles[\"kite-fu-logoText\"],\n styles[\"kite-fu-loadingTextPulse\"],\n )}\n style={{\n marginTop: -2,\n fontSize: 20,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n ) : null}\n {label ? <p className={styles[\"kite-fu-label\"]}>{label}</p> : null}\n </div>\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nexport interface KitePageLoaderProps {\n message?: string;\n overlay?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n style?: CSSProperties;\n}\n\nexport function KitePageLoader({\n message,\n overlay = false,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n style,\n}: KitePageLoaderProps) {\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n aria-label={message ?? \"Loading\"}\n className={cn(\n styles[\"kite-fu-host\"],\n styles[\"kite-fu-pageWrap\"],\n overlay\n ? styles[\"kite-fu-pageWrapOverlay\"]\n : styles[\"kite-fu-pageWrapFullscreen\"],\n className,\n )}\n style={{ ...themeStyle, ...style }}\n >\n <svg\n width={56}\n height={58}\n viewBox=\"0 0 24 31\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n overflow=\"visible\"\n >\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\n <path\n d=\"M14.8 3.3c0-0.8 0.6-1.5 1.5-1.5 0.2-1 1.1-1.8 2.2-1.8 0.8 0 1.4 0.4 1.9 1 0.2-0.1 0.5-0.1 0.8-0.1 1 0 1.8 0.8 1.8 1.8s-0.8 1.8-1.8 1.8h-4.7c-0.9 0-1.7-0.6-1.7-1.2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.28\"\n />\n </g>\n </g>\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\n <path\n d=\"M1.5 5.5c0-1.1 0.9-2 2-2 0.2-1.4 1.4-2.4 2.9-2.4 1.1 0 2 0.5 2.6 1.4 0.3-0.1 0.6-0.2 1-0.2 1.4 0 2.6 1.1 2.6 2.6s-1.2 2.6-2.6 2.6h-6.3c-1.3 0-2.3-0.9-2.3-2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.32\"\n />\n </g>\n </g>\n </g>\n <g\n className={cn(styles[\"kite-fu-float\"], styles[\"kite-fu-kiteBreath\"])}\n >\n <g transform=\"rotate(90 12 12)\">\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n className={styles[\"kite-fu-shadowBreathe\"]}\n />\n <path\n d=\"M12 24 Q13 28.5 12 31\"\n stroke=\"var(--kite-muted, #64748b)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n fill=\"none\"\n className={styles[\"kite-fu-stringSway\"]}\n />\n </g>\n </g>\n </svg>\n\n <span\n className={cn(\n styles[\"kite-fu-logoText\"],\n styles[\"kite-fu-loadingTextPulse\"],\n )}\n style={{\n marginTop: -2,\n fontSize: 20,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n\n <div\n className={cn(\n styles[\"kite-fu-loadingDots\"],\n styles[\"kite-fu-loadingDotsBelowBrand\"],\n )}\n aria-hidden=\"true\"\n >\n <span className={styles[\"kite-fu-loadingDot\"]} />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot1\"],\n )}\n />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot2\"],\n )}\n />\n </div>\n\n {message ? <p className={styles[\"kite-fu-label\"]}>{message}</p> : null}\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"../kite/kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"../kite/theme\";\n\nexport interface LoadingProps {\n className?: string;\n label?: string;\n theme?: KiteTheme;\n style?: CSSProperties;\n}\n\nexport function Loading({ className, label, theme, style }: LoadingProps) {\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(styles[\"kite-fu-host\"], className)}\n role=\"status\"\n aria-label={label ?? \"Loading\"}\n style={{ ...themeStyle, ...style }}\n >\n <div className={styles[\"kite-fu-loadingDots\"]}>\n <span className={styles[\"kite-fu-loadingDot\"]} />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot1\"],\n )}\n />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot2\"],\n )}\n />\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/lib/cn.ts","../src/components/kite/kite-animations.module.css","../src/components/kite/theme.ts","../src/components/kite/KiteLogo.tsx","../src/components/kite/KiteLoader.tsx","../src/components/kite/KitePageLoader.tsx","../src/components/loading/Loading.tsx"],"sourcesContent":["export { KiteLogo } from \"./components/kite/KiteLogo\";\nexport type { KiteLogoProps } from \"./components/kite/KiteLogo\";\nexport type { KiteTheme } from \"./components/kite/theme\";\nexport { FlyUIThemeProvider, useFlyUITheme } from \"./components/kite/theme\";\n\nexport { KiteLoader } from \"./components/kite/KiteLoader\";\nexport type { KiteLoaderProps } from \"./components/kite/KiteLoader\";\n\nexport { KitePageLoader } from \"./components/kite/KitePageLoader\";\nexport type { KitePageLoaderProps } from \"./components/kite/KitePageLoader\";\n\nexport { Loading } from \"./components/loading/Loading\";\nexport type { LoadingProps } from \"./components/loading/Loading\";\n","export function cn(...parts: Array<string | false | null | undefined>): string {\n return parts.filter(Boolean).join(\" \");\n}\n",".kite-fu-host {\n --kite-primary: #0ea5e9;\n --kite-foreground: #0f172a;\n --kite-muted: #64748b;\n --kite-overlay-background: rgba(255, 255, 255, 0.82);\n --kite-overlay-blur: 2px;\n color: var(--kite-foreground);\n font-family: \"Inter Variable\", Inter, sans-serif;\n line-height: 1;\n box-sizing: border-box;\n}\n\n.kite-fu-host *,\n.kite-fu-host *::before,\n.kite-fu-host *::after {\n box-sizing: inherit;\n}\n\n.kite-fu-skyLayer {\n opacity: 0.86;\n}\n\n.kite-fu-cloudSizeXs,\n.kite-fu-cloudSizeSm,\n.kite-fu-cloudSizeMd,\n.kite-fu-cloudSizeLg {\n transform-box: fill-box;\n transform-origin: center;\n}\n\n.kite-fu-cloudSizeXs {\n transform: scale(0.78);\n}\n.kite-fu-cloudSizeSm {\n transform: scale(0.92);\n}\n.kite-fu-cloudSizeMd {\n transform: scale(1.04);\n}\n.kite-fu-cloudSizeLg {\n transform: scale(1.18);\n}\n\n.kite-fu-cloudDelayB {\n animation-delay: -1.9s;\n}\n.kite-fu-cloudDelayC {\n animation-delay: -3s;\n}\n\n.kite-fu-cloudDriftFar {\n animation: cloud-pass-far 4.6s cubic-bezier(0.4, 0.06, 0.6, 0.94) infinite;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftNear {\n animation: cloud-pass-near 3.5s cubic-bezier(0.34, 0.08, 0.58, 0.96) infinite;\n animation-delay: -1.6s;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftHigh {\n animation: cloud-pass-high 3.2s cubic-bezier(0.36, 0.07, 0.58, 0.95) infinite;\n animation-delay: -2.4s;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftAlt {\n animation: cloud-pass-alt 4.1s cubic-bezier(0.38, 0.06, 0.62, 0.95) infinite;\n animation-delay: -0.9s;\n will-change: transform, opacity;\n}\n\n@keyframes cloud-pass-far {\n 0% {\n transform: translate3d(22px, 0.4px, 0) scale(0.96);\n opacity: 0;\n }\n 18% {\n transform: translate3d(12px, -0.3px, 0) scale(0.98);\n opacity: 0.5;\n }\n 52% {\n transform: translate3d(-4px, 0.2px, 0) scale(1);\n opacity: 0.58;\n }\n 82% {\n transform: translate3d(-18px, -0.5px, 0) scale(0.98);\n opacity: 0.48;\n }\n 100% {\n transform: translate3d(-30px, 0.4px, 0) scale(0.95);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-near {\n 0% {\n transform: translate3d(24px, -0.7px, 0) scale(1.02);\n opacity: 0;\n }\n 16% {\n transform: translate3d(14px, 0px, 0) scale(1.04);\n opacity: 0.62;\n }\n 48% {\n transform: translate3d(-4px, 0.6px, 0) scale(1.06);\n opacity: 0.72;\n }\n 78% {\n transform: translate3d(-18px, -0.1px, 0) scale(1.03);\n opacity: 0.64;\n }\n 100% {\n transform: translate3d(-32px, -0.8px, 0) scale(1.01);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-high {\n 0% {\n transform: translate3d(26px, -1.2px, 0) scale(0.9);\n opacity: 0;\n }\n 20% {\n transform: translate3d(15px, -1.6px, 0) scale(0.95);\n opacity: 0.52;\n }\n 55% {\n transform: translate3d(-5px, -1px, 0) scale(0.98);\n opacity: 0.58;\n }\n 84% {\n transform: translate3d(-21px, -1.4px, 0) scale(0.94);\n opacity: 0.46;\n }\n 100% {\n transform: translate3d(-34px, -1.1px, 0) scale(0.9);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-alt {\n 0% {\n transform: translate3d(24px, 1px, 0) scale(1.08);\n opacity: 0;\n }\n 15% {\n transform: translate3d(15px, 0.2px, 0) scale(1.1);\n opacity: 0.62;\n }\n 49% {\n transform: translate3d(-4px, 0.9px, 0) scale(1.12);\n opacity: 0.7;\n }\n 79% {\n transform: translate3d(-20px, 0.4px, 0) scale(1.08);\n opacity: 0.56;\n }\n 100% {\n transform: translate3d(-34px, 1.1px, 0) scale(1.05);\n opacity: 0;\n }\n}\n\n.kite-fu-float {\n animation: kite-float 1.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;\n transform-box: fill-box;\n transform-origin: center;\n}\n\n@keyframes kite-float {\n 0% {\n transform: translate(-11px, 0px) rotate(-5deg);\n }\n 16% {\n transform: translate(-6px, -1px) rotate(-2deg);\n }\n 32% {\n transform: translate(0px, -2px) rotate(1deg);\n }\n 48% {\n transform: translate(7px, -1px) rotate(4deg);\n }\n 64% {\n transform: translate(11px, 0px) rotate(6deg);\n }\n 80% {\n transform: translate(4px, 1px) rotate(3deg);\n }\n 92% {\n transform: translate(-5px, 1px) rotate(-2deg);\n }\n 100% {\n transform: translate(-11px, 0px) rotate(-5deg);\n }\n}\n\n.kite-fu-shadowBreathe {\n animation: kite-shadow-breathe 1.9s ease-in-out infinite;\n opacity: 0.48;\n}\n\n@keyframes kite-shadow-breathe {\n 0% {\n opacity: 0.48;\n }\n 30% {\n opacity: 0.66;\n }\n 50% {\n opacity: 0.82;\n }\n 72% {\n opacity: 0.64;\n }\n 100% {\n opacity: 0.48;\n }\n}\n\n.kite-fu-stringSway {\n animation: kite-string-sway 1.9s ease-in-out infinite;\n transform-box: fill-box;\n transform-origin: top center;\n opacity: 0.35;\n}\n\n@keyframes kite-string-sway {\n 0% {\n transform: rotate(6deg);\n }\n 16% {\n transform: rotate(3deg);\n }\n 32% {\n transform: rotate(-2deg);\n }\n 48% {\n transform: rotate(-6deg);\n }\n 64% {\n transform: rotate(-7deg);\n }\n 80% {\n transform: rotate(-1deg);\n }\n 92% {\n transform: rotate(4deg);\n }\n 100% {\n transform: rotate(6deg);\n }\n}\n\n.kite-fu-kiteBreath {\n animation: kite-breath 1.6s ease-in-out infinite;\n}\n\n@keyframes kite-breath {\n 0%,\n 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.45;\n }\n}\n\n.kite-fu-dot {\n animation: kite-dot 1.2s ease-in-out infinite;\n}\n\n.kite-fu-dot1 {\n animation-delay: 0.15s;\n}\n.kite-fu-dot2 {\n animation-delay: 0.3s;\n}\n\n@keyframes kite-dot {\n 0%,\n 60%,\n 100% {\n transform: translateY(0);\n opacity: 0.3;\n }\n 30% {\n transform: translateY(-5px);\n opacity: 1;\n }\n}\n\n@keyframes kite-label-pulse {\n 0%,\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n 50% {\n opacity: 0.42;\n transform: translateY(0.5px);\n }\n}\n\n.kite-fu-loadingDots {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.kite-fu-loadingDotsBelowBrand {\n margin-top: 14px;\n}\n\n.kite-fu-loadingDot {\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: var(--kite-primary);\n animation: kite-dot 1.2s ease-in-out infinite;\n}\n\n.kite-fu-loadingDot1 {\n animation-delay: 0.15s;\n}\n.kite-fu-loadingDot2 {\n animation-delay: 0.3s;\n}\n\n.kite-fu-logoWrap {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n}\n\n.kite-fu-logoText {\n margin: 0;\n color: var(--kite-foreground);\n letter-spacing: -0.03em;\n line-height: 1;\n}\n\n.kite-fu-logoTextStrong {\n font-weight: 600;\n}\n\n.kite-fu-logoTextLight {\n font-weight: 300;\n}\n\n.kite-fu-pageWrap {\n font-family: \"Inter Variable\", Inter, sans-serif;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n font-weight: 400;\n}\n\n.kite-fu-pageWrapFullscreen {\n min-height: 100vh;\n}\n\n.kite-fu-pageWrapOverlay {\n position: fixed;\n inset: 0;\n z-index: 50;\n background: var(--kite-overlay-background);\n backdrop-filter: blur(var(--kite-overlay-blur));\n}\n\n.kite-fu-label {\n margin: 10px 0 0;\n font-size: 14px;\n font-family: \"Inter Variable\", Inter, sans-serif;\n font-weight: 400;\n line-height: 1.4;\n color: var(--kite-muted);\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n.kite-fu-loadingTextPulse {\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n","import {\n createElement,\n createContext,\n type CSSProperties,\n type ReactNode,\n useContext,\n} from \"react\";\n\nexport interface KiteTheme {\n primary?: string;\n foreground?: string;\n muted?: string;\n overlayBackground?: string;\n overlayBlur?: string;\n}\n\ninterface FlyUIThemeProviderProps {\n theme?: KiteTheme;\n children: ReactNode;\n}\n\nconst FlyUIThemeContext = createContext<KiteTheme | undefined>(undefined);\n\nexport function FlyUIThemeProvider({\n theme,\n children,\n}: FlyUIThemeProviderProps) {\n return createElement(FlyUIThemeContext.Provider, { value: theme }, children);\n}\n\nexport function useFlyUITheme() {\n return useContext(FlyUIThemeContext);\n}\n\nexport function mergeKiteTheme(\n globalTheme?: KiteTheme,\n componentTheme?: KiteTheme,\n) {\n return { ...globalTheme, ...componentTheme };\n}\n\nexport function buildKiteThemeStyle(theme?: KiteTheme): CSSProperties {\n if (!theme) {\n return {};\n }\n\n return {\n ...(theme.primary ? { [\"--kite-primary\" as string]: theme.primary } : {}),\n ...(theme.foreground\n ? { [\"--kite-foreground\" as string]: theme.foreground }\n : {}),\n ...(theme.muted ? { [\"--kite-muted\" as string]: theme.muted } : {}),\n ...(theme.overlayBackground\n ? { [\"--kite-overlay-background\" as string]: theme.overlayBackground }\n : {}),\n ...(theme.overlayBlur\n ? { [\"--kite-overlay-blur\" as string]: theme.overlayBlur }\n : {}),\n } as CSSProperties;\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nconst SIZE = {\n xs: { icon: 16, text: 12, gap: 4, strongWeight: 600 },\n sm: { icon: 20, text: 14, gap: 6, strongWeight: 600 },\n md: { icon: 24, text: 16, gap: 7, strongWeight: 600 },\n lg: { icon: 28, text: 18, gap: 8, strongWeight: 700 },\n xl: { icon: 40, text: 24, gap: 9, strongWeight: 700 },\n} as const;\n\ntype SizeKey = keyof typeof SIZE;\n\nexport interface KiteLogoProps {\n size?: SizeKey;\n showText?: boolean;\n name?: string;\n subBrand?: string;\n iconTextGap?: number;\n theme?: KiteTheme;\n className?: string;\n textClassName?: string;\n style?: CSSProperties;\n}\n\nfunction KiteIcon({ size }: { size: number }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n opacity=\"0.48\"\n />\n </svg>\n );\n}\n\nexport function KiteLogo({\n size = \"md\",\n showText = true,\n name = \"Fly\",\n subBrand = \"UI\",\n iconTextGap,\n theme,\n className,\n textClassName,\n style,\n}: KiteLogoProps) {\n const cfg = SIZE[size];\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(\n styles[\"kite-fu-host\"],\n styles[\"kite-fu-logoWrap\"],\n className,\n )}\n style={{ ...themeStyle, ...style, gap: iconTextGap ?? cfg.gap }}\n >\n <KiteIcon size={cfg.icon} />\n {showText ? (\n <span\n className={cn(styles[\"kite-fu-logoText\"], textClassName)}\n style={{\n fontSize: `${cfg.text}px`,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span\n className={styles[\"kite-fu-logoTextStrong\"]}\n style={{ fontWeight: cfg.strongWeight }}\n >\n {name}\n </span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n ) : null}\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nconst SIZES = {\n sm: 32,\n md: 48,\n lg: 64,\n} as const;\n\ntype LoaderSize = keyof typeof SIZES;\n\nexport interface KiteLoaderProps {\n size?: LoaderSize;\n label?: string;\n showBrand?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n style?: CSSProperties;\n}\n\nexport function KiteLoader({\n size = \"md\",\n label,\n showBrand = false,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n style,\n}: KiteLoaderProps) {\n const px = SIZES[size];\n const svgH = Math.round(px * 1.2);\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(styles[\"kite-fu-host\"], className)}\n role=\"status\"\n aria-label={label ?? \"Loading\"}\n style={{ ...themeStyle, ...style }}\n >\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 10,\n }}\n >\n <svg\n width={px}\n height={svgH}\n viewBox=\"0 0 24 31\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n overflow=\"visible\"\n >\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\n <path\n d=\"M15.4 3.8c0-0.8 0.6-1.5 1.5-1.5 0.2-1 1.1-1.8 2.1-1.8 0.7 0 1.4 0.4 1.9 1 0.2-0.1 0.5-0.1 0.7-0.1 1 0 1.9 0.9 1.9 1.9s-0.9 1.9-1.9 1.9h-4.5c-0.9 0-1.7-0.7-1.7-1.6z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.28\"\n />\n </g>\n </g>\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\n <path\n d=\"M2.4 5.7c0-1 0.8-1.8 1.8-1.8 0.2-1.2 1.3-2.1 2.5-2.1 1 0 1.8 0.5 2.3 1.3 0.3-0.1 0.5-0.1 0.8-0.1 1.3 0 2.3 1 2.3 2.3s-1 2.3-2.3 2.3H4.4c-1.1 0-2-0.9-2-2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.32\"\n />\n </g>\n </g>\n </g>\n <g\n className={cn(\n styles[\"kite-fu-float\"],\n styles[\"kite-fu-kiteBreath\"],\n )}\n >\n <g transform=\"rotate(90 12 12)\">\n <path\n d=\"M12 0 L0 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n className={styles[\"kite-fu-shadowBreathe\"]}\n />\n <path\n d=\"M12 24 Q13 28.5 12 31\"\n stroke=\"var(--kite-muted, #64748b)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n fill=\"none\"\n className={styles[\"kite-fu-stringSway\"]}\n />\n </g>\n </g>\n </svg>\n {showBrand ? (\n <span\n className={cn(\n styles[\"kite-fu-logoText\"],\n styles[\"kite-fu-loadingTextPulse\"],\n )}\n style={{\n marginTop: -2,\n fontSize: 20,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n ) : null}\n {label ? <p className={styles[\"kite-fu-label\"]}>{label}</p> : null}\n </div>\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nexport interface KitePageLoaderProps {\n message?: string;\n overlay?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n style?: CSSProperties;\n}\n\nexport function KitePageLoader({\n message,\n overlay = false,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n style,\n}: KitePageLoaderProps) {\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n aria-label={message ?? \"Loading\"}\n className={cn(\n styles[\"kite-fu-host\"],\n styles[\"kite-fu-pageWrap\"],\n overlay\n ? styles[\"kite-fu-pageWrapOverlay\"]\n : styles[\"kite-fu-pageWrapFullscreen\"],\n className,\n )}\n style={{ ...themeStyle, ...style }}\n >\n <svg\n width={56}\n height={58}\n viewBox=\"0 0 24 31\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n overflow=\"visible\"\n >\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\n <path\n d=\"M14.8 3.3c0-0.8 0.6-1.5 1.5-1.5 0.2-1 1.1-1.8 2.2-1.8 0.8 0 1.4 0.4 1.9 1 0.2-0.1 0.5-0.1 0.8-0.1 1 0 1.8 0.8 1.8 1.8s-0.8 1.8-1.8 1.8h-4.7c-0.9 0-1.7-0.6-1.7-1.2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.28\"\n />\n </g>\n </g>\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\n <path\n d=\"M1.5 5.5c0-1.1 0.9-2 2-2 0.2-1.4 1.4-2.4 2.9-2.4 1.1 0 2 0.5 2.6 1.4 0.3-0.1 0.6-0.2 1-0.2 1.4 0 2.6 1.1 2.6 2.6s-1.2 2.6-2.6 2.6h-6.3c-1.3 0-2.3-0.9-2.3-2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.32\"\n />\n </g>\n </g>\n </g>\n <g\n className={cn(styles[\"kite-fu-float\"], styles[\"kite-fu-kiteBreath\"])}\n >\n <g transform=\"rotate(90 12 12)\">\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n className={styles[\"kite-fu-shadowBreathe\"]}\n />\n <path\n d=\"M12 24 Q13 28.5 12 31\"\n stroke=\"var(--kite-muted, #64748b)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n fill=\"none\"\n className={styles[\"kite-fu-stringSway\"]}\n />\n </g>\n </g>\n </svg>\n\n <span\n className={cn(\n styles[\"kite-fu-logoText\"],\n styles[\"kite-fu-loadingTextPulse\"],\n )}\n style={{\n marginTop: -2,\n fontSize: 20,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n\n <div\n className={cn(\n styles[\"kite-fu-loadingDots\"],\n styles[\"kite-fu-loadingDotsBelowBrand\"],\n )}\n aria-hidden=\"true\"\n >\n <span className={styles[\"kite-fu-loadingDot\"]} />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot1\"],\n )}\n />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot2\"],\n )}\n />\n </div>\n\n {message ? <p className={styles[\"kite-fu-label\"]}>{message}</p> : null}\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"../kite/kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"../kite/theme\";\n\nexport interface LoadingProps {\n className?: string;\n label?: string;\n theme?: KiteTheme;\n style?: CSSProperties;\n}\n\nexport function Loading({ className, label, theme, style }: LoadingProps) {\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(styles[\"kite-fu-host\"], className)}\n role=\"status\"\n aria-label={label ?? \"Loading\"}\n style={{ ...themeStyle, ...style }}\n >\n <div className={styles[\"kite-fu-loadingDots\"]}>\n <span className={styles[\"kite-fu-loadingDot\"]} />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot1\"],\n )}\n />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot2\"],\n )}\n />\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -20,31 +20,31 @@ declare const SIZE: {
|
|
|
20
20
|
readonly xs: {
|
|
21
21
|
readonly icon: 16;
|
|
22
22
|
readonly text: 12;
|
|
23
|
-
readonly gap:
|
|
23
|
+
readonly gap: 4;
|
|
24
24
|
readonly strongWeight: 600;
|
|
25
25
|
};
|
|
26
26
|
readonly sm: {
|
|
27
27
|
readonly icon: 20;
|
|
28
28
|
readonly text: 14;
|
|
29
|
-
readonly gap:
|
|
29
|
+
readonly gap: 6;
|
|
30
30
|
readonly strongWeight: 600;
|
|
31
31
|
};
|
|
32
32
|
readonly md: {
|
|
33
33
|
readonly icon: 24;
|
|
34
34
|
readonly text: 16;
|
|
35
|
-
readonly gap:
|
|
35
|
+
readonly gap: 7;
|
|
36
36
|
readonly strongWeight: 600;
|
|
37
37
|
};
|
|
38
38
|
readonly lg: {
|
|
39
39
|
readonly icon: 28;
|
|
40
40
|
readonly text: 18;
|
|
41
|
-
readonly gap:
|
|
41
|
+
readonly gap: 8;
|
|
42
42
|
readonly strongWeight: 700;
|
|
43
43
|
};
|
|
44
44
|
readonly xl: {
|
|
45
45
|
readonly icon: 40;
|
|
46
46
|
readonly text: 24;
|
|
47
|
-
readonly gap:
|
|
47
|
+
readonly gap: 9;
|
|
48
48
|
readonly strongWeight: 700;
|
|
49
49
|
};
|
|
50
50
|
};
|
|
@@ -54,12 +54,13 @@ interface KiteLogoProps {
|
|
|
54
54
|
showText?: boolean;
|
|
55
55
|
name?: string;
|
|
56
56
|
subBrand?: string;
|
|
57
|
+
iconTextGap?: number;
|
|
57
58
|
theme?: KiteTheme;
|
|
58
59
|
className?: string;
|
|
59
60
|
textClassName?: string;
|
|
60
61
|
style?: CSSProperties;
|
|
61
62
|
}
|
|
62
|
-
declare function KiteLogo({ size, showText, name, subBrand, theme, className, textClassName, style, }: KiteLogoProps): react_jsx_runtime.JSX.Element;
|
|
63
|
+
declare function KiteLogo({ size, showText, name, subBrand, iconTextGap, theme, className, textClassName, style, }: KiteLogoProps): react_jsx_runtime.JSX.Element;
|
|
63
64
|
|
|
64
65
|
declare const SIZES: {
|
|
65
66
|
readonly sm: 32;
|
package/dist/index.d.ts
CHANGED
|
@@ -20,31 +20,31 @@ declare const SIZE: {
|
|
|
20
20
|
readonly xs: {
|
|
21
21
|
readonly icon: 16;
|
|
22
22
|
readonly text: 12;
|
|
23
|
-
readonly gap:
|
|
23
|
+
readonly gap: 4;
|
|
24
24
|
readonly strongWeight: 600;
|
|
25
25
|
};
|
|
26
26
|
readonly sm: {
|
|
27
27
|
readonly icon: 20;
|
|
28
28
|
readonly text: 14;
|
|
29
|
-
readonly gap:
|
|
29
|
+
readonly gap: 6;
|
|
30
30
|
readonly strongWeight: 600;
|
|
31
31
|
};
|
|
32
32
|
readonly md: {
|
|
33
33
|
readonly icon: 24;
|
|
34
34
|
readonly text: 16;
|
|
35
|
-
readonly gap:
|
|
35
|
+
readonly gap: 7;
|
|
36
36
|
readonly strongWeight: 600;
|
|
37
37
|
};
|
|
38
38
|
readonly lg: {
|
|
39
39
|
readonly icon: 28;
|
|
40
40
|
readonly text: 18;
|
|
41
|
-
readonly gap:
|
|
41
|
+
readonly gap: 8;
|
|
42
42
|
readonly strongWeight: 700;
|
|
43
43
|
};
|
|
44
44
|
readonly xl: {
|
|
45
45
|
readonly icon: 40;
|
|
46
46
|
readonly text: 24;
|
|
47
|
-
readonly gap:
|
|
47
|
+
readonly gap: 9;
|
|
48
48
|
readonly strongWeight: 700;
|
|
49
49
|
};
|
|
50
50
|
};
|
|
@@ -54,12 +54,13 @@ interface KiteLogoProps {
|
|
|
54
54
|
showText?: boolean;
|
|
55
55
|
name?: string;
|
|
56
56
|
subBrand?: string;
|
|
57
|
+
iconTextGap?: number;
|
|
57
58
|
theme?: KiteTheme;
|
|
58
59
|
className?: string;
|
|
59
60
|
textClassName?: string;
|
|
60
61
|
style?: CSSProperties;
|
|
61
62
|
}
|
|
62
|
-
declare function KiteLogo({ size, showText, name, subBrand, theme, className, textClassName, style, }: KiteLogoProps): react_jsx_runtime.JSX.Element;
|
|
63
|
+
declare function KiteLogo({ size, showText, name, subBrand, iconTextGap, theme, className, textClassName, style, }: KiteLogoProps): react_jsx_runtime.JSX.Element;
|
|
63
64
|
|
|
64
65
|
declare const SIZES: {
|
|
65
66
|
readonly sm: 32;
|
package/dist/index.js
CHANGED
|
@@ -41,11 +41,11 @@ function buildKiteThemeStyle(theme) {
|
|
|
41
41
|
// src/components/kite/KiteLogo.tsx
|
|
42
42
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
43
43
|
var SIZE = {
|
|
44
|
-
xs: { icon: 16, text: 12, gap:
|
|
45
|
-
sm: { icon: 20, text: 14, gap:
|
|
46
|
-
md: { icon: 24, text: 16, gap:
|
|
47
|
-
lg: { icon: 28, text: 18, gap:
|
|
48
|
-
xl: { icon: 40, text: 24, gap:
|
|
44
|
+
xs: { icon: 16, text: 12, gap: 4, strongWeight: 600 },
|
|
45
|
+
sm: { icon: 20, text: 14, gap: 6, strongWeight: 600 },
|
|
46
|
+
md: { icon: 24, text: 16, gap: 7, strongWeight: 600 },
|
|
47
|
+
lg: { icon: 28, text: 18, gap: 8, strongWeight: 700 },
|
|
48
|
+
xl: { icon: 40, text: 24, gap: 9, strongWeight: 700 }
|
|
49
49
|
};
|
|
50
50
|
function KiteIcon({ size }) {
|
|
51
51
|
return /* @__PURE__ */ jsxs(
|
|
@@ -76,6 +76,7 @@ function KiteLogo({
|
|
|
76
76
|
showText = true,
|
|
77
77
|
name = "Fly",
|
|
78
78
|
subBrand = "UI",
|
|
79
|
+
iconTextGap,
|
|
79
80
|
theme,
|
|
80
81
|
className,
|
|
81
82
|
textClassName,
|
|
@@ -93,7 +94,7 @@ function KiteLogo({
|
|
|
93
94
|
kite_animations_default["kite-fu-logoWrap"],
|
|
94
95
|
className
|
|
95
96
|
),
|
|
96
|
-
style: { ...themeStyle, ...style, gap: cfg.gap },
|
|
97
|
+
style: { ...themeStyle, ...style, gap: iconTextGap ?? cfg.gap },
|
|
97
98
|
children: [
|
|
98
99
|
/* @__PURE__ */ jsx(KiteIcon, { size: cfg.icon }),
|
|
99
100
|
showText ? /* @__PURE__ */ jsxs(
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/cn.ts","../src/components/kite/kite-animations.module.css","../src/components/kite/theme.ts","../src/components/kite/KiteLogo.tsx","../src/components/kite/KiteLoader.tsx","../src/components/kite/KitePageLoader.tsx","../src/components/loading/Loading.tsx"],"sourcesContent":["export function cn(...parts: Array<string | false | null | undefined>): string {\n return parts.filter(Boolean).join(\" \");\n}\n",".kite-fu-host {\n --kite-primary: #0ea5e9;\n --kite-foreground: #0f172a;\n --kite-muted: #64748b;\n --kite-overlay-background: rgba(255, 255, 255, 0.82);\n --kite-overlay-blur: 2px;\n color: var(--kite-foreground);\n font-family: \"Inter Variable\", Inter, sans-serif;\n line-height: 1;\n box-sizing: border-box;\n}\n\n.kite-fu-host *,\n.kite-fu-host *::before,\n.kite-fu-host *::after {\n box-sizing: inherit;\n}\n\n.kite-fu-skyLayer {\n opacity: 0.86;\n}\n\n.kite-fu-cloudSizeXs,\n.kite-fu-cloudSizeSm,\n.kite-fu-cloudSizeMd,\n.kite-fu-cloudSizeLg {\n transform-box: fill-box;\n transform-origin: center;\n}\n\n.kite-fu-cloudSizeXs {\n transform: scale(0.78);\n}\n.kite-fu-cloudSizeSm {\n transform: scale(0.92);\n}\n.kite-fu-cloudSizeMd {\n transform: scale(1.04);\n}\n.kite-fu-cloudSizeLg {\n transform: scale(1.18);\n}\n\n.kite-fu-cloudDelayB {\n animation-delay: -1.9s;\n}\n.kite-fu-cloudDelayC {\n animation-delay: -3s;\n}\n\n.kite-fu-cloudDriftFar {\n animation: cloud-pass-far 4.6s cubic-bezier(0.4, 0.06, 0.6, 0.94) infinite;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftNear {\n animation: cloud-pass-near 3.5s cubic-bezier(0.34, 0.08, 0.58, 0.96) infinite;\n animation-delay: -1.6s;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftHigh {\n animation: cloud-pass-high 3.2s cubic-bezier(0.36, 0.07, 0.58, 0.95) infinite;\n animation-delay: -2.4s;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftAlt {\n animation: cloud-pass-alt 4.1s cubic-bezier(0.38, 0.06, 0.62, 0.95) infinite;\n animation-delay: -0.9s;\n will-change: transform, opacity;\n}\n\n@keyframes cloud-pass-far {\n 0% {\n transform: translate3d(22px, 0.4px, 0) scale(0.96);\n opacity: 0;\n }\n 18% {\n transform: translate3d(12px, -0.3px, 0) scale(0.98);\n opacity: 0.5;\n }\n 52% {\n transform: translate3d(-4px, 0.2px, 0) scale(1);\n opacity: 0.58;\n }\n 82% {\n transform: translate3d(-18px, -0.5px, 0) scale(0.98);\n opacity: 0.48;\n }\n 100% {\n transform: translate3d(-30px, 0.4px, 0) scale(0.95);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-near {\n 0% {\n transform: translate3d(24px, -0.7px, 0) scale(1.02);\n opacity: 0;\n }\n 16% {\n transform: translate3d(14px, 0px, 0) scale(1.04);\n opacity: 0.62;\n }\n 48% {\n transform: translate3d(-4px, 0.6px, 0) scale(1.06);\n opacity: 0.72;\n }\n 78% {\n transform: translate3d(-18px, -0.1px, 0) scale(1.03);\n opacity: 0.64;\n }\n 100% {\n transform: translate3d(-32px, -0.8px, 0) scale(1.01);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-high {\n 0% {\n transform: translate3d(26px, -1.2px, 0) scale(0.9);\n opacity: 0;\n }\n 20% {\n transform: translate3d(15px, -1.6px, 0) scale(0.95);\n opacity: 0.52;\n }\n 55% {\n transform: translate3d(-5px, -1px, 0) scale(0.98);\n opacity: 0.58;\n }\n 84% {\n transform: translate3d(-21px, -1.4px, 0) scale(0.94);\n opacity: 0.46;\n }\n 100% {\n transform: translate3d(-34px, -1.1px, 0) scale(0.9);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-alt {\n 0% {\n transform: translate3d(24px, 1px, 0) scale(1.08);\n opacity: 0;\n }\n 15% {\n transform: translate3d(15px, 0.2px, 0) scale(1.1);\n opacity: 0.62;\n }\n 49% {\n transform: translate3d(-4px, 0.9px, 0) scale(1.12);\n opacity: 0.7;\n }\n 79% {\n transform: translate3d(-20px, 0.4px, 0) scale(1.08);\n opacity: 0.56;\n }\n 100% {\n transform: translate3d(-34px, 1.1px, 0) scale(1.05);\n opacity: 0;\n }\n}\n\n.kite-fu-float {\n animation: kite-float 1.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;\n transform-box: fill-box;\n transform-origin: center;\n}\n\n@keyframes kite-float {\n 0% {\n transform: translate(-11px, 0px) rotate(-5deg);\n }\n 16% {\n transform: translate(-6px, -1px) rotate(-2deg);\n }\n 32% {\n transform: translate(0px, -2px) rotate(1deg);\n }\n 48% {\n transform: translate(7px, -1px) rotate(4deg);\n }\n 64% {\n transform: translate(11px, 0px) rotate(6deg);\n }\n 80% {\n transform: translate(4px, 1px) rotate(3deg);\n }\n 92% {\n transform: translate(-5px, 1px) rotate(-2deg);\n }\n 100% {\n transform: translate(-11px, 0px) rotate(-5deg);\n }\n}\n\n.kite-fu-shadowBreathe {\n animation: kite-shadow-breathe 1.9s ease-in-out infinite;\n opacity: 0.48;\n}\n\n@keyframes kite-shadow-breathe {\n 0% {\n opacity: 0.48;\n }\n 30% {\n opacity: 0.66;\n }\n 50% {\n opacity: 0.82;\n }\n 72% {\n opacity: 0.64;\n }\n 100% {\n opacity: 0.48;\n }\n}\n\n.kite-fu-stringSway {\n animation: kite-string-sway 1.9s ease-in-out infinite;\n transform-box: fill-box;\n transform-origin: top center;\n opacity: 0.35;\n}\n\n@keyframes kite-string-sway {\n 0% {\n transform: rotate(6deg);\n }\n 16% {\n transform: rotate(3deg);\n }\n 32% {\n transform: rotate(-2deg);\n }\n 48% {\n transform: rotate(-6deg);\n }\n 64% {\n transform: rotate(-7deg);\n }\n 80% {\n transform: rotate(-1deg);\n }\n 92% {\n transform: rotate(4deg);\n }\n 100% {\n transform: rotate(6deg);\n }\n}\n\n.kite-fu-kiteBreath {\n animation: kite-breath 1.6s ease-in-out infinite;\n}\n\n@keyframes kite-breath {\n 0%,\n 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.45;\n }\n}\n\n.kite-fu-dot {\n animation: kite-dot 1.2s ease-in-out infinite;\n}\n\n.kite-fu-dot1 {\n animation-delay: 0.15s;\n}\n.kite-fu-dot2 {\n animation-delay: 0.3s;\n}\n\n@keyframes kite-dot {\n 0%,\n 60%,\n 100% {\n transform: translateY(0);\n opacity: 0.3;\n }\n 30% {\n transform: translateY(-5px);\n opacity: 1;\n }\n}\n\n@keyframes kite-label-pulse {\n 0%,\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n 50% {\n opacity: 0.42;\n transform: translateY(0.5px);\n }\n}\n\n.kite-fu-loadingDots {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.kite-fu-loadingDotsBelowBrand {\n margin-top: 14px;\n}\n\n.kite-fu-loadingDot {\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: var(--kite-primary);\n animation: kite-dot 1.2s ease-in-out infinite;\n}\n\n.kite-fu-loadingDot1 {\n animation-delay: 0.15s;\n}\n.kite-fu-loadingDot2 {\n animation-delay: 0.3s;\n}\n\n.kite-fu-logoWrap {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n}\n\n.kite-fu-logoText {\n margin: 0;\n color: var(--kite-foreground);\n letter-spacing: -0.03em;\n line-height: 1;\n}\n\n.kite-fu-logoTextStrong {\n font-weight: 600;\n}\n\n.kite-fu-logoTextLight {\n font-weight: 300;\n}\n\n.kite-fu-pageWrap {\n font-family: \"Inter Variable\", Inter, sans-serif;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n font-weight: 400;\n}\n\n.kite-fu-pageWrapFullscreen {\n min-height: 100vh;\n}\n\n.kite-fu-pageWrapOverlay {\n position: fixed;\n inset: 0;\n z-index: 50;\n background: var(--kite-overlay-background);\n backdrop-filter: blur(var(--kite-overlay-blur));\n}\n\n.kite-fu-label {\n margin: 10px 0 0;\n font-size: 14px;\n font-family: \"Inter Variable\", Inter, sans-serif;\n font-weight: 400;\n line-height: 1.4;\n color: var(--kite-muted);\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n.kite-fu-loadingTextPulse {\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n","import {\n createElement,\n createContext,\n type CSSProperties,\n type ReactNode,\n useContext,\n} from \"react\";\n\nexport interface KiteTheme {\n primary?: string;\n foreground?: string;\n muted?: string;\n overlayBackground?: string;\n overlayBlur?: string;\n}\n\ninterface FlyUIThemeProviderProps {\n theme?: KiteTheme;\n children: ReactNode;\n}\n\nconst FlyUIThemeContext = createContext<KiteTheme | undefined>(undefined);\n\nexport function FlyUIThemeProvider({\n theme,\n children,\n}: FlyUIThemeProviderProps) {\n return createElement(FlyUIThemeContext.Provider, { value: theme }, children);\n}\n\nexport function useFlyUITheme() {\n return useContext(FlyUIThemeContext);\n}\n\nexport function mergeKiteTheme(\n globalTheme?: KiteTheme,\n componentTheme?: KiteTheme,\n) {\n return { ...globalTheme, ...componentTheme };\n}\n\nexport function buildKiteThemeStyle(theme?: KiteTheme): CSSProperties {\n if (!theme) {\n return {};\n }\n\n return {\n ...(theme.primary ? { [\"--kite-primary\" as string]: theme.primary } : {}),\n ...(theme.foreground\n ? { [\"--kite-foreground\" as string]: theme.foreground }\n : {}),\n ...(theme.muted ? { [\"--kite-muted\" as string]: theme.muted } : {}),\n ...(theme.overlayBackground\n ? { [\"--kite-overlay-background\" as string]: theme.overlayBackground }\n : {}),\n ...(theme.overlayBlur\n ? { [\"--kite-overlay-blur\" as string]: theme.overlayBlur }\n : {}),\n } as CSSProperties;\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nconst SIZE = {\n xs: { icon: 16, text: 12, gap: 6, strongWeight: 600 },\n sm: { icon: 20, text: 14, gap: 8, strongWeight: 600 },\n md: { icon: 24, text: 16, gap: 10, strongWeight: 600 },\n lg: { icon: 28, text: 18, gap: 10, strongWeight: 700 },\n xl: { icon: 40, text: 24, gap: 12, strongWeight: 700 },\n} as const;\n\ntype SizeKey = keyof typeof SIZE;\n\nexport interface KiteLogoProps {\n size?: SizeKey;\n showText?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n textClassName?: string;\n style?: CSSProperties;\n}\n\nfunction KiteIcon({ size }: { size: number }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n opacity=\"0.48\"\n />\n </svg>\n );\n}\n\nexport function KiteLogo({\n size = \"md\",\n showText = true,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n textClassName,\n style,\n}: KiteLogoProps) {\n const cfg = SIZE[size];\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(\n styles[\"kite-fu-host\"],\n styles[\"kite-fu-logoWrap\"],\n className,\n )}\n style={{ ...themeStyle, ...style, gap: cfg.gap }}\n >\n <KiteIcon size={cfg.icon} />\n {showText ? (\n <span\n className={cn(styles[\"kite-fu-logoText\"], textClassName)}\n style={{\n fontSize: `${cfg.text}px`,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span\n className={styles[\"kite-fu-logoTextStrong\"]}\n style={{ fontWeight: cfg.strongWeight }}\n >\n {name}\n </span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n ) : null}\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nconst SIZES = {\n sm: 32,\n md: 48,\n lg: 64,\n} as const;\n\ntype LoaderSize = keyof typeof SIZES;\n\nexport interface KiteLoaderProps {\n size?: LoaderSize;\n label?: string;\n showBrand?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n style?: CSSProperties;\n}\n\nexport function KiteLoader({\n size = \"md\",\n label,\n showBrand = false,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n style,\n}: KiteLoaderProps) {\n const px = SIZES[size];\n const svgH = Math.round(px * 1.2);\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(styles[\"kite-fu-host\"], className)}\n role=\"status\"\n aria-label={label ?? \"Loading\"}\n style={{ ...themeStyle, ...style }}\n >\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 10,\n }}\n >\n <svg\n width={px}\n height={svgH}\n viewBox=\"0 0 24 31\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n overflow=\"visible\"\n >\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\n <path\n d=\"M15.4 3.8c0-0.8 0.6-1.5 1.5-1.5 0.2-1 1.1-1.8 2.1-1.8 0.7 0 1.4 0.4 1.9 1 0.2-0.1 0.5-0.1 0.7-0.1 1 0 1.9 0.9 1.9 1.9s-0.9 1.9-1.9 1.9h-4.5c-0.9 0-1.7-0.7-1.7-1.6z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.28\"\n />\n </g>\n </g>\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\n <path\n d=\"M2.4 5.7c0-1 0.8-1.8 1.8-1.8 0.2-1.2 1.3-2.1 2.5-2.1 1 0 1.8 0.5 2.3 1.3 0.3-0.1 0.5-0.1 0.8-0.1 1.3 0 2.3 1 2.3 2.3s-1 2.3-2.3 2.3H4.4c-1.1 0-2-0.9-2-2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.32\"\n />\n </g>\n </g>\n </g>\n <g\n className={cn(\n styles[\"kite-fu-float\"],\n styles[\"kite-fu-kiteBreath\"],\n )}\n >\n <g transform=\"rotate(90 12 12)\">\n <path\n d=\"M12 0 L0 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n className={styles[\"kite-fu-shadowBreathe\"]}\n />\n <path\n d=\"M12 24 Q13 28.5 12 31\"\n stroke=\"var(--kite-muted, #64748b)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n fill=\"none\"\n className={styles[\"kite-fu-stringSway\"]}\n />\n </g>\n </g>\n </svg>\n {showBrand ? (\n <span\n className={cn(\n styles[\"kite-fu-logoText\"],\n styles[\"kite-fu-loadingTextPulse\"],\n )}\n style={{\n marginTop: -2,\n fontSize: 20,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n ) : null}\n {label ? <p className={styles[\"kite-fu-label\"]}>{label}</p> : null}\n </div>\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nexport interface KitePageLoaderProps {\n message?: string;\n overlay?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n style?: CSSProperties;\n}\n\nexport function KitePageLoader({\n message,\n overlay = false,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n style,\n}: KitePageLoaderProps) {\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n aria-label={message ?? \"Loading\"}\n className={cn(\n styles[\"kite-fu-host\"],\n styles[\"kite-fu-pageWrap\"],\n overlay\n ? styles[\"kite-fu-pageWrapOverlay\"]\n : styles[\"kite-fu-pageWrapFullscreen\"],\n className,\n )}\n style={{ ...themeStyle, ...style }}\n >\n <svg\n width={56}\n height={58}\n viewBox=\"0 0 24 31\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n overflow=\"visible\"\n >\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\n <path\n d=\"M14.8 3.3c0-0.8 0.6-1.5 1.5-1.5 0.2-1 1.1-1.8 2.2-1.8 0.8 0 1.4 0.4 1.9 1 0.2-0.1 0.5-0.1 0.8-0.1 1 0 1.8 0.8 1.8 1.8s-0.8 1.8-1.8 1.8h-4.7c-0.9 0-1.7-0.6-1.7-1.2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.28\"\n />\n </g>\n </g>\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\n <path\n d=\"M1.5 5.5c0-1.1 0.9-2 2-2 0.2-1.4 1.4-2.4 2.9-2.4 1.1 0 2 0.5 2.6 1.4 0.3-0.1 0.6-0.2 1-0.2 1.4 0 2.6 1.1 2.6 2.6s-1.2 2.6-2.6 2.6h-6.3c-1.3 0-2.3-0.9-2.3-2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.32\"\n />\n </g>\n </g>\n </g>\n <g\n className={cn(styles[\"kite-fu-float\"], styles[\"kite-fu-kiteBreath\"])}\n >\n <g transform=\"rotate(90 12 12)\">\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n className={styles[\"kite-fu-shadowBreathe\"]}\n />\n <path\n d=\"M12 24 Q13 28.5 12 31\"\n stroke=\"var(--kite-muted, #64748b)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n fill=\"none\"\n className={styles[\"kite-fu-stringSway\"]}\n />\n </g>\n </g>\n </svg>\n\n <span\n className={cn(\n styles[\"kite-fu-logoText\"],\n styles[\"kite-fu-loadingTextPulse\"],\n )}\n style={{\n marginTop: -2,\n fontSize: 20,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n\n <div\n className={cn(\n styles[\"kite-fu-loadingDots\"],\n styles[\"kite-fu-loadingDotsBelowBrand\"],\n )}\n aria-hidden=\"true\"\n >\n <span className={styles[\"kite-fu-loadingDot\"]} />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot1\"],\n )}\n />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot2\"],\n )}\n />\n </div>\n\n {message ? <p className={styles[\"kite-fu-label\"]}>{message}</p> : null}\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"../kite/kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"../kite/theme\";\n\nexport interface LoadingProps {\n className?: string;\n label?: string;\n theme?: KiteTheme;\n style?: CSSProperties;\n}\n\nexport function Loading({ className, label, theme, style }: LoadingProps) {\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(styles[\"kite-fu-host\"], className)}\n role=\"status\"\n aria-label={label ?? \"Loading\"}\n style={{ ...themeStyle, ...style }}\n >\n <div className={styles[\"kite-fu-loadingDots\"]}>\n <span className={styles[\"kite-fu-loadingDot\"]} />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot1\"],\n )}\n />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot2\"],\n )}\n />\n </div>\n </div>\n );\n}\n"],"mappings":";AAAO,SAAS,MAAM,OAAyD;AAC7E,SAAO,MAAM,OAAO,OAAO,EAAE,KAAK,GAAG;AACvC;;;ACFA;;;ACAA;AAAA,EACE;AAAA,EACA;AAAA,EAGA;AAAA,OACK;AAeP,IAAM,oBAAoB,cAAqC,MAAS;AAEjE,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AACF,GAA4B;AAC1B,SAAO,cAAc,kBAAkB,UAAU,EAAE,OAAO,MAAM,GAAG,QAAQ;AAC7E;AAEO,SAAS,gBAAgB;AAC9B,SAAO,WAAW,iBAAiB;AACrC;AAEO,SAAS,eACd,aACA,gBACA;AACA,SAAO,EAAE,GAAG,aAAa,GAAG,eAAe;AAC7C;AAEO,SAAS,oBAAoB,OAAkC;AACpE,MAAI,CAAC,OAAO;AACV,WAAO,CAAC;AAAA,EACV;AAEA,SAAO;AAAA,IACL,GAAI,MAAM,UAAU,EAAE,CAAC,gBAA0B,GAAG,MAAM,QAAQ,IAAI,CAAC;AAAA,IACvE,GAAI,MAAM,aACN,EAAE,CAAC,mBAA6B,GAAG,MAAM,WAAW,IACpD,CAAC;AAAA,IACL,GAAI,MAAM,QAAQ,EAAE,CAAC,cAAwB,GAAG,MAAM,MAAM,IAAI,CAAC;AAAA,IACjE,GAAI,MAAM,oBACN,EAAE,CAAC,2BAAqC,GAAG,MAAM,kBAAkB,IACnE,CAAC;AAAA,IACL,GAAI,MAAM,cACN,EAAE,CAAC,qBAA+B,GAAG,MAAM,YAAY,IACvD,CAAC;AAAA,EACP;AACF;;;ACxBI,SAQE,KARF;AAvBJ,IAAM,OAAO;AAAA,EACX,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,KAAK,GAAG,cAAc,IAAI;AAAA,EACpD,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,KAAK,GAAG,cAAc,IAAI;AAAA,EACpD,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,cAAc,IAAI;AAAA,EACrD,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,cAAc,IAAI;AAAA,EACrD,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,cAAc,IAAI;AACvD;AAeA,SAAS,SAAS,EAAE,KAAK,GAAqB;AAC5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACN,eAAY;AAAA,MAEZ;AAAA,4BAAC,UAAK,GAAE,uBAAsB,MAAK,gCAA+B;AAAA,QAClE;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAK;AAAA,YACL,SAAQ;AAAA;AAAA,QACV;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,SAAS,SAAS;AAAA,EACvB,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO;AAAA,EACP,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAkB;AAChB,QAAM,MAAM,KAAK,IAAI;AACrB,QAAM,cAAc,cAAc;AAClC,QAAM,gBAAgB,eAAe,aAAa,KAAK;AACvD,QAAM,aAAa,oBAAoB,aAAa;AAEpD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,wBAAO,cAAc;AAAA,QACrB,wBAAO,kBAAkB;AAAA,QACzB;AAAA,MACF;AAAA,MACA,OAAO,EAAE,GAAG,YAAY,GAAG,OAAO,KAAK,IAAI,IAAI;AAAA,MAE/C;AAAA,4BAAC,YAAS,MAAM,IAAI,MAAM;AAAA,QACzB,WACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,wBAAO,kBAAkB,GAAG,aAAa;AAAA,YACvD,OAAO;AAAA,cACL,UAAU,GAAG,IAAI,IAAI;AAAA,cACrB,YAAY;AAAA,cACZ,eAAe;AAAA,cACf,YAAY;AAAA,YACd;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,wBAAO,wBAAwB;AAAA,kBAC1C,OAAO,EAAE,YAAY,IAAI,aAAa;AAAA,kBAErC;AAAA;AAAA,cACH;AAAA,cACA,oBAAC,UAAK,WAAW,wBAAO,uBAAuB,GAAI,oBAAS;AAAA;AAAA;AAAA,QAC9D,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;;;AC5BU,SAGM,OAAAA,MAHN,QAAAC,aAAA;AA3DV,IAAM,QAAQ;AAAA,EACZ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAeO,SAAS,WAAW;AAAA,EACzB,OAAO;AAAA,EACP;AAAA,EACA,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF,GAAoB;AAClB,QAAM,KAAK,MAAM,IAAI;AACrB,QAAM,OAAO,KAAK,MAAM,KAAK,GAAG;AAChC,QAAM,cAAc,cAAc;AAClC,QAAM,gBAAgB,eAAe,aAAa,KAAK;AACvD,QAAM,aAAa,oBAAoB,aAAa;AAEpD,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,wBAAO,cAAc,GAAG,SAAS;AAAA,MAC/C,MAAK;AAAA,MACL,cAAY,SAAS;AAAA,MACrB,OAAO,EAAE,GAAG,YAAY,GAAG,MAAM;AAAA,MAEjC,0BAAAC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,SAAS;AAAA,YACT,eAAe;AAAA,YACf,YAAY;AAAA,YACZ,KAAK;AAAA,UACP;AAAA,UAEA;AAAA,4BAAAA;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,eAAY;AAAA,gBACZ,UAAS;AAAA,gBAET;AAAA,kCAAAA,MAAC,OAAE,WAAW,wBAAO,kBAAkB,GAAG,eAAY,QACpD;AAAA,oCAAAD,KAAC,OAAE,WAAW,wBAAO,qBAAqB,GACxC,0BAAAA,KAAC,OAAE,WAAW,wBAAO,wBAAwB,GAC3C,0BAAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,GAAE;AAAA,wBACF,MAAK;AAAA,wBACL,SAAQ;AAAA;AAAA,oBACV,GACF,GACF;AAAA,oBACA,gBAAAA,KAAC,OAAE,WAAW,wBAAO,qBAAqB,GACxC,0BAAAA,KAAC,OAAE,WAAW,wBAAO,uBAAuB,GAC1C,0BAAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,GAAE;AAAA,wBACF,MAAK;AAAA,wBACL,SAAQ;AAAA;AAAA,oBACV,GACF,GACF;AAAA,qBACF;AAAA,kBACA,gBAAAA;AAAA,oBAAC;AAAA;AAAA,sBACC,WAAW;AAAA,wBACT,wBAAO,eAAe;AAAA,wBACtB,wBAAO,oBAAoB;AAAA,sBAC7B;AAAA,sBAEA,0BAAAC,MAAC,OAAE,WAAU,oBACX;AAAA,wCAAAD;AAAA,0BAAC;AAAA;AAAA,4BACC,GAAE;AAAA,4BACF,MAAK;AAAA;AAAA,wBACP;AAAA,wBACA,gBAAAA;AAAA,0BAAC;AAAA;AAAA,4BACC,GAAE;AAAA,4BACF,MAAK;AAAA,4BACL,WAAW,wBAAO,uBAAuB;AAAA;AAAA,wBAC3C;AAAA,wBACA,gBAAAA;AAAA,0BAAC;AAAA;AAAA,4BACC,GAAE;AAAA,4BACF,QAAO;AAAA,4BACP,aAAY;AAAA,4BACZ,eAAc;AAAA,4BACd,MAAK;AAAA,4BACL,WAAW,wBAAO,oBAAoB;AAAA;AAAA,wBACxC;AAAA,yBACF;AAAA;AAAA,kBACF;AAAA;AAAA;AAAA,YACF;AAAA,YACC,YACC,gBAAAC;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW;AAAA,kBACT,wBAAO,kBAAkB;AAAA,kBACzB,wBAAO,0BAA0B;AAAA,gBACnC;AAAA,gBACA,OAAO;AAAA,kBACL,WAAW;AAAA,kBACX,UAAU;AAAA,kBACV,YAAY;AAAA,kBACZ,eAAe;AAAA,kBACf,YAAY;AAAA,gBACd;AAAA,gBAEA;AAAA,kCAAAD,KAAC,UAAK,WAAW,wBAAO,wBAAwB,GAAI,gBAAK;AAAA,kBACzD,gBAAAA,KAAC,UAAK,WAAW,wBAAO,uBAAuB,GAAI,oBAAS;AAAA;AAAA;AAAA,YAC9D,IACE;AAAA,YACH,QAAQ,gBAAAA,KAAC,OAAE,WAAW,wBAAO,eAAe,GAAI,iBAAM,IAAO;AAAA;AAAA;AAAA,MAChE;AAAA;AAAA,EACF;AAEJ;;;ACjFQ,SAGM,OAAAE,MAHN,QAAAC,aAAA;AArCD,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,cAAc,cAAc;AAClC,QAAM,gBAAgB,eAAe,aAAa,KAAK;AACvD,QAAM,aAAa,oBAAoB,aAAa;AAEpD,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAY,WAAW;AAAA,MACvB,WAAW;AAAA,QACT,wBAAO,cAAc;AAAA,QACrB,wBAAO,kBAAkB;AAAA,QACzB,UACI,wBAAO,yBAAyB,IAChC,wBAAO,4BAA4B;AAAA,QACvC;AAAA,MACF;AAAA,MACA,OAAO,EAAE,GAAG,YAAY,GAAG,MAAM;AAAA,MAEjC;AAAA,wBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,OAAM;AAAA,YACN,eAAY;AAAA,YACZ,UAAS;AAAA,YAET;AAAA,8BAAAA,MAAC,OAAE,WAAW,wBAAO,kBAAkB,GAAG,eAAY,QACpD;AAAA,gCAAAD,KAAC,OAAE,WAAW,wBAAO,qBAAqB,GACxC,0BAAAA,KAAC,OAAE,WAAW,wBAAO,wBAAwB,GAC3C,0BAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,GAAE;AAAA,oBACF,MAAK;AAAA,oBACL,SAAQ;AAAA;AAAA,gBACV,GACF,GACF;AAAA,gBACA,gBAAAA,KAAC,OAAE,WAAW,wBAAO,qBAAqB,GACxC,0BAAAA,KAAC,OAAE,WAAW,wBAAO,uBAAuB,GAC1C,0BAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,GAAE;AAAA,oBACF,MAAK;AAAA,oBACL,SAAQ;AAAA;AAAA,gBACV,GACF,GACF;AAAA,iBACF;AAAA,cACA,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW,GAAG,wBAAO,eAAe,GAAG,wBAAO,oBAAoB,CAAC;AAAA,kBAEnE,0BAAAC,MAAC,OAAE,WAAU,oBACX;AAAA,oCAAAD,KAAC,UAAK,GAAE,uBAAsB,MAAK,gCAA+B;AAAA,oBAClE,gBAAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,GAAE;AAAA,wBACF,MAAK;AAAA,wBACL,WAAW,wBAAO,uBAAuB;AAAA;AAAA,oBAC3C;AAAA,oBACA,gBAAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,GAAE;AAAA,wBACF,QAAO;AAAA,wBACP,aAAY;AAAA,wBACZ,eAAc;AAAA,wBACd,MAAK;AAAA,wBACL,WAAW,wBAAO,oBAAoB;AAAA;AAAA,oBACxC;AAAA,qBACF;AAAA;AAAA,cACF;AAAA;AAAA;AAAA,QACF;AAAA,QAEA,gBAAAC;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,wBAAO,kBAAkB;AAAA,cACzB,wBAAO,0BAA0B;AAAA,YACnC;AAAA,YACA,OAAO;AAAA,cACL,WAAW;AAAA,cACX,UAAU;AAAA,cACV,YAAY;AAAA,cACZ,eAAe;AAAA,cACf,YAAY;AAAA,YACd;AAAA,YAEA;AAAA,8BAAAD,KAAC,UAAK,WAAW,wBAAO,wBAAwB,GAAI,gBAAK;AAAA,cACzD,gBAAAA,KAAC,UAAK,WAAW,wBAAO,uBAAuB,GAAI,oBAAS;AAAA;AAAA;AAAA,QAC9D;AAAA,QAEA,gBAAAC;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,wBAAO,qBAAqB;AAAA,cAC5B,wBAAO,+BAA+B;AAAA,YACxC;AAAA,YACA,eAAY;AAAA,YAEZ;AAAA,8BAAAD,KAAC,UAAK,WAAW,wBAAO,oBAAoB,GAAG;AAAA,cAC/C,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW;AAAA,oBACT,wBAAO,oBAAoB;AAAA,oBAC3B,wBAAO,qBAAqB;AAAA,kBAC9B;AAAA;AAAA,cACF;AAAA,cACA,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW;AAAA,oBACT,wBAAO,oBAAoB;AAAA,oBAC3B,wBAAO,qBAAqB;AAAA,kBAC9B;AAAA;AAAA,cACF;AAAA;AAAA;AAAA,QACF;AAAA,QAEC,UAAU,gBAAAA,KAAC,OAAE,WAAW,wBAAO,eAAe,GAAI,mBAAQ,IAAO;AAAA;AAAA;AAAA,EACpE;AAEJ;;;AChHM,SACE,OAAAE,MADF,QAAAC,aAAA;AAZC,SAAS,QAAQ,EAAE,WAAW,OAAO,OAAO,MAAM,GAAiB;AACxE,QAAM,cAAc,cAAc;AAClC,QAAM,gBAAgB,eAAe,aAAa,KAAK;AACvD,QAAM,aAAa,oBAAoB,aAAa;AAEpD,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,wBAAO,cAAc,GAAG,SAAS;AAAA,MAC/C,MAAK;AAAA,MACL,cAAY,SAAS;AAAA,MACrB,OAAO,EAAE,GAAG,YAAY,GAAG,MAAM;AAAA,MAEjC,0BAAAC,MAAC,SAAI,WAAW,wBAAO,qBAAqB,GAC1C;AAAA,wBAAAD,KAAC,UAAK,WAAW,wBAAO,oBAAoB,GAAG;AAAA,QAC/C,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,wBAAO,oBAAoB;AAAA,cAC3B,wBAAO,qBAAqB;AAAA,YAC9B;AAAA;AAAA,QACF;AAAA,QACA,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT,wBAAO,oBAAoB;AAAA,cAC3B,wBAAO,qBAAqB;AAAA,YAC9B;AAAA;AAAA,QACF;AAAA,SACF;AAAA;AAAA,EACF;AAEJ;","names":["jsx","jsxs","jsx","jsxs","jsx","jsxs"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/cn.ts","../src/components/kite/kite-animations.module.css","../src/components/kite/theme.ts","../src/components/kite/KiteLogo.tsx","../src/components/kite/KiteLoader.tsx","../src/components/kite/KitePageLoader.tsx","../src/components/loading/Loading.tsx"],"sourcesContent":["export function cn(...parts: Array<string | false | null | undefined>): string {\n return parts.filter(Boolean).join(\" \");\n}\n",".kite-fu-host {\n --kite-primary: #0ea5e9;\n --kite-foreground: #0f172a;\n --kite-muted: #64748b;\n --kite-overlay-background: rgba(255, 255, 255, 0.82);\n --kite-overlay-blur: 2px;\n color: var(--kite-foreground);\n font-family: \"Inter Variable\", Inter, sans-serif;\n line-height: 1;\n box-sizing: border-box;\n}\n\n.kite-fu-host *,\n.kite-fu-host *::before,\n.kite-fu-host *::after {\n box-sizing: inherit;\n}\n\n.kite-fu-skyLayer {\n opacity: 0.86;\n}\n\n.kite-fu-cloudSizeXs,\n.kite-fu-cloudSizeSm,\n.kite-fu-cloudSizeMd,\n.kite-fu-cloudSizeLg {\n transform-box: fill-box;\n transform-origin: center;\n}\n\n.kite-fu-cloudSizeXs {\n transform: scale(0.78);\n}\n.kite-fu-cloudSizeSm {\n transform: scale(0.92);\n}\n.kite-fu-cloudSizeMd {\n transform: scale(1.04);\n}\n.kite-fu-cloudSizeLg {\n transform: scale(1.18);\n}\n\n.kite-fu-cloudDelayB {\n animation-delay: -1.9s;\n}\n.kite-fu-cloudDelayC {\n animation-delay: -3s;\n}\n\n.kite-fu-cloudDriftFar {\n animation: cloud-pass-far 4.6s cubic-bezier(0.4, 0.06, 0.6, 0.94) infinite;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftNear {\n animation: cloud-pass-near 3.5s cubic-bezier(0.34, 0.08, 0.58, 0.96) infinite;\n animation-delay: -1.6s;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftHigh {\n animation: cloud-pass-high 3.2s cubic-bezier(0.36, 0.07, 0.58, 0.95) infinite;\n animation-delay: -2.4s;\n will-change: transform, opacity;\n}\n\n.kite-fu-cloudDriftAlt {\n animation: cloud-pass-alt 4.1s cubic-bezier(0.38, 0.06, 0.62, 0.95) infinite;\n animation-delay: -0.9s;\n will-change: transform, opacity;\n}\n\n@keyframes cloud-pass-far {\n 0% {\n transform: translate3d(22px, 0.4px, 0) scale(0.96);\n opacity: 0;\n }\n 18% {\n transform: translate3d(12px, -0.3px, 0) scale(0.98);\n opacity: 0.5;\n }\n 52% {\n transform: translate3d(-4px, 0.2px, 0) scale(1);\n opacity: 0.58;\n }\n 82% {\n transform: translate3d(-18px, -0.5px, 0) scale(0.98);\n opacity: 0.48;\n }\n 100% {\n transform: translate3d(-30px, 0.4px, 0) scale(0.95);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-near {\n 0% {\n transform: translate3d(24px, -0.7px, 0) scale(1.02);\n opacity: 0;\n }\n 16% {\n transform: translate3d(14px, 0px, 0) scale(1.04);\n opacity: 0.62;\n }\n 48% {\n transform: translate3d(-4px, 0.6px, 0) scale(1.06);\n opacity: 0.72;\n }\n 78% {\n transform: translate3d(-18px, -0.1px, 0) scale(1.03);\n opacity: 0.64;\n }\n 100% {\n transform: translate3d(-32px, -0.8px, 0) scale(1.01);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-high {\n 0% {\n transform: translate3d(26px, -1.2px, 0) scale(0.9);\n opacity: 0;\n }\n 20% {\n transform: translate3d(15px, -1.6px, 0) scale(0.95);\n opacity: 0.52;\n }\n 55% {\n transform: translate3d(-5px, -1px, 0) scale(0.98);\n opacity: 0.58;\n }\n 84% {\n transform: translate3d(-21px, -1.4px, 0) scale(0.94);\n opacity: 0.46;\n }\n 100% {\n transform: translate3d(-34px, -1.1px, 0) scale(0.9);\n opacity: 0;\n }\n}\n\n@keyframes cloud-pass-alt {\n 0% {\n transform: translate3d(24px, 1px, 0) scale(1.08);\n opacity: 0;\n }\n 15% {\n transform: translate3d(15px, 0.2px, 0) scale(1.1);\n opacity: 0.62;\n }\n 49% {\n transform: translate3d(-4px, 0.9px, 0) scale(1.12);\n opacity: 0.7;\n }\n 79% {\n transform: translate3d(-20px, 0.4px, 0) scale(1.08);\n opacity: 0.56;\n }\n 100% {\n transform: translate3d(-34px, 1.1px, 0) scale(1.05);\n opacity: 0;\n }\n}\n\n.kite-fu-float {\n animation: kite-float 1.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;\n transform-box: fill-box;\n transform-origin: center;\n}\n\n@keyframes kite-float {\n 0% {\n transform: translate(-11px, 0px) rotate(-5deg);\n }\n 16% {\n transform: translate(-6px, -1px) rotate(-2deg);\n }\n 32% {\n transform: translate(0px, -2px) rotate(1deg);\n }\n 48% {\n transform: translate(7px, -1px) rotate(4deg);\n }\n 64% {\n transform: translate(11px, 0px) rotate(6deg);\n }\n 80% {\n transform: translate(4px, 1px) rotate(3deg);\n }\n 92% {\n transform: translate(-5px, 1px) rotate(-2deg);\n }\n 100% {\n transform: translate(-11px, 0px) rotate(-5deg);\n }\n}\n\n.kite-fu-shadowBreathe {\n animation: kite-shadow-breathe 1.9s ease-in-out infinite;\n opacity: 0.48;\n}\n\n@keyframes kite-shadow-breathe {\n 0% {\n opacity: 0.48;\n }\n 30% {\n opacity: 0.66;\n }\n 50% {\n opacity: 0.82;\n }\n 72% {\n opacity: 0.64;\n }\n 100% {\n opacity: 0.48;\n }\n}\n\n.kite-fu-stringSway {\n animation: kite-string-sway 1.9s ease-in-out infinite;\n transform-box: fill-box;\n transform-origin: top center;\n opacity: 0.35;\n}\n\n@keyframes kite-string-sway {\n 0% {\n transform: rotate(6deg);\n }\n 16% {\n transform: rotate(3deg);\n }\n 32% {\n transform: rotate(-2deg);\n }\n 48% {\n transform: rotate(-6deg);\n }\n 64% {\n transform: rotate(-7deg);\n }\n 80% {\n transform: rotate(-1deg);\n }\n 92% {\n transform: rotate(4deg);\n }\n 100% {\n transform: rotate(6deg);\n }\n}\n\n.kite-fu-kiteBreath {\n animation: kite-breath 1.6s ease-in-out infinite;\n}\n\n@keyframes kite-breath {\n 0%,\n 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.45;\n }\n}\n\n.kite-fu-dot {\n animation: kite-dot 1.2s ease-in-out infinite;\n}\n\n.kite-fu-dot1 {\n animation-delay: 0.15s;\n}\n.kite-fu-dot2 {\n animation-delay: 0.3s;\n}\n\n@keyframes kite-dot {\n 0%,\n 60%,\n 100% {\n transform: translateY(0);\n opacity: 0.3;\n }\n 30% {\n transform: translateY(-5px);\n opacity: 1;\n }\n}\n\n@keyframes kite-label-pulse {\n 0%,\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n 50% {\n opacity: 0.42;\n transform: translateY(0.5px);\n }\n}\n\n.kite-fu-loadingDots {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.kite-fu-loadingDotsBelowBrand {\n margin-top: 14px;\n}\n\n.kite-fu-loadingDot {\n width: 6px;\n height: 6px;\n border-radius: 9999px;\n background: var(--kite-primary);\n animation: kite-dot 1.2s ease-in-out infinite;\n}\n\n.kite-fu-loadingDot1 {\n animation-delay: 0.15s;\n}\n.kite-fu-loadingDot2 {\n animation-delay: 0.3s;\n}\n\n.kite-fu-logoWrap {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n}\n\n.kite-fu-logoText {\n margin: 0;\n color: var(--kite-foreground);\n letter-spacing: -0.03em;\n line-height: 1;\n}\n\n.kite-fu-logoTextStrong {\n font-weight: 600;\n}\n\n.kite-fu-logoTextLight {\n font-weight: 300;\n}\n\n.kite-fu-pageWrap {\n font-family: \"Inter Variable\", Inter, sans-serif;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n font-weight: 400;\n}\n\n.kite-fu-pageWrapFullscreen {\n min-height: 100vh;\n}\n\n.kite-fu-pageWrapOverlay {\n position: fixed;\n inset: 0;\n z-index: 50;\n background: var(--kite-overlay-background);\n backdrop-filter: blur(var(--kite-overlay-blur));\n}\n\n.kite-fu-label {\n margin: 10px 0 0;\n font-size: 14px;\n font-family: \"Inter Variable\", Inter, sans-serif;\n font-weight: 400;\n line-height: 1.4;\n color: var(--kite-muted);\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n.kite-fu-loadingTextPulse {\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n","import {\n createElement,\n createContext,\n type CSSProperties,\n type ReactNode,\n useContext,\n} from \"react\";\n\nexport interface KiteTheme {\n primary?: string;\n foreground?: string;\n muted?: string;\n overlayBackground?: string;\n overlayBlur?: string;\n}\n\ninterface FlyUIThemeProviderProps {\n theme?: KiteTheme;\n children: ReactNode;\n}\n\nconst FlyUIThemeContext = createContext<KiteTheme | undefined>(undefined);\n\nexport function FlyUIThemeProvider({\n theme,\n children,\n}: FlyUIThemeProviderProps) {\n return createElement(FlyUIThemeContext.Provider, { value: theme }, children);\n}\n\nexport function useFlyUITheme() {\n return useContext(FlyUIThemeContext);\n}\n\nexport function mergeKiteTheme(\n globalTheme?: KiteTheme,\n componentTheme?: KiteTheme,\n) {\n return { ...globalTheme, ...componentTheme };\n}\n\nexport function buildKiteThemeStyle(theme?: KiteTheme): CSSProperties {\n if (!theme) {\n return {};\n }\n\n return {\n ...(theme.primary ? { [\"--kite-primary\" as string]: theme.primary } : {}),\n ...(theme.foreground\n ? { [\"--kite-foreground\" as string]: theme.foreground }\n : {}),\n ...(theme.muted ? { [\"--kite-muted\" as string]: theme.muted } : {}),\n ...(theme.overlayBackground\n ? { [\"--kite-overlay-background\" as string]: theme.overlayBackground }\n : {}),\n ...(theme.overlayBlur\n ? { [\"--kite-overlay-blur\" as string]: theme.overlayBlur }\n : {}),\n } as CSSProperties;\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nconst SIZE = {\n xs: { icon: 16, text: 12, gap: 4, strongWeight: 600 },\n sm: { icon: 20, text: 14, gap: 6, strongWeight: 600 },\n md: { icon: 24, text: 16, gap: 7, strongWeight: 600 },\n lg: { icon: 28, text: 18, gap: 8, strongWeight: 700 },\n xl: { icon: 40, text: 24, gap: 9, strongWeight: 700 },\n} as const;\n\ntype SizeKey = keyof typeof SIZE;\n\nexport interface KiteLogoProps {\n size?: SizeKey;\n showText?: boolean;\n name?: string;\n subBrand?: string;\n iconTextGap?: number;\n theme?: KiteTheme;\n className?: string;\n textClassName?: string;\n style?: CSSProperties;\n}\n\nfunction KiteIcon({ size }: { size: number }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n opacity=\"0.48\"\n />\n </svg>\n );\n}\n\nexport function KiteLogo({\n size = \"md\",\n showText = true,\n name = \"Fly\",\n subBrand = \"UI\",\n iconTextGap,\n theme,\n className,\n textClassName,\n style,\n}: KiteLogoProps) {\n const cfg = SIZE[size];\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(\n styles[\"kite-fu-host\"],\n styles[\"kite-fu-logoWrap\"],\n className,\n )}\n style={{ ...themeStyle, ...style, gap: iconTextGap ?? cfg.gap }}\n >\n <KiteIcon size={cfg.icon} />\n {showText ? (\n <span\n className={cn(styles[\"kite-fu-logoText\"], textClassName)}\n style={{\n fontSize: `${cfg.text}px`,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span\n className={styles[\"kite-fu-logoTextStrong\"]}\n style={{ fontWeight: cfg.strongWeight }}\n >\n {name}\n </span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n ) : null}\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nconst SIZES = {\n sm: 32,\n md: 48,\n lg: 64,\n} as const;\n\ntype LoaderSize = keyof typeof SIZES;\n\nexport interface KiteLoaderProps {\n size?: LoaderSize;\n label?: string;\n showBrand?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n style?: CSSProperties;\n}\n\nexport function KiteLoader({\n size = \"md\",\n label,\n showBrand = false,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n style,\n}: KiteLoaderProps) {\n const px = SIZES[size];\n const svgH = Math.round(px * 1.2);\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(styles[\"kite-fu-host\"], className)}\n role=\"status\"\n aria-label={label ?? \"Loading\"}\n style={{ ...themeStyle, ...style }}\n >\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 10,\n }}\n >\n <svg\n width={px}\n height={svgH}\n viewBox=\"0 0 24 31\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n overflow=\"visible\"\n >\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\n <path\n d=\"M15.4 3.8c0-0.8 0.6-1.5 1.5-1.5 0.2-1 1.1-1.8 2.1-1.8 0.7 0 1.4 0.4 1.9 1 0.2-0.1 0.5-0.1 0.7-0.1 1 0 1.9 0.9 1.9 1.9s-0.9 1.9-1.9 1.9h-4.5c-0.9 0-1.7-0.7-1.7-1.6z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.28\"\n />\n </g>\n </g>\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\n <path\n d=\"M2.4 5.7c0-1 0.8-1.8 1.8-1.8 0.2-1.2 1.3-2.1 2.5-2.1 1 0 1.8 0.5 2.3 1.3 0.3-0.1 0.5-0.1 0.8-0.1 1.3 0 2.3 1 2.3 2.3s-1 2.3-2.3 2.3H4.4c-1.1 0-2-0.9-2-2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.32\"\n />\n </g>\n </g>\n </g>\n <g\n className={cn(\n styles[\"kite-fu-float\"],\n styles[\"kite-fu-kiteBreath\"],\n )}\n >\n <g transform=\"rotate(90 12 12)\">\n <path\n d=\"M12 0 L0 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n className={styles[\"kite-fu-shadowBreathe\"]}\n />\n <path\n d=\"M12 24 Q13 28.5 12 31\"\n stroke=\"var(--kite-muted, #64748b)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n fill=\"none\"\n className={styles[\"kite-fu-stringSway\"]}\n />\n </g>\n </g>\n </svg>\n {showBrand ? (\n <span\n className={cn(\n styles[\"kite-fu-logoText\"],\n styles[\"kite-fu-loadingTextPulse\"],\n )}\n style={{\n marginTop: -2,\n fontSize: 20,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n ) : null}\n {label ? <p className={styles[\"kite-fu-label\"]}>{label}</p> : null}\n </div>\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"./kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"./theme\";\n\nexport interface KitePageLoaderProps {\n message?: string;\n overlay?: boolean;\n name?: string;\n subBrand?: string;\n theme?: KiteTheme;\n className?: string;\n style?: CSSProperties;\n}\n\nexport function KitePageLoader({\n message,\n overlay = false,\n name = \"Fly\",\n subBrand = \"UI\",\n theme,\n className,\n style,\n}: KitePageLoaderProps) {\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n aria-label={message ?? \"Loading\"}\n className={cn(\n styles[\"kite-fu-host\"],\n styles[\"kite-fu-pageWrap\"],\n overlay\n ? styles[\"kite-fu-pageWrapOverlay\"]\n : styles[\"kite-fu-pageWrapFullscreen\"],\n className,\n )}\n style={{ ...themeStyle, ...style }}\n >\n <svg\n width={56}\n height={58}\n viewBox=\"0 0 24 31\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n overflow=\"visible\"\n >\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\n <path\n d=\"M14.8 3.3c0-0.8 0.6-1.5 1.5-1.5 0.2-1 1.1-1.8 2.2-1.8 0.8 0 1.4 0.4 1.9 1 0.2-0.1 0.5-0.1 0.8-0.1 1 0 1.8 0.8 1.8 1.8s-0.8 1.8-1.8 1.8h-4.7c-0.9 0-1.7-0.6-1.7-1.2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.28\"\n />\n </g>\n </g>\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\n <path\n d=\"M1.5 5.5c0-1.1 0.9-2 2-2 0.2-1.4 1.4-2.4 2.9-2.4 1.1 0 2 0.5 2.6 1.4 0.3-0.1 0.6-0.2 1-0.2 1.4 0 2.6 1.1 2.6 2.6s-1.2 2.6-2.6 2.6h-6.3c-1.3 0-2.3-0.9-2.3-2z\"\n fill=\"var(--kite-muted, #64748b)\"\n opacity=\"0.32\"\n />\n </g>\n </g>\n </g>\n <g\n className={cn(styles[\"kite-fu-float\"], styles[\"kite-fu-kiteBreath\"])}\n >\n <g transform=\"rotate(90 12 12)\">\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\n <path\n d=\"M12 0 L24 9 L12 24 Z\"\n fill=\"var(--kite-primary, #0ea5e9)\"\n className={styles[\"kite-fu-shadowBreathe\"]}\n />\n <path\n d=\"M12 24 Q13 28.5 12 31\"\n stroke=\"var(--kite-muted, #64748b)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n fill=\"none\"\n className={styles[\"kite-fu-stringSway\"]}\n />\n </g>\n </g>\n </svg>\n\n <span\n className={cn(\n styles[\"kite-fu-logoText\"],\n styles[\"kite-fu-loadingTextPulse\"],\n )}\n style={{\n marginTop: -2,\n fontSize: 20,\n fontFamily: '\"Inter Variable\", sans-serif',\n letterSpacing: \"-0.03em\",\n lineHeight: 1,\n }}\n >\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\n </span>\n\n <div\n className={cn(\n styles[\"kite-fu-loadingDots\"],\n styles[\"kite-fu-loadingDotsBelowBrand\"],\n )}\n aria-hidden=\"true\"\n >\n <span className={styles[\"kite-fu-loadingDot\"]} />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot1\"],\n )}\n />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot2\"],\n )}\n />\n </div>\n\n {message ? <p className={styles[\"kite-fu-label\"]}>{message}</p> : null}\n </div>\n );\n}\n","import type { CSSProperties } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nimport styles from \"../kite/kite-animations.module.css\";\nimport {\n buildKiteThemeStyle,\n mergeKiteTheme,\n type KiteTheme,\n useFlyUITheme,\n} from \"../kite/theme\";\n\nexport interface LoadingProps {\n className?: string;\n label?: string;\n theme?: KiteTheme;\n style?: CSSProperties;\n}\n\nexport function Loading({ className, label, theme, style }: LoadingProps) {\n const globalTheme = useFlyUITheme();\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\n\n return (\n <div\n className={cn(styles[\"kite-fu-host\"], className)}\n role=\"status\"\n aria-label={label ?? \"Loading\"}\n style={{ ...themeStyle, ...style }}\n >\n <div className={styles[\"kite-fu-loadingDots\"]}>\n <span className={styles[\"kite-fu-loadingDot\"]} />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot1\"],\n )}\n />\n <span\n className={cn(\n styles[\"kite-fu-loadingDot\"],\n styles[\"kite-fu-loadingDot2\"],\n )}\n />\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["jsx","jsxs","jsx","jsxs","jsx","jsxs"]}
|