@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.
Files changed (88) hide show
  1. package/dist/app/index.js +4 -4
  2. package/dist/{checkbox-NkFkqsQ8.d.ts → checkbox-CoHDi3ao.d.ts} +1 -1
  3. package/dist/{chunk-DABP4NQF.js → chunk-2476DOOA.js} +2 -2
  4. package/dist/{chunk-7LB5XDO7.js → chunk-2D72MDPB.js} +2 -2
  5. package/dist/{chunk-3F2AKYRD.js → chunk-32UNYHGY.js} +62 -19
  6. package/dist/{chunk-OXKQMFKV.js → chunk-66KBGNJT.js} +4 -4
  7. package/dist/{chunk-E7LTWRYF.js → chunk-7JN4JXK6.js} +1 -1
  8. package/dist/{chunk-YFCQKO3B.js → chunk-7OTWYSVX.js} +18 -3
  9. package/dist/{chunk-KA563UHL.js → chunk-ACNKID6V.js} +3 -3
  10. package/dist/{chunk-GDSVW62T.js → chunk-BXIE57HV.js} +1 -1
  11. package/dist/{chunk-E4HJNQ62.js → chunk-FBGBDFNL.js} +2 -2
  12. package/dist/{chunk-DU6ZYZRP.js → chunk-FRFUSXBH.js} +1 -1
  13. package/dist/{chunk-TOO5AEKL.js → chunk-GV2YQLH2.js} +1 -1
  14. package/dist/{chunk-JEA3QDRW.js → chunk-GVKKQ6MU.js} +1 -1
  15. package/dist/{chunk-7NZFVD24.js → chunk-GXHZAJUA.js} +22 -1
  16. package/dist/{chunk-DKO4OFVM.js → chunk-HNH4PJSV.js} +3 -3
  17. package/dist/{chunk-7S7MYFXE.js → chunk-IGOP3HFF.js} +1 -1
  18. package/dist/{chunk-H2FHJOLU.js → chunk-JVAOKBRC.js} +2 -2
  19. package/dist/{chunk-LVNUHUEZ.js → chunk-JZCFDGIB.js} +2 -2
  20. package/dist/{chunk-WXCYI3YN.js → chunk-R5QIUFML.js} +2 -2
  21. package/dist/{chunk-XDYZ3X2E.js → chunk-XAFIIWZU.js} +6 -3
  22. package/dist/{chunk-RTRZZ2IZ.js → chunk-ZOBDO3KZ.js} +1 -1
  23. package/dist/components/admin/index.d.ts +7 -7
  24. package/dist/components/admin/index.js +19 -19
  25. package/dist/components/data-display/card.d.ts +3 -1
  26. package/dist/components/data-display/card.js +1 -1
  27. package/dist/components/data-display/index.d.ts +4 -4
  28. package/dist/components/data-display/index.js +6 -6
  29. package/dist/components/data-entry/autocomplete.d.ts +2 -2
  30. package/dist/components/data-entry/autocomplete.js +4 -4
  31. package/dist/components/data-entry/calendar.d.ts +2 -2
  32. package/dist/components/data-entry/calendar.js +2 -2
  33. package/dist/components/data-entry/cascader.d.ts +2 -2
  34. package/dist/components/data-entry/cascader.js +5 -5
  35. package/dist/components/data-entry/checkbox.d.ts +3 -3
  36. package/dist/components/data-entry/color-picker.d.ts +2 -2
  37. package/dist/components/data-entry/color-picker.js +3 -3
  38. package/dist/components/data-entry/date-picker.d.ts +2 -2
  39. package/dist/components/data-entry/date-picker.js +5 -5
  40. package/dist/components/data-entry/date-range-picker.d.ts +2 -2
  41. package/dist/components/data-entry/date-range-picker.js +5 -5
  42. package/dist/components/data-entry/index.d.ts +5 -5
  43. package/dist/components/data-entry/index.js +17 -17
  44. package/dist/components/data-entry/radio.d.ts +2 -2
  45. package/dist/components/data-entry/slider.d.ts +2 -2
  46. package/dist/components/data-entry/switch.d.ts +2 -2
  47. package/dist/components/data-entry/time-picker.d.ts +2 -2
  48. package/dist/components/data-entry/time-picker.js +3 -3
  49. package/dist/components/data-entry/transfer.d.ts +3 -3
  50. package/dist/components/data-entry/transfer.js +3 -3
  51. package/dist/components/data-entry/tree-select.d.ts +2 -2
  52. package/dist/components/data-entry/tree-select.js +5 -5
  53. package/dist/components/data-entry/upload.d.ts +3 -3
  54. package/dist/components/data-entry/upload.js +6 -6
  55. package/dist/components/feedback/alert.js +4 -4
  56. package/dist/components/feedback/dialog.js +3 -3
  57. package/dist/components/feedback/index.js +6 -6
  58. package/dist/components/layout/index.js +1 -1
  59. package/dist/components/navigation/index.d.ts +3 -3
  60. package/dist/components/navigation/index.js +7 -7
  61. package/dist/components/navigation/pagination.d.ts +2 -2
  62. package/dist/components/navigation/pagination.js +4 -4
  63. package/dist/components/navigation/steps.d.ts +3 -3
  64. package/dist/components/navigation/tabs-items.d.ts +2 -2
  65. package/dist/components/query/index.js +5 -5
  66. package/dist/components/ui/index.d.ts +4 -4
  67. package/dist/components/ui/index.js +18 -18
  68. package/dist/{data-display.prop-DNTAzmDy.d.ts → data-display.prop-Cvi2Mrfw.d.ts} +1 -1
  69. package/dist/{data-entry.prop-BEGA1lTq.d.ts → data-entry.prop-CRbHLb39.d.ts} +1 -1
  70. package/dist/{data-table-DiiZAD3v.d.ts → data-table-Pd62B4WQ.d.ts} +2 -2
  71. package/dist/{data.prop-BVvfKC_g.d.ts → data.prop-BmLaGLb7.d.ts} +1 -0
  72. package/dist/{filter-bar-B7OGFO9S.d.ts → filter-bar-XpspcQdZ.d.ts} +1 -1
  73. package/dist/i18n/index.js +2 -2
  74. package/dist/index.d.ts +7 -7
  75. package/dist/index.js +19 -19
  76. package/dist/lib/datetime/index.d.ts +3 -1
  77. package/dist/lib/datetime/index.js +1 -1
  78. package/dist/{navigation.prop-DpZqcXey.d.ts → navigation.prop-Ck5_gSfs.d.ts} +1 -1
  79. package/dist/props/components/index.d.ts +4 -4
  80. package/dist/props/index.d.ts +4 -4
  81. package/dist/props/vocabulary/index.d.ts +1 -1
  82. package/dist/{search-input-uP01rY1L.d.ts → search-input-PzXHa8KZ.d.ts} +1 -1
  83. package/dist/styles/index.css +6 -0
  84. package/dist/styles/layout.css +0 -6
  85. package/dist/styles/shell-layout.css +23 -0
  86. package/dist/styles/table-layout.css +28 -0
  87. package/package.json +1 -1
  88. 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-3F2AKYRD.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-3F2AKYRD.js';
