@adobe-commerce/aio-experience-kit 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +50 -1
  2. package/README.md +52 -145
  3. package/dist/cjs/components/DataForm/FieldBuilder/index.js +32 -28
  4. package/dist/cjs/components/DataForm/FieldBuilder/index.js.map +1 -1
  5. package/dist/cjs/components/FileUpload/index.js +241 -0
  6. package/dist/cjs/components/FileUpload/index.js.map +1 -0
  7. package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js +1 -1
  8. package/dist/cjs/components/MainContainer/TwoColumnLeft/index.js.map +1 -1
  9. package/dist/cjs/components/ShippingCarrierForm/index.js +6 -0
  10. package/dist/cjs/components/ShippingCarrierForm/index.js.map +1 -1
  11. package/dist/cjs/index.js +6 -4
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/utils/AdminUiSdk/index.js +4 -139
  14. package/dist/cjs/utils/AdminUiSdk/index.js.map +1 -1
  15. package/dist/esm/components/DataForm/FieldBuilder/index.js +33 -29
  16. package/dist/esm/components/DataForm/FieldBuilder/index.js.map +1 -1
  17. package/dist/esm/components/FileUpload/index.js +237 -0
  18. package/dist/esm/components/FileUpload/index.js.map +1 -0
  19. package/dist/esm/components/MainContainer/TwoColumnLeft/index.js +1 -1
  20. package/dist/esm/components/MainContainer/TwoColumnLeft/index.js.map +1 -1
  21. package/dist/esm/components/ShippingCarrierForm/index.js +6 -0
  22. package/dist/esm/components/ShippingCarrierForm/index.js.map +1 -1
  23. package/dist/esm/index.js +1 -0
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/types/components/DataForm/FieldBuilder/index.d.ts.map +1 -1
  26. package/dist/esm/types/components/FileUpload/index.d.ts +8 -0
  27. package/dist/esm/types/components/FileUpload/index.d.ts.map +1 -0
  28. package/dist/esm/types/components/FileUpload/types.d.ts +71 -0
  29. package/dist/esm/types/components/FileUpload/types.d.ts.map +1 -0
  30. package/dist/esm/types/components/ShippingCarrierForm/index.d.ts +6 -0
  31. package/dist/esm/types/components/ShippingCarrierForm/index.d.ts.map +1 -1
  32. package/dist/esm/types/components/ShippingCarrierForm/types.d.ts +5 -0
  33. package/dist/esm/types/components/ShippingCarrierForm/types.d.ts.map +1 -1
  34. package/dist/esm/types/components/index.d.ts +8 -0
  35. package/dist/esm/types/components/index.d.ts.map +1 -1
  36. package/dist/esm/types/utils/AdminUiSdk/index.d.ts +6 -45
  37. package/dist/esm/types/utils/AdminUiSdk/index.d.ts.map +1 -1
  38. package/dist/esm/types/utils/AdminUiSdk/types.d.ts +0 -46
  39. package/dist/esm/types/utils/AdminUiSdk/types.d.ts.map +1 -1
  40. package/dist/esm/utils/AdminUiSdk/index.js +5 -140
  41. package/dist/esm/utils/AdminUiSdk/index.js.map +1 -1
  42. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,7 +5,56 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [1.0.1] - 2025-10-14
8
+ ## [1.0.2] - 2024-11-15
9
+
10
+ ### ✨ Added
11
+
12
+ - **[FileUpload](./src/components/FileUpload/index.tsx)** - New file upload component with React Spectrum FileTrigger integration
13
+ - Single and multiple file upload support with flexible file selection
14
+ - Drag and drop functionality for intuitive file handling
15
+ - File validation with type, size, and extension constraints
16
+ - Custom file rendering with progress tracking and preview support
17
+ - Async file processing with configurable callbacks for upload and removal
18
+ - Error handling with detailed validation messages
19
+ - Accessibility-first design with keyboard navigation and screen reader support
20
+ - Type-safe props with comprehensive TypeScript interfaces
21
+ - Full test coverage with component and user interaction testing
22
+
23
+ ### 🔧 Changed
24
+
25
+ - **[FieldBuilder](./src/components/DataForm/FieldBuilder/index.tsx)** - Enhanced TOGGLE field with contextual help support
26
+ - Added `contextualHelp` prop to TOGGLE field type for inline documentation
27
+ - Improved user guidance with tooltip-style help text
28
+ - Consistent help text rendering across all field types
29
+
30
+ - **[FieldBuilder](./src/components/DataForm/FieldBuilder/index.tsx)** - Improved MULTISELECT field array handling
31
+ - Enhanced array value parsing and storage for MULTISELECT fields
32
+ - Better handling of comma-separated string to array conversion
33
+ - Improved compatibility with backend data structures
34
+
35
+ - **[TwoColumnLeft](./src/components/MainContainer/TwoColumnLeft/index.tsx)** - Layout flexibility improvement
36
+ - Changed `height` to `minHeight` for better responsive behavior
37
+ - Allows content to expand naturally beyond minimum height
38
+ - Prevents layout issues with dynamic content
39
+
40
+ ### ⚠️ Deprecated
41
+
42
+ - **[ShippingCarrierForm](./src/components/ShippingCarrierForm/index.tsx)** - Component marked as deprecated
43
+ - Use `DataForm` component instead with custom field configuration
44
+ - Will be removed in v2.0.0
45
+ - Added deprecation notices to TypeScript interfaces and component
46
+
47
+ ### 🗑️ Removed
48
+
49
+ - **[AdminUiSdk](./src/utils/AdminUiSdk/index.ts)** - Removed menu and page registration methods
50
+ - Removed `addMenuSection()`, `addMenuItem()`, and `addPage()` methods
51
+ - Removed `getRegistration()` method and related types
52
+ - Removed `registerExtension()` method for UIX registration
53
+ - Simplified to only provide `getCredentials()` for Adobe IMS authentication
54
+ - Breaking change: Projects using registration methods must update to use Adobe UIX SDK directly
55
+ - Retained credential management functionality for backward compatibility
56
+
57
+ ## [1.0.1] - 2024-10-14
9
58
 
10
59
  ### ✨ Added
11
60
 
