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).