@godxjp/ui 12.1.0 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/dist/app/index.d.ts +2 -2
  2. package/dist/app/index.js +4 -4
  3. package/dist/{app.prop-Cy6dJnU8.d.ts → app.prop-CVY8V4ss.d.ts} +1 -1
  4. package/dist/{checkbox-DPFcnsMZ.d.ts → checkbox-shzpQ_Xo.d.ts} +1 -1
  5. package/dist/{chunk-COD66MFF.js → chunk-2BR7KFCP.js} +1 -1
  6. package/dist/chunk-2H65B4JA.js +1 -0
  7. package/dist/{chunk-JSQOCVM6.js → chunk-2M57K2VW.js} +2 -2
  8. package/dist/{chunk-HTEL5DQI.js → chunk-3R3QVJCB.js} +1 -1
  9. package/dist/{chunk-FK2JDABO.js → chunk-55S5N667.js} +4 -2
  10. package/dist/{chunk-YGD4CCQC.js → chunk-5KK3KJ6L.js} +3 -3
  11. package/dist/chunk-76S3TQFH.js +109 -0
  12. package/dist/{chunk-6WSWK7TU.js → chunk-7HEFQDN5.js} +2 -2
  13. package/dist/{chunk-LCQFYL44.js → chunk-7MXIPSYM.js} +59 -5
  14. package/dist/{chunk-WBUUCU7R.js → chunk-AKFR72DQ.js} +4 -4
  15. package/dist/{chunk-IBK5D2Q6.js → chunk-B4K4BXEF.js} +3 -2
  16. package/dist/{chunk-VOHTRR5X.js → chunk-BNXPDUO4.js} +1 -1
  17. package/dist/chunk-C3PKEV6S.js +22 -0
  18. package/dist/{chunk-MMFIL33F.js → chunk-C6OEAQTO.js} +1 -1
  19. package/dist/{chunk-ASMTSQWA.js → chunk-DWYRIKVD.js} +11 -8
  20. package/dist/chunk-ES4Q3KGL.js +1 -0
  21. package/dist/{chunk-XVD5SLDL.js → chunk-FJBVDJGL.js} +56 -3
  22. package/dist/{chunk-FK5QEFVY.js → chunk-GDHDJAVB.js} +1 -1
  23. package/dist/{chunk-TXRYSMOD.js → chunk-H2TX3OPW.js} +1 -1
  24. package/dist/{chunk-EOTOCNT7.js → chunk-HCCID4YY.js} +1 -1
  25. package/dist/{chunk-2TYRT5XH.js → chunk-I2CYVA7B.js} +31 -18
  26. package/dist/{chunk-4MMIMZMK.js → chunk-IJ5ALJGA.js} +1 -1
  27. package/dist/{chunk-PO5ISUFA.js → chunk-IWAIIBSW.js} +4 -2
  28. package/dist/{chunk-UDEPO3UF.js → chunk-IZGLEPGW.js} +2 -2
  29. package/dist/{chunk-3ELRYXJK.js → chunk-JEIUEOTJ.js} +9 -3
  30. package/dist/{chunk-FTOG7D4T.js → chunk-KQ36FDEE.js} +1 -1
  31. package/dist/{chunk-WJNR3RAG.js → chunk-MTJHEQ46.js} +4 -4
  32. package/dist/{chunk-ZM4SMKEI.js → chunk-QATON677.js} +3 -20
  33. package/dist/{chunk-FOANNF6Z.js → chunk-QD3YG56T.js} +2 -2
  34. package/dist/{chunk-SIUIIIQW.js → chunk-SISAM4JZ.js} +3 -3
  35. package/dist/chunk-VU4GFGDG.js +12 -0
  36. package/dist/{chunk-MXEVP5S2.js → chunk-W2NWOWZ3.js} +5 -5
  37. package/dist/{chunk-7HF56YHC.js → chunk-X4J55OS5.js} +3 -3
  38. package/dist/{chunk-N6ELT7KB.js → chunk-XTVUYEJD.js} +30 -2
  39. package/dist/chunk-XUEDRPWF.js +177 -0
  40. package/dist/{chunk-2JCSS6B4.js → chunk-YVZPAN2W.js} +2 -2
  41. package/dist/{chunk-BCBK4FLV.js → chunk-ZFBIKJSJ.js} +2 -2
  42. package/dist/{chunk-L2MEN2VK.js → chunk-ZPHIXXTK.js} +2 -2
  43. package/dist/components/admin/index.d.ts +14 -15
  44. package/dist/components/admin/index.js +30 -28
  45. package/dist/components/data-display/badge.d.ts +1 -1
  46. package/dist/components/data-display/badge.js +4 -4
  47. package/dist/components/data-display/card.d.ts +2 -2
  48. package/dist/components/data-display/carousel.d.ts +12 -1
  49. package/dist/components/data-display/carousel.js +3 -3
  50. package/dist/components/data-display/index.d.ts +6 -6
  51. package/dist/components/data-display/index.js +9 -9
  52. package/dist/components/data-display/table.js +2 -2
  53. package/dist/components/data-entry/calendar.d.ts +6 -4
  54. package/dist/components/data-entry/calendar.js +2 -2
  55. package/dist/components/data-entry/cascader.d.ts +6 -4
  56. package/dist/components/data-entry/cascader.js +5 -5
  57. package/dist/components/data-entry/checkbox.d.ts +7 -5
  58. package/dist/components/data-entry/color-picker.d.ts +6 -4
  59. package/dist/components/data-entry/color-picker.js +5 -5
  60. package/dist/components/data-entry/command.js +2 -2
  61. package/dist/components/data-entry/date-picker.d.ts +6 -4
  62. package/dist/components/data-entry/date-picker.js +6 -6
  63. package/dist/components/data-entry/date-range-picker.d.ts +6 -4
  64. package/dist/components/data-entry/date-range-picker.js +6 -6
  65. package/dist/components/data-entry/index.d.ts +38 -9
  66. package/dist/components/data-entry/index.js +24 -22
  67. package/dist/components/data-entry/input.js +1 -1
  68. package/dist/components/data-entry/radio.d.ts +6 -4
  69. package/dist/components/data-entry/select.d.ts +6 -4
  70. package/dist/components/data-entry/select.js +6 -6
  71. package/dist/components/data-entry/slider.d.ts +6 -4
  72. package/dist/components/data-entry/switch.d.ts +6 -4
  73. package/dist/components/data-entry/textarea.js +2 -2
  74. package/dist/components/data-entry/time-input.js +2 -2
  75. package/dist/components/data-entry/time-picker.d.ts +6 -4
  76. package/dist/components/data-entry/time-picker.js +4 -4
  77. package/dist/components/data-entry/transfer.d.ts +7 -5
  78. package/dist/components/data-entry/transfer.js +5 -5
  79. package/dist/components/data-entry/tree-select.d.ts +6 -4
  80. package/dist/components/data-entry/tree-select.js +5 -5
  81. package/dist/components/data-entry/upload.d.ts +7 -5
  82. package/dist/components/data-entry/upload.js +8 -7
  83. package/dist/components/data-grid/index.js +9 -9
  84. package/dist/components/feedback/alert.d.ts +4 -4
  85. package/dist/components/feedback/alert.js +4 -4
  86. package/dist/components/feedback/dialog.d.ts +19 -5
  87. package/dist/components/feedback/dialog.js +5 -4
  88. package/dist/components/feedback/index.d.ts +17 -26
  89. package/dist/components/feedback/index.js +13 -12
  90. package/dist/components/feedback/sheet.d.ts +21 -2
  91. package/dist/components/feedback/sheet.js +2 -1
  92. package/dist/components/general/button.d.ts +3 -3
  93. package/dist/components/general/index.d.ts +3 -3
  94. package/dist/components/layout/index.d.ts +6 -6
  95. package/dist/components/layout/index.js +5 -4
  96. package/dist/components/navigation/index.d.ts +8 -8
  97. package/dist/components/navigation/index.js +9 -9
  98. package/dist/components/navigation/pagination.d.ts +4 -4
  99. package/dist/components/navigation/pagination.js +7 -7
  100. package/dist/components/navigation/steps.d.ts +5 -5
  101. package/dist/components/navigation/steps.js +4 -4
  102. package/dist/components/query/index.d.ts +4 -4
  103. package/dist/components/query/index.js +4 -4
  104. package/dist/components/ui/index.d.ts +15 -13
  105. package/dist/components/ui/index.js +27 -26
  106. package/dist/{data-display.prop-Cf2p9QC4.d.ts → data-display.prop-BOtnzI17.d.ts} +3 -3
  107. package/dist/{data-entry.prop-6J0o45se.d.ts → data-entry.prop-DL7kUcJh.d.ts} +32 -3
  108. package/dist/{data-table-B_q7j992.d.ts → data-table-DO-gU4wJ.d.ts} +3 -3
  109. package/dist/{data.prop-DMYMNl6L.d.ts → data.prop-D4uDw_SW.d.ts} +1 -1
  110. package/dist/{feedback.prop-Nc9Aa8SV.d.ts → feedback.prop-CtrL24E1.d.ts} +2 -2
  111. package/dist/{filter-bar-B07JSxME.d.ts → filter-bar-tEwfKthz.d.ts} +1 -1
  112. package/dist/{flex-DXtIALBh.d.ts → flex-88Ps6YCv.d.ts} +1 -1
  113. package/dist/form/index.d.ts +3 -3
  114. package/dist/form/index.js +2 -1
  115. package/dist/{form.prop-Bc6r6JJW.d.ts → form.prop-5cyL3bvT.d.ts} +1 -1
  116. package/dist/{general.prop-DoHDCRmL.d.ts → general.prop-1GgJkf4b.d.ts} +2 -2
  117. package/dist/i18n/index.d.ts +3 -1
  118. package/dist/i18n/index.js +2 -2
  119. package/dist/index.d.ts +14 -15
  120. package/dist/index.js +40 -38
  121. package/dist/{interaction.prop-DSFizzP6.d.ts → interaction.prop-R77MnAMZ.d.ts} +5 -1
  122. package/dist/{layout.prop-B1yQPUNZ.d.ts → layout.prop-ChLFNGJ6.d.ts} +2 -2
  123. package/dist/lib/datetime/index.js +1 -1
  124. package/dist/{navigation.prop-BKlxd-j7.d.ts → navigation.prop-CXDaVNaR.d.ts} +1 -1
  125. package/dist/{navigation.prop-Dumy196X.d.ts → navigation.prop-Cc_Iu87S.d.ts} +2 -2
  126. package/dist/props/components/index.d.ts +13 -13
  127. package/dist/props/index.d.ts +13 -13
  128. package/dist/props/index.js +1 -1
  129. package/dist/props/registry.d.ts +22 -2
  130. package/dist/props/registry.js +1 -1
  131. package/dist/props/vocabulary/index.d.ts +4 -4
  132. package/dist/{query.prop-Dog-EAfG.d.ts → query.prop-CyNxaCHe.d.ts} +2 -2
  133. package/dist/{search-input-BR4nAWiT.d.ts → search-input-CFUtVWQl.d.ts} +2 -2
  134. package/dist/{shared.prop-BsNSXeqD.d.ts → shared.prop-BvMSLFJ6.d.ts} +7 -1
  135. package/dist/styles/alert-layout.css +8 -8
  136. package/dist/styles/card-layout.css +301 -292
  137. package/dist/styles/control.css +8 -9
  138. package/dist/styles/data-display-layout.css +50 -5
  139. package/dist/styles/density.css +4 -0
  140. package/dist/styles/dialog-layout.css +35 -7
  141. package/dist/styles/form-layout.css +161 -0
  142. package/dist/styles/index.css +31 -3
  143. package/dist/styles/layout.css +1 -1
  144. package/dist/styles/navigation-layout.css +1 -1
  145. package/dist/styles/shell-layout.css +12 -12
  146. package/dist/tokens/components/card.css +1 -1
  147. package/dist/tokens/components/feedback.css +9 -1
  148. package/dist/tokens/foundation.css +74 -16
  149. package/dist/tokens/semantic/layout.css +29 -11
  150. package/package.json +1 -1
  151. package/dist/chunk-A6VFHPS6.js +0 -119
  152. package/dist/chunk-B3WX53JQ.js +0 -40
  153. package/dist/chunk-QSGW3ZWK.js +0 -45
  154. package/dist/chunk-WFUIE252.js +0 -61
  155. package/dist/styles/feedback-layout.css +0 -49
  156. package/dist/tooltip-Bf2KjRy8.d.ts +0 -14
  157. package/dist/use-toast-Dsw3yE2S.d.ts +0 -19
