From 25737d9a1ca2bc43aec58ce393ee53f84de527cd Mon Sep 17 00:00:00 2001 From: Gab Date: Thu, 30 Jul 2026 22:04:29 -0300 Subject: [PATCH] feat(webkit): add show-fields to the calendar panel and cap the panel width MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `show-fields: false` suppresses the Start/End date fields, leaving the grid, the presets rail and Apply — the interaction a console wants when shortcuts and the grid are the whole story and typing a boundary by hand is not offered. The panel is content-sized, so its widest child sets its width, and one of those children is the consumer's `#footer` slot: a row of shortcut chips stretched the panel without bound and spread the month grid across it. `max-w-[min(90vw,44rem)]` caps it in rem, so the cap grows with the root font the same way the text does, and 90vw keeps it inside a narrow viewport. Catalog rebuilt for the new prop. --- .specs/calendar.md | 7 +++-- packages/webkit/catalog.json | 18 ++++++++++-- .../inputs/calendar/calendar.test.ts | 29 +++++++++++++++++++ .../components/inputs/calendar/calendar.vue | 15 ++++++++-- 4 files changed, 62 insertions(+), 7 deletions(-) diff --git a/.specs/calendar.md b/.specs/calendar.md index 7e22f2426..69000e821 100644 --- a/.specs/calendar.md +++ b/.specs/calendar.md @@ -7,16 +7,16 @@ spec_version: 3 figma: url: https://www.figma.com/design/t97pXRs7xME3SJDs5iZ5RF/Webkit?node-id=5087-17336 node_id: 5087:17336 -checksum: bc6f6c9d9c59a6b729676a7b2ba8932cac7407d67d25fb2cd43da9e8e61b2018 +checksum: 38ab752a76919d45a23184bfefdd6e9027c3b1cfe1acd23ee5178d54ef53db25 created: 2026-06-25 -last_updated: 2026-07-02 +last_updated: 2026-07-30 --- # Calendar — Component Spec ## Purpose -Date-range picker. A trigger button opens a popover that holds a month grid, Start/End date + time fields, an optional timezone selector, and an Apply action; it also offers a "Select Period" mode whose text input parses relative spans (`45m`, `12 hours`, `last month`, `yesterday`, `1/1 - 1/2`). When consumer-provided `presets` are supplied, the trigger splits into two side-by-side segments — a preset dropdown (left, `🕐