diff --git a/.VSCodeCounter/2025-03-18_12-39-04/details.md b/.VSCodeCounter/2025-03-18_12-39-04/details.md new file mode 100644 index 0000000..495b44b --- /dev/null +++ b/.VSCodeCounter/2025-03-18_12-39-04/details.md @@ -0,0 +1,42 @@ +# Details + +Date : 2025-03-18 12:39:04 + +Directory /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew + +Total : 27 files, 6925 codes, 1247 comments, 1248 blanks, all 9420 lines + +[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/README.md](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/README.md) | Markdown | 39 | 0 | 19 | 58 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/AiValidationDialogs.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/AiValidationDialogs.tsx) | TypeScript JSX | 230 | 10 | 8 | 248 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/BaseCellContent.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/BaseCellContent.tsx) | TypeScript JSX | 18 | 0 | 3 | 21 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/SearchableTemplateSelect.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/SearchableTemplateSelect.tsx) | TypeScript JSX | 273 | 19 | 37 | 329 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx) | TypeScript JSX | 113 | 17 | 10 | 140 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx) | TypeScript JSX | 377 | 49 | 54 | 480 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx) | TypeScript JSX | 969 | 182 | 158 | 1,309 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx) | TypeScript JSX | 509 | 50 | 57 | 616 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/CheckboxCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/CheckboxCell.tsx) | TypeScript JSX | 112 | 12 | 21 | 145 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx) | TypeScript JSX | 233 | 34 | 33 | 300 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx) | TypeScript JSX | 420 | 66 | 59 | 545 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultilineInput.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultilineInput.tsx) | TypeScript JSX | 193 | 23 | 22 | 238 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx) | TypeScript JSX | 227 | 36 | 32 | 295 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useAiValidation.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useAiValidation.tsx) | TypeScript JSX | 500 | 75 | 89 | 664 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx) | TypeScript JSX | 264 | 75 | 81 | 420 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useTemplates.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useTemplates.tsx) | TypeScript JSX | 204 | 26 | 33 | 263 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx) | TypeScript JSX | 337 | 88 | 92 | 517 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx) | TypeScript JSX | 360 | 78 | 85 | 523 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx) | TypeScript JSX | 1,190 | 288 | 289 | 1,767 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/index.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/index.tsx) | TypeScript JSX | 20 | 6 | 2 | 28 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types.ts) | TypeScript | 4 | 0 | 1 | 5 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types/index.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types/index.ts) | TypeScript | 16 | 4 | 4 | 24 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/dataMutations.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/dataMutations.ts) | TypeScript | 124 | 4 | 14 | 142 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/errorUtils.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/errorUtils.ts) | TypeScript | 21 | 15 | 5 | 41 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/upcValidation.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/upcValidation.ts) | TypeScript | 43 | 24 | 7 | 74 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validation-helper.js](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validation-helper.js) | JavaScript | 28 | 7 | 9 | 44 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validationUtils.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validationUtils.ts) | TypeScript | 101 | 59 | 24 | 184 | + +[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_12-39-04/diff-details.md b/.VSCodeCounter/2025-03-18_12-39-04/diff-details.md new file mode 100644 index 0000000..d6950af --- /dev/null +++ b/.VSCodeCounter/2025-03-18_12-39-04/diff-details.md @@ -0,0 +1,26 @@ +# Diff Details + +Date : 2025-03-18 12:39:04 + +Directory /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew + +Total : 11 files, 732 codes, 239 comments, 231 blanks, all 1202 lines + +[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx) | TypeScript JSX | 113 | 17 | 10 | 140 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx) | TypeScript JSX | 3 | 7 | 10 | 20 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx) | TypeScript JSX | 239 | 56 | 52 | 347 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx) | TypeScript JSX | 10 | 2 | 3 | 15 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx) | TypeScript JSX | 1 | 3 | 1 | 5 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx) | TypeScript JSX | 13 | 10 | 7 | 30 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx) | TypeScript JSX | -62 | 0 | 1 | -61 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx) | TypeScript JSX | 16 | 6 | 7 | 29 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx) | TypeScript JSX | 128 | 39 | 42 | 209 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx) | TypeScript JSX | 141 | 39 | 38 | 218 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx) | TypeScript JSX | 130 | 60 | 60 | 250 | + +[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_12-39-04/diff.md b/.VSCodeCounter/2025-03-18_12-39-04/diff.md new file mode 100644 index 0000000..d190636 --- /dev/null +++ b/.VSCodeCounter/2025-03-18_12-39-04/diff.md @@ -0,0 +1,25 @@ +# Diff Summary + +Date : 2025-03-18 12:39:04 + +Directory /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew + +Total : 11 files, 732 codes, 239 comments, 231 blanks, all 1202 lines + +[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| TypeScript JSX | 11 | 732 | 239 | 231 | 1,202 | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| . | 11 | 732 | 239 | 231 | 1,202 | +| components | 7 | 317 | 95 | 84 | 496 | +| components (Files) | 4 | 365 | 82 | 75 | 522 | +| components/cells | 3 | -48 | 13 | 9 | -26 | +| hooks | 4 | 415 | 144 | 147 | 706 | + +[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_12-39-04/diff.txt b/.VSCodeCounter/2025-03-18_12-39-04/diff.txt new file mode 100644 index 0000000..50afb2b --- /dev/null +++ b/.VSCodeCounter/2025-03-18_12-39-04/diff.txt @@ -0,0 +1,39 @@ +Date : 2025-03-18 12:39:04 +Directory : /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew +Total : 11 files, 732 codes, 239 comments, 231 blanks, all 1202 lines + +Languages ++----------------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------------+------------+------------+------------+------------+------------+ +| TypeScript JSX | 11 | 732 | 239 | 231 | 1,202 | ++----------------+------------+------------+------------+------------+------------+ + +Directories ++-------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++-------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| . | 11 | 732 | 239 | 231 | 1,202 | +| components | 7 | 317 | 95 | 84 | 496 | +| components (Files) | 4 | 365 | 82 | 75 | 522 | +| components/cells | 3 | -48 | 13 | 9 | -26 | +| hooks | 4 | 415 | 144 | 147 | 706 | ++-------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ + +Files ++-------------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++-------------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx | TypeScript JSX | 113 | 17 | 10 | 140 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx | TypeScript JSX | 3 | 7 | 10 | 20 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx | TypeScript JSX | 239 | 56 | 52 | 347 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx | TypeScript JSX | 10 | 2 | 3 | 15 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx | TypeScript JSX | 1 | 3 | 1 | 5 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx | TypeScript JSX | 13 | 10 | 7 | 30 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx | TypeScript JSX | -62 | 0 | 1 | -61 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx | TypeScript JSX | 16 | 6 | 7 | 29 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx | TypeScript JSX | 128 | 39 | 42 | 209 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx | TypeScript JSX | 141 | 39 | 38 | 218 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx | TypeScript JSX | 130 | 60 | 60 | 250 | +| Total | | 732 | 239 | 231 | 1,202 | ++-------------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_12-39-04/results.json b/.VSCodeCounter/2025-03-18_12-39-04/results.json new file mode 100644 index 0000000..af88e87 --- /dev/null +++ b/.VSCodeCounter/2025-03-18_12-39-04/results.json @@ -0,0 +1 @@ +{"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/upcValidation.ts":{"language":"TypeScript","code":43,"comment":24,"blank":7},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validation-helper.js":{"language":"JavaScript","code":28,"comment":7,"blank":9},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validationUtils.ts":{"language":"TypeScript","code":101,"comment":59,"blank":24},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/dataMutations.ts":{"language":"TypeScript","code":124,"comment":4,"blank":14},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useAiValidation.tsx":{"language":"TypeScript JSX","code":500,"comment":75,"blank":89},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx":{"language":"TypeScript JSX","code":360,"comment":78,"blank":85},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/errorUtils.ts":{"language":"TypeScript","code":21,"comment":15,"blank":5},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx":{"language":"TypeScript JSX","code":264,"comment":75,"blank":81},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useTemplates.tsx":{"language":"TypeScript JSX","code":204,"comment":26,"blank":33},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types.ts":{"language":"TypeScript","code":4,"comment":0,"blank":1},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx":{"language":"TypeScript JSX","code":1190,"comment":288,"blank":289},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/README.md":{"language":"Markdown","code":39,"comment":0,"blank":19},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx":{"language":"TypeScript JSX","code":377,"comment":49,"blank":54},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx":{"language":"TypeScript JSX","code":969,"comment":182,"blank":158},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/index.tsx":{"language":"TypeScript JSX","code":20,"comment":6,"blank":2},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx":{"language":"TypeScript JSX","code":509,"comment":50,"blank":57},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx":{"language":"TypeScript JSX","code":337,"comment":88,"blank":92},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/SearchableTemplateSelect.tsx":{"language":"TypeScript JSX","code":273,"comment":19,"blank":37},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/BaseCellContent.tsx":{"language":"TypeScript JSX","code":18,"comment":0,"blank":3},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx":{"language":"TypeScript JSX","code":113,"comment":17,"blank":10},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/AiValidationDialogs.tsx":{"language":"TypeScript JSX","code":230,"comment":10,"blank":8},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types/index.ts":{"language":"TypeScript","code":16,"comment":4,"blank":4},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx":{"language":"TypeScript JSX","code":420,"comment":66,"blank":59},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultilineInput.tsx":{"language":"TypeScript JSX","code":193,"comment":23,"blank":22},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx":{"language":"TypeScript JSX","code":233,"comment":34,"blank":33},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx":{"language":"TypeScript JSX","code":227,"comment":36,"blank":32},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/CheckboxCell.tsx":{"language":"TypeScript JSX","code":112,"comment":12,"blank":21}} \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_12-39-04/results.md b/.VSCodeCounter/2025-03-18_12-39-04/results.md new file mode 100644 index 0000000..80de2a7 --- /dev/null +++ b/.VSCodeCounter/2025-03-18_12-39-04/results.md @@ -0,0 +1,31 @@ +# Summary + +Date : 2025-03-18 12:39:04 + +Directory /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew + +Total : 27 files, 6925 codes, 1247 comments, 1248 blanks, all 9420 lines + +Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| TypeScript JSX | 19 | 6,549 | 1,134 | 1,165 | 8,848 | +| TypeScript | 6 | 309 | 106 | 55 | 470 | +| Markdown | 1 | 39 | 0 | 19 | 58 | +| JavaScript | 1 | 28 | 7 | 9 | 44 | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| . | 27 | 6,925 | 1,247 | 1,248 | 9,420 | +| . (Files) | 3 | 63 | 6 | 22 | 91 | +| components | 12 | 3,674 | 498 | 494 | 4,666 | +| components (Files) | 7 | 2,489 | 327 | 327 | 3,143 | +| components/cells | 5 | 1,185 | 171 | 167 | 1,523 | +| hooks | 6 | 2,855 | 630 | 669 | 4,154 | +| types | 1 | 16 | 4 | 4 | 24 | +| utils | 5 | 317 | 109 | 59 | 485 | + +Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_12-39-04/results.txt b/.VSCodeCounter/2025-03-18_12-39-04/results.txt new file mode 100644 index 0000000..e10a94b --- /dev/null +++ b/.VSCodeCounter/2025-03-18_12-39-04/results.txt @@ -0,0 +1,61 @@ +Date : 2025-03-18 12:39:04 +Directory : /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew +Total : 27 files, 6925 codes, 1247 comments, 1248 blanks, all 9420 lines + +Languages ++----------------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------------+------------+------------+------------+------------+------------+ +| TypeScript JSX | 19 | 6,549 | 1,134 | 1,165 | 8,848 | +| TypeScript | 6 | 309 | 106 | 55 | 470 | +| Markdown | 1 | 39 | 0 | 19 | 58 | +| JavaScript | 1 | 28 | 7 | 9 | 44 | ++----------------+------------+------------+------------+------------+------------+ + +Directories ++-------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++-------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| . | 27 | 6,925 | 1,247 | 1,248 | 9,420 | +| . (Files) | 3 | 63 | 6 | 22 | 91 | +| components | 12 | 3,674 | 498 | 494 | 4,666 | +| components (Files) | 7 | 2,489 | 327 | 327 | 3,143 | +| components/cells | 5 | 1,185 | 171 | 167 | 1,523 | +| hooks | 6 | 2,855 | 630 | 669 | 4,154 | +| types | 1 | 16 | 4 | 4 | 24 | +| utils | 5 | 317 | 109 | 59 | 485 | ++-------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ + +Files ++-------------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++-------------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/README.md | Markdown | 39 | 0 | 19 | 58 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/AiValidationDialogs.tsx | TypeScript JSX | 230 | 10 | 8 | 248 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/BaseCellContent.tsx | TypeScript JSX | 18 | 0 | 3 | 21 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/SearchableTemplateSelect.tsx | TypeScript JSX | 273 | 19 | 37 | 329 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx | TypeScript JSX | 113 | 17 | 10 | 140 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx | TypeScript JSX | 377 | 49 | 54 | 480 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx | TypeScript JSX | 969 | 182 | 158 | 1,309 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx | TypeScript JSX | 509 | 50 | 57 | 616 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/CheckboxCell.tsx | TypeScript JSX | 112 | 12 | 21 | 145 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx | TypeScript JSX | 233 | 34 | 33 | 300 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx | TypeScript JSX | 420 | 66 | 59 | 545 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultilineInput.tsx | TypeScript JSX | 193 | 23 | 22 | 238 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx | TypeScript JSX | 227 | 36 | 32 | 295 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useAiValidation.tsx | TypeScript JSX | 500 | 75 | 89 | 664 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx | TypeScript JSX | 264 | 75 | 81 | 420 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useTemplates.tsx | TypeScript JSX | 204 | 26 | 33 | 263 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx | TypeScript JSX | 337 | 88 | 92 | 517 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx | TypeScript JSX | 360 | 78 | 85 | 523 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx | TypeScript JSX | 1,190 | 288 | 289 | 1,767 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/index.tsx | TypeScript JSX | 20 | 6 | 2 | 28 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types.ts | TypeScript | 4 | 0 | 1 | 5 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types/index.ts | TypeScript | 16 | 4 | 4 | 24 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/dataMutations.ts | TypeScript | 124 | 4 | 14 | 142 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/errorUtils.ts | TypeScript | 21 | 15 | 5 | 41 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/upcValidation.ts | TypeScript | 43 | 24 | 7 | 74 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validation-helper.js | JavaScript | 28 | 7 | 9 | 44 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validationUtils.ts | TypeScript | 101 | 59 | 24 | 184 | +| Total | | 6,925 | 1,247 | 1,248 | 9,420 | ++-------------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_13-49-23/details.md b/.VSCodeCounter/2025-03-18_13-49-23/details.md new file mode 100644 index 0000000..94a919b --- /dev/null +++ b/.VSCodeCounter/2025-03-18_13-49-23/details.md @@ -0,0 +1,42 @@ +# Details + +Date : 2025-03-18 13:49:23 + +Directory /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew + +Total : 27 files, 6961 codes, 1254 comments, 1252 blanks, all 9467 lines + +[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/README.md](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/README.md) | Markdown | 39 | 0 | 19 | 58 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/AiValidationDialogs.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/AiValidationDialogs.tsx) | TypeScript JSX | 230 | 10 | 8 | 248 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/BaseCellContent.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/BaseCellContent.tsx) | TypeScript JSX | 18 | 0 | 3 | 21 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/SearchableTemplateSelect.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/SearchableTemplateSelect.tsx) | TypeScript JSX | 273 | 19 | 37 | 329 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx) | TypeScript JSX | 113 | 17 | 10 | 140 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx) | TypeScript JSX | 395 | 51 | 55 | 501 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx) | TypeScript JSX | 969 | 182 | 158 | 1,309 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx) | TypeScript JSX | 527 | 55 | 60 | 642 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/CheckboxCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/CheckboxCell.tsx) | TypeScript JSX | 112 | 12 | 21 | 145 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx) | TypeScript JSX | 233 | 34 | 33 | 300 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx) | TypeScript JSX | 420 | 66 | 59 | 545 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultilineInput.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultilineInput.tsx) | TypeScript JSX | 193 | 23 | 22 | 238 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx) | TypeScript JSX | 227 | 36 | 32 | 295 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useAiValidation.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useAiValidation.tsx) | TypeScript JSX | 500 | 75 | 89 | 664 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx) | TypeScript JSX | 264 | 75 | 81 | 420 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useTemplates.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useTemplates.tsx) | TypeScript JSX | 204 | 26 | 33 | 263 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx) | TypeScript JSX | 337 | 88 | 92 | 517 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx) | TypeScript JSX | 360 | 78 | 85 | 523 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx) | TypeScript JSX | 1,190 | 288 | 289 | 1,767 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/index.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/index.tsx) | TypeScript JSX | 20 | 6 | 2 | 28 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types.ts) | TypeScript | 4 | 0 | 1 | 5 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types/index.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types/index.ts) | TypeScript | 16 | 4 | 4 | 24 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/dataMutations.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/dataMutations.ts) | TypeScript | 124 | 4 | 14 | 142 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/errorUtils.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/errorUtils.ts) | TypeScript | 21 | 15 | 5 | 41 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/upcValidation.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/upcValidation.ts) | TypeScript | 43 | 24 | 7 | 74 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validation-helper.js](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validation-helper.js) | JavaScript | 28 | 7 | 9 | 44 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validationUtils.ts](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validationUtils.ts) | TypeScript | 101 | 59 | 24 | 184 | + +[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_13-49-23/diff-details.md b/.VSCodeCounter/2025-03-18_13-49-23/diff-details.md new file mode 100644 index 0000000..aa88664 --- /dev/null +++ b/.VSCodeCounter/2025-03-18_13-49-23/diff-details.md @@ -0,0 +1,17 @@ +# Diff Details + +Date : 2025-03-18 13:49:23 + +Directory /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew + +Total : 2 files, 36 codes, 7 comments, 4 blanks, all 47 lines + +[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx) | TypeScript JSX | 18 | 2 | 1 | 21 | +| [inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx](/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx) | TypeScript JSX | 18 | 5 | 3 | 26 | + +[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_13-49-23/diff.md b/.VSCodeCounter/2025-03-18_13-49-23/diff.md new file mode 100644 index 0000000..287e98c --- /dev/null +++ b/.VSCodeCounter/2025-03-18_13-49-23/diff.md @@ -0,0 +1,22 @@ +# Diff Summary + +Date : 2025-03-18 13:49:23 + +Directory /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew + +Total : 2 files, 36 codes, 7 comments, 4 blanks, all 47 lines + +[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| TypeScript JSX | 2 | 36 | 7 | 4 | 47 | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| . | 2 | 36 | 7 | 4 | 47 | +| components | 2 | 36 | 7 | 4 | 47 | + +[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_13-49-23/diff.txt b/.VSCodeCounter/2025-03-18_13-49-23/diff.txt new file mode 100644 index 0000000..9663c8f --- /dev/null +++ b/.VSCodeCounter/2025-03-18_13-49-23/diff.txt @@ -0,0 +1,27 @@ +Date : 2025-03-18 13:49:23 +Directory : /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew +Total : 2 files, 36 codes, 7 comments, 4 blanks, all 47 lines + +Languages ++----------------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------------+------------+------------+------------+------------+------------+ +| TypeScript JSX | 2 | 36 | 7 | 4 | 47 | ++----------------+------------+------------+------------+------------+------------+ + +Directories ++---------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++---------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| . | 2 | 36 | 7 | 4 | 47 | +| components | 2 | 36 | 7 | 4 | 47 | ++---------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ + +Files ++---------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++---------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx | TypeScript JSX | 18 | 2 | 1 | 21 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx | TypeScript JSX | 18 | 5 | 3 | 26 | +| Total | | 36 | 7 | 4 | 47 | ++---------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_13-49-23/results.json b/.VSCodeCounter/2025-03-18_13-49-23/results.json new file mode 100644 index 0000000..0e92663 --- /dev/null +++ b/.VSCodeCounter/2025-03-18_13-49-23/results.json @@ -0,0 +1 @@ +{"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/README.md":{"language":"Markdown","code":39,"comment":0,"blank":19},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types.ts":{"language":"TypeScript","code":4,"comment":0,"blank":1},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/index.tsx":{"language":"TypeScript JSX","code":20,"comment":6,"blank":2},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx":{"language":"TypeScript JSX","code":1190,"comment":288,"blank":289},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useTemplates.tsx":{"language":"TypeScript JSX","code":204,"comment":26,"blank":33},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx":{"language":"TypeScript JSX","code":360,"comment":78,"blank":85},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useAiValidation.tsx":{"language":"TypeScript JSX","code":500,"comment":75,"blank":89},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types/index.ts":{"language":"TypeScript","code":16,"comment":4,"blank":4},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx":{"language":"TypeScript JSX","code":264,"comment":75,"blank":81},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx":{"language":"TypeScript JSX","code":337,"comment":88,"blank":92},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/SearchableTemplateSelect.tsx":{"language":"TypeScript JSX","code":273,"comment":19,"blank":37},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validationUtils.ts":{"language":"TypeScript","code":101,"comment":59,"blank":24},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/dataMutations.ts":{"language":"TypeScript","code":124,"comment":4,"blank":14},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/BaseCellContent.tsx":{"language":"TypeScript JSX","code":18,"comment":0,"blank":3},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx":{"language":"TypeScript JSX","code":113,"comment":17,"blank":10},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx":{"language":"TypeScript JSX","code":969,"comment":182,"blank":158},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx":{"language":"TypeScript JSX","code":527,"comment":55,"blank":60},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/AiValidationDialogs.tsx":{"language":"TypeScript JSX","code":230,"comment":10,"blank":8},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/errorUtils.ts":{"language":"TypeScript","code":21,"comment":15,"blank":5},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx":{"language":"TypeScript JSX","code":395,"comment":51,"blank":55},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/upcValidation.ts":{"language":"TypeScript","code":43,"comment":24,"blank":7},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/CheckboxCell.tsx":{"language":"TypeScript JSX","code":112,"comment":12,"blank":21},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validation-helper.js":{"language":"JavaScript","code":28,"comment":7,"blank":9},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx":{"language":"TypeScript JSX","code":227,"comment":36,"blank":32},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx":{"language":"TypeScript JSX","code":233,"comment":34,"blank":33},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx":{"language":"TypeScript JSX","code":420,"comment":66,"blank":59},"file:///Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultilineInput.tsx":{"language":"TypeScript JSX","code":193,"comment":23,"blank":22}} \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_13-49-23/results.md b/.VSCodeCounter/2025-03-18_13-49-23/results.md new file mode 100644 index 0000000..50a3b47 --- /dev/null +++ b/.VSCodeCounter/2025-03-18_13-49-23/results.md @@ -0,0 +1,31 @@ +# Summary + +Date : 2025-03-18 13:49:23 + +Directory /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew + +Total : 27 files, 6961 codes, 1254 comments, 1252 blanks, all 9467 lines + +Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| TypeScript JSX | 19 | 6,585 | 1,141 | 1,169 | 8,895 | +| TypeScript | 6 | 309 | 106 | 55 | 470 | +| Markdown | 1 | 39 | 0 | 19 | 58 | +| JavaScript | 1 | 28 | 7 | 9 | 44 | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| . | 27 | 6,961 | 1,254 | 1,252 | 9,467 | +| . (Files) | 3 | 63 | 6 | 22 | 91 | +| components | 12 | 3,710 | 505 | 498 | 4,713 | +| components (Files) | 7 | 2,525 | 334 | 331 | 3,190 | +| components/cells | 5 | 1,185 | 171 | 167 | 1,523 | +| hooks | 6 | 2,855 | 630 | 669 | 4,154 | +| types | 1 | 16 | 4 | 4 | 24 | +| utils | 5 | 317 | 109 | 59 | 485 | + +Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2025-03-18_13-49-23/results.txt b/.VSCodeCounter/2025-03-18_13-49-23/results.txt new file mode 100644 index 0000000..55ff082 --- /dev/null +++ b/.VSCodeCounter/2025-03-18_13-49-23/results.txt @@ -0,0 +1,61 @@ +Date : 2025-03-18 13:49:23 +Directory : /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew +Total : 27 files, 6961 codes, 1254 comments, 1252 blanks, all 9467 lines + +Languages ++----------------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------------+------------+------------+------------+------------+------------+ +| TypeScript JSX | 19 | 6,585 | 1,141 | 1,169 | 8,895 | +| TypeScript | 6 | 309 | 106 | 55 | 470 | +| Markdown | 1 | 39 | 0 | 19 | 58 | +| JavaScript | 1 | 28 | 7 | 9 | 44 | ++----------------+------------+------------+------------+------------+------------+ + +Directories ++-------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++-------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| . | 27 | 6,961 | 1,254 | 1,252 | 9,467 | +| . (Files) | 3 | 63 | 6 | 22 | 91 | +| components | 12 | 3,710 | 505 | 498 | 4,713 | +| components (Files) | 7 | 2,525 | 334 | 331 | 3,190 | +| components/cells | 5 | 1,185 | 171 | 167 | 1,523 | +| hooks | 6 | 2,855 | 630 | 669 | 4,154 | +| types | 1 | 16 | 4 | 4 | 24 | +| utils | 5 | 317 | 109 | 59 | 485 | ++-------------------------------------------------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ + +Files ++-------------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++-------------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/README.md | Markdown | 39 | 0 | 19 | 58 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/AiValidationDialogs.tsx | TypeScript JSX | 230 | 10 | 8 | 248 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/BaseCellContent.tsx | TypeScript JSX | 18 | 0 | 3 | 21 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/SearchableTemplateSelect.tsx | TypeScript JSX | 273 | 19 | 37 | 329 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/UpcValidationTableAdapter.tsx | TypeScript JSX | 113 | 17 | 10 | 140 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx | TypeScript JSX | 395 | 51 | 55 | 501 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationContainer.tsx | TypeScript JSX | 969 | 182 | 158 | 1,309 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx | TypeScript JSX | 527 | 55 | 60 | 642 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/CheckboxCell.tsx | TypeScript JSX | 112 | 12 | 21 | 145 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/InputCell.tsx | TypeScript JSX | 233 | 34 | 33 | 300 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultiSelectCell.tsx | TypeScript JSX | 420 | 66 | 59 | 545 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/MultilineInput.tsx | TypeScript JSX | 193 | 23 | 22 | 238 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx | TypeScript JSX | 227 | 36 | 32 | 295 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useAiValidation.tsx | TypeScript JSX | 500 | 75 | 89 | 664 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useProductLinesFetching.tsx | TypeScript JSX | 264 | 75 | 81 | 420 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useTemplates.tsx | TypeScript JSX | 204 | 26 | 33 | 263 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useUpcValidation.tsx | TypeScript JSX | 337 | 88 | 92 | 517 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidation.tsx | TypeScript JSX | 360 | 78 | 85 | 523 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/hooks/useValidationState.tsx | TypeScript JSX | 1,190 | 288 | 289 | 1,767 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/index.tsx | TypeScript JSX | 20 | 6 | 2 | 28 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types.ts | TypeScript | 4 | 0 | 1 | 5 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/types/index.ts | TypeScript | 16 | 4 | 4 | 24 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/dataMutations.ts | TypeScript | 124 | 4 | 14 | 142 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/errorUtils.ts | TypeScript | 21 | 15 | 5 | 41 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/upcValidation.ts | TypeScript | 43 | 24 | 7 | 74 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validation-helper.js | JavaScript | 28 | 7 | 9 | 44 | +| /Users/matt/Dev/inventory/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/utils/validationUtils.ts | TypeScript | 101 | 59 | 24 | 184 | +| Total | | 6,961 | 1,254 | 1,252 | 9,467 | ++-------------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx b/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx index 90f2149..0edb323 100644 --- a/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx +++ b/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationCell.tsx @@ -76,7 +76,8 @@ const BaseCellContent = React.memo(({ onChange, hasErrors, options = [], - className = '' + className = '', + fieldKey = '' }: { field: Field; value: any; @@ -84,11 +85,14 @@ const BaseCellContent = React.memo(({ hasErrors: boolean; options?: readonly any[]; className?: string; + fieldKey?: string; }) => { // Get field type information - const fieldType = typeof field.fieldType === 'string' - ? field.fieldType - : field.fieldType?.type || 'input'; + const fieldType = fieldKey === 'line' || fieldKey === 'subline' + ? 'select' + : typeof field.fieldType === 'string' + ? field.fieldType + : field.fieldType?.type || 'input'; // Check for multiline input const isMultiline = typeof field.fieldType === 'object' && @@ -100,6 +104,22 @@ const BaseCellContent = React.memo(({ (field.fieldType.type === 'input' || field.fieldType.type === 'multi-input') && field.fieldType.price === true; + // Special case for line and subline - check this first, before any other field type checks + if (fieldKey === 'line' || fieldKey === 'subline') { + // Force these fields to always use SelectCell regardless of fieldType + return ( + + ); + } + if (fieldType === 'select') { return ( )} diff --git a/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx b/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx index 38b72d4..213a337 100644 --- a/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx +++ b/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx @@ -379,9 +379,35 @@ const ValidationTable = ({ // Get validation errors for this cell const cellErrors = validationErrors.get(row.index)?.[fieldKey] || []; + // Create a copy of the field with guaranteed field type for line and subline fields + let fieldWithType = field; + + // Ensure line and subline fields always have the correct fieldType + if (fieldKey === 'line' || fieldKey === 'subline') { + // Create a deep clone of the field to prevent any reference issues + fieldWithType = { + ...JSON.parse(JSON.stringify(field)), // Ensure deep clone + fieldType: { + type: 'select', + options: options + }, + // Explicitly mark as not disabled to ensure dropdown works + disabled: false + }; + + // Debug logging + console.log(`Field ${fieldKey} in ValidationTable (after deep clone):`, { + originalField: field, + modifiedField: fieldWithType, + options, + hasOptions: options && options.length > 0, + disabled: fieldWithType.disabled + }); + } + return ( } + field={fieldWithType as Field} value={row.original[field.key as keyof typeof row.original]} onChange={(value) => handleFieldUpdate(row.index, field.key as T, value)} errors={cellErrors} diff --git a/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx b/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx index 3975595..97e8fc7 100644 --- a/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx +++ b/inventory/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/cells/SelectCell.tsx @@ -149,7 +149,7 @@ const SelectCell = ({ }, [onChange, onEndEdit]); // If disabled, render a static view - if (disabled) { + if (disabled && field.key !== 'line' && field.key !== 'subline') { const displayText = displayValue; return ( diff --git a/inventory/src/pages/Import.tsx b/inventory/src/pages/Import.tsx index 09fd919..5e4d1ad 100644 --- a/inventory/src/pages/Import.tsx +++ b/inventory/src/pages/Import.tsx @@ -40,7 +40,7 @@ const BASE_IMPORT_FIELDS = [ description: "Product line", alternateMatches: ["collection"], fieldType: { - type: "select", + type: "select" as const, options: [], // Will be populated dynamically based on company selection }, width: 220, @@ -51,7 +51,7 @@ const BASE_IMPORT_FIELDS = [ key: "subline", description: "Product sub-line", fieldType: { - type: "select", + type: "select" as const, options: [], // Will be populated dynamically based on line selection }, width: 220, diff --git a/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx b/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx new file mode 100644 index 0000000..c3e38eb --- /dev/null +++ b/src/lib/react-spreadsheet-import/src/steps/ValidationStepNew/components/ValidationTable.tsx @@ -0,0 +1,91 @@ +import React, { useMemo } from 'react'; +import { ColumnDef } from '@tanstack/react-table'; +import { RowData } from '@tanstack/react-table'; +import { Field } from '@/types'; +import { MemoizedCell } from '@/components/MemoizedCell'; + +// Memoize field columns with stable handlers +const fieldColumns = useMemo(() => fields.map((field): ColumnDef, any> | null => { + // Don't filter out disabled fields, just pass the disabled state to the cell component + + const fieldWidth = field.width || ( + field.fieldType.type === "checkbox" ? 80 : + field.fieldType.type === "select" ? 150 : + field.fieldType.type === "multi-select" ? 200 : + (field.fieldType.type === "input" || field.fieldType.type === "multi-input") && + (field.fieldType as any).multiline ? 300 : + 150 + ); + + const fieldKey = String(field.key); + // Get cached options for this field + const fieldOptions = optionsCache.get(fieldKey) || []; + + return { + accessorKey: fieldKey, + header: field.label || fieldKey, + size: fieldWidth, + cell: ({ row }) => { + // Get row-specific options for line and subline fields + let options = fieldOptions; + const rowId = row.original.__index; + + if (fieldKey === 'line' && rowId && rowProductLines[rowId]) { + options = rowProductLines[rowId]; + } else if (fieldKey === 'subline' && rowId && rowSublines[rowId]) { + options = rowSublines[rowId]; + } + + // Determine if this cell is in loading state - use a clear consistent approach + let isLoading = false; + + // Check the validatingCells Set first (for item_number and other fields) + const cellLoadingKey = `${row.index}-${fieldKey}`; + if (validatingCells.has(cellLoadingKey)) { + isLoading = true; + } + // Add loading state for line/subline fields + else if (fieldKey === 'line' && rowId && isLoadingLines[rowId]) { + isLoading = true; + } + else if (fieldKey === 'subline' && rowId && isLoadingSublines[rowId]) { + isLoading = true; + } + + // Get validation errors for this cell + const cellErrors = validationErrors.get(row.index)?.[fieldKey] || []; + + // Create a copy of the field with guaranteed field type for select fields + let fieldWithType = field; + + // Ensure line and subline fields always have the correct fieldType + if (fieldKey === 'line' || fieldKey === 'subline') { + fieldWithType = { + ...field, + fieldType: { + type: 'select', + options: options + } + }; + } + + return ( + } + value={row.original[field.key as keyof typeof row.original]} + onChange={(value) => handleFieldUpdate(row.index, field.key as T, value)} + errors={cellErrors} + isValidating={isLoading} + fieldKey={fieldKey} + options={options} + itemNumber={itemNumbers.get(row.index)} + width={fieldWidth} + rowIndex={row.index} + copyDown={(endRowIndex?: number) => handleCopyDown(row.index, field.key as string, endRowIndex)} + totalRows={data.length} + /> + ); + } + }; +}).filter((col): col is ColumnDef, any> => col !== null), +[fields, validationErrors, validatingCells, itemNumbers, handleFieldUpdate, handleCopyDown, optionsCache, data.length, rowProductLines, rowSublines, isLoadingLines, isLoadingSublines]); \ No newline at end of file