glide-data-grid-cells-fork 6.0.4-alpha10

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 (128) 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 +237 -0
  17. package/dist/cjs/cells/dropdown-cell.js.map +1 -0
  18. package/dist/cjs/cells/input-dropdown-cell.css +3 -0
  19. package/dist/cjs/cells/input-dropdown-cell.js +245 -0
  20. package/dist/cjs/cells/input-dropdown-cell.js.map +1 -0
  21. package/dist/cjs/cells/links-cell.css +1 -0
  22. package/dist/cjs/cells/links-cell.js +281 -0
  23. package/dist/cjs/cells/links-cell.js.map +1 -0
  24. package/dist/cjs/cells/multi-select-cell.css +2 -0
  25. package/dist/cjs/cells/multi-select-cell.js +485 -0
  26. package/dist/cjs/cells/multi-select-cell.js.map +1 -0
  27. package/dist/cjs/cells/range-cell.js +113 -0
  28. package/dist/cjs/cells/range-cell.js.map +1 -0
  29. package/dist/cjs/cells/sparkline-cell.js +116 -0
  30. package/dist/cjs/cells/sparkline-cell.js.map +1 -0
  31. package/dist/cjs/cells/spinner-cell.js +24 -0
  32. package/dist/cjs/cells/spinner-cell.js.map +1 -0
  33. package/dist/cjs/cells/star-cell.css +1 -0
  34. package/dist/cjs/cells/star-cell.js +124 -0
  35. package/dist/cjs/cells/star-cell.js.map +1 -0
  36. package/dist/cjs/cells/tags-cell.css +1 -0
  37. package/dist/cjs/cells/tags-cell.js +152 -0
  38. package/dist/cjs/cells/tags-cell.js.map +1 -0
  39. package/dist/cjs/cells/tree-view-cell.js +57 -0
  40. package/dist/cjs/cells/tree-view-cell.js.map +1 -0
  41. package/dist/cjs/cells/user-profile-cell.js +81 -0
  42. package/dist/cjs/cells/user-profile-cell.js.map +1 -0
  43. package/dist/cjs/draw-fns.js +32 -0
  44. package/dist/cjs/draw-fns.js.map +1 -0
  45. package/dist/cjs/index.js +52 -0
  46. package/dist/cjs/index.js.map +1 -0
  47. package/dist/dts/cells/article-cell-editor.d.ts +4 -0
  48. package/dist/dts/cells/article-cell-editor.d.ts.map +1 -0
  49. package/dist/dts/cells/article-cell-types.d.ts +7 -0
  50. package/dist/dts/cells/article-cell-types.d.ts.map +1 -0
  51. package/dist/dts/cells/article-cell.d.ts +4 -0
  52. package/dist/dts/cells/article-cell.d.ts.map +1 -0
  53. package/dist/dts/cells/button-cell.d.ts +16 -0
  54. package/dist/dts/cells/button-cell.d.ts.map +1 -0
  55. package/dist/dts/cells/date-picker-cell.d.ts +18 -0
  56. package/dist/dts/cells/date-picker-cell.d.ts.map +1 -0
  57. package/dist/dts/cells/dropdown-cell.d.ts +13 -0
  58. package/dist/dts/cells/dropdown-cell.d.ts.map +1 -0
  59. package/dist/dts/cells/input-dropdown-cell.d.ts +14 -0
  60. package/dist/dts/cells/input-dropdown-cell.d.ts.map +1 -0
  61. package/dist/dts/cells/links-cell.d.ts +19 -0
  62. package/dist/dts/cells/links-cell.d.ts.map +1 -0
  63. package/dist/dts/cells/multi-select-cell.d.ts +42 -0
  64. package/dist/dts/cells/multi-select-cell.d.ts.map +1 -0
  65. package/dist/dts/cells/range-cell.d.ts +13 -0
  66. package/dist/dts/cells/range-cell.d.ts.map +1 -0
  67. package/dist/dts/cells/sparkline-cell.d.ts +13 -0
  68. package/dist/dts/cells/sparkline-cell.d.ts.map +1 -0
  69. package/dist/dts/cells/spinner-cell.d.ts +7 -0
  70. package/dist/dts/cells/spinner-cell.d.ts.map +1 -0
  71. package/dist/dts/cells/star-cell.d.ts +8 -0
  72. package/dist/dts/cells/star-cell.d.ts.map +1 -0
  73. package/dist/dts/cells/tags-cell.d.ts +12 -0
  74. package/dist/dts/cells/tags-cell.d.ts.map +1 -0
  75. package/dist/dts/cells/tree-view-cell.d.ts +14 -0
  76. package/dist/dts/cells/tree-view-cell.d.ts.map +1 -0
  77. package/dist/dts/cells/user-profile-cell.d.ts +11 -0
  78. package/dist/dts/cells/user-profile-cell.d.ts.map +1 -0
  79. package/dist/dts/draw-fns.d.ts +8 -0
  80. package/dist/dts/draw-fns.d.ts.map +1 -0
  81. package/dist/dts/index.d.ts +18 -0
  82. package/dist/dts/index.d.ts.map +1 -0
  83. package/dist/esm/cells/article-cell-editor.css +1 -0
  84. package/dist/esm/cells/article-cell-editor.js +62 -0
  85. package/dist/esm/cells/article-cell-editor.js.map +1 -0
  86. package/dist/esm/cells/article-cell-types.js +2 -0
  87. package/dist/esm/cells/article-cell-types.js.map +1 -0
  88. package/dist/esm/cells/article-cell.js +46 -0
  89. package/dist/esm/cells/article-cell.js.map +1 -0
  90. package/dist/esm/cells/button-cell.js +92 -0
  91. package/dist/esm/cells/button-cell.js.map +1 -0
  92. package/dist/esm/cells/date-picker-cell.css +1 -0
  93. package/dist/esm/cells/date-picker-cell.js +126 -0
  94. package/dist/esm/cells/date-picker-cell.js.map +1 -0
  95. package/dist/esm/cells/dropdown-cell.css +3 -0
  96. package/dist/esm/cells/dropdown-cell.js +201 -0
  97. package/dist/esm/cells/dropdown-cell.js.map +1 -0
  98. package/dist/esm/cells/input-dropdown-cell.css +3 -0
  99. package/dist/esm/cells/input-dropdown-cell.js +209 -0
  100. package/dist/esm/cells/input-dropdown-cell.js.map +1 -0
  101. package/dist/esm/cells/links-cell.css +1 -0
  102. package/dist/esm/cells/links-cell.js +245 -0
  103. package/dist/esm/cells/links-cell.js.map +1 -0
  104. package/dist/esm/cells/multi-select-cell.css +2 -0
  105. package/dist/esm/cells/multi-select-cell.js +441 -0
  106. package/dist/esm/cells/multi-select-cell.js.map +1 -0
  107. package/dist/esm/cells/range-cell.js +88 -0
  108. package/dist/esm/cells/range-cell.js.map +1 -0
  109. package/dist/esm/cells/sparkline-cell.js +114 -0
  110. package/dist/esm/cells/sparkline-cell.js.map +1 -0
  111. package/dist/esm/cells/spinner-cell.js +22 -0
  112. package/dist/esm/cells/spinner-cell.js.map +1 -0
  113. package/dist/esm/cells/star-cell.css +1 -0
  114. package/dist/esm/cells/star-cell.js +88 -0
  115. package/dist/esm/cells/star-cell.js.map +1 -0
  116. package/dist/esm/cells/tags-cell.css +1 -0
  117. package/dist/esm/cells/tags-cell.js +116 -0
  118. package/dist/esm/cells/tags-cell.js.map +1 -0
  119. package/dist/esm/cells/tree-view-cell.js +55 -0
  120. package/dist/esm/cells/tree-view-cell.js.map +1 -0
  121. package/dist/esm/cells/user-profile-cell.js +56 -0
  122. package/dist/esm/cells/user-profile-cell.js.map +1 -0
  123. package/dist/esm/draw-fns.js +28 -0
  124. package/dist/esm/draw-fns.js.map +1 -0
  125. package/dist/esm/index.js +32 -0
  126. package/dist/esm/index.js.map +1 -0
  127. package/dist/index.css +9 -0
  128. package/package.json +71 -0
