@godxjp/ui 12.1.0 → 13.1.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/app/index.d.ts +2 -2
- package/dist/app/index.js +4 -4
- package/dist/{app.prop-Cy6dJnU8.d.ts → app.prop-CVY8V4ss.d.ts} +1 -1
- package/dist/{checkbox-DPFcnsMZ.d.ts → checkbox-shzpQ_Xo.d.ts} +1 -1
- package/dist/{chunk-COD66MFF.js → chunk-2BR7KFCP.js} +1 -1
- package/dist/chunk-2H65B4JA.js +1 -0
- package/dist/{chunk-JSQOCVM6.js → chunk-2M57K2VW.js} +2 -2
- package/dist/{chunk-HTEL5DQI.js → chunk-3R3QVJCB.js} +1 -1
- package/dist/{chunk-FK2JDABO.js → chunk-55S5N667.js} +4 -2
- package/dist/{chunk-YGD4CCQC.js → chunk-5KK3KJ6L.js} +3 -3
- package/dist/chunk-76S3TQFH.js +109 -0
- package/dist/{chunk-6WSWK7TU.js → chunk-7HEFQDN5.js} +2 -2
- package/dist/{chunk-LCQFYL44.js → chunk-7MXIPSYM.js} +59 -5
- package/dist/{chunk-WBUUCU7R.js → chunk-AKFR72DQ.js} +4 -4
- package/dist/{chunk-IBK5D2Q6.js → chunk-B4K4BXEF.js} +3 -2
- package/dist/{chunk-VOHTRR5X.js → chunk-BNXPDUO4.js} +1 -1
- package/dist/chunk-C3PKEV6S.js +22 -0
- package/dist/{chunk-MMFIL33F.js → chunk-C6OEAQTO.js} +1 -1
- package/dist/{chunk-ASMTSQWA.js → chunk-DWYRIKVD.js} +11 -8
- package/dist/chunk-ES4Q3KGL.js +1 -0
- package/dist/{chunk-XVD5SLDL.js → chunk-FJBVDJGL.js} +56 -3
- package/dist/{chunk-FK5QEFVY.js → chunk-GDHDJAVB.js} +1 -1
- package/dist/{chunk-TXRYSMOD.js → chunk-H2TX3OPW.js} +1 -1
- package/dist/{chunk-EOTOCNT7.js → chunk-HCCID4YY.js} +1 -1
- package/dist/{chunk-2TYRT5XH.js → chunk-I2CYVA7B.js} +31 -18
- package/dist/{chunk-4MMIMZMK.js → chunk-IJ5ALJGA.js} +1 -1
- package/dist/{chunk-PO5ISUFA.js → chunk-IWAIIBSW.js} +4 -2
- package/dist/{chunk-UDEPO3UF.js → chunk-IZGLEPGW.js} +2 -2
- package/dist/{chunk-3ELRYXJK.js → chunk-JEIUEOTJ.js} +9 -3
- package/dist/{chunk-FTOG7D4T.js → chunk-KQ36FDEE.js} +1 -1
- package/dist/{chunk-WJNR3RAG.js → chunk-MTJHEQ46.js} +4 -4
- package/dist/{chunk-ZM4SMKEI.js → chunk-QATON677.js} +3 -20
- package/dist/{chunk-FOANNF6Z.js → chunk-QD3YG56T.js} +2 -2
- package/dist/{chunk-SIUIIIQW.js → chunk-SISAM4JZ.js} +3 -3
- package/dist/chunk-VU4GFGDG.js +12 -0
- package/dist/{chunk-MXEVP5S2.js → chunk-W2NWOWZ3.js} +5 -5
- package/dist/{chunk-7HF56YHC.js → chunk-X4J55OS5.js} +3 -3
- package/dist/{chunk-N6ELT7KB.js → chunk-XTVUYEJD.js} +30 -2
- package/dist/chunk-XUEDRPWF.js +177 -0
- package/dist/{chunk-2JCSS6B4.js → chunk-YVZPAN2W.js} +2 -2
- package/dist/{chunk-BCBK4FLV.js → chunk-ZFBIKJSJ.js} +2 -2
- package/dist/{chunk-L2MEN2VK.js → chunk-ZPHIXXTK.js} +2 -2
- package/dist/components/admin/index.d.ts +14 -15
- package/dist/components/admin/index.js +30 -28
- package/dist/components/data-display/badge.d.ts +1 -1
- package/dist/components/data-display/badge.js +4 -4
- package/dist/components/data-display/card.d.ts +2 -2
- package/dist/components/data-display/carousel.d.ts +12 -1
- package/dist/components/data-display/carousel.js +3 -3
- package/dist/components/data-display/index.d.ts +6 -6
- package/dist/components/data-display/index.js +9 -9
- package/dist/components/data-display/table.js +2 -2
- package/dist/components/data-entry/calendar.d.ts +6 -4
- package/dist/components/data-entry/calendar.js +2 -2
- package/dist/components/data-entry/cascader.d.ts +6 -4
- package/dist/components/data-entry/cascader.js +5 -5
- package/dist/components/data-entry/checkbox.d.ts +7 -5
- package/dist/components/data-entry/color-picker.d.ts +6 -4
- package/dist/components/data-entry/color-picker.js +5 -5
- package/dist/components/data-entry/command.js +2 -2
- package/dist/components/data-entry/date-picker.d.ts +6 -4
- package/dist/components/data-entry/date-picker.js +6 -6
- package/dist/components/data-entry/date-range-picker.d.ts +6 -4
- package/dist/components/data-entry/date-range-picker.js +6 -6
- package/dist/components/data-entry/index.d.ts +38 -9
- package/dist/components/data-entry/index.js +24 -22
- package/dist/components/data-entry/input.js +1 -1
- package/dist/components/data-entry/radio.d.ts +6 -4
- package/dist/components/data-entry/select.d.ts +6 -4
- package/dist/components/data-entry/select.js +6 -6
- package/dist/components/data-entry/slider.d.ts +6 -4
- package/dist/components/data-entry/switch.d.ts +6 -4
- package/dist/components/data-entry/textarea.js +2 -2
- package/dist/components/data-entry/time-input.js +2 -2
- package/dist/components/data-entry/time-picker.d.ts +6 -4
- package/dist/components/data-entry/time-picker.js +4 -4
- package/dist/components/data-entry/transfer.d.ts +7 -5
- package/dist/components/data-entry/transfer.js +5 -5
- package/dist/components/data-entry/tree-select.d.ts +6 -4
- package/dist/components/data-entry/tree-select.js +5 -5
- package/dist/components/data-entry/upload.d.ts +7 -5
- package/dist/components/data-entry/upload.js +8 -7
- package/dist/components/data-grid/index.js +9 -9
- package/dist/components/feedback/alert.d.ts +4 -4
- package/dist/components/feedback/alert.js +4 -4
- package/dist/components/feedback/dialog.d.ts +19 -5
- package/dist/components/feedback/dialog.js +5 -4
- package/dist/components/feedback/index.d.ts +17 -26
- package/dist/components/feedback/index.js +13 -12
- package/dist/components/feedback/sheet.d.ts +21 -2
- package/dist/components/feedback/sheet.js +2 -1
- package/dist/components/general/button.d.ts +3 -3
- package/dist/components/general/index.d.ts +3 -3
- package/dist/components/layout/index.d.ts +6 -6
- package/dist/components/layout/index.js +5 -4
- package/dist/components/navigation/index.d.ts +8 -8
- package/dist/components/navigation/index.js +9 -9
- package/dist/components/navigation/pagination.d.ts +4 -4
- package/dist/components/navigation/pagination.js +7 -7
- package/dist/components/navigation/steps.d.ts +5 -5
- package/dist/components/navigation/steps.js +4 -4
- package/dist/components/query/index.d.ts +4 -4
- package/dist/components/query/index.js +4 -4
- package/dist/components/ui/index.d.ts +15 -13
- package/dist/components/ui/index.js +27 -26
- package/dist/{data-display.prop-Cf2p9QC4.d.ts → data-display.prop-BOtnzI17.d.ts} +3 -3
- package/dist/{data-entry.prop-6J0o45se.d.ts → data-entry.prop-DL7kUcJh.d.ts} +32 -3
- package/dist/{data-table-B_q7j992.d.ts → data-table-DO-gU4wJ.d.ts} +3 -3
- package/dist/{data.prop-DMYMNl6L.d.ts → data.prop-D4uDw_SW.d.ts} +1 -1
- package/dist/{feedback.prop-Nc9Aa8SV.d.ts → feedback.prop-CtrL24E1.d.ts} +2 -2
- package/dist/{filter-bar-B07JSxME.d.ts → filter-bar-tEwfKthz.d.ts} +1 -1
- package/dist/{flex-DXtIALBh.d.ts → flex-88Ps6YCv.d.ts} +1 -1
- package/dist/form/index.d.ts +3 -3
- package/dist/form/index.js +2 -1
- package/dist/{form.prop-Bc6r6JJW.d.ts → form.prop-5cyL3bvT.d.ts} +1 -1
- package/dist/{general.prop-DoHDCRmL.d.ts → general.prop-1GgJkf4b.d.ts} +2 -2
- package/dist/i18n/index.d.ts +3 -1
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +14 -15
- package/dist/index.js +40 -38
- package/dist/{interaction.prop-DSFizzP6.d.ts → interaction.prop-R77MnAMZ.d.ts} +5 -1
- package/dist/{layout.prop-B1yQPUNZ.d.ts → layout.prop-ChLFNGJ6.d.ts} +2 -2
- package/dist/lib/datetime/index.js +1 -1
- package/dist/{navigation.prop-BKlxd-j7.d.ts → navigation.prop-CXDaVNaR.d.ts} +1 -1
- package/dist/{navigation.prop-Dumy196X.d.ts → navigation.prop-Cc_Iu87S.d.ts} +2 -2
- package/dist/props/components/index.d.ts +13 -13
- package/dist/props/index.d.ts +13 -13
- package/dist/props/index.js +1 -1
- package/dist/props/registry.d.ts +22 -2
- package/dist/props/registry.js +1 -1
- package/dist/props/vocabulary/index.d.ts +4 -4
- package/dist/{query.prop-Dog-EAfG.d.ts → query.prop-CyNxaCHe.d.ts} +2 -2
- package/dist/{search-input-BR4nAWiT.d.ts → search-input-CFUtVWQl.d.ts} +2 -2
- package/dist/{shared.prop-BsNSXeqD.d.ts → shared.prop-BvMSLFJ6.d.ts} +7 -1
- package/dist/styles/alert-layout.css +8 -8
- package/dist/styles/card-layout.css +301 -292
- package/dist/styles/control.css +8 -9
- package/dist/styles/data-display-layout.css +50 -5
- package/dist/styles/density.css +4 -0
- package/dist/styles/dialog-layout.css +35 -7
- package/dist/styles/form-layout.css +161 -0
- package/dist/styles/index.css +31 -3
- package/dist/styles/layout.css +1 -1
- package/dist/styles/navigation-layout.css +1 -1
- package/dist/styles/shell-layout.css +12 -12
- package/dist/tokens/components/card.css +1 -1
- package/dist/tokens/components/feedback.css +9 -1
- package/dist/tokens/foundation.css +74 -16
- package/dist/tokens/semantic/layout.css +29 -11
- package/package.json +1 -1
- package/dist/chunk-A6VFHPS6.js +0 -119
- package/dist/chunk-B3WX53JQ.js +0 -40
- package/dist/chunk-QSGW3ZWK.js +0 -45
- package/dist/chunk-WFUIE252.js +0 -61
- package/dist/styles/feedback-layout.css +0 -49
- package/dist/tooltip-Bf2KjRy8.d.ts +0 -14
- package/dist/use-toast-Dsw3yE2S.d.ts +0 -19
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { Command, CommandList, CommandItem, CommandGroup } from './chunk-
|
|
2
|
-
import { Input } from './chunk-
|
|
1
|
+
import { Command, CommandList, CommandItem, CommandGroup } from './chunk-3R3QVJCB.js';
|
|
2
|
+
import { Input } from './chunk-BNXPDUO4.js';
|
|
3
3
|
import { Button } from './chunk-M4PZNAMV.js';
|
|
4
4
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
5
|
-
import { controlTriggerClass } from './chunk-
|
|
6
|
-
import { useTranslation } from './chunk-
|
|
5
|
+
import { controlTriggerClass, controlOpenRingClass } from './chunk-B4K4BXEF.js';
|
|
6
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
7
7
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
8
8
|
import * as React from 'react';
|
|
9
9
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
10
|
-
import { ChevronDown, ChevronUp, ChevronsUpDown,
|
|
10
|
+
import { ChevronDown, ChevronUp, ChevronsUpDown, Loader2 } from 'lucide-react';
|
|
11
11
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
12
12
|
|
|
13
13
|
var DEBOUNCE_MS = 250;
|
|
14
14
|
function SearchSelect({
|
|
15
|
-
value
|
|
15
|
+
value: valueProp,
|
|
16
|
+
defaultValue,
|
|
16
17
|
onValueChange,
|
|
17
18
|
options: staticOptions,
|
|
18
19
|
loadOptions,
|
|
@@ -43,6 +44,9 @@ function SearchSelect({
|
|
|
43
44
|
const [loading, setLoading] = React.useState(false);
|
|
44
45
|
const [activeIndex, setActiveIndex] = React.useState(0);
|
|
45
46
|
const [picked, setPicked] = React.useState(null);
|
|
47
|
+
const [internalValue, setInternalValue] = React.useState(defaultValue ?? "");
|
|
48
|
+
const isControlled = valueProp !== void 0;
|
|
49
|
+
const value = isControlled ? valueProp : internalValue;
|
|
46
50
|
const reqId = React.useRef(0);
|
|
47
51
|
const resolvedLoad = React.useMemo(
|
|
48
52
|
() => loadOptions ?? (async ({ query: search }) => {
|
|
@@ -104,15 +108,18 @@ function SearchSelect({
|
|
|
104
108
|
[grouped]
|
|
105
109
|
);
|
|
106
110
|
const resolvedPlaceholder = placeholder ?? t("dataEntry.searchSelect.placeholder");
|
|
107
|
-
const
|
|
111
|
+
const selectedOption = value ? [picked, ...staticOptions ?? [], ...loaded].find((option) => option?.value === value) ?? null : null;
|
|
112
|
+
const currentLabel = value ? selectedOption?.label ?? selectedLabel ?? value : resolvedPlaceholder;
|
|
108
113
|
const select = (option) => {
|
|
109
114
|
if (option.disabled) return;
|
|
110
115
|
setPicked(option);
|
|
116
|
+
if (!isControlled) setInternalValue(option.value);
|
|
111
117
|
onValueChange?.(option.value, option);
|
|
112
118
|
setOpen(false);
|
|
113
119
|
};
|
|
114
120
|
const clear = () => {
|
|
115
121
|
setPicked(null);
|
|
122
|
+
if (!isControlled) setInternalValue("");
|
|
116
123
|
onValueChange?.("", void 0);
|
|
117
124
|
setOpen(false);
|
|
118
125
|
};
|
|
@@ -159,7 +166,7 @@ function SearchSelect({
|
|
|
159
166
|
"aria-expanded": open,
|
|
160
167
|
disabled,
|
|
161
168
|
"data-testid": dataTestId,
|
|
162
|
-
className: cn("w-full justify-between font-normal", className),
|
|
169
|
+
className: cn("w-full justify-between font-normal", controlOpenRingClass, className),
|
|
163
170
|
children: [
|
|
164
171
|
/* @__PURE__ */ jsx("span", { className: cn("truncate text-start", !value && "text-muted-foreground"), children: currentLabel }),
|
|
165
172
|
/* @__PURE__ */ jsx(ChevronsUpDown, { className: "ms-2 size-4 shrink-0 opacity-50", "aria-hidden": "true" })
|
|
@@ -198,7 +205,7 @@ function SearchSelect({
|
|
|
198
205
|
children: [
|
|
199
206
|
clearable && value ? /* @__PURE__ */ jsx(CommandItem, { value: "", "data-testid": optionTestId("none"), onSelect: clear, children: /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-sm", children: clearLabel ?? t("dataEntry.searchSelect.clear") }) }) : null,
|
|
200
207
|
grouped.map((group) => {
|
|
201
|
-
const rows = group.items.map(({ option, index }) => /* @__PURE__ */
|
|
208
|
+
const rows = group.items.map(({ option, index }) => /* @__PURE__ */ jsx(
|
|
202
209
|
CommandItem,
|
|
203
210
|
{
|
|
204
211
|
id: optionDomId(option.value),
|
|
@@ -207,16 +214,19 @@ function SearchSelect({
|
|
|
207
214
|
"data-testid": optionTestId(option.value),
|
|
208
215
|
"aria-selected": activeIndex === index,
|
|
209
216
|
disabled: option.disabled,
|
|
210
|
-
className:
|
|
217
|
+
className: cn(
|
|
218
|
+
// Selected = persistent bg-accent + medium weight (NO check icon — saves width),
|
|
219
|
+
// matching the plain SelectItem's `data-[state=checked]` convention; active =
|
|
220
|
+
// hover/keyboard accent. Same bg so selection stays coherent across both Selects.
|
|
221
|
+
value === option.value && "bg-accent text-foreground font-medium",
|
|
222
|
+
activeIndex === index && "bg-accent text-accent-foreground"
|
|
223
|
+
),
|
|
211
224
|
onMouseEnter: () => setActiveIndex(index),
|
|
212
225
|
onSelect: () => select(option),
|
|
213
|
-
children: [
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
] }),
|
|
218
|
-
value === option.value ? /* @__PURE__ */ jsx(Check, { className: "text-primary size-4 shrink-0", "aria-hidden": "true" }) : null
|
|
219
|
-
]
|
|
226
|
+
children: renderOption ? /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children: renderOption(option) }) : /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
227
|
+
/* @__PURE__ */ jsx("span", { className: "truncate text-sm", children: option.label }),
|
|
228
|
+
option.sublabel ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground truncate text-xs", children: option.sublabel }) : null
|
|
229
|
+
] })
|
|
220
230
|
},
|
|
221
231
|
option.value
|
|
222
232
|
));
|
|
@@ -374,7 +384,8 @@ function DataSelect({
|
|
|
374
384
|
options = [],
|
|
375
385
|
loadOptions,
|
|
376
386
|
showSearch,
|
|
377
|
-
value
|
|
387
|
+
value,
|
|
388
|
+
defaultValue,
|
|
378
389
|
onValueChange,
|
|
379
390
|
renderOption,
|
|
380
391
|
selectedLabel,
|
|
@@ -396,6 +407,7 @@ function DataSelect({
|
|
|
396
407
|
SearchSelect,
|
|
397
408
|
{
|
|
398
409
|
value,
|
|
410
|
+
defaultValue,
|
|
399
411
|
onValueChange,
|
|
400
412
|
options,
|
|
401
413
|
loadOptions,
|
|
@@ -431,6 +443,7 @@ function DataSelect({
|
|
|
431
443
|
{
|
|
432
444
|
"data-slot": "select",
|
|
433
445
|
value: value || void 0,
|
|
446
|
+
defaultValue: defaultValue || void 0,
|
|
434
447
|
onValueChange: (next) => onValueChange?.(
|
|
435
448
|
next,
|
|
436
449
|
options.find((option) => option.value === next)
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { normalizeTreeOptions, collectAllExpandableKeys, filterVisibleTree, flattenVisibleTree, findNodeByValue, reactNodeText, getDescendantValues } from './chunk-SMLKNECP.js';
|
|
2
|
-
import { Command, CommandInput } from './chunk-
|
|
2
|
+
import { Command, CommandInput } from './chunk-3R3QVJCB.js';
|
|
3
3
|
import { Checkbox } from './chunk-BE6GJGKJ.js';
|
|
4
4
|
import { Button } from './chunk-M4PZNAMV.js';
|
|
5
5
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
6
6
|
import { ScrollArea } from './chunk-3KPEZ5CF.js';
|
|
7
|
-
import {
|
|
7
|
+
import { controlOpenRingClass } from './chunk-B4K4BXEF.js';
|
|
8
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
8
9
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
9
10
|
import * as React from 'react';
|
|
10
11
|
import { X, ChevronsUpDown, ChevronDown, ChevronRight } from 'lucide-react';
|
|
@@ -171,6 +172,7 @@ function TreeSelectRoot({
|
|
|
171
172
|
disabled,
|
|
172
173
|
className: cn(
|
|
173
174
|
"w-full justify-between font-normal",
|
|
175
|
+
controlOpenRingClass,
|
|
174
176
|
!displayKeys.length && "text-muted-foreground",
|
|
175
177
|
className
|
|
176
178
|
),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { toneNeutralClass, toneMutedClass, toneInfoClass, toneDestructiveClass, toneWarningClass, toneSuccessClass } from './chunk-
|
|
2
|
-
import { useTranslation } from './chunk-
|
|
1
|
+
import { toneNeutralClass, toneMutedClass, toneInfoClass, toneDestructiveClass, toneWarningClass, toneSuccessClass } from './chunk-B4K4BXEF.js';
|
|
2
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
3
3
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
4
4
|
import { cva } from 'class-variance-authority';
|
|
5
5
|
import { XCircle, Pause, CheckCircle2, Circle, Trash2, AlertCircle, Clock, Play } from 'lucide-react';
|
|
@@ -190,7 +190,9 @@ var en_default = {
|
|
|
190
190
|
ariaLabel: "Carousel",
|
|
191
191
|
slideLabel: "{index} of {total}",
|
|
192
192
|
previous: "Previous",
|
|
193
|
-
next: "Next"
|
|
193
|
+
next: "Next",
|
|
194
|
+
dotsLabel: "Choose slide",
|
|
195
|
+
goToSlide: "Go to slide {index}"
|
|
194
196
|
}
|
|
195
197
|
},
|
|
196
198
|
ui: {
|
|
@@ -455,7 +457,9 @@ var ja_default = {
|
|
|
455
457
|
ariaLabel: "\u30AB\u30EB\u30FC\u30BB\u30EB",
|
|
456
458
|
slideLabel: "{total} \u4EF6\u4E2D {index} \u4EF6\u76EE",
|
|
457
459
|
previous: "\u524D\u3078",
|
|
458
|
-
next: "\u6B21\u3078"
|
|
460
|
+
next: "\u6B21\u3078",
|
|
461
|
+
dotsLabel: "\u30B9\u30E9\u30A4\u30C9\u3092\u9078\u629E",
|
|
462
|
+
goToSlide: "{index} \u756A\u76EE\u306E\u30B9\u30E9\u30A4\u30C9\u3078"
|
|
459
463
|
}
|
|
460
464
|
},
|
|
461
465
|
ui: {
|
|
@@ -720,7 +724,9 @@ var vi_default = {
|
|
|
720
724
|
ariaLabel: "B\u0103ng chuy\u1EC1n",
|
|
721
725
|
slideLabel: "{index} / {total}",
|
|
722
726
|
previous: "Tr\u01B0\u1EDBc",
|
|
723
|
-
next: "Sau"
|
|
727
|
+
next: "Sau",
|
|
728
|
+
dotsLabel: "Ch\u1ECDn slide",
|
|
729
|
+
goToSlide: "\u0110\u1EBFn slide {index}"
|
|
724
730
|
}
|
|
725
731
|
},
|
|
726
732
|
ui: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { buttonVariants } from './chunk-M4PZNAMV.js';
|
|
2
|
-
import { controlIconSmClass } from './chunk-
|
|
2
|
+
import { controlIconSmClass } from './chunk-B4K4BXEF.js';
|
|
3
3
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
4
4
|
import { ChevronLeft, ChevronRight } from 'lucide-react';
|
|
5
5
|
import { DayPicker } from 'react-day-picker';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Calendar } from './chunk-
|
|
2
|
-
import { Input } from './chunk-
|
|
1
|
+
import { Calendar } from './chunk-KQ36FDEE.js';
|
|
2
|
+
import { Input } from './chunk-BNXPDUO4.js';
|
|
3
3
|
import { Button } from './chunk-M4PZNAMV.js';
|
|
4
4
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
5
|
-
import { useTranslation, usePickerLocales } from './chunk-
|
|
6
|
-
import { toIsoDate, parseDateInput } from './chunk-
|
|
5
|
+
import { useTranslation, usePickerLocales } from './chunk-H2TX3OPW.js';
|
|
6
|
+
import { toIsoDate, parseDateInput } from './chunk-JEIUEOTJ.js';
|
|
7
7
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
8
8
|
import * as React from 'react';
|
|
9
9
|
import { CalendarIcon } from 'lucide-react';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-32WO3YLB.js';
|
|
2
1
|
import { DropdownMenu, DropdownMenuTrigger } from './chunk-LMKUKCTN.js';
|
|
2
|
+
import { Tooltip, TooltipTrigger, TooltipContent } from './chunk-32WO3YLB.js';
|
|
3
3
|
import { Collapsible, CollapsibleTrigger, CollapsibleContent } from './chunk-DV52WNXO.js';
|
|
4
4
|
import { densityClass, pageContainerVariantClass } from './chunk-INIIF7F7.js';
|
|
5
5
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
6
|
-
import { useTranslation } from './chunk-
|
|
6
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
7
7
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
8
8
|
import { ChevronRight, ChevronDown, PanelLeftOpen, PanelLeftClose, Search, Bell, SlidersHorizontal } from 'lucide-react';
|
|
9
9
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -472,23 +472,6 @@ function Topbar({
|
|
|
472
472
|
) : null
|
|
473
473
|
] });
|
|
474
474
|
}
|
|
475
|
-
function resolveColumns(columns) {
|
|
476
|
-
if (typeof columns === "number") {
|
|
477
|
-
return {
|
|
478
|
-
"--responsive-grid-sm": Math.min(columns, 2),
|
|
479
|
-
"--responsive-grid-md": Math.min(columns, 3),
|
|
480
|
-
"--responsive-grid-lg": columns
|
|
481
|
-
};
|
|
482
|
-
}
|
|
483
|
-
return {
|
|
484
|
-
"--responsive-grid-sm": columns.sm ?? 1,
|
|
485
|
-
"--responsive-grid-md": columns.md ?? columns.sm ?? 1,
|
|
486
|
-
"--responsive-grid-lg": columns.lg ?? columns.md ?? columns.sm ?? 1
|
|
487
|
-
};
|
|
488
|
-
}
|
|
489
|
-
function ResponsiveGrid({ columns = 4, children }) {
|
|
490
|
-
return /* @__PURE__ */ jsx("div", { className: "ui-responsive-grid", style: resolveColumns(columns), children });
|
|
491
|
-
}
|
|
492
475
|
function SplitPane({ children, aside, asideWidth = "md" }) {
|
|
493
476
|
return /* @__PURE__ */ jsxs("div", { className: "ui-split-pane", "data-aside-width": asideWidth, children: [
|
|
494
477
|
/* @__PURE__ */ jsx("div", { className: "ui-split-pane-main", children }),
|
|
@@ -496,4 +479,4 @@ function SplitPane({ children, aside, asideWidth = "md" }) {
|
|
|
496
479
|
] });
|
|
497
480
|
}
|
|
498
481
|
|
|
499
|
-
export { AppShell, Breadcrumb, PageContainer,
|
|
482
|
+
export { AppShell, Breadcrumb, PageContainer, Sidebar, SidebarHeader, SidebarItem, SidebarSection, SplitPane, Topbar };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { controlIconClass } from './chunk-
|
|
2
|
-
import { useTranslation } from './chunk-
|
|
1
|
+
import { controlIconClass } from './chunk-B4K4BXEF.js';
|
|
2
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
3
3
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
4
4
|
import { Check, Loader2, X, Circle } from 'lucide-react';
|
|
5
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Input } from './chunk-
|
|
2
|
-
import { controlIconClass } from './chunk-
|
|
3
|
-
import { useTranslation } from './chunk-
|
|
1
|
+
import { Input } from './chunk-BNXPDUO4.js';
|
|
2
|
+
import { controlIconClass } from './chunk-B4K4BXEF.js';
|
|
3
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
4
4
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/components/feedback/overlay-header-tone.ts
|
|
2
|
+
var overlayHeaderToneClass = {
|
|
3
|
+
default: "",
|
|
4
|
+
success: "bg-success/10",
|
|
5
|
+
warning: "bg-warning/10",
|
|
6
|
+
destructive: "bg-destructive/10",
|
|
7
|
+
info: "bg-info/10",
|
|
8
|
+
muted: "bg-muted",
|
|
9
|
+
neutral: "bg-muted"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { overlayHeaderToneClass };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { formatBytes } from './chunk-FK5QEFVY.js';
|
|
2
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter } from './chunk-LCQFYL44.js';
|
|
3
1
|
import { Slider } from './chunk-CRERCLIZ.js';
|
|
2
|
+
import { formatBytes } from './chunk-GDHDJAVB.js';
|
|
3
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter } from './chunk-7MXIPSYM.js';
|
|
4
4
|
import { Button } from './chunk-M4PZNAMV.js';
|
|
5
|
-
import { controlIconClass } from './chunk-
|
|
6
|
-
import { useTranslation } from './chunk-
|
|
5
|
+
import { controlIconClass } from './chunk-B4K4BXEF.js';
|
|
6
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
7
7
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
8
8
|
import * as React2 from 'react';
|
|
9
9
|
import { Upload as Upload$1, ImagePlus, Camera, Trash2, RotateCcw, X } from 'lucide-react';
|
|
@@ -484,7 +484,7 @@ function Upload({
|
|
|
484
484
|
"aria-label": t("dataEntry.upload.avatarLabel"),
|
|
485
485
|
children: [
|
|
486
486
|
!showPlaceholder && item?.previewUrl ? /* @__PURE__ */ jsx("img", { src: item.previewUrl, alt: "", className: "size-full object-cover" }) : /* @__PURE__ */ jsx("span", { className: "text-muted-foreground flex size-full items-center justify-center", children: /* @__PURE__ */ jsx(Camera, { className: controlIconClass, "aria-hidden": "true" }) }),
|
|
487
|
-
!disabled && /* @__PURE__ */ jsx("span", { className: "absolute inset-x-0 bottom-0 bg-black/50 py-1 text-center text-
|
|
487
|
+
!disabled && /* @__PURE__ */ jsx("span", { className: "text-2xs absolute inset-x-0 bottom-0 bg-black/50 py-1 text-center text-white", children: t("dataEntry.upload.change") })
|
|
488
488
|
]
|
|
489
489
|
}
|
|
490
490
|
),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-
|
|
1
|
+
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-I2CYVA7B.js';
|
|
2
2
|
import { Button } from './chunk-M4PZNAMV.js';
|
|
3
|
-
import { useOptionalAppContext, useTranslation, APP_TIME_FORMAT_OPTIONS, getTimeFormatLabel, resolveTimezonePickerOptions, getTimezoneLabel, APP_LOCALES } from './chunk-
|
|
4
|
-
import { APP_DATE_FORMAT_OPTIONS, getDateFormatLabel } from './chunk-
|
|
3
|
+
import { useOptionalAppContext, useTranslation, APP_TIME_FORMAT_OPTIONS, getTimeFormatLabel, resolveTimezonePickerOptions, getTimezoneLabel, APP_LOCALES } from './chunk-H2TX3OPW.js';
|
|
4
|
+
import { APP_DATE_FORMAT_OPTIONS, getDateFormatLabel } from './chunk-JEIUEOTJ.js';
|
|
5
5
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { useId } from 'react';
|
|
@@ -106,6 +106,11 @@ var VOCABULARY_REGISTRY = {
|
|
|
106
106
|
category: "shared",
|
|
107
107
|
description: "Radix asChild polymorphism"
|
|
108
108
|
},
|
|
109
|
+
WidthProp: {
|
|
110
|
+
file: "vocabulary/shared.prop.ts",
|
|
111
|
+
category: "shared",
|
|
112
|
+
description: "Explicit layout length (number\u2192px | CSS string) \u2014 NOT the SizeProp tier"
|
|
113
|
+
},
|
|
109
114
|
// content.prop.ts
|
|
110
115
|
TitleProp: {
|
|
111
116
|
file: "vocabulary/content.prop.ts",
|
|
@@ -204,6 +209,16 @@ var VOCABULARY_REGISTRY = {
|
|
|
204
209
|
category: "interaction",
|
|
205
210
|
description: "Shared size names xs | sm | md | lg"
|
|
206
211
|
},
|
|
212
|
+
FormLayoutProp: {
|
|
213
|
+
file: "vocabulary/interaction.prop.ts",
|
|
214
|
+
category: "interaction",
|
|
215
|
+
description: "Form label layout: vertical | horizontal | inline"
|
|
216
|
+
},
|
|
217
|
+
BreakpointProp: {
|
|
218
|
+
file: "vocabulary/interaction.prop.ts",
|
|
219
|
+
category: "interaction",
|
|
220
|
+
description: "Responsive breakpoint name sm | md | lg | xl (mobile-first)"
|
|
221
|
+
},
|
|
207
222
|
ConfirmVariantProp: {
|
|
208
223
|
file: "vocabulary/interaction.prop.ts",
|
|
209
224
|
category: "interaction",
|
|
@@ -412,10 +427,23 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
412
427
|
file: "components/data-entry.prop.ts",
|
|
413
428
|
vocabulary: ["PlaceholderProp", "DisabledProp"]
|
|
414
429
|
},
|
|
430
|
+
FormProp: {
|
|
431
|
+
group: "data-entry",
|
|
432
|
+
file: "components/data-entry.prop.ts",
|
|
433
|
+
vocabulary: ["FormLayoutProp", "WidthProp", "BreakpointProp", "DensityProp"]
|
|
434
|
+
},
|
|
415
435
|
FormFieldProp: {
|
|
416
436
|
group: "data-entry",
|
|
417
437
|
file: "components/data-entry.prop.ts",
|
|
418
|
-
vocabulary: [
|
|
438
|
+
vocabulary: [
|
|
439
|
+
"IdProp",
|
|
440
|
+
"LabelProp",
|
|
441
|
+
"RequiredProp",
|
|
442
|
+
"HelperProp",
|
|
443
|
+
"ErrorProp",
|
|
444
|
+
"FormLayoutProp",
|
|
445
|
+
"WidthProp"
|
|
446
|
+
]
|
|
419
447
|
},
|
|
420
448
|
SearchInputProp: {
|
|
421
449
|
group: "data-entry",
|
|
@@ -496,7 +524,7 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
496
524
|
"IdProp",
|
|
497
525
|
"ClassNameProp"
|
|
498
526
|
],
|
|
499
|
-
note: "
|
|
527
|
+
note: "Internal \u2014 the searchable engine behind `<Select options showSearch>` (not public API); use Select."
|
|
500
528
|
},
|
|
501
529
|
SelectDataProp: {
|
|
502
530
|
group: "data-entry",
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { overlayHeaderToneClass } from './chunk-VU4GFGDG.js';
|
|
2
|
+
import { cn } from './chunk-U7N2A7A3.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
5
|
+
import { cva } from 'class-variance-authority';
|
|
6
|
+
import { X } from 'lucide-react';
|
|
7
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
var toCssLength = (v) => typeof v === "number" ? `${v}px` : v;
|
|
10
|
+
function Sheet(props) {
|
|
11
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
12
|
+
}
|
|
13
|
+
function SheetTrigger(props) {
|
|
14
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
15
|
+
}
|
|
16
|
+
function SheetClose(props) {
|
|
17
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Close, { "data-slot": "sheet-close", ...props });
|
|
18
|
+
}
|
|
19
|
+
function SheetPortal(props) {
|
|
20
|
+
return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
21
|
+
}
|
|
22
|
+
var SheetOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
23
|
+
DialogPrimitive.Overlay,
|
|
24
|
+
{
|
|
25
|
+
ref,
|
|
26
|
+
"data-slot": "sheet-overlay",
|
|
27
|
+
className: cn(
|
|
28
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
29
|
+
className
|
|
30
|
+
),
|
|
31
|
+
...props
|
|
32
|
+
}
|
|
33
|
+
));
|
|
34
|
+
SheetOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
35
|
+
var sheetVariants = cva(
|
|
36
|
+
"fixed z-50 flex flex-col gap-[var(--space-chrome-gap)] bg-background px-[var(--sheet-pad-x)] py-[var(--sheet-pad-y)] shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500",
|
|
37
|
+
{
|
|
38
|
+
variants: {
|
|
39
|
+
side: {
|
|
40
|
+
right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-md",
|
|
41
|
+
left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-md",
|
|
42
|
+
top: "inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
43
|
+
bottom: "inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
defaultVariants: { side: "right" }
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
var SheetContent = React.forwardRef(
|
|
50
|
+
({ side = "right", className, children, showCloseButton = true, width, style, ...props }, ref) => {
|
|
51
|
+
const horizontal = side === "left" || side === "right";
|
|
52
|
+
const widthSet = width != null && horizontal;
|
|
53
|
+
const mergedStyle = widthSet ? { ...style, ["--sheet-width"]: toCssLength(width) } : style;
|
|
54
|
+
return /* @__PURE__ */ jsxs(SheetPortal, { children: [
|
|
55
|
+
/* @__PURE__ */ jsx(SheetOverlay, {}),
|
|
56
|
+
/* @__PURE__ */ jsxs(
|
|
57
|
+
DialogPrimitive.Content,
|
|
58
|
+
{
|
|
59
|
+
ref,
|
|
60
|
+
"data-slot": "sheet-content",
|
|
61
|
+
style: mergedStyle,
|
|
62
|
+
className: cn(
|
|
63
|
+
sheetVariants({ side }),
|
|
64
|
+
// `width` caps at the viewport: full-width panel on a small screen, capped on a large one.
|
|
65
|
+
widthSet && "w-[min(var(--sheet-width),100%)] max-w-none sm:max-w-none",
|
|
66
|
+
className
|
|
67
|
+
),
|
|
68
|
+
...props,
|
|
69
|
+
children: [
|
|
70
|
+
children,
|
|
71
|
+
showCloseButton ? /* @__PURE__ */ jsxs(
|
|
72
|
+
DialogPrimitive.Close,
|
|
73
|
+
{
|
|
74
|
+
"data-slot": "sheet-close",
|
|
75
|
+
className: "ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",
|
|
76
|
+
children: [
|
|
77
|
+
/* @__PURE__ */ jsx(X, { className: "size-4", "aria-hidden": "true" }),
|
|
78
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
) : null
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
] });
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
SheetContent.displayName = DialogPrimitive.Content.displayName;
|
|
89
|
+
var SheetHeader = ({
|
|
90
|
+
className,
|
|
91
|
+
title,
|
|
92
|
+
subtitle,
|
|
93
|
+
extra,
|
|
94
|
+
tone = "default",
|
|
95
|
+
children,
|
|
96
|
+
...props
|
|
97
|
+
}) => {
|
|
98
|
+
return /* @__PURE__ */ jsx(
|
|
99
|
+
"div",
|
|
100
|
+
{
|
|
101
|
+
"data-slot": "sheet-header",
|
|
102
|
+
"data-tone": tone,
|
|
103
|
+
className: cn(
|
|
104
|
+
"border-border -mx-[var(--sheet-pad-x)] -mt-[var(--sheet-pad-y)] flex flex-col gap-1.5 border-b px-[var(--sheet-pad-x)] py-[var(--sheet-pad-y)]",
|
|
105
|
+
overlayHeaderToneClass[tone],
|
|
106
|
+
className
|
|
107
|
+
),
|
|
108
|
+
...props,
|
|
109
|
+
children: children ?? // `pe-8` reserves room for the absolute close button (end-4) so title/extra never sit under it.
|
|
110
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-3 pe-8", children: [
|
|
111
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-1", children: [
|
|
112
|
+
title != null && /* @__PURE__ */ jsx(SheetTitle, { children: title }),
|
|
113
|
+
subtitle != null && /* @__PURE__ */ jsx(SheetDescription, { children: subtitle })
|
|
114
|
+
] }),
|
|
115
|
+
extra != null && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2 whitespace-nowrap", children: extra })
|
|
116
|
+
] })
|
|
117
|
+
}
|
|
118
|
+
);
|
|
119
|
+
};
|
|
120
|
+
var SheetBody = ({ className, ...props }) => (
|
|
121
|
+
// Scrollable region between a fixed header and a pinned footer (rule #41). Full-bleed horizontally
|
|
122
|
+
// (`-mx-6 px-6`) so content aligns to the sheet edge while the 3px focus ring of a full-width
|
|
123
|
+
// control keeps 24px of room and never clips against the scroll container's computed
|
|
124
|
+
// `overflow-x`. `py-1`/`scroll-py-1` keep a focused control's ring visible at the scroll edges.
|
|
125
|
+
// Use this instead of a hand-rolled `<div className="overflow-y-auto">` (which clips rings).
|
|
126
|
+
/* @__PURE__ */ jsx(
|
|
127
|
+
"div",
|
|
128
|
+
{
|
|
129
|
+
"data-slot": "sheet-body",
|
|
130
|
+
className: cn(
|
|
131
|
+
"-mx-[var(--sheet-pad-x)] min-h-0 flex-1 scroll-py-1 overflow-y-auto px-[var(--sheet-pad-x)] py-1",
|
|
132
|
+
className
|
|
133
|
+
),
|
|
134
|
+
...props
|
|
135
|
+
}
|
|
136
|
+
)
|
|
137
|
+
);
|
|
138
|
+
var SheetFooter = ({ className, ...props }) => (
|
|
139
|
+
// Pinned action bar (Ant Design Drawer footer): sticks to the bottom, full-bleed top border, actions
|
|
140
|
+
// RIGHT-aligned (primary rightmost). A destructive / clear / reset action goes far-LEFT — give it
|
|
141
|
+
// `className="mr-auto"`. See cardinal rule "Drawer & dialog footer layout".
|
|
142
|
+
// Owns its full vertical padding (symmetric 16/16) via `py-4`; `-mb-6` cancels SheetContent's
|
|
143
|
+
// `p-6` bottom so the footer doesn't inherit an asymmetric 16-top / 24-bottom rhythm.
|
|
144
|
+
/* @__PURE__ */ jsx(
|
|
145
|
+
"div",
|
|
146
|
+
{
|
|
147
|
+
"data-slot": "sheet-footer",
|
|
148
|
+
className: cn(
|
|
149
|
+
"border-border -mx-[var(--sheet-pad-x)] mt-auto -mb-[var(--sheet-pad-y)] flex flex-wrap items-center justify-end gap-2 border-t px-[var(--sheet-pad-x)] py-[var(--sheet-pad-y)]",
|
|
150
|
+
className
|
|
151
|
+
),
|
|
152
|
+
...props
|
|
153
|
+
}
|
|
154
|
+
)
|
|
155
|
+
);
|
|
156
|
+
var SheetTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
157
|
+
DialogPrimitive.Title,
|
|
158
|
+
{
|
|
159
|
+
ref,
|
|
160
|
+
"data-slot": "sheet-title",
|
|
161
|
+
className: cn("text-foreground text-lg font-medium", className),
|
|
162
|
+
...props
|
|
163
|
+
}
|
|
164
|
+
));
|
|
165
|
+
SheetTitle.displayName = DialogPrimitive.Title.displayName;
|
|
166
|
+
var SheetDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
167
|
+
DialogPrimitive.Description,
|
|
168
|
+
{
|
|
169
|
+
ref,
|
|
170
|
+
"data-slot": "sheet-description",
|
|
171
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
172
|
+
...props
|
|
173
|
+
}
|
|
174
|
+
));
|
|
175
|
+
SheetDescription.displayName = DialogPrimitive.Description.displayName;
|
|
176
|
+
|
|
177
|
+
export { Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { humanError } from './chunk-
|
|
1
|
+
import { humanError } from './chunk-GDHDJAVB.js';
|
|
2
2
|
import { Flex } from './chunk-INIIF7F7.js';
|
|
3
3
|
import { Button } from './chunk-M4PZNAMV.js';
|
|
4
|
-
import { useTranslation } from './chunk-
|
|
4
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
5
5
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { Info, CheckCircle2, TriangleAlert, AlertCircle, X, RefreshCw } from 'lucide-react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Input } from './chunk-
|
|
1
|
+
import { Input } from './chunk-BNXPDUO4.js';
|
|
2
2
|
import { Label } from './chunk-7PWBC4BY.js';
|
|
3
|
-
import { useTranslation } from './chunk-
|
|
3
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
4
4
|
import { useDebouncedValue } from './chunk-LFW37FGG.js';
|
|
5
5
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
6
6
|
import * as React from 'react';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Input } from './chunk-
|
|
2
|
-
import { useTranslation } from './chunk-
|
|
1
|
+
import { Input } from './chunk-BNXPDUO4.js';
|
|
2
|
+
import { useTranslation } from './chunk-H2TX3OPW.js';
|
|
3
3
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
4
4
|
import * as React2 from 'react';
|
|
5
5
|
import { EyeOff, Eye, Minus, Star, X } from 'lucide-react';
|