Archetypes · Inputs
DatePicker
Date value.
#Contract
Date value. This is the archetype's identity: a component that keeps it is a DatePicker on every target, however differently each one draws it. Its content category is a region, which decides where it may sit and what it may contain.
#Anatomy
The published parts, with the role each one carries. The role is what a target derives the element from; the file never names an element.
trigger: control
value: text
icon: icon
surface: container
header: container
prev: control
title: text
next: control
grid: container
day: item
label: text#Behaviours
Composed from the prelude's atoms. An optional one is marked.
#Realization
web calendar-grid (single|range via node.calendar) · iOS wheel (momentum+detent+haptic) · Android dialog
#Start from it
A component that starts from DatePicker, before the author touches it: the root and the published anatomy, each part with the kind its role gives it. Paste it into a file, or open it in the Playground, and add the contract, the tokens and the states.
component DatePicker { archetype DatePicker part DatePicker: container { } part trigger: control { } part trigger.value: text { } part trigger.icon: icon { } part surface: container { } part surface.header: container { } part surface.header.prev: control { } part surface.header.title: text { } part surface.header.next: control { } part surface.grid: container { } part surface.grid.day: item { } part surface.grid.day.label: text { } }
Every statement a part can carry is in the reference; the tour shows the arc from archetype to generated code.