@@ -0,0 +1,237 @@
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_fork_1 = require("glide-data-grid-fork");
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
+ const Editor = p => {
71
+ const {
72
+ value: cell,
73
+ onFinishedEditing,
74
+ initialValue
75
+ } = p;
76
+ const {
77
+ allowedValues,
78
+ value: valueIn
79
+ } = cell.data;
80
+ const [value, setValue] = React.useState(valueIn);
81
+ const [inputValue, setInputValue] = React.useState(initialValue ?? "");
82
+ const theme = (0, glide_data_grid_fork_1.useTheme)();
83
+ const values = React.useMemo(() => {
84
+ return allowedValues.map(option => {
85
+ if (typeof option === "string" || option === null || option === undefined) {
86
+ return {
87
+ value: option,
88
+ label: option?.toString() ?? ""
89
+ };
90
+ }
91
+ return option;
92
+ });
93
+ }, [allowedValues]);
94
+ if (cell.readonly) {
95
+ return React.createElement(ReadOnlyWrap, null, React.createElement(glide_data_grid_fork_1.TextCellEntry, {
96
+ highlight: true,
97
+ autoFocus: false,
98
+ disabled: true,
99
+ value: value ?? "",
100
+ onChange: () => undefined
101
+ }));
102
+ }
103
+ return React.createElement(Wrap, null, React.createElement(react_select_1.default, {
104
+ className: "glide-select",
105
+ inputValue: inputValue,
106
+ onInputChange: setInputValue,
107
+ menuPlacement: "auto",
108
+ value: values.find(x => x.value === value),
109
+ styles: {
110
+ control: base => ({
111
+ ...base,
112
+ border: 0,
113
+ boxShadow: "none"
114
+ }),
115
+ option: (base, {
116
+ isFocused
117
+ }) => ({
118
+ ...base,
119
+ fontSize: theme.editorFontSize,
120
+ fontFamily: theme.fontFamily,
121
+ cursor: isFocused ? "pointer" : undefined,
122
+ paddingLeft: theme.cellHorizontalPadding,
123
+ paddingRight: theme.cellHorizontalPadding,
124
+ ":active": {
125
+ ...base[":active"],
126
+ color: theme.accentFg
127
+ },
128
+ // Add some content in case the option is empty
129
+ // so that the option height can be calculated correctly
130
+ ":empty::after": {
131
+ content: '" "',
132
+ visibility: "hidden"
133
+ }
134
+ })
135
+ },
136
+ theme: t => {
137
+ return {
138
+ ...t,
139
+ colors: {
140
+ ...t.colors,
141
+ neutral0: theme.bgCell,
142
+ // the selected item because of course it is.
143
+ neutral5: theme.bgCell,
144
+ neutral10: theme.bgCell,
145
+ neutral20: theme.bgCellMedium,
146
+ neutral30: theme.bgCellMedium,
147
+ neutral40: theme.bgCellMedium,
148
+ neutral50: theme.textLight,
149
+ neutral60: theme.textMedium,
150
+ neutral70: theme.textMedium,
151
+ neutral80: theme.textDark,
152
+ neutral90: theme.textDark,
153
+ neutral100: theme.textDark,
154
+ primary: theme.accentColor,
155
+ primary75: theme.accentColor,
156
+ primary50: theme.accentColor,
157
+ primary25: theme.accentLight // prelight color
158
+ }
159
+ };
160
+ },
161
+
162
+ menuPortalTarget: document.getElementById("portal"),
163
+ autoFocus: true,
164
+ openMenuOnFocus: true,
165
+ components: {
166
+ DropdownIndicator: () => null,
167
+ IndicatorSeparator: () => null,
168
+ Menu: props => React.createElement(PortalWrap, null, React.createElement(CustomMenu, {
169
+ className: "click-outside-ignore",
170
+ ...props
171
+ }))
172
+ },
173
+ options: values,
174
+ onChange: async e => {
175
+ if (e === null) return;
176
+ setValue(e.value);
177
+ await new Promise(r => window.requestAnimationFrame(r));
178
+ onFinishedEditing({
179
+ ...cell,
180
+ data: {
181
+ ...cell.data,
182
+ value: e.value
183
+ }
184
+ });
185
+ }
186
+ }));
187
+ };
188
+ const renderer = {
189
+ kind: glide_data_grid_fork_1.GridCellKind.Custom,
190
+ isMatch: c => c.data.kind === "dropdown-cell",
191
+ draw: (args, cell) => {
192
+ const {
193
+ ctx,
194
+ theme,
195
+ rect
196
+ } = args;
197
+ const {
198
+ value
199
+ } = cell.data;
200
+ const foundOption = cell.data.allowedValues.find(opt => {
201
+ if (typeof opt === "string" || opt === null || opt === undefined) {
202
+ return opt === value;
203
+ }
204
+ return opt.value === value;
205
+ });
206
+ const displayText = typeof foundOption === "string" ? foundOption : foundOption?.label ?? "";
207
+ if (displayText) {
208
+ ctx.fillStyle = theme.textDark;
209
+ ctx.fillText(displayText, rect.x + theme.cellHorizontalPadding, rect.y + rect.height / 2 + (0, glide_data_grid_fork_1.getMiddleCenterBias)(ctx, theme));
210
+ }
211
+ return true;
212
+ },
213
+ measure: (ctx, cell, theme) => {
214
+ const {
215
+ value
216
+ } = cell.data;
217
+ return (value ? ctx.measureText(value).width : 0) + theme.cellHorizontalPadding * 2;
218
+ },
219
+ provideEditor: () => ({
220
+ editor: Editor,
221
+ disablePadding: true,
222
+ deletedValue: v => ({
223
+ ...v,
224
+ copyData: "",
225
+ data: {
226
+ ...v.data,
227
+ value: ""
228
+ }
229
+ })
230
+ }),
231
+ onPaste: (v, d) => ({
232
+ ...d,
233
+ value: d.allowedValues.includes(v) ? v : d.value
234
+ })
235
+ };
236
+ exports.default = renderer;
237
+
@@ -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,3 @@
1
+ .gdg-wq24c0d{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;}.gdg-wq24c0d .glide-select{font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);}
2
+ .gdg-pjmrjuo{font-family:var(--gdg-font-family);font-size:var(--gdg-editor-font-size);color:var(--gdg-text-dark);}.gdg-pjmrjuo > div{border-radius:4px;border:1px solid var(--gdg-border-color);}
3
+ .gdg-rzd5ey8{display:"flex";margin:auto 8.5px;padding-bottom:3px;}
@@ -0,0 +1,245 @@
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_fork_1 = require("glide-data-grid-fork");
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-wq24c0d",
56
+ propsAsIs: false
57
+ });
58
+ const PortalWrap = /*#__PURE__*/react_1.styled('div')({
59
+ name: "PortalWrap",
60
+ class: "gdg-pjmrjuo",
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-rzd5ey8",
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 [isFocused, setIsFocused] = React.useState(false);
86
+ const theme = (0, glide_data_grid_fork_1.useTheme)();
87
+ // Debounced API Call
88
+ React.useEffect(() => {
89
+ if (fetchOptions && inputValue) {
90
+ const timeout = setTimeout(() => {
91
+ fetchOptions(inputValue).then(fetchedOptions => setOptions(fetchedOptions)).catch(console.error);
92
+ }, 300); // Debounce delay
93
+ return () => clearTimeout(timeout);
94
+ }
95
+ }, [inputValue, fetchOptions]);
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_fork_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, isFocused || !value ? 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: isFocused2
130
+ }) => ({
131
+ ...base,
132
+ fontSize: theme.editorFontSize,
133
+ fontFamily: theme.fontFamily,
134
+ cursor: isFocused2 ? "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
+ setIsFocused(false);
176
+ await new Promise(r => window.requestAnimationFrame(r));
177
+ onFinishedEditing({
178
+ ...cell,
179
+ data: {
180
+ ...cell.data,
181
+ value: e.value
182
+ }
183
+ });
184
+ },
185
+ onBlur: () => setIsFocused(false)
186
+ }) : React.createElement("input", {
187
+ type: "text",
188
+ value: value,
189
+ onFocus: () => setIsFocused(true),
190
+ autoFocus: false,
191
+ readOnly: true,
192
+ style: {
193
+ fontFamily: theme.fontFamily,
194
+ fontSize: theme.editorFontSize,
195
+ border: "none",
196
+ background: "transparent",
197
+ padding: "0",
198
+ margin: "0"
199
+ }
200
+ }));
201
+ };
202
+ const renderer = {
203
+ kind: glide_data_grid_fork_1.GridCellKind.Custom,
204
+ isMatch: c => c.data.kind === "input-dropdown-cell",
205
+ draw: (args, cell) => {
206
+ const {
207
+ ctx,
208
+ theme,
209
+ rect
210
+ } = args;
211
+ const {
212
+ value
213
+ } = cell.data;
214
+ const displayText = value;
215
+ if (displayText) {
216
+ ctx.fillStyle = theme.textDark;
217
+ ctx.fillText(displayText, rect.x + theme.cellHorizontalPadding, rect.y + rect.height / 2 + (0, glide_data_grid_fork_1.getMiddleCenterBias)(ctx, theme));
218
+ }
219
+ return true;
220
+ },
221
+ measure: (ctx, cell, theme) => {
222
+ const {
223
+ value
224
+ } = cell.data;
225
+ return (value ? ctx.measureText(value).width : 0) + theme.cellHorizontalPadding * 2;
226
+ },
227
+ provideEditor: () => ({
228
+ editor: Editor,
229
+ disablePadding: true,
230
+ deletedValue: v => ({
231
+ ...v,
232
+ copyData: "",
233
+ data: {
234
+ ...v.data,
235
+ value: ""
236
+ }
237
+ })
238
+ }),
239
+ onPaste: (_v, d) => ({
240
+ ...d,
241
+ value: d.value
242
+ })
243
+ };
244
+ exports.default = renderer;
245
+
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-dropdown-cell.js","sourceRoot":"","sources":["../../../src/cells/input-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);}