@signal9/era-ui 7.0.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/artifact/artifact-close.svelte +1 -1
- package/dist/ai/artifact/artifact-content.svelte +1 -1
- package/dist/ai/artifact/artifact-header.svelte +1 -1
- package/dist/ai/artifact/artifact.svelte +1 -1
- package/dist/ai/chain-of-thought/chain-of-thought-step.svelte +1 -1
- package/dist/ai/chain-of-thought/chain-of-thought.svelte +1 -1
- package/dist/ai/checkpoint.svelte +1 -1
- package/dist/ai/confirmation/confirmation-args.svelte +2 -2
- package/dist/ai/confirmation/confirmation.svelte +4 -4
- package/dist/ai/context/context.svelte +1 -1
- package/dist/ai/conversation/conversation-content.svelte +1 -1
- package/dist/ai/conversation/conversation-empty-state.svelte +1 -1
- package/dist/ai/conversation/conversation-scroll-button.svelte +2 -2
- package/dist/ai/conversations/conversations-group.svelte +1 -1
- package/dist/ai/conversations/conversations-item.svelte +7 -7
- package/dist/ai/error-panel/error-panel.svelte +4 -4
- package/dist/ai/image.svelte +1 -1
- package/dist/ai/inline-citation/inline-citation.svelte +2 -2
- package/dist/ai/loader.svelte +1 -1
- package/dist/ai/message/message-branch-selector.svelte +3 -3
- package/dist/ai/message/message-content.svelte +1 -1
- package/dist/ai/message/message-usage.svelte +4 -4
- package/dist/ai/model-selector/model-selector.svelte +1 -1
- package/dist/ai/open-in-chat/open-in-chat.svelte +2 -2
- package/dist/ai/plan/plan-content.svelte +1 -1
- package/dist/ai/plan/plan-header.svelte +2 -2
- package/dist/ai/plan/plan.svelte +1 -1
- package/dist/ai/prompt-input/prompt-input-add-attachments.svelte +1 -1
- package/dist/ai/prompt-input/prompt-input-attachments.svelte +5 -5
- package/dist/ai/prompt-input/prompt-input-submit.svelte +3 -3
- package/dist/ai/prompt-input/prompt-input-textarea.svelte +3 -3
- package/dist/ai/prompt-input/prompt-input.svelte +1 -1
- package/dist/ai/queue/queue-item.svelte +1 -1
- package/dist/ai/queue/queue.svelte +1 -1
- package/dist/ai/reasoning/reasoning-trigger.svelte +1 -1
- package/dist/ai/response/response.svelte +2 -2
- package/dist/ai/run-status/run-status.svelte +5 -5
- package/dist/ai/runtime-feed/runtime-feed-item.svelte +1 -1
- package/dist/ai/sources/source.svelte +1 -1
- package/dist/ai/sources/sources-trigger.svelte +1 -1
- package/dist/ai/structured-value/structured-value.svelte +1 -1
- package/dist/ai/suggestion/suggestion.svelte +2 -2
- package/dist/ai/swarm/swarm-agent.svelte +1 -1
- package/dist/ai/swarm/swarm-artifact.svelte +1 -1
- package/dist/ai/swarm/swarm-barrier.svelte +1 -1
- package/dist/ai/swarm/swarm-barriers.svelte +1 -1
- package/dist/ai/swarm/swarm-counts.svelte +1 -1
- package/dist/ai/swarm/swarm-footer.svelte +1 -1
- package/dist/ai/swarm/swarm-grid.svelte +2 -2
- package/dist/ai/swarm/swarm-header.svelte +1 -1
- package/dist/ai/swarm/swarm-node.svelte +7 -7
- package/dist/ai/swarm/swarm-role.svelte +1 -1
- package/dist/ai/swarm/swarm-root.svelte +1 -1
- package/dist/ai/swarm/swarm-sandbox.svelte +3 -3
- package/dist/ai/swarm/swarm-tree.svelte +1 -1
- package/dist/ai/task/task-content.svelte +1 -1
- package/dist/ai/task/task-trigger.svelte +1 -1
- package/dist/ai/tool/tool-chip.svelte +2 -2
- package/dist/ai/tool/tool-exec.svelte +3 -3
- package/dist/ai/tool/tool-header.svelte +1 -1
- package/dist/ai/web-preview/web-preview.svelte +3 -3
- package/dist/ai/workflow/canvas.svelte +1 -1
- package/dist/ai/workflow/node.svelte +3 -3
- package/dist/apps/llm-shell/llm-shell.svelte +7 -7
- package/dist/apps/notes/editor/slash-menu.svelte +7 -5
- package/dist/apps/notes/note-editor.svelte +7 -364
- package/dist/apps/notes/note-editor.svelte.d.ts +1 -0
- package/dist/apps/notes/notes.svelte +9 -9
- package/dist/dev/audit/audits/_helpers.js +1 -1
- package/dist/dev/audit/audits/resting-gap.js +1 -1
- package/dist/dev/audit/audits/single-glyph-square.js +2 -2
- package/dist/dev/audit-overlay.svelte +7 -7
- package/dist/dev/measure.d.ts +1 -1
- package/dist/dev/measure.js +1 -1
- package/dist/docs/badge.md +1 -1
- package/dist/docs/css-utilities.d.ts +1 -1
- package/dist/docs/css-utilities.js +8 -8
- package/dist/docs/llms-txt.js +1 -1
- package/dist/era-ui.css +1 -1
- package/dist/generated-docs/badge.md +1 -1
- package/dist/generated-docs/bar.md +2 -2
- package/dist/generated-docs/chip.md +1 -1
- package/dist/generated-docs/input.md +1 -1
- package/dist/generated-docs/llms-full.txt +100 -120
- package/dist/generated-docs/llms.txt +12 -13
- package/dist/generated-docs/manifest.json +52 -65
- package/dist/generated-docs/utilities.json +45 -57
- package/dist/generated-docs/utilities.md +87 -106
- package/dist/os/notification-center.svelte +6 -6
- package/dist/os/pane.svelte +7 -5
- package/dist/os/taskbar.svelte +10 -10
- package/dist/os/toast.svelte +3 -3
- package/dist/os/toaster.svelte +1 -1
- package/dist/styles/density.css +93 -67
- package/dist/styles/index.css +89 -101
- package/dist/styles/prose.css +384 -0
- package/dist/styles/surfaces/base.css +3 -3
- package/dist/styles/surfaces/bevel.css +2 -2
- package/dist/ui/accordion/accordion-trigger.svelte +2 -2
- package/dist/ui/alert-dialog/alert-dialog-content.svelte +1 -1
- package/dist/ui/aspect-ratio/aspect-ratio.svelte +1 -1
- package/dist/ui/avatar/avatar-root.svelte +1 -1
- package/dist/ui/badge/badge.svelte +1 -1
- package/dist/ui/badge/badge.svelte.d.ts +1 -1
- package/dist/ui/bar/bar.svelte +23 -15
- package/dist/ui/bar/bar.svelte.d.ts +26 -26
- package/dist/ui/button/button.svelte +1 -1
- package/dist/ui/button/variants.js +18 -18
- package/dist/ui/button-group/button-group.svelte +2 -2
- package/dist/ui/calendar/calendar-day.svelte +1 -1
- package/dist/ui/calendar/calendar-head-cell.svelte +1 -1
- package/dist/ui/calendar/calendar-header.svelte +1 -1
- package/dist/ui/calendar/calendar-next-button.svelte +1 -1
- package/dist/ui/calendar/calendar-prev-button.svelte +1 -1
- package/dist/ui/card/card.svelte +5 -5
- package/dist/ui/card/card.svelte.d.ts +4 -4
- package/dist/ui/checkbox/checkbox.svelte +3 -3
- package/dist/ui/chip/chip.svelte +14 -10
- package/dist/ui/chip/chip.svelte.d.ts +7 -7
- package/dist/ui/code-block/code-block.svelte +6 -6
- package/dist/ui/collapsible/collapsible-trigger.svelte +1 -1
- package/dist/ui/combobox/combobox-content.svelte +1 -1
- package/dist/ui/combobox/combobox-empty.svelte +4 -1
- package/dist/ui/combobox/combobox-group-heading.svelte +4 -1
- package/dist/ui/combobox/combobox-item.svelte +1 -1
- package/dist/ui/combobox/combobox-trigger.svelte +2 -2
- package/dist/ui/command/command-group-heading.svelte +4 -1
- package/dist/ui/command/command-item.svelte +1 -1
- package/dist/ui/command/command-link-item.svelte +1 -1
- package/dist/ui/command/command-root.svelte +1 -1
- package/dist/ui/command-bar/command-bar.svelte +16 -12
- package/dist/ui/context-menu/context-menu-checkbox-item.svelte +1 -1
- package/dist/ui/context-menu/context-menu-content.svelte +1 -1
- package/dist/ui/context-menu/context-menu-group-heading.svelte +4 -1
- package/dist/ui/context-menu/context-menu-item.svelte +1 -1
- package/dist/ui/context-menu/context-menu-radio-item.svelte +1 -1
- package/dist/ui/context-menu/context-menu-sub-content.svelte +1 -1
- package/dist/ui/context-menu/context-menu-sub-trigger.svelte +2 -2
- package/dist/ui/copy-button/copy-button.svelte +2 -2
- package/dist/ui/cycle/cycle.svelte +1 -1
- package/dist/ui/date-field/date-field-segment.svelte +1 -1
- package/dist/ui/date-picker/date-picker-content.svelte +1 -1
- package/dist/ui/date-picker/date-picker-day.svelte +1 -1
- package/dist/ui/date-picker/date-picker-head-cell.svelte +1 -1
- package/dist/ui/date-picker/date-picker-header.svelte +1 -1
- package/dist/ui/date-picker/date-picker-next-button.svelte +1 -1
- package/dist/ui/date-picker/date-picker-prev-button.svelte +1 -1
- package/dist/ui/date-picker/date-picker-segment.svelte +1 -1
- package/dist/ui/date-picker/date-picker-trigger.svelte +2 -2
- package/dist/ui/date-range-field/date-range-field-segment.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-content.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-day.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-head-cell.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-header.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-next-button.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-prev-button.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-segment.svelte +1 -1
- package/dist/ui/date-range-picker/date-range-picker-trigger.svelte +2 -2
- package/dist/ui/dialog/dialog-content.svelte +4 -2
- package/dist/ui/dialog/dialog-header.svelte +2 -2
- package/dist/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-content.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-group-heading.svelte +4 -1
- package/dist/ui/dropdown-menu/dropdown-menu-item.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-radio-item.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
- package/dist/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +2 -2
- package/dist/ui/dropdown-menu/dropdown-menu-trigger.svelte +2 -2
- package/dist/ui/file-upload/file-upload.svelte +2 -2
- package/dist/ui/input/input.svelte +3 -3
- package/dist/ui/input/input.svelte.d.ts +1 -1
- package/dist/ui/input/textarea.svelte +1 -1
- package/dist/ui/input/variants.d.ts +24 -24
- package/dist/ui/input/variants.js +9 -9
- package/dist/ui/kv/kv.svelte +2 -2
- package/dist/ui/link-preview/link-preview-content.svelte +1 -1
- package/dist/ui/menubar/menubar-checkbox-item.svelte +1 -1
- package/dist/ui/menubar/menubar-content.svelte +1 -1
- package/dist/ui/menubar/menubar-group-heading.svelte +4 -1
- package/dist/ui/menubar/menubar-item.svelte +1 -1
- package/dist/ui/menubar/menubar-radio-item.svelte +1 -1
- package/dist/ui/menubar/menubar-root.svelte +1 -1
- package/dist/ui/menubar/menubar-sub-content.svelte +1 -1
- package/dist/ui/menubar/menubar-sub-trigger.svelte +2 -2
- package/dist/ui/menubar/menubar-trigger.svelte +1 -1
- package/dist/ui/meter/meter.svelte +1 -1
- package/dist/ui/pagination/pagination-next-button.svelte +1 -1
- package/dist/ui/pagination/pagination-prev-button.svelte +1 -1
- package/dist/ui/pane/pane-close.svelte +2 -2
- package/dist/ui/pane/pane-content.svelte +1 -1
- package/dist/ui/pane/pane-handle.svelte +3 -3
- package/dist/ui/pane/pane-root.svelte +12 -12
- package/dist/ui/pane/pane-tab-list.svelte +1 -1
- package/dist/ui/pane/pane-tab-panel.svelte +1 -1
- package/dist/ui/pane/pane-tab.svelte +1 -1
- package/dist/ui/pane/pane.svelte +1 -1
- package/dist/ui/pin-input/pin-input-cell.svelte +1 -1
- package/dist/ui/popover/popover-content.svelte +1 -1
- package/dist/ui/progress/progress.svelte +1 -1
- package/dist/ui/radio-group/radio-group-item.svelte +2 -2
- package/dist/ui/rating-group/rating-group-item.svelte +1 -1
- package/dist/ui/scroll-area/scroll-area-thumb.svelte +1 -1
- package/dist/ui/scroll-area/scroll-area.svelte +1 -1
- package/dist/ui/select/select-content.svelte +1 -1
- package/dist/ui/select/select-group-heading.svelte +4 -1
- package/dist/ui/select/select-item.svelte +1 -1
- package/dist/ui/select/select-trigger.svelte +2 -2
- package/dist/ui/select/select-value.svelte +1 -1
- package/dist/ui/sheet/sheet-content.svelte +3 -3
- package/dist/ui/sheet/sheet-content.svelte.d.ts +6 -6
- package/dist/ui/skeleton/skeleton.svelte +3 -3
- package/dist/ui/skeleton/skeleton.svelte.d.ts +9 -9
- package/dist/ui/slider/slider-range.svelte +1 -1
- package/dist/ui/slider/slider-thumb.svelte +1 -1
- package/dist/ui/step/step-content.svelte +1 -1
- package/dist/ui/step/step-summary.svelte +6 -6
- package/dist/ui/switch/switch.svelte +3 -3
- package/dist/ui/table/table-cell.svelte +1 -1
- package/dist/ui/table/table-head-cell.svelte +1 -1
- package/dist/ui/time-field/time-field-segment.svelte +1 -1
- package/dist/ui/time-range-field/time-range-field-segment.svelte +1 -1
- package/dist/ui/toggle-group/toggle-group-item.svelte +1 -1
- package/dist/ui/tooltip/tooltip-content.svelte +1 -1
- package/dist/ui/video-player/video-player.svelte +44 -44
- package/dist/utils/index.js +4 -4
- package/package.json +2 -1
package/dist/styles/density.css
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
* --era-gap sp/2 — inter-element gap
|
|
45
45
|
* --era-inset-{xxs,sm,md} (T − text)/2 — text-symmetric content padding
|
|
46
46
|
* (text is 12px at dense, 14 above)
|
|
47
|
-
* --era-
|
|
47
|
+
* --era-icon-inset-chip (sm − xs)/2 = sp/2 — centering an xs element inside sm
|
|
48
48
|
*
|
|
49
49
|
* OPTICAL PADDING (unbounded content containers)
|
|
50
50
|
* ==============================================
|
|
@@ -69,17 +69,17 @@
|
|
|
69
69
|
* reproduces the empirically-tuned old content-p curve (16/24/32/48), so this
|
|
70
70
|
* names the law the system had already converged on rather than inventing one.
|
|
71
71
|
*
|
|
72
|
-
* --era-pad-
|
|
73
|
-
* --era-pad-
|
|
74
|
-
* --era-pad-
|
|
72
|
+
* --era-pad-panel so/2 4 / 5.6 / 7.5 / 12 — compact shells, menu panels
|
|
73
|
+
* --era-pad-card so 8 / 11.25 / 15 / 24 — cards, card sections, dialogs, popovers
|
|
74
|
+
* --era-pad-content 2·so 16 / 22.5 / 30 / 48 — full content panels (docs sections)
|
|
75
75
|
*
|
|
76
|
-
* Whitespace share rises with mode: pad-md / h-
|
|
77
|
-
* --era-content-p is kept as an alias of --era-pad-
|
|
76
|
+
* Whitespace share rises with mode: pad-md / h-control = 0.33 dense → 0.50 touch.
|
|
77
|
+
* --era-content-p is kept as an alias of --era-pad-content.
|
|
78
78
|
*
|
|
79
79
|
* IDENTITY USED AT NESTING SITES
|
|
80
80
|
* ==============================
|
|
81
81
|
*
|
|
82
|
-
* A flush
|
|
82
|
+
* A flush pill at an md-container edge needs −(inset-xxs) margin so
|
|
83
83
|
* the horizontal gap equals the vertical concentric gap. Proof:
|
|
84
84
|
* inset-md − xxs-inset-md
|
|
85
85
|
* = (md − text)/2 − (md − xxs)/2
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
* RADII (concentric progression, sp-derived)
|
|
90
90
|
* ==========================================
|
|
91
91
|
*
|
|
92
|
-
* rd-T = scale · (R + (h-T − h-
|
|
92
|
+
* rd-T = scale · (R + (h-T − h-icon) / 2) where R = sp / φ²
|
|
93
93
|
*
|
|
94
94
|
* Both R and the per-tier concentric term are multiplied by scale. The corners
|
|
95
95
|
* toggle flips scale 1 ↔ 0 so every rd collapses together. Because scale is
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
* mechanism handles data-corners on any subtree.
|
|
109
109
|
*
|
|
110
110
|
* Without the * selector this wouldn't work: custom-property var() refs
|
|
111
|
-
* resolve at computed-value time. If --era-h-
|
|
111
|
+
* resolve at computed-value time. If --era-h-bar = calc(4 * var(--era-sp)) were
|
|
112
112
|
* declared only on :root, descendants would inherit root's already-resolved
|
|
113
113
|
* 2rem and no subtree override of --era-sp could retroactively change it.
|
|
114
114
|
*/
|
|
@@ -127,29 +127,50 @@
|
|
|
127
127
|
/* -------------------------------------------------- */
|
|
128
128
|
* {
|
|
129
129
|
/* Tier heights */
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
/* THE TIER LADDER, named for what each rung IS rather than for a t-shirt size.
|
|
131
|
+
*
|
|
132
|
+
* It used to read xs / xxs / sm / md / lg, and those names actively lied: xs
|
|
133
|
+
* was 14px and xxs was 18, so the scale that every component, token and
|
|
134
|
+
* consumer is written in had "xxs" LARGER than "xs". Nobody reads it that way
|
|
135
|
+
* once, let alone every time. Roles cannot invert:
|
|
136
|
+
*
|
|
137
|
+
* icon 14/16/18/22 a lucide glyph, and the box that holds just one
|
|
138
|
+
* pill 18/20/22/26 a badge or chip — nests INSIDE a control
|
|
139
|
+
* chip 22/26/30/38 a standalone pill: switch track, KV row
|
|
140
|
+
* control 24/30/36/48 the workhorse — button, row, input, trigger
|
|
141
|
+
* bar 32/40/48/64 a toolbar, a page header
|
|
142
|
+
*
|
|
143
|
+
* The concentric insets read as prose now too: --era-pill-inset-control is
|
|
144
|
+
* "the inset that centres a pill inside a control", which is exactly what it
|
|
145
|
+
* computes. */
|
|
146
|
+
--era-h-icon: calc(var(--era-sp) + 0.375rem); /* 14/16/18/22 = sp + 6 */
|
|
147
|
+
--era-glyph-stroke-width: 1.75; /* Lucide SVG stroke, tuned to sit beside 14px body text */
|
|
132
148
|
|
|
133
|
-
/* Icon-button glyph sub-tiers. The glyph normally IS the icon tier (h-
|
|
149
|
+
/* Icon-button glyph sub-tiers. The glyph normally IS the icon tier (h-icon, the
|
|
134
150
|
sp+6 legibility floor) — that's what every text button's icon and every md/sm
|
|
135
151
|
icon button uses. But when the BOX collapses toward the icon tier — xxs, and
|
|
136
|
-
xs/icon where box == h-
|
|
152
|
+
xs/icon where box == h-icon — an h-icon glyph would fill it edge to edge. So the
|
|
137
153
|
glyph steps below the floor by 2px per tier, preserving a concentric gap:
|
|
138
154
|
sp+4 in an xxs box (pad 3), sp+2 in an xs box (pad 2). The dense pads then run
|
|
139
|
-
2·3·4·5 across
|
|
140
|
-
--era-
|
|
141
|
-
|
|
155
|
+
2·3·4·5 across icon·pill·chip·control — a unit step off the floor, per Button. */
|
|
156
|
+
--era-glyph-pill: calc(
|
|
157
|
+
var(--era-sp) + 0.25rem
|
|
158
|
+
); /* 12/14/16 = sp + 4 (glyph in a pill-tier button) */
|
|
159
|
+
--era-glyph-icon: calc(
|
|
142
160
|
var(--era-sp) + 0.125rem
|
|
143
|
-
); /* 10/12/14 = sp + 2 (glyph in an
|
|
144
|
-
--era-h-
|
|
145
|
-
--era-h-
|
|
146
|
-
--era-h-
|
|
147
|
-
--era-h-
|
|
161
|
+
); /* 10/12/14 = sp + 2 (glyph in an icon-tier button) */
|
|
162
|
+
--era-h-pill: calc(var(--era-sp) + 0.625rem); /* 18/20/22 = sp + 10 (nested pill tier) */
|
|
163
|
+
--era-h-chip: calc(2 * var(--era-sp) + 0.375rem); /* 22/26/30 = 2·sp + 6 (standalone pill) */
|
|
164
|
+
--era-h-control: calc(3 * var(--era-sp)); /* 24/30/36 = 3·sp */
|
|
165
|
+
--era-h-bar: calc(4 * var(--era-sp)); /* 32/40/48 = 4·sp */
|
|
148
166
|
|
|
149
167
|
/* Tier horizontal padding */
|
|
150
|
-
--era-px-
|
|
151
|
-
|
|
152
|
-
|
|
168
|
+
/* --era-px-chip / -control / -bar used to live here as three separate
|
|
169
|
+
"tier horizontal padding" tokens. All three were `sp * 0.5` — the same
|
|
170
|
+
value as --era-gap below, so the ladder had FOUR names for one number and
|
|
171
|
+
a reader had to diff the definitions to learn they were identical. One
|
|
172
|
+
token now; if a tier ever genuinely needs its own, it earns its own name
|
|
173
|
+
then. */
|
|
153
174
|
|
|
154
175
|
/* Inter-item gap */
|
|
155
176
|
--era-gap: calc(var(--era-sp) * 0.5); /* 4/5/6 */
|
|
@@ -175,9 +196,9 @@
|
|
|
175
196
|
|
|
176
197
|
/* Content insets — text-symmetric padding (vertical centering, reused as
|
|
177
198
|
horizontal only where the content is a single square glyph). */
|
|
178
|
-
--era-inset-
|
|
179
|
-
--era-inset-
|
|
180
|
-
--era-inset-
|
|
199
|
+
--era-inset-pill: max(0px, calc((var(--era-h-pill) - var(--era-text)) / 2)); /* 3/3/4/6 */
|
|
200
|
+
--era-inset-chip: max(0px, calc((var(--era-h-chip) - var(--era-text)) / 2)); /* 5/6/8/12 */
|
|
201
|
+
--era-inset-control: max(0px, calc((var(--era-h-control) - var(--era-text)) / 2)); /* 6/8/11/17 */
|
|
181
202
|
|
|
182
203
|
/* Pill side padding — horizontal breathing room for badge/chip text.
|
|
183
204
|
Text wants MORE horizontal than vertical padding: line-height adds
|
|
@@ -188,8 +209,8 @@
|
|
|
188
209
|
is narrower than the line, this comes out ~2× the vertical inset on its
|
|
189
210
|
own — and a lone glyph still measures exactly the tier width, so the
|
|
190
211
|
"single glyph = square" floor (min-w = h) is preserved, not broken. */
|
|
191
|
-
--era-pill-
|
|
192
|
-
--era-
|
|
212
|
+
--era-pill-px: max(0px, calc((var(--era-h-pill) - 0.6 * var(--era-text)) / 2)); /* 5.4/5.8/6.8 */
|
|
213
|
+
--era-chip-px: max(0px, calc((var(--era-h-chip) - 0.6 * var(--era-text)) / 2)); /* 7.4/8.8/10.8 */
|
|
193
214
|
|
|
194
215
|
/* Text-field side padding — the horizontal room where typed text starts in an
|
|
195
216
|
md-tier input (Input, Textarea, combobox/command inputs, date/time fields).
|
|
@@ -202,42 +223,44 @@
|
|
|
202
223
|
proportionally TIGHTEST at dense — 6.8px in a 24px box read cramped. The
|
|
203
224
|
floor only bites at dense (pill-sm ≥ 8.8 at every looser mode), lifting dense
|
|
204
225
|
to 8px and leaving balanced/spacious/touch exactly as they were. */
|
|
205
|
-
--era-field-px: max(var(--era-
|
|
226
|
+
--era-field-px: max(var(--era-chip-px), 0.5rem); /* 8/8.8/10.8/14.8 — floor lifts dense only */
|
|
206
227
|
|
|
207
228
|
/* Concentric insets — center a smaller tier element inside a larger one. */
|
|
208
|
-
/* --era-
|
|
209
|
-
what switch thumbs and KV icons rely on. --era-
|
|
229
|
+
/* --era-icon-inset-chip stays at sp/2 by construction (sm − xs = sp), which is
|
|
230
|
+
what switch thumbs and KV icons rely on. --era-pill-inset-control is the "pill
|
|
210
231
|
inside a button" concentric gap used both vertically (trigger padding)
|
|
211
232
|
and horizontally (inter-chip gap inside multi-select Value). */
|
|
212
|
-
--era-
|
|
213
|
-
--era-
|
|
214
|
-
(var(--era-h-
|
|
233
|
+
--era-icon-inset-chip: calc((var(--era-h-chip) - var(--era-h-icon)) / 2); /* 4/5/6 = sp/2 */
|
|
234
|
+
--era-icon-inset-pill: calc(
|
|
235
|
+
(var(--era-h-pill) - var(--era-h-icon)) / 2
|
|
215
236
|
); /* 2 (flat) — center an xs element (dismiss button) inside xxs */
|
|
216
|
-
--era-
|
|
217
|
-
|
|
237
|
+
--era-pill-inset-control: calc(
|
|
238
|
+
(var(--era-h-control) - var(--era-h-pill)) / 2
|
|
239
|
+
); /* 3/5/7 = sp − 5 */
|
|
240
|
+
/* Centre an pill inside an sm one — a dismiss chip in a standalone chip, an
|
|
218
241
|
xxs control in an sm bar.
|
|
219
|
-
It reads like a duplicate of --era-inset-
|
|
220
|
-
while text was 14px everywhere, (h-
|
|
242
|
+
It reads like a duplicate of --era-inset-pill (3/3/4/6) and used to BE one:
|
|
243
|
+
while text was 14px everywhere, (h-chip − h-pill)/2 and (h-pill − text)/2 were
|
|
221
244
|
the same number, and callers borrowed the text inset rather than declaring
|
|
222
245
|
this. Dense's 12px type broke that tie — 2 against 3 — so the pairing now has
|
|
223
246
|
its own name and cannot drift again with the type scale. */
|
|
224
|
-
--era-
|
|
225
|
-
--era-
|
|
226
|
-
(var(--era-h-
|
|
247
|
+
--era-pill-inset-chip: calc((var(--era-h-chip) - var(--era-h-pill)) / 2); /* 2/3/4/6 */
|
|
248
|
+
--era-icon-inset-control: calc(
|
|
249
|
+
(var(--era-h-control) - var(--era-h-icon)) / 2
|
|
227
250
|
); /* 5/7/9 = sp − 3 — center an xs control inside an md bar (= rd-md − rd-xs) */
|
|
228
|
-
--era-
|
|
229
|
-
(var(--era-h-
|
|
251
|
+
--era-icon-inset-bar: calc(
|
|
252
|
+
(var(--era-h-bar) - var(--era-h-icon)) / 2
|
|
230
253
|
); /* 9/12/15 — center an xs control inside an lg bar (= rd-lg − rd-xs) */
|
|
231
|
-
--era-
|
|
232
|
-
(var(--era-h-
|
|
254
|
+
--era-chip-inset-control: calc(
|
|
255
|
+
(var(--era-h-control) - var(--era-h-chip)) / 2
|
|
233
256
|
); /* 1/2/3 — center an sm control inside an md field (= rd-md − rd-sm), e.g. the date picker's trailing trigger */
|
|
234
|
-
--era-
|
|
235
|
-
(var(--era-h-
|
|
257
|
+
--era-chip-inset-bar: calc(
|
|
258
|
+
(var(--era-h-bar) - var(--era-h-chip)) / 2
|
|
236
259
|
); /* 5/7/9 = sp − 3 — inset an sm panel (drag bar) concentrically in an lg pane (= rd-lg − rd-sm) */
|
|
237
260
|
|
|
238
261
|
/* Roundness ladder — golden base + concentric progression, both gated by scale. */
|
|
239
|
-
/* rd-T = scale · (R + (h-T − h-
|
|
240
|
-
inversion at sp < 6 where h-
|
|
262
|
+
/* rd-T = scale · (R + (h-T − h-icon) / 2). R = sp / φ². max(0px, …) clamps tier
|
|
263
|
+
inversion at sp < 6 where h-control/h-bar drop below h-icon. data-corners="square"
|
|
241
264
|
sets scale to 0 (animated via @property), zeroing every radius.
|
|
242
265
|
|
|
243
266
|
CONCENTRICITY LAW — the ladder exists to make this automatic:
|
|
@@ -253,40 +276,43 @@
|
|
|
253
276
|
Chip (sm shell + xs dismiss), Bar (h-T ↔ rd-T), Pane.Root (rd-sm), menu
|
|
254
277
|
panels (rd-md, items at era-item-rd = rd-md − panel-inset). */
|
|
255
278
|
--era-roundness: calc(var(--era-roundness-scale) * var(--era-sp) / 2.618);
|
|
256
|
-
--era-rd-
|
|
257
|
-
--era-rd-
|
|
279
|
+
--era-rd-icon: max(0px, var(--era-roundness));
|
|
280
|
+
--era-rd-pill: max(
|
|
258
281
|
0px,
|
|
259
282
|
calc(
|
|
260
|
-
var(--era-roundness) + var(--era-roundness-scale) * (var(--era-h-
|
|
283
|
+
var(--era-roundness) + var(--era-roundness-scale) * (var(--era-h-pill) - var(--era-h-icon)) /
|
|
284
|
+
2
|
|
261
285
|
)
|
|
262
286
|
);
|
|
263
|
-
--era-rd-
|
|
287
|
+
--era-rd-chip: max(
|
|
264
288
|
0px,
|
|
265
289
|
calc(
|
|
266
|
-
var(--era-roundness) + var(--era-roundness-scale) * (var(--era-h-
|
|
290
|
+
var(--era-roundness) + var(--era-roundness-scale) * (var(--era-h-chip) - var(--era-h-icon)) /
|
|
291
|
+
2
|
|
267
292
|
)
|
|
268
293
|
);
|
|
269
|
-
--era-rd-
|
|
294
|
+
--era-rd-control: max(
|
|
270
295
|
0px,
|
|
271
296
|
calc(
|
|
272
|
-
var(--era-roundness) + var(--era-roundness-scale) *
|
|
297
|
+
var(--era-roundness) + var(--era-roundness-scale) *
|
|
298
|
+
(var(--era-h-control) - var(--era-h-icon)) / 2
|
|
273
299
|
)
|
|
274
300
|
);
|
|
275
|
-
--era-rd-
|
|
301
|
+
--era-rd-bar: max(
|
|
276
302
|
0px,
|
|
277
303
|
calc(
|
|
278
|
-
var(--era-roundness) + var(--era-roundness-scale) * (var(--era-h-
|
|
304
|
+
var(--era-roundness) + var(--era-roundness-scale) * (var(--era-h-bar) - var(--era-h-icon)) / 2
|
|
279
305
|
)
|
|
280
306
|
);
|
|
281
307
|
|
|
282
308
|
/* Optical padding — so = sp·(1 + d)/2; see OPTICAL PADDING above. */
|
|
283
309
|
--era-so: calc(var(--era-sp) * (1 + var(--era-density)) / 2); /* 8/11.25/15/24 */
|
|
284
|
-
--era-pad-
|
|
285
|
-
--era-pad-
|
|
286
|
-
--era-pad-
|
|
310
|
+
--era-pad-panel: calc(var(--era-so) / 2); /* 4/5.6/7.5/12 */
|
|
311
|
+
--era-pad-card: var(--era-so); /* 8/11.25/15/24 */
|
|
312
|
+
--era-pad-content: calc(var(--era-so) * 2); /* 16/22.5/30/48 */
|
|
287
313
|
|
|
288
314
|
/* Content padding — alias of pad-lg (formerly 4·sp − 16 ≈ the same curve) */
|
|
289
|
-
--era-content-p: var(--era-pad-
|
|
315
|
+
--era-content-p: var(--era-pad-content);
|
|
290
316
|
}
|
|
291
317
|
|
|
292
318
|
/* -------------------------------------------------- */
|
|
@@ -325,7 +351,7 @@
|
|
|
325
351
|
* shrank while the thing inside it did not.
|
|
326
352
|
*
|
|
327
353
|
* 12px is the size the reference terminal app is built at, and it makes the
|
|
328
|
-
* whole ladder line up with it: --era-inset-
|
|
354
|
+
* whole ladder line up with it: --era-inset-pill becomes (18−12)/2 = 3px,
|
|
329
355
|
* which is exactly the 3px that app hardcodes for the wall and gap of an
|
|
330
356
|
* 18px control in a 24px bar. Same numbers, derived instead of typed.
|
|
331
357
|
*
|
|
@@ -364,14 +390,14 @@
|
|
|
364
390
|
--era-density: 2;
|
|
365
391
|
}
|
|
366
392
|
|
|
367
|
-
/* Touch mode goes full pill. Setting roundness to scale · h-
|
|
368
|
-
existing concentric term (h-T − h-
|
|
393
|
+
/* Touch mode goes full pill. Setting roundness to scale · h-icon / 2 makes the
|
|
394
|
+
existing concentric term (h-T − h-icon)/2 sum to h-T/2 for every tier, so
|
|
369
395
|
rd-xs … rd-lg all equal h-T/2. Needs the descendant selector because
|
|
370
396
|
--era-roundness is declared on * and would otherwise overwrite this on
|
|
371
397
|
children. Square toggle still collapses everything via scale = 0. */
|
|
372
398
|
[data-mode='touch'],
|
|
373
399
|
[data-mode='touch'] * {
|
|
374
|
-
--era-roundness: calc(var(--era-roundness-scale) * var(--era-h-
|
|
400
|
+
--era-roundness: calc(var(--era-roundness-scale) * var(--era-h-icon) / 2);
|
|
375
401
|
}
|
|
376
402
|
|
|
377
403
|
/* -------------------------------------------------- */
|
package/dist/styles/index.css
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*
|
|
21
21
|
* The split is by DEPENDENCY WEIGHT, not by layer, and that is deliberate.
|
|
22
22
|
* Tailwind utilities DEDUPE — 60-odd components share one small vocabulary of
|
|
23
|
-
* flex/h-
|
|
23
|
+
* flex/h-control/items-center, so scanning every layer below costs almost nothing
|
|
24
24
|
* and cannot be forgotten. Third-party CSS is the opposite: it is unshared,
|
|
25
25
|
* heavy, and belongs to exactly one component. Split what is unshared; keep
|
|
26
26
|
* what is shared whole. */
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
* Set it from an Era token globally so every imported Lucide component tracks
|
|
42
42
|
* the same optical weight as adjacent body text and can be tuned in one place. */
|
|
43
43
|
:where(.lucide) {
|
|
44
|
-
stroke-width: var(--era-
|
|
44
|
+
stroke-width: var(--era-glyph-stroke-width);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
/* The mask glyph is the one piece of type the UA picks for you, so era picks it
|
|
@@ -395,16 +395,16 @@
|
|
|
395
395
|
/* THE PUBLIC CLASS API */
|
|
396
396
|
/* */
|
|
397
397
|
/* Era's consumer-facing styling surface is NAMED utilities — a user */
|
|
398
|
-
/* of the library writes `h-
|
|
399
|
-
/* `h-(--era-h-
|
|
400
|
-
/* name for the concept (rounded-
|
|
398
|
+
/* of the library writes `h-control rounded-control px-gutter shadow`, never */
|
|
399
|
+
/* `h-(--era-h-control)`-style var classes. Where Tailwind already has a */
|
|
400
|
+
/* name for the concept (rounded-control, shadow, ease) era OVERLOADS it */
|
|
401
401
|
/* so stock-looking markup renders on-design; where it doesn't, era */
|
|
402
|
-
/* registers its own (h-
|
|
402
|
+
/* registers its own (h-control, px-gutter, gap-gutter, p-card). */
|
|
403
403
|
/* */
|
|
404
404
|
/* The --era-* custom properties remain the internal contract (and */
|
|
405
405
|
/* the escape hatch for anything without a name — e.g. min-w-* tier */
|
|
406
406
|
/* names are NOT registered because Tailwind's container scale */
|
|
407
|
-
/* already owns min-w-md/lg; use min-w-(--era-h-
|
|
407
|
+
/* already owns min-w-md/lg; use min-w-(--era-h-control) there). */
|
|
408
408
|
/* */
|
|
409
409
|
/* Everything here is a thin name over a token, so the full axis */
|
|
410
410
|
/* system — density, surface, corners, motion — flows through */
|
|
@@ -420,16 +420,16 @@
|
|
|
420
420
|
* at runtime by typography/prose-leading. */
|
|
421
421
|
--leading-body: var(--era-leading);
|
|
422
422
|
/* Radius ladder — Tailwind's own rounded-* names now walk era's concentric
|
|
423
|
-
* ladder (rd-T = rd-xs + (h-T − h-
|
|
424
|
-
* collapse to 0 on square. rounded-item is the menu-row radius
|
|
425
|
-
* (rd-md − panel-inset) that keeps rows concentric inside a rounded-
|
|
423
|
+
* ladder (rd-T = rd-xs + (h-T − h-icon)/2), ride the corners toggle, and
|
|
424
|
+
* collapse to 0 on square. rounded-menu-item is the menu-row radius
|
|
425
|
+
* (rd-md − panel-inset) that keeps rows concentric inside a rounded-control
|
|
426
426
|
* panel on every surface. */
|
|
427
|
-
--radius-
|
|
428
|
-
--radius-
|
|
429
|
-
--radius-
|
|
430
|
-
--radius-
|
|
431
|
-
--radius-
|
|
432
|
-
--radius-item: var(--era-item-rd);
|
|
427
|
+
--radius-icon: var(--era-rd-icon);
|
|
428
|
+
--radius-pill: var(--era-rd-pill);
|
|
429
|
+
--radius-chip: var(--era-rd-chip);
|
|
430
|
+
--radius-control: var(--era-rd-control);
|
|
431
|
+
--radius-bar: var(--era-rd-bar);
|
|
432
|
+
--radius-menu-item: var(--era-item-rd);
|
|
433
433
|
/* Surface chrome — bare `shadow` is the resting control edge, shadow-lg the
|
|
434
434
|
* floating panel, shadow-well the recessed container, shadow-pressed the
|
|
435
435
|
* active/latched face, shadow-highlight the material half of hover feedback.
|
|
@@ -503,82 +503,70 @@
|
|
|
503
503
|
/* */
|
|
504
504
|
/* Static utilities (not @theme) because Tailwind's spacing namespace */
|
|
505
505
|
/* is shared across h/w/p/m/gap — registering `md` there would give */
|
|
506
|
-
/* px-
|
|
506
|
+
/* px-gutter and h-control the SAME value, and era's tiers and insets are */
|
|
507
507
|
/* different token families. Each name below maps to exactly one */
|
|
508
508
|
/* token. Kept terse; the ladder itself is documented in density.css */
|
|
509
509
|
/* and on the /spacing page. */
|
|
510
510
|
/* ------------------------------------------------------------------ */
|
|
511
511
|
|
|
512
|
-
/* @use the tier-height ladder — h-
|
|
513
|
-
* (standalone pill) · h-
|
|
512
|
+
/* @use the tier-height ladder — h-icon (icon) · h-pill (nested pill) · h-chip
|
|
513
|
+
* (standalone pill) · h-control (control) · h-bar (bar); the named form of
|
|
514
514
|
* h-(--era-h-*). */
|
|
515
|
-
@utility h-
|
|
516
|
-
height: var(--era-h-
|
|
515
|
+
@utility h-icon {
|
|
516
|
+
height: var(--era-h-icon);
|
|
517
517
|
}
|
|
518
|
-
@utility h-
|
|
519
|
-
height: var(--era-h-
|
|
518
|
+
@utility h-pill {
|
|
519
|
+
height: var(--era-h-pill);
|
|
520
520
|
}
|
|
521
|
-
@utility h-
|
|
522
|
-
height: var(--era-h-
|
|
521
|
+
@utility h-chip {
|
|
522
|
+
height: var(--era-h-chip);
|
|
523
523
|
}
|
|
524
|
-
@utility h-
|
|
525
|
-
height: var(--era-h-
|
|
524
|
+
@utility h-control {
|
|
525
|
+
height: var(--era-h-control);
|
|
526
526
|
}
|
|
527
|
-
@utility h-
|
|
528
|
-
height: var(--era-h-
|
|
527
|
+
@utility h-bar {
|
|
528
|
+
height: var(--era-h-bar);
|
|
529
529
|
}
|
|
530
530
|
|
|
531
531
|
/* @use minimum tier height for containers that may grow — a bar that is at
|
|
532
|
-
* least lg-tier but can wrap (min-h-
|
|
533
|
-
@utility min-h-
|
|
534
|
-
min-height: var(--era-h-
|
|
532
|
+
* least lg-tier but can wrap (min-h-bar). */
|
|
533
|
+
@utility min-h-icon {
|
|
534
|
+
min-height: var(--era-h-icon);
|
|
535
535
|
}
|
|
536
|
-
@utility min-h-
|
|
537
|
-
min-height: var(--era-h-
|
|
536
|
+
@utility min-h-pill {
|
|
537
|
+
min-height: var(--era-h-pill);
|
|
538
538
|
}
|
|
539
|
-
@utility min-h-
|
|
540
|
-
min-height: var(--era-h-
|
|
539
|
+
@utility min-h-chip {
|
|
540
|
+
min-height: var(--era-h-chip);
|
|
541
541
|
}
|
|
542
|
-
@utility min-h-
|
|
543
|
-
min-height: var(--era-h-
|
|
542
|
+
@utility min-h-control {
|
|
543
|
+
min-height: var(--era-h-control);
|
|
544
544
|
}
|
|
545
|
-
@utility min-h-
|
|
546
|
-
min-height: var(--era-h-
|
|
545
|
+
@utility min-h-bar {
|
|
546
|
+
min-height: var(--era-h-bar);
|
|
547
547
|
}
|
|
548
548
|
|
|
549
|
-
/* @use a tier-sized square — size-
|
|
550
|
-
* body text), size-
|
|
551
|
-
@utility size-
|
|
552
|
-
width: var(--era-h-
|
|
553
|
-
height: var(--era-h-
|
|
549
|
+
/* @use a tier-sized square — size-icon is THE icon size (a Lucide glyph beside
|
|
550
|
+
* body text), size-control a square control face. */
|
|
551
|
+
@utility size-icon {
|
|
552
|
+
width: var(--era-h-icon);
|
|
553
|
+
height: var(--era-h-icon);
|
|
554
554
|
}
|
|
555
|
-
@utility size-
|
|
556
|
-
width: var(--era-h-
|
|
557
|
-
height: var(--era-h-
|
|
555
|
+
@utility size-pill {
|
|
556
|
+
width: var(--era-h-pill);
|
|
557
|
+
height: var(--era-h-pill);
|
|
558
558
|
}
|
|
559
|
-
@utility size-
|
|
560
|
-
width: var(--era-h-
|
|
561
|
-
height: var(--era-h-
|
|
559
|
+
@utility size-chip {
|
|
560
|
+
width: var(--era-h-chip);
|
|
561
|
+
height: var(--era-h-chip);
|
|
562
562
|
}
|
|
563
|
-
@utility size-
|
|
564
|
-
width: var(--era-h-
|
|
565
|
-
height: var(--era-h-
|
|
563
|
+
@utility size-control {
|
|
564
|
+
width: var(--era-h-control);
|
|
565
|
+
height: var(--era-h-control);
|
|
566
566
|
}
|
|
567
|
-
@utility size-
|
|
568
|
-
width: var(--era-h-
|
|
569
|
-
height: var(--era-h-
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
/* @use tier-to-tier nesting padding (sp/2) — the horizontal padding of a bar
|
|
573
|
-
* or row that holds tiered controls; the named form of px-(--era-px-*). */
|
|
574
|
-
@utility px-sm {
|
|
575
|
-
padding-inline: var(--era-px-sm);
|
|
576
|
-
}
|
|
577
|
-
@utility px-md {
|
|
578
|
-
padding-inline: var(--era-px-md);
|
|
579
|
-
}
|
|
580
|
-
@utility px-lg {
|
|
581
|
-
padding-inline: var(--era-px-lg);
|
|
567
|
+
@utility size-bar {
|
|
568
|
+
width: var(--era-h-bar);
|
|
569
|
+
height: var(--era-h-bar);
|
|
582
570
|
}
|
|
583
571
|
|
|
584
572
|
/* @use the inter-element gap (sp/2) — flex/grid gap between sibling controls,
|
|
@@ -598,46 +586,46 @@
|
|
|
598
586
|
}
|
|
599
587
|
|
|
600
588
|
/* @use text-symmetric content padding — (tier − text)/2, the inset that
|
|
601
|
-
* vertically centers body text in its tier; px-inset-
|
|
602
|
-
* side padding, p-inset-
|
|
603
|
-
@utility p-inset-
|
|
604
|
-
padding: var(--era-inset-
|
|
589
|
+
* vertically centers body text in its tier; px-inset-control is a text button's
|
|
590
|
+
* side padding, p-inset-control a code block's. */
|
|
591
|
+
@utility p-inset-pill {
|
|
592
|
+
padding: var(--era-inset-pill);
|
|
605
593
|
}
|
|
606
|
-
@utility p-inset-
|
|
607
|
-
padding: var(--era-inset-
|
|
594
|
+
@utility p-inset-chip {
|
|
595
|
+
padding: var(--era-inset-chip);
|
|
608
596
|
}
|
|
609
|
-
@utility p-inset-
|
|
610
|
-
padding: var(--era-inset-
|
|
597
|
+
@utility p-inset-control {
|
|
598
|
+
padding: var(--era-inset-control);
|
|
611
599
|
}
|
|
612
|
-
@utility px-inset-
|
|
613
|
-
padding-inline: var(--era-inset-
|
|
600
|
+
@utility px-inset-pill {
|
|
601
|
+
padding-inline: var(--era-inset-pill);
|
|
614
602
|
}
|
|
615
|
-
@utility px-inset-
|
|
616
|
-
padding-inline: var(--era-inset-
|
|
603
|
+
@utility px-inset-chip {
|
|
604
|
+
padding-inline: var(--era-inset-chip);
|
|
617
605
|
}
|
|
618
|
-
@utility px-inset-
|
|
619
|
-
padding-inline: var(--era-inset-
|
|
606
|
+
@utility px-inset-control {
|
|
607
|
+
padding-inline: var(--era-inset-control);
|
|
620
608
|
}
|
|
621
|
-
@utility py-inset-
|
|
622
|
-
padding-block: var(--era-inset-
|
|
609
|
+
@utility py-inset-pill {
|
|
610
|
+
padding-block: var(--era-inset-pill);
|
|
623
611
|
}
|
|
624
|
-
@utility py-inset-
|
|
625
|
-
padding-block: var(--era-inset-
|
|
612
|
+
@utility py-inset-chip {
|
|
613
|
+
padding-block: var(--era-inset-chip);
|
|
626
614
|
}
|
|
627
|
-
@utility py-inset-
|
|
628
|
-
padding-block: var(--era-inset-
|
|
615
|
+
@utility py-inset-control {
|
|
616
|
+
padding-block: var(--era-inset-control);
|
|
629
617
|
}
|
|
630
618
|
|
|
631
619
|
/* @use pill side padding — the wider-than-vertical horizontal breathing room
|
|
632
620
|
* badge/chip text wants (glyph-advance derived, ~2× the vertical inset). */
|
|
633
|
-
@utility px-pill
|
|
634
|
-
padding-inline: var(--era-pill-
|
|
621
|
+
@utility px-pill {
|
|
622
|
+
padding-inline: var(--era-pill-px);
|
|
635
623
|
}
|
|
636
|
-
@utility px-
|
|
637
|
-
padding-inline: var(--era-
|
|
624
|
+
@utility px-chip {
|
|
625
|
+
padding-inline: var(--era-chip-px);
|
|
638
626
|
}
|
|
639
627
|
|
|
640
|
-
/* @use text-field side padding — where typed text starts in
|
|
628
|
+
/* @use text-field side padding — where typed text starts in a control-tier input;
|
|
641
629
|
* the named form of px-(--era-field-px). */
|
|
642
630
|
@utility px-field {
|
|
643
631
|
padding-inline: var(--era-field-px);
|
|
@@ -648,21 +636,21 @@
|
|
|
648
636
|
* full content panels. Grows super-linearly with density so whitespace holds
|
|
649
637
|
* its perceived share as controls loosen. */
|
|
650
638
|
@utility p-panel {
|
|
651
|
-
padding: var(--era-pad-
|
|
639
|
+
padding: var(--era-pad-panel);
|
|
652
640
|
}
|
|
653
641
|
@utility p-card {
|
|
654
|
-
padding: var(--era-pad-
|
|
642
|
+
padding: var(--era-pad-card);
|
|
655
643
|
}
|
|
656
644
|
/* A content panel always follows a section header ROW, and that row already
|
|
657
|
-
* contributes its own slack: the heading's text sits in an h-
|
|
658
|
-
* is (h-
|
|
645
|
+
* contributes its own slack: the heading's text sits in an h-bar bar, so there
|
|
646
|
+
* is (h-bar − text)/2 of empty bar under its glyphs before the panel even
|
|
659
647
|
* starts. Padding the panel evenly on top of that spends the space twice — the
|
|
660
648
|
* header ends up floating between the section above and the paragraph it
|
|
661
649
|
* introduces rather than binding to it.
|
|
662
650
|
*
|
|
663
651
|
* So the block-start pays only the REMAINDER. The target is the indent: the
|
|
664
652
|
* space under a heading should measure the same as the space beside the text,
|
|
665
|
-
* which is --era-content-p. The header row already supplies (h-
|
|
653
|
+
* which is --era-content-p. The header row already supplies (h-bar − text)/2 of
|
|
666
654
|
* it, so the panel adds what's left, and heading-to-paragraph reads equal to
|
|
667
655
|
* the paragraph's own inset. Subtracting one --era-gap (the previous rule) left
|
|
668
656
|
* the header's slack unaccounted for and the heading still detached.
|
|
@@ -672,12 +660,12 @@
|
|
|
672
660
|
* exceed the inset outright. */
|
|
673
661
|
@utility p-content {
|
|
674
662
|
padding: var(--era-content-p);
|
|
675
|
-
padding-top: max(0px, calc(var(--era-content-p) - (var(--era-h-
|
|
663
|
+
padding-top: max(0px, calc(var(--era-content-p) - (var(--era-h-bar) - var(--era-text)) / 2));
|
|
676
664
|
}
|
|
677
665
|
|
|
678
666
|
/* @use menu-panel padding — the surface-owned inset (0 on flat, 2px on
|
|
679
667
|
* glass/bevel) that keeps row highlights inside a floating panel's frame;
|
|
680
|
-
* pairs with rounded-item on the rows. */
|
|
668
|
+
* pairs with rounded-menu-item on the rows. */
|
|
681
669
|
@utility p-menu {
|
|
682
670
|
padding: var(--era-panel-inset);
|
|
683
671
|
}
|