@anker-in/headless-ui 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +18 -16
- package/README.md +9 -11
- package/dist/esm/components/badge.d.ts +1 -1
- package/dist/esm/components/badge.js +2 -0
- package/dist/esm/components/badge.js.map +7 -0
- package/dist/esm/components/button.d.ts +3 -2
- package/dist/esm/components/button.js +2 -0
- package/dist/esm/components/button.js.map +7 -0
- package/dist/esm/components/checkbox.js +2 -0
- package/dist/esm/components/checkbox.js.map +7 -0
- package/dist/esm/components/dialog.d.ts +2 -2
- package/dist/esm/components/dialog.js +2 -0
- package/dist/esm/components/dialog.js.map +7 -0
- package/dist/esm/components/heading.js +2 -0
- package/dist/esm/components/heading.js.map +7 -0
- package/dist/esm/components/index.d.ts +2 -1
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +7 -0
- package/dist/esm/components/input.d.ts +1 -1
- package/dist/esm/components/input.js +2 -0
- package/dist/esm/components/input.js.map +7 -0
- package/dist/esm/components/popover.js +2 -0
- package/dist/esm/components/popover.js.map +7 -0
- package/dist/esm/components/radio.js +2 -0
- package/dist/esm/components/radio.js.map +7 -0
- package/dist/esm/components/skeleton.d.ts +2 -2
- package/dist/esm/components/skeleton.js +2 -0
- package/dist/esm/components/skeleton.js.map +7 -0
- package/dist/esm/components/text.d.ts +6 -2
- package/dist/esm/components/text.js +2 -0
- package/dist/esm/components/text.js.map +7 -0
- package/dist/esm/components/theme.d.ts +7 -2
- package/dist/esm/components/theme.js +2 -0
- package/dist/esm/components/theme.js.map +7 -0
- package/dist/esm/helpers/component-props.js +1 -0
- package/dist/esm/helpers/component-props.js.map +7 -0
- package/dist/esm/helpers/constants.js +2 -0
- package/dist/esm/helpers/constants.js.map +7 -0
- package/dist/esm/helpers/index.js +2 -0
- package/dist/esm/helpers/index.js.map +7 -0
- package/dist/esm/helpers/utils.js +2 -0
- package/dist/esm/helpers/utils.js.map +7 -0
- package/dist/esm/icons/spinner.d.ts +1 -2
- package/dist/esm/icons/spinner.js +2 -0
- package/dist/esm/icons/spinner.js.map +7 -0
- package/dist/esm/index.js +1 -41
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/package.json +3 -0
- package/dist/esm/src/components/badge.d.ts +9 -0
- package/dist/esm/src/components/button.d.ts +20 -0
- package/dist/esm/src/components/checkbox.d.ts +4 -0
- package/dist/esm/src/components/dialog.d.ts +19 -0
- package/dist/esm/src/components/heading.d.ts +7 -0
- package/dist/esm/src/components/index.d.ts +11 -0
- package/dist/esm/src/components/input.d.ts +21 -0
- package/dist/esm/src/components/popover.d.ts +6 -0
- package/dist/esm/src/components/radio.d.ts +5 -0
- package/dist/esm/src/components/skeleton.d.ts +6 -0
- package/dist/esm/src/components/text.d.ts +12 -0
- package/dist/esm/src/components/theme.d.ts +13 -0
- package/dist/esm/src/helpers/component-props.d.ts +7 -0
- package/dist/esm/src/helpers/constants.d.ts +2 -0
- package/dist/esm/src/helpers/index.d.ts +1 -0
- package/dist/esm/src/helpers/utils.d.ts +2 -0
- package/dist/esm/src/icons/spinner.d.ts +7 -0
- package/dist/esm/src/index.d.ts +1 -0
- package/dist/esm/src/stories/badge.stories.d.ts +26 -0
- package/dist/esm/src/stories/button.stories.d.ts +47 -0
- package/dist/esm/src/stories/checkbox.stories.d.ts +5 -0
- package/dist/esm/src/stories/dialog.stories.d.ts +5 -0
- package/dist/esm/src/stories/input.stories.d.ts +30 -0
- package/dist/esm/src/stories/popover.stories.d.ts +5 -0
- package/dist/esm/src/stories/radio.stories.d.ts +5 -0
- package/dist/esm/src/stories/skeleton.stories.d.ts +14 -0
- package/dist/esm/src/stories/text.stories.d.ts +16 -0
- package/dist/esm/stories/badge.stories.d.ts +1 -1
- package/dist/esm/stories/badge.stories.js +2 -0
- package/dist/esm/stories/badge.stories.js.map +7 -0
- package/dist/esm/stories/button.stories.d.ts +11 -3
- package/dist/esm/stories/button.stories.js +2 -0
- package/dist/esm/stories/button.stories.js.map +7 -0
- package/dist/esm/stories/checkbox.stories.d.ts +1 -2
- package/dist/esm/stories/checkbox.stories.js +2 -0
- package/dist/esm/stories/checkbox.stories.js.map +7 -0
- package/dist/esm/stories/dialog.stories.d.ts +1 -2
- package/dist/esm/stories/dialog.stories.js +2 -0
- package/dist/esm/stories/dialog.stories.js.map +7 -0
- package/dist/esm/stories/input.stories.d.ts +2 -2
- package/dist/esm/stories/input.stories.js +2 -0
- package/dist/esm/stories/input.stories.js.map +7 -0
- package/dist/esm/stories/popover.stories.d.ts +1 -2
- package/dist/esm/stories/popover.stories.js +2 -0
- package/dist/esm/stories/popover.stories.js.map +7 -0
- package/dist/esm/stories/radio.stories.d.ts +1 -2
- package/dist/esm/stories/radio.stories.js +2 -0
- package/dist/esm/stories/radio.stories.js.map +7 -0
- package/dist/esm/stories/skeleton.stories.js +2 -0
- package/dist/esm/stories/skeleton.stories.js.map +7 -0
- package/dist/esm/stories/text.stories.d.ts +16 -0
- package/dist/esm/stories/text.stories.js +2 -0
- package/dist/esm/stories/text.stories.js.map +7 -0
- package/dist/esm/tests/badge.test.d.ts +1 -0
- package/dist/esm/tests/button.test.d.ts +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/package.json +18 -16
- package/src/components/badge.tsx +1 -1
- package/src/components/button.tsx +34 -7
- package/src/components/checkbox.tsx +2 -0
- package/src/components/index.ts +3 -1
- package/src/components/input.tsx +2 -0
- package/src/components/popover.tsx +2 -0
- package/src/components/radio.tsx +2 -0
- package/src/components/skeleton.tsx +1 -1
- package/src/components/text.tsx +33 -5
- package/src/components/theme.tsx +10 -6
- package/src/stories/button.stories.tsx +8 -0
- package/src/stories/text.stories.tsx +37 -0
- package/src/styles/global.css +1 -1
- package/style.css +148 -218
- package/dist/style.css +0 -1352
- package/src/components/__tests__/button.test.js +0 -9
package/CONTRIBUTING.md
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
# 代码文件结构
|
|
6
6
|
|
|
7
7
|
```shell
|
|
8
|
+
apps
|
|
9
|
+
├── playground
|
|
8
10
|
packages
|
|
9
11
|
├── storybook
|
|
10
12
|
│ └── public
|
|
@@ -19,13 +21,14 @@ packages
|
|
|
19
21
|
|
|
20
22
|
```
|
|
21
23
|
|
|
22
|
-
| 路径 | 描述
|
|
23
|
-
| -------------------------- |
|
|
24
|
-
|
|
|
25
|
-
| packages/
|
|
26
|
-
| packages/ui
|
|
27
|
-
| packages/ui/src/
|
|
28
|
-
| packages/ui/src/
|
|
24
|
+
| 路径 | 描述 |
|
|
25
|
+
| -------------------------- | ------------------------- |
|
|
26
|
+
| apps/playground | playground,一个nextjs项目 |
|
|
27
|
+
| packages/storybook | storybook 配置 |
|
|
28
|
+
| packages/ui | 组件根目录 |
|
|
29
|
+
| packages/ui/src/components | 所有的组件都在这个目录 |
|
|
30
|
+
| packages/ui/src/stories | 组件对应的storybook 文件 |
|
|
31
|
+
| packages/ui/src/styles | 样式文件 |
|
|
29
32
|
|
|
30
33
|
# 如何运行
|
|
31
34
|
|
|
@@ -46,25 +49,21 @@ pnpm install
|
|
|
46
49
|
ui 添加新的依赖
|
|
47
50
|
|
|
48
51
|
```shell
|
|
49
|
-
pnpm add {packages} --filter @headless-
|
|
52
|
+
pnpm add {packages} --filter @anker-in/headless-ui
|
|
50
53
|
```
|
|
51
54
|
|
|
52
55
|
进入根目录
|
|
53
56
|
|
|
54
|
-
|
|
55
|
-
cd headless-common/style/web
|
|
56
|
-
```
|
|
57
|
+
````
|
|
57
58
|
|
|
58
|
-
为什么把 web 当作根目录?
|
|
59
|
-
因为前期打算通过sub module 的方式使用组件,方便快速验证,后续打算把组件库单独提出来当作一个仓库,打包成npm包。所以基础配置,比如eslint, tscongig, npm 等都是是在这个目录配置的,把这个目录当作根目录,编辑器更好的可以读取这些配置。
|
|
60
59
|
|
|
61
60
|
本地启动
|
|
62
61
|
|
|
63
62
|
```shell
|
|
64
|
-
pnpm dev
|
|
65
|
-
|
|
63
|
+
pnpm run dev
|
|
64
|
+
````
|
|
66
65
|
|
|
67
|
-
这会运行storybook,可以一边修改组件源码,一边查看效果。
|
|
66
|
+
这会运行storybook和playground,可以一边修改组件源码,一边查看效果。
|
|
68
67
|
|
|
69
68
|
# 如何新增组件
|
|
70
69
|
|
|
@@ -72,6 +71,9 @@ pnpm dev
|
|
|
72
71
|
如果不存在,需要新增,建议新组件基于 [@radix-ui/primitive](https://www.radix-ui.com/primitives) 或者手动复制[shadcn](https://ui.shadcn.com/) 的组件 进行二次封装。
|
|
73
72
|
组件目录位于`packages/ui/src`。
|
|
74
73
|
|
|
74
|
+
运行`pnpm run dev` 之后,会运行storybook 和 playground 项目,在storybook 中测试组件的功能,编写文档。
|
|
75
|
+
在playground 中可以添加组件的展示,测试组件在nextjs 项目中的使用。
|
|
76
|
+
|
|
75
77
|
组件需要覆盖全品牌,如果新增css 变量,需要在`packages/ui/src/styles/global.css` 补充在各个品牌的作用域之下。
|
|
76
78
|
如果某个品牌没有添加,会默认使用root 下的定义作为fallback。
|
|
77
79
|
|
package/README.md
CHANGED
|
@@ -2,12 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
[CONTRIBUTING.md](CONTRIBUTING.md)
|
|
4
4
|
|
|
5
|
-
#### 初始化
|
|
6
|
-
|
|
7
|
-
### 相关资料
|
|
8
|
-
|
|
9
|
-
[web 端设计稿]()
|
|
10
|
-
|
|
11
5
|
# 使用方法
|
|
12
6
|
|
|
13
7
|
```shell
|
|
@@ -15,21 +9,24 @@ npm install @anker-in/headless-ui
|
|
|
15
9
|
|
|
16
10
|
```
|
|
17
11
|
|
|
18
|
-
手动在html
|
|
12
|
+
手动在html 标签添加主题名(anker, eufy, soundCore等), 不同的主题名对应不同的css 变量,如果需要更新
|
|
19
13
|
|
|
20
14
|
```html
|
|
21
|
-
<html data-brand-theme="
|
|
15
|
+
<html data-brand-theme="soundcore"></html>
|
|
22
16
|
```
|
|
23
17
|
|
|
18
|
+
如果是nextjs 项目,在`_document.tsx`文件的html标签添加主题名
|
|
19
|
+
|
|
24
20
|
然后就可以项目内引入需要的组件
|
|
25
21
|
|
|
26
22
|
```jsx
|
|
27
|
-
//
|
|
23
|
+
// 在项目入口添加样式文件,比如_app.js
|
|
28
24
|
import '@anker-in/headless-ui/style.css'
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
// 使用组件
|
|
27
|
+
import { Button, Skeleton } from '@anker-in/headless-ui'
|
|
31
28
|
|
|
32
|
-
//
|
|
29
|
+
// ...
|
|
33
30
|
|
|
34
31
|
<Button size="lg" variant="primary">
|
|
35
32
|
Primary
|
|
@@ -38,4 +35,5 @@ import { Button } from '@anker-in/headless-ui'
|
|
|
38
35
|
secondary
|
|
39
36
|
</Button>
|
|
40
37
|
|
|
38
|
+
<Skeleton className="w-[300px] h-[300px] rounded-full" />
|
|
41
39
|
```
|
|
@@ -5,5 +5,5 @@ declare const badgeVariants: (props?: ({
|
|
|
5
5
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
6
6
|
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
7
7
|
}
|
|
8
|
-
declare function Badge({ className, variant, ...props }: BadgeProps):
|
|
8
|
+
declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export default Badge;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as s}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";import{cn as n}from"../helpers/index";const o=a("inline-flex items-center rounded-[20px] border px-[10px] py-1 text-xs font-medium transition-colors focus:outline-none",{variants:{variant:{default:"bg-badge text-badge-foreground border-transparent",secondary:"bg-secondary text-secondary-foreground border-transparent",destructive:"bg-destructive text-destructive-foreground border-transparent",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function d({className:e,variant:t,...r}){return s("div",{className:n(o({variant:t}),e),...r})}var f=d;export{f as default};
|
|
2
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/badge.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react'\nimport { type VariantProps, cva } from 'class-variance-authority'\n\nimport { cn } from '../helpers/index'\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-[20px] border px-[10px] py-1 text-xs font-medium transition-colors focus:outline-none',\n {\n variants: {\n variant: {\n default: 'bg-badge text-badge-foreground border-transparent',\n secondary: 'bg-secondary text-secondary-foreground border-transparent',\n destructive: 'bg-destructive text-destructive-foreground border-transparent',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n)\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />\n}\n\nexport default Badge\n"],
|
|
5
|
+
"mappings": "AAyBS,cAAAA,MAAA,oBAxBT,OAA4B,OAAAC,MAAW,2BAEvC,OAAS,MAAAC,MAAU,mBAEnB,MAAMC,EAAgBF,EACpB,yHACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,oDACT,UAAW,4DACX,YAAa,gEACb,QAAS,iBACX,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAIA,SAASG,EAAM,CAAE,UAAAC,EAAW,QAAAC,EAAS,GAAGC,CAAM,EAAe,CAC3D,OAAOP,EAAC,OAAI,UAAWE,EAAGC,EAAc,CAAE,QAAAG,CAAQ,CAAC,EAAGD,CAAS,EAAI,GAAGE,EAAO,CAC/E,CAEA,IAAOC,EAAQJ",
|
|
6
|
+
"names": ["jsx", "cva", "cn", "badgeVariants", "Badge", "className", "variant", "props", "badge_default"]
|
|
7
|
+
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
/**
|
|
4
4
|
* Button Variants
|
|
5
5
|
*/
|
|
6
6
|
declare const buttonVariants: (props?: ({
|
|
7
7
|
variant?: "link" | "primary" | "secondary" | "ghost" | null | undefined;
|
|
8
|
-
size?: "
|
|
8
|
+
size?: "sm" | "lg" | "base" | "icon" | null | undefined;
|
|
9
|
+
hoverEffect?: "none" | "slide" | null | undefined;
|
|
9
10
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
10
11
|
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
11
12
|
/** 设置按钮载入状态 */
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{Fragment as h,jsx as e,jsxs as x}from"react/jsx-runtime";import*as p from"react";import{Slot as u}from"@radix-ui/react-slot";import{VisuallyHidden as c}from"@radix-ui/react-visually-hidden";import{cva as m}from"class-variance-authority";import y from"../icons/spinner";import{cn as v}from"../helpers/index";const g=m("ring-offset-background focus-visible:ring-ring rounded-btn inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{primary:"bg-btn-primary text-btn-primary-foreground hover:bg-btn-primary-active disabled:bg-btn-primary-disabled disabled:text-btn-primary-disabled-foreground",secondary:"bg-btn-secondary border-primary text-btn-secondary-foreground hover:bg-btn-secondary-active hover:text-btn-secondary disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground border border-solid",link:"text-primary underline-offset-4 hover:underline",ghost:"hover:bg-btn-primary hover:text-btn-primary-foreground"},size:{sm:"h-8 px-3 py-1",base:"h-10 px-4 py-2",lg:"h-11 px-8",icon:"size-10 rounded-full"},hoverEffect:{none:"",slide:""}},compoundVariants:[{variant:"primary",hoverEffect:"slide",class:'before:rounded-btn hover:bg-btn-primary before:bg-btn-primary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[""] hover:before:translate-x-0'},{variant:"secondary",hoverEffect:"slide",class:'before:rounded-btn hover:bg-btn-secondary before:bg-btn-secondary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[""] hover:before:translate-x-0'}],defaultVariants:{variant:"primary",size:"base",hoverEffect:"none"}}),t=p.forwardRef(({asChild:n=!1,size:a="base",children:r,variant:i,hoverEffect:s="none",className:b,disabled:o=!1,loading:d=!1,...l},f)=>e(n?u:"button",{disabled:o,className:v(g({variant:i,size:a,hoverEffect:s}),{"cursor-not-allowed":o},b),ref:f,...l,children:d?x(h,{children:[e("span",{style:{display:"contents",visibility:"hidden"},"aria-hidden":!0,children:r}),e("span",{className:"absolute",children:e(y,{})}),e(c,{children:r})]}):e("span",{className:"z-[1]",children:r})}));t.displayName="Button";var z=t;export{z as default};
|
|
2
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/button.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport Spinner from '../icons/spinner'\nimport { cn } from '../helpers/index'\n\n/**\n * Button Variants\n */\nconst buttonVariants = cva(\n 'ring-offset-background focus-visible:ring-ring rounded-btn inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n primary:\n 'bg-btn-primary text-btn-primary-foreground hover:bg-btn-primary-active disabled:bg-btn-primary-disabled disabled:text-btn-primary-disabled-foreground',\n secondary:\n 'bg-btn-secondary border-primary text-btn-secondary-foreground hover:bg-btn-secondary-active hover:text-btn-secondary disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground border border-solid',\n link: 'text-primary underline-offset-4 hover:underline',\n ghost: 'hover:bg-btn-primary hover:text-btn-primary-foreground',\n },\n size: {\n sm: 'h-8 px-3 py-1',\n base: 'h-10 px-4 py-2',\n lg: 'h-11 px-8',\n icon: 'size-10 rounded-full',\n },\n /** hover \u72B6\u6001\u4E0B\u7684\u52A8\u753B\u6548\u679C,\u9700\u8981\u6CE8\u610F\u4E0D\u540Cvariant \u4E0B\u7684\u6548\u679C */\n hoverEffect: {\n none: '',\n slide: '',\n },\n },\n compoundVariants: [\n {\n variant: 'primary',\n hoverEffect: 'slide',\n class:\n 'before:rounded-btn hover:bg-btn-primary before:bg-btn-primary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[\"\"] hover:before:translate-x-0',\n },\n {\n variant: 'secondary',\n hoverEffect: 'slide',\n class:\n 'before:rounded-btn hover:bg-btn-secondary before:bg-btn-secondary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[\"\"] hover:before:translate-x-0',\n },\n ],\n defaultVariants: {\n variant: 'primary',\n size: 'base',\n hoverEffect: 'none',\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n /** \u8BBE\u7F6E\u6309\u94AE\u8F7D\u5165\u72B6\u6001 */\n loading?: boolean\n /** \u8BBE\u7F6E\u6309\u94AE\u5931\u6548\u72B6\u6001 */\n disabled?: boolean\n /** \u5B9A\u4E49\u81EA\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B\uFF0C \u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n asChild = false,\n size = 'base',\n children,\n variant,\n hoverEffect = 'none',\n className,\n disabled = false,\n loading = false,\n ...props\n }: ButtonProps,\n ref\n ) => {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n disabled={disabled}\n className={cn(\n buttonVariants({ variant, size, hoverEffect }),\n {\n 'cursor-not-allowed': disabled,\n },\n className\n )}\n ref={ref}\n {...props}\n >\n {loading ? (\n <>\n <span style={{ display: 'contents', visibility: 'hidden' }} aria-hidden>\n {children}\n </span>\n <span className=\"absolute\">\n <Spinner />\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n </>\n ) : (\n <span className=\"z-[1]\">{children}</span>\n )}\n </Comp>\n )\n }\n)\n\nButton.displayName = 'Button'\nexport default Button\n"],
|
|
5
|
+
"mappings": "aAoGU,mBAAAA,EACE,OAAAC,EADF,QAAAC,MAAA,oBAlGV,UAAYC,MAAW,QACvB,OAAS,QAAAC,MAAY,uBACrB,OAAS,kBAAAC,MAAsB,kCAC/B,OAA4B,OAAAC,MAAW,2BACvC,OAAOC,MAAa,mBACpB,OAAS,MAAAC,MAAU,mBAKnB,MAAMC,EAAiBH,EACrB,0RACA,CACE,SAAU,CACR,QAAS,CACP,QACE,wJACF,UACE,8NACF,KAAM,kDACN,MAAO,wDACT,EACA,KAAM,CACJ,GAAI,gBACJ,KAAM,iBACN,GAAI,YACJ,KAAM,sBACR,EAEA,YAAa,CACX,KAAM,GACN,MAAO,EACT,CACF,EACA,iBAAkB,CAChB,CACE,QAAS,UACT,YAAa,QACb,MACE,0RACJ,EACA,CACE,QAAS,YACT,YAAa,QACb,MACE,8RACJ,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,OACN,YAAa,MACf,CACF,CACF,EAaMI,EAASP,EAAM,WACnB,CACE,CACE,QAAAQ,EAAU,GACV,KAAAC,EAAO,OACP,SAAAC,EACA,QAAAC,EACA,YAAAC,EAAc,OACd,UAAAC,EACA,SAAAC,EAAW,GACX,QAAAC,EAAU,GACV,GAAGC,CACL,EACAC,IAKEnB,EAHWU,EAAUP,EAAO,SAG3B,CACC,SAAUa,EACV,UAAWT,EACTC,EAAe,CAAE,QAAAK,EAAS,KAAAF,EAAM,YAAAG,CAAY,CAAC,EAC7C,CACE,qBAAsBE,CACxB,EACAD,CACF,EACA,IAAKI,EACJ,GAAGD,EAEH,SAAAD,EACChB,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,MAAO,CAAE,QAAS,WAAY,WAAY,QAAS,EAAG,cAAW,GACpE,SAAAY,EACH,EACAZ,EAAC,QAAK,UAAU,WACd,SAAAA,EAACM,EAAA,EAAQ,EACX,EACAN,EAACI,EAAA,CAAgB,SAAAQ,EAAS,GAC5B,EAEAZ,EAAC,QAAK,UAAU,QAAS,SAAAY,EAAS,EAEtC,CAGN,EAEAH,EAAO,YAAc,SACrB,IAAOW,EAAQX",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "React", "Slot", "VisuallyHidden", "cva", "Spinner", "cn", "buttonVariants", "Button", "asChild", "size", "children", "variant", "hoverEffect", "className", "disabled", "loading", "props", "ref", "button_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as o}from"react/jsx-runtime";import*as c from"react";import*as e from"@radix-ui/react-checkbox";import{CheckIcon as m}from"@radix-ui/react-icons";import{cn as i}from"../helpers/index";const t=c.forwardRef(({className:r,...s},a)=>o(e.Root,{ref:a,className:i("border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground peer size-4 shrink-0 rounded-sm border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),...s,children:o(e.Indicator,{className:i("flex items-center justify-center text-current"),children:o(m,{className:"size-4"})})}));t.displayName=e.Root.displayName;var d=t;export{d as default};
|
|
2
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/checkbox.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { CheckIcon } from '@radix-ui/react-icons'\n\nimport { cn } from '../helpers/index'\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'border-primary ring-offset-background focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground peer size-4 shrink-0 rounded-sm border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator className={cn('flex items-center justify-center text-current')}>\n <CheckIcon className=\"size-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport default Checkbox\n"],
|
|
5
|
+
"mappings": "aAqBM,cAAAA,MAAA,oBAnBN,UAAYC,MAAW,QACvB,UAAYC,MAAuB,2BACnC,OAAS,aAAAC,MAAiB,wBAE1B,OAAS,MAAAC,MAAU,mBAEnB,MAAMC,EAAWJ,EAAM,WAGrB,CAAC,CAAE,UAAAK,EAAW,GAAGC,CAAM,EAAGC,IAC1BR,EAACE,EAAkB,KAAlB,CACC,IAAKM,EACL,UAAWJ,EACT,gTACAE,CACF,EACC,GAAGC,EAEJ,SAAAP,EAACE,EAAkB,UAAlB,CAA4B,UAAWE,EAAG,+CAA+C,EACxF,SAAAJ,EAACG,EAAA,CAAU,UAAU,SAAS,EAChC,EACF,CACD,EACDE,EAAS,YAAcH,EAAkB,KAAK,YAE9C,IAAOO,EAAQJ",
|
|
6
|
+
"names": ["jsx", "React", "CheckboxPrimitive", "CheckIcon", "cn", "Checkbox", "className", "props", "ref", "checkbox_default"]
|
|
7
|
+
}
|
|
@@ -7,11 +7,11 @@ declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.Dialo
|
|
|
7
7
|
declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
8
8
|
declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
9
|
declare const DialogHeader: {
|
|
10
|
-
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>):
|
|
10
|
+
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
displayName: string;
|
|
12
12
|
};
|
|
13
13
|
declare const DialogFooter: {
|
|
14
|
-
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>):
|
|
14
|
+
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
15
15
|
displayName: string;
|
|
16
16
|
};
|
|
17
17
|
declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as o,jsxs as r}from"react/jsx-runtime";import*as l from"react";import*as e from"@radix-ui/react-dialog";import{Cross2Icon as u}from"@radix-ui/react-icons";import{cn as s}from"../helpers/index";const y=e.Root,R=e.Trigger,d=e.Portal,v=e.Close,n=l.forwardRef(({className:t,...a},i)=>o(e.Overlay,{ref:i,className:s("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",t),...a}));n.displayName=e.Overlay.displayName;const m=l.forwardRef(({className:t,children:a,...i},D)=>r(d,{children:[o(n,{}),r(e.Content,{ref:D,className:s("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",t),...i,children:[a,r(e.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none",children:[o(u,{className:"size-4"}),o("span",{className:"sr-only",children:"Close"})]})]})]}));m.displayName=e.Content.displayName;const c=({className:t,...a})=>o("div",{className:s("flex flex-col space-y-1.5 text-center sm:text-left",t),...a});c.displayName="DialogHeader";const f=({className:t,...a})=>o("div",{className:s("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});f.displayName="DialogFooter";const p=l.forwardRef(({className:t,...a},i)=>o(e.Title,{ref:i,className:s("text-lg font-semibold leading-none tracking-tight",t),...a}));p.displayName=e.Title.displayName;const g=l.forwardRef(({className:t,...a},i)=>o(e.Description,{ref:i,className:s("text-muted-foreground text-sm",t),...a}));g.displayName=e.Description.displayName;export{y as Dialog,v as DialogClose,m as DialogContent,g as DialogDescription,f as DialogFooter,c as DialogHeader,n as DialogOverlay,d as DialogPortal,p as DialogTitle,R as DialogTrigger};
|
|
2
|
+
//# sourceMappingURL=dialog.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/dialog.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { Cross2Icon } from '@radix-ui/react-icons'\n\nimport { cn } from '../helpers/index'\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80',\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none\">\n <Cross2Icon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\n)\nDialogHeader.displayName = 'DialogHeader'\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n)\nDialogFooter.displayName = 'DialogFooter'\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n"],
|
|
5
|
+
"mappings": "aAoBE,cAAAA,EA0BI,QAAAC,MA1BJ,oBAlBF,UAAYC,MAAW,QACvB,UAAYC,MAAqB,yBACjC,OAAS,cAAAC,MAAkB,wBAE3B,OAAS,MAAAC,MAAU,mBAEnB,MAAMC,EAASH,EAAgB,KAEzBI,EAAgBJ,EAAgB,QAEhCK,EAAeL,EAAgB,OAE/BM,EAAcN,EAAgB,MAE9BO,EAAgBR,EAAM,WAG1B,CAAC,CAAE,UAAAS,EAAW,GAAGC,CAAM,EAAGC,IAC1Bb,EAACG,EAAgB,QAAhB,CACC,IAAKU,EACL,UAAWR,EACT,0JACAM,CACF,EACC,GAAGC,EACN,CACD,EACDF,EAAc,YAAcP,EAAgB,QAAQ,YAEpD,MAAMW,EAAgBZ,EAAM,WAG1B,CAAC,CAAE,UAAAS,EAAW,SAAAI,EAAU,GAAGH,CAAM,EAAGC,IACpCZ,EAACO,EAAA,CACC,UAAAR,EAACU,EAAA,EAAc,EACfT,EAACE,EAAgB,QAAhB,CACC,IAAKU,EACL,UAAWR,EACT,sfACAM,CACF,EACC,GAAGC,EAEH,UAAAG,EACDd,EAACE,EAAgB,MAAhB,CAAsB,UAAU,gRAC/B,UAAAH,EAACI,EAAA,CAAW,UAAU,SAAS,EAC/BJ,EAAC,QAAK,UAAU,UAAU,iBAAK,GACjC,GACF,GACF,CACD,EACDc,EAAc,YAAcX,EAAgB,QAAQ,YAEpD,MAAMa,EAAe,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,IAC1CZ,EAAC,OAAI,UAAWK,EAAG,qDAAsDM,CAAS,EAAI,GAAGC,EAAO,EAElGI,EAAa,YAAc,eAE3B,MAAMC,EAAe,CAAC,CAAE,UAAAN,EAAW,GAAGC,CAAM,IAC1CZ,EAAC,OAAI,UAAWK,EAAG,gEAAiEM,CAAS,EAAI,GAAGC,EAAO,EAE7GK,EAAa,YAAc,eAE3B,MAAMC,EAAchB,EAAM,WAGxB,CAAC,CAAE,UAAAS,EAAW,GAAGC,CAAM,EAAGC,IAC1Bb,EAACG,EAAgB,MAAhB,CACC,IAAKU,EACL,UAAWR,EAAG,oDAAqDM,CAAS,EAC3E,GAAGC,EACN,CACD,EACDM,EAAY,YAAcf,EAAgB,MAAM,YAEhD,MAAMgB,EAAoBjB,EAAM,WAG9B,CAAC,CAAE,UAAAS,EAAW,GAAGC,CAAM,EAAGC,IAC1Bb,EAACG,EAAgB,YAAhB,CAA4B,IAAKU,EAAK,UAAWR,EAAG,gCAAiCM,CAAS,EAAI,GAAGC,EAAO,CAC9G,EACDO,EAAkB,YAAchB,EAAgB,YAAY",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "DialogPrimitive", "Cross2Icon", "cn", "Dialog", "DialogTrigger", "DialogPortal", "DialogClose", "DialogOverlay", "className", "props", "ref", "DialogContent", "children", "DialogHeader", "DialogFooter", "DialogTitle", "DialogDescription"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{cn as l}from"@/helpers";import{Slot as c}from"@radix-ui/react-slot";import m from"react";const a=m.forwardRef((n,t)=>{const{children:e,className:d,asChild:r,as:i="h1",color:s,...h}=n;return o(c,{"data-accent-color":s||void 0,...h,ref:t,className:l("",d),children:r?e:o(i,{children:e})})});a.displayName="Heading";export{a as Heading};
|
|
2
|
+
//# sourceMappingURL=heading.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/heading.tsx"],
|
|
4
|
+
"sourcesContent": ["import { cn } from '@/helpers'\nimport { Slot } from '@radix-ui/react-slot'\nimport React from 'react'\n\ntype HeadingElement = React.ElementRef<'h1'>\n\ninterface HeadingProps extends React.ComponentPropsWithoutRef<'h1'> {\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | undefined\n asChild?: boolean\n}\n\nconst Heading = React.forwardRef<HeadingElement, HeadingProps>((props, forwardedRef) => {\n const { children, className, asChild, as: Tag = 'h1', color, ...headingProps } = props\n return (\n <Slot data-accent-color={color || undefined} {...headingProps} ref={forwardedRef} className={cn('', className)}>\n {asChild ? children : <Tag>{children}</Tag>}\n </Slot>\n )\n})\n\nHeading.displayName = 'Heading'\n\nexport { Heading }\n"],
|
|
5
|
+
"mappings": "AAe4B,cAAAA,MAAA,oBAf5B,OAAS,MAAAC,MAAU,YACnB,OAAS,QAAAC,MAAY,uBACrB,OAAOC,MAAW,QASlB,MAAMC,EAAUD,EAAM,WAAyC,CAACE,EAAOC,IAAiB,CACtF,KAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,QAAAC,EAAS,GAAIC,EAAM,KAAM,MAAAC,EAAO,GAAGC,CAAa,EAAIP,EACjF,OACEL,EAACE,EAAA,CAAK,oBAAmBS,GAAS,OAAY,GAAGC,EAAc,IAAKN,EAAc,UAAWL,EAAG,GAAIO,CAAS,EAC1G,SAAAC,EAAUF,EAAWP,EAACU,EAAA,CAAK,SAAAH,EAAS,EACvC,CAEJ,CAAC,EAEDH,EAAQ,YAAc",
|
|
6
|
+
"names": ["jsx", "cn", "Slot", "React", "Heading", "props", "forwardedRef", "children", "className", "asChild", "Tag", "color", "headingProps"]
|
|
7
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { default as Theme } from './theme';
|
|
2
1
|
export { default as Button } from './button';
|
|
3
2
|
export { default as Badge } from './badge';
|
|
4
3
|
export * from './input';
|
|
@@ -8,3 +7,5 @@ export * from './dialog';
|
|
|
8
7
|
export * from './popover';
|
|
9
8
|
export * from './radio';
|
|
10
9
|
export * from './dialog';
|
|
10
|
+
export * from './text';
|
|
11
|
+
export { default as Theme } from './theme';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{default as r}from"./button";import{default as f}from"./badge";export*from"./input";import{default as a}from"./checkbox";import{default as d}from"./skeleton";export*from"./dialog";export*from"./popover";export*from"./radio";export*from"./dialog";export*from"./text";import{default as B}from"./theme";export{f as Badge,r as Button,a as Checkbox,d as Skeleton,B as Theme};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/index.ts"],
|
|
4
|
+
"sourcesContent": ["// theme\n// export { default as Theme } from './theme'\n\n// components\nexport { default as Button } from './button'\nexport { default as Badge } from './badge'\nexport * from './input'\n\nexport { default as Checkbox } from './checkbox'\n\nexport { default as Skeleton } from './skeleton'\nexport * from './dialog'\nexport * from './popover'\nexport * from './radio'\nexport * from './dialog'\nexport * from './text'\nexport { default as Theme } from './theme'\n"],
|
|
5
|
+
"mappings": "AAIA,OAAoB,WAAXA,MAAyB,WAClC,OAAoB,WAAXA,MAAwB,UACjC,WAAc,UAEd,OAAoB,WAAXA,MAA2B,aAEpC,OAAoB,WAAXA,MAA2B,aACpC,WAAc,WACd,WAAc,YACd,WAAc,UACd,WAAc,WACd,WAAc,SACd,OAAoB,WAAXA,MAAwB",
|
|
6
|
+
"names": ["default"]
|
|
7
|
+
}
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { ComponentPropsWithout, RemovedProps } from '@/helpers/component-props';
|
|
3
3
|
import { type VariantProps } from 'class-variance-authority';
|
|
4
4
|
declare const inputVariants: (props?: ({
|
|
5
|
-
size?: "
|
|
5
|
+
size?: "sm" | "lg" | "base" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
7
|
export interface InputProps extends ComponentPropsWithout<'input', 'size'>, VariantProps<typeof inputVariants> {
|
|
8
8
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as d,jsxs as m}from"react/jsx-runtime";import*as p from"react";import{cn as s}from"../helpers/index";import{cva as f}from"class-variance-authority";const u=f("border-input bg-background focus-visible:ring-ring ring-offset-background flex h-2 flex-row items-center overflow-hidden rounded-md border px-3 focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{size:{sm:"h-8",base:"h-10",lg:"h-12"}},defaultVariants:{size:"base"}}),l=p.forwardRef((t,o)=>{const{className:r,side:e,children:i,...n}=t;return d("div",{ref:o,...n,className:s("flex h-full items-center px-2",r,{"-order-1 pl-0":e==="left","order-2 pr-0":e==="right"}),children:i})}),a=p.forwardRef(({className:t,type:o,size:r,children:e,...i},n)=>m("div",{className:s(u({size:r}),t),children:[d("input",{type:o,className:s("placeholder:text-muted-foreground flex size-full text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"),ref:n,...i}),e]}));a.displayName="Input",l.displayName="InputSlot";export{a as Input,l as InputSlot};
|
|
2
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/input.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../helpers/index'\nimport { ComponentPropsWithout, RemovedProps } from '@/helpers/component-props'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nconst inputVariants = cva(\n 'border-input bg-background focus-visible:ring-ring ring-offset-background flex h-2 flex-row items-center overflow-hidden rounded-md border px-3 focus-visible:ring-2 focus-visible:ring-offset-2',\n {\n variants: {\n size: {\n sm: 'h-8',\n base: 'h-10',\n lg: 'h-12',\n },\n },\n defaultVariants: {\n size: 'base',\n },\n }\n)\n\nexport interface InputProps extends ComponentPropsWithout<'input', 'size'>, VariantProps<typeof inputVariants> {}\n\ntype InputSlotElement = React.ElementRef<'div'>\ninterface InputSlotProps extends ComponentPropsWithout<'div', RemovedProps> {\n /**\n * \u63D2\u69FD\u7684\u4F4D\u7F6E\n */\n side: 'left' | 'right'\n}\n\n/**\n * InputSlot\n * \u7528\u6765\u5728 Input \u7EC4\u4EF6\u4E2D\u63D2\u5165\u989D\u5916\u7684\u5185\u5BB9\uFF0C\u6BD4\u5982icon \uFF0C\u6309\u94AE\n */\nconst InputSlot = React.forwardRef<InputSlotElement, InputSlotProps>((props, forwardedRef) => {\n const { className, side, children, ...slotProps } = props\n\n return (\n <div\n ref={forwardedRef}\n {...slotProps}\n className={cn('flex h-full items-center px-2', className, {\n '-order-1 pl-0': side === 'left',\n 'order-2 pr-0': side === 'right',\n })}\n >\n {children}\n </div>\n )\n})\n\nconst Input = React.forwardRef<React.ElementRef<'input'>, InputProps>(\n ({ className, type, size, children, ...props }, ref) => {\n return (\n <div className={cn(inputVariants({ size }), className)}>\n <input\n type={type}\n className={cn(\n 'placeholder:text-muted-foreground flex size-full text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50'\n )}\n ref={ref}\n {...props}\n />\n {children}\n </div>\n )\n }\n)\nInput.displayName = 'Input'\nInputSlot.displayName = 'InputSlot'\n\nexport { Input, InputSlot }\n"],
|
|
5
|
+
"mappings": "aAyCI,cAAAA,EAgBE,QAAAC,MAhBF,oBAvCJ,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,mBAEnB,OAAS,OAAAC,MAA8B,2BAEvC,MAAMC,EAAgBD,EACpB,mMACA,CACE,SAAU,CACR,KAAM,CACJ,GAAI,MACJ,KAAM,OACN,GAAI,MACN,CACF,EACA,gBAAiB,CACf,KAAM,MACR,CACF,CACF,EAgBME,EAAYJ,EAAM,WAA6C,CAACK,EAAOC,IAAiB,CAC5F,KAAM,CAAE,UAAAC,EAAW,KAAAC,EAAM,SAAAC,EAAU,GAAGC,CAAU,EAAIL,EAEpD,OACEP,EAAC,OACC,IAAKQ,EACJ,GAAGI,EACJ,UAAWT,EAAG,gCAAiCM,EAAW,CACxD,gBAAiBC,IAAS,OAC1B,eAAgBA,IAAS,OAC3B,CAAC,EAEA,SAAAC,EACH,CAEJ,CAAC,EAEKE,EAAQX,EAAM,WAClB,CAAC,CAAE,UAAAO,EAAW,KAAAK,EAAM,KAAAC,EAAM,SAAAJ,EAAU,GAAGJ,CAAM,EAAGS,IAE5Cf,EAAC,OAAI,UAAWE,EAAGE,EAAc,CAAE,KAAAU,CAAK,CAAC,EAAGN,CAAS,EACnD,UAAAT,EAAC,SACC,KAAMc,EACN,UAAWX,EACT,qMACF,EACA,IAAKa,EACJ,GAAGT,EACN,EACCI,GACH,CAGN,EACAE,EAAM,YAAc,QACpBP,EAAU,YAAc",
|
|
6
|
+
"names": ["jsx", "jsxs", "React", "cn", "cva", "inputVariants", "InputSlot", "props", "forwardedRef", "className", "side", "children", "slotProps", "Input", "type", "size", "ref"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as e}from"react/jsx-runtime";import*as s from"react";import*as o from"@radix-ui/react-popover";import{cn as p}from"../helpers/utils";const m=o.Root,f=o.Trigger,t=s.forwardRef(({className:a,align:i="center",sideOffset:r=4,...n},d)=>e(o.Portal,{children:e(o.Content,{ref:d,align:i,sideOffset:r,className:p("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",a),...n})}));t.displayName=o.Content.displayName;export{m as Popover,t as PopoverContent,f as PopoverTrigger};
|
|
2
|
+
//# sourceMappingURL=popover.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/popover.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\n\nimport { cn } from '../helpers/utils'\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n"],
|
|
5
|
+
"mappings": "aAgBI,cAAAA,MAAA,oBAdJ,UAAYC,MAAW,QACvB,UAAYC,MAAsB,0BAElC,OAAS,MAAAC,MAAU,mBAEnB,MAAMC,EAAUF,EAAiB,KAE3BG,EAAiBH,EAAiB,QAElCI,EAAiBL,EAAM,WAG3B,CAAC,CAAE,UAAAM,EAAW,MAAAC,EAAQ,SAAU,WAAAC,EAAa,EAAG,GAAGC,CAAM,EAAGC,IAC5DX,EAACE,EAAiB,OAAjB,CACC,SAAAF,EAACE,EAAiB,QAAjB,CACC,IAAKS,EACL,MAAOH,EACP,WAAYC,EACZ,UAAWN,EACT,6aACAI,CACF,EACC,GAAGG,EACN,EACF,CACD,EACDJ,EAAe,YAAcJ,EAAiB,QAAQ",
|
|
6
|
+
"names": ["jsx", "React", "PopoverPrimitive", "cn", "Popover", "PopoverTrigger", "PopoverContent", "className", "align", "sideOffset", "props", "ref"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as o}from"react/jsx-runtime";import*as a from"react";import*as e from"@radix-ui/react-radio-group";import{CheckIcon as f}from"@radix-ui/react-icons";import{cn as m}from"../helpers/index";const s=a.forwardRef(({className:i,...r},t)=>o(e.Root,{className:m("grid gap-2",i),...r,ref:t}));s.displayName=e.Root.displayName;const p=a.forwardRef(({className:i,...r},t)=>o(e.Item,{ref:t,className:m("border-primary text-primary ring-offset-background focus-visible:ring-ring aspect-square size-4 rounded-full border focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",i),...r,children:o(e.Indicator,{className:"flex items-center justify-center",children:o(f,{className:"text-primary size-2.5 fill-current"})})}));p.displayName=e.Item.displayName;export{s as RadioGroup,p as RadioGroupItem};
|
|
2
|
+
//# sourceMappingURL=radio.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/radio.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport { CheckIcon } from '@radix-ui/react-icons'\n\nimport { cn } from '../helpers/index'\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return <RadioGroupPrimitive.Root className={cn('grid gap-2', className)} {...props} ref={ref} />\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n 'border-primary text-primary ring-offset-background focus-visible:ring-ring aspect-square size-4 rounded-full border focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <CheckIcon className=\"text-primary size-2.5 fill-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem }\n"],
|
|
5
|
+
"mappings": "aAYS,cAAAA,MAAA,oBAVT,UAAYC,MAAW,QACvB,UAAYC,MAAyB,8BACrC,OAAS,aAAAC,MAAiB,wBAE1B,OAAS,MAAAC,MAAU,mBAEnB,MAAMC,EAAaJ,EAAM,WAGvB,CAAC,CAAE,UAAAK,EAAW,GAAGC,CAAM,EAAGC,IACnBR,EAACE,EAAoB,KAApB,CAAyB,UAAWE,EAAG,aAAcE,CAAS,EAAI,GAAGC,EAAO,IAAKC,EAAK,CAC/F,EACDH,EAAW,YAAcH,EAAoB,KAAK,YAElD,MAAMO,EAAiBR,EAAM,WAG3B,CAAC,CAAE,UAAAK,EAAW,GAAGC,CAAM,EAAGC,IAExBR,EAACE,EAAoB,KAApB,CACC,IAAKM,EACL,UAAWJ,EACT,0OACAE,CACF,EACC,GAAGC,EAEJ,SAAAP,EAACE,EAAoB,UAApB,CAA8B,UAAU,mCACvC,SAAAF,EAACG,EAAA,CAAU,UAAU,qCAAqC,EAC5D,EACF,CAEH,EACDM,EAAe,YAAcP,EAAoB,KAAK",
|
|
6
|
+
"names": ["jsx", "React", "RadioGroupPrimitive", "CheckIcon", "cn", "RadioGroup", "className", "props", "ref", "RadioGroupItem"]
|
|
7
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>):
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
declare namespace Skeleton {
|
|
4
4
|
var displayName: string;
|
|
5
5
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/skeleton.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react'\nimport { cn } from '../helpers/index'\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn('bg-skeleton size-12 animate-pulse', className)} {...props} />\n}\n\nSkeleton.displayName = 'Skeleton'\n\nexport default Skeleton\n"],
|
|
5
|
+
"mappings": "AAIS,cAAAA,MAAA,oBAHT,OAAS,MAAAC,MAAU,mBAEnB,SAASC,EAAS,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAyC,CAC/E,OAAOJ,EAAC,OAAI,UAAWC,EAAG,oCAAqCE,CAAS,EAAI,GAAGC,EAAO,CACxF,CAEAF,EAAS,YAAc,WAEvB,IAAOG,EAAQH",
|
|
6
|
+
"names": ["jsx", "cn", "Skeleton", "className", "props", "skeleton_default"]
|
|
7
|
+
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
3
|
interface TextProps extends React.ComponentPropsWithoutRef<'span'> {
|
|
3
4
|
as?: 'div' | 'label' | 'p' | 'span' | undefined;
|
|
4
5
|
asChild?: boolean;
|
|
5
6
|
color?: string;
|
|
6
7
|
}
|
|
7
|
-
declare const Text: React.ForwardRefExoticComponent<TextProps &
|
|
8
|
+
declare const Text: React.ForwardRefExoticComponent<TextProps & VariantProps<(props?: ({
|
|
9
|
+
size?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | null | undefined;
|
|
10
|
+
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLSpanElement>>;
|
|
8
11
|
export { Text };
|
|
12
|
+
export type { TextProps };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as a}from"react/jsx-runtime";import*as m from"react";import{Slot as c}from"@radix-ui/react-slot";import{cn as f}from"../helpers";import{cva as d}from"class-variance-authority";const T=d("",{variants:{size:{1:"text-xs",2:"text-sm",3:"text-base",4:"text-lg",5:"text-xl",6:"text-2xl",7:"text-3xl",8:"text-4xl",9:"text-5xl"}}}),e=m.forwardRef((s,o)=>{const{children:t,size:r,className:x,asChild:n,as:p="span",color:l,...i}=s;return a(c,{...i,ref:o,className:f(T({size:r}),x,l),children:n?t:a(p,{children:t})})});e.displayName="Text";export{e as Text};
|
|
2
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/text.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '../helpers'\nimport { VariantProps, cva } from 'class-variance-authority'\n\nconst textVariants = cva('', {\n variants: {\n size: {\n 1: 'text-xs',\n 2: 'text-sm',\n 3: 'text-base',\n 4: 'text-lg',\n 5: 'text-xl',\n 6: 'text-2xl',\n 7: 'text-3xl',\n 8: 'text-4xl',\n 9: 'text-5xl',\n },\n },\n})\n\ntype TextElement = React.ElementRef<'span'>\ninterface TextProps extends React.ComponentPropsWithoutRef<'span'> {\n as?: 'div' | 'label' | 'p' | 'span' | undefined\n asChild?: boolean\n color?: string\n}\n\nconst Text = React.forwardRef<TextElement, TextProps & VariantProps<typeof textVariants>>((props, forwardedRef) => {\n const { children, size, className, asChild, as: Tag = 'span', color, ...textProps } = props\n return (\n <Slot\n {...textProps}\n ref={forwardedRef}\n className={cn(\n textVariants({\n size: size,\n }),\n className,\n color\n )}\n >\n {asChild ? children : <Tag>{children}</Tag>}\n </Slot>\n )\n})\nText.displayName = 'Text'\n\nexport { Text }\nexport type { TextProps }\n"],
|
|
5
|
+
"mappings": "AA0C4B,cAAAA,MAAA,oBA1C5B,UAAYC,MAAW,QACvB,OAAS,QAAAC,MAAY,uBACrB,OAAS,MAAAC,MAAU,aACnB,OAAuB,OAAAC,MAAW,2BAElC,MAAMC,EAAeD,EAAI,GAAI,CAC3B,SAAU,CACR,KAAM,CACJ,EAAG,UACH,EAAG,UACH,EAAG,YACH,EAAG,UACH,EAAG,UACH,EAAG,WACH,EAAG,WACH,EAAG,WACH,EAAG,UACL,CACF,CACF,CAAC,EASKE,EAAOL,EAAM,WAAuE,CAACM,EAAOC,IAAiB,CACjH,KAAM,CAAE,SAAAC,EAAU,KAAAC,EAAM,UAAAC,EAAW,QAAAC,EAAS,GAAIC,EAAM,OAAQ,MAAAC,EAAO,GAAGC,CAAU,EAAIR,EACtF,OACEP,EAACE,EAAA,CACE,GAAGa,EACJ,IAAKP,EACL,UAAWL,EACTE,EAAa,CACX,KAAMK,CACR,CAAC,EACDC,EACAG,CACF,EAEC,SAAAF,EAAUH,EAAWT,EAACa,EAAA,CAAK,SAAAJ,EAAS,EACvC,CAEJ,CAAC,EACDH,EAAK,YAAc",
|
|
6
|
+
"names": ["jsx", "React", "Slot", "cn", "cva", "textVariants", "Text", "props", "forwardedRef", "children", "size", "className", "asChild", "Tag", "color", "textProps"]
|
|
7
|
+
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { Brand } from '@/helpers/constants';
|
|
2
|
-
import React from 'react';
|
|
3
3
|
interface ThemeProps {
|
|
4
4
|
brand: Brand;
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param param
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
declare const Theme: ({ brand, children }: ThemeProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
13
|
export default Theme;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{Fragment as o,jsx as n}from"react/jsx-runtime";import*as r from"react";const a=({brand:e,children:t})=>(r.useLayoutEffect(()=>{document.querySelector("html")?.setAttribute("data-brand-theme",e)},[]),n(o,{children:t}));var c=a;export{c as default};
|
|
2
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/theme.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport * as React from 'react'\nimport type { Brand } from '@/helpers/constants'\n\ninterface ThemeProps {\n brand: Brand\n children: React.ReactNode\n}\n/**\n *\n * @param param\n * @returns\n */\nconst Theme = ({ brand, children }: ThemeProps) => {\n React.useLayoutEffect(() => {\n document.querySelector('html')?.setAttribute('data-brand-theme', brand)\n }, [])\n return <>{children}</>\n}\n\nexport default Theme\n"],
|
|
5
|
+
"mappings": "aAiBS,mBAAAA,EAAA,OAAAC,MAAA,oBAhBT,UAAYC,MAAW,QAYvB,MAAMC,EAAQ,CAAC,CAAE,MAAAC,EAAO,SAAAC,CAAS,KAC/BH,EAAM,gBAAgB,IAAM,CAC1B,SAAS,cAAc,MAAM,GAAG,aAAa,mBAAoBE,CAAK,CACxE,EAAG,CAAC,CAAC,EACEH,EAAAD,EAAA,CAAG,SAAAK,EAAS,GAGrB,IAAOC,EAAQH",
|
|
6
|
+
"names": ["Fragment", "jsx", "React", "Theme", "brand", "children", "theme_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=component-props.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/constants.ts"],
|
|
4
|
+
"sourcesContent": ["export const ALL_BRANDS = ['anker', 'eufy', 'soundcore', 'nebula', 'ankerWork', 'ankerMake'] as const\n\nexport type Brand = (typeof ALL_BRANDS)[number]\n"],
|
|
5
|
+
"mappings": "AAAO,MAAMA,EAAa,CAAC,QAAS,OAAQ,YAAa,SAAU,YAAa,WAAW",
|
|
6
|
+
"names": ["ALL_BRANDS"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/utils.ts"],
|
|
4
|
+
"sourcesContent": ["import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,QAAAA,MAA6B,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B",
|
|
6
|
+
"names": ["clsx", "twMerge", "cn", "inputs"]
|
|
7
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
export interface SpinnerProps {
|
|
3
2
|
/** loading 图标大小 */
|
|
4
3
|
size?: 'sm' | 'md' | 'lg';
|
|
5
4
|
color?: string;
|
|
6
5
|
}
|
|
7
|
-
declare const Spinner: ({ size, color }: SpinnerProps) =>
|
|
6
|
+
declare const Spinner: ({ size, color }: SpinnerProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
7
|
export default Spinner;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";const s=({size:t="sm",color:r="#ffffff"})=>e("svg",{className:"animate-spin",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3",stroke:r,strokeWidth:"1.6",strokeLinecap:"round"})});var i=s;export{i as default};
|
|
2
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/icons/spinner.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\n\nexport interface SpinnerProps {\n /** loading \u56FE\u6807\u5927\u5C0F */\n size?: 'sm' | 'md' | 'lg'\n color?: string\n}\n\n// eslint-disable-next-line no-unused-vars\nconst Spinner = ({ size = 'sm', color = '#ffffff' }: SpinnerProps) => {\n return (\n <svg\n className=\"animate-spin\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n )\n}\n\nexport default Spinner\n"],
|
|
5
|
+
"mappings": "AAmBM,cAAAA,MAAA,oBAVN,MAAMC,EAAU,CAAC,CAAE,KAAAC,EAAO,KAAM,MAAAC,EAAQ,SAAU,IAE9CH,EAAC,OACC,UAAU,eACV,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BAEN,SAAAA,EAAC,QACC,EAAE,qFACF,OAAQG,EACR,YAAY,MACZ,cAAc,QAChB,EACF,EAIJ,IAAOC,EAAQH",
|
|
6
|
+
"names": ["jsx", "Spinner", "size", "color", "spinner_default"]
|
|
7
|
+
}
|