@iyulab/house-style 0.5.0 → 0.6.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/CHANGELOG.md +55 -0
- package/package.json +5 -5
- package/styles/components.css +78 -0
- package/styles/patterns.css +24 -119
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,60 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.6.0] - 2026-10-14
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **`u-field` as the house form row** — 40px controls (the edit-form size, with the density), the label at the label
|
|
8
|
+
step in the weak colour, the help line in the weaker colour and the error in the danger colour. Needs
|
|
9
|
+
`@iyulab/components` 2.26 (the `header` · `label` · `footer` parts).
|
|
10
|
+
|
|
11
|
+
- **`u-list-page` as the house list screen** — the filters row centred with an 8px gap, a search field
|
|
12
|
+
(`type="search"`) at 240–360px, and with `appearance="card"` a flat surface (10px radius) with a 48px toolbar and a
|
|
13
|
+
quiet pager line (12px, weak, tabular). Needs `@iyulab/enterprise` 0.33.
|
|
14
|
+
|
|
15
|
+
- **The table toolbar as the bulk-action bar** — a 48px band above the rows; while rows are selected it takes the
|
|
16
|
+
primary tint, and its title (the count, or what the list holds) sits at the dense step, semibold, in ink. On a card
|
|
17
|
+
list page the toolbar row is a `u-action-bar` with the title in `slot="summary"`, and the tint follows the page's
|
|
18
|
+
`:state(selected)` (`@iyulab/enterprise` 0.34.1); `u-rich-table` gets the same look on its own toolbar and selection
|
|
19
|
+
bar (`@iyulab/data-components` 0.50).
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Requires `@iyulab/components` 2.26.0 or later (peer range `^2.26.0`) — the `u-field` recipe styles its `header`,
|
|
24
|
+
`label` and `footer` parts.
|
|
25
|
+
|
|
26
|
+
### Deprecated
|
|
27
|
+
|
|
28
|
+
- **`.hs-filter-bar` (and `__search` · `__end`) and `.hs-chips` — use `u-list-page`** (`@iyulab/enterprise` 0.33): the
|
|
29
|
+
search and filters in `slot="filters"`, the applied chips in `slot="applied"` (it folds when empty), `__end` →
|
|
30
|
+
`margin-inline-start: auto` on the last filter. Removed in 0.7.0.
|
|
31
|
+
- **`.hs-table-card` and `.hs-pager` — use `<u-list-page appearance="card">`** with `u-pagination` in `slot="pager"`.
|
|
32
|
+
Removed in 0.7.0.
|
|
33
|
+
- **`.hs-table-toolbar` (`--selected` · `__title` · `__actions`) — use `<u-action-bar slot="toolbar">`** on a card list
|
|
34
|
+
page, the title in `slot="summary"`; the selected tint follows the page's `:state(selected)`. `u-rich-table` styles
|
|
35
|
+
its own toolbar. Removed in 0.7.0.
|
|
36
|
+
- **`.hs-field` and its parts — use `<u-field label>`** (`@iyulab/components` 2.26): `__label` → `label`, `__required`
|
|
37
|
+
→ `required`, `__help` → `description`, `__error` → `invalid` with `validation-message`. The component also names the
|
|
38
|
+
control it wraps (the class pattern relied on a wrapping `<label>`). Removed in 0.7.0.
|
|
39
|
+
- **`.hs-card` (`__head` · `__title` · `__link`) — a titled card is `<u-group-box title>`** (`@iyulab/modern-app`) with
|
|
40
|
+
the link in `slot="actions"`; an untitled surface is `<u-card>`, or `<u-group-box flush>` when the content runs to
|
|
41
|
+
the edge and holds a sticky footer (`u-card` clips its overflow). Removed in 0.7.0.
|
|
42
|
+
|
|
43
|
+
### Removed
|
|
44
|
+
|
|
45
|
+
- The 0.5.0 deprecations: `.hs-callout` and its parts (use `<u-alert inline open>`), `.hs-views` / `.hs-views__tab`
|
|
46
|
+
and `.hs-count` (use `<u-tab-nav>` with `<u-tab href count>`), a whole card as a link — `a.hs-card` and
|
|
47
|
+
`.hs-card--link` (use `<u-card href>`) — and `.hs-attr` (use `<u-tag size="sm" appearance="outlined">`).
|
|
48
|
+
|
|
49
|
+
### Guide
|
|
50
|
+
|
|
51
|
+
- The edit form's fields are `u-field`.
|
|
52
|
+
- The table toolbar is a `u-action-bar` with the title in `slot="summary"`; the raw table speaks `selection-change`, so
|
|
53
|
+
the toolbar turns into the bulk-action bar while a row is selected.
|
|
54
|
+
- The brand swatches are `u-card`s and the edit form sits in a `u-group-box flush`.
|
|
55
|
+
- The list screen is a `u-list-page appearance="card"` — filters, an applied chip, the toolbar, the table and a
|
|
56
|
+
`u-pagination`.
|
|
57
|
+
|
|
3
58
|
## [0.5.0] - 2026-10-14
|
|
4
59
|
|
|
5
60
|
### Added
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iyulab/house-style",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "The iyulab house theme: a CSS-only theme for @iyulab components — tokens, component recipes, line-of-business layout patterns and a Tailwind CSS v4 preset — plus the guide site that documents it.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"pretendard": "^1.3.9"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
|
-
"@iyulab/components": "^2.
|
|
61
|
+
"@iyulab/components": "^2.26.0",
|
|
62
62
|
"@iyulab/flex-table": ">=0.41.0",
|
|
63
63
|
"@iyulab/modern-app": ">=0.39.0"
|
|
64
64
|
},
|
|
@@ -71,9 +71,9 @@
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"@iyulab/components": "^2.
|
|
75
|
-
"@iyulab/data-components": "^0.
|
|
76
|
-
"@iyulab/enterprise": "^0.
|
|
74
|
+
"@iyulab/components": "^2.26.0",
|
|
75
|
+
"@iyulab/data-components": "^0.50.0",
|
|
76
|
+
"@iyulab/enterprise": "^0.34.1",
|
|
77
77
|
"@iyulab/flex-table": "^0.67.0",
|
|
78
78
|
"@iyulab/modern-app": "^0.54.0",
|
|
79
79
|
"@iyulab/router": "^0.24.0",
|
package/styles/components.css
CHANGED
|
@@ -147,6 +147,84 @@ u-tag[size='sm'] {
|
|
|
147
147
|
--tag-gap: 4px;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
+
/* ── Field — a labelled field is a form row: 40px controls (the side-sheet and edit-form size; toolbars keep 32px
|
|
151
|
+
* with unlabelled controls), the label at the label step in the weak colour, the help line in the weaker colour.
|
|
152
|
+
* A control's own size wins (`size="sm"` / `"lg"` set the padding on the control itself). ── */
|
|
153
|
+
u-field {
|
|
154
|
+
--u-field-padding-block: calc(8.5em / 14); /* 14px: 21 + 17 + 2 = 40 — and with the density */
|
|
155
|
+
}
|
|
156
|
+
u-field::part(header) {
|
|
157
|
+
margin-bottom: 6px;
|
|
158
|
+
font-size: var(--u-text-label-size, 12px);
|
|
159
|
+
}
|
|
160
|
+
u-field::part(label) {
|
|
161
|
+
line-height: 16px;
|
|
162
|
+
font-weight: 500;
|
|
163
|
+
color: var(--u-txt-color-weak);
|
|
164
|
+
}
|
|
165
|
+
u-field::part(footer) {
|
|
166
|
+
margin-top: 6px;
|
|
167
|
+
font-size: var(--u-text-caption-size, 12px);
|
|
168
|
+
line-height: 18px;
|
|
169
|
+
color: var(--u-txt-color-weaker);
|
|
170
|
+
}
|
|
171
|
+
u-field[invalid]::part(footer) {
|
|
172
|
+
color: var(--u-danger-color-strong);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* ── List page (`@iyulab/enterprise`) — the list screen: filters on one centred row with an 8px gap and a search field
|
|
176
|
+
* that takes 240–360px, applied chips below, and with `appearance="card"` toolbar · table · pager on one flat
|
|
177
|
+
* surface (the toolbar row draws its own 48px band, a quiet pager line). ── */
|
|
178
|
+
u-list-page::part(filters) {
|
|
179
|
+
align-items: center;
|
|
180
|
+
gap: var(--u-space-sm, 8px);
|
|
181
|
+
}
|
|
182
|
+
u-list-page > u-input[slot='filters'][type='search'] {
|
|
183
|
+
flex: 0 1 360px;
|
|
184
|
+
min-width: 240px;
|
|
185
|
+
}
|
|
186
|
+
u-list-page[appearance='card']::part(surface) {
|
|
187
|
+
border-radius: var(--u-radius-xl, 10px);
|
|
188
|
+
background-color: var(--u-bg-color);
|
|
189
|
+
}
|
|
190
|
+
u-list-page[appearance='card']::part(pager) {
|
|
191
|
+
font-size: var(--u-text-label-size, 12px);
|
|
192
|
+
color: var(--u-txt-color-weak);
|
|
193
|
+
font-variant-numeric: tabular-nums;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/* ── Table toolbar — a 48px band above the rows; while rows are selected it is the bulk-action bar: the primary tint,
|
|
197
|
+
* and its title (the count, or what the list holds) at the dense step, semibold, in ink. On a card list page the
|
|
198
|
+
* toolbar row is a `u-action-bar` with its title in `slot="summary"`; the tint follows the page's
|
|
199
|
+
* `:state(selected)` (the visible view's selection, `@iyulab/enterprise` 0.34). `u-rich-table` draws its own
|
|
200
|
+
* toolbar and selection bar (`@iyulab/data-components` 0.50). ── */
|
|
201
|
+
u-list-page[appearance='card'] > u-action-bar[slot='toolbar'] {
|
|
202
|
+
--action-bar-padding-inline: var(--u-space-md, 12px);
|
|
203
|
+
box-sizing: border-box;
|
|
204
|
+
min-height: 48px;
|
|
205
|
+
padding-block: var(--u-space-sm, 8px);
|
|
206
|
+
}
|
|
207
|
+
u-list-page[appearance='card'] > u-action-bar[slot='toolbar']::part(summary) {
|
|
208
|
+
font-size: var(--hs-text-dense-size, 13px);
|
|
209
|
+
font-weight: 600;
|
|
210
|
+
color: var(--u-txt-color);
|
|
211
|
+
}
|
|
212
|
+
u-list-page[appearance='card']:state(selected)::part(toolbar),
|
|
213
|
+
u-rich-table:state(selected)::part(toolbar),
|
|
214
|
+
u-rich-table:state(selected)::part(selection-bar) {
|
|
215
|
+
background-color: var(--u-primary-bg-color);
|
|
216
|
+
}
|
|
217
|
+
u-rich-table::part(toolbar),
|
|
218
|
+
u-rich-table::part(selection-bar) {
|
|
219
|
+
box-sizing: border-box;
|
|
220
|
+
min-height: 48px;
|
|
221
|
+
}
|
|
222
|
+
u-rich-table::part(selection-info) {
|
|
223
|
+
font-size: var(--hs-text-dense-size, 13px);
|
|
224
|
+
font-weight: 600;
|
|
225
|
+
color: var(--u-txt-color);
|
|
226
|
+
}
|
|
227
|
+
|
|
150
228
|
/* ── Tab strip of links (saved views) — ink, not blue: the current view is ink text with an ink underline,
|
|
151
229
|
* at the dense text step. ── */
|
|
152
230
|
u-tab-nav {
|
package/styles/patterns.css
CHANGED
|
@@ -35,64 +35,11 @@
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
/* ──
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
.hs-views {
|
|
44
|
-
display: flex;
|
|
45
|
-
gap: var(--u-space-2xs, 4px);
|
|
46
|
-
/* The base line is an inset shadow, not a border: a tab's 2px underline paints over it without the tab
|
|
47
|
-
reaching past the box — with a border and a -1px tab margin the scroll container overflowed by 1px and
|
|
48
|
-
drew a vertical scrollbar beside the tabs. */
|
|
49
|
-
box-shadow: inset 0 -1px 0 var(--u-border-color);
|
|
50
|
-
overflow-x: auto;
|
|
51
|
-
}
|
|
52
|
-
.hs-views__tab {
|
|
53
|
-
display: inline-flex;
|
|
54
|
-
align-items: center;
|
|
55
|
-
gap: 6px;
|
|
56
|
-
padding: var(--u-space-sm, 8px) var(--u-space-md, 12px);
|
|
57
|
-
border: 0;
|
|
58
|
-
border-bottom: 2px solid transparent;
|
|
59
|
-
background: none;
|
|
60
|
-
font: inherit;
|
|
61
|
-
font-size: var(--hs-text-dense-size, 13px);
|
|
62
|
-
line-height: 20px;
|
|
63
|
-
color: var(--u-txt-color-weak);
|
|
64
|
-
text-decoration: none; /* a tab may be a link (`aria-current="page"`) */
|
|
65
|
-
white-space: nowrap;
|
|
66
|
-
cursor: pointer;
|
|
67
|
-
}
|
|
68
|
-
.hs-views__tab:hover {
|
|
69
|
-
color: var(--u-txt-color);
|
|
70
|
-
}
|
|
71
|
-
.hs-views__tab[aria-selected='true'],
|
|
72
|
-
.hs-views__tab[aria-current='page'] {
|
|
73
|
-
color: var(--u-txt-color);
|
|
74
|
-
border-bottom-color: var(--u-txt-color);
|
|
75
|
-
font-weight: 600;
|
|
76
|
-
}
|
|
77
|
-
.hs-views__tab:focus-visible {
|
|
78
|
-
outline: 2px solid var(--u-focus-ring-color);
|
|
79
|
-
outline-offset: -2px;
|
|
80
|
-
}
|
|
81
|
-
.hs-count {
|
|
82
|
-
display: inline-block;
|
|
83
|
-
min-width: 20px;
|
|
84
|
-
padding: 0 6px;
|
|
85
|
-
border-radius: var(--u-radius-pill, 9999px);
|
|
86
|
-
background: var(--u-bg-color-raised);
|
|
87
|
-
color: var(--u-txt-color-weak);
|
|
88
|
-
font-size: var(--u-text-overline-size, 11px);
|
|
89
|
-
line-height: 16px;
|
|
90
|
-
font-weight: 500;
|
|
91
|
-
text-align: center;
|
|
92
|
-
font-variant-numeric: tabular-nums;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/* ── Filter bar — search · up to three key filters · "Filters" panel · applied chips ── */
|
|
38
|
+
/* ── Filter bar — search · up to three key filters · "Filters" panel · applied chips ──
|
|
39
|
+
* @deprecated Use `u-list-page` (`@iyulab/enterprise` 0.33): the search and filters in `slot="filters"` (the house
|
|
40
|
+
* gives a search field 240–360px and centres the row — `components.css`), the applied chips (`u-chip removable`) in
|
|
41
|
+
* `slot="applied"`, which folds when empty. `__end` → `style="margin-inline-start: auto"` on the last filter.
|
|
42
|
+
* `.hs-chips` goes with it. remove: 0.7.0 */
|
|
96
43
|
.hs-filter-bar {
|
|
97
44
|
display: flex;
|
|
98
45
|
flex-wrap: wrap;
|
|
@@ -117,7 +64,13 @@
|
|
|
117
64
|
}
|
|
118
65
|
|
|
119
66
|
|
|
120
|
-
/* ── Table card — toolbar · table · pager on one surface ────────────────
|
|
67
|
+
/* ── Table card — toolbar · table · pager on one surface ────────────────
|
|
68
|
+
* @deprecated `.hs-table-card` and `.hs-pager`: use `<u-list-page appearance="card">` (`@iyulab/enterprise` 0.33) —
|
|
69
|
+
* the toolbar, view and pager regions on one surface with lines between them, and `u-pagination` in `slot="pager"`.
|
|
70
|
+
* @deprecated `.hs-table-toolbar` (`--selected` · `__title` · `__actions`): on a card list page use
|
|
71
|
+
* `<u-action-bar slot="toolbar">` with the title in `slot="summary"` — the house recipe gives it the 48px band and the
|
|
72
|
+
* selected tint follows the page's `:state(selected)` (`@iyulab/enterprise` 0.34); `u-rich-table` styles its own toolbar
|
|
73
|
+
* (`@iyulab/data-components` 0.50). remove: 0.7.0 */
|
|
121
74
|
.hs-table-card {
|
|
122
75
|
background: var(--u-bg-color);
|
|
123
76
|
border: 1px solid var(--u-border-color);
|
|
@@ -143,6 +96,10 @@
|
|
|
143
96
|
.hs-table-toolbar--selected {
|
|
144
97
|
background: var(--u-primary-bg-color);
|
|
145
98
|
}
|
|
99
|
+
/* In a `u-list-page appearance="card"` toolbar the region draws the line below. */
|
|
100
|
+
u-list-page > .hs-table-toolbar {
|
|
101
|
+
border-bottom: 0;
|
|
102
|
+
}
|
|
146
103
|
.hs-table-toolbar__title {
|
|
147
104
|
font-size: var(--hs-text-dense-size, 13px);
|
|
148
105
|
font-weight: 600;
|
|
@@ -251,7 +208,10 @@ tr[aria-selected='true'] .hs-row-actions {
|
|
|
251
208
|
.hs-row-actions { display: none; }
|
|
252
209
|
}
|
|
253
210
|
|
|
254
|
-
/* ── Card — a titled surface for detail panels and dashboards ───────────
|
|
211
|
+
/* ── Card — a titled surface for detail panels and dashboards ───────────
|
|
212
|
+
* @deprecated `.hs-card` (`__head` · `__title` · `__link`): a titled card is `<u-group-box title>` (`@iyulab/modern-app`)
|
|
213
|
+
* with the link in `slot="actions"`; an untitled surface is `<u-card>` (`@iyulab/components`), or `<u-group-box flush>`
|
|
214
|
+
* when its content runs to the edge and holds a sticky footer (`u-card` clips its overflow). remove: 0.7.0 */
|
|
255
215
|
.hs-card {
|
|
256
216
|
background: var(--u-bg-color);
|
|
257
217
|
border: 1px solid var(--u-border-color);
|
|
@@ -279,17 +239,6 @@ tr[aria-selected='true'] .hs-row-actions {
|
|
|
279
239
|
text-decoration: none;
|
|
280
240
|
}
|
|
281
241
|
.hs-card__link:hover { text-decoration: underline; }
|
|
282
|
-
/* @deprecated A whole card as a link: use `<u-card href>` (`@iyulab/components` 2.25) — the outer box is the link,
|
|
283
|
-
the border carries hover and the card does not lift. remove: 0.6.0 */
|
|
284
|
-
a.hs-card,
|
|
285
|
-
.hs-card--link { cursor: pointer; transition: border-color 0.12s ease-out; }
|
|
286
|
-
/* A whole card as a link reads as a card: ink text, no underline — the border carries hover. */
|
|
287
|
-
a.hs-card { color: inherit; text-decoration: none; }
|
|
288
|
-
a.hs-card:hover,
|
|
289
|
-
.hs-card--link:hover { border-color: var(--u-border-color-strong); }
|
|
290
|
-
@media (prefers-reduced-motion: reduce) {
|
|
291
|
-
a.hs-card, .hs-card--link { transition: none; }
|
|
292
|
-
}
|
|
293
242
|
|
|
294
243
|
/* Description list — label / value pairs inside a card. */
|
|
295
244
|
.hs-dl {
|
|
@@ -327,38 +276,6 @@ a.hs-card:hover,
|
|
|
327
276
|
align-items: start;
|
|
328
277
|
}
|
|
329
278
|
|
|
330
|
-
/* ── Callout — a conclusion in the title, two lines of body at most ──────
|
|
331
|
-
* @deprecated Use `<u-alert inline open>` (`@iyulab/components` 2.25) — `status` for the tone, `title` for the
|
|
332
|
-
* conclusion, the body as content, actions in `slot="footer"`, and `slot="icon"` for a note's pencil; a note is a
|
|
333
|
-
* neutral alert with `role="note"`. The house lays the footer out as the right-hand action column
|
|
334
|
-
* (`components.css`). remove: 0.6.0
|
|
335
|
-
* No thick coloured edge: an icon and a tint carry the tone. `--note` is a person's note
|
|
336
|
-
* (a remark on a record), not a warning — it is neutral on purpose. */
|
|
337
|
-
.hs-callout {
|
|
338
|
-
display: grid;
|
|
339
|
-
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
340
|
-
gap: var(--u-space-md, 12px);
|
|
341
|
-
align-items: start;
|
|
342
|
-
padding: var(--u-space-md, 12px) var(--u-space-lg, 16px);
|
|
343
|
-
border-radius: var(--u-radius-xl, 10px);
|
|
344
|
-
background: var(--u-bg-color-raised);
|
|
345
|
-
font-size: var(--hs-text-dense-size, 13px);
|
|
346
|
-
line-height: 20px;
|
|
347
|
-
}
|
|
348
|
-
.hs-callout__icon { color: var(--u-txt-color-weak); line-height: 20px; }
|
|
349
|
-
.hs-callout__title { font-weight: 600; color: var(--u-txt-color); }
|
|
350
|
-
.hs-callout__body { color: var(--u-txt-color-weak); }
|
|
351
|
-
.hs-callout__actions { display: flex; gap: var(--u-space-sm, 8px); align-items: center; }
|
|
352
|
-
.hs-callout--info { background: var(--u-info-bg-color); }
|
|
353
|
-
.hs-callout--info .hs-callout__icon { color: var(--u-info-color-strong); }
|
|
354
|
-
.hs-callout--success { background: var(--u-success-bg-color); }
|
|
355
|
-
.hs-callout--success .hs-callout__icon { color: var(--u-success-color-strong); }
|
|
356
|
-
.hs-callout--warning { background: var(--u-warning-bg-color); }
|
|
357
|
-
.hs-callout--warning .hs-callout__icon { color: var(--u-warning-color-strong); }
|
|
358
|
-
.hs-callout--danger { background: var(--u-danger-bg-color); }
|
|
359
|
-
.hs-callout--danger .hs-callout__icon { color: var(--u-danger-color-strong); }
|
|
360
|
-
.hs-callout--note { background: var(--u-bg-color-raised); }
|
|
361
|
-
|
|
362
279
|
/* ── Form — label above, help below; sections instead of one long grid ── */
|
|
363
280
|
.hs-fieldset {
|
|
364
281
|
margin: 0;
|
|
@@ -388,6 +305,10 @@ a.hs-card:hover,
|
|
|
388
305
|
clear: both;
|
|
389
306
|
margin-top: 0;
|
|
390
307
|
}
|
|
308
|
+
/* @deprecated Use `<u-field label>` (`@iyulab/components` 2.26) — `label`, `required`, `description` for the help line
|
|
309
|
+
and `invalid` + `validation-message` for the error; it names the control it wraps and fills the cell. The house
|
|
310
|
+
draws it this way (`components.css`: 40px controls, label and help steps). `.hs-field__label` · `__required` ·
|
|
311
|
+
`__help` · `__error` go with it. remove: 0.7.0 */
|
|
391
312
|
.hs-field {
|
|
392
313
|
display: grid;
|
|
393
314
|
gap: 6px;
|
|
@@ -443,22 +364,6 @@ a.hs-card:hover,
|
|
|
443
364
|
|
|
444
365
|
|
|
445
366
|
/* ── Small marks ───────────────────────────────────────────────────────── */
|
|
446
|
-
/* A quiet attribute label next to an identifier (not a status — no colour).
|
|
447
|
-
@deprecated Use `<u-tag size="sm" appearance="outlined">` (`@iyulab/components` 2.25). remove: 0.6.0 */
|
|
448
|
-
.hs-attr {
|
|
449
|
-
display: inline-flex;
|
|
450
|
-
align-items: center;
|
|
451
|
-
height: 18px;
|
|
452
|
-
padding: 0 5px;
|
|
453
|
-
border: 1px solid var(--u-border-color);
|
|
454
|
-
border-radius: var(--u-radius-md, 4px);
|
|
455
|
-
font-size: var(--u-text-overline-size, 11px);
|
|
456
|
-
line-height: 16px;
|
|
457
|
-
font-weight: 500;
|
|
458
|
-
color: var(--u-txt-color-weak);
|
|
459
|
-
white-space: nowrap;
|
|
460
|
-
vertical-align: middle;
|
|
461
|
-
}
|
|
462
367
|
/* Days left: neutral, soon (warning), overdue (danger). */
|
|
463
368
|
.hs-due {
|
|
464
369
|
display: inline-flex;
|