@rttui/skin-anocca 1.0.15 → 1.0.17
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/dist/cjs/HeaderPinButtons.cjs +109 -0
- package/dist/cjs/HeaderPinButtons.cjs.map +10 -0
- package/dist/cjs/RowPinButtons.cjs +75 -0
- package/dist/cjs/RowPinButtons.cjs.map +10 -0
- package/dist/cjs/index.cjs +383 -0
- package/dist/cjs/index.cjs.map +10 -0
- package/dist/cjs/package.json +5 -0
- package/dist/cjs/stories/ReactTanstackTableUiStory.stories.cjs +234 -0
- package/dist/cjs/stories/ReactTanstackTableUiStory.stories.cjs.map +10 -0
- package/dist/cjs/stories/ReactTanstackTableUiStoryComponent.cjs +147 -0
- package/dist/cjs/stories/ReactTanstackTableUiStoryComponent.cjs.map +10 -0
- package/dist/cjs/stories/createSourceCode.cjs +92 -0
- package/dist/cjs/stories/createSourceCode.cjs.map +10 -0
- package/dist/mjs/HeaderPinButtons.mjs +79 -0
- package/dist/mjs/HeaderPinButtons.mjs.map +10 -0
- package/dist/mjs/RowPinButtons.mjs +45 -0
- package/dist/mjs/RowPinButtons.mjs.map +10 -0
- package/dist/mjs/index.mjs +352 -0
- package/dist/mjs/index.mjs.map +10 -0
- package/dist/mjs/package.json +5 -0
- package/dist/mjs/stories/ReactTanstackTableUiStory.stories.mjs +204 -0
- package/dist/mjs/stories/ReactTanstackTableUiStory.stories.mjs.map +10 -0
- package/dist/mjs/stories/ReactTanstackTableUiStoryComponent.mjs +110 -0
- package/dist/mjs/stories/ReactTanstackTableUiStoryComponent.mjs.map +10 -0
- package/{src/stories/createSourceCode.ts → dist/mjs/stories/createSourceCode.mjs} +13 -4
- package/dist/mjs/stories/createSourceCode.mjs.map +10 -0
- package/dist/types/HeaderPinButtons.d.ts +1 -0
- package/dist/types/RowPinButtons.d.ts +4 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/stories/ReactTanstackTableUiStory.stories.d.ts +72 -0
- package/dist/types/stories/ReactTanstackTableUiStoryComponent.d.ts +15 -0
- package/dist/types/stories/createSourceCode.d.ts +5 -0
- package/package.json +5 -2
- package/.storybook/main.ts +0 -18
- package/.storybook/preview.ts +0 -14
- package/CHANGELOG.md +0 -120
- package/index.html +0 -13
- package/src/HeaderPinButtons.tsx +0 -81
- package/src/RowPinButtons.tsx +0 -40
- package/src/index.tsx +0 -460
- package/src/stories/ReactTanstackTableUiStory.mdx +0 -136
- package/src/stories/ReactTanstackTableUiStory.stories.tsx +0 -206
- package/src/stories/ReactTanstackTableUiStoryComponent.tsx +0 -113
- package/src/stories/ScrollbarWidthSpecified.mdx +0 -42
- package/tsconfig.json +0 -34
- package/tsconfig.types.json +0 -9
- package/vite.config.ts +0 -23
@@ -0,0 +1,234 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
5
|
+
var __moduleCache = /* @__PURE__ */ new WeakMap;
|
6
|
+
var __toCommonJS = (from) => {
|
7
|
+
var entry = __moduleCache.get(from), desc;
|
8
|
+
if (entry)
|
9
|
+
return entry;
|
10
|
+
entry = __defProp({}, "__esModule", { value: true });
|
11
|
+
if (from && typeof from === "object" || typeof from === "function")
|
12
|
+
__getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
|
13
|
+
get: () => from[key],
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
15
|
+
}));
|
16
|
+
__moduleCache.set(from, entry);
|
17
|
+
return entry;
|
18
|
+
};
|
19
|
+
var __export = (target, all) => {
|
20
|
+
for (var name in all)
|
21
|
+
__defProp(target, name, {
|
22
|
+
get: all[name],
|
23
|
+
enumerable: true,
|
24
|
+
configurable: true,
|
25
|
+
set: (newValue) => all[name] = () => newValue
|
26
|
+
});
|
27
|
+
};
|
28
|
+
|
29
|
+
// packages/skin-anocca/src/stories/ReactTanstackTableUiStory.stories.tsx
|
30
|
+
var exports_ReactTanstackTableUiStory_stories = {};
|
31
|
+
__export(exports_ReactTanstackTableUiStory_stories, {
|
32
|
+
default: () => ReactTanstackTableUiStory_stories_default,
|
33
|
+
SizeByLargestHeaderWithMeta: () => SizeByLargestHeaderWithMeta,
|
34
|
+
SizeByLargestHeader: () => SizeByLargestHeader,
|
35
|
+
PinRelativeToTable: () => PinRelativeToTable,
|
36
|
+
PinRelativeToCols: () => PinRelativeToCols,
|
37
|
+
FillAvailableSpaceAfterCrushWithoutSpecifiedScrollbarWidth: () => FillAvailableSpaceAfterCrushWithoutSpecifiedScrollbarWidth,
|
38
|
+
FillAvailableSpaceAfterCrushExceptName: () => FillAvailableSpaceAfterCrushExceptName,
|
39
|
+
FillAvailableSpaceAfterCrush: () => FillAvailableSpaceAfterCrush,
|
40
|
+
CanPinRowsRelativeToTable: () => CanPinRowsRelativeToTable,
|
41
|
+
CanPinRowsRelativeToRows: () => CanPinRowsRelativeToRows,
|
42
|
+
Basic: () => Basic,
|
43
|
+
AutoCrushColumnsExceptName: () => AutoCrushColumnsExceptName,
|
44
|
+
AutoCrushColumns: () => AutoCrushColumns
|
45
|
+
});
|
46
|
+
module.exports = __toCommonJS(exports_ReactTanstackTableUiStory_stories);
|
47
|
+
var import_react_table = require("@tanstack/react-table");
|
48
|
+
var import___ = require("..");
|
49
|
+
var import_ReactTanstackTableUiStoryComponent = require("./ReactTanstackTableUiStoryComponent.cjs");
|
50
|
+
var import_createSourceCode = require("./createSourceCode.cjs");
|
51
|
+
var meta = {
|
52
|
+
title: "ReactTanstackTableUi",
|
53
|
+
component: import_ReactTanstackTableUiStoryComponent.ReactTanstackTableUi,
|
54
|
+
parameters: {
|
55
|
+
layout: "centered"
|
56
|
+
},
|
57
|
+
argTypes: {
|
58
|
+
data: { control: "select" },
|
59
|
+
columns: { control: "select" },
|
60
|
+
pinColsRelativeTo: { control: "select", options: ["cols", "table"] },
|
61
|
+
skin: {
|
62
|
+
control: "object",
|
63
|
+
table: { disable: true }
|
64
|
+
}
|
65
|
+
},
|
66
|
+
args: {
|
67
|
+
width: 600,
|
68
|
+
height: 400,
|
69
|
+
skin: import___.AnoccaSkin,
|
70
|
+
autoCrushColumns: false,
|
71
|
+
data: "big",
|
72
|
+
columns: "few",
|
73
|
+
getCoreRowModel: import_react_table.getCoreRowModel(),
|
74
|
+
pinColsRelativeTo: "cols",
|
75
|
+
fillAvailableSpaceAfterCrush: false,
|
76
|
+
scrollbarWidth: 16,
|
77
|
+
getRowId: (row) => row.id
|
78
|
+
}
|
79
|
+
};
|
80
|
+
var ReactTanstackTableUiStory_stories_default = meta;
|
81
|
+
var Basic = {
|
82
|
+
args: {
|
83
|
+
enableColumnPinning: true,
|
84
|
+
autoCrushColumns: false,
|
85
|
+
fillAvailableSpaceAfterCrush: false,
|
86
|
+
pinColsRelativeTo: "cols"
|
87
|
+
},
|
88
|
+
parameters: {
|
89
|
+
docs: {
|
90
|
+
source: { language: "tsx", code: import_createSourceCode.createSourceCode() }
|
91
|
+
}
|
92
|
+
}
|
93
|
+
};
|
94
|
+
var AutoCrushColumns = {
|
95
|
+
args: {
|
96
|
+
autoCrushColumns: true
|
97
|
+
},
|
98
|
+
parameters: {
|
99
|
+
docs: {
|
100
|
+
source: {
|
101
|
+
language: "tsx",
|
102
|
+
code: import_createSourceCode.createSourceCode({ props: " autoCrushColumns" })
|
103
|
+
}
|
104
|
+
}
|
105
|
+
}
|
106
|
+
};
|
107
|
+
var AutoCrushColumnsExceptName = {
|
108
|
+
args: {
|
109
|
+
autoCrushColumns: true,
|
110
|
+
enableColumnPinning: true,
|
111
|
+
meta: {
|
112
|
+
name: {
|
113
|
+
autoCrush: false
|
114
|
+
}
|
115
|
+
}
|
116
|
+
},
|
117
|
+
parameters: {
|
118
|
+
docs: {
|
119
|
+
source: {
|
120
|
+
language: "tsx",
|
121
|
+
code: import_createSourceCode.createSourceCode({
|
122
|
+
props: " autoCrushColumns",
|
123
|
+
nameMeta: " autoCrush: false,"
|
124
|
+
})
|
125
|
+
}
|
126
|
+
}
|
127
|
+
}
|
128
|
+
};
|
129
|
+
var PinRelativeToCols = {
|
130
|
+
args: {
|
131
|
+
autoCrushColumns: true,
|
132
|
+
pinColsRelativeTo: "cols",
|
133
|
+
enableColumnPinning: true,
|
134
|
+
initialState: {
|
135
|
+
columnPinning: {
|
136
|
+
right: ["city"]
|
137
|
+
}
|
138
|
+
}
|
139
|
+
}
|
140
|
+
};
|
141
|
+
var PinRelativeToTable = {
|
142
|
+
args: {
|
143
|
+
autoCrushColumns: true,
|
144
|
+
pinColsRelativeTo: "table",
|
145
|
+
enableColumnPinning: true,
|
146
|
+
initialState: {
|
147
|
+
columnPinning: {
|
148
|
+
right: ["city"]
|
149
|
+
}
|
150
|
+
}
|
151
|
+
}
|
152
|
+
};
|
153
|
+
var FillAvailableSpaceAfterCrush = {
|
154
|
+
args: {
|
155
|
+
autoCrushColumns: true,
|
156
|
+
fillAvailableSpaceAfterCrush: true
|
157
|
+
}
|
158
|
+
};
|
159
|
+
var FillAvailableSpaceAfterCrushExceptName = {
|
160
|
+
args: {
|
161
|
+
autoCrushColumns: true,
|
162
|
+
fillAvailableSpaceAfterCrush: true,
|
163
|
+
meta: {
|
164
|
+
name: {
|
165
|
+
fillAvailableSpaceAfterCrush: false
|
166
|
+
}
|
167
|
+
}
|
168
|
+
},
|
169
|
+
parameters: {
|
170
|
+
docs: {
|
171
|
+
source: {
|
172
|
+
language: "tsx",
|
173
|
+
code: import_createSourceCode.createSourceCode({
|
174
|
+
props: ` autoCrushColumns
|
175
|
+
fillAvailableSpaceAfterCrush`,
|
176
|
+
nameMeta: " fillAvailableSpaceAfterCrush: false,"
|
177
|
+
})
|
178
|
+
}
|
179
|
+
}
|
180
|
+
}
|
181
|
+
};
|
182
|
+
var FillAvailableSpaceAfterCrushWithoutSpecifiedScrollbarWidth = {
|
183
|
+
args: {
|
184
|
+
autoCrushColumns: true,
|
185
|
+
fillAvailableSpaceAfterCrush: true,
|
186
|
+
scrollbarWidth: 0
|
187
|
+
}
|
188
|
+
};
|
189
|
+
var CanPinRowsRelativeToRows = {
|
190
|
+
args: {
|
191
|
+
enableRowPinning: true,
|
192
|
+
enableColumnPinning: true,
|
193
|
+
data: "small",
|
194
|
+
pinRowsRelativeTo: "rows",
|
195
|
+
initialState: {
|
196
|
+
rowPinning: {
|
197
|
+
bottom: ["3"]
|
198
|
+
}
|
199
|
+
}
|
200
|
+
}
|
201
|
+
};
|
202
|
+
var CanPinRowsRelativeToTable = {
|
203
|
+
args: {
|
204
|
+
enableRowPinning: true,
|
205
|
+
enableColumnPinning: true,
|
206
|
+
data: "small",
|
207
|
+
pinRowsRelativeTo: "table",
|
208
|
+
initialState: {
|
209
|
+
rowPinning: {
|
210
|
+
bottom: ["3"]
|
211
|
+
}
|
212
|
+
}
|
213
|
+
}
|
214
|
+
};
|
215
|
+
var SizeByLargestHeader = {
|
216
|
+
args: {
|
217
|
+
autoCrushColumns: true,
|
218
|
+
crushMinSizeBy: "cell"
|
219
|
+
}
|
220
|
+
};
|
221
|
+
var SizeByLargestHeaderWithMeta = {
|
222
|
+
args: {
|
223
|
+
autoCrushColumns: true,
|
224
|
+
crushMinSizeBy: "header",
|
225
|
+
enableColumnPinning: true,
|
226
|
+
meta: {
|
227
|
+
age: {
|
228
|
+
crushMinSizeBy: "cell"
|
229
|
+
}
|
230
|
+
}
|
231
|
+
}
|
232
|
+
};
|
233
|
+
|
234
|
+
//# debugId=97BE60FB8925585064756E2164756E21
|
@@ -0,0 +1,10 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../src/stories/ReactTanstackTableUiStory.stories.tsx"],
|
4
|
+
"sourcesContent": [
|
5
|
+
"import type { Meta, StoryObj } from \"@storybook/react\";\n\nimport { getCoreRowModel } from \"@tanstack/react-table\";\nimport { AnoccaSkin } from \"..\";\nimport { ReactTanstackTableUi } from \"./ReactTanstackTableUiStoryComponent.cjs\";\nimport { createSourceCode } from \"./createSourceCode.cjs\";\n\n// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export\nconst meta = {\n title: \"ReactTanstackTableUi\",\n component: ReactTanstackTableUi,\n parameters: {\n // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout\n layout: \"centered\",\n },\n // More on argTypes: https://storybook.js.org/docs/api/argtypes\n argTypes: {\n data: { control: \"select\" },\n columns: { control: \"select\" },\n pinColsRelativeTo: { control: \"select\", options: [\"cols\", \"table\"] },\n skin: {\n control: \"object\",\n table: { disable: true },\n },\n },\n // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args\n args: {\n width: 600,\n height: 400,\n skin: AnoccaSkin,\n autoCrushColumns: false,\n data: \"big\",\n columns: \"few\",\n getCoreRowModel: getCoreRowModel(),\n pinColsRelativeTo: \"cols\",\n fillAvailableSpaceAfterCrush: false,\n scrollbarWidth: 16,\n getRowId: (row) => row.id,\n },\n} satisfies Meta<typeof ReactTanstackTableUi>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const Basic: Story = {\n args: {\n enableColumnPinning: true,\n autoCrushColumns: false,\n fillAvailableSpaceAfterCrush: false,\n pinColsRelativeTo: \"cols\",\n },\n parameters: {\n docs: {\n source: { language: \"tsx\", code: createSourceCode() },\n },\n },\n};\n\nexport const AutoCrushColumns: Story = {\n args: {\n autoCrushColumns: true,\n },\n parameters: {\n docs: {\n source: {\n language: \"tsx\",\n code: createSourceCode({ props: \" autoCrushColumns\" }),\n },\n },\n },\n};\n\nexport const AutoCrushColumnsExceptName: Story = {\n args: {\n autoCrushColumns: true,\n enableColumnPinning: true,\n meta: {\n name: {\n autoCrush: false,\n },\n },\n },\n parameters: {\n docs: {\n source: {\n language: \"tsx\",\n code: createSourceCode({\n props: \" autoCrushColumns\",\n nameMeta: \" autoCrush: false,\",\n }),\n },\n },\n },\n};\n\nexport const PinRelativeToCols: Story = {\n args: {\n autoCrushColumns: true,\n pinColsRelativeTo: \"cols\",\n enableColumnPinning: true,\n initialState: {\n columnPinning: {\n right: [\"city\"],\n },\n },\n },\n};\n\nexport const PinRelativeToTable: Story = {\n args: {\n autoCrushColumns: true,\n pinColsRelativeTo: \"table\",\n enableColumnPinning: true,\n initialState: {\n columnPinning: {\n right: [\"city\"],\n },\n },\n },\n};\n\nexport const FillAvailableSpaceAfterCrush: Story = {\n args: {\n autoCrushColumns: true,\n fillAvailableSpaceAfterCrush: true,\n },\n};\n\nexport const FillAvailableSpaceAfterCrushExceptName: Story = {\n args: {\n autoCrushColumns: true,\n fillAvailableSpaceAfterCrush: true,\n meta: {\n name: {\n fillAvailableSpaceAfterCrush: false,\n },\n },\n },\n parameters: {\n docs: {\n source: {\n language: \"tsx\",\n code: createSourceCode({\n props: \" autoCrushColumns\\n fillAvailableSpaceAfterCrush\",\n nameMeta: \" fillAvailableSpaceAfterCrush: false,\",\n }),\n },\n },\n },\n};\n\nexport const FillAvailableSpaceAfterCrushWithoutSpecifiedScrollbarWidth: Story =\n {\n args: {\n autoCrushColumns: true,\n fillAvailableSpaceAfterCrush: true,\n scrollbarWidth: 0,\n },\n };\n\nexport const CanPinRowsRelativeToRows: Story = {\n args: {\n enableRowPinning: true,\n enableColumnPinning: true,\n data: \"small\",\n pinRowsRelativeTo: \"rows\",\n initialState: {\n rowPinning: {\n bottom: [\"3\"],\n },\n },\n },\n};\n\nexport const CanPinRowsRelativeToTable: Story = {\n args: {\n enableRowPinning: true,\n enableColumnPinning: true,\n data: \"small\",\n pinRowsRelativeTo: \"table\",\n initialState: {\n rowPinning: {\n bottom: [\"3\"],\n },\n },\n },\n};\n\nexport const SizeByLargestHeader: Story = {\n args: {\n autoCrushColumns: true,\n crushMinSizeBy: \"cell\",\n },\n};\n\nexport const SizeByLargestHeaderWithMeta: Story = {\n args: {\n autoCrushColumns: true,\n crushMinSizeBy: \"header\",\n enableColumnPinning: true,\n meta: {\n age: {\n crushMinSizeBy: 'cell',\n },\n },\n },\n};\n"
|
6
|
+
],
|
7
|
+
"mappings": "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",
|
8
|
+
"debugId": "97BE60FB8925585064756E2164756E21",
|
9
|
+
"names": []
|
10
|
+
}
|
@@ -0,0 +1,147 @@
|
|
1
|
+
var __create = Object.create;
|
2
|
+
var __getProtoOf = Object.getPrototypeOf;
|
3
|
+
var __defProp = Object.defineProperty;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
12
|
+
__defProp(to, key, {
|
13
|
+
get: () => mod[key],
|
14
|
+
enumerable: true
|
15
|
+
});
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __moduleCache = /* @__PURE__ */ new WeakMap;
|
19
|
+
var __toCommonJS = (from) => {
|
20
|
+
var entry = __moduleCache.get(from), desc;
|
21
|
+
if (entry)
|
22
|
+
return entry;
|
23
|
+
entry = __defProp({}, "__esModule", { value: true });
|
24
|
+
if (from && typeof from === "object" || typeof from === "function")
|
25
|
+
__getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
|
26
|
+
get: () => from[key],
|
27
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
28
|
+
}));
|
29
|
+
__moduleCache.set(from, entry);
|
30
|
+
return entry;
|
31
|
+
};
|
32
|
+
var __export = (target, all) => {
|
33
|
+
for (var name in all)
|
34
|
+
__defProp(target, name, {
|
35
|
+
get: all[name],
|
36
|
+
enumerable: true,
|
37
|
+
configurable: true,
|
38
|
+
set: (newValue) => all[name] = () => newValue
|
39
|
+
});
|
40
|
+
};
|
41
|
+
|
42
|
+
// packages/skin-anocca/src/stories/ReactTanstackTableUiStoryComponent.tsx
|
43
|
+
var exports_ReactTanstackTableUiStoryComponent = {};
|
44
|
+
__export(exports_ReactTanstackTableUiStoryComponent, {
|
45
|
+
ReactTanstackTableUi: () => ReactTanstackTableUi
|
46
|
+
});
|
47
|
+
module.exports = __toCommonJS(exports_ReactTanstackTableUiStoryComponent);
|
48
|
+
var import_material = require("@mui/material");
|
49
|
+
var import_styles = require("@mui/material/styles");
|
50
|
+
var import_core = require("@rttui/core");
|
51
|
+
var import_react_table = require("@tanstack/react-table");
|
52
|
+
var import_HeaderPinButtons = require("../HeaderPinButtons.cjs");
|
53
|
+
var import_react = __toESM(require("react"));
|
54
|
+
var import_RowPinButtons = require("../RowPinButtons.cjs");
|
55
|
+
var jsx_runtime = require("react/jsx-runtime");
|
56
|
+
var smallData = [
|
57
|
+
{ id: "1", name: "John", age: 20, city: "New York" },
|
58
|
+
{ id: "2", name: "Jane", age: 21, city: "Los Angeles" },
|
59
|
+
{ id: "3", name: "Jim", age: 22, city: "Chicago" }
|
60
|
+
];
|
61
|
+
var bigData = Array.from({ length: 1000 }, (_, i) => ({
|
62
|
+
id: i.toString(),
|
63
|
+
name: `Person ${i}`,
|
64
|
+
age: 20 + i,
|
65
|
+
city: `City ${i}`,
|
66
|
+
...Object.fromEntries(Array.from({ length: 100 }, (_2, j) => [`col${j}`, `Value ${i}-${j}`]))
|
67
|
+
}));
|
68
|
+
var ReactTanstackTableUi = (props) => {
|
69
|
+
const theme = import_styles.useTheme();
|
70
|
+
const data = props.data === "big" ? bigData : smallData;
|
71
|
+
const columns = import_react.default.useMemo(() => {
|
72
|
+
const columnHelper = import_core.decorateColumnHelper(import_react_table.createColumnHelper(), {
|
73
|
+
header: (original) => /* @__PURE__ */ jsx_runtime.jsxs(import_material.Box, {
|
74
|
+
sx: { display: "flex", gap: 2 },
|
75
|
+
children: [
|
76
|
+
original,
|
77
|
+
props.enableColumnPinning && /* @__PURE__ */ jsx_runtime.jsx(import_HeaderPinButtons.HeaderPinButtons, {})
|
78
|
+
]
|
79
|
+
})
|
80
|
+
});
|
81
|
+
const fewColumns = [
|
82
|
+
columnHelper.accessor("name", {
|
83
|
+
header: "Name",
|
84
|
+
cell: (info) => /* @__PURE__ */ jsx_runtime.jsxs(import_material.Box, {
|
85
|
+
sx: { display: "flex", gap: 2, flex: 1 },
|
86
|
+
children: [
|
87
|
+
/* @__PURE__ */ jsx_runtime.jsx(import_material.Typography, {
|
88
|
+
variant: "body2",
|
89
|
+
children: info.getValue()
|
90
|
+
}),
|
91
|
+
props.enableRowPinning && /* @__PURE__ */ jsx_runtime.jsx(import_material.Box, {
|
92
|
+
sx: { flexGrow: 1 }
|
93
|
+
}),
|
94
|
+
props.enableRowPinning && /* @__PURE__ */ jsx_runtime.jsx(import_RowPinButtons.RowPinButtons, {
|
95
|
+
row: info.row
|
96
|
+
})
|
97
|
+
]
|
98
|
+
}),
|
99
|
+
meta: props.meta?.["name"]
|
100
|
+
}),
|
101
|
+
columnHelper.accessor("age", {
|
102
|
+
header: "Age",
|
103
|
+
meta: props.meta?.["age"],
|
104
|
+
cell: (info) => /* @__PURE__ */ jsx_runtime.jsx(import_material.Typography, {
|
105
|
+
variant: "body2",
|
106
|
+
children: info.getValue()
|
107
|
+
}),
|
108
|
+
size: 50
|
109
|
+
}),
|
110
|
+
columnHelper.accessor("city", {
|
111
|
+
header: "City",
|
112
|
+
meta: props.meta?.["city"],
|
113
|
+
cell: (info) => /* @__PURE__ */ jsx_runtime.jsx(import_material.Typography, {
|
114
|
+
variant: "body2",
|
115
|
+
children: info.getValue()
|
116
|
+
})
|
117
|
+
})
|
118
|
+
];
|
119
|
+
const manyColumns = [
|
120
|
+
...fewColumns,
|
121
|
+
...Array.from({ length: 100 }, (_, i) => columnHelper.accessor(`col${i}`, {
|
122
|
+
header: `Column ${i}`,
|
123
|
+
cell: (info) => /* @__PURE__ */ jsx_runtime.jsx(import_material.Typography, {
|
124
|
+
variant: "body2",
|
125
|
+
children: info.getValue()
|
126
|
+
})
|
127
|
+
}))
|
128
|
+
];
|
129
|
+
return props.columns === "few" ? fewColumns : manyColumns;
|
130
|
+
}, [props.columns, props.enableColumnPinning, props.enableRowPinning, props.meta]);
|
131
|
+
const table = import_react_table.useReactTable({
|
132
|
+
...props,
|
133
|
+
data,
|
134
|
+
columns
|
135
|
+
});
|
136
|
+
return /* @__PURE__ */ jsx_runtime.jsx(import_material.ScopedCssBaseline, {
|
137
|
+
children: /* @__PURE__ */ jsx_runtime.jsx(import_material.ThemeProvider, {
|
138
|
+
theme,
|
139
|
+
children: /* @__PURE__ */ jsx_runtime.jsx(import_core.ReactTanstackTableUi, {
|
140
|
+
...props,
|
141
|
+
table
|
142
|
+
})
|
143
|
+
})
|
144
|
+
});
|
145
|
+
};
|
146
|
+
|
147
|
+
//# debugId=220561BCEDE9C10664756E2164756E21
|
@@ -0,0 +1,10 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../src/stories/ReactTanstackTableUiStoryComponent.tsx"],
|
4
|
+
"sourcesContent": [
|
5
|
+
"import { Box, ScopedCssBaseline, ThemeProvider, Typography } from \"@mui/material\";\nimport { useTheme } from \"@mui/material/styles\";\nimport {\n decorateColumnHelper,\n ReactTanstackTableUi as TableComponent,\n} from \"@rttui/core\";\nimport {\n ColumnDef,\n ColumnMeta,\n createColumnHelper,\n Table,\n TableOptions,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport { HeaderPinButtons } from \"../HeaderPinButtons.cjs\";\nimport React from \"react\";\nimport { RowPinButtons } from \"../RowPinButtons.cjs\";\ntype Person = {\n id: string;\n name: string;\n age: number;\n city: string;\n} & Record<`col${number}`, string>;\n\nconst smallData: Person[] = [\n { id: \"1\", name: \"John\", age: 20, city: \"New York\" },\n { id: \"2\", name: \"Jane\", age: 21, city: \"Los Angeles\" },\n { id: \"3\", name: \"Jim\", age: 22, city: \"Chicago\" },\n];\n\nconst bigData: Person[] = Array.from({ length: 1000 }, (_, i) => ({\n id: i.toString(),\n name: `Person ${i}`,\n age: 20 + i,\n city: `City ${i}`,\n ...Object.fromEntries(\n Array.from({ length: 100 }, (_, j) => [`col${j}`, `Value ${i}-${j}`]),\n ),\n}));\n\nexport const ReactTanstackTableUi = (\n props: {\n data: \"big\" | \"small\";\n columns: \"many\" | \"few\";\n meta?: Record<string, ColumnMeta<Person, string>>;\n } & Omit<TableOptions<Person>, \"data\" | \"columns\"> &\n Omit<React.ComponentProps<typeof TableComponent>, \"table\">,\n) => {\n const theme = useTheme();\n const data: Person[] = props.data === \"big\" ? bigData : smallData;\n\n const columns: ColumnDef<Person>[] = React.useMemo(() => {\n const columnHelper = decorateColumnHelper(createColumnHelper<Person>(), {\n header: (original) => (\n <Box sx={{ display: \"flex\", gap: 2 }}>\n {original}\n {props.enableColumnPinning && <HeaderPinButtons />}\n </Box>\n ),\n });\n\n const fewColumns = [\n columnHelper.accessor(\"name\", {\n header: \"Name\",\n cell: (info) => (\n <Box sx={{ display: \"flex\", gap: 2, flex: 1 }}>\n <Typography variant=\"body2\">{info.getValue()}</Typography>\n {props.enableRowPinning && <Box sx={{ flexGrow: 1 }} />}\n {props.enableRowPinning && <RowPinButtons row={info.row} />}\n </Box>\n ),\n meta: props.meta?.[\"name\"],\n }),\n columnHelper.accessor(\"age\", {\n header: \"Age\",\n meta: props.meta?.[\"age\"],\n cell: (info) => <Typography variant=\"body2\">{info.getValue()}</Typography>,\n size: 50,\n }),\n columnHelper.accessor(\"city\", {\n header: \"City\",\n meta: props.meta?.[\"city\"],\n cell: (info) => <Typography variant=\"body2\">{info.getValue()}</Typography>,\n }),\n ];\n\n const manyColumns = [\n ...fewColumns,\n ...Array.from({ length: 100 }, (_, i) =>\n columnHelper.accessor(`col${i}`, {\n header: `Column ${i}`,\n cell: (info) => <Typography variant=\"body2\">{info.getValue()}</Typography>,\n }),\n ),\n ];\n\n return props.columns === \"few\" ? fewColumns : manyColumns;\n }, [props.columns, props.enableColumnPinning, props.enableRowPinning, props.meta]);\n\n const table = useReactTable({\n ...props,\n data,\n columns,\n });\n\n return (\n <ScopedCssBaseline>\n <ThemeProvider theme={theme}>\n <TableComponent {...props} table={table as Table<unknown>} />\n </ThemeProvider>\n </ScopedCssBaseline>\n );\n};\n"
|
6
|
+
],
|
7
|
+
"mappings": "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",
|
8
|
+
"debugId": "220561BCEDE9C10664756E2164756E21",
|
9
|
+
"names": []
|
10
|
+
}
|
@@ -0,0 +1,92 @@
|
|
1
|
+
var __defProp = Object.defineProperty;
|
2
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
5
|
+
var __moduleCache = /* @__PURE__ */ new WeakMap;
|
6
|
+
var __toCommonJS = (from) => {
|
7
|
+
var entry = __moduleCache.get(from), desc;
|
8
|
+
if (entry)
|
9
|
+
return entry;
|
10
|
+
entry = __defProp({}, "__esModule", { value: true });
|
11
|
+
if (from && typeof from === "object" || typeof from === "function")
|
12
|
+
__getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
|
13
|
+
get: () => from[key],
|
14
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
15
|
+
}));
|
16
|
+
__moduleCache.set(from, entry);
|
17
|
+
return entry;
|
18
|
+
};
|
19
|
+
var __export = (target, all) => {
|
20
|
+
for (var name in all)
|
21
|
+
__defProp(target, name, {
|
22
|
+
get: all[name],
|
23
|
+
enumerable: true,
|
24
|
+
configurable: true,
|
25
|
+
set: (newValue) => all[name] = () => newValue
|
26
|
+
});
|
27
|
+
};
|
28
|
+
|
29
|
+
// packages/skin-anocca/src/stories/createSourceCode.ts
|
30
|
+
var exports_createSourceCode = {};
|
31
|
+
__export(exports_createSourceCode, {
|
32
|
+
createSourceCode: () => createSourceCode
|
33
|
+
});
|
34
|
+
module.exports = __toCommonJS(exports_createSourceCode);
|
35
|
+
var createSourceCode = (opts) => {
|
36
|
+
return `import { createColumnHelper, useReactTable, getCoreRowModel } from "@tanstack/react-table";
|
37
|
+
import { Box } from "@mui/material";
|
38
|
+
import { HeaderPinButtons } from "@rttui/skin-anocca";
|
39
|
+
import { ReactTanstackTableUi, decorateColumnHelper } from "@rttui/core";
|
40
|
+
|
41
|
+
type Person = {
|
42
|
+
id: string;
|
43
|
+
name: string;
|
44
|
+
age: number;
|
45
|
+
city: string;
|
46
|
+
};
|
47
|
+
|
48
|
+
const data: Person[] = [
|
49
|
+
{ id: "1", name: "John", age: 20, city: "New York" },
|
50
|
+
{ id: "2", name: "Jane", age: 21, city: "Los Angeles" },
|
51
|
+
{ id: "3", name: "Jim", age: 22, city: "Chicago" },
|
52
|
+
];
|
53
|
+
|
54
|
+
const columnHelper = decorateColumnHelper(createColumnHelper<Person>(), {
|
55
|
+
header: (original) => (
|
56
|
+
<Box sx={{ display: "flex", gap: 2 }}>
|
57
|
+
{original}
|
58
|
+
{props.enableColumnPinning && <HeaderPinButtons />}
|
59
|
+
</Box>
|
60
|
+
),
|
61
|
+
});
|
62
|
+
|
63
|
+
const columns = [
|
64
|
+
columnHelper.accessor("name", {
|
65
|
+
header: "Name",${opts?.nameMeta ? `
|
66
|
+
` + opts.nameMeta : ""}
|
67
|
+
}),
|
68
|
+
columnHelper.accessor("age", {
|
69
|
+
header: "Age",
|
70
|
+
size: 50,
|
71
|
+
}),
|
72
|
+
columnHelper.accessor("city", {
|
73
|
+
header: "City",
|
74
|
+
}),
|
75
|
+
];
|
76
|
+
|
77
|
+
const table = useReactTable({
|
78
|
+
data,
|
79
|
+
columns,
|
80
|
+
getCoreRowModel: getCoreRowModel()${opts?.hookOptions ? `
|
81
|
+
` + opts.hookOptions : ""}
|
82
|
+
});
|
83
|
+
|
84
|
+
<ReactTanstackTableUi
|
85
|
+
table={table}
|
86
|
+
enableColumnPinning${opts?.props ? `
|
87
|
+
` + opts.props : ""}
|
88
|
+
/>
|
89
|
+
`;
|
90
|
+
};
|
91
|
+
|
92
|
+
//# debugId=6983E6EC5F7C00DB64756E2164756E21
|
@@ -0,0 +1,10 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../../src/stories/createSourceCode.ts"],
|
4
|
+
"sourcesContent": [
|
5
|
+
"export const createSourceCode = (opts?: { hookOptions?: string, props?: string, nameMeta?: string }) => {\n return `import { createColumnHelper, useReactTable, getCoreRowModel } from \"@tanstack/react-table\";\nimport { Box } from \"@mui/material\";\nimport { HeaderPinButtons } from \"@rttui/skin-anocca\";\nimport { ReactTanstackTableUi, decorateColumnHelper } from \"@rttui/core\";\n\ntype Person = {\n id: string;\n name: string;\n age: number;\n city: string;\n};\n\nconst data: Person[] = [\n { id: \"1\", name: \"John\", age: 20, city: \"New York\" },\n { id: \"2\", name: \"Jane\", age: 21, city: \"Los Angeles\" },\n { id: \"3\", name: \"Jim\", age: 22, city: \"Chicago\" },\n];\n\nconst columnHelper = decorateColumnHelper(createColumnHelper<Person>(), {\n header: (original) => (\n <Box sx={{ display: \"flex\", gap: 2 }}>\n {original}\n {props.enableColumnPinning && <HeaderPinButtons />}\n </Box>\n ),\n});\n\nconst columns = [\n columnHelper.accessor(\"name\", {\n header: \"Name\",${opts?.nameMeta ? '\\n' + opts.nameMeta : ''}\n }),\n columnHelper.accessor(\"age\", {\n header: \"Age\",\n size: 50,\n }),\n columnHelper.accessor(\"city\", {\n header: \"City\",\n }),\n];\n\nconst table = useReactTable({\n data,\n columns,\n getCoreRowModel: getCoreRowModel()${opts?.hookOptions ? '\\n' + opts.hookOptions : ''}\n});\n\n<ReactTanstackTableUi\n table={table}\n enableColumnPinning${opts?.props ? '\\n' + opts.props : ''}\n/>\n`;\n};\n"
|
6
|
+
],
|
7
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAM,mBAAmB,CAAC,SAAuE;AAAA,EACtG,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBA6BY,MAAM,WAAW;AAAA,IAAO,KAAK,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAcvB,MAAM,cAAc;AAAA,IAAO,KAAK,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,uBAK7D,MAAM,QAAQ;AAAA,IAAO,KAAK,QAAQ;AAAA;AAAA;AAAA;",
|
8
|
+
"debugId": "6983E6EC5F7C00DB64756E2164756E21",
|
9
|
+
"names": []
|
10
|
+
}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
// packages/skin-anocca/src/HeaderPinButtons.tsx
|
2
|
+
import { useVirtualHeader } from "@rttui/core";
|
3
|
+
import { MdChevronLeft, MdChevronRight, MdClose } from "react-icons/md";
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
5
|
+
var HeaderPinButtons = () => {
|
6
|
+
const vHeader = useVirtualHeader();
|
7
|
+
const header = vHeader.header;
|
8
|
+
if (!header) {
|
9
|
+
return null;
|
10
|
+
}
|
11
|
+
const isPinned = vHeader.isPinned;
|
12
|
+
return /* @__PURE__ */ jsxs("div", {
|
13
|
+
style: { display: "flex", gap: "-4px", justifyContent: "flex-start" },
|
14
|
+
children: [
|
15
|
+
isPinned !== "start" ? /* @__PURE__ */ jsx("button", {
|
16
|
+
style: {
|
17
|
+
border: "none",
|
18
|
+
background: "transparent",
|
19
|
+
cursor: "pointer",
|
20
|
+
padding: "2px",
|
21
|
+
borderRadius: "4px",
|
22
|
+
display: "flex",
|
23
|
+
alignItems: "center",
|
24
|
+
opacity: 0.5
|
25
|
+
},
|
26
|
+
onClick: () => {
|
27
|
+
if (!header) {
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
header.column.pin("left");
|
31
|
+
},
|
32
|
+
children: /* @__PURE__ */ jsx(MdChevronLeft, {})
|
33
|
+
}) : null,
|
34
|
+
isPinned ? /* @__PURE__ */ jsx("button", {
|
35
|
+
style: {
|
36
|
+
border: "none",
|
37
|
+
background: "transparent",
|
38
|
+
cursor: "pointer",
|
39
|
+
padding: "2px",
|
40
|
+
borderRadius: "4px",
|
41
|
+
display: "flex",
|
42
|
+
alignItems: "center",
|
43
|
+
opacity: 0.7
|
44
|
+
},
|
45
|
+
onClick: () => {
|
46
|
+
if (!header) {
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
header.column.pin(false);
|
50
|
+
},
|
51
|
+
children: /* @__PURE__ */ jsx(MdClose, {})
|
52
|
+
}) : null,
|
53
|
+
isPinned !== "end" ? /* @__PURE__ */ jsx("button", {
|
54
|
+
style: {
|
55
|
+
border: "none",
|
56
|
+
background: "transparent",
|
57
|
+
cursor: "pointer",
|
58
|
+
padding: "2px",
|
59
|
+
borderRadius: "4px",
|
60
|
+
display: "flex",
|
61
|
+
alignItems: "center",
|
62
|
+
opacity: 0.5
|
63
|
+
},
|
64
|
+
onClick: () => {
|
65
|
+
if (!header) {
|
66
|
+
return;
|
67
|
+
}
|
68
|
+
header.column.pin("right");
|
69
|
+
},
|
70
|
+
children: /* @__PURE__ */ jsx(MdChevronRight, {})
|
71
|
+
}) : null
|
72
|
+
]
|
73
|
+
});
|
74
|
+
};
|
75
|
+
export {
|
76
|
+
HeaderPinButtons
|
77
|
+
};
|
78
|
+
|
79
|
+
//# debugId=8CD8FF0777DDCA1E64756E2164756E21
|
@@ -0,0 +1,10 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../src/HeaderPinButtons.tsx"],
|
4
|
+
"sourcesContent": [
|
5
|
+
"import { useVirtualHeader } from \"@rttui/core\";\nimport { MdChevronLeft, MdChevronRight, MdClose } from \"react-icons/md\";\n\nexport const HeaderPinButtons = () => {\n const vHeader = useVirtualHeader();\n const header = vHeader.header;\n if (!header) {\n return null;\n }\n const isPinned = vHeader.isPinned;\n return (\n <div style={{ display: \"flex\", gap: \"-4px\", justifyContent: \"flex-start\" }}>\n {isPinned !== \"start\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n if (!header) {\n return;\n }\n header.column.pin(\"left\");\n }}\n >\n <MdChevronLeft />\n </button>\n ) : null}\n {isPinned ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.7,\n }}\n onClick={() => {\n if (!header) {\n return;\n }\n header.column.pin(false);\n }}\n >\n <MdClose />\n </button>\n ) : null}\n {isPinned !== \"end\" ? (\n <button\n style={{\n border: \"none\",\n background: \"transparent\",\n cursor: \"pointer\",\n padding: \"2px\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n opacity: 0.5,\n }}\n onClick={() => {\n if (!header) {\n return;\n }\n header.column.pin(\"right\");\n }}\n >\n <MdChevronRight />\n </button>\n ) : null}\n </div>\n );\n};\n"
|
6
|
+
],
|
7
|
+
"mappings": ";AAAA;AACA;AAAA;AAEO,IAAM,mBAAmB,MAAM;AAAA,EACpC,MAAM,UAAU,iBAAiB;AAAA,EACjC,MAAM,SAAS,QAAQ;AAAA,EACvB,KAAK,QAAQ;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EACA,MAAM,WAAW,QAAQ;AAAA,EACzB,uBACE,KAmEE,OAnEF;AAAA,IAAK,OAAO,EAAE,SAAS,QAAQ,KAAK,QAAQ,gBAAgB,aAAa;AAAA,IAAzE,UAmEE;AAAA,MAlEC,aAAa,0BACZ,IAmBE,UAnBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,KAAK,QAAQ;AAAA,YACX;AAAA,UACF;AAAA,UACA,OAAO,OAAO,IAAI,MAAM;AAAA;AAAA,QAf5B,0BAkBE,IAAC,eAAD,EAAe;AAAA,OACf,IACA;AAAA,MACH,2BACC,IAmBE,UAnBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,KAAK,QAAQ;AAAA,YACX;AAAA,UACF;AAAA,UACA,OAAO,OAAO,IAAI,KAAK;AAAA;AAAA,QAf3B,0BAkBE,IAAC,SAAD,EAAS;AAAA,OACT,IACA;AAAA,MACH,aAAa,wBACZ,IAmBE,UAnBF;AAAA,QACE,OAAO;AAAA,UACL,QAAQ;AAAA,UACR,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,cAAc;AAAA,UACd,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,SAAS;AAAA,QACX;AAAA,QACA,SAAS,MAAM;AAAA,UACb,KAAK,QAAQ;AAAA,YACX;AAAA,UACF;AAAA,UACA,OAAO,OAAO,IAAI,OAAO;AAAA;AAAA,QAf7B,0BAkBE,IAAC,gBAAD,EAAgB;AAAA,OAChB,IACA;AAAA;AAAA,GACJ;AAAA;",
|
8
|
+
"debugId": "8CD8FF0777DDCA1E64756E2164756E21",
|
9
|
+
"names": []
|
10
|
+
}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
// packages/skin-anocca/src/RowPinButtons.tsx
|
2
|
+
import { IconButton, Stack } from "@mui/material";
|
3
|
+
import { FiX, FiChevronUp, FiChevronDown } from "react-icons/fi";
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
5
|
+
function RowPinButtons({ row }) {
|
6
|
+
if (!row.getCanPin()) {
|
7
|
+
return null;
|
8
|
+
}
|
9
|
+
if (row.getIsPinned()) {
|
10
|
+
return /* @__PURE__ */ jsx(IconButton, {
|
11
|
+
onClick: () => row.pin(false, true, true),
|
12
|
+
size: "small",
|
13
|
+
sx: { color: "text.secondary" },
|
14
|
+
children: /* @__PURE__ */ jsx(FiX, {
|
15
|
+
size: 16
|
16
|
+
})
|
17
|
+
});
|
18
|
+
}
|
19
|
+
return /* @__PURE__ */ jsxs(Stack, {
|
20
|
+
direction: "row",
|
21
|
+
children: [
|
22
|
+
/* @__PURE__ */ jsx(IconButton, {
|
23
|
+
onClick: () => row.pin("top", true, true),
|
24
|
+
size: "small",
|
25
|
+
sx: { color: "text.secondary" },
|
26
|
+
children: /* @__PURE__ */ jsx(FiChevronUp, {
|
27
|
+
size: 16
|
28
|
+
})
|
29
|
+
}),
|
30
|
+
/* @__PURE__ */ jsx(IconButton, {
|
31
|
+
onClick: () => row.pin("bottom", true, true),
|
32
|
+
size: "small",
|
33
|
+
sx: { color: "text.secondary" },
|
34
|
+
children: /* @__PURE__ */ jsx(FiChevronDown, {
|
35
|
+
size: 16
|
36
|
+
})
|
37
|
+
})
|
38
|
+
]
|
39
|
+
});
|
40
|
+
}
|
41
|
+
export {
|
42
|
+
RowPinButtons
|
43
|
+
};
|
44
|
+
|
45
|
+
//# debugId=38BB8AEEFF76B3B064756E2164756E21
|