@godxjp/ui 6.2.0 → 6.3.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 (72) hide show
  1. package/dist/app/index.js +4 -4
  2. package/dist/{checkbox-CoHDi3ao.d.ts → checkbox-CNP1MnPn.d.ts} +1 -1
  3. package/dist/{chunk-GV2YQLH2.js → chunk-5DRKN2HI.js} +1 -1
  4. package/dist/{chunk-7OTWYSVX.js → chunk-6BJ2X7PA.js} +32 -10
  5. package/dist/{chunk-IGOP3HFF.js → chunk-7W3CHMLL.js} +1 -1
  6. package/dist/{chunk-32UNYHGY.js → chunk-EYLUVDHJ.js} +1 -1
  7. package/dist/{chunk-FRFUSXBH.js → chunk-FKAXA6OI.js} +1 -1
  8. package/dist/{chunk-FBGBDFNL.js → chunk-FNZQTYAG.js} +2 -2
  9. package/dist/{chunk-R5QIUFML.js → chunk-J6ZZVN6T.js} +58 -29
  10. package/dist/{chunk-ZOBDO3KZ.js → chunk-LFLHBTDK.js} +1 -1
  11. package/dist/{chunk-JVAOKBRC.js → chunk-MIVDO3Z3.js} +2 -2
  12. package/dist/chunk-PPXBEAAM.js +106 -0
  13. package/dist/{chunk-GVKKQ6MU.js → chunk-PUY25RRT.js} +1 -1
  14. package/dist/{chunk-2D72MDPB.js → chunk-QDAASTWZ.js} +2 -2
  15. package/dist/{chunk-XAFIIWZU.js → chunk-R2B7XJ6A.js} +2 -2
  16. package/dist/{chunk-BXIE57HV.js → chunk-RGSH6FQN.js} +1 -1
  17. package/dist/{chunk-66KBGNJT.js → chunk-TDTNDXWK.js} +4 -4
  18. package/dist/chunk-UCF25X5E.js +123 -0
  19. package/dist/{chunk-2476DOOA.js → chunk-UGQ3HQD5.js} +2 -2
  20. package/dist/{chunk-JZCFDGIB.js → chunk-WUXFOY6M.js} +2 -2
  21. package/dist/components/admin/index.d.ts +2 -2
  22. package/dist/components/admin/index.js +17 -17
  23. package/dist/components/data-display/index.js +5 -5
  24. package/dist/components/data-entry/autocomplete.d.ts +1 -1
  25. package/dist/components/data-entry/autocomplete.js +4 -4
  26. package/dist/components/data-entry/calendar.d.ts +1 -1
  27. package/dist/components/data-entry/calendar.js +2 -2
  28. package/dist/components/data-entry/cascader.d.ts +1 -1
  29. package/dist/components/data-entry/cascader.js +5 -5
  30. package/dist/components/data-entry/checkbox.d.ts +2 -2
  31. package/dist/components/data-entry/color-picker.d.ts +1 -1
  32. package/dist/components/data-entry/color-picker.js +3 -3
  33. package/dist/components/data-entry/date-picker.d.ts +8 -2
  34. package/dist/components/data-entry/date-picker.js +6 -5
  35. package/dist/components/data-entry/date-range-picker.d.ts +7 -2
  36. package/dist/components/data-entry/date-range-picker.js +6 -5
  37. package/dist/components/data-entry/index.d.ts +4 -4
  38. package/dist/components/data-entry/index.js +17 -17
  39. package/dist/components/data-entry/radio.d.ts +1 -1
  40. package/dist/components/data-entry/slider.d.ts +1 -1
  41. package/dist/components/data-entry/switch.d.ts +1 -1
  42. package/dist/components/data-entry/time-picker.d.ts +7 -2
  43. package/dist/components/data-entry/time-picker.js +3 -3
  44. package/dist/components/data-entry/transfer.d.ts +2 -2
  45. package/dist/components/data-entry/transfer.js +3 -3
  46. package/dist/components/data-entry/tree-select.d.ts +1 -1
  47. package/dist/components/data-entry/tree-select.js +5 -5
  48. package/dist/components/data-entry/upload.d.ts +2 -2
  49. package/dist/components/data-entry/upload.js +6 -6
  50. package/dist/components/feedback/alert.js +4 -4
  51. package/dist/components/feedback/dialog.js +3 -3
  52. package/dist/components/feedback/index.js +6 -6
  53. package/dist/components/feedback/sheet.d.ts +1 -1
  54. package/dist/components/navigation/index.js +5 -5
  55. package/dist/components/navigation/pagination.js +4 -4
  56. package/dist/components/query/index.js +5 -5
  57. package/dist/components/ui/index.d.ts +2 -2
  58. package/dist/components/ui/index.js +16 -16
  59. package/dist/{data-entry.prop-CRbHLb39.d.ts → data-entry.prop-I3mgmdGm.d.ts} +6 -0
  60. package/dist/i18n/index.d.ts +8 -3
  61. package/dist/i18n/index.js +2 -2
  62. package/dist/index.d.ts +2 -2
  63. package/dist/index.js +17 -17
  64. package/dist/lib/datetime/index.d.ts +3 -1
  65. package/dist/lib/datetime/index.js +1 -1
  66. package/dist/props/components/index.d.ts +1 -1
  67. package/dist/props/index.d.ts +1 -1
  68. package/dist/{search-input-PzXHa8KZ.d.ts → search-input-JWJMFVqC.d.ts} +1 -1
  69. package/package.json +2 -1
  70. package/dist/chunk-ACNKID6V.js +0 -70
  71. package/dist/chunk-HNH4PJSV.js +0 -66
  72. package/dist/{chunk-IK7I3ABN.js → chunk-I2V4Y2VF.js} +1 -1
