@updog/data-editor 0.1.81 → 0.1.83

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/README.md CHANGED
@@ -204,7 +204,7 @@ const columns: DataEditorColumn[] = [
204
204
  ];
205
205
  ```
206
206
 
207
- **Cell editors**: `{ type: "text" }` (default), `{ type: "date", minDate?, maxDate? }`, `{ type: "select", options: string[] }`, `{ type: "number", decimalPlaces?, decimalSeparator?, thousandsSeparator?, allowChars? }`.
207
+ **Cell editors**: `{ type: "text" }` (default), `{ type: "date" }`, `{ type: "select", options: string[] }`, `{ type: "number", decimalSeparator?, thousandsSeparator? }`.
208
208
 
209
209
  **Column filters**: `{ type: "select", label?, placeholder?, options?, multiple? }`, `{ type: "number-range", label? }`, `{ type: "date-range", label? }`.
210
210
 
@@ -216,11 +216,10 @@ Validators are declarative objects passed in the `validators` array on each colu
216
216
  |---|---|---|
217
217
  | `"required"` | `message?` | Value must be non-empty. |
218
218
  | `"email"` | `message?` | Value must look like an email address. |
219
- | `"numeric"` | `message?` | Value must parse as a number. Commas are stripped before parsing. |
220
219
  | `"regex"` | `pattern`, `flags?`, `message?` | Value must match the regular expression. Empty values are skipped. |
221
- | `"range"` | `min?`, `max?`, `message?` | Value must be numerically within `[min, max]`. Either bound is optional. |
220
+ | `"number"` | `min?`, `max?`, `decimalPlaces?`, `message?` | Value must be the canonical form — plain digits, a dot for decimals, no grouping, no leading zeros. `min` and `max` are inclusive; `decimalPlaces` caps the decimal digits (`0` means integers) and flags rather than rounds. `min` and `decimalPlaces` also configure the column's number editor. |
222
221
  | `"oneOf"` | `values: string[]`, `message?` | Value must be one of the listed strings. |
223
- | `"date"` | `format?: "YYYY-MM-DD" \| "DD/MM/YYYY"`, `message?` | Value must parse as a date in the given format. When `format` is omitted, either format is accepted. |
222
+ | `"date"` | `min?`, `max?`, `message?` | Value must be an ISO `YYYY-MM-DD` date that exists in the calendar. `min` and `max` are inclusive ISO bounds, and they also set the range the cell's date picker offers. |
224
223
  | `"unique"` | `message?` | Value must not appear in any other row of the column. Always checked last, after all other validators pass — list position is ignored. |
225
224
 
226
225
  ```tsx
@@ -234,7 +233,7 @@ const columns: DataEditorColumn[] = [
234
233
  { type: "email", message: "Invalid email" },
235
234
  ],
236
235
  },
