@central-ui/react 0.0.0-stage → 0.1.1
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/LICENSE +21 -0
- package/README.md +33 -2
- package/dist/components/accordion/index.d.ts +73 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/accordion/index.js +92 -0
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/autocomplete/index.d.ts +365 -0
- package/dist/components/autocomplete/index.d.ts.map +1 -0
- package/dist/components/autocomplete/index.js +369 -0
- package/dist/components/autocomplete/index.js.map +1 -0
- package/dist/components/avatar/index.d.ts +48 -0
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/avatar/index.js +60 -0
- package/dist/components/avatar/index.js.map +1 -0
- package/dist/components/badge/index.d.ts +29 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js +36 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/banner/index.d.ts +71 -0
- package/dist/components/banner/index.d.ts.map +1 -0
- package/dist/components/banner/index.js +119 -0
- package/dist/components/banner/index.js.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +31 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/index.js +42 -0
- package/dist/components/breadcrumb/index.js.map +1 -0
- package/dist/components/button/index.d.ts +48 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +60 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/card/index.d.ts +34 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/card/index.js +45 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +66 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +146 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/chip/index.d.ts +26 -0
- package/dist/components/chip/index.d.ts.map +1 -0
- package/dist/components/chip/index.js +40 -0
- package/dist/components/chip/index.js.map +1 -0
- package/dist/components/combobox/index.d.ts +427 -0
- package/dist/components/combobox/index.d.ts.map +1 -0
- package/dist/components/combobox/index.js +416 -0
- package/dist/components/combobox/index.js.map +1 -0
- package/dist/components/datepicker/index.d.ts +297 -0
- package/dist/components/datepicker/index.d.ts.map +1 -0
- package/dist/components/datepicker/index.js +507 -0
- package/dist/components/datepicker/index.js.map +1 -0
- package/dist/components/dialog/index.d.ts +88 -0
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.js +102 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/divider/index.d.ts +21 -0
- package/dist/components/divider/index.d.ts.map +1 -0
- package/dist/components/divider/index.js +24 -0
- package/dist/components/divider/index.js.map +1 -0
- package/dist/components/drawer/index.d.ts +99 -0
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/drawer/index.js +137 -0
- package/dist/components/drawer/index.js.map +1 -0
- package/dist/components/empty/index.d.ts +40 -0
- package/dist/components/empty/index.d.ts.map +1 -0
- package/dist/components/empty/index.js +61 -0
- package/dist/components/empty/index.js.map +1 -0
- package/dist/components/fileupload/index.d.ts +107 -0
- package/dist/components/fileupload/index.d.ts.map +1 -0
- package/dist/components/fileupload/index.js +185 -0
- package/dist/components/fileupload/index.js.map +1 -0
- package/dist/components/form/index.d.ts +34 -0
- package/dist/components/form/index.d.ts.map +1 -0
- package/dist/components/form/index.js +35 -0
- package/dist/components/form/index.js.map +1 -0
- package/dist/components/input/index.d.ts +85 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/index.js +249 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/menu/index.d.ts +115 -0
- package/dist/components/menu/index.d.ts.map +1 -0
- package/dist/components/menu/index.js +188 -0
- package/dist/components/menu/index.js.map +1 -0
- package/dist/components/metric/index.d.ts +24 -0
- package/dist/components/metric/index.d.ts.map +1 -0
- package/dist/components/metric/index.js +26 -0
- package/dist/components/metric/index.js.map +1 -0
- package/dist/components/numberinput/index.d.ts +105 -0
- package/dist/components/numberinput/index.d.ts.map +1 -0
- package/dist/components/numberinput/index.js +240 -0
- package/dist/components/numberinput/index.js.map +1 -0
- package/dist/components/otpinput/index.d.ts +63 -0
- package/dist/components/otpinput/index.d.ts.map +1 -0
- package/dist/components/otpinput/index.js +133 -0
- package/dist/components/otpinput/index.js.map +1 -0
- package/dist/components/page/index.d.ts +54 -0
- package/dist/components/page/index.d.ts.map +1 -0
- package/dist/components/page/index.js +100 -0
- package/dist/components/page/index.js.map +1 -0
- package/dist/components/passwordinput/index.d.ts +88 -0
- package/dist/components/passwordinput/index.d.ts.map +1 -0
- package/dist/components/passwordinput/index.js +251 -0
- package/dist/components/passwordinput/index.js.map +1 -0
- package/dist/components/popover/index.d.ts +67 -0
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/components/popover/index.js +76 -0
- package/dist/components/popover/index.js.map +1 -0
- package/dist/components/radio/index.d.ts +90 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +232 -0
- package/dist/components/radio/index.js.map +1 -0
- package/dist/components/ratinginput/index.d.ts +59 -0
- package/dist/components/ratinginput/index.d.ts.map +1 -0
- package/dist/components/ratinginput/index.js +88 -0
- package/dist/components/ratinginput/index.js.map +1 -0
- package/dist/components/select/index.d.ts +205 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/index.js +234 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +19 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/index.js +20 -0
- package/dist/components/skeleton/index.js.map +1 -0
- package/dist/components/slider/index.d.ts +72 -0
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/slider/index.js +159 -0
- package/dist/components/slider/index.js.map +1 -0
- package/dist/components/spinner/index.d.ts +14 -0
- package/dist/components/spinner/index.d.ts.map +1 -0
- package/dist/components/spinner/index.js +15 -0
- package/dist/components/spinner/index.js.map +1 -0
- package/dist/components/splitter/index.d.ts +49 -0
- package/dist/components/splitter/index.d.ts.map +1 -0
- package/dist/components/splitter/index.js +67 -0
- package/dist/components/splitter/index.js.map +1 -0
- package/dist/components/stepper/index.d.ts +82 -0
- package/dist/components/stepper/index.d.ts.map +1 -0
- package/dist/components/stepper/index.js +100 -0
- package/dist/components/stepper/index.js.map +1 -0
- package/dist/components/switch/index.d.ts +57 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/index.js +101 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/table/index.d.ts +110 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/index.js +211 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/tabs/index.d.ts +67 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/index.js +78 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/textarea/index.d.ts +72 -0
- package/dist/components/textarea/index.d.ts.map +1 -0
- package/dist/components/textarea/index.js +205 -0
- package/dist/components/textarea/index.js.map +1 -0
- package/dist/components/textlink/index.d.ts +39 -0
- package/dist/components/textlink/index.d.ts.map +1 -0
- package/dist/components/textlink/index.js +42 -0
- package/dist/components/textlink/index.js.map +1 -0
- package/dist/components/toast/index.d.ts +111 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/index.js +205 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toggle/index.d.ts +41 -0
- package/dist/components/toggle/index.d.ts.map +1 -0
- package/dist/components/toggle/index.js +78 -0
- package/dist/components/toggle/index.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +44 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js +51 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/types/Style.d.ts +14 -0
- package/dist/types/Style.d.ts.map +1 -0
- package/dist/types/Style.js +2 -0
- package/dist/types/Style.js.map +1 -0
- package/dist/types/Tone.d.ts +4 -0
- package/dist/types/Tone.d.ts.map +1 -0
- package/dist/types/Tone.js +2 -0
- package/dist/types/Tone.js.map +1 -0
- package/dist/utils/ArkStateToDataAttributes.d.ts +4 -0
- package/dist/utils/ArkStateToDataAttributes.d.ts.map +1 -0
- package/dist/utils/ArkStateToDataAttributes.js +9 -0
- package/dist/utils/ArkStateToDataAttributes.js.map +1 -0
- package/dist/utils/Tone.d.ts +3 -0
- package/dist/utils/Tone.d.ts.map +1 -0
- package/dist/utils/Tone.js +7 -0
- package/dist/utils/Tone.js.map +1 -0
- package/dist/utils/useForwardClickToInput.d.ts +4 -0
- package/dist/utils/useForwardClickToInput.d.ts.map +1 -0
- package/dist/utils/useForwardClickToInput.js +27 -0
- package/dist/utils/useForwardClickToInput.js.map +1 -0
- package/dist/utils/virtualization/useVirtualizedAutocomplete.d.ts +198 -0
- package/dist/utils/virtualization/useVirtualizedAutocomplete.d.ts.map +1 -0
- package/dist/utils/virtualization/useVirtualizedAutocomplete.js +180 -0
- package/dist/utils/virtualization/useVirtualizedAutocomplete.js.map +1 -0
- package/dist/utils/virtualization/useVirtualizedCombobox.d.ts +200 -0
- package/dist/utils/virtualization/useVirtualizedCombobox.d.ts.map +1 -0
- package/dist/utils/virtualization/useVirtualizedCombobox.js +174 -0
- package/dist/utils/virtualization/useVirtualizedCombobox.js.map +1 -0
- package/dist/utils/virtualization/useVirtualizedTable.d.ts +169 -0
- package/dist/utils/virtualization/useVirtualizedTable.d.ts.map +1 -0
- package/dist/utils/virtualization/useVirtualizedTable.js +127 -0
- package/dist/utils/virtualization/useVirtualizedTable.js.map +1 -0
- package/package.json +64 -4
- package/src/presets/shopify-polaris/shopify-polaris-accordion.css +28 -0
- package/src/presets/shopify-polaris/shopify-polaris-autocomplete.css +155 -0
- package/src/presets/shopify-polaris/shopify-polaris-avatar.css +47 -0
- package/src/presets/shopify-polaris/shopify-polaris-badge.css +27 -0
- package/src/presets/shopify-polaris/shopify-polaris-banner.css +111 -0
- package/src/presets/shopify-polaris/shopify-polaris-breadcrumb.css +16 -0
- package/src/presets/shopify-polaris/shopify-polaris-button.css +79 -0
- package/src/presets/shopify-polaris/shopify-polaris-card.css +28 -0
- package/src/presets/shopify-polaris/shopify-polaris-checkbox.css +52 -0
- package/src/presets/shopify-polaris/shopify-polaris-chip.css +16 -0
- package/src/presets/shopify-polaris/shopify-polaris-combobox.css +179 -0
- package/src/presets/shopify-polaris/shopify-polaris-datepicker.css +183 -0
- package/src/presets/shopify-polaris/shopify-polaris-dialog.css +40 -0
- package/src/presets/shopify-polaris/shopify-polaris-divider.css +12 -0
- package/src/presets/shopify-polaris/shopify-polaris-drawer.css +40 -0
- package/src/presets/shopify-polaris/shopify-polaris-empty.css +32 -0
- package/src/presets/shopify-polaris/shopify-polaris-fileupload.css +78 -0
- package/src/presets/shopify-polaris/shopify-polaris-form.css +8 -0
- package/src/presets/shopify-polaris/shopify-polaris-input.css +72 -0
- package/src/presets/shopify-polaris/shopify-polaris-menu.css +112 -0
- package/src/presets/shopify-polaris/shopify-polaris-metric.css +16 -0
- package/src/presets/shopify-polaris/shopify-polaris-numberinput.css +88 -0
- package/src/presets/shopify-polaris/shopify-polaris-otpinput.css +42 -0
- package/src/presets/shopify-polaris/shopify-polaris-page.css +69 -0
- package/src/presets/shopify-polaris/shopify-polaris-passwordinput.css +76 -0
- package/src/presets/shopify-polaris/shopify-polaris-popover.css +47 -0
- package/src/presets/shopify-polaris/shopify-polaris-radio.css +54 -0
- package/src/presets/shopify-polaris/shopify-polaris-ratinginput.css +42 -0
- package/src/presets/shopify-polaris/shopify-polaris-select.css +119 -0
- package/src/presets/shopify-polaris/shopify-polaris-skeleton.css +8 -0
- package/src/presets/shopify-polaris/shopify-polaris-slider.css +86 -0
- package/src/presets/shopify-polaris/shopify-polaris-spinner.css +16 -0
- package/src/presets/shopify-polaris/shopify-polaris-splitter.css +34 -0
- package/src/presets/shopify-polaris/shopify-polaris-stepper.css +55 -0
- package/src/presets/shopify-polaris/shopify-polaris-switch.css +38 -0
- package/src/presets/shopify-polaris/shopify-polaris-table.css +72 -0
- package/src/presets/shopify-polaris/shopify-polaris-tabs.css +33 -0
- package/src/presets/shopify-polaris/shopify-polaris-textarea.css +61 -0
- package/src/presets/shopify-polaris/shopify-polaris-textlink.css +8 -0
- package/src/presets/shopify-polaris/shopify-polaris-toggle.css +52 -0
- package/src/presets/shopify-polaris/shopify-polaris-tooltip.css +31 -0
- package/src/presets/shopify-polaris/shopify-polaris.css +380 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-accordion.css +28 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-autocomplete.css +155 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-avatar.css +47 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-badge.css +27 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-banner.css +96 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-breadcrumb.css +16 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-button.css +68 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-card.css +28 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-checkbox.css +52 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-chip.css +16 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-combobox.css +184 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-datepicker.css +187 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-dialog.css +40 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-divider.css +12 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-drawer.css +40 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-empty.css +32 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-fileupload.css +72 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-form.css +8 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-input.css +72 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-menu.css +112 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-metric.css +16 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-numberinput.css +88 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-otpinput.css +42 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-page.css +69 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-passwordinput.css +76 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-popover.css +47 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-radio.css +54 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-ratinginput.css +42 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-select.css +118 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-skeleton.css +8 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-slider.css +86 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-spinner.css +16 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-splitter.css +34 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-stepper.css +55 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-switch.css +38 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-table.css +72 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-tabs.css +33 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-textarea.css +61 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-textlink.css +8 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-toast.css +43 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-toggle.css +52 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy-tooltip.css +31 -0
- package/src/presets/shopify-polaris-legacy/shopify-polaris-legacy.css +381 -0
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import type { StyleProps } from '../../types/Style.ts';
|
|
2
|
+
import { Label as AriaLabel, Group as AriaGroup, DateInput as AriaDateInput, Heading, CalendarGrid, Text, FieldError } from 'react-aria-components';
|
|
3
|
+
import type { DatePickerProps, DateRangePickerProps, CalendarProps, DateSegmentProps, ButtonProps, PopoverProps, ListBoxProps, ListBoxItemProps } from 'react-aria-components';
|
|
4
|
+
import type { CalendarDate } from '@internationalized/date';
|
|
5
|
+
import type { ComponentProps, ReactElement, ReactNode } from 'react';
|
|
6
|
+
import type { LucideProps } from 'lucide-react';
|
|
7
|
+
type DateRange = {
|
|
8
|
+
start: string;
|
|
9
|
+
end: string;
|
|
10
|
+
};
|
|
11
|
+
export type Preset<Value = string | DateRange> = {
|
|
12
|
+
/** Display text for this preset. The preset value is applied automatically when chosen. */
|
|
13
|
+
label: string;
|
|
14
|
+
/** Use ISO calendar dates (YYYY-MM-DD), not timestamps. Root converts them for the calendar; in range mode set both endpoints. */
|
|
15
|
+
/** Use ISO calendar dates (YYYY-MM-DD), not timestamps. Root converts them for the calendar; in range mode set both endpoints. */
|
|
16
|
+
value: Value;
|
|
17
|
+
} & StyleProps;
|
|
18
|
+
type CoreKeys = 'children' | 'id' | 'defaultOpen' | 'onOpenChange' | 'shouldCloseOnSelect' | 'autoFocus' | 'onFocus' | 'onBlur' | 'onFocusChange' | 'onKeyDown' | 'onKeyUp' | 'form' | 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'aria-details';
|
|
19
|
+
type SharedRootProps = {
|
|
20
|
+
/** Prevent interaction with the picker. */
|
|
21
|
+
disabled?: DatePickerProps<CalendarDate>['isDisabled'];
|
|
22
|
+
/** Allow users to read the current date without changing it. */
|
|
23
|
+
readOnly?: DatePickerProps<CalendarDate>['isReadOnly'];
|
|
24
|
+
/** Require a date when validating a surrounding form. */
|
|
25
|
+
required?: DatePickerProps<CalendarDate>['isRequired'];
|
|
26
|
+
/** Mark the picker invalid for accessibility and validation; use tone for a separate visual tone. */
|
|
27
|
+
invalid?: DatePickerProps<CalendarDate>['isInvalid'];
|
|
28
|
+
/** Control the popup from application state. Omit to let trigger interactions manage it. */
|
|
29
|
+
open?: DatePickerProps<CalendarDate>['isOpen'];
|
|
30
|
+
/** Prevent selection before this ISO calendar date (YYYY-MM-DD). Omit for no lower limit. */
|
|
31
|
+
minValue?: string | null;
|
|
32
|
+
/** Prevent selection after this ISO calendar date (YYYY-MM-DD). Omit for no upper limit. */
|
|
33
|
+
maxValue?: string | null;
|
|
34
|
+
/** Choose the starting date used while filling an empty field; it does not select a value. */
|
|
35
|
+
placeholderValue?: string | null;
|
|
36
|
+
/** Choose date formatting and language. Omit to use the inherited application locale. */
|
|
37
|
+
locale?: string;
|
|
38
|
+
/** Choose the visual tone. This does not validate data or show/hide feedback messages. */
|
|
39
|
+
tone?: 'neutral' | 'valid' | 'invalid';
|
|
40
|
+
};
|
|
41
|
+
type SingleRootProps = Pick<DatePickerProps<CalendarDate>, CoreKeys | 'name' | 'autoComplete'> & SharedRootProps & {
|
|
42
|
+
/** Use range for a start/end selection; single is the default. Choose the corresponding field composition. */
|
|
43
|
+
mode?: 'single';
|
|
44
|
+
/** Use ISO calendar dates (YYYY-MM-DD), not timestamps. Root converts them for the calendar; in range mode set both endpoints. */
|
|
45
|
+
value?: string | null;
|
|
46
|
+
/** Choose an initial ISO date or range without controlling later edits. */
|
|
47
|
+
defaultValue?: string | null;
|
|
48
|
+
/** Store the updated ISO date/range in application state; cleared or incomplete selections are reported as null. */
|
|
49
|
+
onValueChange?: (value: string | null) => void;
|
|
50
|
+
/** Disable dates that application rules make unavailable. In range mode, the anchor date identifies the first chosen endpoint. */
|
|
51
|
+
isDateUnavailable?: (date: string) => boolean;
|
|
52
|
+
/** Offer shortcuts through PresetsList. Omit when no preset section is needed; selecting a preset updates the date automatically. */
|
|
53
|
+
presets?: readonly Preset<string>[];
|
|
54
|
+
};
|
|
55
|
+
type RangeRootProps = Pick<DateRangePickerProps<CalendarDate>, CoreKeys | 'startName' | 'endName' | 'allowsNonContiguousRanges'> & SharedRootProps & {
|
|
56
|
+
/** Use range for a start/end selection; single is the default. Choose the corresponding field composition. */
|
|
57
|
+
mode: 'range';
|
|
58
|
+
/** Use ISO calendar dates (YYYY-MM-DD), not timestamps. Root converts them for the calendar; in range mode set both endpoints. */
|
|
59
|
+
value?: DateRange | null;
|
|
60
|
+
/** Choose an initial ISO date or range without controlling later edits. */
|
|
61
|
+
defaultValue?: DateRange | null;
|
|
62
|
+
/** Store the updated ISO date/range in application state; cleared or incomplete selections are reported as null. */
|
|
63
|
+
onValueChange?: (value: DateRange | null) => void;
|
|
64
|
+
/** Disable dates that application rules make unavailable. In range mode, the anchor date identifies the first chosen endpoint. */
|
|
65
|
+
isDateUnavailable?: (date: string, anchorDate: string | null) => boolean;
|
|
66
|
+
/** Offer shortcuts through PresetsList. Omit when no preset section is needed; selecting a preset updates the date automatically. */
|
|
67
|
+
presets?: readonly Preset<DateRange>[];
|
|
68
|
+
};
|
|
69
|
+
export type RootProps = SingleRootProps | RangeRootProps;
|
|
70
|
+
/**
|
|
71
|
+
* Choose one trigger composition: editable InputGroup with segmented inputs and AddonOpenButton, OR OpenButton containing OpenButtonValue and OpenButtonIcon. Do not render both trigger compositions. Both share Popup → Calendar → Actions and TablesList → Table. PresetsList is optional.
|
|
72
|
+
*
|
|
73
|
+
* @example Complete composition
|
|
74
|
+
* import { DatePicker } from '@central-ui/react'
|
|
75
|
+
*
|
|
76
|
+
* function Example() {
|
|
77
|
+
* return (
|
|
78
|
+
* <DatePicker.Root defaultValue="2026-10-15" name="departure">
|
|
79
|
+
* <DatePicker.Container>
|
|
80
|
+
* <DatePicker.Label>Departure</DatePicker.Label>
|
|
81
|
+
* <DatePicker.InputGroup>
|
|
82
|
+
* <DatePicker.Input>
|
|
83
|
+
* {(segment) => <DatePicker.Segment segment={segment} />}
|
|
84
|
+
* </DatePicker.Input>
|
|
85
|
+
* <DatePicker.Addon>
|
|
86
|
+
* <DatePicker.AddonOpenButton>
|
|
87
|
+
* <DatePicker.AddonOpenButtonIcon />
|
|
88
|
+
* </DatePicker.AddonOpenButton>
|
|
89
|
+
* </DatePicker.Addon>
|
|
90
|
+
* </DatePicker.InputGroup>
|
|
91
|
+
* <DatePicker.Popup>
|
|
92
|
+
* <DatePicker.Calendar>
|
|
93
|
+
* <DatePicker.Actions>
|
|
94
|
+
* <DatePicker.PreviousButton>
|
|
95
|
+
* <DatePicker.PreviousButtonIcon />
|
|
96
|
+
* </DatePicker.PreviousButton>
|
|
97
|
+
* <DatePicker.ViewDateValue />
|
|
98
|
+
* <DatePicker.NextButton>
|
|
99
|
+
* <DatePicker.NextButtonIcon />
|
|
100
|
+
* </DatePicker.NextButton>
|
|
101
|
+
* </DatePicker.Actions>
|
|
102
|
+
* <DatePicker.TablesList>
|
|
103
|
+
* {(index) => <DatePicker.Table key={index} index={index} />}
|
|
104
|
+
* </DatePicker.TablesList>
|
|
105
|
+
* </DatePicker.Calendar>
|
|
106
|
+
* </DatePicker.Popup>
|
|
107
|
+
* </DatePicker.Container>
|
|
108
|
+
* </DatePicker.Root>
|
|
109
|
+
* )
|
|
110
|
+
* }
|
|
111
|
+
*
|
|
112
|
+
* @example Button-only trigger instead of editable inputs
|
|
113
|
+
* // Replace InputGroup entirely. Keep the same Popup and calendar nesting from above.
|
|
114
|
+
* ;<DatePicker.OpenButton>
|
|
115
|
+
* <DatePicker.OpenButtonValue />
|
|
116
|
+
* <DatePicker.OpenButtonIcon />
|
|
117
|
+
* </DatePicker.OpenButton>
|
|
118
|
+
*
|
|
119
|
+
* @example Editable date range instead of a single date
|
|
120
|
+
* // Use Root mode="range". Replace its single Input with these fields inside InputGroup.
|
|
121
|
+
* ;<DatePicker.InputsList>
|
|
122
|
+
* <DatePicker.Input target="start">
|
|
123
|
+
* {(segment) => <DatePicker.Segment segment={segment} />}
|
|
124
|
+
* </DatePicker.Input>
|
|
125
|
+
* <DatePicker.InputsListSeparator>to</DatePicker.InputsListSeparator>
|
|
126
|
+
* <DatePicker.Input target="end">
|
|
127
|
+
* {(segment) => <DatePicker.Segment segment={segment} />}
|
|
128
|
+
* </DatePicker.Input>
|
|
129
|
+
* </DatePicker.InputsList>
|
|
130
|
+
*
|
|
131
|
+
* @example Optional presets and multiple visible months
|
|
132
|
+
* // Supply presets on Root; put PresetsList before Actions inside Calendar.
|
|
133
|
+
* // Calendar visibleDuration={{ months: 2 }} makes TablesList produce two table indices.
|
|
134
|
+
* ;<DatePicker.PresetsList>
|
|
135
|
+
* {(presets) =>
|
|
136
|
+
* presets.map((preset) => (
|
|
137
|
+
* <DatePicker.Item key={preset.label} value={preset.value} textValue={preset.label}>
|
|
138
|
+
* <DatePicker.ItemText>{preset.label}</DatePicker.ItemText>
|
|
139
|
+
* <DatePicker.ItemIndicator />
|
|
140
|
+
* </DatePicker.Item>
|
|
141
|
+
* ))
|
|
142
|
+
* }
|
|
143
|
+
* </DatePicker.PresetsList>
|
|
144
|
+
*/
|
|
145
|
+
export declare const Root: import("react").ForwardRefExoticComponent<RootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
146
|
+
export declare function Container({ disableStyle, className, ...props }: ComponentProps<'div'> & StyleProps): import("react").JSX.Element;
|
|
147
|
+
export declare function Label({ disableStyle, className, ...props }: Omit<ComponentProps<typeof AriaLabel>, 'htmlFor' | 'slot' | 'render'> & StyleProps): import("react").JSX.Element;
|
|
148
|
+
export declare function InputGroup({ disableStyle, className, ...props }: (Omit<ComponentProps<typeof AriaGroup>, 'className' | 'style' | 'render' | 'slot' | 'isDisabled' | 'isReadOnly' | 'isInvalid'> & {
|
|
149
|
+
className?: string;
|
|
150
|
+
style?: ComponentProps<'div'>['style'];
|
|
151
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
152
|
+
export declare function Addon({ disableStyle, className, variant, ...props }: (ComponentProps<'div'> & {
|
|
153
|
+
/** Choose the preset appearance; this does not add action behavior. */
|
|
154
|
+
variant?: 'normal' | 'emphasized';
|
|
155
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
156
|
+
export declare function AddonText({ disableStyle, className, ...props }: ComponentProps<'span'> & StyleProps): import("react").JSX.Element;
|
|
157
|
+
/** Supply the decorative icon as a child. Its classes are preserved; interaction belongs to the surrounding control. */
|
|
158
|
+
export declare function AddonIcon({ disableStyle, children, className, ...props }: (Omit<LucideProps, 'children'> & {
|
|
159
|
+
/** Supply the decorative icon; the wrapper forwards the relevant state and preserves its classes. */
|
|
160
|
+
children: ReactElement<LucideProps>;
|
|
161
|
+
}) & StyleProps): ReactElement<LucideProps, string | import("react").JSXElementConstructor<any>>;
|
|
162
|
+
/** A default icon is supplied. Omit children for the usual case; pass an icon only to replace that visual. */
|
|
163
|
+
export declare function AddonLoadingIcon({ disableStyle, children, className, ...props }: (Omit<LucideProps, 'children'> & {
|
|
164
|
+
/** Omit for the supplied default icon; pass a child only to replace it. */
|
|
165
|
+
children?: ReactElement<LucideProps>;
|
|
166
|
+
}) & StyleProps): ReactElement<LucideProps, string | import("react").JSXElementConstructor<any>>;
|
|
167
|
+
export declare function AddonButton({ disableStyle, className, disabled, type, ...props }: ComponentProps<'button'> & StyleProps): import("react").JSX.Element;
|
|
168
|
+
export declare function InputsList({ disableStyle, className, ...props }: ComponentProps<'div'> & StyleProps): import("react").JSX.Element;
|
|
169
|
+
export declare function InputsListSeparator({ disableStyle, children, className, ...props }: ComponentProps<'span'> & StyleProps): import("react").JSX.Element;
|
|
170
|
+
export declare function Input({ disableStyle, target, className, ...props }: (Omit<ComponentProps<typeof AriaDateInput>, 'className' | 'style' | 'slot' | 'render'> & {
|
|
171
|
+
/** In range mode, choose which date field this Input edits. Omit for a single-date field. */
|
|
172
|
+
target?: 'start' | 'end';
|
|
173
|
+
className?: string;
|
|
174
|
+
style?: ComponentProps<'div'>['style'];
|
|
175
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
176
|
+
/** Pass the segment from Input children. Editing, focus movement, and placeholder content are handled automatically. */
|
|
177
|
+
export declare function Segment({ disableStyle, segment, className, ...props }: (Omit<DateSegmentProps, 'children' | 'className' | 'style' | 'render'> & {
|
|
178
|
+
className?: string;
|
|
179
|
+
style?: ComponentProps<'span'>['style'];
|
|
180
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
181
|
+
type StyledButtonProps = Omit<ButtonProps, 'className' | 'style' | 'slot' | 'render'> & {
|
|
182
|
+
className?: string;
|
|
183
|
+
style?: ComponentProps<'button'>['style'];
|
|
184
|
+
};
|
|
185
|
+
export declare function AddonOpenButton({ disableStyle, className, isDisabled, ...props }: StyledButtonProps & StyleProps): import("react").JSX.Element;
|
|
186
|
+
/** A default icon is supplied. Omit children for the usual case; pass an icon only to replace that visual. */
|
|
187
|
+
export declare function AddonOpenButtonIcon({ disableStyle, children, className, ...props }: (Omit<LucideProps, 'children'> & {
|
|
188
|
+
/** Omit for the supplied default icon; pass a child only to replace it. */
|
|
189
|
+
children?: ReactElement<LucideProps>;
|
|
190
|
+
}) & StyleProps): ReactElement<LucideProps, string | import("react").JSXElementConstructor<any>>;
|
|
191
|
+
/** Behavior only: give your child control this action. Style the child itself; this wrapper has no preset appearance or disableStyle prop. */
|
|
192
|
+
export declare function AddonOpenHandler({ children, isDisabled, ...props }: Omit<StyledButtonProps, 'children' | 'render'> & {
|
|
193
|
+
/** Supply your own accessible control. It receives the behavior; its own className owns the appearance. */
|
|
194
|
+
children: ReactElement<ComponentProps<'button'>>;
|
|
195
|
+
}): import("react").JSX.Element;
|
|
196
|
+
export declare function OpenButton({ disableStyle, className, isDisabled, ...props }: StyledButtonProps & StyleProps): import("react").JSX.Element;
|
|
197
|
+
/** Behavior only: give your child control this action. Style the child itself; this wrapper has no preset appearance or disableStyle prop. */
|
|
198
|
+
export declare function OpenHandler({ children, isDisabled, ...props }: Omit<StyledButtonProps, 'children' | 'render'> & {
|
|
199
|
+
/** Supply your own accessible control. It receives the behavior; its own className owns the appearance. */
|
|
200
|
+
children: ReactElement<ComponentProps<'button'>>;
|
|
201
|
+
}): import("react").JSX.Element;
|
|
202
|
+
/** Formats the selected date or range automatically. Omit children for the usual display; supply children only to replace it. Placeholder appears before selection. */
|
|
203
|
+
export declare function OpenButtonValue({ disableStyle, children, placeholder, className, ...props }: (ComponentProps<'span'> & {
|
|
204
|
+
/** Shown before a date is selected. Omit children to keep the automatic formatted date display. */
|
|
205
|
+
placeholder?: string;
|
|
206
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
207
|
+
/** A default icon is supplied. Omit children for the usual case; pass an icon only to replace that visual. */
|
|
208
|
+
export declare function OpenButtonIcon({ disableStyle, children, className, ...props }: (Omit<LucideProps, 'children'> & {
|
|
209
|
+
/** Omit for the supplied default icon; pass a child only to replace it. */
|
|
210
|
+
children?: ReactElement<LucideProps>;
|
|
211
|
+
}) & StyleProps): ReactElement<LucideProps, string | import("react").JSXElementConstructor<any>>;
|
|
212
|
+
export type PopupProps = Omit<PopoverProps, 'className' | 'style' | 'render' | 'slot' | 'trigger' | 'isOpen' | 'defaultOpen' | 'onOpenChange'> & {
|
|
213
|
+
className?: string;
|
|
214
|
+
style?: ComponentProps<'div'>['style'];
|
|
215
|
+
} & StyleProps;
|
|
216
|
+
/** Use the same calendar composition for both trigger choices. Opening and focus management are handled by the picker; do not add your own popup visibility condition. */
|
|
217
|
+
export declare const Popup: import("react").ForwardRefExoticComponent<Omit<PopoverProps, "slot" | "style" | "className" | "render" | "onOpenChange" | "defaultOpen" | "isOpen" | "trigger"> & {
|
|
218
|
+
className?: string;
|
|
219
|
+
style?: ComponentProps<"div">["style"];
|
|
220
|
+
} & StyleProps & import("react").RefAttributes<HTMLElement>>;
|
|
221
|
+
export type CalendarConfiguration = Omit<CalendarProps<CalendarDate>, 'children' | 'render' | 'className' | 'style' | 'value' | 'defaultValue' | 'onChange' | 'minValue' | 'maxValue' | 'isDateUnavailable' | 'focusedValue' | 'defaultFocusedValue' | 'onFocusChange' | 'selectionMode' | 'pageBehavior' | 'slot' | 'isDisabled' | 'isReadOnly' | 'isInvalid' | 'firstDayOfWeek' | 'createCalendar' | 'visibleDuration'> & {
|
|
222
|
+
/** Choose how many months to show. TablesList calls its children once for each month. */
|
|
223
|
+
visibleDuration?: Pick<NonNullable<CalendarProps<CalendarDate>['visibleDuration']>, 'months'>;
|
|
224
|
+
children?: ReactNode;
|
|
225
|
+
className?: string;
|
|
226
|
+
style?: ComponentProps<'div'>['style'];
|
|
227
|
+
/** Control which date the calendar navigates to without changing the selected date. */
|
|
228
|
+
focusedValue?: string;
|
|
229
|
+
/** Choose the initial calendar view without controlling later navigation. */
|
|
230
|
+
defaultFocusedValue?: string;
|
|
231
|
+
/** Observe calendar navigation separately from selection changes. */
|
|
232
|
+
onFocusChange?: (date: string) => void;
|
|
233
|
+
} & StyleProps;
|
|
234
|
+
/** Chooses the single-date or range calendar from Root mode automatically. Keep Actions and TablesList inside; do not render separate calendars for each mode. */
|
|
235
|
+
export declare function Calendar(props: CalendarConfiguration & StyleProps): import("react").JSX.Element;
|
|
236
|
+
/** Optional shortcut list. Its children callback receives all presets from Root once; map them to Item. Item handles applying the chosen value. */
|
|
237
|
+
export declare function PresetsList({ disableStyle, className, children, ...props }: (Omit<ListBoxProps<Preset>, 'items' | 'children' | 'className' | 'style' | 'selectionMode' | 'selectionBehavior' | 'selectedKeys' | 'defaultSelectedKeys' | 'onSelectionChange' | 'disallowEmptySelection' | 'disabledKeys' | 'slot' | 'render'> & {
|
|
238
|
+
className?: string;
|
|
239
|
+
style?: ComponentProps<'div'>['style'];
|
|
240
|
+
/** Map the presets supplied by Root into Item children; selection behavior is already supplied. */
|
|
241
|
+
children: (presets: readonly Preset[]) => ReactNode;
|
|
242
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
243
|
+
export declare function Item({ disableStyle, value, className, textValue, ...props }: (Omit<ListBoxItemProps, 'id' | 'value' | 'className' | 'style' | 'render' | 'isDisabled' | 'href' | 'target' | 'rel' | 'hrefLang' | 'download' | 'ping' | 'referrerPolicy' | 'routerOptions'> & {
|
|
244
|
+
/** Use ISO calendar dates (YYYY-MM-DD), not timestamps. Root converts them for the calendar; in range mode set both endpoints. */
|
|
245
|
+
value: string | DateRange;
|
|
246
|
+
className?: string;
|
|
247
|
+
style?: ComponentProps<'div'>['style'];
|
|
248
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
249
|
+
export declare const ItemText: import("react").ForwardRefExoticComponent<Omit<Omit<import("react-aria-components").TextProps & import("react").RefAttributes<HTMLElement>, "slot" | "render"> & StyleProps, "ref"> & import("react").RefAttributes<HTMLElement>>;
|
|
250
|
+
/** Tracks the surrounding item state automatically. Keep it mounted; do not add your own visibility condition. Use the supplied default visual unless customization is needed. */
|
|
251
|
+
export declare const ItemIndicator: import("react").ForwardRefExoticComponent<Omit<Omit<LucideProps, "children"> & {
|
|
252
|
+
/** Optional replacement SVG icon. It receives this indicator's props and ref. */
|
|
253
|
+
children?: ReactElement<LucideProps>;
|
|
254
|
+
} & StyleProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
255
|
+
export declare function Actions({ disableStyle, className, ...props }: ComponentProps<'div'> & StyleProps): import("react").JSX.Element;
|
|
256
|
+
export declare function ViewDateValue({ disableStyle, className, level, ...props }: (Omit<ComponentProps<'h2'>, 'children'> & Pick<ComponentProps<typeof Heading>, 'level'>) & StyleProps): import("react").JSX.Element;
|
|
257
|
+
export declare function PreviousButton({ disableStyle, className, isDisabled, ...props }: StyledButtonProps & StyleProps): import("react").JSX.Element;
|
|
258
|
+
export declare function NextButton({ disableStyle, className, isDisabled, ...props }: StyledButtonProps & StyleProps): import("react").JSX.Element;
|
|
259
|
+
/** Behavior only: give your child control this action. Style the child itself; this wrapper has no preset appearance or disableStyle prop. */
|
|
260
|
+
export declare function PreviousHandler({ children, isDisabled, ...props }: Omit<StyledButtonProps, 'children' | 'render'> & {
|
|
261
|
+
/** Supply your own accessible control. It receives the behavior; its own className owns the appearance. */
|
|
262
|
+
children: ReactElement<ComponentProps<'button'>>;
|
|
263
|
+
}): import("react").JSX.Element;
|
|
264
|
+
/** Behavior only: give your child control this action. Style the child itself; this wrapper has no preset appearance or disableStyle prop. */
|
|
265
|
+
export declare function NextHandler({ children, isDisabled, ...props }: Omit<StyledButtonProps, 'children' | 'render'> & {
|
|
266
|
+
/** Supply your own accessible control. It receives the behavior; its own className owns the appearance. */
|
|
267
|
+
children: ReactElement<ComponentProps<'button'>>;
|
|
268
|
+
}): import("react").JSX.Element;
|
|
269
|
+
/** A default icon is supplied. Omit children for the usual case; pass an icon only to replace that visual. */
|
|
270
|
+
export declare function PreviousButtonIcon({ disableStyle, children, className, ...props }: (Omit<LucideProps, 'children'> & {
|
|
271
|
+
/** Omit for the supplied default icon; pass a child only to replace it. */
|
|
272
|
+
children?: ReactElement<LucideProps>;
|
|
273
|
+
}) & StyleProps): ReactElement<LucideProps, string | import("react").JSXElementConstructor<any>>;
|
|
274
|
+
/** A default icon is supplied. Omit children for the usual case; pass an icon only to replace that visual. */
|
|
275
|
+
export declare function NextButtonIcon({ disableStyle, children, className, ...props }: (Omit<LucideProps, 'children'> & {
|
|
276
|
+
/** Omit for the supplied default icon; pass a child only to replace it. */
|
|
277
|
+
children?: ReactElement<LucideProps>;
|
|
278
|
+
}) & StyleProps): ReactElement<LucideProps, string | import("react").JSXElementConstructor<any>>;
|
|
279
|
+
/** Calls children for each visible month. Pass its index to Table rather than manually calculating month offsets. */
|
|
280
|
+
export declare function TablesList({ disableStyle, className, children, ...props }: (Omit<ComponentProps<'div'>, 'children'> & {
|
|
281
|
+
/** Return Table with the supplied index; do not manually calculate month offsets. */
|
|
282
|
+
children: (index: number) => ReactNode;
|
|
283
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
284
|
+
/** Renders weekday headings and day cells automatically. Pass the index from TablesList; do not map individual dates yourself. */
|
|
285
|
+
export declare function Table({ disableStyle, index, className, ...props }: (Omit<ComponentProps<typeof CalendarGrid>, 'children' | 'offset' | 'render'> & {
|
|
286
|
+
/** Pass the index from TablesList. It offsets this table to the matching visible month. */
|
|
287
|
+
index?: number;
|
|
288
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
289
|
+
export declare function Description({ disableStyle, className, ...props }: Omit<ComponentProps<typeof Text>, 'slot' | 'render'> & StyleProps): import("react").JSX.Element;
|
|
290
|
+
/** Keep mounted to let the picker render its validation error automatically. Omit children for the native error text; override only for a custom message. */
|
|
291
|
+
export declare function Error({ disableStyle, className, ...props }: (Omit<ComponentProps<typeof FieldError>, 'className' | 'render'> & {
|
|
292
|
+
className?: string;
|
|
293
|
+
}) & StyleProps): import("react").JSX.Element;
|
|
294
|
+
/** You decide when to show this feedback. Changing tone does not validate data or render the message for you. */
|
|
295
|
+
export declare function Success({ disableStyle, className, ...props }: Omit<ComponentProps<typeof Text>, 'slot' | 'render'> & StyleProps): import("react").JSX.Element;
|
|
296
|
+
export {};
|
|
297
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/datepicker/index.tsx"],"names":[],"mappings":"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"}
|