@@ -5,7 +5,7 @@ export { Badge, BadgeProps } from '../data-display/badge.js';
5
5
  export { Button, buttonVariants } from '../general/button.js';
6
6
  export { Calendar } from '../data-entry/calendar.js';
7
7
  export { Card, CardAction, CardContent, CardContentProps, CardCover, CardCoverProps, CardDescription, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardStat, CardStatProps, CardTitle } from '../data-display/card.js';
8
- export { C as Checkbox } from '../../checkbox-CoHDi3ao.js';
8
+ export { C as Checkbox } from '../../checkbox-CNP1MnPn.js';
9
9
  export { ColorPicker } from '../data-entry/color-picker.js';
10
10
  export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../data-entry/command.js';
11
11
  export { DatePicker } from '../data-entry/date-picker.js';
@@ -29,7 +29,7 @@ export { Textarea, TextareaProps } from '../data-entry/textarea.js';
29
29
  export { TimePicker } from '../data-entry/time-picker.js';
30
30
  export { Upload, useUploadDraft } from '../data-entry/upload.js';
31
31
  export { A as AlertActionsProp, A as AlertActionsProps, a as AlertContentProp, a as AlertContentProps, b as AlertDescriptionProp, b as AlertDescriptionProps, c as AlertProp, c as AlertProps, d as AlertQueryErrorProp, d as AlertQueryErrorProps, e as AlertTitleProp, e as AlertTitleProps, D as DialogConfirmProp, D as DialogConfirmProps } from '../../feedback.prop-BmxUlpAW.js';
32
- export { a as AutocompleteProp, a as AutocompleteProps, C as CalendarProp, C as CalendarProps, f as ColorPickerProp, f as ColorPickerProps, D as DatePickerProp, D as DatePickerProps, j as DateRangePickerProp, j as DateRangePickerProps, R as RadioGroupProp, R as RadioGroupProps, m as SliderProp, m as SliderProps, o as SwitchProp, o as SwitchProps, p as TimePickerProp, p as TimePickerProps, U as UploadCommitAction, v as UploadFileItem, w as UploadFileItemProp, x as UploadProp, x as UploadProps, y as UploadVariant, z as UploadVariantProp, B as collectUploadCommitActions, E as createUploadItem } from '../../data-entry.prop-CRbHLb39.js';
32
+ export { a as AutocompleteProp, a as AutocompleteProps, C as CalendarProp, C as CalendarProps, f as ColorPickerProp, f as ColorPickerProps, D as DatePickerProp, D as DatePickerProps, j as DateRangePickerProp, j as DateRangePickerProps, R as RadioGroupProp, R as RadioGroupProps, m as SliderProp, m as SliderProps, o as SwitchProp, o as SwitchProps, p as TimePickerProp, p as TimePickerProps, U as UploadCommitAction, v as UploadFileItem, w as UploadFileItemProp, x as UploadProp, x as UploadProps, y as UploadVariant, z as UploadVariantProp, B as collectUploadCommitActions, E as createUploadItem } from '../../data-entry.prop-I3mgmdGm.js';
33
33
  export { B as ButtonProp, B as ButtonProps } from '../../general.prop-D7brMPNL.js';
34
34
  export { P as PaginationProp, P as PaginationProps, d as TabsItemsProp, d as TabsItemsProps } from '../../navigation.prop-Ck5_gSfs.js';
35
35
  import 'react/jsx-runtime';
@@ -1,37 +1,37 @@
1
1
  export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger } from '../../chunk-BHV2FUOA.js';
2
- export { TimePicker } from '../../chunk-R5QIUFML.js';
3
2
  export { Radio, RadioGroupOptions as RadioGroup, RadioGroupRoot, RadioItem } from '../../chunk-3UGU5TYP.js';
4
3
  export { Switch } from '../../chunk-WXW43RK5.js';
