@fusion.dev/helix 0.169.0 → 0.170.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/custom-elements.json
CHANGED
|
@@ -56093,7 +56093,7 @@
|
|
|
56093
56093
|
"declarations": [
|
|
56094
56094
|
{
|
|
56095
56095
|
"kind": "class",
|
|
56096
|
-
"description": "Rows have hairline rules between them and no fill, and the headings are set\napart by weight and color. Helix shows depth with a single border and no\nelevation, and a header band would be elevation.\n\nThe grid scrolls in its own box, and the toolbar and footer sit outside it,\nso the search field stays in place when the columns scroll sideways.\n\n`windowed` draws only the rows in view, for a result too long to lay out at\nonce, and the headings stay in place while the rows scroll. It works with or\nwithout `paginated` and with either `mode`, so a page or a chunk from a\nserver can be windowed.\n\n**
|
|
56096
|
+
"description": "Rows have hairline rules between them and no fill, and the headings are set\napart by weight and color. Helix shows depth with a single border and no\nelevation, and a header band would be elevation.\n\nThe grid scrolls in its own box, and the toolbar and footer sit outside it,\nso the search field stays in place when the columns scroll sideways.\n\n`windowed` draws only the rows in view, for a result too long to lay out at\nonce, and the headings stay in place while the rows scroll. It works with or\nwithout `paginated` and with either `mode`, so a page or a chunk from a\nserver can be windowed.\n\n**Write the first page as rows, so the served HTML carries the values.**\nWrite it under the columns as `helix-table-row` and `helix-table-cell`\nelements. `@fusion.dev/helix-styles/helix.css` lays them out as the table\ndraws them before it upgrades, and the table shows them until `rows` holds a\nrow.",
|
|
56097
56097
|
"name": "HelixDataTable",
|
|
56098
56098
|
"cssProperties": [
|
|
56099
56099
|
{
|
|
@@ -56701,7 +56701,7 @@
|
|
|
56701
56701
|
],
|
|
56702
56702
|
"slots": [
|
|
56703
56703
|
{
|
|
56704
|
-
"description": "The columns, as `TableColumn` elements.",
|
|
56704
|
+
"description": "The columns, as `TableColumn` elements, and the first page served as `TableRow` elements, which show until `rows` holds a row.",
|
|
56705
56705
|
"name": "",
|
|
56706
56706
|
"inheritedFrom": {
|
|
56707
56707
|
"name": "HelixHeadlessDataTable",
|
|
@@ -57954,6 +57954,48 @@
|
|
|
57954
57954
|
"module": "src/data-table/root/data-table-root.ts"
|
|
57955
57955
|
}
|
|
57956
57956
|
},
|
|
57957
|
+
{
|
|
57958
|
+
"kind": "field",
|
|
57959
|
+
"name": "drewRows",
|
|
57960
|
+
"type": {
|
|
57961
|
+
"text": "boolean"
|
|
57962
|
+
},
|
|
57963
|
+
"privacy": "private",
|
|
57964
|
+
"default": "false",
|
|
57965
|
+
"description": "Whether `rows` has held a row, after which the rows the page served are\nnever shown again, whatever `rows` holds later.",
|
|
57966
|
+
"inheritedFrom": {
|
|
57967
|
+
"name": "HelixHeadlessDataTable",
|
|
57968
|
+
"module": "src/data-table/root/data-table-root.ts"
|
|
57969
|
+
}
|
|
57970
|
+
},
|
|
57971
|
+
{
|
|
57972
|
+
"kind": "field",
|
|
57973
|
+
"name": "serving",
|
|
57974
|
+
"type": {
|
|
57975
|
+
"text": "boolean"
|
|
57976
|
+
},
|
|
57977
|
+
"privacy": "private",
|
|
57978
|
+
"default": "false",
|
|
57979
|
+
"description": "Whether the last render showed the rows the page served.",
|
|
57980
|
+
"inheritedFrom": {
|
|
57981
|
+
"name": "HelixHeadlessDataTable",
|
|
57982
|
+
"module": "src/data-table/root/data-table-root.ts"
|
|
57983
|
+
}
|
|
57984
|
+
},
|
|
57985
|
+
{
|
|
57986
|
+
"kind": "field",
|
|
57987
|
+
"name": "servedLast",
|
|
57988
|
+
"type": {
|
|
57989
|
+
"text": "boolean"
|
|
57990
|
+
},
|
|
57991
|
+
"privacy": "private",
|
|
57992
|
+
"default": "false",
|
|
57993
|
+
"description": "Whether the render before the last showed them, so the change is checked once.",
|
|
57994
|
+
"inheritedFrom": {
|
|
57995
|
+
"name": "HelixHeadlessDataTable",
|
|
57996
|
+
"module": "src/data-table/root/data-table-root.ts"
|
|
57997
|
+
}
|
|
57998
|
+
},
|
|
57957
57999
|
{
|
|
57958
58000
|
"kind": "field",
|
|
57959
58001
|
"name": "typeahead",
|
|
@@ -58575,6 +58617,35 @@
|
|
|
58575
58617
|
"module": "src/data-table/root/data-table-root.ts"
|
|
58576
58618
|
}
|
|
58577
58619
|
},
|
|
58620
|
+
{
|
|
58621
|
+
"kind": "field",
|
|
58622
|
+
"name": "servedRows",
|
|
58623
|
+
"type": {
|
|
58624
|
+
"text": "Element[]"
|
|
58625
|
+
},
|
|
58626
|
+
"privacy": "private",
|
|
58627
|
+
"description": "The rows the page served: the first page, written as `TableRow` children.\n\nBy tag, because the page may not register `Table`, and an element that is\nnot defined has no `isTableRow` to find it by.",
|
|
58628
|
+
"readonly": true,
|
|
58629
|
+
"inheritedFrom": {
|
|
58630
|
+
"name": "HelixHeadlessDataTable",
|
|
58631
|
+
"module": "src/data-table/root/data-table-root.ts"
|
|
58632
|
+
}
|
|
58633
|
+
},
|
|
58634
|
+
{
|
|
58635
|
+
"kind": "method",
|
|
58636
|
+
"name": "serves",
|
|
58637
|
+
"privacy": "private",
|
|
58638
|
+
"return": {
|
|
58639
|
+
"type": {
|
|
58640
|
+
"text": "boolean"
|
|
58641
|
+
}
|
|
58642
|
+
},
|
|
58643
|
+
"description": "Whether this render shows the rows the page served in place of drawing its\nown.\n\n**Until `rows` has held a row, and never after.** A server cannot tell\nwhether the page served any, and a render hydrating what one sent has to\nrender the same, so both show the slot that would hold them. In a browser\nthe rows are shown while `rows` is empty, which is how a framework that\nrenders on a server leaves the property until it hydrates. Once the table\nhas drawn its own rows it stops showing the served ones and never removes\nthem: they are the page's markup, and a framework that rendered them owns\nthem.",
|
|
58644
|
+
"inheritedFrom": {
|
|
58645
|
+
"name": "HelixHeadlessDataTable",
|
|
58646
|
+
"module": "src/data-table/root/data-table-root.ts"
|
|
58647
|
+
}
|
|
58648
|
+
},
|
|
58578
58649
|
{
|
|
58579
58650
|
"kind": "field",
|
|
58580
58651
|
"name": "sourceKnown",
|
|
@@ -60554,6 +60625,10 @@
|
|
|
60554
60625
|
"description": "Rows selected by their key, and columns you can reorder and resize.",
|
|
60555
60626
|
"slug": "selecting-and-arranging"
|
|
60556
60627
|
},
|
|
60628
|
+
{
|
|
60629
|
+
"description": "The first page written out as rows, so the HTML carries the values before the table draws its own.",
|
|
60630
|
+
"slug": "serving-the-first-page"
|
|
60631
|
+
},
|
|
60557
60632
|
{
|
|
60558
60633
|
"description": "A summary of the rows shown and a page size menu, on either side of the built-in pagination.",
|
|
60559
60634
|
"min": 520,
|
|
@@ -245786,6 +245861,6 @@
|
|
|
245786
245861
|
],
|
|
245787
245862
|
"helix": {
|
|
245788
245863
|
"package": "@fusion.dev/helix",
|
|
245789
|
-
"version": "0.
|
|
245864
|
+
"version": "0.170.0"
|
|
245790
245865
|
}
|
|
245791
245866
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { createSheet } from '@fusion.dev/helix-core';
|
|
2
|
-
export const styles = createSheet(`:host {display: block;}[part="
|
|
2
|
+
export const styles = createSheet(`:host {display: block;}[part="toolbar"],
|
|
3
|
+
[part="table"],
|
|
4
|
+
[part="footer"] {grid-column: 1 / -1;}[part="table"] {display: grid;grid-template-columns: var(--data-table-columns, var(--data-table-template, minmax(0, 1fr)));inline-size: 100%;overflow-x: auto;}[part="table"] {--_data-table-fade: to right;animation: data-table-edges linear both;animation-timeline: scroll(self inline);mask-image: linear-gradient(
|
|
3
5
|
var(--_data-table-fade),
|
|
4
6
|
transparent,
|
|
5
7
|
#000 var(--_data-table-fade-start, 0rem),
|
|
@@ -19,15 +19,18 @@ import '../../table/index.js';
|
|
|
19
19
|
* without `paginated` and with either `mode`, so a page or a chunk from a
|
|
20
20
|
* server can be windowed.
|
|
21
21
|
*
|
|
22
|
-
* **
|
|
23
|
-
*
|
|
22
|
+
* **Write the first page as rows, so the served HTML carries the values.**
|
|
23
|
+
* Write it under the columns as `helix-table-row` and `helix-table-cell`
|
|
24
|
+
* elements. `@fusion.dev/helix-styles/helix.css` lays them out as the table
|
|
25
|
+
* draws them before it upgrades, and the table shows them until `rows` holds a
|
|
26
|
+
* row.
|
|
24
27
|
*
|
|
25
28
|
* @since 0.1.0
|
|
26
29
|
* @status stable
|
|
27
30
|
* @category data
|
|
28
31
|
* @documentation https://fusion.dev/helix/components/data-table
|
|
29
32
|
*
|
|
30
|
-
* @slot - The columns, as `TableColumn` elements.
|
|
33
|
+
* @slot - The columns, as `TableColumn` elements, and the first page served as `TableRow` elements, which show until `rows` holds a row.
|
|
31
34
|
* @slot empty - Content shown when there are no rows to show and none are loading, such as a picture and a link. Falls back to `empty-text`, which the live region still says.
|
|
32
35
|
* @slot error - Content shown while `error-text` is set, such as a button that tries again. Falls back to `error-text`, which the live region still says.
|
|
33
36
|
* @slot footer - Content below the grid. It replaces the built-in pagination.
|