@@ -5,12 +5,12 @@ import * as date_fns from 'date-fns';
5
5
  import { Locale } from 'date-fns';
6
6
  import { vi } from 'react-day-picker/locale';
7
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
8
- import { a as AppProviderProp, A as AppContextValue } from '../app.prop-Cy6dJnU8.js';
8
+ import { a as AppProviderProp, A as AppContextValue } from '../app.prop-CVY8V4ss.js';
9
9
  import { j as formatDate, a as FormatDateOptions } from '../format-date-ByyZoqI5.js';
10
10
  export { F as FormatDateKind, b as FormatDatetimeOptions, d as detectFormatDateKind, f as formatAppDate, c as formatAppDateLong, e as formatAppDateTime, g as formatAppRelative, h as formatAppTime, i as formatCalendarDate, k as formatTimeOfDay, m as isFormatDateValue } from '../format-date-ByyZoqI5.js';
11
11
  export { getDatetimeContext, isValidHhmm, normalizeHhmm, parseDateInput, syncDatetimeContext } from '../lib/datetime/index.js';
12
12
  export { usePickerLocales, useTranslation } from '../i18n/index.js';
13
- import '../shared.prop-BsNSXeqD.js';
13
+ import '../shared.prop-BvMSLFJ6.js';
14
14
  import 'react';
