intable 0.0.8 → 0.0.9

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.
Files changed (208) hide show
  1. package/README.md +263 -16
  2. package/dist/__uno.css +1 -0
  3. package/dist/chevron-right.js +6 -0
  4. package/dist/components/Columns.d.ts +3 -0
  5. package/dist/components/Columns.js +71 -0
  6. package/dist/components/DocTree.d.ts +4 -0
  7. package/dist/components/DocTree.js +32 -0
  8. package/dist/components/Menu.d.ts +1 -0
  9. package/dist/components/Menu.js +107 -0
  10. package/dist/components/Popover.d.ts +14 -0
  11. package/dist/components/Popover.js +41 -0
  12. package/dist/components/RecycleList.d.ts +26 -0
  13. package/dist/components/RecycleList.js +39 -0
  14. package/dist/components/Render.d.ts +4 -0
  15. package/dist/components/Render.js +20 -0
  16. package/dist/components/Split.d.ts +15 -0
  17. package/dist/components/Split.js +76 -0
  18. package/dist/components/Tree.d.ts +37 -0
  19. package/dist/components/Tree.js +82 -0
  20. package/dist/components/utils.d.ts +3 -0
  21. package/dist/components/utils.js +8 -0
  22. package/dist/hooks/index.d.ts +40 -0
  23. package/dist/hooks/index.js +157 -0
  24. package/dist/hooks/useDir.d.ts +11 -0
  25. package/dist/hooks/useDir.js +42 -0
  26. package/dist/hooks/useSelector.d.ts +16 -0
  27. package/dist/hooks/useSelector.js +69 -0
  28. package/dist/hooks/useSort.d.ts +18 -0
  29. package/dist/hooks/useSort.js +83 -0
  30. package/dist/hooks/useVirtualizer.d.ts +30 -0
  31. package/dist/hooks/useVirtualizer.js +97 -0
  32. package/dist/index.d.ts +147 -0
  33. package/dist/index.js +386 -0
  34. package/dist/loading.js +6 -0
  35. package/dist/plugins/CellChangeHighlightPlugin.d.ts +2 -0
  36. package/dist/plugins/CellChangeHighlightPlugin.js +4 -0
  37. package/dist/plugins/CellMergePlugin.d.ts +45 -0
  38. package/dist/plugins/CellMergePlugin.js +78 -0
  39. package/dist/plugins/CellSelectionPlugin.d.ts +15 -0
  40. package/dist/plugins/CellSelectionPlugin.js +113 -0
  41. package/dist/plugins/CommandPlugin.d.ts +14 -0
  42. package/dist/plugins/CommandPlugin.js +31 -0
  43. package/dist/plugins/CopyPastePlugin.d.ts +14 -0
  44. package/dist/plugins/CopyPastePlugin.js +47 -0
  45. package/dist/plugins/DiffPlugin.d.ts +29 -0
  46. package/dist/plugins/DiffPlugin.js +66 -0
  47. package/dist/plugins/DragPlugin.d.ts +14 -0
  48. package/dist/plugins/DragPlugin.js +47 -0
  49. package/dist/plugins/EditablePlugin.d.ts +51 -0
  50. package/dist/plugins/EditablePlugin.js +177 -0
  51. package/dist/plugins/ExpandPlugin.d.ts +18 -0
  52. package/dist/plugins/ExpandPlugin.js +46 -0
  53. package/dist/plugins/HeaderGroup.d.ts +11 -0
  54. package/dist/plugins/HeaderGroup.js +171 -0
  55. package/dist/plugins/HistoryPlugin.d.ts +10 -0
  56. package/dist/plugins/HistoryPlugin.js +27 -0
  57. package/dist/plugins/MenuPlugin.d.ts +19 -0
  58. package/dist/plugins/MenuPlugin.js +132 -0
  59. package/dist/plugins/RenderPlugin/components.d.ts +5 -0
  60. package/dist/plugins/RenderPlugin/components.js +87 -0
  61. package/dist/plugins/RenderPlugin/index.d.ts +30 -0
  62. package/dist/plugins/RenderPlugin/index.js +49 -0
  63. package/dist/plugins/ResizePlugin.d.ts +27 -0
  64. package/dist/plugins/ResizePlugin.js +82 -0
  65. package/dist/plugins/RowGroupPlugin.d.ts +18 -0
  66. package/dist/plugins/RowGroupPlugin.js +88 -0
  67. package/dist/plugins/RowSelectionPlugin.d.ts +20 -0
  68. package/dist/plugins/RowSelectionPlugin.js +42 -0
  69. package/dist/plugins/TreePlugin.d.ts +24 -0
  70. package/dist/plugins/TreePlugin.js +110 -0
  71. package/dist/plugins/VirtualScrollPlugin.d.ts +15 -0
  72. package/dist/plugins/VirtualScrollPlugin.js +123 -0
  73. package/dist/plugins/ZodValidatorPlugin.d.ts +38 -0
  74. package/dist/plugins/ZodValidatorPlugin.js +12 -0
  75. package/dist/plus.js +6 -0
  76. package/dist/rolldown_runtime.js +9 -0
  77. package/dist/style.css +3 -0
  78. package/dist/tree.d.ts +1 -0
  79. package/dist/tree.js +12 -0
  80. package/dist/types/auto-imports.d.js +0 -0
  81. package/dist/utils.d.ts +31 -0
  82. package/dist/utils.js +71 -0
  83. package/dist/wc.d.ts +1 -0
  84. package/dist/wc.js +21 -0
  85. package/dist/web-component.d.ts +1 -0
  86. package/dist/web-component.js +2 -0
  87. package/dist/x.js +6 -0
  88. package/package.json +38 -35
  89. package/.github/copilot-instructions.md +0 -102
  90. package/docs/index-BaMALNy6.css +0 -1
  91. package/docs/index-CDN48t9E.js +0 -3
  92. package/docs/index-Cc4RNkLY.css +0 -1
  93. package/docs/index-MRnbkYmU.js +0 -3
  94. package/docs/index.html +0 -15
  95. package/docs/vite.svg +0 -1
  96. package/index.html +0 -13
  97. package/packages/intable/README.md +0 -379
  98. package/packages/intable/package.json +0 -51
  99. package/packages/intable/src/assets/ClearFormat.svg +0 -3
  100. package/packages/intable/src/assets/Forms.svg +0 -4
  101. package/packages/intable/src/assets/MergeCell.svg +0 -4
  102. package/packages/intable/src/assets/SplitCell.svg +0 -4
  103. package/packages/intable/src/assets/gap.svg +0 -3
  104. package/packages/intable/src/assets/loading.svg +0 -12
  105. package/packages/intable/src/assets/paint.svg +0 -9
  106. package/packages/intable/src/assets/solid.svg +0 -1
  107. package/packages/intable/src/components/Columns.tsx +0 -86
  108. package/packages/intable/src/components/DocTree.tsx +0 -36
  109. package/packages/intable/src/components/Menu.tsx +0 -109
  110. package/packages/intable/src/components/Popover.tsx +0 -55
  111. package/packages/intable/src/components/RecycleList.tsx +0 -99
  112. package/packages/intable/src/components/Render.tsx +0 -26
  113. package/packages/intable/src/components/Split.tsx +0 -56
  114. package/packages/intable/src/components/Tree.tsx +0 -115
  115. package/packages/intable/src/components/utils.tsx +0 -12
  116. package/packages/intable/src/hooks/index.ts +0 -200
  117. package/packages/intable/src/hooks/useDir.ts +0 -78
  118. package/packages/intable/src/hooks/useSelector.ts +0 -91
  119. package/packages/intable/src/hooks/useSort.tsx +0 -118
  120. package/packages/intable/src/hooks/useVirtualizer.ts +0 -180
  121. package/packages/intable/src/index.tsx +0 -489
  122. package/packages/intable/src/plugins/CellChangeHighlightPlugin.tsx +0 -5
  123. package/packages/intable/src/plugins/CellMergePlugin.tsx +0 -153
  124. package/packages/intable/src/plugins/CellSelectionPlugin.tsx +0 -175
  125. package/packages/intable/src/plugins/CommandPlugin.tsx +0 -74
  126. package/packages/intable/src/plugins/CopyPastePlugin.tsx +0 -99
  127. package/packages/intable/src/plugins/DiffPlugin.tsx +0 -120
  128. package/packages/intable/src/plugins/DragPlugin.tsx +0 -81
  129. package/packages/intable/src/plugins/EditablePlugin.tsx +0 -252
  130. package/packages/intable/src/plugins/ExpandPlugin.tsx +0 -80
  131. package/packages/intable/src/plugins/HeaderGroup.tsx +0 -289
  132. package/packages/intable/src/plugins/HistoryPlugin.tsx +0 -49
  133. package/packages/intable/src/plugins/MenuPlugin.tsx +0 -195
  134. package/packages/intable/src/plugins/RenderPlugin/components.tsx +0 -51
  135. package/packages/intable/src/plugins/RenderPlugin/index.tsx +0 -81
  136. package/packages/intable/src/plugins/ResizePlugin.tsx +0 -122
  137. package/packages/intable/src/plugins/RowGroupPlugin.tsx +0 -122
  138. package/packages/intable/src/plugins/RowSelectionPlugin.tsx +0 -65
  139. package/packages/intable/src/plugins/TreePlugin.tsx +0 -212
  140. package/packages/intable/src/plugins/VirtualScrollPlugin.tsx +0 -190
  141. package/packages/intable/src/plugins/ZodValidatorPlugin.tsx +0 -61
  142. package/packages/intable/src/style.scss +0 -244
  143. package/packages/intable/src/tree.ts +0 -13
  144. package/packages/intable/src/types/auto-imports.d.ts +0 -13
  145. package/packages/intable/src/utils.ts +0 -122
  146. package/packages/intable/src/wc.tsx +0 -35
  147. package/packages/intable/src/web-component.ts +0 -1
  148. package/packages/react/package.json +0 -36
  149. package/packages/react/src/index.ts +0 -44
  150. package/packages/react/src/plugins/antd.ts +0 -94
  151. package/packages/react/src/style.scss +0 -12
  152. package/packages/react/src/types/auto-imports.d.ts +0 -10
  153. package/packages/vue/package.json +0 -34
  154. package/packages/vue/src/index.ts +0 -63
  155. package/packages/vue/src/plugins/element-plus.ts +0 -69
  156. package/packages/vue/src/style.scss +0 -12
  157. package/packages/vue/src/types/auto-imports.d.ts +0 -10
  158. package/pnpm-workspace.yaml +0 -2
  159. package/public/vite.svg +0 -1
  160. package/scripts/build.js +0 -184
  161. package/scripts/publish.js +0 -95
  162. package/src/assets/ClearFormat.svg +0 -3
  163. package/src/assets/Forms.svg +0 -4
  164. package/src/assets/MergeCell.svg +0 -4
  165. package/src/assets/SplitCell.svg +0 -4
  166. package/src/assets/gap.svg +0 -3
  167. package/src/assets/loading.svg +0 -12
  168. package/src/assets/paint.svg +0 -9
  169. package/src/assets/solid.svg +0 -1
  170. package/src/demo-vue.ts +0 -54
  171. package/src/index.scss +0 -105
  172. package/src/index.tsx +0 -20
  173. package/src/pages/demo/BasicDemo.tsx +0 -19
  174. package/src/pages/demo/CellMergeDemo.tsx +0 -41
  175. package/src/pages/demo/CellSelectionDemo.tsx +0 -24
  176. package/src/pages/demo/CompositeDemo.tsx +0 -60
  177. package/src/pages/demo/CopyPasteDemo.tsx +0 -26
  178. package/src/pages/demo/DiffDemo.tsx +0 -33
  179. package/src/pages/demo/DragDemo.tsx +0 -25
  180. package/src/pages/demo/EditableDemo.tsx +0 -58
  181. package/src/pages/demo/ExpandDemo.tsx +0 -32
  182. package/src/pages/demo/HeaderGroupDemo.tsx +0 -36
  183. package/src/pages/demo/HistoryDemo.tsx +0 -28
  184. package/src/pages/demo/ReactDemo.tsx +0 -59
  185. package/src/pages/demo/ResizeDemo.tsx +0 -24
  186. package/src/pages/demo/RowGroupDemo.tsx +0 -43
  187. package/src/pages/demo/RowSelectionDemo.tsx +0 -27
  188. package/src/pages/demo/TreeDemo.tsx +0 -45
  189. package/src/pages/demo/VirtualScrollDemo.tsx +0 -21
  190. package/src/pages/demo/helpers.tsx +0 -39
  191. package/src/pages/demo/index.tsx +0 -180
  192. package/src/pages/index.tsx +0 -2
  193. package/src/pages/website.scss +0 -37
  194. package/src/pages/website.tsx +0 -651
  195. package/src/styles/index.scss +0 -172
  196. package/src/types/auto-imports.d.ts +0 -13
  197. package/stats.html +0 -4949
  198. package/tsconfig.app.json +0 -34
  199. package/tsconfig.json +0 -7
  200. package/tsconfig.node.json +0 -26
  201. package/vite.config.ts +0 -70
  202. /package/{packages/intable/src → dist}/theme/antd.scss +0 -0
  203. /package/{packages/intable/src → dist}/theme/dark.scss +0 -0
  204. /package/{packages/intable/src → dist}/theme/element-plus.scss +0 -0
  205. /package/{packages/intable/src → dist}/theme/github.scss +0 -0
  206. /package/{packages/intable/src → dist}/theme/material.scss +0 -0
  207. /package/{packages/intable/src → dist}/theme/shadcn.scss +0 -0
  208. /package/{packages/intable/src → dist}/theme/stripe.scss +0 -0
