gemini-uis 0.1.2 → 0.2.1

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/README.md CHANGED
@@ -6,6 +6,4 @@ pnpm install
6
6
 
7
7
  pnpm dev
8
8
 
9
- 调试代码后若有组件库修改,需要执行 pnpm changeset
10
-
11
9
  项目采用了代码检查,请注意代码规范
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { ButtonHTMLAttributes } from 'react';
2
2
  import { FC } from 'react';
3
3
  import { ForwardRefExoticComponent } from 'react';
4
+ import { HTMLAttributes } from 'react';
4
5
  import { ReactNode } from 'react';
5
6
  import { RefAttributes } from 'react';
6
7
  import { SVGProps } from 'react';
@@ -44,11 +45,147 @@ export declare type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
44
45
  */
45
46
  export declare type ButtonType = 'primary' | 'default' | 'secondary' | 'outline' | 'ghost' | 'text' | 'danger';
46
47
 
48
+ export declare const Card: ForwardRefExoticComponent<CardProps & RefAttributes<HTMLDivElement>>;
49
+
50
+ /**
51
+ * 卡片边框粗细类型
52
+ */
53
+ export declare type CardBorder = 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
54
+
55
+ /**
56
+ * Card组件的基础属性接口
57
+ */
58
+ export declare interface CardProps extends HTMLAttributes<HTMLDivElement> {
59
+ /** 是否显示圆角,默认为false(直角) */
60
+ rounded?: boolean;
61
+ /** 卡片阴影级别,默认为none(无阴影) */
62
+ shadow?: CardShadow;
63
+ /** 卡片边框粗细,默认为none(无边框) */
64
+ border?: CardBorder;
65
+ /** 是否禁用hover特效,默认为false(启用hover) */
66
+ disabledHover?: boolean;
67
+ /** 自定义CSS类名 */
68
+ className?: string;
69
+ /** 卡片内容 */
70
+ children?: ReactNode;
71
+ }
72
+
73
+ /**
74
+ * Card组件的ref类型
75
+ */
76
+ export declare type CardRef = HTMLDivElement;
77
+
78
+ /**
79
+ * 卡片阴影级别类型
80
+ */
81
+ export declare type CardShadow = 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
82
+
47
83
  /**
48
84
  * 合并 CSS 类名
49
85
  */
50
86
  export declare function cn(...classes: (string | undefined | null | false)[]): string;
51
87
 
