@godxjp/ui 11.0.2 → 12.0.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/README.md +40 -12
- package/dist/app/index.d.ts +1 -5
- package/dist/app/index.js +4 -4
- package/dist/{checkbox-em-oFM5D.d.ts → checkbox-DPFcnsMZ.d.ts} +1 -1
- package/dist/{chunk-QVLUCB47.js → chunk-2JCSS6B4.js} +2 -2
- package/dist/{chunk-6CSBMMZS.js → chunk-3ELRYXJK.js} +27 -0
- package/dist/{chunk-NXVCI6YB.js → chunk-3LPY7YA4.js} +2 -2
- package/dist/chunk-BCBK4FLV.js +83 -0
- package/dist/{chunk-FAB3LMTK.js → chunk-F7BEIY7S.js} +3 -3
- package/dist/chunk-FK2JDABO.js +318 -0
- package/dist/{chunk-X2VY4MOW.js → chunk-FK5QEFVY.js} +2 -11
- package/dist/{chunk-SARQRCKO.js → chunk-FOANNF6Z.js} +1 -1
- package/dist/{chunk-DNGJHWJZ.js → chunk-FTOG7D4T.js} +4 -2
- package/dist/{chunk-PUGEOUWZ.js → chunk-I6HD36IU.js} +2 -2
- package/dist/{chunk-2HOTP7RL.js → chunk-JSQOCVM6.js} +4 -78
- package/dist/{chunk-Z46J47FY.js → chunk-L2MEN2VK.js} +1 -1
- package/dist/{chunk-3Q4A4U2P.js → chunk-MMFIL33F.js} +1 -1
- package/dist/{chunk-IHRMOJXD.js → chunk-N6ELT7KB.js} +0 -47
- package/dist/{chunk-UNVRNJCB.js → chunk-PO5ISUFA.js} +1 -1
- package/dist/{chunk-T2QO2S65.js → chunk-PY3CXDO2.js} +3 -3
- package/dist/{chunk-EE5DKOHX.js → chunk-SIUIIIQW.js} +1 -1
- package/dist/{chunk-HTG5VHU7.js → chunk-TXRYSMOD.js} +2 -6
- package/dist/{chunk-IY347EQA.js → chunk-UDEPO3UF.js} +1 -1
- package/dist/{chunk-BG5RNXTH.js → chunk-UJUWAQE5.js} +1 -1
- package/dist/{chunk-PDXFQS7M.js → chunk-VWDXRNOK.js} +4 -6
- package/dist/{chunk-QR7MITE6.js → chunk-WBUUCU7R.js} +52 -20
- package/dist/{chunk-54R5TEXH.js → chunk-WJNR3RAG.js} +40 -20
- package/dist/{chunk-USNR424B.js → chunk-XT2AI6WJ.js} +4 -11
- package/dist/{chunk-JWGLJXQU.js → chunk-XVD5SLDL.js} +1 -1
- package/dist/chunk-YD7V2HGZ.js +13 -0
- package/dist/{chunk-VSM44AYE.js → chunk-YGD4CCQC.js} +36 -15
- package/dist/components/admin/index.d.ts +7 -15
- package/dist/components/admin/index.js +28 -26
- package/dist/components/data-display/badge.js +3 -3
- package/dist/components/data-display/card.d.ts +2 -2
- package/dist/components/data-display/carousel.js +3 -3
- package/dist/components/data-display/index.js +8 -7
- package/dist/components/data-entry/calendar.d.ts +1 -1
- package/dist/components/data-entry/calendar.js +1 -1
- package/dist/components/data-entry/cascader.d.ts +1 -1
- package/dist/components/data-entry/cascader.js +3 -6
- package/dist/components/data-entry/checkbox.d.ts +2 -2
- package/dist/components/data-entry/color-picker.d.ts +1 -1
- package/dist/components/data-entry/color-picker.js +3 -3
- package/dist/components/data-entry/command.d.ts +10 -10
- package/dist/components/data-entry/date-picker.d.ts +1 -1
- package/dist/components/data-entry/date-picker.js +4 -4
- package/dist/components/data-entry/date-range-picker.d.ts +1 -1
- package/dist/components/data-entry/date-range-picker.js +4 -4
- package/dist/components/data-entry/index.d.ts +3 -3
- package/dist/components/data-entry/index.js +18 -17
- package/dist/components/data-entry/radio.d.ts +1 -1
- package/dist/components/data-entry/select.d.ts +1 -1
- package/dist/components/data-entry/select.js +4 -4
- package/dist/components/data-entry/slider.d.ts +1 -1
- package/dist/components/data-entry/switch.d.ts +1 -1
- package/dist/components/data-entry/time-input.js +2 -2
- package/dist/components/data-entry/time-picker.d.ts +1 -1
- package/dist/components/data-entry/time-picker.js +3 -3
- package/dist/components/data-entry/transfer.d.ts +2 -2
- package/dist/components/data-entry/transfer.js +5 -4
- package/dist/components/data-entry/tree-select.d.ts +1 -1
- package/dist/components/data-entry/tree-select.js +3 -3
- package/dist/components/data-entry/upload.d.ts +2 -2
- package/dist/components/data-entry/upload.js +5 -5
- package/dist/components/data-grid/index.d.ts +71 -0
- package/dist/components/data-grid/index.js +372 -0
- package/dist/components/feedback/alert.js +4 -4
- package/dist/components/feedback/dialog.js +3 -3
- package/dist/components/feedback/index.d.ts +3 -3
- package/dist/components/feedback/index.js +6 -6
- package/dist/components/layout/index.d.ts +3 -3
- package/dist/components/layout/index.js +5 -5
- package/dist/components/navigation/index.d.ts +2 -2
- package/dist/components/navigation/index.js +9 -9
- package/dist/components/navigation/pagination.d.ts +1 -1
- package/dist/components/navigation/pagination.js +5 -5
- package/dist/components/navigation/steps.d.ts +2 -2
- package/dist/components/navigation/steps.js +3 -3
- package/dist/components/query/index.d.ts +1 -2
- package/dist/components/query/index.js +4 -4
- package/dist/components/ui/index.d.ts +3 -3
- package/dist/components/ui/index.js +25 -25
- package/dist/{data-entry.prop-BR4vNA1j.d.ts → data-entry.prop-6J0o45se.d.ts} +3 -25
- package/dist/{filter-bar-BxjSJJnQ.d.ts → filter-bar-B07JSxME.d.ts} +1 -1
- package/dist/{flex-D_EXRFSW.d.ts → flex-DXtIALBh.d.ts} +1 -1
- package/dist/i18n/index.d.ts +10 -0
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +7 -7
- package/dist/index.js +37 -35
- package/dist/{layout.prop-JE2TcRyL.d.ts → layout.prop-B1yQPUNZ.d.ts} +2 -17
- package/dist/lib/datetime/index.js +1 -1
- package/dist/{navigation.prop-DMcXkR-J.d.ts → navigation.prop-Dumy196X.d.ts} +1 -5
- package/dist/props/components/index.d.ts +4 -4
- package/dist/props/index.d.ts +4 -4
- package/dist/props/index.js +2 -2
- package/dist/props/registry.d.ts +0 -47
- package/dist/props/registry.js +1 -1
- package/dist/{query.prop-BDdz9L1G.d.ts → query.prop-Dog-EAfG.d.ts} +2 -6
- package/dist/{search-input-C_x-JFD3.d.ts → search-input-BR4nAWiT.d.ts} +1 -1
- package/dist/styles/control.css +3 -8
- package/dist/styles/layout.css +7 -3
- package/dist/styles/navigation-layout.css +3 -3
- package/dist/styles/shell-layout.css +4 -4
- package/package.json +15 -3
- package/dist/chunk-5NCFLCM7.js +0 -255
- /package/dist/{chunk-7CFO5FFE.js → chunk-GJXOBDER.js} +0 -0
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getSyncedLocale, translateCurrent } from './chunk-3ELRYXJK.js';
|
|
2
2
|
|
|
3
3
|
// src/lib/format.ts
|
|
4
|
-
function formatDateTime(value, options) {
|
|
5
|
-
return formatDate(value, { ...options, kind: "datetime" });
|
|
6
|
-
}
|
|
7
|
-
function formatDateLong(value, options) {
|
|
8
|
-
return formatDate(value, { ...options, kind: "long" });
|
|
9
|
-
}
|
|
10
|
-
function formatRelative(value, options) {
|
|
11
|
-
return formatDate(value, { ...options, kind: "relative" });
|
|
12
|
-
}
|
|
13
4
|
function formatBytes(n, locale = getSyncedLocale()) {
|
|
14
5
|
if (n == null) return "\u2014";
|
|
15
6
|
const num = (digits, scaled) => new Intl.NumberFormat(locale, {
|
|
@@ -43,4 +34,4 @@ function humanError(err) {
|
|
|
43
34
|
return translateCurrent("feedback.genericError");
|
|
44
35
|
}
|
|
45
36
|
|
|
46
|
-
export { formatBytes, formatCurrency,
|
|
37
|
+
export { formatBytes, formatCurrency, humanError, shortId };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { controlIconClass } from './chunk-IBK5D2Q6.js';
|
|
2
|
-
import { useTranslation } from './chunk-
|
|
2
|
+
import { useTranslation } from './chunk-TXRYSMOD.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';
|
|
@@ -11,11 +11,12 @@ function Calendar({
|
|
|
11
11
|
showOutsideDays = true,
|
|
12
12
|
...props
|
|
13
13
|
}) {
|
|
14
|
+
const rangeDefaults = props.mode === "range" ? { resetOnSelect: props.resetOnSelect ?? true } : null;
|
|
14
15
|
return /* @__PURE__ */ jsx(
|
|
15
16
|
DayPicker,
|
|
16
17
|
{
|
|
17
18
|
showOutsideDays,
|
|
18
|
-
className: cn("p-3", className),
|
|
19
|
+
className: cn("w-fit p-3", className),
|
|
19
20
|
classNames: {
|
|
20
21
|
months: cn("flex flex-col gap-4 sm:flex-row", classNames?.months),
|
|
21
22
|
month: cn("relative flex flex-col gap-4", classNames?.month),
|
|
@@ -80,7 +81,8 @@ function Calendar({
|
|
|
80
81
|
return /* @__PURE__ */ jsx(Icon, { className: cn("size-4", chevronClassName), "aria-hidden": "true" });
|
|
81
82
|
}
|
|
82
83
|
},
|
|
83
|
-
...props
|
|
84
|
+
...props,
|
|
85
|
+
...rangeDefaults
|
|
84
86
|
}
|
|
85
87
|
);
|
|
86
88
|
}
|
|
@@ -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-TXRYSMOD.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';
|
|
@@ -1,88 +1,14 @@
|
|
|
1
|
+
import { SearchInput } from './chunk-BCBK4FLV.js';
|
|
1
2
|
import { reactNodeText } from './chunk-SMLKNECP.js';
|
|
2
|
-
import { Input } from './chunk-VOHTRR5X.js';
|
|
3
3
|
import { Checkbox } from './chunk-BE6GJGKJ.js';
|
|
4
4
|
import { Button } from './chunk-M4PZNAMV.js';
|
|
5
5
|
import { ScrollArea } from './chunk-3KPEZ5CF.js';
|
|
6
|
-
import {
|
|
7
|
-
import { useTranslation } from './chunk-HTG5VHU7.js';
|
|
8
|
-
import { useDebouncedValue } from './chunk-LFW37FGG.js';
|
|
6
|
+
import { useTranslation } from './chunk-TXRYSMOD.js';
|
|
9
7
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
10
8
|
import * as React from 'react';
|
|
11
|
-
import {
|
|
9
|
+
import { ChevronRight, ChevronLeft } from 'lucide-react';
|
|
12
10
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
13
11
|
|
|
14
|
-
function SearchInput({
|
|
15
|
-
value: controlledValue,
|
|
16
|
-
defaultValue = "",
|
|
17
|
-
placeholder,
|
|
18
|
-
debounce = 250,
|
|
19
|
-
onValueChange,
|
|
20
|
-
onSearch,
|
|
21
|
-
label,
|
|
22
|
-
ariaLabel,
|
|
23
|
-
className,
|
|
24
|
-
inputClassName,
|
|
25
|
-
id,
|
|
26
|
-
disabled = false
|
|
27
|
-
}) {
|
|
28
|
-
const { t } = useTranslation();
|
|
29
|
-
const isControlled = controlledValue !== void 0;
|
|
30
|
-
const [internal, setInternal] = React.useState(defaultValue);
|
|
31
|
-
const value = isControlled ? controlledValue : internal;
|
|
32
|
-
const debounced = useDebouncedValue(value, debounce);
|
|
33
|
-
const reactId = React.useId();
|
|
34
|
-
const inputId = id ?? `search-${reactId}`;
|
|
35
|
-
const resolvedPlaceholder = placeholder ?? t("dataEntry.searchInput.placeholder");
|
|
36
|
-
const resolvedAriaLabel = ariaLabel ?? t("common.search");
|
|
37
|
-
const onSearchRef = React.useRef(onSearch);
|
|
38
|
-
React.useEffect(() => {
|
|
39
|
-
onSearchRef.current = onSearch;
|
|
40
|
-
});
|
|
41
|
-
React.useEffect(() => {
|
|
42
|
-
onSearchRef.current(debounced);
|
|
43
|
-
}, [debounced]);
|
|
44
|
-
const setValue = (v) => {
|
|
45
|
-
if (!isControlled) setInternal(v);
|
|
46
|
-
onValueChange?.(v);
|
|
47
|
-
};
|
|
48
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("ui-search-input", className), children: [
|
|
49
|
-
label !== void 0 ? /* @__PURE__ */ jsx(Label, { htmlFor: inputId, className: "ui-search-input-label", children: label }) : /* @__PURE__ */ jsx(Label, { htmlFor: inputId, className: "sr-only", children: resolvedAriaLabel }),
|
|
50
|
-
/* @__PURE__ */ jsxs("div", { className: "ui-search-input-field", children: [
|
|
51
|
-
/* @__PURE__ */ jsx(Search, { className: "ui-search-input-icon", "aria-hidden": "true" }),
|
|
52
|
-
/* @__PURE__ */ jsx(
|
|
53
|
-
Input,
|
|
54
|
-
{
|
|
55
|
-
id: inputId,
|
|
56
|
-
type: "text",
|
|
57
|
-
role: "searchbox",
|
|
58
|
-
value,
|
|
59
|
-
onChange: (e) => {
|
|
60
|
-
setValue(e.target.value);
|
|
61
|
-
},
|
|
62
|
-
placeholder: resolvedPlaceholder,
|
|
63
|
-
"aria-label": resolvedAriaLabel,
|
|
64
|
-
className: cn(
|
|
65
|
-
"ui-search-input-control !pr-[var(--search-input-end-padding)] !pl-[var(--search-input-start-padding)]",
|
|
66
|
-
inputClassName
|
|
67
|
-
),
|
|
68
|
-
disabled
|
|
69
|
-
}
|
|
70
|
-
),
|
|
71
|
-
value && !disabled && /* @__PURE__ */ jsx(
|
|
72
|
-
"button",
|
|
73
|
-
{
|
|
74
|
-
type: "button",
|
|
75
|
-
onClick: () => {
|
|
76
|
-
setValue("");
|
|
77
|
-
},
|
|
78
|
-
"aria-label": t("common.clearSearch"),
|
|
79
|
-
className: "ui-search-input-clear",
|
|
80
|
-
children: /* @__PURE__ */ jsx(X, {})
|
|
81
|
-
}
|
|
82
|
-
)
|
|
83
|
-
] })
|
|
84
|
-
] });
|
|
85
|
-
}
|
|
86
12
|
function TransferPanel({
|
|
87
13
|
title,
|
|
88
14
|
items,
|
|
@@ -264,4 +190,4 @@ function Transfer({
|
|
|
264
190
|
] });
|
|
265
191
|
}
|
|
266
192
|
|
|
267
|
-
export {
|
|
193
|
+
export { Transfer };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Input } from './chunk-VOHTRR5X.js';
|
|
2
|
-
import { useTranslation } from './chunk-
|
|
2
|
+
import { useTranslation } from './chunk-TXRYSMOD.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';
|
|
@@ -337,8 +337,6 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
337
337
|
"PageContainerVariantProp"
|
|
338
338
|
]
|
|
339
339
|
},
|
|
340
|
-
StackProp: { group: "layout", file: "components/layout.prop.ts", vocabulary: ["GapProp"] },
|
|
341
|
-
InlineProp: { group: "layout", file: "components/layout.prop.ts", vocabulary: ["GapProp"] },
|
|
342
340
|
FlexDirectionProp: { group: "layout", file: "components/layout.prop.ts", vocabulary: [] },
|
|
343
341
|
FlexAlignProp: { group: "layout", file: "components/layout.prop.ts", vocabulary: [] },
|
|
344
342
|
FlexJustifyProp: { group: "layout", file: "components/layout.prop.ts", vocabulary: [] },
|
|
@@ -399,12 +397,6 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
399
397
|
file: "components/layout.prop.ts",
|
|
400
398
|
vocabulary: ["ChildrenProp", "OnOpenChangeProp", "OnValueChangeProp"]
|
|
401
399
|
},
|
|
402
|
-
PageHeaderProp: {
|
|
403
|
-
group: "layout",
|
|
404
|
-
file: "components/layout.prop.ts",
|
|
405
|
-
vocabulary: ["TitleProp", "SubtitleProp", "ExtraProp", "BreadcrumbProp"],
|
|
406
|
-
deprecated: true
|
|
407
|
-
},
|
|
408
400
|
ButtonProp: {
|
|
409
401
|
group: "general",
|
|
410
402
|
file: "components/general.prop.ts",
|
|
@@ -491,25 +483,6 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
491
483
|
file: "components/data-entry.prop.ts",
|
|
492
484
|
vocabulary: ["ValueProp", "OnValueChangeProp", "DisabledProp", "IdProp"]
|
|
493
485
|
},
|
|
494
|
-
AutocompleteProp: {
|
|
495
|
-
group: "data-entry",
|
|
496
|
-
file: "components/data-entry.prop.ts",
|
|
497
|
-
vocabulary: [
|
|
498
|
-
"PlaceholderProp",
|
|
499
|
-
"ValueProp",
|
|
500
|
-
"OnValueChangeProp",
|
|
501
|
-
"DisabledProp",
|
|
502
|
-
"IdProp",
|
|
503
|
-
"EmptyMessageProp",
|
|
504
|
-
"ClassNameProp"
|
|
505
|
-
],
|
|
506
|
-
note: "Deprecated \u2014 a thin wrapper over SearchSelect (static options)."
|
|
507
|
-
},
|
|
508
|
-
AutocompleteOptionProp: {
|
|
509
|
-
group: "data-entry",
|
|
510
|
-
file: "components/data-entry.prop.ts",
|
|
511
|
-
vocabulary: ["ValueProp", "LabelProp"]
|
|
512
|
-
},
|
|
513
486
|
SearchSelectProp: {
|
|
514
487
|
group: "data-entry",
|
|
515
488
|
file: "components/data-entry.prop.ts",
|
|
@@ -693,11 +666,6 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
693
666
|
"ClassNameProp"
|
|
694
667
|
]
|
|
695
668
|
},
|
|
696
|
-
MutationFeedbackProp: {
|
|
697
|
-
group: "query",
|
|
698
|
-
file: "components/query.prop.ts",
|
|
699
|
-
vocabulary: ["OnValueChangeProp"]
|
|
700
|
-
},
|
|
701
669
|
ButtonRefetchProp: {
|
|
702
670
|
group: "query",
|
|
703
671
|
file: "components/query.prop.ts",
|
|
@@ -710,11 +678,6 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
710
678
|
"LabelProp"
|
|
711
679
|
]
|
|
712
680
|
},
|
|
713
|
-
QueryRefetchButtonProp: {
|
|
714
|
-
group: "query",
|
|
715
|
-
file: "components/query.prop.ts",
|
|
716
|
-
vocabulary: ["LabelProp", "ClassNameProp"]
|
|
717
|
-
},
|
|
718
681
|
InfiniteQueryStateProp: {
|
|
719
682
|
group: "query",
|
|
720
683
|
file: "components/query.prop.ts",
|
|
@@ -759,16 +722,6 @@ var COMPONENT_PROP_REGISTRY = {
|
|
|
759
722
|
vocabulary: ["ClassNameProp", "ChildrenProp"]
|
|
760
723
|
},
|
|
761
724
|
SkeletonRowsProp: { group: "feedback", file: "components/feedback.prop.ts", vocabulary: [] },
|
|
762
|
-
FilterBarProp: {
|
|
763
|
-
group: "navigation",
|
|
764
|
-
file: "components/navigation.prop.ts",
|
|
765
|
-
vocabulary: ["OnClearFiltersProp", "HasActiveFiltersProp", "ChildrenProp"]
|
|
766
|
-
},
|
|
767
|
-
FilterGroupProp: {
|
|
768
|
-
group: "navigation",
|
|
769
|
-
file: "components/navigation.prop.ts",
|
|
770
|
-
vocabulary: ["LabelProp", "ChildrenProp"]
|
|
771
|
-
},
|
|
772
725
|
ToolbarProp: {
|
|
773
726
|
group: "navigation",
|
|
774
727
|
file: "components/navigation.prop.ts",
|
|
@@ -4,7 +4,7 @@ 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 { useTranslation } from './chunk-
|
|
7
|
+
import { useTranslation } from './chunk-TXRYSMOD.js';
|
|
8
8
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
9
9
|
import * as React from 'react';
|
|
10
10
|
import { X, ChevronsUpDown, ChevronDown, ChevronRight } from 'lucide-react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-
|
|
1
|
+
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-3LPY7YA4.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-TXRYSMOD.js';
|
|
4
|
+
import { APP_DATE_FORMAT_OPTIONS, getDateFormatLabel } from './chunk-3ELRYXJK.js';
|
|
5
5
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { useId } from 'react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Input } from './chunk-VOHTRR5X.js';
|
|
2
2
|
import { controlIconClass } from './chunk-IBK5D2Q6.js';
|
|
3
|
-
import { useTranslation } from './chunk-
|
|
3
|
+
import { useTranslation } from './chunk-TXRYSMOD.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';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APP_TIME_FORMATS, isAppDateFormat, isAppTimeFormat, isAppLocale, translate, getDateFnsLocale, syncI18nLocale, syncDatetimeContext, disableLiveRelativeFormatting, enableLiveRelativeFormatting, getDayPickerLocale, APP_REQUEST_HEADER_DATE_FORMAT, APP_REQUEST_HEADER_TIME_FORMAT, resolveDefaultDateFormat } from './chunk-
|
|
1
|
+
import { APP_TIME_FORMATS, isAppDateFormat, isAppTimeFormat, isAppLocale, translate, getDateFnsLocale, syncI18nLocale, syncDatetimeContext, disableLiveRelativeFormatting, enableLiveRelativeFormatting, getDayPickerLocale, APP_REQUEST_HEADER_DATE_FORMAT, APP_REQUEST_HEADER_TIME_FORMAT, resolveDefaultDateFormat } from './chunk-3ELRYXJK.js';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -111,7 +111,6 @@ var APP_TIMEZONE_PRESET = [
|
|
|
111
111
|
"Australia/Perth",
|
|
112
112
|
"Pacific/Auckland"
|
|
113
113
|
];
|
|
114
|
-
var APP_TIMEZONE_OPTIONS = APP_TIMEZONE_PRESET;
|
|
115
114
|
var TIMEZONE_ALIASES = {
|
|
116
115
|
"Asia/Ho_Chi_Minh": "Asia/Saigon"
|
|
117
116
|
};
|
|
@@ -155,9 +154,6 @@ function isValidIanaTimezone(value) {
|
|
|
155
154
|
const canonical = TIMEZONE_ALIASES[value];
|
|
156
155
|
return canonical ? set.has(canonical) : false;
|
|
157
156
|
}
|
|
158
|
-
function isKnownAppTimezone(value) {
|
|
159
|
-
return APP_TIMEZONE_PRESET.includes(value);
|
|
160
|
-
}
|
|
161
157
|
function resolveTimezonePickerOptions(configured, current) {
|
|
162
158
|
const base = configured && configured.length > 0 ? [...configured] : [...getAllIanaTimezones()];
|
|
163
159
|
if (current && !base.includes(current)) {
|
|
@@ -465,4 +461,4 @@ function usePickerLocales(dayPickerOverride) {
|
|
|
465
461
|
);
|
|
466
462
|
}
|
|
467
463
|
|
|
468
|
-
export { APP_LOCALES, APP_REQUEST_HEADER_LOCALE, APP_REQUEST_HEADER_TIMEZONE,
|
|
464
|
+
export { APP_LOCALES, APP_REQUEST_HEADER_LOCALE, APP_REQUEST_HEADER_TIMEZONE, APP_TIMEZONE_PRESET, APP_TIME_FORMAT_OPTIONS, AppProvider, DEFAULT_STORAGE_KEY, TIMEZONE_ALIASES, formatTimezoneDisplayLabel, getAllIanaTimezones, getAppRequestHeaders, getBrowserTimezone, getTimeFormatLabel, getTimezoneCityName, getTimezoneLabel, getTimezoneOffsetLabel, isValidIanaTimezone, readStoredPreferences, resetAppRequestHeaders, resetIanaTimezoneCacheForTests, resolveDefaultTimeFormat, resolveDefaultTimezone, resolveTimezoneForIntl, resolveTimezonePickerOptions, syncAppRequestHeaders, useAppContext, useAppDateFormat, useAppLocale, useAppTimeFormat, useAppTimezone, useOptionalAppContext, usePickerLocales, useTranslation, writeStoredPreferences };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toneNeutralClass, toneMutedClass, toneInfoClass, toneDestructiveClass, toneWarningClass, toneSuccessClass } from './chunk-IBK5D2Q6.js';
|
|
2
|
-
import { useTranslation } from './chunk-
|
|
2
|
+
import { useTranslation } from './chunk-TXRYSMOD.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';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Input } from './chunk-VOHTRR5X.js';
|
|
2
2
|
import { buttonVariants, Button } from './chunk-M4PZNAMV.js';
|
|
3
3
|
import { Label } from './chunk-7PWBC4BY.js';
|
|
4
|
-
import { useTranslation } from './chunk-
|
|
4
|
+
import { useTranslation } from './chunk-TXRYSMOD.js';
|
|
5
5
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-
|
|
1
|
+
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-3LPY7YA4.js';
|
|
2
2
|
import { Button } from './chunk-M4PZNAMV.js';
|
|
3
|
-
import { useTranslation } from './chunk-
|
|
3
|
+
import { useTranslation } from './chunk-TXRYSMOD.js';
|
|
4
4
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { MoreHorizontal, ChevronLeft, ChevronRight } from 'lucide-react';
|
|
@@ -48,7 +48,7 @@ var PaginationLink = React.forwardRef(
|
|
|
48
48
|
disabled: disabled || void 0,
|
|
49
49
|
"data-state": disabled ? "disabled" : void 0,
|
|
50
50
|
className: cn(
|
|
51
|
-
"ui-pagination-link ui-
|
|
51
|
+
"ui-pagination-link ui-pagination-page",
|
|
52
52
|
isActive ? "ui-pagination-link-active" : void 0,
|
|
53
53
|
disabled ? "ui-pagination-link-disabled" : void 0,
|
|
54
54
|
className
|
|
@@ -63,7 +63,7 @@ PaginationLink.displayName = "PaginationLink";
|
|
|
63
63
|
var PaginationEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
64
64
|
"span",
|
|
65
65
|
{
|
|
66
|
-
className: cn("ui-pagination-ellipsis
|
|
66
|
+
className: cn("ui-pagination-ellipsis", className),
|
|
67
67
|
"aria-hidden": "true",
|
|
68
68
|
role: "presentation",
|
|
69
69
|
...props,
|
|
@@ -196,7 +196,6 @@ function Pagination({
|
|
|
196
196
|
{
|
|
197
197
|
"aria-label": t("navigation.pagination.prev"),
|
|
198
198
|
onClick: () => go(safeCurrent - 1),
|
|
199
|
-
className: "ui-button--compact-icon",
|
|
200
199
|
disabled: Boolean(disabled) || safeCurrent <= 1,
|
|
201
200
|
children: /* @__PURE__ */ jsx(ChevronLeft, { "aria-hidden": "true" })
|
|
202
201
|
}
|
|
@@ -220,7 +219,6 @@ function Pagination({
|
|
|
220
219
|
{
|
|
221
220
|
"aria-label": t("navigation.pagination.next"),
|
|
222
221
|
onClick: () => go(safeCurrent + 1),
|
|
223
|
-
className: "ui-button--compact-icon",
|
|
224
222
|
disabled: Boolean(disabled) || safeCurrent >= totalPages,
|
|
225
223
|
children: /* @__PURE__ */ jsx(ChevronRight, { "aria-hidden": "true" })
|
|
226
224
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Calendar } from './chunk-
|
|
1
|
+
import { Calendar } from './chunk-FTOG7D4T.js';
|
|
2
2
|
import { Input } from './chunk-VOHTRR5X.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-TXRYSMOD.js';
|
|
6
|
+
import { toIsoDate, parseDateInput } from './chunk-3ELRYXJK.js';
|
|
7
7
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
8
8
|
import * as React from 'react';
|
|
9
9
|
import { CalendarIcon } from 'lucide-react';
|
|
@@ -60,6 +60,17 @@ function DateRangePicker({
|
|
|
60
60
|
autoComplete: "off",
|
|
61
61
|
"aria-label": t("dataEntry.dateRangePicker.from") ?? "From",
|
|
62
62
|
className: "tabular-nums",
|
|
63
|
+
onClick: () => {
|
|
64
|
+
if (!disabled) setOpen(true);
|
|
65
|
+
},
|
|
66
|
+
onKeyDown: (event) => {
|
|
67
|
+
if (event.key === "ArrowDown") {
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
setOpen(true);
|
|
70
|
+
} else if (event.key === "Escape" && open) {
|
|
71
|
+
setOpen(false);
|
|
72
|
+
}
|
|
73
|
+
},
|
|
63
74
|
onChange: (event) => {
|
|
64
75
|
setFromText(event.target.value);
|
|
65
76
|
commitEdge("from", event.target.value);
|
|
@@ -82,6 +93,17 @@ function DateRangePicker({
|
|
|
82
93
|
autoComplete: "off",
|
|
83
94
|
"aria-label": t("dataEntry.dateRangePicker.to") ?? "To",
|
|
84
95
|
className: "tabular-nums",
|
|
96
|
+
onClick: () => {
|
|
97
|
+
if (!disabled) setOpen(true);
|
|
98
|
+
},
|
|
99
|
+
onKeyDown: (event) => {
|
|
100
|
+
if (event.key === "ArrowDown") {
|
|
101
|
+
event.preventDefault();
|
|
102
|
+
setOpen(true);
|
|
103
|
+
} else if (event.key === "Escape" && open) {
|
|
104
|
+
setOpen(false);
|
|
105
|
+
}
|
|
106
|
+
},
|
|
85
107
|
onChange: (event) => {
|
|
86
108
|
setToText(event.target.value);
|
|
87
109
|
commitEdge("to", event.target.value);
|
|
@@ -106,25 +128,35 @@ function DateRangePicker({
|
|
|
106
128
|
children: /* @__PURE__ */ jsx(CalendarIcon, { className: "size-4 shrink-0", "aria-hidden": "true" })
|
|
107
129
|
}
|
|
108
130
|
) }),
|
|
109
|
-
/* @__PURE__ */ jsx(
|
|
110
|
-
|
|
131
|
+
/* @__PURE__ */ jsx(
|
|
132
|
+
PopoverContent,
|
|
111
133
|
{
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
134
|
+
className: "w-auto p-0",
|
|
135
|
+
align: "end",
|
|
136
|
+
onOpenAutoFocus: (event) => event.preventDefault(),
|
|
137
|
+
children: /* @__PURE__ */ jsx(
|
|
138
|
+
Calendar,
|
|
139
|
+
{
|
|
140
|
+
mode: "range",
|
|
141
|
+
selected: value,
|
|
142
|
+
defaultMonth: value?.from,
|
|
143
|
+
numberOfMonths: 2,
|
|
144
|
+
onSelect: (range) => {
|
|
145
|
+
emit(range);
|
|
146
|
+
setFromText(toIsoDate(range?.from));
|
|
147
|
+
setToText(toIsoDate(range?.to));
|
|
148
|
+
},
|
|
149
|
+
locale: dayPickerLocale,
|
|
150
|
+
disabled: [
|
|
151
|
+
...fromDate ? [{ before: fromDate }] : [],
|
|
152
|
+
...toDate ? [{ after: toDate }] : []
|
|
153
|
+
],
|
|
154
|
+
startMonth: fromDate,
|
|
155
|
+
endMonth: toDate
|
|
156
|
+
}
|
|
157
|
+
)
|
|
126
158
|
}
|
|
127
|
-
)
|
|
159
|
+
)
|
|
128
160
|
] })
|
|
129
161
|
] });
|
|
130
162
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Calendar } from './chunk-
|
|
1
|
+
import { Calendar } from './chunk-FTOG7D4T.js';
|
|
2
2
|
import { Input } from './chunk-VOHTRR5X.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-TXRYSMOD.js';
|
|
6
|
+
import { toIsoDate, parseDateInput } from './chunk-3ELRYXJK.js';
|
|
7
7
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
8
8
|
import * as React from 'react';
|
|
9
9
|
import { CalendarIcon } from 'lucide-react';
|
|
@@ -65,6 +65,17 @@ function DatePicker({
|
|
|
65
65
|
"aria-expanded": open,
|
|
66
66
|
"aria-haspopup": "dialog",
|
|
67
67
|
className: "pe-10",
|
|
68
|
+
onClick: () => {
|
|
69
|
+
if (!disabled) setOpen(true);
|
|
70
|
+
},
|
|
71
|
+
onKeyDown: (event) => {
|
|
72
|
+
if (event.key === "ArrowDown") {
|
|
73
|
+
event.preventDefault();
|
|
74
|
+
setOpen(true);
|
|
75
|
+
} else if (event.key === "Escape" && open) {
|
|
76
|
+
setOpen(false);
|
|
77
|
+
}
|
|
78
|
+
},
|
|
68
79
|
onChange: (event) => {
|
|
69
80
|
setText(event.target.value);
|
|
70
81
|
commit(event.target.value);
|
|
@@ -89,25 +100,34 @@ function DatePicker({
|
|
|
89
100
|
children: /* @__PURE__ */ jsx(CalendarIcon, { className: "size-4 shrink-0", "aria-hidden": "true" })
|
|
90
101
|
}
|
|
91
102
|
) }),
|
|
92
|
-
/* @__PURE__ */ jsx(
|
|
93
|
-
|
|
103
|
+
/* @__PURE__ */ jsx(
|
|
104
|
+
PopoverContent,
|
|
94
105
|
{
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
className: "w-auto p-0",
|
|
107
|
+
align: "end",
|
|
108
|
+
onOpenAutoFocus: (event) => event.preventDefault(),
|
|
109
|
+
children: /* @__PURE__ */ jsx(
|
|
110
|
+
Calendar,
|
|
111
|
+
{
|
|
112
|
+
mode: "single",
|
|
113
|
+
selected: value,
|
|
114
|
+
defaultMonth: value,
|
|
115
|
+
onSelect: (date) => {
|
|
116
|
+
emit(date);
|
|
117
|
+
setText(toIsoDate(date));
|
|
118
|
+
setOpen(false);
|
|
119
|
+
},
|
|
120
|
+
locale: dayPickerLocale,
|
|
121
|
+
disabled: [
|
|
122
|
+
...fromDate ? [{ before: fromDate }] : [],
|
|
123
|
+
...toDate ? [{ after: toDate }] : []
|
|
124
|
+
],
|
|
125
|
+
startMonth: fromDate,
|
|
126
|
+
endMonth: toDate
|
|
127
|
+
}
|
|
128
|
+
)
|
|
109
129
|
}
|
|
110
|
-
)
|
|
130
|
+
)
|
|
111
131
|
] })
|
|
112
132
|
] });
|
|
113
133
|
}
|
|
@@ -1,22 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EmptyState } from './chunk-YD7V2HGZ.js';
|
|
2
2
|
import { Checkbox } from './chunk-BE6GJGKJ.js';
|
|
3
|
+
import { Flex, densityClass } from './chunk-INIIF7F7.js';
|
|
3
4
|
import { Button } from './chunk-M4PZNAMV.js';
|
|
4
5
|
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-4MMIMZMK.js';
|
|
5
6
|
import { tableCellPaddingClass, tableRowHeightClass, controlIconSmClass } from './chunk-IBK5D2Q6.js';
|
|
6
|
-
import { useTranslation } from './chunk-
|
|
7
|
+
import { useTranslation } from './chunk-TXRYSMOD.js';
|
|
7
8
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
8
9
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
10
|
import * as React from 'react';
|
|
10
11
|
import { Layers, Layers2, ArrowUp, ArrowDown, ChevronsUpDown, MoreHorizontal } from 'lucide-react';
|
|
11
12
|
|
|
12
|
-
function EmptyState({ icon: Icon, title, description, action, className }) {
|
|
13
|
-
return /* @__PURE__ */ jsxs("div", { "data-slot": "empty-state", role: "status", className: cn("ui-empty-state", className), children: [
|
|
14
|
-
Icon && /* @__PURE__ */ jsx("div", { className: "ui-empty-state-icon", children: /* @__PURE__ */ jsx(Icon, { className: "text-muted-foreground size-6", "aria-hidden": "true" }) }),
|
|
15
|
-
/* @__PURE__ */ jsx("h3", { className: "ui-empty-state-title", children: title }),
|
|
16
|
-
description && /* @__PURE__ */ jsx("p", { className: "ui-empty-state-description", children: description }),
|
|
17
|
-
action && /* @__PURE__ */ jsx("div", { children: action })
|
|
18
|
-
] });
|
|
19
|
-
}
|
|
20
13
|
function Descriptions({ columns = 2, className, children }) {
|
|
21
14
|
const colsClass = columns === 1 ? "grid-cols-1" : columns === 3 ? "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3" : "grid-cols-1 sm:grid-cols-2";
|
|
22
15
|
return /* @__PURE__ */ jsx("dl", { className: cn("grid gap-x-6 gap-y-3", colsClass, className), children });
|
|
@@ -390,4 +383,4 @@ DataTable.RowActions = function DataTableRowActions({ ariaLabel, children }) {
|
|
|
390
383
|
};
|
|
391
384
|
DataTable.RowActions.displayName = "DataTable.RowActions";
|
|
392
385
|
|
|
393
|
-
export { DataTable, Descriptions
|
|
386
|
+
export { DataTable, Descriptions };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { cn } from './chunk-U7N2A7A3.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
function EmptyState({ icon: Icon, title, description, action, className }) {
|
|
5
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "empty-state", role: "status", className: cn("ui-empty-state", className), children: [
|
|
6
|
+
Icon && /* @__PURE__ */ jsx("div", { className: "ui-empty-state-icon", children: /* @__PURE__ */ jsx(Icon, { className: "text-muted-foreground size-6", "aria-hidden": "true" }) }),
|
|
7
|
+
/* @__PURE__ */ jsx("h3", { className: "ui-empty-state-title", children: title }),
|
|
8
|
+
description && /* @__PURE__ */ jsx("p", { className: "ui-empty-state-description", children: description }),
|
|
9
|
+
action && /* @__PURE__ */ jsx("div", { children: action })
|
|
10
|
+
] });
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { EmptyState };
|