Date โ
A rich date / datetime / time picker built on flatpickr. Set type to date (default), datetime, or time. The common flatpickr options are exposed as named props, and the options prop passes through any other flatpickr option โ so the picker is completely featured.
model-value is the formatted string (flatpickr's dateStr); the mno-change event also carries the raw Date[] in detail.dates. It shares mono-input's look: sizes, colors, variants, validation, clearable, cssClass, and the width/height sizing props.
Basic โ
Default date picker with label, placeholder, and value binding.
Vue SFC
Sizes โ
The size prop scales the field from xs to xxl โ the same scale as the other form controls, defaulting to md.
Vue SFC
Variants โ
outlined (default), filled and underlined โ the same three field styles as <mono-input>. Pick a color to see the variant and color combine: outlined = colored border, filled = colored tint, underlined = colored underline.
underlined focuses with a soft glow under the line rather than a ring around the field โ tune it with --mono-date-underline-glow (default 0 5px 6px -6px).
Vue SFC
Colors โ
Every built-in color (primary / secondary / success / danger / warning / info) tints the field's resting border, focus ring and calendar accent โ identical to the other form-control palettes.
Vue SFC
States โ
disabled (no open, no selection), readonly (display only), and required (a * next to the label).
Vue SFC
Validation โ
validation-state โ error or success (mono-date has no warning/invalid state) โ with a validation-message. The error / success booleans + error-message / success-message work too.
Vue SFC
Clearable โ
With clearable, a clear (โ) button appears whenever a date is selected.
Vue SFC
Datetime โ
type="datetime" adds a time picker beside the calendar.
Vue SFC
Time โ
type="time" is a time-only picker (no calendar). time-24hr switches to 24-hour mode.
Vue SFC
Range โ
mode="range" lets the user pick a start and end date.
Vue SFC
Inline โ
inline renders the calendar always-visible, without a popup.
Vue SFC
Typeable โ
typeable lets the user type into the field. mono-date live-parses as you type โ the calendar navigates to the value and auto-selects it once a complete date (in dateFormat) is entered.
Vue SFC
Options passthrough โ
Pass any flatpickr option via the options prop (here: week numbers, a custom dateFormat, and minDate).
Vue SFC
Customized โ
The cssClass prop appends a class to each field part (root / label / field / native / message).
Vue SFC
CSS Variables โ
Vue SFC
Themed through --mono-date-* custom properties (they inherit and pierce the shadow boundary); an explicit --mono-date-primary override wins over the color prop. Re-skin globally via the --theme-* tokens.
| Variable | Default | Controls |
|---|---|---|
--mono-date-primary | --theme-primary | Field focus + calendar accent (set by color) |
--mono-date-primary-rgb | primary rgb | Focus ring / calendar accent (as r, g, b) |
--mono-date-underline-glow | 0 5px 6px -6px | Underlined focus glow geometry |
--mono-date-text | --theme-text | Field text color |
--mono-date-muted | text 55% | Placeholder / icon color |
--mono-date-border | --theme-border | Field border color |
--mono-date-surface | --theme-surface | Field background |
--mono-date-danger | --theme-danger | Error-state color |
--mono-date-success | --theme-success | Success-state color |
Types โ
Import
import { DateProps } from 'mono-helper'| Prop | Value | Default | Description |
|---|---|---|---|
type | 'date' | 'datetime' | 'time' | โ | Picker mode: `date` (default), `datetime`, or `time`. |
modelValue | string | โ | Selected value as a formatted string (two-way bound). |
value | string | โ | โ |
size | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | โ | Visual size / color / variant (mirror mono-input). |
color | 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | โ | โ |
variant | 'underlined' | 'outlined' | 'filled' | โ | โ |
label | string | โ | Field label + helper / validation messaging. |
placeholder | string | โ | โ |
helperText | string | โ | โ |
validationState | 'success' | 'default' | 'error' | โ | โ |
validationMessage | string | โ | โ |
error | boolean | โ | โ |
errorMessage | string | โ | โ |
success | boolean | โ | โ |
successMessage | string | โ | โ |
disabled | boolean | โ | State flags. |
readonly | boolean | โ | โ |
required | boolean | โ | โ |
clearable | boolean | โ | โ |
ariaLabelText | string | โ | โ |
dateFormat | string | โ | Output/parsing format, e.g. `"Y-m-d"`, `"d M Y"`, `"H:i"`. |
altInput | boolean | โ | Show a second, human-readable input while submitting `dateFormat`. |
altFormat | string | โ | โ |
typeable | boolean | โ | Let the user type into the input directly. Beyond flatpickr's Enter/blur parsing, mono-date live-parses as you type: the calendar navigates to the value and auto-selects it once a complete date (matching `dateFormat`) is entered. Best used without `altInput`. |
clickOpens | boolean | โ | Open the calendar on input click (default true). |
defaultDate | string | number | Date | (string | number | Date)[] | โ | โ |
minDate | string | number | Date | โ | โ |
maxDate | string | number | Date | โ | โ |
disable | DateLimit<DateOption>[] | โ | Dates to disable (values, ranges, or predicate fns). |
enable | DateLimit<DateOption>[] | โ | Whitelist of selectable dates (everything else disabled). |
mode | 'single' | 'multiple' | 'range' | โ | โ |
enableSeconds | boolean | โ | โ |
time24hr | boolean | โ | 24-hour time (flatpickr `time_24hr`). |
hourIncrement | number | โ | โ |
minuteIncrement | number | โ | โ |
defaultHour | number | โ | โ |
defaultMinute | number | โ | โ |
inline | boolean | โ | Render the calendar inline (always visible). |
weekNumbers | boolean | โ | โ |
monthSelectorType | 'static' | 'dropdown' | โ | โ |
shorthandCurrentMonth | boolean | โ | โ |
position | 'auto' | 'above' | 'below' | 'auto left' | 'auto center' | 'auto right' | 'above left' | 'above center' | 'above right' | 'below left' | 'below center' | 'below right' | (self: Instance, customElement: HTMLElement | undefined) => void | โ | โ |
ariaDateFormat | string | โ | โ |
locale | 'default' | 'ar' | 'at' | 'az' | 'be' | 'bg' | 'bn' | 'bs' | 'ca' | 'cat' | 'ckb' | 'cs' | 'cy' | 'da' | 'de' | 'en' | 'eo' | 'es' | 'et' | 'fa' | 'fi' | 'fo' | 'fr' | 'gr' | 'he' | 'hi' | 'hr' | 'hu' | 'hy' | 'id' | 'is' | 'it' | 'ja' | 'ka' | 'ko' | 'km' | 'kz' | 'lt' | 'lv' | 'mk' | 'mn' | 'ms' | 'my' | 'nl' | 'nn' | 'no' | 'pa' | 'pl' | 'pt' | 'ro' | 'ru' | 'si' | 'sk' | 'sl' | 'sq' | 'sr' | 'sv' | 'th' | 'tr' | 'uk' | 'vn' | 'zh' | 'uz' | 'uz_latn' | 'zh_tw' | Partial<CustomLocale> | โ | flatpickr locale key or object. |
options | Partial<Partial<BaseOptions>> | โ | Escape hatch โ any other flatpickr option, merged into the config. Lets you use the full flatpickr feature set beyond the named props above. |
width | string | number | โ | Explicit sizing (CSS string or number โ px). Use `width="100%"` for full width. |
height | string | number | โ | โ |
minWidth | string | number | โ | โ |
maxWidth | string | number | โ | โ |
minHeight | string | number | โ | โ |
maxHeight | string | number | โ | โ |
cssClass | DateCssClass | โ | Per-part class overrides. |
visible | boolean | โ | Whether the control is shown. Defaults to `true`. |
visibleType | 'invisible' | 'none' | โ | How it hides when `visible` is `false`. Defaults to `'none'`. |