@asteby/metacore-runtime-react 49.5.0 → 49.6.0

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 (73) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/business/customer-picker.d.ts +8 -2
  3. package/dist/business/customer-picker.d.ts.map +1 -1
  4. package/dist/business/customer-picker.js +30 -27
  5. package/dist/business/index.d.ts +1 -0
  6. package/dist/business/index.d.ts.map +1 -1
  7. package/dist/business/index.js +1 -0
  8. package/dist/business/line-product-cell.d.ts +8 -10
  9. package/dist/business/line-product-cell.d.ts.map +1 -1
  10. package/dist/business/line-product-cell.js +13 -90
  11. package/dist/business/product-options.d.ts +41 -0
  12. package/dist/business/product-options.d.ts.map +1 -0
  13. package/dist/business/product-options.js +58 -0
  14. package/dist/business/product-picker.d.ts +5 -1
  15. package/dist/business/product-picker.d.ts.map +1 -1
  16. package/dist/business/product-picker.js +26 -35
  17. package/dist/business/relate-documents.d.ts +1 -1
  18. package/dist/business/relate-documents.d.ts.map +1 -1
  19. package/dist/business/relate-documents.js +6 -8
  20. package/dist/business/vehicle-picker.d.ts +8 -2
  21. package/dist/business/vehicle-picker.d.ts.map +1 -1
  22. package/dist/business/vehicle-picker.js +28 -28
  23. package/dist/dialogs/dynamic-record.d.ts.map +1 -1
  24. package/dist/dialogs/dynamic-record.js +28 -43
  25. package/dist/dynamic-multi-select-field.d.ts.map +1 -1
  26. package/dist/dynamic-multi-select-field.js +17 -5
  27. package/dist/dynamic-select-field.d.ts +7 -23
  28. package/dist/dynamic-select-field.d.ts.map +1 -1
  29. package/dist/dynamic-select-field.js +67 -161
  30. package/dist/entity-select.d.ts +5 -2
  31. package/dist/entity-select.d.ts.map +1 -1
  32. package/dist/entity-select.js +23 -116
  33. package/dist/index.d.ts +7 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +8 -1
  36. package/dist/record-picker-actions.d.ts +40 -2
  37. package/dist/record-picker-actions.d.ts.map +1 -1
  38. package/dist/record-picker-actions.js +44 -4
  39. package/dist/record-picker-dialog.d.ts +23 -0
  40. package/dist/record-picker-dialog.d.ts.map +1 -0
  41. package/dist/record-picker-dialog.js +37 -0
  42. package/dist/record-picker-option.d.ts +25 -0
  43. package/dist/record-picker-option.d.ts.map +1 -0
  44. package/dist/record-picker-option.js +55 -0
  45. package/dist/record-picker.d.ts +149 -0
  46. package/dist/record-picker.d.ts.map +1 -0
  47. package/dist/record-picker.js +372 -0
  48. package/package.json +1 -1
  49. package/src/__tests__/business-pickers.test.tsx +6 -3
  50. package/src/__tests__/document-editor-inline-selects.test.tsx +2 -1
  51. package/src/__tests__/document-form-dialog.test.tsx +4 -3
  52. package/src/__tests__/document-lines-grid.test.tsx +2 -1
  53. package/src/__tests__/record-picker.test.tsx +469 -0
  54. package/src/business/customer-picker.tsx +87 -98
  55. package/src/business/index.ts +1 -0
  56. package/src/business/line-product-cell.tsx +55 -180
  57. package/src/business/product-options.tsx +119 -0
  58. package/src/business/product-picker.tsx +63 -126
  59. package/src/business/relate-documents.tsx +36 -45
  60. package/src/business/vehicle-picker.tsx +76 -99
  61. package/src/dialogs/dynamic-record.tsx +44 -97
  62. package/src/dynamic-multi-select-field.tsx +39 -13
  63. package/src/dynamic-select-field.tsx +143 -368
  64. package/src/entity-select.tsx +53 -202
  65. package/src/index.ts +27 -2
  66. package/src/record-picker-actions.tsx +101 -8
  67. package/src/record-picker-dialog.tsx +80 -0
  68. package/src/record-picker-option.tsx +96 -0
  69. package/src/record-picker.tsx +971 -0
  70. package/dist/business/use-async-search.d.ts +0 -10
  71. package/dist/business/use-async-search.d.ts.map +0 -1
  72. package/dist/business/use-async-search.js +0 -38
  73. package/src/business/use-async-search.ts +0 -43
