From 04f3e5ac2a8c572a8176f59455331b562daf1775 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Mon, 7 Jul 2025 17:57:34 -0500 Subject: [PATCH 1/7] feat: add @flatfile/plugin-space-reconfigure plugin - Add new plugin for reconfiguring existing Flatfile spaces - Supports updating existing workbooks by name matching - Creates new workbooks for unmatched configurations - Maintains space settings and workbook order - Includes comprehensive e2e and unit tests - Follows same patterns as space-configure plugin Amp-Thread: https://ampcode.com/threads/T-b676df3e-c4b9-4113-81c9-e6dfe80ddd97 Co-authored-by: Amp --- flatfilers/sandbox/package.json | 1 + flatfilers/sandbox/src/index.ts | 22125 +++++++++++++++- package-lock.json | 68 +- plugins/space-reconfigure/README.md | 242 + plugins/space-reconfigure/package.json | 76 + plugins/space-reconfigure/ref/test-sheets.ts | 93 + plugins/space-reconfigure/src/index.ts | 2 + .../src/space.reconfigure.e2e.spec.ts | 284 + .../src/space.reconfigure.simple.e2e.spec.ts | 73 + .../src/space.reconfigure.ts | 150 + .../src/utils/workbook.matching.spec.ts | 134 + .../src/utils/workbook.matching.ts | 43 + plugins/space-reconfigure/tsup.config.mjs | 3 + plugins/space-reconfigure/vitest.config.ts | 4 + 14 files changed, 23241 insertions(+), 57 deletions(-) create mode 100644 plugins/space-reconfigure/README.md create mode 100644 plugins/space-reconfigure/package.json create mode 100644 plugins/space-reconfigure/ref/test-sheets.ts create mode 100644 plugins/space-reconfigure/src/index.ts create mode 100644 plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts create mode 100644 plugins/space-reconfigure/src/space.reconfigure.simple.e2e.spec.ts create mode 100644 plugins/space-reconfigure/src/space.reconfigure.ts create mode 100644 plugins/space-reconfigure/src/utils/workbook.matching.spec.ts create mode 100644 plugins/space-reconfigure/src/utils/workbook.matching.ts create mode 100644 plugins/space-reconfigure/tsup.config.mjs create mode 100644 plugins/space-reconfigure/vitest.config.ts diff --git a/flatfilers/sandbox/package.json b/flatfilers/sandbox/package.json index f4ce6ced7..1b67aeb2e 100644 --- a/flatfilers/sandbox/package.json +++ b/flatfilers/sandbox/package.json @@ -31,6 +31,7 @@ }, "devDependencies": { "@dotenvx/dotenvx": "^0.39.0", + "@flatfile/http-logger": "^1.0.4", "flatfile": "^3.6.1" } } diff --git a/flatfilers/sandbox/src/index.ts b/flatfilers/sandbox/src/index.ts index 265fcb1d7..a8c7ebc3a 100644 --- a/flatfilers/sandbox/src/index.ts +++ b/flatfilers/sandbox/src/index.ts @@ -1,60 +1,22073 @@ -import type { FlatfileRecord } from '@flatfile/hooks' import type { FlatfileEvent, FlatfileListener } from '@flatfile/listener' -import { bulkRecordHook } from '@flatfile/plugin-record-hook' -import { - configureSpace, - dataChecklist, - dataChecklistPlugin, -} from '@flatfile/plugin-space-configure' -import { viewMappedPlugin } from '@flatfile/plugin-view-mapped' -import { contacts } from './sheets/contacts' -import { exportWorkbookPlugin } from '@flatfile/plugin-export-workbook' -import { ExcelExtractor } from '@flatfile/plugin-xlsx-extractor' +import { configureSpace } from '@flatfile/plugin-space-configure' +import { type Flatfile, FlatfileClient } from '@flatfile/api' +import '@flatfile/http-logger/init' +import { bulkRecordHook, FlatfileRecord } from '@flatfile/plugin-record-hook' + +const api = new FlatfileClient() + +const sheets = [ + { + name: 'Bulk Upload - Material', + slug: 'bulk-upload-material', + fields: [ + { + key: 'name', + type: 'string', + label: 'Material Name', + description: 'Name of material or material blend.', + constraints: [ + { + type: 'required', + }, + ], + }, + { + key: 'code', + type: 'string', + label: 'Material Code', + description: 'User entered ID.', + }, + { + key: 'supplier', + type: 'string', + label: 'Material Supplier', + }, + { + key: 'country', + type: 'enum', + label: 'Material Country', + isArray: false, + multi: true, + config: { + allowCustom: false, + options: [ + { + value: 'Afghanistan', + label: 'Afghanistan', + }, + { + value: 'Albania', + label: 'Albania', + }, + { + value: 'Algeria', + label: 'Algeria', + }, + { + value: 'American Samoa', + label: 'American Samoa', + }, + { + value: 'Andorra', + label: 'Andorra', + }, + { + value: 'Angola', + label: 'Angola', + }, + { + value: 'Anguilla', + label: 'Anguilla', + }, + { + value: 'Antarctica', + label: 'Antarctica', + }, + { + value: 'Antigua and Barbuda', + label: 'Antigua and Barbuda', + }, + { + value: 'Argentina', + label: 'Argentina', + }, + { + value: 'Armenia', + label: 'Armenia', + }, + { + value: 'Aruba', + label: 'Aruba', + }, + { + value: 'Australia', + label: 'Australia', + }, + { + value: 'Austria', + label: 'Austria', + }, + { + value: 'Azerbaijan', + label: 'Azerbaijan', + }, + { + value: 'Bahamas, The', + label: 'Bahamas, The', + }, + { + value: 'Bahrain', + label: 'Bahrain', + }, + { + value: 'Bangladesh', + label: 'Bangladesh', + }, + { + value: 'Barbados', + label: 'Barbados', + }, + { + value: 'Belarus', + label: 'Belarus', + }, + { + value: 'Belgium', + label: 'Belgium', + }, + { + value: 'Belize', + label: 'Belize', + }, + { + value: 'Benin', + label: 'Benin', + }, + { + value: 'Bermuda', + label: 'Bermuda', + }, + { + value: 'Bhutan', + label: 'Bhutan', + }, + { + value: 'Bolivia', + label: 'Bolivia', + }, + { + value: 'Bosnia and Herzegovina', + label: 'Bosnia and Herzegovina', + }, + { + value: 'Botswana', + label: 'Botswana', + }, + { + value: 'Bouvet Island', + label: 'Bouvet Island', + }, + { + value: 'Brazil', + label: 'Brazil', + }, + { + value: 'British Indian Ocean Territory', + label: 'British Indian Ocean Territory', + }, + { + value: 'British Virgin Islands', + label: 'British Virgin Islands', + }, + { + value: 'Brunei', + label: 'Brunei', + }, + { + value: 'Bulgaria', + label: 'Bulgaria', + }, + { + value: 'Burkina Faso', + label: 'Burkina Faso', + }, + { + value: 'Burma', + label: 'Burma', + }, + { + value: 'Burundi', + label: 'Burundi', + }, + { + value: 'Cambodia', + label: 'Cambodia', + }, + { + value: 'Cameroon', + label: 'Cameroon', + }, + { + value: 'Canada', + label: 'Canada', + }, + { + value: 'Cape Verde', + label: 'Cape Verde', + }, + { + value: 'Cayman Islands', + label: 'Cayman Islands', + }, + { + value: 'Central African Republic', + label: 'Central African Republic', + }, + { + value: 'Chad', + label: 'Chad', + }, + { + value: 'Chile', + label: 'Chile', + }, + { + value: 'China', + label: 'China', + }, + { + value: 'Christmas Island', + label: 'Christmas Island', + }, + { + value: 'Cocos (Keeling) Islands', + label: 'Cocos (Keeling) Islands', + }, + { + value: 'Colombia', + label: 'Colombia', + }, + { + value: 'Comoros', + label: 'Comoros', + }, + { + value: 'Congo, Democratic Republic of the', + label: 'Congo, Democratic Republic of the', + }, + { + value: 'Congo, Republic of the', + label: 'Congo, Republic of the', + }, + { + value: 'Cook Islands', + label: 'Cook Islands', + }, + { + value: 'Costa Rica', + label: 'Costa Rica', + }, + { + value: "Cote d'Ivoire", + label: "Cote d'Ivoire", + }, + { + value: 'Croatia', + label: 'Croatia', + }, + { + value: 'Cuba', + label: 'Cuba', + }, + { + value: 'Curacao', + label: 'Curacao', + }, + { + value: 'Cyprus', + label: 'Cyprus', + }, + { + value: 'Czech Republic', + label: 'Czech Republic', + }, + { + value: 'Denmark', + label: 'Denmark', + }, + { + value: 'Djibouti', + label: 'Djibouti', + }, + { + value: 'Dominica', + label: 'Dominica', + }, + { + value: 'Dominican Republic', + label: 'Dominican Republic', + }, + { + value: 'Ecuador', + label: 'Ecuador', + }, + { + value: 'Egypt', + label: 'Egypt', + }, + { + value: 'El Salvador', + label: 'El Salvador', + }, + { + value: 'Equatorial Guinea', + label: 'Equatorial Guinea', + }, + { + value: 'Eritrea', + label: 'Eritrea', + }, + { + value: 'Estonia', + label: 'Estonia', + }, + { + value: 'Ethiopia', + label: 'Ethiopia', + }, + { + value: 'Falkland Islands (Islas Malvinas)', + label: 'Falkland Islands (Islas Malvinas)', + }, + { + value: 'Faroe Islands', + label: 'Faroe Islands', + }, + { + value: 'Fiji', + label: 'Fiji', + }, + { + value: 'Finland', + label: 'Finland', + }, + { + value: 'France', + label: 'France', + }, + { + value: 'France, Metropolitan', + label: 'France, Metropolitan', + }, + { + value: 'French Guiana', + label: 'French Guiana', + }, + { + value: 'French Polynesia', + label: 'French Polynesia', + }, + { + value: 'French Southern and Antarctic Lands', + label: 'French Southern and Antarctic Lands', + }, + { + value: 'Gabon', + label: 'Gabon', + }, + { + value: 'Gambia, The', + label: 'Gambia, The', + }, + { + value: 'Gaza Strip', + label: 'Gaza Strip', + }, + { + value: 'Georgia', + label: 'Georgia', + }, + { + value: 'Germany', + label: 'Germany', + }, + { + value: 'Ghana', + label: 'Ghana', + }, + { + value: 'Gibraltar', + label: 'Gibraltar', + }, + { + value: 'Greece', + label: 'Greece', + }, + { + value: 'Greenland', + label: 'Greenland', + }, + { + value: 'Grenada', + label: 'Grenada', + }, + { + value: 'Guadeloupe', + label: 'Guadeloupe', + }, + { + value: 'Guam', + label: 'Guam', + }, + { + value: 'Guatemala', + label: 'Guatemala', + }, + { + value: 'Guernsey', + label: 'Guernsey', + }, + { + value: 'Guinea', + label: 'Guinea', + }, + { + value: 'Guinea-Bissau', + label: 'Guinea-Bissau', + }, + { + value: 'Guyana', + label: 'Guyana', + }, + { + value: 'Haiti', + label: 'Haiti', + }, + { + value: 'Heard Island and McDonald Islands', + label: 'Heard Island and McDonald Islands', + }, + { + value: 'Holy See (Vatican City)', + label: 'Holy See (Vatican City)', + }, + { + value: 'Honduras', + label: 'Honduras', + }, + { + value: 'Hong Kong, China', + label: 'Hong Kong, China', + }, + { + value: 'Hungary', + label: 'Hungary', + }, + { + value: 'Iceland', + label: 'Iceland', + }, + { + value: 'India', + label: 'India', + }, + { + value: 'Indonesia', + label: 'Indonesia', + }, + { + value: 'Iran', + label: 'Iran', + }, + { + value: 'Iraq', + label: 'Iraq', + }, + { + value: 'Ireland', + label: 'Ireland', + }, + { + value: 'Isle of Man', + label: 'Isle of Man', + }, + { + value: 'Israel', + label: 'Israel', + }, + { + value: 'Italy', + label: 'Italy', + }, + { + value: 'Jamaica', + label: 'Jamaica', + }, + { + value: 'Japan', + label: 'Japan', + }, + { + value: 'Jersey', + label: 'Jersey', + }, + { + value: 'Jordan', + label: 'Jordan', + }, + { + value: 'Kazakhstan', + label: 'Kazakhstan', + }, + { + value: 'Kenya', + label: 'Kenya', + }, + { + value: 'Kiribati', + label: 'Kiribati', + }, + { + value: 'Korea, North', + label: 'Korea, North', + }, + { + value: 'Korea, South', + label: 'Korea, South', + }, + { + value: 'Kosovo', + label: 'Kosovo', + }, + { + value: 'Kuwait', + label: 'Kuwait', + }, + { + value: 'Kyrgyzstan', + label: 'Kyrgyzstan', + }, + { + value: 'Laos', + label: 'Laos', + }, + { + value: 'Latvia', + label: 'Latvia', + }, + { + value: 'Lebanon', + label: 'Lebanon', + }, + { + value: 'Lesotho', + label: 'Lesotho', + }, + { + value: 'Liberia', + label: 'Liberia', + }, + { + value: 'Libya', + label: 'Libya', + }, + { + value: 'Liechtenstein', + label: 'Liechtenstein', + }, + { + value: 'Lithuania', + label: 'Lithuania', + }, + { + value: 'Luxembourg', + label: 'Luxembourg', + }, + { + value: 'Macau', + label: 'Macau', + }, + { + value: 'Macedonia', + label: 'Macedonia', + }, + { + value: 'Madagascar', + label: 'Madagascar', + }, + { + value: 'Malawi', + label: 'Malawi', + }, + { + value: 'Malaysia', + label: 'Malaysia', + }, + { + value: 'Maldives', + label: 'Maldives', + }, + { + value: 'Mali', + label: 'Mali', + }, + { + value: 'Malta', + label: 'Malta', + }, + { + value: 'Marshall Islands', + label: 'Marshall Islands', + }, + { + value: 'Martinique', + label: 'Martinique', + }, + { + value: 'Mauritania', + label: 'Mauritania', + }, + { + value: 'Mauritius', + label: 'Mauritius', + }, + { + value: 'Mayotte', + label: 'Mayotte', + }, + { + value: 'Mexico', + label: 'Mexico', + }, + { + value: 'Micronesia, Federated States of', + label: 'Micronesia, Federated States of', + }, + { + value: 'Moldova', + label: 'Moldova', + }, + { + value: 'Monaco', + label: 'Monaco', + }, + { + value: 'Mongolia', + label: 'Mongolia', + }, + { + value: 'Montenegro', + label: 'Montenegro', + }, + { + value: 'Montserrat', + label: 'Montserrat', + }, + { + value: 'Morocco', + label: 'Morocco', + }, + { + value: 'Mozambique', + label: 'Mozambique', + }, + { + value: 'Namibia', + label: 'Namibia', + }, + { + value: 'Nauru', + label: 'Nauru', + }, + { + value: 'Nepal', + label: 'Nepal', + }, + { + value: 'Netherlands', + label: 'Netherlands', + }, + { + value: 'New Caledonia', + label: 'New Caledonia', + }, + { + value: 'New Zealand', + label: 'New Zealand', + }, + { + value: 'Nicaragua', + label: 'Nicaragua', + }, + { + value: 'Niger', + label: 'Niger', + }, + { + value: 'Nigeria', + label: 'Nigeria', + }, + { + value: 'Niue', + label: 'Niue', + }, + { + value: 'Norfolk Island', + label: 'Norfolk Island', + }, + { + value: 'Northern Mariana Islands', + label: 'Northern Mariana Islands', + }, + { + value: 'Norway', + label: 'Norway', + }, + { + value: 'Oman', + label: 'Oman', + }, + { + value: 'Pakistan', + label: 'Pakistan', + }, + { + value: 'Palau', + label: 'Palau', + }, + { + value: 'Panama', + label: 'Panama', + }, + { + value: 'Papua New Guinea', + label: 'Papua New Guinea', + }, + { + value: 'Paraguay', + label: 'Paraguay', + }, + { + value: 'Peru', + label: 'Peru', + }, + { + value: 'Philippines', + label: 'Philippines', + }, + { + value: 'Pitcairn Islands', + label: 'Pitcairn Islands', + }, + { + value: 'Poland', + label: 'Poland', + }, + { + value: 'Portugal', + label: 'Portugal', + }, + { + value: 'Puerto Rico', + label: 'Puerto Rico', + }, + { + value: 'Qatar', + label: 'Qatar', + }, + { + value: 'Reunion', + label: 'Reunion', + }, + { + value: 'Romania', + label: 'Romania', + }, + { + value: 'Russia', + label: 'Russia', + }, + { + value: 'Rwanda', + label: 'Rwanda', + }, + { + value: 'Saint Barthelemy', + label: 'Saint Barthelemy', + }, + { + value: 'Saint Helena, Ascension, and Tristan da Cunha', + label: 'Saint Helena, Ascension, and Tristan da Cunha', + }, + { + value: 'Saint Kitts and Nevis', + label: 'Saint Kitts and Nevis', + }, + { + value: 'Saint Lucia', + label: 'Saint Lucia', + }, + { + value: 'Saint Martin', + label: 'Saint Martin', + }, + { + value: 'Saint Pierre and Miquelon', + label: 'Saint Pierre and Miquelon', + }, + { + value: 'Saint Vincent and the Grenadines', + label: 'Saint Vincent and the Grenadines', + }, + { + value: 'Samoa', + label: 'Samoa', + }, + { + value: 'San Marino', + label: 'San Marino', + }, + { + value: 'Sao Tome and Principe', + label: 'Sao Tome and Principe', + }, + { + value: 'Saudi Arabia', + label: 'Saudi Arabia', + }, + { + value: 'Senegal', + label: 'Senegal', + }, + { + value: 'Serbia', + label: 'Serbia', + }, + { + value: 'Seychelles', + label: 'Seychelles', + }, + { + value: 'Sierra Leone', + label: 'Sierra Leone', + }, + { + value: 'Singapore', + label: 'Singapore', + }, + { + value: 'Sint Maarten', + label: 'Sint Maarten', + }, + { + value: 'Slovakia', + label: 'Slovakia', + }, + { + value: 'Slovenia', + label: 'Slovenia', + }, + { + value: 'Solomon Islands', + label: 'Solomon Islands', + }, + { + value: 'Somalia', + label: 'Somalia', + }, + { + value: 'South Africa', + label: 'South Africa', + }, + { + value: 'South Georgia and the Islands', + label: 'South Georgia and the Islands', + }, + { + value: 'South Sudan', + label: 'South Sudan', + }, + { + value: 'Spain', + label: 'Spain', + }, + { + value: 'Sri Lanka', + label: 'Sri Lanka', + }, + { + value: 'Sudan', + label: 'Sudan', + }, + { + value: 'Suriname', + label: 'Suriname', + }, + { + value: 'Svalbard', + label: 'Svalbard', + }, + { + value: 'Swaziland', + label: 'Swaziland', + }, + { + value: 'Sweden', + label: 'Sweden', + }, + { + value: 'Switzerland', + label: 'Switzerland', + }, + { + value: 'Syria', + label: 'Syria', + }, + { + value: 'Taiwan, China', + label: 'Taiwan, China', + }, + { + value: 'Tajikistan', + label: 'Tajikistan', + }, + { + value: 'Tanzania', + label: 'Tanzania', + }, + { + value: 'Thailand', + label: 'Thailand', + }, + { + value: 'Timor-Leste', + label: 'Timor-Leste', + }, + { + value: 'Togo', + label: 'Togo', + }, + { + value: 'Tokelau', + label: 'Tokelau', + }, + { + value: 'Tonga', + label: 'Tonga', + }, + { + value: 'Trinidad and Tobago', + label: 'Trinidad and Tobago', + }, + { + value: 'Tunisia', + label: 'Tunisia', + }, + { + value: 'Turkey', + label: 'Turkey', + }, + { + value: 'Turkmenistan', + label: 'Turkmenistan', + }, + { + value: 'Turks and Caicos Islands', + label: 'Turks and Caicos Islands', + }, + { + value: 'Tuvalu', + label: 'Tuvalu', + }, + { + value: 'Uganda', + label: 'Uganda', + }, + { + value: 'Ukraine', + label: 'Ukraine', + }, + { + value: 'United Arab Emirates', + label: 'United Arab Emirates', + }, + { + value: 'United Kingdom', + label: 'United Kingdom', + }, + { + value: 'United States', + label: 'United States', + }, + { + value: 'United States Minor Outlying Islands', + label: 'United States Minor Outlying Islands', + }, + { + value: 'Uruguay', + label: 'Uruguay', + }, + { + value: 'Uzbekistan', + label: 'Uzbekistan', + }, + { + value: 'Vanuatu', + label: 'Vanuatu', + }, + { + value: 'Venezuela', + label: 'Venezuela', + }, + { + value: 'Vietnam', + label: 'Vietnam', + }, + { + value: 'Virgin Islands', + label: 'Virgin Islands', + }, + { + value: 'Wallis and Futuna', + label: 'Wallis and Futuna', + }, + { + value: 'West Bank', + label: 'West Bank', + }, + { + value: 'Western Sahara', + label: 'Western Sahara', + }, + { + value: 'Yemen', + label: 'Yemen', + }, + { + value: 'Zambia', + label: 'Zambia', + }, + { + value: 'Zimbabwe', + label: 'Zimbabwe', + }, + ], + }, + }, + { + type: 'enum', + key: 'baseMaterial1', + label: 'Base Material 1', + isArray: true, + description: + 'Enter a default PIC material or MSI custom material by *Material Name*, or *Material ID*.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 'TX0014', + label: 'Viscose/Rayon fabric', + }, + { + value: 'TX0024', + label: 'Polyethylene (PE) Fabric', + }, + { + value: 'TX0016', + label: 'Lyocell fabric', + }, + { + value: 'TX0018', + label: 'Alpaca Fabric', + }, + { + value: 'TX0003', + label: 'Polypropylene (PP) fabric', + }, + { + value: 'TX0013', + label: 'Silk fabric', + }, + { + value: 'TX0025', + label: 'Novel Polysaccharide fabric', + }, + { + value: 'TX0021', + label: 'Hemp fiber fabric', + }, + { + value: 'TX0017', + label: 'Acetate, Triacetate fabric', + }, + { + value: 'TX0009', + label: 'Carbon fiber fabric', + }, + { + value: 'TX0020', + label: 'Polyurethane (PU) fabric', + }, + { + value: 'TX0010', + label: 'Cotton fabric', + }, + { + value: 'TX0008', + label: 'Glass fiber fabric', + }, + { + value: 'TX0006', + label: 'Aramid fabric', + }, + { + value: 'TX0022', + label: 'Jute fiber fabric', + }, + { + value: 'TX0007', + label: 'Elastane/Spandex fabric', + }, + { + value: 'TX0012', + label: 'Wool fabric', + }, + { + value: 'TX0004', + label: 'Polylactic Acid (PLA) fabric', + }, + { + value: 'TX0023', + label: 'Polytrimethylene terephthalate (PTT) fabric', + }, + { + value: 'TX0011', + label: 'Flax fiber fabric', + }, + { + value: 'TX0015', + label: 'Modal fabric', + }, + { + value: 'TX0002', + label: 'Nylon fabric', + }, + { + value: 'TX0005', + label: 'Acrylic fabric', + }, + { + value: 'TX0001', + label: 'Polyester fabric', + }, + ], + }, + }, + { + key: 'composition1', + type: 'string', + description: + 'Enter a number between 1-100 when the *Material* field is populated. All composition columns must add up to 100%.', + label: 'Composition 1', + }, + { + type: 'enum', + key: 'baseMaterial2', + label: 'Base Material 2', + isArray: true, + description: + 'Enter a default PIC material or MSI custom material by *Material Name*, or *Material ID*.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 'TX0014', + label: 'Viscose/Rayon fabric', + }, + { + value: 'TX0024', + label: 'Polyethylene (PE) Fabric', + }, + { + value: 'TX0016', + label: 'Lyocell fabric', + }, + { + value: 'TX0018', + label: 'Alpaca Fabric', + }, + { + value: 'TX0003', + label: 'Polypropylene (PP) fabric', + }, + { + value: 'TX0013', + label: 'Silk fabric', + }, + { + value: 'TX0025', + label: 'Novel Polysaccharide fabric', + }, + { + value: 'TX0021', + label: 'Hemp fiber fabric', + }, + { + value: 'TX0017', + label: 'Acetate, Triacetate fabric', + }, + { + value: 'TX0009', + label: 'Carbon fiber fabric', + }, + { + value: 'TX0020', + label: 'Polyurethane (PU) fabric', + }, + { + value: 'TX0010', + label: 'Cotton fabric', + }, + { + value: 'TX0008', + label: 'Glass fiber fabric', + }, + { + value: 'TX0006', + label: 'Aramid fabric', + }, + { + value: 'TX0022', + label: 'Jute fiber fabric', + }, + { + value: 'TX0007', + label: 'Elastane/Spandex fabric', + }, + { + value: 'TX0012', + label: 'Wool fabric', + }, + { + value: 'TX0004', + label: 'Polylactic Acid (PLA) fabric', + }, + { + value: 'TX0023', + label: 'Polytrimethylene terephthalate (PTT) fabric', + }, + { + value: 'TX0011', + label: 'Flax fiber fabric', + }, + { + value: 'TX0015', + label: 'Modal fabric', + }, + { + value: 'TX0002', + label: 'Nylon fabric', + }, + { + value: 'TX0005', + label: 'Acrylic fabric', + }, + { + value: 'TX0001', + label: 'Polyester fabric', + }, + ], + }, + }, + { + key: 'composition2', + type: 'string', + description: + 'Enter a number between 1-100 when the *Material* field is populated. All composition columns must add up to 100%.', + label: 'Composition 2', + }, + { + type: 'enum', + key: 'baseMaterial3', + label: 'Base Material 3', + isArray: true, + description: + 'Enter a default PIC material or MSI custom material by *Material Name*, or *Material ID*.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 'TX0014', + label: 'Viscose/Rayon fabric', + }, + { + value: 'TX0024', + label: 'Polyethylene (PE) Fabric', + }, + { + value: 'TX0016', + label: 'Lyocell fabric', + }, + { + value: 'TX0018', + label: 'Alpaca Fabric', + }, + { + value: 'TX0003', + label: 'Polypropylene (PP) fabric', + }, + { + value: 'TX0013', + label: 'Silk fabric', + }, + { + value: 'TX0025', + label: 'Novel Polysaccharide fabric', + }, + { + value: 'TX0021', + label: 'Hemp fiber fabric', + }, + { + value: 'TX0017', + label: 'Acetate, Triacetate fabric', + }, + { + value: 'TX0009', + label: 'Carbon fiber fabric', + }, + { + value: 'TX0020', + label: 'Polyurethane (PU) fabric', + }, + { + value: 'TX0010', + label: 'Cotton fabric', + }, + { + value: 'TX0008', + label: 'Glass fiber fabric', + }, + { + value: 'TX0006', + label: 'Aramid fabric', + }, + { + value: 'TX0022', + label: 'Jute fiber fabric', + }, + { + value: 'TX0007', + label: 'Elastane/Spandex fabric', + }, + { + value: 'TX0012', + label: 'Wool fabric', + }, + { + value: 'TX0004', + label: 'Polylactic Acid (PLA) fabric', + }, + { + value: 'TX0023', + label: 'Polytrimethylene terephthalate (PTT) fabric', + }, + { + value: 'TX0011', + label: 'Flax fiber fabric', + }, + { + value: 'TX0015', + label: 'Modal fabric', + }, + { + value: 'TX0002', + label: 'Nylon fabric', + }, + { + value: 'TX0005', + label: 'Acrylic fabric', + }, + { + value: 'TX0001', + label: 'Polyester fabric', + }, + ], + }, + }, + { + key: 'composition3', + type: 'string', + description: + 'Enter a number between 1-100 when the *Material* field is populated. All composition columns must add up to 100%.', + label: 'Composition 3', + }, + { + type: 'enum', + key: 'baseMaterial4', + label: 'Base Material 4', + isArray: true, + description: + 'Enter a default PIC material or MSI custom material by *Material Name*, or *Material ID*.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 'TX0014', + label: 'Viscose/Rayon fabric', + }, + { + value: 'TX0024', + label: 'Polyethylene (PE) Fabric', + }, + { + value: 'TX0016', + label: 'Lyocell fabric', + }, + { + value: 'TX0018', + label: 'Alpaca Fabric', + }, + { + value: 'TX0003', + label: 'Polypropylene (PP) fabric', + }, + { + value: 'TX0013', + label: 'Silk fabric', + }, + { + value: 'TX0025', + label: 'Novel Polysaccharide fabric', + }, + { + value: 'TX0021', + label: 'Hemp fiber fabric', + }, + { + value: 'TX0017', + label: 'Acetate, Triacetate fabric', + }, + { + value: 'TX0009', + label: 'Carbon fiber fabric', + }, + { + value: 'TX0020', + label: 'Polyurethane (PU) fabric', + }, + { + value: 'TX0010', + label: 'Cotton fabric', + }, + { + value: 'TX0008', + label: 'Glass fiber fabric', + }, + { + value: 'TX0006', + label: 'Aramid fabric', + }, + { + value: 'TX0022', + label: 'Jute fiber fabric', + }, + { + value: 'TX0007', + label: 'Elastane/Spandex fabric', + }, + { + value: 'TX0012', + label: 'Wool fabric', + }, + { + value: 'TX0004', + label: 'Polylactic Acid (PLA) fabric', + }, + { + value: 'TX0023', + label: 'Polytrimethylene terephthalate (PTT) fabric', + }, + { + value: 'TX0011', + label: 'Flax fiber fabric', + }, + { + value: 'TX0015', + label: 'Modal fabric', + }, + { + value: 'TX0002', + label: 'Nylon fabric', + }, + { + value: 'TX0005', + label: 'Acrylic fabric', + }, + { + value: 'TX0001', + label: 'Polyester fabric', + }, + ], + }, + }, + { + key: 'composition4', + type: 'string', + description: + 'Enter a number between 1-100 when the *Material* field is populated. All composition columns must add up to 100%.', + label: 'Composition 4', + }, + { + type: 'enum', + key: 'T2Facility', + label: 'T2 Facility', + isArray: true, + description: 'Supplier Name or Worldly Id.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 144804, + label: 'finalProductAssembly - 5Y7LDWV', + }, + { + value: 145007, + label: 'finalProductAssembly - VAJ2KYY', + }, + { + value: 145376, + label: 'finalProductAssembly - DWXFDE6', + }, + { + value: 145284, + label: + 'printingProductDyeingAndLaundering,finalProductAssembly - SJWG9ZY', + }, + { + value: 144929, + label: 'Manufacturer A -MatProd - 2B68ZRK', + }, + { + value: 145029, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 770JH4F', + }, + { + value: 145356, + label: 'printingProductDyeingAndLaundering - C55SWLM', + }, + { + value: 145311, + label: 'finalProductAssembly - BYPS0Z8', + }, + { + value: 145235, + label: 'finalProductAssembly - NHUTTKD', + }, + { + value: 145191, + label: 'finalProductAssembly - JN8VC5Z', + }, + { + value: 145317, + label: 'finalProductAssembly - AXNDTJ6', + }, + { + value: 144924, + label: 'finalProductAssembly - 2BG9BRY', + }, + { + value: 144915, + label: 'materialProduction - WeaveDyePrintPrep-MatProd-JZWHPSG', + }, + { + value: 145141, + label: 'finalProductAssembly - 3PM69QW', + }, + { + value: 145351, + label: 'finalProductAssembly - 5DNPCX4', + }, + { + value: 145312, + label: 'printingProductDyeingAndLaundering - V7UB0GA', + }, + { + value: 145096, + label: 'materialProduction - 410GXPD', + }, + { + value: 144791, + label: 'finalProductAssembly - C0S84LT', + }, + { + value: 144813, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - TVBBH36', + }, + { + value: 145182, + label: 'printingProductDyeingAndLaundering - ZNNGCLA', + }, + { + value: 145290, + label: 'printingProductDyeingAndLaundering - V3BW0CS', + }, + { + value: 145370, + label: 'M1FMRD4', + }, + { + value: 144839, + label: 'finalProductAssembly - E4NFEFT', + }, + { + value: 144845, + label: 'finalProductAssembly - NEMEWDC', + }, + { + value: 145042, + label: 'printingProductDyeingAndLaundering - ZMUTT9X', + }, + { + value: 145363, + label: 'finalProductAssembly - L2Z9UG8', + }, + { + value: 145022, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 75XTA47', + }, + { + value: 144846, + label: 'materialProduction - G8VZU2K', + }, + { + value: 145294, + label: 'finalProductAssembly - DLLS2LL', + }, + { + value: 144827, + label: 'finalProductAssembly - TUTJK45', + }, + { + value: 145217, + label: 'printingProductDyeingAndLaundering - PME8R1Q', + }, + { + value: 144857, + label: 'finalProductAssembly - DV85ML2', + }, + { + value: 145272, + label: 'finalProductAssembly - 4V60XVS', + }, + { + value: 145135, + label: + 'materialProduction - Knit - Dye - Heat - MatProd - 6K2LZ3F', + }, + { + value: 144761, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - V2EAG05', + }, + { + value: 145164, + label: 'materialProduction - KnitDyeHeatFinish-MatProd-EVBUQZZ', + }, + { + value: 144977, + label: 'K2SKARN', + }, + { + value: 145205, + label: 'finalProductAssembly - 9WUGDMQ', + }, + { + value: 145080, + label: 'materialProduction - Z0N7973', + }, + { + value: 145310, + label: 'finalProductAssembly - WPS8MGW', + }, + { + value: 144974, + label: 'finalProductAssembly - R2W2VVX', + }, + { + value: 145063, + label: 'finalProductAssembly - 2TUUNC9', + }, + { + value: 144941, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 5UNGXWB', + }, + { + value: 144861, + label: 'Manufacturer D - materialProd - 2M85KQ3', + }, + { + value: 144819, + label: 'materialProduction - HW6NBTX', + }, + { + value: 144841, + label: 'finalProductAssembly - 7Q7MHTC', + }, + { + value: 144942, + label: 'finalProductAssembly - ZT6K6QC', + }, + { + value: 145038, + label: 'finalProductAssembly - WFCVFYW', + }, + { + value: 144829, + label: 'finalProductAssembly - 8DLM4KP', + }, + { + value: 145116, + label: 'printingProductDyeingAndLaundering - TN4M5UC', + }, + { + value: 145130, + label: 'finalProductAssembly - VUAW1N7', + }, + { + value: 145341, + label: 'Manufacturer C - matProd - 32L1J52', + }, + { + value: 145281, + label: 'finalProductAssembly - SDEK6TD', + }, + { + value: 144801, + label: 'finalProductAssembly - 01ATR4L', + }, + { + value: 144960, + label: + 'printingProductDyeingAndLaundering,materialProduction - BVZ62DQ', + }, + { + value: 144975, + label: 'finalProductAssembly - T82XQ9C', + }, + { + value: 144833, + label: 'finalProductAssembly - 0PC02JL', + }, + { + value: 144920, + label: 'finalProductAssembly - 85C1C6V', + }, + { + value: 145348, + label: 'printingProductDyeingAndLaundering - 1DVBT1X', + }, + { + value: 144870, + label: 'printingProductDyeingAndLaundering - VVU8GA9', + }, + { + value: 144957, + label: 'materialProduction - WZWM47Z', + }, + { + value: 144881, + label: 'finalProductAssembly - JJ7XU80', + }, + { + value: 144914, + label: 'finalProductAssembly - YM78YXR', + }, + { + value: 144911, + label: 'materialProduction - T4H8L4X', + }, + { + value: 144888, + label: + 'materialProduction - WeaveDyePrintFinishBraid-MatProd-LM8F9N8', + }, + { + value: 144908, + label: 'finalProductAssembly,materialProduction - 3UNJUVW', + }, + { + value: 144933, + label: 'finalProductAssembly - R498W4C', + }, + { + value: 144777, + label: 'materialProduction - KnitDyeHeatWash-MatProd-F509MLE', + }, + { + value: 145225, + label: 'printingProductDyeingAndLaundering - BUF988A', + }, + { + value: 145192, + label: 'EHN0DPA', + }, + { + value: 145194, + label: 'materialProduction - 62CQXE1', + }, + { + value: 144964, + label: 'finalProductAssembly - KR5U81U', + }, + { + value: 144923, + label: 'materialProduction - CD10DRG', + }, + { + value: 145286, + label: 'finalProductAssembly - DMCYGE8', + }, + { + value: 145137, + label: 'finalProductAssembly - 7AH0QFH', + }, + { + value: 144891, + label: 'finalProductAssembly - WC7G1RQ', + }, + { + value: 144760, + label: 'finalProductAssembly - MB1F3VC', + }, + { + value: 145131, + label: 'materialProduction - Material Production - 5DMVUC6', + }, + { + value: 144970, + label: 'materialProduction - D027KYS', + }, + { + value: 144894, + label: 'finalProductAssembly - FWV4V1U', + }, + { + value: 144805, + label: 'materialProduction - H11U9D9', + }, + { + value: 145250, + label: 'printingProductDyeingAndLaundering - KXSTTLZ', + }, + { + value: 145150, + label: 'printingProductDyeingAndLaundering - N5Q50XJ', + }, + { + value: 145362, + label: 'finalProductAssembly - YVS076B', + }, + { + value: 145187, + label: 'printingProductDyeingAndLaundering - QETESAP', + }, + { + value: 144996, + label: 'printingProductDyeingAndLaundering - P9H4L4K', + }, + { + value: 145224, + label: 'printingProductDyeingAndLaundering - 83RLPC1', + }, + { + value: 145342, + label: 'finalProductAssembly - WNBV6SX', + }, + { + value: 144851, + label: 'finalProductAssembly - RYJ139P', + }, + { + value: 144935, + label: 'FA07CWR', + }, + { + value: 145159, + label: 'finalProductAssembly - 6SL66VE', + }, + { + value: 145316, + label: 'rawMaterialProcessing - YarnSpin-RawMat-HKVF3G4', + }, + { + value: 144873, + label: 'printingProductDyeingAndLaundering - HVKKFH0', + }, + { + value: 145265, + label: 'finalProductAssembly - BD49QAA', + }, + { + value: 145010, + label: 'finalProductAssembly - RQULHDP', + }, + { + value: 144783, + label: 'printingProductDyeingAndLaundering - 6V21L71', + }, + { + value: 144912, + label: 'materialProduction - QSAJ9BE', + }, + { + value: 145065, + label: 'materialProduction - QYRV2R9', + }, + { + value: 145073, + label: 'materialProduction - N1Q4H6L', + }, + { + value: 145318, + label: 'rawMaterialProcessing - U7V2CX8', + }, + { + value: 144882, + label: 'materialProduction - XPL5X8Z', + }, + { + value: 144858, + label: 'finalProductAssembly - V6ZNE7R', + }, + { + value: 145367, + label: 'EFYD8F5', + }, + { + value: 144814, + label: 'WYPC3DP', + }, + { + value: 145016, + label: 'finalProductAssembly - 19UVSEW', + }, + { + value: 145291, + label: 'printingProductDyeingAndLaundering - 8N8PFKD', + }, + { + value: 145003, + label: 'finalProductAssembly - C61YA7T', + }, + { + value: 144925, + label: 'finalProductAssembly - 6R24S3Q', + }, + { + value: 144854, + label: 'finalProductAssembly - XJD43JL', + }, + { + value: 144897, + label: 'hardComponentTrimProduction - VRU60VZ', + }, + { + value: 144999, + label: 'materialProduction - 6FCU6YL', + }, + { + value: 144934, + label: 'JE0XSH4', + }, + { + value: 144883, + label: 'finalProductAssembly - W1L84MJ', + }, + { + value: 144788, + label: 'finalProductAssembly,materialProduction - XWQSWSF', + }, + { + value: 145359, + label: 'finalProductAssembly - H7GQVQG', + }, + { + value: 145334, + label: 'materialProduction - C66UWUU', + }, + { + value: 145349, + label: 'finalProductAssembly - 76B0AB8', + }, + { + value: 145188, + label: 'printingProductDyeingAndLaundering - 98MEDXY', + }, + { + value: 145128, + label: 'finalProductAssembly - EEFKCQD', + }, + { + value: 145193, + label: 'printingProductDyeingAndLaundering - PQM4PS3', + }, + { + value: 145315, + label: 'materialProduction - 6RQZ31D', + }, + { + value: 145332, + label: 'printingProductDyeingAndLaundering - R33JTXS', + }, + { + value: 145071, + label: 'finalProductAssembly - W5GVWA1', + }, + { + value: 144955, + label: 'printingProductDyeingAndLaundering - GN8SGRN', + }, + { + value: 145283, + label: 'finalProductAssembly - 4HD8TRU', + }, + { + value: 145043, + label: 'finalProductAssembly - ZPJQSAU', + }, + { + value: 145035, + label: '1Y5KPCY', + }, + { + value: 144815, + label: 'P1EC68E', + }, + { + value: 145274, + label: 'Premier Textiles Ltd. 756J1KK ', + }, + { + value: 144943, + label: 'ERG1RY2', + }, + { + value: 145100, + label: 'QMLBTL7', + }, + { + value: 145087, + label: '22HJ2RA', + }, + { + value: 144820, + label: 'CKQZ0W8', + }, + { + value: 145314, + label: 'ZSFHKBH', + }, + { + value: 145105, + label: 'GWFFG6N', + }, + { + value: 144928, + label: 'Dye-MatProd-V8BEE5B', + }, + { + value: 144940, + label: '3NJRMR1', + }, + { + value: 145263, + label: '2H0PDBX', + }, + { + value: 145303, + label: 'UGCM533', + }, + { + value: 144834, + label: 'finalProductAssembly - 0PR1KP9', + }, + { + value: 145313, + label: 'Weave - Raw Mat - RG5FX9A', + }, + { + value: 145138, + label: 'GSGJ36Y', + }, + { + value: 144798, + label: 'finalProductAssembly - 942CTTK', + }, + { + value: 145177, + label: '23MPPQY', + }, + { + value: 145207, + label: '13UHYNY', + }, + { + value: 145121, + label: 'U3KYJQL', + }, + { + value: 145033, + label: 'UM69VDB', + }, + { + value: 144953, + label: '2ALHWNQ', + }, + { + value: 144808, + label: 'finalProductAssembly - 22027B1', + }, + { + value: 145006, + label: 'QJ2042M', + }, + { + value: 145098, + label: 'X113M25', + }, + { + value: 145278, + label: 'Q0A05AE', + }, + { + value: 145203, + label: 'QMFW0HA', + }, + { + value: 144910, + label: 'VP4AK1P', + }, + { + value: 144913, + label: 'VWK7LSP', + }, + { + value: 145002, + label: 'finalProductAssembly - R8HVNFG', + }, + { + value: 144984, + label: '0AE9N28', + }, + { + value: 144954, + label: 'finalProductAssembly - 2JNR68L', + }, + { + value: 145343, + label: '4UM078E', + }, + { + value: 145296, + label: 'RGVUJGY', + }, + { + value: 145104, + label: + 'materialProduction - Weave - MatProd - Spandex Only - BQCP3T5', + }, + { + value: 145379, + label: 'finalProductAssembly - T6FAMUA', + }, + { + value: 144895, + label: '41M2CAR', + }, + { + value: 144877, + label: '8GPW4K0', + }, + { + value: 144991, + label: 'QXCL09H', + }, + { + value: 145179, + label: 'E3NVZ2Y', + }, + { + value: 145216, + label: '3RTZDTD', + }, + { + value: 144909, + label: 'Knit - Mat Prod - 2HYDVEQ', + }, + { + value: 145258, + label: '8VF5KUC', + }, + { + value: 145186, + label: 'V5E6JWX', + }, + { + value: 145119, + label: '64C83JL', + }, + { + value: 145350, + label: 'PHBMPUD', + }, + { + value: 145384, + label: 'QPLT1LX', + }, + { + value: 145352, + label: '5VUK5ZU', + }, + { + value: 145355, + label: 'NNYGAUX', + }, + { + value: 145028, + label: '6CRSWXC', + }, + { + value: 145155, + label: '94S78QM', + }, + { + value: 145220, + label: 'finalProductAssembly - VQB7MWC', + }, + { + value: 145021, + label: 'finalProductAssembly - ZRRBAP8', + }, + { + value: 145127, + label: 'XXBWLAT', + }, + { + value: 144875, + label: 'HBQ9WAW', + }, + { + value: 144907, + label: 'materialProduction - FY3B0TQ', + }, + { + value: 145288, + label: 'materialProduction - P5AQXQN', + }, + { + value: 144840, + label: 'finalProductAssembly - N3BGQWU', + }, + { + value: 145139, + label: 'finalProductAssembly - 39GQY1S', + }, + { + value: 145271, + label: 'Q8WLYH4', + }, + { + value: 145180, + label: 'finalProductAssembly - VUE2RNE', + }, + { + value: 145115, + label: 'printingProductDyeingAndLaundering - KK51WRR', + }, + { + value: 145347, + label: 'LBN1YFW', + }, + { + value: 145268, + label: 'RPGET2L', + }, + { + value: 145066, + label: '990DWAX', + }, + { + value: 145013, + label: 'ZEUTKM4', + }, + { + value: 144879, + label: '1NK7E4B', + }, + { + value: 145221, + label: 'YHW9XVH', + }, + { + value: 145340, + label: 'NUSAGCS', + }, + { + value: 145389, + label: 'X9UK2AG', + }, + { + value: 145277, + label: 'JXD25SF', + }, + { + value: 145132, + label: 'PMC7R16', + }, + { + value: 144853, + label: 'materialProduction - PEX1JNK', + }, + { + value: 145230, + label: '6Y6845K', + }, + { + value: 144826, + label: 'finalProductAssembly - G86WHP1', + }, + { + value: 145057, + label: '9542EGS', + }, + { + value: 144766, + label: 'V1JMXQ1', + }, + { + value: 145008, + label: 'LVES57S', + }, + { + value: 145385, + label: 'finalProductAssembly - KMG55QT', + }, + { + value: 145337, + label: 'DCHTT8S', + }, + { + value: 144993, + label: '9A83YNG', + }, + { + value: 145206, + label: 'X64WG97', + }, + { + value: 144868, + label: 'ZZD2RJR', + }, + { + value: 145330, + label: 'KRHKPY3', + }, + { + value: 144926, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 4G0ZXRE', + }, + { + value: 144937, + label: 'JMV16VZ', + }, + { + value: 144900, + label: 'finalProductAssembly - X8JU0LS', + }, + { + value: 145319, + label: 'R6YSTA6', + }, + { + value: 145201, + label: 'S6GGGB1', + }, + { + value: 144778, + label: 'XP2NHG8', + }, + { + value: 145333, + label: 'UWTWG5L', + }, + { + value: 145084, + label: 'HMKL561', + }, + { + value: 144793, + label: '2TFAQR9', + }, + { + value: 145226, + label: 'rawMat-Braiding-K725RKJ', + }, + { + value: 144863, + label: '91K55HF', + }, + { + value: 145261, + label: 'R74MNK4', + }, + { + value: 145075, + label: 'M6F8HMV', + }, + { + value: 145133, + label: '4MSLA8B', + }, + { + value: 144890, + label: 'D3AT4MW', + }, + { + value: 145195, + label: + 'finalProductAssembly,hardComponentTrimProduction - 78Q49A2', + }, + { + value: 145190, + label: '2H86LR9', + }, + { + value: 145126, + label: 'L8BFK7Y', + }, + { + value: 145387, + label: 'materialProduction - ZBSZ7G8', + }, + { + value: 145336, + label: '3Y1NQ30', + }, + { + value: 144918, + label: 'ZBWBYXK', + }, + { + value: 145251, + label: 'A4V7P36', + }, + { + value: 144862, + label: 'VNSNDMP', + }, + { + value: 145125, + label: 'KZXP0DB', + }, + { + value: 144994, + label: '5FWYEW8', + }, + { + value: 145306, + label: 'printingProductDyeingAndLaundering - VNQ0ZPH', + }, + { + value: 144784, + label: 'RGRUHH4', + }, + { + value: 144927, + label: + 'printingProductDyeingAndLaundering,materialProduction - 4KK0MZD', + }, + { + value: 144816, + label: 'FPZ07E7', + }, + { + value: 144939, + label: '5UT5800', + }, + { + value: 144978, + label: 'KY67ARB', + }, + { + value: 144904, + label: 'materialProduction - 44A7V6V', + }, + { + value: 145295, + label: 'JEBT31H', + }, + { + value: 145321, + label: 'materialProduction - RAU2BMD', + }, + { + value: 144797, + label: 'Y5UNR3R', + }, + { + value: 145176, + label: 'M3H275D', + }, + { + value: 145339, + label: 'VEA64UY', + }, + { + value: 144958, + label: 'C7KYSMM', + }, + { + value: 145247, + label: '11K9FBJ', + }, + { + value: 144837, + label: 'T4P5YQQ', + }, + { + value: 145237, + label: 'finalProductAssembly,materialProduction - NVWDTQU', + }, + { + value: 145338, + label: 'BGCJ0CD', + }, + { + value: 144838, + label: 'VX630QX', + }, + { + value: 145335, + label: 'DVH8TNK', + }, + { + value: 144997, + label: '0KN5RKS', + }, + { + value: 144995, + label: '34LXDUX', + }, + { + value: 145147, + label: 'A91UTFH', + }, + { + value: 145344, + label: '7N3WLZV', + }, + { + value: 145259, + label: 'TYBKNWZ', + }, + { + value: 145324, + label: '1Y6STY8', + }, + { + value: 145302, + label: 'printingProductDyeingAndLaundering - SN1WP67', + }, + { + value: 145107, + label: '34ZA7T8', + }, + { + value: 144982, + label: 'Y5B5VVE', + }, + { + value: 144811, + label: 'TZT29UX', + }, + { + value: 145374, + label: '2RUMYF6', + }, + { + value: 145309, + label: '8RNK1A8', + }, + { + value: 145181, + label: 'N63284P', + }, + { + value: 145001, + label: 'WVLXM2R', + }, + { + value: 145171, + label: '7W2UF4X', + }, + { + value: 145279, + label: 'Manufacturer B - matProd - 31F408D', + }, + { + value: 144899, + label: 'EZJA69D', + }, + { + value: 145163, + label: 'materialProduction - WeaveDyeHeatWash-MatProd-5KG610Y', + }, + { + value: 145293, + label: '9BQHAB4', + }, + { + value: 144966, + label: 'KnitDye-MatProd-BPWFQ9U', + }, + { + value: 144965, + label: 'JHP3XAC', + }, + { + value: 145012, + label: 'materialProduction - FVTAXRJ', + }, + { + value: 145158, + label: 'finalProductAssembly - EN1DNRA', + }, + { + value: 145285, + label: 'printingProductDyeingAndLaundering - CZG5AGG', + }, + { + value: 145018, + label: 'printingProductDyeingAndLaundering - DKUEWK7', + }, + { + value: 145270, + label: 'PGUYYRF', + }, + { + value: 145166, + label: 'WN4SX2V', + }, + { + value: 145326, + label: 'Weave - RawMat - MXXW11K', + }, + { + value: 144809, + label: 'GJAP5AK', + }, + { + value: 144859, + label: 'JQ7X0AJ', + }, + { + value: 144828, + label: 'CBRQJF3', + }, + { + value: 144848, + label: 'PMH7EVZ', + }, + { + value: 145199, + label: '58H44L3', + }, + { + value: 145054, + label: '3Y035DK', + }, + { + value: 145289, + label: 'VNPPPLF', + }, + { + value: 144866, + label: 'G1N40G3', + }, + { + value: 144781, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - S8TWCBZ', + }, + { + value: 144986, + label: 'A728JDB', + }, + { + value: 145245, + label: 'Weave - MatProd - W0F60G2', + }, + { + value: 145292, + label: 'YDEKL2X', + }, + { + value: 145074, + label: 'materialProduction - SX0SAL1', + }, + { + value: 145328, + label: 'Yarn Spinner - 309RZSQ', + }, + { + value: 144944, + label: 'RTKNU8T', + }, + { + value: 144949, + label: 'F8AWWLJ', + }, + { + value: 144930, + label: '8DX8290', + }, + { + value: 144812, + label: '69F6H31', + }, + { + value: 144773, + label: 'UW0MRZK', + }, + { + value: 145287, + label: 'HP0A9K4', + }, + { + value: 145055, + label: 'QPG86GX', + }, + { + value: 145386, + label: 'D3P42GU', + }, + { + value: 145044, + label: '6AZVQ68', + }, + { + value: 145214, + label: '7LNRVYY', + }, + { + value: 144903, + label: 'EANPSZ0', + }, + { + value: 144916, + label: 'CFWQCNH', + }, + { + value: 145160, + label: 'S54NNA9', + }, + { + value: 144921, + label: 'TAC8VCJ', + }, + { + value: 144869, + label: 'LJB7TTJ', + }, + { + value: 145089, + label: '8DJWP56', + }, + { + value: 145304, + label: '6ZYEH0T', + }, + { + value: 144898, + label: 'BXMA2JN', + }, + { + value: 145282, + label: 'S1YKDYF', + }, + { + value: 145123, + label: 'HE4PJVM', + }, + { + value: 145120, + label: 'LYF884A', + }, + { + value: 144796, + label: 'Q9N7BMD', + }, + { + value: 144931, + label: 'E73RXZM', + }, + { + value: 145149, + label: 'K0SY05C', + }, + { + value: 145070, + label: 'U57CKDT', + }, + { + value: 145280, + label: 'CQZBN31', + }, + { + value: 145299, + label: '22DPBPP', + }, + { + value: 144842, + label: + 'printingProductDyeingAndLaundering,materialProduction - NW0XSV2', + }, + { + value: 145175, + label: 'LW0L2JX', + }, + { + value: 144856, + label: 'finalProductAssembly - UHXCJRF', + }, + { + value: 145256, + label: '64MF3TX', + }, + { + value: 144864, + label: 'QUD66UC', + }, + { + value: 145242, + label: '4P2WXWZ', + }, + { + value: 145077, + label: '2VG8JNS', + }, + { + value: 145111, + label: 'WBT279F', + }, + { + value: 144947, + label: '1Y1UJB5', + }, + { + value: 145088, + label: 'Weave-MatProd-0PS89UW', + }, + { + value: 145219, + label: 'YQ0AV1G', + }, + { + value: 144956, + label: 'U9GPNVH', + }, + { + value: 145373, + label: '25V23BY', + }, + { + value: 145249, + label: '0V4SQQQ', + }, + { + value: 145241, + label: '814F7P0', + }, + { + value: 144831, + label: 'NA4AAB4', + }, + { + value: 145154, + label: 'DR24ZAV', + }, + { + value: 145079, + label: 'U6CDCW9', + }, + { + value: 145108, + label: 'MCA1HRM', + }, + { + value: 145146, + label: 'QMG137X', + }, + { + value: 144792, + label: 'ZVJBHNG', + }, + { + value: 145056, + label: 'KLMA96L', + }, + { + value: 145114, + label: 'LZ47WBN', + }, + { + value: 145148, + label: 'SNCMDU0', + }, + { + value: 144844, + label: 'materialProduction - F3DU8UX', + }, + { + value: 145262, + label: '5N5A6GF', + }, + { + value: 145124, + label: '9PKVWCQ', + }, + { + value: 145031, + label: 'E4Z2A9L', + }, + { + value: 145266, + label: 'CTG99HM', + }, + { + value: 144764, + label: '8L91W81', + }, + { + value: 145254, + label: '3B901XB', + }, + { + value: 144803, + label: '9F7Q40Q', + }, + { + value: 145253, + label: 'XN03514', + }, + { + value: 145298, + label: 'C9J7TU6', + }, + { + value: 145228, + label: '1DWR1FZ', + }, + { + value: 145183, + label: 'VACMBM9', + }, + { + value: 144971, + label: 'NEMZ6SJ', + }, + { + value: 145248, + label: '96JQFTU', + }, + { + value: 145046, + label: 'RWM3BVK', + }, + { + value: 145231, + label: 'TA6KZLM', + }, + { + value: 145233, + label: 'QL4Z4JH', + }, + { + value: 145076, + label: '4M5DW3N', + }, + { + value: 145109, + label: 'EAN2AR0', + }, + { + value: 144799, + label: 'YC6L0LQ', + }, + { + value: 145244, + label: 'YDU2VWC', + }, + { + value: 145210, + label: 'ELSRL72', + }, + { + value: 144884, + label: 'LUABMZK', + }, + { + value: 145052, + label: 'Z38SP7M', + }, + { + value: 145211, + label: 'DMW19YZ', + }, + { + value: 145185, + label: '9U9GLMT', + }, + { + value: 145208, + label: '4J6J8BR', + }, + { + value: 144860, + label: 'R75XP11', + }, + { + value: 145229, + label: 'RB8Y0R7', + }, + { + value: 145212, + label: 'FH00KX0', + }, + { + value: 145204, + label: 'HW6KQZC', + }, + { + value: 145140, + label: '7JAFGQD', + }, + { + value: 145110, + label: '2E9DUP4', + }, + { + value: 145117, + label: 'WFLZXDK', + }, + { + value: 145030, + label: '8N7J69G', + }, + { + value: 145156, + label: 'VC89NLG', + }, + { + value: 145173, + label: '2NP3027', + }, + { + value: 145161, + label: 'LFE14M9', + }, + { + value: 145036, + label: 'Q8NEAST', + }, + { + value: 144780, + label: '28XUQJ9', + }, + { + value: 145011, + label: 'GCXFX06', + }, + { + value: 145027, + label: '6EH8JUG', + }, + { + value: 144779, + label: '5AZWHHV', + }, + { + value: 144981, + label: 'CL5A0T7', + }, + { + value: 145118, + label: '202450N', + }, + { + value: 144880, + label: '8B59EAX', + }, + { + value: 145238, + label: 'EY3DL2U', + }, + { + value: 145168, + label: 'LT7TZVP', + }, + { + value: 145197, + label: 'M0GHTT1', + }, + { + value: 145157, + label: 'WJV20A8', + }, + { + value: 144818, + label: '3KYQPVW', + }, + { + value: 145145, + label: '6ZU7HEQ', + }, + { + value: 145083, + label: 'RC7TJSM', + }, + { + value: 145234, + label: 'KKGC6BX', + }, + { + value: 144889, + label: 'KR1ECNG', + }, + { + value: 145068, + label: 'KYQA9LE', + }, + { + value: 145078, + label: '723RNDJ', + }, + { + value: 145153, + label: '50B4SGP', + }, + { + value: 145377, + label: 'RRWDP19', + }, + { + value: 144855, + label: 'LCLPALD', + }, + { + value: 144946, + label: 'VRQDA8Y', + }, + { + value: 144989, + label: 'WCL9WX4', + }, + { + value: 144952, + label: 'V7P8S5X', + }, + { + value: 145165, + label: 'L3BXCF1', + }, + { + value: 144980, + label: 'HL44UF2', + }, + { + value: 144782, + label: '15FZR3Q', + }, + { + value: 144901, + label: 'Y8LRJ5S', + }, + { + value: 145134, + label: 'KRWTNDK', + }, + { + value: 144767, + label: 'FHN9PTN', + }, + { + value: 144830, + label: 'TG0K5UY', + }, + { + value: 144850, + label: '0F6PG7C', + }, + { + value: 144769, + label: 'P7VUZKF', + }, + { + value: 145094, + label: '7W96UFS', + }, + { + value: 145174, + label: 'JJG7V87', + }, + { + value: 145151, + label: '3K0YXKB', + }, + { + value: 145058, + label: '0H59VUR', + }, + { + value: 145382, + label: 'JR2DU4U', + }, + { + value: 144936, + label: 'GMNSUFR', + }, + { + value: 144988, + label: 'HACSUMP', + }, + { + value: 144962, + label: '8BSBQLP', + }, + { + value: 144878, + label: '6T10YEY', + }, + { + value: 145000, + label: 'EAT43KV', + }, + { + value: 144867, + label: 'SSAZPRG', + }, + { + value: 145032, + label: 'B5XXEM7', + }, + { + value: 145062, + label: 'M7JRW43', + }, + { + value: 144902, + label: 'L0PJG07', + }, + { + value: 145023, + label: '80T5FHB', + }, + { + value: 145025, + label: 'CFWLE7K', + }, + { + value: 144983, + label: 'FERSE88', + }, + { + value: 145047, + label: 'ZVPVJ4B', + }, + { + value: 145034, + label: 'DQ6E42M', + }, + { + value: 145090, + label: 'K04JGE5', + }, + { + value: 145375, + label: 'HU07A33', + }, + { + value: 145102, + label: 'RYC89DT', + }, + { + value: 145024, + label: 'TKP6EG6', + }, + { + value: 144961, + label: 'DLZS6D8', + }, + { + value: 144765, + label: 'NZJ9ZHA', + }, + { + value: 145081, + label: '0BSHRF1', + }, + { + value: 144906, + label: 'J0GWKC8', + }, + { + value: 145019, + label: 'Q5W1H29', + }, + { + value: 145082, + label: '4156UJU', + }, + { + value: 145005, + label: '01892QN', + }, + { + value: 145113, + label: 'XT551LD', + }, + { + value: 145004, + label: '2W67VJW', + }, + { + value: 145060, + label: 'RQZXNB5', + }, + { + value: 145112, + label: 'XZGB6LM', + }, + { + value: 144967, + label: 'V8TF4DT', + }, + { + value: 144794, + label: 'F3CAY09', + }, + { + value: 145378, + label: 'CR95C6B', + }, + { + value: 145086, + label: 'A9VQ0NV', + }, + { + value: 145106, + label: 'V0CYJMF', + }, + { + value: 144795, + label: '4TF9SDH', + }, + { + value: 145009, + label: '2PC2SY4', + }, + { + value: 145061, + label: '2GSG96P', + }, + { + value: 145020, + label: 'ZZZB0PW', + }, + { + value: 144892, + label: 'ZF542Q9', + }, + { + value: 144852, + label: '6FDXU8T', + }, + { + value: 144817, + label: 'AG8THHR', + }, + { + value: 144774, + label: '4KRJE1V', + }, + { + value: 144905, + label: 'SFP6MRN', + }, + ], + }, + }, + { + key: 'T2Country', + type: 'enum', + label: 'T2 Country', + isArray: false, + multi: true, + config: { + allowCustom: false, + options: [ + { + value: 'Afghanistan', + label: 'Afghanistan', + }, + { + value: 'Albania', + label: 'Albania', + }, + { + value: 'Algeria', + label: 'Algeria', + }, + { + value: 'American Samoa', + label: 'American Samoa', + }, + { + value: 'Andorra', + label: 'Andorra', + }, + { + value: 'Angola', + label: 'Angola', + }, + { + value: 'Anguilla', + label: 'Anguilla', + }, + { + value: 'Antarctica', + label: 'Antarctica', + }, + { + value: 'Antigua and Barbuda', + label: 'Antigua and Barbuda', + }, + { + value: 'Argentina', + label: 'Argentina', + }, + { + value: 'Armenia', + label: 'Armenia', + }, + { + value: 'Aruba', + label: 'Aruba', + }, + { + value: 'Australia', + label: 'Australia', + }, + { + value: 'Austria', + label: 'Austria', + }, + { + value: 'Azerbaijan', + label: 'Azerbaijan', + }, + { + value: 'Bahamas, The', + label: 'Bahamas, The', + }, + { + value: 'Bahrain', + label: 'Bahrain', + }, + { + value: 'Bangladesh', + label: 'Bangladesh', + }, + { + value: 'Barbados', + label: 'Barbados', + }, + { + value: 'Belarus', + label: 'Belarus', + }, + { + value: 'Belgium', + label: 'Belgium', + }, + { + value: 'Belize', + label: 'Belize', + }, + { + value: 'Benin', + label: 'Benin', + }, + { + value: 'Bermuda', + label: 'Bermuda', + }, + { + value: 'Bhutan', + label: 'Bhutan', + }, + { + value: 'Bolivia', + label: 'Bolivia', + }, + { + value: 'Bosnia and Herzegovina', + label: 'Bosnia and Herzegovina', + }, + { + value: 'Botswana', + label: 'Botswana', + }, + { + value: 'Bouvet Island', + label: 'Bouvet Island', + }, + { + value: 'Brazil', + label: 'Brazil', + }, + { + value: 'British Indian Ocean Territory', + label: 'British Indian Ocean Territory', + }, + { + value: 'British Virgin Islands', + label: 'British Virgin Islands', + }, + { + value: 'Brunei', + label: 'Brunei', + }, + { + value: 'Bulgaria', + label: 'Bulgaria', + }, + { + value: 'Burkina Faso', + label: 'Burkina Faso', + }, + { + value: 'Burma', + label: 'Burma', + }, + { + value: 'Burundi', + label: 'Burundi', + }, + { + value: 'Cambodia', + label: 'Cambodia', + }, + { + value: 'Cameroon', + label: 'Cameroon', + }, + { + value: 'Canada', + label: 'Canada', + }, + { + value: 'Cape Verde', + label: 'Cape Verde', + }, + { + value: 'Cayman Islands', + label: 'Cayman Islands', + }, + { + value: 'Central African Republic', + label: 'Central African Republic', + }, + { + value: 'Chad', + label: 'Chad', + }, + { + value: 'Chile', + label: 'Chile', + }, + { + value: 'China', + label: 'China', + }, + { + value: 'Christmas Island', + label: 'Christmas Island', + }, + { + value: 'Cocos (Keeling) Islands', + label: 'Cocos (Keeling) Islands', + }, + { + value: 'Colombia', + label: 'Colombia', + }, + { + value: 'Comoros', + label: 'Comoros', + }, + { + value: 'Congo, Democratic Republic of the', + label: 'Congo, Democratic Republic of the', + }, + { + value: 'Congo, Republic of the', + label: 'Congo, Republic of the', + }, + { + value: 'Cook Islands', + label: 'Cook Islands', + }, + { + value: 'Costa Rica', + label: 'Costa Rica', + }, + { + value: "Cote d'Ivoire", + label: "Cote d'Ivoire", + }, + { + value: 'Croatia', + label: 'Croatia', + }, + { + value: 'Cuba', + label: 'Cuba', + }, + { + value: 'Curacao', + label: 'Curacao', + }, + { + value: 'Cyprus', + label: 'Cyprus', + }, + { + value: 'Czech Republic', + label: 'Czech Republic', + }, + { + value: 'Denmark', + label: 'Denmark', + }, + { + value: 'Djibouti', + label: 'Djibouti', + }, + { + value: 'Dominica', + label: 'Dominica', + }, + { + value: 'Dominican Republic', + label: 'Dominican Republic', + }, + { + value: 'Ecuador', + label: 'Ecuador', + }, + { + value: 'Egypt', + label: 'Egypt', + }, + { + value: 'El Salvador', + label: 'El Salvador', + }, + { + value: 'Equatorial Guinea', + label: 'Equatorial Guinea', + }, + { + value: 'Eritrea', + label: 'Eritrea', + }, + { + value: 'Estonia', + label: 'Estonia', + }, + { + value: 'Ethiopia', + label: 'Ethiopia', + }, + { + value: 'Falkland Islands (Islas Malvinas)', + label: 'Falkland Islands (Islas Malvinas)', + }, + { + value: 'Faroe Islands', + label: 'Faroe Islands', + }, + { + value: 'Fiji', + label: 'Fiji', + }, + { + value: 'Finland', + label: 'Finland', + }, + { + value: 'France', + label: 'France', + }, + { + value: 'France, Metropolitan', + label: 'France, Metropolitan', + }, + { + value: 'French Guiana', + label: 'French Guiana', + }, + { + value: 'French Polynesia', + label: 'French Polynesia', + }, + { + value: 'French Southern and Antarctic Lands', + label: 'French Southern and Antarctic Lands', + }, + { + value: 'Gabon', + label: 'Gabon', + }, + { + value: 'Gambia, The', + label: 'Gambia, The', + }, + { + value: 'Gaza Strip', + label: 'Gaza Strip', + }, + { + value: 'Georgia', + label: 'Georgia', + }, + { + value: 'Germany', + label: 'Germany', + }, + { + value: 'Ghana', + label: 'Ghana', + }, + { + value: 'Gibraltar', + label: 'Gibraltar', + }, + { + value: 'Greece', + label: 'Greece', + }, + { + value: 'Greenland', + label: 'Greenland', + }, + { + value: 'Grenada', + label: 'Grenada', + }, + { + value: 'Guadeloupe', + label: 'Guadeloupe', + }, + { + value: 'Guam', + label: 'Guam', + }, + { + value: 'Guatemala', + label: 'Guatemala', + }, + { + value: 'Guernsey', + label: 'Guernsey', + }, + { + value: 'Guinea', + label: 'Guinea', + }, + { + value: 'Guinea-Bissau', + label: 'Guinea-Bissau', + }, + { + value: 'Guyana', + label: 'Guyana', + }, + { + value: 'Haiti', + label: 'Haiti', + }, + { + value: 'Heard Island and McDonald Islands', + label: 'Heard Island and McDonald Islands', + }, + { + value: 'Holy See (Vatican City)', + label: 'Holy See (Vatican City)', + }, + { + value: 'Honduras', + label: 'Honduras', + }, + { + value: 'Hong Kong, China', + label: 'Hong Kong, China', + }, + { + value: 'Hungary', + label: 'Hungary', + }, + { + value: 'Iceland', + label: 'Iceland', + }, + { + value: 'India', + label: 'India', + }, + { + value: 'Indonesia', + label: 'Indonesia', + }, + { + value: 'Iran', + label: 'Iran', + }, + { + value: 'Iraq', + label: 'Iraq', + }, + { + value: 'Ireland', + label: 'Ireland', + }, + { + value: 'Isle of Man', + label: 'Isle of Man', + }, + { + value: 'Israel', + label: 'Israel', + }, + { + value: 'Italy', + label: 'Italy', + }, + { + value: 'Jamaica', + label: 'Jamaica', + }, + { + value: 'Japan', + label: 'Japan', + }, + { + value: 'Jersey', + label: 'Jersey', + }, + { + value: 'Jordan', + label: 'Jordan', + }, + { + value: 'Kazakhstan', + label: 'Kazakhstan', + }, + { + value: 'Kenya', + label: 'Kenya', + }, + { + value: 'Kiribati', + label: 'Kiribati', + }, + { + value: 'Korea, North', + label: 'Korea, North', + }, + { + value: 'Korea, South', + label: 'Korea, South', + }, + { + value: 'Kosovo', + label: 'Kosovo', + }, + { + value: 'Kuwait', + label: 'Kuwait', + }, + { + value: 'Kyrgyzstan', + label: 'Kyrgyzstan', + }, + { + value: 'Laos', + label: 'Laos', + }, + { + value: 'Latvia', + label: 'Latvia', + }, + { + value: 'Lebanon', + label: 'Lebanon', + }, + { + value: 'Lesotho', + label: 'Lesotho', + }, + { + value: 'Liberia', + label: 'Liberia', + }, + { + value: 'Libya', + label: 'Libya', + }, + { + value: 'Liechtenstein', + label: 'Liechtenstein', + }, + { + value: 'Lithuania', + label: 'Lithuania', + }, + { + value: 'Luxembourg', + label: 'Luxembourg', + }, + { + value: 'Macau', + label: 'Macau', + }, + { + value: 'Macedonia', + label: 'Macedonia', + }, + { + value: 'Madagascar', + label: 'Madagascar', + }, + { + value: 'Malawi', + label: 'Malawi', + }, + { + value: 'Malaysia', + label: 'Malaysia', + }, + { + value: 'Maldives', + label: 'Maldives', + }, + { + value: 'Mali', + label: 'Mali', + }, + { + value: 'Malta', + label: 'Malta', + }, + { + value: 'Marshall Islands', + label: 'Marshall Islands', + }, + { + value: 'Martinique', + label: 'Martinique', + }, + { + value: 'Mauritania', + label: 'Mauritania', + }, + { + value: 'Mauritius', + label: 'Mauritius', + }, + { + value: 'Mayotte', + label: 'Mayotte', + }, + { + value: 'Mexico', + label: 'Mexico', + }, + { + value: 'Micronesia, Federated States of', + label: 'Micronesia, Federated States of', + }, + { + value: 'Moldova', + label: 'Moldova', + }, + { + value: 'Monaco', + label: 'Monaco', + }, + { + value: 'Mongolia', + label: 'Mongolia', + }, + { + value: 'Montenegro', + label: 'Montenegro', + }, + { + value: 'Montserrat', + label: 'Montserrat', + }, + { + value: 'Morocco', + label: 'Morocco', + }, + { + value: 'Mozambique', + label: 'Mozambique', + }, + { + value: 'Namibia', + label: 'Namibia', + }, + { + value: 'Nauru', + label: 'Nauru', + }, + { + value: 'Nepal', + label: 'Nepal', + }, + { + value: 'Netherlands', + label: 'Netherlands', + }, + { + value: 'New Caledonia', + label: 'New Caledonia', + }, + { + value: 'New Zealand', + label: 'New Zealand', + }, + { + value: 'Nicaragua', + label: 'Nicaragua', + }, + { + value: 'Niger', + label: 'Niger', + }, + { + value: 'Nigeria', + label: 'Nigeria', + }, + { + value: 'Niue', + label: 'Niue', + }, + { + value: 'Norfolk Island', + label: 'Norfolk Island', + }, + { + value: 'Northern Mariana Islands', + label: 'Northern Mariana Islands', + }, + { + value: 'Norway', + label: 'Norway', + }, + { + value: 'Oman', + label: 'Oman', + }, + { + value: 'Pakistan', + label: 'Pakistan', + }, + { + value: 'Palau', + label: 'Palau', + }, + { + value: 'Panama', + label: 'Panama', + }, + { + value: 'Papua New Guinea', + label: 'Papua New Guinea', + }, + { + value: 'Paraguay', + label: 'Paraguay', + }, + { + value: 'Peru', + label: 'Peru', + }, + { + value: 'Philippines', + label: 'Philippines', + }, + { + value: 'Pitcairn Islands', + label: 'Pitcairn Islands', + }, + { + value: 'Poland', + label: 'Poland', + }, + { + value: 'Portugal', + label: 'Portugal', + }, + { + value: 'Puerto Rico', + label: 'Puerto Rico', + }, + { + value: 'Qatar', + label: 'Qatar', + }, + { + value: 'Reunion', + label: 'Reunion', + }, + { + value: 'Romania', + label: 'Romania', + }, + { + value: 'Russia', + label: 'Russia', + }, + { + value: 'Rwanda', + label: 'Rwanda', + }, + { + value: 'Saint Barthelemy', + label: 'Saint Barthelemy', + }, + { + value: 'Saint Helena, Ascension, and Tristan da Cunha', + label: 'Saint Helena, Ascension, and Tristan da Cunha', + }, + { + value: 'Saint Kitts and Nevis', + label: 'Saint Kitts and Nevis', + }, + { + value: 'Saint Lucia', + label: 'Saint Lucia', + }, + { + value: 'Saint Martin', + label: 'Saint Martin', + }, + { + value: 'Saint Pierre and Miquelon', + label: 'Saint Pierre and Miquelon', + }, + { + value: 'Saint Vincent and the Grenadines', + label: 'Saint Vincent and the Grenadines', + }, + { + value: 'Samoa', + label: 'Samoa', + }, + { + value: 'San Marino', + label: 'San Marino', + }, + { + value: 'Sao Tome and Principe', + label: 'Sao Tome and Principe', + }, + { + value: 'Saudi Arabia', + label: 'Saudi Arabia', + }, + { + value: 'Senegal', + label: 'Senegal', + }, + { + value: 'Serbia', + label: 'Serbia', + }, + { + value: 'Seychelles', + label: 'Seychelles', + }, + { + value: 'Sierra Leone', + label: 'Sierra Leone', + }, + { + value: 'Singapore', + label: 'Singapore', + }, + { + value: 'Sint Maarten', + label: 'Sint Maarten', + }, + { + value: 'Slovakia', + label: 'Slovakia', + }, + { + value: 'Slovenia', + label: 'Slovenia', + }, + { + value: 'Solomon Islands', + label: 'Solomon Islands', + }, + { + value: 'Somalia', + label: 'Somalia', + }, + { + value: 'South Africa', + label: 'South Africa', + }, + { + value: 'South Georgia and the Islands', + label: 'South Georgia and the Islands', + }, + { + value: 'South Sudan', + label: 'South Sudan', + }, + { + value: 'Spain', + label: 'Spain', + }, + { + value: 'Sri Lanka', + label: 'Sri Lanka', + }, + { + value: 'Sudan', + label: 'Sudan', + }, + { + value: 'Suriname', + label: 'Suriname', + }, + { + value: 'Svalbard', + label: 'Svalbard', + }, + { + value: 'Swaziland', + label: 'Swaziland', + }, + { + value: 'Sweden', + label: 'Sweden', + }, + { + value: 'Switzerland', + label: 'Switzerland', + }, + { + value: 'Syria', + label: 'Syria', + }, + { + value: 'Taiwan, China', + label: 'Taiwan, China', + }, + { + value: 'Tajikistan', + label: 'Tajikistan', + }, + { + value: 'Tanzania', + label: 'Tanzania', + }, + { + value: 'Thailand', + label: 'Thailand', + }, + { + value: 'Timor-Leste', + label: 'Timor-Leste', + }, + { + value: 'Togo', + label: 'Togo', + }, + { + value: 'Tokelau', + label: 'Tokelau', + }, + { + value: 'Tonga', + label: 'Tonga', + }, + { + value: 'Trinidad and Tobago', + label: 'Trinidad and Tobago', + }, + { + value: 'Tunisia', + label: 'Tunisia', + }, + { + value: 'Turkey', + label: 'Turkey', + }, + { + value: 'Turkmenistan', + label: 'Turkmenistan', + }, + { + value: 'Turks and Caicos Islands', + label: 'Turks and Caicos Islands', + }, + { + value: 'Tuvalu', + label: 'Tuvalu', + }, + { + value: 'Uganda', + label: 'Uganda', + }, + { + value: 'Ukraine', + label: 'Ukraine', + }, + { + value: 'United Arab Emirates', + label: 'United Arab Emirates', + }, + { + value: 'United Kingdom', + label: 'United Kingdom', + }, + { + value: 'United States', + label: 'United States', + }, + { + value: 'United States Minor Outlying Islands', + label: 'United States Minor Outlying Islands', + }, + { + value: 'Uruguay', + label: 'Uruguay', + }, + { + value: 'Uzbekistan', + label: 'Uzbekistan', + }, + { + value: 'Vanuatu', + label: 'Vanuatu', + }, + { + value: 'Venezuela', + label: 'Venezuela', + }, + { + value: 'Vietnam', + label: 'Vietnam', + }, + { + value: 'Virgin Islands', + label: 'Virgin Islands', + }, + { + value: 'Wallis and Futuna', + label: 'Wallis and Futuna', + }, + { + value: 'West Bank', + label: 'West Bank', + }, + { + value: 'Western Sahara', + label: 'Western Sahara', + }, + { + value: 'Yemen', + label: 'Yemen', + }, + { + value: 'Zambia', + label: 'Zambia', + }, + { + value: 'Zimbabwe', + label: 'Zimbabwe', + }, + ], + }, + }, + { + type: 'enum', + key: 'T3Facility', + label: 'T3 Facility', + isArray: true, + description: 'Supplier Name or Worldly Id.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 144804, + label: 'finalProductAssembly - 5Y7LDWV', + }, + { + value: 145007, + label: 'finalProductAssembly - VAJ2KYY', + }, + { + value: 145376, + label: 'finalProductAssembly - DWXFDE6', + }, + { + value: 145284, + label: + 'printingProductDyeingAndLaundering,finalProductAssembly - SJWG9ZY', + }, + { + value: 144929, + label: 'Manufacturer A -MatProd - 2B68ZRK', + }, + { + value: 145029, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 770JH4F', + }, + { + value: 145356, + label: 'printingProductDyeingAndLaundering - C55SWLM', + }, + { + value: 145311, + label: 'finalProductAssembly - BYPS0Z8', + }, + { + value: 145235, + label: 'finalProductAssembly - NHUTTKD', + }, + { + value: 145191, + label: 'finalProductAssembly - JN8VC5Z', + }, + { + value: 145317, + label: 'finalProductAssembly - AXNDTJ6', + }, + { + value: 144924, + label: 'finalProductAssembly - 2BG9BRY', + }, + { + value: 144915, + label: 'materialProduction - WeaveDyePrintPrep-MatProd-JZWHPSG', + }, + { + value: 145141, + label: 'finalProductAssembly - 3PM69QW', + }, + { + value: 145351, + label: 'finalProductAssembly - 5DNPCX4', + }, + { + value: 145312, + label: 'printingProductDyeingAndLaundering - V7UB0GA', + }, + { + value: 145096, + label: 'materialProduction - 410GXPD', + }, + { + value: 144791, + label: 'finalProductAssembly - C0S84LT', + }, + { + value: 144813, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - TVBBH36', + }, + { + value: 145182, + label: 'printingProductDyeingAndLaundering - ZNNGCLA', + }, + { + value: 145290, + label: 'printingProductDyeingAndLaundering - V3BW0CS', + }, + { + value: 145370, + label: 'M1FMRD4', + }, + { + value: 144839, + label: 'finalProductAssembly - E4NFEFT', + }, + { + value: 144845, + label: 'finalProductAssembly - NEMEWDC', + }, + { + value: 145042, + label: 'printingProductDyeingAndLaundering - ZMUTT9X', + }, + { + value: 145363, + label: 'finalProductAssembly - L2Z9UG8', + }, + { + value: 145022, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 75XTA47', + }, + { + value: 144846, + label: 'materialProduction - G8VZU2K', + }, + { + value: 145294, + label: 'finalProductAssembly - DLLS2LL', + }, + { + value: 144827, + label: 'finalProductAssembly - TUTJK45', + }, + { + value: 145217, + label: 'printingProductDyeingAndLaundering - PME8R1Q', + }, + { + value: 144857, + label: 'finalProductAssembly - DV85ML2', + }, + { + value: 145272, + label: 'finalProductAssembly - 4V60XVS', + }, + { + value: 145135, + label: + 'materialProduction - Knit - Dye - Heat - MatProd - 6K2LZ3F', + }, + { + value: 144761, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - V2EAG05', + }, + { + value: 145164, + label: 'materialProduction - KnitDyeHeatFinish-MatProd-EVBUQZZ', + }, + { + value: 144977, + label: 'K2SKARN', + }, + { + value: 145205, + label: 'finalProductAssembly - 9WUGDMQ', + }, + { + value: 145080, + label: 'materialProduction - Z0N7973', + }, + { + value: 145310, + label: 'finalProductAssembly - WPS8MGW', + }, + { + value: 144974, + label: 'finalProductAssembly - R2W2VVX', + }, + { + value: 145063, + label: 'finalProductAssembly - 2TUUNC9', + }, + { + value: 144941, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 5UNGXWB', + }, + { + value: 144861, + label: 'Manufacturer D - materialProd - 2M85KQ3', + }, + { + value: 144819, + label: 'materialProduction - HW6NBTX', + }, + { + value: 144841, + label: 'finalProductAssembly - 7Q7MHTC', + }, + { + value: 144942, + label: 'finalProductAssembly - ZT6K6QC', + }, + { + value: 145038, + label: 'finalProductAssembly - WFCVFYW', + }, + { + value: 144829, + label: 'finalProductAssembly - 8DLM4KP', + }, + { + value: 145116, + label: 'printingProductDyeingAndLaundering - TN4M5UC', + }, + { + value: 145130, + label: 'finalProductAssembly - VUAW1N7', + }, + { + value: 145341, + label: 'Manufacturer C - matProd - 32L1J52', + }, + { + value: 145281, + label: 'finalProductAssembly - SDEK6TD', + }, + { + value: 144801, + label: 'finalProductAssembly - 01ATR4L', + }, + { + value: 144960, + label: + 'printingProductDyeingAndLaundering,materialProduction - BVZ62DQ', + }, + { + value: 144975, + label: 'finalProductAssembly - T82XQ9C', + }, + { + value: 144833, + label: 'finalProductAssembly - 0PC02JL', + }, + { + value: 144920, + label: 'finalProductAssembly - 85C1C6V', + }, + { + value: 145348, + label: 'printingProductDyeingAndLaundering - 1DVBT1X', + }, + { + value: 144870, + label: 'printingProductDyeingAndLaundering - VVU8GA9', + }, + { + value: 144957, + label: 'materialProduction - WZWM47Z', + }, + { + value: 144881, + label: 'finalProductAssembly - JJ7XU80', + }, + { + value: 144914, + label: 'finalProductAssembly - YM78YXR', + }, + { + value: 144911, + label: 'materialProduction - T4H8L4X', + }, + { + value: 144888, + label: + 'materialProduction - WeaveDyePrintFinishBraid-MatProd-LM8F9N8', + }, + { + value: 144908, + label: 'finalProductAssembly,materialProduction - 3UNJUVW', + }, + { + value: 144933, + label: 'finalProductAssembly - R498W4C', + }, + { + value: 144777, + label: 'materialProduction - KnitDyeHeatWash-MatProd-F509MLE', + }, + { + value: 145225, + label: 'printingProductDyeingAndLaundering - BUF988A', + }, + { + value: 145192, + label: 'EHN0DPA', + }, + { + value: 145194, + label: 'materialProduction - 62CQXE1', + }, + { + value: 144964, + label: 'finalProductAssembly - KR5U81U', + }, + { + value: 144923, + label: 'materialProduction - CD10DRG', + }, + { + value: 145286, + label: 'finalProductAssembly - DMCYGE8', + }, + { + value: 145137, + label: 'finalProductAssembly - 7AH0QFH', + }, + { + value: 144891, + label: 'finalProductAssembly - WC7G1RQ', + }, + { + value: 144760, + label: 'finalProductAssembly - MB1F3VC', + }, + { + value: 145131, + label: 'materialProduction - Material Production - 5DMVUC6', + }, + { + value: 144970, + label: 'materialProduction - D027KYS', + }, + { + value: 144894, + label: 'finalProductAssembly - FWV4V1U', + }, + { + value: 144805, + label: 'materialProduction - H11U9D9', + }, + { + value: 145250, + label: 'printingProductDyeingAndLaundering - KXSTTLZ', + }, + { + value: 145150, + label: 'printingProductDyeingAndLaundering - N5Q50XJ', + }, + { + value: 145362, + label: 'finalProductAssembly - YVS076B', + }, + { + value: 145187, + label: 'printingProductDyeingAndLaundering - QETESAP', + }, + { + value: 144996, + label: 'printingProductDyeingAndLaundering - P9H4L4K', + }, + { + value: 145224, + label: 'printingProductDyeingAndLaundering - 83RLPC1', + }, + { + value: 145342, + label: 'finalProductAssembly - WNBV6SX', + }, + { + value: 144851, + label: 'finalProductAssembly - RYJ139P', + }, + { + value: 144935, + label: 'FA07CWR', + }, + { + value: 145159, + label: 'finalProductAssembly - 6SL66VE', + }, + { + value: 145316, + label: 'rawMaterialProcessing - YarnSpin-RawMat-HKVF3G4', + }, + { + value: 144873, + label: 'printingProductDyeingAndLaundering - HVKKFH0', + }, + { + value: 145265, + label: 'finalProductAssembly - BD49QAA', + }, + { + value: 145010, + label: 'finalProductAssembly - RQULHDP', + }, + { + value: 144783, + label: 'printingProductDyeingAndLaundering - 6V21L71', + }, + { + value: 144912, + label: 'materialProduction - QSAJ9BE', + }, + { + value: 145065, + label: 'materialProduction - QYRV2R9', + }, + { + value: 145073, + label: 'materialProduction - N1Q4H6L', + }, + { + value: 145318, + label: 'rawMaterialProcessing - U7V2CX8', + }, + { + value: 144882, + label: 'materialProduction - XPL5X8Z', + }, + { + value: 144858, + label: 'finalProductAssembly - V6ZNE7R', + }, + { + value: 145367, + label: 'EFYD8F5', + }, + { + value: 144814, + label: 'WYPC3DP', + }, + { + value: 145016, + label: 'finalProductAssembly - 19UVSEW', + }, + { + value: 145291, + label: 'printingProductDyeingAndLaundering - 8N8PFKD', + }, + { + value: 145003, + label: 'finalProductAssembly - C61YA7T', + }, + { + value: 144925, + label: 'finalProductAssembly - 6R24S3Q', + }, + { + value: 144854, + label: 'finalProductAssembly - XJD43JL', + }, + { + value: 144897, + label: 'hardComponentTrimProduction - VRU60VZ', + }, + { + value: 144999, + label: 'materialProduction - 6FCU6YL', + }, + { + value: 144934, + label: 'JE0XSH4', + }, + { + value: 144883, + label: 'finalProductAssembly - W1L84MJ', + }, + { + value: 144788, + label: 'finalProductAssembly,materialProduction - XWQSWSF', + }, + { + value: 145359, + label: 'finalProductAssembly - H7GQVQG', + }, + { + value: 145334, + label: 'materialProduction - C66UWUU', + }, + { + value: 145349, + label: 'finalProductAssembly - 76B0AB8', + }, + { + value: 145188, + label: 'printingProductDyeingAndLaundering - 98MEDXY', + }, + { + value: 145128, + label: 'finalProductAssembly - EEFKCQD', + }, + { + value: 145193, + label: 'printingProductDyeingAndLaundering - PQM4PS3', + }, + { + value: 145315, + label: 'materialProduction - 6RQZ31D', + }, + { + value: 145332, + label: 'printingProductDyeingAndLaundering - R33JTXS', + }, + { + value: 145071, + label: 'finalProductAssembly - W5GVWA1', + }, + { + value: 144955, + label: 'printingProductDyeingAndLaundering - GN8SGRN', + }, + { + value: 145283, + label: 'finalProductAssembly - 4HD8TRU', + }, + { + value: 145043, + label: 'finalProductAssembly - ZPJQSAU', + }, + { + value: 145035, + label: '1Y5KPCY', + }, + { + value: 144815, + label: 'P1EC68E', + }, + { + value: 145274, + label: 'Premier Textiles Ltd. 756J1KK ', + }, + { + value: 144943, + label: 'ERG1RY2', + }, + { + value: 145100, + label: 'QMLBTL7', + }, + { + value: 145087, + label: '22HJ2RA', + }, + { + value: 144820, + label: 'CKQZ0W8', + }, + { + value: 145314, + label: 'ZSFHKBH', + }, + { + value: 145105, + label: 'GWFFG6N', + }, + { + value: 144928, + label: 'Dye-MatProd-V8BEE5B', + }, + { + value: 144940, + label: '3NJRMR1', + }, + { + value: 145263, + label: '2H0PDBX', + }, + { + value: 145303, + label: 'UGCM533', + }, + { + value: 144834, + label: 'finalProductAssembly - 0PR1KP9', + }, + { + value: 145313, + label: 'Weave - Raw Mat - RG5FX9A', + }, + { + value: 145138, + label: 'GSGJ36Y', + }, + { + value: 144798, + label: 'finalProductAssembly - 942CTTK', + }, + { + value: 145177, + label: '23MPPQY', + }, + { + value: 145207, + label: '13UHYNY', + }, + { + value: 145121, + label: 'U3KYJQL', + }, + { + value: 145033, + label: 'UM69VDB', + }, + { + value: 144953, + label: '2ALHWNQ', + }, + { + value: 144808, + label: 'finalProductAssembly - 22027B1', + }, + { + value: 145006, + label: 'QJ2042M', + }, + { + value: 145098, + label: 'X113M25', + }, + { + value: 145278, + label: 'Q0A05AE', + }, + { + value: 145203, + label: 'QMFW0HA', + }, + { + value: 144910, + label: 'VP4AK1P', + }, + { + value: 144913, + label: 'VWK7LSP', + }, + { + value: 145002, + label: 'finalProductAssembly - R8HVNFG', + }, + { + value: 144984, + label: '0AE9N28', + }, + { + value: 144954, + label: 'finalProductAssembly - 2JNR68L', + }, + { + value: 145343, + label: '4UM078E', + }, + { + value: 145296, + label: 'RGVUJGY', + }, + { + value: 145104, + label: + 'materialProduction - Weave - MatProd - Spandex Only - BQCP3T5', + }, + { + value: 145379, + label: 'finalProductAssembly - T6FAMUA', + }, + { + value: 144895, + label: '41M2CAR', + }, + { + value: 144877, + label: '8GPW4K0', + }, + { + value: 144991, + label: 'QXCL09H', + }, + { + value: 145179, + label: 'E3NVZ2Y', + }, + { + value: 145216, + label: '3RTZDTD', + }, + { + value: 144909, + label: 'Knit - Mat Prod - 2HYDVEQ', + }, + { + value: 145258, + label: '8VF5KUC', + }, + { + value: 145186, + label: 'V5E6JWX', + }, + { + value: 145119, + label: '64C83JL', + }, + { + value: 145350, + label: 'PHBMPUD', + }, + { + value: 145384, + label: 'QPLT1LX', + }, + { + value: 145352, + label: '5VUK5ZU', + }, + { + value: 145355, + label: 'NNYGAUX', + }, + { + value: 145028, + label: '6CRSWXC', + }, + { + value: 145155, + label: '94S78QM', + }, + { + value: 145220, + label: 'finalProductAssembly - VQB7MWC', + }, + { + value: 145021, + label: 'finalProductAssembly - ZRRBAP8', + }, + { + value: 145127, + label: 'XXBWLAT', + }, + { + value: 144875, + label: 'HBQ9WAW', + }, + { + value: 144907, + label: 'materialProduction - FY3B0TQ', + }, + { + value: 145288, + label: 'materialProduction - P5AQXQN', + }, + { + value: 144840, + label: 'finalProductAssembly - N3BGQWU', + }, + { + value: 145139, + label: 'finalProductAssembly - 39GQY1S', + }, + { + value: 145271, + label: 'Q8WLYH4', + }, + { + value: 145180, + label: 'finalProductAssembly - VUE2RNE', + }, + { + value: 145115, + label: 'printingProductDyeingAndLaundering - KK51WRR', + }, + { + value: 145347, + label: 'LBN1YFW', + }, + { + value: 145268, + label: 'RPGET2L', + }, + { + value: 145066, + label: '990DWAX', + }, + { + value: 145013, + label: 'ZEUTKM4', + }, + { + value: 144879, + label: '1NK7E4B', + }, + { + value: 145221, + label: 'YHW9XVH', + }, + { + value: 145340, + label: 'NUSAGCS', + }, + { + value: 145389, + label: 'X9UK2AG', + }, + { + value: 145277, + label: 'JXD25SF', + }, + { + value: 145132, + label: 'PMC7R16', + }, + { + value: 144853, + label: 'materialProduction - PEX1JNK', + }, + { + value: 145230, + label: '6Y6845K', + }, + { + value: 144826, + label: 'finalProductAssembly - G86WHP1', + }, + { + value: 145057, + label: '9542EGS', + }, + { + value: 144766, + label: 'V1JMXQ1', + }, + { + value: 145008, + label: 'LVES57S', + }, + { + value: 145385, + label: 'finalProductAssembly - KMG55QT', + }, + { + value: 145337, + label: 'DCHTT8S', + }, + { + value: 144993, + label: '9A83YNG', + }, + { + value: 145206, + label: 'X64WG97', + }, + { + value: 144868, + label: 'ZZD2RJR', + }, + { + value: 145330, + label: 'KRHKPY3', + }, + { + value: 144926, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 4G0ZXRE', + }, + { + value: 144937, + label: 'JMV16VZ', + }, + { + value: 144900, + label: 'finalProductAssembly - X8JU0LS', + }, + { + value: 145319, + label: 'R6YSTA6', + }, + { + value: 145201, + label: 'S6GGGB1', + }, + { + value: 144778, + label: 'XP2NHG8', + }, + { + value: 145333, + label: 'UWTWG5L', + }, + { + value: 145084, + label: 'HMKL561', + }, + { + value: 144793, + label: '2TFAQR9', + }, + { + value: 145226, + label: 'rawMat-Braiding-K725RKJ', + }, + { + value: 144863, + label: '91K55HF', + }, + { + value: 145261, + label: 'R74MNK4', + }, + { + value: 145075, + label: 'M6F8HMV', + }, + { + value: 145133, + label: '4MSLA8B', + }, + { + value: 144890, + label: 'D3AT4MW', + }, + { + value: 145195, + label: + 'finalProductAssembly,hardComponentTrimProduction - 78Q49A2', + }, + { + value: 145190, + label: '2H86LR9', + }, + { + value: 145126, + label: 'L8BFK7Y', + }, + { + value: 145387, + label: 'materialProduction - ZBSZ7G8', + }, + { + value: 145336, + label: '3Y1NQ30', + }, + { + value: 144918, + label: 'ZBWBYXK', + }, + { + value: 145251, + label: 'A4V7P36', + }, + { + value: 144862, + label: 'VNSNDMP', + }, + { + value: 145125, + label: 'KZXP0DB', + }, + { + value: 144994, + label: '5FWYEW8', + }, + { + value: 145306, + label: 'printingProductDyeingAndLaundering - VNQ0ZPH', + }, + { + value: 144784, + label: 'RGRUHH4', + }, + { + value: 144927, + label: + 'printingProductDyeingAndLaundering,materialProduction - 4KK0MZD', + }, + { + value: 144816, + label: 'FPZ07E7', + }, + { + value: 144939, + label: '5UT5800', + }, + { + value: 144978, + label: 'KY67ARB', + }, + { + value: 144904, + label: 'materialProduction - 44A7V6V', + }, + { + value: 145295, + label: 'JEBT31H', + }, + { + value: 145321, + label: 'materialProduction - RAU2BMD', + }, + { + value: 144797, + label: 'Y5UNR3R', + }, + { + value: 145176, + label: 'M3H275D', + }, + { + value: 145339, + label: 'VEA64UY', + }, + { + value: 144958, + label: 'C7KYSMM', + }, + { + value: 145247, + label: '11K9FBJ', + }, + { + value: 144837, + label: 'T4P5YQQ', + }, + { + value: 145237, + label: 'finalProductAssembly,materialProduction - NVWDTQU', + }, + { + value: 145338, + label: 'BGCJ0CD', + }, + { + value: 144838, + label: 'VX630QX', + }, + { + value: 145335, + label: 'DVH8TNK', + }, + { + value: 144997, + label: '0KN5RKS', + }, + { + value: 144995, + label: '34LXDUX', + }, + { + value: 145147, + label: 'A91UTFH', + }, + { + value: 145344, + label: '7N3WLZV', + }, + { + value: 145259, + label: 'TYBKNWZ', + }, + { + value: 145324, + label: '1Y6STY8', + }, + { + value: 145302, + label: 'printingProductDyeingAndLaundering - SN1WP67', + }, + { + value: 145107, + label: '34ZA7T8', + }, + { + value: 144982, + label: 'Y5B5VVE', + }, + { + value: 144811, + label: 'TZT29UX', + }, + { + value: 145374, + label: '2RUMYF6', + }, + { + value: 145309, + label: '8RNK1A8', + }, + { + value: 145181, + label: 'N63284P', + }, + { + value: 145001, + label: 'WVLXM2R', + }, + { + value: 145171, + label: '7W2UF4X', + }, + { + value: 145279, + label: 'Manufacturer B - matProd - 31F408D', + }, + { + value: 144899, + label: 'EZJA69D', + }, + { + value: 145163, + label: 'materialProduction - WeaveDyeHeatWash-MatProd-5KG610Y', + }, + { + value: 145293, + label: '9BQHAB4', + }, + { + value: 144966, + label: 'KnitDye-MatProd-BPWFQ9U', + }, + { + value: 144965, + label: 'JHP3XAC', + }, + { + value: 145012, + label: 'materialProduction - FVTAXRJ', + }, + { + value: 145158, + label: 'finalProductAssembly - EN1DNRA', + }, + { + value: 145285, + label: 'printingProductDyeingAndLaundering - CZG5AGG', + }, + { + value: 145018, + label: 'printingProductDyeingAndLaundering - DKUEWK7', + }, + { + value: 145270, + label: 'PGUYYRF', + }, + { + value: 145166, + label: 'WN4SX2V', + }, + { + value: 145326, + label: 'Weave - RawMat - MXXW11K', + }, + { + value: 144809, + label: 'GJAP5AK', + }, + { + value: 144859, + label: 'JQ7X0AJ', + }, + { + value: 144828, + label: 'CBRQJF3', + }, + { + value: 144848, + label: 'PMH7EVZ', + }, + { + value: 145199, + label: '58H44L3', + }, + { + value: 145054, + label: '3Y035DK', + }, + { + value: 145289, + label: 'VNPPPLF', + }, + { + value: 144866, + label: 'G1N40G3', + }, + { + value: 144781, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - S8TWCBZ', + }, + { + value: 144986, + label: 'A728JDB', + }, + { + value: 145245, + label: 'Weave - MatProd - W0F60G2', + }, + { + value: 145292, + label: 'YDEKL2X', + }, + { + value: 145074, + label: 'materialProduction - SX0SAL1', + }, + { + value: 145328, + label: 'Yarn Spinner - 309RZSQ', + }, + { + value: 144944, + label: 'RTKNU8T', + }, + { + value: 144949, + label: 'F8AWWLJ', + }, + { + value: 144930, + label: '8DX8290', + }, + { + value: 144812, + label: '69F6H31', + }, + { + value: 144773, + label: 'UW0MRZK', + }, + { + value: 145287, + label: 'HP0A9K4', + }, + { + value: 145055, + label: 'QPG86GX', + }, + { + value: 145386, + label: 'D3P42GU', + }, + { + value: 145044, + label: '6AZVQ68', + }, + { + value: 145214, + label: '7LNRVYY', + }, + { + value: 144903, + label: 'EANPSZ0', + }, + { + value: 144916, + label: 'CFWQCNH', + }, + { + value: 145160, + label: 'S54NNA9', + }, + { + value: 144921, + label: 'TAC8VCJ', + }, + { + value: 144869, + label: 'LJB7TTJ', + }, + { + value: 145089, + label: '8DJWP56', + }, + { + value: 145304, + label: '6ZYEH0T', + }, + { + value: 144898, + label: 'BXMA2JN', + }, + { + value: 145282, + label: 'S1YKDYF', + }, + { + value: 145123, + label: 'HE4PJVM', + }, + { + value: 145120, + label: 'LYF884A', + }, + { + value: 144796, + label: 'Q9N7BMD', + }, + { + value: 144931, + label: 'E73RXZM', + }, + { + value: 145149, + label: 'K0SY05C', + }, + { + value: 145070, + label: 'U57CKDT', + }, + { + value: 145280, + label: 'CQZBN31', + }, + { + value: 145299, + label: '22DPBPP', + }, + { + value: 144842, + label: + 'printingProductDyeingAndLaundering,materialProduction - NW0XSV2', + }, + { + value: 145175, + label: 'LW0L2JX', + }, + { + value: 144856, + label: 'finalProductAssembly - UHXCJRF', + }, + { + value: 145256, + label: '64MF3TX', + }, + { + value: 144864, + label: 'QUD66UC', + }, + { + value: 145242, + label: '4P2WXWZ', + }, + { + value: 145077, + label: '2VG8JNS', + }, + { + value: 145111, + label: 'WBT279F', + }, + { + value: 144947, + label: '1Y1UJB5', + }, + { + value: 145088, + label: 'Weave-MatProd-0PS89UW', + }, + { + value: 145219, + label: 'YQ0AV1G', + }, + { + value: 144956, + label: 'U9GPNVH', + }, + { + value: 145373, + label: '25V23BY', + }, + { + value: 145249, + label: '0V4SQQQ', + }, + { + value: 145241, + label: '814F7P0', + }, + { + value: 144831, + label: 'NA4AAB4', + }, + { + value: 145154, + label: 'DR24ZAV', + }, + { + value: 145079, + label: 'U6CDCW9', + }, + { + value: 145108, + label: 'MCA1HRM', + }, + { + value: 145146, + label: 'QMG137X', + }, + { + value: 144792, + label: 'ZVJBHNG', + }, + { + value: 145056, + label: 'KLMA96L', + }, + { + value: 145114, + label: 'LZ47WBN', + }, + { + value: 145148, + label: 'SNCMDU0', + }, + { + value: 144844, + label: 'materialProduction - F3DU8UX', + }, + { + value: 145262, + label: '5N5A6GF', + }, + { + value: 145124, + label: '9PKVWCQ', + }, + { + value: 145031, + label: 'E4Z2A9L', + }, + { + value: 145266, + label: 'CTG99HM', + }, + { + value: 144764, + label: '8L91W81', + }, + { + value: 145254, + label: '3B901XB', + }, + { + value: 144803, + label: '9F7Q40Q', + }, + { + value: 145253, + label: 'XN03514', + }, + { + value: 145298, + label: 'C9J7TU6', + }, + { + value: 145228, + label: '1DWR1FZ', + }, + { + value: 145183, + label: 'VACMBM9', + }, + { + value: 144971, + label: 'NEMZ6SJ', + }, + { + value: 145248, + label: '96JQFTU', + }, + { + value: 145046, + label: 'RWM3BVK', + }, + { + value: 145231, + label: 'TA6KZLM', + }, + { + value: 145233, + label: 'QL4Z4JH', + }, + { + value: 145076, + label: '4M5DW3N', + }, + { + value: 145109, + label: 'EAN2AR0', + }, + { + value: 144799, + label: 'YC6L0LQ', + }, + { + value: 145244, + label: 'YDU2VWC', + }, + { + value: 145210, + label: 'ELSRL72', + }, + { + value: 144884, + label: 'LUABMZK', + }, + { + value: 145052, + label: 'Z38SP7M', + }, + { + value: 145211, + label: 'DMW19YZ', + }, + { + value: 145185, + label: '9U9GLMT', + }, + { + value: 145208, + label: '4J6J8BR', + }, + { + value: 144860, + label: 'R75XP11', + }, + { + value: 145229, + label: 'RB8Y0R7', + }, + { + value: 145212, + label: 'FH00KX0', + }, + { + value: 145204, + label: 'HW6KQZC', + }, + { + value: 145140, + label: '7JAFGQD', + }, + { + value: 145110, + label: '2E9DUP4', + }, + { + value: 145117, + label: 'WFLZXDK', + }, + { + value: 145030, + label: '8N7J69G', + }, + { + value: 145156, + label: 'VC89NLG', + }, + { + value: 145173, + label: '2NP3027', + }, + { + value: 145161, + label: 'LFE14M9', + }, + { + value: 145036, + label: 'Q8NEAST', + }, + { + value: 144780, + label: '28XUQJ9', + }, + { + value: 145011, + label: 'GCXFX06', + }, + { + value: 145027, + label: '6EH8JUG', + }, + { + value: 144779, + label: '5AZWHHV', + }, + { + value: 144981, + label: 'CL5A0T7', + }, + { + value: 145118, + label: '202450N', + }, + { + value: 144880, + label: '8B59EAX', + }, + { + value: 145238, + label: 'EY3DL2U', + }, + { + value: 145168, + label: 'LT7TZVP', + }, + { + value: 145197, + label: 'M0GHTT1', + }, + { + value: 145157, + label: 'WJV20A8', + }, + { + value: 144818, + label: '3KYQPVW', + }, + { + value: 145145, + label: '6ZU7HEQ', + }, + { + value: 145083, + label: 'RC7TJSM', + }, + { + value: 145234, + label: 'KKGC6BX', + }, + { + value: 144889, + label: 'KR1ECNG', + }, + { + value: 145068, + label: 'KYQA9LE', + }, + { + value: 145078, + label: '723RNDJ', + }, + { + value: 145153, + label: '50B4SGP', + }, + { + value: 145377, + label: 'RRWDP19', + }, + { + value: 144855, + label: 'LCLPALD', + }, + { + value: 144946, + label: 'VRQDA8Y', + }, + { + value: 144989, + label: 'WCL9WX4', + }, + { + value: 144952, + label: 'V7P8S5X', + }, + { + value: 145165, + label: 'L3BXCF1', + }, + { + value: 144980, + label: 'HL44UF2', + }, + { + value: 144782, + label: '15FZR3Q', + }, + { + value: 144901, + label: 'Y8LRJ5S', + }, + { + value: 145134, + label: 'KRWTNDK', + }, + { + value: 144767, + label: 'FHN9PTN', + }, + { + value: 144830, + label: 'TG0K5UY', + }, + { + value: 144850, + label: '0F6PG7C', + }, + { + value: 144769, + label: 'P7VUZKF', + }, + { + value: 145094, + label: '7W96UFS', + }, + { + value: 145174, + label: 'JJG7V87', + }, + { + value: 145151, + label: '3K0YXKB', + }, + { + value: 145058, + label: '0H59VUR', + }, + { + value: 145382, + label: 'JR2DU4U', + }, + { + value: 144936, + label: 'GMNSUFR', + }, + { + value: 144988, + label: 'HACSUMP', + }, + { + value: 144962, + label: '8BSBQLP', + }, + { + value: 144878, + label: '6T10YEY', + }, + { + value: 145000, + label: 'EAT43KV', + }, + { + value: 144867, + label: 'SSAZPRG', + }, + { + value: 145032, + label: 'B5XXEM7', + }, + { + value: 145062, + label: 'M7JRW43', + }, + { + value: 144902, + label: 'L0PJG07', + }, + { + value: 145023, + label: '80T5FHB', + }, + { + value: 145025, + label: 'CFWLE7K', + }, + { + value: 144983, + label: 'FERSE88', + }, + { + value: 145047, + label: 'ZVPVJ4B', + }, + { + value: 145034, + label: 'DQ6E42M', + }, + { + value: 145090, + label: 'K04JGE5', + }, + { + value: 145375, + label: 'HU07A33', + }, + { + value: 145102, + label: 'RYC89DT', + }, + { + value: 145024, + label: 'TKP6EG6', + }, + { + value: 144961, + label: 'DLZS6D8', + }, + { + value: 144765, + label: 'NZJ9ZHA', + }, + { + value: 145081, + label: '0BSHRF1', + }, + { + value: 144906, + label: 'J0GWKC8', + }, + { + value: 145019, + label: 'Q5W1H29', + }, + { + value: 145082, + label: '4156UJU', + }, + { + value: 145005, + label: '01892QN', + }, + { + value: 145113, + label: 'XT551LD', + }, + { + value: 145004, + label: '2W67VJW', + }, + { + value: 145060, + label: 'RQZXNB5', + }, + { + value: 145112, + label: 'XZGB6LM', + }, + { + value: 144967, + label: 'V8TF4DT', + }, + { + value: 144794, + label: 'F3CAY09', + }, + { + value: 145378, + label: 'CR95C6B', + }, + { + value: 145086, + label: 'A9VQ0NV', + }, + { + value: 145106, + label: 'V0CYJMF', + }, + { + value: 144795, + label: '4TF9SDH', + }, + { + value: 145009, + label: '2PC2SY4', + }, + { + value: 145061, + label: '2GSG96P', + }, + { + value: 145020, + label: 'ZZZB0PW', + }, + { + value: 144892, + label: 'ZF542Q9', + }, + { + value: 144852, + label: '6FDXU8T', + }, + { + value: 144817, + label: 'AG8THHR', + }, + { + value: 144774, + label: '4KRJE1V', + }, + { + value: 144905, + label: 'SFP6MRN', + }, + ], + }, + }, + { + key: 'T3Country', + type: 'enum', + label: 'T3 Country', + isArray: false, + multi: true, + config: { + allowCustom: false, + options: [ + { + value: 'Afghanistan', + label: 'Afghanistan', + }, + { + value: 'Albania', + label: 'Albania', + }, + { + value: 'Algeria', + label: 'Algeria', + }, + { + value: 'American Samoa', + label: 'American Samoa', + }, + { + value: 'Andorra', + label: 'Andorra', + }, + { + value: 'Angola', + label: 'Angola', + }, + { + value: 'Anguilla', + label: 'Anguilla', + }, + { + value: 'Antarctica', + label: 'Antarctica', + }, + { + value: 'Antigua and Barbuda', + label: 'Antigua and Barbuda', + }, + { + value: 'Argentina', + label: 'Argentina', + }, + { + value: 'Armenia', + label: 'Armenia', + }, + { + value: 'Aruba', + label: 'Aruba', + }, + { + value: 'Australia', + label: 'Australia', + }, + { + value: 'Austria', + label: 'Austria', + }, + { + value: 'Azerbaijan', + label: 'Azerbaijan', + }, + { + value: 'Bahamas, The', + label: 'Bahamas, The', + }, + { + value: 'Bahrain', + label: 'Bahrain', + }, + { + value: 'Bangladesh', + label: 'Bangladesh', + }, + { + value: 'Barbados', + label: 'Barbados', + }, + { + value: 'Belarus', + label: 'Belarus', + }, + { + value: 'Belgium', + label: 'Belgium', + }, + { + value: 'Belize', + label: 'Belize', + }, + { + value: 'Benin', + label: 'Benin', + }, + { + value: 'Bermuda', + label: 'Bermuda', + }, + { + value: 'Bhutan', + label: 'Bhutan', + }, + { + value: 'Bolivia', + label: 'Bolivia', + }, + { + value: 'Bosnia and Herzegovina', + label: 'Bosnia and Herzegovina', + }, + { + value: 'Botswana', + label: 'Botswana', + }, + { + value: 'Bouvet Island', + label: 'Bouvet Island', + }, + { + value: 'Brazil', + label: 'Brazil', + }, + { + value: 'British Indian Ocean Territory', + label: 'British Indian Ocean Territory', + }, + { + value: 'British Virgin Islands', + label: 'British Virgin Islands', + }, + { + value: 'Brunei', + label: 'Brunei', + }, + { + value: 'Bulgaria', + label: 'Bulgaria', + }, + { + value: 'Burkina Faso', + label: 'Burkina Faso', + }, + { + value: 'Burma', + label: 'Burma', + }, + { + value: 'Burundi', + label: 'Burundi', + }, + { + value: 'Cambodia', + label: 'Cambodia', + }, + { + value: 'Cameroon', + label: 'Cameroon', + }, + { + value: 'Canada', + label: 'Canada', + }, + { + value: 'Cape Verde', + label: 'Cape Verde', + }, + { + value: 'Cayman Islands', + label: 'Cayman Islands', + }, + { + value: 'Central African Republic', + label: 'Central African Republic', + }, + { + value: 'Chad', + label: 'Chad', + }, + { + value: 'Chile', + label: 'Chile', + }, + { + value: 'China', + label: 'China', + }, + { + value: 'Christmas Island', + label: 'Christmas Island', + }, + { + value: 'Cocos (Keeling) Islands', + label: 'Cocos (Keeling) Islands', + }, + { + value: 'Colombia', + label: 'Colombia', + }, + { + value: 'Comoros', + label: 'Comoros', + }, + { + value: 'Congo, Democratic Republic of the', + label: 'Congo, Democratic Republic of the', + }, + { + value: 'Congo, Republic of the', + label: 'Congo, Republic of the', + }, + { + value: 'Cook Islands', + label: 'Cook Islands', + }, + { + value: 'Costa Rica', + label: 'Costa Rica', + }, + { + value: "Cote d'Ivoire", + label: "Cote d'Ivoire", + }, + { + value: 'Croatia', + label: 'Croatia', + }, + { + value: 'Cuba', + label: 'Cuba', + }, + { + value: 'Curacao', + label: 'Curacao', + }, + { + value: 'Cyprus', + label: 'Cyprus', + }, + { + value: 'Czech Republic', + label: 'Czech Republic', + }, + { + value: 'Denmark', + label: 'Denmark', + }, + { + value: 'Djibouti', + label: 'Djibouti', + }, + { + value: 'Dominica', + label: 'Dominica', + }, + { + value: 'Dominican Republic', + label: 'Dominican Republic', + }, + { + value: 'Ecuador', + label: 'Ecuador', + }, + { + value: 'Egypt', + label: 'Egypt', + }, + { + value: 'El Salvador', + label: 'El Salvador', + }, + { + value: 'Equatorial Guinea', + label: 'Equatorial Guinea', + }, + { + value: 'Eritrea', + label: 'Eritrea', + }, + { + value: 'Estonia', + label: 'Estonia', + }, + { + value: 'Ethiopia', + label: 'Ethiopia', + }, + { + value: 'Falkland Islands (Islas Malvinas)', + label: 'Falkland Islands (Islas Malvinas)', + }, + { + value: 'Faroe Islands', + label: 'Faroe Islands', + }, + { + value: 'Fiji', + label: 'Fiji', + }, + { + value: 'Finland', + label: 'Finland', + }, + { + value: 'France', + label: 'France', + }, + { + value: 'France, Metropolitan', + label: 'France, Metropolitan', + }, + { + value: 'French Guiana', + label: 'French Guiana', + }, + { + value: 'French Polynesia', + label: 'French Polynesia', + }, + { + value: 'French Southern and Antarctic Lands', + label: 'French Southern and Antarctic Lands', + }, + { + value: 'Gabon', + label: 'Gabon', + }, + { + value: 'Gambia, The', + label: 'Gambia, The', + }, + { + value: 'Gaza Strip', + label: 'Gaza Strip', + }, + { + value: 'Georgia', + label: 'Georgia', + }, + { + value: 'Germany', + label: 'Germany', + }, + { + value: 'Ghana', + label: 'Ghana', + }, + { + value: 'Gibraltar', + label: 'Gibraltar', + }, + { + value: 'Greece', + label: 'Greece', + }, + { + value: 'Greenland', + label: 'Greenland', + }, + { + value: 'Grenada', + label: 'Grenada', + }, + { + value: 'Guadeloupe', + label: 'Guadeloupe', + }, + { + value: 'Guam', + label: 'Guam', + }, + { + value: 'Guatemala', + label: 'Guatemala', + }, + { + value: 'Guernsey', + label: 'Guernsey', + }, + { + value: 'Guinea', + label: 'Guinea', + }, + { + value: 'Guinea-Bissau', + label: 'Guinea-Bissau', + }, + { + value: 'Guyana', + label: 'Guyana', + }, + { + value: 'Haiti', + label: 'Haiti', + }, + { + value: 'Heard Island and McDonald Islands', + label: 'Heard Island and McDonald Islands', + }, + { + value: 'Holy See (Vatican City)', + label: 'Holy See (Vatican City)', + }, + { + value: 'Honduras', + label: 'Honduras', + }, + { + value: 'Hong Kong, China', + label: 'Hong Kong, China', + }, + { + value: 'Hungary', + label: 'Hungary', + }, + { + value: 'Iceland', + label: 'Iceland', + }, + { + value: 'India', + label: 'India', + }, + { + value: 'Indonesia', + label: 'Indonesia', + }, + { + value: 'Iran', + label: 'Iran', + }, + { + value: 'Iraq', + label: 'Iraq', + }, + { + value: 'Ireland', + label: 'Ireland', + }, + { + value: 'Isle of Man', + label: 'Isle of Man', + }, + { + value: 'Israel', + label: 'Israel', + }, + { + value: 'Italy', + label: 'Italy', + }, + { + value: 'Jamaica', + label: 'Jamaica', + }, + { + value: 'Japan', + label: 'Japan', + }, + { + value: 'Jersey', + label: 'Jersey', + }, + { + value: 'Jordan', + label: 'Jordan', + }, + { + value: 'Kazakhstan', + label: 'Kazakhstan', + }, + { + value: 'Kenya', + label: 'Kenya', + }, + { + value: 'Kiribati', + label: 'Kiribati', + }, + { + value: 'Korea, North', + label: 'Korea, North', + }, + { + value: 'Korea, South', + label: 'Korea, South', + }, + { + value: 'Kosovo', + label: 'Kosovo', + }, + { + value: 'Kuwait', + label: 'Kuwait', + }, + { + value: 'Kyrgyzstan', + label: 'Kyrgyzstan', + }, + { + value: 'Laos', + label: 'Laos', + }, + { + value: 'Latvia', + label: 'Latvia', + }, + { + value: 'Lebanon', + label: 'Lebanon', + }, + { + value: 'Lesotho', + label: 'Lesotho', + }, + { + value: 'Liberia', + label: 'Liberia', + }, + { + value: 'Libya', + label: 'Libya', + }, + { + value: 'Liechtenstein', + label: 'Liechtenstein', + }, + { + value: 'Lithuania', + label: 'Lithuania', + }, + { + value: 'Luxembourg', + label: 'Luxembourg', + }, + { + value: 'Macau', + label: 'Macau', + }, + { + value: 'Macedonia', + label: 'Macedonia', + }, + { + value: 'Madagascar', + label: 'Madagascar', + }, + { + value: 'Malawi', + label: 'Malawi', + }, + { + value: 'Malaysia', + label: 'Malaysia', + }, + { + value: 'Maldives', + label: 'Maldives', + }, + { + value: 'Mali', + label: 'Mali', + }, + { + value: 'Malta', + label: 'Malta', + }, + { + value: 'Marshall Islands', + label: 'Marshall Islands', + }, + { + value: 'Martinique', + label: 'Martinique', + }, + { + value: 'Mauritania', + label: 'Mauritania', + }, + { + value: 'Mauritius', + label: 'Mauritius', + }, + { + value: 'Mayotte', + label: 'Mayotte', + }, + { + value: 'Mexico', + label: 'Mexico', + }, + { + value: 'Micronesia, Federated States of', + label: 'Micronesia, Federated States of', + }, + { + value: 'Moldova', + label: 'Moldova', + }, + { + value: 'Monaco', + label: 'Monaco', + }, + { + value: 'Mongolia', + label: 'Mongolia', + }, + { + value: 'Montenegro', + label: 'Montenegro', + }, + { + value: 'Montserrat', + label: 'Montserrat', + }, + { + value: 'Morocco', + label: 'Morocco', + }, + { + value: 'Mozambique', + label: 'Mozambique', + }, + { + value: 'Namibia', + label: 'Namibia', + }, + { + value: 'Nauru', + label: 'Nauru', + }, + { + value: 'Nepal', + label: 'Nepal', + }, + { + value: 'Netherlands', + label: 'Netherlands', + }, + { + value: 'New Caledonia', + label: 'New Caledonia', + }, + { + value: 'New Zealand', + label: 'New Zealand', + }, + { + value: 'Nicaragua', + label: 'Nicaragua', + }, + { + value: 'Niger', + label: 'Niger', + }, + { + value: 'Nigeria', + label: 'Nigeria', + }, + { + value: 'Niue', + label: 'Niue', + }, + { + value: 'Norfolk Island', + label: 'Norfolk Island', + }, + { + value: 'Northern Mariana Islands', + label: 'Northern Mariana Islands', + }, + { + value: 'Norway', + label: 'Norway', + }, + { + value: 'Oman', + label: 'Oman', + }, + { + value: 'Pakistan', + label: 'Pakistan', + }, + { + value: 'Palau', + label: 'Palau', + }, + { + value: 'Panama', + label: 'Panama', + }, + { + value: 'Papua New Guinea', + label: 'Papua New Guinea', + }, + { + value: 'Paraguay', + label: 'Paraguay', + }, + { + value: 'Peru', + label: 'Peru', + }, + { + value: 'Philippines', + label: 'Philippines', + }, + { + value: 'Pitcairn Islands', + label: 'Pitcairn Islands', + }, + { + value: 'Poland', + label: 'Poland', + }, + { + value: 'Portugal', + label: 'Portugal', + }, + { + value: 'Puerto Rico', + label: 'Puerto Rico', + }, + { + value: 'Qatar', + label: 'Qatar', + }, + { + value: 'Reunion', + label: 'Reunion', + }, + { + value: 'Romania', + label: 'Romania', + }, + { + value: 'Russia', + label: 'Russia', + }, + { + value: 'Rwanda', + label: 'Rwanda', + }, + { + value: 'Saint Barthelemy', + label: 'Saint Barthelemy', + }, + { + value: 'Saint Helena, Ascension, and Tristan da Cunha', + label: 'Saint Helena, Ascension, and Tristan da Cunha', + }, + { + value: 'Saint Kitts and Nevis', + label: 'Saint Kitts and Nevis', + }, + { + value: 'Saint Lucia', + label: 'Saint Lucia', + }, + { + value: 'Saint Martin', + label: 'Saint Martin', + }, + { + value: 'Saint Pierre and Miquelon', + label: 'Saint Pierre and Miquelon', + }, + { + value: 'Saint Vincent and the Grenadines', + label: 'Saint Vincent and the Grenadines', + }, + { + value: 'Samoa', + label: 'Samoa', + }, + { + value: 'San Marino', + label: 'San Marino', + }, + { + value: 'Sao Tome and Principe', + label: 'Sao Tome and Principe', + }, + { + value: 'Saudi Arabia', + label: 'Saudi Arabia', + }, + { + value: 'Senegal', + label: 'Senegal', + }, + { + value: 'Serbia', + label: 'Serbia', + }, + { + value: 'Seychelles', + label: 'Seychelles', + }, + { + value: 'Sierra Leone', + label: 'Sierra Leone', + }, + { + value: 'Singapore', + label: 'Singapore', + }, + { + value: 'Sint Maarten', + label: 'Sint Maarten', + }, + { + value: 'Slovakia', + label: 'Slovakia', + }, + { + value: 'Slovenia', + label: 'Slovenia', + }, + { + value: 'Solomon Islands', + label: 'Solomon Islands', + }, + { + value: 'Somalia', + label: 'Somalia', + }, + { + value: 'South Africa', + label: 'South Africa', + }, + { + value: 'South Georgia and the Islands', + label: 'South Georgia and the Islands', + }, + { + value: 'South Sudan', + label: 'South Sudan', + }, + { + value: 'Spain', + label: 'Spain', + }, + { + value: 'Sri Lanka', + label: 'Sri Lanka', + }, + { + value: 'Sudan', + label: 'Sudan', + }, + { + value: 'Suriname', + label: 'Suriname', + }, + { + value: 'Svalbard', + label: 'Svalbard', + }, + { + value: 'Swaziland', + label: 'Swaziland', + }, + { + value: 'Sweden', + label: 'Sweden', + }, + { + value: 'Switzerland', + label: 'Switzerland', + }, + { + value: 'Syria', + label: 'Syria', + }, + { + value: 'Taiwan, China', + label: 'Taiwan, China', + }, + { + value: 'Tajikistan', + label: 'Tajikistan', + }, + { + value: 'Tanzania', + label: 'Tanzania', + }, + { + value: 'Thailand', + label: 'Thailand', + }, + { + value: 'Timor-Leste', + label: 'Timor-Leste', + }, + { + value: 'Togo', + label: 'Togo', + }, + { + value: 'Tokelau', + label: 'Tokelau', + }, + { + value: 'Tonga', + label: 'Tonga', + }, + { + value: 'Trinidad and Tobago', + label: 'Trinidad and Tobago', + }, + { + value: 'Tunisia', + label: 'Tunisia', + }, + { + value: 'Turkey', + label: 'Turkey', + }, + { + value: 'Turkmenistan', + label: 'Turkmenistan', + }, + { + value: 'Turks and Caicos Islands', + label: 'Turks and Caicos Islands', + }, + { + value: 'Tuvalu', + label: 'Tuvalu', + }, + { + value: 'Uganda', + label: 'Uganda', + }, + { + value: 'Ukraine', + label: 'Ukraine', + }, + { + value: 'United Arab Emirates', + label: 'United Arab Emirates', + }, + { + value: 'United Kingdom', + label: 'United Kingdom', + }, + { + value: 'United States', + label: 'United States', + }, + { + value: 'United States Minor Outlying Islands', + label: 'United States Minor Outlying Islands', + }, + { + value: 'Uruguay', + label: 'Uruguay', + }, + { + value: 'Uzbekistan', + label: 'Uzbekistan', + }, + { + value: 'Vanuatu', + label: 'Vanuatu', + }, + { + value: 'Venezuela', + label: 'Venezuela', + }, + { + value: 'Vietnam', + label: 'Vietnam', + }, + { + value: 'Virgin Islands', + label: 'Virgin Islands', + }, + { + value: 'Wallis and Futuna', + label: 'Wallis and Futuna', + }, + { + value: 'West Bank', + label: 'West Bank', + }, + { + value: 'Western Sahara', + label: 'Western Sahara', + }, + { + value: 'Yemen', + label: 'Yemen', + }, + { + value: 'Zambia', + label: 'Zambia', + }, + { + value: 'Zimbabwe', + label: 'Zimbabwe', + }, + ], + }, + }, + { + type: 'enum', + key: 'P002Facility', + label: 'P002 Facility', + isArray: true, + description: 'Supplier Name or Worldly Id.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 144804, + label: 'finalProductAssembly - 5Y7LDWV', + }, + { + value: 145007, + label: 'finalProductAssembly - VAJ2KYY', + }, + { + value: 145376, + label: 'finalProductAssembly - DWXFDE6', + }, + { + value: 145284, + label: + 'printingProductDyeingAndLaundering,finalProductAssembly - SJWG9ZY', + }, + { + value: 144929, + label: 'Manufacturer A -MatProd - 2B68ZRK', + }, + { + value: 145029, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 770JH4F', + }, + { + value: 145356, + label: 'printingProductDyeingAndLaundering - C55SWLM', + }, + { + value: 145311, + label: 'finalProductAssembly - BYPS0Z8', + }, + { + value: 145235, + label: 'finalProductAssembly - NHUTTKD', + }, + { + value: 145191, + label: 'finalProductAssembly - JN8VC5Z', + }, + { + value: 145317, + label: 'finalProductAssembly - AXNDTJ6', + }, + { + value: 144924, + label: 'finalProductAssembly - 2BG9BRY', + }, + { + value: 144915, + label: 'materialProduction - WeaveDyePrintPrep-MatProd-JZWHPSG', + }, + { + value: 145141, + label: 'finalProductAssembly - 3PM69QW', + }, + { + value: 145351, + label: 'finalProductAssembly - 5DNPCX4', + }, + { + value: 145312, + label: 'printingProductDyeingAndLaundering - V7UB0GA', + }, + { + value: 145096, + label: 'materialProduction - 410GXPD', + }, + { + value: 144791, + label: 'finalProductAssembly - C0S84LT', + }, + { + value: 144813, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - TVBBH36', + }, + { + value: 145182, + label: 'printingProductDyeingAndLaundering - ZNNGCLA', + }, + { + value: 145290, + label: 'printingProductDyeingAndLaundering - V3BW0CS', + }, + { + value: 145370, + label: 'M1FMRD4', + }, + { + value: 144839, + label: 'finalProductAssembly - E4NFEFT', + }, + { + value: 144845, + label: 'finalProductAssembly - NEMEWDC', + }, + { + value: 145042, + label: 'printingProductDyeingAndLaundering - ZMUTT9X', + }, + { + value: 145363, + label: 'finalProductAssembly - L2Z9UG8', + }, + { + value: 145022, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 75XTA47', + }, + { + value: 144846, + label: 'materialProduction - G8VZU2K', + }, + { + value: 145294, + label: 'finalProductAssembly - DLLS2LL', + }, + { + value: 144827, + label: 'finalProductAssembly - TUTJK45', + }, + { + value: 145217, + label: 'printingProductDyeingAndLaundering - PME8R1Q', + }, + { + value: 144857, + label: 'finalProductAssembly - DV85ML2', + }, + { + value: 145272, + label: 'finalProductAssembly - 4V60XVS', + }, + { + value: 145135, + label: + 'materialProduction - Knit - Dye - Heat - MatProd - 6K2LZ3F', + }, + { + value: 144761, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - V2EAG05', + }, + { + value: 145164, + label: 'materialProduction - KnitDyeHeatFinish-MatProd-EVBUQZZ', + }, + { + value: 144977, + label: 'K2SKARN', + }, + { + value: 145205, + label: 'finalProductAssembly - 9WUGDMQ', + }, + { + value: 145080, + label: 'materialProduction - Z0N7973', + }, + { + value: 145310, + label: 'finalProductAssembly - WPS8MGW', + }, + { + value: 144974, + label: 'finalProductAssembly - R2W2VVX', + }, + { + value: 145063, + label: 'finalProductAssembly - 2TUUNC9', + }, + { + value: 144941, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 5UNGXWB', + }, + { + value: 144861, + label: 'Manufacturer D - materialProd - 2M85KQ3', + }, + { + value: 144819, + label: 'materialProduction - HW6NBTX', + }, + { + value: 144841, + label: 'finalProductAssembly - 7Q7MHTC', + }, + { + value: 144942, + label: 'finalProductAssembly - ZT6K6QC', + }, + { + value: 145038, + label: 'finalProductAssembly - WFCVFYW', + }, + { + value: 144829, + label: 'finalProductAssembly - 8DLM4KP', + }, + { + value: 145116, + label: 'printingProductDyeingAndLaundering - TN4M5UC', + }, + { + value: 145130, + label: 'finalProductAssembly - VUAW1N7', + }, + { + value: 145341, + label: 'Manufacturer C - matProd - 32L1J52', + }, + { + value: 145281, + label: 'finalProductAssembly - SDEK6TD', + }, + { + value: 144801, + label: 'finalProductAssembly - 01ATR4L', + }, + { + value: 144960, + label: + 'printingProductDyeingAndLaundering,materialProduction - BVZ62DQ', + }, + { + value: 144975, + label: 'finalProductAssembly - T82XQ9C', + }, + { + value: 144833, + label: 'finalProductAssembly - 0PC02JL', + }, + { + value: 144920, + label: 'finalProductAssembly - 85C1C6V', + }, + { + value: 145348, + label: 'printingProductDyeingAndLaundering - 1DVBT1X', + }, + { + value: 144870, + label: 'printingProductDyeingAndLaundering - VVU8GA9', + }, + { + value: 144957, + label: 'materialProduction - WZWM47Z', + }, + { + value: 144881, + label: 'finalProductAssembly - JJ7XU80', + }, + { + value: 144914, + label: 'finalProductAssembly - YM78YXR', + }, + { + value: 144911, + label: 'materialProduction - T4H8L4X', + }, + { + value: 144888, + label: + 'materialProduction - WeaveDyePrintFinishBraid-MatProd-LM8F9N8', + }, + { + value: 144908, + label: 'finalProductAssembly,materialProduction - 3UNJUVW', + }, + { + value: 144933, + label: 'finalProductAssembly - R498W4C', + }, + { + value: 144777, + label: 'materialProduction - KnitDyeHeatWash-MatProd-F509MLE', + }, + { + value: 145225, + label: 'printingProductDyeingAndLaundering - BUF988A', + }, + { + value: 145192, + label: 'EHN0DPA', + }, + { + value: 145194, + label: 'materialProduction - 62CQXE1', + }, + { + value: 144964, + label: 'finalProductAssembly - KR5U81U', + }, + { + value: 144923, + label: 'materialProduction - CD10DRG', + }, + { + value: 145286, + label: 'finalProductAssembly - DMCYGE8', + }, + { + value: 145137, + label: 'finalProductAssembly - 7AH0QFH', + }, + { + value: 144891, + label: 'finalProductAssembly - WC7G1RQ', + }, + { + value: 144760, + label: 'finalProductAssembly - MB1F3VC', + }, + { + value: 145131, + label: 'materialProduction - Material Production - 5DMVUC6', + }, + { + value: 144970, + label: 'materialProduction - D027KYS', + }, + { + value: 144894, + label: 'finalProductAssembly - FWV4V1U', + }, + { + value: 144805, + label: 'materialProduction - H11U9D9', + }, + { + value: 145250, + label: 'printingProductDyeingAndLaundering - KXSTTLZ', + }, + { + value: 145150, + label: 'printingProductDyeingAndLaundering - N5Q50XJ', + }, + { + value: 145362, + label: 'finalProductAssembly - YVS076B', + }, + { + value: 145187, + label: 'printingProductDyeingAndLaundering - QETESAP', + }, + { + value: 144996, + label: 'printingProductDyeingAndLaundering - P9H4L4K', + }, + { + value: 145224, + label: 'printingProductDyeingAndLaundering - 83RLPC1', + }, + { + value: 145342, + label: 'finalProductAssembly - WNBV6SX', + }, + { + value: 144851, + label: 'finalProductAssembly - RYJ139P', + }, + { + value: 144935, + label: 'FA07CWR', + }, + { + value: 145159, + label: 'finalProductAssembly - 6SL66VE', + }, + { + value: 145316, + label: 'rawMaterialProcessing - YarnSpin-RawMat-HKVF3G4', + }, + { + value: 144873, + label: 'printingProductDyeingAndLaundering - HVKKFH0', + }, + { + value: 145265, + label: 'finalProductAssembly - BD49QAA', + }, + { + value: 145010, + label: 'finalProductAssembly - RQULHDP', + }, + { + value: 144783, + label: 'printingProductDyeingAndLaundering - 6V21L71', + }, + { + value: 144912, + label: 'materialProduction - QSAJ9BE', + }, + { + value: 145065, + label: 'materialProduction - QYRV2R9', + }, + { + value: 145073, + label: 'materialProduction - N1Q4H6L', + }, + { + value: 145318, + label: 'rawMaterialProcessing - U7V2CX8', + }, + { + value: 144882, + label: 'materialProduction - XPL5X8Z', + }, + { + value: 144858, + label: 'finalProductAssembly - V6ZNE7R', + }, + { + value: 145367, + label: 'EFYD8F5', + }, + { + value: 144814, + label: 'WYPC3DP', + }, + { + value: 145016, + label: 'finalProductAssembly - 19UVSEW', + }, + { + value: 145291, + label: 'printingProductDyeingAndLaundering - 8N8PFKD', + }, + { + value: 145003, + label: 'finalProductAssembly - C61YA7T', + }, + { + value: 144925, + label: 'finalProductAssembly - 6R24S3Q', + }, + { + value: 144854, + label: 'finalProductAssembly - XJD43JL', + }, + { + value: 144897, + label: 'hardComponentTrimProduction - VRU60VZ', + }, + { + value: 144999, + label: 'materialProduction - 6FCU6YL', + }, + { + value: 144934, + label: 'JE0XSH4', + }, + { + value: 144883, + label: 'finalProductAssembly - W1L84MJ', + }, + { + value: 144788, + label: 'finalProductAssembly,materialProduction - XWQSWSF', + }, + { + value: 145359, + label: 'finalProductAssembly - H7GQVQG', + }, + { + value: 145334, + label: 'materialProduction - C66UWUU', + }, + { + value: 145349, + label: 'finalProductAssembly - 76B0AB8', + }, + { + value: 145188, + label: 'printingProductDyeingAndLaundering - 98MEDXY', + }, + { + value: 145128, + label: 'finalProductAssembly - EEFKCQD', + }, + { + value: 145193, + label: 'printingProductDyeingAndLaundering - PQM4PS3', + }, + { + value: 145315, + label: 'materialProduction - 6RQZ31D', + }, + { + value: 145332, + label: 'printingProductDyeingAndLaundering - R33JTXS', + }, + { + value: 145071, + label: 'finalProductAssembly - W5GVWA1', + }, + { + value: 144955, + label: 'printingProductDyeingAndLaundering - GN8SGRN', + }, + { + value: 145283, + label: 'finalProductAssembly - 4HD8TRU', + }, + { + value: 145043, + label: 'finalProductAssembly - ZPJQSAU', + }, + { + value: 145035, + label: '1Y5KPCY', + }, + { + value: 144815, + label: 'P1EC68E', + }, + { + value: 145274, + label: 'Premier Textiles Ltd. 756J1KK ', + }, + { + value: 144943, + label: 'ERG1RY2', + }, + { + value: 145100, + label: 'QMLBTL7', + }, + { + value: 145087, + label: '22HJ2RA', + }, + { + value: 144820, + label: 'CKQZ0W8', + }, + { + value: 145314, + label: 'ZSFHKBH', + }, + { + value: 145105, + label: 'GWFFG6N', + }, + { + value: 144928, + label: 'Dye-MatProd-V8BEE5B', + }, + { + value: 144940, + label: '3NJRMR1', + }, + { + value: 145263, + label: '2H0PDBX', + }, + { + value: 145303, + label: 'UGCM533', + }, + { + value: 144834, + label: 'finalProductAssembly - 0PR1KP9', + }, + { + value: 145313, + label: 'Weave - Raw Mat - RG5FX9A', + }, + { + value: 145138, + label: 'GSGJ36Y', + }, + { + value: 144798, + label: 'finalProductAssembly - 942CTTK', + }, + { + value: 145177, + label: '23MPPQY', + }, + { + value: 145207, + label: '13UHYNY', + }, + { + value: 145121, + label: 'U3KYJQL', + }, + { + value: 145033, + label: 'UM69VDB', + }, + { + value: 144953, + label: '2ALHWNQ', + }, + { + value: 144808, + label: 'finalProductAssembly - 22027B1', + }, + { + value: 145006, + label: 'QJ2042M', + }, + { + value: 145098, + label: 'X113M25', + }, + { + value: 145278, + label: 'Q0A05AE', + }, + { + value: 145203, + label: 'QMFW0HA', + }, + { + value: 144910, + label: 'VP4AK1P', + }, + { + value: 144913, + label: 'VWK7LSP', + }, + { + value: 145002, + label: 'finalProductAssembly - R8HVNFG', + }, + { + value: 144984, + label: '0AE9N28', + }, + { + value: 144954, + label: 'finalProductAssembly - 2JNR68L', + }, + { + value: 145343, + label: '4UM078E', + }, + { + value: 145296, + label: 'RGVUJGY', + }, + { + value: 145104, + label: + 'materialProduction - Weave - MatProd - Spandex Only - BQCP3T5', + }, + { + value: 145379, + label: 'finalProductAssembly - T6FAMUA', + }, + { + value: 144895, + label: '41M2CAR', + }, + { + value: 144877, + label: '8GPW4K0', + }, + { + value: 144991, + label: 'QXCL09H', + }, + { + value: 145179, + label: 'E3NVZ2Y', + }, + { + value: 145216, + label: '3RTZDTD', + }, + { + value: 144909, + label: 'Knit - Mat Prod - 2HYDVEQ', + }, + { + value: 145258, + label: '8VF5KUC', + }, + { + value: 145186, + label: 'V5E6JWX', + }, + { + value: 145119, + label: '64C83JL', + }, + { + value: 145350, + label: 'PHBMPUD', + }, + { + value: 145384, + label: 'QPLT1LX', + }, + { + value: 145352, + label: '5VUK5ZU', + }, + { + value: 145355, + label: 'NNYGAUX', + }, + { + value: 145028, + label: '6CRSWXC', + }, + { + value: 145155, + label: '94S78QM', + }, + { + value: 145220, + label: 'finalProductAssembly - VQB7MWC', + }, + { + value: 145021, + label: 'finalProductAssembly - ZRRBAP8', + }, + { + value: 145127, + label: 'XXBWLAT', + }, + { + value: 144875, + label: 'HBQ9WAW', + }, + { + value: 144907, + label: 'materialProduction - FY3B0TQ', + }, + { + value: 145288, + label: 'materialProduction - P5AQXQN', + }, + { + value: 144840, + label: 'finalProductAssembly - N3BGQWU', + }, + { + value: 145139, + label: 'finalProductAssembly - 39GQY1S', + }, + { + value: 145271, + label: 'Q8WLYH4', + }, + { + value: 145180, + label: 'finalProductAssembly - VUE2RNE', + }, + { + value: 145115, + label: 'printingProductDyeingAndLaundering - KK51WRR', + }, + { + value: 145347, + label: 'LBN1YFW', + }, + { + value: 145268, + label: 'RPGET2L', + }, + { + value: 145066, + label: '990DWAX', + }, + { + value: 145013, + label: 'ZEUTKM4', + }, + { + value: 144879, + label: '1NK7E4B', + }, + { + value: 145221, + label: 'YHW9XVH', + }, + { + value: 145340, + label: 'NUSAGCS', + }, + { + value: 145389, + label: 'X9UK2AG', + }, + { + value: 145277, + label: 'JXD25SF', + }, + { + value: 145132, + label: 'PMC7R16', + }, + { + value: 144853, + label: 'materialProduction - PEX1JNK', + }, + { + value: 145230, + label: '6Y6845K', + }, + { + value: 144826, + label: 'finalProductAssembly - G86WHP1', + }, + { + value: 145057, + label: '9542EGS', + }, + { + value: 144766, + label: 'V1JMXQ1', + }, + { + value: 145008, + label: 'LVES57S', + }, + { + value: 145385, + label: 'finalProductAssembly - KMG55QT', + }, + { + value: 145337, + label: 'DCHTT8S', + }, + { + value: 144993, + label: '9A83YNG', + }, + { + value: 145206, + label: 'X64WG97', + }, + { + value: 144868, + label: 'ZZD2RJR', + }, + { + value: 145330, + label: 'KRHKPY3', + }, + { + value: 144926, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 4G0ZXRE', + }, + { + value: 144937, + label: 'JMV16VZ', + }, + { + value: 144900, + label: 'finalProductAssembly - X8JU0LS', + }, + { + value: 145319, + label: 'R6YSTA6', + }, + { + value: 145201, + label: 'S6GGGB1', + }, + { + value: 144778, + label: 'XP2NHG8', + }, + { + value: 145333, + label: 'UWTWG5L', + }, + { + value: 145084, + label: 'HMKL561', + }, + { + value: 144793, + label: '2TFAQR9', + }, + { + value: 145226, + label: 'rawMat-Braiding-K725RKJ', + }, + { + value: 144863, + label: '91K55HF', + }, + { + value: 145261, + label: 'R74MNK4', + }, + { + value: 145075, + label: 'M6F8HMV', + }, + { + value: 145133, + label: '4MSLA8B', + }, + { + value: 144890, + label: 'D3AT4MW', + }, + { + value: 145195, + label: + 'finalProductAssembly,hardComponentTrimProduction - 78Q49A2', + }, + { + value: 145190, + label: '2H86LR9', + }, + { + value: 145126, + label: 'L8BFK7Y', + }, + { + value: 145387, + label: 'materialProduction - ZBSZ7G8', + }, + { + value: 145336, + label: '3Y1NQ30', + }, + { + value: 144918, + label: 'ZBWBYXK', + }, + { + value: 145251, + label: 'A4V7P36', + }, + { + value: 144862, + label: 'VNSNDMP', + }, + { + value: 145125, + label: 'KZXP0DB', + }, + { + value: 144994, + label: '5FWYEW8', + }, + { + value: 145306, + label: 'printingProductDyeingAndLaundering - VNQ0ZPH', + }, + { + value: 144784, + label: 'RGRUHH4', + }, + { + value: 144927, + label: + 'printingProductDyeingAndLaundering,materialProduction - 4KK0MZD', + }, + { + value: 144816, + label: 'FPZ07E7', + }, + { + value: 144939, + label: '5UT5800', + }, + { + value: 144978, + label: 'KY67ARB', + }, + { + value: 144904, + label: 'materialProduction - 44A7V6V', + }, + { + value: 145295, + label: 'JEBT31H', + }, + { + value: 145321, + label: 'materialProduction - RAU2BMD', + }, + { + value: 144797, + label: 'Y5UNR3R', + }, + { + value: 145176, + label: 'M3H275D', + }, + { + value: 145339, + label: 'VEA64UY', + }, + { + value: 144958, + label: 'C7KYSMM', + }, + { + value: 145247, + label: '11K9FBJ', + }, + { + value: 144837, + label: 'T4P5YQQ', + }, + { + value: 145237, + label: 'finalProductAssembly,materialProduction - NVWDTQU', + }, + { + value: 145338, + label: 'BGCJ0CD', + }, + { + value: 144838, + label: 'VX630QX', + }, + { + value: 145335, + label: 'DVH8TNK', + }, + { + value: 144997, + label: '0KN5RKS', + }, + { + value: 144995, + label: '34LXDUX', + }, + { + value: 145147, + label: 'A91UTFH', + }, + { + value: 145344, + label: '7N3WLZV', + }, + { + value: 145259, + label: 'TYBKNWZ', + }, + { + value: 145324, + label: '1Y6STY8', + }, + { + value: 145302, + label: 'printingProductDyeingAndLaundering - SN1WP67', + }, + { + value: 145107, + label: '34ZA7T8', + }, + { + value: 144982, + label: 'Y5B5VVE', + }, + { + value: 144811, + label: 'TZT29UX', + }, + { + value: 145374, + label: '2RUMYF6', + }, + { + value: 145309, + label: '8RNK1A8', + }, + { + value: 145181, + label: 'N63284P', + }, + { + value: 145001, + label: 'WVLXM2R', + }, + { + value: 145171, + label: '7W2UF4X', + }, + { + value: 145279, + label: 'Manufacturer B - matProd - 31F408D', + }, + { + value: 144899, + label: 'EZJA69D', + }, + { + value: 145163, + label: 'materialProduction - WeaveDyeHeatWash-MatProd-5KG610Y', + }, + { + value: 145293, + label: '9BQHAB4', + }, + { + value: 144966, + label: 'KnitDye-MatProd-BPWFQ9U', + }, + { + value: 144965, + label: 'JHP3XAC', + }, + { + value: 145012, + label: 'materialProduction - FVTAXRJ', + }, + { + value: 145158, + label: 'finalProductAssembly - EN1DNRA', + }, + { + value: 145285, + label: 'printingProductDyeingAndLaundering - CZG5AGG', + }, + { + value: 145018, + label: 'printingProductDyeingAndLaundering - DKUEWK7', + }, + { + value: 145270, + label: 'PGUYYRF', + }, + { + value: 145166, + label: 'WN4SX2V', + }, + { + value: 145326, + label: 'Weave - RawMat - MXXW11K', + }, + { + value: 144809, + label: 'GJAP5AK', + }, + { + value: 144859, + label: 'JQ7X0AJ', + }, + { + value: 144828, + label: 'CBRQJF3', + }, + { + value: 144848, + label: 'PMH7EVZ', + }, + { + value: 145199, + label: '58H44L3', + }, + { + value: 145054, + label: '3Y035DK', + }, + { + value: 145289, + label: 'VNPPPLF', + }, + { + value: 144866, + label: 'G1N40G3', + }, + { + value: 144781, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - S8TWCBZ', + }, + { + value: 144986, + label: 'A728JDB', + }, + { + value: 145245, + label: 'Weave - MatProd - W0F60G2', + }, + { + value: 145292, + label: 'YDEKL2X', + }, + { + value: 145074, + label: 'materialProduction - SX0SAL1', + }, + { + value: 145328, + label: 'Yarn Spinner - 309RZSQ', + }, + { + value: 144944, + label: 'RTKNU8T', + }, + { + value: 144949, + label: 'F8AWWLJ', + }, + { + value: 144930, + label: '8DX8290', + }, + { + value: 144812, + label: '69F6H31', + }, + { + value: 144773, + label: 'UW0MRZK', + }, + { + value: 145287, + label: 'HP0A9K4', + }, + { + value: 145055, + label: 'QPG86GX', + }, + { + value: 145386, + label: 'D3P42GU', + }, + { + value: 145044, + label: '6AZVQ68', + }, + { + value: 145214, + label: '7LNRVYY', + }, + { + value: 144903, + label: 'EANPSZ0', + }, + { + value: 144916, + label: 'CFWQCNH', + }, + { + value: 145160, + label: 'S54NNA9', + }, + { + value: 144921, + label: 'TAC8VCJ', + }, + { + value: 144869, + label: 'LJB7TTJ', + }, + { + value: 145089, + label: '8DJWP56', + }, + { + value: 145304, + label: '6ZYEH0T', + }, + { + value: 144898, + label: 'BXMA2JN', + }, + { + value: 145282, + label: 'S1YKDYF', + }, + { + value: 145123, + label: 'HE4PJVM', + }, + { + value: 145120, + label: 'LYF884A', + }, + { + value: 144796, + label: 'Q9N7BMD', + }, + { + value: 144931, + label: 'E73RXZM', + }, + { + value: 145149, + label: 'K0SY05C', + }, + { + value: 145070, + label: 'U57CKDT', + }, + { + value: 145280, + label: 'CQZBN31', + }, + { + value: 145299, + label: '22DPBPP', + }, + { + value: 144842, + label: + 'printingProductDyeingAndLaundering,materialProduction - NW0XSV2', + }, + { + value: 145175, + label: 'LW0L2JX', + }, + { + value: 144856, + label: 'finalProductAssembly - UHXCJRF', + }, + { + value: 145256, + label: '64MF3TX', + }, + { + value: 144864, + label: 'QUD66UC', + }, + { + value: 145242, + label: '4P2WXWZ', + }, + { + value: 145077, + label: '2VG8JNS', + }, + { + value: 145111, + label: 'WBT279F', + }, + { + value: 144947, + label: '1Y1UJB5', + }, + { + value: 145088, + label: 'Weave-MatProd-0PS89UW', + }, + { + value: 145219, + label: 'YQ0AV1G', + }, + { + value: 144956, + label: 'U9GPNVH', + }, + { + value: 145373, + label: '25V23BY', + }, + { + value: 145249, + label: '0V4SQQQ', + }, + { + value: 145241, + label: '814F7P0', + }, + { + value: 144831, + label: 'NA4AAB4', + }, + { + value: 145154, + label: 'DR24ZAV', + }, + { + value: 145079, + label: 'U6CDCW9', + }, + { + value: 145108, + label: 'MCA1HRM', + }, + { + value: 145146, + label: 'QMG137X', + }, + { + value: 144792, + label: 'ZVJBHNG', + }, + { + value: 145056, + label: 'KLMA96L', + }, + { + value: 145114, + label: 'LZ47WBN', + }, + { + value: 145148, + label: 'SNCMDU0', + }, + { + value: 144844, + label: 'materialProduction - F3DU8UX', + }, + { + value: 145262, + label: '5N5A6GF', + }, + { + value: 145124, + label: '9PKVWCQ', + }, + { + value: 145031, + label: 'E4Z2A9L', + }, + { + value: 145266, + label: 'CTG99HM', + }, + { + value: 144764, + label: '8L91W81', + }, + { + value: 145254, + label: '3B901XB', + }, + { + value: 144803, + label: '9F7Q40Q', + }, + { + value: 145253, + label: 'XN03514', + }, + { + value: 145298, + label: 'C9J7TU6', + }, + { + value: 145228, + label: '1DWR1FZ', + }, + { + value: 145183, + label: 'VACMBM9', + }, + { + value: 144971, + label: 'NEMZ6SJ', + }, + { + value: 145248, + label: '96JQFTU', + }, + { + value: 145046, + label: 'RWM3BVK', + }, + { + value: 145231, + label: 'TA6KZLM', + }, + { + value: 145233, + label: 'QL4Z4JH', + }, + { + value: 145076, + label: '4M5DW3N', + }, + { + value: 145109, + label: 'EAN2AR0', + }, + { + value: 144799, + label: 'YC6L0LQ', + }, + { + value: 145244, + label: 'YDU2VWC', + }, + { + value: 145210, + label: 'ELSRL72', + }, + { + value: 144884, + label: 'LUABMZK', + }, + { + value: 145052, + label: 'Z38SP7M', + }, + { + value: 145211, + label: 'DMW19YZ', + }, + { + value: 145185, + label: '9U9GLMT', + }, + { + value: 145208, + label: '4J6J8BR', + }, + { + value: 144860, + label: 'R75XP11', + }, + { + value: 145229, + label: 'RB8Y0R7', + }, + { + value: 145212, + label: 'FH00KX0', + }, + { + value: 145204, + label: 'HW6KQZC', + }, + { + value: 145140, + label: '7JAFGQD', + }, + { + value: 145110, + label: '2E9DUP4', + }, + { + value: 145117, + label: 'WFLZXDK', + }, + { + value: 145030, + label: '8N7J69G', + }, + { + value: 145156, + label: 'VC89NLG', + }, + { + value: 145173, + label: '2NP3027', + }, + { + value: 145161, + label: 'LFE14M9', + }, + { + value: 145036, + label: 'Q8NEAST', + }, + { + value: 144780, + label: '28XUQJ9', + }, + { + value: 145011, + label: 'GCXFX06', + }, + { + value: 145027, + label: '6EH8JUG', + }, + { + value: 144779, + label: '5AZWHHV', + }, + { + value: 144981, + label: 'CL5A0T7', + }, + { + value: 145118, + label: '202450N', + }, + { + value: 144880, + label: '8B59EAX', + }, + { + value: 145238, + label: 'EY3DL2U', + }, + { + value: 145168, + label: 'LT7TZVP', + }, + { + value: 145197, + label: 'M0GHTT1', + }, + { + value: 145157, + label: 'WJV20A8', + }, + { + value: 144818, + label: '3KYQPVW', + }, + { + value: 145145, + label: '6ZU7HEQ', + }, + { + value: 145083, + label: 'RC7TJSM', + }, + { + value: 145234, + label: 'KKGC6BX', + }, + { + value: 144889, + label: 'KR1ECNG', + }, + { + value: 145068, + label: 'KYQA9LE', + }, + { + value: 145078, + label: '723RNDJ', + }, + { + value: 145153, + label: '50B4SGP', + }, + { + value: 145377, + label: 'RRWDP19', + }, + { + value: 144855, + label: 'LCLPALD', + }, + { + value: 144946, + label: 'VRQDA8Y', + }, + { + value: 144989, + label: 'WCL9WX4', + }, + { + value: 144952, + label: 'V7P8S5X', + }, + { + value: 145165, + label: 'L3BXCF1', + }, + { + value: 144980, + label: 'HL44UF2', + }, + { + value: 144782, + label: '15FZR3Q', + }, + { + value: 144901, + label: 'Y8LRJ5S', + }, + { + value: 145134, + label: 'KRWTNDK', + }, + { + value: 144767, + label: 'FHN9PTN', + }, + { + value: 144830, + label: 'TG0K5UY', + }, + { + value: 144850, + label: '0F6PG7C', + }, + { + value: 144769, + label: 'P7VUZKF', + }, + { + value: 145094, + label: '7W96UFS', + }, + { + value: 145174, + label: 'JJG7V87', + }, + { + value: 145151, + label: '3K0YXKB', + }, + { + value: 145058, + label: '0H59VUR', + }, + { + value: 145382, + label: 'JR2DU4U', + }, + { + value: 144936, + label: 'GMNSUFR', + }, + { + value: 144988, + label: 'HACSUMP', + }, + { + value: 144962, + label: '8BSBQLP', + }, + { + value: 144878, + label: '6T10YEY', + }, + { + value: 145000, + label: 'EAT43KV', + }, + { + value: 144867, + label: 'SSAZPRG', + }, + { + value: 145032, + label: 'B5XXEM7', + }, + { + value: 145062, + label: 'M7JRW43', + }, + { + value: 144902, + label: 'L0PJG07', + }, + { + value: 145023, + label: '80T5FHB', + }, + { + value: 145025, + label: 'CFWLE7K', + }, + { + value: 144983, + label: 'FERSE88', + }, + { + value: 145047, + label: 'ZVPVJ4B', + }, + { + value: 145034, + label: 'DQ6E42M', + }, + { + value: 145090, + label: 'K04JGE5', + }, + { + value: 145375, + label: 'HU07A33', + }, + { + value: 145102, + label: 'RYC89DT', + }, + { + value: 145024, + label: 'TKP6EG6', + }, + { + value: 144961, + label: 'DLZS6D8', + }, + { + value: 144765, + label: 'NZJ9ZHA', + }, + { + value: 145081, + label: '0BSHRF1', + }, + { + value: 144906, + label: 'J0GWKC8', + }, + { + value: 145019, + label: 'Q5W1H29', + }, + { + value: 145082, + label: '4156UJU', + }, + { + value: 145005, + label: '01892QN', + }, + { + value: 145113, + label: 'XT551LD', + }, + { + value: 145004, + label: '2W67VJW', + }, + { + value: 145060, + label: 'RQZXNB5', + }, + { + value: 145112, + label: 'XZGB6LM', + }, + { + value: 144967, + label: 'V8TF4DT', + }, + { + value: 144794, + label: 'F3CAY09', + }, + { + value: 145378, + label: 'CR95C6B', + }, + { + value: 145086, + label: 'A9VQ0NV', + }, + { + value: 145106, + label: 'V0CYJMF', + }, + { + value: 144795, + label: '4TF9SDH', + }, + { + value: 145009, + label: '2PC2SY4', + }, + { + value: 145061, + label: '2GSG96P', + }, + { + value: 145020, + label: 'ZZZB0PW', + }, + { + value: 144892, + label: 'ZF542Q9', + }, + { + value: 144852, + label: '6FDXU8T', + }, + { + value: 144817, + label: 'AG8THHR', + }, + { + value: 144774, + label: '4KRJE1V', + }, + { + value: 144905, + label: 'SFP6MRN', + }, + ], + }, + }, + { + key: 'P002Country', + type: 'enum', + label: 'P002 Country', + isArray: false, + multi: true, + config: { + allowCustom: false, + options: [ + { + value: 'Afghanistan', + label: 'Afghanistan', + }, + { + value: 'Albania', + label: 'Albania', + }, + { + value: 'Algeria', + label: 'Algeria', + }, + { + value: 'American Samoa', + label: 'American Samoa', + }, + { + value: 'Andorra', + label: 'Andorra', + }, + { + value: 'Angola', + label: 'Angola', + }, + { + value: 'Anguilla', + label: 'Anguilla', + }, + { + value: 'Antarctica', + label: 'Antarctica', + }, + { + value: 'Antigua and Barbuda', + label: 'Antigua and Barbuda', + }, + { + value: 'Argentina', + label: 'Argentina', + }, + { + value: 'Armenia', + label: 'Armenia', + }, + { + value: 'Aruba', + label: 'Aruba', + }, + { + value: 'Australia', + label: 'Australia', + }, + { + value: 'Austria', + label: 'Austria', + }, + { + value: 'Azerbaijan', + label: 'Azerbaijan', + }, + { + value: 'Bahamas, The', + label: 'Bahamas, The', + }, + { + value: 'Bahrain', + label: 'Bahrain', + }, + { + value: 'Bangladesh', + label: 'Bangladesh', + }, + { + value: 'Barbados', + label: 'Barbados', + }, + { + value: 'Belarus', + label: 'Belarus', + }, + { + value: 'Belgium', + label: 'Belgium', + }, + { + value: 'Belize', + label: 'Belize', + }, + { + value: 'Benin', + label: 'Benin', + }, + { + value: 'Bermuda', + label: 'Bermuda', + }, + { + value: 'Bhutan', + label: 'Bhutan', + }, + { + value: 'Bolivia', + label: 'Bolivia', + }, + { + value: 'Bosnia and Herzegovina', + label: 'Bosnia and Herzegovina', + }, + { + value: 'Botswana', + label: 'Botswana', + }, + { + value: 'Bouvet Island', + label: 'Bouvet Island', + }, + { + value: 'Brazil', + label: 'Brazil', + }, + { + value: 'British Indian Ocean Territory', + label: 'British Indian Ocean Territory', + }, + { + value: 'British Virgin Islands', + label: 'British Virgin Islands', + }, + { + value: 'Brunei', + label: 'Brunei', + }, + { + value: 'Bulgaria', + label: 'Bulgaria', + }, + { + value: 'Burkina Faso', + label: 'Burkina Faso', + }, + { + value: 'Burma', + label: 'Burma', + }, + { + value: 'Burundi', + label: 'Burundi', + }, + { + value: 'Cambodia', + label: 'Cambodia', + }, + { + value: 'Cameroon', + label: 'Cameroon', + }, + { + value: 'Canada', + label: 'Canada', + }, + { + value: 'Cape Verde', + label: 'Cape Verde', + }, + { + value: 'Cayman Islands', + label: 'Cayman Islands', + }, + { + value: 'Central African Republic', + label: 'Central African Republic', + }, + { + value: 'Chad', + label: 'Chad', + }, + { + value: 'Chile', + label: 'Chile', + }, + { + value: 'China', + label: 'China', + }, + { + value: 'Christmas Island', + label: 'Christmas Island', + }, + { + value: 'Cocos (Keeling) Islands', + label: 'Cocos (Keeling) Islands', + }, + { + value: 'Colombia', + label: 'Colombia', + }, + { + value: 'Comoros', + label: 'Comoros', + }, + { + value: 'Congo, Democratic Republic of the', + label: 'Congo, Democratic Republic of the', + }, + { + value: 'Congo, Republic of the', + label: 'Congo, Republic of the', + }, + { + value: 'Cook Islands', + label: 'Cook Islands', + }, + { + value: 'Costa Rica', + label: 'Costa Rica', + }, + { + value: "Cote d'Ivoire", + label: "Cote d'Ivoire", + }, + { + value: 'Croatia', + label: 'Croatia', + }, + { + value: 'Cuba', + label: 'Cuba', + }, + { + value: 'Curacao', + label: 'Curacao', + }, + { + value: 'Cyprus', + label: 'Cyprus', + }, + { + value: 'Czech Republic', + label: 'Czech Republic', + }, + { + value: 'Denmark', + label: 'Denmark', + }, + { + value: 'Djibouti', + label: 'Djibouti', + }, + { + value: 'Dominica', + label: 'Dominica', + }, + { + value: 'Dominican Republic', + label: 'Dominican Republic', + }, + { + value: 'Ecuador', + label: 'Ecuador', + }, + { + value: 'Egypt', + label: 'Egypt', + }, + { + value: 'El Salvador', + label: 'El Salvador', + }, + { + value: 'Equatorial Guinea', + label: 'Equatorial Guinea', + }, + { + value: 'Eritrea', + label: 'Eritrea', + }, + { + value: 'Estonia', + label: 'Estonia', + }, + { + value: 'Ethiopia', + label: 'Ethiopia', + }, + { + value: 'Falkland Islands (Islas Malvinas)', + label: 'Falkland Islands (Islas Malvinas)', + }, + { + value: 'Faroe Islands', + label: 'Faroe Islands', + }, + { + value: 'Fiji', + label: 'Fiji', + }, + { + value: 'Finland', + label: 'Finland', + }, + { + value: 'France', + label: 'France', + }, + { + value: 'France, Metropolitan', + label: 'France, Metropolitan', + }, + { + value: 'French Guiana', + label: 'French Guiana', + }, + { + value: 'French Polynesia', + label: 'French Polynesia', + }, + { + value: 'French Southern and Antarctic Lands', + label: 'French Southern and Antarctic Lands', + }, + { + value: 'Gabon', + label: 'Gabon', + }, + { + value: 'Gambia, The', + label: 'Gambia, The', + }, + { + value: 'Gaza Strip', + label: 'Gaza Strip', + }, + { + value: 'Georgia', + label: 'Georgia', + }, + { + value: 'Germany', + label: 'Germany', + }, + { + value: 'Ghana', + label: 'Ghana', + }, + { + value: 'Gibraltar', + label: 'Gibraltar', + }, + { + value: 'Greece', + label: 'Greece', + }, + { + value: 'Greenland', + label: 'Greenland', + }, + { + value: 'Grenada', + label: 'Grenada', + }, + { + value: 'Guadeloupe', + label: 'Guadeloupe', + }, + { + value: 'Guam', + label: 'Guam', + }, + { + value: 'Guatemala', + label: 'Guatemala', + }, + { + value: 'Guernsey', + label: 'Guernsey', + }, + { + value: 'Guinea', + label: 'Guinea', + }, + { + value: 'Guinea-Bissau', + label: 'Guinea-Bissau', + }, + { + value: 'Guyana', + label: 'Guyana', + }, + { + value: 'Haiti', + label: 'Haiti', + }, + { + value: 'Heard Island and McDonald Islands', + label: 'Heard Island and McDonald Islands', + }, + { + value: 'Holy See (Vatican City)', + label: 'Holy See (Vatican City)', + }, + { + value: 'Honduras', + label: 'Honduras', + }, + { + value: 'Hong Kong, China', + label: 'Hong Kong, China', + }, + { + value: 'Hungary', + label: 'Hungary', + }, + { + value: 'Iceland', + label: 'Iceland', + }, + { + value: 'India', + label: 'India', + }, + { + value: 'Indonesia', + label: 'Indonesia', + }, + { + value: 'Iran', + label: 'Iran', + }, + { + value: 'Iraq', + label: 'Iraq', + }, + { + value: 'Ireland', + label: 'Ireland', + }, + { + value: 'Isle of Man', + label: 'Isle of Man', + }, + { + value: 'Israel', + label: 'Israel', + }, + { + value: 'Italy', + label: 'Italy', + }, + { + value: 'Jamaica', + label: 'Jamaica', + }, + { + value: 'Japan', + label: 'Japan', + }, + { + value: 'Jersey', + label: 'Jersey', + }, + { + value: 'Jordan', + label: 'Jordan', + }, + { + value: 'Kazakhstan', + label: 'Kazakhstan', + }, + { + value: 'Kenya', + label: 'Kenya', + }, + { + value: 'Kiribati', + label: 'Kiribati', + }, + { + value: 'Korea, North', + label: 'Korea, North', + }, + { + value: 'Korea, South', + label: 'Korea, South', + }, + { + value: 'Kosovo', + label: 'Kosovo', + }, + { + value: 'Kuwait', + label: 'Kuwait', + }, + { + value: 'Kyrgyzstan', + label: 'Kyrgyzstan', + }, + { + value: 'Laos', + label: 'Laos', + }, + { + value: 'Latvia', + label: 'Latvia', + }, + { + value: 'Lebanon', + label: 'Lebanon', + }, + { + value: 'Lesotho', + label: 'Lesotho', + }, + { + value: 'Liberia', + label: 'Liberia', + }, + { + value: 'Libya', + label: 'Libya', + }, + { + value: 'Liechtenstein', + label: 'Liechtenstein', + }, + { + value: 'Lithuania', + label: 'Lithuania', + }, + { + value: 'Luxembourg', + label: 'Luxembourg', + }, + { + value: 'Macau', + label: 'Macau', + }, + { + value: 'Macedonia', + label: 'Macedonia', + }, + { + value: 'Madagascar', + label: 'Madagascar', + }, + { + value: 'Malawi', + label: 'Malawi', + }, + { + value: 'Malaysia', + label: 'Malaysia', + }, + { + value: 'Maldives', + label: 'Maldives', + }, + { + value: 'Mali', + label: 'Mali', + }, + { + value: 'Malta', + label: 'Malta', + }, + { + value: 'Marshall Islands', + label: 'Marshall Islands', + }, + { + value: 'Martinique', + label: 'Martinique', + }, + { + value: 'Mauritania', + label: 'Mauritania', + }, + { + value: 'Mauritius', + label: 'Mauritius', + }, + { + value: 'Mayotte', + label: 'Mayotte', + }, + { + value: 'Mexico', + label: 'Mexico', + }, + { + value: 'Micronesia, Federated States of', + label: 'Micronesia, Federated States of', + }, + { + value: 'Moldova', + label: 'Moldova', + }, + { + value: 'Monaco', + label: 'Monaco', + }, + { + value: 'Mongolia', + label: 'Mongolia', + }, + { + value: 'Montenegro', + label: 'Montenegro', + }, + { + value: 'Montserrat', + label: 'Montserrat', + }, + { + value: 'Morocco', + label: 'Morocco', + }, + { + value: 'Mozambique', + label: 'Mozambique', + }, + { + value: 'Namibia', + label: 'Namibia', + }, + { + value: 'Nauru', + label: 'Nauru', + }, + { + value: 'Nepal', + label: 'Nepal', + }, + { + value: 'Netherlands', + label: 'Netherlands', + }, + { + value: 'New Caledonia', + label: 'New Caledonia', + }, + { + value: 'New Zealand', + label: 'New Zealand', + }, + { + value: 'Nicaragua', + label: 'Nicaragua', + }, + { + value: 'Niger', + label: 'Niger', + }, + { + value: 'Nigeria', + label: 'Nigeria', + }, + { + value: 'Niue', + label: 'Niue', + }, + { + value: 'Norfolk Island', + label: 'Norfolk Island', + }, + { + value: 'Northern Mariana Islands', + label: 'Northern Mariana Islands', + }, + { + value: 'Norway', + label: 'Norway', + }, + { + value: 'Oman', + label: 'Oman', + }, + { + value: 'Pakistan', + label: 'Pakistan', + }, + { + value: 'Palau', + label: 'Palau', + }, + { + value: 'Panama', + label: 'Panama', + }, + { + value: 'Papua New Guinea', + label: 'Papua New Guinea', + }, + { + value: 'Paraguay', + label: 'Paraguay', + }, + { + value: 'Peru', + label: 'Peru', + }, + { + value: 'Philippines', + label: 'Philippines', + }, + { + value: 'Pitcairn Islands', + label: 'Pitcairn Islands', + }, + { + value: 'Poland', + label: 'Poland', + }, + { + value: 'Portugal', + label: 'Portugal', + }, + { + value: 'Puerto Rico', + label: 'Puerto Rico', + }, + { + value: 'Qatar', + label: 'Qatar', + }, + { + value: 'Reunion', + label: 'Reunion', + }, + { + value: 'Romania', + label: 'Romania', + }, + { + value: 'Russia', + label: 'Russia', + }, + { + value: 'Rwanda', + label: 'Rwanda', + }, + { + value: 'Saint Barthelemy', + label: 'Saint Barthelemy', + }, + { + value: 'Saint Helena, Ascension, and Tristan da Cunha', + label: 'Saint Helena, Ascension, and Tristan da Cunha', + }, + { + value: 'Saint Kitts and Nevis', + label: 'Saint Kitts and Nevis', + }, + { + value: 'Saint Lucia', + label: 'Saint Lucia', + }, + { + value: 'Saint Martin', + label: 'Saint Martin', + }, + { + value: 'Saint Pierre and Miquelon', + label: 'Saint Pierre and Miquelon', + }, + { + value: 'Saint Vincent and the Grenadines', + label: 'Saint Vincent and the Grenadines', + }, + { + value: 'Samoa', + label: 'Samoa', + }, + { + value: 'San Marino', + label: 'San Marino', + }, + { + value: 'Sao Tome and Principe', + label: 'Sao Tome and Principe', + }, + { + value: 'Saudi Arabia', + label: 'Saudi Arabia', + }, + { + value: 'Senegal', + label: 'Senegal', + }, + { + value: 'Serbia', + label: 'Serbia', + }, + { + value: 'Seychelles', + label: 'Seychelles', + }, + { + value: 'Sierra Leone', + label: 'Sierra Leone', + }, + { + value: 'Singapore', + label: 'Singapore', + }, + { + value: 'Sint Maarten', + label: 'Sint Maarten', + }, + { + value: 'Slovakia', + label: 'Slovakia', + }, + { + value: 'Slovenia', + label: 'Slovenia', + }, + { + value: 'Solomon Islands', + label: 'Solomon Islands', + }, + { + value: 'Somalia', + label: 'Somalia', + }, + { + value: 'South Africa', + label: 'South Africa', + }, + { + value: 'South Georgia and the Islands', + label: 'South Georgia and the Islands', + }, + { + value: 'South Sudan', + label: 'South Sudan', + }, + { + value: 'Spain', + label: 'Spain', + }, + { + value: 'Sri Lanka', + label: 'Sri Lanka', + }, + { + value: 'Sudan', + label: 'Sudan', + }, + { + value: 'Suriname', + label: 'Suriname', + }, + { + value: 'Svalbard', + label: 'Svalbard', + }, + { + value: 'Swaziland', + label: 'Swaziland', + }, + { + value: 'Sweden', + label: 'Sweden', + }, + { + value: 'Switzerland', + label: 'Switzerland', + }, + { + value: 'Syria', + label: 'Syria', + }, + { + value: 'Taiwan, China', + label: 'Taiwan, China', + }, + { + value: 'Tajikistan', + label: 'Tajikistan', + }, + { + value: 'Tanzania', + label: 'Tanzania', + }, + { + value: 'Thailand', + label: 'Thailand', + }, + { + value: 'Timor-Leste', + label: 'Timor-Leste', + }, + { + value: 'Togo', + label: 'Togo', + }, + { + value: 'Tokelau', + label: 'Tokelau', + }, + { + value: 'Tonga', + label: 'Tonga', + }, + { + value: 'Trinidad and Tobago', + label: 'Trinidad and Tobago', + }, + { + value: 'Tunisia', + label: 'Tunisia', + }, + { + value: 'Turkey', + label: 'Turkey', + }, + { + value: 'Turkmenistan', + label: 'Turkmenistan', + }, + { + value: 'Turks and Caicos Islands', + label: 'Turks and Caicos Islands', + }, + { + value: 'Tuvalu', + label: 'Tuvalu', + }, + { + value: 'Uganda', + label: 'Uganda', + }, + { + value: 'Ukraine', + label: 'Ukraine', + }, + { + value: 'United Arab Emirates', + label: 'United Arab Emirates', + }, + { + value: 'United Kingdom', + label: 'United Kingdom', + }, + { + value: 'United States', + label: 'United States', + }, + { + value: 'United States Minor Outlying Islands', + label: 'United States Minor Outlying Islands', + }, + { + value: 'Uruguay', + label: 'Uruguay', + }, + { + value: 'Uzbekistan', + label: 'Uzbekistan', + }, + { + value: 'Vanuatu', + label: 'Vanuatu', + }, + { + value: 'Venezuela', + label: 'Venezuela', + }, + { + value: 'Vietnam', + label: 'Vietnam', + }, + { + value: 'Virgin Islands', + label: 'Virgin Islands', + }, + { + value: 'Wallis and Futuna', + label: 'Wallis and Futuna', + }, + { + value: 'West Bank', + label: 'West Bank', + }, + { + value: 'Western Sahara', + label: 'Western Sahara', + }, + { + value: 'Yemen', + label: 'Yemen', + }, + { + value: 'Zambia', + label: 'Zambia', + }, + { + value: 'Zimbabwe', + label: 'Zimbabwe', + }, + ], + }, + }, + { + type: 'enum', + key: 'P003Facility', + label: 'P003 Facility', + isArray: true, + description: 'Supplier Name or Worldly Id.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 144804, + label: 'finalProductAssembly - 5Y7LDWV', + }, + { + value: 145007, + label: 'finalProductAssembly - VAJ2KYY', + }, + { + value: 145376, + label: 'finalProductAssembly - DWXFDE6', + }, + { + value: 145284, + label: + 'printingProductDyeingAndLaundering,finalProductAssembly - SJWG9ZY', + }, + { + value: 144929, + label: 'Manufacturer A -MatProd - 2B68ZRK', + }, + { + value: 145029, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 770JH4F', + }, + { + value: 145356, + label: 'printingProductDyeingAndLaundering - C55SWLM', + }, + { + value: 145311, + label: 'finalProductAssembly - BYPS0Z8', + }, + { + value: 145235, + label: 'finalProductAssembly - NHUTTKD', + }, + { + value: 145191, + label: 'finalProductAssembly - JN8VC5Z', + }, + { + value: 145317, + label: 'finalProductAssembly - AXNDTJ6', + }, + { + value: 144924, + label: 'finalProductAssembly - 2BG9BRY', + }, + { + value: 144915, + label: 'materialProduction - WeaveDyePrintPrep-MatProd-JZWHPSG', + }, + { + value: 145141, + label: 'finalProductAssembly - 3PM69QW', + }, + { + value: 145351, + label: 'finalProductAssembly - 5DNPCX4', + }, + { + value: 145312, + label: 'printingProductDyeingAndLaundering - V7UB0GA', + }, + { + value: 145096, + label: 'materialProduction - 410GXPD', + }, + { + value: 144791, + label: 'finalProductAssembly - C0S84LT', + }, + { + value: 144813, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - TVBBH36', + }, + { + value: 145182, + label: 'printingProductDyeingAndLaundering - ZNNGCLA', + }, + { + value: 145290, + label: 'printingProductDyeingAndLaundering - V3BW0CS', + }, + { + value: 145370, + label: 'M1FMRD4', + }, + { + value: 144839, + label: 'finalProductAssembly - E4NFEFT', + }, + { + value: 144845, + label: 'finalProductAssembly - NEMEWDC', + }, + { + value: 145042, + label: 'printingProductDyeingAndLaundering - ZMUTT9X', + }, + { + value: 145363, + label: 'finalProductAssembly - L2Z9UG8', + }, + { + value: 145022, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 75XTA47', + }, + { + value: 144846, + label: 'materialProduction - G8VZU2K', + }, + { + value: 145294, + label: 'finalProductAssembly - DLLS2LL', + }, + { + value: 144827, + label: 'finalProductAssembly - TUTJK45', + }, + { + value: 145217, + label: 'printingProductDyeingAndLaundering - PME8R1Q', + }, + { + value: 144857, + label: 'finalProductAssembly - DV85ML2', + }, + { + value: 145272, + label: 'finalProductAssembly - 4V60XVS', + }, + { + value: 145135, + label: + 'materialProduction - Knit - Dye - Heat - MatProd - 6K2LZ3F', + }, + { + value: 144761, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - V2EAG05', + }, + { + value: 145164, + label: 'materialProduction - KnitDyeHeatFinish-MatProd-EVBUQZZ', + }, + { + value: 144977, + label: 'K2SKARN', + }, + { + value: 145205, + label: 'finalProductAssembly - 9WUGDMQ', + }, + { + value: 145080, + label: 'materialProduction - Z0N7973', + }, + { + value: 145310, + label: 'finalProductAssembly - WPS8MGW', + }, + { + value: 144974, + label: 'finalProductAssembly - R2W2VVX', + }, + { + value: 145063, + label: 'finalProductAssembly - 2TUUNC9', + }, + { + value: 144941, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 5UNGXWB', + }, + { + value: 144861, + label: 'Manufacturer D - materialProd - 2M85KQ3', + }, + { + value: 144819, + label: 'materialProduction - HW6NBTX', + }, + { + value: 144841, + label: 'finalProductAssembly - 7Q7MHTC', + }, + { + value: 144942, + label: 'finalProductAssembly - ZT6K6QC', + }, + { + value: 145038, + label: 'finalProductAssembly - WFCVFYW', + }, + { + value: 144829, + label: 'finalProductAssembly - 8DLM4KP', + }, + { + value: 145116, + label: 'printingProductDyeingAndLaundering - TN4M5UC', + }, + { + value: 145130, + label: 'finalProductAssembly - VUAW1N7', + }, + { + value: 145341, + label: 'Manufacturer C - matProd - 32L1J52', + }, + { + value: 145281, + label: 'finalProductAssembly - SDEK6TD', + }, + { + value: 144801, + label: 'finalProductAssembly - 01ATR4L', + }, + { + value: 144960, + label: + 'printingProductDyeingAndLaundering,materialProduction - BVZ62DQ', + }, + { + value: 144975, + label: 'finalProductAssembly - T82XQ9C', + }, + { + value: 144833, + label: 'finalProductAssembly - 0PC02JL', + }, + { + value: 144920, + label: 'finalProductAssembly - 85C1C6V', + }, + { + value: 145348, + label: 'printingProductDyeingAndLaundering - 1DVBT1X', + }, + { + value: 144870, + label: 'printingProductDyeingAndLaundering - VVU8GA9', + }, + { + value: 144957, + label: 'materialProduction - WZWM47Z', + }, + { + value: 144881, + label: 'finalProductAssembly - JJ7XU80', + }, + { + value: 144914, + label: 'finalProductAssembly - YM78YXR', + }, + { + value: 144911, + label: 'materialProduction - T4H8L4X', + }, + { + value: 144888, + label: + 'materialProduction - WeaveDyePrintFinishBraid-MatProd-LM8F9N8', + }, + { + value: 144908, + label: 'finalProductAssembly,materialProduction - 3UNJUVW', + }, + { + value: 144933, + label: 'finalProductAssembly - R498W4C', + }, + { + value: 144777, + label: 'materialProduction - KnitDyeHeatWash-MatProd-F509MLE', + }, + { + value: 145225, + label: 'printingProductDyeingAndLaundering - BUF988A', + }, + { + value: 145192, + label: 'EHN0DPA', + }, + { + value: 145194, + label: 'materialProduction - 62CQXE1', + }, + { + value: 144964, + label: 'finalProductAssembly - KR5U81U', + }, + { + value: 144923, + label: 'materialProduction - CD10DRG', + }, + { + value: 145286, + label: 'finalProductAssembly - DMCYGE8', + }, + { + value: 145137, + label: 'finalProductAssembly - 7AH0QFH', + }, + { + value: 144891, + label: 'finalProductAssembly - WC7G1RQ', + }, + { + value: 144760, + label: 'finalProductAssembly - MB1F3VC', + }, + { + value: 145131, + label: 'materialProduction - Material Production - 5DMVUC6', + }, + { + value: 144970, + label: 'materialProduction - D027KYS', + }, + { + value: 144894, + label: 'finalProductAssembly - FWV4V1U', + }, + { + value: 144805, + label: 'materialProduction - H11U9D9', + }, + { + value: 145250, + label: 'printingProductDyeingAndLaundering - KXSTTLZ', + }, + { + value: 145150, + label: 'printingProductDyeingAndLaundering - N5Q50XJ', + }, + { + value: 145362, + label: 'finalProductAssembly - YVS076B', + }, + { + value: 145187, + label: 'printingProductDyeingAndLaundering - QETESAP', + }, + { + value: 144996, + label: 'printingProductDyeingAndLaundering - P9H4L4K', + }, + { + value: 145224, + label: 'printingProductDyeingAndLaundering - 83RLPC1', + }, + { + value: 145342, + label: 'finalProductAssembly - WNBV6SX', + }, + { + value: 144851, + label: 'finalProductAssembly - RYJ139P', + }, + { + value: 144935, + label: 'FA07CWR', + }, + { + value: 145159, + label: 'finalProductAssembly - 6SL66VE', + }, + { + value: 145316, + label: 'rawMaterialProcessing - YarnSpin-RawMat-HKVF3G4', + }, + { + value: 144873, + label: 'printingProductDyeingAndLaundering - HVKKFH0', + }, + { + value: 145265, + label: 'finalProductAssembly - BD49QAA', + }, + { + value: 145010, + label: 'finalProductAssembly - RQULHDP', + }, + { + value: 144783, + label: 'printingProductDyeingAndLaundering - 6V21L71', + }, + { + value: 144912, + label: 'materialProduction - QSAJ9BE', + }, + { + value: 145065, + label: 'materialProduction - QYRV2R9', + }, + { + value: 145073, + label: 'materialProduction - N1Q4H6L', + }, + { + value: 145318, + label: 'rawMaterialProcessing - U7V2CX8', + }, + { + value: 144882, + label: 'materialProduction - XPL5X8Z', + }, + { + value: 144858, + label: 'finalProductAssembly - V6ZNE7R', + }, + { + value: 145367, + label: 'EFYD8F5', + }, + { + value: 144814, + label: 'WYPC3DP', + }, + { + value: 145016, + label: 'finalProductAssembly - 19UVSEW', + }, + { + value: 145291, + label: 'printingProductDyeingAndLaundering - 8N8PFKD', + }, + { + value: 145003, + label: 'finalProductAssembly - C61YA7T', + }, + { + value: 144925, + label: 'finalProductAssembly - 6R24S3Q', + }, + { + value: 144854, + label: 'finalProductAssembly - XJD43JL', + }, + { + value: 144897, + label: 'hardComponentTrimProduction - VRU60VZ', + }, + { + value: 144999, + label: 'materialProduction - 6FCU6YL', + }, + { + value: 144934, + label: 'JE0XSH4', + }, + { + value: 144883, + label: 'finalProductAssembly - W1L84MJ', + }, + { + value: 144788, + label: 'finalProductAssembly,materialProduction - XWQSWSF', + }, + { + value: 145359, + label: 'finalProductAssembly - H7GQVQG', + }, + { + value: 145334, + label: 'materialProduction - C66UWUU', + }, + { + value: 145349, + label: 'finalProductAssembly - 76B0AB8', + }, + { + value: 145188, + label: 'printingProductDyeingAndLaundering - 98MEDXY', + }, + { + value: 145128, + label: 'finalProductAssembly - EEFKCQD', + }, + { + value: 145193, + label: 'printingProductDyeingAndLaundering - PQM4PS3', + }, + { + value: 145315, + label: 'materialProduction - 6RQZ31D', + }, + { + value: 145332, + label: 'printingProductDyeingAndLaundering - R33JTXS', + }, + { + value: 145071, + label: 'finalProductAssembly - W5GVWA1', + }, + { + value: 144955, + label: 'printingProductDyeingAndLaundering - GN8SGRN', + }, + { + value: 145283, + label: 'finalProductAssembly - 4HD8TRU', + }, + { + value: 145043, + label: 'finalProductAssembly - ZPJQSAU', + }, + { + value: 145035, + label: '1Y5KPCY', + }, + { + value: 144815, + label: 'P1EC68E', + }, + { + value: 145274, + label: 'Premier Textiles Ltd. 756J1KK ', + }, + { + value: 144943, + label: 'ERG1RY2', + }, + { + value: 145100, + label: 'QMLBTL7', + }, + { + value: 145087, + label: '22HJ2RA', + }, + { + value: 144820, + label: 'CKQZ0W8', + }, + { + value: 145314, + label: 'ZSFHKBH', + }, + { + value: 145105, + label: 'GWFFG6N', + }, + { + value: 144928, + label: 'Dye-MatProd-V8BEE5B', + }, + { + value: 144940, + label: '3NJRMR1', + }, + { + value: 145263, + label: '2H0PDBX', + }, + { + value: 145303, + label: 'UGCM533', + }, + { + value: 144834, + label: 'finalProductAssembly - 0PR1KP9', + }, + { + value: 145313, + label: 'Weave - Raw Mat - RG5FX9A', + }, + { + value: 145138, + label: 'GSGJ36Y', + }, + { + value: 144798, + label: 'finalProductAssembly - 942CTTK', + }, + { + value: 145177, + label: '23MPPQY', + }, + { + value: 145207, + label: '13UHYNY', + }, + { + value: 145121, + label: 'U3KYJQL', + }, + { + value: 145033, + label: 'UM69VDB', + }, + { + value: 144953, + label: '2ALHWNQ', + }, + { + value: 144808, + label: 'finalProductAssembly - 22027B1', + }, + { + value: 145006, + label: 'QJ2042M', + }, + { + value: 145098, + label: 'X113M25', + }, + { + value: 145278, + label: 'Q0A05AE', + }, + { + value: 145203, + label: 'QMFW0HA', + }, + { + value: 144910, + label: 'VP4AK1P', + }, + { + value: 144913, + label: 'VWK7LSP', + }, + { + value: 145002, + label: 'finalProductAssembly - R8HVNFG', + }, + { + value: 144984, + label: '0AE9N28', + }, + { + value: 144954, + label: 'finalProductAssembly - 2JNR68L', + }, + { + value: 145343, + label: '4UM078E', + }, + { + value: 145296, + label: 'RGVUJGY', + }, + { + value: 145104, + label: + 'materialProduction - Weave - MatProd - Spandex Only - BQCP3T5', + }, + { + value: 145379, + label: 'finalProductAssembly - T6FAMUA', + }, + { + value: 144895, + label: '41M2CAR', + }, + { + value: 144877, + label: '8GPW4K0', + }, + { + value: 144991, + label: 'QXCL09H', + }, + { + value: 145179, + label: 'E3NVZ2Y', + }, + { + value: 145216, + label: '3RTZDTD', + }, + { + value: 144909, + label: 'Knit - Mat Prod - 2HYDVEQ', + }, + { + value: 145258, + label: '8VF5KUC', + }, + { + value: 145186, + label: 'V5E6JWX', + }, + { + value: 145119, + label: '64C83JL', + }, + { + value: 145350, + label: 'PHBMPUD', + }, + { + value: 145384, + label: 'QPLT1LX', + }, + { + value: 145352, + label: '5VUK5ZU', + }, + { + value: 145355, + label: 'NNYGAUX', + }, + { + value: 145028, + label: '6CRSWXC', + }, + { + value: 145155, + label: '94S78QM', + }, + { + value: 145220, + label: 'finalProductAssembly - VQB7MWC', + }, + { + value: 145021, + label: 'finalProductAssembly - ZRRBAP8', + }, + { + value: 145127, + label: 'XXBWLAT', + }, + { + value: 144875, + label: 'HBQ9WAW', + }, + { + value: 144907, + label: 'materialProduction - FY3B0TQ', + }, + { + value: 145288, + label: 'materialProduction - P5AQXQN', + }, + { + value: 144840, + label: 'finalProductAssembly - N3BGQWU', + }, + { + value: 145139, + label: 'finalProductAssembly - 39GQY1S', + }, + { + value: 145271, + label: 'Q8WLYH4', + }, + { + value: 145180, + label: 'finalProductAssembly - VUE2RNE', + }, + { + value: 145115, + label: 'printingProductDyeingAndLaundering - KK51WRR', + }, + { + value: 145347, + label: 'LBN1YFW', + }, + { + value: 145268, + label: 'RPGET2L', + }, + { + value: 145066, + label: '990DWAX', + }, + { + value: 145013, + label: 'ZEUTKM4', + }, + { + value: 144879, + label: '1NK7E4B', + }, + { + value: 145221, + label: 'YHW9XVH', + }, + { + value: 145340, + label: 'NUSAGCS', + }, + { + value: 145389, + label: 'X9UK2AG', + }, + { + value: 145277, + label: 'JXD25SF', + }, + { + value: 145132, + label: 'PMC7R16', + }, + { + value: 144853, + label: 'materialProduction - PEX1JNK', + }, + { + value: 145230, + label: '6Y6845K', + }, + { + value: 144826, + label: 'finalProductAssembly - G86WHP1', + }, + { + value: 145057, + label: '9542EGS', + }, + { + value: 144766, + label: 'V1JMXQ1', + }, + { + value: 145008, + label: 'LVES57S', + }, + { + value: 145385, + label: 'finalProductAssembly - KMG55QT', + }, + { + value: 145337, + label: 'DCHTT8S', + }, + { + value: 144993, + label: '9A83YNG', + }, + { + value: 145206, + label: 'X64WG97', + }, + { + value: 144868, + label: 'ZZD2RJR', + }, + { + value: 145330, + label: 'KRHKPY3', + }, + { + value: 144926, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 4G0ZXRE', + }, + { + value: 144937, + label: 'JMV16VZ', + }, + { + value: 144900, + label: 'finalProductAssembly - X8JU0LS', + }, + { + value: 145319, + label: 'R6YSTA6', + }, + { + value: 145201, + label: 'S6GGGB1', + }, + { + value: 144778, + label: 'XP2NHG8', + }, + { + value: 145333, + label: 'UWTWG5L', + }, + { + value: 145084, + label: 'HMKL561', + }, + { + value: 144793, + label: '2TFAQR9', + }, + { + value: 145226, + label: 'rawMat-Braiding-K725RKJ', + }, + { + value: 144863, + label: '91K55HF', + }, + { + value: 145261, + label: 'R74MNK4', + }, + { + value: 145075, + label: 'M6F8HMV', + }, + { + value: 145133, + label: '4MSLA8B', + }, + { + value: 144890, + label: 'D3AT4MW', + }, + { + value: 145195, + label: + 'finalProductAssembly,hardComponentTrimProduction - 78Q49A2', + }, + { + value: 145190, + label: '2H86LR9', + }, + { + value: 145126, + label: 'L8BFK7Y', + }, + { + value: 145387, + label: 'materialProduction - ZBSZ7G8', + }, + { + value: 145336, + label: '3Y1NQ30', + }, + { + value: 144918, + label: 'ZBWBYXK', + }, + { + value: 145251, + label: 'A4V7P36', + }, + { + value: 144862, + label: 'VNSNDMP', + }, + { + value: 145125, + label: 'KZXP0DB', + }, + { + value: 144994, + label: '5FWYEW8', + }, + { + value: 145306, + label: 'printingProductDyeingAndLaundering - VNQ0ZPH', + }, + { + value: 144784, + label: 'RGRUHH4', + }, + { + value: 144927, + label: + 'printingProductDyeingAndLaundering,materialProduction - 4KK0MZD', + }, + { + value: 144816, + label: 'FPZ07E7', + }, + { + value: 144939, + label: '5UT5800', + }, + { + value: 144978, + label: 'KY67ARB', + }, + { + value: 144904, + label: 'materialProduction - 44A7V6V', + }, + { + value: 145295, + label: 'JEBT31H', + }, + { + value: 145321, + label: 'materialProduction - RAU2BMD', + }, + { + value: 144797, + label: 'Y5UNR3R', + }, + { + value: 145176, + label: 'M3H275D', + }, + { + value: 145339, + label: 'VEA64UY', + }, + { + value: 144958, + label: 'C7KYSMM', + }, + { + value: 145247, + label: '11K9FBJ', + }, + { + value: 144837, + label: 'T4P5YQQ', + }, + { + value: 145237, + label: 'finalProductAssembly,materialProduction - NVWDTQU', + }, + { + value: 145338, + label: 'BGCJ0CD', + }, + { + value: 144838, + label: 'VX630QX', + }, + { + value: 145335, + label: 'DVH8TNK', + }, + { + value: 144997, + label: '0KN5RKS', + }, + { + value: 144995, + label: '34LXDUX', + }, + { + value: 145147, + label: 'A91UTFH', + }, + { + value: 145344, + label: '7N3WLZV', + }, + { + value: 145259, + label: 'TYBKNWZ', + }, + { + value: 145324, + label: '1Y6STY8', + }, + { + value: 145302, + label: 'printingProductDyeingAndLaundering - SN1WP67', + }, + { + value: 145107, + label: '34ZA7T8', + }, + { + value: 144982, + label: 'Y5B5VVE', + }, + { + value: 144811, + label: 'TZT29UX', + }, + { + value: 145374, + label: '2RUMYF6', + }, + { + value: 145309, + label: '8RNK1A8', + }, + { + value: 145181, + label: 'N63284P', + }, + { + value: 145001, + label: 'WVLXM2R', + }, + { + value: 145171, + label: '7W2UF4X', + }, + { + value: 145279, + label: 'Manufacturer B - matProd - 31F408D', + }, + { + value: 144899, + label: 'EZJA69D', + }, + { + value: 145163, + label: 'materialProduction - WeaveDyeHeatWash-MatProd-5KG610Y', + }, + { + value: 145293, + label: '9BQHAB4', + }, + { + value: 144966, + label: 'KnitDye-MatProd-BPWFQ9U', + }, + { + value: 144965, + label: 'JHP3XAC', + }, + { + value: 145012, + label: 'materialProduction - FVTAXRJ', + }, + { + value: 145158, + label: 'finalProductAssembly - EN1DNRA', + }, + { + value: 145285, + label: 'printingProductDyeingAndLaundering - CZG5AGG', + }, + { + value: 145018, + label: 'printingProductDyeingAndLaundering - DKUEWK7', + }, + { + value: 145270, + label: 'PGUYYRF', + }, + { + value: 145166, + label: 'WN4SX2V', + }, + { + value: 145326, + label: 'Weave - RawMat - MXXW11K', + }, + { + value: 144809, + label: 'GJAP5AK', + }, + { + value: 144859, + label: 'JQ7X0AJ', + }, + { + value: 144828, + label: 'CBRQJF3', + }, + { + value: 144848, + label: 'PMH7EVZ', + }, + { + value: 145199, + label: '58H44L3', + }, + { + value: 145054, + label: '3Y035DK', + }, + { + value: 145289, + label: 'VNPPPLF', + }, + { + value: 144866, + label: 'G1N40G3', + }, + { + value: 144781, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - S8TWCBZ', + }, + { + value: 144986, + label: 'A728JDB', + }, + { + value: 145245, + label: 'Weave - MatProd - W0F60G2', + }, + { + value: 145292, + label: 'YDEKL2X', + }, + { + value: 145074, + label: 'materialProduction - SX0SAL1', + }, + { + value: 145328, + label: 'Yarn Spinner - 309RZSQ', + }, + { + value: 144944, + label: 'RTKNU8T', + }, + { + value: 144949, + label: 'F8AWWLJ', + }, + { + value: 144930, + label: '8DX8290', + }, + { + value: 144812, + label: '69F6H31', + }, + { + value: 144773, + label: 'UW0MRZK', + }, + { + value: 145287, + label: 'HP0A9K4', + }, + { + value: 145055, + label: 'QPG86GX', + }, + { + value: 145386, + label: 'D3P42GU', + }, + { + value: 145044, + label: '6AZVQ68', + }, + { + value: 145214, + label: '7LNRVYY', + }, + { + value: 144903, + label: 'EANPSZ0', + }, + { + value: 144916, + label: 'CFWQCNH', + }, + { + value: 145160, + label: 'S54NNA9', + }, + { + value: 144921, + label: 'TAC8VCJ', + }, + { + value: 144869, + label: 'LJB7TTJ', + }, + { + value: 145089, + label: '8DJWP56', + }, + { + value: 145304, + label: '6ZYEH0T', + }, + { + value: 144898, + label: 'BXMA2JN', + }, + { + value: 145282, + label: 'S1YKDYF', + }, + { + value: 145123, + label: 'HE4PJVM', + }, + { + value: 145120, + label: 'LYF884A', + }, + { + value: 144796, + label: 'Q9N7BMD', + }, + { + value: 144931, + label: 'E73RXZM', + }, + { + value: 145149, + label: 'K0SY05C', + }, + { + value: 145070, + label: 'U57CKDT', + }, + { + value: 145280, + label: 'CQZBN31', + }, + { + value: 145299, + label: '22DPBPP', + }, + { + value: 144842, + label: + 'printingProductDyeingAndLaundering,materialProduction - NW0XSV2', + }, + { + value: 145175, + label: 'LW0L2JX', + }, + { + value: 144856, + label: 'finalProductAssembly - UHXCJRF', + }, + { + value: 145256, + label: '64MF3TX', + }, + { + value: 144864, + label: 'QUD66UC', + }, + { + value: 145242, + label: '4P2WXWZ', + }, + { + value: 145077, + label: '2VG8JNS', + }, + { + value: 145111, + label: 'WBT279F', + }, + { + value: 144947, + label: '1Y1UJB5', + }, + { + value: 145088, + label: 'Weave-MatProd-0PS89UW', + }, + { + value: 145219, + label: 'YQ0AV1G', + }, + { + value: 144956, + label: 'U9GPNVH', + }, + { + value: 145373, + label: '25V23BY', + }, + { + value: 145249, + label: '0V4SQQQ', + }, + { + value: 145241, + label: '814F7P0', + }, + { + value: 144831, + label: 'NA4AAB4', + }, + { + value: 145154, + label: 'DR24ZAV', + }, + { + value: 145079, + label: 'U6CDCW9', + }, + { + value: 145108, + label: 'MCA1HRM', + }, + { + value: 145146, + label: 'QMG137X', + }, + { + value: 144792, + label: 'ZVJBHNG', + }, + { + value: 145056, + label: 'KLMA96L', + }, + { + value: 145114, + label: 'LZ47WBN', + }, + { + value: 145148, + label: 'SNCMDU0', + }, + { + value: 144844, + label: 'materialProduction - F3DU8UX', + }, + { + value: 145262, + label: '5N5A6GF', + }, + { + value: 145124, + label: '9PKVWCQ', + }, + { + value: 145031, + label: 'E4Z2A9L', + }, + { + value: 145266, + label: 'CTG99HM', + }, + { + value: 144764, + label: '8L91W81', + }, + { + value: 145254, + label: '3B901XB', + }, + { + value: 144803, + label: '9F7Q40Q', + }, + { + value: 145253, + label: 'XN03514', + }, + { + value: 145298, + label: 'C9J7TU6', + }, + { + value: 145228, + label: '1DWR1FZ', + }, + { + value: 145183, + label: 'VACMBM9', + }, + { + value: 144971, + label: 'NEMZ6SJ', + }, + { + value: 145248, + label: '96JQFTU', + }, + { + value: 145046, + label: 'RWM3BVK', + }, + { + value: 145231, + label: 'TA6KZLM', + }, + { + value: 145233, + label: 'QL4Z4JH', + }, + { + value: 145076, + label: '4M5DW3N', + }, + { + value: 145109, + label: 'EAN2AR0', + }, + { + value: 144799, + label: 'YC6L0LQ', + }, + { + value: 145244, + label: 'YDU2VWC', + }, + { + value: 145210, + label: 'ELSRL72', + }, + { + value: 144884, + label: 'LUABMZK', + }, + { + value: 145052, + label: 'Z38SP7M', + }, + { + value: 145211, + label: 'DMW19YZ', + }, + { + value: 145185, + label: '9U9GLMT', + }, + { + value: 145208, + label: '4J6J8BR', + }, + { + value: 144860, + label: 'R75XP11', + }, + { + value: 145229, + label: 'RB8Y0R7', + }, + { + value: 145212, + label: 'FH00KX0', + }, + { + value: 145204, + label: 'HW6KQZC', + }, + { + value: 145140, + label: '7JAFGQD', + }, + { + value: 145110, + label: '2E9DUP4', + }, + { + value: 145117, + label: 'WFLZXDK', + }, + { + value: 145030, + label: '8N7J69G', + }, + { + value: 145156, + label: 'VC89NLG', + }, + { + value: 145173, + label: '2NP3027', + }, + { + value: 145161, + label: 'LFE14M9', + }, + { + value: 145036, + label: 'Q8NEAST', + }, + { + value: 144780, + label: '28XUQJ9', + }, + { + value: 145011, + label: 'GCXFX06', + }, + { + value: 145027, + label: '6EH8JUG', + }, + { + value: 144779, + label: '5AZWHHV', + }, + { + value: 144981, + label: 'CL5A0T7', + }, + { + value: 145118, + label: '202450N', + }, + { + value: 144880, + label: '8B59EAX', + }, + { + value: 145238, + label: 'EY3DL2U', + }, + { + value: 145168, + label: 'LT7TZVP', + }, + { + value: 145197, + label: 'M0GHTT1', + }, + { + value: 145157, + label: 'WJV20A8', + }, + { + value: 144818, + label: '3KYQPVW', + }, + { + value: 145145, + label: '6ZU7HEQ', + }, + { + value: 145083, + label: 'RC7TJSM', + }, + { + value: 145234, + label: 'KKGC6BX', + }, + { + value: 144889, + label: 'KR1ECNG', + }, + { + value: 145068, + label: 'KYQA9LE', + }, + { + value: 145078, + label: '723RNDJ', + }, + { + value: 145153, + label: '50B4SGP', + }, + { + value: 145377, + label: 'RRWDP19', + }, + { + value: 144855, + label: 'LCLPALD', + }, + { + value: 144946, + label: 'VRQDA8Y', + }, + { + value: 144989, + label: 'WCL9WX4', + }, + { + value: 144952, + label: 'V7P8S5X', + }, + { + value: 145165, + label: 'L3BXCF1', + }, + { + value: 144980, + label: 'HL44UF2', + }, + { + value: 144782, + label: '15FZR3Q', + }, + { + value: 144901, + label: 'Y8LRJ5S', + }, + { + value: 145134, + label: 'KRWTNDK', + }, + { + value: 144767, + label: 'FHN9PTN', + }, + { + value: 144830, + label: 'TG0K5UY', + }, + { + value: 144850, + label: '0F6PG7C', + }, + { + value: 144769, + label: 'P7VUZKF', + }, + { + value: 145094, + label: '7W96UFS', + }, + { + value: 145174, + label: 'JJG7V87', + }, + { + value: 145151, + label: '3K0YXKB', + }, + { + value: 145058, + label: '0H59VUR', + }, + { + value: 145382, + label: 'JR2DU4U', + }, + { + value: 144936, + label: 'GMNSUFR', + }, + { + value: 144988, + label: 'HACSUMP', + }, + { + value: 144962, + label: '8BSBQLP', + }, + { + value: 144878, + label: '6T10YEY', + }, + { + value: 145000, + label: 'EAT43KV', + }, + { + value: 144867, + label: 'SSAZPRG', + }, + { + value: 145032, + label: 'B5XXEM7', + }, + { + value: 145062, + label: 'M7JRW43', + }, + { + value: 144902, + label: 'L0PJG07', + }, + { + value: 145023, + label: '80T5FHB', + }, + { + value: 145025, + label: 'CFWLE7K', + }, + { + value: 144983, + label: 'FERSE88', + }, + { + value: 145047, + label: 'ZVPVJ4B', + }, + { + value: 145034, + label: 'DQ6E42M', + }, + { + value: 145090, + label: 'K04JGE5', + }, + { + value: 145375, + label: 'HU07A33', + }, + { + value: 145102, + label: 'RYC89DT', + }, + { + value: 145024, + label: 'TKP6EG6', + }, + { + value: 144961, + label: 'DLZS6D8', + }, + { + value: 144765, + label: 'NZJ9ZHA', + }, + { + value: 145081, + label: '0BSHRF1', + }, + { + value: 144906, + label: 'J0GWKC8', + }, + { + value: 145019, + label: 'Q5W1H29', + }, + { + value: 145082, + label: '4156UJU', + }, + { + value: 145005, + label: '01892QN', + }, + { + value: 145113, + label: 'XT551LD', + }, + { + value: 145004, + label: '2W67VJW', + }, + { + value: 145060, + label: 'RQZXNB5', + }, + { + value: 145112, + label: 'XZGB6LM', + }, + { + value: 144967, + label: 'V8TF4DT', + }, + { + value: 144794, + label: 'F3CAY09', + }, + { + value: 145378, + label: 'CR95C6B', + }, + { + value: 145086, + label: 'A9VQ0NV', + }, + { + value: 145106, + label: 'V0CYJMF', + }, + { + value: 144795, + label: '4TF9SDH', + }, + { + value: 145009, + label: '2PC2SY4', + }, + { + value: 145061, + label: '2GSG96P', + }, + { + value: 145020, + label: 'ZZZB0PW', + }, + { + value: 144892, + label: 'ZF542Q9', + }, + { + value: 144852, + label: '6FDXU8T', + }, + { + value: 144817, + label: 'AG8THHR', + }, + { + value: 144774, + label: '4KRJE1V', + }, + { + value: 144905, + label: 'SFP6MRN', + }, + ], + }, + }, + { + key: 'P003Country', + type: 'enum', + label: 'P003 Country', + isArray: false, + multi: true, + config: { + allowCustom: false, + options: [ + { + value: 'Afghanistan', + label: 'Afghanistan', + }, + { + value: 'Albania', + label: 'Albania', + }, + { + value: 'Algeria', + label: 'Algeria', + }, + { + value: 'American Samoa', + label: 'American Samoa', + }, + { + value: 'Andorra', + label: 'Andorra', + }, + { + value: 'Angola', + label: 'Angola', + }, + { + value: 'Anguilla', + label: 'Anguilla', + }, + { + value: 'Antarctica', + label: 'Antarctica', + }, + { + value: 'Antigua and Barbuda', + label: 'Antigua and Barbuda', + }, + { + value: 'Argentina', + label: 'Argentina', + }, + { + value: 'Armenia', + label: 'Armenia', + }, + { + value: 'Aruba', + label: 'Aruba', + }, + { + value: 'Australia', + label: 'Australia', + }, + { + value: 'Austria', + label: 'Austria', + }, + { + value: 'Azerbaijan', + label: 'Azerbaijan', + }, + { + value: 'Bahamas, The', + label: 'Bahamas, The', + }, + { + value: 'Bahrain', + label: 'Bahrain', + }, + { + value: 'Bangladesh', + label: 'Bangladesh', + }, + { + value: 'Barbados', + label: 'Barbados', + }, + { + value: 'Belarus', + label: 'Belarus', + }, + { + value: 'Belgium', + label: 'Belgium', + }, + { + value: 'Belize', + label: 'Belize', + }, + { + value: 'Benin', + label: 'Benin', + }, + { + value: 'Bermuda', + label: 'Bermuda', + }, + { + value: 'Bhutan', + label: 'Bhutan', + }, + { + value: 'Bolivia', + label: 'Bolivia', + }, + { + value: 'Bosnia and Herzegovina', + label: 'Bosnia and Herzegovina', + }, + { + value: 'Botswana', + label: 'Botswana', + }, + { + value: 'Bouvet Island', + label: 'Bouvet Island', + }, + { + value: 'Brazil', + label: 'Brazil', + }, + { + value: 'British Indian Ocean Territory', + label: 'British Indian Ocean Territory', + }, + { + value: 'British Virgin Islands', + label: 'British Virgin Islands', + }, + { + value: 'Brunei', + label: 'Brunei', + }, + { + value: 'Bulgaria', + label: 'Bulgaria', + }, + { + value: 'Burkina Faso', + label: 'Burkina Faso', + }, + { + value: 'Burma', + label: 'Burma', + }, + { + value: 'Burundi', + label: 'Burundi', + }, + { + value: 'Cambodia', + label: 'Cambodia', + }, + { + value: 'Cameroon', + label: 'Cameroon', + }, + { + value: 'Canada', + label: 'Canada', + }, + { + value: 'Cape Verde', + label: 'Cape Verde', + }, + { + value: 'Cayman Islands', + label: 'Cayman Islands', + }, + { + value: 'Central African Republic', + label: 'Central African Republic', + }, + { + value: 'Chad', + label: 'Chad', + }, + { + value: 'Chile', + label: 'Chile', + }, + { + value: 'China', + label: 'China', + }, + { + value: 'Christmas Island', + label: 'Christmas Island', + }, + { + value: 'Cocos (Keeling) Islands', + label: 'Cocos (Keeling) Islands', + }, + { + value: 'Colombia', + label: 'Colombia', + }, + { + value: 'Comoros', + label: 'Comoros', + }, + { + value: 'Congo, Democratic Republic of the', + label: 'Congo, Democratic Republic of the', + }, + { + value: 'Congo, Republic of the', + label: 'Congo, Republic of the', + }, + { + value: 'Cook Islands', + label: 'Cook Islands', + }, + { + value: 'Costa Rica', + label: 'Costa Rica', + }, + { + value: "Cote d'Ivoire", + label: "Cote d'Ivoire", + }, + { + value: 'Croatia', + label: 'Croatia', + }, + { + value: 'Cuba', + label: 'Cuba', + }, + { + value: 'Curacao', + label: 'Curacao', + }, + { + value: 'Cyprus', + label: 'Cyprus', + }, + { + value: 'Czech Republic', + label: 'Czech Republic', + }, + { + value: 'Denmark', + label: 'Denmark', + }, + { + value: 'Djibouti', + label: 'Djibouti', + }, + { + value: 'Dominica', + label: 'Dominica', + }, + { + value: 'Dominican Republic', + label: 'Dominican Republic', + }, + { + value: 'Ecuador', + label: 'Ecuador', + }, + { + value: 'Egypt', + label: 'Egypt', + }, + { + value: 'El Salvador', + label: 'El Salvador', + }, + { + value: 'Equatorial Guinea', + label: 'Equatorial Guinea', + }, + { + value: 'Eritrea', + label: 'Eritrea', + }, + { + value: 'Estonia', + label: 'Estonia', + }, + { + value: 'Ethiopia', + label: 'Ethiopia', + }, + { + value: 'Falkland Islands (Islas Malvinas)', + label: 'Falkland Islands (Islas Malvinas)', + }, + { + value: 'Faroe Islands', + label: 'Faroe Islands', + }, + { + value: 'Fiji', + label: 'Fiji', + }, + { + value: 'Finland', + label: 'Finland', + }, + { + value: 'France', + label: 'France', + }, + { + value: 'France, Metropolitan', + label: 'France, Metropolitan', + }, + { + value: 'French Guiana', + label: 'French Guiana', + }, + { + value: 'French Polynesia', + label: 'French Polynesia', + }, + { + value: 'French Southern and Antarctic Lands', + label: 'French Southern and Antarctic Lands', + }, + { + value: 'Gabon', + label: 'Gabon', + }, + { + value: 'Gambia, The', + label: 'Gambia, The', + }, + { + value: 'Gaza Strip', + label: 'Gaza Strip', + }, + { + value: 'Georgia', + label: 'Georgia', + }, + { + value: 'Germany', + label: 'Germany', + }, + { + value: 'Ghana', + label: 'Ghana', + }, + { + value: 'Gibraltar', + label: 'Gibraltar', + }, + { + value: 'Greece', + label: 'Greece', + }, + { + value: 'Greenland', + label: 'Greenland', + }, + { + value: 'Grenada', + label: 'Grenada', + }, + { + value: 'Guadeloupe', + label: 'Guadeloupe', + }, + { + value: 'Guam', + label: 'Guam', + }, + { + value: 'Guatemala', + label: 'Guatemala', + }, + { + value: 'Guernsey', + label: 'Guernsey', + }, + { + value: 'Guinea', + label: 'Guinea', + }, + { + value: 'Guinea-Bissau', + label: 'Guinea-Bissau', + }, + { + value: 'Guyana', + label: 'Guyana', + }, + { + value: 'Haiti', + label: 'Haiti', + }, + { + value: 'Heard Island and McDonald Islands', + label: 'Heard Island and McDonald Islands', + }, + { + value: 'Holy See (Vatican City)', + label: 'Holy See (Vatican City)', + }, + { + value: 'Honduras', + label: 'Honduras', + }, + { + value: 'Hong Kong, China', + label: 'Hong Kong, China', + }, + { + value: 'Hungary', + label: 'Hungary', + }, + { + value: 'Iceland', + label: 'Iceland', + }, + { + value: 'India', + label: 'India', + }, + { + value: 'Indonesia', + label: 'Indonesia', + }, + { + value: 'Iran', + label: 'Iran', + }, + { + value: 'Iraq', + label: 'Iraq', + }, + { + value: 'Ireland', + label: 'Ireland', + }, + { + value: 'Isle of Man', + label: 'Isle of Man', + }, + { + value: 'Israel', + label: 'Israel', + }, + { + value: 'Italy', + label: 'Italy', + }, + { + value: 'Jamaica', + label: 'Jamaica', + }, + { + value: 'Japan', + label: 'Japan', + }, + { + value: 'Jersey', + label: 'Jersey', + }, + { + value: 'Jordan', + label: 'Jordan', + }, + { + value: 'Kazakhstan', + label: 'Kazakhstan', + }, + { + value: 'Kenya', + label: 'Kenya', + }, + { + value: 'Kiribati', + label: 'Kiribati', + }, + { + value: 'Korea, North', + label: 'Korea, North', + }, + { + value: 'Korea, South', + label: 'Korea, South', + }, + { + value: 'Kosovo', + label: 'Kosovo', + }, + { + value: 'Kuwait', + label: 'Kuwait', + }, + { + value: 'Kyrgyzstan', + label: 'Kyrgyzstan', + }, + { + value: 'Laos', + label: 'Laos', + }, + { + value: 'Latvia', + label: 'Latvia', + }, + { + value: 'Lebanon', + label: 'Lebanon', + }, + { + value: 'Lesotho', + label: 'Lesotho', + }, + { + value: 'Liberia', + label: 'Liberia', + }, + { + value: 'Libya', + label: 'Libya', + }, + { + value: 'Liechtenstein', + label: 'Liechtenstein', + }, + { + value: 'Lithuania', + label: 'Lithuania', + }, + { + value: 'Luxembourg', + label: 'Luxembourg', + }, + { + value: 'Macau', + label: 'Macau', + }, + { + value: 'Macedonia', + label: 'Macedonia', + }, + { + value: 'Madagascar', + label: 'Madagascar', + }, + { + value: 'Malawi', + label: 'Malawi', + }, + { + value: 'Malaysia', + label: 'Malaysia', + }, + { + value: 'Maldives', + label: 'Maldives', + }, + { + value: 'Mali', + label: 'Mali', + }, + { + value: 'Malta', + label: 'Malta', + }, + { + value: 'Marshall Islands', + label: 'Marshall Islands', + }, + { + value: 'Martinique', + label: 'Martinique', + }, + { + value: 'Mauritania', + label: 'Mauritania', + }, + { + value: 'Mauritius', + label: 'Mauritius', + }, + { + value: 'Mayotte', + label: 'Mayotte', + }, + { + value: 'Mexico', + label: 'Mexico', + }, + { + value: 'Micronesia, Federated States of', + label: 'Micronesia, Federated States of', + }, + { + value: 'Moldova', + label: 'Moldova', + }, + { + value: 'Monaco', + label: 'Monaco', + }, + { + value: 'Mongolia', + label: 'Mongolia', + }, + { + value: 'Montenegro', + label: 'Montenegro', + }, + { + value: 'Montserrat', + label: 'Montserrat', + }, + { + value: 'Morocco', + label: 'Morocco', + }, + { + value: 'Mozambique', + label: 'Mozambique', + }, + { + value: 'Namibia', + label: 'Namibia', + }, + { + value: 'Nauru', + label: 'Nauru', + }, + { + value: 'Nepal', + label: 'Nepal', + }, + { + value: 'Netherlands', + label: 'Netherlands', + }, + { + value: 'New Caledonia', + label: 'New Caledonia', + }, + { + value: 'New Zealand', + label: 'New Zealand', + }, + { + value: 'Nicaragua', + label: 'Nicaragua', + }, + { + value: 'Niger', + label: 'Niger', + }, + { + value: 'Nigeria', + label: 'Nigeria', + }, + { + value: 'Niue', + label: 'Niue', + }, + { + value: 'Norfolk Island', + label: 'Norfolk Island', + }, + { + value: 'Northern Mariana Islands', + label: 'Northern Mariana Islands', + }, + { + value: 'Norway', + label: 'Norway', + }, + { + value: 'Oman', + label: 'Oman', + }, + { + value: 'Pakistan', + label: 'Pakistan', + }, + { + value: 'Palau', + label: 'Palau', + }, + { + value: 'Panama', + label: 'Panama', + }, + { + value: 'Papua New Guinea', + label: 'Papua New Guinea', + }, + { + value: 'Paraguay', + label: 'Paraguay', + }, + { + value: 'Peru', + label: 'Peru', + }, + { + value: 'Philippines', + label: 'Philippines', + }, + { + value: 'Pitcairn Islands', + label: 'Pitcairn Islands', + }, + { + value: 'Poland', + label: 'Poland', + }, + { + value: 'Portugal', + label: 'Portugal', + }, + { + value: 'Puerto Rico', + label: 'Puerto Rico', + }, + { + value: 'Qatar', + label: 'Qatar', + }, + { + value: 'Reunion', + label: 'Reunion', + }, + { + value: 'Romania', + label: 'Romania', + }, + { + value: 'Russia', + label: 'Russia', + }, + { + value: 'Rwanda', + label: 'Rwanda', + }, + { + value: 'Saint Barthelemy', + label: 'Saint Barthelemy', + }, + { + value: 'Saint Helena, Ascension, and Tristan da Cunha', + label: 'Saint Helena, Ascension, and Tristan da Cunha', + }, + { + value: 'Saint Kitts and Nevis', + label: 'Saint Kitts and Nevis', + }, + { + value: 'Saint Lucia', + label: 'Saint Lucia', + }, + { + value: 'Saint Martin', + label: 'Saint Martin', + }, + { + value: 'Saint Pierre and Miquelon', + label: 'Saint Pierre and Miquelon', + }, + { + value: 'Saint Vincent and the Grenadines', + label: 'Saint Vincent and the Grenadines', + }, + { + value: 'Samoa', + label: 'Samoa', + }, + { + value: 'San Marino', + label: 'San Marino', + }, + { + value: 'Sao Tome and Principe', + label: 'Sao Tome and Principe', + }, + { + value: 'Saudi Arabia', + label: 'Saudi Arabia', + }, + { + value: 'Senegal', + label: 'Senegal', + }, + { + value: 'Serbia', + label: 'Serbia', + }, + { + value: 'Seychelles', + label: 'Seychelles', + }, + { + value: 'Sierra Leone', + label: 'Sierra Leone', + }, + { + value: 'Singapore', + label: 'Singapore', + }, + { + value: 'Sint Maarten', + label: 'Sint Maarten', + }, + { + value: 'Slovakia', + label: 'Slovakia', + }, + { + value: 'Slovenia', + label: 'Slovenia', + }, + { + value: 'Solomon Islands', + label: 'Solomon Islands', + }, + { + value: 'Somalia', + label: 'Somalia', + }, + { + value: 'South Africa', + label: 'South Africa', + }, + { + value: 'South Georgia and the Islands', + label: 'South Georgia and the Islands', + }, + { + value: 'South Sudan', + label: 'South Sudan', + }, + { + value: 'Spain', + label: 'Spain', + }, + { + value: 'Sri Lanka', + label: 'Sri Lanka', + }, + { + value: 'Sudan', + label: 'Sudan', + }, + { + value: 'Suriname', + label: 'Suriname', + }, + { + value: 'Svalbard', + label: 'Svalbard', + }, + { + value: 'Swaziland', + label: 'Swaziland', + }, + { + value: 'Sweden', + label: 'Sweden', + }, + { + value: 'Switzerland', + label: 'Switzerland', + }, + { + value: 'Syria', + label: 'Syria', + }, + { + value: 'Taiwan, China', + label: 'Taiwan, China', + }, + { + value: 'Tajikistan', + label: 'Tajikistan', + }, + { + value: 'Tanzania', + label: 'Tanzania', + }, + { + value: 'Thailand', + label: 'Thailand', + }, + { + value: 'Timor-Leste', + label: 'Timor-Leste', + }, + { + value: 'Togo', + label: 'Togo', + }, + { + value: 'Tokelau', + label: 'Tokelau', + }, + { + value: 'Tonga', + label: 'Tonga', + }, + { + value: 'Trinidad and Tobago', + label: 'Trinidad and Tobago', + }, + { + value: 'Tunisia', + label: 'Tunisia', + }, + { + value: 'Turkey', + label: 'Turkey', + }, + { + value: 'Turkmenistan', + label: 'Turkmenistan', + }, + { + value: 'Turks and Caicos Islands', + label: 'Turks and Caicos Islands', + }, + { + value: 'Tuvalu', + label: 'Tuvalu', + }, + { + value: 'Uganda', + label: 'Uganda', + }, + { + value: 'Ukraine', + label: 'Ukraine', + }, + { + value: 'United Arab Emirates', + label: 'United Arab Emirates', + }, + { + value: 'United Kingdom', + label: 'United Kingdom', + }, + { + value: 'United States', + label: 'United States', + }, + { + value: 'United States Minor Outlying Islands', + label: 'United States Minor Outlying Islands', + }, + { + value: 'Uruguay', + label: 'Uruguay', + }, + { + value: 'Uzbekistan', + label: 'Uzbekistan', + }, + { + value: 'Vanuatu', + label: 'Vanuatu', + }, + { + value: 'Venezuela', + label: 'Venezuela', + }, + { + value: 'Vietnam', + label: 'Vietnam', + }, + { + value: 'Virgin Islands', + label: 'Virgin Islands', + }, + { + value: 'Wallis and Futuna', + label: 'Wallis and Futuna', + }, + { + value: 'West Bank', + label: 'West Bank', + }, + { + value: 'Western Sahara', + label: 'Western Sahara', + }, + { + value: 'Yemen', + label: 'Yemen', + }, + { + value: 'Zambia', + label: 'Zambia', + }, + { + value: 'Zimbabwe', + label: 'Zimbabwe', + }, + ], + }, + }, + { + type: 'enum', + key: 'P004Facility', + label: 'P004 Facility', + isArray: true, + description: 'Supplier Name or Worldly Id.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 144804, + label: 'finalProductAssembly - 5Y7LDWV', + }, + { + value: 145007, + label: 'finalProductAssembly - VAJ2KYY', + }, + { + value: 145376, + label: 'finalProductAssembly - DWXFDE6', + }, + { + value: 145284, + label: + 'printingProductDyeingAndLaundering,finalProductAssembly - SJWG9ZY', + }, + { + value: 144929, + label: 'Manufacturer A -MatProd - 2B68ZRK', + }, + { + value: 145029, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 770JH4F', + }, + { + value: 145356, + label: 'printingProductDyeingAndLaundering - C55SWLM', + }, + { + value: 145311, + label: 'finalProductAssembly - BYPS0Z8', + }, + { + value: 145235, + label: 'finalProductAssembly - NHUTTKD', + }, + { + value: 145191, + label: 'finalProductAssembly - JN8VC5Z', + }, + { + value: 145317, + label: 'finalProductAssembly - AXNDTJ6', + }, + { + value: 144924, + label: 'finalProductAssembly - 2BG9BRY', + }, + { + value: 144915, + label: 'materialProduction - WeaveDyePrintPrep-MatProd-JZWHPSG', + }, + { + value: 145141, + label: 'finalProductAssembly - 3PM69QW', + }, + { + value: 145351, + label: 'finalProductAssembly - 5DNPCX4', + }, + { + value: 145312, + label: 'printingProductDyeingAndLaundering - V7UB0GA', + }, + { + value: 145096, + label: 'materialProduction - 410GXPD', + }, + { + value: 144791, + label: 'finalProductAssembly - C0S84LT', + }, + { + value: 144813, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - TVBBH36', + }, + { + value: 145182, + label: 'printingProductDyeingAndLaundering - ZNNGCLA', + }, + { + value: 145290, + label: 'printingProductDyeingAndLaundering - V3BW0CS', + }, + { + value: 145370, + label: 'M1FMRD4', + }, + { + value: 144839, + label: 'finalProductAssembly - E4NFEFT', + }, + { + value: 144845, + label: 'finalProductAssembly - NEMEWDC', + }, + { + value: 145042, + label: 'printingProductDyeingAndLaundering - ZMUTT9X', + }, + { + value: 145363, + label: 'finalProductAssembly - L2Z9UG8', + }, + { + value: 145022, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 75XTA47', + }, + { + value: 144846, + label: 'materialProduction - G8VZU2K', + }, + { + value: 145294, + label: 'finalProductAssembly - DLLS2LL', + }, + { + value: 144827, + label: 'finalProductAssembly - TUTJK45', + }, + { + value: 145217, + label: 'printingProductDyeingAndLaundering - PME8R1Q', + }, + { + value: 144857, + label: 'finalProductAssembly - DV85ML2', + }, + { + value: 145272, + label: 'finalProductAssembly - 4V60XVS', + }, + { + value: 145135, + label: + 'materialProduction - Knit - Dye - Heat - MatProd - 6K2LZ3F', + }, + { + value: 144761, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - V2EAG05', + }, + { + value: 145164, + label: 'materialProduction - KnitDyeHeatFinish-MatProd-EVBUQZZ', + }, + { + value: 144977, + label: 'K2SKARN', + }, + { + value: 145205, + label: 'finalProductAssembly - 9WUGDMQ', + }, + { + value: 145080, + label: 'materialProduction - Z0N7973', + }, + { + value: 145310, + label: 'finalProductAssembly - WPS8MGW', + }, + { + value: 144974, + label: 'finalProductAssembly - R2W2VVX', + }, + { + value: 145063, + label: 'finalProductAssembly - 2TUUNC9', + }, + { + value: 144941, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 5UNGXWB', + }, + { + value: 144861, + label: 'Manufacturer D - materialProd - 2M85KQ3', + }, + { + value: 144819, + label: 'materialProduction - HW6NBTX', + }, + { + value: 144841, + label: 'finalProductAssembly - 7Q7MHTC', + }, + { + value: 144942, + label: 'finalProductAssembly - ZT6K6QC', + }, + { + value: 145038, + label: 'finalProductAssembly - WFCVFYW', + }, + { + value: 144829, + label: 'finalProductAssembly - 8DLM4KP', + }, + { + value: 145116, + label: 'printingProductDyeingAndLaundering - TN4M5UC', + }, + { + value: 145130, + label: 'finalProductAssembly - VUAW1N7', + }, + { + value: 145341, + label: 'Manufacturer C - matProd - 32L1J52', + }, + { + value: 145281, + label: 'finalProductAssembly - SDEK6TD', + }, + { + value: 144801, + label: 'finalProductAssembly - 01ATR4L', + }, + { + value: 144960, + label: + 'printingProductDyeingAndLaundering,materialProduction - BVZ62DQ', + }, + { + value: 144975, + label: 'finalProductAssembly - T82XQ9C', + }, + { + value: 144833, + label: 'finalProductAssembly - 0PC02JL', + }, + { + value: 144920, + label: 'finalProductAssembly - 85C1C6V', + }, + { + value: 145348, + label: 'printingProductDyeingAndLaundering - 1DVBT1X', + }, + { + value: 144870, + label: 'printingProductDyeingAndLaundering - VVU8GA9', + }, + { + value: 144957, + label: 'materialProduction - WZWM47Z', + }, + { + value: 144881, + label: 'finalProductAssembly - JJ7XU80', + }, + { + value: 144914, + label: 'finalProductAssembly - YM78YXR', + }, + { + value: 144911, + label: 'materialProduction - T4H8L4X', + }, + { + value: 144888, + label: + 'materialProduction - WeaveDyePrintFinishBraid-MatProd-LM8F9N8', + }, + { + value: 144908, + label: 'finalProductAssembly,materialProduction - 3UNJUVW', + }, + { + value: 144933, + label: 'finalProductAssembly - R498W4C', + }, + { + value: 144777, + label: 'materialProduction - KnitDyeHeatWash-MatProd-F509MLE', + }, + { + value: 145225, + label: 'printingProductDyeingAndLaundering - BUF988A', + }, + { + value: 145192, + label: 'EHN0DPA', + }, + { + value: 145194, + label: 'materialProduction - 62CQXE1', + }, + { + value: 144964, + label: 'finalProductAssembly - KR5U81U', + }, + { + value: 144923, + label: 'materialProduction - CD10DRG', + }, + { + value: 145286, + label: 'finalProductAssembly - DMCYGE8', + }, + { + value: 145137, + label: 'finalProductAssembly - 7AH0QFH', + }, + { + value: 144891, + label: 'finalProductAssembly - WC7G1RQ', + }, + { + value: 144760, + label: 'finalProductAssembly - MB1F3VC', + }, + { + value: 145131, + label: 'materialProduction - Material Production - 5DMVUC6', + }, + { + value: 144970, + label: 'materialProduction - D027KYS', + }, + { + value: 144894, + label: 'finalProductAssembly - FWV4V1U', + }, + { + value: 144805, + label: 'materialProduction - H11U9D9', + }, + { + value: 145250, + label: 'printingProductDyeingAndLaundering - KXSTTLZ', + }, + { + value: 145150, + label: 'printingProductDyeingAndLaundering - N5Q50XJ', + }, + { + value: 145362, + label: 'finalProductAssembly - YVS076B', + }, + { + value: 145187, + label: 'printingProductDyeingAndLaundering - QETESAP', + }, + { + value: 144996, + label: 'printingProductDyeingAndLaundering - P9H4L4K', + }, + { + value: 145224, + label: 'printingProductDyeingAndLaundering - 83RLPC1', + }, + { + value: 145342, + label: 'finalProductAssembly - WNBV6SX', + }, + { + value: 144851, + label: 'finalProductAssembly - RYJ139P', + }, + { + value: 144935, + label: 'FA07CWR', + }, + { + value: 145159, + label: 'finalProductAssembly - 6SL66VE', + }, + { + value: 145316, + label: 'rawMaterialProcessing - YarnSpin-RawMat-HKVF3G4', + }, + { + value: 144873, + label: 'printingProductDyeingAndLaundering - HVKKFH0', + }, + { + value: 145265, + label: 'finalProductAssembly - BD49QAA', + }, + { + value: 145010, + label: 'finalProductAssembly - RQULHDP', + }, + { + value: 144783, + label: 'printingProductDyeingAndLaundering - 6V21L71', + }, + { + value: 144912, + label: 'materialProduction - QSAJ9BE', + }, + { + value: 145065, + label: 'materialProduction - QYRV2R9', + }, + { + value: 145073, + label: 'materialProduction - N1Q4H6L', + }, + { + value: 145318, + label: 'rawMaterialProcessing - U7V2CX8', + }, + { + value: 144882, + label: 'materialProduction - XPL5X8Z', + }, + { + value: 144858, + label: 'finalProductAssembly - V6ZNE7R', + }, + { + value: 145367, + label: 'EFYD8F5', + }, + { + value: 144814, + label: 'WYPC3DP', + }, + { + value: 145016, + label: 'finalProductAssembly - 19UVSEW', + }, + { + value: 145291, + label: 'printingProductDyeingAndLaundering - 8N8PFKD', + }, + { + value: 145003, + label: 'finalProductAssembly - C61YA7T', + }, + { + value: 144925, + label: 'finalProductAssembly - 6R24S3Q', + }, + { + value: 144854, + label: 'finalProductAssembly - XJD43JL', + }, + { + value: 144897, + label: 'hardComponentTrimProduction - VRU60VZ', + }, + { + value: 144999, + label: 'materialProduction - 6FCU6YL', + }, + { + value: 144934, + label: 'JE0XSH4', + }, + { + value: 144883, + label: 'finalProductAssembly - W1L84MJ', + }, + { + value: 144788, + label: 'finalProductAssembly,materialProduction - XWQSWSF', + }, + { + value: 145359, + label: 'finalProductAssembly - H7GQVQG', + }, + { + value: 145334, + label: 'materialProduction - C66UWUU', + }, + { + value: 145349, + label: 'finalProductAssembly - 76B0AB8', + }, + { + value: 145188, + label: 'printingProductDyeingAndLaundering - 98MEDXY', + }, + { + value: 145128, + label: 'finalProductAssembly - EEFKCQD', + }, + { + value: 145193, + label: 'printingProductDyeingAndLaundering - PQM4PS3', + }, + { + value: 145315, + label: 'materialProduction - 6RQZ31D', + }, + { + value: 145332, + label: 'printingProductDyeingAndLaundering - R33JTXS', + }, + { + value: 145071, + label: 'finalProductAssembly - W5GVWA1', + }, + { + value: 144955, + label: 'printingProductDyeingAndLaundering - GN8SGRN', + }, + { + value: 145283, + label: 'finalProductAssembly - 4HD8TRU', + }, + { + value: 145043, + label: 'finalProductAssembly - ZPJQSAU', + }, + { + value: 145035, + label: '1Y5KPCY', + }, + { + value: 144815, + label: 'P1EC68E', + }, + { + value: 145274, + label: 'Premier Textiles Ltd. 756J1KK ', + }, + { + value: 144943, + label: 'ERG1RY2', + }, + { + value: 145100, + label: 'QMLBTL7', + }, + { + value: 145087, + label: '22HJ2RA', + }, + { + value: 144820, + label: 'CKQZ0W8', + }, + { + value: 145314, + label: 'ZSFHKBH', + }, + { + value: 145105, + label: 'GWFFG6N', + }, + { + value: 144928, + label: 'Dye-MatProd-V8BEE5B', + }, + { + value: 144940, + label: '3NJRMR1', + }, + { + value: 145263, + label: '2H0PDBX', + }, + { + value: 145303, + label: 'UGCM533', + }, + { + value: 144834, + label: 'finalProductAssembly - 0PR1KP9', + }, + { + value: 145313, + label: 'Weave - Raw Mat - RG5FX9A', + }, + { + value: 145138, + label: 'GSGJ36Y', + }, + { + value: 144798, + label: 'finalProductAssembly - 942CTTK', + }, + { + value: 145177, + label: '23MPPQY', + }, + { + value: 145207, + label: '13UHYNY', + }, + { + value: 145121, + label: 'U3KYJQL', + }, + { + value: 145033, + label: 'UM69VDB', + }, + { + value: 144953, + label: '2ALHWNQ', + }, + { + value: 144808, + label: 'finalProductAssembly - 22027B1', + }, + { + value: 145006, + label: 'QJ2042M', + }, + { + value: 145098, + label: 'X113M25', + }, + { + value: 145278, + label: 'Q0A05AE', + }, + { + value: 145203, + label: 'QMFW0HA', + }, + { + value: 144910, + label: 'VP4AK1P', + }, + { + value: 144913, + label: 'VWK7LSP', + }, + { + value: 145002, + label: 'finalProductAssembly - R8HVNFG', + }, + { + value: 144984, + label: '0AE9N28', + }, + { + value: 144954, + label: 'finalProductAssembly - 2JNR68L', + }, + { + value: 145343, + label: '4UM078E', + }, + { + value: 145296, + label: 'RGVUJGY', + }, + { + value: 145104, + label: + 'materialProduction - Weave - MatProd - Spandex Only - BQCP3T5', + }, + { + value: 145379, + label: 'finalProductAssembly - T6FAMUA', + }, + { + value: 144895, + label: '41M2CAR', + }, + { + value: 144877, + label: '8GPW4K0', + }, + { + value: 144991, + label: 'QXCL09H', + }, + { + value: 145179, + label: 'E3NVZ2Y', + }, + { + value: 145216, + label: '3RTZDTD', + }, + { + value: 144909, + label: 'Knit - Mat Prod - 2HYDVEQ', + }, + { + value: 145258, + label: '8VF5KUC', + }, + { + value: 145186, + label: 'V5E6JWX', + }, + { + value: 145119, + label: '64C83JL', + }, + { + value: 145350, + label: 'PHBMPUD', + }, + { + value: 145384, + label: 'QPLT1LX', + }, + { + value: 145352, + label: '5VUK5ZU', + }, + { + value: 145355, + label: 'NNYGAUX', + }, + { + value: 145028, + label: '6CRSWXC', + }, + { + value: 145155, + label: '94S78QM', + }, + { + value: 145220, + label: 'finalProductAssembly - VQB7MWC', + }, + { + value: 145021, + label: 'finalProductAssembly - ZRRBAP8', + }, + { + value: 145127, + label: 'XXBWLAT', + }, + { + value: 144875, + label: 'HBQ9WAW', + }, + { + value: 144907, + label: 'materialProduction - FY3B0TQ', + }, + { + value: 145288, + label: 'materialProduction - P5AQXQN', + }, + { + value: 144840, + label: 'finalProductAssembly - N3BGQWU', + }, + { + value: 145139, + label: 'finalProductAssembly - 39GQY1S', + }, + { + value: 145271, + label: 'Q8WLYH4', + }, + { + value: 145180, + label: 'finalProductAssembly - VUE2RNE', + }, + { + value: 145115, + label: 'printingProductDyeingAndLaundering - KK51WRR', + }, + { + value: 145347, + label: 'LBN1YFW', + }, + { + value: 145268, + label: 'RPGET2L', + }, + { + value: 145066, + label: '990DWAX', + }, + { + value: 145013, + label: 'ZEUTKM4', + }, + { + value: 144879, + label: '1NK7E4B', + }, + { + value: 145221, + label: 'YHW9XVH', + }, + { + value: 145340, + label: 'NUSAGCS', + }, + { + value: 145389, + label: 'X9UK2AG', + }, + { + value: 145277, + label: 'JXD25SF', + }, + { + value: 145132, + label: 'PMC7R16', + }, + { + value: 144853, + label: 'materialProduction - PEX1JNK', + }, + { + value: 145230, + label: '6Y6845K', + }, + { + value: 144826, + label: 'finalProductAssembly - G86WHP1', + }, + { + value: 145057, + label: '9542EGS', + }, + { + value: 144766, + label: 'V1JMXQ1', + }, + { + value: 145008, + label: 'LVES57S', + }, + { + value: 145385, + label: 'finalProductAssembly - KMG55QT', + }, + { + value: 145337, + label: 'DCHTT8S', + }, + { + value: 144993, + label: '9A83YNG', + }, + { + value: 145206, + label: 'X64WG97', + }, + { + value: 144868, + label: 'ZZD2RJR', + }, + { + value: 145330, + label: 'KRHKPY3', + }, + { + value: 144926, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 4G0ZXRE', + }, + { + value: 144937, + label: 'JMV16VZ', + }, + { + value: 144900, + label: 'finalProductAssembly - X8JU0LS', + }, + { + value: 145319, + label: 'R6YSTA6', + }, + { + value: 145201, + label: 'S6GGGB1', + }, + { + value: 144778, + label: 'XP2NHG8', + }, + { + value: 145333, + label: 'UWTWG5L', + }, + { + value: 145084, + label: 'HMKL561', + }, + { + value: 144793, + label: '2TFAQR9', + }, + { + value: 145226, + label: 'rawMat-Braiding-K725RKJ', + }, + { + value: 144863, + label: '91K55HF', + }, + { + value: 145261, + label: 'R74MNK4', + }, + { + value: 145075, + label: 'M6F8HMV', + }, + { + value: 145133, + label: '4MSLA8B', + }, + { + value: 144890, + label: 'D3AT4MW', + }, + { + value: 145195, + label: + 'finalProductAssembly,hardComponentTrimProduction - 78Q49A2', + }, + { + value: 145190, + label: '2H86LR9', + }, + { + value: 145126, + label: 'L8BFK7Y', + }, + { + value: 145387, + label: 'materialProduction - ZBSZ7G8', + }, + { + value: 145336, + label: '3Y1NQ30', + }, + { + value: 144918, + label: 'ZBWBYXK', + }, + { + value: 145251, + label: 'A4V7P36', + }, + { + value: 144862, + label: 'VNSNDMP', + }, + { + value: 145125, + label: 'KZXP0DB', + }, + { + value: 144994, + label: '5FWYEW8', + }, + { + value: 145306, + label: 'printingProductDyeingAndLaundering - VNQ0ZPH', + }, + { + value: 144784, + label: 'RGRUHH4', + }, + { + value: 144927, + label: + 'printingProductDyeingAndLaundering,materialProduction - 4KK0MZD', + }, + { + value: 144816, + label: 'FPZ07E7', + }, + { + value: 144939, + label: '5UT5800', + }, + { + value: 144978, + label: 'KY67ARB', + }, + { + value: 144904, + label: 'materialProduction - 44A7V6V', + }, + { + value: 145295, + label: 'JEBT31H', + }, + { + value: 145321, + label: 'materialProduction - RAU2BMD', + }, + { + value: 144797, + label: 'Y5UNR3R', + }, + { + value: 145176, + label: 'M3H275D', + }, + { + value: 145339, + label: 'VEA64UY', + }, + { + value: 144958, + label: 'C7KYSMM', + }, + { + value: 145247, + label: '11K9FBJ', + }, + { + value: 144837, + label: 'T4P5YQQ', + }, + { + value: 145237, + label: 'finalProductAssembly,materialProduction - NVWDTQU', + }, + { + value: 145338, + label: 'BGCJ0CD', + }, + { + value: 144838, + label: 'VX630QX', + }, + { + value: 145335, + label: 'DVH8TNK', + }, + { + value: 144997, + label: '0KN5RKS', + }, + { + value: 144995, + label: '34LXDUX', + }, + { + value: 145147, + label: 'A91UTFH', + }, + { + value: 145344, + label: '7N3WLZV', + }, + { + value: 145259, + label: 'TYBKNWZ', + }, + { + value: 145324, + label: '1Y6STY8', + }, + { + value: 145302, + label: 'printingProductDyeingAndLaundering - SN1WP67', + }, + { + value: 145107, + label: '34ZA7T8', + }, + { + value: 144982, + label: 'Y5B5VVE', + }, + { + value: 144811, + label: 'TZT29UX', + }, + { + value: 145374, + label: '2RUMYF6', + }, + { + value: 145309, + label: '8RNK1A8', + }, + { + value: 145181, + label: 'N63284P', + }, + { + value: 145001, + label: 'WVLXM2R', + }, + { + value: 145171, + label: '7W2UF4X', + }, + { + value: 145279, + label: 'Manufacturer B - matProd - 31F408D', + }, + { + value: 144899, + label: 'EZJA69D', + }, + { + value: 145163, + label: 'materialProduction - WeaveDyeHeatWash-MatProd-5KG610Y', + }, + { + value: 145293, + label: '9BQHAB4', + }, + { + value: 144966, + label: 'KnitDye-MatProd-BPWFQ9U', + }, + { + value: 144965, + label: 'JHP3XAC', + }, + { + value: 145012, + label: 'materialProduction - FVTAXRJ', + }, + { + value: 145158, + label: 'finalProductAssembly - EN1DNRA', + }, + { + value: 145285, + label: 'printingProductDyeingAndLaundering - CZG5AGG', + }, + { + value: 145018, + label: 'printingProductDyeingAndLaundering - DKUEWK7', + }, + { + value: 145270, + label: 'PGUYYRF', + }, + { + value: 145166, + label: 'WN4SX2V', + }, + { + value: 145326, + label: 'Weave - RawMat - MXXW11K', + }, + { + value: 144809, + label: 'GJAP5AK', + }, + { + value: 144859, + label: 'JQ7X0AJ', + }, + { + value: 144828, + label: 'CBRQJF3', + }, + { + value: 144848, + label: 'PMH7EVZ', + }, + { + value: 145199, + label: '58H44L3', + }, + { + value: 145054, + label: '3Y035DK', + }, + { + value: 145289, + label: 'VNPPPLF', + }, + { + value: 144866, + label: 'G1N40G3', + }, + { + value: 144781, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - S8TWCBZ', + }, + { + value: 144986, + label: 'A728JDB', + }, + { + value: 145245, + label: 'Weave - MatProd - W0F60G2', + }, + { + value: 145292, + label: 'YDEKL2X', + }, + { + value: 145074, + label: 'materialProduction - SX0SAL1', + }, + { + value: 145328, + label: 'Yarn Spinner - 309RZSQ', + }, + { + value: 144944, + label: 'RTKNU8T', + }, + { + value: 144949, + label: 'F8AWWLJ', + }, + { + value: 144930, + label: '8DX8290', + }, + { + value: 144812, + label: '69F6H31', + }, + { + value: 144773, + label: 'UW0MRZK', + }, + { + value: 145287, + label: 'HP0A9K4', + }, + { + value: 145055, + label: 'QPG86GX', + }, + { + value: 145386, + label: 'D3P42GU', + }, + { + value: 145044, + label: '6AZVQ68', + }, + { + value: 145214, + label: '7LNRVYY', + }, + { + value: 144903, + label: 'EANPSZ0', + }, + { + value: 144916, + label: 'CFWQCNH', + }, + { + value: 145160, + label: 'S54NNA9', + }, + { + value: 144921, + label: 'TAC8VCJ', + }, + { + value: 144869, + label: 'LJB7TTJ', + }, + { + value: 145089, + label: '8DJWP56', + }, + { + value: 145304, + label: '6ZYEH0T', + }, + { + value: 144898, + label: 'BXMA2JN', + }, + { + value: 145282, + label: 'S1YKDYF', + }, + { + value: 145123, + label: 'HE4PJVM', + }, + { + value: 145120, + label: 'LYF884A', + }, + { + value: 144796, + label: 'Q9N7BMD', + }, + { + value: 144931, + label: 'E73RXZM', + }, + { + value: 145149, + label: 'K0SY05C', + }, + { + value: 145070, + label: 'U57CKDT', + }, + { + value: 145280, + label: 'CQZBN31', + }, + { + value: 145299, + label: '22DPBPP', + }, + { + value: 144842, + label: + 'printingProductDyeingAndLaundering,materialProduction - NW0XSV2', + }, + { + value: 145175, + label: 'LW0L2JX', + }, + { + value: 144856, + label: 'finalProductAssembly - UHXCJRF', + }, + { + value: 145256, + label: '64MF3TX', + }, + { + value: 144864, + label: 'QUD66UC', + }, + { + value: 145242, + label: '4P2WXWZ', + }, + { + value: 145077, + label: '2VG8JNS', + }, + { + value: 145111, + label: 'WBT279F', + }, + { + value: 144947, + label: '1Y1UJB5', + }, + { + value: 145088, + label: 'Weave-MatProd-0PS89UW', + }, + { + value: 145219, + label: 'YQ0AV1G', + }, + { + value: 144956, + label: 'U9GPNVH', + }, + { + value: 145373, + label: '25V23BY', + }, + { + value: 145249, + label: '0V4SQQQ', + }, + { + value: 145241, + label: '814F7P0', + }, + { + value: 144831, + label: 'NA4AAB4', + }, + { + value: 145154, + label: 'DR24ZAV', + }, + { + value: 145079, + label: 'U6CDCW9', + }, + { + value: 145108, + label: 'MCA1HRM', + }, + { + value: 145146, + label: 'QMG137X', + }, + { + value: 144792, + label: 'ZVJBHNG', + }, + { + value: 145056, + label: 'KLMA96L', + }, + { + value: 145114, + label: 'LZ47WBN', + }, + { + value: 145148, + label: 'SNCMDU0', + }, + { + value: 144844, + label: 'materialProduction - F3DU8UX', + }, + { + value: 145262, + label: '5N5A6GF', + }, + { + value: 145124, + label: '9PKVWCQ', + }, + { + value: 145031, + label: 'E4Z2A9L', + }, + { + value: 145266, + label: 'CTG99HM', + }, + { + value: 144764, + label: '8L91W81', + }, + { + value: 145254, + label: '3B901XB', + }, + { + value: 144803, + label: '9F7Q40Q', + }, + { + value: 145253, + label: 'XN03514', + }, + { + value: 145298, + label: 'C9J7TU6', + }, + { + value: 145228, + label: '1DWR1FZ', + }, + { + value: 145183, + label: 'VACMBM9', + }, + { + value: 144971, + label: 'NEMZ6SJ', + }, + { + value: 145248, + label: '96JQFTU', + }, + { + value: 145046, + label: 'RWM3BVK', + }, + { + value: 145231, + label: 'TA6KZLM', + }, + { + value: 145233, + label: 'QL4Z4JH', + }, + { + value: 145076, + label: '4M5DW3N', + }, + { + value: 145109, + label: 'EAN2AR0', + }, + { + value: 144799, + label: 'YC6L0LQ', + }, + { + value: 145244, + label: 'YDU2VWC', + }, + { + value: 145210, + label: 'ELSRL72', + }, + { + value: 144884, + label: 'LUABMZK', + }, + { + value: 145052, + label: 'Z38SP7M', + }, + { + value: 145211, + label: 'DMW19YZ', + }, + { + value: 145185, + label: '9U9GLMT', + }, + { + value: 145208, + label: '4J6J8BR', + }, + { + value: 144860, + label: 'R75XP11', + }, + { + value: 145229, + label: 'RB8Y0R7', + }, + { + value: 145212, + label: 'FH00KX0', + }, + { + value: 145204, + label: 'HW6KQZC', + }, + { + value: 145140, + label: '7JAFGQD', + }, + { + value: 145110, + label: '2E9DUP4', + }, + { + value: 145117, + label: 'WFLZXDK', + }, + { + value: 145030, + label: '8N7J69G', + }, + { + value: 145156, + label: 'VC89NLG', + }, + { + value: 145173, + label: '2NP3027', + }, + { + value: 145161, + label: 'LFE14M9', + }, + { + value: 145036, + label: 'Q8NEAST', + }, + { + value: 144780, + label: '28XUQJ9', + }, + { + value: 145011, + label: 'GCXFX06', + }, + { + value: 145027, + label: '6EH8JUG', + }, + { + value: 144779, + label: '5AZWHHV', + }, + { + value: 144981, + label: 'CL5A0T7', + }, + { + value: 145118, + label: '202450N', + }, + { + value: 144880, + label: '8B59EAX', + }, + { + value: 145238, + label: 'EY3DL2U', + }, + { + value: 145168, + label: 'LT7TZVP', + }, + { + value: 145197, + label: 'M0GHTT1', + }, + { + value: 145157, + label: 'WJV20A8', + }, + { + value: 144818, + label: '3KYQPVW', + }, + { + value: 145145, + label: '6ZU7HEQ', + }, + { + value: 145083, + label: 'RC7TJSM', + }, + { + value: 145234, + label: 'KKGC6BX', + }, + { + value: 144889, + label: 'KR1ECNG', + }, + { + value: 145068, + label: 'KYQA9LE', + }, + { + value: 145078, + label: '723RNDJ', + }, + { + value: 145153, + label: '50B4SGP', + }, + { + value: 145377, + label: 'RRWDP19', + }, + { + value: 144855, + label: 'LCLPALD', + }, + { + value: 144946, + label: 'VRQDA8Y', + }, + { + value: 144989, + label: 'WCL9WX4', + }, + { + value: 144952, + label: 'V7P8S5X', + }, + { + value: 145165, + label: 'L3BXCF1', + }, + { + value: 144980, + label: 'HL44UF2', + }, + { + value: 144782, + label: '15FZR3Q', + }, + { + value: 144901, + label: 'Y8LRJ5S', + }, + { + value: 145134, + label: 'KRWTNDK', + }, + { + value: 144767, + label: 'FHN9PTN', + }, + { + value: 144830, + label: 'TG0K5UY', + }, + { + value: 144850, + label: '0F6PG7C', + }, + { + value: 144769, + label: 'P7VUZKF', + }, + { + value: 145094, + label: '7W96UFS', + }, + { + value: 145174, + label: 'JJG7V87', + }, + { + value: 145151, + label: '3K0YXKB', + }, + { + value: 145058, + label: '0H59VUR', + }, + { + value: 145382, + label: 'JR2DU4U', + }, + { + value: 144936, + label: 'GMNSUFR', + }, + { + value: 144988, + label: 'HACSUMP', + }, + { + value: 144962, + label: '8BSBQLP', + }, + { + value: 144878, + label: '6T10YEY', + }, + { + value: 145000, + label: 'EAT43KV', + }, + { + value: 144867, + label: 'SSAZPRG', + }, + { + value: 145032, + label: 'B5XXEM7', + }, + { + value: 145062, + label: 'M7JRW43', + }, + { + value: 144902, + label: 'L0PJG07', + }, + { + value: 145023, + label: '80T5FHB', + }, + { + value: 145025, + label: 'CFWLE7K', + }, + { + value: 144983, + label: 'FERSE88', + }, + { + value: 145047, + label: 'ZVPVJ4B', + }, + { + value: 145034, + label: 'DQ6E42M', + }, + { + value: 145090, + label: 'K04JGE5', + }, + { + value: 145375, + label: 'HU07A33', + }, + { + value: 145102, + label: 'RYC89DT', + }, + { + value: 145024, + label: 'TKP6EG6', + }, + { + value: 144961, + label: 'DLZS6D8', + }, + { + value: 144765, + label: 'NZJ9ZHA', + }, + { + value: 145081, + label: '0BSHRF1', + }, + { + value: 144906, + label: 'J0GWKC8', + }, + { + value: 145019, + label: 'Q5W1H29', + }, + { + value: 145082, + label: '4156UJU', + }, + { + value: 145005, + label: '01892QN', + }, + { + value: 145113, + label: 'XT551LD', + }, + { + value: 145004, + label: '2W67VJW', + }, + { + value: 145060, + label: 'RQZXNB5', + }, + { + value: 145112, + label: 'XZGB6LM', + }, + { + value: 144967, + label: 'V8TF4DT', + }, + { + value: 144794, + label: 'F3CAY09', + }, + { + value: 145378, + label: 'CR95C6B', + }, + { + value: 145086, + label: 'A9VQ0NV', + }, + { + value: 145106, + label: 'V0CYJMF', + }, + { + value: 144795, + label: '4TF9SDH', + }, + { + value: 145009, + label: '2PC2SY4', + }, + { + value: 145061, + label: '2GSG96P', + }, + { + value: 145020, + label: 'ZZZB0PW', + }, + { + value: 144892, + label: 'ZF542Q9', + }, + { + value: 144852, + label: '6FDXU8T', + }, + { + value: 144817, + label: 'AG8THHR', + }, + { + value: 144774, + label: '4KRJE1V', + }, + { + value: 144905, + label: 'SFP6MRN', + }, + ], + }, + }, + { + key: 'P004Country', + type: 'enum', + label: 'P004 Country', + isArray: false, + multi: true, + config: { + allowCustom: false, + options: [ + { + value: 'Afghanistan', + label: 'Afghanistan', + }, + { + value: 'Albania', + label: 'Albania', + }, + { + value: 'Algeria', + label: 'Algeria', + }, + { + value: 'American Samoa', + label: 'American Samoa', + }, + { + value: 'Andorra', + label: 'Andorra', + }, + { + value: 'Angola', + label: 'Angola', + }, + { + value: 'Anguilla', + label: 'Anguilla', + }, + { + value: 'Antarctica', + label: 'Antarctica', + }, + { + value: 'Antigua and Barbuda', + label: 'Antigua and Barbuda', + }, + { + value: 'Argentina', + label: 'Argentina', + }, + { + value: 'Armenia', + label: 'Armenia', + }, + { + value: 'Aruba', + label: 'Aruba', + }, + { + value: 'Australia', + label: 'Australia', + }, + { + value: 'Austria', + label: 'Austria', + }, + { + value: 'Azerbaijan', + label: 'Azerbaijan', + }, + { + value: 'Bahamas, The', + label: 'Bahamas, The', + }, + { + value: 'Bahrain', + label: 'Bahrain', + }, + { + value: 'Bangladesh', + label: 'Bangladesh', + }, + { + value: 'Barbados', + label: 'Barbados', + }, + { + value: 'Belarus', + label: 'Belarus', + }, + { + value: 'Belgium', + label: 'Belgium', + }, + { + value: 'Belize', + label: 'Belize', + }, + { + value: 'Benin', + label: 'Benin', + }, + { + value: 'Bermuda', + label: 'Bermuda', + }, + { + value: 'Bhutan', + label: 'Bhutan', + }, + { + value: 'Bolivia', + label: 'Bolivia', + }, + { + value: 'Bosnia and Herzegovina', + label: 'Bosnia and Herzegovina', + }, + { + value: 'Botswana', + label: 'Botswana', + }, + { + value: 'Bouvet Island', + label: 'Bouvet Island', + }, + { + value: 'Brazil', + label: 'Brazil', + }, + { + value: 'British Indian Ocean Territory', + label: 'British Indian Ocean Territory', + }, + { + value: 'British Virgin Islands', + label: 'British Virgin Islands', + }, + { + value: 'Brunei', + label: 'Brunei', + }, + { + value: 'Bulgaria', + label: 'Bulgaria', + }, + { + value: 'Burkina Faso', + label: 'Burkina Faso', + }, + { + value: 'Burma', + label: 'Burma', + }, + { + value: 'Burundi', + label: 'Burundi', + }, + { + value: 'Cambodia', + label: 'Cambodia', + }, + { + value: 'Cameroon', + label: 'Cameroon', + }, + { + value: 'Canada', + label: 'Canada', + }, + { + value: 'Cape Verde', + label: 'Cape Verde', + }, + { + value: 'Cayman Islands', + label: 'Cayman Islands', + }, + { + value: 'Central African Republic', + label: 'Central African Republic', + }, + { + value: 'Chad', + label: 'Chad', + }, + { + value: 'Chile', + label: 'Chile', + }, + { + value: 'China', + label: 'China', + }, + { + value: 'Christmas Island', + label: 'Christmas Island', + }, + { + value: 'Cocos (Keeling) Islands', + label: 'Cocos (Keeling) Islands', + }, + { + value: 'Colombia', + label: 'Colombia', + }, + { + value: 'Comoros', + label: 'Comoros', + }, + { + value: 'Congo, Democratic Republic of the', + label: 'Congo, Democratic Republic of the', + }, + { + value: 'Congo, Republic of the', + label: 'Congo, Republic of the', + }, + { + value: 'Cook Islands', + label: 'Cook Islands', + }, + { + value: 'Costa Rica', + label: 'Costa Rica', + }, + { + value: "Cote d'Ivoire", + label: "Cote d'Ivoire", + }, + { + value: 'Croatia', + label: 'Croatia', + }, + { + value: 'Cuba', + label: 'Cuba', + }, + { + value: 'Curacao', + label: 'Curacao', + }, + { + value: 'Cyprus', + label: 'Cyprus', + }, + { + value: 'Czech Republic', + label: 'Czech Republic', + }, + { + value: 'Denmark', + label: 'Denmark', + }, + { + value: 'Djibouti', + label: 'Djibouti', + }, + { + value: 'Dominica', + label: 'Dominica', + }, + { + value: 'Dominican Republic', + label: 'Dominican Republic', + }, + { + value: 'Ecuador', + label: 'Ecuador', + }, + { + value: 'Egypt', + label: 'Egypt', + }, + { + value: 'El Salvador', + label: 'El Salvador', + }, + { + value: 'Equatorial Guinea', + label: 'Equatorial Guinea', + }, + { + value: 'Eritrea', + label: 'Eritrea', + }, + { + value: 'Estonia', + label: 'Estonia', + }, + { + value: 'Ethiopia', + label: 'Ethiopia', + }, + { + value: 'Falkland Islands (Islas Malvinas)', + label: 'Falkland Islands (Islas Malvinas)', + }, + { + value: 'Faroe Islands', + label: 'Faroe Islands', + }, + { + value: 'Fiji', + label: 'Fiji', + }, + { + value: 'Finland', + label: 'Finland', + }, + { + value: 'France', + label: 'France', + }, + { + value: 'France, Metropolitan', + label: 'France, Metropolitan', + }, + { + value: 'French Guiana', + label: 'French Guiana', + }, + { + value: 'French Polynesia', + label: 'French Polynesia', + }, + { + value: 'French Southern and Antarctic Lands', + label: 'French Southern and Antarctic Lands', + }, + { + value: 'Gabon', + label: 'Gabon', + }, + { + value: 'Gambia, The', + label: 'Gambia, The', + }, + { + value: 'Gaza Strip', + label: 'Gaza Strip', + }, + { + value: 'Georgia', + label: 'Georgia', + }, + { + value: 'Germany', + label: 'Germany', + }, + { + value: 'Ghana', + label: 'Ghana', + }, + { + value: 'Gibraltar', + label: 'Gibraltar', + }, + { + value: 'Greece', + label: 'Greece', + }, + { + value: 'Greenland', + label: 'Greenland', + }, + { + value: 'Grenada', + label: 'Grenada', + }, + { + value: 'Guadeloupe', + label: 'Guadeloupe', + }, + { + value: 'Guam', + label: 'Guam', + }, + { + value: 'Guatemala', + label: 'Guatemala', + }, + { + value: 'Guernsey', + label: 'Guernsey', + }, + { + value: 'Guinea', + label: 'Guinea', + }, + { + value: 'Guinea-Bissau', + label: 'Guinea-Bissau', + }, + { + value: 'Guyana', + label: 'Guyana', + }, + { + value: 'Haiti', + label: 'Haiti', + }, + { + value: 'Heard Island and McDonald Islands', + label: 'Heard Island and McDonald Islands', + }, + { + value: 'Holy See (Vatican City)', + label: 'Holy See (Vatican City)', + }, + { + value: 'Honduras', + label: 'Honduras', + }, + { + value: 'Hong Kong, China', + label: 'Hong Kong, China', + }, + { + value: 'Hungary', + label: 'Hungary', + }, + { + value: 'Iceland', + label: 'Iceland', + }, + { + value: 'India', + label: 'India', + }, + { + value: 'Indonesia', + label: 'Indonesia', + }, + { + value: 'Iran', + label: 'Iran', + }, + { + value: 'Iraq', + label: 'Iraq', + }, + { + value: 'Ireland', + label: 'Ireland', + }, + { + value: 'Isle of Man', + label: 'Isle of Man', + }, + { + value: 'Israel', + label: 'Israel', + }, + { + value: 'Italy', + label: 'Italy', + }, + { + value: 'Jamaica', + label: 'Jamaica', + }, + { + value: 'Japan', + label: 'Japan', + }, + { + value: 'Jersey', + label: 'Jersey', + }, + { + value: 'Jordan', + label: 'Jordan', + }, + { + value: 'Kazakhstan', + label: 'Kazakhstan', + }, + { + value: 'Kenya', + label: 'Kenya', + }, + { + value: 'Kiribati', + label: 'Kiribati', + }, + { + value: 'Korea, North', + label: 'Korea, North', + }, + { + value: 'Korea, South', + label: 'Korea, South', + }, + { + value: 'Kosovo', + label: 'Kosovo', + }, + { + value: 'Kuwait', + label: 'Kuwait', + }, + { + value: 'Kyrgyzstan', + label: 'Kyrgyzstan', + }, + { + value: 'Laos', + label: 'Laos', + }, + { + value: 'Latvia', + label: 'Latvia', + }, + { + value: 'Lebanon', + label: 'Lebanon', + }, + { + value: 'Lesotho', + label: 'Lesotho', + }, + { + value: 'Liberia', + label: 'Liberia', + }, + { + value: 'Libya', + label: 'Libya', + }, + { + value: 'Liechtenstein', + label: 'Liechtenstein', + }, + { + value: 'Lithuania', + label: 'Lithuania', + }, + { + value: 'Luxembourg', + label: 'Luxembourg', + }, + { + value: 'Macau', + label: 'Macau', + }, + { + value: 'Macedonia', + label: 'Macedonia', + }, + { + value: 'Madagascar', + label: 'Madagascar', + }, + { + value: 'Malawi', + label: 'Malawi', + }, + { + value: 'Malaysia', + label: 'Malaysia', + }, + { + value: 'Maldives', + label: 'Maldives', + }, + { + value: 'Mali', + label: 'Mali', + }, + { + value: 'Malta', + label: 'Malta', + }, + { + value: 'Marshall Islands', + label: 'Marshall Islands', + }, + { + value: 'Martinique', + label: 'Martinique', + }, + { + value: 'Mauritania', + label: 'Mauritania', + }, + { + value: 'Mauritius', + label: 'Mauritius', + }, + { + value: 'Mayotte', + label: 'Mayotte', + }, + { + value: 'Mexico', + label: 'Mexico', + }, + { + value: 'Micronesia, Federated States of', + label: 'Micronesia, Federated States of', + }, + { + value: 'Moldova', + label: 'Moldova', + }, + { + value: 'Monaco', + label: 'Monaco', + }, + { + value: 'Mongolia', + label: 'Mongolia', + }, + { + value: 'Montenegro', + label: 'Montenegro', + }, + { + value: 'Montserrat', + label: 'Montserrat', + }, + { + value: 'Morocco', + label: 'Morocco', + }, + { + value: 'Mozambique', + label: 'Mozambique', + }, + { + value: 'Namibia', + label: 'Namibia', + }, + { + value: 'Nauru', + label: 'Nauru', + }, + { + value: 'Nepal', + label: 'Nepal', + }, + { + value: 'Netherlands', + label: 'Netherlands', + }, + { + value: 'New Caledonia', + label: 'New Caledonia', + }, + { + value: 'New Zealand', + label: 'New Zealand', + }, + { + value: 'Nicaragua', + label: 'Nicaragua', + }, + { + value: 'Niger', + label: 'Niger', + }, + { + value: 'Nigeria', + label: 'Nigeria', + }, + { + value: 'Niue', + label: 'Niue', + }, + { + value: 'Norfolk Island', + label: 'Norfolk Island', + }, + { + value: 'Northern Mariana Islands', + label: 'Northern Mariana Islands', + }, + { + value: 'Norway', + label: 'Norway', + }, + { + value: 'Oman', + label: 'Oman', + }, + { + value: 'Pakistan', + label: 'Pakistan', + }, + { + value: 'Palau', + label: 'Palau', + }, + { + value: 'Panama', + label: 'Panama', + }, + { + value: 'Papua New Guinea', + label: 'Papua New Guinea', + }, + { + value: 'Paraguay', + label: 'Paraguay', + }, + { + value: 'Peru', + label: 'Peru', + }, + { + value: 'Philippines', + label: 'Philippines', + }, + { + value: 'Pitcairn Islands', + label: 'Pitcairn Islands', + }, + { + value: 'Poland', + label: 'Poland', + }, + { + value: 'Portugal', + label: 'Portugal', + }, + { + value: 'Puerto Rico', + label: 'Puerto Rico', + }, + { + value: 'Qatar', + label: 'Qatar', + }, + { + value: 'Reunion', + label: 'Reunion', + }, + { + value: 'Romania', + label: 'Romania', + }, + { + value: 'Russia', + label: 'Russia', + }, + { + value: 'Rwanda', + label: 'Rwanda', + }, + { + value: 'Saint Barthelemy', + label: 'Saint Barthelemy', + }, + { + value: 'Saint Helena, Ascension, and Tristan da Cunha', + label: 'Saint Helena, Ascension, and Tristan da Cunha', + }, + { + value: 'Saint Kitts and Nevis', + label: 'Saint Kitts and Nevis', + }, + { + value: 'Saint Lucia', + label: 'Saint Lucia', + }, + { + value: 'Saint Martin', + label: 'Saint Martin', + }, + { + value: 'Saint Pierre and Miquelon', + label: 'Saint Pierre and Miquelon', + }, + { + value: 'Saint Vincent and the Grenadines', + label: 'Saint Vincent and the Grenadines', + }, + { + value: 'Samoa', + label: 'Samoa', + }, + { + value: 'San Marino', + label: 'San Marino', + }, + { + value: 'Sao Tome and Principe', + label: 'Sao Tome and Principe', + }, + { + value: 'Saudi Arabia', + label: 'Saudi Arabia', + }, + { + value: 'Senegal', + label: 'Senegal', + }, + { + value: 'Serbia', + label: 'Serbia', + }, + { + value: 'Seychelles', + label: 'Seychelles', + }, + { + value: 'Sierra Leone', + label: 'Sierra Leone', + }, + { + value: 'Singapore', + label: 'Singapore', + }, + { + value: 'Sint Maarten', + label: 'Sint Maarten', + }, + { + value: 'Slovakia', + label: 'Slovakia', + }, + { + value: 'Slovenia', + label: 'Slovenia', + }, + { + value: 'Solomon Islands', + label: 'Solomon Islands', + }, + { + value: 'Somalia', + label: 'Somalia', + }, + { + value: 'South Africa', + label: 'South Africa', + }, + { + value: 'South Georgia and the Islands', + label: 'South Georgia and the Islands', + }, + { + value: 'South Sudan', + label: 'South Sudan', + }, + { + value: 'Spain', + label: 'Spain', + }, + { + value: 'Sri Lanka', + label: 'Sri Lanka', + }, + { + value: 'Sudan', + label: 'Sudan', + }, + { + value: 'Suriname', + label: 'Suriname', + }, + { + value: 'Svalbard', + label: 'Svalbard', + }, + { + value: 'Swaziland', + label: 'Swaziland', + }, + { + value: 'Sweden', + label: 'Sweden', + }, + { + value: 'Switzerland', + label: 'Switzerland', + }, + { + value: 'Syria', + label: 'Syria', + }, + { + value: 'Taiwan, China', + label: 'Taiwan, China', + }, + { + value: 'Tajikistan', + label: 'Tajikistan', + }, + { + value: 'Tanzania', + label: 'Tanzania', + }, + { + value: 'Thailand', + label: 'Thailand', + }, + { + value: 'Timor-Leste', + label: 'Timor-Leste', + }, + { + value: 'Togo', + label: 'Togo', + }, + { + value: 'Tokelau', + label: 'Tokelau', + }, + { + value: 'Tonga', + label: 'Tonga', + }, + { + value: 'Trinidad and Tobago', + label: 'Trinidad and Tobago', + }, + { + value: 'Tunisia', + label: 'Tunisia', + }, + { + value: 'Turkey', + label: 'Turkey', + }, + { + value: 'Turkmenistan', + label: 'Turkmenistan', + }, + { + value: 'Turks and Caicos Islands', + label: 'Turks and Caicos Islands', + }, + { + value: 'Tuvalu', + label: 'Tuvalu', + }, + { + value: 'Uganda', + label: 'Uganda', + }, + { + value: 'Ukraine', + label: 'Ukraine', + }, + { + value: 'United Arab Emirates', + label: 'United Arab Emirates', + }, + { + value: 'United Kingdom', + label: 'United Kingdom', + }, + { + value: 'United States', + label: 'United States', + }, + { + value: 'United States Minor Outlying Islands', + label: 'United States Minor Outlying Islands', + }, + { + value: 'Uruguay', + label: 'Uruguay', + }, + { + value: 'Uzbekistan', + label: 'Uzbekistan', + }, + { + value: 'Vanuatu', + label: 'Vanuatu', + }, + { + value: 'Venezuela', + label: 'Venezuela', + }, + { + value: 'Vietnam', + label: 'Vietnam', + }, + { + value: 'Virgin Islands', + label: 'Virgin Islands', + }, + { + value: 'Wallis and Futuna', + label: 'Wallis and Futuna', + }, + { + value: 'West Bank', + label: 'West Bank', + }, + { + value: 'Western Sahara', + label: 'Western Sahara', + }, + { + value: 'Yemen', + label: 'Yemen', + }, + { + value: 'Zambia', + label: 'Zambia', + }, + { + value: 'Zimbabwe', + label: 'Zimbabwe', + }, + ], + }, + }, + { + type: 'enum', + key: 'P005Facility', + label: 'P005 Facility', + isArray: true, + description: 'Supplier Name or Worldly Id.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 144804, + label: 'finalProductAssembly - 5Y7LDWV', + }, + { + value: 145007, + label: 'finalProductAssembly - VAJ2KYY', + }, + { + value: 145376, + label: 'finalProductAssembly - DWXFDE6', + }, + { + value: 145284, + label: + 'printingProductDyeingAndLaundering,finalProductAssembly - SJWG9ZY', + }, + { + value: 144929, + label: 'Manufacturer A -MatProd - 2B68ZRK', + }, + { + value: 145029, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 770JH4F', + }, + { + value: 145356, + label: 'printingProductDyeingAndLaundering - C55SWLM', + }, + { + value: 145311, + label: 'finalProductAssembly - BYPS0Z8', + }, + { + value: 145235, + label: 'finalProductAssembly - NHUTTKD', + }, + { + value: 145191, + label: 'finalProductAssembly - JN8VC5Z', + }, + { + value: 145317, + label: 'finalProductAssembly - AXNDTJ6', + }, + { + value: 144924, + label: 'finalProductAssembly - 2BG9BRY', + }, + { + value: 144915, + label: 'materialProduction - WeaveDyePrintPrep-MatProd-JZWHPSG', + }, + { + value: 145141, + label: 'finalProductAssembly - 3PM69QW', + }, + { + value: 145351, + label: 'finalProductAssembly - 5DNPCX4', + }, + { + value: 145312, + label: 'printingProductDyeingAndLaundering - V7UB0GA', + }, + { + value: 145096, + label: 'materialProduction - 410GXPD', + }, + { + value: 144791, + label: 'finalProductAssembly - C0S84LT', + }, + { + value: 144813, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - TVBBH36', + }, + { + value: 145182, + label: 'printingProductDyeingAndLaundering - ZNNGCLA', + }, + { + value: 145290, + label: 'printingProductDyeingAndLaundering - V3BW0CS', + }, + { + value: 145370, + label: 'M1FMRD4', + }, + { + value: 144839, + label: 'finalProductAssembly - E4NFEFT', + }, + { + value: 144845, + label: 'finalProductAssembly - NEMEWDC', + }, + { + value: 145042, + label: 'printingProductDyeingAndLaundering - ZMUTT9X', + }, + { + value: 145363, + label: 'finalProductAssembly - L2Z9UG8', + }, + { + value: 145022, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 75XTA47', + }, + { + value: 144846, + label: 'materialProduction - G8VZU2K', + }, + { + value: 145294, + label: 'finalProductAssembly - DLLS2LL', + }, + { + value: 144827, + label: 'finalProductAssembly - TUTJK45', + }, + { + value: 145217, + label: 'printingProductDyeingAndLaundering - PME8R1Q', + }, + { + value: 144857, + label: 'finalProductAssembly - DV85ML2', + }, + { + value: 145272, + label: 'finalProductAssembly - 4V60XVS', + }, + { + value: 145135, + label: + 'materialProduction - Knit - Dye - Heat - MatProd - 6K2LZ3F', + }, + { + value: 144761, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - V2EAG05', + }, + { + value: 145164, + label: 'materialProduction - KnitDyeHeatFinish-MatProd-EVBUQZZ', + }, + { + value: 144977, + label: 'K2SKARN', + }, + { + value: 145205, + label: 'finalProductAssembly - 9WUGDMQ', + }, + { + value: 145080, + label: 'materialProduction - Z0N7973', + }, + { + value: 145310, + label: 'finalProductAssembly - WPS8MGW', + }, + { + value: 144974, + label: 'finalProductAssembly - R2W2VVX', + }, + { + value: 145063, + label: 'finalProductAssembly - 2TUUNC9', + }, + { + value: 144941, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 5UNGXWB', + }, + { + value: 144861, + label: 'Manufacturer D - materialProd - 2M85KQ3', + }, + { + value: 144819, + label: 'materialProduction - HW6NBTX', + }, + { + value: 144841, + label: 'finalProductAssembly - 7Q7MHTC', + }, + { + value: 144942, + label: 'finalProductAssembly - ZT6K6QC', + }, + { + value: 145038, + label: 'finalProductAssembly - WFCVFYW', + }, + { + value: 144829, + label: 'finalProductAssembly - 8DLM4KP', + }, + { + value: 145116, + label: 'printingProductDyeingAndLaundering - TN4M5UC', + }, + { + value: 145130, + label: 'finalProductAssembly - VUAW1N7', + }, + { + value: 145341, + label: 'Manufacturer C - matProd - 32L1J52', + }, + { + value: 145281, + label: 'finalProductAssembly - SDEK6TD', + }, + { + value: 144801, + label: 'finalProductAssembly - 01ATR4L', + }, + { + value: 144960, + label: + 'printingProductDyeingAndLaundering,materialProduction - BVZ62DQ', + }, + { + value: 144975, + label: 'finalProductAssembly - T82XQ9C', + }, + { + value: 144833, + label: 'finalProductAssembly - 0PC02JL', + }, + { + value: 144920, + label: 'finalProductAssembly - 85C1C6V', + }, + { + value: 145348, + label: 'printingProductDyeingAndLaundering - 1DVBT1X', + }, + { + value: 144870, + label: 'printingProductDyeingAndLaundering - VVU8GA9', + }, + { + value: 144957, + label: 'materialProduction - WZWM47Z', + }, + { + value: 144881, + label: 'finalProductAssembly - JJ7XU80', + }, + { + value: 144914, + label: 'finalProductAssembly - YM78YXR', + }, + { + value: 144911, + label: 'materialProduction - T4H8L4X', + }, + { + value: 144888, + label: + 'materialProduction - WeaveDyePrintFinishBraid-MatProd-LM8F9N8', + }, + { + value: 144908, + label: 'finalProductAssembly,materialProduction - 3UNJUVW', + }, + { + value: 144933, + label: 'finalProductAssembly - R498W4C', + }, + { + value: 144777, + label: 'materialProduction - KnitDyeHeatWash-MatProd-F509MLE', + }, + { + value: 145225, + label: 'printingProductDyeingAndLaundering - BUF988A', + }, + { + value: 145192, + label: 'EHN0DPA', + }, + { + value: 145194, + label: 'materialProduction - 62CQXE1', + }, + { + value: 144964, + label: 'finalProductAssembly - KR5U81U', + }, + { + value: 144923, + label: 'materialProduction - CD10DRG', + }, + { + value: 145286, + label: 'finalProductAssembly - DMCYGE8', + }, + { + value: 145137, + label: 'finalProductAssembly - 7AH0QFH', + }, + { + value: 144891, + label: 'finalProductAssembly - WC7G1RQ', + }, + { + value: 144760, + label: 'finalProductAssembly - MB1F3VC', + }, + { + value: 145131, + label: 'materialProduction - Material Production - 5DMVUC6', + }, + { + value: 144970, + label: 'materialProduction - D027KYS', + }, + { + value: 144894, + label: 'finalProductAssembly - FWV4V1U', + }, + { + value: 144805, + label: 'materialProduction - H11U9D9', + }, + { + value: 145250, + label: 'printingProductDyeingAndLaundering - KXSTTLZ', + }, + { + value: 145150, + label: 'printingProductDyeingAndLaundering - N5Q50XJ', + }, + { + value: 145362, + label: 'finalProductAssembly - YVS076B', + }, + { + value: 145187, + label: 'printingProductDyeingAndLaundering - QETESAP', + }, + { + value: 144996, + label: 'printingProductDyeingAndLaundering - P9H4L4K', + }, + { + value: 145224, + label: 'printingProductDyeingAndLaundering - 83RLPC1', + }, + { + value: 145342, + label: 'finalProductAssembly - WNBV6SX', + }, + { + value: 144851, + label: 'finalProductAssembly - RYJ139P', + }, + { + value: 144935, + label: 'FA07CWR', + }, + { + value: 145159, + label: 'finalProductAssembly - 6SL66VE', + }, + { + value: 145316, + label: 'rawMaterialProcessing - YarnSpin-RawMat-HKVF3G4', + }, + { + value: 144873, + label: 'printingProductDyeingAndLaundering - HVKKFH0', + }, + { + value: 145265, + label: 'finalProductAssembly - BD49QAA', + }, + { + value: 145010, + label: 'finalProductAssembly - RQULHDP', + }, + { + value: 144783, + label: 'printingProductDyeingAndLaundering - 6V21L71', + }, + { + value: 144912, + label: 'materialProduction - QSAJ9BE', + }, + { + value: 145065, + label: 'materialProduction - QYRV2R9', + }, + { + value: 145073, + label: 'materialProduction - N1Q4H6L', + }, + { + value: 145318, + label: 'rawMaterialProcessing - U7V2CX8', + }, + { + value: 144882, + label: 'materialProduction - XPL5X8Z', + }, + { + value: 144858, + label: 'finalProductAssembly - V6ZNE7R', + }, + { + value: 145367, + label: 'EFYD8F5', + }, + { + value: 144814, + label: 'WYPC3DP', + }, + { + value: 145016, + label: 'finalProductAssembly - 19UVSEW', + }, + { + value: 145291, + label: 'printingProductDyeingAndLaundering - 8N8PFKD', + }, + { + value: 145003, + label: 'finalProductAssembly - C61YA7T', + }, + { + value: 144925, + label: 'finalProductAssembly - 6R24S3Q', + }, + { + value: 144854, + label: 'finalProductAssembly - XJD43JL', + }, + { + value: 144897, + label: 'hardComponentTrimProduction - VRU60VZ', + }, + { + value: 144999, + label: 'materialProduction - 6FCU6YL', + }, + { + value: 144934, + label: 'JE0XSH4', + }, + { + value: 144883, + label: 'finalProductAssembly - W1L84MJ', + }, + { + value: 144788, + label: 'finalProductAssembly,materialProduction - XWQSWSF', + }, + { + value: 145359, + label: 'finalProductAssembly - H7GQVQG', + }, + { + value: 145334, + label: 'materialProduction - C66UWUU', + }, + { + value: 145349, + label: 'finalProductAssembly - 76B0AB8', + }, + { + value: 145188, + label: 'printingProductDyeingAndLaundering - 98MEDXY', + }, + { + value: 145128, + label: 'finalProductAssembly - EEFKCQD', + }, + { + value: 145193, + label: 'printingProductDyeingAndLaundering - PQM4PS3', + }, + { + value: 145315, + label: 'materialProduction - 6RQZ31D', + }, + { + value: 145332, + label: 'printingProductDyeingAndLaundering - R33JTXS', + }, + { + value: 145071, + label: 'finalProductAssembly - W5GVWA1', + }, + { + value: 144955, + label: 'printingProductDyeingAndLaundering - GN8SGRN', + }, + { + value: 145283, + label: 'finalProductAssembly - 4HD8TRU', + }, + { + value: 145043, + label: 'finalProductAssembly - ZPJQSAU', + }, + { + value: 145035, + label: '1Y5KPCY', + }, + { + value: 144815, + label: 'P1EC68E', + }, + { + value: 145274, + label: 'Premier Textiles Ltd. 756J1KK ', + }, + { + value: 144943, + label: 'ERG1RY2', + }, + { + value: 145100, + label: 'QMLBTL7', + }, + { + value: 145087, + label: '22HJ2RA', + }, + { + value: 144820, + label: 'CKQZ0W8', + }, + { + value: 145314, + label: 'ZSFHKBH', + }, + { + value: 145105, + label: 'GWFFG6N', + }, + { + value: 144928, + label: 'Dye-MatProd-V8BEE5B', + }, + { + value: 144940, + label: '3NJRMR1', + }, + { + value: 145263, + label: '2H0PDBX', + }, + { + value: 145303, + label: 'UGCM533', + }, + { + value: 144834, + label: 'finalProductAssembly - 0PR1KP9', + }, + { + value: 145313, + label: 'Weave - Raw Mat - RG5FX9A', + }, + { + value: 145138, + label: 'GSGJ36Y', + }, + { + value: 144798, + label: 'finalProductAssembly - 942CTTK', + }, + { + value: 145177, + label: '23MPPQY', + }, + { + value: 145207, + label: '13UHYNY', + }, + { + value: 145121, + label: 'U3KYJQL', + }, + { + value: 145033, + label: 'UM69VDB', + }, + { + value: 144953, + label: '2ALHWNQ', + }, + { + value: 144808, + label: 'finalProductAssembly - 22027B1', + }, + { + value: 145006, + label: 'QJ2042M', + }, + { + value: 145098, + label: 'X113M25', + }, + { + value: 145278, + label: 'Q0A05AE', + }, + { + value: 145203, + label: 'QMFW0HA', + }, + { + value: 144910, + label: 'VP4AK1P', + }, + { + value: 144913, + label: 'VWK7LSP', + }, + { + value: 145002, + label: 'finalProductAssembly - R8HVNFG', + }, + { + value: 144984, + label: '0AE9N28', + }, + { + value: 144954, + label: 'finalProductAssembly - 2JNR68L', + }, + { + value: 145343, + label: '4UM078E', + }, + { + value: 145296, + label: 'RGVUJGY', + }, + { + value: 145104, + label: + 'materialProduction - Weave - MatProd - Spandex Only - BQCP3T5', + }, + { + value: 145379, + label: 'finalProductAssembly - T6FAMUA', + }, + { + value: 144895, + label: '41M2CAR', + }, + { + value: 144877, + label: '8GPW4K0', + }, + { + value: 144991, + label: 'QXCL09H', + }, + { + value: 145179, + label: 'E3NVZ2Y', + }, + { + value: 145216, + label: '3RTZDTD', + }, + { + value: 144909, + label: 'Knit - Mat Prod - 2HYDVEQ', + }, + { + value: 145258, + label: '8VF5KUC', + }, + { + value: 145186, + label: 'V5E6JWX', + }, + { + value: 145119, + label: '64C83JL', + }, + { + value: 145350, + label: 'PHBMPUD', + }, + { + value: 145384, + label: 'QPLT1LX', + }, + { + value: 145352, + label: '5VUK5ZU', + }, + { + value: 145355, + label: 'NNYGAUX', + }, + { + value: 145028, + label: '6CRSWXC', + }, + { + value: 145155, + label: '94S78QM', + }, + { + value: 145220, + label: 'finalProductAssembly - VQB7MWC', + }, + { + value: 145021, + label: 'finalProductAssembly - ZRRBAP8', + }, + { + value: 145127, + label: 'XXBWLAT', + }, + { + value: 144875, + label: 'HBQ9WAW', + }, + { + value: 144907, + label: 'materialProduction - FY3B0TQ', + }, + { + value: 145288, + label: 'materialProduction - P5AQXQN', + }, + { + value: 144840, + label: 'finalProductAssembly - N3BGQWU', + }, + { + value: 145139, + label: 'finalProductAssembly - 39GQY1S', + }, + { + value: 145271, + label: 'Q8WLYH4', + }, + { + value: 145180, + label: 'finalProductAssembly - VUE2RNE', + }, + { + value: 145115, + label: 'printingProductDyeingAndLaundering - KK51WRR', + }, + { + value: 145347, + label: 'LBN1YFW', + }, + { + value: 145268, + label: 'RPGET2L', + }, + { + value: 145066, + label: '990DWAX', + }, + { + value: 145013, + label: 'ZEUTKM4', + }, + { + value: 144879, + label: '1NK7E4B', + }, + { + value: 145221, + label: 'YHW9XVH', + }, + { + value: 145340, + label: 'NUSAGCS', + }, + { + value: 145389, + label: 'X9UK2AG', + }, + { + value: 145277, + label: 'JXD25SF', + }, + { + value: 145132, + label: 'PMC7R16', + }, + { + value: 144853, + label: 'materialProduction - PEX1JNK', + }, + { + value: 145230, + label: '6Y6845K', + }, + { + value: 144826, + label: 'finalProductAssembly - G86WHP1', + }, + { + value: 145057, + label: '9542EGS', + }, + { + value: 144766, + label: 'V1JMXQ1', + }, + { + value: 145008, + label: 'LVES57S', + }, + { + value: 145385, + label: 'finalProductAssembly - KMG55QT', + }, + { + value: 145337, + label: 'DCHTT8S', + }, + { + value: 144993, + label: '9A83YNG', + }, + { + value: 145206, + label: 'X64WG97', + }, + { + value: 144868, + label: 'ZZD2RJR', + }, + { + value: 145330, + label: 'KRHKPY3', + }, + { + value: 144926, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 4G0ZXRE', + }, + { + value: 144937, + label: 'JMV16VZ', + }, + { + value: 144900, + label: 'finalProductAssembly - X8JU0LS', + }, + { + value: 145319, + label: 'R6YSTA6', + }, + { + value: 145201, + label: 'S6GGGB1', + }, + { + value: 144778, + label: 'XP2NHG8', + }, + { + value: 145333, + label: 'UWTWG5L', + }, + { + value: 145084, + label: 'HMKL561', + }, + { + value: 144793, + label: '2TFAQR9', + }, + { + value: 145226, + label: 'rawMat-Braiding-K725RKJ', + }, + { + value: 144863, + label: '91K55HF', + }, + { + value: 145261, + label: 'R74MNK4', + }, + { + value: 145075, + label: 'M6F8HMV', + }, + { + value: 145133, + label: '4MSLA8B', + }, + { + value: 144890, + label: 'D3AT4MW', + }, + { + value: 145195, + label: + 'finalProductAssembly,hardComponentTrimProduction - 78Q49A2', + }, + { + value: 145190, + label: '2H86LR9', + }, + { + value: 145126, + label: 'L8BFK7Y', + }, + { + value: 145387, + label: 'materialProduction - ZBSZ7G8', + }, + { + value: 145336, + label: '3Y1NQ30', + }, + { + value: 144918, + label: 'ZBWBYXK', + }, + { + value: 145251, + label: 'A4V7P36', + }, + { + value: 144862, + label: 'VNSNDMP', + }, + { + value: 145125, + label: 'KZXP0DB', + }, + { + value: 144994, + label: '5FWYEW8', + }, + { + value: 145306, + label: 'printingProductDyeingAndLaundering - VNQ0ZPH', + }, + { + value: 144784, + label: 'RGRUHH4', + }, + { + value: 144927, + label: + 'printingProductDyeingAndLaundering,materialProduction - 4KK0MZD', + }, + { + value: 144816, + label: 'FPZ07E7', + }, + { + value: 144939, + label: '5UT5800', + }, + { + value: 144978, + label: 'KY67ARB', + }, + { + value: 144904, + label: 'materialProduction - 44A7V6V', + }, + { + value: 145295, + label: 'JEBT31H', + }, + { + value: 145321, + label: 'materialProduction - RAU2BMD', + }, + { + value: 144797, + label: 'Y5UNR3R', + }, + { + value: 145176, + label: 'M3H275D', + }, + { + value: 145339, + label: 'VEA64UY', + }, + { + value: 144958, + label: 'C7KYSMM', + }, + { + value: 145247, + label: '11K9FBJ', + }, + { + value: 144837, + label: 'T4P5YQQ', + }, + { + value: 145237, + label: 'finalProductAssembly,materialProduction - NVWDTQU', + }, + { + value: 145338, + label: 'BGCJ0CD', + }, + { + value: 144838, + label: 'VX630QX', + }, + { + value: 145335, + label: 'DVH8TNK', + }, + { + value: 144997, + label: '0KN5RKS', + }, + { + value: 144995, + label: '34LXDUX', + }, + { + value: 145147, + label: 'A91UTFH', + }, + { + value: 145344, + label: '7N3WLZV', + }, + { + value: 145259, + label: 'TYBKNWZ', + }, + { + value: 145324, + label: '1Y6STY8', + }, + { + value: 145302, + label: 'printingProductDyeingAndLaundering - SN1WP67', + }, + { + value: 145107, + label: '34ZA7T8', + }, + { + value: 144982, + label: 'Y5B5VVE', + }, + { + value: 144811, + label: 'TZT29UX', + }, + { + value: 145374, + label: '2RUMYF6', + }, + { + value: 145309, + label: '8RNK1A8', + }, + { + value: 145181, + label: 'N63284P', + }, + { + value: 145001, + label: 'WVLXM2R', + }, + { + value: 145171, + label: '7W2UF4X', + }, + { + value: 145279, + label: 'Manufacturer B - matProd - 31F408D', + }, + { + value: 144899, + label: 'EZJA69D', + }, + { + value: 145163, + label: 'materialProduction - WeaveDyeHeatWash-MatProd-5KG610Y', + }, + { + value: 145293, + label: '9BQHAB4', + }, + { + value: 144966, + label: 'KnitDye-MatProd-BPWFQ9U', + }, + { + value: 144965, + label: 'JHP3XAC', + }, + { + value: 145012, + label: 'materialProduction - FVTAXRJ', + }, + { + value: 145158, + label: 'finalProductAssembly - EN1DNRA', + }, + { + value: 145285, + label: 'printingProductDyeingAndLaundering - CZG5AGG', + }, + { + value: 145018, + label: 'printingProductDyeingAndLaundering - DKUEWK7', + }, + { + value: 145270, + label: 'PGUYYRF', + }, + { + value: 145166, + label: 'WN4SX2V', + }, + { + value: 145326, + label: 'Weave - RawMat - MXXW11K', + }, + { + value: 144809, + label: 'GJAP5AK', + }, + { + value: 144859, + label: 'JQ7X0AJ', + }, + { + value: 144828, + label: 'CBRQJF3', + }, + { + value: 144848, + label: 'PMH7EVZ', + }, + { + value: 145199, + label: '58H44L3', + }, + { + value: 145054, + label: '3Y035DK', + }, + { + value: 145289, + label: 'VNPPPLF', + }, + { + value: 144866, + label: 'G1N40G3', + }, + { + value: 144781, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - S8TWCBZ', + }, + { + value: 144986, + label: 'A728JDB', + }, + { + value: 145245, + label: 'Weave - MatProd - W0F60G2', + }, + { + value: 145292, + label: 'YDEKL2X', + }, + { + value: 145074, + label: 'materialProduction - SX0SAL1', + }, + { + value: 145328, + label: 'Yarn Spinner - 309RZSQ', + }, + { + value: 144944, + label: 'RTKNU8T', + }, + { + value: 144949, + label: 'F8AWWLJ', + }, + { + value: 144930, + label: '8DX8290', + }, + { + value: 144812, + label: '69F6H31', + }, + { + value: 144773, + label: 'UW0MRZK', + }, + { + value: 145287, + label: 'HP0A9K4', + }, + { + value: 145055, + label: 'QPG86GX', + }, + { + value: 145386, + label: 'D3P42GU', + }, + { + value: 145044, + label: '6AZVQ68', + }, + { + value: 145214, + label: '7LNRVYY', + }, + { + value: 144903, + label: 'EANPSZ0', + }, + { + value: 144916, + label: 'CFWQCNH', + }, + { + value: 145160, + label: 'S54NNA9', + }, + { + value: 144921, + label: 'TAC8VCJ', + }, + { + value: 144869, + label: 'LJB7TTJ', + }, + { + value: 145089, + label: '8DJWP56', + }, + { + value: 145304, + label: '6ZYEH0T', + }, + { + value: 144898, + label: 'BXMA2JN', + }, + { + value: 145282, + label: 'S1YKDYF', + }, + { + value: 145123, + label: 'HE4PJVM', + }, + { + value: 145120, + label: 'LYF884A', + }, + { + value: 144796, + label: 'Q9N7BMD', + }, + { + value: 144931, + label: 'E73RXZM', + }, + { + value: 145149, + label: 'K0SY05C', + }, + { + value: 145070, + label: 'U57CKDT', + }, + { + value: 145280, + label: 'CQZBN31', + }, + { + value: 145299, + label: '22DPBPP', + }, + { + value: 144842, + label: + 'printingProductDyeingAndLaundering,materialProduction - NW0XSV2', + }, + { + value: 145175, + label: 'LW0L2JX', + }, + { + value: 144856, + label: 'finalProductAssembly - UHXCJRF', + }, + { + value: 145256, + label: '64MF3TX', + }, + { + value: 144864, + label: 'QUD66UC', + }, + { + value: 145242, + label: '4P2WXWZ', + }, + { + value: 145077, + label: '2VG8JNS', + }, + { + value: 145111, + label: 'WBT279F', + }, + { + value: 144947, + label: '1Y1UJB5', + }, + { + value: 145088, + label: 'Weave-MatProd-0PS89UW', + }, + { + value: 145219, + label: 'YQ0AV1G', + }, + { + value: 144956, + label: 'U9GPNVH', + }, + { + value: 145373, + label: '25V23BY', + }, + { + value: 145249, + label: '0V4SQQQ', + }, + { + value: 145241, + label: '814F7P0', + }, + { + value: 144831, + label: 'NA4AAB4', + }, + { + value: 145154, + label: 'DR24ZAV', + }, + { + value: 145079, + label: 'U6CDCW9', + }, + { + value: 145108, + label: 'MCA1HRM', + }, + { + value: 145146, + label: 'QMG137X', + }, + { + value: 144792, + label: 'ZVJBHNG', + }, + { + value: 145056, + label: 'KLMA96L', + }, + { + value: 145114, + label: 'LZ47WBN', + }, + { + value: 145148, + label: 'SNCMDU0', + }, + { + value: 144844, + label: 'materialProduction - F3DU8UX', + }, + { + value: 145262, + label: '5N5A6GF', + }, + { + value: 145124, + label: '9PKVWCQ', + }, + { + value: 145031, + label: 'E4Z2A9L', + }, + { + value: 145266, + label: 'CTG99HM', + }, + { + value: 144764, + label: '8L91W81', + }, + { + value: 145254, + label: '3B901XB', + }, + { + value: 144803, + label: '9F7Q40Q', + }, + { + value: 145253, + label: 'XN03514', + }, + { + value: 145298, + label: 'C9J7TU6', + }, + { + value: 145228, + label: '1DWR1FZ', + }, + { + value: 145183, + label: 'VACMBM9', + }, + { + value: 144971, + label: 'NEMZ6SJ', + }, + { + value: 145248, + label: '96JQFTU', + }, + { + value: 145046, + label: 'RWM3BVK', + }, + { + value: 145231, + label: 'TA6KZLM', + }, + { + value: 145233, + label: 'QL4Z4JH', + }, + { + value: 145076, + label: '4M5DW3N', + }, + { + value: 145109, + label: 'EAN2AR0', + }, + { + value: 144799, + label: 'YC6L0LQ', + }, + { + value: 145244, + label: 'YDU2VWC', + }, + { + value: 145210, + label: 'ELSRL72', + }, + { + value: 144884, + label: 'LUABMZK', + }, + { + value: 145052, + label: 'Z38SP7M', + }, + { + value: 145211, + label: 'DMW19YZ', + }, + { + value: 145185, + label: '9U9GLMT', + }, + { + value: 145208, + label: '4J6J8BR', + }, + { + value: 144860, + label: 'R75XP11', + }, + { + value: 145229, + label: 'RB8Y0R7', + }, + { + value: 145212, + label: 'FH00KX0', + }, + { + value: 145204, + label: 'HW6KQZC', + }, + { + value: 145140, + label: '7JAFGQD', + }, + { + value: 145110, + label: '2E9DUP4', + }, + { + value: 145117, + label: 'WFLZXDK', + }, + { + value: 145030, + label: '8N7J69G', + }, + { + value: 145156, + label: 'VC89NLG', + }, + { + value: 145173, + label: '2NP3027', + }, + { + value: 145161, + label: 'LFE14M9', + }, + { + value: 145036, + label: 'Q8NEAST', + }, + { + value: 144780, + label: '28XUQJ9', + }, + { + value: 145011, + label: 'GCXFX06', + }, + { + value: 145027, + label: '6EH8JUG', + }, + { + value: 144779, + label: '5AZWHHV', + }, + { + value: 144981, + label: 'CL5A0T7', + }, + { + value: 145118, + label: '202450N', + }, + { + value: 144880, + label: '8B59EAX', + }, + { + value: 145238, + label: 'EY3DL2U', + }, + { + value: 145168, + label: 'LT7TZVP', + }, + { + value: 145197, + label: 'M0GHTT1', + }, + { + value: 145157, + label: 'WJV20A8', + }, + { + value: 144818, + label: '3KYQPVW', + }, + { + value: 145145, + label: '6ZU7HEQ', + }, + { + value: 145083, + label: 'RC7TJSM', + }, + { + value: 145234, + label: 'KKGC6BX', + }, + { + value: 144889, + label: 'KR1ECNG', + }, + { + value: 145068, + label: 'KYQA9LE', + }, + { + value: 145078, + label: '723RNDJ', + }, + { + value: 145153, + label: '50B4SGP', + }, + { + value: 145377, + label: 'RRWDP19', + }, + { + value: 144855, + label: 'LCLPALD', + }, + { + value: 144946, + label: 'VRQDA8Y', + }, + { + value: 144989, + label: 'WCL9WX4', + }, + { + value: 144952, + label: 'V7P8S5X', + }, + { + value: 145165, + label: 'L3BXCF1', + }, + { + value: 144980, + label: 'HL44UF2', + }, + { + value: 144782, + label: '15FZR3Q', + }, + { + value: 144901, + label: 'Y8LRJ5S', + }, + { + value: 145134, + label: 'KRWTNDK', + }, + { + value: 144767, + label: 'FHN9PTN', + }, + { + value: 144830, + label: 'TG0K5UY', + }, + { + value: 144850, + label: '0F6PG7C', + }, + { + value: 144769, + label: 'P7VUZKF', + }, + { + value: 145094, + label: '7W96UFS', + }, + { + value: 145174, + label: 'JJG7V87', + }, + { + value: 145151, + label: '3K0YXKB', + }, + { + value: 145058, + label: '0H59VUR', + }, + { + value: 145382, + label: 'JR2DU4U', + }, + { + value: 144936, + label: 'GMNSUFR', + }, + { + value: 144988, + label: 'HACSUMP', + }, + { + value: 144962, + label: '8BSBQLP', + }, + { + value: 144878, + label: '6T10YEY', + }, + { + value: 145000, + label: 'EAT43KV', + }, + { + value: 144867, + label: 'SSAZPRG', + }, + { + value: 145032, + label: 'B5XXEM7', + }, + { + value: 145062, + label: 'M7JRW43', + }, + { + value: 144902, + label: 'L0PJG07', + }, + { + value: 145023, + label: '80T5FHB', + }, + { + value: 145025, + label: 'CFWLE7K', + }, + { + value: 144983, + label: 'FERSE88', + }, + { + value: 145047, + label: 'ZVPVJ4B', + }, + { + value: 145034, + label: 'DQ6E42M', + }, + { + value: 145090, + label: 'K04JGE5', + }, + { + value: 145375, + label: 'HU07A33', + }, + { + value: 145102, + label: 'RYC89DT', + }, + { + value: 145024, + label: 'TKP6EG6', + }, + { + value: 144961, + label: 'DLZS6D8', + }, + { + value: 144765, + label: 'NZJ9ZHA', + }, + { + value: 145081, + label: '0BSHRF1', + }, + { + value: 144906, + label: 'J0GWKC8', + }, + { + value: 145019, + label: 'Q5W1H29', + }, + { + value: 145082, + label: '4156UJU', + }, + { + value: 145005, + label: '01892QN', + }, + { + value: 145113, + label: 'XT551LD', + }, + { + value: 145004, + label: '2W67VJW', + }, + { + value: 145060, + label: 'RQZXNB5', + }, + { + value: 145112, + label: 'XZGB6LM', + }, + { + value: 144967, + label: 'V8TF4DT', + }, + { + value: 144794, + label: 'F3CAY09', + }, + { + value: 145378, + label: 'CR95C6B', + }, + { + value: 145086, + label: 'A9VQ0NV', + }, + { + value: 145106, + label: 'V0CYJMF', + }, + { + value: 144795, + label: '4TF9SDH', + }, + { + value: 145009, + label: '2PC2SY4', + }, + { + value: 145061, + label: '2GSG96P', + }, + { + value: 145020, + label: 'ZZZB0PW', + }, + { + value: 144892, + label: 'ZF542Q9', + }, + { + value: 144852, + label: '6FDXU8T', + }, + { + value: 144817, + label: 'AG8THHR', + }, + { + value: 144774, + label: '4KRJE1V', + }, + { + value: 144905, + label: 'SFP6MRN', + }, + ], + }, + }, + { + key: 'P005Country', + type: 'enum', + label: 'P005 Country', + isArray: false, + multi: true, + config: { + allowCustom: false, + options: [ + { + value: 'Afghanistan', + label: 'Afghanistan', + }, + { + value: 'Albania', + label: 'Albania', + }, + { + value: 'Algeria', + label: 'Algeria', + }, + { + value: 'American Samoa', + label: 'American Samoa', + }, + { + value: 'Andorra', + label: 'Andorra', + }, + { + value: 'Angola', + label: 'Angola', + }, + { + value: 'Anguilla', + label: 'Anguilla', + }, + { + value: 'Antarctica', + label: 'Antarctica', + }, + { + value: 'Antigua and Barbuda', + label: 'Antigua and Barbuda', + }, + { + value: 'Argentina', + label: 'Argentina', + }, + { + value: 'Armenia', + label: 'Armenia', + }, + { + value: 'Aruba', + label: 'Aruba', + }, + { + value: 'Australia', + label: 'Australia', + }, + { + value: 'Austria', + label: 'Austria', + }, + { + value: 'Azerbaijan', + label: 'Azerbaijan', + }, + { + value: 'Bahamas, The', + label: 'Bahamas, The', + }, + { + value: 'Bahrain', + label: 'Bahrain', + }, + { + value: 'Bangladesh', + label: 'Bangladesh', + }, + { + value: 'Barbados', + label: 'Barbados', + }, + { + value: 'Belarus', + label: 'Belarus', + }, + { + value: 'Belgium', + label: 'Belgium', + }, + { + value: 'Belize', + label: 'Belize', + }, + { + value: 'Benin', + label: 'Benin', + }, + { + value: 'Bermuda', + label: 'Bermuda', + }, + { + value: 'Bhutan', + label: 'Bhutan', + }, + { + value: 'Bolivia', + label: 'Bolivia', + }, + { + value: 'Bosnia and Herzegovina', + label: 'Bosnia and Herzegovina', + }, + { + value: 'Botswana', + label: 'Botswana', + }, + { + value: 'Bouvet Island', + label: 'Bouvet Island', + }, + { + value: 'Brazil', + label: 'Brazil', + }, + { + value: 'British Indian Ocean Territory', + label: 'British Indian Ocean Territory', + }, + { + value: 'British Virgin Islands', + label: 'British Virgin Islands', + }, + { + value: 'Brunei', + label: 'Brunei', + }, + { + value: 'Bulgaria', + label: 'Bulgaria', + }, + { + value: 'Burkina Faso', + label: 'Burkina Faso', + }, + { + value: 'Burma', + label: 'Burma', + }, + { + value: 'Burundi', + label: 'Burundi', + }, + { + value: 'Cambodia', + label: 'Cambodia', + }, + { + value: 'Cameroon', + label: 'Cameroon', + }, + { + value: 'Canada', + label: 'Canada', + }, + { + value: 'Cape Verde', + label: 'Cape Verde', + }, + { + value: 'Cayman Islands', + label: 'Cayman Islands', + }, + { + value: 'Central African Republic', + label: 'Central African Republic', + }, + { + value: 'Chad', + label: 'Chad', + }, + { + value: 'Chile', + label: 'Chile', + }, + { + value: 'China', + label: 'China', + }, + { + value: 'Christmas Island', + label: 'Christmas Island', + }, + { + value: 'Cocos (Keeling) Islands', + label: 'Cocos (Keeling) Islands', + }, + { + value: 'Colombia', + label: 'Colombia', + }, + { + value: 'Comoros', + label: 'Comoros', + }, + { + value: 'Congo, Democratic Republic of the', + label: 'Congo, Democratic Republic of the', + }, + { + value: 'Congo, Republic of the', + label: 'Congo, Republic of the', + }, + { + value: 'Cook Islands', + label: 'Cook Islands', + }, + { + value: 'Costa Rica', + label: 'Costa Rica', + }, + { + value: "Cote d'Ivoire", + label: "Cote d'Ivoire", + }, + { + value: 'Croatia', + label: 'Croatia', + }, + { + value: 'Cuba', + label: 'Cuba', + }, + { + value: 'Curacao', + label: 'Curacao', + }, + { + value: 'Cyprus', + label: 'Cyprus', + }, + { + value: 'Czech Republic', + label: 'Czech Republic', + }, + { + value: 'Denmark', + label: 'Denmark', + }, + { + value: 'Djibouti', + label: 'Djibouti', + }, + { + value: 'Dominica', + label: 'Dominica', + }, + { + value: 'Dominican Republic', + label: 'Dominican Republic', + }, + { + value: 'Ecuador', + label: 'Ecuador', + }, + { + value: 'Egypt', + label: 'Egypt', + }, + { + value: 'El Salvador', + label: 'El Salvador', + }, + { + value: 'Equatorial Guinea', + label: 'Equatorial Guinea', + }, + { + value: 'Eritrea', + label: 'Eritrea', + }, + { + value: 'Estonia', + label: 'Estonia', + }, + { + value: 'Ethiopia', + label: 'Ethiopia', + }, + { + value: 'Falkland Islands (Islas Malvinas)', + label: 'Falkland Islands (Islas Malvinas)', + }, + { + value: 'Faroe Islands', + label: 'Faroe Islands', + }, + { + value: 'Fiji', + label: 'Fiji', + }, + { + value: 'Finland', + label: 'Finland', + }, + { + value: 'France', + label: 'France', + }, + { + value: 'France, Metropolitan', + label: 'France, Metropolitan', + }, + { + value: 'French Guiana', + label: 'French Guiana', + }, + { + value: 'French Polynesia', + label: 'French Polynesia', + }, + { + value: 'French Southern and Antarctic Lands', + label: 'French Southern and Antarctic Lands', + }, + { + value: 'Gabon', + label: 'Gabon', + }, + { + value: 'Gambia, The', + label: 'Gambia, The', + }, + { + value: 'Gaza Strip', + label: 'Gaza Strip', + }, + { + value: 'Georgia', + label: 'Georgia', + }, + { + value: 'Germany', + label: 'Germany', + }, + { + value: 'Ghana', + label: 'Ghana', + }, + { + value: 'Gibraltar', + label: 'Gibraltar', + }, + { + value: 'Greece', + label: 'Greece', + }, + { + value: 'Greenland', + label: 'Greenland', + }, + { + value: 'Grenada', + label: 'Grenada', + }, + { + value: 'Guadeloupe', + label: 'Guadeloupe', + }, + { + value: 'Guam', + label: 'Guam', + }, + { + value: 'Guatemala', + label: 'Guatemala', + }, + { + value: 'Guernsey', + label: 'Guernsey', + }, + { + value: 'Guinea', + label: 'Guinea', + }, + { + value: 'Guinea-Bissau', + label: 'Guinea-Bissau', + }, + { + value: 'Guyana', + label: 'Guyana', + }, + { + value: 'Haiti', + label: 'Haiti', + }, + { + value: 'Heard Island and McDonald Islands', + label: 'Heard Island and McDonald Islands', + }, + { + value: 'Holy See (Vatican City)', + label: 'Holy See (Vatican City)', + }, + { + value: 'Honduras', + label: 'Honduras', + }, + { + value: 'Hong Kong, China', + label: 'Hong Kong, China', + }, + { + value: 'Hungary', + label: 'Hungary', + }, + { + value: 'Iceland', + label: 'Iceland', + }, + { + value: 'India', + label: 'India', + }, + { + value: 'Indonesia', + label: 'Indonesia', + }, + { + value: 'Iran', + label: 'Iran', + }, + { + value: 'Iraq', + label: 'Iraq', + }, + { + value: 'Ireland', + label: 'Ireland', + }, + { + value: 'Isle of Man', + label: 'Isle of Man', + }, + { + value: 'Israel', + label: 'Israel', + }, + { + value: 'Italy', + label: 'Italy', + }, + { + value: 'Jamaica', + label: 'Jamaica', + }, + { + value: 'Japan', + label: 'Japan', + }, + { + value: 'Jersey', + label: 'Jersey', + }, + { + value: 'Jordan', + label: 'Jordan', + }, + { + value: 'Kazakhstan', + label: 'Kazakhstan', + }, + { + value: 'Kenya', + label: 'Kenya', + }, + { + value: 'Kiribati', + label: 'Kiribati', + }, + { + value: 'Korea, North', + label: 'Korea, North', + }, + { + value: 'Korea, South', + label: 'Korea, South', + }, + { + value: 'Kosovo', + label: 'Kosovo', + }, + { + value: 'Kuwait', + label: 'Kuwait', + }, + { + value: 'Kyrgyzstan', + label: 'Kyrgyzstan', + }, + { + value: 'Laos', + label: 'Laos', + }, + { + value: 'Latvia', + label: 'Latvia', + }, + { + value: 'Lebanon', + label: 'Lebanon', + }, + { + value: 'Lesotho', + label: 'Lesotho', + }, + { + value: 'Liberia', + label: 'Liberia', + }, + { + value: 'Libya', + label: 'Libya', + }, + { + value: 'Liechtenstein', + label: 'Liechtenstein', + }, + { + value: 'Lithuania', + label: 'Lithuania', + }, + { + value: 'Luxembourg', + label: 'Luxembourg', + }, + { + value: 'Macau', + label: 'Macau', + }, + { + value: 'Macedonia', + label: 'Macedonia', + }, + { + value: 'Madagascar', + label: 'Madagascar', + }, + { + value: 'Malawi', + label: 'Malawi', + }, + { + value: 'Malaysia', + label: 'Malaysia', + }, + { + value: 'Maldives', + label: 'Maldives', + }, + { + value: 'Mali', + label: 'Mali', + }, + { + value: 'Malta', + label: 'Malta', + }, + { + value: 'Marshall Islands', + label: 'Marshall Islands', + }, + { + value: 'Martinique', + label: 'Martinique', + }, + { + value: 'Mauritania', + label: 'Mauritania', + }, + { + value: 'Mauritius', + label: 'Mauritius', + }, + { + value: 'Mayotte', + label: 'Mayotte', + }, + { + value: 'Mexico', + label: 'Mexico', + }, + { + value: 'Micronesia, Federated States of', + label: 'Micronesia, Federated States of', + }, + { + value: 'Moldova', + label: 'Moldova', + }, + { + value: 'Monaco', + label: 'Monaco', + }, + { + value: 'Mongolia', + label: 'Mongolia', + }, + { + value: 'Montenegro', + label: 'Montenegro', + }, + { + value: 'Montserrat', + label: 'Montserrat', + }, + { + value: 'Morocco', + label: 'Morocco', + }, + { + value: 'Mozambique', + label: 'Mozambique', + }, + { + value: 'Namibia', + label: 'Namibia', + }, + { + value: 'Nauru', + label: 'Nauru', + }, + { + value: 'Nepal', + label: 'Nepal', + }, + { + value: 'Netherlands', + label: 'Netherlands', + }, + { + value: 'New Caledonia', + label: 'New Caledonia', + }, + { + value: 'New Zealand', + label: 'New Zealand', + }, + { + value: 'Nicaragua', + label: 'Nicaragua', + }, + { + value: 'Niger', + label: 'Niger', + }, + { + value: 'Nigeria', + label: 'Nigeria', + }, + { + value: 'Niue', + label: 'Niue', + }, + { + value: 'Norfolk Island', + label: 'Norfolk Island', + }, + { + value: 'Northern Mariana Islands', + label: 'Northern Mariana Islands', + }, + { + value: 'Norway', + label: 'Norway', + }, + { + value: 'Oman', + label: 'Oman', + }, + { + value: 'Pakistan', + label: 'Pakistan', + }, + { + value: 'Palau', + label: 'Palau', + }, + { + value: 'Panama', + label: 'Panama', + }, + { + value: 'Papua New Guinea', + label: 'Papua New Guinea', + }, + { + value: 'Paraguay', + label: 'Paraguay', + }, + { + value: 'Peru', + label: 'Peru', + }, + { + value: 'Philippines', + label: 'Philippines', + }, + { + value: 'Pitcairn Islands', + label: 'Pitcairn Islands', + }, + { + value: 'Poland', + label: 'Poland', + }, + { + value: 'Portugal', + label: 'Portugal', + }, + { + value: 'Puerto Rico', + label: 'Puerto Rico', + }, + { + value: 'Qatar', + label: 'Qatar', + }, + { + value: 'Reunion', + label: 'Reunion', + }, + { + value: 'Romania', + label: 'Romania', + }, + { + value: 'Russia', + label: 'Russia', + }, + { + value: 'Rwanda', + label: 'Rwanda', + }, + { + value: 'Saint Barthelemy', + label: 'Saint Barthelemy', + }, + { + value: 'Saint Helena, Ascension, and Tristan da Cunha', + label: 'Saint Helena, Ascension, and Tristan da Cunha', + }, + { + value: 'Saint Kitts and Nevis', + label: 'Saint Kitts and Nevis', + }, + { + value: 'Saint Lucia', + label: 'Saint Lucia', + }, + { + value: 'Saint Martin', + label: 'Saint Martin', + }, + { + value: 'Saint Pierre and Miquelon', + label: 'Saint Pierre and Miquelon', + }, + { + value: 'Saint Vincent and the Grenadines', + label: 'Saint Vincent and the Grenadines', + }, + { + value: 'Samoa', + label: 'Samoa', + }, + { + value: 'San Marino', + label: 'San Marino', + }, + { + value: 'Sao Tome and Principe', + label: 'Sao Tome and Principe', + }, + { + value: 'Saudi Arabia', + label: 'Saudi Arabia', + }, + { + value: 'Senegal', + label: 'Senegal', + }, + { + value: 'Serbia', + label: 'Serbia', + }, + { + value: 'Seychelles', + label: 'Seychelles', + }, + { + value: 'Sierra Leone', + label: 'Sierra Leone', + }, + { + value: 'Singapore', + label: 'Singapore', + }, + { + value: 'Sint Maarten', + label: 'Sint Maarten', + }, + { + value: 'Slovakia', + label: 'Slovakia', + }, + { + value: 'Slovenia', + label: 'Slovenia', + }, + { + value: 'Solomon Islands', + label: 'Solomon Islands', + }, + { + value: 'Somalia', + label: 'Somalia', + }, + { + value: 'South Africa', + label: 'South Africa', + }, + { + value: 'South Georgia and the Islands', + label: 'South Georgia and the Islands', + }, + { + value: 'South Sudan', + label: 'South Sudan', + }, + { + value: 'Spain', + label: 'Spain', + }, + { + value: 'Sri Lanka', + label: 'Sri Lanka', + }, + { + value: 'Sudan', + label: 'Sudan', + }, + { + value: 'Suriname', + label: 'Suriname', + }, + { + value: 'Svalbard', + label: 'Svalbard', + }, + { + value: 'Swaziland', + label: 'Swaziland', + }, + { + value: 'Sweden', + label: 'Sweden', + }, + { + value: 'Switzerland', + label: 'Switzerland', + }, + { + value: 'Syria', + label: 'Syria', + }, + { + value: 'Taiwan, China', + label: 'Taiwan, China', + }, + { + value: 'Tajikistan', + label: 'Tajikistan', + }, + { + value: 'Tanzania', + label: 'Tanzania', + }, + { + value: 'Thailand', + label: 'Thailand', + }, + { + value: 'Timor-Leste', + label: 'Timor-Leste', + }, + { + value: 'Togo', + label: 'Togo', + }, + { + value: 'Tokelau', + label: 'Tokelau', + }, + { + value: 'Tonga', + label: 'Tonga', + }, + { + value: 'Trinidad and Tobago', + label: 'Trinidad and Tobago', + }, + { + value: 'Tunisia', + label: 'Tunisia', + }, + { + value: 'Turkey', + label: 'Turkey', + }, + { + value: 'Turkmenistan', + label: 'Turkmenistan', + }, + { + value: 'Turks and Caicos Islands', + label: 'Turks and Caicos Islands', + }, + { + value: 'Tuvalu', + label: 'Tuvalu', + }, + { + value: 'Uganda', + label: 'Uganda', + }, + { + value: 'Ukraine', + label: 'Ukraine', + }, + { + value: 'United Arab Emirates', + label: 'United Arab Emirates', + }, + { + value: 'United Kingdom', + label: 'United Kingdom', + }, + { + value: 'United States', + label: 'United States', + }, + { + value: 'United States Minor Outlying Islands', + label: 'United States Minor Outlying Islands', + }, + { + value: 'Uruguay', + label: 'Uruguay', + }, + { + value: 'Uzbekistan', + label: 'Uzbekistan', + }, + { + value: 'Vanuatu', + label: 'Vanuatu', + }, + { + value: 'Venezuela', + label: 'Venezuela', + }, + { + value: 'Vietnam', + label: 'Vietnam', + }, + { + value: 'Virgin Islands', + label: 'Virgin Islands', + }, + { + value: 'Wallis and Futuna', + label: 'Wallis and Futuna', + }, + { + value: 'West Bank', + label: 'West Bank', + }, + { + value: 'Western Sahara', + label: 'Western Sahara', + }, + { + value: 'Yemen', + label: 'Yemen', + }, + { + value: 'Zambia', + label: 'Zambia', + }, + { + value: 'Zimbabwe', + label: 'Zimbabwe', + }, + ], + }, + }, + { + type: 'enum', + key: 'P006Facility', + label: 'P006 Facility', + isArray: true, + description: 'Supplier Name or Worldly Id.', + multi: true, + config: { + allowCustom: true, + options: [ + { + value: 144804, + label: 'finalProductAssembly - 5Y7LDWV', + }, + { + value: 145007, + label: 'finalProductAssembly - VAJ2KYY', + }, + { + value: 145376, + label: 'finalProductAssembly - DWXFDE6', + }, + { + value: 145284, + label: + 'printingProductDyeingAndLaundering,finalProductAssembly - SJWG9ZY', + }, + { + value: 144929, + label: 'Manufacturer A -MatProd - 2B68ZRK', + }, + { + value: 145029, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 770JH4F', + }, + { + value: 145356, + label: 'printingProductDyeingAndLaundering - C55SWLM', + }, + { + value: 145311, + label: 'finalProductAssembly - BYPS0Z8', + }, + { + value: 145235, + label: 'finalProductAssembly - NHUTTKD', + }, + { + value: 145191, + label: 'finalProductAssembly - JN8VC5Z', + }, + { + value: 145317, + label: 'finalProductAssembly - AXNDTJ6', + }, + { + value: 144924, + label: 'finalProductAssembly - 2BG9BRY', + }, + { + value: 144915, + label: 'materialProduction - WeaveDyePrintPrep-MatProd-JZWHPSG', + }, + { + value: 145141, + label: 'finalProductAssembly - 3PM69QW', + }, + { + value: 145351, + label: 'finalProductAssembly - 5DNPCX4', + }, + { + value: 145312, + label: 'printingProductDyeingAndLaundering - V7UB0GA', + }, + { + value: 145096, + label: 'materialProduction - 410GXPD', + }, + { + value: 144791, + label: 'finalProductAssembly - C0S84LT', + }, + { + value: 144813, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - TVBBH36', + }, + { + value: 145182, + label: 'printingProductDyeingAndLaundering - ZNNGCLA', + }, + { + value: 145290, + label: 'printingProductDyeingAndLaundering - V3BW0CS', + }, + { + value: 145370, + label: 'M1FMRD4', + }, + { + value: 144839, + label: 'finalProductAssembly - E4NFEFT', + }, + { + value: 144845, + label: 'finalProductAssembly - NEMEWDC', + }, + { + value: 145042, + label: 'printingProductDyeingAndLaundering - ZMUTT9X', + }, + { + value: 145363, + label: 'finalProductAssembly - L2Z9UG8', + }, + { + value: 145022, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 75XTA47', + }, + { + value: 144846, + label: 'materialProduction - G8VZU2K', + }, + { + value: 145294, + label: 'finalProductAssembly - DLLS2LL', + }, + { + value: 144827, + label: 'finalProductAssembly - TUTJK45', + }, + { + value: 145217, + label: 'printingProductDyeingAndLaundering - PME8R1Q', + }, + { + value: 144857, + label: 'finalProductAssembly - DV85ML2', + }, + { + value: 145272, + label: 'finalProductAssembly - 4V60XVS', + }, + { + value: 145135, + label: + 'materialProduction - Knit - Dye - Heat - MatProd - 6K2LZ3F', + }, + { + value: 144761, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - V2EAG05', + }, + { + value: 145164, + label: 'materialProduction - KnitDyeHeatFinish-MatProd-EVBUQZZ', + }, + { + value: 144977, + label: 'K2SKARN', + }, + { + value: 145205, + label: 'finalProductAssembly - 9WUGDMQ', + }, + { + value: 145080, + label: 'materialProduction - Z0N7973', + }, + { + value: 145310, + label: 'finalProductAssembly - WPS8MGW', + }, + { + value: 144974, + label: 'finalProductAssembly - R2W2VVX', + }, + { + value: 145063, + label: 'finalProductAssembly - 2TUUNC9', + }, + { + value: 144941, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 5UNGXWB', + }, + { + value: 144861, + label: 'Manufacturer D - materialProd - 2M85KQ3', + }, + { + value: 144819, + label: 'materialProduction - HW6NBTX', + }, + { + value: 144841, + label: 'finalProductAssembly - 7Q7MHTC', + }, + { + value: 144942, + label: 'finalProductAssembly - ZT6K6QC', + }, + { + value: 145038, + label: 'finalProductAssembly - WFCVFYW', + }, + { + value: 144829, + label: 'finalProductAssembly - 8DLM4KP', + }, + { + value: 145116, + label: 'printingProductDyeingAndLaundering - TN4M5UC', + }, + { + value: 145130, + label: 'finalProductAssembly - VUAW1N7', + }, + { + value: 145341, + label: 'Manufacturer C - matProd - 32L1J52', + }, + { + value: 145281, + label: 'finalProductAssembly - SDEK6TD', + }, + { + value: 144801, + label: 'finalProductAssembly - 01ATR4L', + }, + { + value: 144960, + label: + 'printingProductDyeingAndLaundering,materialProduction - BVZ62DQ', + }, + { + value: 144975, + label: 'finalProductAssembly - T82XQ9C', + }, + { + value: 144833, + label: 'finalProductAssembly - 0PC02JL', + }, + { + value: 144920, + label: 'finalProductAssembly - 85C1C6V', + }, + { + value: 145348, + label: 'printingProductDyeingAndLaundering - 1DVBT1X', + }, + { + value: 144870, + label: 'printingProductDyeingAndLaundering - VVU8GA9', + }, + { + value: 144957, + label: 'materialProduction - WZWM47Z', + }, + { + value: 144881, + label: 'finalProductAssembly - JJ7XU80', + }, + { + value: 144914, + label: 'finalProductAssembly - YM78YXR', + }, + { + value: 144911, + label: 'materialProduction - T4H8L4X', + }, + { + value: 144888, + label: + 'materialProduction - WeaveDyePrintFinishBraid-MatProd-LM8F9N8', + }, + { + value: 144908, + label: 'finalProductAssembly,materialProduction - 3UNJUVW', + }, + { + value: 144933, + label: 'finalProductAssembly - R498W4C', + }, + { + value: 144777, + label: 'materialProduction - KnitDyeHeatWash-MatProd-F509MLE', + }, + { + value: 145225, + label: 'printingProductDyeingAndLaundering - BUF988A', + }, + { + value: 145192, + label: 'EHN0DPA', + }, + { + value: 145194, + label: 'materialProduction - 62CQXE1', + }, + { + value: 144964, + label: 'finalProductAssembly - KR5U81U', + }, + { + value: 144923, + label: 'materialProduction - CD10DRG', + }, + { + value: 145286, + label: 'finalProductAssembly - DMCYGE8', + }, + { + value: 145137, + label: 'finalProductAssembly - 7AH0QFH', + }, + { + value: 144891, + label: 'finalProductAssembly - WC7G1RQ', + }, + { + value: 144760, + label: 'finalProductAssembly - MB1F3VC', + }, + { + value: 145131, + label: 'materialProduction - Material Production - 5DMVUC6', + }, + { + value: 144970, + label: 'materialProduction - D027KYS', + }, + { + value: 144894, + label: 'finalProductAssembly - FWV4V1U', + }, + { + value: 144805, + label: 'materialProduction - H11U9D9', + }, + { + value: 145250, + label: 'printingProductDyeingAndLaundering - KXSTTLZ', + }, + { + value: 145150, + label: 'printingProductDyeingAndLaundering - N5Q50XJ', + }, + { + value: 145362, + label: 'finalProductAssembly - YVS076B', + }, + { + value: 145187, + label: 'printingProductDyeingAndLaundering - QETESAP', + }, + { + value: 144996, + label: 'printingProductDyeingAndLaundering - P9H4L4K', + }, + { + value: 145224, + label: 'printingProductDyeingAndLaundering - 83RLPC1', + }, + { + value: 145342, + label: 'finalProductAssembly - WNBV6SX', + }, + { + value: 144851, + label: 'finalProductAssembly - RYJ139P', + }, + { + value: 144935, + label: 'FA07CWR', + }, + { + value: 145159, + label: 'finalProductAssembly - 6SL66VE', + }, + { + value: 145316, + label: 'rawMaterialProcessing - YarnSpin-RawMat-HKVF3G4', + }, + { + value: 144873, + label: 'printingProductDyeingAndLaundering - HVKKFH0', + }, + { + value: 145265, + label: 'finalProductAssembly - BD49QAA', + }, + { + value: 145010, + label: 'finalProductAssembly - RQULHDP', + }, + { + value: 144783, + label: 'printingProductDyeingAndLaundering - 6V21L71', + }, + { + value: 144912, + label: 'materialProduction - QSAJ9BE', + }, + { + value: 145065, + label: 'materialProduction - QYRV2R9', + }, + { + value: 145073, + label: 'materialProduction - N1Q4H6L', + }, + { + value: 145318, + label: 'rawMaterialProcessing - U7V2CX8', + }, + { + value: 144882, + label: 'materialProduction - XPL5X8Z', + }, + { + value: 144858, + label: 'finalProductAssembly - V6ZNE7R', + }, + { + value: 145367, + label: 'EFYD8F5', + }, + { + value: 144814, + label: 'WYPC3DP', + }, + { + value: 145016, + label: 'finalProductAssembly - 19UVSEW', + }, + { + value: 145291, + label: 'printingProductDyeingAndLaundering - 8N8PFKD', + }, + { + value: 145003, + label: 'finalProductAssembly - C61YA7T', + }, + { + value: 144925, + label: 'finalProductAssembly - 6R24S3Q', + }, + { + value: 144854, + label: 'finalProductAssembly - XJD43JL', + }, + { + value: 144897, + label: 'hardComponentTrimProduction - VRU60VZ', + }, + { + value: 144999, + label: 'materialProduction - 6FCU6YL', + }, + { + value: 144934, + label: 'JE0XSH4', + }, + { + value: 144883, + label: 'finalProductAssembly - W1L84MJ', + }, + { + value: 144788, + label: 'finalProductAssembly,materialProduction - XWQSWSF', + }, + { + value: 145359, + label: 'finalProductAssembly - H7GQVQG', + }, + { + value: 145334, + label: 'materialProduction - C66UWUU', + }, + { + value: 145349, + label: 'finalProductAssembly - 76B0AB8', + }, + { + value: 145188, + label: 'printingProductDyeingAndLaundering - 98MEDXY', + }, + { + value: 145128, + label: 'finalProductAssembly - EEFKCQD', + }, + { + value: 145193, + label: 'printingProductDyeingAndLaundering - PQM4PS3', + }, + { + value: 145315, + label: 'materialProduction - 6RQZ31D', + }, + { + value: 145332, + label: 'printingProductDyeingAndLaundering - R33JTXS', + }, + { + value: 145071, + label: 'finalProductAssembly - W5GVWA1', + }, + { + value: 144955, + label: 'printingProductDyeingAndLaundering - GN8SGRN', + }, + { + value: 145283, + label: 'finalProductAssembly - 4HD8TRU', + }, + { + value: 145043, + label: 'finalProductAssembly - ZPJQSAU', + }, + { + value: 145035, + label: '1Y5KPCY', + }, + { + value: 144815, + label: 'P1EC68E', + }, + { + value: 145274, + label: 'Premier Textiles Ltd. 756J1KK ', + }, + { + value: 144943, + label: 'ERG1RY2', + }, + { + value: 145100, + label: 'QMLBTL7', + }, + { + value: 145087, + label: '22HJ2RA', + }, + { + value: 144820, + label: 'CKQZ0W8', + }, + { + value: 145314, + label: 'ZSFHKBH', + }, + { + value: 145105, + label: 'GWFFG6N', + }, + { + value: 144928, + label: 'Dye-MatProd-V8BEE5B', + }, + { + value: 144940, + label: '3NJRMR1', + }, + { + value: 145263, + label: '2H0PDBX', + }, + { + value: 145303, + label: 'UGCM533', + }, + { + value: 144834, + label: 'finalProductAssembly - 0PR1KP9', + }, + { + value: 145313, + label: 'Weave - Raw Mat - RG5FX9A', + }, + { + value: 145138, + label: 'GSGJ36Y', + }, + { + value: 144798, + label: 'finalProductAssembly - 942CTTK', + }, + { + value: 145177, + label: '23MPPQY', + }, + { + value: 145207, + label: '13UHYNY', + }, + { + value: 145121, + label: 'U3KYJQL', + }, + { + value: 145033, + label: 'UM69VDB', + }, + { + value: 144953, + label: '2ALHWNQ', + }, + { + value: 144808, + label: 'finalProductAssembly - 22027B1', + }, + { + value: 145006, + label: 'QJ2042M', + }, + { + value: 145098, + label: 'X113M25', + }, + { + value: 145278, + label: 'Q0A05AE', + }, + { + value: 145203, + label: 'QMFW0HA', + }, + { + value: 144910, + label: 'VP4AK1P', + }, + { + value: 144913, + label: 'VWK7LSP', + }, + { + value: 145002, + label: 'finalProductAssembly - R8HVNFG', + }, + { + value: 144984, + label: '0AE9N28', + }, + { + value: 144954, + label: 'finalProductAssembly - 2JNR68L', + }, + { + value: 145343, + label: '4UM078E', + }, + { + value: 145296, + label: 'RGVUJGY', + }, + { + value: 145104, + label: + 'materialProduction - Weave - MatProd - Spandex Only - BQCP3T5', + }, + { + value: 145379, + label: 'finalProductAssembly - T6FAMUA', + }, + { + value: 144895, + label: '41M2CAR', + }, + { + value: 144877, + label: '8GPW4K0', + }, + { + value: 144991, + label: 'QXCL09H', + }, + { + value: 145179, + label: 'E3NVZ2Y', + }, + { + value: 145216, + label: '3RTZDTD', + }, + { + value: 144909, + label: 'Knit - Mat Prod - 2HYDVEQ', + }, + { + value: 145258, + label: '8VF5KUC', + }, + { + value: 145186, + label: 'V5E6JWX', + }, + { + value: 145119, + label: '64C83JL', + }, + { + value: 145350, + label: 'PHBMPUD', + }, + { + value: 145384, + label: 'QPLT1LX', + }, + { + value: 145352, + label: '5VUK5ZU', + }, + { + value: 145355, + label: 'NNYGAUX', + }, + { + value: 145028, + label: '6CRSWXC', + }, + { + value: 145155, + label: '94S78QM', + }, + { + value: 145220, + label: 'finalProductAssembly - VQB7MWC', + }, + { + value: 145021, + label: 'finalProductAssembly - ZRRBAP8', + }, + { + value: 145127, + label: 'XXBWLAT', + }, + { + value: 144875, + label: 'HBQ9WAW', + }, + { + value: 144907, + label: 'materialProduction - FY3B0TQ', + }, + { + value: 145288, + label: 'materialProduction - P5AQXQN', + }, + { + value: 144840, + label: 'finalProductAssembly - N3BGQWU', + }, + { + value: 145139, + label: 'finalProductAssembly - 39GQY1S', + }, + { + value: 145271, + label: 'Q8WLYH4', + }, + { + value: 145180, + label: 'finalProductAssembly - VUE2RNE', + }, + { + value: 145115, + label: 'printingProductDyeingAndLaundering - KK51WRR', + }, + { + value: 145347, + label: 'LBN1YFW', + }, + { + value: 145268, + label: 'RPGET2L', + }, + { + value: 145066, + label: '990DWAX', + }, + { + value: 145013, + label: 'ZEUTKM4', + }, + { + value: 144879, + label: '1NK7E4B', + }, + { + value: 145221, + label: 'YHW9XVH', + }, + { + value: 145340, + label: 'NUSAGCS', + }, + { + value: 145389, + label: 'X9UK2AG', + }, + { + value: 145277, + label: 'JXD25SF', + }, + { + value: 145132, + label: 'PMC7R16', + }, + { + value: 144853, + label: 'materialProduction - PEX1JNK', + }, + { + value: 145230, + label: '6Y6845K', + }, + { + value: 144826, + label: 'finalProductAssembly - G86WHP1', + }, + { + value: 145057, + label: '9542EGS', + }, + { + value: 144766, + label: 'V1JMXQ1', + }, + { + value: 145008, + label: 'LVES57S', + }, + { + value: 145385, + label: 'finalProductAssembly - KMG55QT', + }, + { + value: 145337, + label: 'DCHTT8S', + }, + { + value: 144993, + label: '9A83YNG', + }, + { + value: 145206, + label: 'X64WG97', + }, + { + value: 144868, + label: 'ZZD2RJR', + }, + { + value: 145330, + label: 'KRHKPY3', + }, + { + value: 144926, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - 4G0ZXRE', + }, + { + value: 144937, + label: 'JMV16VZ', + }, + { + value: 144900, + label: 'finalProductAssembly - X8JU0LS', + }, + { + value: 145319, + label: 'R6YSTA6', + }, + { + value: 145201, + label: 'S6GGGB1', + }, + { + value: 144778, + label: 'XP2NHG8', + }, + { + value: 145333, + label: 'UWTWG5L', + }, + { + value: 145084, + label: 'HMKL561', + }, + { + value: 144793, + label: '2TFAQR9', + }, + { + value: 145226, + label: 'rawMat-Braiding-K725RKJ', + }, + { + value: 144863, + label: '91K55HF', + }, + { + value: 145261, + label: 'R74MNK4', + }, + { + value: 145075, + label: 'M6F8HMV', + }, + { + value: 145133, + label: '4MSLA8B', + }, + { + value: 144890, + label: 'D3AT4MW', + }, + { + value: 145195, + label: + 'finalProductAssembly,hardComponentTrimProduction - 78Q49A2', + }, + { + value: 145190, + label: '2H86LR9', + }, + { + value: 145126, + label: 'L8BFK7Y', + }, + { + value: 145387, + label: 'materialProduction - ZBSZ7G8', + }, + { + value: 145336, + label: '3Y1NQ30', + }, + { + value: 144918, + label: 'ZBWBYXK', + }, + { + value: 145251, + label: 'A4V7P36', + }, + { + value: 144862, + label: 'VNSNDMP', + }, + { + value: 145125, + label: 'KZXP0DB', + }, + { + value: 144994, + label: '5FWYEW8', + }, + { + value: 145306, + label: 'printingProductDyeingAndLaundering - VNQ0ZPH', + }, + { + value: 144784, + label: 'RGRUHH4', + }, + { + value: 144927, + label: + 'printingProductDyeingAndLaundering,materialProduction - 4KK0MZD', + }, + { + value: 144816, + label: 'FPZ07E7', + }, + { + value: 144939, + label: '5UT5800', + }, + { + value: 144978, + label: 'KY67ARB', + }, + { + value: 144904, + label: 'materialProduction - 44A7V6V', + }, + { + value: 145295, + label: 'JEBT31H', + }, + { + value: 145321, + label: 'materialProduction - RAU2BMD', + }, + { + value: 144797, + label: 'Y5UNR3R', + }, + { + value: 145176, + label: 'M3H275D', + }, + { + value: 145339, + label: 'VEA64UY', + }, + { + value: 144958, + label: 'C7KYSMM', + }, + { + value: 145247, + label: '11K9FBJ', + }, + { + value: 144837, + label: 'T4P5YQQ', + }, + { + value: 145237, + label: 'finalProductAssembly,materialProduction - NVWDTQU', + }, + { + value: 145338, + label: 'BGCJ0CD', + }, + { + value: 144838, + label: 'VX630QX', + }, + { + value: 145335, + label: 'DVH8TNK', + }, + { + value: 144997, + label: '0KN5RKS', + }, + { + value: 144995, + label: '34LXDUX', + }, + { + value: 145147, + label: 'A91UTFH', + }, + { + value: 145344, + label: '7N3WLZV', + }, + { + value: 145259, + label: 'TYBKNWZ', + }, + { + value: 145324, + label: '1Y6STY8', + }, + { + value: 145302, + label: 'printingProductDyeingAndLaundering - SN1WP67', + }, + { + value: 145107, + label: '34ZA7T8', + }, + { + value: 144982, + label: 'Y5B5VVE', + }, + { + value: 144811, + label: 'TZT29UX', + }, + { + value: 145374, + label: '2RUMYF6', + }, + { + value: 145309, + label: '8RNK1A8', + }, + { + value: 145181, + label: 'N63284P', + }, + { + value: 145001, + label: 'WVLXM2R', + }, + { + value: 145171, + label: '7W2UF4X', + }, + { + value: 145279, + label: 'Manufacturer B - matProd - 31F408D', + }, + { + value: 144899, + label: 'EZJA69D', + }, + { + value: 145163, + label: 'materialProduction - WeaveDyeHeatWash-MatProd-5KG610Y', + }, + { + value: 145293, + label: '9BQHAB4', + }, + { + value: 144966, + label: 'KnitDye-MatProd-BPWFQ9U', + }, + { + value: 144965, + label: 'JHP3XAC', + }, + { + value: 145012, + label: 'materialProduction - FVTAXRJ', + }, + { + value: 145158, + label: 'finalProductAssembly - EN1DNRA', + }, + { + value: 145285, + label: 'printingProductDyeingAndLaundering - CZG5AGG', + }, + { + value: 145018, + label: 'printingProductDyeingAndLaundering - DKUEWK7', + }, + { + value: 145270, + label: 'PGUYYRF', + }, + { + value: 145166, + label: 'WN4SX2V', + }, + { + value: 145326, + label: 'Weave - RawMat - MXXW11K', + }, + { + value: 144809, + label: 'GJAP5AK', + }, + { + value: 144859, + label: 'JQ7X0AJ', + }, + { + value: 144828, + label: 'CBRQJF3', + }, + { + value: 144848, + label: 'PMH7EVZ', + }, + { + value: 145199, + label: '58H44L3', + }, + { + value: 145054, + label: '3Y035DK', + }, + { + value: 145289, + label: 'VNPPPLF', + }, + { + value: 144866, + label: 'G1N40G3', + }, + { + value: 144781, + label: + 'finalProductAssembly,printingProductDyeingAndLaundering - S8TWCBZ', + }, + { + value: 144986, + label: 'A728JDB', + }, + { + value: 145245, + label: 'Weave - MatProd - W0F60G2', + }, + { + value: 145292, + label: 'YDEKL2X', + }, + { + value: 145074, + label: 'materialProduction - SX0SAL1', + }, + { + value: 145328, + label: 'Yarn Spinner - 309RZSQ', + }, + { + value: 144944, + label: 'RTKNU8T', + }, + { + value: 144949, + label: 'F8AWWLJ', + }, + { + value: 144930, + label: '8DX8290', + }, + { + value: 144812, + label: '69F6H31', + }, + { + value: 144773, + label: 'UW0MRZK', + }, + { + value: 145287, + label: 'HP0A9K4', + }, + { + value: 145055, + label: 'QPG86GX', + }, + { + value: 145386, + label: 'D3P42GU', + }, + { + value: 145044, + label: '6AZVQ68', + }, + { + value: 145214, + label: '7LNRVYY', + }, + { + value: 144903, + label: 'EANPSZ0', + }, + { + value: 144916, + label: 'CFWQCNH', + }, + { + value: 145160, + label: 'S54NNA9', + }, + { + value: 144921, + label: 'TAC8VCJ', + }, + { + value: 144869, + label: 'LJB7TTJ', + }, + { + value: 145089, + label: '8DJWP56', + }, + { + value: 145304, + label: '6ZYEH0T', + }, + { + value: 144898, + label: 'BXMA2JN', + }, + { + value: 145282, + label: 'S1YKDYF', + }, + { + value: 145123, + label: 'HE4PJVM', + }, + { + value: 145120, + label: 'LYF884A', + }, + { + value: 144796, + label: 'Q9N7BMD', + }, + { + value: 144931, + label: 'E73RXZM', + }, + { + value: 145149, + label: 'K0SY05C', + }, + { + value: 145070, + label: 'U57CKDT', + }, + { + value: 145280, + label: 'CQZBN31', + }, + { + value: 145299, + label: '22DPBPP', + }, + { + value: 144842, + label: + 'printingProductDyeingAndLaundering,materialProduction - NW0XSV2', + }, + { + value: 145175, + label: 'LW0L2JX', + }, + { + value: 144856, + label: 'finalProductAssembly - UHXCJRF', + }, + { + value: 145256, + label: '64MF3TX', + }, + { + value: 144864, + label: 'QUD66UC', + }, + { + value: 145242, + label: '4P2WXWZ', + }, + { + value: 145077, + label: '2VG8JNS', + }, + { + value: 145111, + label: 'WBT279F', + }, + { + value: 144947, + label: '1Y1UJB5', + }, + { + value: 145088, + label: 'Weave-MatProd-0PS89UW', + }, + { + value: 145219, + label: 'YQ0AV1G', + }, + { + value: 144956, + label: 'U9GPNVH', + }, + { + value: 145373, + label: '25V23BY', + }, + { + value: 145249, + label: '0V4SQQQ', + }, + { + value: 145241, + label: '814F7P0', + }, + { + value: 144831, + label: 'NA4AAB4', + }, + { + value: 145154, + label: 'DR24ZAV', + }, + { + value: 145079, + label: 'U6CDCW9', + }, + { + value: 145108, + label: 'MCA1HRM', + }, + { + value: 145146, + label: 'QMG137X', + }, + { + value: 144792, + label: 'ZVJBHNG', + }, + { + value: 145056, + label: 'KLMA96L', + }, + { + value: 145114, + label: 'LZ47WBN', + }, + { + value: 145148, + label: 'SNCMDU0', + }, + { + value: 144844, + label: 'materialProduction - F3DU8UX', + }, + { + value: 145262, + label: '5N5A6GF', + }, + { + value: 145124, + label: '9PKVWCQ', + }, + { + value: 145031, + label: 'E4Z2A9L', + }, + { + value: 145266, + label: 'CTG99HM', + }, + { + value: 144764, + label: '8L91W81', + }, + { + value: 145254, + label: '3B901XB', + }, + { + value: 144803, + label: '9F7Q40Q', + }, + { + value: 145253, + label: 'XN03514', + }, + { + value: 145298, + label: 'C9J7TU6', + }, + { + value: 145228, + label: '1DWR1FZ', + }, + { + value: 145183, + label: 'VACMBM9', + }, + { + value: 144971, + label: 'NEMZ6SJ', + }, + { + value: 145248, + label: '96JQFTU', + }, + { + value: 145046, + label: 'RWM3BVK', + }, + { + value: 145231, + label: 'TA6KZLM', + }, + { + value: 145233, + label: 'QL4Z4JH', + }, + { + value: 145076, + label: '4M5DW3N', + }, + { + value: 145109, + label: 'EAN2AR0', + }, + { + value: 144799, + label: 'YC6L0LQ', + }, + { + value: 145244, + label: 'YDU2VWC', + }, + { + value: 145210, + label: 'ELSRL72', + }, + { + value: 144884, + label: 'LUABMZK', + }, + { + value: 145052, + label: 'Z38SP7M', + }, + { + value: 145211, + label: 'DMW19YZ', + }, + { + value: 145185, + label: '9U9GLMT', + }, + { + value: 145208, + label: '4J6J8BR', + }, + { + value: 144860, + label: 'R75XP11', + }, + { + value: 145229, + label: 'RB8Y0R7', + }, + { + value: 145212, + label: 'FH00KX0', + }, + { + value: 145204, + label: 'HW6KQZC', + }, + { + value: 145140, + label: '7JAFGQD', + }, + { + value: 145110, + label: '2E9DUP4', + }, + { + value: 145117, + label: 'WFLZXDK', + }, + { + value: 145030, + label: '8N7J69G', + }, + { + value: 145156, + label: 'VC89NLG', + }, + { + value: 145173, + label: '2NP3027', + }, + { + value: 145161, + label: 'LFE14M9', + }, + { + value: 145036, + label: 'Q8NEAST', + }, + { + value: 144780, + label: '28XUQJ9', + }, + { + value: 145011, + label: 'GCXFX06', + }, + { + value: 145027, + label: '6EH8JUG', + }, + { + value: 144779, + label: '5AZWHHV', + }, + { + value: 144981, + label: 'CL5A0T7', + }, + { + value: 145118, + label: '202450N', + }, + { + value: 144880, + label: '8B59EAX', + }, + { + value: 145238, + label: 'EY3DL2U', + }, + { + value: 145168, + label: 'LT7TZVP', + }, + { + value: 145197, + label: 'M0GHTT1', + }, + { + value: 145157, + label: 'WJV20A8', + }, + { + value: 144818, + label: '3KYQPVW', + }, + { + value: 145145, + label: '6ZU7HEQ', + }, + { + value: 145083, + label: 'RC7TJSM', + }, + { + value: 145234, + label: 'KKGC6BX', + }, + { + value: 144889, + label: 'KR1ECNG', + }, + { + value: 145068, + label: 'KYQA9LE', + }, + { + value: 145078, + label: '723RNDJ', + }, + { + value: 145153, + label: '50B4SGP', + }, + { + value: 145377, + label: 'RRWDP19', + }, + { + value: 144855, + label: 'LCLPALD', + }, + { + value: 144946, + label: 'VRQDA8Y', + }, + { + value: 144989, + label: 'WCL9WX4', + }, + { + value: 144952, + label: 'V7P8S5X', + }, + { + value: 145165, + label: 'L3BXCF1', + }, + { + value: 144980, + label: 'HL44UF2', + }, + { + value: 144782, + label: '15FZR3Q', + }, + { + value: 144901, + label: 'Y8LRJ5S', + }, + { + value: 145134, + label: 'KRWTNDK', + }, + { + value: 144767, + label: 'FHN9PTN', + }, + { + value: 144830, + label: 'TG0K5UY', + }, + { + value: 144850, + label: '0F6PG7C', + }, + { + value: 144769, + label: 'P7VUZKF', + }, + { + value: 145094, + label: '7W96UFS', + }, + { + value: 145174, + label: 'JJG7V87', + }, + { + value: 145151, + label: '3K0YXKB', + }, + { + value: 145058, + label: '0H59VUR', + }, + { + value: 145382, + label: 'JR2DU4U', + }, + { + value: 144936, + label: 'GMNSUFR', + }, + { + value: 144988, + label: 'HACSUMP', + }, + { + value: 144962, + label: '8BSBQLP', + }, + { + value: 144878, + label: '6T10YEY', + }, + { + value: 145000, + label: 'EAT43KV', + }, + { + value: 144867, + label: 'SSAZPRG', + }, + { + value: 145032, + label: 'B5XXEM7', + }, + { + value: 145062, + label: 'M7JRW43', + }, + { + value: 144902, + label: 'L0PJG07', + }, + { + value: 145023, + label: '80T5FHB', + }, + { + value: 145025, + label: 'CFWLE7K', + }, + { + value: 144983, + label: 'FERSE88', + }, + { + value: 145047, + label: 'ZVPVJ4B', + }, + { + value: 145034, + label: 'DQ6E42M', + }, + { + value: 145090, + label: 'K04JGE5', + }, + { + value: 145375, + label: 'HU07A33', + }, + { + value: 145102, + label: 'RYC89DT', + }, + { + value: 145024, + label: 'TKP6EG6', + }, + { + value: 144961, + label: 'DLZS6D8', + }, + { + value: 144765, + label: 'NZJ9ZHA', + }, + { + value: 145081, + label: '0BSHRF1', + }, + { + value: 144906, + label: 'J0GWKC8', + }, + { + value: 145019, + label: 'Q5W1H29', + }, + { + value: 145082, + label: '4156UJU', + }, + { + value: 145005, + label: '01892QN', + }, + { + value: 145113, + label: 'XT551LD', + }, + { + value: 145004, + label: '2W67VJW', + }, + { + value: 145060, + label: 'RQZXNB5', + }, + { + value: 145112, + label: 'XZGB6LM', + }, + { + value: 144967, + label: 'V8TF4DT', + }, + { + value: 144794, + label: 'F3CAY09', + }, + { + value: 145378, + label: 'CR95C6B', + }, + { + value: 145086, + label: 'A9VQ0NV', + }, + { + value: 145106, + label: 'V0CYJMF', + }, + { + value: 144795, + label: '4TF9SDH', + }, + { + value: 145009, + label: '2PC2SY4', + }, + { + value: 145061, + label: '2GSG96P', + }, + { + value: 145020, + label: 'ZZZB0PW', + }, + { + value: 144892, + label: 'ZF542Q9', + }, + { + value: 144852, + label: '6FDXU8T', + }, + { + value: 144817, + label: 'AG8THHR', + }, + { + value: 144774, + label: '4KRJE1V', + }, + { + value: 144905, + label: 'SFP6MRN', + }, + ], + }, + }, + { + key: 'P006Country', + type: 'enum', + label: 'P006 Country', + isArray: false, + multi: true, + config: { + allowCustom: false, + options: [ + { + value: 'Afghanistan', + label: 'Afghanistan', + }, + { + value: 'Albania', + label: 'Albania', + }, + { + value: 'Algeria', + label: 'Algeria', + }, + { + value: 'American Samoa', + label: 'American Samoa', + }, + { + value: 'Andorra', + label: 'Andorra', + }, + { + value: 'Angola', + label: 'Angola', + }, + { + value: 'Anguilla', + label: 'Anguilla', + }, + { + value: 'Antarctica', + label: 'Antarctica', + }, + { + value: 'Antigua and Barbuda', + label: 'Antigua and Barbuda', + }, + { + value: 'Argentina', + label: 'Argentina', + }, + { + value: 'Armenia', + label: 'Armenia', + }, + { + value: 'Aruba', + label: 'Aruba', + }, + { + value: 'Australia', + label: 'Australia', + }, + { + value: 'Austria', + label: 'Austria', + }, + { + value: 'Azerbaijan', + label: 'Azerbaijan', + }, + { + value: 'Bahamas, The', + label: 'Bahamas, The', + }, + { + value: 'Bahrain', + label: 'Bahrain', + }, + { + value: 'Bangladesh', + label: 'Bangladesh', + }, + { + value: 'Barbados', + label: 'Barbados', + }, + { + value: 'Belarus', + label: 'Belarus', + }, + { + value: 'Belgium', + label: 'Belgium', + }, + { + value: 'Belize', + label: 'Belize', + }, + { + value: 'Benin', + label: 'Benin', + }, + { + value: 'Bermuda', + label: 'Bermuda', + }, + { + value: 'Bhutan', + label: 'Bhutan', + }, + { + value: 'Bolivia', + label: 'Bolivia', + }, + { + value: 'Bosnia and Herzegovina', + label: 'Bosnia and Herzegovina', + }, + { + value: 'Botswana', + label: 'Botswana', + }, + { + value: 'Bouvet Island', + label: 'Bouvet Island', + }, + { + value: 'Brazil', + label: 'Brazil', + }, + { + value: 'British Indian Ocean Territory', + label: 'British Indian Ocean Territory', + }, + { + value: 'British Virgin Islands', + label: 'British Virgin Islands', + }, + { + value: 'Brunei', + label: 'Brunei', + }, + { + value: 'Bulgaria', + label: 'Bulgaria', + }, + { + value: 'Burkina Faso', + label: 'Burkina Faso', + }, + { + value: 'Burma', + label: 'Burma', + }, + { + value: 'Burundi', + label: 'Burundi', + }, + { + value: 'Cambodia', + label: 'Cambodia', + }, + { + value: 'Cameroon', + label: 'Cameroon', + }, + { + value: 'Canada', + label: 'Canada', + }, + { + value: 'Cape Verde', + label: 'Cape Verde', + }, + { + value: 'Cayman Islands', + label: 'Cayman Islands', + }, + { + value: 'Central African Republic', + label: 'Central African Republic', + }, + { + value: 'Chad', + label: 'Chad', + }, + { + value: 'Chile', + label: 'Chile', + }, + { + value: 'China', + label: 'China', + }, + { + value: 'Christmas Island', + label: 'Christmas Island', + }, + { + value: 'Cocos (Keeling) Islands', + label: 'Cocos (Keeling) Islands', + }, + { + value: 'Colombia', + label: 'Colombia', + }, + { + value: 'Comoros', + label: 'Comoros', + }, + { + value: 'Congo, Democratic Republic of the', + label: 'Congo, Democratic Republic of the', + }, + { + value: 'Congo, Republic of the', + label: 'Congo, Republic of the', + }, + { + value: 'Cook Islands', + label: 'Cook Islands', + }, + { + value: 'Costa Rica', + label: 'Costa Rica', + }, + { + value: "Cote d'Ivoire", + label: "Cote d'Ivoire", + }, + { + value: 'Croatia', + label: 'Croatia', + }, + { + value: 'Cuba', + label: 'Cuba', + }, + { + value: 'Curacao', + label: 'Curacao', + }, + { + value: 'Cyprus', + label: 'Cyprus', + }, + { + value: 'Czech Republic', + label: 'Czech Republic', + }, + { + value: 'Denmark', + label: 'Denmark', + }, + { + value: 'Djibouti', + label: 'Djibouti', + }, + { + value: 'Dominica', + label: 'Dominica', + }, + { + value: 'Dominican Republic', + label: 'Dominican Republic', + }, + { + value: 'Ecuador', + label: 'Ecuador', + }, + { + value: 'Egypt', + label: 'Egypt', + }, + { + value: 'El Salvador', + label: 'El Salvador', + }, + { + value: 'Equatorial Guinea', + label: 'Equatorial Guinea', + }, + { + value: 'Eritrea', + label: 'Eritrea', + }, + { + value: 'Estonia', + label: 'Estonia', + }, + { + value: 'Ethiopia', + label: 'Ethiopia', + }, + { + value: 'Falkland Islands (Islas Malvinas)', + label: 'Falkland Islands (Islas Malvinas)', + }, + { + value: 'Faroe Islands', + label: 'Faroe Islands', + }, + { + value: 'Fiji', + label: 'Fiji', + }, + { + value: 'Finland', + label: 'Finland', + }, + { + value: 'France', + label: 'France', + }, + { + value: 'France, Metropolitan', + label: 'France, Metropolitan', + }, + { + value: 'French Guiana', + label: 'French Guiana', + }, + { + value: 'French Polynesia', + label: 'French Polynesia', + }, + { + value: 'French Southern and Antarctic Lands', + label: 'French Southern and Antarctic Lands', + }, + { + value: 'Gabon', + label: 'Gabon', + }, + { + value: 'Gambia, The', + label: 'Gambia, The', + }, + { + value: 'Gaza Strip', + label: 'Gaza Strip', + }, + { + value: 'Georgia', + label: 'Georgia', + }, + { + value: 'Germany', + label: 'Germany', + }, + { + value: 'Ghana', + label: 'Ghana', + }, + { + value: 'Gibraltar', + label: 'Gibraltar', + }, + { + value: 'Greece', + label: 'Greece', + }, + { + value: 'Greenland', + label: 'Greenland', + }, + { + value: 'Grenada', + label: 'Grenada', + }, + { + value: 'Guadeloupe', + label: 'Guadeloupe', + }, + { + value: 'Guam', + label: 'Guam', + }, + { + value: 'Guatemala', + label: 'Guatemala', + }, + { + value: 'Guernsey', + label: 'Guernsey', + }, + { + value: 'Guinea', + label: 'Guinea', + }, + { + value: 'Guinea-Bissau', + label: 'Guinea-Bissau', + }, + { + value: 'Guyana', + label: 'Guyana', + }, + { + value: 'Haiti', + label: 'Haiti', + }, + { + value: 'Heard Island and McDonald Islands', + label: 'Heard Island and McDonald Islands', + }, + { + value: 'Holy See (Vatican City)', + label: 'Holy See (Vatican City)', + }, + { + value: 'Honduras', + label: 'Honduras', + }, + { + value: 'Hong Kong, China', + label: 'Hong Kong, China', + }, + { + value: 'Hungary', + label: 'Hungary', + }, + { + value: 'Iceland', + label: 'Iceland', + }, + { + value: 'India', + label: 'India', + }, + { + value: 'Indonesia', + label: 'Indonesia', + }, + { + value: 'Iran', + label: 'Iran', + }, + { + value: 'Iraq', + label: 'Iraq', + }, + { + value: 'Ireland', + label: 'Ireland', + }, + { + value: 'Isle of Man', + label: 'Isle of Man', + }, + { + value: 'Israel', + label: 'Israel', + }, + { + value: 'Italy', + label: 'Italy', + }, + { + value: 'Jamaica', + label: 'Jamaica', + }, + { + value: 'Japan', + label: 'Japan', + }, + { + value: 'Jersey', + label: 'Jersey', + }, + { + value: 'Jordan', + label: 'Jordan', + }, + { + value: 'Kazakhstan', + label: 'Kazakhstan', + }, + { + value: 'Kenya', + label: 'Kenya', + }, + { + value: 'Kiribati', + label: 'Kiribati', + }, + { + value: 'Korea, North', + label: 'Korea, North', + }, + { + value: 'Korea, South', + label: 'Korea, South', + }, + { + value: 'Kosovo', + label: 'Kosovo', + }, + { + value: 'Kuwait', + label: 'Kuwait', + }, + { + value: 'Kyrgyzstan', + label: 'Kyrgyzstan', + }, + { + value: 'Laos', + label: 'Laos', + }, + { + value: 'Latvia', + label: 'Latvia', + }, + { + value: 'Lebanon', + label: 'Lebanon', + }, + { + value: 'Lesotho', + label: 'Lesotho', + }, + { + value: 'Liberia', + label: 'Liberia', + }, + { + value: 'Libya', + label: 'Libya', + }, + { + value: 'Liechtenstein', + label: 'Liechtenstein', + }, + { + value: 'Lithuania', + label: 'Lithuania', + }, + { + value: 'Luxembourg', + label: 'Luxembourg', + }, + { + value: 'Macau', + label: 'Macau', + }, + { + value: 'Macedonia', + label: 'Macedonia', + }, + { + value: 'Madagascar', + label: 'Madagascar', + }, + { + value: 'Malawi', + label: 'Malawi', + }, + { + value: 'Malaysia', + label: 'Malaysia', + }, + { + value: 'Maldives', + label: 'Maldives', + }, + { + value: 'Mali', + label: 'Mali', + }, + { + value: 'Malta', + label: 'Malta', + }, + { + value: 'Marshall Islands', + label: 'Marshall Islands', + }, + { + value: 'Martinique', + label: 'Martinique', + }, + { + value: 'Mauritania', + label: 'Mauritania', + }, + { + value: 'Mauritius', + label: 'Mauritius', + }, + { + value: 'Mayotte', + label: 'Mayotte', + }, + { + value: 'Mexico', + label: 'Mexico', + }, + { + value: 'Micronesia, Federated States of', + label: 'Micronesia, Federated States of', + }, + { + value: 'Moldova', + label: 'Moldova', + }, + { + value: 'Monaco', + label: 'Monaco', + }, + { + value: 'Mongolia', + label: 'Mongolia', + }, + { + value: 'Montenegro', + label: 'Montenegro', + }, + { + value: 'Montserrat', + label: 'Montserrat', + }, + { + value: 'Morocco', + label: 'Morocco', + }, + { + value: 'Mozambique', + label: 'Mozambique', + }, + { + value: 'Namibia', + label: 'Namibia', + }, + { + value: 'Nauru', + label: 'Nauru', + }, + { + value: 'Nepal', + label: 'Nepal', + }, + { + value: 'Netherlands', + label: 'Netherlands', + }, + { + value: 'New Caledonia', + label: 'New Caledonia', + }, + { + value: 'New Zealand', + label: 'New Zealand', + }, + { + value: 'Nicaragua', + label: 'Nicaragua', + }, + { + value: 'Niger', + label: 'Niger', + }, + { + value: 'Nigeria', + label: 'Nigeria', + }, + { + value: 'Niue', + label: 'Niue', + }, + { + value: 'Norfolk Island', + label: 'Norfolk Island', + }, + { + value: 'Northern Mariana Islands', + label: 'Northern Mariana Islands', + }, + { + value: 'Norway', + label: 'Norway', + }, + { + value: 'Oman', + label: 'Oman', + }, + { + value: 'Pakistan', + label: 'Pakistan', + }, + { + value: 'Palau', + label: 'Palau', + }, + { + value: 'Panama', + label: 'Panama', + }, + { + value: 'Papua New Guinea', + label: 'Papua New Guinea', + }, + { + value: 'Paraguay', + label: 'Paraguay', + }, + { + value: 'Peru', + label: 'Peru', + }, + { + value: 'Philippines', + label: 'Philippines', + }, + { + value: 'Pitcairn Islands', + label: 'Pitcairn Islands', + }, + { + value: 'Poland', + label: 'Poland', + }, + { + value: 'Portugal', + label: 'Portugal', + }, + { + value: 'Puerto Rico', + label: 'Puerto Rico', + }, + { + value: 'Qatar', + label: 'Qatar', + }, + { + value: 'Reunion', + label: 'Reunion', + }, + { + value: 'Romania', + label: 'Romania', + }, + { + value: 'Russia', + label: 'Russia', + }, + { + value: 'Rwanda', + label: 'Rwanda', + }, + { + value: 'Saint Barthelemy', + label: 'Saint Barthelemy', + }, + { + value: 'Saint Helena, Ascension, and Tristan da Cunha', + label: 'Saint Helena, Ascension, and Tristan da Cunha', + }, + { + value: 'Saint Kitts and Nevis', + label: 'Saint Kitts and Nevis', + }, + { + value: 'Saint Lucia', + label: 'Saint Lucia', + }, + { + value: 'Saint Martin', + label: 'Saint Martin', + }, + { + value: 'Saint Pierre and Miquelon', + label: 'Saint Pierre and Miquelon', + }, + { + value: 'Saint Vincent and the Grenadines', + label: 'Saint Vincent and the Grenadines', + }, + { + value: 'Samoa', + label: 'Samoa', + }, + { + value: 'San Marino', + label: 'San Marino', + }, + { + value: 'Sao Tome and Principe', + label: 'Sao Tome and Principe', + }, + { + value: 'Saudi Arabia', + label: 'Saudi Arabia', + }, + { + value: 'Senegal', + label: 'Senegal', + }, + { + value: 'Serbia', + label: 'Serbia', + }, + { + value: 'Seychelles', + label: 'Seychelles', + }, + { + value: 'Sierra Leone', + label: 'Sierra Leone', + }, + { + value: 'Singapore', + label: 'Singapore', + }, + { + value: 'Sint Maarten', + label: 'Sint Maarten', + }, + { + value: 'Slovakia', + label: 'Slovakia', + }, + { + value: 'Slovenia', + label: 'Slovenia', + }, + { + value: 'Solomon Islands', + label: 'Solomon Islands', + }, + { + value: 'Somalia', + label: 'Somalia', + }, + { + value: 'South Africa', + label: 'South Africa', + }, + { + value: 'South Georgia and the Islands', + label: 'South Georgia and the Islands', + }, + { + value: 'South Sudan', + label: 'South Sudan', + }, + { + value: 'Spain', + label: 'Spain', + }, + { + value: 'Sri Lanka', + label: 'Sri Lanka', + }, + { + value: 'Sudan', + label: 'Sudan', + }, + { + value: 'Suriname', + label: 'Suriname', + }, + { + value: 'Svalbard', + label: 'Svalbard', + }, + { + value: 'Swaziland', + label: 'Swaziland', + }, + { + value: 'Sweden', + label: 'Sweden', + }, + { + value: 'Switzerland', + label: 'Switzerland', + }, + { + value: 'Syria', + label: 'Syria', + }, + { + value: 'Taiwan, China', + label: 'Taiwan, China', + }, + { + value: 'Tajikistan', + label: 'Tajikistan', + }, + { + value: 'Tanzania', + label: 'Tanzania', + }, + { + value: 'Thailand', + label: 'Thailand', + }, + { + value: 'Timor-Leste', + label: 'Timor-Leste', + }, + { + value: 'Togo', + label: 'Togo', + }, + { + value: 'Tokelau', + label: 'Tokelau', + }, + { + value: 'Tonga', + label: 'Tonga', + }, + { + value: 'Trinidad and Tobago', + label: 'Trinidad and Tobago', + }, + { + value: 'Tunisia', + label: 'Tunisia', + }, + { + value: 'Turkey', + label: 'Turkey', + }, + { + value: 'Turkmenistan', + label: 'Turkmenistan', + }, + { + value: 'Turks and Caicos Islands', + label: 'Turks and Caicos Islands', + }, + { + value: 'Tuvalu', + label: 'Tuvalu', + }, + { + value: 'Uganda', + label: 'Uganda', + }, + { + value: 'Ukraine', + label: 'Ukraine', + }, + { + value: 'United Arab Emirates', + label: 'United Arab Emirates', + }, + { + value: 'United Kingdom', + label: 'United Kingdom', + }, + { + value: 'United States', + label: 'United States', + }, + { + value: 'United States Minor Outlying Islands', + label: 'United States Minor Outlying Islands', + }, + { + value: 'Uruguay', + label: 'Uruguay', + }, + { + value: 'Uzbekistan', + label: 'Uzbekistan', + }, + { + value: 'Vanuatu', + label: 'Vanuatu', + }, + { + value: 'Venezuela', + label: 'Venezuela', + }, + { + value: 'Vietnam', + label: 'Vietnam', + }, + { + value: 'Virgin Islands', + label: 'Virgin Islands', + }, + { + value: 'Wallis and Futuna', + label: 'Wallis and Futuna', + }, + { + value: 'West Bank', + label: 'West Bank', + }, + { + value: 'Western Sahara', + label: 'Western Sahara', + }, + { + value: 'Yemen', + label: 'Yemen', + }, + { + value: 'Zambia', + label: 'Zambia', + }, + { + value: 'Zimbabwe', + label: 'Zimbabwe', + }, + ], + }, + }, + { + key: 'overwrite', + type: 'boolean', + label: 'Overwrite', + }, + { + key: 'worldlyMaterialId', + type: 'string', + label: 'Worldly Material ID', + description: 'System generated ID', + }, + { + type: 'string', + key: 'T2FacilityRawText', + description: + 'This field will be used when T2Facility is not a valid enum.', + label: 't2 facility raw text', + constraints: [ + { + type: 'computed', + }, + ], + readonly: true, + }, + { + type: 'string', + key: 'T3FacilityRawText', + description: + 'This field will be used when T3Facility is not a valid enum.', + label: 't3 facility raw text', + constraints: [ + { + type: 'computed', + }, + ], + readonly: true, + }, + { + type: 'string', + key: 'P002FacilityRawText', + description: + 'This field will be used when P002Facility is not a valid enum.', + label: 'P002 facility raw text', + constraints: [ + { + type: 'computed', + }, + ], + readonly: true, + }, + { + type: 'string', + key: 'P003FacilityRawText', + description: + 'This field will be used when P003Facility is not a valid enum.', + label: 'P003 facility raw text', + constraints: [ + { + type: 'computed', + }, + ], + readonly: true, + }, + { + type: 'string', + key: 'P004FacilityRawText', + description: + 'This field will be used when P004Facility is not a valid enum.', + label: 'P004 facility raw text', + constraints: [ + { + type: 'computed', + }, + ], + readonly: true, + }, + { + type: 'string', + key: 'P005FacilityRawText', + description: + 'This field will be used when P005Facility is not a valid enum.', + label: 'P005 facility raw text', + constraints: [ + { + type: 'computed', + }, + ], + readonly: true, + }, + { + type: 'string', + key: 'P006FacilityRawText', + description: + 'This field will be used when P006Facility is not a valid enum.', + label: 'P006 facility raw text', + constraints: [ + { + type: 'computed', + }, + ], + readonly: true, + }, + ], + }, +] as Flatfile.SheetConfig[] export default async function (listener: FlatfileListener) { - listener.use( - bulkRecordHook( - 'contacts', - async (records: FlatfileRecord[], event: FlatfileEvent) => { - // TODO: Add your logic here - records.map((record) => { - record.set('firstName', 'John') - }) - return records - }, - { debug: true } - ) - ) - listener.use(ExcelExtractor({ debug: true })) - listener.use(viewMappedPlugin({ keepRequiredFields: true })) - listener.use(exportWorkbookPlugin({ excludeMessages: false })) - listener.use( - configureSpace( - { - workbooks: [ - { - name: 'Sandbox', - sheets: [contacts], - actions: [ - { - operation: 'downloadWorkbook', - mode: 'foreground', - label: 'Submit data', - description: 'Action for handling data inside of onSubmit', - primary: true, - }, - ], - settings: { - trackChanges: true, - }, - }, - ], - } - // async (event: FlatfileEvent) => { - // You can use the `dataChecklist` function to create a data checklist in this callback or you can use - // the `dataChecklistPlugin` to create a data checklist if you're not using the `configureSpace` plugin - // await dataChecklist(event.context.spaceId) - // } - ) - ) + listener.on('**', async (event) => { + console.log('got an event', event) + }) + // async function updateWorkbookSheets( + // jobId: string, + // workbookId: string, + // sheets: Flatfile.SheetConfig[] + // ): Promise { + // try { + // const workbook: Flatfile.WorkbookUpdate = { + // sheets, + // } + // const response = await api.workbooks.update(workbookId, workbook, { + // maxRetries: 3, + // }) + // return response.data + // } catch (error) { + // await api.jobs.fail(jobId, { + // info: 'Unable to update workbook sheets', + // }) + // const e = error as Error + // console.error(`Unable to update workbook sheets, ${e.message}`) + // throw new Error(`Unable to reproduce worknook ${workbookId} sheets`, { + // cause: e, + // }) + // } + // } + // listener.on( + // 'job:ready', + // { job: 'workbook:updateWorkbookSheets' }, + // async (event) => { + // const { workbookId, jobId } = event.context + // await api.jobs.ack(jobId, { + // info: 'starting sheet update job', + // progress: 2, + // }) + // await updateWorkbookSheets(jobId, workbookId, sheets) + // await api.jobs.complete(jobId, { + // outcome: { + // message: 'Sheet update job completed', + // }, + // }) + // } + // ) + // listener.use( + // bulkRecordHook( + // 'bulk-upload-material', + // async (records: FlatfileRecord[], event: FlatfileEvent) => { + // // TODO: Add your logic here + // records.map((record) => { + // record.set('name', 'John') + // }) + // return records + // }, + // { debug: true } + // ) + // ) + // listener.namespace( + // ['space:getting-started'], + // configureSpace({ + // workbooks: [ + // { + // name: 'Example', + // sheets: [ + // { + // name: 'Bulk Upload - Material', + // slug: 'bulk-upload-material', + // fields: [ + // { + // key: 'name', + // type: 'string', + // label: 'Material Name', + // description: 'Name of material or material blend.', + // constraints: [ + // { + // type: 'required', + // }, + // ], + // }, + // ], + // }, + // ], + // actions: [ + // { + // operation: 'updateWorkbookSheets', + // mode: 'foreground', + // label: 'Update Workbook Sheets', + // primary: true, + // }, + // ], + // }, + // ], + // }) + // ) } diff --git a/package-lock.json b/package-lock.json index c8e1d5666..641f32c45 100644 --- a/package-lock.json +++ b/package-lock.json @@ -299,7 +299,7 @@ "extraneous": true, "license": "ISC", "dependencies": { - "@flatfile/api": "^1.9.19", + "@flatfile/api": "^1.15.7", "@flatfile/listener": "^1.1.0", "modern-async": "^2.0.0" }, @@ -318,6 +318,7 @@ }, "devDependencies": { "@dotenvx/dotenvx": "^0.39.0", + "@flatfile/http-logger": "^1.0.4", "flatfile": "^3.6.1" } }, @@ -4028,6 +4029,46 @@ "integrity": "sha512-VgCnmTQPm1lAV0tHMkt0L1xQU64XBsY9AoOnit8jSQQRuSSMbq0TMcsKAbwmGQ6TZJVLJaqJtOUxFMfFa6TaEg==", "license": "ISC" }, + "node_modules/@flatfile/http-logger": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@flatfile/http-logger/-/http-logger-1.0.4.tgz", + "integrity": "sha512-0wx+urfnTP5PMrKr6OPaZ/g1cllltRZpbdih07G2vSEwgYiQdaZqVdZNpAZO1pA6pOClrIzyuCBeTP2MGfSvJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@flatfile/utils-debugger": "^0.0.6", + "strip-ansi": "^7.1.0" + } + }, + "node_modules/@flatfile/http-logger/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@flatfile/http-logger/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/@flatfile/listener": { "version": "1.1.0", "license": "MIT", @@ -4201,6 +4242,10 @@ "resolved": "plugins/space-configure-from-template", "link": true }, + "node_modules/@flatfile/plugin-space-reconfigure": { + "resolved": "plugins/space-reconfigure", + "link": true + }, "node_modules/@flatfile/plugin-stored-constraints": { "resolved": "plugins/stored-constraints", "link": true @@ -18112,6 +18157,27 @@ "@flatfile/listener": "^1.1.0" } }, + "plugins/space-reconfigure": { + "name": "@flatfile/plugin-space-reconfigure", + "version": "0.1.0", + "license": "ISC", + "dependencies": { + "@flatfile/plugin-job-handler": "^0.8.1" + }, + "devDependencies": { + "@flatfile/api": "^1.9.19", + "@flatfile/bundler-config-tsup": "^0.2.0", + "@flatfile/config-vitest": "^0.0.0", + "@flatfile/utils-testing": "^0.5.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@flatfile/api": "^1.9.19", + "@flatfile/listener": "^1.1.0" + } + }, "plugins/sql-ddl-converter": { "name": "@flatfile/plugin-convert-sql-ddl", "version": "0.4.3", diff --git a/plugins/space-reconfigure/README.md b/plugins/space-reconfigure/README.md new file mode 100644 index 000000000..eecb5c5ab --- /dev/null +++ b/plugins/space-reconfigure/README.md @@ -0,0 +1,242 @@ + + +The @flatfile/plugin-space-reconfigure plugin streamlines the reconfiguration of an existing Flatfile Space. + +**Event Type:** +`listener.on('space:reconfigure')` + + + + +> When embedding Flatfile, this plugin should be deployed in a server-side listener. [Learn more](/docs/orchestration/listeners#listener-types) + + +## Parameters + +#### `setup` - `SetupFactory` - (required) + +The `setup` parameter holds the configuration settings for updating the existing Space. Workbooks are matched by name or slug and updated accordingly. New workbooks are created for unmatched configurations. + + +#### `callback` - `function` + +The `callback` parameter receives three arguments: `event`, `workbookIds`, and a `tick` function. The `tick` function can be used to update the Job's progress. The `callback` function is invoked once the Space and Workbooks are fully reconfigured. + + +## API Calls + +- `api.workbooks.list` +- `api.workbooks.update` +- `api.workbooks.create` +- `api.spaces.update` +- `api.documents.create` + + +## How It Works + +1. **Fetch Existing Workbooks**: Retrieves all workbooks currently in the space +2. **Match Workbooks**: Matches provided workbook configurations to existing workbooks by name or slug +3. **Update Existing**: Updates matched workbooks with new configurations +4. **Create New**: Creates new workbooks for unmatched configurations +5. **Update Space**: Updates space settings and maintains workbook order if configured + + +## Usage + +The @flatfile/plugin-space-reconfigure plugin simplifies the reconfiguration of existing Flatfile Spaces. + +Designed for server-side listeners, it auto-reconfigures the Space using the supplied settings. + +#### Install + +```bash install +npm i @flatfile/plugin-space-reconfigure +``` + +#### Import + +```js import +import { reconfigureSpace } from "@flatfile/plugin-space-reconfigure"; +``` + +#### `listener.js` with workbook updates + +```js listener.js +listener.use( + reconfigureSpace({ + workbooks: [ + { + name: "Getting Started", // This will update existing workbook with this name + sheets: [ + { + name: "Updated Contacts", + slug: "contacts", + fields: [ + { + key: "name", + type: "string", + label: "Full Name", // Updated label + }, + { + key: "email", + type: "string", + label: "Email Address", + }, + { + key: "phone", // New field + type: "string", + label: "Phone Number", + }, + ], + }, + ], + }, + ], + }) +); +``` + +#### `listener.js` with new workbook creation + +```js listener.js +listener.use( + reconfigureSpace({ + workbooks: [ + { + name: "New Analytics Workbook", // This will create a new workbook + sheets: [ + { + name: "Metrics", + slug: "metrics", + fields: [ + { + key: "metric", + type: "string", + label: "Metric Name", + }, + { + key: "value", + type: "number", + label: "Value", + }, + ], + }, + ], + }, + ], + }) +); +``` + + +## Full Example + +#### `listener.ts` + +```typescript listener.ts +import api from "@flatfile/api"; +import type { FlatfileListener } from "@flatfile/listener"; +import { reconfigureSpace } from "@flatfile/plugin-space-reconfigure"; + +export default function (listener: FlatfileListener) { + listener.use( + reconfigureSpace( + { + workbooks: [ + { + name: "Updated Contacts Workbook", // Will update existing or create new + sheets: [ + { + name: "Contacts", + slug: "contacts", + fields: [ + { + key: "firstName", + type: "string", + label: "First Name", + }, + { + key: "lastName", + type: "string", + label: "Last Name", + }, + { + key: "email", + type: "string", + label: "Email", + }, + { + key: "company", + type: "reference", + label: "Company", + config: { + key: "email", + ref: "companies", + relationship: "has-one", + }, + }, + { + key: "phone", // New field added during reconfiguration + type: "string", + label: "Phone Number", + }, + ], + actions: [ + { + operation: "validateData", + mode: "background", + label: "Validate Data", + description: "Validate contact information", + }, + ], + }, + ], + actions: [ + { + operation: "submitActionFg", + mode: "foreground", + label: "Submit Updated Data", + type: "string", + description: "Submit reconfigured data to webhook.", + primary: true, + }, + ], + }, + ], + space: { + metadata: { + theme: { + root: { + primaryColor: "blue", // Updated theme + }, + }, + }, + }, + config: { + maintainWorkbookOrder: true, + }, + }, + async (event, workbookIds, tick) => { + const { spaceId } = event.context; + // Callback is invoked once the Space and Workbooks are fully reconfigured. + tick(85, "Running reconfiguration callback!"); + + // Perform any additional setup after reconfiguration + console.log(`Reconfigured space ${spaceId} with workbooks: ${workbookIds.join(', ')}`); + + await tick(99, "Reconfiguration complete!"); + } + ) + ); +} +``` + +## Workbook Matching Logic + +The plugin uses the following logic to match workbook configurations to existing workbooks: + +1. **Primary Match**: Matches by `name` field +2. **Secondary Match**: If no name match, tries to match by `slug` field +3. **Fallback**: If no match found, creates a new workbook + +This ensures that existing workbooks are updated when possible, while still allowing for new workbooks to be created as needed. diff --git a/plugins/space-reconfigure/package.json b/plugins/space-reconfigure/package.json new file mode 100644 index 000000000..2dca3e9c7 --- /dev/null +++ b/plugins/space-reconfigure/package.json @@ -0,0 +1,76 @@ +{ + "name": "@flatfile/plugin-space-reconfigure", + "version": "0.1.0", + "url": "https://github.com/FlatFilers/flatfile-plugins/tree/main/plugins/space-reconfigure", + "description": "A plugin for reconfiguring an existing Flatfile Space.", + "registryMetadata": { + "category": "core" + }, + "type": "module", + "engines": { + "node": ">= 18" + }, + "exports": { + ".": { + "node": { + "types": { + "import": "./dist/index.d.ts", + "require": "./dist/index.d.cts" + }, + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "browser": { + "types": { + "import": "./dist/index.d.ts", + "require": "./dist/index.d.cts" + }, + "import": "./dist/index.browser.js", + "require": "./dist/index.browser.cjs" + }, + "default": "./dist/index.js" + }, + "./package.json": "./package.json" + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "source": "./src/index.ts", + "types": "./dist/index.d.ts", + "files": [ + "dist/**" + ], + "scripts": { + "build": "tsup", + "build:watch": "tsup --watch", + "build:prod": "NODE_ENV=production tsup", + "checks": "tsc --noEmit && attw --pack . && publint .", + "lint": "tsc --noEmit", + "test": "vitest run --mode defaults src/*.spec.ts --passWithNoTests", + "test:unit": "vitest run --mode defaults src/*.spec.ts --passWithNoTests --exclude src/*.e2e.spec.ts", + "test:e2e": "vitest run --mode defaults src/*.e2e.spec.ts --passWithNoTests --no-file-parallelism" + }, + "keywords": [ + "flatfile-plugins", + "category-core" + ], + "author": "Flatfile, Inc.", + "repository": { + "type": "git", + "url": "git+https://github.com/FlatFilers/flatfile-plugins.git", + "directory": "plugins/space-reconfigure" + }, + "license": "ISC", + "dependencies": { + "@flatfile/plugin-job-handler": "^0.8.1" + }, + "peerDependencies": { + "@flatfile/api": "^1.9.19", + "@flatfile/listener": "^1.1.0" + }, + "devDependencies": { + "@flatfile/api": "^1.9.19", + "@flatfile/bundler-config-tsup": "^0.2.0", + "@flatfile/config-vitest": "^0.0.0", + "@flatfile/utils-testing": "^0.5.0" + } +} diff --git a/plugins/space-reconfigure/ref/test-sheets.ts b/plugins/space-reconfigure/ref/test-sheets.ts new file mode 100644 index 000000000..c250744e4 --- /dev/null +++ b/plugins/space-reconfigure/ref/test-sheets.ts @@ -0,0 +1,93 @@ +import { Flatfile } from '@flatfile/api' + +export const contactsSheet: Flatfile.SheetConfig = { + name: 'Contacts', + slug: 'contacts', + fields: [ + { + key: 'firstName', + type: 'string', + label: 'First Name', + }, + { + key: 'lastName', + type: 'string', + label: 'Last Name', + }, + { + key: 'email', + type: 'string', + label: 'Email', + }, + ], + actions: [ + { + operation: 'submitData', + mode: 'foreground', + label: 'Submit', + description: 'Submit contact data', + primary: true, + }, + ], +} + +export const updatedContactsSheet: Flatfile.SheetConfig = { + name: 'Contacts', + slug: 'contacts', + fields: [ + { + key: 'firstName', + type: 'string', + label: 'First Name', + }, + { + key: 'lastName', + type: 'string', + label: 'Last Name', + }, + { + key: 'email', + type: 'string', + label: 'Email Address', // Updated label + }, + { + key: 'phone', // New field + type: 'string', + label: 'Phone Number', + }, + ], + actions: [ + { + operation: 'submitData', + mode: 'foreground', + label: 'Submit Updated', + description: 'Submit updated contact data', + primary: true, + }, + ], +} + +export const companiesSheet: Flatfile.SheetConfig = { + name: 'Companies', + slug: 'companies', + fields: [ + { + key: 'name', + type: 'string', + label: 'Company Name', + }, + { + key: 'website', + type: 'string', + label: 'Website', + }, + ], + actions: [ + { + operation: 'validateData', + mode: 'background', + label: 'Validate', + description: 'Validate company data', + }, + ], +} diff --git a/plugins/space-reconfigure/src/index.ts b/plugins/space-reconfigure/src/index.ts new file mode 100644 index 000000000..eba959ffa --- /dev/null +++ b/plugins/space-reconfigure/src/index.ts @@ -0,0 +1,2 @@ +export * from './space.reconfigure' +export * from './utils/workbook.matching' diff --git a/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts new file mode 100644 index 000000000..efa245438 --- /dev/null +++ b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts @@ -0,0 +1,284 @@ +import { FlatfileClient } from '@flatfile/api' +import { + deleteSpace, + setupDriver, + setupSpace, + TestListener, +} from '@flatfile/utils-testing' +import { + afterAll, + afterEach, + beforeAll, + beforeEach, + describe, + expect, + it, + vi, +} from 'vitest' +import type { SetupFactory } from '.' +import { configureSpace } from '@flatfile/plugin-space-configure' +import { reconfigureSpace } from '.' +import { contactsSheet, updatedContactsSheet, companiesSheet } from '../ref/test-sheets' + +const api = new FlatfileClient() + +// Initial setup configuration +const initialSetup: SetupFactory = { + workbooks: [ + { + name: 'Test Workbook', + labels: ['initial'], + sheets: [contactsSheet], + actions: [ + { + operation: 'initialAction', + mode: 'foreground', + label: 'Initial Action', + description: 'Initial test action', + }, + ], + }, + ], +} + +// Reconfigure setup - updates existing workbook and adds new one +const reconfigureSetup: SetupFactory = { + workbooks: [ + { + name: 'Test Workbook', // This should update the existing workbook + labels: ['updated'], + sheets: [updatedContactsSheet], + actions: [ + { + operation: 'updatedAction', + mode: 'foreground', + label: 'Updated Action', + description: 'Updated test action', + primary: true, + }, + ], + }, + { + name: 'New Companies Workbook', // This should create a new workbook + labels: ['new'], + sheets: [companiesSheet], + actions: [ + { + operation: 'newAction', + mode: 'background', + label: 'New Action', + description: 'New workbook action', + }, + ], + }, + ], + space: { + metadata: { + theme: { + root: { + primaryColor: 'blue', + }, + }, + }, + }, + config: { + maintainWorkbookOrder: true, + }, +} + +describe('SpaceReconfigure plugin e2e tests', () => { + const mockConfigureFn = vi.fn() + const mockReconfigureFn = vi.fn() + const listener = new TestListener() + const driver = setupDriver() + let spaceId: string + + beforeAll(async () => { + await driver.start() + listener.mount(driver) + + // Set up both plugins + listener.use(configureSpace(initialSetup, mockConfigureFn)) + listener.use(reconfigureSpace(reconfigureSetup, mockReconfigureFn)) + + const space = await setupSpace() + spaceId = space.id + }) + + afterAll(async () => { + await deleteSpace(spaceId) + driver.shutdown() + }) + + beforeEach(() => { + listener.resetCount() + }) + + afterEach(() => { + listener.reset() + }) + + it('should initially configure a space', async () => { + await listener.waitFor('job:ready', 1, 'space:configure') + + const space = await api.spaces.get(spaceId) + const workbook = await api.workbooks.get(space.data.primaryWorkbookId!) + + expect(workbook.data.name).toBe('Test Workbook') + expect(workbook.data.labels).toContain('initial') + expect(workbook.data.sheets![0].name).toBe('Contacts') + expect(workbook.data.sheets![0].config.fields).toHaveLength(3) // firstName, lastName, email + expect(mockConfigureFn).toHaveBeenCalled() + }) + + it('should reconfigure existing workbook and create new one', async () => { + await listener.waitFor('job:ready', 1, 'space:reconfigure') + + const space = await api.spaces.get(spaceId) + const workbooksList = await api.workbooks.list({ spaceId }) + const workbooks = workbooksList.data + + // Should have 2 workbooks now + expect(workbooks).toHaveLength(2) + + // Find the updated workbook + const updatedWorkbook = workbooks.find(wb => wb.name === 'Test Workbook') + expect(updatedWorkbook).toBeDefined() + expect(updatedWorkbook!.labels).toContain('updated') + expect(updatedWorkbook!.sheets![0].config.fields).toHaveLength(4) // firstName, lastName, email, phone + + // Find the new workbook + const newWorkbook = workbooks.find(wb => wb.name === 'New Companies Workbook') + expect(newWorkbook).toBeDefined() + expect(newWorkbook!.labels).toContain('new') + expect(newWorkbook!.sheets![0].name).toBe('Companies') + expect(newWorkbook!.sheets![0].config.fields).toHaveLength(2) // name, website + + // Check space metadata was updated + expect(space.data.metadata?.theme?.root?.primaryColor).toBe('blue') + + // Check workbook order is maintained + expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toBeDefined() + expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toHaveLength(2) + + expect(mockReconfigureFn).toHaveBeenCalled() + }) + + it('should handle workbook matching by name', async () => { + // Create a setup that matches by name + const matchingSetup: SetupFactory = { + workbooks: [ + { + name: 'Test Workbook', // Should match existing workbook + labels: ['matched-by-name'], + sheets: [ + { + name: 'Updated Contacts', + slug: 'updated-contacts', + fields: [ + { + key: 'fullName', + type: 'string', + label: 'Full Name', + }, + ], + }, + ], + }, + ], + } + + const matchingListener = new TestListener() + matchingListener.mount(driver) + matchingListener.use(reconfigureSpace(matchingSetup)) + + await matchingListener.waitFor('job:ready', 1, 'space:reconfigure') + + const workbooksList = await api.workbooks.list({ spaceId }) + const workbooks = workbooksList.data + + // Should still have 2 workbooks (1 updated, 1 unchanged) + expect(workbooks).toHaveLength(2) + + const matchedWorkbook = workbooks.find(wb => wb.name === 'Test Workbook') + expect(matchedWorkbook).toBeDefined() + expect(matchedWorkbook!.labels).toContain('matched-by-name') + expect(matchedWorkbook!.sheets![0].name).toBe('Updated Contacts') + + matchingListener.reset() + }) + + it('should create new workbook when no match found', async () => { + const newWorkbookSetup: SetupFactory = { + workbooks: [ + { + name: 'Completely New Workbook', // Should create new workbook + labels: ['brand-new'], + sheets: [ + { + name: 'New Sheet', + slug: 'new-sheet', + fields: [ + { + key: 'data', + type: 'string', + label: 'Data', + }, + ], + }, + ], + }, + ], + } + + const newWorkbookListener = new TestListener() + newWorkbookListener.mount(driver) + newWorkbookListener.use(reconfigureSpace(newWorkbookSetup)) + + await newWorkbookListener.waitFor('job:ready', 1, 'space:reconfigure') + + const workbooksList = await api.workbooks.list({ spaceId }) + const workbooks = workbooksList.data + + // Should have 3 workbooks now + expect(workbooks).toHaveLength(3) + + const newWorkbook = workbooks.find(wb => wb.name === 'Completely New Workbook') + expect(newWorkbook).toBeDefined() + expect(newWorkbook!.labels).toContain('brand-new') + expect(newWorkbook!.sheets![0].name).toBe('New Sheet') + + newWorkbookListener.reset() + }) + + it('should handle callback function with workbook IDs', async () => { + const callbackSetup: SetupFactory = { + workbooks: [ + { + name: 'Callback Test Workbook', + sheets: [contactsSheet], + }, + ], + } + + const callbackMock = vi.fn() + const callbackListener = new TestListener() + callbackListener.mount(driver) + callbackListener.use(reconfigureSpace(callbackSetup, callbackMock)) + + await callbackListener.waitFor('job:ready', 1, 'space:reconfigure') + + expect(callbackMock).toHaveBeenCalled() + expect(callbackMock).toHaveBeenCalledWith( + expect.any(Object), // event + expect.any(Array), // workbookIds + expect.any(Function) // tick + ) + + const [, workbookIds] = callbackMock.mock.calls[0] + expect(workbookIds).toHaveLength(1) + expect(typeof workbookIds[0]).toBe('string') + + callbackListener.reset() + }) +}) diff --git a/plugins/space-reconfigure/src/space.reconfigure.simple.e2e.spec.ts b/plugins/space-reconfigure/src/space.reconfigure.simple.e2e.spec.ts new file mode 100644 index 000000000..807d6af5f --- /dev/null +++ b/plugins/space-reconfigure/src/space.reconfigure.simple.e2e.spec.ts @@ -0,0 +1,73 @@ +import { FlatfileClient } from '@flatfile/api' +import { + deleteSpace, + setupDriver, + setupSpace, + TestListener, +} from '@flatfile/utils-testing' +import { + afterAll, + beforeAll, + describe, + expect, + it, + vi, +} from 'vitest' +import type { SetupFactory } from '.' +import { reconfigureSpace } from '.' + +const api = new FlatfileClient() + +// Simple reconfigure setup +const simpleSetup: SetupFactory = { + workbooks: [ + { + name: 'Simple Test Workbook', + sheets: [ + { + name: 'Test Sheet', + slug: 'test-sheet', + fields: [ + { + key: 'testField', + type: 'string', + label: 'Test Field', + }, + ], + }, + ], + }, + ], +} + +describe('SpaceReconfigure simple e2e test', () => { + const mockFn = vi.fn() + const listener = new TestListener() + const driver = setupDriver() + let spaceId: string + + beforeAll(async () => { + await driver.start() + listener.mount(driver) + listener.use(reconfigureSpace(simpleSetup, mockFn)) + const space = await setupSpace() + spaceId = space.id + }) + + afterAll(async () => { + await deleteSpace(spaceId) + driver.shutdown() + }) + + it('should reconfigure a space', async () => { + await listener.waitFor('job:ready', 1, 'space:reconfigure') + + const workbooksList = await api.workbooks.list({ spaceId }) + const workbooks = workbooksList.data + + expect(workbooks).toHaveLength(1) + expect(workbooks[0].name).toBe('Simple Test Workbook') + expect(workbooks[0].sheets![0].name).toBe('Test Sheet') + expect(mockFn).toHaveBeenCalled() + }) +}) diff --git a/plugins/space-reconfigure/src/space.reconfigure.ts b/plugins/space-reconfigure/src/space.reconfigure.ts new file mode 100644 index 000000000..b4d4bcc52 --- /dev/null +++ b/plugins/space-reconfigure/src/space.reconfigure.ts @@ -0,0 +1,150 @@ +import type { Flatfile } from '@flatfile/api' +import { FlatfileClient } from '@flatfile/api' +import type { FlatfileEvent, FlatfileListener } from '@flatfile/listener' +import { type TickFunction, jobHandler } from '@flatfile/plugin-job-handler' +import { matchWorkbooks } from './utils/workbook.matching' + +const api = new FlatfileClient() + +/** + * `reconfigureSpace` is a higher-order function that creates a plugin to reconfigure an + * existing workspace using the Flatfile API. This function takes a setup factory that may either + * be a static setup configuration or a function that creates a setup configuration + * given a FlatfileEvent. + * + * When the job:ready for space:reconfigure is emitted, the plugin will extract the necessary IDs, + * create a configuration using the provided setup factory, update existing workbooks that match + * the configuration, create new workbooks for unmatched configurations, and update the space + * with the updated configuration. + * + * @param {SetupFactory} setup - The setup factory used to create the configuration for the workbooks. + * This can either be a static Setup object or a function that creates a Setup object given a FlatfileEvent. + * + * @param {Function} callback - A callback function that is called after the workbooks are updated/created. + * + * @returns {Function} Returns a function that takes a FlatfileListener, adding a "space:reconfigure" event listener + * and reconfiguring the space when the event is emitted. + */ +export function reconfigureSpace( + setupFactory: SetupFactory, + callback?: ( + event: FlatfileEvent, + workbookIds: string[], + tick: TickFunction + ) => any | Promise +) { + return function (listener: FlatfileListener) { + listener.use( + jobHandler('space:reconfigure', async (event, tick) => { + const { spaceId, environmentId } = event.context + const setup = + typeof setupFactory === 'function' + ? await setupFactory(event) + : setupFactory + + await tick(10, 'Fetching existing workbooks') + + // Get existing workbooks in the space + const existingWorkbooksResponse = await api.workbooks.list({ + spaceId, + }) + const existingWorkbooks = existingWorkbooksResponse.data + + await tick(20, 'Matching workbooks to configuration') + + // Match workbook configurations to existing workbooks + const { matches, unmatchedConfigs } = matchWorkbooks( + existingWorkbooks, + setup.workbooks + ) + + await tick(30, 'Updating existing workbooks') + + // Update existing workbooks + const updatedWorkbookIds = await Promise.all( + matches.map(async ({ existingWorkbook, configIndex }) => { + const workbookConfig = setup.workbooks[configIndex] + await api.workbooks.update(existingWorkbook.id, { + environmentId, + ...workbookConfig, + }) + return existingWorkbook.id + }) + ) + + await tick(40, 'Creating new workbooks') + + // Create new workbooks for unmatched configurations + const newWorkbookIds = await Promise.all( + unmatchedConfigs.map(async ({ config }) => { + const workbook = await api.workbooks.create({ + spaceId, + environmentId, + name: 'Workbook', + ...config, + }) + return workbook.data.id + }) + ) + + const allWorkbookIds = [...updatedWorkbookIds, ...newWorkbookIds] + + await tick(50, 'Workbooks updated and created') + + // Update space configuration + if (setup.config?.maintainWorkbookOrder) { + if (!setup.space) { + setup.space = {} + } + + setup.space.settings = { + sidebarConfig: { + workbookSidebarOrder: allWorkbookIds, + }, + } + } + + await tick(60, 'Updating space configuration') + + await api.spaces.update(spaceId, { + environmentId: environmentId, + primaryWorkbookId: + allWorkbookIds && allWorkbookIds.length > 0 ? allWorkbookIds[0] : '', + ...setup.space, + }) + + await tick(70, 'Updating documents') + + // Handle documents + if (setup.documents) { + for (const document of setup.documents) { + await api.documents.create(spaceId, document) + } + } + + await tick(80, 'Finalizing reconfiguration') + + if (callback) { + await callback(event, allWorkbookIds, tick) + } + + return { info: 'Space reconfigured' } + }) + ) + } +} + +export type SetupFactory = + | Setup + | ((event: FlatfileEvent) => Setup | Promise) + +export type Setup = { + workbooks: PartialWb[] + space?: Partial + documents?: Flatfile.DocumentConfig[] + config?: { + maintainWorkbookOrder?: boolean + } +} + +export type PartialWb = Partial diff --git a/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts b/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts new file mode 100644 index 000000000..c00e63b79 --- /dev/null +++ b/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts @@ -0,0 +1,134 @@ +import { describe, expect, it } from 'vitest' +import { matchWorkbooks } from './workbook.matching' +import type { Flatfile } from '@flatfile/api' + +describe('workbook matching utility', () => { + const mockExistingWorkbooks: Flatfile.Workbook[] = [ + { + id: 'wb-1', + name: 'Contacts Workbook', + labels: ['existing'], + sheets: [], + actions: [], + spaceId: 'space-1', + environmentId: 'env-1', + namespace: 'portal', + }, + { + id: 'wb-2', + name: 'Companies Workbook', + labels: ['existing'], + sheets: [], + actions: [], + spaceId: 'space-1', + environmentId: 'env-1', + namespace: 'portal', + }, + ] as Flatfile.Workbook[] + + it('should match workbooks by name', () => { + const workbookConfigs = [ + { name: 'Contacts Workbook', labels: ['updated'] }, + { name: 'Companies Workbook', labels: ['updated'] }, + ] + + const { matches, unmatchedConfigs } = matchWorkbooks( + mockExistingWorkbooks, + workbookConfigs + ) + + expect(matches).toHaveLength(2) + expect(unmatchedConfigs).toHaveLength(0) + + expect(matches[0].existingWorkbook.name).toBe('Contacts Workbook') + expect(matches[0].configIndex).toBe(0) + expect(matches[1].existingWorkbook.name).toBe('Companies Workbook') + expect(matches[1].configIndex).toBe(1) + }) + + it('should handle unmatched workbook configurations', () => { + const workbookConfigs = [ + { name: 'Contacts Workbook', labels: ['updated'] }, // Should match + { name: 'New Analytics Workbook', labels: ['new'] }, // Should not match + ] + + const { matches, unmatchedConfigs } = matchWorkbooks( + mockExistingWorkbooks, + workbookConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(1) + + expect(matches[0].existingWorkbook.name).toBe('Contacts Workbook') + expect(unmatchedConfigs[0].config.name).toBe('New Analytics Workbook') + expect(unmatchedConfigs[0].index).toBe(1) + }) + + it('should handle empty workbook configurations', () => { + const workbookConfigs: Partial[] = [] + + const { matches, unmatchedConfigs } = matchWorkbooks( + mockExistingWorkbooks, + workbookConfigs + ) + + expect(matches).toHaveLength(0) + expect(unmatchedConfigs).toHaveLength(0) + }) + + it('should handle empty existing workbooks', () => { + const workbookConfigs = [ + { name: 'New Workbook', labels: ['new'] }, + ] + + const { matches, unmatchedConfigs } = matchWorkbooks( + [], + workbookConfigs + ) + + expect(matches).toHaveLength(0) + expect(unmatchedConfigs).toHaveLength(1) + expect(unmatchedConfigs[0].config.name).toBe('New Workbook') + }) + + it('should not match the same workbook twice', () => { + const workbookConfigs = [ + { name: 'Contacts Workbook', labels: ['first'] }, + { name: 'Contacts Workbook', labels: ['second'] }, // Same name, should not match + ] + + const { matches, unmatchedConfigs } = matchWorkbooks( + mockExistingWorkbooks, + workbookConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(1) + + expect(matches[0].existingWorkbook.name).toBe('Contacts Workbook') + expect(matches[0].configIndex).toBe(0) + expect(unmatchedConfigs[0].config.name).toBe('Contacts Workbook') + expect(unmatchedConfigs[0].index).toBe(1) + }) + + it('should handle workbook configurations without names', () => { + const workbookConfigs = [ + { labels: ['no-name'] }, // No name field + { name: 'Contacts Workbook', labels: ['has-name'] }, + ] + + const { matches, unmatchedConfigs } = matchWorkbooks( + mockExistingWorkbooks, + workbookConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(1) + + expect(matches[0].existingWorkbook.name).toBe('Contacts Workbook') + expect(matches[0].configIndex).toBe(1) + expect(unmatchedConfigs[0].config.labels).toContain('no-name') + expect(unmatchedConfigs[0].index).toBe(0) + }) +}) diff --git a/plugins/space-reconfigure/src/utils/workbook.matching.ts b/plugins/space-reconfigure/src/utils/workbook.matching.ts new file mode 100644 index 000000000..82b8d3131 --- /dev/null +++ b/plugins/space-reconfigure/src/utils/workbook.matching.ts @@ -0,0 +1,43 @@ +import type { Flatfile } from '@flatfile/api' + +export interface WorkbookMatch { + existingWorkbook: Flatfile.Workbook + configIndex: number +} + +/** + * Matches workbook configurations to existing workbooks in a space + * @param existingWorkbooks - Array of existing workbooks in the space + * @param workbookConfigs - Array of workbook configurations to match + * @returns Array of matches and unmatched configs + */ +export function matchWorkbooks( + existingWorkbooks: Flatfile.Workbook[], + workbookConfigs: Partial[] +): { + matches: WorkbookMatch[] + unmatchedConfigs: { config: Partial; index: number }[] +} { + const matches: WorkbookMatch[] = [] + const unmatchedConfigs: { config: Partial; index: number }[] = [] + const usedWorkbooks = new Set() + + workbookConfigs.forEach((config, configIndex) => { + // Try to match by name first + let matchedWorkbook = existingWorkbooks.find( + wb => wb.name === config.name && !usedWorkbooks.has(wb.id) + ) + + if (matchedWorkbook) { + matches.push({ + existingWorkbook: matchedWorkbook, + configIndex + }) + usedWorkbooks.add(matchedWorkbook.id) + } else { + unmatchedConfigs.push({ config, index: configIndex }) + } + }) + + return { matches, unmatchedConfigs } +} diff --git a/plugins/space-reconfigure/tsup.config.mjs b/plugins/space-reconfigure/tsup.config.mjs new file mode 100644 index 000000000..bd6420831 --- /dev/null +++ b/plugins/space-reconfigure/tsup.config.mjs @@ -0,0 +1,3 @@ +import { defineConfig } from '@flatfile/bundler-config-tsup' + +export default defineConfig({}) diff --git a/plugins/space-reconfigure/vitest.config.ts b/plugins/space-reconfigure/vitest.config.ts new file mode 100644 index 000000000..e9e1729f9 --- /dev/null +++ b/plugins/space-reconfigure/vitest.config.ts @@ -0,0 +1,4 @@ +import config from '@flatfile/config-vitest' +import { defineConfig } from 'vitest/config' + +export default defineConfig(config) From 47f3fa8c8fbe084daec6f0b42d5f4867f993324a Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Mon, 14 Jul 2025 20:58:55 -0500 Subject: [PATCH 2/7] feat: add workbook and sheet deletion support to space-reconfigure - Add workbook deletion for workbooks not in new configuration - Add sheet matching utility for future sheet-level operations - Update workbook matching to track deletions - Add comprehensive tests for deletion scenarios - Update README to document deletion behavior - Ensure proper cleanup of removed workbooks during reconfiguration Amp-Thread: https://ampcode.com/threads/T-b676df3e-c4b9-4113-81c9-e6dfe80ddd97 Co-authored-by: Amp --- flatfilers/sandbox/package.json | 8 +- flatfilers/sandbox/src/index.ts | 171 +- package-lock.json | 1536 ++++++++++------- plugins/space-reconfigure/README.md | 15 +- plugins/space-reconfigure/src/index.ts | 1 + .../src/space.reconfigure.e2e.spec.ts | 61 + .../src/space.reconfigure.ts | 18 +- .../src/utils/sheet.matching.spec.ts | 222 +++ .../src/utils/sheet.matching.ts | 54 + .../src/utils/workbook.matching.spec.ts | 40 +- .../src/utils/workbook.matching.ts | 6 +- 11 files changed, 1371 insertions(+), 761 deletions(-) create mode 100644 plugins/space-reconfigure/src/utils/sheet.matching.spec.ts create mode 100644 plugins/space-reconfigure/src/utils/sheet.matching.ts diff --git a/flatfilers/sandbox/package.json b/flatfilers/sandbox/package.json index 1b67aeb2e..19d49bd92 100644 --- a/flatfilers/sandbox/package.json +++ b/flatfilers/sandbox/package.json @@ -25,13 +25,13 @@ "delete:prod": "dotenvx run --env-file=.env.prod -- npm run delete" }, "dependencies": { - "@flatfile/api": "^1.9.19", - "@flatfile/listener": "^1.1.0", + "@flatfile/api": "^1.17.5", + "@flatfile/listener": "^1.1.2", "@flatfile/utils-debugger": "^0.0.6" }, "devDependencies": { - "@dotenvx/dotenvx": "^0.39.0", + "@dotenvx/dotenvx": "^1.46.0", "@flatfile/http-logger": "^1.0.4", - "flatfile": "^3.6.1" + "flatfile": "^3.11.0" } } diff --git a/flatfilers/sandbox/src/index.ts b/flatfilers/sandbox/src/index.ts index a8c7ebc3a..1bad1eb1c 100644 --- a/flatfilers/sandbox/src/index.ts +++ b/flatfilers/sandbox/src/index.ts @@ -3,6 +3,8 @@ import { configureSpace } from '@flatfile/plugin-space-configure' import { type Flatfile, FlatfileClient } from '@flatfile/api' import '@flatfile/http-logger/init' import { bulkRecordHook, FlatfileRecord } from '@flatfile/plugin-record-hook' +import { reconfigureSpace } from '../../../plugins/space-reconfigure/src' +import { contacts } from './sheets/contacts' const api = new FlatfileClient() @@ -21976,98 +21978,79 @@ const sheets = [ ] as Flatfile.SheetConfig[] export default async function (listener: FlatfileListener) { - listener.on('**', async (event) => { - console.log('got an event', event) - }) - // async function updateWorkbookSheets( - // jobId: string, - // workbookId: string, - // sheets: Flatfile.SheetConfig[] - // ): Promise { - // try { - // const workbook: Flatfile.WorkbookUpdate = { - // sheets, - // } - // const response = await api.workbooks.update(workbookId, workbook, { - // maxRetries: 3, - // }) - // return response.data - // } catch (error) { - // await api.jobs.fail(jobId, { - // info: 'Unable to update workbook sheets', - // }) - // const e = error as Error - // console.error(`Unable to update workbook sheets, ${e.message}`) - // throw new Error(`Unable to reproduce worknook ${workbookId} sheets`, { - // cause: e, - // }) - // } - // } - // listener.on( - // 'job:ready', - // { job: 'workbook:updateWorkbookSheets' }, - // async (event) => { - // const { workbookId, jobId } = event.context - // await api.jobs.ack(jobId, { - // info: 'starting sheet update job', - // progress: 2, - // }) - // await updateWorkbookSheets(jobId, workbookId, sheets) - // await api.jobs.complete(jobId, { - // outcome: { - // message: 'Sheet update job completed', - // }, - // }) - // } - // ) - // listener.use( - // bulkRecordHook( - // 'bulk-upload-material', - // async (records: FlatfileRecord[], event: FlatfileEvent) => { - // // TODO: Add your logic here - // records.map((record) => { - // record.set('name', 'John') - // }) - // return records - // }, - // { debug: true } - // ) - // ) - // listener.namespace( - // ['space:getting-started'], - // configureSpace({ - // workbooks: [ - // { - // name: 'Example', - // sheets: [ - // { - // name: 'Bulk Upload - Material', - // slug: 'bulk-upload-material', - // fields: [ - // { - // key: 'name', - // type: 'string', - // label: 'Material Name', - // description: 'Name of material or material blend.', - // constraints: [ - // { - // type: 'required', - // }, - // ], - // }, - // ], - // }, - // ], - // actions: [ - // { - // operation: 'updateWorkbookSheets', - // mode: 'foreground', - // label: 'Update Workbook Sheets', - // primary: true, - // }, - // ], - // }, - // ], - // }) - // ) + listener.namespace( + ['space:getting-started'], + reconfigureSpace({ + workbooks: [ + { + name: 'Example', + sheets: [ + { + name: 'Bulk Upload - Material', + slug: 'bulk-upload-material', + fields: [ + { + key: 'name', + type: 'string', + label: 'Material Name', + description: 'Name of material or material blend.', + constraints: [ + { + type: 'required', + }, + ], + }, + ], + }, + ], + actions: [ + { + operation: 'reconfigure', + mode: 'foreground', + label: 'Reconfigure Space', + primary: true, + }, + ], + }, + ], + }) + ) + + listener.namespace( + ['space:getting-started'], + configureSpace({ + workbooks: [ + { + name: 'Example', + sheets: [ + { + name: 'Bulk Upload - Material', + slug: 'bulk-upload-material', + fields: [ + { + key: 'name', + type: 'string', + label: 'Material Name', + description: 'Name of material or material blend.', + constraints: [ + { + type: 'required', + }, + ], + }, + ], + }, + ], + actions: [ + { + operation: 'reconfigure', + mode: 'foreground', + label: 'Reconfigure Space', + primary: true, + }, + ], + }, + ], + }) + ) } diff --git a/package-lock.json b/package-lock.json index 641f32c45..9dc89ff24 100644 --- a/package-lock.json +++ b/package-lock.json @@ -296,7 +296,6 @@ "flatfilers/playground": { "name": "@private/playground", "version": "0.0.0", - "extraneous": true, "license": "ISC", "dependencies": { "@flatfile/api": "^1.15.7", @@ -312,14 +311,814 @@ "version": "0.0.0", "license": "ISC", "dependencies": { - "@flatfile/api": "^1.9.19", - "@flatfile/listener": "^1.1.0", + "@flatfile/api": "^1.17.5", + "@flatfile/listener": "^1.1.2", "@flatfile/utils-debugger": "^0.0.6" }, "devDependencies": { - "@dotenvx/dotenvx": "^0.39.0", + "@dotenvx/dotenvx": "^1.46.0", "@flatfile/http-logger": "^1.0.4", - "flatfile": "^3.6.1" + "flatfile": "^3.11.0" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/@rollup/plugin-commonjs": { + "version": "23.0.7", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-23.0.7.tgz", + "integrity": "sha512-hsSD5Qzyuat/swzrExGG5l7EuIlPhwTsT7KwKbSCQzIcJWjRxiimi/0tyMYY2bByitNb3i1p+6JWEDGa0NvT0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.27.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "flatfilers/sandbox/node_modules/@rollup/plugin-json": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-5.0.2.tgz", + "integrity": "sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "flatfilers/sandbox/node_modules/@rollup/plugin-terser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.1.0.tgz", + "integrity": "sha512-N2KK+qUfHX2hBzVzM41UWGLrEmcjVC37spC8R3c9mt3oEDFKh3N2e12/lLp9aVSt86veR0TQiCNQXrm8C6aiUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "terser": "^5.15.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.x || ^3.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "flatfilers/sandbox/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "flatfilers/sandbox/node_modules/bundle-require": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-4.2.1.tgz", + "integrity": "sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-tsconfig": "^0.2.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.17" + } + }, + "flatfilers/sandbox/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "flatfilers/sandbox/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "flatfilers/sandbox/node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "flatfilers/sandbox/node_modules/flatfile": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/flatfile/-/flatfile-3.11.0.tgz", + "integrity": "sha512-FONEkXuM1C00xtmHxnZfgAc+q19DbZ9nGYQrurIph8ifaF66R3BgJR15L2vBGCeEMK+EurEp0EzpbyAChXkxBg==", + "dev": true, + "dependencies": { + "@flatfile/cross-env-config": "^0.0.6", + "@flatfile/listener": "^1.0.4", + "@flatfile/listener-driver-pubsub": "^2.0.8", + "@rollup/plugin-commonjs": "^23.0.3", + "@rollup/plugin-json": "^5.0.2", + "@rollup/plugin-node-resolve": "^15.0.1", + "@rollup/plugin-terser": "^0.1.0", + "@rollup/plugin-typescript": "^11.1.5", + "@types/node-fetch": "^2.6.2", + "@vercel/ncc": "^0.36.1", + "axios": "^1.6.0", + "commander": "^9.3.0", + "dotenv": "^16.0.1", + "figlet": "^1.5.2", + "graphql": "^16.5.0", + "graphql-request": "^4.3.0", + "node-fetch": "^2.6.7", + "ora": "^5.4.1", + "prompts": "^2.4.2", + "rc": "^1.2.8", + "read-package-json": "^6.0.2", + "rollup": "^2.79.2", + "rollup-plugin-inject-process-env": "^1.3.1", + "simple-mock": "^0.8.0", + "table": "^6.8.1", + "tsup": "^6.1.3", + "util": "^0.12.5", + "uuid": "^9.0.0", + "wildcard-match": "^5.1.2", + "zod": "^3.19.1" + }, + "bin": { + "flatfile": "dist/index.js" + } + }, + "flatfilers/sandbox/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "flatfilers/sandbox/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "flatfilers/sandbox/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "flatfilers/sandbox/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "flatfilers/sandbox/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "flatfilers/sandbox/node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "flatfilers/sandbox/node_modules/rollup": { + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "flatfilers/sandbox/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "flatfilers/sandbox/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "flatfilers/sandbox/node_modules/tsup": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-6.7.0.tgz", + "integrity": "sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^4.0.0", + "cac": "^6.7.12", + "chokidar": "^3.5.1", + "debug": "^4.3.1", + "esbuild": "^0.17.6", + "execa": "^5.0.0", + "globby": "^11.0.3", + "joycon": "^3.0.1", + "postcss-load-config": "^3.0.1", + "resolve-from": "^5.0.0", + "rollup": "^3.2.5", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.20.3", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=14.18" + }, + "peerDependencies": { + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "flatfilers/sandbox/node_modules/tsup/node_modules/rollup": { + "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "flatfilers/sandbox/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true, + "license": "BSD-2-Clause" + }, + "flatfilers/sandbox/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "flatfilers/sandbox/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" } }, "import/faker": { @@ -3336,59 +4135,30 @@ "node": ">=0.1.90" } }, - "node_modules/@dabh/diagnostics": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, "node_modules/@dotenvx/dotenvx": { - "version": "0.39.0", + "version": "1.47.6", + "resolved": "https://registry.npmjs.org/@dotenvx/dotenvx/-/dotenvx-1.47.6.tgz", + "integrity": "sha512-bvVMFc3Z9/mtYUWP1S1UB4SA3U2mQ1p7Qc9QW6Cm7t1Vm6D+dysmus/Mt26Dc1QrE6OgrKUGC99EQcMvcFZC3Q==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@inquirer/confirm": "^2.0.17", - "arch": "^2.1.1", - "chalk": "^4.1.2", "commander": "^11.1.0", - "conf": "^10.2.0", - "diff": "^5.2.0", "dotenv": "^16.4.5", - "dotenv-expand": "^11.0.6", - "eciesjs": "^0.4.6", + "eciesjs": "^0.4.10", "execa": "^5.1.1", - "glob": "^10.3.10", + "fdir": "^6.2.0", "ignore": "^5.3.0", - "is-wsl": "^2.1.1", "object-treeify": "1.1.33", - "open": "^8.4.2", - "ora": "^5.4.1", - "semver": "^7.3.4", - "undici": "^5.28.3", - "which": "^4.0.0", - "winston": "^3.11.0", - "xxhashjs": "^0.2.2" + "picomatch": "^4.0.2", + "which": "^4.0.0" }, "bin": { - "dotenvx": "src/cli/dotenvx.js", - "git-dotenvx": "src/cli/dotenvx.js" + "dotenvx": "src/cli/dotenvx.js" }, "funding": { "url": "https://dotenvx.com" } }, - "node_modules/@dotenvx/dotenvx/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/@dotenvx/dotenvx/node_modules/commander": { "version": "11.1.0", "dev": true, @@ -3397,37 +4167,19 @@ "node": ">=16" } }, - "node_modules/@dotenvx/dotenvx/node_modules/dotenv-expand": { - "version": "11.0.6", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dotenv": "^16.4.4" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/@dotenvx/dotenvx/node_modules/glob": { - "version": "10.4.5", + "node_modules/@dotenvx/dotenvx/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, "node_modules/@dotenvx/dotenvx/node_modules/isexe": { @@ -3438,18 +4190,17 @@ "node": ">=16" } }, - "node_modules/@dotenvx/dotenvx/node_modules/minimatch": { - "version": "9.0.5", + "node_modules/@dotenvx/dotenvx/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/@dotenvx/dotenvx/node_modules/which": { @@ -3466,6 +4217,21 @@ "node": "^16.13.0 || >=18.0.0" } }, + "node_modules/@ecies/ciphers": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.4.tgz", + "integrity": "sha512-t+iX+Wf5nRKyNzk8dviW3Ikb/280+aEJAnw9YXvCp2tYGPSkMki+NRY+8aNLmVFv3eNtMdvViPNOPxS8SZNP+w==", + "dev": true, + "license": "MIT", + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + }, + "peerDependencies": { + "@noble/ciphers": "^1.0.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -3834,18 +4600,10 @@ "npm": ">=6.0.0" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - } - }, "node_modules/@flatfile/api": { - "version": "1.17.2", - "resolved": "https://registry.npmjs.org/@flatfile/api/-/api-1.17.2.tgz", - "integrity": "sha512-oSSwJJpq/AjFvFgV3sEGbZKLXvps3/pAcoopJxCPaJ2ABqyUNBTuVJlOrB032cpRXH2VkAsDpOFPkOg5iH7UHQ==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@flatfile/api/-/api-1.19.0.tgz", + "integrity": "sha512-ioWeBhrmvrL46i7k7fxHkGRwp22yhsTfDesxSPulrn/NLwymExvswQIeYPE3MihhDpF80q2cXw2pX4cgvLN2/g==", "dependencies": { "@flatfile/cross-env-config": "0.0.6", "@types/pako": "2.0.3", @@ -4070,7 +4828,9 @@ } }, "node_modules/@flatfile/listener": { - "version": "1.1.0", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@flatfile/listener/-/listener-1.1.2.tgz", + "integrity": "sha512-o3TRaZY/S/7/nCA+ZKrLU8fMb4rRcpp6tNUaZw4ufNEg7WZR7dv654weG61r7hHHGTMUzHn3diAu8o1BXPmtfg==", "license": "MIT", "dependencies": { "ansi-colors": "^4.1.3", @@ -4431,78 +5191,6 @@ "@hapi/hoek": "^9.0.0" } }, - "node_modules/@inquirer/confirm": { - "version": "2.0.17", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^6.0.0", - "@inquirer/type": "^1.1.6", - "chalk": "^4.1.2" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/@inquirer/core": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/type": "^1.1.6", - "@types/mute-stream": "^0.0.4", - "@types/node": "^20.10.7", - "@types/wrap-ansi": "^3.0.0", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "cli-spinners": "^2.9.2", - "cli-width": "^4.1.0", - "figures": "^3.2.0", - "mute-stream": "^1.0.0", - "run-async": "^3.0.0", - "signal-exit": "^4.1.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/@inquirer/core/node_modules/signal-exit": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@inquirer/core/node_modules/wrap-ansi": { - "version": "6.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@inquirer/type": { - "version": "1.5.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mute-stream": "^1.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "license": "ISC", @@ -4921,30 +5609,42 @@ } }, "node_modules/@noble/ciphers": { - "version": "0.5.3", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", + "integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==", "dev": true, "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@noble/curves": { - "version": "1.5.0", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.2.tgz", + "integrity": "sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g==", "dev": true, "license": "MIT", "dependencies": { - "@noble/hashes": "1.4.0" + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@noble/hashes": { - "version": "1.4.0", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", "dev": true, "license": "MIT", "engines": { - "node": ">= 16" + "node": "^14.21.3 || >=16" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -5128,6 +5828,10 @@ "node": ">=14" } }, + "node_modules/@private/playground": { + "resolved": "flatfilers/playground", + "link": true + }, "node_modules/@private/sandbox": { "resolved": "flatfilers/sandbox", "link": true @@ -6547,14 +7251,6 @@ "version": "4.0.2", "license": "MIT" }, - "node_modules/@types/mute-stream": { - "version": "0.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/node": { "version": "20.16.2", "license": "MIT", @@ -6655,21 +7351,11 @@ "version": "4.0.5", "license": "MIT" }, - "node_modules/@types/triple-beam": { - "version": "1.3.5", - "dev": true, - "license": "MIT" - }, "node_modules/@types/uuid": { "version": "10.0.0", "license": "MIT", "peer": true }, - "node_modules/@types/wrap-ansi": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/@types/yargs": { "version": "17.0.33", "license": "MIT", @@ -6890,22 +7576,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, "node_modules/anser": { "version": "1.4.10", "license": "MIT", @@ -6918,20 +7588,6 @@ "node": ">=6" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-fragments": { "version": "0.2.1", "license": "MIT", @@ -7001,25 +7657,6 @@ "license": "MIT", "peer": true }, - "node_modules/arch": { - "version": "2.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/argparse": { "version": "1.0.10", "license": "MIT", @@ -7125,14 +7762,6 @@ "version": "0.4.0", "license": "MIT" }, - "node_modules/atomically": { - "version": "1.7.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.12.0" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "license": "MIT", @@ -7839,14 +8468,6 @@ "@colors/colors": "1.5.0" } }, - "node_modules/cli-width": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 12" - } - }, "node_modules/cliui": { "version": "8.0.1", "license": "ISC", @@ -7872,15 +8493,6 @@ "node": ">=6" } }, - "node_modules/color": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "license": "MIT", @@ -7895,42 +8507,11 @@ "version": "1.1.4", "license": "MIT" }, - "node_modules/color-string": { - "version": "1.9.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, "node_modules/colorette": { "version": "1.4.0", "license": "MIT", "peer": true }, - "node_modules/colorspace": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" - } - }, "node_modules/combined-stream": { "version": "1.0.8", "license": "MIT", @@ -8011,32 +8592,9 @@ } }, "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT", - "peer": true - }, - "node_modules/conf": { - "version": "10.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.6.3", - "ajv-formats": "^2.1.1", - "atomically": "^1.7.0", - "debounce-fn": "^4.0.0", - "dot-prop": "^6.0.1", - "env-paths": "^2.2.1", - "json-schema-typed": "^7.0.3", - "onetime": "^5.1.2", - "pkg-up": "^3.1.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "version": "0.0.1", + "license": "MIT", + "peer": true }, "node_modules/connect": { "version": "3.7.0", @@ -8297,11 +8855,6 @@ "version": "6.5.1", "license": "MIT" }, - "node_modules/cuint": { - "version": "0.2.2", - "dev": true, - "license": "MIT" - }, "node_modules/custom-exception": { "version": "0.1.2", "dev": true, @@ -8381,28 +8934,6 @@ "version": "1.11.13", "license": "MIT" }, - "node_modules/debounce-fn": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/debounce-fn/node_modules/mimic-fn": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/debug": { "version": "2.6.9", "license": "MIT", @@ -8542,14 +9073,6 @@ "node": ">=8" } }, - "node_modules/diff": { - "version": "5.2.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "dev": true, @@ -8575,20 +9098,6 @@ ], "license": "BSD-2-Clause" }, - "node_modules/dot-prop": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/dotenv": { "version": "16.4.5", "devOptional": true, @@ -8663,16 +9172,21 @@ } }, "node_modules/eciesjs": { - "version": "0.4.7", + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.15.tgz", + "integrity": "sha512-r6kEJXDKecVOCj2nLMuXK/FCPeurW33+3JRpfXVbjLja3XUYFfD9I/JBreH6sUyzcm3G/YQboBjMla6poKeSdA==", "dev": true, "license": "MIT", "dependencies": { - "@noble/ciphers": "^0.5.3", - "@noble/curves": "^1.4.0", - "@noble/hashes": "^1.4.0" + "@ecies/ciphers": "^0.2.3", + "@noble/ciphers": "^1.3.0", + "@noble/curves": "^1.9.1", + "@noble/hashes": "^1.8.0" }, "engines": { - "node": ">=16.0.0" + "bun": ">=1", + "deno": ">=2", + "node": ">=16" } }, "node_modules/ee-first": { @@ -8700,11 +9214,6 @@ "dev": true, "license": "MIT" }, - "node_modules/enabled": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/encodeurl": { "version": "1.0.2", "license": "MIT", @@ -8734,6 +9243,7 @@ "node_modules/env-paths": { "version": "2.2.1", "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -9563,11 +10073,6 @@ "bser": "2.1.1" } }, - "node_modules/fecha": { - "version": "4.2.3", - "dev": true, - "license": "MIT" - }, "node_modules/fflate": { "version": "0.8.2", "dev": true, @@ -9584,28 +10089,6 @@ "node": ">= 0.4.0" } }, - "node_modules/figures": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/fill-range": { "version": "7.1.1", "license": "MIT", @@ -10490,11 +10973,6 @@ "node": ">=0.4.0" } }, - "node_modules/fn.name": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, "node_modules/follow-redirects": { "version": "1.15.6", "funding": [ @@ -11668,14 +12146,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-obj": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "license": "MIT", @@ -12145,11 +12615,6 @@ "dev": true, "license": "MIT" }, - "node_modules/json-schema-typed": { - "version": "7.0.3", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/json5": { "version": "2.2.3", "license": "MIT", @@ -12241,11 +12706,6 @@ "node": ">=6" } }, - "node_modules/kuler": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/langsmith": { "version": "0.1.66", "license": "MIT", @@ -12427,35 +12887,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/logform": { - "version": "2.6.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@colors/colors": "1.6.0", - "@types/triple-beam": "^1.3.2", - "fecha": "^4.2.0", - "ms": "^2.1.1", - "safe-stable-stringify": "^2.3.1", - "triple-beam": "^1.3.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/logform/node_modules/@colors/colors": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/logform/node_modules/ms": { - "version": "2.1.3", - "dev": true, - "license": "MIT" - }, "node_modules/logkitty": { "version": "0.7.1", "license": "MIT", @@ -13231,14 +13662,6 @@ "mustache": "bin/mustache" } }, - "node_modules/mute-stream": { - "version": "1.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/mz": { "version": "2.7.0", "license": "MIT", @@ -13654,14 +14077,6 @@ "wrappy": "1" } }, - "node_modules/one-time": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fn.name": "1.x.x" - } - }, "node_modules/onetime": { "version": "5.1.2", "license": "MIT", @@ -14157,59 +14572,6 @@ "node": ">=8" } }, - "node_modules/pkg-up": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "license": "MIT", @@ -15305,14 +15667,6 @@ "node": ">=4.0.0" } }, - "node_modules/run-async": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "funding": [ @@ -15394,14 +15748,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-stable-stringify": { - "version": "2.5.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, "node_modules/safer-buffer": { "version": "2.1.2", "license": "MIT" @@ -15660,19 +16006,6 @@ "dev": true, "license": "MIT" }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "dev": true, - "license": "MIT" - }, "node_modules/sisteransi": { "version": "1.0.5", "license": "MIT" @@ -15922,14 +16255,6 @@ "node": ">=8.6.0 <=20" } }, - "node_modules/stack-trace": { - "version": "0.0.10", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/stack-utils": { "version": "2.0.6", "license": "MIT", @@ -16479,11 +16804,6 @@ "version": "0.7.0", "license": "(Unlicense OR Apache-2.0)" }, - "node_modules/text-hex": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/thenify": { "version": "3.3.1", "license": "MIT", @@ -16666,14 +16986,6 @@ "tree-kill": "cli.js" } }, - "node_modules/triple-beam": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.0.0" - } - }, "node_modules/ts-expose-internals-conditionally": { "version": "1.0.0-empty.0", "dev": true, @@ -16820,17 +17132,6 @@ "node": ">=4" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/type-is": { "version": "1.6.18", "dev": true, @@ -16944,17 +17245,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undici": { - "version": "5.28.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" - } - }, "node_modules/undici-types": { "version": "6.19.8", "license": "MIT" @@ -17500,48 +17790,6 @@ "version": "5.1.3", "license": "ISC" }, - "node_modules/winston": { - "version": "3.14.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@colors/colors": "^1.6.0", - "@dabh/diagnostics": "^2.0.2", - "async": "^3.2.3", - "is-stream": "^2.0.0", - "logform": "^2.6.0", - "one-time": "^1.0.0", - "readable-stream": "^3.4.0", - "safe-stable-stringify": "^2.3.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.7.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/winston-transport": { - "version": "4.7.1", - "dev": true, - "license": "MIT", - "dependencies": { - "logform": "^2.6.1", - "readable-stream": "^3.6.2", - "triple-beam": "^1.3.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/winston/node_modules/@colors/colors": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/wordwrap": { "version": "1.0.0", "dev": true, @@ -17644,14 +17892,6 @@ "node": ">=0.4" } }, - "node_modules/xxhashjs": { - "version": "0.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "cuint": "^0.2.2" - } - }, "node_modules/y18n": { "version": "5.0.8", "license": "ISC", @@ -17747,7 +17987,7 @@ }, "plugins/automap": { "name": "@flatfile/plugin-automap", - "version": "0.8.1", + "version": "0.8.2", "license": "ISC", "dependencies": { "@flatfile/util-common": "^1.6.0", diff --git a/plugins/space-reconfigure/README.md b/plugins/space-reconfigure/README.md index eecb5c5ab..0ccc4a3f3 100644 --- a/plugins/space-reconfigure/README.md +++ b/plugins/space-reconfigure/README.md @@ -35,10 +35,17 @@ The `callback` parameter receives three arguments: `event`, `workbookIds`, and a ## How It Works 1. **Fetch Existing Workbooks**: Retrieves all workbooks currently in the space -2. **Match Workbooks**: Matches provided workbook configurations to existing workbooks by name or slug -3. **Update Existing**: Updates matched workbooks with new configurations -4. **Create New**: Creates new workbooks for unmatched configurations -5. **Update Space**: Updates space settings and maintains workbook order if configured +2. **Match Workbooks**: Matches provided workbook configurations to existing workbooks by name +3. **Update Existing**: Updates matched workbooks with new configurations (sheets are replaced) +4. **Delete Removed**: Deletes workbooks that are no longer in the configuration +5. **Create New**: Creates new workbooks for unmatched configurations +6. **Update Space**: Updates space settings and maintains workbook order if configured + +## Important Notes + +- **Workbook Deletion**: Any existing workbooks not present in the new configuration will be **permanently deleted** +- **Sheet Replacement**: When a workbook is updated, all sheets are replaced with the new configuration +- **Name-Based Matching**: Workbooks are matched by their `name` field - ensure consistent naming for updates ## Usage diff --git a/plugins/space-reconfigure/src/index.ts b/plugins/space-reconfigure/src/index.ts index eba959ffa..ab607f768 100644 --- a/plugins/space-reconfigure/src/index.ts +++ b/plugins/space-reconfigure/src/index.ts @@ -1,2 +1,3 @@ export * from './space.reconfigure' export * from './utils/workbook.matching' +export * from './utils/sheet.matching' diff --git a/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts index efa245438..fb26a2986 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts @@ -281,4 +281,65 @@ describe('SpaceReconfigure plugin e2e tests', () => { callbackListener.reset() }) + + it('should delete workbooks that are not in the new configuration', async () => { + // First ensure we have multiple workbooks + const setupWithMultipleWorkbooks: SetupFactory = { + workbooks: [ + { + name: 'Workbook A', + sheets: [contactsSheet], + }, + { + name: 'Workbook B', + sheets: [companiesSheet], + }, + ], + } + + const multipleWorkbooksListener = new TestListener() + multipleWorkbooksListener.mount(driver) + multipleWorkbooksListener.use(reconfigureSpace(setupWithMultipleWorkbooks)) + + await multipleWorkbooksListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify we have 2 workbooks + let workbooksList = await api.workbooks.list({ spaceId }) + expect(workbooksList.data.length).toBeGreaterThanOrEqual(2) + + // Now reconfigure with only one workbook + const setupWithOneWorkbook: SetupFactory = { + workbooks: [ + { + name: 'Workbook A', // Keep this one + sheets: [updatedContactsSheet], + }, + // Workbook B should be deleted + ], + } + + const deletionListener = new TestListener() + deletionListener.mount(driver) + deletionListener.use(reconfigureSpace(setupWithOneWorkbook)) + + await deletionListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify only one workbook remains + workbooksList = await api.workbooks.list({ spaceId }) + const remainingWorkbooks = workbooksList.data + + expect(remainingWorkbooks.length).toBeLessThan(2) + + // Verify the correct workbook remains + const workbookA = remainingWorkbooks.find(wb => wb.name === 'Workbook A') + expect(workbookA).toBeDefined() + expect(workbookA!.sheets![0].name).toBe('Contacts') + + // Verify the other workbook is gone + const workbookB = remainingWorkbooks.find(wb => wb.name === 'Workbook B') + expect(workbookB).toBeUndefined() + + multipleWorkbooksListener.reset() + deletionListener.reset() + }) }) diff --git a/plugins/space-reconfigure/src/space.reconfigure.ts b/plugins/space-reconfigure/src/space.reconfigure.ts index b4d4bcc52..df68883ae 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.ts @@ -35,7 +35,7 @@ export function reconfigureSpace( ) { return function (listener: FlatfileListener) { listener.use( - jobHandler('space:reconfigure', async (event, tick) => { + jobHandler('workbook:reconfigure', async (event, tick) => { const { spaceId, environmentId } = event.context const setup = typeof setupFactory === 'function' @@ -53,17 +53,20 @@ export function reconfigureSpace( await tick(20, 'Matching workbooks to configuration') // Match workbook configurations to existing workbooks - const { matches, unmatchedConfigs } = matchWorkbooks( + const { matches, unmatchedConfigs, workbooksToDelete } = matchWorkbooks( existingWorkbooks, setup.workbooks ) await tick(30, 'Updating existing workbooks') - // Update existing workbooks + // Update existing workbooks (this replaces all sheets with new configuration) const updatedWorkbookIds = await Promise.all( matches.map(async ({ existingWorkbook, configIndex }) => { const workbookConfig = setup.workbooks[configIndex] + + // Update the workbook with new configuration + // Note: This will replace all sheets with the new configuration await api.workbooks.update(existingWorkbook.id, { environmentId, ...workbookConfig, @@ -72,7 +75,14 @@ export function reconfigureSpace( }) ) - await tick(40, 'Creating new workbooks') + await tick(40, 'Deleting removed workbooks') + + // Delete workbooks that are no longer in the configuration + for (const workbookToDelete of workbooksToDelete) { + await api.workbooks.delete(workbookToDelete.id) + } + + await tick(45, 'Creating new workbooks') // Create new workbooks for unmatched configurations const newWorkbookIds = await Promise.all( diff --git a/plugins/space-reconfigure/src/utils/sheet.matching.spec.ts b/plugins/space-reconfigure/src/utils/sheet.matching.spec.ts new file mode 100644 index 000000000..27a59443f --- /dev/null +++ b/plugins/space-reconfigure/src/utils/sheet.matching.spec.ts @@ -0,0 +1,222 @@ +import { describe, expect, it } from 'vitest' +import { matchSheets } from './sheet.matching' +import type { Flatfile } from '@flatfile/api' + +describe('sheet matching utility', () => { + const mockExistingSheets: Flatfile.Sheet[] = [ + { + id: 'sheet-1', + name: 'Contacts', + slug: 'contacts', + config: { + name: 'Contacts', + slug: 'contacts', + fields: [ + { key: 'name', type: 'string', label: 'Name' }, + { key: 'email', type: 'string', label: 'Email' }, + ], + }, + workbookId: 'wb-1', + locked: false, + lockedBy: null, + countRecords: { total: 0, valid: 0, error: 0, processing: 0 }, + }, + { + id: 'sheet-2', + name: 'Companies', + slug: 'companies', + config: { + name: 'Companies', + slug: 'companies', + fields: [ + { key: 'name', type: 'string', label: 'Company Name' }, + { key: 'website', type: 'string', label: 'Website' }, + ], + }, + workbookId: 'wb-1', + locked: false, + lockedBy: null, + countRecords: { total: 0, valid: 0, error: 0, processing: 0 }, + }, + ] as Flatfile.Sheet[] + + const mockSheetConfigs: Flatfile.SheetConfig[] = [ + { + name: 'Contacts', + slug: 'contacts', + fields: [ + { key: 'name', type: 'string', label: 'Name' }, + { key: 'email', type: 'string', label: 'Email' }, + { key: 'phone', type: 'string', label: 'Phone' }, + ], + }, + { + name: 'Companies', + slug: 'companies', + fields: [ + { key: 'name', type: 'string', label: 'Company Name' }, + { key: 'website', type: 'string', label: 'Website' }, + ], + }, + ] + + it('should match sheets by name', () => { + const { matches, unmatchedConfigs, sheetsToDelete } = matchSheets( + mockExistingSheets, + mockSheetConfigs + ) + + expect(matches).toHaveLength(2) + expect(unmatchedConfigs).toHaveLength(0) + expect(sheetsToDelete).toHaveLength(0) + + expect(matches[0].existingSheet.name).toBe('Contacts') + expect(matches[0].configIndex).toBe(0) + expect(matches[1].existingSheet.name).toBe('Companies') + expect(matches[1].configIndex).toBe(1) + }) + + it('should match sheets by slug when name does not match', () => { + const sheetConfigs = [ + { + name: 'Updated Contacts', // Different name + slug: 'contacts', // Same slug + fields: [ + { key: 'name', type: 'string', label: 'Name' }, + ], + }, + ] + + const { matches, unmatchedConfigs, sheetsToDelete } = matchSheets( + mockExistingSheets, + sheetConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(0) + expect(sheetsToDelete).toHaveLength(1) // Companies sheet should be deleted + + expect(matches[0].existingSheet.name).toBe('Contacts') + expect(matches[0].existingSheet.slug).toBe('contacts') + expect(matches[0].configIndex).toBe(0) + expect(sheetsToDelete[0].name).toBe('Companies') + }) + + it('should handle unmatched sheet configurations', () => { + const sheetConfigs = [ + { + name: 'Contacts', + slug: 'contacts', + fields: [ + { key: 'name', type: 'string', label: 'Name' }, + ], + }, + { + name: 'New Analytics Sheet', + slug: 'analytics', + fields: [ + { key: 'metric', type: 'string', label: 'Metric' }, + ], + }, + ] + + const { matches, unmatchedConfigs, sheetsToDelete } = matchSheets( + mockExistingSheets, + sheetConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(1) + expect(sheetsToDelete).toHaveLength(1) // Companies sheet should be deleted + + expect(matches[0].existingSheet.name).toBe('Contacts') + expect(unmatchedConfigs[0].config.name).toBe('New Analytics Sheet') + expect(unmatchedConfigs[0].index).toBe(1) + expect(sheetsToDelete[0].name).toBe('Companies') + }) + + it('should handle empty sheet configurations', () => { + const sheetConfigs: Flatfile.SheetConfig[] = [] + + const { matches, unmatchedConfigs, sheetsToDelete } = matchSheets( + mockExistingSheets, + sheetConfigs + ) + + expect(matches).toHaveLength(0) + expect(unmatchedConfigs).toHaveLength(0) + expect(sheetsToDelete).toHaveLength(2) // All existing sheets should be deleted + }) + + it('should handle empty existing sheets', () => { + const { matches, unmatchedConfigs, sheetsToDelete } = matchSheets( + [], + mockSheetConfigs + ) + + expect(matches).toHaveLength(0) + expect(unmatchedConfigs).toHaveLength(2) + expect(sheetsToDelete).toHaveLength(0) + expect(unmatchedConfigs[0].config.name).toBe('Contacts') + expect(unmatchedConfigs[1].config.name).toBe('Companies') + }) + + it('should not match the same sheet twice', () => { + const sheetConfigs = [ + { + name: 'Contacts', + slug: 'contacts', + fields: [ + { key: 'name', type: 'string', label: 'Name' }, + ], + }, + { + name: 'Contacts', // Same name, should not match + slug: 'contacts-2', + fields: [ + { key: 'name', type: 'string', label: 'Name' }, + ], + }, + ] + + const { matches, unmatchedConfigs, sheetsToDelete } = matchSheets( + mockExistingSheets, + sheetConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(1) + expect(sheetsToDelete).toHaveLength(1) // Companies sheet should be deleted + + expect(matches[0].existingSheet.name).toBe('Contacts') + expect(matches[0].configIndex).toBe(0) + expect(unmatchedConfigs[0].config.name).toBe('Contacts') + expect(unmatchedConfigs[0].index).toBe(1) + expect(sheetsToDelete[0].name).toBe('Companies') + }) + + it('should identify sheets to delete when no configurations match', () => { + const sheetConfigs = [ + { + name: 'Completely Different Sheet', + slug: 'different', + fields: [ + { key: 'data', type: 'string', label: 'Data' }, + ], + }, + ] + + const { matches, unmatchedConfigs, sheetsToDelete } = matchSheets( + mockExistingSheets, + sheetConfigs + ) + + expect(matches).toHaveLength(0) + expect(unmatchedConfigs).toHaveLength(1) + expect(sheetsToDelete).toHaveLength(2) // Both existing sheets should be deleted + + expect(unmatchedConfigs[0].config.name).toBe('Completely Different Sheet') + expect(sheetsToDelete.map(s => s.name)).toContain('Contacts') + expect(sheetsToDelete.map(s => s.name)).toContain('Companies') + }) +}) diff --git a/plugins/space-reconfigure/src/utils/sheet.matching.ts b/plugins/space-reconfigure/src/utils/sheet.matching.ts new file mode 100644 index 000000000..0253cddd8 --- /dev/null +++ b/plugins/space-reconfigure/src/utils/sheet.matching.ts @@ -0,0 +1,54 @@ +import type { Flatfile } from '@flatfile/api' + +export interface SheetMatch { + existingSheet: Flatfile.Sheet + configIndex: number +} + +/** + * Matches sheet configurations to existing sheets in a workbook + * @param existingSheets - Array of existing sheets in the workbook + * @param sheetConfigs - Array of sheet configurations to match + * @returns Object containing matches, unmatched configs, and sheets to delete + */ +export function matchSheets( + existingSheets: Flatfile.Sheet[], + sheetConfigs: Flatfile.SheetConfig[] +): { + matches: SheetMatch[] + unmatchedConfigs: { config: Flatfile.SheetConfig; index: number }[] + sheetsToDelete: Flatfile.Sheet[] +} { + const matches: SheetMatch[] = [] + const unmatchedConfigs: { config: Flatfile.SheetConfig; index: number }[] = [] + const usedSheets = new Set() + + sheetConfigs.forEach((config, configIndex) => { + // Try to match by name first + let matchedSheet = existingSheets.find( + sheet => sheet.name === config.name && !usedSheets.has(sheet.id) + ) + + // If no name match, try to match by slug if available + if (!matchedSheet && config.slug) { + matchedSheet = existingSheets.find( + sheet => sheet.slug === config.slug && !usedSheets.has(sheet.id) + ) + } + + if (matchedSheet) { + matches.push({ + existingSheet: matchedSheet, + configIndex + }) + usedSheets.add(matchedSheet.id) + } else { + unmatchedConfigs.push({ config, index: configIndex }) + } + }) + + // Any existing sheets that weren't matched should be deleted + const sheetsToDelete = existingSheets.filter(sheet => !usedSheets.has(sheet.id)) + + return { matches, unmatchedConfigs, sheetsToDelete } +} diff --git a/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts b/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts index c00e63b79..8a0e09ce5 100644 --- a/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts +++ b/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts @@ -32,13 +32,14 @@ describe('workbook matching utility', () => { { name: 'Companies Workbook', labels: ['updated'] }, ] - const { matches, unmatchedConfigs } = matchWorkbooks( + const { matches, unmatchedConfigs, workbooksToDelete } = matchWorkbooks( mockExistingWorkbooks, workbookConfigs ) expect(matches).toHaveLength(2) expect(unmatchedConfigs).toHaveLength(0) + expect(workbooksToDelete).toHaveLength(0) expect(matches[0].existingWorkbook.name).toBe('Contacts Workbook') expect(matches[0].configIndex).toBe(0) @@ -52,29 +53,32 @@ describe('workbook matching utility', () => { { name: 'New Analytics Workbook', labels: ['new'] }, // Should not match ] - const { matches, unmatchedConfigs } = matchWorkbooks( + const { matches, unmatchedConfigs, workbooksToDelete } = matchWorkbooks( mockExistingWorkbooks, workbookConfigs ) expect(matches).toHaveLength(1) expect(unmatchedConfigs).toHaveLength(1) + expect(workbooksToDelete).toHaveLength(1) // Companies Workbook should be deleted expect(matches[0].existingWorkbook.name).toBe('Contacts Workbook') expect(unmatchedConfigs[0].config.name).toBe('New Analytics Workbook') expect(unmatchedConfigs[0].index).toBe(1) + expect(workbooksToDelete[0].name).toBe('Companies Workbook') }) it('should handle empty workbook configurations', () => { const workbookConfigs: Partial[] = [] - const { matches, unmatchedConfigs } = matchWorkbooks( + const { matches, unmatchedConfigs, workbooksToDelete } = matchWorkbooks( mockExistingWorkbooks, workbookConfigs ) expect(matches).toHaveLength(0) expect(unmatchedConfigs).toHaveLength(0) + expect(workbooksToDelete).toHaveLength(2) // All existing workbooks should be deleted }) it('should handle empty existing workbooks', () => { @@ -82,13 +86,14 @@ describe('workbook matching utility', () => { { name: 'New Workbook', labels: ['new'] }, ] - const { matches, unmatchedConfigs } = matchWorkbooks( + const { matches, unmatchedConfigs, workbooksToDelete } = matchWorkbooks( [], workbookConfigs ) expect(matches).toHaveLength(0) expect(unmatchedConfigs).toHaveLength(1) + expect(workbooksToDelete).toHaveLength(0) expect(unmatchedConfigs[0].config.name).toBe('New Workbook') }) @@ -98,18 +103,20 @@ describe('workbook matching utility', () => { { name: 'Contacts Workbook', labels: ['second'] }, // Same name, should not match ] - const { matches, unmatchedConfigs } = matchWorkbooks( + const { matches, unmatchedConfigs, workbooksToDelete } = matchWorkbooks( mockExistingWorkbooks, workbookConfigs ) expect(matches).toHaveLength(1) expect(unmatchedConfigs).toHaveLength(1) + expect(workbooksToDelete).toHaveLength(1) // Companies Workbook should be deleted expect(matches[0].existingWorkbook.name).toBe('Contacts Workbook') expect(matches[0].configIndex).toBe(0) expect(unmatchedConfigs[0].config.name).toBe('Contacts Workbook') expect(unmatchedConfigs[0].index).toBe(1) + expect(workbooksToDelete[0].name).toBe('Companies Workbook') }) it('should handle workbook configurations without names', () => { @@ -118,17 +125,38 @@ describe('workbook matching utility', () => { { name: 'Contacts Workbook', labels: ['has-name'] }, ] - const { matches, unmatchedConfigs } = matchWorkbooks( + const { matches, unmatchedConfigs, workbooksToDelete } = matchWorkbooks( mockExistingWorkbooks, workbookConfigs ) expect(matches).toHaveLength(1) expect(unmatchedConfigs).toHaveLength(1) + expect(workbooksToDelete).toHaveLength(1) // Companies Workbook should be deleted expect(matches[0].existingWorkbook.name).toBe('Contacts Workbook') expect(matches[0].configIndex).toBe(1) expect(unmatchedConfigs[0].config.labels).toContain('no-name') expect(unmatchedConfigs[0].index).toBe(0) + expect(workbooksToDelete[0].name).toBe('Companies Workbook') + }) + + it('should identify workbooks to delete when no configurations match', () => { + const workbookConfigs = [ + { name: 'Completely Different Workbook', labels: ['new'] }, + ] + + const { matches, unmatchedConfigs, workbooksToDelete } = matchWorkbooks( + mockExistingWorkbooks, + workbookConfigs + ) + + expect(matches).toHaveLength(0) + expect(unmatchedConfigs).toHaveLength(1) + expect(workbooksToDelete).toHaveLength(2) // Both existing workbooks should be deleted + + expect(unmatchedConfigs[0].config.name).toBe('Completely Different Workbook') + expect(workbooksToDelete.map(wb => wb.name)).toContain('Contacts Workbook') + expect(workbooksToDelete.map(wb => wb.name)).toContain('Companies Workbook') }) }) diff --git a/plugins/space-reconfigure/src/utils/workbook.matching.ts b/plugins/space-reconfigure/src/utils/workbook.matching.ts index 82b8d3131..1f659e75a 100644 --- a/plugins/space-reconfigure/src/utils/workbook.matching.ts +++ b/plugins/space-reconfigure/src/utils/workbook.matching.ts @@ -17,6 +17,7 @@ export function matchWorkbooks( ): { matches: WorkbookMatch[] unmatchedConfigs: { config: Partial; index: number }[] + workbooksToDelete: Flatfile.Workbook[] } { const matches: WorkbookMatch[] = [] const unmatchedConfigs: { config: Partial; index: number }[] = [] @@ -39,5 +40,8 @@ export function matchWorkbooks( } }) - return { matches, unmatchedConfigs } + // Any existing workbooks that weren't matched should be deleted + const workbooksToDelete = existingWorkbooks.filter(wb => !usedWorkbooks.has(wb.id)) + + return { matches, unmatchedConfigs, workbooksToDelete } } From 8e045c9fdd90efedf94e04284825ae1fcc3f5584 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Mon, 14 Jul 2025 21:03:16 -0500 Subject: [PATCH 3/7] feat: add complete document CRUD support to space-reconfigure - Add document matching utility to match by title - Implement document update, delete, and create operations - Add comprehensive document CRUD tests (8 test cases) - Update e2e tests with document CRUD scenarios - Handle case where no documents in config (deletes all existing) - Update README with document CRUD documentation and examples - Ensure setupFactory is authoritative source of truth for documents Amp-Thread: https://ampcode.com/threads/T-b676df3e-c4b9-4113-81c9-e6dfe80ddd97 Co-authored-by: Amp --- plugins/space-reconfigure/README.md | 52 ++++- plugins/space-reconfigure/src/index.ts | 1 + .../src/space.reconfigure.e2e.spec.ts | 145 ++++++++++++ .../src/space.reconfigure.ts | 39 +++- .../src/utils/document.matching.spec.ts | 208 ++++++++++++++++++ .../src/utils/document.matching.ts | 47 ++++ 6 files changed, 481 insertions(+), 11 deletions(-) create mode 100644 plugins/space-reconfigure/src/utils/document.matching.spec.ts create mode 100644 plugins/space-reconfigure/src/utils/document.matching.ts diff --git a/plugins/space-reconfigure/README.md b/plugins/space-reconfigure/README.md index 0ccc4a3f3..49a4e4a44 100644 --- a/plugins/space-reconfigure/README.md +++ b/plugins/space-reconfigure/README.md @@ -28,24 +28,31 @@ The `callback` parameter receives three arguments: `event`, `workbookIds`, and a - `api.workbooks.list` - `api.workbooks.update` - `api.workbooks.create` -- `api.spaces.update` +- `api.workbooks.delete` +- `api.documents.list` +- `api.documents.update` - `api.documents.create` +- `api.documents.delete` +- `api.spaces.update` ## How It Works -1. **Fetch Existing Workbooks**: Retrieves all workbooks currently in the space -2. **Match Workbooks**: Matches provided workbook configurations to existing workbooks by name -3. **Update Existing**: Updates matched workbooks with new configurations (sheets are replaced) -4. **Delete Removed**: Deletes workbooks that are no longer in the configuration -5. **Create New**: Creates new workbooks for unmatched configurations +1. **Fetch Existing Resources**: Retrieves all workbooks and documents currently in the space +2. **Match Resources**: Matches provided configurations to existing resources by name/title +3. **Update Existing**: Updates matched resources with new configurations +4. **Delete Removed**: Deletes resources that are no longer in the configuration +5. **Create New**: Creates new resources for unmatched configurations 6. **Update Space**: Updates space settings and maintains workbook order if configured ## Important Notes +- **Complete CRUD Operations**: The plugin performs full Create, Read, Update, and Delete operations - **Workbook Deletion**: Any existing workbooks not present in the new configuration will be **permanently deleted** +- **Document Deletion**: Any existing documents not present in the new configuration will be **permanently deleted** - **Sheet Replacement**: When a workbook is updated, all sheets are replaced with the new configuration -- **Name-Based Matching**: Workbooks are matched by their `name` field - ensure consistent naming for updates +- **Name-Based Matching**: Workbooks are matched by `name` field, documents by `title` field +- **Source of Truth**: The setupFactory configuration is the authoritative source - the space will match it exactly ## Usage @@ -136,6 +143,37 @@ listener.use( ``` +#### `listener.js` with document CRUD + +```js listener.js +listener.use( + reconfigureSpace({ + workbooks: [ + { + name: 'Updated Workbook', + sheets: [/* updated sheets */], + }, + ], + documents: [ + { + title: 'Welcome Guide', // Will update existing document with same title + body: '

Welcome to our UPDATED platform

New content

', + }, + { + title: 'New User Manual', // Will create new document + body: '

User Manual

Step-by-step guide

', + }, + // Any existing documents not listed here will be deleted + ], + space: { + metadata: { + theme: { primaryColor: 'green' }, + }, + }, + }) +); +``` + ## Full Example #### `listener.ts` diff --git a/plugins/space-reconfigure/src/index.ts b/plugins/space-reconfigure/src/index.ts index ab607f768..330cd0f93 100644 --- a/plugins/space-reconfigure/src/index.ts +++ b/plugins/space-reconfigure/src/index.ts @@ -1,3 +1,4 @@ export * from './space.reconfigure' export * from './utils/workbook.matching' export * from './utils/sheet.matching' +export * from './utils/document.matching' diff --git a/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts index fb26a2986..e82ffb626 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts @@ -342,4 +342,149 @@ describe('SpaceReconfigure plugin e2e tests', () => { multipleWorkbooksListener.reset() deletionListener.reset() }) + + it('should handle document CRUD operations', async () => { + // First, create some initial documents + const initialDocumentsSetup: SetupFactory = { + workbooks: [ + { + name: 'Document Test Workbook', + sheets: [contactsSheet], + }, + ], + documents: [ + { + title: 'Welcome Document', + body: '

Welcome to our platform

', + }, + { + title: 'API Guide', + body: '

API Documentation

', + }, + ], + } + + const initialDocumentsListener = new TestListener() + initialDocumentsListener.mount(driver) + initialDocumentsListener.use(reconfigureSpace(initialDocumentsSetup)) + + await initialDocumentsListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify initial documents were created + let documentsList = await api.documents.list(spaceId) + expect(documentsList.data.length).toBeGreaterThanOrEqual(2) + + const welcomeDoc = documentsList.data.find(doc => doc.title === 'Welcome Document') + const apiDoc = documentsList.data.find(doc => doc.title === 'API Guide') + expect(welcomeDoc).toBeDefined() + expect(apiDoc).toBeDefined() + + // Now reconfigure with updated, deleted, and new documents + const updatedDocumentsSetup: SetupFactory = { + workbooks: [ + { + name: 'Document Test Workbook', + sheets: [contactsSheet], + }, + ], + documents: [ + { + title: 'Welcome Document', // Update this one + body: '

Welcome to our UPDATED platform

New content added

', + }, + // API Guide should be deleted (not in new config) + { + title: 'New User Manual', // Create this new one + body: '

User Manual

Step-by-step guide

', + }, + ], + } + + const updatedDocumentsListener = new TestListener() + updatedDocumentsListener.mount(driver) + updatedDocumentsListener.use(reconfigureSpace(updatedDocumentsSetup)) + + await updatedDocumentsListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify document CRUD operations + documentsList = await api.documents.list(spaceId) + const finalDocuments = documentsList.data + + // Should have 2 documents (1 updated, 1 new) + expect(finalDocuments).toHaveLength(2) + + // Check updated document + const updatedWelcomeDoc = finalDocuments.find(doc => doc.title === 'Welcome Document') + expect(updatedWelcomeDoc).toBeDefined() + expect(updatedWelcomeDoc!.body).toContain('UPDATED platform') + expect(updatedWelcomeDoc!.body).toContain('New content added') + + // Check new document + const newManualDoc = finalDocuments.find(doc => doc.title === 'New User Manual') + expect(newManualDoc).toBeDefined() + expect(newManualDoc!.body).toContain('User Manual') + + // Check deleted document + const deletedApiDoc = finalDocuments.find(doc => doc.title === 'API Guide') + expect(deletedApiDoc).toBeUndefined() + + initialDocumentsListener.reset() + updatedDocumentsListener.reset() + }) + + it('should delete all documents when none in configuration', async () => { + // First, create some documents + const setupWithDocuments: SetupFactory = { + workbooks: [ + { + name: 'Test Workbook', + sheets: [contactsSheet], + }, + ], + documents: [ + { + title: 'Document 1', + body: '

Document 1

', + }, + { + title: 'Document 2', + body: '

Document 2

', + }, + ], + } + + const withDocumentsListener = new TestListener() + withDocumentsListener.mount(driver) + withDocumentsListener.use(reconfigureSpace(setupWithDocuments)) + + await withDocumentsListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify documents exist + let documentsList = await api.documents.list(spaceId) + expect(documentsList.data.length).toBeGreaterThanOrEqual(2) + + // Now reconfigure with NO documents + const setupWithoutDocuments: SetupFactory = { + workbooks: [ + { + name: 'Test Workbook', + sheets: [contactsSheet], + }, + ], + // No documents property - should delete all existing documents + } + + const withoutDocumentsListener = new TestListener() + withoutDocumentsListener.mount(driver) + withoutDocumentsListener.use(reconfigureSpace(setupWithoutDocuments)) + + await withoutDocumentsListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify all documents were deleted + documentsList = await api.documents.list(spaceId) + expect(documentsList.data).toHaveLength(0) + + withDocumentsListener.reset() + withoutDocumentsListener.reset() + }) }) diff --git a/plugins/space-reconfigure/src/space.reconfigure.ts b/plugins/space-reconfigure/src/space.reconfigure.ts index df68883ae..4314e4d18 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.ts @@ -3,6 +3,7 @@ import { FlatfileClient } from '@flatfile/api' import type { FlatfileEvent, FlatfileListener } from '@flatfile/listener' import { type TickFunction, jobHandler } from '@flatfile/plugin-job-handler' import { matchWorkbooks } from './utils/workbook.matching' +import { matchDocuments } from './utils/document.matching' const api = new FlatfileClient() @@ -123,12 +124,42 @@ export function reconfigureSpace( ...setup.space, }) - await tick(70, 'Updating documents') + await tick(70, 'Managing documents') - // Handle documents + // Handle documents with full CRUD operations if (setup.documents) { - for (const document of setup.documents) { - await api.documents.create(spaceId, document) + // Fetch existing documents + const existingDocumentsResponse = await api.documents.list(spaceId) + const existingDocuments = existingDocumentsResponse.data + + // Match documents to configuration + const { matches: documentMatches, unmatchedConfigs: newDocuments, documentsToDelete } = matchDocuments( + existingDocuments, + setup.documents + ) + + // Update existing documents + for (const { existingDocument, configIndex } of documentMatches) { + const documentConfig = setup.documents[configIndex] + await api.documents.update(spaceId, existingDocument.id, documentConfig) + } + + // Delete documents not in configuration + for (const documentToDelete of documentsToDelete) { + await api.documents.delete(spaceId, documentToDelete.id) + } + + // Create new documents + for (const { config: newDocumentConfig } of newDocuments) { + await api.documents.create(spaceId, newDocumentConfig) + } + } else { + // If no documents in setup, delete all existing documents + const existingDocumentsResponse = await api.documents.list(spaceId) + const existingDocuments = existingDocumentsResponse.data + + for (const documentToDelete of existingDocuments) { + await api.documents.delete(spaceId, documentToDelete.id) } } diff --git a/plugins/space-reconfigure/src/utils/document.matching.spec.ts b/plugins/space-reconfigure/src/utils/document.matching.spec.ts new file mode 100644 index 000000000..19a482295 --- /dev/null +++ b/plugins/space-reconfigure/src/utils/document.matching.spec.ts @@ -0,0 +1,208 @@ +import { describe, expect, it } from 'vitest' +import { matchDocuments } from './document.matching' +import type { Flatfile } from '@flatfile/api' + +describe('document matching utility', () => { + const mockExistingDocuments: Flatfile.Document[] = [ + { + id: 'doc-1', + title: 'Welcome Guide', + body: '

Welcome to our platform

', + spaceId: 'space-1', + createdAt: new Date('2023-01-01'), + updatedAt: new Date('2023-01-01'), + }, + { + id: 'doc-2', + title: 'API Documentation', + body: '

API Reference

', + spaceId: 'space-1', + createdAt: new Date('2023-01-02'), + updatedAt: new Date('2023-01-02'), + }, + ] as Flatfile.Document[] + + const mockDocumentConfigs: Flatfile.DocumentConfig[] = [ + { + title: 'Welcome Guide', + body: '

Welcome to our updated platform

', + }, + { + title: 'API Documentation', + body: '

API Reference - Updated

', + }, + ] + + it('should match documents by title', () => { + const { matches, unmatchedConfigs, documentsToDelete } = matchDocuments( + mockExistingDocuments, + mockDocumentConfigs + ) + + expect(matches).toHaveLength(2) + expect(unmatchedConfigs).toHaveLength(0) + expect(documentsToDelete).toHaveLength(0) + + expect(matches[0].existingDocument.title).toBe('Welcome Guide') + expect(matches[0].configIndex).toBe(0) + expect(matches[1].existingDocument.title).toBe('API Documentation') + expect(matches[1].configIndex).toBe(1) + }) + + it('should handle unmatched document configurations', () => { + const documentConfigs = [ + { + title: 'Welcome Guide', + body: '

Welcome

', + }, + { + title: 'New User Manual', + body: '

User Manual

', + }, + ] + + const { matches, unmatchedConfigs, documentsToDelete } = matchDocuments( + mockExistingDocuments, + documentConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(1) + expect(documentsToDelete).toHaveLength(1) // API Documentation should be deleted + + expect(matches[0].existingDocument.title).toBe('Welcome Guide') + expect(unmatchedConfigs[0].config.title).toBe('New User Manual') + expect(unmatchedConfigs[0].index).toBe(1) + expect(documentsToDelete[0].title).toBe('API Documentation') + }) + + it('should handle empty document configurations', () => { + const documentConfigs: Flatfile.DocumentConfig[] = [] + + const { matches, unmatchedConfigs, documentsToDelete } = matchDocuments( + mockExistingDocuments, + documentConfigs + ) + + expect(matches).toHaveLength(0) + expect(unmatchedConfigs).toHaveLength(0) + expect(documentsToDelete).toHaveLength(2) // All existing documents should be deleted + }) + + it('should handle empty existing documents', () => { + const { matches, unmatchedConfigs, documentsToDelete } = matchDocuments( + [], + mockDocumentConfigs + ) + + expect(matches).toHaveLength(0) + expect(unmatchedConfigs).toHaveLength(2) + expect(documentsToDelete).toHaveLength(0) + expect(unmatchedConfigs[0].config.title).toBe('Welcome Guide') + expect(unmatchedConfigs[1].config.title).toBe('API Documentation') + }) + + it('should not match the same document twice', () => { + const documentConfigs = [ + { + title: 'Welcome Guide', + body: '

First version

', + }, + { + title: 'Welcome Guide', // Same title, should not match + body: '

Second version

', + }, + ] + + const { matches, unmatchedConfigs, documentsToDelete } = matchDocuments( + mockExistingDocuments, + documentConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(1) + expect(documentsToDelete).toHaveLength(1) // API Documentation should be deleted + + expect(matches[0].existingDocument.title).toBe('Welcome Guide') + expect(matches[0].configIndex).toBe(0) + expect(unmatchedConfigs[0].config.title).toBe('Welcome Guide') + expect(unmatchedConfigs[0].index).toBe(1) + expect(documentsToDelete[0].title).toBe('API Documentation') + }) + + it('should handle documents without titles', () => { + const documentConfigs = [ + { + body: '

No title document

', + } as Flatfile.DocumentConfig, // No title field + { + title: 'Welcome Guide', + body: '

Has title

', + }, + ] + + const { matches, unmatchedConfigs, documentsToDelete } = matchDocuments( + mockExistingDocuments, + documentConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(1) + expect(documentsToDelete).toHaveLength(1) // API Documentation should be deleted + + expect(matches[0].existingDocument.title).toBe('Welcome Guide') + expect(matches[0].configIndex).toBe(1) + expect(unmatchedConfigs[0].config.body).toBe('

No title document

') + expect(unmatchedConfigs[0].index).toBe(0) + expect(documentsToDelete[0].title).toBe('API Documentation') + }) + + it('should identify documents to delete when no configurations match', () => { + const documentConfigs = [ + { + title: 'Completely Different Document', + body: '

Different content

', + }, + ] + + const { matches, unmatchedConfigs, documentsToDelete } = matchDocuments( + mockExistingDocuments, + documentConfigs + ) + + expect(matches).toHaveLength(0) + expect(unmatchedConfigs).toHaveLength(1) + expect(documentsToDelete).toHaveLength(2) // Both existing documents should be deleted + + expect(unmatchedConfigs[0].config.title).toBe('Completely Different Document') + expect(documentsToDelete.map(d => d.title)).toContain('Welcome Guide') + expect(documentsToDelete.map(d => d.title)).toContain('API Documentation') + }) + + it('should handle case-sensitive title matching', () => { + const documentConfigs = [ + { + title: 'welcome guide', // Different case + body: '

Welcome

', + }, + { + title: 'Welcome Guide', // Exact match + body: '

Welcome

', + }, + ] + + const { matches, unmatchedConfigs, documentsToDelete } = matchDocuments( + mockExistingDocuments, + documentConfigs + ) + + expect(matches).toHaveLength(1) + expect(unmatchedConfigs).toHaveLength(1) + expect(documentsToDelete).toHaveLength(1) // API Documentation should be deleted + + expect(matches[0].existingDocument.title).toBe('Welcome Guide') + expect(matches[0].configIndex).toBe(1) // Should match the exact case + expect(unmatchedConfigs[0].config.title).toBe('welcome guide') + expect(unmatchedConfigs[0].index).toBe(0) + }) +}) diff --git a/plugins/space-reconfigure/src/utils/document.matching.ts b/plugins/space-reconfigure/src/utils/document.matching.ts new file mode 100644 index 000000000..6a4cf5fbb --- /dev/null +++ b/plugins/space-reconfigure/src/utils/document.matching.ts @@ -0,0 +1,47 @@ +import type { Flatfile } from '@flatfile/api' + +export interface DocumentMatch { + existingDocument: Flatfile.Document + configIndex: number +} + +/** + * Matches document configurations to existing documents in a space + * @param existingDocuments - Array of existing documents in the space + * @param documentConfigs - Array of document configurations to match + * @returns Object containing matches, unmatched configs, and documents to delete + */ +export function matchDocuments( + existingDocuments: Flatfile.Document[], + documentConfigs: Flatfile.DocumentConfig[] +): { + matches: DocumentMatch[] + unmatchedConfigs: { config: Flatfile.DocumentConfig; index: number }[] + documentsToDelete: Flatfile.Document[] +} { + const matches: DocumentMatch[] = [] + const unmatchedConfigs: { config: Flatfile.DocumentConfig; index: number }[] = [] + const usedDocuments = new Set() + + documentConfigs.forEach((config, configIndex) => { + // Try to match by title first + let matchedDocument = existingDocuments.find( + doc => doc.title === config.title && !usedDocuments.has(doc.id) + ) + + if (matchedDocument) { + matches.push({ + existingDocument: matchedDocument, + configIndex + }) + usedDocuments.add(matchedDocument.id) + } else { + unmatchedConfigs.push({ config, index: configIndex }) + } + }) + + // Any existing documents that weren't matched should be deleted + const documentsToDelete = existingDocuments.filter(doc => !usedDocuments.has(doc.id)) + + return { matches, unmatchedConfigs, documentsToDelete } +} From 3f08cfa4767c400d5a8e7704e2090ba27e0cc83a Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Mon, 14 Jul 2025 21:06:22 -0500 Subject: [PATCH 4/7] test: add comprehensive integration tests for space-reconfigure - Add test for maintainWorkbookOrder with workbook deletions - Add comprehensive test for complete space reconfiguration with all resource types - Add test for empty configuration (delete everything scenario) - Ensure workbook order is maintained correctly when workbooks are deleted - Test integration between workbook and document CRUD operations - Cover edge cases like empty workbooks and documents arrays - Verify space settings updates work with resource deletions Amp-Thread: https://ampcode.com/threads/T-b676df3e-c4b9-4113-81c9-e6dfe80ddd97 Co-authored-by: Amp --- .../src/space.reconfigure.e2e.spec.ts | 256 ++++++++++++++++++ 1 file changed, 256 insertions(+) diff --git a/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts index e82ffb626..7204f0063 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts @@ -487,4 +487,260 @@ describe('SpaceReconfigure plugin e2e tests', () => { withDocumentsListener.reset() withoutDocumentsListener.reset() }) + + it('should maintain workbook order when workbooks are deleted', async () => { + // First, create multiple workbooks with maintainWorkbookOrder + const setupWithOrderedWorkbooks: SetupFactory = { + workbooks: [ + { + name: 'Workbook A', + sheets: [contactsSheet], + }, + { + name: 'Workbook B', + sheets: [companiesSheet], + }, + { + name: 'Workbook C', + sheets: [updatedContactsSheet], + }, + ], + config: { + maintainWorkbookOrder: true, + }, + } + + const orderedWorkbooksListener = new TestListener() + orderedWorkbooksListener.mount(driver) + orderedWorkbooksListener.use(reconfigureSpace(setupWithOrderedWorkbooks)) + + await orderedWorkbooksListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify workbook order is set + let space = await api.spaces.get(spaceId) + expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toBeDefined() + expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toHaveLength(3) + + // Now reconfigure with fewer workbooks, maintaining order + const setupWithFewerWorkbooks: SetupFactory = { + workbooks: [ + { + name: 'Workbook A', // Keep + sheets: [contactsSheet], + }, + { + name: 'Workbook C', // Keep + sheets: [updatedContactsSheet], + }, + // Workbook B should be deleted + ], + config: { + maintainWorkbookOrder: true, + }, + } + + const fewerWorkbooksListener = new TestListener() + fewerWorkbooksListener.mount(driver) + fewerWorkbooksListener.use(reconfigureSpace(setupWithFewerWorkbooks)) + + await fewerWorkbooksListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify workbook order is updated correctly + space = await api.spaces.get(spaceId) + const workbookOrder = space.data.settings?.sidebarConfig?.workbookSidebarOrder + expect(workbookOrder).toBeDefined() + expect(workbookOrder).toHaveLength(2) + + // Verify remaining workbooks exist + const workbooksList = await api.workbooks.list({ spaceId }) + const workbooks = workbooksList.data + expect(workbooks).toHaveLength(2) + expect(workbooks.find(wb => wb.name === 'Workbook A')).toBeDefined() + expect(workbooks.find(wb => wb.name === 'Workbook C')).toBeDefined() + expect(workbooks.find(wb => wb.name === 'Workbook B')).toBeUndefined() + + orderedWorkbooksListener.reset() + fewerWorkbooksListener.reset() + }) + + it('should handle complete space reconfiguration with all resource types', async () => { + // Create initial comprehensive setup + const initialComprehensiveSetup: SetupFactory = { + workbooks: [ + { + name: 'Initial Workbook 1', + sheets: [contactsSheet], + }, + { + name: 'Initial Workbook 2', + sheets: [companiesSheet], + }, + ], + documents: [ + { + title: 'Initial Doc 1', + body: '

Initial Document 1

', + }, + { + title: 'Initial Doc 2', + body: '

Initial Document 2

', + }, + ], + space: { + metadata: { + theme: { + root: { + primaryColor: 'red', + }, + }, + }, + }, + config: { + maintainWorkbookOrder: true, + }, + } + + const initialComprehensiveListener = new TestListener() + initialComprehensiveListener.mount(driver) + initialComprehensiveListener.use(reconfigureSpace(initialComprehensiveSetup)) + + await initialComprehensiveListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify initial state + let workbooksList = await api.workbooks.list({ spaceId }) + let documentsList = await api.documents.list(spaceId) + let space = await api.spaces.get(spaceId) + + expect(workbooksList.data).toHaveLength(2) + expect(documentsList.data).toHaveLength(2) + expect(space.data.metadata?.theme?.root?.primaryColor).toBe('red') + + // Now completely reconfigure with different resources + const newComprehensiveSetup: SetupFactory = { + workbooks: [ + { + name: 'Initial Workbook 1', // Update this one + sheets: [updatedContactsSheet], + }, + { + name: 'New Workbook 3', // Create new one + sheets: [companiesSheet], + }, + // Initial Workbook 2 should be deleted + ], + documents: [ + { + title: 'Initial Doc 1', // Update this one + body: '

Updated Document 1

New content

', + }, + { + title: 'New Doc 3', // Create new one + body: '

New Document 3

', + }, + // Initial Doc 2 should be deleted + ], + space: { + metadata: { + theme: { + root: { + primaryColor: 'green', + }, + }, + }, + }, + config: { + maintainWorkbookOrder: true, + }, + } + + const newComprehensiveListener = new TestListener() + newComprehensiveListener.mount(driver) + newComprehensiveListener.use(reconfigureSpace(newComprehensiveSetup)) + + await newComprehensiveListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify final state + workbooksList = await api.workbooks.list({ spaceId }) + documentsList = await api.documents.list(spaceId) + space = await api.spaces.get(spaceId) + + // Check workbooks + expect(workbooksList.data).toHaveLength(2) + const workbook1 = workbooksList.data.find(wb => wb.name === 'Initial Workbook 1') + const workbook3 = workbooksList.data.find(wb => wb.name === 'New Workbook 3') + const workbook2 = workbooksList.data.find(wb => wb.name === 'Initial Workbook 2') + + expect(workbook1).toBeDefined() + expect(workbook3).toBeDefined() + expect(workbook2).toBeUndefined() + + // Check documents + expect(documentsList.data).toHaveLength(2) + const doc1 = documentsList.data.find(doc => doc.title === 'Initial Doc 1') + const doc3 = documentsList.data.find(doc => doc.title === 'New Doc 3') + const doc2 = documentsList.data.find(doc => doc.title === 'Initial Doc 2') + + expect(doc1).toBeDefined() + expect(doc1!.body).toContain('Updated Document 1') + expect(doc3).toBeDefined() + expect(doc2).toBeUndefined() + + // Check space settings + expect(space.data.metadata?.theme?.root?.primaryColor).toBe('green') + expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toHaveLength(2) + + initialComprehensiveListener.reset() + newComprehensiveListener.reset() + }) + + it('should handle empty configuration (delete everything)', async () => { + // First create some resources + const setupWithResources: SetupFactory = { + workbooks: [ + { + name: 'Test Workbook', + sheets: [contactsSheet], + }, + ], + documents: [ + { + title: 'Test Document', + body: '

Test

', + }, + ], + } + + const withResourcesListener = new TestListener() + withResourcesListener.mount(driver) + withResourcesListener.use(reconfigureSpace(setupWithResources)) + + await withResourcesListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify resources exist + let workbooksList = await api.workbooks.list({ spaceId }) + let documentsList = await api.documents.list(spaceId) + expect(workbooksList.data.length).toBeGreaterThan(0) + expect(documentsList.data.length).toBeGreaterThan(0) + + // Now reconfigure with empty setup + const emptySetup: SetupFactory = { + workbooks: [], + documents: [], + } + + const emptyListener = new TestListener() + emptyListener.mount(driver) + emptyListener.use(reconfigureSpace(emptySetup)) + + await emptyListener.waitFor('job:ready', 1, 'space:reconfigure') + + // Verify everything is deleted + workbooksList = await api.workbooks.list({ spaceId }) + documentsList = await api.documents.list(spaceId) + expect(workbooksList.data).toHaveLength(0) + expect(documentsList.data).toHaveLength(0) + + withResourcesListener.reset() + emptyListener.reset() + }) }) From 399ada190d0894830f4af49db19d35f32a46a08f Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Mon, 14 Jul 2025 21:14:33 -0500 Subject: [PATCH 5/7] full CRUD --- flatfilers/sandbox/src/index.ts | 2 +- .../src/space.reconfigure.e2e.spec.ts | 105 ++++++++++++------ .../src/space.reconfigure.simple.e2e.spec.ts | 9 +- .../src/space.reconfigure.ts | 21 ++-- .../src/utils/document.matching.spec.ts | 8 +- .../src/utils/document.matching.ts | 11 +- .../src/utils/sheet.matching.spec.ts | 28 ++--- .../src/utils/sheet.matching.ts | 10 +- .../src/utils/workbook.matching.spec.ts | 16 ++- .../src/utils/workbook.matching.ts | 18 ++- 10 files changed, 137 insertions(+), 91 deletions(-) diff --git a/flatfilers/sandbox/src/index.ts b/flatfilers/sandbox/src/index.ts index 1bad1eb1c..61365d96e 100644 --- a/flatfilers/sandbox/src/index.ts +++ b/flatfilers/sandbox/src/index.ts @@ -22015,7 +22015,7 @@ export default async function (listener: FlatfileListener) { ], }) ) - + listener.namespace( ['space:getting-started'], configureSpace({ diff --git a/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts index 7204f0063..ac824eb61 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.e2e.spec.ts @@ -18,7 +18,11 @@ import { import type { SetupFactory } from '.' import { configureSpace } from '@flatfile/plugin-space-configure' import { reconfigureSpace } from '.' -import { contactsSheet, updatedContactsSheet, companiesSheet } from '../ref/test-sheets' +import { + contactsSheet, + updatedContactsSheet, + companiesSheet, +} from '../ref/test-sheets' const api = new FlatfileClient() @@ -142,13 +146,15 @@ describe('SpaceReconfigure plugin e2e tests', () => { expect(workbooks).toHaveLength(2) // Find the updated workbook - const updatedWorkbook = workbooks.find(wb => wb.name === 'Test Workbook') + const updatedWorkbook = workbooks.find((wb) => wb.name === 'Test Workbook') expect(updatedWorkbook).toBeDefined() expect(updatedWorkbook!.labels).toContain('updated') expect(updatedWorkbook!.sheets![0].config.fields).toHaveLength(4) // firstName, lastName, email, phone // Find the new workbook - const newWorkbook = workbooks.find(wb => wb.name === 'New Companies Workbook') + const newWorkbook = workbooks.find( + (wb) => wb.name === 'New Companies Workbook' + ) expect(newWorkbook).toBeDefined() expect(newWorkbook!.labels).toContain('new') expect(newWorkbook!.sheets![0].name).toBe('Companies') @@ -158,8 +164,12 @@ describe('SpaceReconfigure plugin e2e tests', () => { expect(space.data.metadata?.theme?.root?.primaryColor).toBe('blue') // Check workbook order is maintained - expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toBeDefined() - expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toHaveLength(2) + expect( + space.data.settings?.sidebarConfig?.workbookSidebarOrder + ).toBeDefined() + expect( + space.data.settings?.sidebarConfig?.workbookSidebarOrder + ).toHaveLength(2) expect(mockReconfigureFn).toHaveBeenCalled() }) @@ -200,7 +210,7 @@ describe('SpaceReconfigure plugin e2e tests', () => { // Should still have 2 workbooks (1 updated, 1 unchanged) expect(workbooks).toHaveLength(2) - const matchedWorkbook = workbooks.find(wb => wb.name === 'Test Workbook') + const matchedWorkbook = workbooks.find((wb) => wb.name === 'Test Workbook') expect(matchedWorkbook).toBeDefined() expect(matchedWorkbook!.labels).toContain('matched-by-name') expect(matchedWorkbook!.sheets![0].name).toBe('Updated Contacts') @@ -243,7 +253,9 @@ describe('SpaceReconfigure plugin e2e tests', () => { // Should have 3 workbooks now expect(workbooks).toHaveLength(3) - const newWorkbook = workbooks.find(wb => wb.name === 'Completely New Workbook') + const newWorkbook = workbooks.find( + (wb) => wb.name === 'Completely New Workbook' + ) expect(newWorkbook).toBeDefined() expect(newWorkbook!.labels).toContain('brand-new') expect(newWorkbook!.sheets![0].name).toBe('New Sheet') @@ -271,7 +283,7 @@ describe('SpaceReconfigure plugin e2e tests', () => { expect(callbackMock).toHaveBeenCalled() expect(callbackMock).toHaveBeenCalledWith( expect.any(Object), // event - expect.any(Array), // workbookIds + expect.any(Array), // workbookIds expect.any(Function) // tick ) @@ -329,14 +341,14 @@ describe('SpaceReconfigure plugin e2e tests', () => { const remainingWorkbooks = workbooksList.data expect(remainingWorkbooks.length).toBeLessThan(2) - + // Verify the correct workbook remains - const workbookA = remainingWorkbooks.find(wb => wb.name === 'Workbook A') + const workbookA = remainingWorkbooks.find((wb) => wb.name === 'Workbook A') expect(workbookA).toBeDefined() expect(workbookA!.sheets![0].name).toBe('Contacts') // Verify the other workbook is gone - const workbookB = remainingWorkbooks.find(wb => wb.name === 'Workbook B') + const workbookB = remainingWorkbooks.find((wb) => wb.name === 'Workbook B') expect(workbookB).toBeUndefined() multipleWorkbooksListener.reset() @@ -374,8 +386,10 @@ describe('SpaceReconfigure plugin e2e tests', () => { let documentsList = await api.documents.list(spaceId) expect(documentsList.data.length).toBeGreaterThanOrEqual(2) - const welcomeDoc = documentsList.data.find(doc => doc.title === 'Welcome Document') - const apiDoc = documentsList.data.find(doc => doc.title === 'API Guide') + const welcomeDoc = documentsList.data.find( + (doc) => doc.title === 'Welcome Document' + ) + const apiDoc = documentsList.data.find((doc) => doc.title === 'API Guide') expect(welcomeDoc).toBeDefined() expect(apiDoc).toBeDefined() @@ -414,18 +428,24 @@ describe('SpaceReconfigure plugin e2e tests', () => { expect(finalDocuments).toHaveLength(2) // Check updated document - const updatedWelcomeDoc = finalDocuments.find(doc => doc.title === 'Welcome Document') + const updatedWelcomeDoc = finalDocuments.find( + (doc) => doc.title === 'Welcome Document' + ) expect(updatedWelcomeDoc).toBeDefined() expect(updatedWelcomeDoc!.body).toContain('UPDATED platform') expect(updatedWelcomeDoc!.body).toContain('New content added') // Check new document - const newManualDoc = finalDocuments.find(doc => doc.title === 'New User Manual') + const newManualDoc = finalDocuments.find( + (doc) => doc.title === 'New User Manual' + ) expect(newManualDoc).toBeDefined() expect(newManualDoc!.body).toContain('User Manual') // Check deleted document - const deletedApiDoc = finalDocuments.find(doc => doc.title === 'API Guide') + const deletedApiDoc = finalDocuments.find( + (doc) => doc.title === 'API Guide' + ) expect(deletedApiDoc).toBeUndefined() initialDocumentsListener.reset() @@ -518,8 +538,12 @@ describe('SpaceReconfigure plugin e2e tests', () => { // Verify workbook order is set let space = await api.spaces.get(spaceId) - expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toBeDefined() - expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toHaveLength(3) + expect( + space.data.settings?.sidebarConfig?.workbookSidebarOrder + ).toBeDefined() + expect( + space.data.settings?.sidebarConfig?.workbookSidebarOrder + ).toHaveLength(3) // Now reconfigure with fewer workbooks, maintaining order const setupWithFewerWorkbooks: SetupFactory = { @@ -547,7 +571,8 @@ describe('SpaceReconfigure plugin e2e tests', () => { // Verify workbook order is updated correctly space = await api.spaces.get(spaceId) - const workbookOrder = space.data.settings?.sidebarConfig?.workbookSidebarOrder + const workbookOrder = + space.data.settings?.sidebarConfig?.workbookSidebarOrder expect(workbookOrder).toBeDefined() expect(workbookOrder).toHaveLength(2) @@ -555,9 +580,9 @@ describe('SpaceReconfigure plugin e2e tests', () => { const workbooksList = await api.workbooks.list({ spaceId }) const workbooks = workbooksList.data expect(workbooks).toHaveLength(2) - expect(workbooks.find(wb => wb.name === 'Workbook A')).toBeDefined() - expect(workbooks.find(wb => wb.name === 'Workbook C')).toBeDefined() - expect(workbooks.find(wb => wb.name === 'Workbook B')).toBeUndefined() + expect(workbooks.find((wb) => wb.name === 'Workbook A')).toBeDefined() + expect(workbooks.find((wb) => wb.name === 'Workbook C')).toBeDefined() + expect(workbooks.find((wb) => wb.name === 'Workbook B')).toBeUndefined() orderedWorkbooksListener.reset() fewerWorkbooksListener.reset() @@ -602,9 +627,15 @@ describe('SpaceReconfigure plugin e2e tests', () => { const initialComprehensiveListener = new TestListener() initialComprehensiveListener.mount(driver) - initialComprehensiveListener.use(reconfigureSpace(initialComprehensiveSetup)) + initialComprehensiveListener.use( + reconfigureSpace(initialComprehensiveSetup) + ) - await initialComprehensiveListener.waitFor('job:ready', 1, 'space:reconfigure') + await initialComprehensiveListener.waitFor( + 'job:ready', + 1, + 'space:reconfigure' + ) // Verify initial state let workbooksList = await api.workbooks.list({ spaceId }) @@ -666,20 +697,26 @@ describe('SpaceReconfigure plugin e2e tests', () => { // Check workbooks expect(workbooksList.data).toHaveLength(2) - const workbook1 = workbooksList.data.find(wb => wb.name === 'Initial Workbook 1') - const workbook3 = workbooksList.data.find(wb => wb.name === 'New Workbook 3') - const workbook2 = workbooksList.data.find(wb => wb.name === 'Initial Workbook 2') - + const workbook1 = workbooksList.data.find( + (wb) => wb.name === 'Initial Workbook 1' + ) + const workbook3 = workbooksList.data.find( + (wb) => wb.name === 'New Workbook 3' + ) + const workbook2 = workbooksList.data.find( + (wb) => wb.name === 'Initial Workbook 2' + ) + expect(workbook1).toBeDefined() expect(workbook3).toBeDefined() expect(workbook2).toBeUndefined() // Check documents expect(documentsList.data).toHaveLength(2) - const doc1 = documentsList.data.find(doc => doc.title === 'Initial Doc 1') - const doc3 = documentsList.data.find(doc => doc.title === 'New Doc 3') - const doc2 = documentsList.data.find(doc => doc.title === 'Initial Doc 2') - + const doc1 = documentsList.data.find((doc) => doc.title === 'Initial Doc 1') + const doc3 = documentsList.data.find((doc) => doc.title === 'New Doc 3') + const doc2 = documentsList.data.find((doc) => doc.title === 'Initial Doc 2') + expect(doc1).toBeDefined() expect(doc1!.body).toContain('Updated Document 1') expect(doc3).toBeDefined() @@ -687,7 +724,9 @@ describe('SpaceReconfigure plugin e2e tests', () => { // Check space settings expect(space.data.metadata?.theme?.root?.primaryColor).toBe('green') - expect(space.data.settings?.sidebarConfig?.workbookSidebarOrder).toHaveLength(2) + expect( + space.data.settings?.sidebarConfig?.workbookSidebarOrder + ).toHaveLength(2) initialComprehensiveListener.reset() newComprehensiveListener.reset() diff --git a/plugins/space-reconfigure/src/space.reconfigure.simple.e2e.spec.ts b/plugins/space-reconfigure/src/space.reconfigure.simple.e2e.spec.ts index 807d6af5f..98cd3a090 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.simple.e2e.spec.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.simple.e2e.spec.ts @@ -5,14 +5,7 @@ import { setupSpace, TestListener, } from '@flatfile/utils-testing' -import { - afterAll, - beforeAll, - describe, - expect, - it, - vi, -} from 'vitest' +import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest' import type { SetupFactory } from '.' import { reconfigureSpace } from '.' diff --git a/plugins/space-reconfigure/src/space.reconfigure.ts b/plugins/space-reconfigure/src/space.reconfigure.ts index 4314e4d18..ffc5bcdae 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.ts @@ -65,7 +65,7 @@ export function reconfigureSpace( const updatedWorkbookIds = await Promise.all( matches.map(async ({ existingWorkbook, configIndex }) => { const workbookConfig = setup.workbooks[configIndex] - + // Update the workbook with new configuration // Note: This will replace all sheets with the new configuration await api.workbooks.update(existingWorkbook.id, { @@ -120,7 +120,9 @@ export function reconfigureSpace( await api.spaces.update(spaceId, { environmentId: environmentId, primaryWorkbookId: - allWorkbookIds && allWorkbookIds.length > 0 ? allWorkbookIds[0] : '', + allWorkbookIds && allWorkbookIds.length > 0 + ? allWorkbookIds[0] + : '', ...setup.space, }) @@ -133,15 +135,20 @@ export function reconfigureSpace( const existingDocuments = existingDocumentsResponse.data // Match documents to configuration - const { matches: documentMatches, unmatchedConfigs: newDocuments, documentsToDelete } = matchDocuments( - existingDocuments, - setup.documents - ) + const { + matches: documentMatches, + unmatchedConfigs: newDocuments, + documentsToDelete, + } = matchDocuments(existingDocuments, setup.documents) // Update existing documents for (const { existingDocument, configIndex } of documentMatches) { const documentConfig = setup.documents[configIndex] - await api.documents.update(spaceId, existingDocument.id, documentConfig) + await api.documents.update( + spaceId, + existingDocument.id, + documentConfig + ) } // Delete documents not in configuration diff --git a/plugins/space-reconfigure/src/utils/document.matching.spec.ts b/plugins/space-reconfigure/src/utils/document.matching.spec.ts index 19a482295..ab63007e3 100644 --- a/plugins/space-reconfigure/src/utils/document.matching.spec.ts +++ b/plugins/space-reconfigure/src/utils/document.matching.spec.ts @@ -174,9 +174,11 @@ describe('document matching utility', () => { expect(unmatchedConfigs).toHaveLength(1) expect(documentsToDelete).toHaveLength(2) // Both existing documents should be deleted - expect(unmatchedConfigs[0].config.title).toBe('Completely Different Document') - expect(documentsToDelete.map(d => d.title)).toContain('Welcome Guide') - expect(documentsToDelete.map(d => d.title)).toContain('API Documentation') + expect(unmatchedConfigs[0].config.title).toBe( + 'Completely Different Document' + ) + expect(documentsToDelete.map((d) => d.title)).toContain('Welcome Guide') + expect(documentsToDelete.map((d) => d.title)).toContain('API Documentation') }) it('should handle case-sensitive title matching', () => { diff --git a/plugins/space-reconfigure/src/utils/document.matching.ts b/plugins/space-reconfigure/src/utils/document.matching.ts index 6a4cf5fbb..e3cc31834 100644 --- a/plugins/space-reconfigure/src/utils/document.matching.ts +++ b/plugins/space-reconfigure/src/utils/document.matching.ts @@ -20,19 +20,20 @@ export function matchDocuments( documentsToDelete: Flatfile.Document[] } { const matches: DocumentMatch[] = [] - const unmatchedConfigs: { config: Flatfile.DocumentConfig; index: number }[] = [] + const unmatchedConfigs: { config: Flatfile.DocumentConfig; index: number }[] = + [] const usedDocuments = new Set() documentConfigs.forEach((config, configIndex) => { // Try to match by title first let matchedDocument = existingDocuments.find( - doc => doc.title === config.title && !usedDocuments.has(doc.id) + (doc) => doc.title === config.title && !usedDocuments.has(doc.id) ) if (matchedDocument) { matches.push({ existingDocument: matchedDocument, - configIndex + configIndex, }) usedDocuments.add(matchedDocument.id) } else { @@ -41,7 +42,9 @@ export function matchDocuments( }) // Any existing documents that weren't matched should be deleted - const documentsToDelete = existingDocuments.filter(doc => !usedDocuments.has(doc.id)) + const documentsToDelete = existingDocuments.filter( + (doc) => !usedDocuments.has(doc.id) + ) return { matches, unmatchedConfigs, documentsToDelete } } diff --git a/plugins/space-reconfigure/src/utils/sheet.matching.spec.ts b/plugins/space-reconfigure/src/utils/sheet.matching.spec.ts index 27a59443f..cfa06d96f 100644 --- a/plugins/space-reconfigure/src/utils/sheet.matching.spec.ts +++ b/plugins/space-reconfigure/src/utils/sheet.matching.spec.ts @@ -81,9 +81,7 @@ describe('sheet matching utility', () => { { name: 'Updated Contacts', // Different name slug: 'contacts', // Same slug - fields: [ - { key: 'name', type: 'string', label: 'Name' }, - ], + fields: [{ key: 'name', type: 'string', label: 'Name' }], }, ] @@ -107,16 +105,12 @@ describe('sheet matching utility', () => { { name: 'Contacts', slug: 'contacts', - fields: [ - { key: 'name', type: 'string', label: 'Name' }, - ], + fields: [{ key: 'name', type: 'string', label: 'Name' }], }, { name: 'New Analytics Sheet', slug: 'analytics', - fields: [ - { key: 'metric', type: 'string', label: 'Metric' }, - ], + fields: [{ key: 'metric', type: 'string', label: 'Metric' }], }, ] @@ -166,16 +160,12 @@ describe('sheet matching utility', () => { { name: 'Contacts', slug: 'contacts', - fields: [ - { key: 'name', type: 'string', label: 'Name' }, - ], + fields: [{ key: 'name', type: 'string', label: 'Name' }], }, { name: 'Contacts', // Same name, should not match slug: 'contacts-2', - fields: [ - { key: 'name', type: 'string', label: 'Name' }, - ], + fields: [{ key: 'name', type: 'string', label: 'Name' }], }, ] @@ -200,9 +190,7 @@ describe('sheet matching utility', () => { { name: 'Completely Different Sheet', slug: 'different', - fields: [ - { key: 'data', type: 'string', label: 'Data' }, - ], + fields: [{ key: 'data', type: 'string', label: 'Data' }], }, ] @@ -216,7 +204,7 @@ describe('sheet matching utility', () => { expect(sheetsToDelete).toHaveLength(2) // Both existing sheets should be deleted expect(unmatchedConfigs[0].config.name).toBe('Completely Different Sheet') - expect(sheetsToDelete.map(s => s.name)).toContain('Contacts') - expect(sheetsToDelete.map(s => s.name)).toContain('Companies') + expect(sheetsToDelete.map((s) => s.name)).toContain('Contacts') + expect(sheetsToDelete.map((s) => s.name)).toContain('Companies') }) }) diff --git a/plugins/space-reconfigure/src/utils/sheet.matching.ts b/plugins/space-reconfigure/src/utils/sheet.matching.ts index 0253cddd8..07894a926 100644 --- a/plugins/space-reconfigure/src/utils/sheet.matching.ts +++ b/plugins/space-reconfigure/src/utils/sheet.matching.ts @@ -26,20 +26,20 @@ export function matchSheets( sheetConfigs.forEach((config, configIndex) => { // Try to match by name first let matchedSheet = existingSheets.find( - sheet => sheet.name === config.name && !usedSheets.has(sheet.id) + (sheet) => sheet.name === config.name && !usedSheets.has(sheet.id) ) // If no name match, try to match by slug if available if (!matchedSheet && config.slug) { matchedSheet = existingSheets.find( - sheet => sheet.slug === config.slug && !usedSheets.has(sheet.id) + (sheet) => sheet.slug === config.slug && !usedSheets.has(sheet.id) ) } if (matchedSheet) { matches.push({ existingSheet: matchedSheet, - configIndex + configIndex, }) usedSheets.add(matchedSheet.id) } else { @@ -48,7 +48,9 @@ export function matchSheets( }) // Any existing sheets that weren't matched should be deleted - const sheetsToDelete = existingSheets.filter(sheet => !usedSheets.has(sheet.id)) + const sheetsToDelete = existingSheets.filter( + (sheet) => !usedSheets.has(sheet.id) + ) return { matches, unmatchedConfigs, sheetsToDelete } } diff --git a/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts b/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts index 8a0e09ce5..f5eaa0099 100644 --- a/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts +++ b/plugins/space-reconfigure/src/utils/workbook.matching.spec.ts @@ -82,9 +82,7 @@ describe('workbook matching utility', () => { }) it('should handle empty existing workbooks', () => { - const workbookConfigs = [ - { name: 'New Workbook', labels: ['new'] }, - ] + const workbookConfigs = [{ name: 'New Workbook', labels: ['new'] }] const { matches, unmatchedConfigs, workbooksToDelete } = matchWorkbooks( [], @@ -155,8 +153,14 @@ describe('workbook matching utility', () => { expect(unmatchedConfigs).toHaveLength(1) expect(workbooksToDelete).toHaveLength(2) // Both existing workbooks should be deleted - expect(unmatchedConfigs[0].config.name).toBe('Completely Different Workbook') - expect(workbooksToDelete.map(wb => wb.name)).toContain('Contacts Workbook') - expect(workbooksToDelete.map(wb => wb.name)).toContain('Companies Workbook') + expect(unmatchedConfigs[0].config.name).toBe( + 'Completely Different Workbook' + ) + expect(workbooksToDelete.map((wb) => wb.name)).toContain( + 'Contacts Workbook' + ) + expect(workbooksToDelete.map((wb) => wb.name)).toContain( + 'Companies Workbook' + ) }) }) diff --git a/plugins/space-reconfigure/src/utils/workbook.matching.ts b/plugins/space-reconfigure/src/utils/workbook.matching.ts index 1f659e75a..7dfa09cd0 100644 --- a/plugins/space-reconfigure/src/utils/workbook.matching.ts +++ b/plugins/space-reconfigure/src/utils/workbook.matching.ts @@ -16,23 +16,29 @@ export function matchWorkbooks( workbookConfigs: Partial[] ): { matches: WorkbookMatch[] - unmatchedConfigs: { config: Partial; index: number }[] + unmatchedConfigs: { + config: Partial + index: number + }[] workbooksToDelete: Flatfile.Workbook[] } { const matches: WorkbookMatch[] = [] - const unmatchedConfigs: { config: Partial; index: number }[] = [] + const unmatchedConfigs: { + config: Partial + index: number + }[] = [] const usedWorkbooks = new Set() workbookConfigs.forEach((config, configIndex) => { // Try to match by name first let matchedWorkbook = existingWorkbooks.find( - wb => wb.name === config.name && !usedWorkbooks.has(wb.id) + (wb) => wb.name === config.name && !usedWorkbooks.has(wb.id) ) if (matchedWorkbook) { matches.push({ existingWorkbook: matchedWorkbook, - configIndex + configIndex, }) usedWorkbooks.add(matchedWorkbook.id) } else { @@ -41,7 +47,9 @@ export function matchWorkbooks( }) // Any existing workbooks that weren't matched should be deleted - const workbooksToDelete = existingWorkbooks.filter(wb => !usedWorkbooks.has(wb.id)) + const workbooksToDelete = existingWorkbooks.filter( + (wb) => !usedWorkbooks.has(wb.id) + ) return { matches, unmatchedConfigs, workbooksToDelete } } From 1b0f461d7e6bd014a3e6a51ea36b6fffeab3a7ec Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Mon, 14 Jul 2025 21:27:41 -0500 Subject: [PATCH 6/7] fix job operation --- plugins/space-reconfigure/src/space.reconfigure.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/space-reconfigure/src/space.reconfigure.ts b/plugins/space-reconfigure/src/space.reconfigure.ts index ffc5bcdae..552f42935 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.ts @@ -36,7 +36,7 @@ export function reconfigureSpace( ) { return function (listener: FlatfileListener) { listener.use( - jobHandler('workbook:reconfigure', async (event, tick) => { + jobHandler('space:reconfigure', async (event, tick) => { const { spaceId, environmentId } = event.context const setup = typeof setupFactory === 'function' From 8fe07f414b336c219dfb21acdc24c4c6902d6827 Mon Sep 17 00:00:00 2001 From: Carl Brugger Date: Tue, 15 Jul 2025 07:44:13 -0500 Subject: [PATCH 7/7] add sheet removal --- .../src/space.reconfigure.ts | 35 ++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/plugins/space-reconfigure/src/space.reconfigure.ts b/plugins/space-reconfigure/src/space.reconfigure.ts index 552f42935..9a7dcb4cb 100644 --- a/plugins/space-reconfigure/src/space.reconfigure.ts +++ b/plugins/space-reconfigure/src/space.reconfigure.ts @@ -1,9 +1,9 @@ import type { Flatfile } from '@flatfile/api' import { FlatfileClient } from '@flatfile/api' import type { FlatfileEvent, FlatfileListener } from '@flatfile/listener' -import { type TickFunction, jobHandler } from '@flatfile/plugin-job-handler' -import { matchWorkbooks } from './utils/workbook.matching' +import { jobHandler, type TickFunction } from '@flatfile/plugin-job-handler' import { matchDocuments } from './utils/document.matching' +import { matchWorkbooks } from './utils/workbook.matching' const api = new FlatfileClient() @@ -34,7 +34,7 @@ export function reconfigureSpace( tick: TickFunction ) => any | Promise ) { - return function (listener: FlatfileListener) { + return (listener: FlatfileListener) => { listener.use( jobHandler('space:reconfigure', async (event, tick) => { const { spaceId, environmentId } = event.context @@ -66,12 +66,29 @@ export function reconfigureSpace( matches.map(async ({ existingWorkbook, configIndex }) => { const workbookConfig = setup.workbooks[configIndex] + // Get existing sheets in the workbook + const existingSheetsResponse = await api.sheets.list({ + workbookId: existingWorkbook.id, + }) + const existingSheets = existingSheetsResponse.data + // Update the workbook with new configuration // Note: This will replace all sheets with the new configuration await api.workbooks.update(existingWorkbook.id, { environmentId, ...workbookConfig, }) + + // Delete sheets that are no longer in the configuration + const newSheetSlugs = new Set( + workbookConfig?.sheets?.map((sheet) => sheet.slug) || [] + ) + for (const existingSheet of existingSheets) { + if (!newSheetSlugs.has(existingSheet.config.slug)) { + await api.sheets.delete(existingSheet.id) + } + } + return existingWorkbook.id }) ) @@ -144,11 +161,13 @@ export function reconfigureSpace( // Update existing documents for (const { existingDocument, configIndex } of documentMatches) { const documentConfig = setup.documents[configIndex] - await api.documents.update( - spaceId, - existingDocument.id, - documentConfig - ) + if (documentConfig) { + await api.documents.update( + spaceId, + existingDocument.id, + documentConfig + ) + } } // Delete documents not in configuration