Commit Graph

1087 Commits

Author SHA1 Message Date
Philipinho 493221ef1f sync 2026-06-20 02:14:54 +01:00
Philipinho 1c72f469de fix(base): mint kanban choice ids as nanoid 2026-06-19 23:27:09 +01:00
Philipinho d59b8c7144 chore(base): seed choice ids with nanoid 2026-06-19 23:15:54 +01:00
Philipinho c8250c0262 feat(base): generate choice ids as nanoid on the client 2026-06-19 23:12:26 +01:00
Philipinho 9bc3933167 feat(base): generate status template choice ids as nanoid 2026-06-19 23:09:34 +01:00
Philipinho 1f9a2ade4a feat(base): scope property lookups per base and generate property ids in repo 2026-06-19 23:03:10 +01:00
Philipinho c8c9fd4306 feat(base): pass property id as text to cell extractors 2026-06-19 22:57:15 +01:00
Philipinho 53a2440139 feat(base): make property id varchar with per-base composite pk 2026-06-19 22:55:25 +01:00
Philipinho d1cd64d7ea feat(base): enforce strict property/choice id validation 2026-06-19 22:53:09 +01:00
Philipinho f68c59dfcb feat(base): add prefixed nanoid id schemas and generators 2026-06-19 22:36:09 +01:00
Philipinho e717371368 fix: read-only export 2026-06-19 18:23:04 +01:00
Philipinho 61c076f48d sync 2026-06-18 23:11:54 +01:00
Philipinho 8685c32249 fix grid cells on mobile 2026-06-18 23:06:43 +01:00
Philipinho 0b7bc70a7d fix(base): prevent popover inputs from losing focus on mobile in row detail modal 2026-06-17 14:37:41 +01:00
Philipinho 0e3549faf1 fix(base): place caret at end instead of selecting all when editing cells 2026-06-16 21:40:15 +01:00
Philipinho 2e80fc457c feat(base): insert row below via Shift+Enter on the primary cell 2026-06-16 13:22:54 +01:00
Philipinho c43ac7fc8c feat(editor): add base and kanban inserts to the toolbar 2026-06-16 12:37:08 +01:00
Philipinho ad00efe317 fix(base): enable grid cell editing on touch devices
Cells could only enter edit mode via double-click or a physical keyboard,
so touch devices had no way to edit a cell. Treat a touch/pen tap as the
edit gesture, distinguishing a tap from a scroll by movement and branching
per pointer type so mouse double-click stays unchanged. Also reveal the
row expand button on hover-less devices so the row detail view stays
reachable.
2026-06-16 12:14:21 +01:00
Philipinho 4deb13e73e fix(base): keep add-property popover within viewport on mobile
Opened from the row detail modal, the create-property popover anchors to the bottom Add property button and flips upward on small screens, clipping its top (name field, formula editor) off-screen with no way to scroll to it.

Bound the dropdown to the available height with the floating-ui size middleware and give it an internal scroll container. Disable react-remove-scroll isolation on the modal so the body-portaled popover can scroll on touch while the modal scroll lock stays active.
2026-06-16 12:04:56 +01:00
Philipinho 770c9b9d98 fix: activate New row button via keyboard (Enter/Space)
The New row control is a role=button div with no keydown handler, so Enter/Space never triggered it. It also lives inside the grid element, whose native keydown listener caught the Enter and ran cell navigation against the previously focused cell.

Add Enter/Space activation to the button, and make the grid keyboard handler ignore keydowns that originate from a focusable child rather than the grid element itself, so in-grid controls handle their own keys.
2026-06-16 10:49:53 +01:00
Philipinho dc63ed8dee fix(base): select grid cell on mousedown to avoid stale focus ring flash
The focus ring is gated on the grid having DOM focus (.bodyGrid:focus .cellFocused), but the focusedCell atom is never cleared when the grid blurs. Clicking outside hides the ring via the :focus gate while the atom still points at the old cell.

