@pactor-app/ui 1.12.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-3KCE7ROX.js → chunk-CFUWF54N.js} +22 -4
- package/dist/{chunk-2B5YV2HR.js → chunk-GQE62HDV.js} +23 -2
- package/dist/{chunk-XEK5NQJA.js → chunk-NQQAPB7Q.js} +5 -3
- package/dist/{chunk-CWUY7LXF.js → chunk-V2J6FHWX.js} +1 -1
- package/dist/components/index.cjs +48 -7
- package/dist/components/index.d.cts +11 -2
- package/dist/components/index.d.ts +11 -2
- package/dist/components/index.js +3 -3
- package/dist/index.cjs +48 -7
- package/dist/index.js +4 -4
- package/dist/layout/index.cjs +23 -2
- package/dist/layout/index.js +2 -2
- package/dist/ui/index.cjs +5 -3
- package/dist/ui/index.js +1 -1
- package/package.json +5 -5
- package/styles.css +6 -0
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
Icon,
|
|
3
3
|
Menu,
|
|
4
4
|
Sidebar
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GQE62HDV.js";
|
|
6
6
|
import {
|
|
7
7
|
Alert,
|
|
8
8
|
AlertDescription,
|
|
@@ -141,7 +141,7 @@ import {
|
|
|
141
141
|
chartColor,
|
|
142
142
|
navigationMenuTriggerStyle,
|
|
143
143
|
toast
|
|
144
|
-
} from "./chunk-
|
|
144
|
+
} from "./chunk-NQQAPB7Q.js";
|
|
145
145
|
import {
|
|
146
146
|
Dialog,
|
|
147
147
|
DialogContent,
|
|
@@ -3177,7 +3177,16 @@ function Table2({
|
|
|
3177
3177
|
// src/components/components/Tabs/index.tsx
|
|
3178
3178
|
import { useRenderer as useRenderer16 } from "@pactor-app/runtime";
|
|
3179
3179
|
import { jsx as jsx64, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
3180
|
-
function Tabs2({
|
|
3180
|
+
function Tabs2({
|
|
3181
|
+
items = [],
|
|
3182
|
+
activeKey,
|
|
3183
|
+
variant,
|
|
3184
|
+
onChange,
|
|
3185
|
+
contentClassName,
|
|
3186
|
+
contentStyle,
|
|
3187
|
+
className,
|
|
3188
|
+
style
|
|
3189
|
+
}) {
|
|
3181
3190
|
const { renderChildren } = useRenderer16();
|
|
3182
3191
|
return /* @__PURE__ */ jsxs44(
|
|
3183
3192
|
Tabs,
|
|
@@ -3189,7 +3198,16 @@ function Tabs2({ items = [], activeKey, variant, onChange, className, style }) {
|
|
|
3189
3198
|
style,
|
|
3190
3199
|
children: [
|
|
3191
3200
|
/* @__PURE__ */ jsx64(TabsList, { variant, children: items.map((item) => /* @__PURE__ */ jsx64(TabsTrigger, { value: item.key, children: item.label }, item.key)) }),
|
|
3192
|
-
items.map((item) => /* @__PURE__ */ jsx64(
|
|
3201
|
+
items.map((item) => /* @__PURE__ */ jsx64(
|
|
3202
|
+
TabsContent,
|
|
3203
|
+
{
|
|
3204
|
+
value: item.key,
|
|
3205
|
+
className: cn(contentClassName, item.className),
|
|
3206
|
+
style: { ...contentStyle, ...item.style },
|
|
3207
|
+
children: renderChildren(item.children)
|
|
3208
|
+
},
|
|
3209
|
+
item.key
|
|
3210
|
+
))
|
|
3193
3211
|
]
|
|
3194
3212
|
}
|
|
3195
3213
|
);
|
|
@@ -219,7 +219,28 @@ var ICONS = {
|
|
|
219
219
|
"rotate-ccw": RotateCcw,
|
|
220
220
|
quote: Quote,
|
|
221
221
|
chat: MessageSquare,
|
|
222
|
-
brain: Brain
|
|
222
|
+
brain: Brain,
|
|
223
|
+
// lucide 规范名别名(kebab-case 原名直通;上方短别名保留兼容)——
|
|
224
|
+
// 白名单文档承诺 kebab-case 键,缺别名时规范名(如 trash-2)会落入未知占位
|
|
225
|
+
"trash-2": Trash2,
|
|
226
|
+
"share-2": Share2,
|
|
227
|
+
"building-2": Building2,
|
|
228
|
+
house: House,
|
|
229
|
+
"triangle-alert": TriangleAlert,
|
|
230
|
+
"circle-alert": CircleAlert,
|
|
231
|
+
"circle-check": CircleCheck,
|
|
232
|
+
"circle-x": CircleX,
|
|
233
|
+
"circle-question-mark": CircleQuestionMark,
|
|
234
|
+
"square-pen": SquarePen,
|
|
235
|
+
"refresh-ccw": RefreshCcw,
|
|
236
|
+
"chart-column": ChartColumn,
|
|
237
|
+
"layout-grid": LayoutGrid,
|
|
238
|
+
funnel: Funnel,
|
|
239
|
+
"loader-circle": LoaderCircle,
|
|
240
|
+
ellipsis: Ellipsis,
|
|
241
|
+
"ellipsis-vertical": EllipsisVertical,
|
|
242
|
+
"message-circle": MessageCircle,
|
|
243
|
+
"lock-open": LockOpen
|
|
223
244
|
};
|
|
224
245
|
function normalizeIconName(name) {
|
|
225
246
|
return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[_\s]+/g, "-").toLowerCase();
|
|
@@ -249,7 +270,7 @@ function Icon({
|
|
|
249
270
|
size: px,
|
|
250
271
|
color,
|
|
251
272
|
strokeWidth,
|
|
252
|
-
className: cn("shrink-0
|
|
273
|
+
className: cn("shrink-0", className),
|
|
253
274
|
style,
|
|
254
275
|
"aria-hidden": "true"
|
|
255
276
|
}
|
|
@@ -2476,7 +2476,8 @@ var tabsListVariants = cva4(
|
|
|
2476
2476
|
variants: {
|
|
2477
2477
|
variant: {
|
|
2478
2478
|
default: "h-9 rounded-lg bg-muted p-[3px]",
|
|
2479
|
-
line
|
|
2479
|
+
// line:页签栏通栏(下划线轨道占满容器宽),触发器自然宽度靠左排列
|
|
2480
|
+
line: "h-auto w-full justify-start gap-1 rounded-none border-b border-border bg-transparent p-0"
|
|
2480
2481
|
}
|
|
2481
2482
|
},
|
|
2482
2483
|
defaultVariants: {
|
|
@@ -2512,8 +2513,9 @@ function TabsTrigger({
|
|
|
2512
2513
|
// default 变体:激活态胶囊(边框 + 卡片底 + 阴影)
|
|
2513
2514
|
"group-data-[variant=default]/tabs-list:data-active:border-border group-data-[variant=default]/tabs-list:data-active:bg-card group-data-[variant=default]/tabs-list:data-active:shadow-sm",
|
|
2514
2515
|
// line 变体:下划线指示——弱化未激活文字,激活态底部 2px 主色线
|
|
2515
|
-
//(叠在 List
|
|
2516
|
-
|
|
2516
|
+
//(叠在 List 的底边轨道上),无底色/圆角/阴影;通栏 List 下取消
|
|
2517
|
+
// flex-1 拉伸,触发器保持自然宽度
|
|
2518
|
+
"group-data-[variant=line]/tabs-list:-mb-px group-data-[variant=line]/tabs-list:h-9 group-data-[variant=line]/tabs-list:flex-none group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:border-x-0 group-data-[variant=line]/tabs-list:border-t-0 group-data-[variant=line]/tabs-list:border-b-2 group-data-[variant=line]/tabs-list:py-1.5 group-data-[variant=line]/tabs-list:text-muted-foreground group-data-[variant=line]/tabs-list:data-active:border-b-primary group-data-[variant=line]/tabs-list:data-active:text-foreground",
|
|
2517
2519
|
className
|
|
2518
2520
|
),
|
|
2519
2521
|
...props
|
|
@@ -396,7 +396,28 @@ var ICONS = {
|
|
|
396
396
|
"rotate-ccw": import_lucide_react2.RotateCcw,
|
|
397
397
|
quote: import_lucide_react2.Quote,
|
|
398
398
|
chat: import_lucide_react2.MessageSquare,
|
|
399
|
-
brain: import_lucide_react2.Brain
|
|
399
|
+
brain: import_lucide_react2.Brain,
|
|
400
|
+
// lucide 规范名别名(kebab-case 原名直通;上方短别名保留兼容)——
|
|
401
|
+
// 白名单文档承诺 kebab-case 键,缺别名时规范名(如 trash-2)会落入未知占位
|
|
402
|
+
"trash-2": import_lucide_react2.Trash2,
|
|
403
|
+
"share-2": import_lucide_react2.Share2,
|
|
404
|
+
"building-2": import_lucide_react2.Building2,
|
|
405
|
+
house: import_lucide_react2.House,
|
|
406
|
+
"triangle-alert": import_lucide_react2.TriangleAlert,
|
|
407
|
+
"circle-alert": import_lucide_react2.CircleAlert,
|
|
408
|
+
"circle-check": import_lucide_react2.CircleCheck,
|
|
409
|
+
"circle-x": import_lucide_react2.CircleX,
|
|
410
|
+
"circle-question-mark": import_lucide_react2.CircleQuestionMark,
|
|
411
|
+
"square-pen": import_lucide_react2.SquarePen,
|
|
412
|
+
"refresh-ccw": import_lucide_react2.RefreshCcw,
|
|
413
|
+
"chart-column": import_lucide_react2.ChartColumn,
|
|
414
|
+
"layout-grid": import_lucide_react2.LayoutGrid,
|
|
415
|
+
funnel: import_lucide_react2.Funnel,
|
|
416
|
+
"loader-circle": import_lucide_react2.LoaderCircle,
|
|
417
|
+
ellipsis: import_lucide_react2.Ellipsis,
|
|
418
|
+
"ellipsis-vertical": import_lucide_react2.EllipsisVertical,
|
|
419
|
+
"message-circle": import_lucide_react2.MessageCircle,
|
|
420
|
+
"lock-open": import_lucide_react2.LockOpen
|
|
400
421
|
};
|
|
401
422
|
function normalizeIconName(name) {
|
|
402
423
|
return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[_\s]+/g, "-").toLowerCase();
|
|
@@ -426,7 +447,7 @@ function Icon({
|
|
|
426
447
|
size: px,
|
|
427
448
|
color,
|
|
428
449
|
strokeWidth,
|
|
429
|
-
className: cn("shrink-0
|
|
450
|
+
className: cn("shrink-0", className),
|
|
430
451
|
style,
|
|
431
452
|
"aria-hidden": "true"
|
|
432
453
|
}
|
|
@@ -7070,7 +7091,8 @@ var tabsListVariants = (0, import_class_variance_authority7.cva)(
|
|
|
7070
7091
|
variants: {
|
|
7071
7092
|
variant: {
|
|
7072
7093
|
default: "h-9 rounded-lg bg-muted p-[3px]",
|
|
7073
|
-
line
|
|
7094
|
+
// line:页签栏通栏(下划线轨道占满容器宽),触发器自然宽度靠左排列
|
|
7095
|
+
line: "h-auto w-full justify-start gap-1 rounded-none border-b border-border bg-transparent p-0"
|
|
7074
7096
|
}
|
|
7075
7097
|
},
|
|
7076
7098
|
defaultVariants: {
|
|
@@ -7106,8 +7128,9 @@ function TabsTrigger({
|
|
|
7106
7128
|
// default 变体:激活态胶囊(边框 + 卡片底 + 阴影)
|
|
7107
7129
|
"group-data-[variant=default]/tabs-list:data-active:border-border group-data-[variant=default]/tabs-list:data-active:bg-card group-data-[variant=default]/tabs-list:data-active:shadow-sm",
|
|
7108
7130
|
// line 变体:下划线指示——弱化未激活文字,激活态底部 2px 主色线
|
|
7109
|
-
//(叠在 List
|
|
7110
|
-
|
|
7131
|
+
//(叠在 List 的底边轨道上),无底色/圆角/阴影;通栏 List 下取消
|
|
7132
|
+
// flex-1 拉伸,触发器保持自然宽度
|
|
7133
|
+
"group-data-[variant=line]/tabs-list:-mb-px group-data-[variant=line]/tabs-list:h-9 group-data-[variant=line]/tabs-list:flex-none group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:border-x-0 group-data-[variant=line]/tabs-list:border-t-0 group-data-[variant=line]/tabs-list:border-b-2 group-data-[variant=line]/tabs-list:py-1.5 group-data-[variant=line]/tabs-list:text-muted-foreground group-data-[variant=line]/tabs-list:data-active:border-b-primary group-data-[variant=line]/tabs-list:data-active:text-foreground",
|
|
7111
7134
|
className
|
|
7112
7135
|
),
|
|
7113
7136
|
...props
|
|
@@ -7130,7 +7153,16 @@ function TabsContent({
|
|
|
7130
7153
|
|
|
7131
7154
|
// src/components/components/Tabs/index.tsx
|
|
7132
7155
|
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
7133
|
-
function Tabs2({
|
|
7156
|
+
function Tabs2({
|
|
7157
|
+
items = [],
|
|
7158
|
+
activeKey,
|
|
7159
|
+
variant,
|
|
7160
|
+
onChange,
|
|
7161
|
+
contentClassName,
|
|
7162
|
+
contentStyle,
|
|
7163
|
+
className,
|
|
7164
|
+
style
|
|
7165
|
+
}) {
|
|
7134
7166
|
const { renderChildren } = (0, import_runtime22.useRenderer)();
|
|
7135
7167
|
return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
|
|
7136
7168
|
Tabs,
|
|
@@ -7142,7 +7174,16 @@ function Tabs2({ items = [], activeKey, variant, onChange, className, style }) {
|
|
|
7142
7174
|
style,
|
|
7143
7175
|
children: [
|
|
7144
7176
|
/* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsList, { variant, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsTrigger, { value: item.key, children: item.label }, item.key)) }),
|
|
7145
|
-
items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
7177
|
+
items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
7178
|
+
TabsContent,
|
|
7179
|
+
{
|
|
7180
|
+
value: item.key,
|
|
7181
|
+
className: cn(contentClassName, item.className),
|
|
7182
|
+
style: { ...contentStyle, ...item.style },
|
|
7183
|
+
children: renderChildren(item.children)
|
|
7184
|
+
},
|
|
7185
|
+
item.key
|
|
7186
|
+
))
|
|
7146
7187
|
]
|
|
7147
7188
|
}
|
|
7148
7189
|
);
|
|
@@ -976,7 +976,8 @@ declare function normalizeIconName(name: string): string;
|
|
|
976
976
|
/**
|
|
977
977
|
* Icon 适配器(shadcn kit):按 name 从 lucide 白名单渲染图标。
|
|
978
978
|
* 未知名渲染占位图标(help-circle)并标 `data-unknown`,不抛错
|
|
979
|
-
* (与 chat messageActions
|
|
979
|
+
* (与 chat messageActions 图标白名单同约定);占位图标跟随上下文
|
|
980
|
+
* 文本色(currentColor),避免在 danger 等有色按钮上撞色。
|
|
980
981
|
*/
|
|
981
982
|
declare function Icon({ name, size, color, strokeWidth, className, style, }: IconProps): React.JSX.Element;
|
|
982
983
|
|
|
@@ -1692,6 +1693,10 @@ interface TabItem {
|
|
|
1692
1693
|
key: string;
|
|
1693
1694
|
label: string;
|
|
1694
1695
|
children?: DslNode[];
|
|
1696
|
+
/** 该页签内容区 class(与 Tabs 的 contentClassName 合并,此项在后) */
|
|
1697
|
+
className?: string;
|
|
1698
|
+
/** 该页签内容区内联样式(同 className 的合并规则) */
|
|
1699
|
+
style?: CSSProperties;
|
|
1695
1700
|
}
|
|
1696
1701
|
interface TabsProps {
|
|
1697
1702
|
items?: TabItem[];
|
|
@@ -1701,6 +1706,10 @@ interface TabsProps {
|
|
|
1701
1706
|
variant?: 'default' | 'line';
|
|
1702
1707
|
/** 页签切换事件,传出新激活的 key */
|
|
1703
1708
|
onChange?: (key: string) => void;
|
|
1709
|
+
/** 页签内容区 class(TabsContent 根节点,与内置样式合并) */
|
|
1710
|
+
contentClassName?: string;
|
|
1711
|
+
/** 页签内容区内联样式(同 contentClassName 的挂载规则) */
|
|
1712
|
+
contentStyle?: CSSProperties;
|
|
1704
1713
|
/** 通用:根节点 class(与内置样式合并) */
|
|
1705
1714
|
className?: string;
|
|
1706
1715
|
/** 通用:根节点内联样式 */
|
|
@@ -1711,7 +1720,7 @@ interface TabsProps {
|
|
|
1711
1720
|
* 基于 vendored shadcn Tabs(@base-ui/react),每个 pane 的内容经
|
|
1712
1721
|
* renderChildren 渲染;未传 activeKey 时缺省激活第一个页签。
|
|
1713
1722
|
*/
|
|
1714
|
-
declare function Tabs({ items, activeKey, variant, onChange, className, style }: TabsProps): React.JSX.Element;
|
|
1723
|
+
declare function Tabs({ items, activeKey, variant, onChange, contentClassName, contentStyle, className, style, }: TabsProps): React.JSX.Element;
|
|
1715
1724
|
|
|
1716
1725
|
/** DSL Text 语义类型 */
|
|
1717
1726
|
type TextType = 'default' | 'secondary' | 'success' | 'warning' | 'danger';
|
|
@@ -976,7 +976,8 @@ declare function normalizeIconName(name: string): string;
|
|
|
976
976
|
/**
|
|
977
977
|
* Icon 适配器(shadcn kit):按 name 从 lucide 白名单渲染图标。
|
|
978
978
|
* 未知名渲染占位图标(help-circle)并标 `data-unknown`,不抛错
|
|
979
|
-
* (与 chat messageActions
|
|
979
|
+
* (与 chat messageActions 图标白名单同约定);占位图标跟随上下文
|
|
980
|
+
* 文本色(currentColor),避免在 danger 等有色按钮上撞色。
|
|
980
981
|
*/
|
|
981
982
|
declare function Icon({ name, size, color, strokeWidth, className, style, }: IconProps): React.JSX.Element;
|
|
982
983
|
|
|
@@ -1692,6 +1693,10 @@ interface TabItem {
|
|
|
1692
1693
|
key: string;
|
|
1693
1694
|
label: string;
|
|
1694
1695
|
children?: DslNode[];
|
|
1696
|
+
/** 该页签内容区 class(与 Tabs 的 contentClassName 合并,此项在后) */
|
|
1697
|
+
className?: string;
|
|
1698
|
+
/** 该页签内容区内联样式(同 className 的合并规则) */
|
|
1699
|
+
style?: CSSProperties;
|
|
1695
1700
|
}
|
|
1696
1701
|
interface TabsProps {
|
|
1697
1702
|
items?: TabItem[];
|
|
@@ -1701,6 +1706,10 @@ interface TabsProps {
|
|
|
1701
1706
|
variant?: 'default' | 'line';
|
|
1702
1707
|
/** 页签切换事件,传出新激活的 key */
|
|
1703
1708
|
onChange?: (key: string) => void;
|
|
1709
|
+
/** 页签内容区 class(TabsContent 根节点,与内置样式合并) */
|
|
1710
|
+
contentClassName?: string;
|
|
1711
|
+
/** 页签内容区内联样式(同 contentClassName 的挂载规则) */
|
|
1712
|
+
contentStyle?: CSSProperties;
|
|
1704
1713
|
/** 通用:根节点 class(与内置样式合并) */
|
|
1705
1714
|
className?: string;
|
|
1706
1715
|
/** 通用:根节点内联样式 */
|
|
@@ -1711,7 +1720,7 @@ interface TabsProps {
|
|
|
1711
1720
|
* 基于 vendored shadcn Tabs(@base-ui/react),每个 pane 的内容经
|
|
1712
1721
|
* renderChildren 渲染;未传 activeKey 时缺省激活第一个页签。
|
|
1713
1722
|
*/
|
|
1714
|
-
declare function Tabs({ items, activeKey, variant, onChange, className, style }: TabsProps): React.JSX.Element;
|
|
1723
|
+
declare function Tabs({ items, activeKey, variant, onChange, contentClassName, contentStyle, className, style, }: TabsProps): React.JSX.Element;
|
|
1715
1724
|
|
|
1716
1725
|
/** DSL Text 语义类型 */
|
|
1717
1726
|
type TextType = 'default' | 'secondary' | 'success' | 'warning' | 'danger';
|
package/dist/components/index.js
CHANGED
|
@@ -71,7 +71,7 @@ import {
|
|
|
71
71
|
createComponentRegistry,
|
|
72
72
|
registerBuiltinComponents,
|
|
73
73
|
useFormContext
|
|
74
|
-
} from "../chunk-
|
|
74
|
+
} from "../chunk-CFUWF54N.js";
|
|
75
75
|
import {
|
|
76
76
|
ICONS,
|
|
77
77
|
Icon,
|
|
@@ -80,8 +80,8 @@ import {
|
|
|
80
80
|
Sidebar,
|
|
81
81
|
normalizeIconName,
|
|
82
82
|
useSidebarDrawer
|
|
83
|
-
} from "../chunk-
|
|
84
|
-
import "../chunk-
|
|
83
|
+
} from "../chunk-GQE62HDV.js";
|
|
84
|
+
import "../chunk-NQQAPB7Q.js";
|
|
85
85
|
import "../chunk-XUHJ5YSG.js";
|
|
86
86
|
import "../chunk-AUSWAD26.js";
|
|
87
87
|
import "../chunk-WKJUCGV4.js";
|
package/dist/index.cjs
CHANGED
|
@@ -412,7 +412,28 @@ var ICONS = {
|
|
|
412
412
|
"rotate-ccw": import_lucide_react2.RotateCcw,
|
|
413
413
|
quote: import_lucide_react2.Quote,
|
|
414
414
|
chat: import_lucide_react2.MessageSquare,
|
|
415
|
-
brain: import_lucide_react2.Brain
|
|
415
|
+
brain: import_lucide_react2.Brain,
|
|
416
|
+
// lucide 规范名别名(kebab-case 原名直通;上方短别名保留兼容)——
|
|
417
|
+
// 白名单文档承诺 kebab-case 键,缺别名时规范名(如 trash-2)会落入未知占位
|
|
418
|
+
"trash-2": import_lucide_react2.Trash2,
|
|
419
|
+
"share-2": import_lucide_react2.Share2,
|
|
420
|
+
"building-2": import_lucide_react2.Building2,
|
|
421
|
+
house: import_lucide_react2.House,
|
|
422
|
+
"triangle-alert": import_lucide_react2.TriangleAlert,
|
|
423
|
+
"circle-alert": import_lucide_react2.CircleAlert,
|
|
424
|
+
"circle-check": import_lucide_react2.CircleCheck,
|
|
425
|
+
"circle-x": import_lucide_react2.CircleX,
|
|
426
|
+
"circle-question-mark": import_lucide_react2.CircleQuestionMark,
|
|
427
|
+
"square-pen": import_lucide_react2.SquarePen,
|
|
428
|
+
"refresh-ccw": import_lucide_react2.RefreshCcw,
|
|
429
|
+
"chart-column": import_lucide_react2.ChartColumn,
|
|
430
|
+
"layout-grid": import_lucide_react2.LayoutGrid,
|
|
431
|
+
funnel: import_lucide_react2.Funnel,
|
|
432
|
+
"loader-circle": import_lucide_react2.LoaderCircle,
|
|
433
|
+
ellipsis: import_lucide_react2.Ellipsis,
|
|
434
|
+
"ellipsis-vertical": import_lucide_react2.EllipsisVertical,
|
|
435
|
+
"message-circle": import_lucide_react2.MessageCircle,
|
|
436
|
+
"lock-open": import_lucide_react2.LockOpen
|
|
416
437
|
};
|
|
417
438
|
function normalizeIconName(name) {
|
|
418
439
|
return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[_\s]+/g, "-").toLowerCase();
|
|
@@ -442,7 +463,7 @@ function Icon({
|
|
|
442
463
|
size: px,
|
|
443
464
|
color,
|
|
444
465
|
strokeWidth,
|
|
445
|
-
className: cn("shrink-0
|
|
466
|
+
className: cn("shrink-0", className),
|
|
446
467
|
style,
|
|
447
468
|
"aria-hidden": "true"
|
|
448
469
|
}
|
|
@@ -7109,7 +7130,8 @@ var tabsListVariants = (0, import_class_variance_authority7.cva)(
|
|
|
7109
7130
|
variants: {
|
|
7110
7131
|
variant: {
|
|
7111
7132
|
default: "h-9 rounded-lg bg-muted p-[3px]",
|
|
7112
|
-
line
|
|
7133
|
+
// line:页签栏通栏(下划线轨道占满容器宽),触发器自然宽度靠左排列
|
|
7134
|
+
line: "h-auto w-full justify-start gap-1 rounded-none border-b border-border bg-transparent p-0"
|
|
7113
7135
|
}
|
|
7114
7136
|
},
|
|
7115
7137
|
defaultVariants: {
|
|
@@ -7145,8 +7167,9 @@ function TabsTrigger({
|
|
|
7145
7167
|
// default 变体:激活态胶囊(边框 + 卡片底 + 阴影)
|
|
7146
7168
|
"group-data-[variant=default]/tabs-list:data-active:border-border group-data-[variant=default]/tabs-list:data-active:bg-card group-data-[variant=default]/tabs-list:data-active:shadow-sm",
|
|
7147
7169
|
// line 变体:下划线指示——弱化未激活文字,激活态底部 2px 主色线
|
|
7148
|
-
//(叠在 List
|
|
7149
|
-
|
|
7170
|
+
//(叠在 List 的底边轨道上),无底色/圆角/阴影;通栏 List 下取消
|
|
7171
|
+
// flex-1 拉伸,触发器保持自然宽度
|
|
7172
|
+
"group-data-[variant=line]/tabs-list:-mb-px group-data-[variant=line]/tabs-list:h-9 group-data-[variant=line]/tabs-list:flex-none group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:border-x-0 group-data-[variant=line]/tabs-list:border-t-0 group-data-[variant=line]/tabs-list:border-b-2 group-data-[variant=line]/tabs-list:py-1.5 group-data-[variant=line]/tabs-list:text-muted-foreground group-data-[variant=line]/tabs-list:data-active:border-b-primary group-data-[variant=line]/tabs-list:data-active:text-foreground",
|
|
7150
7173
|
className
|
|
7151
7174
|
),
|
|
7152
7175
|
...props
|
|
@@ -7169,7 +7192,16 @@ function TabsContent({
|
|
|
7169
7192
|
|
|
7170
7193
|
// src/components/components/Tabs/index.tsx
|
|
7171
7194
|
var import_jsx_runtime119 = require("react/jsx-runtime");
|
|
7172
|
-
function Tabs2({
|
|
7195
|
+
function Tabs2({
|
|
7196
|
+
items = [],
|
|
7197
|
+
activeKey,
|
|
7198
|
+
variant,
|
|
7199
|
+
onChange,
|
|
7200
|
+
contentClassName,
|
|
7201
|
+
contentStyle,
|
|
7202
|
+
className,
|
|
7203
|
+
style
|
|
7204
|
+
}) {
|
|
7173
7205
|
const { renderChildren } = (0, import_runtime22.useRenderer)();
|
|
7174
7206
|
return /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
|
|
7175
7207
|
Tabs,
|
|
@@ -7181,7 +7213,16 @@ function Tabs2({ items = [], activeKey, variant, onChange, className, style }) {
|
|
|
7181
7213
|
style,
|
|
7182
7214
|
children: [
|
|
7183
7215
|
/* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsList, { variant, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(TabsTrigger, { value: item.key, children: item.label }, item.key)) }),
|
|
7184
|
-
items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
7216
|
+
items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
|
|
7217
|
+
TabsContent,
|
|
7218
|
+
{
|
|
7219
|
+
value: item.key,
|
|
7220
|
+
className: cn(contentClassName, item.className),
|
|
7221
|
+
style: { ...contentStyle, ...item.style },
|
|
7222
|
+
children: renderChildren(item.children)
|
|
7223
|
+
},
|
|
7224
|
+
item.key
|
|
7225
|
+
))
|
|
7185
7226
|
]
|
|
7186
7227
|
}
|
|
7187
7228
|
);
|
package/dist/index.js
CHANGED
|
@@ -71,7 +71,7 @@ import {
|
|
|
71
71
|
createComponentRegistry,
|
|
72
72
|
registerBuiltinComponents,
|
|
73
73
|
useFormContext
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-CFUWF54N.js";
|
|
75
75
|
import {
|
|
76
76
|
InteractionProvider,
|
|
77
77
|
OVERLAY_CANCEL_PAYLOAD,
|
|
@@ -91,7 +91,7 @@ import {
|
|
|
91
91
|
findMenuChain,
|
|
92
92
|
registerBuiltinLayouts,
|
|
93
93
|
resolveLayout
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-V2J6FHWX.js";
|
|
95
95
|
import {
|
|
96
96
|
ICONS,
|
|
97
97
|
Icon,
|
|
@@ -100,8 +100,8 @@ import {
|
|
|
100
100
|
Sidebar,
|
|
101
101
|
normalizeIconName,
|
|
102
102
|
useSidebarDrawer
|
|
103
|
-
} from "./chunk-
|
|
104
|
-
import "./chunk-
|
|
103
|
+
} from "./chunk-GQE62HDV.js";
|
|
104
|
+
import "./chunk-NQQAPB7Q.js";
|
|
105
105
|
import "./chunk-XUHJ5YSG.js";
|
|
106
106
|
import "./chunk-AUSWAD26.js";
|
|
107
107
|
import "./chunk-WKJUCGV4.js";
|
package/dist/layout/index.cjs
CHANGED
|
@@ -325,7 +325,28 @@ var ICONS = {
|
|
|
325
325
|
"rotate-ccw": import_lucide_react2.RotateCcw,
|
|
326
326
|
quote: import_lucide_react2.Quote,
|
|
327
327
|
chat: import_lucide_react2.MessageSquare,
|
|
328
|
-
brain: import_lucide_react2.Brain
|
|
328
|
+
brain: import_lucide_react2.Brain,
|
|
329
|
+
// lucide 规范名别名(kebab-case 原名直通;上方短别名保留兼容)——
|
|
330
|
+
// 白名单文档承诺 kebab-case 键,缺别名时规范名(如 trash-2)会落入未知占位
|
|
331
|
+
"trash-2": import_lucide_react2.Trash2,
|
|
332
|
+
"share-2": import_lucide_react2.Share2,
|
|
333
|
+
"building-2": import_lucide_react2.Building2,
|
|
334
|
+
house: import_lucide_react2.House,
|
|
335
|
+
"triangle-alert": import_lucide_react2.TriangleAlert,
|
|
336
|
+
"circle-alert": import_lucide_react2.CircleAlert,
|
|
337
|
+
"circle-check": import_lucide_react2.CircleCheck,
|
|
338
|
+
"circle-x": import_lucide_react2.CircleX,
|
|
339
|
+
"circle-question-mark": import_lucide_react2.CircleQuestionMark,
|
|
340
|
+
"square-pen": import_lucide_react2.SquarePen,
|
|
341
|
+
"refresh-ccw": import_lucide_react2.RefreshCcw,
|
|
342
|
+
"chart-column": import_lucide_react2.ChartColumn,
|
|
343
|
+
"layout-grid": import_lucide_react2.LayoutGrid,
|
|
344
|
+
funnel: import_lucide_react2.Funnel,
|
|
345
|
+
"loader-circle": import_lucide_react2.LoaderCircle,
|
|
346
|
+
ellipsis: import_lucide_react2.Ellipsis,
|
|
347
|
+
"ellipsis-vertical": import_lucide_react2.EllipsisVertical,
|
|
348
|
+
"message-circle": import_lucide_react2.MessageCircle,
|
|
349
|
+
"lock-open": import_lucide_react2.LockOpen
|
|
329
350
|
};
|
|
330
351
|
function normalizeIconName(name) {
|
|
331
352
|
return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[_\s]+/g, "-").toLowerCase();
|
|
@@ -355,7 +376,7 @@ function Icon({
|
|
|
355
376
|
size: px,
|
|
356
377
|
color,
|
|
357
378
|
strokeWidth,
|
|
358
|
-
className: cn("shrink-0
|
|
379
|
+
className: cn("shrink-0", className),
|
|
359
380
|
style,
|
|
360
381
|
"aria-hidden": "true"
|
|
361
382
|
}
|
package/dist/layout/index.js
CHANGED
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
findMenuChain,
|
|
10
10
|
registerBuiltinLayouts,
|
|
11
11
|
resolveLayout
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-V2J6FHWX.js";
|
|
13
|
+
import "../chunk-GQE62HDV.js";
|
|
14
14
|
import "../chunk-AUSWAD26.js";
|
|
15
15
|
import "../chunk-WKJUCGV4.js";
|
|
16
16
|
export {
|
package/dist/ui/index.cjs
CHANGED
|
@@ -4591,7 +4591,8 @@ var tabsListVariants = (0, import_class_variance_authority9.cva)(
|
|
|
4591
4591
|
variants: {
|
|
4592
4592
|
variant: {
|
|
4593
4593
|
default: "h-9 rounded-lg bg-muted p-[3px]",
|
|
4594
|
-
line
|
|
4594
|
+
// line:页签栏通栏(下划线轨道占满容器宽),触发器自然宽度靠左排列
|
|
4595
|
+
line: "h-auto w-full justify-start gap-1 rounded-none border-b border-border bg-transparent p-0"
|
|
4595
4596
|
}
|
|
4596
4597
|
},
|
|
4597
4598
|
defaultVariants: {
|
|
@@ -4627,8 +4628,9 @@ function TabsTrigger({
|
|
|
4627
4628
|
// default 变体:激活态胶囊(边框 + 卡片底 + 阴影)
|
|
4628
4629
|
"group-data-[variant=default]/tabs-list:data-active:border-border group-data-[variant=default]/tabs-list:data-active:bg-card group-data-[variant=default]/tabs-list:data-active:shadow-sm",
|
|
4629
4630
|
// line 变体:下划线指示——弱化未激活文字,激活态底部 2px 主色线
|
|
4630
|
-
//(叠在 List
|
|
4631
|
-
|
|
4631
|
+
//(叠在 List 的底边轨道上),无底色/圆角/阴影;通栏 List 下取消
|
|
4632
|
+
// flex-1 拉伸,触发器保持自然宽度
|
|
4633
|
+
"group-data-[variant=line]/tabs-list:-mb-px group-data-[variant=line]/tabs-list:h-9 group-data-[variant=line]/tabs-list:flex-none group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:border-x-0 group-data-[variant=line]/tabs-list:border-t-0 group-data-[variant=line]/tabs-list:border-b-2 group-data-[variant=line]/tabs-list:py-1.5 group-data-[variant=line]/tabs-list:text-muted-foreground group-data-[variant=line]/tabs-list:data-active:border-b-primary group-data-[variant=line]/tabs-list:data-active:text-foreground",
|
|
4632
4634
|
className
|
|
4633
4635
|
),
|
|
4634
4636
|
...props
|
package/dist/ui/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pactor-app/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Pactor UI kit (shadcn): the single built-in UI kit — vendored shadcn/ui components (Base UI primitives + cva + tailwind-merge + lucide-react), props contracts, interaction core (OverlayManager / UiBridge) and layouts, with build-time Tailwind v4 prebuilt styles.css (zero consumer-side Tailwind config)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pactor",
|
|
@@ -105,10 +105,10 @@
|
|
|
105
105
|
"recharts": "^3.10.1",
|
|
106
106
|
"tailwind-merge": "^3.6.0",
|
|
107
107
|
"vaul": "^1.1.2",
|
|
108
|
-
"@pactor-app/core": "1.
|
|
109
|
-
"@pactor-app/
|
|
110
|
-
"@pactor-app/runtime": "1.
|
|
111
|
-
"@pactor-app/
|
|
108
|
+
"@pactor-app/core": "1.13.0",
|
|
109
|
+
"@pactor-app/router": "1.13.0",
|
|
110
|
+
"@pactor-app/runtime": "1.13.0",
|
|
111
|
+
"@pactor-app/permission": "1.13.0"
|
|
112
112
|
},
|
|
113
113
|
"peerDependencies": {
|
|
114
114
|
"react": ">=18",
|
package/styles.css
CHANGED
|
@@ -740,6 +740,9 @@
|
|
|
740
740
|
.flex-1 {
|
|
741
741
|
flex: 1;
|
|
742
742
|
}
|
|
743
|
+
.flex-none {
|
|
744
|
+
flex: none;
|
|
745
|
+
}
|
|
743
746
|
.shrink-0 {
|
|
744
747
|
flex-shrink: 0;
|
|
745
748
|
}
|
|
@@ -1894,6 +1897,9 @@
|
|
|
1894
1897
|
.group-data-\[variant\=line\]\/tabs-list\:h-9:is(:where(.group\/tabs-list)[data-variant="line"] *) {
|
|
1895
1898
|
height: calc(var(--spacing) * 9);
|
|
1896
1899
|
}
|
|
1900
|
+
.group-data-\[variant\=line\]\/tabs-list\:flex-none:is(:where(.group\/tabs-list)[data-variant="line"] *) {
|
|
1901
|
+
flex: none;
|
|
1902
|
+
}
|
|
1897
1903
|
.group-data-\[variant\=line\]\/tabs-list\:rounded-none:is(:where(.group\/tabs-list)[data-variant="line"] *) {
|
|
1898
1904
|
border-radius: 0;
|
|
1899
1905
|
}
|