5
4
  export { Textarea } from '../../chunk-ZLK5SPT6.js';
6
- export { Autocomplete } from '../../chunk-GV2YQLH2.js';
7
- export { ColorPicker } from '../../chunk-GVKKQ6MU.js';
8
- export { DatePicker } from '../../chunk-HNH4PJSV.js';
9
- export { DateRangePicker } from '../../chunk-ACNKID6V.js';
10
- export { Calendar } from '../../chunk-IK7I3ABN.js';
5
+ export { TimePicker } from '../../chunk-J6ZZVN6T.js';
6
+ export { ColorPicker } from '../../chunk-PUY25RRT.js';
7
+ export { DatePicker } from '../../chunk-PPXBEAAM.js';
8
+ export { DateRangePicker } from '../../chunk-UCF25X5E.js';
11
9
  export { Card, CardAction, CardContent, CardCover, CardDescription, CardFooter, CardHeader, CardStat, CardTitle } from '../../chunk-GXHZAJUA.js';
10
+ export { Autocomplete } from '../../chunk-5DRKN2HI.js';
11
+ export { Calendar } from '../../chunk-I2V4Y2VF.js';
12
12
  export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from '../../chunk-TO33OY4L.js';
13
- export { Pagination } from '../../chunk-BXIE57HV.js';
13
+ export { Pagination } from '../../chunk-RGSH6FQN.js';
14
14
  export { TabsItems } from '../../chunk-BPSKQUL2.js';
15
15
  export { Tabs, TabsContent, TabsList, TabsTrigger } from '../../chunk-XG7XDYIM.js';
