Skip to content

Commit c350399

Browse files
committed
v0.4.0: Fix CSS and add createTableState util
1 parent 14af302 commit c350399

4 files changed

Lines changed: 41 additions & 21 deletions

File tree

package.json

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "solid-tabular",
3-
"version": "0.3.0",
3+
"version": "0.4.0",
44
"description": "Spreadsheet-like table UI",
55
"license": "MIT",
66
"author": "Rafferty97",
@@ -24,20 +24,23 @@
2424
"types": "./dist/index.d.ts",
2525
"browser": {},
2626
"exports": {
27-
"solid": {
28-
"development": "./dist/dev.jsx",
29-
"import": "./dist/index.jsx"
30-
},
31-
"development": {
27+
".": {
28+
"solid": {
29+
"development": "./dist/dev.jsx",
30+
"import": "./dist/index.jsx"
31+
},
32+
"development": {
33+
"import": {
34+
"types": "./dist/index.d.ts",
35+
"default": "./dist/dev.js"
36+
}
37+
},
3238
"import": {
3339
"types": "./dist/index.d.ts",
34-
"default": "./dist/dev.js"
40+
"default": "./dist/index.js"
3541
}
3642
},
37-
"import": {
38-
"types": "./dist/index.d.ts",
39-
"default": "./dist/index.js"
40-
}
43+
"./styles.css": "./dist/index.css"
4144
},
4245
"typesVersions": {},
4346
"scripts": {

src/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export { Table } from 'src/table/Table'
22
export type { ActiveRange } from 'src/table/types'
3-
export { createTextContent, createCheckboxContent } from './components/CellContent'
3+
export { createTextContent, createCheckboxContent } from 'src/components/CellContent'
4+
export { createTableState } from 'src/state'

src/state/index.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { createSignal } from 'solid-js'
2+
import { TableProps } from 'src/table/Table'
3+
import { ActiveRange } from 'src/table/types'
4+
5+
export function createTableState(data: Record<string, unknown>[]) {
6+
const columns = data[0] ? Object.keys(data[0]) : []
7+
const numRows = data.length
8+
9+
const [activeRange, setActiveRange] = createSignal<ActiveRange>()
10+
11+
const [widths, setWidths] = createSignal(new Map<string, number>())
12+
13+
return {
14+
columns,
15+
numRows,
16+
getCellValue: (row, column) => data[row]?.[column],
17+
get activeRange() {
18+
return activeRange()
19+
},
20+
setActiveRange,
21+
getColumnSize: column => widths().get(column),
22+
setColumnSize: (column, width) => setWidths(w => new Map([...w, [column, width]])),
23+
resetColumnSize: column => setWidths(w => new Map([...w].filter(e => e[0] !== column))),
24+
} satisfies TableProps<string>
25+
}

tsup.config.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,5 @@ export default defineConfig(config => {
2929

3030
const parsed_options = preset.parsePresetOptions(preset_options, watching)
3131

32-
if (!watching && !CI) {
33-
const package_fields = preset.generatePackageExports(parsed_options)
34-
35-
console.log(`package.json: \n\n${JSON.stringify(package_fields, null, 2)}\n\n`)
36-
37-
// will update ./package.json with the correct export fields
38-
preset.writePackageJson(package_fields)
39-
}
40-
4132
return preset.generateTsupOptions(parsed_options)
4233
})

0 commit comments

Comments
 (0)