svg-table 0.0.1
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/LICENSE +21 -0
- package/README.md +3 -0
- package/d3types.ts +17 -0
- package/dist/d3types.d.ts +12 -0
- package/dist/d3types.d.ts.map +1 -0
- package/dist/d3types.js +3 -0
- package/dist/d3types.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/stylings.d.ts +206 -0
- package/dist/stylings.d.ts.map +1 -0
- package/dist/stylings.js +123 -0
- package/dist/stylings.js.map +1 -0
- package/dist/tableData.d.ts +168 -0
- package/dist/tableData.d.ts.map +1 -0
- package/dist/tableData.js +329 -0
- package/dist/tableData.js.map +1 -0
- package/dist/tableData.test.d.ts +2 -0
- package/dist/tableData.test.d.ts.map +1 -0
- package/dist/tableData.test.js +259 -0
- package/dist/tableData.test.js.map +1 -0
- package/dist/tableFormatter.d.ts +179 -0
- package/dist/tableFormatter.d.ts.map +1 -0
- package/dist/tableFormatter.js +298 -0
- package/dist/tableFormatter.js.map +1 -0
- package/dist/tableFormatter.test.d.ts +2 -0
- package/dist/tableFormatter.test.d.ts.map +1 -0
- package/dist/tableFormatter.test.js +101 -0
- package/dist/tableFormatter.test.js.map +1 -0
- package/dist/tableStyler.d.ts +310 -0
- package/dist/tableStyler.d.ts.map +1 -0
- package/dist/tableStyler.js +665 -0
- package/dist/tableStyler.js.map +1 -0
- package/dist/tableStyler.test.d.ts +2 -0
- package/dist/tableStyler.test.d.ts.map +1 -0
- package/dist/tableStyler.test.js +225 -0
- package/dist/tableStyler.test.js.map +1 -0
- package/dist/tableSvg.d.ts +41 -0
- package/dist/tableSvg.d.ts.map +1 -0
- package/dist/tableSvg.js +634 -0
- package/dist/tableSvg.js.map +1 -0
- package/dist/tableUtils.d.ts +14 -0
- package/dist/tableUtils.d.ts.map +1 -0
- package/dist/tableUtils.js +18 -0
- package/dist/tableUtils.js.map +1 -0
- package/eslint.config.js +23 -0
- package/index.ts +82 -0
- package/jest.config.js +5 -0
- package/package.json +44 -0
- package/stylings.ts +311 -0
- package/svg-table-0.0.1-snapshot.tgz +0 -0
- package/tableData.test.ts +290 -0
- package/tableData.ts +359 -0
- package/tableFormatter.test.ts +122 -0
- package/tableFormatter.ts +306 -0
- package/tableStyler.test.ts +268 -0
- package/tableStyler.ts +798 -0
- package/tableSvg.ts +820 -0
- package/tableUtils.ts +20 -0
- package/tsconfig.json +102 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableSvg.js","sourceRoot":"","sources":["../tableSvg.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Selection } from 'd3';
|
|
2
|
+
/**
|
|
3
|
+
* Calculates the width of an SVG text element, based on its bounding box
|
|
4
|
+
* @param elem The SVG text element
|
|
5
|
+
* @return The width in pixels, or 0 if SVG text element has not children
|
|
6
|
+
*/
|
|
7
|
+
export declare const textWidthOf: (elem: Selection<SVGTextElement, any, any, any>) => number;
|
|
8
|
+
/**
|
|
9
|
+
* Calculates the height of an SVG text element, based on its bounding box
|
|
10
|
+
* @param elem The SVG text element
|
|
11
|
+
* @return The height in pixels, or 0 if SVG text element has not children
|
|
12
|
+
*/
|
|
13
|
+
export declare const textHeightOf: (elem: Selection<SVGTextElement, any, any, any>) => number;
|
|
14
|
+
//# sourceMappingURL=tableUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableUtils.d.ts","sourceRoot":"","sources":["../tableUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,IAAI,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACnB,MAAM,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,MACZ,CAAA;AAE1C;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACpB,MAAM,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,MACX,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.textHeightOf = exports.textWidthOf = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Calculates the width of an SVG text element, based on its bounding box
|
|
6
|
+
* @param elem The SVG text element
|
|
7
|
+
* @return The width in pixels, or 0 if SVG text element has not children
|
|
8
|
+
*/
|
|
9
|
+
var textWidthOf = function (elem) { var _a, _b; return ((_b = (_a = elem.node()) === null || _a === void 0 ? void 0 : _a.getBBox()) === null || _b === void 0 ? void 0 : _b.width) || 0; };
|
|
10
|
+
exports.textWidthOf = textWidthOf;
|
|
11
|
+
/**
|
|
12
|
+
* Calculates the height of an SVG text element, based on its bounding box
|
|
13
|
+
* @param elem The SVG text element
|
|
14
|
+
* @return The height in pixels, or 0 if SVG text element has not children
|
|
15
|
+
*/
|
|
16
|
+
var textHeightOf = function (elem) { var _a, _b; return ((_b = (_a = elem.node()) === null || _a === void 0 ? void 0 : _a.getBBox()) === null || _b === void 0 ? void 0 : _b.height) || 0; };
|
|
17
|
+
exports.textHeightOf = textHeightOf;
|
|
18
|
+
//# sourceMappingURL=tableUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableUtils.js","sourceRoot":"","sources":["../tableUtils.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACI,IAAM,WAAW,GACpB,UAAC,IAA8C,gBAC3C,OAAA,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,EAAE,0CAAE,OAAO,EAAE,0CAAE,KAAK,KAAI,CAAC,CAAA,EAAA,CAAA;AAF7B,QAAA,WAAW,eAEkB;AAE1C;;;;GAIG;AACI,IAAM,YAAY,GACrB,UAAC,IAA8C,gBAC3C,OAAA,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,EAAE,0CAAE,OAAO,EAAE,0CAAE,MAAM,KAAI,CAAC,CAAA,EAAA,CAAA;AAF9B,QAAA,YAAY,gBAEkB"}
|
package/eslint.config.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import js from '@eslint/js'
|
|
2
|
+
import globals from 'globals'
|
|
3
|
+
import reactHooks from 'eslint-plugin-react-hooks'
|
|
4
|
+
import reactRefresh from 'eslint-plugin-react-refresh'
|
|
5
|
+
import tseslint from 'typescript-eslint'
|
|
6
|
+
import { globalIgnores } from 'eslint/config'
|
|
7
|
+
|
|
8
|
+
export default tseslint.config([
|
|
9
|
+
globalIgnores(['dist']),
|
|
10
|
+
{
|
|
11
|
+
files: ['**/*.{ts,tsx}'],
|
|
12
|
+
extends: [
|
|
13
|
+
js.configs.recommended,
|
|
14
|
+
tseslint.configs.recommended,
|
|
15
|
+
reactHooks.configs['recommended-latest'],
|
|
16
|
+
reactRefresh.configs.vite,
|
|
17
|
+
],
|
|
18
|
+
languageOptions: {
|
|
19
|
+
ecmaVersion: 2020,
|
|
20
|
+
globals: globals.browser,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
])
|
package/index.ts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export type {
|
|
2
|
+
GroupSelection,
|
|
3
|
+
TextSelection,
|
|
4
|
+
RectSelection,
|
|
5
|
+
LineSelection,
|
|
6
|
+
BorderSelection
|
|
7
|
+
} from './d3types'
|
|
8
|
+
|
|
9
|
+
export type {
|
|
10
|
+
Styling,
|
|
11
|
+
TableStylerProps,
|
|
12
|
+
TableFont,
|
|
13
|
+
Background,
|
|
14
|
+
Padding,
|
|
15
|
+
Margin,
|
|
16
|
+
BorderElement,
|
|
17
|
+
Border,
|
|
18
|
+
Dimension,
|
|
19
|
+
ColumnStyle,
|
|
20
|
+
RowStyle,
|
|
21
|
+
TextAlignment,
|
|
22
|
+
VerticalTextAlignment,
|
|
23
|
+
CellStyle,
|
|
24
|
+
ColumnHeaderStyle,
|
|
25
|
+
RowHeaderStyle,
|
|
26
|
+
FooterStyle,
|
|
27
|
+
Stylings,
|
|
28
|
+
} from './stylings';
|
|
29
|
+
export {
|
|
30
|
+
stylingFor,
|
|
31
|
+
TableStyleType,
|
|
32
|
+
defaultTableFont,
|
|
33
|
+
defaultTableBackground,
|
|
34
|
+
defaultTablePadding,
|
|
35
|
+
defaultTableMargin,
|
|
36
|
+
defaultBorderElement,
|
|
37
|
+
defaultBorder,
|
|
38
|
+
defaultDimension,
|
|
39
|
+
defaultColumnStyle,
|
|
40
|
+
defaultRowStyle,
|
|
41
|
+
defaultCellStyle,
|
|
42
|
+
defaultColumnHeaderStyle,
|
|
43
|
+
defaultRowHeaderStyle,
|
|
44
|
+
defaultFooterStyle,
|
|
45
|
+
} from './stylings';
|
|
46
|
+
|
|
47
|
+
export {
|
|
48
|
+
TableData,
|
|
49
|
+
TableTagType
|
|
50
|
+
} from './tableData';
|
|
51
|
+
|
|
52
|
+
export type {
|
|
53
|
+
Formatter,
|
|
54
|
+
Formatting,
|
|
55
|
+
} from './tableFormatter';
|
|
56
|
+
|
|
57
|
+
export {
|
|
58
|
+
defaultFormatter,
|
|
59
|
+
defaultFormatting,
|
|
60
|
+
TableFormatterType,
|
|
61
|
+
isFormattingTag,
|
|
62
|
+
TableFormatter
|
|
63
|
+
} from './tableFormatter';
|
|
64
|
+
|
|
65
|
+
export {
|
|
66
|
+
StyledTable,
|
|
67
|
+
TableStyler
|
|
68
|
+
} from './tableStyler';
|
|
69
|
+
|
|
70
|
+
export type {
|
|
71
|
+
ElementPlacementInfo,
|
|
72
|
+
TextAnchor,
|
|
73
|
+
DominantBaseline,
|
|
74
|
+
CellRenderingDimensions,
|
|
75
|
+
TableRenderingInfo
|
|
76
|
+
} from './tableSvg';
|
|
77
|
+
|
|
78
|
+
export {
|
|
79
|
+
elementInfoFrom,
|
|
80
|
+
createTable,
|
|
81
|
+
tableId,
|
|
82
|
+
} from './tableSvg';
|
package/jest.config.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "svg-table",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"author": "Rob Philipp",
|
|
5
|
+
"homepage": "https://github.com/robphilipp/svg-table",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": "git@github.com:robphilipp/svg-table.git",
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"lint": "eslint .",
|
|
12
|
+
"prepare": "npm run build",
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"test": "jest"
|
|
15
|
+
},
|
|
16
|
+
"browserslist": {
|
|
17
|
+
"production": [
|
|
18
|
+
">0.2%",
|
|
19
|
+
"not dead",
|
|
20
|
+
"not op_mini all"
|
|
21
|
+
],
|
|
22
|
+
"development": [
|
|
23
|
+
"last 1 chrome version",
|
|
24
|
+
"last 1 firefox version",
|
|
25
|
+
"last 1 safari version"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"d3": "^7.9.0",
|
|
30
|
+
"result-fn": "^0.2.1",
|
|
31
|
+
"data-frame-ts": "^1.0.2"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@eslint/js": "^9.33.0",
|
|
35
|
+
"@types/d3": "^7.4.3",
|
|
36
|
+
"@types/jest": "^30.0.0",
|
|
37
|
+
"eslint": "^9.33.0",
|
|
38
|
+
"globals": "^16.3.0",
|
|
39
|
+
"typescript": "~5.8.3",
|
|
40
|
+
"typescript-eslint": "^8.39.1",
|
|
41
|
+
"jest": "^30.1.3",
|
|
42
|
+
"ts-jest": "^29.4.1"
|
|
43
|
+
}
|
|
44
|
+
}
|
package/stylings.ts
ADDED
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import type {DataFrame} from "data-frame-ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Represents a styling configuration with a priority level.
|
|
5
|
+
* Higher priority styles will override lower priority styles when multiple styles are applied.
|
|
6
|
+
*/
|
|
7
|
+
export type Styling<S> = {
|
|
8
|
+
style: S
|
|
9
|
+
priority: number
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Creates a Styling object with the given style and priority.
|
|
14
|
+
* @param style The style to apply
|
|
15
|
+
* @param defaultStyle The default style that is used to fill in missing style attributes
|
|
16
|
+
* @param priority The priority level of the style (higher values take precedence)
|
|
17
|
+
* @returns A Styling object containing the style and priority
|
|
18
|
+
*/
|
|
19
|
+
export function stylingFor<S>(style: Partial<S>, defaultStyle: S, priority: number = 0): Styling<S> {
|
|
20
|
+
return {style: {...defaultStyle, ...style}, priority}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Enum representing different types of table styling elements.
|
|
26
|
+
* Used as identifiers when tagging different parts of the table with styles.
|
|
27
|
+
*/
|
|
28
|
+
export enum TableStyleType {
|
|
29
|
+
COLUMN_HEADER = "column_header_style",
|
|
30
|
+
ROW_HEADER = "row_header_style",
|
|
31
|
+
FOOTER = "footer_style",
|
|
32
|
+
ROW = "row_style",
|
|
33
|
+
COLUMN = "column_style",
|
|
34
|
+
CELL = "cell_style"
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Properties for the TableStyler class.
|
|
39
|
+
* Contains all the styling information and data for a table.
|
|
40
|
+
*/
|
|
41
|
+
export type TableStylerProps<V> = {
|
|
42
|
+
dataFrame: DataFrame<V>
|
|
43
|
+
readonly font: TableFont
|
|
44
|
+
border: Border
|
|
45
|
+
background: Background
|
|
46
|
+
dimension: Pick<Dimension, "width" | "height">
|
|
47
|
+
padding: Padding
|
|
48
|
+
margin: Margin
|
|
49
|
+
readonly errors: Array<string>
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Defines the font properties for table text.
|
|
54
|
+
*/
|
|
55
|
+
export type TableFont = {
|
|
56
|
+
size: number
|
|
57
|
+
color: string
|
|
58
|
+
family: string
|
|
59
|
+
weight: number
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export const defaultTableFont: TableFont = {
|
|
63
|
+
size: 13,
|
|
64
|
+
color: '#d2933f',
|
|
65
|
+
family: 'sans-serif',
|
|
66
|
+
weight: 450,
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Defines the background properties for table elements.
|
|
71
|
+
*/
|
|
72
|
+
export type Background = {
|
|
73
|
+
color: string
|
|
74
|
+
opacity: number
|
|
75
|
+
}
|
|
76
|
+
export const defaultTableBackground: Background = {color: '#fff', opacity: 0}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Defines the padding properties for table elements.
|
|
80
|
+
* Specifies the space between the content and the border.
|
|
81
|
+
*/
|
|
82
|
+
export type Padding = {
|
|
83
|
+
left: number
|
|
84
|
+
right: number
|
|
85
|
+
top: number
|
|
86
|
+
bottom: number
|
|
87
|
+
}
|
|
88
|
+
export const defaultTablePadding: Padding = {left: 0, right: 0, top: 0, bottom: 0}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Defines the margin properties for table elements.
|
|
92
|
+
* Specifies the space outside the border.
|
|
93
|
+
*/
|
|
94
|
+
export type Margin = {
|
|
95
|
+
left: number
|
|
96
|
+
right: number
|
|
97
|
+
top: number
|
|
98
|
+
bottom: number
|
|
99
|
+
}
|
|
100
|
+
export const defaultTableMargin: Margin = {left: 0, right: 0, top: 0, bottom: 0}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Defines the border properties for table elements.
|
|
104
|
+
* Controls the appearance of the border around table elements.
|
|
105
|
+
*/
|
|
106
|
+
export type BorderElement = {
|
|
107
|
+
color: string
|
|
108
|
+
opacity: number
|
|
109
|
+
width: number
|
|
110
|
+
radius: number
|
|
111
|
+
}
|
|
112
|
+
export const defaultBorderElement: BorderElement = {color: 'black', radius: 0, width: 0, opacity: 0}
|
|
113
|
+
|
|
114
|
+
export enum BorderLocation {
|
|
115
|
+
TOP = 'top',
|
|
116
|
+
BOTTOM = 'bottom',
|
|
117
|
+
LEFT = 'left',
|
|
118
|
+
RIGHT = 'right'
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export type Border = {
|
|
122
|
+
top: BorderElement
|
|
123
|
+
bottom: BorderElement
|
|
124
|
+
left: BorderElement
|
|
125
|
+
right: BorderElement
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export const defaultBorder: Border = {
|
|
129
|
+
top: defaultBorderElement,
|
|
130
|
+
bottom: defaultBorderElement,
|
|
131
|
+
left: defaultBorderElement,
|
|
132
|
+
right: defaultBorderElement,
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Defines the dimension properties for table elements.
|
|
137
|
+
* Controls the size constraints including width and height with their minimum,
|
|
138
|
+
* maximum, and default values.
|
|
139
|
+
*/
|
|
140
|
+
export type Dimension = {
|
|
141
|
+
width: number
|
|
142
|
+
defaultWidth: number
|
|
143
|
+
minWidth: number
|
|
144
|
+
maxWidth: number
|
|
145
|
+
|
|
146
|
+
height: number
|
|
147
|
+
defaultHeight: number
|
|
148
|
+
minHeight: number
|
|
149
|
+
maxHeight: number
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export const defaultDimension: Dimension = {
|
|
153
|
+
width: 60,
|
|
154
|
+
defaultWidth: 70,
|
|
155
|
+
minWidth: 50,
|
|
156
|
+
maxWidth: 100,
|
|
157
|
+
|
|
158
|
+
height: 15,
|
|
159
|
+
defaultHeight: 20,
|
|
160
|
+
minHeight: 10,
|
|
161
|
+
maxHeight: 50
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* The style for each column (for what is not determined by each row's style).
|
|
166
|
+
*/
|
|
167
|
+
export type ColumnStyle = {
|
|
168
|
+
alignText: TextAlignment
|
|
169
|
+
verticalAlignText: VerticalTextAlignment
|
|
170
|
+
dimension: Pick<Dimension, "defaultWidth" | "minWidth" | "maxWidth">
|
|
171
|
+
padding: Pick<Padding, "left" | "right">
|
|
172
|
+
border: Border
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export const defaultColumnStyle: ColumnStyle = {
|
|
176
|
+
alignText: "left",
|
|
177
|
+
verticalAlignText: "middle",
|
|
178
|
+
dimension: {...defaultDimension, defaultWidth: 60, minWidth: 40, maxWidth: 80},
|
|
179
|
+
padding: {...defaultTablePadding, left: 0, right: 0},
|
|
180
|
+
border: defaultBorder
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Note that the {@link ColumnStyle} determines the text alignment for
|
|
185
|
+
* each column. Therefore, the alignment of the text in a row is determined
|
|
186
|
+
* by the alignment for all the rows in the column.
|
|
187
|
+
*/
|
|
188
|
+
export type RowStyle = {
|
|
189
|
+
font: TableFont
|
|
190
|
+
background: Background
|
|
191
|
+
dimension: Pick<Dimension, "defaultHeight" | "minHeight" | "maxHeight">
|
|
192
|
+
padding: Pick<Padding, "top" | "bottom">
|
|
193
|
+
border: Border
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export const defaultRowStyle: RowStyle = {
|
|
197
|
+
font: defaultTableFont,
|
|
198
|
+
background: defaultTableBackground,
|
|
199
|
+
dimension: {defaultHeight: 20, minHeight: 15, maxHeight: 50},
|
|
200
|
+
padding: {top: 0, bottom: 0},
|
|
201
|
+
border: defaultBorder
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export type TextAlignment = "left" | "center" | "right"
|
|
205
|
+
|
|
206
|
+
export type VerticalTextAlignment = "top" | "middle" | "bottom"
|
|
207
|
+
|
|
208
|
+
export type CellStyle = {
|
|
209
|
+
font: TableFont
|
|
210
|
+
alignText: TextAlignment
|
|
211
|
+
verticalAlignText: VerticalTextAlignment
|
|
212
|
+
background: Background
|
|
213
|
+
dimension: Dimension
|
|
214
|
+
padding: Padding
|
|
215
|
+
border: Border
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export const defaultCellStyle: CellStyle = {
|
|
219
|
+
font: defaultTableFont,
|
|
220
|
+
alignText: "left",
|
|
221
|
+
verticalAlignText: "middle",
|
|
222
|
+
background: defaultTableBackground,
|
|
223
|
+
dimension: defaultDimension,
|
|
224
|
+
padding: defaultTablePadding,
|
|
225
|
+
border: defaultBorder
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Confusing as it may be, this is the style for the **row** that holds the
|
|
230
|
+
* headers for each column. The styling for this row may differ from the
|
|
231
|
+
* other rows in the table.
|
|
232
|
+
*/
|
|
233
|
+
export type ColumnHeaderStyle = {
|
|
234
|
+
font: TableFont
|
|
235
|
+
alignText: TextAlignment
|
|
236
|
+
verticalAlignText: VerticalTextAlignment
|
|
237
|
+
dimension: Pick<Dimension, "height" | "maxHeight" | "minHeight">
|
|
238
|
+
padding: Pick<Padding, "top" | "bottom">
|
|
239
|
+
background: Background
|
|
240
|
+
border: Border
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export const defaultColumnHeaderStyle: ColumnHeaderStyle = {
|
|
244
|
+
font: {...defaultTableFont, weight: 600},
|
|
245
|
+
alignText: "left",
|
|
246
|
+
verticalAlignText: "middle",
|
|
247
|
+
dimension: {...defaultDimension, height: 20, maxHeight: 50, minHeight: 15},
|
|
248
|
+
padding: {...defaultTablePadding, top: 0, bottom: 0},
|
|
249
|
+
background: defaultTableBackground,
|
|
250
|
+
border: defaultBorder
|
|
251
|
+
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Confusing as it may be, this is the style for the **column** that holds
|
|
256
|
+
* the headers for each row. The styling for this column may differ from the
|
|
257
|
+
* columns in the table.
|
|
258
|
+
*/
|
|
259
|
+
export type RowHeaderStyle = {
|
|
260
|
+
font: TableFont
|
|
261
|
+
alignText: TextAlignment
|
|
262
|
+
verticalAlignText: VerticalTextAlignment
|
|
263
|
+
dimension: Pick<Dimension, "width" | "maxWidth" | "minWidth">
|
|
264
|
+
padding: Pick<Padding, "left" | "right">
|
|
265
|
+
background: Background
|
|
266
|
+
border: Border
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export const defaultRowHeaderStyle: RowHeaderStyle = {
|
|
270
|
+
font: defaultTableFont,
|
|
271
|
+
alignText: "left",
|
|
272
|
+
verticalAlignText: "middle",
|
|
273
|
+
dimension: {...defaultDimension, width: 60, minWidth: 15, maxWidth: 100},
|
|
274
|
+
padding: {...defaultTablePadding, left: 0, right: 0},
|
|
275
|
+
background: defaultTableBackground,
|
|
276
|
+
border: defaultBorder
|
|
277
|
+
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Defines the style for the footer row of the table.
|
|
282
|
+
* Controls the appearance of the footer including font, text alignment,
|
|
283
|
+
* height, padding, and background.
|
|
284
|
+
*/
|
|
285
|
+
export type FooterStyle = {
|
|
286
|
+
font: TableFont
|
|
287
|
+
alignText: TextAlignment
|
|
288
|
+
verticalAlignText: VerticalTextAlignment
|
|
289
|
+
dimension: Pick<Dimension, "height">
|
|
290
|
+
padding: Pick<Padding, "top" | "bottom">
|
|
291
|
+
background: Background
|
|
292
|
+
border: Border
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
export const defaultFooterStyle: FooterStyle = {
|
|
296
|
+
font: defaultTableFont,
|
|
297
|
+
alignText: "left",
|
|
298
|
+
verticalAlignText: "middle",
|
|
299
|
+
dimension: {height: 20},
|
|
300
|
+
padding: {...defaultTablePadding, top: 0, bottom: 0},
|
|
301
|
+
background: defaultTableBackground,
|
|
302
|
+
border: defaultBorder
|
|
303
|
+
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
export type Stylings = Styling<RowHeaderStyle> |
|
|
307
|
+
Styling<ColumnHeaderStyle> |
|
|
308
|
+
Styling<FooterStyle> |
|
|
309
|
+
Styling<RowStyle> |
|
|
310
|
+
Styling<ColumnStyle> |
|
|
311
|
+
Styling<CellStyle>
|
|
Binary file
|