16
+ export { Alert, AlertActions, AlertBase, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from '../../chunk-FNZQTYAG.js';
16
17
  export { Toaster } from '../../chunk-TO7URV7U.js';
17
- export { Alert, AlertActions, AlertBase, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from '../../chunk-FBGBDFNL.js';
18
- export { Upload, collectUploadCommitActions, createUploadItem, useUploadDraft } from '../../chunk-66KBGNJT.js';
19
- import '../../chunk-IGOP3HFF.js';
20
- export { Dialog, DialogAction, DialogCancel, DialogClose, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogRoot, DialogTitle, DialogTrigger } from '../../chunk-FRFUSXBH.js';
18
+ export { Upload, collectUploadCommitActions, createUploadItem, useUploadDraft } from '../../chunk-TDTNDXWK.js';
19
+ import '../../chunk-7W3CHMLL.js';
20
+ export { Dialog, DialogAction, DialogCancel, DialogClose, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogRoot, DialogTitle, DialogTrigger } from '../../chunk-FKAXA6OI.js';
21
21
  export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from '../../chunk-UX634MYF.js';
22
22
  export { Slider } from '../../chunk-CRERCLIZ.js';
23
23
  export { Checkbox } from '../../chunk-E76QIYSY.js';
24
24
  import '../../chunk-CQBADMFG.js';
25
25
  export { Input } from '../../chunk-VOHTRR5X.js';
26
- export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../../chunk-V6UWJKZF.js';
27
26
  import '../../chunk-S66TJXJU.js';
28
27
  export { Badge } from '../../chunk-PIIRNAXA.js';
29
- export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger } from '../../chunk-DY5C44UP.js';
30
28
  export { ScrollArea, ScrollBar } from '../../chunk-3KPEZ5CF.js';
31
29
  export { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../../chunk-ZS6DTAM2.js';
32
- import '../../chunk-ICM6XBST.js';
30
+ export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../../chunk-V6UWJKZF.js';
31
+ export { Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger } from '../../chunk-DY5C44UP.js';
33
32
  export { Button, buttonVariants } from '../../chunk-HJEBRCXL.js';
33
+ import '../../chunk-ICM6XBST.js';
34
34
  export { Label } from '../../chunk-7PWBC4BY.js';
35
- import '../../chunk-32UNYHGY.js';
36
- import '../../chunk-7OTWYSVX.js';
35
+ import '../../chunk-EYLUVDHJ.js';
36
+ import '../../chunk-6BJ2X7PA.js';
37
37
  import '../../chunk-U7N2A7A3.js';
@@ -170,6 +170,8 @@ type DatePickerProp = {
170
170
  disabled?: DisabledProp;
171
171
  className?: ClassNameProp;
172
172
  id?: IdProp;
173
+ /** Form field name — emits the value as an ISO-8601 `yyyy-MM-dd` string for native submission. */
174
+ name?: string;
173
175
  locale?: DayPickerProps["locale"];
174
176
  fromDate?: Date;
175
177
  toDate?: Date;
@@ -182,6 +184,8 @@ type DateRangePickerProp = {
182
184
  disabled?: DisabledProp;
183
185
  className?: ClassNameProp;
184
186
  id?: IdProp;
187
+ /** Form field name — emits the range as `${name}_from` / `${name}_to` ISO `yyyy-MM-dd` fields. */
188
+ name?: string;
185
189
  locale?: DayPickerProps["locale"];
186
190
  fromDate?: Date;
187
191
  toDate?: Date;
@@ -195,6 +199,8 @@ type TimePickerProp = {
195
199
  disabled?: DisabledProp;
196
200
  className?: ClassNameProp;
197
201
  id?: IdProp;
202
+ /** Form field name — emits the value as a canonical 24h `HH:mm` string for native submission. */
203
+ name?: string;
198
204
  /** Minute column step — default 5 (logistics cut-offs). */
199
205
  minuteStep?: number;
200
206
  };
@@ -20,16 +20,21 @@ var common = {
20
20
  };
21
21
  var dataEntry = {
22
22
  datePicker: {
23
- placeholder: "Chọn ngày"
23
+ placeholder: "Chọn ngày",
24
+ openCalendar: "Mở lịch"
24
25
  },
25
26
  dateRangePicker: {
26
- placeholder: "Chọn khoảng ngày"
27
+ placeholder: "Chọn khoảng ngày",
28
+ from: "Từ",
29
+ to: "Đến",
30
+ openCalendar: "Mở lịch"
27
31
  },
28
32
  timePicker: {
29
33
  placeholder: "Chọn giờ",
30
34
  hour: "Giờ",
31
35
  minute: "Phút",
32
- typeLabel: "Nhập giờ HH:mm"
36
+ typeLabel: "Nhập giờ HH:mm",
37
+ openPicker: "Mở chọn giờ"
33
38
  },
34
39
  searchInput: {
35
40
  placeholder: "Tìm kiếm…"
@@ -1,2 +1,2 @@
1
- export { usePickerLocales, useTranslation } from '../chunk-32UNYHGY.js';
2
- export { MESSAGE_CATALOG, resetI18nLocale, syncI18nLocale, translate, translateCurrent } from '../chunk-7OTWYSVX.js';
1
+ export { usePickerLocales, useTranslation } from '../chunk-EYLUVDHJ.js';
2
+ export { MESSAGE_CATALOG, resetI18nLocale, syncI18nLocale, translate, translateCurrent } from '../chunk-6BJ2X7PA.js';
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export { I as InlineProp, P as PageContainerProp, P as PageContainerProps, a as
3
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
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';
6
+ export { F as FormField, S as SearchInput } from './search-input-JWJMFVqC.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 './components/query/index.js';
9
9
  export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from './components/feedback/alert.js';
@@ -21,7 +21,7 @@ export { formatBytes, formatCurrency, formatDateLong, formatDateTime, formatRela
21
21
  export { FormFieldControl, FormRoot, useZodForm } from './form/index.js';
22
22
  export { F as FieldErrorMessageProp, a as FormFieldControlProp, b as FormRootProp, U as UseZodFormOptionsProp, c as UseZodFormReturnProp, Z as ZodSchemaProp } from './form.prop-BHgpuFFm.js';
23
23
  export { cn } from './lib/utils.js';
24
- export { B as collectUploadCommitActions, E as createUploadItem } from './data-entry.prop-CRbHLb39.js';
24
+ export { B as collectUploadCommitActions, E as createUploadItem } from './data-entry.prop-I3mgmdGm.js';
25
25
  export { j as formatDate } from './format-date-ByyZoqI5.js';
26
26
  import './shared.prop-BNRJc9K0.js';
27
27
  import 'react';
package/dist/index.js CHANGED
@@ -1,39 +1,39 @@
1
1
  export { FormFieldControl, FormRoot, useZodForm } from './chunk-7WRZG2IG.js';
2
2
  import './chunk-LDSLS6HE.js';
3
- export { DataState, InfiniteQueryState, MutationFeedback, PrefetchLink, QueryRefetchButton, flattenItemPages } from './chunk-JZCFDGIB.js';
4
- export { PageContainer, Stack } from './chunk-7JN4JXK6.js';
5
- export { FilterBar, FilterGroup, PageHeader } from './chunk-JVAOKBRC.js';
3
+ export { DataState, InfiniteQueryState, MutationFeedback, PrefetchLink, QueryRefetchButton, flattenItemPages } from './chunk-WUXFOY6M.js';
4
+ export { FilterBar, FilterGroup, PageHeader } from './chunk-MIVDO3Z3.js';
6
5
  import './chunk-TO33OY4L.js';
7
- export { Pagination } from './chunk-BXIE57HV.js';
6
+ export { Pagination } from './chunk-RGSH6FQN.js';
8
7
  export { Steps } from './chunk-L6J44O74.js';
9
8
  export { TabsItems } from './chunk-BPSKQUL2.js';
10
9
  export { Tabs, TabsContent, TabsList, TabsTrigger } from './chunk-XG7XDYIM.js';
10
+ export { PageContainer, Stack } from './chunk-7JN4JXK6.js';
11
11
  export { SkeletonCard, SkeletonDetail, SkeletonRows, SkeletonTable, toast, useToast } from './chunk-M64MVRLS.js';
12
+ export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from './chunk-FNZQTYAG.js';
12
13
  export { Toaster } from './chunk-TO7URV7U.js';
13
- export { Alert, AlertActions, AlertContent, AlertDescription, AlertQueryError, AlertTitle } from './chunk-FBGBDFNL.js';
14
- export { SearchInput, Transfer, useDebouncedValue, useTimeoutFlag } from './chunk-ZOBDO3KZ.js';
15
- export { TreeSelect } from './chunk-2476DOOA.js';
16
- export { Upload, collectUploadCommitActions, createUploadItem, useUploadDraft } from './chunk-66KBGNJT.js';
17
- export { formatBytes, formatCurrency, formatDateLong, formatDateTime, formatRelative, humanError, shortId } from './chunk-IGOP3HFF.js';
18
- export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from './chunk-FRFUSXBH.js';
14
+ export { TreeSelect } from './chunk-UGQ3HQD5.js';
15
+ export { Upload, collectUploadCommitActions, createUploadItem, useUploadDraft } from './chunk-TDTNDXWK.js';
16
+ export { formatBytes, formatCurrency, formatDateLong, formatDateTime, formatRelative, humanError, shortId } from './chunk-7W3CHMLL.js';
17
+ export { Dialog, DialogConfirm, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from './chunk-FKAXA6OI.js';
19
18
  import './chunk-UX634MYF.js';
20
19
  import './chunk-CRERCLIZ.js';
21
- export { Cascader } from './chunk-2D72MDPB.js';
20
+ export { SearchInput, Transfer, useDebouncedValue, useTimeoutFlag } from './chunk-LFLHBTDK.js';
21
+ export { Cascader } from './chunk-QDAASTWZ.js';
22
22
  import './chunk-SMLKNECP.js';
23
23
  import './chunk-E76QIYSY.js';
24
24
  import './chunk-CQBADMFG.js';
25
25
  import './chunk-VOHTRR5X.js';
26
- import './chunk-V6UWJKZF.js';
27
- export { DataTable, EmptyState, KeyValueGrid, StatusBadge } from './chunk-XAFIIWZU.js';
26
+ export { DataTable, EmptyState, KeyValueGrid, StatusBadge } from './chunk-R2B7XJ6A.js';
28
27
  export { Inline } from './chunk-S66TJXJU.js';
29
28
  import './chunk-PIIRNAXA.js';
30
- import './chunk-DY5C44UP.js';
31
29
  import './chunk-3KPEZ5CF.js';
32
30
  import './chunk-ZS6DTAM2.js';
33
- import './chunk-ICM6XBST.js';
31
+ import './chunk-V6UWJKZF.js';
32
+ import './chunk-DY5C44UP.js';
34
33
  import './chunk-HJEBRCXL.js';
34
+ import './chunk-ICM6XBST.js';
35
35
  export { FormField } from './chunk-F7PG4OEV.js';
36
36
  import './chunk-7PWBC4BY.js';
37
- import './chunk-32UNYHGY.js';
38
- export { formatDate } from './chunk-7OTWYSVX.js';
37
+ import './chunk-EYLUVDHJ.js';
38
+ export { formatDate } from './chunk-6BJ2X7PA.js';
39
39
  export { cn } from './chunk-U7N2A7A3.js';
@@ -20,6 +20,8 @@ declare function disableLiveRelativeFormatting(): void;
20
20
  /** Vitest only — reset to defaults between cases. */
21
21
  declare function resetDatetimeContextForTests(): void;
22
22
 
23
+ /** Format a calendar Date to an ISO-8601 date-only string (`yyyy-MM-dd`) from its local Y/M/D. */
24
+ declare function toIsoDate(value: Date | null | undefined): string;
23
25
  /** Parse ISO string or Date — returns null for invalid values. */
24
26
  declare function parseDateInput(value: string | Date | null | undefined): Date | null;
25
27
  /** Calendar date from react-day-picker — interpret Y/M/D in app timezone, not browser local. */
@@ -30,4 +32,4 @@ declare function normalizeHhmm(value: string): string | null;
30
32
  /** Map canonical HH:mm to a TZDate on today's calendar date in the given timezone. */
31
33
  declare function hhmmToTZDate(hhmm: string, timezone: string): TZDate | null;
32
34
 
33
- export { type DatetimeContext, calendarDateToTZDate, disableLiveRelativeFormatting, enableLiveRelativeFormatting, getDatetimeContext, hhmmToTZDate, isValidHhmm, normalizeHhmm, parseDateInput, resetDatetimeContextForTests, syncDatetimeContext };
35
+ export { type DatetimeContext, calendarDateToTZDate, disableLiveRelativeFormatting, enableLiveRelativeFormatting, getDatetimeContext, hhmmToTZDate, isValidHhmm, normalizeHhmm, parseDateInput, resetDatetimeContextForTests, syncDatetimeContext, toIsoDate };
@@ -1 +1 @@
1
- export { calendarDateToTZDate, detectFormatDateKind, disableLiveRelativeFormatting, enableLiveRelativeFormatting, formatAppDate, formatAppDateLong, formatAppDateTime, formatAppRelative, formatAppTime, formatCalendarDate, formatDate, formatTimeOfDay, getDatetimeContext, hhmmToTZDate, isDateOnlyString, isFormatDateValue, isValidHhmm, normalizeHhmm, parseDateInput, resetDatetimeContextForTests, syncDatetimeContext } from '../../chunk-7OTWYSVX.js';
1
+ export { calendarDateToTZDate, detectFormatDateKind, disableLiveRelativeFormatting, enableLiveRelativeFormatting, formatAppDate, formatAppDateLong, formatAppDateTime, formatAppRelative, formatAppTime, formatCalendarDate, formatDate, formatTimeOfDay, getDatetimeContext, hhmmToTZDate, isDateOnlyString, isFormatDateValue, isValidHhmm, normalizeHhmm, parseDateInput, resetDatetimeContextForTests, syncDatetimeContext, toIsoDate } from '../../chunk-6BJ2X7PA.js';
@@ -1,6 +1,6 @@
1
1
  export { A as AppShellProp, I as InlineProp, P as PageContainerProp, a as PageHeaderProp, b as PageInsetProp, S as SidebarItemProp, c as SidebarProductProp, d as SidebarProp, e as SidebarSectionProp, f as StackProp, T as TopbarProductProp, g as TopbarProjectProp, h as TopbarProp } from '../../layout.prop-C795F0qg.js';
2
2
  export { B as ButtonProp } from '../../general.prop-D7brMPNL.js';
3
- export { A as AutocompleteOptionProp, a as AutocompleteProp, C as CalendarProp, b as CascaderProp, c as CheckboxGroupProp, d as CheckboxProp, e as ChoiceOptionProp, f as ColorPickerProp, D as DatePickerProp, j as DateRangePickerProp, F as FormFieldProp, I as InputProp, R as RadioGroupProp, k as RadioProp, S as SearchInputProp, l as ShowCheckedStrategyProp, m as SliderProp, o as SwitchProp, T as TextareaProp, p as TimePickerProp, q as TransferItemProp, r as TransferProp, s as TreeFieldNamesProp, t as TreeOptionProp, u as TreeSelectProp, w as UploadFileItemProp, x as UploadProp, z as UploadVariantProp } from '../../data-entry.prop-CRbHLb39.js';
3
+ export { A as AutocompleteOptionProp, a as AutocompleteProp, C as CalendarProp, b as CascaderProp, c as CheckboxGroupProp, d as CheckboxProp, e as ChoiceOptionProp, f as ColorPickerProp, D as DatePickerProp, j as DateRangePickerProp, F as FormFieldProp, I as InputProp, R as RadioGroupProp, k as RadioProp, S as SearchInputProp, l as ShowCheckedStrategyProp, m as SliderProp, o as SwitchProp, T as TextareaProp, p as TimePickerProp, q as TransferItemProp, r as TransferProp, s as TreeFieldNamesProp, t as TreeOptionProp, u as TreeSelectProp, w as UploadFileItemProp, x as UploadProp, z as UploadVariantProp } from '../../data-entry.prop-I3mgmdGm.js';
4
4
  export { B as BadgeProp, D as DataTableProp, E as EmptyStateProp, K as KeyValueGridItemProp, a as KeyValueGridProp, S as StatusBadgeProp } from '../../data-display.prop-Cvi2Mrfw.js';
5
5
  export { A as AlertActionsProp, a as AlertContentProp, b as AlertDescriptionProp, c as AlertProp, d as AlertQueryErrorProp, e as AlertTitleProp, D as DialogConfirmProp, S as SkeletonRowsProp } from '../../feedback.prop-BmxUlpAW.js';
6
6
  export { D as DataStateProp, I as InfiniteQueryHelpers, a as InfiniteQueryStateProp, M as MutationFeedbackProp, P as PrefetchLinkProp, Q as QueryRefetchButtonProp } from '../../query.prop-hIPrk2zI.js';
@@ -6,7 +6,7 @@ export { B as BreadcrumbItem, B as BreadcrumbItemProp, a as BreadcrumbProp, P as
6
6
  export { C as ColumnDef, C as ColumnDefProp, G as GetRowIdProp, H as HasActiveFiltersProp, O as OnClearFiltersProp, a as OnRowClickProp, b as OnSearchChangeProp, c as OnSelectChangeProp, d as OnSortChangeProp, e as OnTableDensityChangeProp, S as SelectedIdsProp } from '../data.prop-BmLaGLb7.js';
7
7
  export { A as AppShellProp, I as InlineProp, I as InlineProps, P as PageContainerProp, P as PageContainerProps, a as PageHeaderProp, b as PageInsetProp, S as SidebarItemProp, c as SidebarProductProp, d as SidebarProp, e as SidebarSectionProp, f as StackProp, f as StackProps, T as TopbarProductProp, g as TopbarProjectProp, h as TopbarProp } from '../layout.prop-C795F0qg.js';
8
8
  export { B as ButtonProp, B as ButtonProps } from '../general.prop-D7brMPNL.js';
9
- export { A as AutocompleteOptionProp, a as AutocompleteProp, C as CalendarProp, b as CascaderProp, c as CheckboxGroupProp, d as CheckboxProp, e as ChoiceOptionProp, f as ColorPickerProp, D as DatePickerProp, j as DateRangePickerProp, F as FormFieldProp, I as InputProp, R as RadioGroupProp, k as RadioProp, S as SearchInputProp, l as ShowCheckedStrategyProp, m as SliderProp, o as SwitchProp, T as TextareaProp, p as TimePickerProp, q as TransferItemProp, r as TransferProp, s as TreeFieldNamesProp, t as TreeOptionProp, u as TreeSelectProp, w as UploadFileItemProp, x as UploadProp, z as UploadVariantProp } from '../data-entry.prop-CRbHLb39.js';
9
+ export { A as AutocompleteOptionProp, a as AutocompleteProp, C as CalendarProp, b as CascaderProp, c as CheckboxGroupProp, d as CheckboxProp, e as ChoiceOptionProp, f as ColorPickerProp, D as DatePickerProp, j as DateRangePickerProp, F as FormFieldProp, I as InputProp, R as RadioGroupProp, k as RadioProp, S as SearchInputProp, l as ShowCheckedStrategyProp, m as SliderProp, o as SwitchProp, T as TextareaProp, p as TimePickerProp, q as TransferItemProp, r as TransferProp, s as TreeFieldNamesProp, t as TreeOptionProp, u as TreeSelectProp, w as UploadFileItemProp, x as UploadProp, z as UploadVariantProp } from '../data-entry.prop-I3mgmdGm.js';
10
10
  export { B as BadgeProp, D as DataTableProp, E as EmptyStateProp, K as KeyValueGridItemProp, a as KeyValueGridProp, S as StatusBadgeProp } from '../data-display.prop-Cvi2Mrfw.js';
11
11
  export { A as AlertActionsProp, a as AlertContentProp, b as AlertDescriptionProp, c as AlertProp, d as AlertQueryErrorProp, e as AlertTitleProp, D as DialogConfirmProp, S as SkeletonRowsProp } from '../feedback.prop-BmxUlpAW.js';
12
12
  export { D as DataStateProp, I as InfiniteQueryHelpers, a as InfiniteQueryStateProp, M as MutationFeedbackProp, P as PrefetchLinkProp, Q as QueryRefetchButtonProp } from '../query.prop-hIPrk2zI.js';
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { F as FormFieldProp } from './data-entry.prop-CRbHLb39.js';
2
+ import { F as FormFieldProp } from './data-entry.prop-I3mgmdGm.js';
3
3
  import * as React from 'react';
4
4
 
5
5
  declare function FormField({ id, label, required, helper, error, labelAddon, className, children, }: FormFieldProp): react_jsx_runtime.JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@godxjp/ui",
3
- "version": "6.2.0",
3
+ "version": "6.3.0",
4
4
  "type": "module",
5
5
  "description": "@godxjp/ui — shared React UI framework (shadcn + Radix + Tailwind v4).",
6
6
  "files": [
@@ -294,6 +294,7 @@
294
294
  "@testing-library/jest-dom": "^6.9.1",
295
295
  "@testing-library/react": "^16.3.2",
296
296
  "@testing-library/user-event": "^14.6.1",
297
+ "@types/node": "^22.19.19",
297
298
  "@types/react": "^19.2.14",
298
299
  "@types/react-dom": "^19.2.3",
299
300
  "@vitejs/plugin-react": "^6.0.1",
@@ -1,70 +0,0 @@
1
- import { Calendar } from './chunk-IK7I3ABN.js';
2
- import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
3
- import { Button } from './chunk-HJEBRCXL.js';
4
- import { useTranslation, usePickerLocales } from './chunk-32UNYHGY.js';
5
- import { formatDate } from './chunk-7OTWYSVX.js';
6
- import { cn } from './chunk-U7N2A7A3.js';
7
- import * as React from 'react';
8
- import { CalendarIcon } from 'lucide-react';
9
- import { jsxs, jsx } from 'react/jsx-runtime';
10
-
11
- function formatRange(range) {
12
- if (!range?.from) return "";
13
- const fmt = (d) => formatDate(d, { kind: "calendar" });
14
- if (!range.to) return fmt(range.from);
15
- return `${fmt(range.from)} \u2013 ${fmt(range.to)}`;
16
- }
17
- function DateRangePicker({
18
- value,
19
- onChange,
20
- placeholder,
21
- disabled,
22
- className,
23
- id,
24
- locale: localeProp,
25
- fromDate,
26
- toDate
27
- }) {
28
- const { t } = useTranslation();
29
- const { dayPickerLocale } = usePickerLocales(localeProp);
30
- const [open, setOpen] = React.useState(false);
31
- const label = formatRange(value);
32
- const resolvedPlaceholder = placeholder ?? t("dataEntry.dateRangePicker.placeholder");
33
- return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
34
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
35
- Button,
36
- {
37
- id,
38
- type: "button",
39
- variant: "outline",
40
- disabled,
41
- className: cn(
42
- "w-full justify-start text-left font-normal",
43
- !label && "text-muted-foreground",
44
- className
45
- ),
46
- children: [
47
- /* @__PURE__ */ jsx(CalendarIcon, { className: "mr-2 size-4 shrink-0", "aria-hidden": "true" }),
48
- label || resolvedPlaceholder
49
- ]
50
- }
51
- ) }),
52
- /* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx(
53
- Calendar,
54
- {
55
- mode: "range",
56
- selected: value,
57
- onSelect: onChange,
58
- locale: dayPickerLocale,
59
- disabled: [
60
- ...fromDate ? [{ before: fromDate }] : [],
61
- ...toDate ? [{ after: toDate }] : []
62
- ],
63
- startMonth: fromDate,
64
- endMonth: toDate
65
- }
66
- ) })
67
- ] });
68
- }
69
-
70
- export { DateRangePicker };
@@ -1,66 +0,0 @@
1
- import { Calendar } from './chunk-IK7I3ABN.js';
2
- import { Popover, PopoverTrigger, PopoverContent } from './chunk-DY5C44UP.js';
3
- import { Button } from './chunk-HJEBRCXL.js';
4
- import { useTranslation, usePickerLocales } from './chunk-32UNYHGY.js';
5
- import { formatDate } from './chunk-7OTWYSVX.js';
6
- import { cn } from './chunk-U7N2A7A3.js';
7
- import * as React from 'react';
8
- import { CalendarIcon } from 'lucide-react';
9
- import { jsxs, jsx } from 'react/jsx-runtime';
10
-
11
- function DatePicker({
12
- value,
13
- onChange,
14
- placeholder,
15
- disabled,
16
- className,
17
- id,
18
- locale: localeProp,
19
- fromDate,
20
- toDate
21
- }) {
22
- const { t } = useTranslation();
23
- const { dayPickerLocale } = usePickerLocales(localeProp);
24
- const [open, setOpen] = React.useState(false);
25
- const resolvedPlaceholder = placeholder ?? t("dataEntry.datePicker.placeholder");
26
- return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
27
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
28
- Button,
29
- {
30
- id,
31
- type: "button",
32
- variant: "outline",
33
- disabled,
34
- className: cn(
35
- "w-full justify-start text-left font-normal",
36
- !value && "text-muted-foreground",
37
- className
38
- ),
39
- children: [
40
- /* @__PURE__ */ jsx(CalendarIcon, { className: "mr-2 size-4 shrink-0", "aria-hidden": "true" }),
41
- value ? formatDate(value, { kind: "calendar" }) : resolvedPlaceholder
42
- ]
43
- }
44
- ) }),
45
- /* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx(
46
- Calendar,
47
- {
48
- mode: "single",
49
- selected: value,
50
- onSelect: (date) => {
51
- onChange?.(date);
52
- setOpen(false);
53
- },
54
- locale: dayPickerLocale,
55
- disabled: [
56
- ...fromDate ? [{ before: fromDate }] : [],
57
- ...toDate ? [{ after: toDate }] : []
58
- ],
59
- startMonth: fromDate,
60
- endMonth: toDate
61
- }
62
- ) })
63
- ] });
64
- }
65
-
66
- export { DatePicker };
@@ -1,5 +1,5 @@
1
- import { controlIconSmClass } from './chunk-ICM6XBST.js';
2
1
  import { buttonVariants } from './chunk-HJEBRCXL.js';
2
+ import { controlIconSmClass } from './chunk-ICM6XBST.js';
3
3
  import { cn } from './chunk-U7N2A7A3.js';
4
4
  import { ChevronLeft, ChevronRight } from 'lucide-react';
5
5
  import { DayPicker } from 'react-day-picker';