@@ -1,180 +0,0 @@
1
- /**
2
- * Plugin test demo index — renders a list of demo sections,
3
- * one per plugin, to visually verify each feature.
4
- */
5
- import { createSignal, createEffect, onCleanup, For, Show, mergeProps } from 'solid-js'
6
- import { useSearchParams } from '@solidjs/router'
7
-
8
- import { BasicDemo } from './BasicDemo'
9
- import { VirtualScrollDemo } from './VirtualScrollDemo'
10
- import { HeaderGroupDemo } from './HeaderGroupDemo'
11
- import { CellSelectionDemo } from './CellSelectionDemo'
12
- import { EditableDemo } from './EditableDemo'
13
- import { ExpandDemo } from './ExpandDemo'
14
- import { RowSelectionDemo } from './RowSelectionDemo'
15
- import { ResizeDemo } from './ResizeDemo'
16
- import { DragDemo } from './DragDemo'
17
- import { RowGroupDemo } from './RowGroupDemo'
18
- import { CellMergeDemo } from './CellMergeDemo'
19
- import { HistoryDemo } from './HistoryDemo'
20
- import { DiffDemo } from './DiffDemo'
21
- import { TreeDemo } from './TreeDemo'
22
- import { CopyPasteDemo } from './CopyPasteDemo'
23
- import { CompositeDemo } from './CompositeDemo'
24
- import { ReactDemo } from './ReactDemo'
25
-
26
- // ── Theme CSS (equivalent to: import 'intable/theme/*') ──────────────────────
27
- import antdCss from '../../../packages/intable/src/theme/antd.scss?inline'
28
- import elementPlusCss from '../../../packages/intable/src/theme/element-plus.scss?inline'
29
- import darkCss from '../../../packages/intable/src/theme/dark.scss?inline'
30
- import shadcnCss from '../../../packages/intable/src/theme/shadcn.scss?inline'
31
- import stripeCss from '../../../packages/intable/src/theme/stripe.scss?inline'
32
- import materialCss from '../../../packages/intable/src/theme/material.scss?inline'
33
- import githubCss from '../../../packages/intable/src/theme/github.scss?inline'
34
-
35
- const THEMES = [
36
- { name: 'Default', css: '', color: '#e5e7eb' },
37
- { name: 'Antd', css: antdCss, color: '#1677ff' },
38
- { name: 'Element Plus', css: elementPlusCss,color: '#409eff' },
39
- { name: 'Dark', css: darkCss, color: '#0d1117' },
40
- { name: 'GitHub', css: githubCss, color: '#1f2328' },
41
- { name: 'Shadcn', css: shadcnCss, color: '#18181b' },
42
- { name: 'Stripe', css: stripeCss, color: '#635bff' },
43
- { name: 'Material', css: materialCss, color: '#6750a4' },
44
- ]
45
-
46
- const STYLE_ID = 'intable-theme-override'
47
-
48
- function applyTheme(css: string) {
49
- let el = document.getElementById(STYLE_ID) as HTMLStyleElement | null
50
- if (!el) {
51
- el = document.createElement('style')
52
- el.id = STYLE_ID
53
- document.head.appendChild(el)
54
- }
55
- el.textContent = css
56
- }
57
-
58
- // ── Custom theme dropdown ─────────────────────────────────────────────────────
59
- function ThemeSelect(props: { themes: typeof THEMES; value: string; onChange: (v: string) => void }) {
60
- const [open, setOpen] = createSignal(false)
61
- let ref!: HTMLDivElement
62
-
63
- const current = () => props.themes.find(t => t.name === props.value)!
64
-
65
- const handleOutside = (e: MouseEvent) => {
66
- if (!ref.contains(e.target as Node)) setOpen(false)
67
- }
68
- createEffect(() => {
69
- if (open()) document.addEventListener('mousedown', handleOutside)
70
- else document.removeEventListener('mousedown', handleOutside)
71
- })
72
- onCleanup(() => document.removeEventListener('mousedown', handleOutside))
73
-
74
- return (
75
- <div ref={ref} class='relative w-full'>
76
- <button
77
- type='button'
78
- class='flex items-center gap-1.5 w-full text-xs px-2 py-1.5 rd-1 b-(1 solid #d1d5db) bg-white c-#374151 cursor-pointer text-left'
79
- onClick={() => setOpen(o => !o)}
80
- >
81
- <span class='inline-block w-2.5 h-2.5 rd-full shrink-0 b-(1 solid #0002)' style={{ background: current().color }} />
82
- <span class='flex-1'>{current().name}</span>
83
- <svg class='w-3 h-3 c-gray shrink-0' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5'>
84
- <path stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5' />
85
- </svg>
86
- </button>
87
- <Show when={open()}>
88
- <div class='absolute top-full left-0 right-0 mt-0.5 bg-white b-(1 solid #d1d5db) rd-1 shadow-md z-50 py-0.5'>
89
- <For each={props.themes}>{t => (
90
- <button
91
- type='button'
92
- class={`flex items-center gap-1.5 w-full px-2 py-1.5 text-xs text-left cursor-pointer transition-colors ${
93
- props.value === t.name ? 'bg-blue-50 c-blue-600 font-medium' : 'hover:bg-gray-50 c-#374151'
94
- }`}
95
- onClick={() => { props.onChange(t.name); setOpen(false) }}
96
- >
97
- <span class='inline-block w-2.5 h-2.5 rd-full shrink-0 b-(1 solid #0002)' style={{ background: t.color }} />
98
- {t.name}
99
- </button>
100
- )}</For>
101
- </div>
102
- </Show>
103
- </div>
104
- )
105
- }
106
-
107
- // ── Demo list ─────────────────────────────────────────────────────────────────
108
- const demos = [
109
- { name: 'Basic', comp: BasicDemo, desc: 'Minimal table with index, border, sticky header' },
110
- { name: 'VirtualScroll', comp: VirtualScrollDemo, desc: 'Virtual scroll (X+Y) with 10k rows × 50 cols' },
111
- { name: 'HeaderGroup', comp: HeaderGroupDemo, desc: 'Nested column header groups with colspan/rowspan' },
112
- { name: 'CellSelection', comp: CellSelectionDemo, desc: 'Click and drag to select cell ranges' },
113
- { name: 'Editable', comp: EditableDemo, desc: 'Double-click cells to edit (text, number, select, date…)' },
114
- { name: 'Expand', comp: ExpandDemo, desc: 'Expandable rows with custom detail render' },
115
- { name: 'RowSelection', comp: RowSelectionDemo, desc: 'Checkbox row selection (single & multiple)' },
116
- { name: 'Resize', comp: ResizeDemo, desc: 'Drag column/row borders to resize' },
117
- { name: 'Drag', comp: DragDemo, desc: 'Drag-and-drop column & row reordering' },
118
- { name: 'RowGroup', comp: RowGroupDemo, desc: 'Group rows by field values with collapsible headers' },
119
- { name: 'CellMerge', comp: CellMergeDemo, desc: 'Merge cells (rowspan/colspan)' },
120
- { name: 'CopyPaste', comp: CopyPasteDemo, desc: 'Copy / paste cell ranges (Ctrl+C / Ctrl+V)' },
121
- { name: 'Tree', comp: TreeDemo, desc: 'Tree-structured data with expand/collapse' },
122
- { name: 'History', comp: HistoryDemo, desc: 'Undo / Redo (Ctrl+Z / Ctrl+Y)' },
123
- { name: 'Diff', comp: DiffDemo, desc: 'Track changes & commit (Ctrl+S)' },
124
- { name: 'Composite', comp: CompositeDemo, desc: 'All features combined' },
125
- { name: 'React', comp: ReactDemo, desc: 'React integration demo' }
126
- ]
127
-
128
- export const DemoApp = () => {
129
- const [_qs, setQs] = useSearchParams<any>()
130
- const qs = mergeProps({ active: demos[0].name, theme: THEMES[0].name }, () => _qs)
131
-
132
- createEffect(() => {
133
- const t = THEMES.find(t => t.name === qs.theme)
134
- applyTheme(t?.css ?? '')
135
- })
136
-
137
- onCleanup(() => document.getElementById(STYLE_ID)?.remove())
138
-
139
- return (
140
- <div class='flex h-100vh'>
141
- {/* sidebar */}
142
- <nav class='w-52 shrink-0 of-y-auto b-r-(1 solid #e5e7eb) p-2 bg-#fafafa flex flex-col gap-1'>
143
- <h2 class='font-bold text-lg px-2 py-1'>Plugin Demos</h2>
144
-
145
- {/* Theme switcher — custom dropdown for proper color rendering */}
146
- <div class='px-2 pb-2 b-b-(1 solid #e5e7eb) mb-1 relative'>
147
- <label class='text-xs c-gray font-medium tracking-wide uppercase block mb-1'>Theme</label>
148
- <ThemeSelect themes={THEMES} value={qs.theme} onChange={t => setQs({ theme: t })} />
149
- </div>
150
-
151
- {/* Demo list */}
152
- <For each={demos}>{d => (
153
- <button
154
- class={`block w-full text-left px-3 py-1.5 rd-1 text-sm truncate cursor-pointer ${qs.active === d.name ? 'bg-blue-500 c-white' : 'hover:bg-gray/10'}`}
155
- onClick={() => setQs({ active: d.name })}
156
- >
157
- {d.name}
158
- </button>
159
- )}</For>
160
- </nav>
161
-
162
- {/* main */}
163
- <main class='flex-1 w-0 p-4 of-auto'>
164
- <For each={demos}>{d => (
165
- <Show when={qs.active === d.name}>
166
- <div class='flex items-baseline gap-3 mb-1'>
167
- <h2 class='font-bold text-xl'>{d.name}</h2>
168
- <span class='text-xs c-gray font-mono'>Theme: {qs.theme}</span>
169
- </div>
170
- <p class='c-gray text-sm mb-3'>{d.desc}</p>
171
- <d.comp />
172
- </Show>
173
- )}</For>
174
- </main>
175
- </div>
176
- )
177
- }
178
-
179
- export default DemoApp
180
-
@@ -1,2 +0,0 @@
1
- import { Website } from './website'
2
- export default Website
@@ -1,37 +0,0 @@
1
- /* intable official website — supplemental styles
2
- * These override the component's default light-theme CSS variables
3
- * so the live demo section matches the OLED dark aesthetic.
4
- */
5
-
6
- /* ── Live demo: dark-theme table overrides ─────────────────────────────────── */
7
- .wt-live-demo {
8
- /* Override the .data-table's own CSS variable declarations */
9
- .data-table {
10
- --bg: #0a0a12;
11
- --c-primary: #6366f1;
12
- --menu-bg: #1e1e2e;
13
- --li-hover-bg: rgba(255, 255, 255, .06);
14
- --table-b-c: rgba(255, 255, 255, .07);
15
- --table-c: #cbd5e1;
16
- --table-bg: #0a0a12;
17
- --table-header-c: #64748b;
18
- --table-header-bg: #0f0f1a;
19
- --table-row-hover-bg: rgba(255, 255, 255, .04);
20
- --select-area-bg: rgba(99, 102, 241, .15);
21
- color-scheme: dark;
22
-
23
- background: #0a0a12;
24
-
25
- th, td {
26
- border-color: rgba(255, 255, 255, .07);
27
- }
28
-
29
- thead th {
30
- background: #0f0f1a;
31
- }
32
-
33
- tr:hover > td {
34
- background: rgba(255, 255, 255, .04);
35
- }
36
- }
37
- }