package/README.md CHANGED
@@ -491,94 +491,55 @@ class EntityModel {
491
491
  - **Accessibility Excellence**: Full screen reader support, proper ARIA labels, and focus trap implementation
492
492
  - **Design Consistency**: Follows Adobe Spectrum design patterns for familiar user interactions
493
493
 
494
- #### `ShippingCarrierForm`
494
+ #### `FileUpload`
495
495
 
496
- A specialized form component pre-configured for shipping carrier management. Built on top of DataForm, it provides a ready-to-use form with all the necessary fields for shipping carrier configuration.
496
+ A flexible file upload component with file validation and automatic content reading. Built on React Spectrum's FileTrigger for consistent Adobe design patterns.
497
497
 
498
498
  ```javascript
499
499
  import React, { useState } from 'react';
500
- import { ShippingCarrierForm, useRouteParams } from '@adobe-commerce/aio-experience-kit';
500
+ import { View } from '@adobe/react-spectrum';
501
+ import { FileUpload } from '@adobe-commerce/aio-experience-kit';
501
502
  import { ToastQueue } from '@react-spectrum/toast';
502
503
 
503
- const CarrierForm = ({ actionCallHeaders, id = undefined }) => {
504
- const { getNavigate } = useRouteParams();
505
- const navigate = getNavigate();
506
- const [isLoading, setLoading] = useState(false);
507
- const [carrierData, setCarrierData] = useState({});
508
-
509
- const carrierModel = new CarrierModel(actionCallHeaders);
510
-
511
- const storeOptions = [
512
- { value: '1', label: 'Main Store' },
513
- { value: '2', label: 'EU Store' },
514
- { value: '3', label: 'Asia Store' }
515
- ];
516
-
517
- const countryOptions = [
518
- { value: 'US', label: 'United States' },
519
- { value: 'CA', label: 'Canada' },
520
- { value: 'GB', label: 'United Kingdom' },
521
- { value: 'DE', label: 'Germany' },
522
- { value: 'FR', label: 'France' }
523
- ];
504
+ const DocumentUploader = () => {
505
+ const [isProcessing, setProcessing] = useState(false);
524
506
 
525
507
  return (
526
- <ShippingCarrierForm
527
- countryOptions={countryOptions}
528
- storeOptions={storeOptions}
529
- defaults={carrierData}
530
- isLoading={isLoading}
531
- onFormSubmit={async (values) => {
532
- try {
533
- await carrierModel.save(values);
534
- ToastQueue.positive('Carrier saved successfully', { timeout: 5000 });
535
- } catch (e) {
536
- ToastQueue.negative(e.message, { timeout: 5000 });
537
- }
538
- }}
539
- onPostFormSubmit={async () => {
540
- navigate('/carrier/grid');
541
- }}
542
- onBackPress={() => {
543
- navigate('/carrier/grid');
544
- }}
545
- />
508
+ <View>
509
+ <FileUpload
510
+ label="Upload Documents"
511
+ isRequired={true}
512
+ acceptedFileTypes={['application/pdf', '.doc', '.docx']}
513
+ allowsMultiple={true}
514
+ isDisabled={isProcessing}
515
+ onSelect={async (files) => {
516
+ setProcessing(true);
517
+ try {
518
+ // Process each file
519
+ } catch (error) {
520
+ ToastQueue.negative(`Upload failed: ${error.message}`, { timeout: 5000 });
521
+ } finally {
522
+ setProcessing(false);
523
+ }
524
+ }}
525
+ />
526
+ </View>
546
527
  );
547
528
  };
548
-
549
- // Carrier Model
550
- class CarrierModel {
551
- constructor(actionCallHeaders) {
552
- this.actionCallHeaders = actionCallHeaders;
553
- }
554
-
555
- async save(formValues) {
556
- // Save carrier using API
557
- return {};
558
- }
559
- }
560
529
  ```
561
530
 
562
- **Pre-configured Fields:**
563
-
564
- The component includes the following built-in fields:
565
- - **Active** (TOGGLE) - Enable/disable the shipping carrier
566
- - **Code** (TEXT) - Unique identifier for the carrier
567
- - **Title** (TEXT) - Display name of the carrier
568
- - **Stores** (MULTISELECT) - Select which stores the carrier is available for
569
- - **Countries** (MULTISELECT) - Select which countries the carrier ships to
570
- - **Sort Order** (NUMBER) - Display order in the shipping methods list
571
- - **Is Tracking Available?** (TOGGLE) - Whether tracking is supported
572
- - **Is Shipping Labels Available?** (TOGGLE) - Whether shipping label generation is supported
573
-
574
531
  **Features:**
575
- - **Ready-to-Use**: Pre-configured form eliminates boilerplate code for common shipping carrier scenarios
576
- - **Flexible Options**: Pass custom store and country options based on your store configuration
577
- - **Data Persistence**: Support for loading existing carrier data via `defaults` prop
578
- - **Loading States**: Built-in loading indicator while fetching carrier data
579
- - **Type Safety**: Full TypeScript support with `ShippingCarrierFormProps` and `SelectOption` types
580
- - **Workflow Integration**: Lifecycle callbacks for form submission, navigation, and error handling
581
- - **Consistent UX**: Leverages DataForm for validation, error messaging, and user experience
532
+ - **File Selection**: Click to browse files with support for single or multiple file selection
533
+ - **Automatic Content Reading**: Automatically reads file content as text or base64 based on file type
534
+ - **File Type Validation**: Built-in validation for accepted MIME types and file extensions
535
+ - **Built-in Display**: Automatically displays selected files with name, size, and type information
536
+ - **Clear Functionality**: Built-in "Clear Files" link to remove selected files
537
+ - **Loading States**: Shows processing indicator while reading file contents
538
+ - **Error Handling**: Comprehensive error messaging for file reading failures
539
+ - **Accessibility**: Full keyboard navigation, screen reader support, and ARIA labels
540
+ - **Type Safety**: Complete TypeScript support with FileInfo interface for processed files
541
+
542
+ ---
582
543
 
583
544
  ### 🔧 Utils
584
545
 
@@ -586,67 +547,9 @@ Utility functions and classes that simplify common tasks in Adobe Commerce exten
586
547
 
587
548
  #### `AdminUiSdk`
588
549
 
589
- A comprehensive utility class for registering Adobe Admin UI extensions with the Adobe UIX registry, managing menu items, page configurations, and credentials.
590
-
591
- ##### Building Registration Configuration
592
-
593
- Create menu structure and page configuration for your extension:
594
-
595
- ```typescript
596
- import { AdminUiSdk } from '@adobe-commerce/aio-experience-kit';
597
-
598
- // Initialize the SDK with your extension ID
599
- const sdk = new AdminUiSdk('my_admin_extension');
600
-
601
- // Add a menu section (appears as a parent menu)
602
- sdk.addMenuSection('products', 'Product Management', 100);
603
-
604
- // Add menu items under the section
605
- sdk.addMenuItem('product_list', 'Product List', 1, 'products');
606
-
607
- // Set the page title for your extension
608
- sdk.addPage('Product Management Dashboard');
609
-
610
- // Get the complete registration configuration
611
- const registration = sdk.getRegistration();
612
- console.log(registration);
613
- // Output: {
614
- // registration: {
615
- // menuItems: [
616
- // {
617
- // id: 'my_admin_extension::products',
618
- // title: 'Product Management',
619
- // sortOrder: 100,
620
- // isSection: true
621
- // },
622
- // {
623
- // id: 'my_admin_extension::product_list',
624
- // title: 'Product List',
625
- // parent: 'my_admin_extension::products',
626
- // sortOrder: 1
627
- // },
628
- // page: {
629
- // title: 'Product Management Dashboard'
630
- // }
631
- // }
632
- // }
633
- ```
634
-
635
- ##### Registering Your Extension
550
+ A utility class for managing Adobe IMS credentials in Adobe Admin UI extensions. Provides secure access to authentication tokens and organization IDs for API calls.
636
551
 
637
- Register your extension with Adobe UIX platform:
638
-
639
- ```typescript
640
- import { AdminUiSdk } from '@adobe-commerce/aio-experience-kit';
641
-
642
- try {
643
- const sdk = new AdminUiSdk('my_admin_extension');
644
- // Register the extension with Adobe UIX
645
- await sdk.registerExtension();
646
- } catch (error) {
647
- console.error('Registration failed:', error.message);
648
- }
649
- ```
552
+ > **Note**: As of v1.0.2, registration methods have been removed. Use the Adobe UIX SDK directly for extension registration.
650
553
 
651
554
  ##### Getting Adobe IMS Credentials
652
555
 
@@ -677,13 +580,11 @@ try {
677
580
  ```
678
581
 
679
582
  **Features:**
680
- - **Flexible Menu Management**: Create menu sections and items with automatic ID prefixing and validation
681
- - **Optional Configuration**: Registration works with any combination of menu items and page configuration
682
583
  - **Credential Management**: Secure access to Adobe IMS authentication tokens and organization IDs
683
- - **Adobe UIX Integration**: Seamless registration with Adobe's extensibility platform using official APIs
684
- - **Input Validation**: Strict ID validation (alphanumeric + underscores only) and comprehensive error handling
584
+ - **Shared Context Access**: Retrieves credentials from Adobe's shared context using @adobe/uix-guest
585
+ - **Error Handling**: Comprehensive error handling for credential retrieval failures
685
586
  - **Type Safety**: Full TypeScript support with intelligent code completion and compile-time validation
686
- - **Production Ready**: Battle-tested utility used in real Adobe Commerce extensions with robust error handling
587
+ - **Production Ready**: Battle-tested utility used in real Adobe Commerce extensions
687
588
 
688
589
  #### `useRouteParams`
689
590
 
@@ -729,14 +630,20 @@ import type {
729
630
  DataTableProps,
730
631
  DataFormProps,
731
632
  ConfirmationDialogProps,
732
- ShippingCarrierFormProps,
733
- SelectOption,
633
+ FileUploadProps,
734
634
  FieldType,
735
635
  AdminUiSdkInterface,
736
- AdminUiSdkCredentials,
737
- AdminUiSdkRegistration,
738
- MenuItem
636
+ AdminUiSdkCredentials
739
637
  } from '@adobe-commerce/aio-experience-kit';
638
+
639
+ // Deprecated types (for backward compatibility only)
640
+ // These types are deprecated and will be removed in v2.0.0
641
+ // import type {
642
+ // ShippingCarrierFormProps,
643
+ // SelectOption,
644
+ // AdminUiSdkRegistration,
645
+ // MenuItem
646
+ // } from '@adobe-commerce/aio-experience-kit';
740
647
  ```
741
648
 
742
649
  ## License
@@ -45,7 +45,7 @@ var FieldBuilder = function FieldBuilder(_ref) {
45
45
  value = _useState4[0],
46
46
  setValue = _useState4[1];
47
47
  return jsxRuntime.jsx(reactSpectrum.View, {
48
- children: function (_field$required, _field$disabled, _field$contextualHelp, _field$required2, _field$disabled2, _field$contextualHelp2, _field$disabled3, _field$contextualHelp3, _field$required3, _field$disabled4, _field$contextualHelp4) {
48
+ children: function (_field$required, _field$disabled, _field$contextualHelp, _field$required2, _field$disabled2, _field$contextualHelp2, _field$disabled3, _field$contextualHelp3, _field$contextualHelp4, _field$required3, _field$disabled4, _field$contextualHelp5) {
49
49
  switch (field.type) {
50
50
  case types.FieldType.SELECT:
51
51
  return jsxRuntime.jsxs(reactSpectrum.View, {
@@ -182,31 +182,35 @@ var FieldBuilder = function FieldBuilder(_ref) {
182
182
  case types.FieldType.TOGGLE:
183
183
  return jsxRuntime.jsxs(reactSpectrum.View, {
184
184
  marginBottom: 'size-100',
185
- children: [jsxRuntime.jsx(reactSpectrum.Switch, {
186
- isDisabled: isChecked || ((_field$disabled3 = field.disabled) !== null && _field$disabled3 !== void 0 ? _field$disabled3 : false),
187
- isSelected: value === '1',
188
- onChange: function () {
189
- var _onChange4 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee6(selected) {
190
- var toggleValue;
191
- return _rollupPluginBabelHelpers.regenerator().w(function (_context6) {
192
- while (1) switch (_context6.n) {
193
- case 0:
194
- toggleValue = selected ? '1' : '0';
195
- setValue(toggleValue);
196
- _context6.n = 1;
197
- return onFieldChange(field.code, field.db_field, toggleValue);
198
- case 1:
199
- return _context6.a(2);
200
- }
201
- }, _callee6);
202
- }));
203
- function onChange(_x5) {
204
- return _onChange4.apply(this, arguments);
205
- }
206
- return onChange;
207
- }(),
208
- children: field.label
209
- }, field.code), field.use_env_var !== undefined && field.use_env_var ? jsxRuntime.jsxs(reactSpectrum.Checkbox, {
185
+ children: [jsxRuntime.jsxs(reactSpectrum.Flex, {
186
+ gap: "size-100",
187
+ alignItems: "start",
188
+ children: [jsxRuntime.jsx(reactSpectrum.Switch, {
189
+ isDisabled: isChecked || ((_field$disabled3 = field.disabled) !== null && _field$disabled3 !== void 0 ? _field$disabled3 : false),
190
+ isSelected: value === '1',
191
+ onChange: function () {
192
+ var _onChange4 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee6(selected) {
193
+ var toggleValue;
194
+ return _rollupPluginBabelHelpers.regenerator().w(function (_context6) {
195
+ while (1) switch (_context6.n) {
196
+ case 0:
197
+ toggleValue = selected ? '1' : '0';
198
+ setValue(toggleValue);
199
+ _context6.n = 1;
200
+ return onFieldChange(field.code, field.db_field, toggleValue);
201
+ case 1:
202
+ return _context6.a(2);
203
+ }
204
+ }, _callee6);
205
+ }));
206
+ function onChange(_x5) {
207
+ return _onChange4.apply(this, arguments);
208
+ }
209
+ return onChange;
210
+ }(),
211
+ children: field.label
212
+ }, field.code), (_field$contextualHelp3 = field.contextualHelp) !== null && _field$contextualHelp3 !== void 0 ? _field$contextualHelp3 : null]
213
+ }), field.use_env_var !== undefined && field.use_env_var ? jsxRuntime.jsxs(reactSpectrum.Checkbox, {
210
214
  name: envName,
211
215
  value: '1',
212
216
  isRequired: false,
@@ -238,7 +242,7 @@ var FieldBuilder = function FieldBuilder(_ref) {
238
242
  children: jsxRuntime.jsx(reactSpectrum.LabeledValue, {
239
243
  label: field.label,
240
244
  value: value,
241
- contextualHelp: (_field$contextualHelp3 = field.contextualHelp) !== null && _field$contextualHelp3 !== void 0 ? _field$contextualHelp3 : null
245
+ contextualHelp: (_field$contextualHelp4 = field.contextualHelp) !== null && _field$contextualHelp4 !== void 0 ? _field$contextualHelp4 : null
242
246
  }, field.code)
243
247
  });
244
248
  case types.FieldType.TEXT:
@@ -258,7 +262,7 @@ var FieldBuilder = function FieldBuilder(_ref) {
258
262
  isRequired: (_field$required3 = field.required) !== null && _field$required3 !== void 0 ? _field$required3 : false,
259
263
  isDisabled: isChecked || ((_field$disabled4 = field.disabled) !== null && _field$disabled4 !== void 0 ? _field$disabled4 : false),
260
264
  defaultValue: value,
261
- contextualHelp: (_field$contextualHelp4 = field.contextualHelp) !== null && _field$contextualHelp4 !== void 0 ? _field$contextualHelp4 : null,
265
+ contextualHelp: (_field$contextualHelp5 = field.contextualHelp) !== null && _field$contextualHelp5 !== void 0 ? _field$contextualHelp5 : null,
262
266
  width: "100%",
263
267
  onChange: function () {
264
268
  var _onChange6 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee8(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataForm/FieldBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useState } from 'react';\nimport {\n Picker,\n Item,\n TextField,\n View,\n Checkbox,\n CheckboxGroup,\n LabeledValue,\n Switch,\n} from '@adobe/react-spectrum';\nimport { FieldBuilderProps } from './types';\nimport { FieldType } from '../FormBuilder/types';\n\nconst FieldBuilder: React.FC<FieldBuilderProps> = ({\n field,\n editItem,\n onFieldChange,\n usePlaceholder = true,\n}) => {\n const envName = field.db_field + '-env';\n\n const [isChecked, setIsChecked] = useState<boolean>(editItem[envName] ?? false);\n const [value, setValue] = useState<any>(() => {\n const initialValue = editItem[field.db_field] ?? field.value;\n const defaultValue = initialValue ?? (field.type === FieldType.TOGGLE ? '0' : null);\n\n // Call onFieldChange for TOGGLE fields with default value\n if (field.type === FieldType.TOGGLE && !initialValue && defaultValue === '0') {\n // Use setTimeout to avoid calling during render\n setTimeout(async () => {\n await onFieldChange(field.code, field.db_field, '0');\n }, 0);\n }\n\n return defaultValue;\n });\n\n return (\n <View>\n {((): React.ReactElement => {\n switch (field.type) {\n case FieldType.SELECT:\n return (\n <View marginBottom={'size-100'}>\n <Picker\n key={field.code}\n label={field.label}\n items={field.options || []}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n contextualHelp={field.contextualHelp ?? null}\n defaultSelectedKey={value}\n width=\"100%\"\n onSelectionChange={async (value: any) => {\n setValue(value);\n await onFieldChange(field.code, field.db_field, value);\n }}\n >\n {item => <Item key={item.value}>{item.label}</Item>}\n </Picker>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.MULTISELECT:\n return (\n <View marginBottom={'size-100'}>\n <CheckboxGroup\n key={field.code}\n label={field.label}\n width={'size-6000'}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n contextualHelp={field.contextualHelp ?? null}\n value={Array.isArray(value) ? value : []}\n onChange={async (selectedValues: string[]) => {\n setValue(selectedValues);\n await onFieldChange(field.code, field.db_field, selectedValues);\n }}\n >\n <View\n borderWidth={'thin'}\n borderColor={'gray-600'}\n borderRadius={'medium'}\n padding={'size-100'}\n backgroundColor={'static-white'}\n >\n <View maxHeight={'size-2400'} overflow={'auto'}>\n {(field.options || []).map((option, index) => (\n <Checkbox\n key={`${field.code}-${index}`}\n width={'100%'}\n value={option.value}\n >\n {option.label}\n </Checkbox>\n ))}\n </View>\n </View>\n </CheckboxGroup>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable:{' '}\n {Array.isArray(value) ? value.join(', ') : value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.TOGGLE:\n return (\n <View marginBottom={'size-100'}>\n <Switch\n key={field.code}\n isDisabled={isChecked || (field.disabled ?? false)}\n isSelected={value === '1'}\n onChange={async (selected: boolean) => {\n const toggleValue = selected ? '1' : '0';\n setValue(toggleValue);\n await onFieldChange(field.code, field.db_field, toggleValue);\n }}\n >\n {field.label}\n </Switch>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.LABEL:\n return (\n <View marginBottom={'size-100'}>\n <LabeledValue\n key={field.code}\n label={field.label}\n value={value}\n contextualHelp={field.contextualHelp ?? null}\n />\n </View>\n );\n case FieldType.TEXT:\n case FieldType.EMAIL:\n case FieldType.PASSWORD:\n case FieldType.NUMBER:\n case FieldType.URL:\n case FieldType.TEL:\n case FieldType.SEARCH:\n default:\n return (\n <View marginBottom={'size-100'}>\n <TextField\n type={field.type}\n key={field.code}\n label={field.label}\n placeholder={usePlaceholder ? field.label : ''}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n defaultValue={value}\n contextualHelp={field.contextualHelp ?? null}\n width=\"100%\"\n onChange={async (value: any) => {\n setValue(value);\n await onFieldChange(field.code, field.db_field, value);\n }}\n />\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n }\n })()}\n </View>\n );\n};\n\nexport default FieldBuilder;\n"],"names":["FieldBuilder","_ref","_editItem$envName","field","editItem","onFieldChange","_ref$usePlaceholder","usePlaceholder","envName","db_field","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","_useState3","_editItem$field$db_fi","initialValue","value","defaultValue","type","FieldType","TOGGLE","setTimeout","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","code","a","_useState4","setValue","_jsx","View","children","_field$required","_field$disabled","_field$contextualHelp","_field$required2","_field$disabled2","_field$contextualHelp2","_field$disabled3","_field$contextualHelp3","_field$required3","_field$disabled4","_field$contextualHelp4","SELECT","_jsxs","marginBottom","Picker","label","items","options","isRequired","required","isDisabled","disabled","contextualHelp","defaultSelectedKey","width","onSelectionChange","_onSelectionChange","_callee2","_context2","_x","apply","arguments","item","Item","use_env_var","undefined","Checkbox","name","defaultSelected","onChange","_onChange","_callee3","checked","_context3","_x2","MULTISELECT","CheckboxGroup","Array","isArray","_onChange2","_callee4","selectedValues","_context4","_x3","borderWidth","borderColor","borderRadius","padding","backgroundColor","maxHeight","overflow","map","option","index","concat","_onChange3","_callee5","_context5","_x4","join","Switch","isSelected","_onChange4","_callee6","selected","toggleValue","_context6","_x5","_onChange5","_callee7","_context7","_x6","LABEL","LabeledValue","TEXT","EMAIL","PASSWORD","NUMBER","URL","TEL","SEARCH","TextField","placeholder","_onChange6","_callee8","_context8","_x7","_onChange7","_callee9","_context9","_x8"],"mappings":";;;;;;;;;;AAkBA,IAAMA,YAAY,GAAgC,SAA5CA,YAAYA,CAAAC,IAAA,EAKb;AAAA,EAAA,IAAAC,iBAAA;AAAA,EAAA,IAJHC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IAAAC,mBAAA,GAAAL,IAAA,CACbM,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;AAErB,EAAA,IAAME,OAAO,GAAGL,KAAK,CAACM,QAAQ,GAAG,MAAM;AAEvC,EAAA,IAAAC,SAAA,GAAkCC,cAAQ,CAAA,CAAAT,iBAAA,GAAUE,QAAQ,CAACI,OAAO,CAAC,cAAAN,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAI,KAAK,CAAC;IAAAU,UAAA,GAAAC,uCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAxEI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAI,UAAA,GAA0BL,cAAQ,CAAM,YAAK;AAAA,MAAA,IAAAM,qBAAA;AAC3C,MAAA,IAAMC,YAAY,GAAA,CAAAD,qBAAA,GAAGb,QAAQ,CAACD,KAAK,CAACM,QAAQ,CAAC,cAAAQ,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAId,KAAK,CAACgB,KAAK;AAC5D,MAAA,IAAMC,YAAY,GAAGF,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAZA,YAAY,GAAKf,KAAK,CAACkB,IAAI,KAAKC,eAAS,CAACC,MAAM,GAAG,GAAG,GAAG,IAAK;AAEnF;AACA,MAAA,IAAIpB,KAAK,CAACkB,IAAI,KAAKC,eAAS,CAACC,MAAM,IAAI,CAACL,YAAY,IAAIE,YAAY,KAAK,GAAG,EAAE;AAC5E;QACAI,UAAU,cAAAC,0CAAA,cAAAC,qCAAA,GAAAC,CAAA,CAAC,SAAAC,OAAAA,GAAA;AAAA,UAAA,OAAAF,qCAAA,EAAA,CAAAG,CAAA,CAAA,UAAAC,QAAA,EAAA;YAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,cAAA,KAAA,CAAA;AAAAD,gBAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;gBAAA,OACH1B,aAAa,CAACF,KAAK,CAAC6B,IAAI,EAAE7B,KAAK,CAACM,QAAQ,EAAE,GAAG,CAAC;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAqB,QAAA,CAAAG,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,UAAA,CAAA,EAAAL,OAAA,CAAA;QAAA,CACrD,CAAA,CAAA,EAAE,CAAC,CAAC;AACP,MAAA;AAEA,MAAA,OAAOR,YAAY;AACrB,IAAA,CAAC,CAAC;IAAAc,UAAA,GAAArB,uCAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAbKG,IAAAA,KAAK,GAAAe,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;EAetB,OACEE,cAAA,CAACC,kBAAI,EAAA;IAAAC,QAAA,EACD,UAAAC,eAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAyB;MACzB,QAAQ9C,KAAK,CAACkB,IAAI;QAChB,KAAKC,eAAS,CAAC4B,MAAM;UACnB,OACEC,eAAA,CAACd,kBAAI,EAAA;AAACe,YAAAA,YAAY,EAAE,UAAU;AAAAd,YAAAA,QAAA,EAAA,CAC5BF,cAAA,CAACiB,oBAAM,EAAA;cAELC,KAAK,EAAEnD,KAAK,CAACmD,KAAK;AAClBC,cAAAA,KAAK,EAAEpD,KAAK,CAACqD,OAAO,IAAI,EAAE;cAC1BC,UAAU,EAAA,CAAAlB,eAAA,GAAEpC,KAAK,CAACuD,QAAQ,MAAA,IAAA,IAAAnB,eAAA,KAAA,MAAA,GAAAA,eAAA,GAAI,KAAK;AACnCoB,cAAAA,UAAU,EAAE7C,SAAS,KAAA,CAAA0B,eAAA,GAAKrC,KAAK,CAACyD,QAAQ,MAAA,IAAA,IAAApB,eAAA,KAAA,MAAA,GAAAA,eAAA,GAAI,KAAK,CAAC;cAClDqB,cAAc,EAAA,CAAApB,qBAAA,GAAEtC,KAAK,CAAC0D,cAAc,MAAA,IAAA,IAAApB,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;AAC5CqB,cAAAA,kBAAkB,EAAE3C,KAAK;AACzB4C,cAAAA,KAAK,EAAC,MAAM;cACZC,iBAAiB,EAAA,YAAA;gBAAA,IAAAC,kBAAA,GAAAxC,0CAAA,cAAAC,qCAAA,GAAAC,CAAA,CAAE,SAAAuC,QAAAA,CAAO/C,KAAU,EAAA;AAAA,kBAAA,OAAAO,qCAAA,EAAA,CAAAG,CAAA,CAAA,UAAAsC,SAAA,EAAA;oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApC,CAAA;AAAA,sBAAA,KAAA,CAAA;wBAClCI,QAAQ,CAAChB,KAAK,CAAC;AAACgD,wBAAAA,SAAA,CAAApC,CAAA,GAAA,CAAA;wBAAA,OACV1B,aAAa,CAACF,KAAK,CAAC6B,IAAI,EAAE7B,KAAK,CAACM,QAAQ,EAAEU,KAAK,CAAC;AAAA,sBAAA,KAAA,CAAA;wBAAA,OAAAgD,SAAA,CAAAlC,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,kBAAA,CAAA,EAAAiC,QAAA,CAAA;gBAAA,CACvD,CAAA,CAAA;gBAAA,SAHDF,iBAAiBA,CAAAI,EAAA,EAAA;AAAA,kBAAA,OAAAH,kBAAA,CAAAI,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,OAAjBN,iBAAiB;cAAA,CAAA,EAGhB;AAAA1B,cAAAA,QAAA,EAEA,SAFAA,QAAAA,CAEAiC,IAAI,EAAA;gBAAA,OAAInC,cAAA,CAACoC,kBAAI,EAAA;kBAAAlC,QAAA,EAAmBiC,IAAI,CAACjB;AAAK,iBAAA,EAAvBiB,IAAI,CAACpD,KAAK,CAAqB;AAAA,cAAA;AAAA,aAAA,EAb9ChB,KAAK,CAAC6B,IAAI,CAcR,EACR7B,KAAK,CAACsE,WAAW,KAAKC,SAAS,IAAIvE,KAAK,CAACsE,WAAW,GACnDtB,eAAA,CAACwB,sBAAQ,EAAA;AAEPC,cAAAA,IAAI,EAAEpE,OAAO;AACbW,cAAAA,KAAK,EAAE,GAAG;AACVsC,cAAAA,UAAU,EAAE,KAAK;AACjBoB,cAAAA,eAAe,EAAE/D,SAAS;cAC1BgE,QAAQ,EAAA,YAAA;gBAAA,IAAAC,SAAA,GAAAtD,0CAAA,cAAAC,qCAAA,GAAAC,CAAA,CAAE,SAAAqD,QAAAA,CAAOC,OAAgB,EAAA;AAAA,kBAAA,OAAAvD,qCAAA,EAAA,CAAAG,CAAA,CAAA,UAAAqD,SAAA,EAAA;oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnD,CAAA;AAAA,sBAAA,KAAA,CAAA;wBAC/BhB,YAAY,CAACkE,OAAO,CAAC;AAACC,wBAAAA,SAAA,CAAAnD,CAAA,GAAA,CAAA;AAAA,wBAAA,OAChB1B,aAAa,CAACG,OAAO,EAAEA,OAAO,EAAEyE,OAAO,CAAC;AAAA,sBAAA,KAAA,CAAA;wBAAA,OAAAC,SAAA,CAAAjD,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,kBAAA,CAAA,EAAA+C,QAAA,CAAA;gBAAA,CAC/C,CAAA,CAAA;gBAAA,SAHDF,QAAQA,CAAAK,GAAA,EAAA;AAAA,kBAAA,OAAAJ,SAAA,CAAAV,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,OAARQ,QAAQ;cAAA,CAAA,EAGP;AAAAxC,cAAAA,QAAA,EAAA,CAAA,qCAAA,EAEmCnB,KAAK;AAAA,aAAA,EAVpCX,OAAO,CAWH,GACT,IAAI;AAAA,WAAA,CACH;QAEX,KAAKc,eAAS,CAAC8D,WAAW;UACxB,OACEjC,eAAA,CAACd,kBAAI,EAAA;AAACe,YAAAA,YAAY,EAAE,UAAU;AAAAd,YAAAA,QAAA,EAAA,CAC5BF,cAAA,CAACiD,2BAAa,EAAA;cAEZ/B,KAAK,EAAEnD,KAAK,CAACmD,KAAK;AAClBS,cAAAA,KAAK,EAAE,WAAW;cAClBN,UAAU,EAAA,CAAAf,gBAAA,GAAEvC,KAAK,CAACuD,QAAQ,MAAA,IAAA,IAAAhB,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,KAAK;AACnCiB,cAAAA,UAAU,EAAE7C,SAAS,KAAA,CAAA6B,gBAAA,GAAKxC,KAAK,CAACyD,QAAQ,MAAA,IAAA,IAAAjB,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,KAAK,CAAC;cAClDkB,cAAc,EAAA,CAAAjB,sBAAA,GAAEzC,KAAK,CAAC0D,cAAc,MAAA,IAAA,IAAAjB,sBAAA,KAAA,MAAA,GAAAA,sBAAA,GAAI,IAAI;cAC5CzB,KAAK,EAAEmE,KAAK,CAACC,OAAO,CAACpE,KAAK,CAAC,GAAGA,KAAK,GAAG,EAAE;cACxC2D,QAAQ,EAAA,YAAA;gBAAA,IAAAU,UAAA,GAAA/D,0CAAA,cAAAC,qCAAA,GAAAC,CAAA,CAAE,SAAA8D,QAAAA,CAAOC,cAAwB,EAAA;AAAA,kBAAA,OAAAhE,qCAAA,EAAA,CAAAG,CAAA,CAAA,UAAA8D,SAAA,EAAA;oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5D,CAAA;AAAA,sBAAA,KAAA,CAAA;wBACvCI,QAAQ,CAACuD,cAAc,CAAC;AAACC,wBAAAA,SAAA,CAAA5D,CAAA,GAAA,CAAA;wBAAA,OACnB1B,aAAa,CAACF,KAAK,CAAC6B,IAAI,EAAE7B,KAAK,CAACM,QAAQ,EAAEiF,cAAc,CAAC;AAAA,sBAAA,KAAA,CAAA;wBAAA,OAAAC,SAAA,CAAA1D,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,kBAAA,CAAA,EAAAwD,QAAA,CAAA;gBAAA,CAChE,CAAA,CAAA;gBAAA,SAHDX,QAAQA,CAAAc,GAAA,EAAA;AAAA,kBAAA,OAAAJ,UAAA,CAAAnB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,OAARQ,QAAQ;cAAA,CAAA,EAGP;AAAAxC,cAAAA,QAAA,EAEDF,cAAA,CAACC,kBAAI,EAAA;AACHwD,gBAAAA,WAAW,EAAE,MAAM;AACnBC,gBAAAA,WAAW,EAAE,UAAU;AACvBC,gBAAAA,YAAY,EAAE,QAAQ;AACtBC,gBAAAA,OAAO,EAAE,UAAU;AACnBC,gBAAAA,eAAe,EAAE,cAAc;AAAA3D,gBAAAA,QAAA,EAE/BF,cAAA,CAACC,kBAAI,EAAA;AAAC6D,kBAAAA,SAAS,EAAE,WAAW;AAAEC,kBAAAA,QAAQ,EAAE,MAAM;AAAA7D,kBAAAA,QAAA,EAC3C,CAACnC,KAAK,CAACqD,OAAO,IAAI,EAAE,EAAE4C,GAAG,CAAC,UAACC,MAAM,EAAEC,KAAK,EAAA;oBAAA,OACvClE,cAAA,CAACuC,sBAAQ,EAAA;AAEPZ,sBAAAA,KAAK,EAAE,MAAM;sBACb5C,KAAK,EAAEkF,MAAM,CAAClF,KAAK;sBAAAmB,QAAA,EAElB+D,MAAM,CAAC/C;qBAAK,EAAA,EAAA,CAAAiD,MAAA,CAJLpG,KAAK,CAAC6B,IAAI,EAAA,GAAA,CAAA,CAAAuE,MAAA,CAAID,KAAK,CAAE,CAKpB;kBAAA,CACZ;iBAAC;eACG;AACF,aAAA,EA9BFnG,KAAK,CAAC6B,IAAI,CA+BD,EACf7B,KAAK,CAACsE,WAAW,KAAKC,SAAS,IAAIvE,KAAK,CAACsE,WAAW,GACnDtB,eAAA,CAACwB,sBAAQ,EAAA;AAEPC,cAAAA,IAAI,EAAEpE,OAAO;AACbW,cAAAA,KAAK,EAAE,GAAG;AACVsC,cAAAA,UAAU,EAAE,KAAK;AACjBoB,cAAAA,eAAe,EAAE/D,SAAS;cAC1BgE,QAAQ,EAAA,YAAA;gBAAA,IAAA0B,UAAA,GAAA/E,0CAAA,cAAAC,qCAAA,GAAAC,CAAA,CAAE,SAAA8E,QAAAA,CAAOxB,OAAgB,EAAA;AAAA,kBAAA,OAAAvD,qCAAA,EAAA,CAAAG,CAAA,CAAA,UAAA6E,SAAA,EAAA;oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3E,CAAA;AAAA,sBAAA,KAAA,CAAA;wBAC/BhB,YAAY,CAACkE,OAAO,CAAC;AAACyB,wBAAAA,SAAA,CAAA3E,CAAA,GAAA,CAAA;AAAA,wBAAA,OAChB1B,aAAa,CAACG,OAAO,EAAEA,OAAO,EAAEyE,OAAO,CAAC;AAAA,sBAAA,KAAA,CAAA;wBAAA,OAAAyB,SAAA,CAAAzE,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,kBAAA,CAAA,EAAAwE,QAAA,CAAA;gBAAA,CAC/C,CAAA,CAAA;gBAAA,SAHD3B,QAAQA,CAAA6B,GAAA,EAAA;AAAA,kBAAA,OAAAH,UAAA,CAAAnC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,OAARQ,QAAQ;cAAA,CAAA,EAGP;cAAAxC,QAAA,EAAA,CAAA,oCAAA,EAEkC,GAAG,EACrCgD,KAAK,CAACC,OAAO,CAACpE,KAAK,CAAC,GAAGA,KAAK,CAACyF,IAAI,CAAC,IAAI,CAAC,GAAGzF,KAAK;eAX3CX,OAAO,CAYH,GACT,IAAI;AAAA,WAAA,CACH;QAEX,KAAKc,eAAS,CAACC,MAAM;UACnB,OACE4B,eAAA,CAACd,kBAAI,EAAA;AAACe,YAAAA,YAAY,EAAE,UAAU;AAAAd,YAAAA,QAAA,EAAA,CAC5BF,cAAA,CAACyE,oBAAM,EAAA;AAELlD,cAAAA,UAAU,EAAE7C,SAAS,KAAA,CAAA+B,gBAAA,GAAK1C,KAAK,CAACyD,QAAQ,MAAA,IAAA,IAAAf,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,KAAK,CAAC;cAClDiE,UAAU,EAAE3F,KAAK,KAAK,GAAG;cACzB2D,QAAQ,EAAA,YAAA;gBAAA,IAAAiC,UAAA,GAAAtF,0CAAA,cAAAC,qCAAA,GAAAC,CAAA,CAAE,SAAAqF,QAAAA,CAAOC,QAAiB,EAAA;AAAA,kBAAA,IAAAC,WAAA;AAAA,kBAAA,OAAAxF,qCAAA,EAAA,CAAAG,CAAA,CAAA,UAAAsF,SAAA,EAAA;oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAApF,CAAA;AAAA,sBAAA,KAAA,CAAA;AAC1BmF,wBAAAA,WAAW,GAAGD,QAAQ,GAAG,GAAG,GAAG,GAAG;wBACxC9E,QAAQ,CAAC+E,WAAW,CAAC;AAACC,wBAAAA,SAAA,CAAApF,CAAA,GAAA,CAAA;wBAAA,OAChB1B,aAAa,CAACF,KAAK,CAAC6B,IAAI,EAAE7B,KAAK,CAACM,QAAQ,EAAEyG,WAAW,CAAC;AAAA,sBAAA,KAAA,CAAA;wBAAA,OAAAC,SAAA,CAAAlF,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,kBAAA,CAAA,EAAA+E,QAAA,CAAA;gBAAA,CAC7D,CAAA,CAAA;gBAAA,SAJDlC,QAAQA,CAAAsC,GAAA,EAAA;AAAA,kBAAA,OAAAL,UAAA,CAAA1C,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,OAARQ,QAAQ;cAAA,CAAA,EAIP;cAAAxC,QAAA,EAEAnC,KAAK,CAACmD;eATFnD,KAAK,CAAC6B,IAAI,CAUR,EACR7B,KAAK,CAACsE,WAAW,KAAKC,SAAS,IAAIvE,KAAK,CAACsE,WAAW,GACnDtB,eAAA,CAACwB,sBAAQ,EAAA;AAEPC,cAAAA,IAAI,EAAEpE,OAAO;AACbW,cAAAA,KAAK,EAAE,GAAG;AACVsC,cAAAA,UAAU,EAAE,KAAK;AACjBoB,cAAAA,eAAe,EAAE/D,SAAS;cAC1BgE,QAAQ,EAAA,YAAA;gBAAA,IAAAuC,UAAA,GAAA5F,0CAAA,cAAAC,qCAAA,GAAAC,CAAA,CAAE,SAAA2F,QAAAA,CAAOrC,OAAgB,EAAA;AAAA,kBAAA,OAAAvD,qCAAA,EAAA,CAAAG,CAAA,CAAA,UAAA0F,SAAA,EAAA;oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAxF,CAAA;AAAA,sBAAA,KAAA,CAAA;wBAC/BhB,YAAY,CAACkE,OAAO,CAAC;AAACsC,wBAAAA,SAAA,CAAAxF,CAAA,GAAA,CAAA;AAAA,wBAAA,OAChB1B,aAAa,CAACG,OAAO,EAAEA,OAAO,EAAEyE,OAAO,CAAC;AAAA,sBAAA,KAAA,CAAA;wBAAA,OAAAsC,SAAA,CAAAtF,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,kBAAA,CAAA,EAAAqF,QAAA,CAAA;gBAAA,CAC/C,CAAA,CAAA;gBAAA,SAHDxC,QAAQA,CAAA0C,GAAA,EAAA;AAAA,kBAAA,OAAAH,UAAA,CAAAhD,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,OAARQ,QAAQ;cAAA,CAAA,EAGP;AAAAxC,cAAAA,QAAA,EAAA,CAAA,qCAAA,EAEmCnB,KAAK;AAAA,aAAA,EAVpCX,OAAO,CAWH,GACT,IAAI;AAAA,WAAA,CACH;QAEX,KAAKc,eAAS,CAACmG,KAAK;UAClB,OACErF,cAAA,CAACC,kBAAI,EAAA;AAACe,YAAAA,YAAY,EAAE,UAAU;AAAAd,YAAAA,QAAA,EAC5BF,cAAA,CAACsF,0BAAY,EAAA;cAEXpE,KAAK,EAAEnD,KAAK,CAACmD,KAAK;AAClBnC,cAAAA,KAAK,EAAEA,KAAK;cACZ0C,cAAc,EAAA,CAAAf,sBAAA,GAAE3C,KAAK,CAAC0D,cAAc,MAAA,IAAA,IAAAf,sBAAA,KAAA,MAAA,GAAAA,sBAAA,GAAI;aAAI,EAHvC3C,KAAK,CAAC6B,IAAI;AAIf,WAAA,CACG;QAEX,KAAKV,eAAS,CAACqG,IAAI;QACnB,KAAKrG,eAAS,CAACsG,KAAK;QACpB,KAAKtG,eAAS,CAACuG,QAAQ;QACvB,KAAKvG,eAAS,CAACwG,MAAM;QACrB,KAAKxG,eAAS,CAACyG,GAAG;QAClB,KAAKzG,eAAS,CAAC0G,GAAG;QAClB,KAAK1G,eAAS,CAAC2G,MAAM;AACrB,QAAA;UACE,OACE9E,eAAA,CAACd,kBAAI,EAAA;AAACe,YAAAA,YAAY,EAAE,UAAU;AAAAd,YAAAA,QAAA,EAAA,CAC5BF,cAAA,CAAC8F,uBAAS;cACR7G,IAAI,EAAElB,KAAK,CAACkB,IAAI;cAEhBiC,KAAK,EAAEnD,KAAK,CAACmD,KAAK;AAClB6E,cAAAA,WAAW,EAAE5H,cAAc,GAAGJ,KAAK,CAACmD,KAAK,GAAG,EAAE;cAC9CG,UAAU,EAAA,CAAAV,gBAAA,GAAE5C,KAAK,CAACuD,QAAQ,MAAA,IAAA,IAAAX,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,KAAK;AACnCY,cAAAA,UAAU,EAAE7C,SAAS,KAAA,CAAAkC,gBAAA,GAAK7C,KAAK,CAACyD,QAAQ,MAAA,IAAA,IAAAZ,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,KAAK,CAAC;AAClD5B,cAAAA,YAAY,EAAED,KAAK;cACnB0C,cAAc,EAAA,CAAAZ,sBAAA,GAAE9C,KAAK,CAAC0D,cAAc,MAAA,IAAA,IAAAZ,sBAAA,KAAA,MAAA,GAAAA,sBAAA,GAAI,IAAI;AAC5Cc,cAAAA,KAAK,EAAC,MAAM;cACZe,QAAQ,EAAA,YAAA;gBAAA,IAAAsD,UAAA,GAAA3G,0CAAA,cAAAC,qCAAA,GAAAC,CAAA,CAAE,SAAA0G,QAAAA,CAAOlH,KAAU,EAAA;AAAA,kBAAA,OAAAO,qCAAA,EAAA,CAAAG,CAAA,CAAA,UAAAyG,SAAA,EAAA;oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAvG,CAAA;AAAA,sBAAA,KAAA,CAAA;wBACzBI,QAAQ,CAAChB,KAAK,CAAC;AAACmH,wBAAAA,SAAA,CAAAvG,CAAA,GAAA,CAAA;wBAAA,OACV1B,aAAa,CAACF,KAAK,CAAC6B,IAAI,EAAE7B,KAAK,CAACM,QAAQ,EAAEU,KAAK,CAAC;AAAA,sBAAA,KAAA,CAAA;wBAAA,OAAAmH,SAAA,CAAArG,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,kBAAA,CAAA,EAAAoG,QAAA,CAAA;gBAAA,CACvD,CAAA,CAAA;gBAAA,SAHDvD,QAAQA,CAAAyD,GAAA,EAAA;AAAA,kBAAA,OAAAH,UAAA,CAAA/D,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,OAARQ,QAAQ;AAAA,cAAA,CAAA;AAGP,aAAA,EAXI3E,KAAK,CAAC6B,IAAI,CAYf,EACD7B,KAAK,CAACsE,WAAW,KAAKC,SAAS,IAAIvE,KAAK,CAACsE,WAAW,GACnDtB,gBAACwB,sBAAQ,EAAA;AAEPC,cAAAA,IAAI,EAAEpE,OAAO;AACbW,cAAAA,KAAK,EAAE,GAAG;AACVsC,cAAAA,UAAU,EAAE,KAAK;AACjBoB,cAAAA,eAAe,EAAE/D,SAAS;cAC1BgE,QAAQ,EAAA,YAAA;gBAAA,IAAA0D,UAAA,GAAA/G,0CAAA,cAAAC,qCAAA,GAAAC,CAAA,CAAE,SAAA8G,QAAAA,CAAOxD,OAAgB,EAAA;AAAA,kBAAA,OAAAvD,qCAAA,EAAA,CAAAG,CAAA,CAAA,UAAA6G,SAAA,EAAA;oBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3G,CAAA;AAAA,sBAAA,KAAA,CAAA;wBAC/BhB,YAAY,CAACkE,OAAO,CAAC;AAACyD,wBAAAA,SAAA,CAAA3G,CAAA,GAAA,CAAA;AAAA,wBAAA,OAChB1B,aAAa,CAACG,OAAO,EAAEA,OAAO,EAAEyE,OAAO,CAAC;AAAA,sBAAA,KAAA,CAAA;wBAAA,OAAAyD,SAAA,CAAAzG,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,kBAAA,CAAA,EAAAwG,QAAA,CAAA;gBAAA,CAC/C,CAAA,CAAA;gBAAA,SAHD3D,QAAQA,CAAA6D,GAAA,EAAA;AAAA,kBAAA,OAAAH,UAAA,CAAAnE,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,OAARQ,QAAQ;cAAA,CAAA,EAGP;AAAAxC,cAAAA,QAAA,EAAA,CAAA,qCAAA,EAEmCnB,KAAK;AAAA,aAAA,EAVpCX,OAAO,CAWH,GACT,IAAI;AAAA,WAAA,CACH;AAEb;AACF,IAAA,CAAC;AAAG,GAAA,CACC;AAEX;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/DataForm/FieldBuilder/index.tsx"],"sourcesContent":["/**\n * <license header>\n */\n\nimport React, { useState } from 'react';\nimport {\n Picker,\n Item,\n TextField,\n View,\n Checkbox,\n CheckboxGroup,\n LabeledValue,\n Switch,\n Flex,\n} from '@adobe/react-spectrum';\nimport { FieldBuilderProps } from './types';\nimport { FieldType } from '../FormBuilder/types';\n\nconst FieldBuilder: React.FC<FieldBuilderProps> = ({\n field,\n editItem,\n onFieldChange,\n usePlaceholder = true,\n}) => {\n const envName = field.db_field + '-env';\n\n const [isChecked, setIsChecked] = useState<boolean>(editItem[envName] ?? false);\n const [value, setValue] = useState<any>(() => {\n const initialValue = editItem[field.db_field] ?? field.value;\n const defaultValue = initialValue ?? (field.type === FieldType.TOGGLE ? '0' : null);\n\n // Call onFieldChange for TOGGLE fields with default value\n if (field.type === FieldType.TOGGLE && !initialValue && defaultValue === '0') {\n // Use setTimeout to avoid calling during render\n setTimeout(async () => {\n await onFieldChange(field.code, field.db_field, '0');\n }, 0);\n }\n\n return defaultValue;\n });\n\n return (\n <View>\n {((): React.ReactElement => {\n switch (field.type) {\n case FieldType.SELECT:\n return (\n <View marginBottom={'size-100'}>\n <Picker\n key={field.code}\n label={field.label}\n items={field.options || []}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n contextualHelp={field.contextualHelp ?? null}\n defaultSelectedKey={value}\n width=\"100%\"\n onSelectionChange={async (value: any) => {\n setValue(value);\n await onFieldChange(field.code, field.db_field, value);\n }}\n >\n {item => <Item key={item.value}>{item.label}</Item>}\n </Picker>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.MULTISELECT:\n return (\n <View marginBottom={'size-100'}>\n <CheckboxGroup\n key={field.code}\n label={field.label}\n width={'size-6000'}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n contextualHelp={field.contextualHelp ?? null}\n value={Array.isArray(value) ? value : []}\n onChange={async (selectedValues: string[]) => {\n setValue(selectedValues);\n await onFieldChange(field.code, field.db_field, selectedValues);\n }}\n >\n <View\n borderWidth={'thin'}\n borderColor={'gray-600'}\n borderRadius={'medium'}\n padding={'size-100'}\n backgroundColor={'static-white'}\n >\n <View maxHeight={'size-2400'} overflow={'auto'}>\n {(field.options || []).map((option, index) => (\n <Checkbox\n key={`${field.code}-${index}`}\n width={'100%'}\n value={option.value}\n >\n {option.label}\n </Checkbox>\n ))}\n </View>\n </View>\n </CheckboxGroup>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable:{' '}\n {Array.isArray(value) ? value.join(', ') : value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.TOGGLE:\n return (\n <View marginBottom={'size-100'}>\n <Flex gap=\"size-100\" alignItems=\"start\">\n <Switch\n key={field.code}\n isDisabled={isChecked || (field.disabled ?? false)}\n isSelected={value === '1'}\n onChange={async (selected: boolean) => {\n const toggleValue = selected ? '1' : '0';\n setValue(toggleValue);\n await onFieldChange(field.code, field.db_field, toggleValue);\n }}\n >\n {field.label}\n </Switch>\n {field.contextualHelp ?? null}\n </Flex>\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n case FieldType.LABEL:\n return (\n <View marginBottom={'size-100'}>\n <LabeledValue\n key={field.code}\n label={field.label}\n value={value}\n contextualHelp={field.contextualHelp ?? null}\n />\n </View>\n );\n case FieldType.TEXT:\n case FieldType.EMAIL:\n case FieldType.PASSWORD:\n case FieldType.NUMBER:\n case FieldType.URL:\n case FieldType.TEL:\n case FieldType.SEARCH:\n default:\n return (\n <View marginBottom={'size-100'}>\n <TextField\n type={field.type}\n key={field.code}\n label={field.label}\n placeholder={usePlaceholder ? field.label : ''}\n isRequired={field.required ?? false}\n isDisabled={isChecked || (field.disabled ?? false)}\n defaultValue={value}\n contextualHelp={field.contextualHelp ?? null}\n width=\"100%\"\n onChange={async (value: any) => {\n setValue(value);\n await onFieldChange(field.code, field.db_field, value);\n }}\n />\n {field.use_env_var !== undefined && field.use_env_var ? (\n <Checkbox\n key={envName}\n name={envName}\n value={'1'}\n isRequired={false}\n defaultSelected={isChecked}\n onChange={async (checked: boolean) => {\n setIsChecked(checked);\n await onFieldChange(envName, envName, checked);\n }}\n >\n Use value as environment variable: {value}\n </Checkbox>\n ) : null}\n </View>\n );\n }\n })()}\n </View>\n );\n};\n\nexport default FieldBuilder;\n"],"names":["FieldBuilder","_ref","_editItem$envName","field","editItem","onFieldChange","_ref$usePlaceholder","usePlaceholder","envName","db_field","_useState","useState","_useState2","_slicedToArray","isChecked","setIsChecked","_useState3","_editItem$field$db_fi","initialValue","value","defaultValue","type","FieldType","TOGGLE","setTimeout","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","code","a","_useState4","setValue","_jsx","View","children","_field$required","_field$disabled","_field$contextualHelp","_field$required2","_field$disabled2","_field$contextualHelp2","_field$disabled3","_field$contextualHelp3","_field$contextualHelp4","_field$required3","_field$disabled4","_field$contextualHelp5","SELECT","_jsxs","marginBottom","Picker","label","items","options","isRequired","required","isDisabled","disabled","contextualHelp","defaultSelectedKey","width","onSelectionChange","_onSelectionChange","_callee2","_context2","_x","apply","arguments","item","Item","use_env_var","undefined","Checkbox","name","defaultSelected","onChange","_onChange","_callee3","checked","_context3","_x2","MULTISELECT","CheckboxGroup","Array","isArray","_onChange2","_callee4","selectedValues","_context4","_x3","borderWidth","borderColor","borderRadius","padding","backgroundColor","maxHeight","overflow","map","option","index","concat","_onChange3","_callee5","_context5","_x4","join","Flex","gap","alignItems","Switch","isSelected","_onChange4","_callee6","selected","toggleValue","_context6","_x5","_onChange5","_callee7","_context7","_x6","LABEL","LabeledValue","TEXT","EMAIL","PASSWORD","NUMBER","URL","TEL","SEARCH","TextField","placeholder","_onChange6","_callee8","_context8","_x7","_onChange7","_callee9","_context9","_x8"],"mappings":"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"}