88
+ export declare const Collapse: typeof CollapseCore & {
89
+ Panel: typeof CollapsePanel;
90
+ };
91
+
92
+ declare const CollapseCore: ForwardRefExoticComponent<CollapseProps & RefAttributes<HTMLDivElement>>;
93
+
94
+ /**
95
+ * Collapse.Panel 子组件
96
+ */
97
+ declare const CollapsePanel: ForwardRefExoticComponent<CollapsePanelProps & {
98
+ isActive?: boolean;
99
+ onToggle?: () => void;
100
+ collapsible?: "header" | "icon" | "disabled";
101
+ } & RefAttributes<HTMLDivElement>>;
102
+
103
+ /**
104
+ * Collapse.Panel 组件的属性接口
105
+ */
106
+ export declare interface CollapsePanelProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
107
+ /** 面板的唯一标识 */
108
+ key: string;
109
+ /** 面板标题 */
110
+ header?: ReactNode;
111
+ /** 面板内容 */
112
+ children?: ReactNode;
113
+ /** 是否禁用 */
114
+ disabled?: boolean;
115
+ /** 是否显示箭头图标 */
116
+ showArrow?: boolean;
117
+ /** 自定义箭头图标 */
118
+ arrow?: ReactNode;
119
+ /** 自定义类名 */
120
+ className?: string;
121
+ /** 面板头部容器自定义类名 */
122
+ headerContainerClassName?: string;
123
+ /** 面板头部内容自定义类名 */
124
+ headerContentClassName?: string;
125
+ /** 面板内容自定义类名 */
126
+ contentClassName?: string;
127
+ /** 面板头部点击时的回调 */
128
+ onHeaderClick?: (key: string) => void;
129
+ /** 是否激活状态(内部使用) */
130
+ isActive?: boolean;
131
+ /** 切换回调(内部使用) */
132
+ onToggle?: () => void;
133
+ /** 是否可折叠(内部使用) */
134
+ collapsible?: 'header' | 'icon' | 'disabled';
135
+ }
136
+
137
+ /**
138
+ * Collapse.Panel 组件的 ref 类型
139
+ */
140
+ export declare type CollapsePanelRef = HTMLDivElement;
141
+
142
+ /**
143
+ * Collapse 组件的基础属性接口
144
+ */
145
+ export declare interface CollapseProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onChange'> {
146
+ /** 当前激活的面板 key */
147
+ activeKey?: string | string[];
148
+ /** 默认激活的面板 key */
149
+ defaultActiveKey?: string | string[];
150
+ /** 是否可折叠 */
151
+ collapsible?: 'header' | 'icon' | 'disabled';
152
+ /** 是否手风琴模式(同时只能展开一个面板) */
153
+ accordion?: boolean;
154
+ /** 是否显示边框 */
155
+ bordered?: boolean;
156
+ /** 是否显示幽灵样式 */
157
+ ghost?: boolean;
158
+ /** 组件尺寸 */
159
+ size?: CollapseSize;
160
+ /** 变体样式 */
161
+ variant?: CollapseVariant;
162
+ /** 自定义类名 */
163
+ className?: string;
164
+ /** 子元素 */
165
+ children?: ReactNode;
166
+ /** 面板切换时的回调 */
167
+ onChange?: (activeKey: string | string[]) => void;
168
+ /** 面板展开时的回调 */
169
+ onExpand?: (key: string) => void;
170
+ /** 面板收起时的回调 */
171
+ onCollapse?: (key: string) => void;
172
+ }
173
+
174
+ /**
175
+ * Collapse 组件的 ref 类型
176
+ */
177
+ export declare type CollapseRef = HTMLDivElement;
178
+
179
+ /**
180
+ * Collapse 组件的尺寸类型
181
+ */
182
+ export declare type CollapseSize = 'sm' | 'md' | 'lg';
183
+
184
+ /**
185
+ * Collapse 组件的变体类型
186
+ */
187
+ export declare type CollapseVariant = 'default' | 'bordered' | 'ghost';
188
+
52
189
  export declare interface IconProps extends SVGProps<SVGSVGElement> {
53
190
  size?: number | string;
54
191
  className?: string;
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { forwardRef } from "react";
1
+ import { cloneElement, forwardRef, isValidElement, useCallback, useMemo, useState } from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  const getVariantStyles = (e) => {
4
- let n = {
4
+ let r = {
5
5
  primary: "bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500",
6
6
  default: "bg-white text-gray-700 hover:bg-gray-50 focus:ring-gray-500 border border-gray-300",
7
7
  secondary: "bg-gray-100 text-gray-900 hover:bg-gray-200 focus:ring-gray-500 border border-gray-300",
@@ -10,36 +10,36 @@ const getVariantStyles = (e) => {
10
10
  text: "bg-transparent text-gray-700 focus:ring-gray-500",
11
11
  danger: "bg-red-600 text-white hover:bg-red-700 focus:ring-red-500"
12
12
  };
13
- return n[e] || n.primary;
13
+ return r[e] || r.primary;
14
14
  }, getSizeStyles = (e) => {
15
- let n = {
15
+ let r = {
16
16
  xs: "px-2 py-1 text-xs min-h-[1.5rem]",
17
17
  sm: "px-3 py-1.5 text-sm min-h-[2rem]",
18
18
  md: "px-4 py-2 text-sm min-h-[2.5rem]",
19
19
  lg: "px-6 py-3 text-base min-h-[3rem]",
20
20
  xl: "px-8 py-4 text-lg min-h-[3.5rem]"
21
21
  };
22
- return n[e] || n.md;
23
- }, getRoundedStyles = (e) => e ? "rounded-lg" : "rounded-none", getButtonStyles = (e = "primary", n = "md", r = !1, s = !1, c = !1, l) => [
22
+ return r[e] || r.md;
23
+ }, getRoundedStyles$1 = (e) => e ? "rounded-lg" : "rounded-none", getButtonStyles = (e = "primary", r = "md", i = !1, a = !1, o = !1, s) => [
24
24
  "inline-flex items-center justify-center font-medium text-center transition-all duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",
25
25
  getVariantStyles(e),
26
- getSizeStyles(n),
27
- getRoundedStyles(r),
28
- s ? "opacity-50 cursor-not-allowed" : "",
29
- c ? "cursor-wait" : "",
30
- l
26
+ getSizeStyles(r),
27
+ getRoundedStyles$1(i),
28
+ a ? "opacity-50 cursor-not-allowed" : "",
29
+ o ? "cursor-wait" : "",
30
+ s
31
31
  ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
32
32
  function cn(...e) {
33
33
  return e.filter(Boolean).join(" ");
34
34
  }
35
- var cn_default = cn, LoadingIcon_default = ({ size: e = 16, className: i = "animate-spin", ...a }) => /* @__PURE__ */ jsxs("svg", {
35
+ var cn_default = cn, LoadingIcon_default = ({ size: e = 16, className: r = "animate-spin", ...i }) => /* @__PURE__ */ jsxs("svg", {
36
36
  width: e,
37
37
  height: e,
38
38
  xmlns: "http://www.w3.org/2000/svg",
39
39
  fill: "none",
40
40
  viewBox: "0 0 24 24",
41
- className: i,
42
- ...a,
41
+ className: r,
42
+ ...i,
43
43
  children: [/* @__PURE__ */ jsx("circle", {
44
44
  className: "opacity-25",
45
45
  cx: "12",
@@ -52,22 +52,166 @@ var cn_default = cn, LoadingIcon_default = ({ size: e = 16, className: i = "anim
52
52
  fill: "currentColor",
53
53
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
54
54
  })]
55
- }), Button_default = forwardRef(({ type: e = "primary", size: i = "md", rounded: a = !1, disabled: o = !1, loading: c = !1, className: u, children: d, htmlType: f = "button", onClick: p, ...m }, h) => {
56
- let g = o || c;
55
+ }), Button_default = forwardRef(({ type: e = "primary", size: r = "md", rounded: i = !1, disabled: a = !1, loading: o = !1, className: s, children: u, htmlType: d = "button", onClick: f, ...m }, g) => {
56
+ let _ = a || o;
57
57
  return /* @__PURE__ */ jsxs("button", {
58
- ref: h,
59
- type: f,
60
- disabled: g,
58
+ ref: g,
59
+ type: d,
60
+ disabled: _,
61
61
  onClick: (e) => {
62
- if (g) {
62
+ if (_) {
63
63
  e.preventDefault();
64
64
  return;
65
65
  }
66
- p?.(e);
66
+ f?.(e);
67
67
  },
68
- className: cn_default(getButtonStyles(e, i, a, g, c, u)),
68
+ className: cn_default(getButtonStyles(e, r, i, _, o, s)),
69
69
  ...m,
70
- children: [c && /* @__PURE__ */ jsx(LoadingIcon_default, { className: "animate-spin w-4 h-4 mr-2" }), d]
70
+ children: [o && /* @__PURE__ */ jsx(LoadingIcon_default, { className: "animate-spin w-4 h-4 mr-2" }), u]
71
71
  });
72
72
  });
73
- export { Button_default as Button, LoadingIcon_default as LoadingIcon, cn_default as cn };
73
+ const getShadowStyles = (e) => {
74
+ let r = {
75
+ none: "",
76
+ sm: "shadow-sm",
77
+ md: "shadow-md",
78
+ lg: "shadow-lg",
79
+ xl: "shadow-xl",
80
+ "2xl": "shadow-2xl"
81
+ };
82
+ return r[e] || r.none;
83
+ }, getBorderStyles = (e) => {
84
+ let r = {
85
+ none: "",
86
+ sm: "border border-gray-200",
87
+ md: "border-2 border-gray-200",
88
+ lg: "border-4 border-gray-200",
89
+ xl: "border-8 border-gray-200",
90
+ "2xl": "border-16 border-gray-200"
91
+ };
92
+ return r[e] || r.none;
93
+ }, getRoundedStyles = (e) => e ? "rounded-lg" : "rounded-none", getHoverStyles = (e = !1) => e ? "" : "hover:shadow-xl hover:scale-101 hover:-translate-y-1 hover:translate-x-1 origin-bottom-left", getCardStyles = (e = "none", r = "none", i = !1, a = !1, o) => {
94
+ let s = getShadowStyles(e), c = getBorderStyles(r), l = getRoundedStyles(i), u = getHoverStyles(a);
95
+ return [
96
+ "block p-4 bg-white transition-all duration-300 ease-in-out cursor-pointer",
97
+ o && /\bw-\w+/.test(o) ? "" : "w-full",
98
+ s,
99
+ c,
100
+ l,
101
+ u,
102
+ o
103
+ ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
104
+ };
105
+ var Card_default = forwardRef(({ shadow: e = "md", border: r = "sm", rounded: i = !1, disabledHover: a = !1, className: o, children: s, ...l }, u) => /* @__PURE__ */ jsx("div", {
106
+ ref: u,
107
+ className: cn_default(getCardStyles(e, r, i, a, o)),
108
+ ...l,
109
+ children: s
110
+ }));
111
+ const getCollapseSizeStyles = (e) => {
112
+ let r = {
113
+ sm: "text-sm",
114
+ md: "text-base",
115
+ lg: "text-lg"
116
+ };
117
+ return r[e] || r.md;
118
+ }, getCollapseVariantStyles = (e, r, i) => i ? "bg-transparent" : r || e === "bordered" ? "border border-gray-200 rounded-lg overflow-hidden" : "bg-white rounded-lg", getCollapseStyles = (e = "md", r = "default", i = !1, a = !1, o) => [
119
+ "w-full",
120
+ getCollapseSizeStyles(e),
121
+ getCollapseVariantStyles(r, i, a),
122
+ o
123
+ ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
124
+ var DefaultArrowIcon = ({ isActive: e, disabled: r }) => /* @__PURE__ */ jsx("svg", {
125
+ className: cn_default("shrink-0 size-4 transition-transform duration-200 ease-in-out", e ? "rotate-180" : "rotate-0", r ? "opacity-50" : ""),
126
+ fill: "none",
127
+ stroke: "currentColor",
128
+ viewBox: "0 0 24 24",
129
+ xmlns: "http://www.w3.org/2000/svg",
130
+ children: /* @__PURE__ */ jsx("path", {
131
+ strokeLinecap: "round",
132
+ strokeLinejoin: "round",
133
+ strokeWidth: 2,
134
+ d: "M19 9l-7 7-7-7"
135
+ })
136
+ }), CollapseCore = forwardRef(({ activeKey: r, defaultActiveKey: l, collapsible: u = "header", accordion: d = !1, bordered: f = !1, ghost: p = !1, size: m = "md", variant: h = "default", className: g, children: _, onChange: v, onExpand: y, onCollapse: b, ...x }, S) => {
137
+ let [C, w] = useState(() => {
138
+ let e = r || l;
139
+ return Array.isArray(e) ? e : e ? [e] : [];
140
+ }), T = useMemo(() => r === void 0 ? C : Array.isArray(r) ? r : [r], [r, C]), E = useCallback((e) => {
141
+ if (u === "disabled") return;
142
+ let i;
143
+ i = d ? T.includes(e) ? [] : [e] : T.includes(e) ? T.filter((r) => r !== e) : [...T, e], r === void 0 && w(i), v?.(d ? i[0] || "" : i), i.includes(e) ? y?.(e) : b?.(e);
144
+ }, [
145
+ r,
146
+ T,
147
+ d,
148
+ u,
149
+ v,
150
+ y,
151
+ b
152
+ ]), D = getCollapseStyles(m, h, f, p, g), O = useMemo(() => _ ? Array.isArray(_) ? _.map((r, a) => {
153
+ if (!isValidElement(r)) return r;
154
+ let { ...o } = r.props, s = r.key || String(a), c = T.includes(s);
155
+ return cloneElement(r, {
156
+ ...o,
157
+ isActive: c,
158
+ onToggle: () => E(s),
159
+ collapsible: u
160
+ });
161
+ }) : isValidElement(_) ? cloneElement(_, {
162
+ ..._.props,
163
+ isActive: T.includes(_.key || "filter"),
164
+ onToggle: () => E(_.key || "filter"),
165
+ collapsible: u
166
+ }) : _ : null, [
167
+ _,
168
+ T,
169
+ E,
170
+ u
171
+ ]);
172
+ return /* @__PURE__ */ jsx("div", {
173
+ ref: S,
174
+ className: cn_default(D),
175
+ ...x,
176
+ children: O
177
+ });
178
+ }), CollapsePanel = forwardRef(({ key: e, header: r, children: i, disabled: a = !1, showArrow: o = !0, arrow: s, className: u, headerContainerClassName: d, headerContentClassName: f, contentClassName: p, onHeaderClick: m, isActive: h = !1, onToggle: g, collapsible: _ = "header", ...v }, y) => {
179
+ let b = () => {
180
+ a || _ === "disabled" || (m?.(e), g?.());
181
+ }, x = (e) => {
182
+ _ !== "header" && (e.stopPropagation(), a || g?.());
183
+ }, S = () => o ? s ? /* @__PURE__ */ jsx("span", {
184
+ className: cn_default("shrink-0 transition-transform duration-200 ease-in-out", h ? "rotate-180" : "rotate-0", a ? "opacity-50" : "", _ === "icon" ? "cursor-pointer" : ""),
185
+ onClick: x,
186
+ children: s
187
+ }) : /* @__PURE__ */ jsx(DefaultArrowIcon, {
188
+ isActive: h,
189
+ disabled: a
190
+ }) : null;
191
+ return /* @__PURE__ */ jsxs("div", {
192
+ ref: y,
193
+ className: cn_default("border-b border-gray-200 last:border-b-0", u),
194
+ ...v,
195
+ children: [/* @__PURE__ */ jsxs("div", {
196
+ className: cn_default("flex items-center justify-between w-full text-left font-medium transition-colors duration-200", "px-4 py-3", a ? "opacity-50 cursor-not-allowed" : "cursor-pointer hover:bg-gray-50", "focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-inset", d),
197
+ onClick: b,
198
+ tabIndex: a ? -1 : 0,
199
+ role: "button",
200
+ "aria-expanded": h,
201
+ "aria-disabled": a,
202
+ children: [/* @__PURE__ */ jsx("div", {
203
+ className: cn_default("flex-1 pr-2", f),
204
+ children: r
205
+ }), S()]
206
+ }), /* @__PURE__ */ jsx("div", {
207
+ className: cn_default("overflow-hidden transition-all duration-300 ease-in-out", h ? "max-h-none opacity-100" : "max-h-0 opacity-0"),
208
+ children: /* @__PURE__ */ jsx("div", {
209
+ className: cn_default("px-4 pb-4 text-gray-700", p),
210
+ children: i
211
+ })
212
+ })]
213
+ });
214
+ });
215
+ CollapsePanel.displayName = "CollapsePanel";
216
+ var Collapse_default = Object.assign(CollapseCore, { Panel: CollapsePanel });
217
+ export { Button_default as Button, Card_default as Card, Collapse_default as Collapse, LoadingIcon_default as LoadingIcon, cn_default as cn };
package/dist/style.css CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-red-700:#bf000f;--color-blue-50:#eff6ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-500:#6a7282;--color-gray-700:#364153;--color-gray-900:#101828;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-blue-50:lab(96.492% -1.14644 -5.11479);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-700:lab(27.1134% -.956401 -12.3224);--color-gray-900:lab(8.11897% .811279 -12.254)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.mr-2{margin-right:calc(var(--spacing)*2)}.contents{display:contents}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.min-h-\[1\.5rem\]{min-height:1.5rem}.min-h-\[2\.5rem\]{min-height:2.5rem}.min-h-\[2rem\]{min-height:2rem}.min-h-\[3\.5rem\]{min-height:3.5rem}.min-h-\[3rem\]{min-height:3rem}.w-4{width:calc(var(--spacing)*4)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-300{border-color:var(--color-gray-300)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-blue-600{color:var(--color-blue-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-gray-500:focus{--tw-ring-color:var(--color-gray-500)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes spin{to{transform:rotate(360deg)}}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-red-700:#bf000f;--color-blue-50:#eff6ff;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-500:#6a7282;--color-gray-600:#4a5565;--color-gray-700:#364153;--color-gray-900:#101828;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-blue-50:lab(96.492% -1.14644 -5.11479);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-gray-700:lab(27.1134% -.956401 -12.3224);--color-gray-900:lab(8.11897% .811279 -12.254)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.table{display:table}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.h-4{height:calc(var(--spacing)*4)}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-none{max-height:none}.max-h-screen{max-height:100vh}.min-h-\[1\.5rem\]{min-height:1.5rem}.min-h-\[2\.5rem\]{min-height:2.5rem}.min-h-\[2rem\]{min-height:2rem}.min-h-\[3\.5rem\]{min-height:3.5rem}.min-h-\[3rem\]{min-height:3rem}.w-4{width:calc(var(--spacing)*4)}.w-full{width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-bottom-left{transform-origin:0 100%}.rotate-0{rotate:none}.rotate-180{rotate:180deg}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-8{border-style:var(--tw-border-style);border-width:8px}.border-16{border-style:var(--tw-border-style);border-width:16px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:translate-x-1:hover{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-101:hover{--tw-scale-x:101%;--tw-scale-y:101%;--tw-scale-z:101%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-gray-500:focus{--tw-ring-color:var(--color-gray-500)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\:ring-inset:focus{--tw-ring-inset:inset}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}
3
3
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemini-uis",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -19,9 +19,6 @@
19
19
  "sideEffects": [
20
20
  "*.css"
21
21
  ],
22
- "np": {
23
- "publishBranch": "production"
24
- },
25
22
  "dependencies": {
26
23
  "react": "^19.2.0",
27
24
  "react-dom": "^19.2.0"