themed-time-picker
Use ThemedTimePicker in a layrz Flutter widget. Apply when adding a single time-of-day selection field.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use ThemedTimePicker in a layrz Flutter widget. Apply when adding a single time-of-day selection field.
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-time-picker |
| description | Use ThemedTimePicker in a layrz Flutter widget. Apply when adding a single time-of-day selection field. |
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.
TimeOfDay?showTimePicker — always use this widget.For start + end time pair → use ThemedTimeRangePicker.
ThemedTimePicker(
labelText: context.i18n.t('entity.time'),
value: selectedTime,
errors: context.getErrors(key: 'time'),
onChanged: (time) {
selectedTime = time;
if (context.mounted) onChanged.call();
},
)
onChanged fires only when the user taps Save — not on each spinner change.%I:%M %p). Set use24HourFormat: true for 24-hour (%H:%M).pattern overrides the display format without changing spinner behavior.disableBlink: true disables the 700 ms blink animation on the time display.customChild wraps any widget in an InkWell that opens the dialog.label / labelText must be set — assert enforced.// 24-hour format
ThemedTimePicker(
labelText: context.i18n.t('schedule.startTime'),
value: startTime,
use24HourFormat: true,
errors: context.getErrors(key: 'startTime'),
onChanged: (time) {
startTime = time;
if (context.mounted) onChanged.call();
},
)
// Custom display pattern (hours only)
ThemedTimePicker(
labelText: context.i18n.t('shift.hour'),
value: shiftHour,
use24HourFormat: true,
pattern: '%Hh%M',
onChanged: (time) {
shiftHour = TimeOfDay(hour: time.hour, minute: 0);
if (context.mounted) onChanged.call();
},
)
// Disabled
ThemedTimePicker(
labelText: context.i18n.t('entity.time'),
value: selectedTime,
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).