@@ -1,10 +0,0 @@
1
- /** Búsqueda async con debounce y cancelación. `search` debe ser estable (useCallback). */
2
- export declare function useAsyncSearch<T>(query: string, search: (q: string, signal: AbortSignal) => Promise<T[]>, opts?: {
3
- minChars?: number;
4
- delay?: number;
5
- }): {
6
- results: T[];
7
- loading: boolean;
8
- error: boolean;
9
- };
10
- //# sourceMappingURL=use-async-search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-async-search.d.ts","sourceRoot":"","sources":["../../src/business/use-async-search.ts"],"names":[],"mappings":"AAGA,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,CAAC,EAC5B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EACxD,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD;IAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAkCpD"}
@@ -1,38 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import { useDebouncedValue } from '../use-debounced-value';
3
- /** Búsqueda async con debounce y cancelación. `search` debe ser estable (useCallback). */
4
- export function useAsyncSearch(query, search, opts = {}) {
5
- const { minChars = 2, delay = 250 } = opts;
6
- const q = useDebouncedValue(query.trim(), delay);
7
- const [results, setResults] = useState([]);
8
- const [loading, setLoading] = useState(false);
9
- const [error, setError] = useState(false);
10
- useEffect(() => {
11
- if (q.length < minChars) {
12
- setResults([]);
13
- setLoading(false);
14
- setError(false);
15
- return;
16
- }
17
- const ctrl = new AbortController();
18
- setLoading(true);
19
- setError(false);
20
- search(q, ctrl.signal)
21
- .then((rows) => {
22
- if (!ctrl.signal.aborted)
23
- setResults(rows);
24
- })
25
- .catch(() => {
26
- if (!ctrl.signal.aborted) {
27
- setResults([]);
28
- setError(true);
29
- }
30
- })
31
- .finally(() => {
32
- if (!ctrl.signal.aborted)
33
- setLoading(false);
34
- });
35
- return () => ctrl.abort();
36
- }, [q, search, minChars]);
37
- return { results, loading, error };
38
- }
@@ -1,43 +0,0 @@
1
- import { useEffect, useState } from 'react'
2
- import { useDebouncedValue } from '../use-debounced-value'
3
-
4
- /** Búsqueda async con debounce y cancelación. `search` debe ser estable (useCallback). */
5
- export function useAsyncSearch<T>(
6
- query: string,
7
- search: (q: string, signal: AbortSignal) => Promise<T[]>,
8
- opts: { minChars?: number; delay?: number } = {},
9
- ): { results: T[]; loading: boolean; error: boolean } {
10
- const { minChars = 2, delay = 250 } = opts
11
- const q = useDebouncedValue(query.trim(), delay)
12
- const [results, setResults] = useState<T[]>([])
13
- const [loading, setLoading] = useState(false)
14
- const [error, setError] = useState(false)
15
-
16
- useEffect(() => {
17
- if (q.length < minChars) {
18
- setResults([])
19
- setLoading(false)
20
- setError(false)
21
- return
22
- }
23
- const ctrl = new AbortController()
24
- setLoading(true)
25
- setError(false)
26
- search(q, ctrl.signal)
27
- .then((rows) => {
28
- if (!ctrl.signal.aborted) setResults(rows)
29
- })
30
- .catch(() => {
31
- if (!ctrl.signal.aborted) {
32
- setResults([])
33
- setError(true)
34
- }
35
- })
36
- .finally(() => {
37
- if (!ctrl.signal.aborted) setLoading(false)
38
- })
39
- return () => ctrl.abort()
40
- }, [q, search, minChars])
41
-
42
- return { results, loading, error }
43
- }