@crisp-ui-kit/crisp 0.55.4 → 0.55.5
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/cjs/components/datatable/datatable.recipe.js +8 -1
- package/dist/cjs/components/table/table.recipe.js +17 -0
- package/dist/datatable.css +7 -2
- package/dist/datatable.layered.css +7 -2
- package/dist/esm/components/datatable/datatable.recipe.js +8 -1
- package/dist/esm/components/table/table.recipe.js +17 -0
- package/dist/styles.css +19 -2
- package/dist/styles.layered.css +19 -2
- package/dist/table.css +12 -0
- package/dist/table.layered.css +12 -0
- package/package.json +1 -1
|
@@ -282,7 +282,14 @@ const config = (0, core_1.defineRecipe)({
|
|
|
282
282
|
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text
|
|
283
283
|
colour. The previous :hover-gated, full-contrast rule here was itself
|
|
284
284
|
unmeasured and wrong in two ways at once. */
|
|
285
|
-
|
|
285
|
+
/* crisp#851 -- Attio's own entity/record names are measured at
|
|
286
|
+
font-weight 500, distinct from a plain-text primary column's 400
|
|
287
|
+
(table.recipe.ts's own \`tbody th\` default). This was never its own
|
|
288
|
+
explicit style -- it silently rode on a since-fixed header-rule leak
|
|
289
|
+
(#833/#835/#848) that happened to apply the same 500 to every
|
|
290
|
+
primary-column body cell regardless of type. Made explicit here so
|
|
291
|
+
fixing that leak doesn't also (wrongly) drop entity names to 400. */
|
|
292
|
+
& .crisp-datatable-entity-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: ${tokens_1.contract.weight.medium}; text-decoration: underline; text-decoration-color: color-mix(in srgb, ${tokens_1.contract.fgPrimary} 9%, transparent); }
|
|
286
293
|
& button.crisp-datatable-entity-name--link { margin: 0; padding: 0; border: none; background: none; font: inherit; color: inherit; letter-spacing: inherit; text-align: start; cursor: pointer; max-width: 100%; }
|
|
287
294
|
/* crisp/#601, G-048: two 20px ghost icons, right-aligned in the primary
|
|
288
295
|
column, revealed on ROW hover (the issue's own title says "row
|
|
@@ -48,6 +48,23 @@ const config = (0, core_1.defineRecipe)({
|
|
|
48
48
|
\`& table\`'s own color) applies to it like every other cell. */
|
|
49
49
|
& thead th { position: sticky; top: 0; z-index: 2; height: ${tokens_1.contract.size.tableHeader}; background: ${tokens_1.contract.bgSurface}; border-top: 1px solid ${tokens_1.contract.borderSubtle}; font-size: ${tokens_1.contract.text.lg}; font-weight: ${tokens_1.contract.weight.medium}; letter-spacing: -0.14px; color: ${tokens_1.contract.fgPrimary}; user-select: none; }
|
|
50
50
|
& td { color: ${tokens_1.contract.fgPrimary}; background: ${tokens_1.contract.bgSurface}; }
|
|
51
|
+
/* crisp#851 -- a REGRESSION from #833/#835/#848's own fix: scoping the
|
|
52
|
+
header rule above to \`thead th\` correctly stopped it leaking onto
|
|
53
|
+
the primary column's body cell (a real \`<th scope="row">\` since
|
|
54
|
+
#779), but that same leaked rule's \`font-weight: ${tokens_1.contract.weight.medium}\`
|
|
55
|
+
was the ONLY thing overriding the browser's own UA stylesheet default
|
|
56
|
+
for \`<th>\` (\`font-weight: bold; text-align: center\`) on that cell --
|
|
57
|
+
once the leak stopped, a plain-text primary column fell through to
|
|
58
|
+
bold+centred instead of matching its sibling \`<td>\`s (\`400\`/start,
|
|
59
|
+
Attio's own plain-text primary cell). \`text-align\` was already safe
|
|
60
|
+
(the base \`& th, & td\` rule's own \`text-align: start\` above is
|
|
61
|
+
author-origin and always beats the UA stylesheet regardless of
|
|
62
|
+
specificity) but is restated here explicitly, defensively -- cheap,
|
|
63
|
+
and removes any doubt. \`type: "entity"\` primary columns are a
|
|
64
|
+
separate case (Attio's own entity/record names are 500, not 400) --
|
|
65
|
+
see \`.crisp-datatable-entity-name\`'s own new explicit weight in
|
|
66
|
+
datatable.recipe.ts, which wins here by class specificity. */
|
|
67
|
+
& tbody th { font-weight: ${tokens_1.contract.weight.regular}; text-align: start; }
|
|
51
68
|
& th:last-child, & td:last-child { border-inline-end: none; }
|
|
52
69
|
& tbody tr:last-child td { border-bottom: none; }
|
|
53
70
|
/* #554: sticky to the bottom, mirroring \`.crisp-recordstable-sum\`. */
|
package/dist/datatable.css
CHANGED
|
@@ -192,8 +192,13 @@
|
|
|
192
192
|
& .crisp-datatable-cell-actions-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); min-width: 0; width: 100%; }
|
|
193
193
|
/* crisp/#601, G-050: measured LIVE (getComputedStyle on the name text, plain hover vs rest) that Attio's underline is unconditional, not a
|
|
194
194
|
hover reveal -- identical at rest and on hover: text-decoration-color
|
|
195
|
-
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text colour. The previous :hover-gated, full-contrast rule here was itself unmeasured and wrong in two ways at once. */
|
|
196
|
-
|
|
195
|
+
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text colour. The previous :hover-gated, full-contrast rule here was itself unmeasured and wrong in two ways at once. */ /* crisp#851 -- Attio's own entity/record names are measured at
|
|
196
|
+
font-weight 500, distinct from a plain-text primary column's 400 (table.recipe.ts's own `tbody th` default). This was never its own
|
|
197
|
+
explicit style -- it silently rode on a since-fixed header-rule leak
|
|
198
|
+
(#833/#835/#848) that happened to apply the same 500 to every
|
|
199
|
+
primary-column body cell regardless of type. Made explicit here so
|
|
200
|
+
fixing that leak doesn't also (wrongly) drop entity names to 400. */
|
|
201
|
+
& .crisp-datatable-entity-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--crisp-weight-medium); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--crisp-fg-primary) 9%, transparent); }
|
|
197
202
|
& button.crisp-datatable-entity-name--link { margin: 0; padding: 0; border: none; background: none; font: inherit; color: inherit; letter-spacing: inherit; text-align: start; cursor: pointer; max-width: 100%; }
|
|
198
203
|
/* crisp/#601, G-048: two 20px ghost icons, right-aligned in the primary column, revealed on ROW hover (the issue's own title says "row
|
|
199
204
|
hover", and a live check confirmed hovering well past the name --
|
|
@@ -193,8 +193,13 @@
|
|
|
193
193
|
& .crisp-datatable-cell-actions-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); min-width: 0; width: 100%; }
|
|
194
194
|
/* crisp/#601, G-050: measured LIVE (getComputedStyle on the name text, plain hover vs rest) that Attio's underline is unconditional, not a
|
|
195
195
|
hover reveal -- identical at rest and on hover: text-decoration-color
|
|
196
|
-
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text colour. The previous :hover-gated, full-contrast rule here was itself unmeasured and wrong in two ways at once. */
|
|
197
|
-
|
|
196
|
+
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text colour. The previous :hover-gated, full-contrast rule here was itself unmeasured and wrong in two ways at once. */ /* crisp#851 -- Attio's own entity/record names are measured at
|
|
197
|
+
font-weight 500, distinct from a plain-text primary column's 400 (table.recipe.ts's own `tbody th` default). This was never its own
|
|
198
|
+
explicit style -- it silently rode on a since-fixed header-rule leak
|
|
199
|
+
(#833/#835/#848) that happened to apply the same 500 to every
|
|
200
|
+
primary-column body cell regardless of type. Made explicit here so
|
|
201
|
+
fixing that leak doesn't also (wrongly) drop entity names to 400. */
|
|
202
|
+
& .crisp-datatable-entity-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--crisp-weight-medium); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--crisp-fg-primary) 9%, transparent); }
|
|
198
203
|
& button.crisp-datatable-entity-name--link { margin: 0; padding: 0; border: none; background: none; font: inherit; color: inherit; letter-spacing: inherit; text-align: start; cursor: pointer; max-width: 100%; }
|
|
199
204
|
/* crisp/#601, G-048: two 20px ghost icons, right-aligned in the primary column, revealed on ROW hover (the issue's own title says "row
|
|
200
205
|
hover", and a live check confirmed hovering well past the name --
|
|
@@ -279,7 +279,14 @@ const config = defineRecipe({
|
|
|
279
279
|
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text
|
|
280
280
|
colour. The previous :hover-gated, full-contrast rule here was itself
|
|
281
281
|
unmeasured and wrong in two ways at once. */
|
|
282
|
-
|
|
282
|
+
/* crisp#851 -- Attio's own entity/record names are measured at
|
|
283
|
+
font-weight 500, distinct from a plain-text primary column's 400
|
|
284
|
+
(table.recipe.ts's own \`tbody th\` default). This was never its own
|
|
285
|
+
explicit style -- it silently rode on a since-fixed header-rule leak
|
|
286
|
+
(#833/#835/#848) that happened to apply the same 500 to every
|
|
287
|
+
primary-column body cell regardless of type. Made explicit here so
|
|
288
|
+
fixing that leak doesn't also (wrongly) drop entity names to 400. */
|
|
289
|
+
& .crisp-datatable-entity-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: ${c.weight.medium}; text-decoration: underline; text-decoration-color: color-mix(in srgb, ${c.fgPrimary} 9%, transparent); }
|
|
283
290
|
& button.crisp-datatable-entity-name--link { margin: 0; padding: 0; border: none; background: none; font: inherit; color: inherit; letter-spacing: inherit; text-align: start; cursor: pointer; max-width: 100%; }
|
|
284
291
|
/* crisp/#601, G-048: two 20px ghost icons, right-aligned in the primary
|
|
285
292
|
column, revealed on ROW hover (the issue's own title says "row
|
|
@@ -45,6 +45,23 @@ const config = defineRecipe({
|
|
|
45
45
|
\`& table\`'s own color) applies to it like every other cell. */
|
|
46
46
|
& thead th { position: sticky; top: 0; z-index: 2; height: ${c.size.tableHeader}; background: ${c.bgSurface}; border-top: 1px solid ${c.borderSubtle}; font-size: ${c.text.lg}; font-weight: ${c.weight.medium}; letter-spacing: -0.14px; color: ${c.fgPrimary}; user-select: none; }
|
|
47
47
|
& td { color: ${c.fgPrimary}; background: ${c.bgSurface}; }
|
|
48
|
+
/* crisp#851 -- a REGRESSION from #833/#835/#848's own fix: scoping the
|
|
49
|
+
header rule above to \`thead th\` correctly stopped it leaking onto
|
|
50
|
+
the primary column's body cell (a real \`<th scope="row">\` since
|
|
51
|
+
#779), but that same leaked rule's \`font-weight: ${c.weight.medium}\`
|
|
52
|
+
was the ONLY thing overriding the browser's own UA stylesheet default
|
|
53
|
+
for \`<th>\` (\`font-weight: bold; text-align: center\`) on that cell --
|
|
54
|
+
once the leak stopped, a plain-text primary column fell through to
|
|
55
|
+
bold+centred instead of matching its sibling \`<td>\`s (\`400\`/start,
|
|
56
|
+
Attio's own plain-text primary cell). \`text-align\` was already safe
|
|
57
|
+
(the base \`& th, & td\` rule's own \`text-align: start\` above is
|
|
58
|
+
author-origin and always beats the UA stylesheet regardless of
|
|
59
|
+
specificity) but is restated here explicitly, defensively -- cheap,
|
|
60
|
+
and removes any doubt. \`type: "entity"\` primary columns are a
|
|
61
|
+
separate case (Attio's own entity/record names are 500, not 400) --
|
|
62
|
+
see \`.crisp-datatable-entity-name\`'s own new explicit weight in
|
|
63
|
+
datatable.recipe.ts, which wins here by class specificity. */
|
|
64
|
+
& tbody th { font-weight: ${c.weight.regular}; text-align: start; }
|
|
48
65
|
& th:last-child, & td:last-child { border-inline-end: none; }
|
|
49
66
|
& tbody tr:last-child td { border-bottom: none; }
|
|
50
67
|
/* #554: sticky to the bottom, mirroring \`.crisp-recordstable-sum\`. */
|
package/dist/styles.css
CHANGED
|
@@ -801,8 +801,13 @@
|
|
|
801
801
|
& .crisp-datatable-cell-actions-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); min-width: 0; width: 100%; }
|
|
802
802
|
/* crisp/#601, G-050: measured LIVE (getComputedStyle on the name text, plain hover vs rest) that Attio's underline is unconditional, not a
|
|
803
803
|
hover reveal -- identical at rest and on hover: text-decoration-color
|
|
804
|
-
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text colour. The previous :hover-gated, full-contrast rule here was itself unmeasured and wrong in two ways at once. */
|
|
805
|
-
|
|
804
|
+
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text colour. The previous :hover-gated, full-contrast rule here was itself unmeasured and wrong in two ways at once. */ /* crisp#851 -- Attio's own entity/record names are measured at
|
|
805
|
+
font-weight 500, distinct from a plain-text primary column's 400 (table.recipe.ts's own `tbody th` default). This was never its own
|
|
806
|
+
explicit style -- it silently rode on a since-fixed header-rule leak
|
|
807
|
+
(#833/#835/#848) that happened to apply the same 500 to every
|
|
808
|
+
primary-column body cell regardless of type. Made explicit here so
|
|
809
|
+
fixing that leak doesn't also (wrongly) drop entity names to 400. */
|
|
810
|
+
& .crisp-datatable-entity-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--crisp-weight-medium); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--crisp-fg-primary) 9%, transparent); }
|
|
806
811
|
& button.crisp-datatable-entity-name--link { margin: 0; padding: 0; border: none; background: none; font: inherit; color: inherit; letter-spacing: inherit; text-align: start; cursor: pointer; max-width: 100%; }
|
|
807
812
|
/* crisp/#601, G-048: two 20px ghost icons, right-aligned in the primary column, revealed on ROW hover (the issue's own title says "row
|
|
808
813
|
hover", and a live check confirmed hovering well past the name --
|
|
@@ -1902,6 +1907,18 @@
|
|
|
1902
1907
|
row's own grid line. `thead th` simply never matches `tbody th[scope=row]` at all, so none of this reaches it; the base `& th, & td` rule above (36px, one border-bottom, full opacity via `& table`'s own color) applies to it like every other cell. */
|
|
1903
1908
|
& thead th { position: sticky; top: 0; z-index: 2; height: var(--crisp-size-tableHeader); background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); letter-spacing: -0.14px; color: var(--crisp-fg-primary); user-select: none; }
|
|
1904
1909
|
& td { color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); }
|
|
1910
|
+
/* crisp#851 -- a REGRESSION from #833/#835/#848's own fix: scoping the header rule above to `thead th` correctly stopped it leaking onto the primary column's body cell (a real `<th scope="row">` since
|
|
1911
|
+
#779), but that same leaked rule's `font-weight: var(--crisp-weight-medium)` was the ONLY thing overriding the browser's own UA stylesheet default
|
|
1912
|
+
for `<th>` (`font-weight: bold; text-align: center`) on that cell --
|
|
1913
|
+
once the leak stopped, a plain-text primary column fell through to
|
|
1914
|
+
bold+centred instead of matching its sibling `<td>`s (`400`/start,
|
|
1915
|
+
Attio's own plain-text primary cell). `text-align` was already safe (the base `& th, & td` rule's own `text-align: start` above is
|
|
1916
|
+
author-origin and always beats the UA stylesheet regardless of
|
|
1917
|
+
specificity) but is restated here explicitly, defensively -- cheap,
|
|
1918
|
+
and removes any doubt. `type: "entity"` primary columns are a
|
|
1919
|
+
separate case (Attio's own entity/record names are 500, not 400) -- see `.crisp-datatable-entity-name`'s own new explicit weight in
|
|
1920
|
+
datatable.recipe.ts, which wins here by class specificity. */
|
|
1921
|
+
& tbody th { font-weight: var(--crisp-weight-regular); text-align: start; }
|
|
1905
1922
|
& th:last-child, & td:last-child { border-inline-end: none; }
|
|
1906
1923
|
& tbody tr:last-child td { border-bottom: none; }
|
|
1907
1924
|
/* #554: sticky to the bottom, mirroring `.crisp-recordstable-sum`. */
|
package/dist/styles.layered.css
CHANGED
|
@@ -802,8 +802,13 @@
|
|
|
802
802
|
& .crisp-datatable-cell-actions-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); min-width: 0; width: 100%; }
|
|
803
803
|
/* crisp/#601, G-050: measured LIVE (getComputedStyle on the name text, plain hover vs rest) that Attio's underline is unconditional, not a
|
|
804
804
|
hover reveal -- identical at rest and on hover: text-decoration-color
|
|
805
|
-
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text colour. The previous :hover-gated, full-contrast rule here was itself unmeasured and wrong in two ways at once. */
|
|
806
|
-
|
|
805
|
+
is rgba(0,0,0,0.09), a 9% tint, not the name's own full-contrast text colour. The previous :hover-gated, full-contrast rule here was itself unmeasured and wrong in two ways at once. */ /* crisp#851 -- Attio's own entity/record names are measured at
|
|
806
|
+
font-weight 500, distinct from a plain-text primary column's 400 (table.recipe.ts's own `tbody th` default). This was never its own
|
|
807
|
+
explicit style -- it silently rode on a since-fixed header-rule leak
|
|
808
|
+
(#833/#835/#848) that happened to apply the same 500 to every
|
|
809
|
+
primary-column body cell regardless of type. Made explicit here so
|
|
810
|
+
fixing that leak doesn't also (wrongly) drop entity names to 400. */
|
|
811
|
+
& .crisp-datatable-entity-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--crisp-weight-medium); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--crisp-fg-primary) 9%, transparent); }
|
|
807
812
|
& button.crisp-datatable-entity-name--link { margin: 0; padding: 0; border: none; background: none; font: inherit; color: inherit; letter-spacing: inherit; text-align: start; cursor: pointer; max-width: 100%; }
|
|
808
813
|
/* crisp/#601, G-048: two 20px ghost icons, right-aligned in the primary column, revealed on ROW hover (the issue's own title says "row
|
|
809
814
|
hover", and a live check confirmed hovering well past the name --
|
|
@@ -1903,6 +1908,18 @@
|
|
|
1903
1908
|
row's own grid line. `thead th` simply never matches `tbody th[scope=row]` at all, so none of this reaches it; the base `& th, & td` rule above (36px, one border-bottom, full opacity via `& table`'s own color) applies to it like every other cell. */
|
|
1904
1909
|
& thead th { position: sticky; top: 0; z-index: 2; height: var(--crisp-size-tableHeader); background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); letter-spacing: -0.14px; color: var(--crisp-fg-primary); user-select: none; }
|
|
1905
1910
|
& td { color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); }
|
|
1911
|
+
/* crisp#851 -- a REGRESSION from #833/#835/#848's own fix: scoping the header rule above to `thead th` correctly stopped it leaking onto the primary column's body cell (a real `<th scope="row">` since
|
|
1912
|
+
#779), but that same leaked rule's `font-weight: var(--crisp-weight-medium)` was the ONLY thing overriding the browser's own UA stylesheet default
|
|
1913
|
+
for `<th>` (`font-weight: bold; text-align: center`) on that cell --
|
|
1914
|
+
once the leak stopped, a plain-text primary column fell through to
|
|
1915
|
+
bold+centred instead of matching its sibling `<td>`s (`400`/start,
|
|
1916
|
+
Attio's own plain-text primary cell). `text-align` was already safe (the base `& th, & td` rule's own `text-align: start` above is
|
|
1917
|
+
author-origin and always beats the UA stylesheet regardless of
|
|
1918
|
+
specificity) but is restated here explicitly, defensively -- cheap,
|
|
1919
|
+
and removes any doubt. `type: "entity"` primary columns are a
|
|
1920
|
+
separate case (Attio's own entity/record names are 500, not 400) -- see `.crisp-datatable-entity-name`'s own new explicit weight in
|
|
1921
|
+
datatable.recipe.ts, which wins here by class specificity. */
|
|
1922
|
+
& tbody th { font-weight: var(--crisp-weight-regular); text-align: start; }
|
|
1906
1923
|
& th:last-child, & td:last-child { border-inline-end: none; }
|
|
1907
1924
|
& tbody tr:last-child td { border-bottom: none; }
|
|
1908
1925
|
/* #554: sticky to the bottom, mirroring `.crisp-recordstable-sum`. */
|
package/dist/table.css
CHANGED
|
@@ -23,6 +23,18 @@
|
|
|
23
23
|
row's own grid line. `thead th` simply never matches `tbody th[scope=row]` at all, so none of this reaches it; the base `& th, & td` rule above (36px, one border-bottom, full opacity via `& table`'s own color) applies to it like every other cell. */
|
|
24
24
|
& thead th { position: sticky; top: 0; z-index: 2; height: var(--crisp-size-tableHeader); background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); letter-spacing: -0.14px; color: var(--crisp-fg-primary); user-select: none; }
|
|
25
25
|
& td { color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); }
|
|
26
|
+
/* crisp#851 -- a REGRESSION from #833/#835/#848's own fix: scoping the header rule above to `thead th` correctly stopped it leaking onto the primary column's body cell (a real `<th scope="row">` since
|
|
27
|
+
#779), but that same leaked rule's `font-weight: var(--crisp-weight-medium)` was the ONLY thing overriding the browser's own UA stylesheet default
|
|
28
|
+
for `<th>` (`font-weight: bold; text-align: center`) on that cell --
|
|
29
|
+
once the leak stopped, a plain-text primary column fell through to
|
|
30
|
+
bold+centred instead of matching its sibling `<td>`s (`400`/start,
|
|
31
|
+
Attio's own plain-text primary cell). `text-align` was already safe (the base `& th, & td` rule's own `text-align: start` above is
|
|
32
|
+
author-origin and always beats the UA stylesheet regardless of
|
|
33
|
+
specificity) but is restated here explicitly, defensively -- cheap,
|
|
34
|
+
and removes any doubt. `type: "entity"` primary columns are a
|
|
35
|
+
separate case (Attio's own entity/record names are 500, not 400) -- see `.crisp-datatable-entity-name`'s own new explicit weight in
|
|
36
|
+
datatable.recipe.ts, which wins here by class specificity. */
|
|
37
|
+
& tbody th { font-weight: var(--crisp-weight-regular); text-align: start; }
|
|
26
38
|
& th:last-child, & td:last-child { border-inline-end: none; }
|
|
27
39
|
& tbody tr:last-child td { border-bottom: none; }
|
|
28
40
|
/* #554: sticky to the bottom, mirroring `.crisp-recordstable-sum`. */
|
package/dist/table.layered.css
CHANGED
|
@@ -24,6 +24,18 @@
|
|
|
24
24
|
row's own grid line. `thead th` simply never matches `tbody th[scope=row]` at all, so none of this reaches it; the base `& th, & td` rule above (36px, one border-bottom, full opacity via `& table`'s own color) applies to it like every other cell. */
|
|
25
25
|
& thead th { position: sticky; top: 0; z-index: 2; height: var(--crisp-size-tableHeader); background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); letter-spacing: -0.14px; color: var(--crisp-fg-primary); user-select: none; }
|
|
26
26
|
& td { color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); }
|
|
27
|
+
/* crisp#851 -- a REGRESSION from #833/#835/#848's own fix: scoping the header rule above to `thead th` correctly stopped it leaking onto the primary column's body cell (a real `<th scope="row">` since
|
|
28
|
+
#779), but that same leaked rule's `font-weight: var(--crisp-weight-medium)` was the ONLY thing overriding the browser's own UA stylesheet default
|
|
29
|
+
for `<th>` (`font-weight: bold; text-align: center`) on that cell --
|
|
30
|
+
once the leak stopped, a plain-text primary column fell through to
|
|
31
|
+
bold+centred instead of matching its sibling `<td>`s (`400`/start,
|
|
32
|
+
Attio's own plain-text primary cell). `text-align` was already safe (the base `& th, & td` rule's own `text-align: start` above is
|
|
33
|
+
author-origin and always beats the UA stylesheet regardless of
|
|
34
|
+
specificity) but is restated here explicitly, defensively -- cheap,
|
|
35
|
+
and removes any doubt. `type: "entity"` primary columns are a
|
|
36
|
+
separate case (Attio's own entity/record names are 500, not 400) -- see `.crisp-datatable-entity-name`'s own new explicit weight in
|
|
37
|
+
datatable.recipe.ts, which wins here by class specificity. */
|
|
38
|
+
& tbody th { font-weight: var(--crisp-weight-regular); text-align: start; }
|
|
27
39
|
& th:last-child, & td:last-child { border-inline-end: none; }
|
|
28
40
|
& tbody tr:last-child td { border-bottom: none; }
|
|
29
41
|
/* #554: sticky to the bottom, mirroring `.crisp-recordstable-sum`. */
|