{% comment %} Week stepper for a page that shows one day at a time: the seven days of its week, each a button that picks its day, and two arrows that go to the first day of the week before and after (previous and next, worked out from week: the week's first day, which the caller picks, so which day starts a week is the caller's). The day on show is marked aria-current and sits on a circle that slides to the next one: the days keep their id across a redraw, so htmx swaps them in with the old place and settles the new one after, and the CSS transition runs. Today (today: the caller's, which only it knows) has its number in the brand colour, and a Today button, plain text, goes to it. The calendar before it opens the browser's own date picker: its date box lies unseen over the icon and takes the tap itself, since iOS opens no picker from script (js/fields.js opens it for a mouse). Three groups share one card: the calendar and Today, the arrows around the week's dates (two lines in the page's language, in a day's circle: the month over its days, "Oct" over "11–17", or both months over the days for a week into the next, "Oct Nov" over "26–1"; a reader that cannot see the two lines hears the range, "Oct 26 – Nov 1"), and the days; each takes a row of its own where it does not fit beside the others (js/fields.js lays them out). The circles never shrink: where the seven do not fit even on a row of their own they scroll sideways, faded at a side with more days beyond it, the chosen one in the middle when first shown, the row kept where it was after that. A picked day, an arrow or the picker puts its day in the box and sends its "step" event (js/fields.js), so any hx_* option reaches it, a caller's trigger followed by "step". The box takes its own id, so a form elsewhere on the page can show the same field. The arrows and days carry ids from the field's, so a redraw gives the focus back to the one that had it. {% endcomment %} {% load i18n phoxtail_core_tags phoxtail_design_tags %}