themed-date-picker
Use ThemedDatePicker in a layrz Flutter widget. Apply when adding a single date selection field — opens a calendar dialog.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use ThemedDatePicker in a layrz Flutter widget. Apply when adding a single date selection field — opens a calendar dialog.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use ThemedTabView and ThemedTab in a layrz Flutter widget. Apply when adding horizontal tab navigation with Material 3 styling.
Use ThemedButton in a layrz Flutter widget. Apply when rendering any tappable action — primary/secondary CTAs, icon-only FABs, destructive actions, cooldown buttons, or the six semantic factories (.save, .cancel, .info, .show, .edit, .delete).
Use ThemedSearchInput in a layrz Flutter widget. Apply when adding a search bar — either a compact icon button that expands into an overlay, or a full-width inline field.
Use when migrating ThemedTable<T> (v1) to ThemedTable2<T> (v2) in a layrz Flutter widget. Apply when a widget uses the old ThemedTable API with onShow/onEdit/onDelete/onMultiDelete/ThemedColumn and needs to be updated.
Use ResponsiveCol in a layrz Flutter widget. Apply when defining a column's width at different breakpoints inside a ResponsiveRow.
Use ResponsiveRow in a layrz Flutter widget. Apply when wrapping ResponsiveCol children in a responsive 12-column grid container.
| name | themed-date-picker |
| description | Use ThemedDatePicker in a layrz Flutter widget. Apply when adding a single date selection field — opens a calendar dialog. |
Dart syntax: This library requires Dart ≥ 3.10. Use dot shorthand for all enum values — never write the fully-qualified form.
Full constructor and property reference: read
references/api.mdin this skill's directory.
For date ranges → use ThemedDateRangePicker. For month/year only → use ThemedMonthPicker.
ThemedDatePicker(
labelText: context.i18n.t('entity.date'),
value: selectedDate,
errors: context.getErrors(key: 'date'),
onChanged: (value) {
selectedDate = value;
if (context.mounted) onChanged.call();
},
)
pattern (default '%Y-%m-%d').ThemedCalendar dialog (400×400 max) on tap; suffix is a calendar icon.disabledDays blocks specific dates in the calendar.firstDay / lastDay set hard limits — all dates outside the range are disabled.value is TZDateTime, the selected date is returned in the same timezone.customChild wraps any widget in an InkWell that opens the calendar.label / labelText must be set — assert enforced.// With date limits
ThemedDatePicker(
labelText: context.i18n.t('entity.startDate'),
value: startDate,
firstDay: DateTime(2020, 1, 1),
lastDay: DateTime.now(),
errors: context.getErrors(key: 'startDate'),
onChanged: (value) {
startDate = value;
if (context.mounted) onChanged.call();
},
)
// Custom date format
ThemedDatePicker(
labelText: context.i18n.t('entity.date'),
value: selectedDate,
pattern: '%d/%m/%Y',
onChanged: (value) {
selectedDate = value;
if (context.mounted) onChanged.call();
},
)
// Custom child trigger
ThemedDatePicker(
labelText: context.i18n.t('entity.date'),
value: selectedDate,
customChild: ThemedButton(
labelText: selectedDate?.toString() ?? 'Pick date',
icon: LayrzIcons.solarOutlineCalendar,
onTap: () {},
),
onChanged: (value) {
selectedDate = value;
if (context.mounted) onChanged.call();
},
)
// Disabled
ThemedDatePicker(
labelText: context.i18n.t('entity.date'),
value: selectedDate,
disabled: true,
)
onChanged with if (context.mounted) before calling the parent callback.context.i18n.t('entity.fieldName') for labelText — never hardcode strings.errors: context.getErrors(key: 'fieldName').const SizedBox(height: 10).