intable 0.0.6 → 0.0.7

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 (169) hide show
  1. package/README.md +16 -263
  2. package/docs/index-BaMALNy6.css +1 -0
  3. package/docs/index-CDN48t9E.js +3 -0
  4. package/docs/index-Cc4RNkLY.css +1 -0
  5. package/docs/index-MRnbkYmU.js +3 -0
  6. package/docs/index.html +15 -0
  7. package/docs/vite.svg +1 -0
  8. package/index.html +14 -0
  9. package/package.json +30 -38
  10. package/packages/intable/README.md +379 -0
  11. package/packages/intable/package.json +51 -0
  12. package/packages/intable/src/assets/ClearFormat.svg +3 -0
  13. package/packages/intable/src/assets/Forms.svg +4 -0
  14. package/packages/intable/src/assets/MergeCell.svg +4 -0
  15. package/packages/intable/src/assets/SplitCell.svg +4 -0
  16. package/packages/intable/src/assets/gap.svg +3 -0
  17. package/packages/intable/src/assets/loading.svg +12 -0
  18. package/packages/intable/src/assets/paint.svg +9 -0
  19. package/packages/intable/src/assets/solid.svg +1 -0
  20. package/packages/intable/src/components/Columns.tsx +86 -0
  21. package/packages/intable/src/components/DocTree.tsx +36 -0
  22. package/packages/intable/src/components/Menu.tsx +109 -0
  23. package/packages/intable/src/components/Popover.tsx +55 -0
  24. package/packages/intable/src/components/RecycleList.tsx +99 -0
  25. package/packages/intable/src/components/Render.tsx +26 -0
  26. package/packages/intable/src/components/Split.tsx +56 -0
  27. package/packages/intable/src/components/Tree.tsx +115 -0
  28. package/packages/intable/src/components/utils.tsx +12 -0
  29. package/packages/intable/src/hooks/index.ts +200 -0
  30. package/packages/intable/src/hooks/useDir.ts +78 -0
  31. package/packages/intable/src/hooks/useSelector.ts +91 -0
  32. package/packages/intable/src/hooks/useSort.tsx +118 -0
  33. package/packages/intable/src/hooks/useVirtualizer.ts +180 -0
  34. package/packages/intable/src/index.tsx +481 -0
  35. package/packages/intable/src/plugins/CellChangeHighlightPlugin.tsx +5 -0
  36. package/packages/intable/src/plugins/CellMergePlugin.tsx +153 -0
  37. package/packages/intable/src/plugins/CellSelectionPlugin.tsx +175 -0
  38. package/packages/intable/src/plugins/CommandPlugin.tsx +74 -0
  39. package/packages/intable/src/plugins/CopyPastePlugin.tsx +63 -0
  40. package/packages/intable/src/plugins/DiffPlugin.tsx +107 -0
  41. package/packages/intable/src/plugins/DragPlugin.tsx +81 -0
  42. package/packages/intable/src/plugins/EditablePlugin.tsx +252 -0
  43. package/packages/intable/src/plugins/ExpandPlugin.tsx +80 -0
  44. package/packages/intable/src/plugins/HeaderGroup.tsx +289 -0
  45. package/packages/intable/src/plugins/HistoryPlugin.tsx +49 -0
  46. package/packages/intable/src/plugins/MenuPlugin.tsx +195 -0
  47. package/packages/intable/src/plugins/RenderPlugin/components.tsx +51 -0
  48. package/packages/intable/src/plugins/RenderPlugin/index.tsx +81 -0
  49. package/packages/intable/src/plugins/ResizePlugin.tsx +122 -0
  50. package/packages/intable/src/plugins/RowGroupPlugin.tsx +122 -0
  51. package/packages/intable/src/plugins/RowSelectionPlugin.tsx +65 -0
  52. package/packages/intable/src/plugins/TreePlugin.tsx +212 -0
  53. package/packages/intable/src/plugins/VirtualScrollPlugin.tsx +190 -0
  54. package/packages/intable/src/plugins/ZodValidatorPlugin.tsx +61 -0
  55. package/packages/intable/src/style.scss +244 -0
  56. package/{dist → packages/intable/src}/theme/antd.scss +14 -5
  57. package/{dist → packages/intable/src}/theme/element-plus.scss +6 -5
  58. package/packages/intable/src/tree.ts +13 -0
  59. package/packages/intable/src/types/auto-imports.d.ts +13 -0
  60. package/packages/intable/src/utils.ts +122 -0
  61. package/packages/intable/src/wc.tsx +35 -0
  62. package/packages/intable/src/web-component.ts +1 -0
  63. package/packages/react/package.json +31 -0
  64. package/packages/react/src/index.ts +44 -0
  65. package/packages/react/src/plugins/antd.ts +94 -0
  66. package/packages/react/src/style.scss +12 -0
  67. package/packages/react/src/types/auto-imports.d.ts +10 -0
  68. package/packages/vue/package.json +34 -0
  69. package/packages/vue/src/index.ts +63 -0
  70. package/packages/vue/src/plugins/element-plus.ts +69 -0
  71. package/packages/vue/src/style.scss +12 -0
  72. package/packages/vue/src/types/auto-imports.d.ts +10 -0
  73. package/pnpm-workspace.yaml +2 -0
  74. package/public/vite.svg +1 -0
  75. package/scripts/build.js +184 -0
  76. package/scripts/publish.js +95 -0
  77. package/src/assets/ClearFormat.svg +3 -0
  78. package/src/assets/Forms.svg +4 -0
  79. package/src/assets/MergeCell.svg +4 -0
  80. package/src/assets/SplitCell.svg +4 -0
  81. package/src/assets/gap.svg +3 -0
  82. package/src/assets/loading.svg +12 -0
  83. package/src/assets/paint.svg +9 -0
  84. package/src/assets/solid.svg +1 -0
  85. package/src/demo-vue.ts +54 -0
  86. package/src/demo.tsx +107 -0
  87. package/src/index.scss +105 -0
  88. package/src/styles/index.scss +172 -0
  89. package/src/types/auto-imports.d.ts +13 -0
  90. package/stats.html +4949 -0
  91. package/tsconfig.app.json +34 -0
  92. package/tsconfig.json +7 -0
  93. package/tsconfig.node.json +26 -0
  94. package/vite.config.ts +63 -0
  95. package/dist/__uno.css +0 -1
  96. package/dist/chevron-right.js +0 -6
  97. package/dist/components/Columns.d.ts +0 -3
  98. package/dist/components/Columns.js +0 -71
  99. package/dist/components/DocTree.d.ts +0 -4
  100. package/dist/components/DocTree.js +0 -32
  101. package/dist/components/Menu.d.ts +0 -1
  102. package/dist/components/Menu.js +0 -107
  103. package/dist/components/Popover.d.ts +0 -14
  104. package/dist/components/Popover.js +0 -41
  105. package/dist/components/Render.d.ts +0 -4
  106. package/dist/components/Render.js +0 -20
  107. package/dist/components/Split.d.ts +0 -15
  108. package/dist/components/Split.js +0 -76
  109. package/dist/components/Tree.d.ts +0 -37
  110. package/dist/components/Tree.js +0 -82
  111. package/dist/components/utils.d.ts +0 -3
  112. package/dist/components/utils.js +0 -8
  113. package/dist/hooks/index.d.ts +0 -40
  114. package/dist/hooks/index.js +0 -157
  115. package/dist/hooks/useDir.d.ts +0 -11
  116. package/dist/hooks/useDir.js +0 -42
  117. package/dist/hooks/useSelector.d.ts +0 -16
  118. package/dist/hooks/useSelector.js +0 -35
  119. package/dist/hooks/useSort.d.ts +0 -18
  120. package/dist/hooks/useSort.js +0 -83
  121. package/dist/hooks/useVirtualizer.d.ts +0 -25
  122. package/dist/hooks/useVirtualizer.js +0 -67
  123. package/dist/index.d.ts +0 -130
  124. package/dist/index.js +0 -347
  125. package/dist/loading.js +0 -6
  126. package/dist/plugins/CellChangeHighlightPlugin.d.ts +0 -2
  127. package/dist/plugins/CellChangeHighlightPlugin.js +0 -4
  128. package/dist/plugins/CellMergePlugin.d.ts +0 -12
  129. package/dist/plugins/CellMergePlugin.js +0 -2
  130. package/dist/plugins/CellSelectionPlugin.d.ts +0 -15
  131. package/dist/plugins/CellSelectionPlugin.js +0 -115
  132. package/dist/plugins/CommandPlugin.d.ts +0 -14
  133. package/dist/plugins/CommandPlugin.js +0 -12
  134. package/dist/plugins/CopyPastePlugin.d.ts +0 -14
  135. package/dist/plugins/CopyPastePlugin.js +0 -42
  136. package/dist/plugins/DiffPlugin.d.ts +0 -23
  137. package/dist/plugins/DiffPlugin.js +0 -56
  138. package/dist/plugins/DragPlugin.d.ts +0 -14
  139. package/dist/plugins/DragPlugin.js +0 -47
  140. package/dist/plugins/EditablePlugin.d.ts +0 -48
  141. package/dist/plugins/EditablePlugin.js +0 -141
  142. package/dist/plugins/ExpandPlugin.d.ts +0 -18
  143. package/dist/plugins/ExpandPlugin.js +0 -50
  144. package/dist/plugins/HistoryPlugin.d.ts +0 -10
  145. package/dist/plugins/HistoryPlugin.js +0 -30
  146. package/dist/plugins/MenuPlugin.d.ts +0 -18
  147. package/dist/plugins/MenuPlugin.js +0 -107
  148. package/dist/plugins/RenderPlugin/components.d.ts +0 -5
  149. package/dist/plugins/RenderPlugin/components.js +0 -87
  150. package/dist/plugins/RenderPlugin/index.d.ts +0 -30
  151. package/dist/plugins/RenderPlugin/index.js +0 -49
  152. package/dist/plugins/ResizePlugin.d.ts +0 -27
  153. package/dist/plugins/ResizePlugin.js +0 -81
  154. package/dist/plugins/RowGroupPlugin.d.ts +0 -17
  155. package/dist/plugins/RowGroupPlugin.js +0 -83
  156. package/dist/plugins/RowSelectionPlugin.d.ts +0 -20
  157. package/dist/plugins/RowSelectionPlugin.js +0 -42
  158. package/dist/plugins/VirtualScrollPlugin.d.ts +0 -15
  159. package/dist/plugins/VirtualScrollPlugin.js +0 -96
  160. package/dist/plus.js +0 -6
  161. package/dist/style.css +0 -3
  162. package/dist/types/auto-imports.d.js +0 -0
  163. package/dist/utils.d.ts +0 -30
  164. package/dist/utils.js +0 -70
  165. package/dist/wc.d.ts +0 -1
  166. package/dist/wc.js +0 -21
  167. package/dist/web-component.d.ts +0 -1
  168. package/dist/web-component.js +0 -2
  169. package/dist/x.js +0 -6
