document-tabular-section

Build editable document tabular sections with cell-flush controls and live decimal totals.

1|Updated Jun 25, 2026
One-click install
npx skills add https://github.com/IgorAIvanov/altera03 --skill document-tabular-section-igoraivanov
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: document-tabular-section
Source: https://github.com/IgorAIvanov/altera03/tree/main/skills/src/document-tabular-section
Command: npx skills add https://github.com/IgorAIvanov/altera03 --skill document-tabular-section-igoraivanov

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building the tabular section (таблична частина) of a document form often produces controls that show their own borders, rounded corners, and gaps inside table cells, rows taller than their controls, misaligned focus rings, and totals that silently lag behind edits. This Skill provides the TabularSection primitive and the shared .table-tabular / .cell-control CSS contract so tables render flush with the grid and totals stay correct. ## Core Features & Use Cases - TabularSection primitive: Declare typed columns (picker, decimal, text, computed, custom) and get add/copy/delete/move rows, automatic lineNo renumbering, keyboard navigation, live tfoot totals, and per-cell required/check validation. - CSS contract for cell controls: Apply the cell attribute to ui-decimal and ui-picker so controls fill cells edge to edge at 24px row height, with no border, radius, shadow, or focus outline inside the grid. - Multi-section documents on tabs: Place several sections on ui-form-tabs with automatic error-tab switching, and handle section-set changes as explicit SQL migrations. - Use Case: When building a supplier invoice form with goods and services sections, declare two TabularSection instances with decimal quantity/price columns and a computed amount column, render them on ui-form-tabs, and get live document totals plus canonical decimal values on save. ## Quick Start Ask the AI to create a document edit form with a tabular section using the TabularSection primitive, declaring picker and decimal columns with live totals and rendering the sections on ui-form-tabs.

Frequently Asked Questions about document-tabular-section

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an editable table section in a document form?

Declare a TabularSection with typed columns (picker, decimal, text, computed, custom) pointing at a rows array in $root, then render ui-tabular-toolbar and ui-tabular-table. The primitive provides add, copy, delete, move, keyboard navigation, and live totals without hand-written table markup.

Why do Tailwind utilities like p-0 or border-0 not work inside table cells?

The framework theme ships unlayered CSS rules like .table td and .input that beat Tailwind's utilities layer regardless of specificity. Overrides must go into theme.css below the theme block as unlayered rules, never into markup or component styles.

How do I make controls fill a table cell edge to edge?

Put the table on the .table-tabular class and give controls the boolean cell attribute, which applies .cell-control: 24px height, no border, radius, shadow, or focus outline. Text cells get .cell-text; control cells get no class at all.

Why does my table not update when I change a row's value?

The table detects changed rows by object identity, so mutating a row in place is invisible to it. Use section.patch(index, changes) or setRows so a new object replaces the row, and call section.refresh() when a cell depends on state outside $root.

Should decimal form fields be strings or numbers?

Keep decimal form fields as strings in the form schema, for example Type.String with default "0.000", so precision survives and typing is not fought. Compute amounts with decimal.js, wire value-input for live totals and value-changed for canonical values, and normalize rows in save().

When should a document have multiple tabular sections instead of one?

Model as many sections as the subject area has, typically three to six, because people fill goods, services, and payments differently. Each section is its own TabularSection over its own array, rendered on ui-form-tabs, and changing the section set later requires an explicit SQL migration.