15
15
  import '@date-fns/tz';
16
16
 
package/dist/app/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { useAppContext } from '../chunk-TXRYSMOD.js';
2
- 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 } from '../chunk-TXRYSMOD.js';
3
- import { formatDate } from '../chunk-3ELRYXJK.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-3ELRYXJK.js';
1
+ import { useAppContext } from '../chunk-H2TX3OPW.js';
2
+ 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 } from '../chunk-H2TX3OPW.js';
3
+ import { formatDate } from '../chunk-JEIUEOTJ.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-JEIUEOTJ.js';
5
5
  import { useMemo } from 'react';
6
6
 
7
7
  function useFormatting() {
@@ -1,7 +1,7 @@
1
1
  import { Locale } from 'date-fns';
2
2
  import { DayPickerProps } from 'react-day-picker';
3
3
  import { h as AppLocale, l as AppTimezoneDefault, k as AppTimezone, j as AppTimeFormat, g as AppDateFormat, i as AppRequestHeaders } from './types-mvzYGrma.js';
4
- import { C as ChildrenProp, a as ClassNameProp, c as DisabledProp, I as IdProp, N as NameProp, V as ValueProp, g as OnValueChangeProp } from './shared.prop-BsNSXeqD.js';
4
+ import { C as ChildrenProp, a as ClassNameProp, c as DisabledProp, I as IdProp, N as NameProp, V as ValueProp, g as OnValueChangeProp } from './shared.prop-BvMSLFJ6.js';
5
5
 
6
6
  /** App shell prop types — @see docs/COMPONENTS.md#app */
7
7
 
@@ -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 { b as CheckboxGroupProp } from './data-entry.prop-6J0o45se.js';
4
+ import { b as CheckboxGroupProp } from './data-entry.prop-DL7kUcJh.js';
5
5
 
6
6
  declare function CheckboxGroup({ value: controlledValue, defaultValue, onValueChange, options, orientation, disabled, name, className, children, }: CheckboxGroupProp): react_jsx_runtime.JSX.Element;
7
7
 
@@ -1,4 +1,4 @@
1
- import { tableCellPaddingClass, tableRowHeightClass } from './chunk-IBK5D2Q6.js';
1
+ import { tableCellPaddingClass, tableRowHeightClass } from './chunk-B4K4BXEF.js';
2
2
  import { cn } from './chunk-U7N2A7A3.js';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
 
@@ -0,0 +1 @@
1
+
@@ -1,9 +1,9 @@
1
- import { SearchInput } from './chunk-BCBK4FLV.js';
2
1
  import { reactNodeText } from './chunk-SMLKNECP.js';
2
+ import { SearchInput } from './chunk-ZFBIKJSJ.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 { useTranslation } from './chunk-TXRYSMOD.js';
6
+ import { useTranslation } from './chunk-H2TX3OPW.js';
7
7
  import { cn } from './chunk-U7N2A7A3.js';
8
8
  import * as React from 'react';
9
9
  import { ChevronRight, ChevronLeft } from 'lucide-react';
@@ -1,4 +1,4 @@
1
- import { controlIconLeadingClass } from './chunk-IBK5D2Q6.js';
1
+ import { controlIconLeadingClass } from './chunk-B4K4BXEF.js';
2
2
  import { cn } from './chunk-U7N2A7A3.js';
3
3
  import * as React from 'react';
4
4
  import { Command as Command$1 } from 'cmdk';
@@ -1,9 +1,10 @@
1
1
  import { normalizeTreeOptions, formatPathLabels, getNodeByPath, filterTreeOptions, pathsEqual, pathKey } from './chunk-SMLKNECP.js';
2
- import { Command, CommandInput } from './chunk-HTEL5DQI.js';
2
+ import { Command, CommandInput } from './chunk-3R3QVJCB.js';
3
3
  import { Button } from './chunk-M4PZNAMV.js';
4
4
  import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
5
5
  import { ScrollArea, ScrollBar } from './chunk-3KPEZ5CF.js';
6
- import { useTranslation } from './chunk-TXRYSMOD.js';
6
+ import { controlOpenRingClass } from './chunk-B4K4BXEF.js';
7
+ import { useTranslation } from './chunk-H2TX3OPW.js';
7
8
  import { cn } from './chunk-U7N2A7A3.js';
8
9
  import * as React from 'react';
9
10
  import { Check, X, ChevronsUpDown, ChevronRight, Minus } from 'lucide-react';
@@ -234,6 +235,7 @@ function Cascader({
234
235
  disabled,
235
236
  className: cn(
236
237
  "w-full justify-start font-normal",
238
+ controlOpenRingClass,
237
239
  // Reserve trailing room for the clear + chevron overlay rendered below.
238
240
  showClear ? "pe-14" : "pe-9",
239
241
  !displayLabel && "text-muted-foreground"
@@ -1,8 +1,8 @@
1
- import { Input } from './chunk-VOHTRR5X.js';
1
+ import { Input } from './chunk-BNXPDUO4.js';
2
2
  import { Button } from './chunk-M4PZNAMV.js';
3
3
  import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
4
- import { useTranslation, usePickerLocales } from './chunk-TXRYSMOD.js';
5
- import { normalizeHhmm, isValidHhmm } from './chunk-3ELRYXJK.js';
4
+ import { useTranslation, usePickerLocales } from './chunk-H2TX3OPW.js';
5
+ import { normalizeHhmm, isValidHhmm } from './chunk-JEIUEOTJ.js';
6
6
  import { cn } from './chunk-U7N2A7A3.js';
7
7
  import * as React from 'react';
8
8
  import { Clock } from 'lucide-react';
@@ -0,0 +1,109 @@
1
+ import { ResponsiveGrid } from './chunk-C3PKEV6S.js';
2
+ import { Label } from './chunk-7PWBC4BY.js';
3
+ import { cn } from './chunk-U7N2A7A3.js';
4
+ import * as React from 'react';
5
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
+
7
+ var FormLayoutContext = React.createContext(null);
8
+ function useFormLayout() {
9
+ return React.useContext(FormLayoutContext);
10
+ }
11
+ var Form = React.forwardRef(function Form2({
12
+ layout = "vertical",
13
+ labelWidth,
14
+ controlWidth,
15
+ labelAlign = "end",
16
+ collapseBelow = "md",
17
+ columns,
18
+ density,
19
+ className,
20
+ children,
21
+ ...props
22
+ }, ref) {
23
+ const ctx = React.useMemo(
24
+ () => ({ layout, labelWidth, controlWidth, labelAlign, collapseBelow }),
25
+ [layout, labelWidth, controlWidth, labelAlign, collapseBelow]
26
+ );
27
+ const content = columns != null ? /* @__PURE__ */ jsx(ResponsiveGrid, { columns, children }) : children;
28
+ return /* @__PURE__ */ jsx(
29
+ "form",
30
+ {
31
+ ref,
32
+ "data-slot": "form",
33
+ "data-layout": layout,
34
+ className: cn("ui-form", density && `ui-density-${density}`, className),
35
+ ...props,
36
+ children: /* @__PURE__ */ jsx(FormLayoutContext.Provider, { value: ctx, children: content })
37
+ }
38
+ );
39
+ });
40
+ var toCssLength = (v) => typeof v === "number" ? `${v}px` : v;
41
+ function FormField({
42
+ id,
43
+ label,
44
+ required,
45
+ helper,
46
+ error,
47
+ labelAddon,
48
+ layout: layoutProp,
49
+ labelWidth: labelWidthProp,
50
+ controlWidth: controlWidthProp,
51
+ colSpan,
52
+ className,
53
+ children
54
+ }) {
55
+ const form = useFormLayout();
56
+ const layout = layoutProp ?? form?.layout ?? "vertical";
57
+ const labelWidth = labelWidthProp ?? form?.labelWidth;
58
+ const controlWidth = controlWidthProp ?? form?.controlWidth;
59
+ const labelAlign = form?.labelAlign ?? "end";
60
+ const collapseBelow = form?.collapseBelow ?? "md";
61
+ const helperId = helper ? `${id}-helper` : void 0;
62
+ const errorId = error ? `${id}-error` : void 0;
63
+ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production" && !React.isValidElement(children)) {
64
+ console.warn(
65
+ "FormField expects a single React element child to receive aria-describedby/aria-errormessage; the helper text and error message will not be associated with the control."
66
+ );
67
+ }
68
+ const childWithA11y = React.isValidElement(children) ? React.cloneElement(children, {
69
+ // Helper and error can coexist: helper stays on aria-describedby, the error on
70
+ // aria-errormessage (surfaced when aria-invalid is true).
71
+ "aria-describedby": helperId,
72
+ "aria-errormessage": errorId,
73
+ "aria-required": required ? true : void 0,
74
+ "aria-invalid": !!error || void 0
75
+ }) : children;
76
+ const style = {};
77
+ if (labelWidth != null)
78
+ style["--form-label-width"] = toCssLength(labelWidth);
79
+ if (controlWidth != null)
80
+ style["--form-control-width"] = toCssLength(controlWidth);
81
+ if (colSpan != null) style.gridColumn = `span ${colSpan}`;
82
+ return /* @__PURE__ */ jsxs(
83
+ "div",
84
+ {
85
+ "data-slot": "form-field",
86
+ "data-layout": layout,
87
+ "data-collapse-below": String(collapseBelow),
88
+ "data-label-align": labelAlign,
89
+ style: Object.keys(style).length ? style : void 0,
90
+ className: cn("ui-form-field", className),
91
+ children: [
92
+ /* @__PURE__ */ jsxs("div", { "data-slot": "form-field-label", className: "ui-form-field-label", children: [
93
+ /* @__PURE__ */ jsxs(Label, { htmlFor: id, className: "ui-inline-xs", children: [
94
+ /* @__PURE__ */ jsx("span", { children: label }),
95
+ required && /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "text-destructive", children: "*" })
96
+ ] }),
97
+ labelAddon
98
+ ] }),
99
+ /* @__PURE__ */ jsxs("div", { "data-slot": "form-field-control", className: "ui-form-field-control", children: [
100
+ childWithA11y,
101
+ helper ? /* @__PURE__ */ jsx("p", { id: helperId, className: "text-muted-foreground text-xs", children: helper }) : null,
102
+ error ? /* @__PURE__ */ jsx("p", { id: errorId, role: "alert", className: "text-destructive text-xs", children: error }) : null
103
+ ] })
104
+ ]
105
+ }
106
+ );
107
+ }
108
+
109
+ export { Form, FormField, useFormLayout };
@@ -1,6 +1,6 @@
1
- import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-2TYRT5XH.js';
1
+ import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from './chunk-I2CYVA7B.js';
2
2
  import { Button } from './chunk-M4PZNAMV.js';
3
- import { useTranslation } from './chunk-TXRYSMOD.js';
3
+ import { useTranslation } from './chunk-H2TX3OPW.js';
4
4
  import { cn } from './chunk-U7N2A7A3.js';
5
5
  import * as React from 'react';
6
6
  import { MoreHorizontal, ChevronLeft, ChevronRight } from 'lucide-react';
@@ -1,7 +1,8 @@
1
- import { Input } from './chunk-VOHTRR5X.js';
1
+ import { Input } from './chunk-BNXPDUO4.js';
2
+ import { overlayHeaderToneClass } from './chunk-VU4GFGDG.js';
2
3
  import { buttonVariants, Button } from './chunk-M4PZNAMV.js';
3
4
  import { Label } from './chunk-7PWBC4BY.js';
4
- import { useTranslation } from './chunk-TXRYSMOD.js';
5
+ import { useTranslation } from './chunk-H2TX3OPW.js';
5
6
  import { cn } from './chunk-U7N2A7A3.js';
6
7
  import * as React from 'react';
7
8
  import * as DialogPrimitive from '@radix-ui/react-dialog';
@@ -67,8 +68,35 @@ var DialogContent = React.forwardRef(({ className, children, showClose, showClos
67
68
  ] });
68
69
  });
