@optimum-intelligence/opti-ui 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -7
- package/dist/components/accordion/Accordion.d.ts +12 -0
- package/dist/components/accordion/Accordion.js +12 -0
- package/dist/components/accordion/Accordion.js.map +1 -1
- package/dist/components/alert/Alert.d.ts +4 -0
- package/dist/components/alert/Alert.js.map +1 -1
- package/dist/components/app-shell/AppShell.d.ts +96 -5
- package/dist/components/app-shell/AppShell.js +676 -185
- package/dist/components/app-shell/AppShell.js.map +1 -1
- package/dist/components/avatar/Avatar.d.ts +8 -0
- package/dist/components/avatar/Avatar.js +2 -0
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/badge/Badge.d.ts +10 -3
- package/dist/components/badge/Badge.js +17 -28
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/breadcrumbs/Breadcrumbs.d.ts +1 -0
- package/dist/components/breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/components/button/Button.d.ts +8 -0
- package/dist/components/button/Button.js +6 -0
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/calendar/Calendar.d.ts +21 -7
- package/dist/components/calendar/Calendar.js +285 -212
- package/dist/components/calendar/Calendar.js.map +1 -1
- package/dist/components/calendar/DateConfig.d.ts +37 -0
- package/dist/components/calendar/DateConfig.js +75 -0
- package/dist/components/calendar/DateConfig.js.map +1 -0
- package/dist/components/calendar/date-utils.d.ts +41 -6
- package/dist/components/calendar/date-utils.js +119 -20
- package/dist/components/calendar/date-utils.js.map +1 -1
- package/dist/components/card/Card.d.ts +13 -0
- package/dist/components/card/Card.js +13 -0
- package/dist/components/card/Card.js.map +1 -1
- package/dist/components/choice/Choice.d.ts +13 -0
- package/dist/components/choice/Choice.js +10 -0
- package/dist/components/choice/Choice.js.map +1 -1
- package/dist/components/combobox/Combobox.d.ts +12 -0
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/command-palette/CommandPalette.d.ts +10 -0
- package/dist/components/command-palette/CommandPalette.js.map +1 -1
- package/dist/components/data-table/DataTable.d.ts +4 -0
- package/dist/components/data-table/DataTable.js.map +1 -1
- package/dist/components/data-table/DataTableContent.d.ts +1 -0
- package/dist/components/data-table/DataTableContent.js +3 -3
- package/dist/components/data-table/DataTableContent.js.map +1 -1
- package/dist/components/data-table/DataTableFilters.d.ts +3 -0
- package/dist/components/data-table/DataTableFilters.js.map +1 -1
- package/dist/components/data-table/types.d.ts +16 -0
- package/dist/components/date-picker/DatePicker.d.ts +33 -10
- package/dist/components/date-picker/DatePicker.js +315 -279
- package/dist/components/date-picker/DatePicker.js.map +1 -1
- package/dist/components/date-picker/DateRangePicker.d.ts +12 -4
- package/dist/components/date-picker/DateRangePicker.js +240 -206
- package/dist/components/date-picker/DateRangePicker.js.map +1 -1
- package/dist/components/date-picker/PickerField.d.ts +13 -0
- package/dist/components/date-picker/PickerField.js +1 -1
- package/dist/components/date-picker/PickerField.js.map +1 -1
- package/dist/components/dialog/Dialog.d.ts +5 -0
- package/dist/components/dialog/Dialog.js.map +1 -1
- package/dist/components/drawer/Drawer.d.ts +10 -0
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/empty-state/EmptyState.d.ts +5 -0
- package/dist/components/empty-state/EmptyState.js.map +1 -1
- package/dist/components/file-upload/FileUpload.d.ts +21 -0
- package/dist/components/file-upload/FileUpload.js.map +1 -1
- package/dist/components/input/Input.d.ts +7 -0
- package/dist/components/input/Input.js +3 -0
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/link/Link.d.ts +1 -0
- package/dist/components/link/Link.js.map +1 -1
- package/dist/components/menu/Menu.d.ts +6 -0
- package/dist/components/menu/Menu.js.map +1 -1
- package/dist/components/number-field/NumberField.d.ts +7 -0
- package/dist/components/number-field/NumberField.js.map +1 -1
- package/dist/components/pagination/Pagination.d.ts +4 -0
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/popover/Popover.d.ts +4 -0
- package/dist/components/popover/Popover.js.map +1 -1
- package/dist/components/preview-card/PreviewCard.d.ts +4 -0
- package/dist/components/preview-card/PreviewCard.js.map +1 -1
- package/dist/components/progress/Progress.d.ts +8 -0
- package/dist/components/progress/Progress.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea.d.ts +1 -0
- package/dist/components/scroll-area/ScrollArea.js.map +1 -1
- package/dist/components/search-input/SearchInput.d.ts +2 -0
- package/dist/components/search-input/SearchInput.js.map +1 -1
- package/dist/components/select/Select.d.ts +11 -0
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/separator/Separator.d.ts +1 -0
- package/dist/components/separator/Separator.js +1 -0
- package/dist/components/separator/Separator.js.map +1 -1
- package/dist/components/skeleton/Skeleton.d.ts +7 -0
- package/dist/components/skeleton/Skeleton.js +1 -0
- package/dist/components/skeleton/Skeleton.js.map +1 -1
- package/dist/components/slider/Slider.d.ts +1 -0
- package/dist/components/slider/Slider.js.map +1 -1
- package/dist/components/spinner/Spinner.d.ts +2 -0
- package/dist/components/spinner/Spinner.js +1 -0
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/stat-card/StatCard.d.ts +4 -0
- package/dist/components/stat-card/StatCard.js.map +1 -1
- package/dist/components/stepper/Stepper.d.ts +4 -0
- package/dist/components/stepper/Stepper.js.map +1 -1
- package/dist/components/table/Table.d.ts +24 -1
- package/dist/components/table/Table.js +19 -2
- package/dist/components/table/Table.js.map +1 -1
- package/dist/components/tabs/Tabs.d.ts +1 -0
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tag/Tag.d.ts +3 -0
- package/dist/components/tag/Tag.js.map +1 -1
- package/dist/components/toast/Toast.d.ts +2 -0
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/toggle/Toggle.d.ts +7 -0
- package/dist/components/toggle/Toggle.js +1 -0
- package/dist/components/toggle/Toggle.js.map +1 -1
- package/dist/components/tooltip/Tooltip.d.ts +8 -0
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/typography/Typography.d.ts +5 -0
- package/dist/components/typography/Typography.js +2 -0
- package/dist/components/typography/Typography.js.map +1 -1
- package/dist/components.json +5534 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -3
- package/dist/llms-full.txt +2707 -0
- package/dist/llms.txt +177 -0
- package/dist/opti-ui.css +171 -81
- package/dist/theme/ThemeProvider.d.ts +1 -0
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/utils/portal.d.ts +4 -0
- package/dist/utils/portal.js +4 -0
- package/dist/utils/portal.js.map +1 -1
- package/package.json +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","names":["React","Button","Calendar","CalendarLabels","CalendarProps","datePart","formatDate","pad","timePart","todayIso","PickerField","useOpenState","PickerFieldProps","DatePickerLabels","today","clear","done","time","hours","minutes","seconds","defaultLabels","Omit","PickerProps","Pick","value","defaultValue","onValueChange","min","max","name","clearable","formatValue","ReactNode","labels","Partial","withinBounds","timeOptions","limit","step","current","options","Array","from","length","Math","ceil","_","index","includes","sort","a","b","TimeFieldProps","onChange","TimeField","t0","$","_c","t1","t2","t3","t4","t5","t6","t7","t8","t9","split","map","_temp","undefined","withSeconds","parts","label","part_0","part","event","next","item","position","Number","target","join","_temp2","option","floor","Picker","defaultMonth","field","isDateDisabled","locale","mode","placeholder","weekStartsOn","defaultTime","text","withTime","inner","setInner","useState","date","open","setOpen","bounded","commit","t10","next_0","t11","t12","t13","t14","next_1","t15","t16","Boolean","t17","t18","t19","required","t20","t21","t22","DatePickerProps","DatePicker","props","DateTimePickerProps","DateTimePicker","_c"],"sources":["../../../src/components/date-picker/DatePicker.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '../button/Button';\nimport { Calendar, type CalendarLabels, type CalendarProps } from '../calendar/Calendar';\nimport { datePart, formatDate, pad, timePart, todayIso } from '../calendar/date-utils';\nimport { PickerField, useOpenState, type PickerFieldProps } from './PickerField';\n\nexport interface DatePickerLabels extends CalendarLabels {\n today: string;\n clear: string;\n done: string;\n time: string;\n hours: string;\n minutes: string;\n seconds: string;\n}\n\nconst defaultLabels: Omit<DatePickerLabels, keyof CalendarLabels> = {\n today: 'Today',\n clear: 'Clear',\n done: 'Done',\n time: 'Time',\n hours: 'Hours',\n minutes: 'Minutes',\n seconds: 'Seconds',\n};\n\ninterface PickerProps\n extends PickerFieldProps,\n Pick<CalendarProps, 'isDateDisabled' | 'defaultMonth' | 'locale' | 'weekStartsOn'> {\n value?: string | null;\n defaultValue?: string | null;\n /** Called with the new value, or `null` when cleared. */\n onValueChange?: (value: string | null) => void;\n /** Earliest allowed value. */\n min?: string;\n /** Latest allowed value. */\n max?: string;\n /** Submits the value with a form under this name. */\n name?: string;\n /** Show the Clear action. Defaults to `true` unless `required`. */\n clearable?: boolean;\n /** Custom display text for the selected value. */\n formatValue?: (value: string) => React.ReactNode;\n /** Override texts for localisation. */\n labels?: Partial<DatePickerLabels>;\n}\n\nfunction withinBounds(value: string, min?: string, max?: string): string {\n if (min && value < min) return min;\n if (max && value > max) return max;\n return value;\n}\n\n/** 0, `step`, 2 × `step`… below `limit`, plus `current` when it falls between steps. */\nfunction timeOptions(limit: number, step: number, current: number): number[] {\n const options = Array.from({ length: Math.ceil(limit / step) }, (_, index) => index * step);\n return options.includes(current) ? options : [...options, current].sort((a, b) => a - b);\n}\n\ninterface TimeFieldProps {\n /** `\"14:30\"` or `\"14:30:05\"`. */\n value: string;\n /** Granularity in seconds. */\n step: number;\n labels: Pick<DatePickerLabels, 'time' | 'hours' | 'minutes' | 'seconds'>;\n onChange: (value: string) => void;\n}\n\n/** Hour, minute and (below one-minute steps) second lists: unlike a native time input, always 24-hour. */\nfunction TimeField({ value, step, labels, onChange }: TimeFieldProps) {\n const [hours = 0, minutes = 0, seconds = 0] = value.split(':').map((part) => Math.floor(Number(part)) || 0);\n const withSeconds = step % 60 !== 0 || value.length > 5;\n const parts = [\n { label: labels.hours, value: hours, options: timeOptions(24, step % 3600 === 0 ? Math.min(step / 3600, 24) : 1, hours) },\n { label: labels.minutes, value: minutes, options: timeOptions(60, step % 60 === 0 && step < 3600 ? step / 60 : 1, minutes) },\n ...(withSeconds ? [{ label: labels.seconds, value: seconds, options: timeOptions(60, step < 60 ? step : 1, seconds) }] : []),\n ];\n return (\n <div role=\"group\" aria-label={labels.time} className=\"oui-date-picker__time\">\n <span>{labels.time}</span>\n <div className=\"oui-date-picker__time-parts\">\n {parts.map((part, index) => (\n <React.Fragment key={part.label}>\n {index > 0 && <span aria-hidden=\"true\">:</span>}\n <select\n className=\"oui-input\"\n data-size=\"sm\"\n aria-label={part.label}\n value={part.value}\n onChange={(event) => {\n const next = parts.map((item, position) => pad(position === index ? Number(event.target.value) : item.value));\n onChange(next.join(':'));\n }}\n >\n {part.options.map((option) => (\n <option key={option} value={option}>\n {pad(option)}\n </option>\n ))}\n </select>\n </React.Fragment>\n ))}\n </div>\n </div>\n );\n}\n\nfunction Picker({\n mode,\n step,\n defaultTime = '00:00',\n value,\n defaultValue = null,\n onValueChange,\n min,\n max,\n isDateDisabled,\n defaultMonth,\n locale,\n weekStartsOn,\n name,\n placeholder,\n clearable,\n formatValue,\n labels,\n ...field\n}: PickerProps & { mode: 'date' | 'datetime'; step?: number; defaultTime?: string }) {\n const text = { ...defaultLabels, ...labels };\n const withTime = mode === 'datetime';\n const [inner, setInner] = React.useState(defaultValue);\n const current = (value === undefined ? inner : value) || null;\n const date = datePart(current);\n const time = withTime ? (timePart(current) ?? defaultTime) : null;\n const [open, setOpen] = useOpenState(field);\n\n const commit = (next: string | null) => {\n const bounded = next === null ? null : withinBounds(next, min, max);\n setInner(bounded);\n onValueChange?.(bounded);\n };\n\n return (\n <PickerField\n {...field}\n open={open}\n onOpenChange={setOpen}\n placeholder={placeholder ?? (withTime ? 'Select date and time' : 'Select date')}\n display={date && current ? (formatValue?.(current) ?? formatDate(withTime ? current : date)) : null}\n inputs={name && <input type=\"hidden\" name={name} value={current ?? ''} />}\n >\n <Calendar\n value={date}\n onValueChange={(next) => {\n commit(withTime ? `${next}T${time}` : next);\n if (!withTime) setOpen(false);\n }}\n min={datePart(min) ?? undefined}\n max={datePart(max) ?? undefined}\n isDateDisabled={isDateDisabled}\n defaultMonth={defaultMonth}\n locale={locale}\n weekStartsOn={weekStartsOn}\n labels={labels}\n />\n {time !== null && (\n <TimeField\n value={time}\n step={step && step > 0 ? Math.floor(step) || 1 : 60}\n labels={text}\n onChange={(next) =>\n commit(`${date ?? withinBounds(todayIso(), datePart(min) ?? undefined, datePart(max) ?? undefined)}T${next}`)\n }\n />\n )}\n <div className=\"oui-date-picker__footer\">\n <Button\n size=\"sm\"\n variant=\"ghost\"\n shape=\"rounded\"\n disabled={Boolean(isDateDisabled?.(todayIso()))}\n onClick={() => {\n const today = todayIso();\n commit(withTime ? `${today}T${time}` : today);\n if (!withTime) setOpen(false);\n }}\n >\n {text.today}\n </Button>\n {(clearable ?? !field.required) && (\n <Button\n size=\"sm\"\n variant=\"ghost\"\n shape=\"rounded\"\n disabled={!current}\n onClick={() => {\n commit(null);\n setOpen(false);\n }}\n >\n {text.clear}\n </Button>\n )}\n {withTime && (\n <Button size=\"sm\" shape=\"rounded\" className=\"oui-date-picker__done\" onClick={() => setOpen(false)}>\n {text.done}\n </Button>\n )}\n </div>\n </PickerField>\n );\n}\n\nexport interface DatePickerProps extends PickerProps {}\n\n/**\n * Date field with a calendar popover. Values are ISO dates (`\"2026-03-09\"`),\n * the same format as `<input type=\"date\">`, and are shown the same way.\n */\nexport function DatePicker(props: DatePickerProps) {\n return <Picker mode=\"date\" {...props} />;\n}\n\nexport interface DateTimePickerProps extends PickerProps {\n /** Granularity of the time input in seconds (60 = minutes, 1 = seconds). */\n step?: number;\n /** Time used when a day is picked before any time is set. */\n defaultTime?: string;\n}\n\n/**\n * Date and time field. Values are local ISO date-times (`\"2026-03-09T14:30\"`),\n * the same format as `<input type=\"datetime-local\">`, shown as `2026-03-09 14:30:00`\n * on a 24-hour clock whatever the locale.\n */\nexport function DateTimePicker(props: DateTimePickerProps) {\n return <Picker mode=\"datetime\" {...props} />;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePicker.js","names":["React","Button","Calendar","CalendarLabels","CalendarProps","browserTimeZone","datePart","formatDate","hasTime","pad","toInstant","toWall","todayIso","truncate","DateGranularity","useDateConfig","PickerField","useOpenState","PickerFieldProps","DatePickerLabels","today","clear","done","time","hours","minutes","seconds","defaultLabels","Omit","PickerProps","Pick","value","defaultValue","onValueChange","min","max","name","clearable","granularity","format","timeZone","formatValue","ReactNode","labels","Partial","withinBounds","timeOptions","limit","step","current","options","Array","from","length","Math","ceil","_","index","includes","sort","a","b","TimeFieldProps","units","onChange","TimeField","t0","$","_c","t1","t2","t3","t4","t5","t6","t7","t8","t9","split","map","_temp","undefined","parts","label","slice","part_0","part","event","next","item","position","Number","target","join","_temp2","option","floor","placeholders","Record","year","month","day","hour","minute","second","Picker","defaultMonth","field","isDateDisabled","localeProp","placeholder","weekStartsOn","defaultTime","locale","text","config","zone","withTime","inner","setInner","useState","wall","date","lower","upper","open","setOpen","commit","cut","stored","T0","formats","T1","next_0","t10","t11","t12","t13","next_1","t14","t15","Boolean","t16","t17","t18","required","t19","t20","t21","DatePickerProps","DatePicker","props","DateTimePickerProps","DateTimePicker","unit","_c"],"sources":["../../../src/components/date-picker/DatePicker.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '../button/Button';\nimport { Calendar, type CalendarLabels, type CalendarProps } from '../calendar/Calendar';\nimport {\n browserTimeZone,\n datePart,\n formatDate,\n hasTime,\n pad,\n toInstant,\n toWall,\n todayIso,\n truncate,\n type DateGranularity,\n} from '../calendar/date-utils';\nimport { useDateConfig } from '../calendar/DateConfig';\nimport { PickerField, useOpenState, type PickerFieldProps } from './PickerField';\n\nexport interface DatePickerLabels extends CalendarLabels {\n today: string;\n clear: string;\n done: string;\n time: string;\n hours: string;\n minutes: string;\n seconds: string;\n}\n\nconst defaultLabels: Omit<DatePickerLabels, keyof CalendarLabels> = {\n today: 'Today',\n clear: 'Clear',\n done: 'Done',\n time: 'Time',\n hours: 'Hours',\n minutes: 'Minutes',\n seconds: 'Seconds',\n};\n\ninterface PickerProps\n extends PickerFieldProps,\n Pick<CalendarProps, 'isDateDisabled' | 'defaultMonth' | 'locale' | 'weekStartsOn'> {\n value?: string | null;\n defaultValue?: string | null;\n /** Called with the new value, or `null` when cleared. */\n onValueChange?: (value: string | null) => void;\n /** Earliest allowed value. */\n min?: string;\n /** Latest allowed value. */\n max?: string;\n /** Submits the value with a form under this name. */\n name?: string;\n /** Show the Clear action. Defaults to `true` unless `required`. */\n clearable?: boolean;\n /** What the value holds and which picker opens: a year or month grid, a day calendar, or a calendar plus time fields down to the hour, minute or second. The value is cut down to this unit. */\n granularity?: DateGranularity;\n /** Display pattern, e.g. `\"DD.MM.YYYY\"` or `\"MMMM YYYY\"` (tokens as in `formatDate`). Defaults to `DateConfigProvider` formats, then an ISO-style pattern for the granularity. */\n format?: string;\n /** IANA zone (`\"Europe/Budapest\"`) that date-times are shown and edited in. Defaults to `DateConfigProvider`, then the browser's. Ignored for year, month and day granularities. */\n timeZone?: string;\n /** Custom display text for the selected value. Wins over `format`. */\n formatValue?: (value: string) => React.ReactNode;\n /** Override texts for localisation. */\n labels?: Partial<DatePickerLabels>;\n}\n\nfunction withinBounds(value: string, min?: string, max?: string): string {\n if (min && value < min) return min;\n if (max && value > max) return max;\n return value;\n}\n\n/** 0, `step`, 2 × `step`… below `limit`, plus `current` when it falls between steps. */\nfunction timeOptions(limit: number, step: number, current: number): number[] {\n const options = Array.from({ length: Math.ceil(limit / step) }, (_, index) => index * step);\n return options.includes(current) ? options : [...options, current].sort((a, b) => a - b);\n}\n\ninterface TimeFieldProps {\n /** `\"14:30:05\"`. */\n value: string;\n /** Option spacing in seconds. */\n step: number;\n /** Lists shown: hours; hours and minutes; or all three. */\n units: 1 | 2 | 3;\n labels: Pick<DatePickerLabels, 'time' | 'hours' | 'minutes' | 'seconds'>;\n onChange: (value: string) => void;\n}\n\n/** Hour, minute and second lists, down to the picker's granularity: unlike a native time input, always 24-hour. */\nfunction TimeField({ value, step, units, labels, onChange }: TimeFieldProps) {\n const [hours = 0, minutes = 0, seconds = 0] = value.split(':').map((part) => Math.floor(Number(part)) || 0);\n const parts = [\n { label: labels.hours, value: hours, options: timeOptions(24, step % 3600 === 0 ? Math.min(step / 3600, 24) : 1, hours) },\n { label: labels.minutes, value: minutes, options: timeOptions(60, step % 60 === 0 && step < 3600 ? step / 60 : 1, minutes) },\n { label: labels.seconds, value: seconds, options: timeOptions(60, step < 60 ? step : 1, seconds) },\n ].slice(0, units);\n return (\n <div role=\"group\" aria-label={labels.time} className=\"oui-date-picker__time\">\n <span>{labels.time}</span>\n <div className=\"oui-date-picker__time-parts\">\n {parts.map((part, index) => (\n <React.Fragment key={part.label}>\n {index > 0 && <span aria-hidden=\"true\">:</span>}\n <select\n className=\"oui-input\"\n data-size=\"sm\"\n aria-label={part.label}\n value={part.value}\n onChange={(event) => {\n const next = parts.map((item, position) => pad(position === index ? Number(event.target.value) : item.value));\n onChange([...next, '00', '00'].slice(0, 3).join(':'));\n }}\n >\n {part.options.map((option) => (\n <option key={option} value={option}>\n {pad(option)}\n </option>\n ))}\n </select>\n </React.Fragment>\n ))}\n </div>\n </div>\n );\n}\n\nconst placeholders: Record<DateGranularity, string> = {\n year: 'Select year',\n month: 'Select month',\n day: 'Select date',\n hour: 'Select date and time',\n minute: 'Select date and time',\n second: 'Select date and time',\n};\n\nfunction Picker({\n granularity,\n step,\n defaultTime = '00:00',\n value,\n defaultValue = null,\n onValueChange,\n min,\n max,\n isDateDisabled,\n defaultMonth,\n locale: localeProp,\n weekStartsOn,\n name,\n placeholder,\n clearable,\n format,\n timeZone,\n formatValue,\n labels,\n ...field\n}: PickerProps & { granularity: DateGranularity; step?: number; defaultTime?: string }) {\n const text = { ...defaultLabels, ...labels };\n const config = useDateConfig();\n const zone = timeZone ?? config.timeZone ?? browserTimeZone();\n const locale = localeProp ?? config.locale;\n const withTime = hasTime(granularity);\n const [inner, setInner] = React.useState(defaultValue);\n const current = (value === undefined ? inner : value) || null;\n // Editing happens on the wall clock in `zone`; only commit turns it back into an instant.\n const wall = toWall(current, zone);\n const date = datePart(wall);\n const time = withTime ? (wall && wall.length > 10 ? wall.slice(11) : truncate(`2000-01-01T${defaultTime}`, 'second').slice(11)) : null;\n const [lower, upper] = [toWall(min, zone) ?? undefined, toWall(max, zone) ?? undefined];\n const [open, setOpen] = useOpenState(field);\n\n const commit = (next: string | null) => {\n const cut = next === null ? null : truncate(withinBounds(next, lower, upper), granularity);\n const stored = cut && withTime ? toInstant(cut, zone) : cut;\n setInner(stored);\n onValueChange?.(stored);\n };\n\n return (\n <PickerField\n {...field}\n open={open}\n onOpenChange={setOpen}\n placeholder={placeholder ?? placeholders[granularity]}\n display={\n date && current\n ? (formatValue?.(current) ??\n formatDate(current, { format: format ?? config.formats?.[granularity], granularity, timeZone: zone, locale }))\n : null\n }\n inputs={name && <input type=\"hidden\" name={name} value={current ?? ''} />}\n >\n <Calendar\n value={date}\n granularity={withTime ? 'day' : (granularity as 'year' | 'month' | 'day')}\n onValueChange={(next) => {\n commit(withTime ? `${next}T${time}` : next);\n if (!withTime) setOpen(false);\n }}\n min={datePart(lower) ?? undefined}\n max={datePart(upper) ?? undefined}\n isDateDisabled={isDateDisabled}\n defaultMonth={defaultMonth}\n locale={locale}\n weekStartsOn={weekStartsOn}\n labels={labels}\n />\n {time !== null && (\n <TimeField\n value={time}\n step={step && step > 0 ? Math.floor(step) || 1 : 60}\n units={granularity === 'hour' ? 1 : granularity === 'minute' ? 2 : 3}\n labels={text}\n onChange={(next) =>\n commit(`${date ?? withinBounds(todayIso(zone), datePart(lower) ?? undefined, datePart(upper) ?? undefined)}T${next}`)\n }\n />\n )}\n <div className=\"oui-date-picker__footer\">\n <Button\n size=\"sm\"\n variant=\"ghost\"\n shape=\"rounded\"\n disabled={Boolean(isDateDisabled?.(todayIso(zone)))}\n onClick={() => {\n const today = todayIso(zone);\n commit(withTime ? `${today}T${time}` : today);\n if (!withTime) setOpen(false);\n }}\n >\n {text.today}\n </Button>\n {(clearable ?? !field.required) && (\n <Button\n size=\"sm\"\n variant=\"ghost\"\n shape=\"rounded\"\n disabled={!current}\n onClick={() => {\n commit(null);\n setOpen(false);\n }}\n >\n {text.clear}\n </Button>\n )}\n {withTime && (\n <Button size=\"sm\" shape=\"rounded\" className=\"oui-date-picker__done\" onClick={() => setOpen(false)}>\n {text.done}\n </Button>\n )}\n </div>\n </PickerField>\n );\n}\n\nexport interface DatePickerProps extends PickerProps {}\n\n/**\n * Date field with a calendar popover. Day values are ISO dates (`\"2026-03-09\"`),\n * the same format as `<input type=\"date\">`. `granularity=\"month\"` or `\"year\"` opens a\n * month or year grid and stores the period's first day (`\"2026-03-01\"`); a time\n * granularity behaves like `DateTimePicker`.\n *\n * @example\n * <DatePicker label=\"Delivery date\" value={date} onValueChange={setDate} />\n * <DatePicker label=\"Billing month\" granularity=\"month\" format=\"MMMM YYYY\" />\n */\nexport function DatePicker({ granularity = 'day', ...props }: DatePickerProps) {\n return <Picker granularity={granularity} {...props} />;\n}\n\nexport interface DateTimePickerProps extends PickerProps {\n /** Spacing of the time options in seconds (60 = every minute, 900 = quarter hours, 1 = every second). */\n step?: number;\n /** Time (`\"09:00\"`) used when a day is picked before any time is set. */\n defaultTime?: string;\n /**\n * Smallest unit shown and stored: `hour`, `minute` or `second`. When omitted, `second`\n * if `step` is not a whole number of minutes, otherwise `minute`.\n * @default 'minute'\n */\n granularity?: 'hour' | 'minute' | 'second';\n}\n\n/**\n * Date and time field. Values are UTC instants (`\"2026-03-09T13:30:00Z\"`) shown and\n * edited in `timeZone` (the browser's by default) on a 24-hour clock, as\n * `2026-03-09 14:30`. Values without an offset (`\"2026-03-09T14:30\"`) are read as\n * wall-clock time in `timeZone`.\n *\n * @example\n * <DateTimePicker label=\"Departure\" value={slot} onValueChange={setSlot} timeZone=\"Europe/Budapest\" />\n */\nexport function DateTimePicker({ granularity, ...props }: DateTimePickerProps) {\n const unit = granularity ?? (props.step && props.step % 60 !== 0 ? 'second' : 'minute');\n return <Picker granularity={unit} {...props} />;\n}\n"],"mappings":"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"}
|
|
@@ -9,9 +9,10 @@ export interface DateRangePreset {
|
|
|
9
9
|
label: React.ReactNode;
|
|
10
10
|
value: DateRange;
|
|
11
11
|
}
|
|
12
|
-
export interface DateRangePickerProps extends PickerFieldProps, Pick<RangeCalendarProps, 'isDateDisabled' | 'defaultMonth' | 'locale' | 'weekStartsOn' | 'numberOfMonths'> {
|
|
12
|
+
export interface DateRangePickerProps extends PickerFieldProps, Pick<RangeCalendarProps, 'isDateDisabled' | 'defaultMonth' | 'locale' | 'weekStartsOn' | 'numberOfMonths' | 'granularity'> {
|
|
13
13
|
/** Selected days as ISO dates; both ends are inclusive. */
|
|
14
14
|
value?: DateRange | null;
|
|
15
|
+
/** Initially selected range when uncontrolled. */
|
|
15
16
|
defaultValue?: DateRange | null;
|
|
16
17
|
/** Called with the new range, or `null` when cleared. */
|
|
17
18
|
onValueChange?: (value: DateRange | null) => void;
|
|
@@ -27,13 +28,20 @@ export interface DateRangePickerProps extends PickerFieldProps, Pick<RangeCalend
|
|
|
27
28
|
endName?: string;
|
|
28
29
|
/** Show the Clear action. Defaults to `true` unless `required`. */
|
|
29
30
|
clearable?: boolean;
|
|
30
|
-
/**
|
|
31
|
+
/** Display pattern for each end, e.g. `"DD.MM.YYYY"` (tokens as in `formatDate`). Defaults to `DateConfigProvider` formats, then an ISO-style pattern for the granularity. */
|
|
32
|
+
format?: string;
|
|
33
|
+
/** Custom display text for the selected range. Wins over `format`. */
|
|
31
34
|
formatValue?: (value: DateRange) => React.ReactNode;
|
|
32
35
|
/** Override texts for localisation. */
|
|
33
36
|
labels?: Partial<DateRangePickerLabels>;
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
39
|
* Date range field with a calendar popover and optional presets. Values are
|
|
37
|
-
* `{ start, end }` ISO dates (`"2026-03-09"`), both inclusive.
|
|
40
|
+
* `{ start, end }` ISO dates (`"2026-03-09"`), both inclusive. With
|
|
41
|
+
* `granularity="month"` or `"year"` it picks whole months or years, and each end
|
|
42
|
+
* is the first day of its period.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* <DateRangePicker label="Period" value={period} onValueChange={setPeriod} presets={presets} />
|
|
38
46
|
*/
|
|
39
|
-
export declare function DateRangePicker({ value, defaultValue, onValueChange, min, max, isDateDisabled, defaultMonth, locale, weekStartsOn, numberOfMonths, presets, startName, endName, placeholder, clearable, formatValue, labels, contentProps, ...field }: DateRangePickerProps): React.JSX.Element;
|
|
47
|
+
export declare function DateRangePicker({ value, defaultValue, onValueChange, min, max, isDateDisabled, defaultMonth, locale, weekStartsOn, numberOfMonths, granularity, presets, startName, endName, placeholder, clearable, format, formatValue, labels, contentProps, ...field }: DateRangePickerProps): React.JSX.Element;
|