Selection was committed on click (mouseup), while the grid receives focus on mousedown. Clicking a new cell re-focused the grid before the atom updated, briefly painting the ring on the previously selected cell. Commit selection on mousedown so the atom updates in the same event that grants focus, before the browser paints.
2026-06-16 00:30:54 +01:00
Philipinho 8cce2ffca0 fix spacing 2026-06-16 00:02:56 +01:00
Philipinho 7203e12c78 fix focus 2026-06-15 23:33:10 +01:00
Philipinho 0962fd1575 fix refetch 2026-06-15 23:33:00 +01:00
Philipinho f16c027701 fix: skip duplicate row fetch when opening new kanban card 2026-06-15 22:26:59 +01:00
Philipinho 58cead4199 fix: preserve sidebar title/icon on partial page updates 2026-06-15 22:25:50 +01:00
Philipinho e9e6fba886 fix base cache 2026-06-15 22:07:50 +01:00
Philipinho 398bd499cc fix tsconfig 2026-06-15 19:43:01 +01:00
Philipinho b386f8286c license file 2026-06-15 19:12:18 +01:00
Philipinho a45dd8919d fix: change permissions object shape 2026-06-15 17:51:12 +01:00
Philipinho ab1b3723bc fix(base): refer to the feature as 'base' rather than 'database' 2026-06-15 09:46:08 +01:00
Philipinho 748401e1d4 fix(base): render view-tab rename as an inline pill so the tab band height stays put 2026-06-15 08:29:29 +01:00
Philipinho 6a6de54c92 fix(base): show cell focus ring only while the grid body itself is focused 2026-06-15 08:05:14 +01:00
Philipinho 07bfa3ba73 fix(base): close view popovers on Escape regardless of focus; drop redundant property switch tab stop 2026-06-15 05:23:19 +01:00
Philipinho 1b5c081e1e fix(base): tab from long-text editor moves to next cell instead of leaving the table 2026-06-15 04:54:23 +01:00
Philipinho 8fc538386d fix(base): sync header/body horizontal scroll on header focus; expand row via Space, drop expander from tab order 2026-06-15 04:08:52 +01:00
Philipinho cc951ae883 feat(base): keyboard-navigate the row-number column for selection 2026-06-15 03:59:03 +01:00
Philipinho 84faf187de fix(base): show cell focus ring only while the grid is focused 2026-06-15 03:41:16 +01:00
Philipinho 7af1695c85 fix(base): remove focus outline on grid container 2026-06-15 03:26:32 +01:00
Philipinho 308079af8b feat(base): make column headers keyboard-focusable as tab stops 2026-06-15 03:13:27 +01:00
Philipinho 16708cd7cc feat(base): seed editor value on type-to-edit for free-text cells 2026-06-15 02:39:04 +01:00
Philipinho 514c68e049 feat(base): row ARIA index and selected state 2026-06-15 02:34:00 +01:00
Philipinho dec87947cf feat(base): cell focus ring, click-to-focus, and gridcell ARIA 2026-06-15 02:31:32 +01:00
Philipinho bb7fddfc54 update offerings 2026-06-15 02:27:31 +01:00
Philipinho f5831a256a feat(base): keyboard navigation controller and grid wiring 2026-06-15 02:13:59 +01:00
Philipinho b8f56fee03 feat(base): add pure next-cell navigation helper 2026-06-15 02:08:33 +01:00
Philipinho b88f56cb90 feat(base): add cell focus-ring style 2026-06-15 02:07:08 +01:00
Philipinho 3bfe0c0b7d feat(base): add focused-cell atom and cell coordinate types 2026-06-15 02:02:38 +01:00
Philipinho 6187150224 fix number precision 2026-06-15 01:14:17 +01:00
Philipinho 4b5f42cc9b feat: translation 2026-06-14 21:45:31 +01:00