@@ -0,0 +1,172 @@
1
+ :root {
2
+ --c-primary: #51a2ff;
3
+ --select-area-bg: #5292f71a;
4
+ }
5
+
6
+ .data-table {
7
+ --table-b: 1px solid var(--table-b-c);
8
+ --table-b-c: #ebeef5;
9
+ --table-c: #606266;
10
+ --table-bg: #fff;
11
+
12
+ --table-header-c: #909399;
13
+ --table-header-bg: var(--table-bg);
14
+
15
+ --table-row-hover-bg: #f5f7fa;
16
+
17
+ @apply relative text-[14px] c-[--table-c] b-[--table-b-c];
18
+
19
+ &--table {
20
+ @apply table-fixed w-max border-collapse b-0 outline-0 c-[--table-c];
21
+ border-collapse: separate;
22
+ border-spacing: 0;
23
+ }
24
+
25
+ thead {
26
+ @apply c-[--table-header-c];
27
+ }
28
+
29
+ tr:hover {
30
+ & > td {
31
+ @apply bg-[--table-row-hover-bg];
32
+ }
33
+ }
34
+
35
+ th {
36
+ @apply bg-[--table-header-bg];
37
+ }
38
+
39
+ td {
40
+ @apply bg-[--table-bg];
41
+ }
42
+
43
+ td, th {
44
+ @apply px-2 py-.5 outline-0 b-(0 solid [--table-b-c]) b-b-0 box-border v-mid;
45
+ text-align: inherit;
46
+ background-image: linear-gradient(var(--table-b-c), var(--table-b-c));
47
+ background-repeat: no-repeat;
48
+ background-size: 100% 1px, 1px 100%;
49
+ background-position: 100% 100%, 100% 0;
50
+ }
51
+
52
+ td:empty::after {
53
+ content: 'ㅤ' !important;
54
+ }
55
+
56
+ &--border {
57
+ @apply b-1;
58
+
59
+ th, td {
60
+ background-image: linear-gradient(var(--table-b-c), var(--table-b-c)), linear-gradient(var(--table-b-c), var(--table-b-c));
61
+ }
62
+ }
63
+
64
+ &--scroll-view {
65
+ @apply of-auto;
66
+ }
67
+
68
+ &__layers {
69
+ @apply pointer-events-none absolute left-0 top-0 [&>*]:absolute z-1;
70
+ }
71
+ }
72
+
73
+ .range-selected {
74
+ @apply relative;
75
+ & > .area {
76
+ @apply absolute inset-0 bg-[--select-area-bg] b-(0px solid [--c-primary]) pointer-events-none;
77
+ }
78
+
79
+ &-l > .area { @apply b-l-(2px) }
80
+ &-r > .area { @apply b-r-(2px) }
81
+ &-t > .area { @apply b-t-(2px) }
82
+ &-b > .area { @apply b-b-(2px) }
83
+ }
84
+
85
+ .row-range-highlight, .col-range-highlight {
86
+ @apply relative;
87
+ & > .area {
88
+ @apply absolute inset-0 bg-[--c-primary]/10 b-(0 solid [--c-primary]) pointer-events-none;
89
+ }
90
+ }
91
+
92
+ .row-range-highlight > .area {
93
+ @apply b-r-1;
94
+ }
95
+
96
+ .col-range-highlight > .area {
97
+ @apply b-b-1;
98
+ }
99
+
100
+ .sticky-header {
101
+ @apply sticky top-0 bg-#fff z-9;
102
+ &::after {
103
+ @apply content-[''] absolute top-full w-full h-[10px] pointer-events-none;
104
+ box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, .15);
105
+ }
106
+ }
107
+
108
+ .fixed-left, .fixed-right {
109
+ @apply sticky! z-1 bg-#fff;
110
+ &::after {
111
+ @apply content-[''] absolute top-0 w-[10px] h-full pointer-events-none;
112
+ }
113
+ }
114
+
115
+ .is-scroll-right, .is-scroll-mid {
116
+ .fixed-left::after {
117
+ @apply left-full;
118
+ box-shadow: inset 10px 0 10px -10px rgba(0, 0, 0, .15);
119
+ }
120
+ }
121
+
122
+ .is-scroll-left, .is-scroll-mid {
123
+ .fixed-right::after {
124
+ @apply right-full;
125
+ box-shadow: inset -10px 0 10px -10px rgba(0, 0, 0, .15);
126
+ }
127
+ }
128
+
129
+ .copied .range-selected {
130
+ &::before { border-style: dashed; }
131
+ }
132
+
133
+ //
134
+ .data-table.virtual {
135
+ @apply block of-auto w-fit;
136
+
137
+ thead { @apply block w-fit [&>tr]-(flex) [&>tr>th]-(block flex-[0_0_auto]); }
138
+ tbody { @apply block w-fit [&>tr]-(flex) [&>tr>td]-(block flex-[0_0_auto]); }
139
+ }
140
+
141
+ .row-selection {
142
+ @apply w-10;
143
+ & > label {
144
+ @apply absolute inset-0 flex justify-center items-center w-full h-full;
145
+ }
146
+ }
147
+
148
+ .icon-clickable {
149
+ @apply flex justify-center items-center p-.5 w-5 h-5 box-border rd-1 hover:bg-gray/30 [&>svg]:(w-full h-full);
150
+ }
151
+
152
+ input[type="checkbox"].you-checkbox {
153
+ @apply relative size-4 m-1 rd-1 c-#2196f3 b-(2 solid current) outline-offset--0 focus:outline-(4 solid #2196f3/40) cusor-pointer appearance-none checked:bg-current;
154
+ &.checked::after {
155
+ @apply content-["✓"] absolute top-50% left-50% translate--50% text-3 c-#fff z-1;
156
+ }
157
+ }
158
+
159
+ td.is-editing {
160
+
161
+ }
162
+
163
+ .in-cell-edit-wrapper {
164
+ @apply absolute inset-0;
165
+ }
166
+
167
+ .in-cell__resize-handle {
168
+ @apply size-full hover:after:bg-[--c-primary]/40 active:after:bg-[--c-primary];
169
+ &::after {
170
+ @apply content-[''];
171
+ }
172
+ }
@@ -0,0 +1,13 @@
1
+ /* eslint-disable */
2
+ /* prettier-ignore */
3
+ // @ts-nocheck
4
+ // noinspection JSUnusedGlobalSymbols
5
+ // Generated by unplugin-auto-import
6
+ // biome-ignore lint: disable
7
+ export {}
8
+ declare global {
9
+ const ILucideChevronRight: typeof import('~icons/lucide/chevron-right.jsx')['default']
10
+ const ILucidePlus: typeof import('~icons/lucide/plus.jsx')['default']
11
+ const ILucideX: typeof import('~icons/lucide/x.jsx')['default']
12
+ const IMyLoading: typeof import('~icons/my/loading.jsx')['default']
13
+ }