69
70
  DialogContent.displayName = "DialogContent";
70
- var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { "data-slot": "dialog-header", className, ...props });
71
+ var DialogHeader = ({
72
+ className,
73
+ title,
74
+ subtitle,
75
+ extra,
76
+ tone = "default",
77
+ children,
78
+ ...props
79
+ }) => {
80
+ return /* @__PURE__ */ jsx(
81
+ "div",
82
+ {
83
+ "data-slot": "dialog-header",
84
+ "data-tone": tone,
85
+ className: cn(overlayHeaderToneClass[tone], className),
86
+ ...props,
87
+ children: children ?? /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-[var(--space-3)] pe-[var(--space-8)]", children: [
88
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-[var(--space-1)]", children: [
89
+ title != null && /* @__PURE__ */ jsx(DialogTitle, { children: title }),
90
+ subtitle != null && /* @__PURE__ */ jsx(DialogDescription, { children: subtitle })
91
+ ] }),
92
+ extra != null && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-[var(--space-2)] whitespace-nowrap", children: extra })
93
+ ] })
94
+ }
95
+ );
96
+ };
71
97
  DialogHeader.displayName = "DialogHeader";
98
+ var DialogBody = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { "data-slot": "dialog-body", className, ...props });
99
+ DialogBody.displayName = "DialogBody";
72
100
  var DialogFooter = ({ className, ...props }) => (
73
101
  // Layout (right-aligned actions, mobile column-reverse) lives in feedback-layout.css
74
102
  // [data-slot="dialog-footer"]. Destructive action goes far-left via `className="mr-auto"`.
@@ -136,7 +164,32 @@ var AlertDialogContent = React.forwardRef(({ className, children, showClose, sho
136
164
  );
137
165
  });
138
166
  AlertDialogContent.displayName = "AlertDialogContent";
139
- var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { "data-slot": "dialog-header", className: cn(className), ...props });
167
+ var AlertDialogHeader = ({
168
+ className,
169
+ title,
170
+ subtitle,
171
+ extra,
172
+ tone = "default",
173
+ children,
174
+ ...props
175
+ }) => {
176
+ return /* @__PURE__ */ jsx(
177
+ "div",
178
+ {
179
+ "data-slot": "dialog-header",
180
+ "data-tone": tone,
181
+ className: cn(overlayHeaderToneClass[tone], className),
182
+ ...props,
183
+ children: children ?? /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-[var(--space-3)] pe-[var(--space-8)]", children: [
184
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-[var(--space-1)]", children: [
185
+ title != null && /* @__PURE__ */ jsx(AlertDialogTitle, { children: title }),
186
+ subtitle != null && /* @__PURE__ */ jsx(AlertDialogDescription, { children: subtitle })
187
+ ] }),
188
+ extra != null && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-[var(--space-2)] whitespace-nowrap", children: extra })
189
+ ] })
190
+ }
191
+ );
192
+ };
140
193
  AlertDialogHeader.displayName = "AlertDialogHeader";
