@godxjp/ui 6.1.2 → 6.2.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.js +4 -4
- package/dist/{checkbox-NkFkqsQ8.d.ts → checkbox-CoHDi3ao.d.ts} +1 -1
- package/dist/{chunk-DABP4NQF.js → chunk-2476DOOA.js} +2 -2
- package/dist/{chunk-7LB5XDO7.js → chunk-2D72MDPB.js} +2 -2
- package/dist/{chunk-3F2AKYRD.js → chunk-32UNYHGY.js} +62 -19
- package/dist/{chunk-OXKQMFKV.js → chunk-66KBGNJT.js} +4 -4
- package/dist/{chunk-E7LTWRYF.js → chunk-7JN4JXK6.js} +1 -1
- package/dist/{chunk-YFCQKO3B.js → chunk-7OTWYSVX.js} +18 -3
- package/dist/{chunk-KA563UHL.js → chunk-ACNKID6V.js} +3 -3
- package/dist/{chunk-GDSVW62T.js → chunk-BXIE57HV.js} +1 -1
- package/dist/{chunk-E4HJNQ62.js → chunk-FBGBDFNL.js} +2 -2
- package/dist/{chunk-DU6ZYZRP.js → chunk-FRFUSXBH.js} +1 -1
- package/dist/{chunk-TOO5AEKL.js → chunk-GV2YQLH2.js} +1 -1
- package/dist/{chunk-JEA3QDRW.js → chunk-GVKKQ6MU.js} +1 -1
- package/dist/{chunk-7NZFVD24.js → chunk-GXHZAJUA.js} +22 -1
- package/dist/{chunk-DKO4OFVM.js → chunk-HNH4PJSV.js} +3 -3
- package/dist/{chunk-7S7MYFXE.js → chunk-IGOP3HFF.js} +1 -1
- package/dist/{chunk-H2FHJOLU.js → chunk-JVAOKBRC.js} +2 -2
- package/dist/{chunk-LVNUHUEZ.js → chunk-JZCFDGIB.js} +2 -2
- package/dist/{chunk-WXCYI3YN.js → chunk-R5QIUFML.js} +2 -2
- package/dist/{chunk-XDYZ3X2E.js → chunk-XAFIIWZU.js} +6 -3
- package/dist/{chunk-RTRZZ2IZ.js → chunk-ZOBDO3KZ.js} +1 -1
- package/dist/components/admin/index.d.ts +7 -7
- package/dist/components/admin/index.js +19 -19
- package/dist/components/data-display/card.d.ts +3 -1
- package/dist/components/data-display/card.js +1 -1
- package/dist/components/data-display/index.d.ts +4 -4
- package/dist/components/data-display/index.js +6 -6
- package/dist/components/data-entry/autocomplete.d.ts +2 -2
- package/dist/components/data-entry/autocomplete.js +4 -4
- package/dist/components/data-entry/calendar.d.ts +2 -2
- package/dist/components/data-entry/calendar.js +2 -2
- package/dist/components/data-entry/cascader.d.ts +2 -2
- package/dist/components/data-entry/cascader.js +5 -5
- package/dist/components/data-entry/checkbox.d.ts +3 -3
- package/dist/components/data-entry/color-picker.d.ts +2 -2
- package/dist/components/data-entry/color-picker.js +3 -3
- package/dist/components/data-entry/date-picker.d.ts +2 -2
- package/dist/components/data-entry/date-picker.js +5 -5
- package/dist/components/data-entry/date-range-picker.d.ts +2 -2
- package/dist/components/data-entry/date-range-picker.js +5 -5
- package/dist/components/data-entry/index.d.ts +5 -5
- package/dist/components/data-entry/index.js +17 -17
- package/dist/components/data-entry/radio.d.ts +2 -2
- package/dist/components/data-entry/slider.d.ts +2 -2
- package/dist/components/data-entry/switch.d.ts +2 -2
- package/dist/components/data-entry/time-picker.d.ts +2 -2
- package/dist/components/data-entry/time-picker.js +3 -3
- package/dist/components/data-entry/transfer.d.ts +3 -3
- package/dist/components/data-entry/transfer.js +3 -3
- package/dist/components/data-entry/tree-select.d.ts +2 -2
- package/dist/components/data-entry/tree-select.js +5 -5
- package/dist/components/data-entry/upload.d.ts +3 -3
- package/dist/components/data-entry/upload.js +6 -6
- package/dist/components/feedback/alert.js +4 -4
- package/dist/components/feedback/dialog.js +3 -3
- package/dist/components/feedback/index.js +6 -6
- package/dist/components/layout/index.js +1 -1
- package/dist/components/navigation/index.d.ts +3 -3
- package/dist/components/navigation/index.js +7 -7
- package/dist/components/navigation/pagination.d.ts +2 -2
- package/dist/components/navigation/pagination.js +4 -4
- package/dist/components/navigation/steps.d.ts +3 -3
- package/dist/components/navigation/tabs-items.d.ts +2 -2
- package/dist/components/query/index.js +5 -5
- package/dist/components/ui/index.d.ts +4 -4
- package/dist/components/ui/index.js +18 -18
- package/dist/{data-display.prop-DNTAzmDy.d.ts → data-display.prop-Cvi2Mrfw.d.ts} +1 -1
- package/dist/{data-entry.prop-BEGA1lTq.d.ts → data-entry.prop-CRbHLb39.d.ts} +1 -1
- package/dist/{data-table-DiiZAD3v.d.ts → data-table-Pd62B4WQ.d.ts} +2 -2
- package/dist/{data.prop-BVvfKC_g.d.ts → data.prop-BmLaGLb7.d.ts} +1 -0
- package/dist/{filter-bar-B7OGFO9S.d.ts → filter-bar-XpspcQdZ.d.ts} +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +7 -7
- package/dist/index.js +19 -19
- package/dist/lib/datetime/index.d.ts +3 -1
- package/dist/lib/datetime/index.js +1 -1
- package/dist/{navigation.prop-DpZqcXey.d.ts → navigation.prop-Ck5_gSfs.d.ts} +1 -1
- package/dist/props/components/index.d.ts +4 -4
- package/dist/props/index.d.ts +4 -4
- package/dist/props/vocabulary/index.d.ts +1 -1
- package/dist/{search-input-uP01rY1L.d.ts → search-input-PzXHa8KZ.d.ts} +1 -1
- package/dist/styles/index.css +6 -0
- package/dist/styles/layout.css +0 -6
- package/dist/styles/shell-layout.css +23 -0
- package/dist/styles/table-layout.css +28 -0
- package/package.json +1 -1
- package/dist/{chunk-I2V4Y2VF.js → chunk-IK7I3ABN.js} +1 -1
package/dist/app/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { useAppContext } from '../chunk-
|
|
2
|
-
export { APP_LOCALES, APP_REQUEST_HEADER_LOCALE, APP_REQUEST_HEADER_TIMEZONE, APP_TIMEZONE_OPTIONS, APP_TIMEZONE_PRESET, APP_TIME_FORMAT_OPTIONS, AppProvider, DEFAULT_STORAGE_KEY, TIMEZONE_ALIASES, formatTimezoneDisplayLabel, getAllIanaTimezones, getAppRequestHeaders, getBrowserTimezone, getTimeFormatLabel, getTimezoneCityName, getTimezoneLabel, getTimezoneOffsetLabel, isKnownAppTimezone, isValidIanaTimezone, readStoredPreferences, resetAppRequestHeaders, resetIanaTimezoneCacheForTests, resolveDefaultTimeFormat, resolveDefaultTimezone, resolveTimezoneForIntl, resolveTimezonePickerOptions, syncAppRequestHeaders, useAppContext, useAppDateFormat, useAppLocale, useAppTimeFormat, useAppTimezone, useOptionalAppContext, usePickerLocales, useTranslation, writeStoredPreferences } from '../chunk-
|
|
3
|
-
import { formatDate } from '../chunk-
|
|
4
|
-
export { APP_DATE_FORMATS, APP_DATE_FORMAT_OPTIONS, APP_LOCALE_CONFIG, APP_REQUEST_HEADER_DATE_FORMAT, APP_REQUEST_HEADER_TIME_FORMAT, APP_TIME_FORMATS, detectFormatDateKind, formatAppDate, formatAppDateLong, formatAppDateTime, formatAppRelative, formatAppTime, formatCalendarDate, formatDate, formatTimeOfDay, getDateFnsLocale, getDateFormatLabel, getDatePattern, getDateTimePattern, getDatetimeContext, getDayPickerLocale, getTimePattern, isAppDateFormat, isAppLocale, isAppTimeFormat, isFormatDateValue, isValidHhmm, normalizeHhmm, parseDateInput, resolveDefaultDateFormat, syncDatetimeContext } from '../chunk-
|
|
1
|
+
import { useAppContext } from '../chunk-32UNYHGY.js';
|
|
2
|
+
export { APP_LOCALES, APP_REQUEST_HEADER_LOCALE, APP_REQUEST_HEADER_TIMEZONE, APP_TIMEZONE_OPTIONS, APP_TIMEZONE_PRESET, APP_TIME_FORMAT_OPTIONS, AppProvider, DEFAULT_STORAGE_KEY, TIMEZONE_ALIASES, formatTimezoneDisplayLabel, getAllIanaTimezones, getAppRequestHeaders, getBrowserTimezone, getTimeFormatLabel, getTimezoneCityName, getTimezoneLabel, getTimezoneOffsetLabel, isKnownAppTimezone, isValidIanaTimezone, readStoredPreferences, resetAppRequestHeaders, resetIanaTimezoneCacheForTests, resolveDefaultTimeFormat, resolveDefaultTimezone, resolveTimezoneForIntl, resolveTimezonePickerOptions, syncAppRequestHeaders, useAppContext, useAppDateFormat, useAppLocale, useAppTimeFormat, useAppTimezone, useOptionalAppContext, usePickerLocales, useTranslation, writeStoredPreferences } from '../chunk-32UNYHGY.js';
|
|
3
|
+
import { formatDate } from '../chunk-7OTWYSVX.js';
|
|
4
|
+
export { APP_DATE_FORMATS, APP_DATE_FORMAT_OPTIONS, APP_LOCALE_CONFIG, APP_REQUEST_HEADER_DATE_FORMAT, APP_REQUEST_HEADER_TIME_FORMAT, APP_TIME_FORMATS, detectFormatDateKind, formatAppDate, formatAppDateLong, formatAppDateTime, formatAppRelative, formatAppTime, formatCalendarDate, formatDate, formatTimeOfDay, getDateFnsLocale, getDateFormatLabel, getDatePattern, getDateTimePattern, getDatetimeContext, getDayPickerLocale, getTimePattern, isAppDateFormat, isAppLocale, isAppTimeFormat, isFormatDateValue, isValidHhmm, normalizeHhmm, parseDateInput, resolveDefaultDateFormat, syncDatetimeContext } from '../chunk-7OTWYSVX.js';
|
|
5
5
|
import { useMemo } from 'react';
|
|
6
6
|
|
|
7
7
|
function useFormatting() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
-
import { c as CheckboxGroupProp } from './data-entry.prop-
|
|
4
|
+
import { c as CheckboxGroupProp } from './data-entry.prop-CRbHLb39.js';
|
|
5
5
|
|
|
6
6
|
declare function CheckboxGroup({ value: controlledValue, defaultValue, onChange, options, orientation, disabled, name, className, children, }: CheckboxGroupProp): react_jsx_runtime.JSX.Element;
|
|
7
7
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { normalizeTreeOptions, collectAllExpandableKeys, filterVisibleTree, flattenVisibleTree, findNodeByValue, reactNodeText, getDescendantValues } from './chunk-SMLKNECP.js';
|
|
2
2
|
import { Checkbox } from './chunk-E76QIYSY.js';
|
|
3
|
-
import { ScrollArea } from './chunk-3KPEZ5CF.js';
|
|
4
3
|
import { Command, CommandInput } from './chunk-V6UWJKZF.js';
|
|
5
4
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
5
|
+
import { ScrollArea } from './chunk-3KPEZ5CF.js';
|
|
6
6
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
7
|
-
import { useTranslation } from './chunk-
|
|
7
|
+
import { useTranslation } from './chunk-32UNYHGY.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,10 +1,10 @@
|
|
|
1
1
|
import { normalizeTreeOptions, formatPathLabels, getNodeByPath, filterTreeOptions, pathsEqual, pathKey } from './chunk-SMLKNECP.js';
|
|
2
2
|
import { Checkbox } from './chunk-E76QIYSY.js';
|
|
3
|
-
import { ScrollArea, ScrollBar } from './chunk-3KPEZ5CF.js';
|
|
4
3
|
import { Command, CommandInput } from './chunk-V6UWJKZF.js';
|
|
5
4
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
5
|
+
import { ScrollArea, ScrollBar } from './chunk-3KPEZ5CF.js';
|
|
6
6
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
7
|
-
import { useTranslation } from './chunk-
|
|
7
|
+
import { useTranslation } from './chunk-32UNYHGY.js';
|
|
8
8
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
9
9
|
import * as React from 'react';
|
|
10
10
|
import { X, ChevronsUpDown, Check, ChevronRight } from 'lucide-react';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APP_TIME_FORMATS, isAppDateFormat, isAppTimeFormat, isAppLocale, translate, syncI18nLocale, syncDatetimeContext,
|
|
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-7OTWYSVX.js';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -230,6 +230,10 @@ function buildRequestHeaders(locale, timezone, timeFormat, dateFormat) {
|
|
|
230
230
|
[APP_REQUEST_HEADER_DATE_FORMAT]: dateFormat
|
|
231
231
|
};
|
|
232
232
|
}
|
|
233
|
+
function resolveHydrationSafeTimezone(defaultTimezone, systemTimezone) {
|
|
234
|
+
if (defaultTimezone === "browser") return systemTimezone ?? "UTC";
|
|
235
|
+
return resolveDefaultTimezone(defaultTimezone, systemTimezone);
|
|
236
|
+
}
|
|
233
237
|
function AppProvider({
|
|
234
238
|
children,
|
|
235
239
|
defaultLocale = "vi",
|
|
@@ -246,22 +250,52 @@ function AppProvider({
|
|
|
246
250
|
onTimeFormatChange,
|
|
247
251
|
onDateFormatChange
|
|
248
252
|
}) {
|
|
249
|
-
const
|
|
250
|
-
() => persist ? readStoredPreferences(storageKey) : {},
|
|
251
|
-
[persist, storageKey]
|
|
252
|
-
);
|
|
253
|
-
const initialLocale = stored.locale ?? defaultLocale;
|
|
253
|
+
const initialLocale = defaultLocale;
|
|
254
254
|
const [locale, setLocaleState] = React.useState(initialLocale);
|
|
255
255
|
const [timezone, setTimezoneState] = React.useState(
|
|
256
|
-
|
|
256
|
+
resolveHydrationSafeTimezone(defaultTimezone, systemTimezone)
|
|
257
257
|
);
|
|
258
258
|
const [timeFormat, setTimeFormatState] = React.useState(
|
|
259
|
-
() => resolveInitialTimeFormat(
|
|
259
|
+
() => resolveInitialTimeFormat(void 0, defaultTimeFormat, initialLocale)
|
|
260
260
|
);
|
|
261
261
|
const [dateFormat, setDateFormatState] = React.useState(
|
|
262
|
-
() => resolveInitialDateFormat(
|
|
262
|
+
() => resolveInitialDateFormat(void 0, defaultDateFormat, initialLocale)
|
|
263
263
|
);
|
|
264
|
+
const hasMountedRef = React.useRef(false);
|
|
264
265
|
const prefsRef = React.useRef({ locale, timezone, timeFormat, dateFormat });
|
|
266
|
+
React.useEffect(() => {
|
|
267
|
+
const stored = persist ? readStoredPreferences(storageKey) : {};
|
|
268
|
+
const nextLocale = stored.locale ?? defaultLocale;
|
|
269
|
+
const nextTimezone = stored.timezone ?? resolveDefaultTimezone(defaultTimezone, systemTimezone);
|
|
270
|
+
const nextTimeFormat = resolveInitialTimeFormat(
|
|
271
|
+
stored.timeFormat,
|
|
272
|
+
defaultTimeFormat,
|
|
273
|
+
nextLocale
|
|
274
|
+
);
|
|
275
|
+
const nextDateFormat = resolveInitialDateFormat(
|
|
276
|
+
stored.dateFormat,
|
|
277
|
+
defaultDateFormat,
|
|
278
|
+
nextLocale
|
|
279
|
+
);
|
|
280
|
+
prefsRef.current = {
|
|
281
|
+
locale: nextLocale,
|
|
282
|
+
timezone: nextTimezone,
|
|
283
|
+
timeFormat: nextTimeFormat,
|
|
284
|
+
dateFormat: nextDateFormat
|
|
285
|
+
};
|
|
286
|
+
setLocaleState(nextLocale);
|
|
287
|
+
setTimezoneState(nextTimezone);
|
|
288
|
+
setTimeFormatState(nextTimeFormat);
|
|
289
|
+
setDateFormatState(nextDateFormat);
|
|
290
|
+
}, [
|
|
291
|
+
defaultDateFormat,
|
|
292
|
+
defaultLocale,
|
|
293
|
+
defaultTimeFormat,
|
|
294
|
+
defaultTimezone,
|
|
295
|
+
persist,
|
|
296
|
+
storageKey,
|
|
297
|
+
systemTimezone
|
|
298
|
+
]);
|
|
265
299
|
React.useEffect(() => {
|
|
266
300
|
prefsRef.current = { locale, timezone, timeFormat, dateFormat };
|
|
267
301
|
}, [locale, timezone, timeFormat, dateFormat]);
|
|
@@ -305,17 +339,25 @@ function AppProvider({
|
|
|
305
339
|
() => buildRequestHeaders(locale, timezone, timeFormat, dateFormat),
|
|
306
340
|
[locale, timezone, timeFormat, dateFormat]
|
|
307
341
|
);
|
|
342
|
+
const dateFnsLocale = getDateFnsLocale(locale);
|
|
343
|
+
syncI18nLocale(locale, fallbackLocale);
|
|
344
|
+
syncDatetimeContext({
|
|
345
|
+
locale,
|
|
346
|
+
timezone,
|
|
347
|
+
timeFormat,
|
|
348
|
+
dateFormat,
|
|
349
|
+
dateFnsLocale
|
|
350
|
+
});
|
|
351
|
+
if (!hasMountedRef.current) {
|
|
352
|
+
disableLiveRelativeFormatting();
|
|
353
|
+
}
|
|
308
354
|
React.useEffect(() => {
|
|
309
355
|
syncAppRequestHeaders(requestHeaders);
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
dateFormat,
|
|
316
|
-
dateFnsLocale: getDateFnsLocale(locale)
|
|
317
|
-
});
|
|
318
|
-
}, [requestHeaders, locale, fallbackLocale, timezone, timeFormat, dateFormat]);
|
|
356
|
+
}, [requestHeaders]);
|
|
357
|
+
React.useEffect(() => {
|
|
358
|
+
hasMountedRef.current = true;
|
|
359
|
+
enableLiveRelativeFormatting();
|
|
360
|
+
}, []);
|
|
319
361
|
const value = React.useMemo(
|
|
320
362
|
() => ({
|
|
321
363
|
locale,
|
|
@@ -323,7 +365,7 @@ function AppProvider({
|
|
|
323
365
|
timezone,
|
|
324
366
|
timeFormat,
|
|
325
367
|
dateFormat,
|
|
326
|
-
dateFnsLocale
|
|
368
|
+
dateFnsLocale,
|
|
327
369
|
dayPickerLocale: getDayPickerLocale(locale),
|
|
328
370
|
requestHeaders,
|
|
329
371
|
timezoneOptions,
|
|
@@ -338,6 +380,7 @@ function AppProvider({
|
|
|
338
380
|
timezone,
|
|
339
381
|
timeFormat,
|
|
340
382
|
dateFormat,
|
|
383
|
+
dateFnsLocale,
|
|
341
384
|
requestHeaders,
|
|
342
385
|
timezoneOptions,
|
|
343
386
|
setLocale,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { formatBytes } from './chunk-
|
|
2
|
-
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from './chunk-
|
|
1
|
+
import { formatBytes } from './chunk-IGOP3HFF.js';
|
|
2
|
+
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from './chunk-FRFUSXBH.js';
|
|
3
3
|
import { Slider } from './chunk-CRERCLIZ.js';
|
|
4
|
-
import { Button } from './chunk-HJEBRCXL.js';
|
|
5
4
|
import { controlIconClass } from './chunk-ICM6XBST.js';
|
|
6
|
-
import {
|
|
5
|
+
import { Button } from './chunk-HJEBRCXL.js';
|
|
6
|
+
import { useTranslation } from './chunk-32UNYHGY.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';
|
|
@@ -286,7 +286,7 @@ function Breadcrumb({ items }) {
|
|
|
286
286
|
] }, item.to ?? index);
|
|
287
287
|
}) }) });
|
|
288
288
|
}
|
|
289
|
-
function ResponsiveGrid({ columns =
|
|
289
|
+
function ResponsiveGrid({ columns = 4, children }) {
|
|
290
290
|
return /* @__PURE__ */ jsx("div", { className: "ui-responsive-grid", "data-columns": columns, children });
|
|
291
291
|
}
|
|
292
292
|
function SplitPane({ children, aside, asideWidth = "md" }) {
|
|
@@ -638,6 +638,7 @@ var defaultContext = () => ({
|
|
|
638
638
|
dateFormat: resolveDefaultDateFormat(DEFAULT_LOCALE)
|
|
639
639
|
});
|
|
640
640
|
var syncedContext = defaultContext();
|
|
641
|
+
var liveRelativeFormattingEnabled = true;
|
|
641
642
|
function syncDatetimeContext(partial) {
|
|
642
643
|
syncedContext = {
|
|
643
644
|
locale: partial.locale,
|
|
@@ -650,8 +651,18 @@ function syncDatetimeContext(partial) {
|
|
|
650
651
|
function getDatetimeContext() {
|
|
651
652
|
return syncedContext;
|
|
652
653
|
}
|
|
654
|
+
function enableLiveRelativeFormatting() {
|
|
655
|
+
liveRelativeFormattingEnabled = true;
|
|
656
|
+
}
|
|
657
|
+
function disableLiveRelativeFormatting() {
|
|
658
|
+
liveRelativeFormattingEnabled = false;
|
|
659
|
+
}
|
|
660
|
+
function canUseLiveRelativeFormatting() {
|
|
661
|
+
return liveRelativeFormattingEnabled;
|
|
662
|
+
}
|
|
653
663
|
function resetDatetimeContextForTests() {
|
|
654
664
|
syncedContext = defaultContext();
|
|
665
|
+
liveRelativeFormattingEnabled = true;
|
|
655
666
|
}
|
|
656
667
|
|
|
657
668
|
// src/lib/datetime/detect.ts
|
|
@@ -791,6 +802,10 @@ function resolveKind(value, options) {
|
|
|
791
802
|
if (options?.calendar && value instanceof Date) return "calendar";
|
|
792
803
|
return detectFormatDateKind(value);
|
|
793
804
|
}
|
|
805
|
+
function formatInitialRelative(value, options) {
|
|
806
|
+
if (canUseLiveRelativeFormatting()) return formatAppRelative(value, options);
|
|
807
|
+
return formatAppDateTime(value, options);
|
|
808
|
+
}
|
|
794
809
|
function formatDate(value, options) {
|
|
795
810
|
if (value == null || value === "") return EMPTY2;
|
|
796
811
|
if (typeof value === "string") {
|
|
@@ -805,7 +820,7 @@ function formatDate(value, options) {
|
|
|
805
820
|
case "long":
|
|
806
821
|
return formatAppDateLong(trimmed, options);
|
|
807
822
|
case "relative":
|
|
808
|
-
return
|
|
823
|
+
return formatInitialRelative(trimmed, options);
|
|
809
824
|
case "calendar":
|
|
810
825
|
case "datetime":
|
|
811
826
|
default:
|
|
@@ -824,7 +839,7 @@ function formatDate(value, options) {
|
|
|
824
839
|
case "long":
|
|
825
840
|
return formatAppDateLong(value, options);
|
|
826
841
|
case "relative":
|
|
827
|
-
return
|
|
842
|
+
return formatInitialRelative(value, options);
|
|
828
843
|
case "datetime":
|
|
829
844
|
default:
|
|
830
845
|
return formatAppDateTime(value, options);
|
|
@@ -839,4 +854,4 @@ function isFormatDateValue(value) {
|
|
|
839
854
|
return parseDateInput(trimmed) != null;
|
|
840
855
|
}
|
|
841
856
|
|
|
842
|
-
export { APP_DATE_FORMATS, APP_DATE_FORMAT_OPTIONS, APP_LOCALE_CONFIG, APP_REQUEST_HEADER_DATE_FORMAT, APP_REQUEST_HEADER_TIME_FORMAT, APP_TIME_FORMATS, MESSAGE_CATALOG, calendarDateToTZDate, detectFormatDateKind, formatAppDate, formatAppDateLong, formatAppDateTime, formatAppRelative, formatAppTime, formatCalendarDate, formatDate, formatTimeOfDay, getDateFnsLocale, getDateFormatLabel, getDatePattern, getDateTimePattern, getDatetimeContext, getDayPickerLocale, getTimePattern, hhmmToTZDate, isAppDateFormat, isAppLocale, isAppTimeFormat, isDateOnlyString, isFormatDateValue, isValidHhmm, normalizeHhmm, parseDateInput, resetDatetimeContextForTests, resetI18nLocale, resolveDefaultDateFormat, syncDatetimeContext, syncI18nLocale, translate, translateCurrent };
|
|
857
|
+
export { APP_DATE_FORMATS, APP_DATE_FORMAT_OPTIONS, APP_LOCALE_CONFIG, APP_REQUEST_HEADER_DATE_FORMAT, APP_REQUEST_HEADER_TIME_FORMAT, APP_TIME_FORMATS, MESSAGE_CATALOG, calendarDateToTZDate, detectFormatDateKind, disableLiveRelativeFormatting, enableLiveRelativeFormatting, formatAppDate, formatAppDateLong, formatAppDateTime, formatAppRelative, formatAppTime, formatCalendarDate, formatDate, formatTimeOfDay, getDateFnsLocale, getDateFormatLabel, getDatePattern, getDateTimePattern, getDatetimeContext, getDayPickerLocale, getTimePattern, hhmmToTZDate, isAppDateFormat, isAppLocale, isAppTimeFormat, isDateOnlyString, isFormatDateValue, isValidHhmm, normalizeHhmm, parseDateInput, resetDatetimeContextForTests, resetI18nLocale, resolveDefaultDateFormat, syncDatetimeContext, syncI18nLocale, translate, translateCurrent };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Calendar } from './chunk-
|
|
1
|
+
import { Calendar } from './chunk-IK7I3ABN.js';
|
|
2
2
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
3
3
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
4
|
-
import { useTranslation, usePickerLocales } from './chunk-
|
|
5
|
-
import { formatDate } from './chunk-
|
|
4
|
+
import { useTranslation, usePickerLocales } from './chunk-32UNYHGY.js';
|
|
5
|
+
import { formatDate } from './chunk-7OTWYSVX.js';
|
|
6
6
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
7
7
|
import * as React from 'react';
|
|
8
8
|
import { CalendarIcon } from 'lucide-react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-UX634MYF.js';
|
|
2
2
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
3
|
-
import { useTranslation } from './chunk-
|
|
3
|
+
import { useTranslation } from './chunk-32UNYHGY.js';
|
|
4
4
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
5
5
|
import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';
|
|
6
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { humanError } from './chunk-
|
|
1
|
+
import { humanError } from './chunk-IGOP3HFF.js';
|
|
2
2
|
import { Inline } from './chunk-S66TJXJU.js';
|
|
3
3
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
4
|
-
import { useTranslation } from './chunk-
|
|
4
|
+
import { useTranslation } from './chunk-32UNYHGY.js';
|
|
5
5
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { CheckCircle2, TriangleAlert, AlertCircle, Info, X, RefreshCw } from 'lucide-react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Input } from './chunk-VOHTRR5X.js';
|
|
2
2
|
import { buttonVariants, Button } from './chunk-HJEBRCXL.js';
|
|
3
3
|
import { Label } from './chunk-7PWBC4BY.js';
|
|
4
|
-
import { useTranslation } from './chunk-
|
|
4
|
+
import { useTranslation } from './chunk-32UNYHGY.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,7 +1,7 @@
|
|
|
1
1
|
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from './chunk-V6UWJKZF.js';
|
|
2
2
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
3
3
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
4
|
-
import { useTranslation } from './chunk-
|
|
4
|
+
import { useTranslation } from './chunk-32UNYHGY.js';
|
|
5
5
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { ChevronsUpDown, Check } from 'lucide-react';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Input } from './chunk-VOHTRR5X.js';
|
|
2
2
|
import { controlIconClass } from './chunk-ICM6XBST.js';
|
|
3
|
-
import { useTranslation } from './chunk-
|
|
3
|
+
import { useTranslation } from './chunk-32UNYHGY.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';
|
|
@@ -78,6 +78,14 @@ var CardFooter = React.forwardRef(
|
|
|
78
78
|
)
|
|
79
79
|
);
|
|
80
80
|
CardFooter.displayName = "CardFooter";
|
|
81
|
+
function getDeltaTone(delta, inverse) {
|
|
82
|
+
const text = typeof delta === "string" || typeof delta === "number" ? String(delta).trim() : "";
|
|
83
|
+
const sign = text.match(/^[+\-−]/)?.[0];
|
|
84
|
+
if (!sign) return void 0;
|
|
85
|
+
const isPositive = sign === "+";
|
|
86
|
+
const semanticPositive = inverse ? !isPositive : isPositive;
|
|
87
|
+
return semanticPositive ? "positive" : "negative";
|
|
88
|
+
}
|
|
81
89
|
function CardStat({
|
|
82
90
|
label,
|
|
83
91
|
value,
|
|
@@ -85,10 +93,12 @@ function CardStat({
|
|
|
85
93
|
delta,
|
|
86
94
|
layout = "stacked",
|
|
87
95
|
align = "start",
|
|
96
|
+
inverse = false,
|
|
88
97
|
className,
|
|
89
98
|
size = "compact",
|
|
90
99
|
...props
|
|
91
100
|
}) {
|
|
101
|
+
const deltaTone = getDeltaTone(delta, inverse);
|
|
92
102
|
return /* @__PURE__ */ jsxs(
|
|
93
103
|
Card,
|
|
94
104
|
{
|
|
@@ -106,7 +116,18 @@ function CardStat({
|
|
|
106
116
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
107
117
|
/* @__PURE__ */ jsxs("div", { "data-slot": "card-stat-value-row", children: [
|
|
108
118
|
/* @__PURE__ */ jsx("span", { "data-slot": "card-stat-value", children: value }),
|
|
109
|
-
delta ? /* @__PURE__ */ jsx(
|
|
119
|
+
delta ? /* @__PURE__ */ jsx(
|
|
120
|
+
"span",
|
|
121
|
+
{
|
|
122
|
+
"data-slot": "card-stat-delta",
|
|
123
|
+
"data-delta-tone": deltaTone,
|
|
124
|
+
className: cn(
|
|
125
|
+
deltaTone === "positive" && "text-success",
|
|
126
|
+
deltaTone === "negative" && "text-destructive"
|
|
127
|
+
),
|
|
128
|
+
children: delta
|
|
129
|
+
}
|
|
130
|
+
) : null
|
|
110
131
|
] }),
|
|
111
132
|
hint && layout !== "inline" ? /* @__PURE__ */ jsx("div", { "data-slot": "card-stat-hint", children: hint }) : null
|
|
112
133
|
] })
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Calendar } from './chunk-
|
|
1
|
+
import { Calendar } from './chunk-IK7I3ABN.js';
|
|
2
2
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
3
3
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
4
|
-
import { useTranslation, usePickerLocales } from './chunk-
|
|
5
|
-
import { formatDate } from './chunk-
|
|
4
|
+
import { useTranslation, usePickerLocales } from './chunk-32UNYHGY.js';
|
|
5
|
+
import { formatDate } from './chunk-7OTWYSVX.js';
|
|
6
6
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
7
7
|
import * as React from 'react';
|
|
8
8
|
import { CalendarIcon } from 'lucide-react';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-UX634MYF.js';
|
|
2
2
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
3
|
-
import { useTranslation, useOptionalAppContext, APP_LOCALES, resolveTimezonePickerOptions, getTimezoneLabel, APP_TIME_FORMAT_OPTIONS, getTimeFormatLabel } from './chunk-
|
|
4
|
-
import { APP_DATE_FORMAT_OPTIONS, getDateFormatLabel } from './chunk-
|
|
3
|
+
import { useTranslation, useOptionalAppContext, APP_LOCALES, resolveTimezonePickerOptions, getTimezoneLabel, APP_TIME_FORMAT_OPTIONS, getTimeFormatLabel } from './chunk-32UNYHGY.js';
|
|
4
|
+
import { APP_DATE_FORMAT_OPTIONS, getDateFormatLabel } from './chunk-7OTWYSVX.js';
|
|
5
5
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
6
6
|
import { X, ChevronRight, Languages, Globe, Clock, CalendarDays } from 'lucide-react';
|
|
7
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AlertQueryError } from './chunk-
|
|
1
|
+
import { AlertQueryError } from './chunk-FBGBDFNL.js';
|
|
2
2
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
3
|
-
import { useTranslation } from './chunk-
|
|
3
|
+
import { useTranslation } from './chunk-32UNYHGY.js';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
6
6
|
import { RefreshCw } from 'lucide-react';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Input } from './chunk-VOHTRR5X.js';
|
|
2
2
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
|
|
3
3
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
4
|
-
import { useTranslation } from './chunk-
|
|
5
|
-
import { isValidHhmm, formatTimeOfDay, normalizeHhmm } from './chunk-
|
|
4
|
+
import { useTranslation } from './chunk-32UNYHGY.js';
|
|
5
|
+
import { isValidHhmm, formatTimeOfDay, normalizeHhmm } from './chunk-7OTWYSVX.js';
|
|
6
6
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
7
7
|
import * as React from 'react';
|
|
8
8
|
import { Clock } from 'lucide-react';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Inline, densityClass } from './chunk-S66TJXJU.js';
|
|
2
2
|
import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-ZS6DTAM2.js';
|
|
3
|
-
import { Button } from './chunk-HJEBRCXL.js';
|
|
4
3
|
import { tableCellPaddingClass, tableRowHeightClass, controlIconSmClass, toneNeutralClass, toneInfoClass, toneDestructiveClass, toneWarningClass, toneSuccessClass } from './chunk-ICM6XBST.js';
|
|
5
|
-
import {
|
|
4
|
+
import { Button } from './chunk-HJEBRCXL.js';
|
|
5
|
+
import { useTranslation } from './chunk-32UNYHGY.js';
|
|
6
6
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
8
|
import { Layers, Layers2, ArrowUp, ArrowDown, ChevronsUpDown, MoreHorizontal, XCircle, Pause, CheckCircle2, Circle, Trash2, AlertCircle, Clock, Play } from 'lucide-react';
|
|
@@ -265,10 +265,12 @@ DataTable.Content = function DataTableContent() {
|
|
|
265
265
|
columns.map((col) => /* @__PURE__ */ jsx(
|
|
266
266
|
TableHead,
|
|
267
267
|
{
|
|
268
|
+
"data-empty": !col.header || void 0,
|
|
268
269
|
className: cn(
|
|
269
270
|
col.width,
|
|
270
271
|
col.align === "right" && "text-right",
|
|
271
272
|
col.align === "center" && "text-center",
|
|
273
|
+
col.hiddenOnMobile && "hidden md:table-cell",
|
|
272
274
|
col.sortable && onSortChange && "cursor-pointer select-none"
|
|
273
275
|
),
|
|
274
276
|
onClick: () => {
|
|
@@ -328,7 +330,8 @@ DataTable.Content = function DataTableContent() {
|
|
|
328
330
|
cellPadding,
|
|
329
331
|
col.width,
|
|
330
332
|
col.align === "right" && "text-right",
|
|
331
|
-
col.align === "center" && "text-center"
|
|
333
|
+
col.align === "center" && "text-center",
|
|
334
|
+
col.hiddenOnMobile && "hidden md:table-cell"
|
|
332
335
|
),
|
|
333
336
|
children: col.render ? col.render(row) : (() => {
|
|
334
337
|
const v = row[col.key];
|
|
@@ -4,7 +4,7 @@ import { Input } from './chunk-VOHTRR5X.js';
|
|
|
4
4
|
import { ScrollArea } from './chunk-3KPEZ5CF.js';
|
|
5
5
|
import { Button } from './chunk-HJEBRCXL.js';
|
|
6
6
|
import { Label } from './chunk-7PWBC4BY.js';
|
|
7
|
-
import { useTranslation } from './chunk-
|
|
7
|
+
import { useTranslation } from './chunk-32UNYHGY.js';
|
|
8
8
|
import { cn } from './chunk-U7N2A7A3.js';
|
|
9
9
|
import * as React from 'react';
|
|
10
10
|
import { useState, useEffect } from 'react';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { B as BreadcrumbItem } from '../../navigation.prop-DxBiClEH.js';
|
|
2
2
|
export { I as InlineProp, P as PageContainerProp, P as PageContainerProps, a as PageHeaderProp, f as StackProp } from '../../layout.prop-C795F0qg.js';
|
|
3
|
-
export { F as FilterBar, a as FilterGroup, P as PageHeader } from '../../filter-bar-
|
|
3
|
+
export { F as FilterBar, a as FilterGroup, P as PageHeader } from '../../filter-bar-XpspcQdZ.js';
|
|
4
4
|
export { I as Inline, P as PageContainer, S as Stack } from '../../inline-C5u6ptJV.js';
|
|
5
|
-
export { C as ColumnDef, D as DataTable, a as Density, E as EmptyState, K as KeyValueGrid, S as StatusBadge } from '../../data-table-
|
|
6
|
-
export { F as FormField, S as SearchInput } from '../../search-input-
|
|
5
|
+
export { C as ColumnDef, D as DataTable, a as Density, E as EmptyState, K as KeyValueGrid, S as StatusBadge } from '../../data-table-Pd62B4WQ.js';
|
|
6
|
+
export { F as FormField, S as SearchInput } from '../../search-input-PzXHa8KZ.js';
|
|
7
7
|
export { L as LegacyToastOptions, S as SkeletonCard, a as SkeletonDetail, b as SkeletonRows, c as SkeletonTable, t as toast, u as useToast } from '../../use-toast-Dol5bdY3.js';
|
|
8
8
|
export { DataState, InfiniteQueryState, MutationFeedback, PrefetchLink, QueryRefetchButton, flattenItemPages } from '../query/index.js';
|
|
9
9
|
export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from '../feedback/alert.js';
|
|
@@ -19,16 +19,16 @@ export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter,
|
|
|
19
19
|
export { Toaster } from '../feedback/sonner.js';
|
|
20
20
|
import { b as FormatDatetimeOptions, a as FormatDateOptions } from '../../format-date-ByyZoqI5.js';
|
|
21
21
|
export { j as formatDate } from '../../format-date-ByyZoqI5.js';
|
|
22
|
-
export { B as collectUploadCommitActions, E as createUploadItem } from '../../data-entry.prop-
|
|
22
|
+
export { B as collectUploadCommitActions, E as createUploadItem } from '../../data-entry.prop-CRbHLb39.js';
|
|
23
23
|
import '../../shared.prop-BNRJc9K0.js';
|
|
24
24
|
import 'react';
|
|
25
25
|
import '../../content.prop-D1Dd3TAc.js';
|
|
26
26
|
import '../../layout.prop-4TCNvyQZ.js';
|
|
27
27
|
import 'react/jsx-runtime';
|
|
28
|
-
import '../../navigation.prop-
|
|
29
|
-
import '../../data.prop-
|
|
28
|
+
import '../../navigation.prop-Ck5_gSfs.js';
|
|
29
|
+
import '../../data.prop-BmLaGLb7.js';
|
|
30
30
|
import '../../interaction.prop-Cdn7wOtq.js';
|
|
31
|
-
import '../../data-display.prop-
|
|
31
|
+
import '../../data-display.prop-Cvi2Mrfw.js';
|
|
32
32
|
import 'lucide-react';
|
|
33
33
|
import 'sonner';
|
|
34
34
|
import '../../query.prop-hIPrk2zI.js';
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import '../../chunk-LDSLS6HE.js';
|
|
2
|
-
export { DataState, InfiniteQueryState, MutationFeedback, PrefetchLink, QueryRefetchButton, flattenItemPages } from '../../chunk-
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export { Tabs, TabsContent, TabsList, TabsTrigger } from '../../chunk-XG7XDYIM.js';
|
|
2
|
+
export { DataState, InfiniteQueryState, MutationFeedback, PrefetchLink, QueryRefetchButton, flattenItemPages } from '../../chunk-JZCFDGIB.js';
|
|
3
|
+
export { PageContainer, Stack } from '../../chunk-7JN4JXK6.js';
|
|
4
|
+
export { FilterBar, FilterGroup, PageHeader } from '../../chunk-JVAOKBRC.js';
|
|
6
5
|
import '../../chunk-TO33OY4L.js';
|
|
7
|
-
export { Pagination } from '../../chunk-
|
|
6
|
+
export { Pagination } from '../../chunk-BXIE57HV.js';
|
|
8
7
|
export { Steps } from '../../chunk-L6J44O74.js';
|
|
9
|
-
export {
|
|
8
|
+
export { TabsItems } from '../../chunk-BPSKQUL2.js';
|
|
9
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger } from '../../chunk-XG7XDYIM.js';
|
|
10
10
|
export { SkeletonCard, SkeletonDetail, SkeletonRows, SkeletonTable, toast, useToast } from '../../chunk-M64MVRLS.js';
|
|
11
11
|
export { Toaster } from '../../chunk-TO7URV7U.js';
|
|
12
|
-
export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from '../../chunk-
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
12
|
+
export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from '../../chunk-FBGBDFNL.js';
|
|
13
|
+
export { SearchInput, Transfer, useDebouncedValue, useTimeoutFlag } from '../../chunk-ZOBDO3KZ.js';
|
|
14
|
+
export { TreeSelect } from '../../chunk-2476DOOA.js';
|
|
15
|
+
export { Upload, collectUploadCommitActions, createUploadItem, useUploadDraft } from '../../chunk-66KBGNJT.js';
|
|
16
|
+
export { formatBytes, formatCurrency, formatDateLong, formatDateTime, formatRelative, humanError, shortId } from '../../chunk-IGOP3HFF.js';
|
|
17
|
+
export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../../chunk-FRFUSXBH.js';
|
|
17
18
|
import '../../chunk-UX634MYF.js';
|
|
18
19
|
import '../../chunk-CRERCLIZ.js';
|
|
19
|
-
export {
|
|
20
|
-
export { Cascader } from '../../chunk-7LB5XDO7.js';
|
|
20
|
+
export { Cascader } from '../../chunk-2D72MDPB.js';
|
|
21
21
|
import '../../chunk-SMLKNECP.js';
|
|
22
22
|
import '../../chunk-E76QIYSY.js';
|
|
23
23
|
import '../../chunk-CQBADMFG.js';
|
|
24
24
|
import '../../chunk-VOHTRR5X.js';
|
|
25
|
-
|
|
25
|
+
import '../../chunk-V6UWJKZF.js';
|
|
26
|
+
export { DataTable, EmptyState, KeyValueGrid, StatusBadge } from '../../chunk-XAFIIWZU.js';
|
|
26
27
|
export { Inline } from '../../chunk-S66TJXJU.js';
|
|
27
28
|
import '../../chunk-PIIRNAXA.js';
|
|
29
|
+
import '../../chunk-DY5C44UP.js';
|
|
28
30
|
import '../../chunk-3KPEZ5CF.js';
|
|
29
31
|
import '../../chunk-ZS6DTAM2.js';
|
|
30
|
-
import '../../chunk-V6UWJKZF.js';
|
|
31
|
-
import '../../chunk-DY5C44UP.js';
|
|
32
|
-
import '../../chunk-HJEBRCXL.js';
|
|
33
32
|
import '../../chunk-ICM6XBST.js';
|
|
33
|
+
import '../../chunk-HJEBRCXL.js';
|
|
34
34
|
export { FormField } from '../../chunk-F7PG4OEV.js';
|
|
35
35
|
import '../../chunk-7PWBC4BY.js';
|
|
36
|
-
import '../../chunk-
|
|
37
|
-
export { formatDate } from '../../chunk-
|
|
36
|
+
import '../../chunk-32UNYHGY.js';
|
|
37
|
+
export { formatDate } from '../../chunk-7OTWYSVX.js';
|
|
38
38
|
import '../../chunk-U7N2A7A3.js';
|
|
@@ -78,9 +78,11 @@ type CardStatProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof
|
|
|
78
78
|
layout?: "stacked" | "inline";
|
|
79
79
|
/** Align the metric group. */
|
|
80
80
|
align?: "start" | "end";
|
|
81
|
+
/** Flip delta semantics for metrics where lower is better. */
|
|
82
|
+
inverse?: boolean;
|
|
81
83
|
};
|
|
82
84
|
/** KPI / stat tile — token-driven layout aligned to dashboard KPI cards. */
|
|
83
|
-
declare function CardStat({ label, value, hint, delta, layout, align, className, size, ...props }: CardStatProps): react_jsx_runtime.JSX.Element;
|
|
85
|
+
declare function CardStat({ label, value, hint, delta, layout, align, inverse, className, size, ...props }: CardStatProps): react_jsx_runtime.JSX.Element;
|
|
84
86
|
/** Header actions slot — pair with `CardHeader className="flex flex-row …"`. */
|
|
85
87
|
declare const CardAction: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
86
88
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Card, CardAction, CardContent, CardCover, CardDescription, CardFooter, CardHeader, CardStat, CardTitle } from '../../chunk-
|
|
1
|
+
export { Card, CardAction, CardContent, CardCover, CardDescription, CardFooter, CardHeader, CardStat, CardTitle } from '../../chunk-GXHZAJUA.js';
|
|
2
2
|
import '../../chunk-U7N2A7A3.js';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { Badge, BadgeProps } from './badge.js';
|
|
2
2
|
export { Card, CardAction, CardContent, CardCover, CardDescription, CardFooter, CardHeader, CardStat, CardStatProps, CardTitle } from './card.js';
|
|
3
3
|
export { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from './table.js';
|
|
4
|
-
export { C as ColumnDef, D as DataTable, E as EmptyState, K as KeyValueGrid, S as StatusBadge, b as StatusBadgeTone, a as TableDensity } from '../../data-table-
|
|
4
|
+
export { C as ColumnDef, D as DataTable, E as EmptyState, K as KeyValueGrid, S as StatusBadge, b as StatusBadgeTone, a as TableDensity } from '../../data-table-Pd62B4WQ.js';
|
|
5
|
+
export { c as SortStateProp } from '../../interaction.prop-Cdn7wOtq.js';
|
|
5
6
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
7
|
import * as React from 'react';
|
|
7
8
|
import { ReactNode } from 'react';
|
|
@@ -10,12 +11,11 @@ export { ScrollArea, ScrollBar } from './scroll-area.js';
|
|
|
10
11
|
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
11
12
|
import 'class-variance-authority/types';
|
|
12
13
|
import 'class-variance-authority';
|
|
13
|
-
import '../../data-display.prop-
|
|
14
|
+
import '../../data-display.prop-Cvi2Mrfw.js';
|
|
14
15
|
import '../../shared.prop-BNRJc9K0.js';
|
|
15
16
|
import '../../content.prop-D1Dd3TAc.js';
|
|
16
17
|
import '../../layout.prop-4TCNvyQZ.js';
|
|
17
|
-
import '../../
|
|
18
|
-
import '../../data.prop-BVvfKC_g.js';
|
|
18
|
+
import '../../data.prop-BmLaGLb7.js';
|
|
19
19
|
import 'lucide-react';
|
|
20
20
|
import '@radix-ui/react-popover';
|
|
21
21
|
import '@radix-ui/react-scroll-area';
|