@kitelus/fly-ui 0.1.0 → 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/LICENSE +21 -0
- package/README.md +60 -59
- package/dist/index.cjs +7 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.css.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 +15 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Thanh Binh & Kitelus
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,29 +1,56 @@
|
|
|
1
|
-
#
|
|
1
|
+
# FlyUI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Lightweight React component library focused on loading UX with isolated styles and Storybook-driven documentation.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/@kitelus/fly-ui)
|
|
6
|
+
[](https://www.npmjs.com/package/@kitelus/fly-ui)
|
|
7
|
+
[](./LICENSE)
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
- Vite (local playground)
|
|
9
|
-
- Storybook 10 (docs and interactive examples)
|
|
10
|
-
- tsup (library build to ESM + CJS + DTS)
|
|
9
|
+
## Links
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
- GitHub: https://github.com/kitelus/fly-ui
|
|
12
|
+
- npm: https://www.npmjs.com/package/@kitelus/fly-ui
|
|
13
|
+
- Storybook Docs: https://kitelus.github.io/fly-ui/
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- Isolated component styles via CSS Modules (prefixed classes)
|
|
18
|
+
- Loading-focused UI components for product consistency
|
|
19
|
+
- Global + per-component theming support
|
|
20
|
+
- Storybook docs and usage playground
|
|
21
|
+
- ESM + CJS + TypeScript declarations build output
|
|
22
|
+
|
|
23
|
+
## Components
|
|
13
24
|
|
|
14
25
|
- `KiteLogo`
|
|
15
26
|
- `KiteLoader`
|
|
16
27
|
- `KitePageLoader`
|
|
17
|
-
- `Loading`
|
|
28
|
+
- `Loading`
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npm install @kitelus/fly-ui
|
|
34
|
+
```
|
|
18
35
|
|
|
19
|
-
|
|
36
|
+
## Quick Start
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
import { KiteLogo, KiteLoader, KitePageLoader, Loading } from "@kitelus/fly-ui";
|
|
20
40
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
41
|
+
export function Example() {
|
|
42
|
+
return (
|
|
43
|
+
<div>
|
|
44
|
+
<KiteLogo size="md" name="Fly" subBrand="UI" />
|
|
45
|
+
<KiteLoader showBrand label="Loading section..." />
|
|
46
|
+
<Loading />
|
|
47
|
+
<KitePageLoader message="Preparing workspace..." />
|
|
48
|
+
</div>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
```
|
|
25
52
|
|
|
26
|
-
##
|
|
53
|
+
## Development
|
|
27
54
|
|
|
28
55
|
```bash
|
|
29
56
|
npm install
|
|
@@ -36,7 +63,7 @@ Run Storybook:
|
|
|
36
63
|
npm run storybook
|
|
37
64
|
```
|
|
38
65
|
|
|
39
|
-
Build package:
|
|
66
|
+
Build the package:
|
|
40
67
|
|
|
41
68
|
```bash
|
|
42
69
|
npm run build:lib
|
|
@@ -48,56 +75,30 @@ Build static Storybook for GitHub Pages:
|
|
|
48
75
|
npm run build-storybook
|
|
49
76
|
```
|
|
50
77
|
|
|
51
|
-
##
|
|
78
|
+
## Contributing
|
|
52
79
|
|
|
53
|
-
|
|
54
|
-
npm install @kitelus/fly-ui
|
|
55
|
-
```
|
|
80
|
+
Contributions are welcome.
|
|
56
81
|
|
|
57
|
-
|
|
58
|
-
|
|
82
|
+
1. Fork the repository
|
|
83
|
+
2. Create your feature branch
|
|
84
|
+
3. Commit your changes with clear messages
|
|
85
|
+
4. Open a pull request
|
|
59
86
|
|
|
60
|
-
|
|
61
|
-
return (
|
|
62
|
-
<div>
|
|
63
|
-
<KiteLogo size="md" />
|
|
64
|
-
<KiteLoader label="Loading panel..." />
|
|
65
|
-
<Loading />
|
|
66
|
-
<KitePageLoader message="Preparing workspace..." />
|
|
67
|
-
</div>
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## GitHub Pages
|
|
73
|
-
|
|
74
|
-
Workflow: `.github/workflows/deploy-storybook-pages.yml`
|
|
75
|
-
|
|
76
|
-
- Trigger: push to `main`
|
|
77
|
-
- Output: Storybook static site on GitHub Pages
|
|
87
|
+
Please include a clear description of the change and update docs/stories when relevant.
|
|
78
88
|
|
|
79
|
-
|
|
89
|
+
See detailed guidelines in [CONTRIBUTING.md](./CONTRIBUTING.md).
|
|
80
90
|
|
|
81
|
-
|
|
91
|
+
## Community
|
|
82
92
|
|
|
83
|
-
|
|
93
|
+
- Code of Conduct: [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)
|
|
94
|
+
- Contributing Guide: [CONTRIBUTING.md](./CONTRIBUTING.md)
|
|
95
|
+
- Security Policy: [SECURITY.md](./SECURITY.md)
|
|
84
96
|
|
|
85
|
-
|
|
97
|
+
## License
|
|
86
98
|
|
|
87
|
-
|
|
99
|
+
This project is licensed under the MIT License. See [LICENSE](./LICENSE) for full details.
|
|
88
100
|
|
|
89
|
-
|
|
90
|
-
- manual workflow dispatch
|
|
101
|
+
## Contact
|
|
91
102
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
If this folder is used as a standalone repo:
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
git init
|
|
98
|
-
git remote add origin https://github.com/kitelus/fly-ui.git
|
|
99
|
-
git add .
|
|
100
|
-
git commit -m "feat: bootstrap fly-ui component library"
|
|
101
|
-
git branch -M main
|
|
102
|
-
git push -u origin main
|
|
103
|
-
```
|
|
103
|
+
- Maintainer: Binh Tran
|
|
104
|
+
- Email: thanhbinh.bent@gmail.com
|
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\";\r\nexport type { KiteLogoProps } from \"./components/kite/KiteLogo\";\r\nexport type { KiteTheme } from \"./components/kite/theme\";\r\nexport { FlyUIThemeProvider, useFlyUITheme } from \"./components/kite/theme\";\r\n\r\nexport { KiteLoader } from \"./components/kite/KiteLoader\";\r\nexport type { KiteLoaderProps } from \"./components/kite/KiteLoader\";\r\n\r\nexport { KitePageLoader } from \"./components/kite/KitePageLoader\";\r\nexport type { KitePageLoaderProps } from \"./components/kite/KitePageLoader\";\r\n\r\nexport { Loading } from \"./components/loading/Loading\";\r\nexport type { LoadingProps } from \"./components/loading/Loading\";\r\n","export function cn(...parts: Array<string | false | null | undefined>): string {\r\n return parts.filter(Boolean).join(\" \");\r\n}\r\n",".kite-fu-host {\r\n --kite-primary: #0ea5e9;\r\n --kite-foreground: #0f172a;\r\n --kite-muted: #64748b;\r\n --kite-overlay-background: rgba(255, 255, 255, 0.82);\r\n --kite-overlay-blur: 2px;\r\n color: var(--kite-foreground);\r\n font-family: \"Inter Variable\", Inter, sans-serif;\r\n line-height: 1;\r\n box-sizing: border-box;\r\n}\r\n\r\n.kite-fu-host *,\r\n.kite-fu-host *::before,\r\n.kite-fu-host *::after {\r\n box-sizing: inherit;\r\n}\r\n\r\n.kite-fu-skyLayer {\r\n opacity: 0.86;\r\n}\r\n\r\n.kite-fu-cloudSizeXs,\r\n.kite-fu-cloudSizeSm,\r\n.kite-fu-cloudSizeMd,\r\n.kite-fu-cloudSizeLg {\r\n transform-box: fill-box;\r\n transform-origin: center;\r\n}\r\n\r\n.kite-fu-cloudSizeXs {\r\n transform: scale(0.78);\r\n}\r\n.kite-fu-cloudSizeSm {\r\n transform: scale(0.92);\r\n}\r\n.kite-fu-cloudSizeMd {\r\n transform: scale(1.04);\r\n}\r\n.kite-fu-cloudSizeLg {\r\n transform: scale(1.18);\r\n}\r\n\r\n.kite-fu-cloudDelayB {\r\n animation-delay: -1.9s;\r\n}\r\n.kite-fu-cloudDelayC {\r\n animation-delay: -3s;\r\n}\r\n\r\n.kite-fu-cloudDriftFar {\r\n animation: cloud-pass-far 4.6s cubic-bezier(0.4, 0.06, 0.6, 0.94) infinite;\r\n will-change: transform, opacity;\r\n}\r\n\r\n.kite-fu-cloudDriftNear {\r\n animation: cloud-pass-near 3.5s cubic-bezier(0.34, 0.08, 0.58, 0.96) infinite;\r\n animation-delay: -1.6s;\r\n will-change: transform, opacity;\r\n}\r\n\r\n.kite-fu-cloudDriftHigh {\r\n animation: cloud-pass-high 3.2s cubic-bezier(0.36, 0.07, 0.58, 0.95) infinite;\r\n animation-delay: -2.4s;\r\n will-change: transform, opacity;\r\n}\r\n\r\n.kite-fu-cloudDriftAlt {\r\n animation: cloud-pass-alt 4.1s cubic-bezier(0.38, 0.06, 0.62, 0.95) infinite;\r\n animation-delay: -0.9s;\r\n will-change: transform, opacity;\r\n}\r\n\r\n@keyframes cloud-pass-far {\r\n 0% {\r\n transform: translate3d(22px, 0.4px, 0) scale(0.96);\r\n opacity: 0;\r\n }\r\n 18% {\r\n transform: translate3d(12px, -0.3px, 0) scale(0.98);\r\n opacity: 0.5;\r\n }\r\n 52% {\r\n transform: translate3d(-4px, 0.2px, 0) scale(1);\r\n opacity: 0.58;\r\n }\r\n 82% {\r\n transform: translate3d(-18px, -0.5px, 0) scale(0.98);\r\n opacity: 0.48;\r\n }\r\n 100% {\r\n transform: translate3d(-30px, 0.4px, 0) scale(0.95);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes cloud-pass-near {\r\n 0% {\r\n transform: translate3d(24px, -0.7px, 0) scale(1.02);\r\n opacity: 0;\r\n }\r\n 16% {\r\n transform: translate3d(14px, 0px, 0) scale(1.04);\r\n opacity: 0.62;\r\n }\r\n 48% {\r\n transform: translate3d(-4px, 0.6px, 0) scale(1.06);\r\n opacity: 0.72;\r\n }\r\n 78% {\r\n transform: translate3d(-18px, -0.1px, 0) scale(1.03);\r\n opacity: 0.64;\r\n }\r\n 100% {\r\n transform: translate3d(-32px, -0.8px, 0) scale(1.01);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes cloud-pass-high {\r\n 0% {\r\n transform: translate3d(26px, -1.2px, 0) scale(0.9);\r\n opacity: 0;\r\n }\r\n 20% {\r\n transform: translate3d(15px, -1.6px, 0) scale(0.95);\r\n opacity: 0.52;\r\n }\r\n 55% {\r\n transform: translate3d(-5px, -1px, 0) scale(0.98);\r\n opacity: 0.58;\r\n }\r\n 84% {\r\n transform: translate3d(-21px, -1.4px, 0) scale(0.94);\r\n opacity: 0.46;\r\n }\r\n 100% {\r\n transform: translate3d(-34px, -1.1px, 0) scale(0.9);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes cloud-pass-alt {\r\n 0% {\r\n transform: translate3d(24px, 1px, 0) scale(1.08);\r\n opacity: 0;\r\n }\r\n 15% {\r\n transform: translate3d(15px, 0.2px, 0) scale(1.1);\r\n opacity: 0.62;\r\n }\r\n 49% {\r\n transform: translate3d(-4px, 0.9px, 0) scale(1.12);\r\n opacity: 0.7;\r\n }\r\n 79% {\r\n transform: translate3d(-20px, 0.4px, 0) scale(1.08);\r\n opacity: 0.56;\r\n }\r\n 100% {\r\n transform: translate3d(-34px, 1.1px, 0) scale(1.05);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n.kite-fu-float {\r\n animation: kite-float 1.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;\r\n transform-box: fill-box;\r\n transform-origin: center;\r\n}\r\n\r\n@keyframes kite-float {\r\n 0% {\r\n transform: translate(-11px, 0px) rotate(-5deg);\r\n }\r\n 16% {\r\n transform: translate(-6px, -1px) rotate(-2deg);\r\n }\r\n 32% {\r\n transform: translate(0px, -2px) rotate(1deg);\r\n }\r\n 48% {\r\n transform: translate(7px, -1px) rotate(4deg);\r\n }\r\n 64% {\r\n transform: translate(11px, 0px) rotate(6deg);\r\n }\r\n 80% {\r\n transform: translate(4px, 1px) rotate(3deg);\r\n }\r\n 92% {\r\n transform: translate(-5px, 1px) rotate(-2deg);\r\n }\r\n 100% {\r\n transform: translate(-11px, 0px) rotate(-5deg);\r\n }\r\n}\r\n\r\n.kite-fu-shadowBreathe {\r\n animation: kite-shadow-breathe 1.9s ease-in-out infinite;\r\n opacity: 0.48;\r\n}\r\n\r\n@keyframes kite-shadow-breathe {\r\n 0% {\r\n opacity: 0.48;\r\n }\r\n 30% {\r\n opacity: 0.66;\r\n }\r\n 50% {\r\n opacity: 0.82;\r\n }\r\n 72% {\r\n opacity: 0.64;\r\n }\r\n 100% {\r\n opacity: 0.48;\r\n }\r\n}\r\n\r\n.kite-fu-stringSway {\r\n animation: kite-string-sway 1.9s ease-in-out infinite;\r\n transform-box: fill-box;\r\n transform-origin: top center;\r\n opacity: 0.35;\r\n}\r\n\r\n@keyframes kite-string-sway {\r\n 0% {\r\n transform: rotate(6deg);\r\n }\r\n 16% {\r\n transform: rotate(3deg);\r\n }\r\n 32% {\r\n transform: rotate(-2deg);\r\n }\r\n 48% {\r\n transform: rotate(-6deg);\r\n }\r\n 64% {\r\n transform: rotate(-7deg);\r\n }\r\n 80% {\r\n transform: rotate(-1deg);\r\n }\r\n 92% {\r\n transform: rotate(4deg);\r\n }\r\n 100% {\r\n transform: rotate(6deg);\r\n }\r\n}\r\n\r\n.kite-fu-kiteBreath {\r\n animation: kite-breath 1.6s ease-in-out infinite;\r\n}\r\n\r\n@keyframes kite-breath {\r\n 0%,\r\n 100% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.45;\r\n }\r\n}\r\n\r\n.kite-fu-dot {\r\n animation: kite-dot 1.2s ease-in-out infinite;\r\n}\r\n\r\n.kite-fu-dot1 {\r\n animation-delay: 0.15s;\r\n}\r\n.kite-fu-dot2 {\r\n animation-delay: 0.3s;\r\n}\r\n\r\n@keyframes kite-dot {\r\n 0%,\r\n 60%,\r\n 100% {\r\n transform: translateY(0);\r\n opacity: 0.3;\r\n }\r\n 30% {\r\n transform: translateY(-5px);\r\n opacity: 1;\r\n }\r\n}\r\n\r\n@keyframes kite-label-pulse {\r\n 0%,\r\n 100% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n 50% {\r\n opacity: 0.42;\r\n transform: translateY(0.5px);\r\n }\r\n}\r\n\r\n.kite-fu-loadingDots {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 6px;\r\n}\r\n\r\n.kite-fu-loadingDotsBelowBrand {\r\n margin-top: 14px;\r\n}\r\n\r\n.kite-fu-loadingDot {\r\n width: 6px;\r\n height: 6px;\r\n border-radius: 9999px;\r\n background: var(--kite-primary);\r\n animation: kite-dot 1.2s ease-in-out infinite;\r\n}\r\n\r\n.kite-fu-loadingDot1 {\r\n animation-delay: 0.15s;\r\n}\r\n.kite-fu-loadingDot2 {\r\n animation-delay: 0.3s;\r\n}\r\n\r\n.kite-fu-logoWrap {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 10px;\r\n}\r\n\r\n.kite-fu-logoText {\r\n margin: 0;\r\n color: var(--kite-foreground);\r\n letter-spacing: -0.03em;\r\n line-height: 1;\r\n}\r\n\r\n.kite-fu-logoTextStrong {\r\n font-weight: 600;\r\n}\r\n\r\n.kite-fu-logoTextLight {\r\n font-weight: 300;\r\n}\r\n\r\n.kite-fu-pageWrap {\r\n font-family: \"Inter Variable\", Inter, sans-serif;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n font-weight: 400;\r\n}\r\n\r\n.kite-fu-pageWrapFullscreen {\r\n min-height: 100vh;\r\n}\r\n\r\n.kite-fu-pageWrapOverlay {\r\n position: fixed;\r\n inset: 0;\r\n z-index: 50;\r\n background: var(--kite-overlay-background);\r\n backdrop-filter: blur(var(--kite-overlay-blur));\r\n}\r\n\r\n.kite-fu-label {\r\n margin: 10px 0 0;\r\n font-size: 14px;\r\n font-family: \"Inter Variable\", Inter, sans-serif;\r\n font-weight: 400;\r\n line-height: 1.4;\r\n color: var(--kite-muted);\r\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\r\n}\r\n\r\n.kite-fu-loadingTextPulse {\r\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\r\n}\r\n","import {\r\n createElement,\r\n createContext,\r\n type CSSProperties,\r\n type ReactNode,\r\n useContext,\r\n} from \"react\";\r\n\r\nexport interface KiteTheme {\r\n primary?: string;\r\n foreground?: string;\r\n muted?: string;\r\n overlayBackground?: string;\r\n overlayBlur?: string;\r\n}\r\n\r\ninterface FlyUIThemeProviderProps {\r\n theme?: KiteTheme;\r\n children: ReactNode;\r\n}\r\n\r\nconst FlyUIThemeContext = createContext<KiteTheme | undefined>(undefined);\r\n\r\nexport function FlyUIThemeProvider({\r\n theme,\r\n children,\r\n}: FlyUIThemeProviderProps) {\r\n return createElement(FlyUIThemeContext.Provider, { value: theme }, children);\r\n}\r\n\r\nexport function useFlyUITheme() {\r\n return useContext(FlyUIThemeContext);\r\n}\r\n\r\nexport function mergeKiteTheme(\r\n globalTheme?: KiteTheme,\r\n componentTheme?: KiteTheme,\r\n) {\r\n return { ...globalTheme, ...componentTheme };\r\n}\r\n\r\nexport function buildKiteThemeStyle(theme?: KiteTheme): CSSProperties {\r\n if (!theme) {\r\n return {};\r\n }\r\n\r\n return {\r\n ...(theme.primary ? { [\"--kite-primary\" as string]: theme.primary } : {}),\r\n ...(theme.foreground\r\n ? { [\"--kite-foreground\" as string]: theme.foreground }\r\n : {}),\r\n ...(theme.muted ? { [\"--kite-muted\" as string]: theme.muted } : {}),\r\n ...(theme.overlayBackground\r\n ? { [\"--kite-overlay-background\" as string]: theme.overlayBackground }\r\n : {}),\r\n ...(theme.overlayBlur\r\n ? { [\"--kite-overlay-blur\" as string]: theme.overlayBlur }\r\n : {}),\r\n } as CSSProperties;\r\n}\r\n","import type { CSSProperties } from \"react\";\r\n\r\nimport { cn } from \"../../lib/cn\";\r\n\r\nimport styles from \"./kite-animations.module.css\";\r\nimport {\r\n buildKiteThemeStyle,\r\n mergeKiteTheme,\r\n type KiteTheme,\r\n useFlyUITheme,\r\n} from \"./theme\";\r\n\r\nconst SIZE = {\r\n xs: { icon: 16, text: 12, gap: 6, strongWeight: 600 },\r\n sm: { icon: 20, text: 14, gap: 8, strongWeight: 600 },\r\n md: { icon: 24, text: 16, gap: 10, strongWeight: 600 },\r\n lg: { icon: 28, text: 18, gap: 10, strongWeight: 700 },\r\n xl: { icon: 40, text: 24, gap: 12, strongWeight: 700 },\r\n} as const;\r\n\r\ntype SizeKey = keyof typeof SIZE;\r\n\r\nexport interface KiteLogoProps {\r\n size?: SizeKey;\r\n showText?: boolean;\r\n name?: string;\r\n subBrand?: string;\r\n theme?: KiteTheme;\r\n className?: string;\r\n textClassName?: string;\r\n style?: CSSProperties;\r\n}\r\n\r\nfunction KiteIcon({ size }: { size: number }) {\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\r\n <path\r\n d=\"M12 0 L24 9 L12 24 Z\"\r\n fill=\"var(--kite-primary, #0ea5e9)\"\r\n opacity=\"0.48\"\r\n />\r\n </svg>\r\n );\r\n}\r\n\r\nexport function KiteLogo({\r\n size = \"md\",\r\n showText = true,\r\n name = \"Fly\",\r\n subBrand = \"UI\",\r\n theme,\r\n className,\r\n textClassName,\r\n style,\r\n}: KiteLogoProps) {\r\n const cfg = SIZE[size];\r\n const globalTheme = useFlyUITheme();\r\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\r\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\r\n\r\n return (\r\n <div\r\n className={cn(\r\n styles[\"kite-fu-host\"],\r\n styles[\"kite-fu-logoWrap\"],\r\n className,\r\n )}\r\n style={{ ...themeStyle, ...style, gap: cfg.gap }}\r\n >\r\n <KiteIcon size={cfg.icon} />\r\n {showText ? (\r\n <span\r\n className={cn(styles[\"kite-fu-logoText\"], textClassName)}\r\n style={{\r\n fontSize: `${cfg.text}px`,\r\n fontFamily: '\"Inter Variable\", sans-serif',\r\n letterSpacing: \"-0.03em\",\r\n lineHeight: 1,\r\n }}\r\n >\r\n <span\r\n className={styles[\"kite-fu-logoTextStrong\"]}\r\n style={{ fontWeight: cfg.strongWeight }}\r\n >\r\n {name}\r\n </span>\r\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\r\n </span>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n","import type { CSSProperties } from \"react\";\r\n\r\nimport { cn } from \"../../lib/cn\";\r\n\r\nimport styles from \"./kite-animations.module.css\";\r\nimport {\r\n buildKiteThemeStyle,\r\n mergeKiteTheme,\r\n type KiteTheme,\r\n useFlyUITheme,\r\n} from \"./theme\";\r\n\r\nconst SIZES = {\r\n sm: 32,\r\n md: 48,\r\n lg: 64,\r\n} as const;\r\n\r\ntype LoaderSize = keyof typeof SIZES;\r\n\r\nexport interface KiteLoaderProps {\r\n size?: LoaderSize;\r\n label?: string;\r\n showBrand?: boolean;\r\n name?: string;\r\n subBrand?: string;\r\n theme?: KiteTheme;\r\n className?: string;\r\n style?: CSSProperties;\r\n}\r\n\r\nexport function KiteLoader({\r\n size = \"md\",\r\n label,\r\n showBrand = false,\r\n name = \"Fly\",\r\n subBrand = \"UI\",\r\n theme,\r\n className,\r\n style,\r\n}: KiteLoaderProps) {\r\n const px = SIZES[size];\r\n const svgH = Math.round(px * 1.2);\r\n const globalTheme = useFlyUITheme();\r\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\r\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\r\n\r\n return (\r\n <div\r\n className={cn(styles[\"kite-fu-host\"], className)}\r\n role=\"status\"\r\n aria-label={label ?? \"Loading\"}\r\n style={{ ...themeStyle, ...style }}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n gap: 10,\r\n }}\r\n >\r\n <svg\r\n width={px}\r\n height={svgH}\r\n viewBox=\"0 0 24 31\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n overflow=\"visible\"\r\n >\r\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\r\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\r\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\r\n <path\r\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\"\r\n fill=\"var(--kite-muted, #64748b)\"\r\n opacity=\"0.28\"\r\n />\r\n </g>\r\n </g>\r\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\r\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\r\n <path\r\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\"\r\n fill=\"var(--kite-muted, #64748b)\"\r\n opacity=\"0.32\"\r\n />\r\n </g>\r\n </g>\r\n </g>\r\n <g\r\n className={cn(\r\n styles[\"kite-fu-float\"],\r\n styles[\"kite-fu-kiteBreath\"],\r\n )}\r\n >\r\n <g transform=\"rotate(90 12 12)\">\r\n <path\r\n d=\"M12 0 L0 9 L12 24 Z\"\r\n fill=\"var(--kite-primary, #0ea5e9)\"\r\n />\r\n <path\r\n d=\"M12 0 L24 9 L12 24 Z\"\r\n fill=\"var(--kite-primary, #0ea5e9)\"\r\n className={styles[\"kite-fu-shadowBreathe\"]}\r\n />\r\n <path\r\n d=\"M12 24 Q13 28.5 12 31\"\r\n stroke=\"var(--kite-muted, #64748b)\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n fill=\"none\"\r\n className={styles[\"kite-fu-stringSway\"]}\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n {showBrand ? (\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-logoText\"],\r\n styles[\"kite-fu-loadingTextPulse\"],\r\n )}\r\n style={{\r\n marginTop: -2,\r\n fontSize: 20,\r\n fontFamily: '\"Inter Variable\", sans-serif',\r\n letterSpacing: \"-0.03em\",\r\n lineHeight: 1,\r\n }}\r\n >\r\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\r\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\r\n </span>\r\n ) : null}\r\n {label ? <p className={styles[\"kite-fu-label\"]}>{label}</p> : null}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import type { CSSProperties } from \"react\";\r\n\r\nimport { cn } from \"../../lib/cn\";\r\n\r\nimport styles from \"./kite-animations.module.css\";\r\nimport {\r\n buildKiteThemeStyle,\r\n mergeKiteTheme,\r\n type KiteTheme,\r\n useFlyUITheme,\r\n} from \"./theme\";\r\n\r\nexport interface KitePageLoaderProps {\r\n message?: string;\r\n overlay?: boolean;\r\n name?: string;\r\n subBrand?: string;\r\n theme?: KiteTheme;\r\n className?: string;\r\n style?: CSSProperties;\r\n}\r\n\r\nexport function KitePageLoader({\r\n message,\r\n overlay = false,\r\n name = \"Fly\",\r\n subBrand = \"UI\",\r\n theme,\r\n className,\r\n style,\r\n}: KitePageLoaderProps) {\r\n const globalTheme = useFlyUITheme();\r\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\r\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\r\n\r\n return (\r\n <div\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-label={message ?? \"Loading\"}\r\n className={cn(\r\n styles[\"kite-fu-host\"],\r\n styles[\"kite-fu-pageWrap\"],\r\n overlay\r\n ? styles[\"kite-fu-pageWrapOverlay\"]\r\n : styles[\"kite-fu-pageWrapFullscreen\"],\r\n className,\r\n )}\r\n style={{ ...themeStyle, ...style }}\r\n >\r\n <svg\r\n width={56}\r\n height={58}\r\n viewBox=\"0 0 24 31\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n overflow=\"visible\"\r\n >\r\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\r\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\r\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\r\n <path\r\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\"\r\n fill=\"var(--kite-muted, #64748b)\"\r\n opacity=\"0.28\"\r\n />\r\n </g>\r\n </g>\r\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\r\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\r\n <path\r\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\"\r\n fill=\"var(--kite-muted, #64748b)\"\r\n opacity=\"0.32\"\r\n />\r\n </g>\r\n </g>\r\n </g>\r\n <g\r\n className={cn(styles[\"kite-fu-float\"], styles[\"kite-fu-kiteBreath\"])}\r\n >\r\n <g transform=\"rotate(90 12 12)\">\r\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\r\n <path\r\n d=\"M12 0 L24 9 L12 24 Z\"\r\n fill=\"var(--kite-primary, #0ea5e9)\"\r\n className={styles[\"kite-fu-shadowBreathe\"]}\r\n />\r\n <path\r\n d=\"M12 24 Q13 28.5 12 31\"\r\n stroke=\"var(--kite-muted, #64748b)\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n fill=\"none\"\r\n className={styles[\"kite-fu-stringSway\"]}\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-logoText\"],\r\n styles[\"kite-fu-loadingTextPulse\"],\r\n )}\r\n style={{\r\n marginTop: -2,\r\n fontSize: 20,\r\n fontFamily: '\"Inter Variable\", sans-serif',\r\n letterSpacing: \"-0.03em\",\r\n lineHeight: 1,\r\n }}\r\n >\r\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\r\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\r\n </span>\r\n\r\n <div\r\n className={cn(\r\n styles[\"kite-fu-loadingDots\"],\r\n styles[\"kite-fu-loadingDotsBelowBrand\"],\r\n )}\r\n aria-hidden=\"true\"\r\n >\r\n <span className={styles[\"kite-fu-loadingDot\"]} />\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-loadingDot\"],\r\n styles[\"kite-fu-loadingDot1\"],\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-loadingDot\"],\r\n styles[\"kite-fu-loadingDot2\"],\r\n )}\r\n />\r\n </div>\r\n\r\n {message ? <p className={styles[\"kite-fu-label\"]}>{message}</p> : null}\r\n </div>\r\n );\r\n}\r\n","import type { CSSProperties } from \"react\";\r\n\r\nimport { cn } from \"../../lib/cn\";\r\n\r\nimport styles from \"../kite/kite-animations.module.css\";\r\nimport {\r\n buildKiteThemeStyle,\r\n mergeKiteTheme,\r\n type KiteTheme,\r\n useFlyUITheme,\r\n} from \"../kite/theme\";\r\n\r\nexport interface LoadingProps {\r\n className?: string;\r\n label?: string;\r\n theme?: KiteTheme;\r\n style?: CSSProperties;\r\n}\r\n\r\nexport function Loading({ className, label, theme, style }: LoadingProps) {\r\n const globalTheme = useFlyUITheme();\r\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\r\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\r\n\r\n return (\r\n <div\r\n className={cn(styles[\"kite-fu-host\"], className)}\r\n role=\"status\"\r\n aria-label={label ?? \"Loading\"}\r\n style={{ ...themeStyle, ...style }}\r\n >\r\n <div className={styles[\"kite-fu-loadingDots\"]}>\r\n <span className={styles[\"kite-fu-loadingDot\"]} />\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-loadingDot\"],\r\n styles[\"kite-fu-loadingDot1\"],\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-loadingDot\"],\r\n styles[\"kite-fu-loadingDot2\"],\r\n )}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\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.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/kite/kite-animations.module.css"],"sourcesContent":[".kite-fu-host {\r\n --kite-primary: #0ea5e9;\r\n --kite-foreground: #0f172a;\r\n --kite-muted: #64748b;\r\n --kite-overlay-background: rgba(255, 255, 255, 0.82);\r\n --kite-overlay-blur: 2px;\r\n color: var(--kite-foreground);\r\n font-family: \"Inter Variable\", Inter, sans-serif;\r\n line-height: 1;\r\n box-sizing: border-box;\r\n}\r\n\r\n.kite-fu-host *,\r\n.kite-fu-host *::before,\r\n.kite-fu-host *::after {\r\n box-sizing: inherit;\r\n}\r\n\r\n.kite-fu-skyLayer {\r\n opacity: 0.86;\r\n}\r\n\r\n.kite-fu-cloudSizeXs,\r\n.kite-fu-cloudSizeSm,\r\n.kite-fu-cloudSizeMd,\r\n.kite-fu-cloudSizeLg {\r\n transform-box: fill-box;\r\n transform-origin: center;\r\n}\r\n\r\n.kite-fu-cloudSizeXs {\r\n transform: scale(0.78);\r\n}\r\n.kite-fu-cloudSizeSm {\r\n transform: scale(0.92);\r\n}\r\n.kite-fu-cloudSizeMd {\r\n transform: scale(1.04);\r\n}\r\n.kite-fu-cloudSizeLg {\r\n transform: scale(1.18);\r\n}\r\n\r\n.kite-fu-cloudDelayB {\r\n animation-delay: -1.9s;\r\n}\r\n.kite-fu-cloudDelayC {\r\n animation-delay: -3s;\r\n}\r\n\r\n.kite-fu-cloudDriftFar {\r\n animation: cloud-pass-far 4.6s cubic-bezier(0.4, 0.06, 0.6, 0.94) infinite;\r\n will-change: transform, opacity;\r\n}\r\n\r\n.kite-fu-cloudDriftNear {\r\n animation: cloud-pass-near 3.5s cubic-bezier(0.34, 0.08, 0.58, 0.96) infinite;\r\n animation-delay: -1.6s;\r\n will-change: transform, opacity;\r\n}\r\n\r\n.kite-fu-cloudDriftHigh {\r\n animation: cloud-pass-high 3.2s cubic-bezier(0.36, 0.07, 0.58, 0.95) infinite;\r\n animation-delay: -2.4s;\r\n will-change: transform, opacity;\r\n}\r\n\r\n.kite-fu-cloudDriftAlt {\r\n animation: cloud-pass-alt 4.1s cubic-bezier(0.38, 0.06, 0.62, 0.95) infinite;\r\n animation-delay: -0.9s;\r\n will-change: transform, opacity;\r\n}\r\n\r\n@keyframes cloud-pass-far {\r\n 0% {\r\n transform: translate3d(22px, 0.4px, 0) scale(0.96);\r\n opacity: 0;\r\n }\r\n 18% {\r\n transform: translate3d(12px, -0.3px, 0) scale(0.98);\r\n opacity: 0.5;\r\n }\r\n 52% {\r\n transform: translate3d(-4px, 0.2px, 0) scale(1);\r\n opacity: 0.58;\r\n }\r\n 82% {\r\n transform: translate3d(-18px, -0.5px, 0) scale(0.98);\r\n opacity: 0.48;\r\n }\r\n 100% {\r\n transform: translate3d(-30px, 0.4px, 0) scale(0.95);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes cloud-pass-near {\r\n 0% {\r\n transform: translate3d(24px, -0.7px, 0) scale(1.02);\r\n opacity: 0;\r\n }\r\n 16% {\r\n transform: translate3d(14px, 0px, 0) scale(1.04);\r\n opacity: 0.62;\r\n }\r\n 48% {\r\n transform: translate3d(-4px, 0.6px, 0) scale(1.06);\r\n opacity: 0.72;\r\n }\r\n 78% {\r\n transform: translate3d(-18px, -0.1px, 0) scale(1.03);\r\n opacity: 0.64;\r\n }\r\n 100% {\r\n transform: translate3d(-32px, -0.8px, 0) scale(1.01);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes cloud-pass-high {\r\n 0% {\r\n transform: translate3d(26px, -1.2px, 0) scale(0.9);\r\n opacity: 0;\r\n }\r\n 20% {\r\n transform: translate3d(15px, -1.6px, 0) scale(0.95);\r\n opacity: 0.52;\r\n }\r\n 55% {\r\n transform: translate3d(-5px, -1px, 0) scale(0.98);\r\n opacity: 0.58;\r\n }\r\n 84% {\r\n transform: translate3d(-21px, -1.4px, 0) scale(0.94);\r\n opacity: 0.46;\r\n }\r\n 100% {\r\n transform: translate3d(-34px, -1.1px, 0) scale(0.9);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes cloud-pass-alt {\r\n 0% {\r\n transform: translate3d(24px, 1px, 0) scale(1.08);\r\n opacity: 0;\r\n }\r\n 15% {\r\n transform: translate3d(15px, 0.2px, 0) scale(1.1);\r\n opacity: 0.62;\r\n }\r\n 49% {\r\n transform: translate3d(-4px, 0.9px, 0) scale(1.12);\r\n opacity: 0.7;\r\n }\r\n 79% {\r\n transform: translate3d(-20px, 0.4px, 0) scale(1.08);\r\n opacity: 0.56;\r\n }\r\n 100% {\r\n transform: translate3d(-34px, 1.1px, 0) scale(1.05);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n.kite-fu-float {\r\n animation: kite-float 1.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;\r\n transform-box: fill-box;\r\n transform-origin: center;\r\n}\r\n\r\n@keyframes kite-float {\r\n 0% {\r\n transform: translate(-11px, 0px) rotate(-5deg);\r\n }\r\n 16% {\r\n transform: translate(-6px, -1px) rotate(-2deg);\r\n }\r\n 32% {\r\n transform: translate(0px, -2px) rotate(1deg);\r\n }\r\n 48% {\r\n transform: translate(7px, -1px) rotate(4deg);\r\n }\r\n 64% {\r\n transform: translate(11px, 0px) rotate(6deg);\r\n }\r\n 80% {\r\n transform: translate(4px, 1px) rotate(3deg);\r\n }\r\n 92% {\r\n transform: translate(-5px, 1px) rotate(-2deg);\r\n }\r\n 100% {\r\n transform: translate(-11px, 0px) rotate(-5deg);\r\n }\r\n}\r\n\r\n.kite-fu-shadowBreathe {\r\n animation: kite-shadow-breathe 1.9s ease-in-out infinite;\r\n opacity: 0.48;\r\n}\r\n\r\n@keyframes kite-shadow-breathe {\r\n 0% {\r\n opacity: 0.48;\r\n }\r\n 30% {\r\n opacity: 0.66;\r\n }\r\n 50% {\r\n opacity: 0.82;\r\n }\r\n 72% {\r\n opacity: 0.64;\r\n }\r\n 100% {\r\n opacity: 0.48;\r\n }\r\n}\r\n\r\n.kite-fu-stringSway {\r\n animation: kite-string-sway 1.9s ease-in-out infinite;\r\n transform-box: fill-box;\r\n transform-origin: top center;\r\n opacity: 0.35;\r\n}\r\n\r\n@keyframes kite-string-sway {\r\n 0% {\r\n transform: rotate(6deg);\r\n }\r\n 16% {\r\n transform: rotate(3deg);\r\n }\r\n 32% {\r\n transform: rotate(-2deg);\r\n }\r\n 48% {\r\n transform: rotate(-6deg);\r\n }\r\n 64% {\r\n transform: rotate(-7deg);\r\n }\r\n 80% {\r\n transform: rotate(-1deg);\r\n }\r\n 92% {\r\n transform: rotate(4deg);\r\n }\r\n 100% {\r\n transform: rotate(6deg);\r\n }\r\n}\r\n\r\n.kite-fu-kiteBreath {\r\n animation: kite-breath 1.6s ease-in-out infinite;\r\n}\r\n\r\n@keyframes kite-breath {\r\n 0%,\r\n 100% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.45;\r\n }\r\n}\r\n\r\n.kite-fu-dot {\r\n animation: kite-dot 1.2s ease-in-out infinite;\r\n}\r\n\r\n.kite-fu-dot1 {\r\n animation-delay: 0.15s;\r\n}\r\n.kite-fu-dot2 {\r\n animation-delay: 0.3s;\r\n}\r\n\r\n@keyframes kite-dot {\r\n 0%,\r\n 60%,\r\n 100% {\r\n transform: translateY(0);\r\n opacity: 0.3;\r\n }\r\n 30% {\r\n transform: translateY(-5px);\r\n opacity: 1;\r\n }\r\n}\r\n\r\n@keyframes kite-label-pulse {\r\n 0%,\r\n 100% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n 50% {\r\n opacity: 0.42;\r\n transform: translateY(0.5px);\r\n }\r\n}\r\n\r\n.kite-fu-loadingDots {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 6px;\r\n}\r\n\r\n.kite-fu-loadingDotsBelowBrand {\r\n margin-top: 14px;\r\n}\r\n\r\n.kite-fu-loadingDot {\r\n width: 6px;\r\n height: 6px;\r\n border-radius: 9999px;\r\n background: var(--kite-primary);\r\n animation: kite-dot 1.2s ease-in-out infinite;\r\n}\r\n\r\n.kite-fu-loadingDot1 {\r\n animation-delay: 0.15s;\r\n}\r\n.kite-fu-loadingDot2 {\r\n animation-delay: 0.3s;\r\n}\r\n\r\n.kite-fu-logoWrap {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 10px;\r\n}\r\n\r\n.kite-fu-logoText {\r\n margin: 0;\r\n color: var(--kite-foreground);\r\n letter-spacing: -0.03em;\r\n line-height: 1;\r\n}\r\n\r\n.kite-fu-logoTextStrong {\r\n font-weight: 600;\r\n}\r\n\r\n.kite-fu-logoTextLight {\r\n font-weight: 300;\r\n}\r\n\r\n.kite-fu-pageWrap {\r\n font-family: \"Inter Variable\", Inter, sans-serif;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n font-weight: 400;\r\n}\r\n\r\n.kite-fu-pageWrapFullscreen {\r\n min-height: 100vh;\r\n}\r\n\r\n.kite-fu-pageWrapOverlay {\r\n position: fixed;\r\n inset: 0;\r\n z-index: 50;\r\n background: var(--kite-overlay-background);\r\n backdrop-filter: blur(var(--kite-overlay-blur));\r\n}\r\n\r\n.kite-fu-label {\r\n margin: 10px 0 0;\r\n font-size: 14px;\r\n font-family: \"Inter Variable\", Inter, sans-serif;\r\n font-weight: 400;\r\n line-height: 1.4;\r\n color: var(--kite-muted);\r\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\r\n}\r\n\r\n.kite-fu-loadingTextPulse {\r\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\r\n}\r\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/components/kite/kite-animations.module.css"],"sourcesContent":[".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"],"mappings":"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","names":[]}
|
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 {\r\n return parts.filter(Boolean).join(\" \");\r\n}\r\n",".kite-fu-host {\r\n --kite-primary: #0ea5e9;\r\n --kite-foreground: #0f172a;\r\n --kite-muted: #64748b;\r\n --kite-overlay-background: rgba(255, 255, 255, 0.82);\r\n --kite-overlay-blur: 2px;\r\n color: var(--kite-foreground);\r\n font-family: \"Inter Variable\", Inter, sans-serif;\r\n line-height: 1;\r\n box-sizing: border-box;\r\n}\r\n\r\n.kite-fu-host *,\r\n.kite-fu-host *::before,\r\n.kite-fu-host *::after {\r\n box-sizing: inherit;\r\n}\r\n\r\n.kite-fu-skyLayer {\r\n opacity: 0.86;\r\n}\r\n\r\n.kite-fu-cloudSizeXs,\r\n.kite-fu-cloudSizeSm,\r\n.kite-fu-cloudSizeMd,\r\n.kite-fu-cloudSizeLg {\r\n transform-box: fill-box;\r\n transform-origin: center;\r\n}\r\n\r\n.kite-fu-cloudSizeXs {\r\n transform: scale(0.78);\r\n}\r\n.kite-fu-cloudSizeSm {\r\n transform: scale(0.92);\r\n}\r\n.kite-fu-cloudSizeMd {\r\n transform: scale(1.04);\r\n}\r\n.kite-fu-cloudSizeLg {\r\n transform: scale(1.18);\r\n}\r\n\r\n.kite-fu-cloudDelayB {\r\n animation-delay: -1.9s;\r\n}\r\n.kite-fu-cloudDelayC {\r\n animation-delay: -3s;\r\n}\r\n\r\n.kite-fu-cloudDriftFar {\r\n animation: cloud-pass-far 4.6s cubic-bezier(0.4, 0.06, 0.6, 0.94) infinite;\r\n will-change: transform, opacity;\r\n}\r\n\r\n.kite-fu-cloudDriftNear {\r\n animation: cloud-pass-near 3.5s cubic-bezier(0.34, 0.08, 0.58, 0.96) infinite;\r\n animation-delay: -1.6s;\r\n will-change: transform, opacity;\r\n}\r\n\r\n.kite-fu-cloudDriftHigh {\r\n animation: cloud-pass-high 3.2s cubic-bezier(0.36, 0.07, 0.58, 0.95) infinite;\r\n animation-delay: -2.4s;\r\n will-change: transform, opacity;\r\n}\r\n\r\n.kite-fu-cloudDriftAlt {\r\n animation: cloud-pass-alt 4.1s cubic-bezier(0.38, 0.06, 0.62, 0.95) infinite;\r\n animation-delay: -0.9s;\r\n will-change: transform, opacity;\r\n}\r\n\r\n@keyframes cloud-pass-far {\r\n 0% {\r\n transform: translate3d(22px, 0.4px, 0) scale(0.96);\r\n opacity: 0;\r\n }\r\n 18% {\r\n transform: translate3d(12px, -0.3px, 0) scale(0.98);\r\n opacity: 0.5;\r\n }\r\n 52% {\r\n transform: translate3d(-4px, 0.2px, 0) scale(1);\r\n opacity: 0.58;\r\n }\r\n 82% {\r\n transform: translate3d(-18px, -0.5px, 0) scale(0.98);\r\n opacity: 0.48;\r\n }\r\n 100% {\r\n transform: translate3d(-30px, 0.4px, 0) scale(0.95);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes cloud-pass-near {\r\n 0% {\r\n transform: translate3d(24px, -0.7px, 0) scale(1.02);\r\n opacity: 0;\r\n }\r\n 16% {\r\n transform: translate3d(14px, 0px, 0) scale(1.04);\r\n opacity: 0.62;\r\n }\r\n 48% {\r\n transform: translate3d(-4px, 0.6px, 0) scale(1.06);\r\n opacity: 0.72;\r\n }\r\n 78% {\r\n transform: translate3d(-18px, -0.1px, 0) scale(1.03);\r\n opacity: 0.64;\r\n }\r\n 100% {\r\n transform: translate3d(-32px, -0.8px, 0) scale(1.01);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes cloud-pass-high {\r\n 0% {\r\n transform: translate3d(26px, -1.2px, 0) scale(0.9);\r\n opacity: 0;\r\n }\r\n 20% {\r\n transform: translate3d(15px, -1.6px, 0) scale(0.95);\r\n opacity: 0.52;\r\n }\r\n 55% {\r\n transform: translate3d(-5px, -1px, 0) scale(0.98);\r\n opacity: 0.58;\r\n }\r\n 84% {\r\n transform: translate3d(-21px, -1.4px, 0) scale(0.94);\r\n opacity: 0.46;\r\n }\r\n 100% {\r\n transform: translate3d(-34px, -1.1px, 0) scale(0.9);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n@keyframes cloud-pass-alt {\r\n 0% {\r\n transform: translate3d(24px, 1px, 0) scale(1.08);\r\n opacity: 0;\r\n }\r\n 15% {\r\n transform: translate3d(15px, 0.2px, 0) scale(1.1);\r\n opacity: 0.62;\r\n }\r\n 49% {\r\n transform: translate3d(-4px, 0.9px, 0) scale(1.12);\r\n opacity: 0.7;\r\n }\r\n 79% {\r\n transform: translate3d(-20px, 0.4px, 0) scale(1.08);\r\n opacity: 0.56;\r\n }\r\n 100% {\r\n transform: translate3d(-34px, 1.1px, 0) scale(1.05);\r\n opacity: 0;\r\n }\r\n}\r\n\r\n.kite-fu-float {\r\n animation: kite-float 1.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;\r\n transform-box: fill-box;\r\n transform-origin: center;\r\n}\r\n\r\n@keyframes kite-float {\r\n 0% {\r\n transform: translate(-11px, 0px) rotate(-5deg);\r\n }\r\n 16% {\r\n transform: translate(-6px, -1px) rotate(-2deg);\r\n }\r\n 32% {\r\n transform: translate(0px, -2px) rotate(1deg);\r\n }\r\n 48% {\r\n transform: translate(7px, -1px) rotate(4deg);\r\n }\r\n 64% {\r\n transform: translate(11px, 0px) rotate(6deg);\r\n }\r\n 80% {\r\n transform: translate(4px, 1px) rotate(3deg);\r\n }\r\n 92% {\r\n transform: translate(-5px, 1px) rotate(-2deg);\r\n }\r\n 100% {\r\n transform: translate(-11px, 0px) rotate(-5deg);\r\n }\r\n}\r\n\r\n.kite-fu-shadowBreathe {\r\n animation: kite-shadow-breathe 1.9s ease-in-out infinite;\r\n opacity: 0.48;\r\n}\r\n\r\n@keyframes kite-shadow-breathe {\r\n 0% {\r\n opacity: 0.48;\r\n }\r\n 30% {\r\n opacity: 0.66;\r\n }\r\n 50% {\r\n opacity: 0.82;\r\n }\r\n 72% {\r\n opacity: 0.64;\r\n }\r\n 100% {\r\n opacity: 0.48;\r\n }\r\n}\r\n\r\n.kite-fu-stringSway {\r\n animation: kite-string-sway 1.9s ease-in-out infinite;\r\n transform-box: fill-box;\r\n transform-origin: top center;\r\n opacity: 0.35;\r\n}\r\n\r\n@keyframes kite-string-sway {\r\n 0% {\r\n transform: rotate(6deg);\r\n }\r\n 16% {\r\n transform: rotate(3deg);\r\n }\r\n 32% {\r\n transform: rotate(-2deg);\r\n }\r\n 48% {\r\n transform: rotate(-6deg);\r\n }\r\n 64% {\r\n transform: rotate(-7deg);\r\n }\r\n 80% {\r\n transform: rotate(-1deg);\r\n }\r\n 92% {\r\n transform: rotate(4deg);\r\n }\r\n 100% {\r\n transform: rotate(6deg);\r\n }\r\n}\r\n\r\n.kite-fu-kiteBreath {\r\n animation: kite-breath 1.6s ease-in-out infinite;\r\n}\r\n\r\n@keyframes kite-breath {\r\n 0%,\r\n 100% {\r\n opacity: 1;\r\n }\r\n 50% {\r\n opacity: 0.45;\r\n }\r\n}\r\n\r\n.kite-fu-dot {\r\n animation: kite-dot 1.2s ease-in-out infinite;\r\n}\r\n\r\n.kite-fu-dot1 {\r\n animation-delay: 0.15s;\r\n}\r\n.kite-fu-dot2 {\r\n animation-delay: 0.3s;\r\n}\r\n\r\n@keyframes kite-dot {\r\n 0%,\r\n 60%,\r\n 100% {\r\n transform: translateY(0);\r\n opacity: 0.3;\r\n }\r\n 30% {\r\n transform: translateY(-5px);\r\n opacity: 1;\r\n }\r\n}\r\n\r\n@keyframes kite-label-pulse {\r\n 0%,\r\n 100% {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n 50% {\r\n opacity: 0.42;\r\n transform: translateY(0.5px);\r\n }\r\n}\r\n\r\n.kite-fu-loadingDots {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 6px;\r\n}\r\n\r\n.kite-fu-loadingDotsBelowBrand {\r\n margin-top: 14px;\r\n}\r\n\r\n.kite-fu-loadingDot {\r\n width: 6px;\r\n height: 6px;\r\n border-radius: 9999px;\r\n background: var(--kite-primary);\r\n animation: kite-dot 1.2s ease-in-out infinite;\r\n}\r\n\r\n.kite-fu-loadingDot1 {\r\n animation-delay: 0.15s;\r\n}\r\n.kite-fu-loadingDot2 {\r\n animation-delay: 0.3s;\r\n}\r\n\r\n.kite-fu-logoWrap {\r\n display: inline-flex;\r\n align-items: center;\r\n gap: 10px;\r\n}\r\n\r\n.kite-fu-logoText {\r\n margin: 0;\r\n color: var(--kite-foreground);\r\n letter-spacing: -0.03em;\r\n line-height: 1;\r\n}\r\n\r\n.kite-fu-logoTextStrong {\r\n font-weight: 600;\r\n}\r\n\r\n.kite-fu-logoTextLight {\r\n font-weight: 300;\r\n}\r\n\r\n.kite-fu-pageWrap {\r\n font-family: \"Inter Variable\", Inter, sans-serif;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n font-weight: 400;\r\n}\r\n\r\n.kite-fu-pageWrapFullscreen {\r\n min-height: 100vh;\r\n}\r\n\r\n.kite-fu-pageWrapOverlay {\r\n position: fixed;\r\n inset: 0;\r\n z-index: 50;\r\n background: var(--kite-overlay-background);\r\n backdrop-filter: blur(var(--kite-overlay-blur));\r\n}\r\n\r\n.kite-fu-label {\r\n margin: 10px 0 0;\r\n font-size: 14px;\r\n font-family: \"Inter Variable\", Inter, sans-serif;\r\n font-weight: 400;\r\n line-height: 1.4;\r\n color: var(--kite-muted);\r\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\r\n}\r\n\r\n.kite-fu-loadingTextPulse {\r\n animation: kite-label-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\r\n}\r\n","import {\r\n createElement,\r\n createContext,\r\n type CSSProperties,\r\n type ReactNode,\r\n useContext,\r\n} from \"react\";\r\n\r\nexport interface KiteTheme {\r\n primary?: string;\r\n foreground?: string;\r\n muted?: string;\r\n overlayBackground?: string;\r\n overlayBlur?: string;\r\n}\r\n\r\ninterface FlyUIThemeProviderProps {\r\n theme?: KiteTheme;\r\n children: ReactNode;\r\n}\r\n\r\nconst FlyUIThemeContext = createContext<KiteTheme | undefined>(undefined);\r\n\r\nexport function FlyUIThemeProvider({\r\n theme,\r\n children,\r\n}: FlyUIThemeProviderProps) {\r\n return createElement(FlyUIThemeContext.Provider, { value: theme }, children);\r\n}\r\n\r\nexport function useFlyUITheme() {\r\n return useContext(FlyUIThemeContext);\r\n}\r\n\r\nexport function mergeKiteTheme(\r\n globalTheme?: KiteTheme,\r\n componentTheme?: KiteTheme,\r\n) {\r\n return { ...globalTheme, ...componentTheme };\r\n}\r\n\r\nexport function buildKiteThemeStyle(theme?: KiteTheme): CSSProperties {\r\n if (!theme) {\r\n return {};\r\n }\r\n\r\n return {\r\n ...(theme.primary ? { [\"--kite-primary\" as string]: theme.primary } : {}),\r\n ...(theme.foreground\r\n ? { [\"--kite-foreground\" as string]: theme.foreground }\r\n : {}),\r\n ...(theme.muted ? { [\"--kite-muted\" as string]: theme.muted } : {}),\r\n ...(theme.overlayBackground\r\n ? { [\"--kite-overlay-background\" as string]: theme.overlayBackground }\r\n : {}),\r\n ...(theme.overlayBlur\r\n ? { [\"--kite-overlay-blur\" as string]: theme.overlayBlur }\r\n : {}),\r\n } as CSSProperties;\r\n}\r\n","import type { CSSProperties } from \"react\";\r\n\r\nimport { cn } from \"../../lib/cn\";\r\n\r\nimport styles from \"./kite-animations.module.css\";\r\nimport {\r\n buildKiteThemeStyle,\r\n mergeKiteTheme,\r\n type KiteTheme,\r\n useFlyUITheme,\r\n} from \"./theme\";\r\n\r\nconst SIZE = {\r\n xs: { icon: 16, text: 12, gap: 6, strongWeight: 600 },\r\n sm: { icon: 20, text: 14, gap: 8, strongWeight: 600 },\r\n md: { icon: 24, text: 16, gap: 10, strongWeight: 600 },\r\n lg: { icon: 28, text: 18, gap: 10, strongWeight: 700 },\r\n xl: { icon: 40, text: 24, gap: 12, strongWeight: 700 },\r\n} as const;\r\n\r\ntype SizeKey = keyof typeof SIZE;\r\n\r\nexport interface KiteLogoProps {\r\n size?: SizeKey;\r\n showText?: boolean;\r\n name?: string;\r\n subBrand?: string;\r\n theme?: KiteTheme;\r\n className?: string;\r\n textClassName?: string;\r\n style?: CSSProperties;\r\n}\r\n\r\nfunction KiteIcon({ size }: { size: number }) {\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\r\n <path\r\n d=\"M12 0 L24 9 L12 24 Z\"\r\n fill=\"var(--kite-primary, #0ea5e9)\"\r\n opacity=\"0.48\"\r\n />\r\n </svg>\r\n );\r\n}\r\n\r\nexport function KiteLogo({\r\n size = \"md\",\r\n showText = true,\r\n name = \"Fly\",\r\n subBrand = \"UI\",\r\n theme,\r\n className,\r\n textClassName,\r\n style,\r\n}: KiteLogoProps) {\r\n const cfg = SIZE[size];\r\n const globalTheme = useFlyUITheme();\r\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\r\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\r\n\r\n return (\r\n <div\r\n className={cn(\r\n styles[\"kite-fu-host\"],\r\n styles[\"kite-fu-logoWrap\"],\r\n className,\r\n )}\r\n style={{ ...themeStyle, ...style, gap: cfg.gap }}\r\n >\r\n <KiteIcon size={cfg.icon} />\r\n {showText ? (\r\n <span\r\n className={cn(styles[\"kite-fu-logoText\"], textClassName)}\r\n style={{\r\n fontSize: `${cfg.text}px`,\r\n fontFamily: '\"Inter Variable\", sans-serif',\r\n letterSpacing: \"-0.03em\",\r\n lineHeight: 1,\r\n }}\r\n >\r\n <span\r\n className={styles[\"kite-fu-logoTextStrong\"]}\r\n style={{ fontWeight: cfg.strongWeight }}\r\n >\r\n {name}\r\n </span>\r\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\r\n </span>\r\n ) : null}\r\n </div>\r\n );\r\n}\r\n","import type { CSSProperties } from \"react\";\r\n\r\nimport { cn } from \"../../lib/cn\";\r\n\r\nimport styles from \"./kite-animations.module.css\";\r\nimport {\r\n buildKiteThemeStyle,\r\n mergeKiteTheme,\r\n type KiteTheme,\r\n useFlyUITheme,\r\n} from \"./theme\";\r\n\r\nconst SIZES = {\r\n sm: 32,\r\n md: 48,\r\n lg: 64,\r\n} as const;\r\n\r\ntype LoaderSize = keyof typeof SIZES;\r\n\r\nexport interface KiteLoaderProps {\r\n size?: LoaderSize;\r\n label?: string;\r\n showBrand?: boolean;\r\n name?: string;\r\n subBrand?: string;\r\n theme?: KiteTheme;\r\n className?: string;\r\n style?: CSSProperties;\r\n}\r\n\r\nexport function KiteLoader({\r\n size = \"md\",\r\n label,\r\n showBrand = false,\r\n name = \"Fly\",\r\n subBrand = \"UI\",\r\n theme,\r\n className,\r\n style,\r\n}: KiteLoaderProps) {\r\n const px = SIZES[size];\r\n const svgH = Math.round(px * 1.2);\r\n const globalTheme = useFlyUITheme();\r\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\r\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\r\n\r\n return (\r\n <div\r\n className={cn(styles[\"kite-fu-host\"], className)}\r\n role=\"status\"\r\n aria-label={label ?? \"Loading\"}\r\n style={{ ...themeStyle, ...style }}\r\n >\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n gap: 10,\r\n }}\r\n >\r\n <svg\r\n width={px}\r\n height={svgH}\r\n viewBox=\"0 0 24 31\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n overflow=\"visible\"\r\n >\r\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\r\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\r\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\r\n <path\r\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\"\r\n fill=\"var(--kite-muted, #64748b)\"\r\n opacity=\"0.28\"\r\n />\r\n </g>\r\n </g>\r\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\r\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\r\n <path\r\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\"\r\n fill=\"var(--kite-muted, #64748b)\"\r\n opacity=\"0.32\"\r\n />\r\n </g>\r\n </g>\r\n </g>\r\n <g\r\n className={cn(\r\n styles[\"kite-fu-float\"],\r\n styles[\"kite-fu-kiteBreath\"],\r\n )}\r\n >\r\n <g transform=\"rotate(90 12 12)\">\r\n <path\r\n d=\"M12 0 L0 9 L12 24 Z\"\r\n fill=\"var(--kite-primary, #0ea5e9)\"\r\n />\r\n <path\r\n d=\"M12 0 L24 9 L12 24 Z\"\r\n fill=\"var(--kite-primary, #0ea5e9)\"\r\n className={styles[\"kite-fu-shadowBreathe\"]}\r\n />\r\n <path\r\n d=\"M12 24 Q13 28.5 12 31\"\r\n stroke=\"var(--kite-muted, #64748b)\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n fill=\"none\"\r\n className={styles[\"kite-fu-stringSway\"]}\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n {showBrand ? (\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-logoText\"],\r\n styles[\"kite-fu-loadingTextPulse\"],\r\n )}\r\n style={{\r\n marginTop: -2,\r\n fontSize: 20,\r\n fontFamily: '\"Inter Variable\", sans-serif',\r\n letterSpacing: \"-0.03em\",\r\n lineHeight: 1,\r\n }}\r\n >\r\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\r\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\r\n </span>\r\n ) : null}\r\n {label ? <p className={styles[\"kite-fu-label\"]}>{label}</p> : null}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import type { CSSProperties } from \"react\";\r\n\r\nimport { cn } from \"../../lib/cn\";\r\n\r\nimport styles from \"./kite-animations.module.css\";\r\nimport {\r\n buildKiteThemeStyle,\r\n mergeKiteTheme,\r\n type KiteTheme,\r\n useFlyUITheme,\r\n} from \"./theme\";\r\n\r\nexport interface KitePageLoaderProps {\r\n message?: string;\r\n overlay?: boolean;\r\n name?: string;\r\n subBrand?: string;\r\n theme?: KiteTheme;\r\n className?: string;\r\n style?: CSSProperties;\r\n}\r\n\r\nexport function KitePageLoader({\r\n message,\r\n overlay = false,\r\n name = \"Fly\",\r\n subBrand = \"UI\",\r\n theme,\r\n className,\r\n style,\r\n}: KitePageLoaderProps) {\r\n const globalTheme = useFlyUITheme();\r\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\r\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\r\n\r\n return (\r\n <div\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-label={message ?? \"Loading\"}\r\n className={cn(\r\n styles[\"kite-fu-host\"],\r\n styles[\"kite-fu-pageWrap\"],\r\n overlay\r\n ? styles[\"kite-fu-pageWrapOverlay\"]\r\n : styles[\"kite-fu-pageWrapFullscreen\"],\r\n className,\r\n )}\r\n style={{ ...themeStyle, ...style }}\r\n >\r\n <svg\r\n width={56}\r\n height={58}\r\n viewBox=\"0 0 24 31\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n overflow=\"visible\"\r\n >\r\n <g className={styles[\"kite-fu-skyLayer\"]} aria-hidden=\"true\">\r\n <g className={styles[\"kite-fu-cloudSizeSm\"]}>\r\n <g className={styles[\"kite-fu-cloudDriftHigh\"]}>\r\n <path\r\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\"\r\n fill=\"var(--kite-muted, #64748b)\"\r\n opacity=\"0.28\"\r\n />\r\n </g>\r\n </g>\r\n <g className={styles[\"kite-fu-cloudSizeLg\"]}>\r\n <g className={styles[\"kite-fu-cloudDriftFar\"]}>\r\n <path\r\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\"\r\n fill=\"var(--kite-muted, #64748b)\"\r\n opacity=\"0.32\"\r\n />\r\n </g>\r\n </g>\r\n </g>\r\n <g\r\n className={cn(styles[\"kite-fu-float\"], styles[\"kite-fu-kiteBreath\"])}\r\n >\r\n <g transform=\"rotate(90 12 12)\">\r\n <path d=\"M12 0 L0 9 L12 24 Z\" fill=\"var(--kite-primary, #0ea5e9)\" />\r\n <path\r\n d=\"M12 0 L24 9 L12 24 Z\"\r\n fill=\"var(--kite-primary, #0ea5e9)\"\r\n className={styles[\"kite-fu-shadowBreathe\"]}\r\n />\r\n <path\r\n d=\"M12 24 Q13 28.5 12 31\"\r\n stroke=\"var(--kite-muted, #64748b)\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n fill=\"none\"\r\n className={styles[\"kite-fu-stringSway\"]}\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-logoText\"],\r\n styles[\"kite-fu-loadingTextPulse\"],\r\n )}\r\n style={{\r\n marginTop: -2,\r\n fontSize: 20,\r\n fontFamily: '\"Inter Variable\", sans-serif',\r\n letterSpacing: \"-0.03em\",\r\n lineHeight: 1,\r\n }}\r\n >\r\n <span className={styles[\"kite-fu-logoTextStrong\"]}>{name}</span>\r\n <span className={styles[\"kite-fu-logoTextLight\"]}>{subBrand}</span>\r\n </span>\r\n\r\n <div\r\n className={cn(\r\n styles[\"kite-fu-loadingDots\"],\r\n styles[\"kite-fu-loadingDotsBelowBrand\"],\r\n )}\r\n aria-hidden=\"true\"\r\n >\r\n <span className={styles[\"kite-fu-loadingDot\"]} />\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-loadingDot\"],\r\n styles[\"kite-fu-loadingDot1\"],\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-loadingDot\"],\r\n styles[\"kite-fu-loadingDot2\"],\r\n )}\r\n />\r\n </div>\r\n\r\n {message ? <p className={styles[\"kite-fu-label\"]}>{message}</p> : null}\r\n </div>\r\n );\r\n}\r\n","import type { CSSProperties } from \"react\";\r\n\r\nimport { cn } from \"../../lib/cn\";\r\n\r\nimport styles from \"../kite/kite-animations.module.css\";\r\nimport {\r\n buildKiteThemeStyle,\r\n mergeKiteTheme,\r\n type KiteTheme,\r\n useFlyUITheme,\r\n} from \"../kite/theme\";\r\n\r\nexport interface LoadingProps {\r\n className?: string;\r\n label?: string;\r\n theme?: KiteTheme;\r\n style?: CSSProperties;\r\n}\r\n\r\nexport function Loading({ className, label, theme, style }: LoadingProps) {\r\n const globalTheme = useFlyUITheme();\r\n const resolvedTheme = mergeKiteTheme(globalTheme, theme);\r\n const themeStyle = buildKiteThemeStyle(resolvedTheme);\r\n\r\n return (\r\n <div\r\n className={cn(styles[\"kite-fu-host\"], className)}\r\n role=\"status\"\r\n aria-label={label ?? \"Loading\"}\r\n style={{ ...themeStyle, ...style }}\r\n >\r\n <div className={styles[\"kite-fu-loadingDots\"]}>\r\n <span className={styles[\"kite-fu-loadingDot\"]} />\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-loadingDot\"],\r\n styles[\"kite-fu-loadingDot1\"],\r\n )}\r\n />\r\n <span\r\n className={cn(\r\n styles[\"kite-fu-loadingDot\"],\r\n styles[\"kite-fu-loadingDot2\"],\r\n )}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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","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":";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;;;ACvBI,SAQE,KARF;AAxBJ,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,GAAG,cAAc,IAAI;AAAA,EACpD,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,KAAK,GAAG,cAAc,IAAI;AAAA,EACpD,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,KAAK,GAAG,cAAc,IAAI;AACtD;AAgBA,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;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,eAAe,IAAI,IAAI;AAAA,MAE9D;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;;;AC9BU,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"]}
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kitelus/fly-ui",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"description": "Fly UI - isolated React component library with modern Storybook docs",
|
|
6
6
|
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/kitelus/fly-ui.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/kitelus/fly-ui/issues"
|
|
13
|
+
},
|
|
7
14
|
"type": "module",
|
|
8
15
|
"homepage": "https://kitelus.github.io/fly-ui/",
|
|
9
16
|
"main": "./dist/index.cjs",
|
|
@@ -30,12 +37,17 @@
|
|
|
30
37
|
"build": "npm run build:lib",
|
|
31
38
|
"build:lib": "tsup",
|
|
32
39
|
"lint": "eslint .",
|
|
40
|
+
"lint:staged": "lint-staged",
|
|
33
41
|
"preview": "vite preview",
|
|
34
42
|
"storybook": "storybook dev -p 6006",
|
|
35
43
|
"build-storybook": "storybook build -o storybook-static",
|
|
36
44
|
"test-storybook": "vitest run",
|
|
45
|
+
"prepare": "husky",
|
|
37
46
|
"prepublishOnly": "npm run build:lib"
|
|
38
47
|
},
|
|
48
|
+
"lint-staged": {
|
|
49
|
+
"*.{js,jsx,ts,tsx}": "eslint --fix"
|
|
50
|
+
},
|
|
39
51
|
"peerDependencies": {
|
|
40
52
|
"react": ">=18",
|
|
41
53
|
"react-dom": ">=18"
|
|
@@ -63,6 +75,8 @@
|
|
|
63
75
|
"eslint-plugin-react-refresh": "^0.5.2",
|
|
64
76
|
"eslint-plugin-storybook": "^10.3.4",
|
|
65
77
|
"globals": "^17.4.0",
|
|
78
|
+
"husky": "^9.1.7",
|
|
79
|
+
"lint-staged": "^16.4.0",
|
|
66
80
|
"playwright": "^1.59.1",
|
|
67
81
|
"storybook": "^10.3.4",
|
|
68
82
|
"tsup": "^8.5.1",
|