237
- { id: "salary", title: "Salary", validators: [{ type: "numeric", message: "Must be a number" }] },
236
+ { id: "salary", title: "Salary", validators: [{ type: "number", min: 0, decimalPlaces: 2 }] },
238
237
  {
239
238
  id: "status",
240
239
  title: "Status",
@@ -243,7 +242,7 @@ const columns: DataEditorColumn[] = [
243
242
  {
244
243
  id: "startDate",
245
244
  title: "Start",
246
- validators: [{ type: "date", format: "YYYY-MM-DD", message: "Use YYYY-MM-DD" }],
245
+ validators: [{ type: "date", message: "Use a valid date" }],
247
246
  editor: { type: "date" },
248
247
  dependentFields: ["endDate"],
249
248
  },
@@ -3,7 +3,7 @@ THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
3
3
  This package (@updog/data-editor) includes or depends on third-party software. The notices below are provided to comply with the licensing terms of those packages.
4
4
  ================================================================================
5
5
  Package: @floating-ui/react
6
- Version: 0.27.18
6
+ Version: 0.27.20
7
7
  License: MIT
8
8
  Homepage: https://floating-ui.com/docs/react
9
9
  ================================================================================
@@ -30,7 +30,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
30
 
31
31
  ================================================================================
32
32
  Package: @lexical/react
33
- Version: 0.42.0
33
+ Version: 0.49.0
34
34
  License: MIT
35
35
  ================================================================================
36
36
  MIT License
@@ -57,7 +57,7 @@ SOFTWARE.
57
57
 
58
58
  ================================================================================
59
59
  Package: chardet
60
- Version: 2.1.1
60
+ Version: 2.2.0
61
61
  License: MIT
62
62
  Homepage: https://github.com/runk/node-chardet
63
63
  ================================================================================
@@ -98,7 +98,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
98
98
 
99
99
  ================================================================================
100
100
  Package: lexical
101
- Version: 0.42.0
101
+ Version: 0.49.0
102
102
  License: MIT
103
103
  ================================================================================
104
104
  MIT License
@@ -125,13 +125,13 @@ SOFTWARE.
125
125
 
126
126
  ================================================================================
127
127
  Package: lucide-react
128
- Version: 0.564.0
128
+ Version: 1.31.0
129
129
  License: ISC
130
130
  Homepage: https://lucide.dev
131
131
  ================================================================================
132
132
  ISC License
133
133
 
134
- Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
134
+ Copyright (c) 2026 Lucide Icons and Contributors
135
135
 
136
136
  Permission to use, copy, modify, and/or distribute this software for any
137
137
  purpose with or without fee is hereby granted, provided that the above
@@ -147,9 +147,13 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
147
147
 
148
148
  ---
149
149
 
150
- The MIT License (MIT) (for portions derived from Feather)
150
+ The following Lucide icons are derived from the Feather project:
151
+
152
+ airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
153
+
154
+ The MIT License (MIT) (for the icons listed above)
151
155
 
152
- Copyright (c) 2013-2026 Cole Bemis
156
+ Copyright (c) 2013-present Cole Bemis
153
157
 
154
158
  Permission is hereby granted, free of charge, to any person obtaining a copy
155
159
  of this software and associated documentation files (the "Software"), to deal
@@ -171,7 +175,7 @@ SOFTWARE.
171
175
 
172
176
  ================================================================================
173
177
  Package: papaparse
174
- Version: 5.5.3
178
+ Version: 5.6.0
175
179
  License: MIT
176
180
  Homepage: https://www.papaparse.com/
177
181
  ================================================================================
@@ -198,7 +202,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
198
202
 
199
203
  ================================================================================
200
204
  Package: react-dropzone
201
- Version: 15.0.0
205
+ Version: 20.1.0
202
206
  License: MIT
203
207
  Homepage: https://github.com/react-dropzone/react-dropzone
204
208
  ================================================================================
@@ -227,7 +231,7 @@ SOFTWARE.
227
231
 
228
232
  ================================================================================
229
233
  Package: uuid
230
- Version: 13.0.0
234
+ Version: 14.0.1
231
235
  License: MIT
232
236
  ================================================================================
233
237
  The MIT License (MIT)
@@ -242,7 +246,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
242
246
 
243
247
  ================================================================================
244
248
  Package: write-excel-file
245
- Version: 3.0.8
249
+ Version: 4.1.1
246
250
  License: MIT
247
251
  Homepage: https://gitlab.com/catamphetamine/write-excel-file#readme
248
252
  ================================================================================
@@ -52,7 +52,7 @@ var t = /[\u200B-\u200D\uFEFF\u2060]/g, n = /[\u00A0\u202F]/g, r = (e) => e.repl
52
52
  }, p = (e) => new Promise((t, n) => {
53
53
  let r = new FileReader();
54
54
  r.onload = () => t(r.result), r.onerror = () => n(r.error), r.readAsArrayBuffer(e);
55
- }), m = 64 * 1024, h = 1024 * 1024, g = (e) => {
55
+ }), m = 65536, h = 1048576, g = (e) => {
56
56
  try {
57
57
  return new TextDecoder(e);
58
58
  } catch {
@@ -78,15 +78,15 @@ var t = /[\u200B-\u200D\uFEFF\u2060]/g, n = /[\u00A0\u202F]/g, r = (e) => e.repl
78
78
  encoding: a,
79
79
  delimiter: s
80
80
  };
81
- }, b = /^sep=.$/i, x = (e, t) => e.length > 0 && b.test(e[0].join(t)) ? e.slice(1) : e, S = class extends Error {
81
+ }, b = class extends Error {
82
82
  code;
83
83
  constructor(e, t) {
84
84
  super(e), this.name = "IoError", this.code = t;
85
85
  }
86
- }, C = /invalid string length|allocation size overflow|array buffer allocation failed|invalid (?:typed )?array length|out of memory/i, w = (e, t) => {
87
- if (e instanceof S) return e;
86
+ }, x = /invalid string length|allocation size overflow|array buffer allocation failed|invalid (?:typed )?array length|out of memory/i, S = (e, t) => {
87
+ if (e instanceof b) return e;
88
88
  let n = e instanceof Error ? e.message : t;
89
- return new S(n, C.test(n) ? "TOO_LARGE" : "PARSE");
89
+ return new b(n, x.test(n) ? "TOO_LARGE" : "PARSE");
90
90
  };
91
91
  //#endregion
92
- export { r as a, y as i, w as n, x as r, S as t };
92
+ export { r as i, S as n, y as r, b as t };