glide-data-grid-cells-fork 6.0.4-alpha8

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 (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/cjs/cells/article-cell-editor.css +1 -0
  4. package/dist/cjs/cells/article-cell-editor.js +98 -0
  5. package/dist/cjs/cells/article-cell-editor.js.map +1 -0
  6. package/dist/cjs/cells/article-cell-types.js +3 -0
  7. package/dist/cjs/cells/article-cell-types.js.map +1 -0
  8. package/dist/cjs/cells/article-cell.js +71 -0
  9. package/dist/cjs/cells/article-cell.js.map +1 -0
  10. package/dist/cjs/cells/button-cell.js +94 -0
  11. package/dist/cjs/cells/button-cell.js.map +1 -0
  12. package/dist/cjs/cells/date-picker-cell.css +1 -0
  13. package/dist/cjs/cells/date-picker-cell.js +138 -0
  14. package/dist/cjs/cells/date-picker-cell.js.map +1 -0
  15. package/dist/cjs/cells/dropdown-cell.css +3 -0
  16. package/dist/cjs/cells/dropdown-cell.js +235 -0
  17. package/dist/cjs/cells/dropdown-cell.js.map +1 -0
  18. package/dist/cjs/cells/links-cell.css +1 -0
  19. package/dist/cjs/cells/links-cell.js +281 -0
  20. package/dist/cjs/cells/links-cell.js.map +1 -0
  21. package/dist/cjs/cells/multi-select-cell.css +2 -0
  22. package/dist/cjs/cells/multi-select-cell.js +485 -0
  23. package/dist/cjs/cells/multi-select-cell.js.map +1 -0
  24. package/dist/cjs/cells/range-cell.js +113 -0
  25. package/dist/cjs/cells/range-cell.js.map +1 -0
  26. package/dist/cjs/cells/sparkline-cell.js +116 -0
  27. package/dist/cjs/cells/sparkline-cell.js.map +1 -0
  28. package/dist/cjs/cells/spinner-cell.js +24 -0
  29. package/dist/cjs/cells/spinner-cell.js.map +1 -0
  30. package/dist/cjs/cells/star-cell.css +1 -0
  31. package/dist/cjs/cells/star-cell.js +124 -0
  32. package/dist/cjs/cells/star-cell.js.map +1 -0
  33. package/dist/cjs/cells/tags-cell.css +1 -0
  34. package/dist/cjs/cells/tags-cell.js +152 -0
  35. package/dist/cjs/cells/tags-cell.js.map +1 -0
  36. package/dist/cjs/cells/tree-view-cell.js +57 -0
  37. package/dist/cjs/cells/tree-view-cell.js.map +1 -0
  38. package/dist/cjs/cells/user-profile-cell.js +81 -0
  39. package/dist/cjs/cells/user-profile-cell.js.map +1 -0
  40. package/dist/cjs/draw-fns.js +32 -0
  41. package/dist/cjs/draw-fns.js.map +1 -0
  42. package/dist/cjs/index.js +49 -0
  43. package/dist/cjs/index.js.map +1 -0
  44. package/dist/dts/cells/article-cell-editor.d.ts +4 -0
  45. package/dist/dts/cells/article-cell-editor.d.ts.map +1 -0
  46. package/dist/dts/cells/article-cell-types.d.ts +7 -0
  47. package/dist/dts/cells/article-cell-types.d.ts.map +1 -0
  48. package/dist/dts/cells/article-cell.d.ts +4 -0
  49. package/dist/dts/cells/article-cell.d.ts.map +1 -0
  50. package/dist/dts/cells/button-cell.d.ts +16 -0
  51. package/dist/dts/cells/button-cell.d.ts.map +1 -0
  52. package/dist/dts/cells/date-picker-cell.d.ts +18 -0
  53. package/dist/dts/cells/date-picker-cell.d.ts.map +1 -0
  54. package/dist/dts/cells/dropdown-cell.d.ts +14 -0
  55. package/dist/dts/cells/dropdown-cell.d.ts.map +1 -0
  56. package/dist/dts/cells/links-cell.d.ts +19 -0
  57. package/dist/dts/cells/links-cell.d.ts.map +1 -0
  58. package/dist/dts/cells/multi-select-cell.d.ts +43 -0
  59. package/dist/dts/cells/multi-select-cell.d.ts.map +1 -0
  60. package/dist/dts/cells/range-cell.d.ts +13 -0
  61. package/dist/dts/cells/range-cell.d.ts.map +1 -0
  62. package/dist/dts/cells/sparkline-cell.d.ts +13 -0
  63. package/dist/dts/cells/sparkline-cell.d.ts.map +1 -0
  64. package/dist/dts/cells/spinner-cell.d.ts +7 -0
  65. package/dist/dts/cells/spinner-cell.d.ts.map +1 -0
  66. package/dist/dts/cells/star-cell.d.ts +8 -0
  67. package/dist/dts/cells/star-cell.d.ts.map +1 -0
  68. package/dist/dts/cells/tags-cell.d.ts +12 -0
  69. package/dist/dts/cells/tags-cell.d.ts.map +1 -0
  70. package/dist/dts/cells/tree-view-cell.d.ts +15 -0
  71. package/dist/dts/cells/tree-view-cell.d.ts.map +1 -0
  72. package/dist/dts/cells/user-profile-cell.d.ts +11 -0
  73. package/dist/dts/cells/user-profile-cell.d.ts.map +1 -0
  74. package/dist/dts/draw-fns.d.ts +8 -0
  75. package/dist/dts/draw-fns.d.ts.map +1 -0
  76. package/dist/dts/index.d.ts +17 -0
  77. package/dist/dts/index.d.ts.map +1 -0
  78. package/dist/esm/cells/article-cell-editor.css +1 -0
  79. package/dist/esm/cells/article-cell-editor.js +62 -0
  80. package/dist/esm/cells/article-cell-editor.js.map +1 -0
  81. package/dist/esm/cells/article-cell-types.js +2 -0
  82. package/dist/esm/cells/article-cell-types.js.map +1 -0
  83. package/dist/esm/cells/article-cell.js +46 -0
  84. package/dist/esm/cells/article-cell.js.map +1 -0
  85. package/dist/esm/cells/button-cell.js +92 -0
  86. package/dist/esm/cells/button-cell.js.map +1 -0
  87. package/dist/esm/cells/date-picker-cell.css +1 -0
  88. package/dist/esm/cells/date-picker-cell.js +126 -0
  89. package/dist/esm/cells/date-picker-cell.js.map +1 -0
  90. package/dist/esm/cells/dropdown-cell.css +3 -0
  91. package/dist/esm/cells/dropdown-cell.js +199 -0
  92. package/dist/esm/cells/dropdown-cell.js.map +1 -0
  93. package/dist/esm/cells/links-cell.css +1 -0
  94. package/dist/esm/cells/links-cell.js +245 -0
  95. package/dist/esm/cells/links-cell.js.map +1 -0
  96. package/dist/esm/cells/multi-select-cell.css +2 -0
  97. package/dist/esm/cells/multi-select-cell.js +441 -0
  98. package/dist/esm/cells/multi-select-cell.js.map +1 -0
  99. package/dist/esm/cells/range-cell.js +88 -0
  100. package/dist/esm/cells/range-cell.js.map +1 -0
  101. package/dist/esm/cells/sparkline-cell.js +114 -0
  102. package/dist/esm/cells/sparkline-cell.js.map +1 -0
  103. package/dist/esm/cells/spinner-cell.js +22 -0
  104. package/dist/esm/cells/spinner-cell.js.map +1 -0
  105. package/dist/esm/cells/star-cell.css +1 -0
  106. package/dist/esm/cells/star-cell.js +88 -0
  107. package/dist/esm/cells/star-cell.js.map +1 -0
  108. package/dist/esm/cells/tags-cell.css +1 -0
  109. package/dist/esm/cells/tags-cell.js +116 -0
  110. package/dist/esm/cells/tags-cell.js.map +1 -0
  111. package/dist/esm/cells/tree-view-cell.js +55 -0
  112. package/dist/esm/cells/tree-view-cell.js.map +1 -0
  113. package/dist/esm/cells/user-profile-cell.js +56 -0
  114. package/dist/esm/cells/user-profile-cell.js.map +1 -0
  115. package/dist/esm/draw-fns.js +28 -0
  116. package/dist/esm/draw-fns.js.map +1 -0
  117. package/dist/esm/index.js +30 -0
  118. package/dist/esm/index.js.map +1 -0
  119. package/dist/index.css +8 -0
  120. package/package.json +71 -0
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {
20
+ Object.defineProperty(o, "default", {
21
+ enumerable: true,
22
+ value: v
23
+ });
24
+ } : function (o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = this && this.__importStar || function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ Object.defineProperty(exports, "__esModule", {
35
+ value: true
36
+ });
37
+ const React = __importStar(require("react"));
38
+ const react_1 = require("@linaria/react");
39
+ const react_select_1 = __importStar(require("react-select"));
40
+ const glide_data_grid_1 = require("@glideapps/glide-data-grid");
41
+ const CustomMenu = p => {
42
+ const {
43
+ Menu
44
+ } = react_select_1.components;
45
+ const {
46
+ children,
47
+ ...rest
48
+ } = p;
49
+ return React.createElement(Menu, {
50
+ ...rest
51
+ }, children);
52
+ };
53
+ const Wrap = /*#__PURE__*/react_1.styled('div')({
54
+ name: "Wrap",
55
+ class: "gdg-wghi2zc",
56
+ propsAsIs: false
57
+ });
58
+ const PortalWrap = /*#__PURE__*/react_1.styled('div')({
59
+ name: "PortalWrap",
60
+ class: "gdg-p13nj8j0",
61
+ propsAsIs: false
62
+ });
63
+ // This is required since the padding is disabled for this cell type
64
+ // The settings are based on the "pad" settings in the data-grid-overlay-editor-style.tsx
65
+ const ReadOnlyWrap = /*#__PURE__*/react_1.styled('div')({
66
+ name: "ReadOnlyWrap",
67
+ class: "gdg-r6sia3g",
68
+ propsAsIs: false
69
+ });
70
+ // Editor Component
71
+ const Editor = p => {
72
+ const {
73
+ value: cell,
74
+ onFinishedEditing,
75
+ initialValue
76
+ } = p;
77
+ const {
78
+ allowedValues,
79
+ value: valueIn,
80
+ fetchOptions
81
+ } = cell.data;
82
+ const [value, setValue] = React.useState(valueIn);
83
+ const [inputValue, setInputValue] = React.useState(initialValue ?? "");
84
+ const [options, setOptions] = React.useState(() => Array.from(allowedValues));
85
+ const theme = (0, glide_data_grid_1.useTheme)();
86
+ // Debounced API Call
87
+ React.useEffect(() => {
88
+ if (fetchOptions && inputValue) {
89
+ const timeout = setTimeout(() => {
90
+ fetchOptions(inputValue).then(fetchedOptions => setOptions(fetchedOptions)).catch(console.error);
91
+ }, 300); // Debounce delay
92
+ return () => clearTimeout(timeout);
93
+ }
94
+ }, [inputValue, fetchOptions]);
95
+ console.log("API Called...");
96
+ const values = React.useMemo(() => {
97
+ return options.map(option => {
98
+ if (typeof option === "string" || option === null || option === undefined) {
99
+ return {
100
+ value: option,
101
+ label: option?.toString() ?? ""
102
+ };
103
+ }
104
+ return option;
105
+ });
106
+ }, [options]);
107
+ if (cell.readonly) {
108
+ return React.createElement(ReadOnlyWrap, null, React.createElement(glide_data_grid_1.TextCellEntry, {
109
+ highlight: true,
110
+ autoFocus: false,
111
+ disabled: true,
112
+ value: value ?? "",
113
+ onChange: () => undefined
114
+ }));
115
+ }
116
+ return React.createElement(Wrap, null, React.createElement(react_select_1.default, {
117
+ className: "glide-select",
118
+ inputValue: inputValue,
119
+ onInputChange: setInputValue,
120
+ menuPlacement: "auto",
121
+ value: values.find(x => x.value === value),
122
+ styles: {
123
+ control: base => ({
124
+ ...base,
125
+ border: 0,
126
+ boxShadow: "none"
127
+ }),
128
+ option: (base, {
129
+ isFocused
130
+ }) => ({
131
+ ...base,
132
+ fontSize: theme.editorFontSize,
133
+ fontFamily: theme.fontFamily,
134
+ cursor: isFocused ? "pointer" : undefined,
135
+ paddingLeft: theme.cellHorizontalPadding,
136
+ paddingRight: theme.cellHorizontalPadding,
137
+ ":active": {
138
+ ...base[":active"],
139
+ color: theme.accentFg
140
+ },
141
+ ":empty::after": {
142
+ content: '" "',
143
+ visibility: "hidden"
144
+ }
145
+ })
146
+ },
147
+ theme: t => {
148
+ return {
149
+ ...t,
150
+ colors: {
151
+ ...t.colors,
152
+ neutral0: theme.bgCell,
153
+ neutral20: theme.bgCellMedium,
154
+ neutral50: theme.textLight,
155
+ neutral80: theme.textDark,
156
+ primary: theme.accentColor
157
+ }
158
+ };
159
+ },
160
+ menuPortalTarget: document.getElementById("portal"),
161
+ autoFocus: true,
162
+ openMenuOnFocus: true,
163
+ components: {
164
+ DropdownIndicator: () => null,
165
+ IndicatorSeparator: () => null,
166
+ Menu: props => React.createElement(PortalWrap, null, React.createElement(CustomMenu, {
167
+ className: "click-outside-ignore",
168
+ ...props
169
+ }))
170
+ },
171
+ options: values,
172
+ onChange: async e => {
173
+ if (e === null) return;
174
+ setValue(e.value);
175
+ await new Promise(r => window.requestAnimationFrame(r));
176
+ onFinishedEditing({
177
+ ...cell,
178
+ data: {
179
+ ...cell.data,
180
+ value: e.value
181
+ }
182
+ });
183
+ }
184
+ }));
185
+ };
186
+ const renderer = {
187
+ kind: glide_data_grid_1.GridCellKind.Custom,
188
+ isMatch: c => c.data.kind === "dropdown-cell",
189
+ draw: (args, cell) => {
190
+ const {
191
+ ctx,
192
+ theme,
193
+ rect
194
+ } = args;
195
+ const {
196
+ value
197
+ } = cell.data;
198
+ const foundOption = cell.data.allowedValues.find(opt => {
199
+ if (typeof opt === "string" || opt === null || opt === undefined) {
200
+ return opt === value;
201
+ }
202
+ return opt.value === value;
203
+ });
204
+ const displayText = typeof foundOption === "string" ? foundOption : foundOption?.label ?? "";
205
+ if (displayText) {
206
+ ctx.fillStyle = theme.textDark;
207
+ ctx.fillText(displayText, rect.x + theme.cellHorizontalPadding, rect.y + rect.height / 2 + (0, glide_data_grid_1.getMiddleCenterBias)(ctx, theme));
208
+ }
209
+ return true;
210
+ },
211
+ measure: (ctx, cell, theme) => {
212
+ const {
213
+ value
214
+ } = cell.data;
215
+ return (value ? ctx.measureText(value).width : 0) + theme.cellHorizontalPadding * 2;
216
+ },
217
+ provideEditor: () => ({
218
+ editor: Editor,
219
+ disablePadding: true,
220
+ deletedValue: v => ({
221
+ ...v,
222
+ copyData: "",
223
+ data: {
224
+ ...v.data,
225
+ value: ""
226
+ }
227
+ })
228
+ }),
229
+ onPaste: (v, d) => ({
230
+ ...d,
231
+ value: d.allowedValues.includes(v) ? v : d.value
232
+ })
233
+ };
234
+ exports.default = renderer;
235
+
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-cell.js","sourceRoot":"","sources":["../../../src/cells/dropdown-cell.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .gdg-lw5nakc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:4px 0;}.gdg-lw5nakc > button{color:var(--gdg-accent-color);font-weight:600;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;border:none;outline:none;background-color:transparent;-webkit-transition:background-color 200ms;transition:background-color 200ms;border-radius:4px;padding:6px 8px;cursor:pointer;}.gdg-lw5nakc > button:hover,.gdg-lw5nakc > button:focus-visible{background-color:var(--gdg-accent-light);}.gdg-lw5nakc > button:disabled{opacity:0.4;pointer-events:none;}.gdg-lw5nakc .gdg-link-title-editor{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:250px;}.gdg-lw5nakc .gdg-link-title-editor > input{outline:none;border:1px solid var(--gdg-border-color);border-radius:4px;box-shadow:none;padding:6px 8px;min-width:0;width:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-transition:border 200ms;transition:border 200ms;}.gdg-lw5nakc .gdg-link-title-editor > input:not(:last-child){margin-right:4px;}.gdg-lw5nakc .gdg-link-title-editor > input:focus{border:1px solid var(--gdg-accent-color);}.gdg-lw5nakc .gdg-link-title-editor:not(:last-child){margin-bottom:4px;}.gdg-lw5nakc .gdg-link-title-editor > button{border:none;outline:none;border-radius:4px;background-color:transparent;cursor:pointer;-webkit-transition: background-color 200ms, color 200ms;transition: background-color 200ms, color 200ms;color:var(--gdg-text-medium);}.gdg-lw5nakc .gdg-link-title-editor > button:hover,.gdg-lw5nakc .gdg-link-title-editor > button:focus-visible{background-color:var(--gdg-accent-light);color:var(--gdg-text-dark);}
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {
20
+ Object.defineProperty(o, "default", {
21
+ enumerable: true,
22
+ value: v
23
+ });
24
+ } : function (o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = this && this.__importStar || function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ Object.defineProperty(exports, "__esModule", {
35
+ value: true
36
+ });
37
+ const glide_data_grid_1 = require("@glideapps/glide-data-grid");
38
+ const react_1 = require("@linaria/react");
39
+ const React = __importStar(require("react"));
40
+ function onClickSelect(e) {
41
+ const useCtrl = e.cell.data.navigateOn !== "click";
42
+ if (useCtrl !== e.ctrlKey) return undefined;
43
+ const canvas = document.createElement("canvas");
44
+ const ctx = canvas.getContext("2d", {
45
+ alpha: false
46
+ });
47
+ if (ctx === null) return;
48
+ const {
49
+ posX: hoverX,
50
+ bounds: rect,
51
+ cell,
52
+ theme
53
+ } = e;
54
+ const font = theme.baseFontFull;
55
+ ctx.font = font;
56
+ const {
57
+ links
58
+ } = cell.data;
59
+ const xPad = theme.cellHorizontalPadding;
60
+ let drawX = rect.x + xPad;
61
+ const rectHoverX = rect.x + hoverX;
62
+ for (const [index, l] of links.entries()) {
63
+ const needsComma = index < links.length - 1;
64
+ const metrics = (0, glide_data_grid_1.measureTextCached)(l.title, ctx);
65
+ const commaMetrics = needsComma ? (0, glide_data_grid_1.measureTextCached)(l.title + ",", ctx, font) : metrics;
66
+ const isHovered = rectHoverX > drawX && rectHoverX < drawX + metrics.width;
67
+ if (isHovered) {
68
+ return l;
69
+ }
70
+ drawX += commaMetrics.width + 4;
71
+ }
72
+ return undefined;
73
+ }
74
+ const renderer = {
75
+ kind: glide_data_grid_1.GridCellKind.Custom,
76
+ needsHover: true,
77
+ needsHoverPosition: true,
78
+ isMatch: c => c.data.kind === "links-cell",
79
+ onSelect: e => {
80
+ if (onClickSelect(e) !== undefined) {
81
+ e.preventDefault();
82
+ }
83
+ },
84
+ onClick: e => {
85
+ const hovered = onClickSelect(e);
86
+ if (hovered !== undefined) {
87
+ hovered.onClick?.();
88
+ e.preventDefault();
89
+ }
90
+ return undefined;
91
+ },
92
+ draw: (args, cell) => {
93
+ const {
94
+ ctx,
95
+ rect,
96
+ theme,
97
+ hoverX = -100,
98
+ highlighted
99
+ } = args;
100
+ const {
101
+ links,
102
+ underlineOffset = 5
103
+ } = cell.data;
104
+ const xPad = theme.cellHorizontalPadding;
105
+ let drawX = rect.x + xPad;
106
+ const rectHoverX = rect.x + hoverX;
107
+ const font = theme.baseFontFull;
108
+ const middleCenterBias = (0, glide_data_grid_1.getMiddleCenterBias)(ctx, font);
109
+ const drawY = rect.y + rect.height / 2 + middleCenterBias;
110
+ for (const [index, l] of links.entries()) {
111
+ const needsComma = index < links.length - 1;
112
+ const metrics = (0, glide_data_grid_1.measureTextCached)(l.title, ctx, font);
113
+ const commaMetrics = needsComma ? (0, glide_data_grid_1.measureTextCached)(l.title + ",", ctx, font) : metrics;
114
+ const isHovered = rectHoverX > drawX && rectHoverX < drawX + metrics.width;
115
+ if (isHovered) {
116
+ args.overrideCursor?.("pointer");
117
+ ctx.moveTo(drawX, Math.floor(drawY + underlineOffset) + 0.5);
118
+ ctx.lineTo(drawX + metrics.width, Math.floor(drawY + underlineOffset) + 0.5);
119
+ // ctx.lineWidth = 1;
120
+ ctx.strokeStyle = theme.textDark;
121
+ ctx.stroke();
122
+ ctx.fillStyle = highlighted ? (0, glide_data_grid_1.blend)(theme.accentLight, theme.bgCell) : theme.bgCell;
123
+ ctx.fillText(needsComma ? l.title + "," : l.title, drawX - 1, drawY);
124
+ ctx.fillText(needsComma ? l.title + "," : l.title, drawX + 1, drawY);
125
+ ctx.fillText(needsComma ? l.title + "," : l.title, drawX - 2, drawY);
126
+ ctx.fillText(needsComma ? l.title + "," : l.title, drawX + 2, drawY);
127
+ }
128
+ ctx.fillStyle = theme.textDark;
129
+ ctx.fillText(needsComma ? l.title + "," : l.title, drawX, drawY);
130
+ drawX += commaMetrics.width + 4;
131
+ }
132
+ return true;
133
+ },
134
+ // eslint-disable-next-line react/display-name
135
+ provideEditor: () => p => {
136
+ const {
137
+ value,
138
+ onChange
139
+ } = p;
140
+ const {
141
+ links,
142
+ maxLinks = Number.MAX_SAFE_INTEGER
143
+ } = value.data;
144
+ return React.createElement(LinksCellEditorStyle, {
145
+ onKeyDown: ignoreTab
146
+ }, links.map((l, i) => React.createElement(LinkTitleEditor, {
147
+ key: i,
148
+ link: l.href ?? "",
149
+ title: l.title,
150
+ focus: i === 0,
151
+ onDelete: links.length > 1 ? () => {
152
+ const newLinks = [...links];
153
+ newLinks.splice(i, 1);
154
+ onChange({
155
+ ...value,
156
+ data: {
157
+ ...value.data,
158
+ links: newLinks
159
+ }
160
+ });
161
+ } : undefined,
162
+ onChange: (link, title) => {
163
+ const newLinks = [...links];
164
+ newLinks[i] = {
165
+ href: link,
166
+ title
167
+ };
168
+ onChange({
169
+ ...value,
170
+ data: {
171
+ ...value.data,
172
+ links: newLinks
173
+ }
174
+ });
175
+ }
176
+ })), React.createElement("button", {
177
+ disabled: links.length >= maxLinks,
178
+ className: "add-link",
179
+ onClick: () => {
180
+ const newLinks = [...links, {
181
+ title: ""
182
+ }];
183
+ onChange({
184
+ ...value,
185
+ data: {
186
+ ...value.data,
187
+ links: newLinks
188
+ }
189
+ });
190
+ }
191
+ }, "Add link"));
192
+ },
193
+ onPaste: (v, d) => {
194
+ const split = v.split(",");
195
+ if (d.links.some((l, i) => split[i] !== l.title)) return undefined;
196
+ return {
197
+ ...d,
198
+ links: split.map(l => ({
199
+ title: l
200
+ }))
201
+ };
202
+ }
203
+ };
204
+ const LinksCellEditorStyle = /*#__PURE__*/react_1.styled('div')({
205
+ name: "LinksCellEditorStyle",
206
+ class: "gdg-lw5nakc",
207
+ propsAsIs: false
208
+ });
209
+ function ignoreTab(e) {
210
+ if (e.key === "Tab") {
211
+ e.stopPropagation();
212
+ }
213
+ }
214
+ const LinkTitleEditor = p => {
215
+ const {
216
+ link,
217
+ onChange,
218
+ title,
219
+ onDelete,
220
+ focus
221
+ } = p;
222
+ return React.createElement("div", {
223
+ className: "gdg-link-title-editor"
224
+ }, React.createElement("input", {
225
+ className: "gdg-title-input",
226
+ value: title,
227
+ placeholder: "Title",
228
+ autoFocus: focus,
229
+ onChange: e => {
230
+ onChange(link, e.target.value);
231
+ }
232
+ }), React.createElement("input", {
233
+ className: "gdg-link-input",
234
+ value: link,
235
+ placeholder: "URL",
236
+ onChange: e => {
237
+ onChange(e.target.value, title);
238
+ }
239
+ }), onDelete !== undefined && React.createElement("button", {
240
+ onClick: onDelete
241
+ }, React.createElement("svg", {
242
+ width: 16,
243
+ height: 16,
244
+ viewBox: "0 0 24 24",
245
+ fill: "none",
246
+ id: "icon-import",
247
+ xmlns: "http://www.w3.org/2000/svg"
248
+ }, React.createElement("path", {
249
+ d: "M3 6L5 6L21 6",
250
+ stroke: "currentColor",
251
+ strokeWidth: "1px",
252
+ strokeLinecap: "round",
253
+ strokeLinejoin: "round"
254
+ }), React.createElement("path", {
255
+ d: "M17.9019 6C18.491 6 18.9525 6.50676 18.8975 7.09334L17.67 20.1867C17.5736 21.2144 16.711 22 15.6787 22H8.32127C7.28902 22 6.42635 21.2144 6.33 20.1867L5.1025 7.09334C5.04751 6.50676 5.50898 6 6.09813 6H17.9019Z",
256
+ stroke: "currentColor",
257
+ strokeWidth: "1px",
258
+ strokeLinecap: "round",
259
+ strokeLinejoin: "round"
260
+ }), React.createElement("path", {
261
+ d: "M14.4499 10.211L13.9949 17",
262
+ stroke: "currentColor",
263
+ strokeWidth: "1px",
264
+ strokeLinecap: "round",
265
+ strokeLinejoin: "round"
266
+ }), React.createElement("path", {
267
+ d: "M9.55499 10.211L10.0049 17",
268
+ stroke: "currentColor",
269
+ strokeWidth: "1px",
270
+ strokeLinecap: "round",
271
+ strokeLinejoin: "round"
272
+ }), React.createElement("path", {
273
+ d: "M7.5 2.25H16.5",
274
+ stroke: "currentColor",
275
+ strokeWidth: "1px",
276
+ strokeLinecap: "round",
277
+ strokeLinejoin: "round"
278
+ }))));
279
+ };
280
+ exports.default = renderer;
281
+
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links-cell.js","sourceRoot":"","sources":["../../../src/cells/links-cell.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ .gdg-w1i61rz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-top:auto;margin-bottom:auto;}.gdg-w1i61rz .gdg-multi-select{font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);}
2
+ .gdg-phbadu4{font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);color:var(--gdg-text-dark);}.gdg-phbadu4 > div{border-radius:4px;border:1px solid var(--gdg-border-color);}