@alexgorbatchev/shadcn 0.0.49 → 0.0.51
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 +2 -2
- package/dist/{chunk-jhvy8jay.js → chunk-268pbhj1.js} +361 -434
- package/dist/{chunk-880zr7gb.js → chunk-p894n7r6.js} +9 -22
- package/dist/{chunk-t6w8vcvf.js → chunk-rc99vk8d.js} +19 -1
- package/dist/chunk-xfryhw7e.js +225 -0
- package/dist/{chunk-trwye0d6.js → chunk-yrp7xtb5.js} +21 -1
- package/dist/{chunk-62ggz655.js → chunk-zs4h45d8.js} +8 -9
- package/dist/components/FilterBar.d.ts +2 -0
- package/dist/components/OptionSelect.d.ts +29 -0
- package/dist/components/PageIntro.d.ts +22 -0
- package/dist/components/assistant-ui/native/McpConfigDialog.js +2 -1
- package/dist/components/assistant-ui/native/index.js +2 -1
- package/dist/components/calendar/Calendar.d.ts +3 -2
- package/dist/components/calendar/index.js +2 -1
- package/dist/components/data-grid/index.js +2 -2
- package/dist/components/gantt/index.js +9 -19
- package/dist/components/json-render/index.js +9 -8
- package/dist/components/persian-calendar/index.js +5 -3
- package/dist/components/virtual-data-grid/index.js +2 -2
- package/dist/index.d.ts +4 -1
- package/dist/index.js +18 -20
- package/dist/prototype.js +1 -1
- package/llms/components/data-display/Table.md +1 -1
- package/llms/components/forms/OptionSelect.md +100 -0
- package/llms/components/layout/PageIntro.md +102 -0
- package/llms/components/navigation/ContextMenu.md +25 -25
- package/llms/setup.md +2 -2
- package/llms.txt +2 -1
- package/package.json +1 -1
- package/templates/prototype/src/components/Workbench.tsx +45 -35
- package/templates/prototype/src/prototypes/dashboard/components/Dashboard.tsx +8 -7
- package/dist/chunk-sp4g23m0.js +0 -60
- package/dist/components/NativeSelect.d.ts +0 -12
- package/llms/components/forms/NativeSelect.md +0 -136
|
@@ -12,9 +12,8 @@ import {
|
|
|
12
12
|
TableColumn2
|
|
13
13
|
} from "./chunk-tjn53x34.js";
|
|
14
14
|
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} from "./chunk-sp4g23m0.js";
|
|
15
|
+
OptionSelect2
|
|
16
|
+
} from "./chunk-xfryhw7e.js";
|
|
18
17
|
import {
|
|
19
18
|
Input2
|
|
20
19
|
} from "./chunk-7vg045gd.js";
|
|
@@ -334,26 +333,14 @@ function DataGridPagination2({ table }) {
|
|
|
334
333
|
/* @__PURE__ */ jsxs("div", {
|
|
335
334
|
className: "flex items-center gap-2",
|
|
336
335
|
children: [
|
|
337
|
-
/* @__PURE__ */
|
|
336
|
+
/* @__PURE__ */ jsx2(OptionSelect2, {
|
|
338
337
|
"aria-label": "Rows per page",
|
|
339
|
-
value: table.state.pagination.pageSize,
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
size,
|
|
346
|
-
" rows"
|
|
347
|
-
]
|
|
348
|
-
}, size)),
|
|
349
|
-
![10, 20, 50, 100].includes(table.state.pagination.pageSize) && /* @__PURE__ */ jsxs(NativeSelectOption2, {
|
|
350
|
-
value: table.state.pagination.pageSize,
|
|
351
|
-
children: [
|
|
352
|
-
table.state.pagination.pageSize,
|
|
353
|
-
" rows"
|
|
354
|
-
]
|
|
355
|
-
})
|
|
356
|
-
]
|
|
338
|
+
value: String(table.state.pagination.pageSize),
|
|
339
|
+
onValueChange: (next) => table.setPageSize(Number(next)),
|
|
340
|
+
options: [...new Set([10, 20, 50, 100, table.state.pagination.pageSize])].map((size) => ({
|
|
341
|
+
value: String(size),
|
|
342
|
+
label: `${size} rows`
|
|
343
|
+
}))
|
|
357
344
|
}),
|
|
358
345
|
/* @__PURE__ */ jsx2(Button2, {
|
|
359
346
|
type: "button",
|
|
@@ -7,6 +7,9 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
cn2
|
|
9
9
|
} from "./chunk-en44w1pn.js";
|
|
10
|
+
import {
|
|
11
|
+
OptionSelect2
|
|
12
|
+
} from "./chunk-xfryhw7e.js";
|
|
10
13
|
import {
|
|
11
14
|
Badge2
|
|
12
15
|
} from "./chunk-9t530p75.js";
|
|
@@ -205,6 +208,20 @@ function McpConfigDialog2({ children }) {
|
|
|
205
208
|
});
|
|
206
209
|
}
|
|
207
210
|
McpConfigDialog2.displayName = "McpConfigDialog";
|
|
211
|
+
var MCP_AUTH_OPTIONS = [
|
|
212
|
+
{ value: "oauth", label: "OAuth" },
|
|
213
|
+
{ value: "bearer", label: "Bearer token" },
|
|
214
|
+
{ value: "none", label: "None" }
|
|
215
|
+
];
|
|
216
|
+
function McpAuthSelect({ id, value, onChange }) {
|
|
217
|
+
return /* @__PURE__ */ jsx(OptionSelect2, {
|
|
218
|
+
id,
|
|
219
|
+
width: "full",
|
|
220
|
+
value,
|
|
221
|
+
options: MCP_AUTH_OPTIONS,
|
|
222
|
+
onValueChange: (next) => onChange?.({ target: { value: next } })
|
|
223
|
+
});
|
|
224
|
+
}
|
|
208
225
|
var ConnectorsSection = () => {
|
|
209
226
|
return /* @__PURE__ */ jsxs("section", {
|
|
210
227
|
className: "aui-mcp-connectors flex flex-col gap-2",
|
|
@@ -490,7 +507,8 @@ var AddServerForm = ({ onClose }) => {
|
|
|
490
507
|
htmlFor: fieldIds.auth,
|
|
491
508
|
children: /* @__PURE__ */ jsx(McpAddFormPrimitive.AuthSelect, {
|
|
492
509
|
id: fieldIds.auth,
|
|
493
|
-
|
|
510
|
+
asChild: true,
|
|
511
|
+
children: /* @__PURE__ */ jsx(McpAuthSelect, {})
|
|
494
512
|
})
|
|
495
513
|
}),
|
|
496
514
|
/* @__PURE__ */ jsx(McpAddFormPrimitive.AuthFields, {
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useDensity
|
|
3
|
+
} from "./chunk-e6hk39ev.js";
|
|
4
|
+
import {
|
|
5
|
+
usePortalContainer2,
|
|
6
|
+
usePortalNode,
|
|
7
|
+
PortalProvider2
|
|
8
|
+
} from "./chunk-x90xmrba.js";
|
|
9
|
+
import {
|
|
10
|
+
cn2
|
|
11
|
+
} from "./chunk-en44w1pn.js";
|
|
12
|
+
import {
|
|
13
|
+
useAnalyticsCallback
|
|
14
|
+
} from "./chunk-5mydsjp3.js";
|
|
15
|
+
|
|
16
|
+
// src/components/Select.tsx
|
|
17
|
+
import { Select as SelectPrimitive } from "@base-ui/react/select";
|
|
18
|
+
import { useDirection } from "@base-ui/react/direction-provider";
|
|
19
|
+
import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from "lucide-react";
|
|
20
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
21
|
+
"use client";
|
|
22
|
+
function Select2({
|
|
23
|
+
analytics,
|
|
24
|
+
...props
|
|
25
|
+
}) {
|
|
26
|
+
const onValueChange = useAnalyticsCallback("Select", analytics, { name: "ui.change-request" }, props.onValueChange);
|
|
27
|
+
const onOpenChange = useAnalyticsCallback("Select", analytics, (open, _details) => ({ name: "ui.open-request", open }), props.onOpenChange);
|
|
28
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Root, {
|
|
29
|
+
...props,
|
|
30
|
+
onValueChange,
|
|
31
|
+
onOpenChange
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function SelectGroup2({ density, className, ...props }) {
|
|
35
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Group, {
|
|
36
|
+
"data-density": density,
|
|
37
|
+
"data-slot": "select-group",
|
|
38
|
+
className: (state) => cn2("scroll-my-1 p-1", typeof className === "function" ? className(state) : className),
|
|
39
|
+
...props
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function SelectValue2({ density, className, ...props }) {
|
|
43
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Value, {
|
|
44
|
+
"data-density": density,
|
|
45
|
+
"data-slot": "select-value",
|
|
46
|
+
className: (state) => cn2("flex flex-1 text-start", typeof className === "function" ? className(state) : className),
|
|
47
|
+
...props
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function SelectTrigger2({ density, className, size = "default", children, ...props }) {
|
|
51
|
+
return /* @__PURE__ */ jsxs(SelectPrimitive.Trigger, {
|
|
52
|
+
"data-density": density,
|
|
53
|
+
"data-slot": "select-trigger",
|
|
54
|
+
"data-size": size,
|
|
55
|
+
className: (state) => cn2("flex w-fit items-center justify-between gap-control-gap rounded-sm border border-input bg-transparent py-2 pe-2 ps-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive data-placeholder:text-muted-foreground data-[size=default]:h-control data-[size=sm]:h-control-sm data-[size=sm]:rounded-sm *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-control-gap [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
|
|
56
|
+
...props,
|
|
57
|
+
children: [
|
|
58
|
+
children,
|
|
59
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, {
|
|
60
|
+
render: /* @__PURE__ */ jsx(ChevronDownIcon, {
|
|
61
|
+
className: "pointer-events-none size-4 text-muted-foreground"
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
]
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function SelectContent2({
|
|
68
|
+
density,
|
|
69
|
+
className,
|
|
70
|
+
children,
|
|
71
|
+
side = "bottom",
|
|
72
|
+
sideOffset = 4,
|
|
73
|
+
align = "center",
|
|
74
|
+
alignOffset = 0,
|
|
75
|
+
alignItemWithTrigger = true,
|
|
76
|
+
...props
|
|
77
|
+
}) {
|
|
78
|
+
const resolvedDensity = useDensity(density);
|
|
79
|
+
const direction = useDirection();
|
|
80
|
+
const container = usePortalContainer2();
|
|
81
|
+
const portal = usePortalNode();
|
|
82
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Portal, {
|
|
83
|
+
container,
|
|
84
|
+
ref: portal.ref,
|
|
85
|
+
children: /* @__PURE__ */ jsx(PortalProvider2, {
|
|
86
|
+
container: portal.node,
|
|
87
|
+
children: /* @__PURE__ */ jsx(SelectPrimitive.Positioner, {
|
|
88
|
+
side,
|
|
89
|
+
sideOffset,
|
|
90
|
+
align,
|
|
91
|
+
alignOffset,
|
|
92
|
+
alignItemWithTrigger,
|
|
93
|
+
className: "isolate ",
|
|
94
|
+
children: /* @__PURE__ */ jsxs(SelectPrimitive.Popup, {
|
|
95
|
+
dir: direction,
|
|
96
|
+
"data-density": resolvedDensity,
|
|
97
|
+
"data-slot": "select-content",
|
|
98
|
+
"data-align-trigger": alignItemWithTrigger,
|
|
99
|
+
className: (state) => cn2("relative isolate max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground border border-frame-edge shadow-frame duration-120 data-[align-trigger=true]:animate-none data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 motion-reduce:animate-none", typeof className === "function" ? className(state) : className),
|
|
100
|
+
...props,
|
|
101
|
+
children: [
|
|
102
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton2, {}),
|
|
103
|
+
/* @__PURE__ */ jsx(SelectPrimitive.List, {
|
|
104
|
+
children
|
|
105
|
+
}),
|
|
106
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton2, {})
|
|
107
|
+
]
|
|
108
|
+
})
|
|
109
|
+
})
|
|
110
|
+
})
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
function SelectLabel2({ density, className, ...props }) {
|
|
114
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.GroupLabel, {
|
|
115
|
+
"data-density": density,
|
|
116
|
+
"data-slot": "select-label",
|
|
117
|
+
className: (state) => cn2("px-1.5 py-1 text-xs text-muted-foreground", typeof className === "function" ? className(state) : className),
|
|
118
|
+
...props
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function SelectItem2({ density, className, children, ...props }) {
|
|
122
|
+
return /* @__PURE__ */ jsxs(SelectPrimitive.Item, {
|
|
123
|
+
"data-density": density,
|
|
124
|
+
"data-slot": "select-item",
|
|
125
|
+
className: (state) => cn2("relative flex w-full cursor-default items-center gap-control-gap rounded-md py-1 pe-8 ps-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", typeof className === "function" ? className(state) : className),
|
|
126
|
+
...props,
|
|
127
|
+
children: [
|
|
128
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, {
|
|
129
|
+
className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap",
|
|
130
|
+
children
|
|
131
|
+
}),
|
|
132
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, {
|
|
133
|
+
render: /* @__PURE__ */ jsx("span", {
|
|
134
|
+
className: "pointer-events-none absolute end-2 flex size-4 items-center justify-center"
|
|
135
|
+
}),
|
|
136
|
+
children: /* @__PURE__ */ jsx(CheckIcon, {
|
|
137
|
+
className: "pointer-events-none"
|
|
138
|
+
})
|
|
139
|
+
})
|
|
140
|
+
]
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
function SelectSeparator2({ density, className, ...props }) {
|
|
144
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.Separator, {
|
|
145
|
+
"data-density": density,
|
|
146
|
+
"data-slot": "select-separator",
|
|
147
|
+
className: (state) => cn2("pointer-events-none -mx-1 my-1 h-px bg-border", typeof className === "function" ? className(state) : className),
|
|
148
|
+
...props
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
function SelectScrollUpButton2({ density, className, ...props }) {
|
|
152
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.ScrollUpArrow, {
|
|
153
|
+
"data-density": density,
|
|
154
|
+
"data-slot": "select-scroll-up-button",
|
|
155
|
+
className: (state) => cn2("top-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
|
|
156
|
+
...props,
|
|
157
|
+
children: /* @__PURE__ */ jsx(ChevronUpIcon, {})
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
function SelectScrollDownButton2({ density, className, ...props }) {
|
|
161
|
+
return /* @__PURE__ */ jsx(SelectPrimitive.ScrollDownArrow, {
|
|
162
|
+
"data-density": density,
|
|
163
|
+
"data-slot": "select-scroll-down-button",
|
|
164
|
+
className: (state) => cn2("bottom-0 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", typeof className === "function" ? className(state) : className),
|
|
165
|
+
...props,
|
|
166
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, {})
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// src/components/OptionSelect.tsx
|
|
171
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
172
|
+
function OptionSelect2({
|
|
173
|
+
options,
|
|
174
|
+
value,
|
|
175
|
+
defaultValue,
|
|
176
|
+
onValueChange,
|
|
177
|
+
placeholder,
|
|
178
|
+
name,
|
|
179
|
+
id,
|
|
180
|
+
disabled,
|
|
181
|
+
required,
|
|
182
|
+
size = "default",
|
|
183
|
+
width = "fit",
|
|
184
|
+
density,
|
|
185
|
+
analytics,
|
|
186
|
+
"aria-label": ariaLabel
|
|
187
|
+
}) {
|
|
188
|
+
return /* @__PURE__ */ jsxs2(Select2, {
|
|
189
|
+
items: options,
|
|
190
|
+
analytics,
|
|
191
|
+
name,
|
|
192
|
+
disabled,
|
|
193
|
+
required,
|
|
194
|
+
...value === undefined ? {} : { value },
|
|
195
|
+
...defaultValue === undefined ? {} : { defaultValue },
|
|
196
|
+
onValueChange: (next) => {
|
|
197
|
+
if (next !== null)
|
|
198
|
+
onValueChange?.(next);
|
|
199
|
+
},
|
|
200
|
+
children: [
|
|
201
|
+
/* @__PURE__ */ jsx2(SelectTrigger2, {
|
|
202
|
+
id,
|
|
203
|
+
"aria-label": ariaLabel,
|
|
204
|
+
density,
|
|
205
|
+
size,
|
|
206
|
+
className: cn2(width === "full" && "w-full"),
|
|
207
|
+
children: /* @__PURE__ */ jsx2(SelectValue2, {
|
|
208
|
+
placeholder
|
|
209
|
+
})
|
|
210
|
+
}),
|
|
211
|
+
/* @__PURE__ */ jsx2(SelectContent2, {
|
|
212
|
+
density,
|
|
213
|
+
children: /* @__PURE__ */ jsx2(SelectGroup2, {
|
|
214
|
+
children: options.map((option) => /* @__PURE__ */ jsx2(SelectItem2, {
|
|
215
|
+
value: option.value,
|
|
216
|
+
disabled: option.disabled,
|
|
217
|
+
children: option.label
|
|
218
|
+
}, option.value))
|
|
219
|
+
})
|
|
220
|
+
})
|
|
221
|
+
]
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
export { Select2, SelectGroup2, SelectValue2, SelectTrigger2, SelectContent2, SelectLabel2, SelectItem2, SelectSeparator2, SelectScrollUpButton2, SelectScrollDownButton2, OptionSelect2 };
|
|
@@ -4,6 +4,9 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
buttonVariants2
|
|
6
6
|
} from "./chunk-bd09gygt.js";
|
|
7
|
+
import {
|
|
8
|
+
OptionSelect2
|
|
9
|
+
} from "./chunk-xfryhw7e.js";
|
|
7
10
|
import {
|
|
8
11
|
useAnalyticsCallback
|
|
9
12
|
} from "./chunk-5mydsjp3.js";
|
|
@@ -78,6 +81,7 @@ function Calendar2({
|
|
|
78
81
|
classNames: getCalendarClassNames({ buttonVariant, classNames }),
|
|
79
82
|
components: {
|
|
80
83
|
DayButton: CalendarDayButton2,
|
|
84
|
+
Dropdown: CalendarDropdown,
|
|
81
85
|
...components
|
|
82
86
|
},
|
|
83
87
|
...props,
|
|
@@ -97,5 +101,21 @@ function CalendarDayButton2({ className, day, modifiers, ...props }) {
|
|
|
97
101
|
...props
|
|
98
102
|
});
|
|
99
103
|
}
|
|
104
|
+
function CalendarDropdown({
|
|
105
|
+
options,
|
|
106
|
+
value,
|
|
107
|
+
onChange,
|
|
108
|
+
disabled,
|
|
109
|
+
"aria-label": ariaLabel
|
|
110
|
+
}) {
|
|
111
|
+
return /* @__PURE__ */ jsx(OptionSelect2, {
|
|
112
|
+
"aria-label": ariaLabel,
|
|
113
|
+
disabled,
|
|
114
|
+
size: "sm",
|
|
115
|
+
value: String(value),
|
|
116
|
+
options: (options ?? []).map((option) => ({ ...option, value: String(option.value) })),
|
|
117
|
+
onValueChange: (next) => onChange?.({ target: { value: next } })
|
|
118
|
+
});
|
|
119
|
+
}
|
|
100
120
|
|
|
101
|
-
export { getCalendarClassNames, Calendar2, CalendarDayButton2 };
|
|
121
|
+
export { getCalendarClassNames, Calendar2, CalendarDayButton2, CalendarDropdown };
|
|
@@ -11,9 +11,8 @@ import {
|
|
|
11
11
|
Button2
|
|
12
12
|
} from "./chunk-bd09gygt.js";
|
|
13
13
|
import {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} from "./chunk-sp4g23m0.js";
|
|
14
|
+
OptionSelect2
|
|
15
|
+
} from "./chunk-xfryhw7e.js";
|
|
17
16
|
import {
|
|
18
17
|
useAnalyticsCallback
|
|
19
18
|
} from "./chunk-5mydsjp3.js";
|
|
@@ -395,16 +394,16 @@ function Kanban2({
|
|
|
395
394
|
/* @__PURE__ */ jsxs3("div", {
|
|
396
395
|
className: "flex items-center gap-1",
|
|
397
396
|
children: [
|
|
398
|
-
/* @__PURE__ */ jsx4(
|
|
397
|
+
/* @__PURE__ */ jsx4(OptionSelect2, {
|
|
399
398
|
"aria-label": `Move ${item.title} to`,
|
|
400
399
|
value: column.id,
|
|
401
400
|
disabled,
|
|
402
|
-
|
|
403
|
-
|
|
401
|
+
onValueChange: (next) => move(item.id, next),
|
|
402
|
+
options: columns.map((target) => ({
|
|
404
403
|
value: target.id,
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
}
|
|
404
|
+
label: target.label,
|
|
405
|
+
disabled: Boolean(canMove && !canMove(item, target.id))
|
|
406
|
+
}))
|
|
408
407
|
}),
|
|
409
408
|
/* @__PURE__ */ jsx4(Button2, {
|
|
410
409
|
type: "button",
|
|
@@ -4,6 +4,8 @@ import type { IDensityProps } from "../density/types.js";
|
|
|
4
4
|
type FilterDefinition = {
|
|
5
5
|
id: string;
|
|
6
6
|
label: string;
|
|
7
|
+
/** Text of the choice that clears this filter, such as "All statuses" or "Any time". */
|
|
8
|
+
allLabel: string;
|
|
7
9
|
options: readonly ILabelValue[];
|
|
8
10
|
};
|
|
9
11
|
type FilterBarProps = IDensityProps & {
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ReactElement, ReactNode } from "react";
|
|
2
|
+
import type { IAnalyticsProps } from "../analytics/types.js";
|
|
3
|
+
import type { IDensityProps } from "../density/types.js";
|
|
4
|
+
type OptionSelectOption = {
|
|
5
|
+
value: string;
|
|
6
|
+
label: ReactNode;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
type OptionSelectProps = IDensityProps & IAnalyticsProps & {
|
|
10
|
+
options: readonly OptionSelectOption[];
|
|
11
|
+
value?: string;
|
|
12
|
+
defaultValue?: string;
|
|
13
|
+
onValueChange?: (value: string) => void;
|
|
14
|
+
/** Shown while nothing is selected. */
|
|
15
|
+
placeholder?: ReactNode;
|
|
16
|
+
/** Submits the selected value with the surrounding form under this name. */
|
|
17
|
+
name?: string;
|
|
18
|
+
id?: string;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
required?: boolean;
|
|
21
|
+
size?: "sm" | "default";
|
|
22
|
+
/** `full` fills a form field; `fit` sits inline in a toolbar. */
|
|
23
|
+
width?: "fit" | "full";
|
|
24
|
+
"aria-label"?: string;
|
|
25
|
+
};
|
|
26
|
+
/** A styled single-value `Select` for the common case of a flat list of options. */
|
|
27
|
+
declare function OptionSelect({ options, value, defaultValue, onValueChange, placeholder, name, id, disabled, required, size, width, density, analytics, "aria-label": ariaLabel, }: OptionSelectProps): ReactElement;
|
|
28
|
+
export { OptionSelect };
|
|
29
|
+
export type { OptionSelectOption, OptionSelectProps };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ReactElement, ReactNode } from "react";
|
|
2
|
+
import type { IDensityProps } from "../density/types.js";
|
|
3
|
+
type PageIntroHighlight = {
|
|
4
|
+
title: string;
|
|
5
|
+
description: ReactNode;
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
};
|
|
8
|
+
type PageIntroProps = IDensityProps & {
|
|
9
|
+
title: string;
|
|
10
|
+
/** One inviting sentence on what this page is for. */
|
|
11
|
+
description: ReactNode;
|
|
12
|
+
/** Context above the page title without introducing another heading. */
|
|
13
|
+
eyebrow?: ReactNode;
|
|
14
|
+
/** Decorative mark for the page; hidden from assistive technology. */
|
|
15
|
+
icon?: ReactNode;
|
|
16
|
+
actions?: ReactNode;
|
|
17
|
+
/** Short items naming what people can do here, laid out in as many columns as the intro's width allows. */
|
|
18
|
+
highlights?: readonly PageIntroHighlight[];
|
|
19
|
+
};
|
|
20
|
+
declare function PageIntro({ title, description, eyebrow, icon, actions, highlights, density }: PageIntroProps): ReactElement;
|
|
21
|
+
export { PageIntro };
|
|
22
|
+
export type { PageIntroHighlight, PageIntroProps };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
McpConfigDialog2
|
|
3
|
-
} from "../../../chunk-
|
|
3
|
+
} from "../../../chunk-rc99vk8d.js";
|
|
4
4
|
import"../../../chunk-m4geb1s5.js";
|
|
5
5
|
import"../../../chunk-9t530p75.js";
|
|
6
6
|
import"../../../chunk-m32ptxf3.js";
|
|
7
7
|
import"../../../chunk-tcefvfr8.js";
|
|
8
|
+
import"../../../chunk-xfryhw7e.js";
|
|
8
9
|
import"../../../chunk-4t23yhc0.js";
|
|
9
10
|
import"../../../chunk-7vg045gd.js";
|
|
10
11
|
import"../../../chunk-7jpsybag.js";
|
|
@@ -133,11 +133,12 @@ import"../../../chunk-dyg4pwcd.js";
|
|
|
133
133
|
import {
|
|
134
134
|
DirectiveText2
|
|
135
135
|
} from "../../../chunk-n8n3gp71.js";
|
|
136
|
+
import"../../../chunk-xfryhw7e.js";
|
|
136
137
|
import"../../../chunk-m32ptxf3.js";
|
|
137
138
|
import"../../../chunk-52aadmkc.js";
|
|
138
139
|
import {
|
|
139
140
|
McpConfigDialog2
|
|
140
|
-
} from "../../../chunk-
|
|
141
|
+
} from "../../../chunk-rc99vk8d.js";
|
|
141
142
|
import"../../../chunk-ptdr68cq.js";
|
|
142
143
|
import"../../../chunk-65xd5we6.js";
|
|
143
144
|
import {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ComponentProps, ReactElement } from "react";
|
|
2
2
|
import type { CalendarProps } from "./types.js";
|
|
3
|
-
import { DayButton } from "@daypicker/react";
|
|
3
|
+
import { DayButton, type DropdownProps } from "@daypicker/react";
|
|
4
4
|
declare function Calendar({ analytics, density, className, classNames, showOutsideDays, captionLayout, buttonVariant, locale, formatters, components, ...props }: CalendarProps): ReactElement;
|
|
5
5
|
declare function CalendarDayButton({ className, day, modifiers, ...props }: ComponentProps<typeof DayButton>): ReactElement;
|
|
6
|
-
|
|
6
|
+
declare function CalendarDropdown({ options, value, onChange, disabled, "aria-label": ariaLabel, }: DropdownProps): ReactElement;
|
|
7
|
+
export { Calendar, CalendarDayButton, CalendarDropdown };
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
Button2
|
|
9
9
|
} from "../../chunk-bd09gygt.js";
|
|
10
10
|
import"../../chunk-tjn53x34.js";
|
|
11
|
-
import"../../chunk-
|
|
11
|
+
import"../../chunk-xfryhw7e.js";
|
|
12
12
|
import"../../chunk-7jpsybag.js";
|
|
13
13
|
import"../../chunk-7vg045gd.js";
|
|
14
14
|
import {
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
DataGridColumnHeader2,
|
|
20
20
|
DataGridFilter2,
|
|
21
21
|
DataGridPagination2
|
|
22
|
-
} from "../../chunk-
|
|
22
|
+
} from "../../chunk-p894n7r6.js";
|
|
23
23
|
import {
|
|
24
24
|
Checkbox2
|
|
25
25
|
} from "../../chunk-b5s5y5wq.js";
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
DragSource2,
|
|
8
8
|
DropTarget2,
|
|
9
9
|
Kanban2
|
|
10
|
-
} from "../../chunk-
|
|
10
|
+
} from "../../chunk-zs4h45d8.js";
|
|
11
11
|
import"../../chunk-en44w1pn.js";
|
|
12
12
|
import"../../chunk-9t530p75.js";
|
|
13
13
|
import"../../chunk-7ny0vyek.js";
|
|
@@ -19,9 +19,8 @@ import {
|
|
|
19
19
|
Button2
|
|
20
20
|
} from "../../chunk-bd09gygt.js";
|
|
21
21
|
import {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} from "../../chunk-sp4g23m0.js";
|
|
22
|
+
OptionSelect2
|
|
23
|
+
} from "../../chunk-xfryhw7e.js";
|
|
25
24
|
import {
|
|
26
25
|
Table2,
|
|
27
26
|
TableHeader2,
|
|
@@ -75,23 +74,14 @@ function Gantt({
|
|
|
75
74
|
className: "font-semibold",
|
|
76
75
|
children: label
|
|
77
76
|
}),
|
|
78
|
-
/* @__PURE__ */
|
|
77
|
+
/* @__PURE__ */ jsx(OptionSelect2, {
|
|
79
78
|
"aria-label": "Timeline zoom",
|
|
80
79
|
value: zoom,
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}),
|
|
87
|
-
/* @__PURE__ */ jsx(NativeSelectOption2, {
|
|
88
|
-
value: "week",
|
|
89
|
-
children: "Week scale"
|
|
90
|
-
}),
|
|
91
|
-
/* @__PURE__ */ jsx(NativeSelectOption2, {
|
|
92
|
-
value: "month",
|
|
93
|
-
children: "Month scale"
|
|
94
|
-
})
|
|
80
|
+
onValueChange: setZoom,
|
|
81
|
+
options: [
|
|
82
|
+
{ value: "day", label: "Day scale" },
|
|
83
|
+
{ value: "week", label: "Week scale" },
|
|
84
|
+
{ value: "month", label: "Month scale" }
|
|
95
85
|
]
|
|
96
86
|
})
|
|
97
87
|
]
|
|
@@ -19,11 +19,6 @@ import {
|
|
|
19
19
|
AccordionItem2,
|
|
20
20
|
AccordionTrigger2,
|
|
21
21
|
AccordionContent2,
|
|
22
|
-
Select2,
|
|
23
|
-
SelectValue2,
|
|
24
|
-
SelectTrigger2,
|
|
25
|
-
SelectContent2,
|
|
26
|
-
SelectItem2,
|
|
27
22
|
Pagination2,
|
|
28
23
|
PaginationContent2,
|
|
29
24
|
PaginationItem2,
|
|
@@ -36,7 +31,7 @@ import {
|
|
|
36
31
|
DrawerHeader2,
|
|
37
32
|
DrawerTitle2,
|
|
38
33
|
DrawerDescription2
|
|
39
|
-
} from "../../chunk-
|
|
34
|
+
} from "../../chunk-268pbhj1.js";
|
|
40
35
|
import {
|
|
41
36
|
MenuPopup,
|
|
42
37
|
MenuItem2,
|
|
@@ -104,7 +99,7 @@ import {
|
|
|
104
99
|
Tabs2,
|
|
105
100
|
TabsList2,
|
|
106
101
|
TabsTrigger2
|
|
107
|
-
} from "../../chunk-
|
|
102
|
+
} from "../../chunk-zs4h45d8.js";
|
|
108
103
|
import {
|
|
109
104
|
Badge2
|
|
110
105
|
} from "../../chunk-9t530p75.js";
|
|
@@ -112,6 +107,13 @@ import"../../chunk-4e96tpw0.js";
|
|
|
112
107
|
import {
|
|
113
108
|
Checkbox2
|
|
114
109
|
} from "../../chunk-b5s5y5wq.js";
|
|
110
|
+
import {
|
|
111
|
+
Select2,
|
|
112
|
+
SelectValue2,
|
|
113
|
+
SelectTrigger2,
|
|
114
|
+
SelectContent2,
|
|
115
|
+
SelectItem2
|
|
116
|
+
} from "../../chunk-xfryhw7e.js";
|
|
115
117
|
import"../../chunk-1j2hz3w9.js";
|
|
116
118
|
import"../../chunk-k99h6evz.js";
|
|
117
119
|
import {
|
|
@@ -144,7 +146,6 @@ import {
|
|
|
144
146
|
TableCell2,
|
|
145
147
|
TableCaption2
|
|
146
148
|
} from "../../chunk-tjn53x34.js";
|
|
147
|
-
import"../../chunk-sp4g23m0.js";
|
|
148
149
|
import"../../chunk-7vnpp3ya.js";
|
|
149
150
|
import"../../chunk-m4geb1s5.js";
|
|
150
151
|
import"../../chunk-9ecf92s6.js";
|
|
@@ -9,8 +9,10 @@ import"../../chunk-jpvw9xqy.js";
|
|
|
9
9
|
import"../../chunk-bd09gygt.js";
|
|
10
10
|
import {
|
|
11
11
|
getCalendarClassNames,
|
|
12
|
-
CalendarDayButton2
|
|
13
|
-
|
|
12
|
+
CalendarDayButton2,
|
|
13
|
+
CalendarDropdown
|
|
14
|
+
} from "../../chunk-yrp7xtb5.js";
|
|
15
|
+
import"../../chunk-xfryhw7e.js";
|
|
14
16
|
import {
|
|
15
17
|
useAnalyticsCallback
|
|
16
18
|
} from "../../chunk-5mydsjp3.js";
|
|
@@ -38,7 +40,7 @@ function PersianCalendar({
|
|
|
38
40
|
captionLayout,
|
|
39
41
|
className: cn2("group/calendar bg-background p-panel [--cell-size:var(--ag-control-h)]", className),
|
|
40
42
|
classNames: getCalendarClassNames({ buttonVariant, classNames }),
|
|
41
|
-
components: { DayButton: CalendarDayButton2, ...components },
|
|
43
|
+
components: { DayButton: CalendarDayButton2, Dropdown: CalendarDropdown, ...components },
|
|
42
44
|
...props,
|
|
43
45
|
onDayClick,
|
|
44
46
|
onMonthChange
|
|
@@ -8,7 +8,7 @@ import"../../chunk-e6hk39ev.js";
|
|
|
8
8
|
import"../../chunk-x90xmrba.js";
|
|
9
9
|
import"../../chunk-jpvw9xqy.js";
|
|
10
10
|
import"../../chunk-bd09gygt.js";
|
|
11
|
-
import"../../chunk-
|
|
11
|
+
import"../../chunk-xfryhw7e.js";
|
|
12
12
|
import"../../chunk-7jpsybag.js";
|
|
13
13
|
import"../../chunk-7vg045gd.js";
|
|
14
14
|
import {
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
DataGridHeaderRows,
|
|
17
17
|
DataGridCells2,
|
|
18
18
|
DataGridColumns
|
|
19
|
-
} from "../../chunk-
|
|
19
|
+
} from "../../chunk-p894n7r6.js";
|
|
20
20
|
import {
|
|
21
21
|
VirtualTable2
|
|
22
22
|
} from "../../chunk-k7cvfw0f.js";
|