3
- import { formatDate } from '../chunk-YFCQKO3B.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-YFCQKO3B.js';
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-BEGA1lTq.js';
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-3F2AKYRD.js';
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-3F2AKYRD.js';
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, getDateFnsLocale, getDayPickerLocale, APP_REQUEST_HEADER_DATE_FORMAT, APP_REQUEST_HEADER_TIME_FORMAT, resolveDefaultDateFormat } from './chunk-YFCQKO3B.js';
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 stored = React.useMemo(
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
- stored.timezone ?? resolveDefaultTimezone(defaultTimezone, systemTimezone)
256
+ resolveHydrationSafeTimezone(defaultTimezone, systemTimezone)
257
257
  );
258
258
  const [timeFormat, setTimeFormatState] = React.useState(
259
- () => resolveInitialTimeFormat(stored.timeFormat, defaultTimeFormat, initialLocale)
259
+ () => resolveInitialTimeFormat(void 0, defaultTimeFormat, initialLocale)
260
260
  );
261
261
  const [dateFormat, setDateFormatState] = React.useState(
262
- () => resolveInitialDateFormat(stored.dateFormat, defaultDateFormat, initialLocale)
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
- syncI18nLocale(locale, fallbackLocale);
311
- syncDatetimeContext({
312
- locale,
313
- timezone,
314
- timeFormat,
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: getDateFnsLocale(locale),
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-7S7MYFXE.js';
2
- import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from './chunk-DU6ZYZRP.js';
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 { useTranslation } from './chunk-3F2AKYRD.js';
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 = 3, children }) {
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 formatAppRelative(trimmed, options);
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 formatAppRelative(value, options);
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-I2V4Y2VF.js';
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-3F2AKYRD.js';
5
- import { formatDate } from './chunk-YFCQKO3B.js';
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-3F2AKYRD.js';
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-7S7MYFXE.js';
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-3F2AKYRD.js';
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-3F2AKYRD.js';
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-3F2AKYRD.js';
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-3F2AKYRD.js';
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("span", { "data-slot": "card-stat-delta", children: delta }) : null
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-I2V4Y2VF.js';
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-3F2AKYRD.js';
5
- import { formatDate } from './chunk-YFCQKO3B.js';
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,4 +1,4 @@
1
- import { formatDate, translateCurrent } from './chunk-YFCQKO3B.js';
1
+ import { formatDate, translateCurrent } from './chunk-7OTWYSVX.js';
2
2
 
3
3
  // src/lib/format.ts
4
4
  function formatDateTime(value, options) {
@@ -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-3F2AKYRD.js';
4
- import { APP_DATE_FORMAT_OPTIONS, getDateFormatLabel } from './chunk-YFCQKO3B.js';
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-E4HJNQ62.js';
1
+ import { AlertQueryError } from './chunk-FBGBDFNL.js';
2
2
  import { Button } from './chunk-HJEBRCXL.js';
3
- import { useTranslation } from './chunk-3F2AKYRD.js';
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-3F2AKYRD.js';
5
- import { isValidHhmm, formatTimeOfDay, normalizeHhmm } from './chunk-YFCQKO3B.js';
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 { useTranslation } from './chunk-3F2AKYRD.js';
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-3F2AKYRD.js';
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-B7OGFO9S.js';
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-DiiZAD3v.js';
6
- export { F as FormField, S as SearchInput } from '../../search-input-uP01rY1L.js';
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-BEGA1lTq.js';
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-DpZqcXey.js';
29
- import '../../data.prop-BVvfKC_g.js';
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-DNTAzmDy.js';
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-LVNUHUEZ.js';
3
- export { FilterBar, FilterGroup, PageHeader } from '../../chunk-H2FHJOLU.js';
4
- export { TabsItems } from '../../chunk-BPSKQUL2.js';
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-GDSVW62T.js';
6
+ export { Pagination } from '../../chunk-BXIE57HV.js';
8
7
  export { Steps } from '../../chunk-L6J44O74.js';
9
- export { PageContainer, Stack } from '../../chunk-E7LTWRYF.js';
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-E4HJNQ62.js';
13
- export { TreeSelect } from '../../chunk-DABP4NQF.js';
14
- export { Upload, collectUploadCommitActions, createUploadItem, useUploadDraft } from '../../chunk-OXKQMFKV.js';
15
- export { formatBytes, formatCurrency, formatDateLong, formatDateTime, formatRelative, humanError, shortId } from '../../chunk-7S7MYFXE.js';
16
- export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../../chunk-DU6ZYZRP.js';
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 { SearchInput, Transfer, useDebouncedValue, useTimeoutFlag } from '../../chunk-RTRZZ2IZ.js';
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
- export { DataTable, EmptyState, KeyValueGrid, StatusBadge } from '../../chunk-XDYZ3X2E.js';
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-3F2AKYRD.js';
37
- export { formatDate } from '../../chunk-YFCQKO3B.js';
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-7NZFVD24.js';
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-DiiZAD3v.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-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-DNTAzmDy.js';
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 '../../interaction.prop-Cdn7wOtq.js';
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';