141
194
  var AlertDialogFooter = ({ className, ...props }) => (
142
195
  // Layout lives in feedback-layout.css [data-slot="dialog-footer"] (right-aligned actions).
@@ -266,6 +319,7 @@ var Dialog = Object.assign(DialogRoot, {
266
319
  Overlay: DialogOverlay,
267
320
  Content: DialogContent,
268
321
  Header: DialogHeader,
322
+ Body: DialogBody,
269
323
  Footer: DialogFooter,
270
324
  Title: DialogTitle,
271
325
  Description: DialogDescription,
@@ -274,4 +328,4 @@ var Dialog = Object.assign(DialogRoot, {
274
328
  Cancel: DialogCancel
275
329
  });
276
330
 
277
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Dialog, DialogAction, DialogCancel, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogRoot, DialogTitle, DialogTrigger };
331
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Dialog, DialogAction, DialogBody, DialogCancel, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogRoot, DialogTitle, DialogTrigger };
@@ -1,9 +1,9 @@
1
- import { Calendar } from './chunk-FTOG7D4T.js';
2
- import { Input } from './chunk-VOHTRR5X.js';
1
+ import { Calendar } from './chunk-KQ36FDEE.js';
2
+ import { Input } from './chunk-BNXPDUO4.js';
3
3
  import { Button } from './chunk-M4PZNAMV.js';
4
4
  import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
5
- import { useTranslation, usePickerLocales } from './chunk-TXRYSMOD.js';
6
- import { toIsoDate, parseDateInput } from './chunk-3ELRYXJK.js';
5
+ import { useTranslation, usePickerLocales } from './chunk-H2TX3OPW.js';
6
+ import { toIsoDate, parseDateInput } from './chunk-JEIUEOTJ.js';
7
7
  import { cn } from './chunk-U7N2A7A3.js';
8
8
  import * as React from 'react';
9
9
  import { CalendarIcon } from 'lucide-react';
@@ -1,6 +1,7 @@
1
1
  // src/lib/control-styles.ts
2
2
  var controlMultilineClass = "ui-control-multiline w-full rounded-lg border border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/25 disabled:cursor-not-allowed disabled:opacity-50";
3
- var controlTriggerClass = "ui-control flex w-full items-center justify-between gap-2 whitespace-nowrap rounded-lg border border-input bg-background shadow-sm focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/25 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1";
3
+ var controlOpenRingClass = "data-[state=open]:border-ring data-[state=open]:ring-ring/50 data-[state=open]:ring-[3px]";
4
+ var controlTriggerClass = "ui-control flex w-full items-center justify-between gap-2 whitespace-nowrap rounded-lg border border-input bg-background shadow-sm transition-[color,box-shadow] focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/25 data-[state=open]:border-ring data-[state=open]:ring-ring/50 data-[state=open]:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1";
4
5
  var controlIconClass = "size-[length:var(--control-height)] shrink-0";
5
6
  var controlIconSmClass = "size-[calc(var(--control-height)-0.5rem)] shrink-0";
6
7
  var controlIconLeadingClass = "size-[length:var(--control-icon-size)] shrink-0";
@@ -14,4 +15,4 @@ var toneDestructiveClass = "border-destructive/30 bg-destructive/10 text-destruc
14
15
  var toneMutedClass = "border-border bg-muted text-muted-foreground";
15
16
  var toneNeutralClass = "border-border bg-muted text-muted-foreground";
16
17
 
17
- export { controlIconClass, controlIconLeadingClass, controlIconSmClass, controlMultilineClass, controlTriggerClass, tableCellPaddingClass, tableHeadHeightClass, tableRowHeightClass, toneDestructiveClass, toneInfoClass, toneMutedClass, toneNeutralClass, toneSuccessClass, toneWarningClass };
18
+ export { controlIconClass, controlIconLeadingClass, controlIconSmClass, controlMultilineClass, controlOpenRingClass, controlTriggerClass, tableCellPaddingClass, tableHeadHeightClass, tableRowHeightClass, toneDestructiveClass, toneInfoClass, toneMutedClass, toneNeutralClass, toneSuccessClass, toneWarningClass };
@@ -10,7 +10,7 @@ var Input = React.forwardRef(
10
10
  "data-slot": "input",
11
11
  ref,
12
12
  className: cn(
13
- "ui-control border-input bg-background w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm",
13
+ "ui-control border-input bg-background w-full min-w-0 rounded-md border px-3 py-1 text-sm shadow-xs transition-[color,box-shadow] outline-none",
14
14
  "selection:bg-primary selection:text-primary-foreground",
15
15
  "file:text-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium",
16
16
  "placeholder:text-muted-foreground",
@@ -0,0 +1,22 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+
3
+ // src/components/layout/responsive-grid.tsx
4
+ function resolveColumns(columns) {
5
+ if (typeof columns === "number") {
6
+ return {
7
+ "--responsive-grid-sm": Math.min(columns, 2),
8
+ "--responsive-grid-md": Math.min(columns, 3),
9
+ "--responsive-grid-lg": columns
10
+ };
11
+ }
12
+ return {
13
+ "--responsive-grid-sm": columns.sm ?? 1,
14
+ "--responsive-grid-md": columns.md ?? columns.sm ?? 1,
15
+ "--responsive-grid-lg": columns.lg ?? columns.md ?? columns.sm ?? 1
16
+ };
17
+ }
18
+ function ResponsiveGrid({ columns = 4, children }) {
19
+ return /* @__PURE__ */ jsx("div", { className: "ui-responsive-grid", style: resolveColumns(columns), children });
20
+ }
21
+
22
+ export { ResponsiveGrid };
@@ -1,4 +1,4 @@
1
- import { normalizeHhmm, isValidHhmm } from './chunk-3ELRYXJK.js';
1
+ import { normalizeHhmm, isValidHhmm } from './chunk-JEIUEOTJ.js';
2
2
  import { cn } from './chunk-U7N2A7A3.js';
3
3
  import * as React from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,10 +1,10 @@
1
1
  import { EmptyState } from './chunk-YD7V2HGZ.js';
2
- import { Flex, densityClass } from './chunk-INIIF7F7.js';
3
2
  import { Checkbox } from './chunk-BE6GJGKJ.js';
3
+ import { Flex, densityClass } from './chunk-INIIF7F7.js';
4
4
  import { Button } from './chunk-M4PZNAMV.js';
5
- import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-4MMIMZMK.js';
6
- import { tableCellPaddingClass, tableRowHeightClass, controlIconSmClass } from './chunk-IBK5D2Q6.js';
7
- import { useTranslation } from './chunk-TXRYSMOD.js';
5
+ import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-IJ5ALJGA.js';
6
+ import { tableCellPaddingClass, tableRowHeightClass, controlIconSmClass } from './chunk-B4K4BXEF.js';
7
+ import { useTranslation } from './chunk-H2TX3OPW.js';
8
8
  import { cn } from './chunk-U7N2A7A3.js';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
10
10
  import * as React from 'react';
@@ -22,10 +22,13 @@ Descriptions.Item = function DescriptionsItem({
22
22
  children
23
23
  }) {
24
24
  const spanClass = span === 2 ? "sm:col-span-2" : span === 3 ? "sm:col-span-2 lg:col-span-3" : "";
25
- return /* @__PURE__ */ jsxs("div", { className: cn(spanClass, className), children: [
26
- /* @__PURE__ */ jsx("dt", { className: "text-muted-foreground text-xs", children: label }),
27
- /* @__PURE__ */ jsx("dd", { className: cn("text-sm break-all", mono && "font-mono"), children })
28
- ] });
25
+ return (
26
+ // grid + the shared --field-label-gap so the label→value gap matches FormField / Form everywhere.
27
+ /* @__PURE__ */ jsxs("div", { className: cn("grid gap-[var(--field-label-gap)]", spanClass, className), children: [
28
+ /* @__PURE__ */ jsx("dt", { className: "text-muted-foreground text-xs", children: label }),
29
+ /* @__PURE__ */ jsx("dd", { className: cn("text-sm break-all", mono && "font-mono"), children })
30
+ ] })
31
+ );
29
32
  };
30
33
  var DataTableContext = React.createContext(null);
31
34
  function useDataTableContext() {
@@ -0,0 +1 @@
1
+ export { toast as sonnerToast } from 'sonner';
@@ -1,4 +1,4 @@
1
- import { useTranslation } from './chunk-TXRYSMOD.js';
1
+ import { useTranslation } from './chunk-H2TX3OPW.js';
2
2
  import { cn } from './chunk-U7N2A7A3.js';
3
3
  import * as React from 'react';
4
4
  import useEmblaCarousel from 'embla-carousel-react';
@@ -18,16 +18,21 @@ var Carousel = React.forwardRef(({ className, opts, plugins, setApi, children, .
18
18
  const [emblaRef, api] = useEmblaCarousel(opts, plugins);
19
19
  const [canScrollPrev, setCanScrollPrev] = React.useState(false);
20
20
  const [canScrollNext, setCanScrollNext] = React.useState(false);
21
+ const [selectedIndex, setSelectedIndex] = React.useState(0);
22
+ const [scrollSnaps, setScrollSnaps] = React.useState([]);
21
23
  const onSelect = React.useCallback(() => {
22
24
  if (!api) return;
23
25
  setCanScrollPrev(api.canScrollPrev());
24
26
  setCanScrollNext(api.canScrollNext());
27
+ setSelectedIndex(api.selectedScrollSnap());
25
28
  }, [api]);
26
29
  React.useEffect(() => {
27
30
  if (!api) return void 0;
28
31
  onSelect();
32
+ setScrollSnaps(api.scrollSnapList());
29
33
  setApi?.(api);
30
34
  api.on("reInit", onSelect);
35
+ api.on("reInit", () => setScrollSnaps(api.scrollSnapList()));
31
36
  api.on("select", onSelect);
32
37
  return () => {
33
38
  api.off("reInit", onSelect);
@@ -50,12 +55,23 @@ var Carousel = React.forwardRef(({ className, opts, plugins, setApi, children, .
50
55
  () => ({
51
56
  canScrollPrev,
52
57
  canScrollNext,
58
+ selectedIndex,
59
+ scrollSnaps,
53
60
  api,
54
61
  scrollPrev,
55
62
  scrollNext,
56
63
  scrollTo
57
64
  }),
58
- [canScrollPrev, canScrollNext, api, scrollPrev, scrollNext, scrollTo]
65
+ [
66
+ canScrollPrev,
67
+ canScrollNext,
68
+ selectedIndex,
69
+ scrollSnaps,
70
+ api,
71
+ scrollPrev,
72
+ scrollNext,
73
+ scrollTo
74
+ ]
59
75
  );
60
76
  return /* @__PURE__ */ jsx(CarouselContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
61
77
  "div",
@@ -158,5 +174,42 @@ var CarouselNext = React.forwardRef(({ className, ...props }, ref) => {
158
174
  );
159
175
  });
160
176
  CarouselNext.displayName = "CarouselNext";
177
+ var CarouselDots = React.forwardRef(
178
+ ({ className, ...props }, ref) => {
179
+ const { t } = useTranslation();
180
+ const { scrollSnaps, selectedIndex, scrollTo } = useCarousel();
181
+ if (scrollSnaps.length <= 1) return null;
182
+ return /* @__PURE__ */ jsx(
183
+ "div",
184
+ {
185
+ ref,
186
+ "data-slot": "carousel-dots",
187
+ className: cn("ui-carousel-dots", className),
188
+ role: "tablist",
189
+ "aria-label": t("dataDisplay.carousel.dotsLabel"),
190
+ ...props,
191
+ children: scrollSnaps.map((_, index) => {
192
+ const active = index === selectedIndex;
193
+ return /* @__PURE__ */ jsx(
194
+ "button",
195
+ {
196
+ type: "button",
197
+ role: "tab",
198
+ "data-slot": "carousel-dot",
199
+ "data-active": active ? "" : void 0,
200
+ className: "ui-carousel-dot",
201
+ "aria-selected": active,
202
+ "aria-current": active ? "true" : void 0,
203
+ "aria-label": t("dataDisplay.carousel.goToSlide", { index: index + 1 }),
204
+ onClick: () => scrollTo(index)
205
+ },
206
+ index
207
+ );
208
+ })
209
+ }
210
+ );
211
+ }
212
+ );
213
+ CarouselDots.displayName = "CarouselDots";
161
214
 
162
- export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, useCarousel };
215
+ export { Carousel, CarouselContent, CarouselDots, CarouselItem, CarouselNext, CarouselPrevious, useCarousel };
@@ -1,4 +1,4 @@
1
- import { getSyncedLocale, translateCurrent } from './chunk-3ELRYXJK.js';
1
+ import { getSyncedLocale, translateCurrent } from './chunk-JEIUEOTJ.js';
2
2
 
3
3
  // src/lib/format.ts
4
4
  function formatBytes(n, locale = getSyncedLocale()) {
@@ -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-3ELRYXJK.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-JEIUEOTJ.js';
2
2
  import * as React from 'react';
3
3
  import { useMemo } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -1,4 +1,4 @@
1
- import { controlMultilineClass } from './chunk-IBK5D2Q6.js';
1
+ import { controlMultilineClass } from './chunk-B4K4BXEF.js';
2
2
  import { cn } from './chunk-U7N2A7A3.js';
3
3
  import * as React from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';