@multiplatform.one/forms 7.6.0 → 7.6.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.
- package/dist/cjs/fields/FileUpload/index.cjs +55 -2
- package/dist/cjs/fields/FileUpload/index.native.js +65 -2
- package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geoValue.cjs +122 -0
- package/dist/cjs/fields/Geolocation/geoValue.native.js +151 -0
- package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -0
- package/dist/cjs/fields/Geolocation/index.cjs +16 -29
- package/dist/cjs/fields/Geolocation/index.native.js +16 -29
- package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/index.mjs +55 -2
- package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
- package/dist/esm/fields/FileUpload/index.native.js +65 -2
- package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/geoValue.mjs +95 -0
- package/dist/esm/fields/Geolocation/geoValue.mjs.map +1 -0
- package/dist/esm/fields/Geolocation/geoValue.native.js +121 -0
- package/dist/esm/fields/Geolocation/geoValue.native.js.map +1 -0
- package/dist/esm/fields/Geolocation/index.mjs +15 -28
- package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
- package/dist/esm/fields/Geolocation/index.native.js +15 -28
- package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
- package/dist/jsx/AdaptivePopup/index.native.js +1 -1
- package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
- package/dist/jsx/Button/index.native.js +1 -1
- package/dist/jsx/Button/index.native.js.map +1 -1
- package/dist/jsx/Chip/index.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/index.native.js +3 -3
- package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
- package/dist/jsx/ControlGroup/index.native.js +1 -1
- package/dist/jsx/ControlGroup/index.native.js.map +1 -1
- package/dist/jsx/DescriptionList/index.native.js +2 -2
- package/dist/jsx/DescriptionList/index.native.js.map +1 -1
- package/dist/jsx/ErrorSummary.native.js.map +1 -1
- package/dist/jsx/FieldDisplay/editMode.native.js.map +1 -1
- package/dist/jsx/FieldDisplay/formatters.native.js.map +1 -1
- package/dist/jsx/FieldDisplay/index.native.js +1 -1
- package/dist/jsx/FieldDisplay/index.native.js.map +1 -1
- package/dist/jsx/FieldGroup.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/jsx/Form/index.native.js +1 -1
- package/dist/jsx/Form/index.native.js.map +1 -1
- package/dist/jsx/Form/validateOn.native.js.map +1 -1
- package/dist/jsx/FormGrid.native.js.map +1 -1
- package/dist/jsx/FormSection.native.js.map +1 -1
- package/dist/jsx/InputParts/index.native.js.map +1 -1
- package/dist/jsx/Label/index.native.js.map +1 -1
- package/dist/jsx/Skeleton/index.native.js.map +1 -1
- package/dist/jsx/Spinner/SpinnerGlyph.native.js.map +1 -1
- package/dist/jsx/Spinner/spinnerSize.native.js.map +1 -1
- package/dist/jsx/Table/index.native.js.map +1 -1
- package/dist/jsx/Wheel/haptic.native.js.map +1 -1
- package/dist/jsx/Wheel/index.native.js.map +1 -1
- package/dist/jsx/actionLabel.native.js.map +1 -1
- package/dist/jsx/fieldDefaults.native.js.map +1 -1
- package/dist/jsx/fieldLayout.native.js +1 -1
- package/dist/jsx/fieldLayout.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +1 -1
- package/dist/jsx/fields/Barcode/code128.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/index.native.js +2 -2
- package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/qr.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.native.js +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/index.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/index.native.js +3 -3
- package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/parts.native.js +2 -2
- package/dist/jsx/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/Combobox/authorOptions.native.js.map +1 -1
- package/dist/jsx/fields/Combobox/index.native.js +5 -5
- package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +2 -2
- package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +3 -3
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/MonthPicker.native.js +2 -2
- package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +2 -2
- package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/fieldValueSync.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/index.native.js +2 -2
- package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/parts.native.js +2 -2
- package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/utils.native.js.map +1 -1
- package/dist/jsx/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/jsx/fields/Duration/index.native.js +3 -3
- package/dist/jsx/fields/Duration/index.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/filePickerTypes.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/index.mjs +55 -2
- package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
- package/dist/jsx/fields/FileUpload/index.native.js +67 -4
- package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/geoValue.mjs +95 -0
- package/dist/jsx/fields/Geolocation/geoValue.mjs.map +1 -0
- package/dist/jsx/fields/Geolocation/geoValue.native.js +151 -0
- package/dist/jsx/fields/Geolocation/geoValue.native.js.map +1 -0
- package/dist/jsx/fields/Geolocation/index.mjs +15 -28
- package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
- package/dist/jsx/fields/Geolocation/index.native.js +21 -34
- package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/mapMath.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/mapTypes.native.js.map +1 -1
- package/dist/jsx/fields/Icon/drawnSet.native.js.map +1 -1
- package/dist/jsx/fields/Icon/index.native.js +3 -3
- package/dist/jsx/fields/Icon/index.native.js.map +1 -1
- package/dist/jsx/fields/ImageField/index.native.js +2 -2
- package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
- package/dist/jsx/fields/Input/index.native.js +2 -2
- package/dist/jsx/fields/Input/index.native.js.map +1 -1
- package/dist/jsx/fields/MentionInput/index.native.js +3 -3
- package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
- package/dist/jsx/fields/OTPInput/index.native.js +3 -3
- package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
- package/dist/jsx/fields/OTPInput/otpCellCss.native.js.map +1 -1
- package/dist/jsx/fields/PhoneInput/dialCodes.native.js.map +1 -1
- package/dist/jsx/fields/PhoneInput/index.native.js +3 -3
- package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/jsx/fields/PhoneInput/phone.native.js.map +1 -1
- package/dist/jsx/fields/Progress/index.native.js +1 -1
- package/dist/jsx/fields/Progress/index.native.js.map +1 -1
- package/dist/jsx/fields/RadioGroup/index.native.js +1 -1
- package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/jsx/fields/Rating/index.native.js +1 -1
- package/dist/jsx/fields/Rating/index.native.js.map +1 -1
- package/dist/jsx/fields/Rating/ratingMath.native.js.map +1 -1
- package/dist/jsx/fields/Rating/types.native.js.map +1 -1
- package/dist/jsx/fields/SearchInput/index.native.js +2 -2
- package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
- package/dist/jsx/fields/Select/index.native.js +4 -4
- package/dist/jsx/fields/Select/index.native.js.map +1 -1
- package/dist/jsx/fields/Signature/index.native.js +2 -2
- package/dist/jsx/fields/Signature/index.native.js.map +1 -1
- package/dist/jsx/fields/Slider/index.native.js +1 -1
- package/dist/jsx/fields/Slider/index.native.js.map +1 -1
- package/dist/jsx/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/jsx/fields/Stepper/index.native.js +2 -2
- package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
- package/dist/jsx/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
- package/dist/jsx/fields/Switch/index.native.js +2 -2
- package/dist/jsx/fields/Switch/index.native.js.map +1 -1
- package/dist/jsx/fields/TextArea/index.native.js +2 -2
- package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/index.native.js +3 -3
- package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/parts.native.js +1 -1
- package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
- package/dist/jsx/fields/TimeRangeScrubber/index.native.js +2 -2
- package/dist/jsx/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/jsx/fields/ToggleGroup/index.native.js +1 -1
- package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/jsx/fields/selectedOrder.native.js.map +1 -1
- package/dist/jsx/formSpacing.native.js.map +1 -1
- package/dist/jsx/hooks/useFocusManagement.native.js.map +1 -1
- package/dist/jsx/index.native.js +43 -43
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/requiredMarking.native.js.map +1 -1
- package/dist/jsx/shared/TimeColumn.native.js +1 -1
- package/dist/jsx/shared/TimeColumn.native.js.map +1 -1
- package/dist/jsx/shared/capabilityPreflight.native.js.map +1 -1
- package/dist/jsx/shared/colorRamps.native.js.map +1 -1
- package/dist/jsx/shared/devWarn.native.js.map +1 -1
- package/dist/jsx/shared/floatingList.native.js +1 -1
- package/dist/jsx/shared/floatingList.native.js.map +1 -1
- package/dist/jsx/shared/focusManagement.native.js.map +1 -1
- package/dist/jsx/shared/groupContext.native.js.map +1 -1
- package/dist/jsx/shared/i18n.native.js.map +1 -1
- package/dist/jsx/shared/t.native.js.map +1 -1
- package/dist/jsx/shared/tableCellContext.native.js.map +1 -1
- package/dist/jsx/shared/useDragScroll.native.js.map +1 -1
- package/dist/jsx/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/jsx/shared/useSheetEscapeDismiss.native.js.map +1 -1
- package/dist/jsx/shared/useWheelIncrement.native.js.map +1 -1
- package/dist/jsx/shared/utils.native.js +1 -1
- package/dist/jsx/shared/utils.native.js.map +1 -1
- package/dist/jsx/shared/zIndex.native.js.map +1 -1
- package/dist/jsx/themedPrimitives.native.js.map +1 -1
- package/dist/jsx/types.native.js.map +1 -1
- package/dist/jsx/utils/LinkCell.native.js.map +1 -1
- package/package.json +7 -7
- package/src/Button/Button.stories.tsx +90 -1
- package/src/fields/Barcode/BarcodePreview.spec.tsx +14 -0
- package/src/fields/Barcode/BarcodePreview.stories.tsx +104 -0
- package/src/fields/ColorPicker/PresetSwatches.spec.tsx +71 -0
- package/src/fields/ColorPicker/PresetSwatches.stories.tsx +94 -0
- package/src/fields/FileUpload/FileUpload.spec.tsx +43 -0
- package/src/fields/FileUpload/index.tsx +74 -2
- package/src/fields/Geolocation/Geolocation.spec.tsx +126 -0
- package/src/fields/Geolocation/geoValue.spec.ts +169 -0
- package/src/fields/Geolocation/geoValue.ts +149 -0
- package/src/fields/Geolocation/index.tsx +15 -24
- package/types/fields/FileUpload/index.d.ts.map +1 -1
- package/types/fields/Geolocation/geoValue.d.ts +45 -0
- package/types/fields/Geolocation/geoValue.d.ts.map +1 -0
- package/types/fields/Geolocation/index.d.ts.map +1 -1
|
@@ -96,6 +96,10 @@ const UploadFileListFrame = (0, import_tamagui2.styled)(import_tamagui2.YStack,
|
|
|
96
96
|
borderStyle: "dashed",
|
|
97
97
|
borderTopColor: import_colorRamps.formDropzoneColors.border
|
|
98
98
|
});
|
|
99
|
+
const UploadTileGridFrame = (0, import_tamagui2.styled)(import_tamagui2.XStack, {
|
|
100
|
+
width: "100%",
|
|
101
|
+
flexWrap: "wrap"
|
|
102
|
+
});
|
|
99
103
|
function FileUpload(props) {
|
|
100
104
|
const {
|
|
101
105
|
defaultValue,
|
|
@@ -146,6 +150,8 @@ function FileUpload(props) {
|
|
|
146
150
|
const cappedRadius = (0, import_utils.clampRadiusForLargeComponent)(knobProps.borderRadius.borderRadius);
|
|
147
151
|
const rowMediaPx = knobProps.nestedControl.px;
|
|
148
152
|
const rowGlyphSize = knobProps.controlIcon.width;
|
|
153
|
+
const tilePx = (0, import_utils.getFieldHeight)(knobProps.sizeToken, 2);
|
|
154
|
+
const tileRemoveInset = -Math.round(knobProps.nestedControl.px / 4);
|
|
149
155
|
const [selectedFiles, setSelectedFiles] = (0, import_react2.useState)([]);
|
|
150
156
|
const [transfers, setTransfers] = (0, import_react2.useState)([]);
|
|
151
157
|
const [isDragOver, setIsDragOver] = (0, import_react2.useState)(false);
|
|
@@ -534,6 +540,29 @@ function FileUpload(props) {
|
|
|
534
540
|
}), extra]
|
|
535
541
|
})]
|
|
536
542
|
});
|
|
543
|
+
const renderImageTile = (file, preview, onValueChange) => /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {
|
|
544
|
+
"data-file-upload": "tile",
|
|
545
|
+
position: "relative",
|
|
546
|
+
width: tilePx,
|
|
547
|
+
height: tilePx,
|
|
548
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui2.Image, {
|
|
549
|
+
borderRadius: cappedRadius,
|
|
550
|
+
src: preview,
|
|
551
|
+
alt: file.name,
|
|
552
|
+
width: tilePx,
|
|
553
|
+
height: tilePx,
|
|
554
|
+
objectFit: "cover"
|
|
555
|
+
}), canInteract ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui2.YStack, {
|
|
556
|
+
"data-file-upload": "tile-remove",
|
|
557
|
+
position: "absolute",
|
|
558
|
+
top: tileRemoveInset,
|
|
559
|
+
right: tileRemoveInset,
|
|
560
|
+
zIndex: 1,
|
|
561
|
+
children: renderRemoveDisc((0, import_t.t)("Remove {{name}}", {
|
|
562
|
+
name: file.name
|
|
563
|
+
}), () => handleFileRemove(file, onValueChange))
|
|
564
|
+
}) : null]
|
|
565
|
+
}, `${file.name}-${file.size}-${file.lastModified}`);
|
|
537
566
|
const renderUploadArea = (errorProp, onValueChange, onBlurHandler) => {
|
|
538
567
|
emitFieldRef.current = onValueChange;
|
|
539
568
|
const requestFiles = import_tamagui2.isWeb ? openFileDialog : () => {
|
|
@@ -563,6 +592,19 @@ function FileUpload(props) {
|
|
|
563
592
|
} : {
|
|
564
593
|
cursor: disabled ? "not-allowed" : void 0
|
|
565
594
|
};
|
|
595
|
+
const imageTiles = [];
|
|
596
|
+
const fileRows = [];
|
|
597
|
+
selectedFiles.forEach((file, index) => {
|
|
598
|
+
const preview = showPreview ? getFilePreview(file) : null;
|
|
599
|
+
if (preview) imageTiles.push({
|
|
600
|
+
file,
|
|
601
|
+
preview
|
|
602
|
+
});else fileRows.push({
|
|
603
|
+
file,
|
|
604
|
+
preview,
|
|
605
|
+
index
|
|
606
|
+
});
|
|
607
|
+
});
|
|
566
608
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(UploadAreaFrame, {
|
|
567
609
|
id,
|
|
568
610
|
ref: bindZoneNode,
|
|
@@ -672,8 +714,19 @@ function FileUpload(props) {
|
|
|
672
714
|
}), hasRows && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(UploadFileListFrame, {
|
|
673
715
|
"data-file-upload": "files",
|
|
674
716
|
borderTopWidth: knobProps.borderRadius.borderWidth ?? 1,
|
|
675
|
-
children: [
|
|
676
|
-
|
|
717
|
+
children: [imageTiles.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(UploadTileGridFrame, {
|
|
718
|
+
"data-file-upload": "tiles",
|
|
719
|
+
...knobProps.gap,
|
|
720
|
+
...knobProps.panelPadding,
|
|
721
|
+
children: imageTiles.map(({
|
|
722
|
+
file,
|
|
723
|
+
preview
|
|
724
|
+
}) => renderImageTile(file, preview, onValueChange))
|
|
725
|
+
}) : null, fileRows.map(({
|
|
726
|
+
file,
|
|
727
|
+
preview,
|
|
728
|
+
index
|
|
729
|
+
}) => {
|
|
677
730
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {
|
|
678
731
|
width: "100%",
|
|
679
732
|
...knobProps.gap,
|
|
@@ -107,6 +107,10 @@ var UploadFileListFrame = (0, import_tamagui2.styled)(import_tamagui2.YStack, {
|
|
|
107
107
|
borderStyle: "dashed",
|
|
108
108
|
borderTopColor: import_colorRamps.formDropzoneColors.border
|
|
109
109
|
});
|
|
110
|
+
var UploadTileGridFrame = (0, import_tamagui2.styled)(import_tamagui2.XStack, {
|
|
111
|
+
width: "100%",
|
|
112
|
+
flexWrap: "wrap"
|
|
113
|
+
});
|
|
110
114
|
function FileUpload(props) {
|
|
111
115
|
var {
|
|
112
116
|
defaultValue,
|
|
@@ -157,6 +161,8 @@ function FileUpload(props) {
|
|
|
157
161
|
var cappedRadius = (0, import_utils.clampRadiusForLargeComponent)(knobProps.borderRadius.borderRadius);
|
|
158
162
|
var rowMediaPx = knobProps.nestedControl.px;
|
|
159
163
|
var rowGlyphSize = knobProps.controlIcon.width;
|
|
164
|
+
var tilePx = (0, import_utils.getFieldHeight)(knobProps.sizeToken, 2);
|
|
165
|
+
var tileRemoveInset = -Math.round(knobProps.nestedControl.px / 4);
|
|
160
166
|
var [selectedFiles, setSelectedFiles] = (0, import_react2.useState)([]);
|
|
161
167
|
var [transfers, setTransfers] = (0, import_react2.useState)([]);
|
|
162
168
|
var [isDragOver, setIsDragOver] = (0, import_react2.useState)(false);
|
|
@@ -621,6 +627,35 @@ function FileUpload(props) {
|
|
|
621
627
|
})]
|
|
622
628
|
});
|
|
623
629
|
};
|
|
630
|
+
var renderImageTile = function renderImageTile2(file, preview, onValueChange) {
|
|
631
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {
|
|
632
|
+
"data-file-upload": "tile",
|
|
633
|
+
position: "relative",
|
|
634
|
+
width: tilePx,
|
|
635
|
+
height: tilePx,
|
|
636
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui2.Image, {
|
|
637
|
+
borderRadius: cappedRadius,
|
|
638
|
+
// src (string), not source: the RN source object leaks
|
|
639
|
+
// onto the DOM <img> as source="[object Object]" on web
|
|
640
|
+
src: preview,
|
|
641
|
+
alt: file.name,
|
|
642
|
+
width: tilePx,
|
|
643
|
+
height: tilePx,
|
|
644
|
+
objectFit: "cover"
|
|
645
|
+
}), canInteract ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui2.YStack, {
|
|
646
|
+
"data-file-upload": "tile-remove",
|
|
647
|
+
position: "absolute",
|
|
648
|
+
top: tileRemoveInset,
|
|
649
|
+
right: tileRemoveInset,
|
|
650
|
+
zIndex: 1,
|
|
651
|
+
children: renderRemoveDisc((0, import_t.t)("Remove {{name}}", {
|
|
652
|
+
name: file.name
|
|
653
|
+
}), function () {
|
|
654
|
+
return handleFileRemove(file, onValueChange);
|
|
655
|
+
})
|
|
656
|
+
}) : null]
|
|
657
|
+
}, `${file.name}-${file.size}-${file.lastModified}`);
|
|
658
|
+
};
|
|
624
659
|
var renderUploadArea = function renderUploadArea2(errorProp, onValueChange, onBlurHandler) {
|
|
625
660
|
var _knobProps_borderRadius_borderWidth, _knobProps_borderRadius_borderWidth1, _knobProps_borderRadius_borderWidth2;
|
|
626
661
|
emitFieldRef.current = onValueChange;
|
|
@@ -651,6 +686,19 @@ function FileUpload(props) {
|
|
|
651
686
|
} : {
|
|
652
687
|
cursor: disabled ? "not-allowed" : void 0
|
|
653
688
|
};
|
|
689
|
+
var imageTiles = [];
|
|
690
|
+
var fileRows = [];
|
|
691
|
+
selectedFiles.forEach(function (file, index) {
|
|
692
|
+
var preview = showPreview ? getFilePreview(file) : null;
|
|
693
|
+
if (preview) imageTiles.push({
|
|
694
|
+
file,
|
|
695
|
+
preview
|
|
696
|
+
});else fileRows.push({
|
|
697
|
+
file,
|
|
698
|
+
preview,
|
|
699
|
+
index
|
|
700
|
+
});
|
|
701
|
+
});
|
|
654
702
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(UploadAreaFrame, {
|
|
655
703
|
// The dropzone is this field's control: it carries the FieldLayout id
|
|
656
704
|
// so the rendered `<label htmlFor>` resolves (family pattern — see
|
|
@@ -789,8 +837,23 @@ function FileUpload(props) {
|
|
|
789
837
|
"data-file-upload": "files",
|
|
790
838
|
// The hairline tracks the frame edge's knob width — one dash voice.
|
|
791
839
|
borderTopWidth: (_knobProps_borderRadius_borderWidth2 = knobProps.borderRadius.borderWidth) !== null && _knobProps_borderRadius_borderWidth2 !== void 0 ? _knobProps_borderRadius_borderWidth2 : 1,
|
|
792
|
-
children: [
|
|
793
|
-
|
|
840
|
+
children: [imageTiles.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(UploadTileGridFrame, {
|
|
841
|
+
"data-file-upload": "tiles",
|
|
842
|
+
...knobProps.gap,
|
|
843
|
+
...knobProps.panelPadding,
|
|
844
|
+
children: imageTiles.map(function (param) {
|
|
845
|
+
var {
|
|
846
|
+
file,
|
|
847
|
+
preview
|
|
848
|
+
} = param;
|
|
849
|
+
return renderImageTile(file, preview, onValueChange);
|
|
850
|
+
})
|
|
851
|
+
}) : null, fileRows.map(function (param) {
|
|
852
|
+
var {
|
|
853
|
+
file,
|
|
854
|
+
preview,
|
|
855
|
+
index
|
|
856
|
+
} = param;
|
|
794
857
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {
|
|
795
858
|
width: "100%",
|
|
796
859
|
...knobProps.gap,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","FileUpload_exports","FileUpload","module","exports","import_jsx_runtime","require","import_react","import_react2","import_tamagui","import_tamagui2","import_Button","import_fieldLayout","import_Skeleton","import_utils","import_theme","import_colorRamps","import_t","import_nativeFilePicker","_instanceof","left","right","Symbol","hasInstance","UploadAreaFrame","styled","YStack","width","position","overflow","borderStyle","backgroundColor","borderColor","formDropzoneColors","border","outlineWidth","outlineStyle","focusStyle","focusVisibleStyle","withZoneFocusRing","ring","ensureFocusVisibleRing","outlineOffset","DropOverlayFrame","top","bottom","alignItems","justifyContent","pointerEvents","zIndex","formInputColors","background","focus","UploadFileListFrame","borderTopWidth","borderTopColor","props","defaultValue","form","accept","maxSize","multiple","dragDrop","showPreview","placeholder","isWeb","t","buttonText","onFileSelect","onFileRemove","onUpload","onChange","onChangeProp","onValueChange","onValueChangeProp","pickerMode","mode","preserveValue","validators","disabled","readOnly","skeleton","compact","actions","id","idProp","fieldProps","useProps","resolvedForm","knobProps","disabledState","useFormField","ensureKeyboardModalityTracking","kbZoneFocus","setKbZoneFocus","useState","emitChange","useCallback","nextValue","resolvedValidators","useResolvedValidators","required","label","cappedRadius","clampRadiusForLargeComponent","borderRadius","rowMediaPx","nestedControl","px","rowGlyphSize","controlIcon","selectedFiles","setSelectedFiles","transfers","setTransfers","isDragOver","setIsDragOver","validationError","setValidationError","fileInputRef","useRef","zoneCleanupRef","lastZoneInputWasKeyboardRef","previewUrlsRef","Map","transferSeqRef","transfersRef","onUploadRef","current","emitFieldRef","multipleRef","setTransfersAndRef","updater","prev","next","useEffect","onKey","onKey2","onPointer","onPointer2","document","addEventListener","_zoneCleanupRef_current","removeEventListener","forEach","url","URL","revokeObjectURL","clear","item","controller","abort","formatFileSize","bytes","k","sizes","i","Math","floor","log","Number","parseFloat","pow","toFixed","validateFile","file","size","acceptedTypes","split","map","type","trim","isAccepted","some","startsWith","toLowerCase","endsWith","match","replace","types","syncFieldValue","nextFiles","_nextFiles_","runTransfer","id2","upload","onProgress","percent","n","min","max","round","progress","signal","aborted","filter","err","DOMException","problem","Error","message","status","error","action","cta","startTransfer","item2","AbortController","handleCancelTransfer","find","row","handleRetryTransfer","handleRemoveTransfer","previewUrl","delete","handleFileSelect","files","rawFileList","fileArray","Array","isArray","validFiles","errors","push","length","join","slice","handleFileRemove","fileToRemove","dragDepthRef","handleDragEnter","e","preventDefault","handleDragOver","handleDragLeave","handleDrop","dataTransfer","openFileDialog","_fileInputRef_current","click","nativePickInFlightRef","openNativePicker","onBlurHandler","outcome","pickFilesNatively","unavailable","denied","canceled","isInteractiveChild","currentTarget","closest","interactive","handleZoneClick","handleZoneKeyDown","_e_preventDefault","paintZoneRing","wasKeyboardFocus","bindZoneNode","node","onFocus","onFocus2","onBlur","onBlur2","handleZoneFocus","handleZoneBlur","getFilePreview","_file_type","uri","existingUrl","nextUrl","createObjectURL","set","minHeightPx","getFieldHeight","sizeToken","jsx","FieldLayout","children","Skeleton","variant","height","canInteract","hasRows","renderRemoveDisc","renderRemoveDisc2","ariaLabel","onPress","Button","nested","circular","icon","XIcon","removeDisc","base","color","ink","hoverStyle","hover","pressStyle","press","onPress1","stopPropagation","renderFileMeta","renderFileMeta2","preview","extra","jsxs","XStack","flex","gap","Image","src","alt","objectFit","FileIcon","Text","numberOfLines","body","formCommonColors","text","fontWeight","renderUploadArea","renderUploadArea2","errorProp","_knobProps_borderRadius_borderWidth","_knobProps_borderRadius_borderWidth1","_knobProps_borderRadius_borderWidth2","requestFiles","zoneInteractionProps","role","tabIndex","cursor","onClick","onKeyDown","onDragEnter","onDragOver","onDragLeave","onDrop","ref","outlined","surfaceKnobProps","borderWidth","elevation","transition","minHeight","panelPadding","UploadIcon","textAlign","flexGrow","muted","style","display","index","_failed_cta","isUploading","failed","Fragment","track","fill","_fieldProps_error","standaloneError","labelProps","helperText","Field","field","_getFieldError","getFieldError","handleChange","mergeFieldHandler"],"sources":["index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FileUpload_exports = {};\n__export(FileUpload_exports, {\n FileUpload: () => FileUpload\n});\nmodule.exports = __toCommonJS(FileUpload_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_react2 = require(\"react\");\nvar import_tamagui = require(\"tamagui\");\nvar import_tamagui2 = require(\"tamagui\");\nvar import_Button = require(\"../../Button\");\nvar import_fieldLayout = require(\"../../fieldLayout\");\nvar import_Skeleton = require(\"../../Skeleton\");\nvar import_utils = require(\"../../shared/utils\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_colorRamps = require(\"../../shared/colorRamps\");\nvar import_t = require(\"../../shared/t\");\nvar import_nativeFilePicker = require(\"./nativeFilePicker\");\nfunction _instanceof(left, right) {\n \"@swc/helpers - instanceof\";\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nvar UploadAreaFrame = (0, import_tamagui2.styled)(import_tamagui2.YStack, {\n width: \"100%\",\n position: \"relative\",\n overflow: \"hidden\",\n borderStyle: \"dashed\",\n // BENTO-DERIVED (bento-pickers-measured.md §2/§4, MPO-57): the zone ground\n // is TRANSPARENT — the page shows through and the dashed edge is the whole\n // control. Only the LC-40 disabled wash paints the ground at rest; the\n // hover/drag $color4 flood is a held mpo state, not a ground.\n backgroundColor: \"transparent\",\n // The dash is the legible $color9 step (boards media-01..04: 1px dashed\n // rgb(77,77,77) light / rgb(133,133,133) dark) — formInputColors.border.base\n // ($borderColor) measured near-invisible as a dashed edge.\n borderColor: import_colorRamps.formDropzoneColors.border,\n // LC-71: kill UA :focus-visible on the dropzone. House ring is painted\n // only on keyboard-origin focus via wasKeyboardFocus() below — never the\n // 1px browser outline (forms-fileupload--standalone audit Cluster C).\n outlineWidth: 0,\n outlineStyle: \"none\",\n focusStyle: {\n outlineWidth: 0,\n outlineStyle: \"none\"\n },\n focusVisibleStyle: {\n outlineWidth: 0,\n outlineStyle: \"none\"\n }\n});\nfunction withZoneFocusRing() {\n var ring = (0, import_theme.ensureFocusVisibleRing)({\n outlineOffset: 0\n });\n return {\n ...ring,\n focusStyle: ring,\n focusVisibleStyle: ring\n };\n}\nvar DropOverlayFrame = (0, import_tamagui2.styled)(import_tamagui2.YStack, {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n alignItems: \"center\",\n justifyContent: \"center\",\n pointerEvents: \"none\",\n zIndex: 2,\n backgroundColor: import_colorRamps.formInputColors.background.focus,\n borderStyle: \"solid\",\n borderColor: import_colorRamps.formInputColors.border.focus\n});\nvar UploadFileListFrame = (0, import_tamagui2.styled)(import_tamagui2.YStack, {\n width: \"100%\",\n borderTopWidth: 1,\n borderStyle: \"dashed\",\n borderTopColor: import_colorRamps.formDropzoneColors.border\n});\nfunction FileUpload(props) {\n var {\n defaultValue,\n form,\n accept,\n maxSize,\n multiple = false,\n dragDrop = true,\n showPreview = true,\n // Bento caption on web; native has nothing to drag so the same slot is the tap hint.\n placeholder = import_tamagui2.isWeb ? (0, import_t.t)(\"Drag a file into this area\") : (0, import_t.t)(\"or tap to browse\"),\n buttonText = (0, import_t.t)(\"Choose File\"),\n onFileSelect,\n onFileRemove,\n onUpload,\n onChange: onChangeProp,\n onValueChange: onValueChangeProp,\n pickerMode = \"auto\",\n mode,\n name,\n preserveValue,\n validators,\n disabled,\n readOnly,\n skeleton,\n compact,\n actions,\n id: idProp,\n ...fieldProps\n } = (0, import_tamagui.useProps)(props);\n var { resolvedForm, knobProps, disabledState, id } = (0, import_utils.useFormField)({\n form,\n id: idProp,\n compact\n });\n if (import_tamagui2.isWeb) (0, import_theme.ensureKeyboardModalityTracking)();\n var [kbZoneFocus, setKbZoneFocus] = (0, import_react2.useState)(false);\n var emitChange = (0, import_react2.useCallback)(function(nextValue) {\n onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(nextValue);\n onValueChangeProp === null || onValueChangeProp === void 0 ? void 0 : onValueChangeProp(nextValue);\n }, [\n onChangeProp,\n onValueChangeProp\n ]);\n var resolvedValidators = (0, import_utils.useResolvedValidators)(fieldProps.required, validators, fieldProps.label, name);\n var cappedRadius = (0, import_utils.clampRadiusForLargeComponent)(knobProps.borderRadius.borderRadius);\n var rowMediaPx = knobProps.nestedControl.px;\n var rowGlyphSize = knobProps.controlIcon.width;\n var [selectedFiles, setSelectedFiles] = (0, import_react2.useState)([]);\n var [transfers, setTransfers] = (0, import_react2.useState)([]);\n var [isDragOver, setIsDragOver] = (0, import_react2.useState)(false);\n var [validationError, setValidationError] = (0, import_react2.useState)();\n var fileInputRef = (0, import_react2.useRef)(null);\n var zoneCleanupRef = (0, import_react2.useRef)(null);\n var lastZoneInputWasKeyboardRef = (0, import_react2.useRef)(false);\n var previewUrlsRef = (0, import_react2.useRef)(/* @__PURE__ */ new Map());\n var transferSeqRef = (0, import_react2.useRef)(0);\n var transfersRef = (0, import_react2.useRef)([]);\n var onUploadRef = (0, import_react2.useRef)(onUpload);\n onUploadRef.current = onUpload;\n var emitFieldRef = (0, import_react2.useRef)(void 0);\n var multipleRef = (0, import_react2.useRef)(multiple);\n multipleRef.current = multiple;\n var setTransfersAndRef = (0, import_react2.useCallback)(function(updater) {\n setTransfers(function(prev) {\n var next = updater(prev);\n transfersRef.current = next;\n return next;\n });\n }, []);\n (0, import_react2.useEffect)(function() {\n if (!import_tamagui2.isWeb) return;\n (0, import_theme.ensureKeyboardModalityTracking)();\n var onKey = function onKey2() {\n lastZoneInputWasKeyboardRef.current = true;\n };\n var onPointer = function onPointer2() {\n lastZoneInputWasKeyboardRef.current = false;\n };\n document.addEventListener(\"keydown\", onKey, true);\n document.addEventListener(\"pointerdown\", onPointer, true);\n return function() {\n var _zoneCleanupRef_current;\n document.removeEventListener(\"keydown\", onKey, true);\n document.removeEventListener(\"pointerdown\", onPointer, true);\n previewUrlsRef.current.forEach(function(url) {\n return URL.revokeObjectURL(url);\n });\n previewUrlsRef.current.clear();\n transfersRef.current.forEach(function(item) {\n return item.controller.abort();\n });\n (_zoneCleanupRef_current = zoneCleanupRef.current) === null || _zoneCleanupRef_current === void 0 ? void 0 : _zoneCleanupRef_current.call(zoneCleanupRef);\n zoneCleanupRef.current = null;\n };\n }, []);\n var formatFileSize = (0, import_react2.useCallback)(function(bytes) {\n if (bytes === 0) return (0, import_t.t)(\"0 Bytes\");\n var k = 1024;\n var sizes = [\n \"Bytes\",\n \"KB\",\n \"MB\",\n \"GB\"\n ];\n var i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${Number.parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${(0, import_t.t)(sizes[i])}`;\n }, []);\n var validateFile = (0, import_react2.useCallback)(function(file) {\n if (maxSize && file.size > maxSize) {\n return (0, import_t.t)(\"File size must be less than {{size}}\", {\n size: formatFileSize(maxSize)\n });\n }\n if (accept) {\n var acceptedTypes = accept.split(\",\").map(function(type) {\n return type.trim();\n });\n var isAccepted = acceptedTypes.some(function(type) {\n if (type.startsWith(\".\")) {\n return file.name.toLowerCase().endsWith(type.toLowerCase());\n }\n return file.type.match(type.replace(\"*\", \".*\"));\n });\n if (!isAccepted) {\n return (0, import_t.t)(\"File type not accepted. Accepted types: {{types}}\", {\n types: accept\n });\n }\n }\n return null;\n }, [\n maxSize,\n accept,\n formatFileSize\n ]);\n var syncFieldValue = (0, import_react2.useCallback)(function(nextFiles, onValueChange) {\n var _nextFiles_;\n if (!onValueChange) return;\n if (multiple) {\n onValueChange(nextFiles);\n return;\n }\n onValueChange((_nextFiles_ = nextFiles[0]) !== null && _nextFiles_ !== void 0 ? _nextFiles_ : null);\n }, [\n multiple\n ]);\n var runTransfer = (0, import_react2.useCallback)(async function(id2, file, controller) {\n var upload = onUploadRef.current;\n if (!upload) return;\n try {\n await upload(file, {\n onProgress: function onProgress(percent) {\n var n = Math.min(100, Math.max(0, Math.round(Number(percent) || 0)));\n setTransfersAndRef(function(prev) {\n return prev.map(function(item) {\n return item.id === id2 ? {\n ...item,\n progress: n\n } : item;\n });\n });\n },\n signal: controller.signal\n });\n if (controller.signal.aborted) return;\n setTransfersAndRef(function(prev) {\n return prev.filter(function(item) {\n return item.id !== id2;\n });\n });\n setSelectedFiles(function(prev) {\n var nextFiles = multipleRef.current ? [\n ...prev,\n file\n ] : [\n file\n ];\n syncFieldValue(nextFiles, emitFieldRef.current);\n return nextFiles;\n });\n } catch (err) {\n if (controller.signal.aborted || _instanceof(err, DOMException) && err.name === \"AbortError\") {\n setTransfersAndRef(function(prev) {\n return prev.filter(function(item) {\n return item.id !== id2;\n });\n });\n return;\n }\n var problem = _instanceof(err, Error) && err.message ? err.message : (0, import_t.t)(\"Upload failed\");\n setTransfersAndRef(function(prev) {\n return prev.map(function(item) {\n return item.id === id2 ? {\n ...item,\n status: \"failed\",\n error: {\n problem,\n action: (0, import_t.t)(\"Try again or remove the file\"),\n cta: (0, import_t.t)(\"Retry\")\n }\n } : item;\n });\n });\n }\n }, [\n setTransfersAndRef,\n syncFieldValue\n ]);\n var startTransfer = (0, import_react2.useCallback)(function(file) {\n if (!multipleRef.current) {\n transfersRef.current.forEach(function(item2) {\n return item2.controller.abort();\n });\n setTransfersAndRef(function() {\n return [];\n });\n }\n var id2 = `xfer-${++transferSeqRef.current}`;\n var controller = new AbortController();\n var item = {\n id: id2,\n file,\n status: \"uploading\",\n progress: 0,\n controller\n };\n setTransfersAndRef(function(prev) {\n return [\n ...prev,\n item\n ];\n });\n void runTransfer(id2, file, controller);\n }, [\n runTransfer,\n setTransfersAndRef\n ]);\n var handleCancelTransfer = (0, import_react2.useCallback)(function(id2) {\n var item = transfersRef.current.find(function(row) {\n return row.id === id2;\n });\n item === null || item === void 0 ? void 0 : item.controller.abort();\n setTransfersAndRef(function(prev) {\n return prev.filter(function(row) {\n return row.id !== id2;\n });\n });\n }, [\n setTransfersAndRef\n ]);\n var handleRetryTransfer = (0, import_react2.useCallback)(function(id2) {\n var item = transfersRef.current.find(function(row) {\n return row.id === id2;\n });\n if (!item) return;\n item.controller.abort();\n var controller = new AbortController();\n setTransfersAndRef(function(prev) {\n return prev.map(function(row) {\n return row.id === id2 ? {\n ...row,\n status: \"uploading\",\n progress: 0,\n error: void 0,\n controller\n } : row;\n });\n });\n void runTransfer(id2, item.file, controller);\n }, [\n runTransfer,\n setTransfersAndRef\n ]);\n var handleRemoveTransfer = (0, import_react2.useCallback)(function(id2) {\n var item = transfersRef.current.find(function(row) {\n return row.id === id2;\n });\n item === null || item === void 0 ? void 0 : item.controller.abort();\n if (import_tamagui2.isWeb && item) {\n var previewUrl = previewUrlsRef.current.get(item.file);\n if (previewUrl) {\n URL.revokeObjectURL(previewUrl);\n previewUrlsRef.current.delete(item.file);\n }\n }\n setTransfersAndRef(function(prev) {\n return prev.filter(function(row) {\n return row.id !== id2;\n });\n });\n }, [\n setTransfersAndRef\n ]);\n var handleFileSelect = (0, import_react2.useCallback)(function(files, onValueChange, rawFileList) {\n if (!files) return;\n var fileArray = Array.isArray(files) ? files : Array.from(files);\n var validFiles = [];\n var errors = [];\n fileArray.forEach(function(file) {\n var error = validateFile(file);\n if (error) {\n errors.push(`${file.name}: ${error}`);\n } else {\n validFiles.push(file);\n }\n });\n setValidationError(errors.length > 0 ? errors.join(\"\\n\") : void 0);\n if (validFiles.length > 0) {\n emitFieldRef.current = onValueChange;\n if (onUploadRef.current) {\n validFiles.forEach(function(file) {\n return startTransfer(file);\n });\n } else {\n setSelectedFiles(function(prev) {\n var nextFiles = multiple ? [\n ...prev,\n ...validFiles\n ] : validFiles.slice(0, 1);\n syncFieldValue(nextFiles, onValueChange);\n return nextFiles;\n });\n }\n onFileSelect === null || onFileSelect === void 0 ? void 0 : onFileSelect(rawFileList !== null && rawFileList !== void 0 ? rawFileList : Array.isArray(files) ? null : files);\n }\n }, [\n multiple,\n validateFile,\n onFileSelect,\n syncFieldValue,\n startTransfer\n ]);\n var handleFileRemove = (0, import_react2.useCallback)(function(fileToRemove, onValueChange) {\n if (import_tamagui2.isWeb) {\n var previewUrl = previewUrlsRef.current.get(fileToRemove);\n if (previewUrl) {\n URL.revokeObjectURL(previewUrl);\n previewUrlsRef.current.delete(fileToRemove);\n }\n }\n setSelectedFiles(function(prev) {\n var nextFiles = prev.filter(function(file) {\n return file !== fileToRemove;\n });\n syncFieldValue(nextFiles, onValueChange);\n return nextFiles;\n });\n onFileRemove === null || onFileRemove === void 0 ? void 0 : onFileRemove(fileToRemove);\n }, [\n onFileRemove,\n syncFieldValue\n ]);\n var dragDepthRef = (0, import_react2.useRef)(0);\n var handleDragEnter = (0, import_react2.useCallback)(function(e) {\n e.preventDefault();\n if (dragDrop) {\n dragDepthRef.current += 1;\n setIsDragOver(true);\n }\n }, [\n dragDrop\n ]);\n var handleDragOver = (0, import_react2.useCallback)(function(e) {\n e.preventDefault();\n if (dragDrop) {\n setIsDragOver(true);\n }\n }, [\n dragDrop\n ]);\n var handleDragLeave = (0, import_react2.useCallback)(function(e) {\n e.preventDefault();\n dragDepthRef.current = Math.max(0, dragDepthRef.current - 1);\n if (dragDepthRef.current === 0) {\n setIsDragOver(false);\n }\n }, []);\n var handleDrop = (0, import_react2.useCallback)(function(e, onValueChange) {\n e.preventDefault();\n dragDepthRef.current = 0;\n setIsDragOver(false);\n if (dragDrop && e.dataTransfer.files) {\n handleFileSelect(e.dataTransfer.files, onValueChange, e.dataTransfer.files);\n }\n }, [\n dragDrop,\n handleFileSelect\n ]);\n var openFileDialog = (0, import_react2.useCallback)(function() {\n var _fileInputRef_current;\n if (disabled || readOnly) return;\n (_fileInputRef_current = fileInputRef.current) === null || _fileInputRef_current === void 0 ? void 0 : _fileInputRef_current.click();\n }, [\n disabled,\n readOnly\n ]);\n var nativePickInFlightRef = (0, import_react2.useRef)(false);\n var openNativePicker = (0, import_react2.useCallback)(async function(onValueChange, onBlurHandler) {\n if (disabled || readOnly || nativePickInFlightRef.current) return;\n nativePickInFlightRef.current = true;\n try {\n var outcome = await (0, import_nativeFilePicker.pickFilesNatively)({\n accept,\n multiple,\n mode: pickerMode\n });\n if (outcome.unavailable) {\n setValidationError((0, import_t.t)(\"No file picker is available on this device.\"));\n return;\n }\n if (outcome.denied) {\n setValidationError((0, import_t.t)(\"Permission to open your photo library was denied.\"));\n return;\n }\n if (outcome.canceled || outcome.files.length === 0) return;\n handleFileSelect(outcome.files, onValueChange);\n onBlurHandler === null || onBlurHandler === void 0 ? void 0 : onBlurHandler();\n } finally {\n nativePickInFlightRef.current = false;\n }\n }, [\n accept,\n disabled,\n handleFileSelect,\n multiple,\n pickerMode,\n readOnly\n ]);\n var isInteractiveChild = (0, import_react2.useCallback)(function(e) {\n var target = e.target;\n var current = e.currentTarget;\n if (!(target === null || target === void 0 ? void 0 : target.closest) || !current) return false;\n var interactive = target.closest('button, a, input, select, textarea, [role=\"button\"]');\n return !!interactive && interactive !== current;\n }, []);\n var handleZoneClick = (0, import_react2.useCallback)(function(e) {\n if (isInteractiveChild(e)) return;\n openFileDialog();\n }, [\n isInteractiveChild,\n openFileDialog\n ]);\n var handleZoneKeyDown = (0, import_react2.useCallback)(function(e) {\n if (e.target !== e.currentTarget) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n var _e_preventDefault;\n (_e_preventDefault = e.preventDefault) === null || _e_preventDefault === void 0 ? void 0 : _e_preventDefault.call(e);\n openFileDialog();\n }\n }, [\n openFileDialog\n ]);\n var paintZoneRing = (0, import_react2.useCallback)(function() {\n if (lastZoneInputWasKeyboardRef.current || (0, import_theme.wasKeyboardFocus)()) setKbZoneFocus(true);\n }, []);\n var bindZoneNode = (0, import_react2.useCallback)(function(node) {\n var _zoneCleanupRef_current;\n (_zoneCleanupRef_current = zoneCleanupRef.current) === null || _zoneCleanupRef_current === void 0 ? void 0 : _zoneCleanupRef_current.call(zoneCleanupRef);\n zoneCleanupRef.current = null;\n if (!node || !import_tamagui2.isWeb) return;\n var onFocus = function onFocus2() {\n return paintZoneRing();\n };\n var onBlur = function onBlur2() {\n return setKbZoneFocus(false);\n };\n node.addEventListener(\"focus\", onFocus);\n node.addEventListener(\"blur\", onBlur);\n zoneCleanupRef.current = function() {\n node.removeEventListener(\"focus\", onFocus);\n node.removeEventListener(\"blur\", onBlur);\n };\n }, [\n paintZoneRing\n ]);\n var handleZoneFocus = paintZoneRing;\n var handleZoneBlur = (0, import_react2.useCallback)(function() {\n setKbZoneFocus(false);\n }, []);\n var getFilePreview = (0, import_react2.useCallback)(function(file) {\n if (!import_tamagui2.isWeb) {\n var _file_type;\n var uri = file.uri;\n return uri && ((_file_type = file.type) === null || _file_type === void 0 ? void 0 : _file_type.startsWith(\"image/\")) ? uri : null;\n }\n if (file.type.startsWith(\"image/\")) {\n var existingUrl = previewUrlsRef.current.get(file);\n if (existingUrl) return existingUrl;\n var nextUrl = URL.createObjectURL(file);\n previewUrlsRef.current.set(file, nextUrl);\n return nextUrl;\n }\n return null;\n }, []);\n if (skeleton) {\n var minHeightPx = (0, import_utils.getFieldHeight)(fieldProps.size || knobProps.sizeToken, 5);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {\n id,\n label: fieldProps.label,\n size: fieldProps.size,\n knobProps,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {\n variant: \"rounded\",\n width: \"100%\",\n height: minHeightPx\n })\n });\n }\n var canInteract = !disabled && !readOnly;\n var hasRows = selectedFiles.length > 0 || transfers.length > 0;\n var renderRemoveDisc = function renderRemoveDisc2(ariaLabel, onPress) {\n return canInteract ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, {\n // Bento remove: a filled $color12 disc with the inverse\n // ✕ — painted at nestedControl (32) with hitSlop\n // restoring the 44 floor via `nested` (held exception);\n // the nested icon step lands the board's 14px ✕.\n nested: true,\n circular: true,\n icon: import_react.XIcon,\n \"aria-label\": ariaLabel,\n backgroundColor: import_colorRamps.formDropzoneColors.removeDisc.background.base,\n color: import_colorRamps.formDropzoneColors.removeDisc.ink,\n hoverStyle: {\n backgroundColor: import_colorRamps.formDropzoneColors.removeDisc.background.hover\n },\n pressStyle: {\n backgroundColor: import_colorRamps.formDropzoneColors.removeDisc.background.press\n },\n onPress: function onPress1(e) {\n e.stopPropagation();\n onPress();\n }\n }) : null;\n };\n var renderFileMeta = function renderFileMeta2(file, preview, extra) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n flex: 1,\n gap: \"$2\",\n alignItems: \"center\",\n children: [\n preview ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Image, {\n borderRadius: cappedRadius,\n // src (string), not source: the RN source object leaks\n // onto the DOM <img> as source=\"[object Object]\" on web\n src: preview,\n alt: file.name,\n width: rowMediaPx,\n height: rowMediaPx,\n objectFit: \"cover\"\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.XStack, {\n width: rowMediaPx,\n height: rowMediaPx,\n justifyContent: \"center\",\n alignItems: \"center\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.FileIcon, {\n size: rowGlyphSize\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {\n flex: 1,\n gap: \"$1\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n numberOfLines: 1,\n ...knobProps.body,\n children: file.name\n }),\n /* Bento (bento-pickers-measured.md §2): the size is a\n SECOND LINE, BOLD, one type step down (the label\n tier — 13/24 at medium). The 700 is the Bento\n treatment, a deliberate eject over the weight knob. */\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n numberOfLines: 1,\n color: import_colorRamps.formCommonColors.text,\n ...knobProps.label,\n fontWeight: \"700\",\n children: formatFileSize(file.size)\n }),\n extra\n ]\n })\n ]\n });\n };\n var renderUploadArea = function renderUploadArea2(errorProp, onValueChange, onBlurHandler) {\n var _knobProps_borderRadius_borderWidth, _knobProps_borderRadius_borderWidth1, _knobProps_borderRadius_borderWidth2;\n emitFieldRef.current = onValueChange;\n var requestFiles = import_tamagui2.isWeb ? openFileDialog : function() {\n void openNativePicker(onValueChange, onBlurHandler);\n };\n var zoneInteractionProps = canInteract ? import_tamagui2.isWeb ? {\n // DROPZONE-FULL-TARGET: the entire surface is the click target.\n role: \"button\",\n tabIndex: 0,\n onFocus: handleZoneFocus,\n onBlur: handleZoneBlur,\n cursor: \"pointer\",\n onClick: handleZoneClick,\n onKeyDown: handleZoneKeyDown,\n ...dragDrop ? {\n onDragEnter: handleDragEnter,\n onDragOver: handleDragOver,\n onDragLeave: handleDragLeave,\n onDrop: function onDrop(e) {\n handleDrop(e, onValueChange);\n onBlurHandler === null || onBlurHandler === void 0 ? void 0 : onBlurHandler();\n }\n } : null\n } : {\n role: \"button\",\n onPress: requestFiles\n } : {\n cursor: disabled ? \"not-allowed\" : void 0\n };\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploadAreaFrame, {\n // The dropzone is this field's control: it carries the FieldLayout id\n // so the rendered `<label htmlFor>` resolves (family pattern — see\n // Barcode / ColorPicker for other non-native-input controls).\n id,\n ref: bindZoneNode,\n \"data-file-upload\": \"dropzone\",\n \"data-drag-over\": isDragOver && canInteract && dragDrop ? \"true\" : void 0,\n \"data-kb-ring\": kbZoneFocus ? \"true\" : void 0,\n outlined: knobProps.outlined,\n // LC-40: text-bearing chrome — surface wash, not an opacity dim\n // (a dim here stacks with the inner Button's treatment). This is the\n // ONLY treatment that paints the transparent zone ground at rest.\n ...disabled ? disabledState.surfaceKnobProps : void 0,\n borderRadius: cappedRadius,\n // Keep width stable on drag (Polaris overlay, not a 1→2 layout shift).\n borderWidth: (_knobProps_borderRadius_borderWidth = knobProps.borderRadius.borderWidth) !== null && _knobProps_borderRadius_borderWidth !== void 0 ? _knobProps_borderRadius_borderWidth : 1,\n ...errorProp ? {\n borderColor: import_colorRamps.formCommonColors.error\n } : void 0,\n elevation: knobProps.elevation,\n transition: knobProps.transition,\n // CONTRACT (boards media-01..03): the getFieldHeight floor sits on\n // the FRAME, so the frame border-box measures 220 — hanging it on\n // the inner stack painted 222, a number no token expresses.\n minHeight: (0, import_utils.getFieldHeight)(fieldProps.size || knobProps.sizeToken, 5),\n \"aria-required\": fieldProps.required || void 0,\n \"aria-invalid\": !!errorProp || void 0,\n \"aria-readonly\": readOnly || void 0,\n \"aria-disabled\": disabled || void 0,\n // One family ring rule (boards media-01 dz-ring): 2px $outlineColor at\n // offset 0. The old -2 inset was the F1 defect — an element's own\n // outline is never clipped by its own overflow:hidden.\n //\n // The ring must ALSO be spread into focusStyle/focusVisibleStyle. The\n // base props alone lose: the frame's LC-71 kill is a :focus-visible\n // rule, the browser matches :focus-visible on a keyboard-origin focus,\n // and a pseudo-class rule outranks the plain-class atom — the zone\n // carried `_outlineWidth-2px` AND `_outlineWidth-0focus-visible-0px`\n // and computed outline-width 0px. Measured on the harness, not read off\n // the source: the pre-fix spec asserted the atom's PRESENCE, which was\n // true while nothing painted.\n ...kbZoneFocus ? withZoneFocusRing() : void 0,\n hoverStyle: canInteract ? {\n borderColor: errorProp ? import_colorRamps.formCommonColors.error : import_colorRamps.formInputColors.border.hover,\n // Held exception: the measured mpo $color4 hover flood stays\n // (Bento's hover/drag states were not measurable headlessly).\n backgroundColor: import_colorRamps.formInputColors.background.focus\n } : void 0,\n ...zoneInteractionProps,\n ...canInteract ? (\n // Labeled fields get aria-labelledby auto-wired by the FieldLayout\n // Label (tamagui Label htmlFor → this id); the aria-label fallback\n // covers label-less usage, and is what a screen reader announces\n // for the native press target too.\n fieldProps.label && id ? null : {\n \"aria-label\": typeof fieldProps.label === \"string\" ? (0, import_t.t)(\"{{label}}: choose file\", {\n label: fieldProps.label\n }) : (0, import_t.t)(\"Choose file\")\n }\n ) : null,\n children: [\n isDragOver && canInteract && dragDrop ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DropOverlayFrame, {\n \"data-file-upload\": \"overlay\",\n borderRadius: cappedRadius,\n borderWidth: (_knobProps_borderRadius_borderWidth1 = knobProps.borderRadius.borderWidth) !== null && _knobProps_borderRadius_borderWidth1 !== void 0 ? _knobProps_borderRadius_borderWidth1 : 1,\n ...errorProp ? {\n borderColor: import_colorRamps.formCommonColors.error\n } : void 0,\n ...knobProps.gap,\n ...knobProps.panelPadding,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.XStack, {\n width: rowMediaPx,\n height: rowMediaPx,\n alignItems: \"center\",\n justifyContent: \"center\",\n // `color` tints the phosphor glyph via currentColor; Tamagui applies\n // it on web Stacks though the RN-flavored View type omits it.\n ...{\n color: import_colorRamps.formCommonColors.text\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.UploadIcon, {\n size: rowMediaPx,\n \"aria-hidden\": true\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n color: import_colorRamps.formCommonColors.text,\n textAlign: \"center\",\n ...knobProps.body,\n children: multiple ? (0, import_t.t)(\"Drop files to upload\") : (0, import_t.t)(\"Drop a file to upload\")\n })\n ]\n }) : null,\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {\n ...knobProps.panelPadding,\n flexGrow: 1,\n width: \"100%\",\n alignItems: \"center\",\n justifyContent: \"center\",\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n alignItems: \"center\",\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, {\n onPress: requestFiles,\n disabled: !canInteract,\n size: knobProps.sizeToken,\n tabIndex: -1,\n // BENTO-DERIVED (bento-pickers-measured.md §2/§4): NO standalone\n // glyph exists — the upload mark rides INSIDE the CTA. Held at\n // the house 44 control with the recipe's 16px icon (Bento draws\n // 14 on its own 36/$3 button — ruled exception).\n icon: import_react.UploadIcon,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button.Text, {\n ...knobProps.body,\n children: buttonText\n })\n }),\n actions\n ]\n }),\n selectedFiles.length === 0 && transfers.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n color: import_colorRamps.formCommonColors.muted,\n textAlign: \"center\",\n ...knobProps.body,\n children: placeholder\n }),\n import_tamagui2.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"input\", {\n ref: fileInputRef,\n type: \"file\",\n accept,\n multiple,\n tabIndex: -1,\n onChange: function onChange(e) {\n handleFileSelect(e.target.files, onValueChange, e.target.files);\n onBlurHandler === null || onBlurHandler === void 0 ? void 0 : onBlurHandler();\n },\n style: {\n display: \"none\"\n },\n disabled: !canInteract\n }) : null\n ]\n }),\n hasRows && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploadFileListFrame, {\n \"data-file-upload\": \"files\",\n // The hairline tracks the frame edge's knob width — one dash voice.\n borderTopWidth: (_knobProps_borderRadius_borderWidth2 = knobProps.borderRadius.borderWidth) !== null && _knobProps_borderRadius_borderWidth2 !== void 0 ? _knobProps_borderRadius_borderWidth2 : 1,\n children: [\n selectedFiles.map(function(file, index) {\n var preview = showPreview ? getFilePreview(file) : null;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n width: \"100%\",\n ...knobProps.gap,\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...knobProps.panelPadding,\n children: [\n renderFileMeta(file, preview),\n renderRemoveDisc((0, import_t.t)(\"Remove {{name}}\", {\n name: file.name\n }), function() {\n return handleFileRemove(file, onValueChange);\n })\n ]\n }, `${file.name}-${index}`);\n }),\n transfers.map(function(item) {\n var _failed_cta;\n var preview = showPreview ? getFilePreview(item.file) : null;\n var isUploading = item.status === \"uploading\";\n var failed = item.status === \"failed\" ? item.error : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n \"data-transfer-status\": item.status,\n width: \"100%\",\n ...knobProps.gap,\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...knobProps.panelPadding,\n children: [\n renderFileMeta(item.file, preview, /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {\n children: [\n isUploading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.YStack, {\n \"data-file-upload\": \"progress\",\n role: \"progressbar\",\n \"aria-label\": (0, import_t.t)(\"Uploading {{name}}\", {\n name: item.file.name\n }),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": item.progress,\n height: 11,\n width: \"100%\",\n borderRadius: 1e3,\n backgroundColor: import_colorRamps.formDropzoneColors.progress.track,\n overflow: \"hidden\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.YStack, {\n height: \"100%\",\n width: `${item.progress}%`,\n backgroundColor: import_colorRamps.formDropzoneColors.progress.fill\n })\n }) : null,\n failed ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {\n gap: \"$1\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n color: import_colorRamps.formCommonColors.error,\n ...knobProps.label,\n children: failed.problem\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n color: import_colorRamps.formCommonColors.muted,\n ...knobProps.label,\n children: failed.action\n })\n ]\n }) : null\n ]\n })),\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n ...knobProps.gap,\n alignItems: \"center\",\n children: [\n canInteract && failed ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, {\n outlined: true,\n size: \"$2\",\n \"aria-label\": (0, import_t.t)(\"Retry {{name}}\", {\n name: item.file.name\n }),\n onPress: function onPress(e) {\n e.stopPropagation();\n handleRetryTransfer(item.id);\n },\n children: (_failed_cta = failed.cta) !== null && _failed_cta !== void 0 ? _failed_cta : (0, import_t.t)(\"Retry\")\n }) : null,\n isUploading ? renderRemoveDisc((0, import_t.t)(\"Cancel {{name}}\", {\n name: item.file.name\n }), function() {\n return handleCancelTransfer(item.id);\n }) : renderRemoveDisc((0, import_t.t)(\"Remove {{name}}\", {\n name: item.file.name\n }), function() {\n return handleRemoveTransfer(item.id);\n })\n ]\n })\n ]\n }, item.id);\n })\n ]\n })\n ]\n });\n };\n if (!resolvedForm || !name) {\n var _fieldProps_error;\n var standaloneError = (_fieldProps_error = fieldProps.error) !== null && _fieldProps_error !== void 0 ? _fieldProps_error : validationError;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {\n id,\n label: fieldProps.label,\n labelProps: fieldProps.labelProps,\n error: standaloneError,\n helperText: fieldProps.helperText,\n required: fieldProps.required,\n size: fieldProps.size,\n knobProps,\n // LC-40: FieldLayout owns the dimWhole assembly dim (keepLabel pins\n // the sibling label/helper readable) — it needs the disabled state.\n disabled,\n children: renderUploadArea(standaloneError, emitChange)\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_fieldLayout.Field, {\n defaultValue,\n form: resolvedForm,\n mode,\n name,\n preserveValue,\n validators: resolvedValidators,\n children: function children(field) {\n var _getFieldError;\n var error = (_getFieldError = (0, import_utils.getFieldError)(field, fieldProps.error)) !== null && _getFieldError !== void 0 ? _getFieldError : validationError;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {\n id,\n label: fieldProps.label,\n labelProps: fieldProps.labelProps,\n error,\n helperText: fieldProps.helperText,\n required: fieldProps.required,\n size: fieldProps.size,\n knobProps,\n // LC-40: see standalone branch — FieldLayout carries dimWhole.\n disabled,\n children: renderUploadArea(error, function(nextValue) {\n field.handleChange(nextValue);\n emitChange(nextValue);\n }, (0, import_utils.mergeFieldHandler)(field, \"handleBlur\", fieldProps.onBlur))\n });\n }\n });\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,MAAM,CAACC,cAAc;AACrC,IAAIC,gBAAgB,GAAGF,MAAM,CAACG,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGJ,MAAM,CAACK,mBAAmB;AAClD,IAAIC,YAAY,GAAGN,MAAM,CAACO,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBZ,SAAS,CAACW,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIhB,iBAAiB,CAACa,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CnB,SAAS,CAACiB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGjB,gBAAgB,CAACe,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,YAAY,GAAIC,GAAG,IAAKR,WAAW,CAAChB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEyB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,kBAAkB,GAAG,CAAC,CAAC;AAC3BhB,QAAQ,CAACgB,kBAAkB,EAAE;EAC3BC,UAAU,EAAEA,CAAA,KAAMA;AACpB,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAGN,YAAY,CAACG,kBAAkB,CAAC;AACjD,IAAII,kBAAkB,GAAGC,OAAO,CAAC,mBAAmB,CAAC;AACrD,IAAIC,YAAY,GAAGD,OAAO,CAAC,uBAAuB,CAAC;AACnD,IAAIE,aAAa,GAAGF,OAAO,CAAC,OAAO,CAAC;AACpC,IAAIG,cAAc,GAAGH,OAAO,CAAC,SAAS,CAAC;AACvC,IAAII,eAAe,GAAGJ,OAAO,CAAC,SAAS,CAAC;AACxC,IAAIK,aAAa,GAAGL,OAAO,CAAC,cAAc,CAAC;AAC3C,IAAIM,kBAAkB,GAAGN,OAAO,CAAC,6BAAmB,CAAC;AACrD,IAAIO,eAAe,GAAGP,OAAO,CAAC,gBAAgB,CAAC;AAC/C,IAAIQ,YAAY,GAAGR,OAAO,CAAC,8BAAoB,CAAC;AAChD,IAAIS,YAAY,GAAGT,OAAO,CAAC,0BAA0B,CAAC;AACtD,IAAIU,iBAAiB,GAAGV,OAAO,CAAC,mCAAyB,CAAC;AAC1D,IAAIW,QAAQ,GAAGX,OAAO,CAAC,0BAAgB,CAAC;AACxC,IAAIY,uBAAuB,GAAGZ,OAAO,CAAC,8BAAoB,CAAC;AAC3D,SAASa,WAAWA,CAACC,IAAI,EAAEC,KAAK,EAAE;EAChC,2BAA2B;;EAC3B,IAAIA,KAAK,IAAI,IAAI,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAID,KAAK,CAACC,MAAM,CAACC,WAAW,CAAC,EAAE;IAC/E,OAAO,CAAC,CAACF,KAAK,CAACC,MAAM,CAACC,WAAW,CAAC,CAACH,IAAI,CAAC;EAC1C,CAAC,MAAM;IACL,OAAOA,IAAI,YAAYC,KAAK;EAC9B;AACF;AACA,IAAIG,eAAe,GAAG,CAAC,CAAC,EAAEd,eAAe,CAACe,MAAM,EAAEf,eAAe,CAACgB,MAAM,EAAE;EACxEC,KAAK,EAAE,MAAM;EACbC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,QAAQ;EAClBC,WAAW,EAAE,QAAQ;EACrB;EACA;EACA;EACA;EACAC,eAAe,EAAE,aAAa;EAC9B;EACA;EACA;EACAC,WAAW,EAAEhB,iBAAiB,CAACiB,kBAAkB,CAACC,MAAM;EACxD;EACA;EACA;EACAC,YAAY,EAAE,CAAC;EACfC,YAAY,EAAE,MAAM;EACpBC,UAAU,EAAE;IACVF,YAAY,EAAE,CAAC;IACfC,YAAY,EAAE;EAChB,CAAC;EACDE,iBAAiB,EAAE;IACjBH,YAAY,EAAE,CAAC;IACfC,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AACF,SAASG,iBAAiBA,CAAA,EAAG;EAC3B,IAAIC,IAAI,GAAG,CAAC,CAAC,EAAEzB,YAAY,CAAC0B,sBAAsB,EAAE;IAClDC,aAAa,EAAE;EACjB,CAAC,CAAC;EACF,OAAO;IACL,GAAGF,IAAI;IACPH,UAAU,EAAEG,IAAI;IAChBF,iBAAiB,EAAEE;EACrB,CAAC;AACH;AACA,IAAIG,gBAAgB,GAAG,CAAC,CAAC,EAAEjC,eAAe,CAACe,MAAM,EAAEf,eAAe,CAACgB,MAAM,EAAE;EACzEE,QAAQ,EAAE,UAAU;EACpBgB,GAAG,EAAE,CAAC;EACNvB,KAAK,EAAE,CAAC;EACRwB,MAAM,EAAE,CAAC;EACTzB,IAAI,EAAE,CAAC;EACP0B,UAAU,EAAE,QAAQ;EACpBC,cAAc,EAAE,QAAQ;EACxBC,aAAa,EAAE,MAAM;EACrBC,MAAM,EAAE,CAAC;EACTlB,eAAe,EAAEf,iBAAiB,CAACkC,eAAe,CAACC,UAAU,CAACC,KAAK;EACnEtB,WAAW,EAAE,OAAO;EACpBE,WAAW,EAAEhB,iBAAiB,CAACkC,eAAe,CAAChB,MAAM,CAACkB;AACxD,CAAC,CAAC;AACF,IAAIC,mBAAmB,GAAG,CAAC,CAAC,EAAE3C,eAAe,CAACe,MAAM,EAAEf,eAAe,CAACgB,MAAM,EAAE;EAC5EC,KAAK,EAAE,MAAM;EACb2B,cAAc,EAAE,CAAC;EACjBxB,WAAW,EAAE,QAAQ;EACrByB,cAAc,EAAEvC,iBAAiB,CAACiB,kBAAkB,CAACC;AACvD,CAAC,CAAC;AACF,SAAShC,UAAUA,CAACsD,KAAK,EAAE;EACzB,IAAI;IACFC,YAAY;IACZC,IAAI;IACJC,MAAM;IACNC,OAAO;IACPC,QAAQ,GAAG,KAAK;IAChBC,QAAQ,GAAG,IAAI;IACfC,WAAW,GAAG,IAAI;IAClB;IACAC,WAAW,GAAGtD,eAAe,CAACuD,KAAK,GAAG,CAAC,CAAC,EAAEhD,QAAQ,CAACiD,CAAC,EAAE,4BAA4B,CAAC,GAAG,CAAC,CAAC,EAAEjD,QAAQ,CAACiD,CAAC,EAAE,kBAAkB,CAAC;IACzHC,UAAU,GAAG,CAAC,CAAC,EAAElD,QAAQ,CAACiD,CAAC,EAAE,aAAa,CAAC;IAC3CE,YAAY;IACZC,YAAY;IACZC,QAAQ;IACRC,QAAQ,EAAEC,YAAY;IACtBC,aAAa,EAAEC,iBAAiB;IAChCC,UAAU,GAAG,MAAM;IACnBC,IAAI;IACJxF,IAAI;IACJyF,aAAa;IACbC,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,OAAO;IACPC,OAAO;IACPC,EAAE,EAAEC,MAAM;IACV,GAAGC;EACL,CAAC,GAAG,CAAC,CAAC,EAAE7E,cAAc,CAAC8E,QAAQ,EAAE/B,KAAK,CAAC;EACvC,IAAI;IAAEgC,YAAY;IAAEC,SAAS;IAAEC,aAAa;IAAEN;EAAG,CAAC,GAAG,CAAC,CAAC,EAAEtE,YAAY,CAAC6E,YAAY,EAAE;IAClFjC,IAAI;IACJ0B,EAAE,EAAEC,MAAM;IACVH;EACF,CAAC,CAAC;EACF,IAAIxE,eAAe,CAACuD,KAAK,EAAE,CAAC,CAAC,EAAElD,YAAY,CAAC6E,8BAA8B,EAAE,CAAC;EAC7E,IAAI,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAEtF,aAAa,CAACuF,QAAQ,EAAE,KAAK,CAAC;EACtE,IAAIC,UAAU,GAAG,CAAC,CAAC,EAAExF,aAAa,CAACyF,WAAW,EAAE,UAASC,SAAS,EAAE;IAClE1B,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAAC0B,SAAS,CAAC;IACnFxB,iBAAiB,KAAK,IAAI,IAAIA,iBAAiB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,iBAAiB,CAACwB,SAAS,CAAC;EACpG,CAAC,EAAE,CACD1B,YAAY,EACZE,iBAAiB,CAClB,CAAC;EACF,IAAIyB,kBAAkB,GAAG,CAAC,CAAC,EAAErF,YAAY,CAACsF,qBAAqB,EAAEd,UAAU,CAACe,QAAQ,EAAEvB,UAAU,EAAEQ,UAAU,CAACgB,KAAK,EAAElH,IAAI,CAAC;EACzH,IAAImH,YAAY,GAAG,CAAC,CAAC,EAAEzF,YAAY,CAAC0F,4BAA4B,EAAEf,SAAS,CAACgB,YAAY,CAACA,YAAY,CAAC;EACtG,IAAIC,UAAU,GAAGjB,SAAS,CAACkB,aAAa,CAACC,EAAE;EAC3C,IAAIC,YAAY,GAAGpB,SAAS,CAACqB,WAAW,CAACnF,KAAK;EAC9C,IAAI,CAACoF,aAAa,EAAEC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAExG,aAAa,CAACuF,QAAQ,EAAE,EAAE,CAAC;EACvE,IAAI,CAACkB,SAAS,EAAEC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE1G,aAAa,CAACuF,QAAQ,EAAE,EAAE,CAAC;EAC/D,IAAI,CAACoB,UAAU,EAAEC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE5G,aAAa,CAACuF,QAAQ,EAAE,KAAK,CAAC;EACpE,IAAI,CAACsB,eAAe,EAAEC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE9G,aAAa,CAACuF,QAAQ,EAAE,CAAC;EACzE,IAAIwB,YAAY,GAAG,CAAC,CAAC,EAAE/G,aAAa,CAACgH,MAAM,EAAE,IAAI,CAAC;EAClD,IAAIC,cAAc,GAAG,CAAC,CAAC,EAAEjH,aAAa,CAACgH,MAAM,EAAE,IAAI,CAAC;EACpD,IAAIE,2BAA2B,GAAG,CAAC,CAAC,EAAElH,aAAa,CAACgH,MAAM,EAAE,KAAK,CAAC;EAClE,IAAIG,cAAc,GAAG,CAAC,CAAC,EAAEnH,aAAa,CAACgH,MAAM,EAAE,eAAgB,IAAII,GAAG,CAAC,CAAC,CAAC;EACzE,IAAIC,cAAc,GAAG,CAAC,CAAC,EAAErH,aAAa,CAACgH,MAAM,EAAE,CAAC,CAAC;EACjD,IAAIM,YAAY,GAAG,CAAC,CAAC,EAAEtH,aAAa,CAACgH,MAAM,EAAE,EAAE,CAAC;EAChD,IAAIO,WAAW,GAAG,CAAC,CAAC,EAAEvH,aAAa,CAACgH,MAAM,EAAElD,QAAQ,CAAC;EACrDyD,WAAW,CAACC,OAAO,GAAG1D,QAAQ;EAC9B,IAAI2D,YAAY,GAAG,CAAC,CAAC,EAAEzH,aAAa,CAACgH,MAAM,EAAE,KAAK,CAAC,CAAC;EACpD,IAAIU,WAAW,GAAG,CAAC,CAAC,EAAE1H,aAAa,CAACgH,MAAM,EAAE3D,QAAQ,CAAC;EACrDqE,WAAW,CAACF,OAAO,GAAGnE,QAAQ;EAC9B,IAAIsE,kBAAkB,GAAG,CAAC,CAAC,EAAE3H,aAAa,CAACyF,WAAW,EAAE,UAASmC,OAAO,EAAE;IACxElB,YAAY,CAAC,UAASmB,IAAI,EAAE;MAC1B,IAAIC,IAAI,GAAGF,OAAO,CAACC,IAAI,CAAC;MACxBP,YAAY,CAACE,OAAO,GAAGM,IAAI;MAC3B,OAAOA,IAAI;IACb,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EACN,CAAC,CAAC,EAAE9H,aAAa,CAAC+H,SAAS,EAAE,YAAW;IACtC,IAAI,CAAC7H,eAAe,CAACuD,KAAK,EAAE;IAC5B,CAAC,CAAC,EAAElD,YAAY,CAAC6E,8BAA8B,EAAE,CAAC;IAClD,IAAI4C,KAAK,GAAG,SAASC,MAAMA,CAAA,EAAG;MAC5Bf,2BAA2B,CAACM,OAAO,GAAG,IAAI;IAC5C,CAAC;IACD,IAAIU,SAAS,GAAG,SAASC,UAAUA,CAAA,EAAG;MACpCjB,2BAA2B,CAACM,OAAO,GAAG,KAAK;IAC7C,CAAC;IACDY,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAEL,KAAK,EAAE,IAAI,CAAC;IACjDI,QAAQ,CAACC,gBAAgB,CAAC,aAAa,EAAEH,SAAS,EAAE,IAAI,CAAC;IACzD,OAAO,YAAW;MAChB,IAAII,uBAAuB;MAC3BF,QAAQ,CAACG,mBAAmB,CAAC,SAAS,EAAEP,KAAK,EAAE,IAAI,CAAC;MACpDI,QAAQ,CAACG,mBAAmB,CAAC,aAAa,EAAEL,SAAS,EAAE,IAAI,CAAC;MAC5Df,cAAc,CAACK,OAAO,CAACgB,OAAO,CAAC,UAASC,GAAG,EAAE;QAC3C,OAAOC,GAAG,CAACC,eAAe,CAACF,GAAG,CAAC;MACjC,CAAC,CAAC;MACFtB,cAAc,CAACK,OAAO,CAACoB,KAAK,CAAC,CAAC;MAC9BtB,YAAY,CAACE,OAAO,CAACgB,OAAO,CAAC,UAASK,IAAI,EAAE;QAC1C,OAAOA,IAAI,CAACC,UAAU,CAACC,KAAK,CAAC,CAAC;MAChC,CAAC,CAAC;MACF,CAACT,uBAAuB,GAAGrB,cAAc,CAACO,OAAO,MAAM,IAAI,IAAIc,uBAAuB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,uBAAuB,CAACjJ,IAAI,CAAC4H,cAAc,CAAC;MACzJA,cAAc,CAACO,OAAO,GAAG,IAAI;IAC/B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,IAAIwB,cAAc,GAAG,CAAC,CAAC,EAAEhJ,aAAa,CAACyF,WAAW,EAAE,UAASwD,KAAK,EAAE;IAClE,IAAIA,KAAK,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAAExI,QAAQ,CAACiD,CAAC,EAAE,SAAS,CAAC;IAClD,IAAIwF,CAAC,GAAG,IAAI;IACZ,IAAIC,KAAK,GAAG,CACV,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,CACL;IACD,IAAIC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAACN,KAAK,CAAC,GAAGI,IAAI,CAACE,GAAG,CAACL,CAAC,CAAC,CAAC;IACjD,OAAO,GAAGM,MAAM,CAACC,UAAU,CAAC,CAACR,KAAK,GAAGI,IAAI,CAACK,GAAG,CAACR,CAAC,EAAEE,CAAC,CAAC,EAAEO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAElJ,QAAQ,CAACiD,CAAC,EAAEyF,KAAK,CAACC,CAAC,CAAC,CAAC,EAAE;EACjG,CAAC,EAAE,EAAE,CAAC;EACN,IAAIQ,YAAY,GAAG,CAAC,CAAC,EAAE5J,aAAa,CAACyF,WAAW,EAAE,UAASoE,IAAI,EAAE;IAC/D,IAAIzG,OAAO,IAAIyG,IAAI,CAACC,IAAI,GAAG1G,OAAO,EAAE;MAClC,OAAO,CAAC,CAAC,EAAE3C,QAAQ,CAACiD,CAAC,EAAE,sCAAsC,EAAE;QAC7DoG,IAAI,EAAEd,cAAc,CAAC5F,OAAO;MAC9B,CAAC,CAAC;IACJ;IACA,IAAID,MAAM,EAAE;MACV,IAAI4G,aAAa,GAAG5G,MAAM,CAAC6G,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,UAASC,IAAI,EAAE;QACvD,OAAOA,IAAI,CAACC,IAAI,CAAC,CAAC;MACpB,CAAC,CAAC;MACF,IAAIC,UAAU,GAAGL,aAAa,CAACM,IAAI,CAAC,UAASH,IAAI,EAAE;QACjD,IAAIA,IAAI,CAACI,UAAU,CAAC,GAAG,CAAC,EAAE;UACxB,OAAOT,IAAI,CAACjL,IAAI,CAAC2L,WAAW,CAAC,CAAC,CAACC,QAAQ,CAACN,IAAI,CAACK,WAAW,CAAC,CAAC,CAAC;QAC7D;QACA,OAAOV,IAAI,CAACK,IAAI,CAACO,KAAK,CAACP,IAAI,CAACQ,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;MACjD,CAAC,CAAC;MACF,IAAI,CAACN,UAAU,EAAE;QACf,OAAO,CAAC,CAAC,EAAE3J,QAAQ,CAACiD,CAAC,EAAE,mDAAmD,EAAE;UAC1EiH,KAAK,EAAExH;QACT,CAAC,CAAC;MACJ;IACF;IACA,OAAO,IAAI;EACb,CAAC,EAAE,CACDC,OAAO,EACPD,MAAM,EACN6F,cAAc,CACf,CAAC;EACF,IAAI4B,cAAc,GAAG,CAAC,CAAC,EAAE5K,aAAa,CAACyF,WAAW,EAAE,UAASoF,SAAS,EAAE5G,aAAa,EAAE;IACrF,IAAI6G,WAAW;IACf,IAAI,CAAC7G,aAAa,EAAE;IACpB,IAAIZ,QAAQ,EAAE;MACZY,aAAa,CAAC4G,SAAS,CAAC;MACxB;IACF;IACA5G,aAAa,CAAC,CAAC6G,WAAW,GAAGD,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,IAAIC,WAAW,KAAK,KAAK,CAAC,GAAGA,WAAW,GAAG,IAAI,CAAC;EACrG,CAAC,EAAE,CACDzH,QAAQ,CACT,CAAC;EACF,IAAI0H,WAAW,GAAG,CAAC,CAAC,EAAE/K,aAAa,CAACyF,WAAW,EAAE,gBAAeuF,GAAG,EAAEnB,IAAI,EAAEf,UAAU,EAAE;IACrF,IAAImC,MAAM,GAAG1D,WAAW,CAACC,OAAO;IAChC,IAAI,CAACyD,MAAM,EAAE;IACb,IAAI;MACF,MAAMA,MAAM,CAACpB,IAAI,EAAE;QACjBqB,UAAU,EAAE,SAASA,UAAUA,CAACC,OAAO,EAAE;UACvC,IAAIC,CAAC,GAAG/B,IAAI,CAACgC,GAAG,CAAC,GAAG,EAAEhC,IAAI,CAACiC,GAAG,CAAC,CAAC,EAAEjC,IAAI,CAACkC,KAAK,CAAC/B,MAAM,CAAC2B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;UACpExD,kBAAkB,CAAC,UAASE,IAAI,EAAE;YAChC,OAAOA,IAAI,CAACoC,GAAG,CAAC,UAASpB,IAAI,EAAE;cAC7B,OAAOA,IAAI,CAACjE,EAAE,KAAKoG,GAAG,GAAG;gBACvB,GAAGnC,IAAI;gBACP2C,QAAQ,EAAEJ;cACZ,CAAC,GAAGvC,IAAI;YACV,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ,CAAC;QACD4C,MAAM,EAAE3C,UAAU,CAAC2C;MACrB,CAAC,CAAC;MACF,IAAI3C,UAAU,CAAC2C,MAAM,CAACC,OAAO,EAAE;MAC/B/D,kBAAkB,CAAC,UAASE,IAAI,EAAE;QAChC,OAAOA,IAAI,CAAC8D,MAAM,CAAC,UAAS9C,IAAI,EAAE;UAChC,OAAOA,IAAI,CAACjE,EAAE,KAAKoG,GAAG;QACxB,CAAC,CAAC;MACJ,CAAC,CAAC;MACFxE,gBAAgB,CAAC,UAASqB,IAAI,EAAE;QAC9B,IAAIgD,SAAS,GAAGnD,WAAW,CAACF,OAAO,GAAG,CACpC,GAAGK,IAAI,EACPgC,IAAI,CACL,GAAG,CACFA,IAAI,CACL;QACDe,cAAc,CAACC,SAAS,EAAEpD,YAAY,CAACD,OAAO,CAAC;QAC/C,OAAOqD,SAAS;MAClB,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOe,GAAG,EAAE;MACZ,IAAI9C,UAAU,CAAC2C,MAAM,CAACC,OAAO,IAAI/K,WAAW,CAACiL,GAAG,EAAEC,YAAY,CAAC,IAAID,GAAG,CAAChN,IAAI,KAAK,YAAY,EAAE;QAC5F+I,kBAAkB,CAAC,UAASE,IAAI,EAAE;UAChC,OAAOA,IAAI,CAAC8D,MAAM,CAAC,UAAS9C,IAAI,EAAE;YAChC,OAAOA,IAAI,CAACjE,EAAE,KAAKoG,GAAG;UACxB,CAAC,CAAC;QACJ,CAAC,CAAC;QACF;MACF;MACA,IAAIc,OAAO,GAAGnL,WAAW,CAACiL,GAAG,EAAEG,KAAK,CAAC,IAAIH,GAAG,CAACI,OAAO,GAAGJ,GAAG,CAACI,OAAO,GAAG,CAAC,CAAC,EAAEvL,QAAQ,CAACiD,CAAC,EAAE,eAAe,CAAC;MACrGiE,kBAAkB,CAAC,UAASE,IAAI,EAAE;QAChC,OAAOA,IAAI,CAACoC,GAAG,CAAC,UAASpB,IAAI,EAAE;UAC7B,OAAOA,IAAI,CAACjE,EAAE,KAAKoG,GAAG,GAAG;YACvB,GAAGnC,IAAI;YACPoD,MAAM,EAAE,QAAQ;YAChBC,KAAK,EAAE;cACLJ,OAAO;cACPK,MAAM,EAAE,CAAC,CAAC,EAAE1L,QAAQ,CAACiD,CAAC,EAAE,8BAA8B,CAAC;cACvD0I,GAAG,EAAE,CAAC,CAAC,EAAE3L,QAAQ,CAACiD,CAAC,EAAE,OAAO;YAC9B;UACF,CAAC,GAAGmF,IAAI;QACV,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CACDlB,kBAAkB,EAClBiD,cAAc,CACf,CAAC;EACF,IAAIyB,aAAa,GAAG,CAAC,CAAC,EAAErM,aAAa,CAACyF,WAAW,EAAE,UAASoE,IAAI,EAAE;IAChE,IAAI,CAACnC,WAAW,CAACF,OAAO,EAAE;MACxBF,YAAY,CAACE,OAAO,CAACgB,OAAO,CAAC,UAAS8D,KAAK,EAAE;QAC3C,OAAOA,KAAK,CAACxD,UAAU,CAACC,KAAK,CAAC,CAAC;MACjC,CAAC,CAAC;MACFpB,kBAAkB,CAAC,YAAW;QAC5B,OAAO,EAAE;MACX,CAAC,CAAC;IACJ;IACA,IAAIqD,GAAG,GAAG,QAAQ,EAAE3D,cAAc,CAACG,OAAO,EAAE;IAC5C,IAAIsB,UAAU,GAAG,IAAIyD,eAAe,CAAC,CAAC;IACtC,IAAI1D,IAAI,GAAG;MACTjE,EAAE,EAAEoG,GAAG;MACPnB,IAAI;MACJoC,MAAM,EAAE,WAAW;MACnBT,QAAQ,EAAE,CAAC;MACX1C;IACF,CAAC;IACDnB,kBAAkB,CAAC,UAASE,IAAI,EAAE;MAChC,OAAO,CACL,GAAGA,IAAI,EACPgB,IAAI,CACL;IACH,CAAC,CAAC;IACF,KAAKkC,WAAW,CAACC,GAAG,EAAEnB,IAAI,EAAEf,UAAU,CAAC;EACzC,CAAC,EAAE,CACDiC,WAAW,EACXpD,kBAAkB,CACnB,CAAC;EACF,IAAI6E,oBAAoB,GAAG,CAAC,CAAC,EAAExM,aAAa,CAACyF,WAAW,EAAE,UAASuF,GAAG,EAAE;IACtE,IAAInC,IAAI,GAAGvB,YAAY,CAACE,OAAO,CAACiF,IAAI,CAAC,UAASC,GAAG,EAAE;MACjD,OAAOA,GAAG,CAAC9H,EAAE,KAAKoG,GAAG;IACvB,CAAC,CAAC;IACFnC,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACC,UAAU,CAACC,KAAK,CAAC,CAAC;IACnEpB,kBAAkB,CAAC,UAASE,IAAI,EAAE;MAChC,OAAOA,IAAI,CAAC8D,MAAM,CAAC,UAASe,GAAG,EAAE;QAC/B,OAAOA,GAAG,CAAC9H,EAAE,KAAKoG,GAAG;MACvB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CACDrD,kBAAkB,CACnB,CAAC;EACF,IAAIgF,mBAAmB,GAAG,CAAC,CAAC,EAAE3M,aAAa,CAACyF,WAAW,EAAE,UAASuF,GAAG,EAAE;IACrE,IAAInC,IAAI,GAAGvB,YAAY,CAACE,OAAO,CAACiF,IAAI,CAAC,UAASC,GAAG,EAAE;MACjD,OAAOA,GAAG,CAAC9H,EAAE,KAAKoG,GAAG;IACvB,CAAC,CAAC;IACF,IAAI,CAACnC,IAAI,EAAE;IACXA,IAAI,CAACC,UAAU,CAACC,KAAK,CAAC,CAAC;IACvB,IAAID,UAAU,GAAG,IAAIyD,eAAe,CAAC,CAAC;IACtC5E,kBAAkB,CAAC,UAASE,IAAI,EAAE;MAChC,OAAOA,IAAI,CAACoC,GAAG,CAAC,UAASyC,GAAG,EAAE;QAC5B,OAAOA,GAAG,CAAC9H,EAAE,KAAKoG,GAAG,GAAG;UACtB,GAAG0B,GAAG;UACNT,MAAM,EAAE,WAAW;UACnBT,QAAQ,EAAE,CAAC;UACXU,KAAK,EAAE,KAAK,CAAC;UACbpD;QACF,CAAC,GAAG4D,GAAG;MACT,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,KAAK3B,WAAW,CAACC,GAAG,EAAEnC,IAAI,CAACgB,IAAI,EAAEf,UAAU,CAAC;EAC9C,CAAC,EAAE,CACDiC,WAAW,EACXpD,kBAAkB,CACnB,CAAC;EACF,IAAIiF,oBAAoB,GAAG,CAAC,CAAC,EAAE5M,aAAa,CAACyF,WAAW,EAAE,UAASuF,GAAG,EAAE;IACtE,IAAInC,IAAI,GAAGvB,YAAY,CAACE,OAAO,CAACiF,IAAI,CAAC,UAASC,GAAG,EAAE;MACjD,OAAOA,GAAG,CAAC9H,EAAE,KAAKoG,GAAG;IACvB,CAAC,CAAC;IACFnC,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACC,UAAU,CAACC,KAAK,CAAC,CAAC;IACnE,IAAI7I,eAAe,CAACuD,KAAK,IAAIoF,IAAI,EAAE;MACjC,IAAIgE,UAAU,GAAG1F,cAAc,CAACK,OAAO,CAAC3I,GAAG,CAACgK,IAAI,CAACgB,IAAI,CAAC;MACtD,IAAIgD,UAAU,EAAE;QACdnE,GAAG,CAACC,eAAe,CAACkE,UAAU,CAAC;QAC/B1F,cAAc,CAACK,OAAO,CAACsF,MAAM,CAACjE,IAAI,CAACgB,IAAI,CAAC;MAC1C;IACF;IACAlC,kBAAkB,CAAC,UAASE,IAAI,EAAE;MAChC,OAAOA,IAAI,CAAC8D,MAAM,CAAC,UAASe,GAAG,EAAE;QAC/B,OAAOA,GAAG,CAAC9H,EAAE,KAAKoG,GAAG;MACvB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CACDrD,kBAAkB,CACnB,CAAC;EACF,IAAIoF,gBAAgB,GAAG,CAAC,CAAC,EAAE/M,aAAa,CAACyF,WAAW,EAAE,UAASuH,KAAK,EAAE/I,aAAa,EAAEgJ,WAAW,EAAE;IAChG,IAAI,CAACD,KAAK,EAAE;IACZ,IAAIE,SAAS,GAAGC,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,GAAGA,KAAK,GAAGG,KAAK,CAAClO,IAAI,CAAC+N,KAAK,CAAC;IAChE,IAAIK,UAAU,GAAG,EAAE;IACnB,IAAIC,MAAM,GAAG,EAAE;IACfJ,SAAS,CAAC1E,OAAO,CAAC,UAASqB,IAAI,EAAE;MAC/B,IAAIqC,KAAK,GAAGtC,YAAY,CAACC,IAAI,CAAC;MAC9B,IAAIqC,KAAK,EAAE;QACToB,MAAM,CAACC,IAAI,CAAC,GAAG1D,IAAI,CAACjL,IAAI,KAAKsN,KAAK,EAAE,CAAC;MACvC,CAAC,MAAM;QACLmB,UAAU,CAACE,IAAI,CAAC1D,IAAI,CAAC;MACvB;IACF,CAAC,CAAC;IACF/C,kBAAkB,CAACwG,MAAM,CAACE,MAAM,GAAG,CAAC,GAAGF,MAAM,CAACG,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IAClE,IAAIJ,UAAU,CAACG,MAAM,GAAG,CAAC,EAAE;MACzB/F,YAAY,CAACD,OAAO,GAAGvD,aAAa;MACpC,IAAIsD,WAAW,CAACC,OAAO,EAAE;QACvB6F,UAAU,CAAC7E,OAAO,CAAC,UAASqB,IAAI,EAAE;UAChC,OAAOwC,aAAa,CAACxC,IAAI,CAAC;QAC5B,CAAC,CAAC;MACJ,CAAC,MAAM;QACLrD,gBAAgB,CAAC,UAASqB,IAAI,EAAE;UAC9B,IAAIgD,SAAS,GAAGxH,QAAQ,GAAG,CACzB,GAAGwE,IAAI,EACP,GAAGwF,UAAU,CACd,GAAGA,UAAU,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;UAC1B9C,cAAc,CAACC,SAAS,EAAE5G,aAAa,CAAC;UACxC,OAAO4G,SAAS;QAClB,CAAC,CAAC;MACJ;MACAjH,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAACqJ,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAK,KAAK,CAAC,GAAGA,WAAW,GAAGE,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,GAAG,IAAI,GAAGA,KAAK,CAAC;IAC9K;EACF,CAAC,EAAE,CACD3J,QAAQ,EACRuG,YAAY,EACZhG,YAAY,EACZgH,cAAc,EACdyB,aAAa,CACd,CAAC;EACF,IAAIsB,gBAAgB,GAAG,CAAC,CAAC,EAAE3N,aAAa,CAACyF,WAAW,EAAE,UAASmI,YAAY,EAAE3J,aAAa,EAAE;IAC1F,IAAI/D,eAAe,CAACuD,KAAK,EAAE;MACzB,IAAIoJ,UAAU,GAAG1F,cAAc,CAACK,OAAO,CAAC3I,GAAG,CAAC+O,YAAY,CAAC;MACzD,IAAIf,UAAU,EAAE;QACdnE,GAAG,CAACC,eAAe,CAACkE,UAAU,CAAC;QAC/B1F,cAAc,CAACK,OAAO,CAACsF,MAAM,CAACc,YAAY,CAAC;MAC7C;IACF;IACApH,gBAAgB,CAAC,UAASqB,IAAI,EAAE;MAC9B,IAAIgD,SAAS,GAAGhD,IAAI,CAAC8D,MAAM,CAAC,UAAS9B,IAAI,EAAE;QACzC,OAAOA,IAAI,KAAK+D,YAAY;MAC9B,CAAC,CAAC;MACFhD,cAAc,CAACC,SAAS,EAAE5G,aAAa,CAAC;MACxC,OAAO4G,SAAS;IAClB,CAAC,CAAC;IACFhH,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,YAAY,CAAC+J,YAAY,CAAC;EACxF,CAAC,EAAE,CACD/J,YAAY,EACZ+G,cAAc,CACf,CAAC;EACF,IAAIiD,YAAY,GAAG,CAAC,CAAC,EAAE7N,aAAa,CAACgH,MAAM,EAAE,CAAC,CAAC;EAC/C,IAAI8G,eAAe,GAAG,CAAC,CAAC,EAAE9N,aAAa,CAACyF,WAAW,EAAE,UAASsI,CAAC,EAAE;IAC/DA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClB,IAAI1K,QAAQ,EAAE;MACZuK,YAAY,CAACrG,OAAO,IAAI,CAAC;MACzBZ,aAAa,CAAC,IAAI,CAAC;IACrB;EACF,CAAC,EAAE,CACDtD,QAAQ,CACT,CAAC;EACF,IAAI2K,cAAc,GAAG,CAAC,CAAC,EAAEjO,aAAa,CAACyF,WAAW,EAAE,UAASsI,CAAC,EAAE;IAC9DA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClB,IAAI1K,QAAQ,EAAE;MACZsD,aAAa,CAAC,IAAI,CAAC;IACrB;EACF,CAAC,EAAE,CACDtD,QAAQ,CACT,CAAC;EACF,IAAI4K,eAAe,GAAG,CAAC,CAAC,EAAElO,aAAa,CAACyF,WAAW,EAAE,UAASsI,CAAC,EAAE;IAC/DA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClBH,YAAY,CAACrG,OAAO,GAAG6B,IAAI,CAACiC,GAAG,CAAC,CAAC,EAAEuC,YAAY,CAACrG,OAAO,GAAG,CAAC,CAAC;IAC5D,IAAIqG,YAAY,CAACrG,OAAO,KAAK,CAAC,EAAE;MAC9BZ,aAAa,CAAC,KAAK,CAAC;IACtB;EACF,CAAC,EAAE,EAAE,CAAC;EACN,IAAIuH,UAAU,GAAG,CAAC,CAAC,EAAEnO,aAAa,CAACyF,WAAW,EAAE,UAASsI,CAAC,EAAE9J,aAAa,EAAE;IACzE8J,CAAC,CAACC,cAAc,CAAC,CAAC;IAClBH,YAAY,CAACrG,OAAO,GAAG,CAAC;IACxBZ,aAAa,CAAC,KAAK,CAAC;IACpB,IAAItD,QAAQ,IAAIyK,CAAC,CAACK,YAAY,CAACpB,KAAK,EAAE;MACpCD,gBAAgB,CAACgB,CAAC,CAACK,YAAY,CAACpB,KAAK,EAAE/I,aAAa,EAAE8J,CAAC,CAACK,YAAY,CAACpB,KAAK,CAAC;IAC7E;EACF,CAAC,EAAE,CACD1J,QAAQ,EACRyJ,gBAAgB,CACjB,CAAC;EACF,IAAIsB,cAAc,GAAG,CAAC,CAAC,EAAErO,aAAa,CAACyF,WAAW,EAAE,YAAW;IAC7D,IAAI6I,qBAAqB;IACzB,IAAI/J,QAAQ,IAAIC,QAAQ,EAAE;IAC1B,CAAC8J,qBAAqB,GAAGvH,YAAY,CAACS,OAAO,MAAM,IAAI,IAAI8G,qBAAqB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,qBAAqB,CAACC,KAAK,CAAC,CAAC;EACtI,CAAC,EAAE,CACDhK,QAAQ,EACRC,QAAQ,CACT,CAAC;EACF,IAAIgK,qBAAqB,GAAG,CAAC,CAAC,EAAExO,aAAa,CAACgH,MAAM,EAAE,KAAK,CAAC;EAC5D,IAAIyH,gBAAgB,GAAG,CAAC,CAAC,EAAEzO,aAAa,CAACyF,WAAW,EAAE,gBAAexB,aAAa,EAAEyK,aAAa,EAAE;IACjG,IAAInK,QAAQ,IAAIC,QAAQ,IAAIgK,qBAAqB,CAAChH,OAAO,EAAE;IAC3DgH,qBAAqB,CAAChH,OAAO,GAAG,IAAI;IACpC,IAAI;MACF,IAAImH,OAAO,GAAG,MAAM,CAAC,CAAC,EAAEjO,uBAAuB,CAACkO,iBAAiB,EAAE;QACjEzL,MAAM;QACNE,QAAQ;QACRe,IAAI,EAAED;MACR,CAAC,CAAC;MACF,IAAIwK,OAAO,CAACE,WAAW,EAAE;QACvB/H,kBAAkB,CAAC,CAAC,CAAC,EAAErG,QAAQ,CAACiD,CAAC,EAAE,6CAA6C,CAAC,CAAC;QAClF;MACF;MACA,IAAIiL,OAAO,CAACG,MAAM,EAAE;QAClBhI,kBAAkB,CAAC,CAAC,CAAC,EAAErG,QAAQ,CAACiD,CAAC,EAAE,mDAAmD,CAAC,CAAC;QACxF;MACF;MACA,IAAIiL,OAAO,CAACI,QAAQ,IAAIJ,OAAO,CAAC3B,KAAK,CAACQ,MAAM,KAAK,CAAC,EAAE;MACpDT,gBAAgB,CAAC4B,OAAO,CAAC3B,KAAK,EAAE/I,aAAa,CAAC;MAC9CyK,aAAa,KAAK,IAAI,IAAIA,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAAC,CAAC;IAC/E,CAAC,SAAS;MACRF,qBAAqB,CAAChH,OAAO,GAAG,KAAK;IACvC;EACF,CAAC,EAAE,CACDrE,MAAM,EACNoB,QAAQ,EACRwI,gBAAgB,EAChB1J,QAAQ,EACRc,UAAU,EACVK,QAAQ,CACT,CAAC;EACF,IAAIwK,kBAAkB,GAAG,CAAC,CAAC,EAAEhP,aAAa,CAACyF,WAAW,EAAE,UAASsI,CAAC,EAAE;IAClE,IAAIrP,MAAM,GAAGqP,CAAC,CAACrP,MAAM;IACrB,IAAI8I,OAAO,GAAGuG,CAAC,CAACkB,aAAa;IAC7B,IAAI,EAAEvQ,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,MAAM,CAACwQ,OAAO,CAAC,IAAI,CAAC1H,OAAO,EAAE,OAAO,KAAK;IAC/F,IAAI2H,WAAW,GAAGzQ,MAAM,CAACwQ,OAAO,CAAC,qDAAqD,CAAC;IACvF,OAAO,CAAC,CAACC,WAAW,IAAIA,WAAW,KAAK3H,OAAO;EACjD,CAAC,EAAE,EAAE,CAAC;EACN,IAAI4H,eAAe,GAAG,CAAC,CAAC,EAAEpP,aAAa,CAACyF,WAAW,EAAE,UAASsI,CAAC,EAAE;IAC/D,IAAIiB,kBAAkB,CAACjB,CAAC,CAAC,EAAE;IAC3BM,cAAc,CAAC,CAAC;EAClB,CAAC,EAAE,CACDW,kBAAkB,EAClBX,cAAc,CACf,CAAC;EACF,IAAIgB,iBAAiB,GAAG,CAAC,CAAC,EAAErP,aAAa,CAACyF,WAAW,EAAE,UAASsI,CAAC,EAAE;IACjE,IAAIA,CAAC,CAACrP,MAAM,KAAKqP,CAAC,CAACkB,aAAa,EAAE;IAClC,IAAIlB,CAAC,CAAC3O,GAAG,KAAK,OAAO,IAAI2O,CAAC,CAAC3O,GAAG,KAAK,GAAG,EAAE;MACtC,IAAIkQ,iBAAiB;MACrB,CAACA,iBAAiB,GAAGvB,CAAC,CAACC,cAAc,MAAM,IAAI,IAAIsB,iBAAiB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,iBAAiB,CAACjQ,IAAI,CAAC0O,CAAC,CAAC;MACpHM,cAAc,CAAC,CAAC;IAClB;EACF,CAAC,EAAE,CACDA,cAAc,CACf,CAAC;EACF,IAAIkB,aAAa,GAAG,CAAC,CAAC,EAAEvP,aAAa,CAACyF,WAAW,EAAE,YAAW;IAC5D,IAAIyB,2BAA2B,CAACM,OAAO,IAAI,CAAC,CAAC,EAAEjH,YAAY,CAACiP,gBAAgB,EAAE,CAAC,EAAElK,cAAc,CAAC,IAAI,CAAC;EACvG,CAAC,EAAE,EAAE,CAAC;EACN,IAAImK,YAAY,GAAG,CAAC,CAAC,EAAEzP,aAAa,CAACyF,WAAW,EAAE,UAASiK,IAAI,EAAE;IAC/D,IAAIpH,uBAAuB;IAC3B,CAACA,uBAAuB,GAAGrB,cAAc,CAACO,OAAO,MAAM,IAAI,IAAIc,uBAAuB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,uBAAuB,CAACjJ,IAAI,CAAC4H,cAAc,CAAC;IACzJA,cAAc,CAACO,OAAO,GAAG,IAAI;IAC7B,IAAI,CAACkI,IAAI,IAAI,CAACxP,eAAe,CAACuD,KAAK,EAAE;IACrC,IAAIkM,OAAO,GAAG,SAASC,QAAQA,CAAA,EAAG;MAChC,OAAOL,aAAa,CAAC,CAAC;IACxB,CAAC;IACD,IAAIM,MAAM,GAAG,SAASC,OAAOA,CAAA,EAAG;MAC9B,OAAOxK,cAAc,CAAC,KAAK,CAAC;IAC9B,CAAC;IACDoK,IAAI,CAACrH,gBAAgB,CAAC,OAAO,EAAEsH,OAAO,CAAC;IACvCD,IAAI,CAACrH,gBAAgB,CAAC,MAAM,EAAEwH,MAAM,CAAC;IACrC5I,cAAc,CAACO,OAAO,GAAG,YAAW;MAClCkI,IAAI,CAACnH,mBAAmB,CAAC,OAAO,EAAEoH,OAAO,CAAC;MAC1CD,IAAI,CAACnH,mBAAmB,CAAC,MAAM,EAAEsH,MAAM,CAAC;IAC1C,CAAC;EACH,CAAC,EAAE,CACDN,aAAa,CACd,CAAC;EACF,IAAIQ,eAAe,GAAGR,aAAa;EACnC,IAAIS,cAAc,GAAG,CAAC,CAAC,EAAEhQ,aAAa,CAACyF,WAAW,EAAE,YAAW;IAC7DH,cAAc,CAAC,KAAK,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EACN,IAAI2K,cAAc,GAAG,CAAC,CAAC,EAAEjQ,aAAa,CAACyF,WAAW,EAAE,UAASoE,IAAI,EAAE;IACjE,IAAI,CAAC3J,eAAe,CAACuD,KAAK,EAAE;MAC1B,IAAIyM,UAAU;MACd,IAAIC,GAAG,GAAGtG,IAAI,CAACsG,GAAG;MAClB,OAAOA,GAAG,KAAK,CAACD,UAAU,GAAGrG,IAAI,CAACK,IAAI,MAAM,IAAI,IAAIgG,UAAU,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,UAAU,CAAC5F,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG6F,GAAG,GAAG,IAAI;IACpI;IACA,IAAItG,IAAI,CAACK,IAAI,CAACI,UAAU,CAAC,QAAQ,CAAC,EAAE;MAClC,IAAI8F,WAAW,GAAGjJ,cAAc,CAACK,OAAO,CAAC3I,GAAG,CAACgL,IAAI,CAAC;MAClD,IAAIuG,WAAW,EAAE,OAAOA,WAAW;MACnC,IAAIC,OAAO,GAAG3H,GAAG,CAAC4H,eAAe,CAACzG,IAAI,CAAC;MACvC1C,cAAc,CAACK,OAAO,CAAC+I,GAAG,CAAC1G,IAAI,EAAEwG,OAAO,CAAC;MACzC,OAAOA,OAAO;IAChB;IACA,OAAO,IAAI;EACb,CAAC,EAAE,EAAE,CAAC;EACN,IAAI5L,QAAQ,EAAE;IACZ,IAAI+L,WAAW,GAAG,CAAC,CAAC,EAAElQ,YAAY,CAACmQ,cAAc,EAAE3L,UAAU,CAACgF,IAAI,IAAI7E,SAAS,CAACyL,SAAS,EAAE,CAAC,CAAC;IAC7F,OAAO,eAAgB,CAAC,CAAC,EAAE7Q,kBAAkB,CAAC8Q,GAAG,EAAEvQ,kBAAkB,CAACwQ,WAAW,EAAE;MACjFhM,EAAE;MACFkB,KAAK,EAAEhB,UAAU,CAACgB,KAAK;MACvBgE,IAAI,EAAEhF,UAAU,CAACgF,IAAI;MACrB7E,SAAS;MACT4L,QAAQ,EAAE,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC8Q,GAAG,EAAEtQ,eAAe,CAACyQ,QAAQ,EAAE;QAC9EC,OAAO,EAAE,SAAS;QAClB5P,KAAK,EAAE,MAAM;QACb6P,MAAM,EAAER;MACV,CAAC;IACH,CAAC,CAAC;EACJ;EACA,IAAIS,WAAW,GAAG,CAAC1M,QAAQ,IAAI,CAACC,QAAQ;EACxC,IAAI0M,OAAO,GAAG3K,aAAa,CAACiH,MAAM,GAAG,CAAC,IAAI/G,SAAS,CAAC+G,MAAM,GAAG,CAAC;EAC9D,IAAI2D,gBAAgB,GAAG,SAASC,iBAAiBA,CAACC,SAAS,EAAEC,OAAO,EAAE;IACpE,OAAOL,WAAW,GAAG,eAAgB,CAAC,CAAC,EAAEpR,kBAAkB,CAAC8Q,GAAG,EAAExQ,aAAa,CAACoR,MAAM,EAAE;MACrF;MACA;MACA;MACA;MACAC,MAAM,EAAE,IAAI;MACZC,QAAQ,EAAE,IAAI;MACdC,IAAI,EAAE3R,YAAY,CAAC4R,KAAK;MACxB,YAAY,EAAEN,SAAS;MACvB9P,eAAe,EAAEf,iBAAiB,CAACiB,kBAAkB,CAACmQ,UAAU,CAACjP,UAAU,CAACkP,IAAI;MAChFC,KAAK,EAAEtR,iBAAiB,CAACiB,kBAAkB,CAACmQ,UAAU,CAACG,GAAG;MAC1DC,UAAU,EAAE;QACVzQ,eAAe,EAAEf,iBAAiB,CAACiB,kBAAkB,CAACmQ,UAAU,CAACjP,UAAU,CAACsP;MAC9E,CAAC;MACDC,UAAU,EAAE;QACV3Q,eAAe,EAAEf,iBAAiB,CAACiB,kBAAkB,CAACmQ,UAAU,CAACjP,UAAU,CAACwP;MAC9E,CAAC;MACDb,OAAO,EAAE,SAASc,QAAQA,CAACrE,CAAC,EAAE;QAC5BA,CAAC,CAACsE,eAAe,CAAC,CAAC;QACnBf,OAAO,CAAC,CAAC;MACX;IACF,CAAC,CAAC,GAAG,IAAI;EACX,CAAC;EACD,IAAIgB,cAAc,GAAG,SAASC,eAAeA,CAAC1I,IAAI,EAAE2I,OAAO,EAAEC,KAAK,EAAE;IAClE,OAAO,eAAgB,CAAC,CAAC,EAAE5S,kBAAkB,CAAC6S,IAAI,EAAExS,eAAe,CAACyS,MAAM,EAAE;MAC1EC,IAAI,EAAE,CAAC;MACPC,GAAG,EAAE,IAAI;MACTvQ,UAAU,EAAE,QAAQ;MACpBuO,QAAQ,EAAE,CACR2B,OAAO,GAAG,eAAgB,CAAC,CAAC,EAAE3S,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAAC4S,KAAK,EAAE;QAC3E7M,YAAY,EAAEF,YAAY;QAC1B;QACA;QACAgN,GAAG,EAAEP,OAAO;QACZQ,GAAG,EAAEnJ,IAAI,CAACjL,IAAI;QACduC,KAAK,EAAE+E,UAAU;QACjB8K,MAAM,EAAE9K,UAAU;QAClB+M,SAAS,EAAE;MACb,CAAC,CAAC,GAAG,eAAgB,CAAC,CAAC,EAAEpT,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACyS,MAAM,EAAE;QACvExR,KAAK,EAAE+E,UAAU;QACjB8K,MAAM,EAAE9K,UAAU;QAClB3D,cAAc,EAAE,QAAQ;QACxBD,UAAU,EAAE,QAAQ;QACpBuO,QAAQ,EAAE,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC8Q,GAAG,EAAE5Q,YAAY,CAACmT,QAAQ,EAAE;UAC3EpJ,IAAI,EAAEzD;QACR,CAAC;MACH,CAAC,CAAC,EACF,eAAgB,CAAC,CAAC,EAAExG,kBAAkB,CAAC6S,IAAI,EAAExS,eAAe,CAACgB,MAAM,EAAE;QACnE0R,IAAI,EAAE,CAAC;QACPC,GAAG,EAAE,IAAI;QACThC,QAAQ,EAAE,CACR,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACiT,IAAI,EAAE;UAChEC,aAAa,EAAE,CAAC;UAChB,GAAGnO,SAAS,CAACoO,IAAI;UACjBxC,QAAQ,EAAEhH,IAAI,CAACjL;QACjB,CAAC,CAAC;QACF;AACZ;AACA;AACA;QACY;QAAgB,CAAC,CAAC,EAAEiB,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACiT,IAAI,EAAE;UAChEC,aAAa,EAAE,CAAC;UAChBtB,KAAK,EAAEtR,iBAAiB,CAAC8S,gBAAgB,CAACC,IAAI;UAC9C,GAAGtO,SAAS,CAACa,KAAK;UAClB0N,UAAU,EAAE,KAAK;UACjB3C,QAAQ,EAAE7H,cAAc,CAACa,IAAI,CAACC,IAAI;QACpC,CAAC,CAAC,EACF2I,KAAK;MAET,CAAC,CAAC;IAEN,CAAC,CAAC;EACJ,CAAC;EACD,IAAIgB,gBAAgB,GAAG,SAASC,iBAAiBA,CAACC,SAAS,EAAE1P,aAAa,EAAEyK,aAAa,EAAE;IACzF,IAAIkF,mCAAmC,EAAEC,oCAAoC,EAAEC,oCAAoC;IACnHrM,YAAY,CAACD,OAAO,GAAGvD,aAAa;IACpC,IAAI8P,YAAY,GAAG7T,eAAe,CAACuD,KAAK,GAAG4K,cAAc,GAAG,YAAW;MACrE,KAAKI,gBAAgB,CAACxK,aAAa,EAAEyK,aAAa,CAAC;IACrD,CAAC;IACD,IAAIsF,oBAAoB,GAAG/C,WAAW,GAAG/Q,eAAe,CAACuD,KAAK,GAAG;MAC/D;MACAwQ,IAAI,EAAE,QAAQ;MACdC,QAAQ,EAAE,CAAC;MACXvE,OAAO,EAAEI,eAAe;MACxBF,MAAM,EAAEG,cAAc;MACtBmE,MAAM,EAAE,SAAS;MACjBC,OAAO,EAAEhF,eAAe;MACxBiF,SAAS,EAAEhF,iBAAiB;MAC5B,IAAG/L,QAAQ,GAAG;QACZgR,WAAW,EAAExG,eAAe;QAC5ByG,UAAU,EAAEtG,cAAc;QAC1BuG,WAAW,EAAEtG,eAAe;QAC5BuG,MAAM,EAAE,SAASA,MAAMA,CAAC1G,CAAC,EAAE;UACzBI,UAAU,CAACJ,CAAC,EAAE9J,aAAa,CAAC;UAC5ByK,aAAa,KAAK,IAAI,IAAIA,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAAC,CAAC;QAC/E;MACF,CAAC,GAAG,IAAI;IACV,CAAC,GAAG;MACFuF,IAAI,EAAE,QAAQ;MACd3C,OAAO,EAAEyC;IACX,CAAC,GAAG;MACFI,MAAM,EAAE5P,QAAQ,GAAG,aAAa,GAAG,KAAK;IAC1C,CAAC;IACD,OAAO,eAAgB,CAAC,CAAC,EAAE1E,kBAAkB,CAAC6S,IAAI,EAAE1R,eAAe,EAAE;MACnE;MACA;MACA;MACA4D,EAAE;MACF8P,GAAG,EAAEjF,YAAY;MACjB,kBAAkB,EAAE,UAAU;MAC9B,gBAAgB,EAAE9I,UAAU,IAAIsK,WAAW,IAAI3N,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;MACzE,cAAc,EAAE+B,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;MAC7CsP,QAAQ,EAAE1P,SAAS,CAAC0P,QAAQ;MAC5B;MACA;MACA;MACA,IAAGpQ,QAAQ,GAAGW,aAAa,CAAC0P,gBAAgB,GAAG,KAAK,CAAC;MACrD3O,YAAY,EAAEF,YAAY;MAC1B;MACA8O,WAAW,EAAE,CAACjB,mCAAmC,GAAG3O,SAAS,CAACgB,YAAY,CAAC4O,WAAW,MAAM,IAAI,IAAIjB,mCAAmC,KAAK,KAAK,CAAC,GAAGA,mCAAmC,GAAG,CAAC;MAC5L,IAAGD,SAAS,GAAG;QACbnS,WAAW,EAAEhB,iBAAiB,CAAC8S,gBAAgB,CAACpH;MAClD,CAAC,GAAG,KAAK,CAAC;MACV4I,SAAS,EAAE7P,SAAS,CAAC6P,SAAS;MAC9BC,UAAU,EAAE9P,SAAS,CAAC8P,UAAU;MAChC;MACA;MACA;MACAC,SAAS,EAAE,CAAC,CAAC,EAAE1U,YAAY,CAACmQ,cAAc,EAAE3L,UAAU,CAACgF,IAAI,IAAI7E,SAAS,CAACyL,SAAS,EAAE,CAAC,CAAC;MACtF,eAAe,EAAE5L,UAAU,CAACe,QAAQ,IAAI,KAAK,CAAC;MAC9C,cAAc,EAAE,CAAC,CAAC8N,SAAS,IAAI,KAAK,CAAC;MACrC,eAAe,EAAEnP,QAAQ,IAAI,KAAK,CAAC;MACnC,eAAe,EAAED,QAAQ,IAAI,KAAK,CAAC;MACnC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAGc,WAAW,GAAGtD,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC;MAC7CiQ,UAAU,EAAEf,WAAW,GAAG;QACxBzP,WAAW,EAAEmS,SAAS,GAAGnT,iBAAiB,CAAC8S,gBAAgB,CAACpH,KAAK,GAAG1L,iBAAiB,CAACkC,eAAe,CAAChB,MAAM,CAACuQ,KAAK;QAClH;QACA;QACA1Q,eAAe,EAAEf,iBAAiB,CAACkC,eAAe,CAACC,UAAU,CAACC;MAChE,CAAC,GAAG,KAAK,CAAC;MACV,GAAGoR,oBAAoB;MACvB,IAAG/C,WAAW;MACZ;MACA;MACA;MACA;MACAnM,UAAU,CAACgB,KAAK,IAAIlB,EAAE,GAAG,IAAI,GAAG;QAC9B,YAAY,EAAE,OAAOE,UAAU,CAACgB,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,EAAErF,QAAQ,CAACiD,CAAC,EAAE,wBAAwB,EAAE;UAC7FoC,KAAK,EAAEhB,UAAU,CAACgB;QACpB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAErF,QAAQ,CAACiD,CAAC,EAAE,aAAa;MACpC,CAAC,GACC,IAAI;MACRmN,QAAQ,EAAE,CACRlK,UAAU,IAAIsK,WAAW,IAAI3N,QAAQ,GAAG,eAAgB,CAAC,CAAC,EAAEzD,kBAAkB,CAAC6S,IAAI,EAAEvQ,gBAAgB,EAAE;QACrG,kBAAkB,EAAE,SAAS;QAC7B8D,YAAY,EAAEF,YAAY;QAC1B8O,WAAW,EAAE,CAAChB,oCAAoC,GAAG5O,SAAS,CAACgB,YAAY,CAAC4O,WAAW,MAAM,IAAI,IAAIhB,oCAAoC,KAAK,KAAK,CAAC,GAAGA,oCAAoC,GAAG,CAAC;QAC/L,IAAGF,SAAS,GAAG;UACbnS,WAAW,EAAEhB,iBAAiB,CAAC8S,gBAAgB,CAACpH;QAClD,CAAC,GAAG,KAAK,CAAC;QACV,GAAGjH,SAAS,CAAC4N,GAAG;QAChB,GAAG5N,SAAS,CAACgQ,YAAY;QACzBpE,QAAQ,EAAE,CACR,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACyS,MAAM,EAAE;UAClExR,KAAK,EAAE+E,UAAU;UACjB8K,MAAM,EAAE9K,UAAU;UAClB5D,UAAU,EAAE,QAAQ;UACpBC,cAAc,EAAE,QAAQ;UACxB;UACA;UACA,GAAG;YACDuP,KAAK,EAAEtR,iBAAiB,CAAC8S,gBAAgB,CAACC;UAC5C,CAAC;UACD1C,QAAQ,EAAE,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC8Q,GAAG,EAAE5Q,YAAY,CAACmV,UAAU,EAAE;YAC7EpL,IAAI,EAAE5D,UAAU;YAChB,aAAa,EAAE;UACjB,CAAC;QACH,CAAC,CAAC,EACF,eAAgB,CAAC,CAAC,EAAErG,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACiT,IAAI,EAAE;UAChErB,KAAK,EAAEtR,iBAAiB,CAAC8S,gBAAgB,CAACC,IAAI;UAC9C4B,SAAS,EAAE,QAAQ;UACnB,GAAGlQ,SAAS,CAACoO,IAAI;UACjBxC,QAAQ,EAAExN,QAAQ,GAAG,CAAC,CAAC,EAAE5C,QAAQ,CAACiD,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAEjD,QAAQ,CAACiD,CAAC,EAAE,uBAAuB;QACxG,CAAC,CAAC;MAEN,CAAC,CAAC,GAAG,IAAI,EACT,eAAgB,CAAC,CAAC,EAAE7D,kBAAkB,CAAC6S,IAAI,EAAExS,eAAe,CAACgB,MAAM,EAAE;QACnE,GAAG+D,SAAS,CAACgQ,YAAY;QACzBG,QAAQ,EAAE,CAAC;QACXjU,KAAK,EAAE,MAAM;QACbmB,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxB,GAAG0C,SAAS,CAAC4N,GAAG;QAChBhC,QAAQ,EAAE,CACR,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC6S,IAAI,EAAExS,eAAe,CAACyS,MAAM,EAAE;UACnErQ,UAAU,EAAE,QAAQ;UACpB,GAAG2C,SAAS,CAAC4N,GAAG;UAChBhC,QAAQ,EAAE,CACR,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC8Q,GAAG,EAAExQ,aAAa,CAACoR,MAAM,EAAE;YAChED,OAAO,EAAEyC,YAAY;YACrBxP,QAAQ,EAAE,CAAC0M,WAAW;YACtBnH,IAAI,EAAE7E,SAAS,CAACyL,SAAS;YACzBwD,QAAQ,EAAE,CAAC,CAAC;YACZ;YACA;YACA;YACA;YACAxC,IAAI,EAAE3R,YAAY,CAACmV,UAAU;YAC7BrE,QAAQ,EAAE,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC8Q,GAAG,EAAExQ,aAAa,CAACoR,MAAM,CAAC4B,IAAI,EAAE;cAC/E,GAAGlO,SAAS,CAACoO,IAAI;cACjBxC,QAAQ,EAAElN;YACZ,CAAC;UACH,CAAC,CAAC,EACFgB,OAAO;QAEX,CAAC,CAAC,EACF4B,aAAa,CAACiH,MAAM,KAAK,CAAC,IAAI/G,SAAS,CAAC+G,MAAM,KAAK,CAAC,IAAI,eAAgB,CAAC,CAAC,EAAE3N,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACiT,IAAI,EAAE;UACxHrB,KAAK,EAAEtR,iBAAiB,CAAC8S,gBAAgB,CAAC+B,KAAK;UAC/CF,SAAS,EAAE,QAAQ;UACnB,GAAGlQ,SAAS,CAACoO,IAAI;UACjBxC,QAAQ,EAAErN;QACZ,CAAC,CAAC,EACFtD,eAAe,CAACuD,KAAK,GAAG,eAAgB,CAAC,CAAC,EAAE5D,kBAAkB,CAAC8Q,GAAG,EAAE,OAAO,EAAE;UAC3E+D,GAAG,EAAE3N,YAAY;UACjBmD,IAAI,EAAE,MAAM;UACZ/G,MAAM;UACNE,QAAQ;UACR6Q,QAAQ,EAAE,CAAC,CAAC;UACZnQ,QAAQ,EAAE,SAASA,QAAQA,CAACgK,CAAC,EAAE;YAC7BhB,gBAAgB,CAACgB,CAAC,CAACrP,MAAM,CAACsO,KAAK,EAAE/I,aAAa,EAAE8J,CAAC,CAACrP,MAAM,CAACsO,KAAK,CAAC;YAC/D0B,aAAa,KAAK,IAAI,IAAIA,aAAa,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,aAAa,CAAC,CAAC;UAC/E,CAAC;UACD4G,KAAK,EAAE;YACLC,OAAO,EAAE;UACX,CAAC;UACDhR,QAAQ,EAAE,CAAC0M;QACb,CAAC,CAAC,GAAG,IAAI;MAEb,CAAC,CAAC,EACFC,OAAO,IAAI,eAAgB,CAAC,CAAC,EAAErR,kBAAkB,CAAC6S,IAAI,EAAE7P,mBAAmB,EAAE;QAC3E,kBAAkB,EAAE,OAAO;QAC3B;QACAC,cAAc,EAAE,CAACgR,oCAAoC,GAAG7O,SAAS,CAACgB,YAAY,CAAC4O,WAAW,MAAM,IAAI,IAAIf,oCAAoC,KAAK,KAAK,CAAC,GAAGA,oCAAoC,GAAG,CAAC;QAClMjD,QAAQ,EAAE,CACRtK,aAAa,CAAC0D,GAAG,CAAC,UAASJ,IAAI,EAAE2L,KAAK,EAAE;UACtC,IAAIhD,OAAO,GAAGjP,WAAW,GAAG0M,cAAc,CAACpG,IAAI,CAAC,GAAG,IAAI;UACvD,OAAO,eAAgB,CAAC,CAAC,EAAEhK,kBAAkB,CAAC6S,IAAI,EAAExS,eAAe,CAACyS,MAAM,EAAE;YAC1ExR,KAAK,EAAE,MAAM;YACb,GAAG8D,SAAS,CAAC4N,GAAG;YAChBvQ,UAAU,EAAE,QAAQ;YACpBC,cAAc,EAAE,eAAe;YAC/B,GAAG0C,SAAS,CAACgQ,YAAY;YACzBpE,QAAQ,EAAE,CACRyB,cAAc,CAACzI,IAAI,EAAE2I,OAAO,CAAC,EAC7BrB,gBAAgB,CAAC,CAAC,CAAC,EAAE1Q,QAAQ,CAACiD,CAAC,EAAE,iBAAiB,EAAE;cAClD9E,IAAI,EAAEiL,IAAI,CAACjL;YACb,CAAC,CAAC,EAAE,YAAW;cACb,OAAO+O,gBAAgB,CAAC9D,IAAI,EAAE5F,aAAa,CAAC;YAC9C,CAAC,CAAC;UAEN,CAAC,EAAE,GAAG4F,IAAI,CAACjL,IAAI,IAAI4W,KAAK,EAAE,CAAC;QAC7B,CAAC,CAAC,EACF/O,SAAS,CAACwD,GAAG,CAAC,UAASpB,IAAI,EAAE;UAC3B,IAAI4M,WAAW;UACf,IAAIjD,OAAO,GAAGjP,WAAW,GAAG0M,cAAc,CAACpH,IAAI,CAACgB,IAAI,CAAC,GAAG,IAAI;UAC5D,IAAI6L,WAAW,GAAG7M,IAAI,CAACoD,MAAM,KAAK,WAAW;UAC7C,IAAI0J,MAAM,GAAG9M,IAAI,CAACoD,MAAM,KAAK,QAAQ,GAAGpD,IAAI,CAACqD,KAAK,GAAG,KAAK,CAAC;UAC3D,OAAO,eAAgB,CAAC,CAAC,EAAErM,kBAAkB,CAAC6S,IAAI,EAAExS,eAAe,CAACyS,MAAM,EAAE;YAC1E,sBAAsB,EAAE9J,IAAI,CAACoD,MAAM;YACnC9K,KAAK,EAAE,MAAM;YACb,GAAG8D,SAAS,CAAC4N,GAAG;YAChBvQ,UAAU,EAAE,QAAQ;YACpBC,cAAc,EAAE,eAAe;YAC/B,GAAG0C,SAAS,CAACgQ,YAAY;YACzBpE,QAAQ,EAAE,CACRyB,cAAc,CAACzJ,IAAI,CAACgB,IAAI,EAAE2I,OAAO,EAAE,eAAgB,CAAC,CAAC,EAAE3S,kBAAkB,CAAC6S,IAAI,EAAE7S,kBAAkB,CAAC+V,QAAQ,EAAE;cAC3G/E,QAAQ,EAAE,CACR6E,WAAW,GAAG,eAAgB,CAAC,CAAC,EAAE7V,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACgB,MAAM,EAAE;gBAChF,kBAAkB,EAAE,UAAU;gBAC9B+S,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,CAAC,CAAC,EAAExT,QAAQ,CAACiD,CAAC,EAAE,oBAAoB,EAAE;kBAClD9E,IAAI,EAAEiK,IAAI,CAACgB,IAAI,CAACjL;gBAClB,CAAC,CAAC;gBACF,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,GAAG;gBACpB,eAAe,EAAEiK,IAAI,CAAC2C,QAAQ;gBAC9BwF,MAAM,EAAE,EAAE;gBACV7P,KAAK,EAAE,MAAM;gBACb8E,YAAY,EAAE,GAAG;gBACjB1E,eAAe,EAAEf,iBAAiB,CAACiB,kBAAkB,CAAC+J,QAAQ,CAACqK,KAAK;gBACpExU,QAAQ,EAAE,QAAQ;gBAClBwP,QAAQ,EAAE,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACgB,MAAM,EAAE;kBAC5E8P,MAAM,EAAE,MAAM;kBACd7P,KAAK,EAAE,GAAG0H,IAAI,CAAC2C,QAAQ,GAAG;kBAC1BjK,eAAe,EAAEf,iBAAiB,CAACiB,kBAAkB,CAAC+J,QAAQ,CAACsK;gBACjE,CAAC;cACH,CAAC,CAAC,GAAG,IAAI,EACTH,MAAM,GAAG,eAAgB,CAAC,CAAC,EAAE9V,kBAAkB,CAAC6S,IAAI,EAAExS,eAAe,CAACgB,MAAM,EAAE;gBAC5E2R,GAAG,EAAE,IAAI;gBACThC,QAAQ,EAAE,CACR,eAAgB,CAAC,CAAC,EAAEhR,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACiT,IAAI,EAAE;kBAChErB,KAAK,EAAEtR,iBAAiB,CAAC8S,gBAAgB,CAACpH,KAAK;kBAC/C,GAAGjH,SAAS,CAACa,KAAK;kBAClB+K,QAAQ,EAAE8E,MAAM,CAAC7J;gBACnB,CAAC,CAAC,EACF,eAAgB,CAAC,CAAC,EAAEjM,kBAAkB,CAAC8Q,GAAG,EAAEzQ,eAAe,CAACiT,IAAI,EAAE;kBAChErB,KAAK,EAAEtR,iBAAiB,CAAC8S,gBAAgB,CAAC+B,KAAK;kBAC/C,GAAGpQ,SAAS,CAACa,KAAK;kBAClB+K,QAAQ,EAAE8E,MAAM,CAACxJ;gBACnB,CAAC,CAAC;cAEN,CAAC,CAAC,GAAG,IAAI;YAEb,CAAC,CAAC,CAAC,EACH,eAAgB,CAAC,CAAC,EAAEtM,kBAAkB,CAAC6S,IAAI,EAAExS,eAAe,CAACyS,MAAM,EAAE;cACnE,GAAG1N,SAAS,CAAC4N,GAAG;cAChBvQ,UAAU,EAAE,QAAQ;cACpBuO,QAAQ,EAAE,CACRI,WAAW,IAAI0E,MAAM,GAAG,eAAgB,CAAC,CAAC,EAAE9V,kBAAkB,CAAC8Q,GAAG,EAAExQ,aAAa,CAACoR,MAAM,EAAE;gBACxFoD,QAAQ,EAAE,IAAI;gBACd7K,IAAI,EAAE,IAAI;gBACV,YAAY,EAAE,CAAC,CAAC,EAAErJ,QAAQ,CAACiD,CAAC,EAAE,gBAAgB,EAAE;kBAC9C9E,IAAI,EAAEiK,IAAI,CAACgB,IAAI,CAACjL;gBAClB,CAAC,CAAC;gBACF0S,OAAO,EAAE,SAASA,OAAOA,CAACvD,CAAC,EAAE;kBAC3BA,CAAC,CAACsE,eAAe,CAAC,CAAC;kBACnB1F,mBAAmB,CAAC9D,IAAI,CAACjE,EAAE,CAAC;gBAC9B,CAAC;gBACDiM,QAAQ,EAAE,CAAC4E,WAAW,GAAGE,MAAM,CAACvJ,GAAG,MAAM,IAAI,IAAIqJ,WAAW,KAAK,KAAK,CAAC,GAAGA,WAAW,GAAG,CAAC,CAAC,EAAEhV,QAAQ,CAACiD,CAAC,EAAE,OAAO;cACjH,CAAC,CAAC,GAAG,IAAI,EACTgS,WAAW,GAAGvE,gBAAgB,CAAC,CAAC,CAAC,EAAE1Q,QAAQ,CAACiD,CAAC,EAAE,iBAAiB,EAAE;gBAChE9E,IAAI,EAAEiK,IAAI,CAACgB,IAAI,CAACjL;cAClB,CAAC,CAAC,EAAE,YAAW;gBACb,OAAO4N,oBAAoB,CAAC3D,IAAI,CAACjE,EAAE,CAAC;cACtC,CAAC,CAAC,GAAGuM,gBAAgB,CAAC,CAAC,CAAC,EAAE1Q,QAAQ,CAACiD,CAAC,EAAE,iBAAiB,EAAE;gBACvD9E,IAAI,EAAEiK,IAAI,CAACgB,IAAI,CAACjL;cAClB,CAAC,CAAC,EAAE,YAAW;gBACb,OAAOgO,oBAAoB,CAAC/D,IAAI,CAACjE,EAAE,CAAC;cACtC,CAAC,CAAC;YAEN,CAAC,CAAC;UAEN,CAAC,EAAEiE,IAAI,CAACjE,EAAE,CAAC;QACb,CAAC,CAAC;MAEN,CAAC,CAAC;IAEN,CAAC,CAAC;EACJ,CAAC;EACD,IAAI,CAACI,YAAY,IAAI,CAACpG,IAAI,EAAE;IAC1B,IAAImX,iBAAiB;IACrB,IAAIC,eAAe,GAAG,CAACD,iBAAiB,GAAGjR,UAAU,CAACoH,KAAK,MAAM,IAAI,IAAI6J,iBAAiB,KAAK,KAAK,CAAC,GAAGA,iBAAiB,GAAGlP,eAAe;IAC3I,OAAO,eAAgB,CAAC,CAAC,EAAEhH,kBAAkB,CAAC8Q,GAAG,EAAEvQ,kBAAkB,CAACwQ,WAAW,EAAE;MACjFhM,EAAE;MACFkB,KAAK,EAAEhB,UAAU,CAACgB,KAAK;MACvBmQ,UAAU,EAAEnR,UAAU,CAACmR,UAAU;MACjC/J,KAAK,EAAE8J,eAAe;MACtBE,UAAU,EAAEpR,UAAU,CAACoR,UAAU;MACjCrQ,QAAQ,EAAEf,UAAU,CAACe,QAAQ;MAC7BiE,IAAI,EAAEhF,UAAU,CAACgF,IAAI;MACrB7E,SAAS;MACT;MACA;MACAV,QAAQ;MACRsM,QAAQ,EAAE4C,gBAAgB,CAACuC,eAAe,EAAExQ,UAAU;IACxD,CAAC,CAAC;EACJ;EACA,OAAO,eAAgB,CAAC,CAAC,EAAE3F,kBAAkB,CAAC8Q,GAAG,EAAEvQ,kBAAkB,CAAC+V,KAAK,EAAE;IAC3ElT,YAAY;IACZC,IAAI,EAAE8B,YAAY;IAClBZ,IAAI;IACJxF,IAAI;IACJyF,aAAa;IACbC,UAAU,EAAEqB,kBAAkB;IAC9BkL,QAAQ,EAAE,SAASA,QAAQA,CAACuF,KAAK,EAAE;MACjC,IAAIC,cAAc;MAClB,IAAInK,KAAK,GAAG,CAACmK,cAAc,GAAG,CAAC,CAAC,EAAE/V,YAAY,CAACgW,aAAa,EAAEF,KAAK,EAAEtR,UAAU,CAACoH,KAAK,CAAC,MAAM,IAAI,IAAImK,cAAc,KAAK,KAAK,CAAC,GAAGA,cAAc,GAAGxP,eAAe;MAChK,OAAO,eAAgB,CAAC,CAAC,EAAEhH,kBAAkB,CAAC8Q,GAAG,EAAEvQ,kBAAkB,CAACwQ,WAAW,EAAE;QACjFhM,EAAE;QACFkB,KAAK,EAAEhB,UAAU,CAACgB,KAAK;QACvBmQ,UAAU,EAAEnR,UAAU,CAACmR,UAAU;QACjC/J,KAAK;QACLgK,UAAU,EAAEpR,UAAU,CAACoR,UAAU;QACjCrQ,QAAQ,EAAEf,UAAU,CAACe,QAAQ;QAC7BiE,IAAI,EAAEhF,UAAU,CAACgF,IAAI;QACrB7E,SAAS;QACT;QACAV,QAAQ;QACRsM,QAAQ,EAAE4C,gBAAgB,CAACvH,KAAK,EAAE,UAASxG,SAAS,EAAE;UACpD0Q,KAAK,CAACG,YAAY,CAAC7Q,SAAS,CAAC;UAC7BF,UAAU,CAACE,SAAS,CAAC;QACvB,CAAC,EAAE,CAAC,CAAC,EAAEpF,YAAY,CAACkW,iBAAiB,EAAEJ,KAAK,EAAE,YAAY,EAAEtR,UAAU,CAAC+K,MAAM,CAAC;MAChF,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","FileUpload_exports","FileUpload","module","exports","import_jsx_runtime","require","import_react","import_react2","import_tamagui","import_tamagui2","import_Button","import_fieldLayout","import_Skeleton","import_utils","import_theme","import_colorRamps","import_t","import_nativeFilePicker","_instanceof","left","right","Symbol","hasInstance","UploadAreaFrame","styled","YStack","width","position","overflow","borderStyle","backgroundColor","borderColor","formDropzoneColors","border","outlineWidth","outlineStyle","focusStyle","focusVisibleStyle","withZoneFocusRing","ring","ensureFocusVisibleRing","outlineOffset","DropOverlayFrame","top","bottom","alignItems","justifyContent","pointerEvents","zIndex","formInputColors","background","focus","UploadFileListFrame","borderTopWidth","borderTopColor","UploadTileGridFrame","XStack","flexWrap","props","defaultValue","form","accept","maxSize","multiple","dragDrop","showPreview","placeholder","isWeb","t","buttonText","onFileSelect","onFileRemove","onUpload","onChange","onChangeProp","onValueChange","onValueChangeProp","pickerMode","mode","preserveValue","validators","disabled","readOnly","skeleton","compact","actions","id","idProp","fieldProps","useProps","resolvedForm","knobProps","disabledState","useFormField","ensureKeyboardModalityTracking","kbZoneFocus","setKbZoneFocus","useState","emitChange","useCallback","nextValue","resolvedValidators","useResolvedValidators","required","label","cappedRadius","clampRadiusForLargeComponent","borderRadius","rowMediaPx","nestedControl","px","rowGlyphSize","controlIcon","tilePx","getFieldHeight","sizeToken","tileRemoveInset","Math","round","selectedFiles","setSelectedFiles","transfers","setTransfers","isDragOver","setIsDragOver","validationError","setValidationError","fileInputRef","useRef","zoneCleanupRef","lastZoneInputWasKeyboardRef","previewUrlsRef","Map","transferSeqRef","transfersRef","onUploadRef","current","emitFieldRef","multipleRef","setTransfersAndRef","updater","prev","next","useEffect","onKey","onKey2","onPointer","onPointer2","document","addEventListener","_zoneCleanupRef_current","removeEventListener","forEach","url","URL","revokeObjectURL","clear","item","controller","abort","formatFileSize","bytes","k","sizes","i","floor","log","Number","parseFloat","pow","toFixed","validateFile","file","size","acceptedTypes","split","map","type","trim","isAccepted","some","startsWith","toLowerCase","endsWith","match","replace","types","syncFieldValue","nextFiles","_nextFiles_","runTransfer","id2","upload","onProgress","percent","n","min","max","progress","signal","aborted","filter","err","DOMException","problem","Error","message","status","error","action","cta","startTransfer","item2","AbortController","handleCancelTransfer","find","row","handleRetryTransfer","handleRemoveTransfer","previewUrl","delete","handleFileSelect","files","rawFileList","fileArray","Array","isArray","validFiles","errors","push","length","join","slice","handleFileRemove","fileToRemove","dragDepthRef","handleDragEnter","e","preventDefault","handleDragOver","handleDragLeave","handleDrop","dataTransfer","openFileDialog","_fileInputRef_current","click","nativePickInFlightRef","openNativePicker","onBlurHandler","outcome","pickFilesNatively","unavailable","denied","canceled","isInteractiveChild","currentTarget","closest","interactive","handleZoneClick","handleZoneKeyDown","_e_preventDefault","paintZoneRing","wasKeyboardFocus","bindZoneNode","node","onFocus","onFocus2","onBlur","onBlur2","handleZoneFocus","handleZoneBlur","getFilePreview","_file_type","uri","existingUrl","nextUrl","createObjectURL","set","minHeightPx","jsx","FieldLayout","children","Skeleton","variant","height","canInteract","hasRows","renderRemoveDisc","renderRemoveDisc2","ariaLabel","onPress","Button","nested","circular","icon","XIcon","removeDisc","base","color","ink","hoverStyle","hover","pressStyle","press","onPress1","stopPropagation","renderFileMeta","renderFileMeta2","preview","extra","jsxs","flex","gap","Image","src","alt","objectFit","FileIcon","Text","numberOfLines","body","formCommonColors","text","fontWeight","renderImageTile","renderImageTile2","lastModified","renderUploadArea","renderUploadArea2","errorProp","_knobProps_borderRadius_borderWidth","_knobProps_borderRadius_borderWidth1","_knobProps_borderRadius_borderWidth2","requestFiles","zoneInteractionProps","role","tabIndex","cursor","onClick","onKeyDown","onDragEnter","onDragOver","onDragLeave","onDrop","imageTiles","fileRows","index","ref","outlined","surfaceKnobProps","borderWidth","elevation","transition","minHeight","panelPadding","UploadIcon","textAlign","flexGrow","muted","style","display","param","_failed_cta","isUploading","failed","Fragment","track","fill","_fieldProps_error","standaloneError","labelProps","helperText","Field","field","_getFieldError","getFieldError","handleChange","mergeFieldHandler"],"sources":["index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar FileUpload_exports = {};\n__export(FileUpload_exports, {\n FileUpload: () => FileUpload\n});\nmodule.exports = __toCommonJS(FileUpload_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_react2 = require(\"react\");\nvar import_tamagui = require(\"tamagui\");\nvar import_tamagui2 = require(\"tamagui\");\nvar import_Button = require(\"../../Button\");\nvar import_fieldLayout = require(\"../../fieldLayout\");\nvar import_Skeleton = require(\"../../Skeleton\");\nvar import_utils = require(\"../../shared/utils\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_colorRamps = require(\"../../shared/colorRamps\");\nvar import_t = require(\"../../shared/t\");\nvar import_nativeFilePicker = require(\"./nativeFilePicker\");\nfunction _instanceof(left, right) {\n \"@swc/helpers - instanceof\";\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nvar UploadAreaFrame = (0, import_tamagui2.styled)(import_tamagui2.YStack, {\n width: \"100%\",\n position: \"relative\",\n overflow: \"hidden\",\n borderStyle: \"dashed\",\n // BENTO-DERIVED (bento-pickers-measured.md §2/§4, MPO-57): the zone ground\n // is TRANSPARENT — the page shows through and the dashed edge is the whole\n // control. Only the LC-40 disabled wash paints the ground at rest; the\n // hover/drag $color4 flood is a held mpo state, not a ground.\n backgroundColor: \"transparent\",\n // The dash is the legible $color9 step (boards media-01..04: 1px dashed\n // rgb(77,77,77) light / rgb(133,133,133) dark) — formInputColors.border.base\n // ($borderColor) measured near-invisible as a dashed edge.\n borderColor: import_colorRamps.formDropzoneColors.border,\n // LC-71: kill UA :focus-visible on the dropzone. House ring is painted\n // only on keyboard-origin focus via wasKeyboardFocus() below — never the\n // 1px browser outline (forms-fileupload--standalone audit Cluster C).\n outlineWidth: 0,\n outlineStyle: \"none\",\n focusStyle: {\n outlineWidth: 0,\n outlineStyle: \"none\"\n },\n focusVisibleStyle: {\n outlineWidth: 0,\n outlineStyle: \"none\"\n }\n});\nfunction withZoneFocusRing() {\n var ring = (0, import_theme.ensureFocusVisibleRing)({\n outlineOffset: 0\n });\n return {\n ...ring,\n focusStyle: ring,\n focusVisibleStyle: ring\n };\n}\nvar DropOverlayFrame = (0, import_tamagui2.styled)(import_tamagui2.YStack, {\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n alignItems: \"center\",\n justifyContent: \"center\",\n pointerEvents: \"none\",\n zIndex: 2,\n backgroundColor: import_colorRamps.formInputColors.background.focus,\n borderStyle: \"solid\",\n borderColor: import_colorRamps.formInputColors.border.focus\n});\nvar UploadFileListFrame = (0, import_tamagui2.styled)(import_tamagui2.YStack, {\n width: \"100%\",\n borderTopWidth: 1,\n borderStyle: \"dashed\",\n borderTopColor: import_colorRamps.formDropzoneColors.border\n});\nvar UploadTileGridFrame = (0, import_tamagui2.styled)(import_tamagui2.XStack, {\n width: \"100%\",\n flexWrap: \"wrap\"\n});\nfunction FileUpload(props) {\n var {\n defaultValue,\n form,\n accept,\n maxSize,\n multiple = false,\n dragDrop = true,\n showPreview = true,\n // Bento caption on web; native has nothing to drag so the same slot is the tap hint.\n placeholder = import_tamagui2.isWeb ? (0, import_t.t)(\"Drag a file into this area\") : (0, import_t.t)(\"or tap to browse\"),\n buttonText = (0, import_t.t)(\"Choose File\"),\n onFileSelect,\n onFileRemove,\n onUpload,\n onChange: onChangeProp,\n onValueChange: onValueChangeProp,\n pickerMode = \"auto\",\n mode,\n name,\n preserveValue,\n validators,\n disabled,\n readOnly,\n skeleton,\n compact,\n actions,\n id: idProp,\n ...fieldProps\n } = (0, import_tamagui.useProps)(props);\n var { resolvedForm, knobProps, disabledState, id } = (0, import_utils.useFormField)({\n form,\n id: idProp,\n compact\n });\n if (import_tamagui2.isWeb) (0, import_theme.ensureKeyboardModalityTracking)();\n var [kbZoneFocus, setKbZoneFocus] = (0, import_react2.useState)(false);\n var emitChange = (0, import_react2.useCallback)(function(nextValue) {\n onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(nextValue);\n onValueChangeProp === null || onValueChangeProp === void 0 ? void 0 : onValueChangeProp(nextValue);\n }, [\n onChangeProp,\n onValueChangeProp\n ]);\n var resolvedValidators = (0, import_utils.useResolvedValidators)(fieldProps.required, validators, fieldProps.label, name);\n var cappedRadius = (0, import_utils.clampRadiusForLargeComponent)(knobProps.borderRadius.borderRadius);\n var rowMediaPx = knobProps.nestedControl.px;\n var rowGlyphSize = knobProps.controlIcon.width;\n var tilePx = (0, import_utils.getFieldHeight)(knobProps.sizeToken, 2);\n var tileRemoveInset = -Math.round(knobProps.nestedControl.px / 4);\n var [selectedFiles, setSelectedFiles] = (0, import_react2.useState)([]);\n var [transfers, setTransfers] = (0, import_react2.useState)([]);\n var [isDragOver, setIsDragOver] = (0, import_react2.useState)(false);\n var [validationError, setValidationError] = (0, import_react2.useState)();\n var fileInputRef = (0, import_react2.useRef)(null);\n var zoneCleanupRef = (0, import_react2.useRef)(null);\n var lastZoneInputWasKeyboardRef = (0, import_react2.useRef)(false);\n var previewUrlsRef = (0, import_react2.useRef)(/* @__PURE__ */ new Map());\n var transferSeqRef = (0, import_react2.useRef)(0);\n var transfersRef = (0, import_react2.useRef)([]);\n var onUploadRef = (0, import_react2.useRef)(onUpload);\n onUploadRef.current = onUpload;\n var emitFieldRef = (0, import_react2.useRef)(void 0);\n var multipleRef = (0, import_react2.useRef)(multiple);\n multipleRef.current = multiple;\n var setTransfersAndRef = (0, import_react2.useCallback)(function(updater) {\n setTransfers(function(prev) {\n var next = updater(prev);\n transfersRef.current = next;\n return next;\n });\n }, []);\n (0, import_react2.useEffect)(function() {\n if (!import_tamagui2.isWeb) return;\n (0, import_theme.ensureKeyboardModalityTracking)();\n var onKey = function onKey2() {\n lastZoneInputWasKeyboardRef.current = true;\n };\n var onPointer = function onPointer2() {\n lastZoneInputWasKeyboardRef.current = false;\n };\n document.addEventListener(\"keydown\", onKey, true);\n document.addEventListener(\"pointerdown\", onPointer, true);\n return function() {\n var _zoneCleanupRef_current;\n document.removeEventListener(\"keydown\", onKey, true);\n document.removeEventListener(\"pointerdown\", onPointer, true);\n previewUrlsRef.current.forEach(function(url) {\n return URL.revokeObjectURL(url);\n });\n previewUrlsRef.current.clear();\n transfersRef.current.forEach(function(item) {\n return item.controller.abort();\n });\n (_zoneCleanupRef_current = zoneCleanupRef.current) === null || _zoneCleanupRef_current === void 0 ? void 0 : _zoneCleanupRef_current.call(zoneCleanupRef);\n zoneCleanupRef.current = null;\n };\n }, []);\n var formatFileSize = (0, import_react2.useCallback)(function(bytes) {\n if (bytes === 0) return (0, import_t.t)(\"0 Bytes\");\n var k = 1024;\n var sizes = [\n \"Bytes\",\n \"KB\",\n \"MB\",\n \"GB\"\n ];\n var i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${Number.parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${(0, import_t.t)(sizes[i])}`;\n }, []);\n var validateFile = (0, import_react2.useCallback)(function(file) {\n if (maxSize && file.size > maxSize) {\n return (0, import_t.t)(\"File size must be less than {{size}}\", {\n size: formatFileSize(maxSize)\n });\n }\n if (accept) {\n var acceptedTypes = accept.split(\",\").map(function(type) {\n return type.trim();\n });\n var isAccepted = acceptedTypes.some(function(type) {\n if (type.startsWith(\".\")) {\n return file.name.toLowerCase().endsWith(type.toLowerCase());\n }\n return file.type.match(type.replace(\"*\", \".*\"));\n });\n if (!isAccepted) {\n return (0, import_t.t)(\"File type not accepted. Accepted types: {{types}}\", {\n types: accept\n });\n }\n }\n return null;\n }, [\n maxSize,\n accept,\n formatFileSize\n ]);\n var syncFieldValue = (0, import_react2.useCallback)(function(nextFiles, onValueChange) {\n var _nextFiles_;\n if (!onValueChange) return;\n if (multiple) {\n onValueChange(nextFiles);\n return;\n }\n onValueChange((_nextFiles_ = nextFiles[0]) !== null && _nextFiles_ !== void 0 ? _nextFiles_ : null);\n }, [\n multiple\n ]);\n var runTransfer = (0, import_react2.useCallback)(async function(id2, file, controller) {\n var upload = onUploadRef.current;\n if (!upload) return;\n try {\n await upload(file, {\n onProgress: function onProgress(percent) {\n var n = Math.min(100, Math.max(0, Math.round(Number(percent) || 0)));\n setTransfersAndRef(function(prev) {\n return prev.map(function(item) {\n return item.id === id2 ? {\n ...item,\n progress: n\n } : item;\n });\n });\n },\n signal: controller.signal\n });\n if (controller.signal.aborted) return;\n setTransfersAndRef(function(prev) {\n return prev.filter(function(item) {\n return item.id !== id2;\n });\n });\n setSelectedFiles(function(prev) {\n var nextFiles = multipleRef.current ? [\n ...prev,\n file\n ] : [\n file\n ];\n syncFieldValue(nextFiles, emitFieldRef.current);\n return nextFiles;\n });\n } catch (err) {\n if (controller.signal.aborted || _instanceof(err, DOMException) && err.name === \"AbortError\") {\n setTransfersAndRef(function(prev) {\n return prev.filter(function(item) {\n return item.id !== id2;\n });\n });\n return;\n }\n var problem = _instanceof(err, Error) && err.message ? err.message : (0, import_t.t)(\"Upload failed\");\n setTransfersAndRef(function(prev) {\n return prev.map(function(item) {\n return item.id === id2 ? {\n ...item,\n status: \"failed\",\n error: {\n problem,\n action: (0, import_t.t)(\"Try again or remove the file\"),\n cta: (0, import_t.t)(\"Retry\")\n }\n } : item;\n });\n });\n }\n }, [\n setTransfersAndRef,\n syncFieldValue\n ]);\n var startTransfer = (0, import_react2.useCallback)(function(file) {\n if (!multipleRef.current) {\n transfersRef.current.forEach(function(item2) {\n return item2.controller.abort();\n });\n setTransfersAndRef(function() {\n return [];\n });\n }\n var id2 = `xfer-${++transferSeqRef.current}`;\n var controller = new AbortController();\n var item = {\n id: id2,\n file,\n status: \"uploading\",\n progress: 0,\n controller\n };\n setTransfersAndRef(function(prev) {\n return [\n ...prev,\n item\n ];\n });\n void runTransfer(id2, file, controller);\n }, [\n runTransfer,\n setTransfersAndRef\n ]);\n var handleCancelTransfer = (0, import_react2.useCallback)(function(id2) {\n var item = transfersRef.current.find(function(row) {\n return row.id === id2;\n });\n item === null || item === void 0 ? void 0 : item.controller.abort();\n setTransfersAndRef(function(prev) {\n return prev.filter(function(row) {\n return row.id !== id2;\n });\n });\n }, [\n setTransfersAndRef\n ]);\n var handleRetryTransfer = (0, import_react2.useCallback)(function(id2) {\n var item = transfersRef.current.find(function(row) {\n return row.id === id2;\n });\n if (!item) return;\n item.controller.abort();\n var controller = new AbortController();\n setTransfersAndRef(function(prev) {\n return prev.map(function(row) {\n return row.id === id2 ? {\n ...row,\n status: \"uploading\",\n progress: 0,\n error: void 0,\n controller\n } : row;\n });\n });\n void runTransfer(id2, item.file, controller);\n }, [\n runTransfer,\n setTransfersAndRef\n ]);\n var handleRemoveTransfer = (0, import_react2.useCallback)(function(id2) {\n var item = transfersRef.current.find(function(row) {\n return row.id === id2;\n });\n item === null || item === void 0 ? void 0 : item.controller.abort();\n if (import_tamagui2.isWeb && item) {\n var previewUrl = previewUrlsRef.current.get(item.file);\n if (previewUrl) {\n URL.revokeObjectURL(previewUrl);\n previewUrlsRef.current.delete(item.file);\n }\n }\n setTransfersAndRef(function(prev) {\n return prev.filter(function(row) {\n return row.id !== id2;\n });\n });\n }, [\n setTransfersAndRef\n ]);\n var handleFileSelect = (0, import_react2.useCallback)(function(files, onValueChange, rawFileList) {\n if (!files) return;\n var fileArray = Array.isArray(files) ? files : Array.from(files);\n var validFiles = [];\n var errors = [];\n fileArray.forEach(function(file) {\n var error = validateFile(file);\n if (error) {\n errors.push(`${file.name}: ${error}`);\n } else {\n validFiles.push(file);\n }\n });\n setValidationError(errors.length > 0 ? errors.join(\"\\n\") : void 0);\n if (validFiles.length > 0) {\n emitFieldRef.current = onValueChange;\n if (onUploadRef.current) {\n validFiles.forEach(function(file) {\n return startTransfer(file);\n });\n } else {\n setSelectedFiles(function(prev) {\n var nextFiles = multiple ? [\n ...prev,\n ...validFiles\n ] : validFiles.slice(0, 1);\n syncFieldValue(nextFiles, onValueChange);\n return nextFiles;\n });\n }\n onFileSelect === null || onFileSelect === void 0 ? void 0 : onFileSelect(rawFileList !== null && rawFileList !== void 0 ? rawFileList : Array.isArray(files) ? null : files);\n }\n }, [\n multiple,\n validateFile,\n onFileSelect,\n syncFieldValue,\n startTransfer\n ]);\n var handleFileRemove = (0, import_react2.useCallback)(function(fileToRemove, onValueChange) {\n if (import_tamagui2.isWeb) {\n var previewUrl = previewUrlsRef.current.get(fileToRemove);\n if (previewUrl) {\n URL.revokeObjectURL(previewUrl);\n previewUrlsRef.current.delete(fileToRemove);\n }\n }\n setSelectedFiles(function(prev) {\n var nextFiles = prev.filter(function(file) {\n return file !== fileToRemove;\n });\n syncFieldValue(nextFiles, onValueChange);\n return nextFiles;\n });\n onFileRemove === null || onFileRemove === void 0 ? void 0 : onFileRemove(fileToRemove);\n }, [\n onFileRemove,\n syncFieldValue\n ]);\n var dragDepthRef = (0, import_react2.useRef)(0);\n var handleDragEnter = (0, import_react2.useCallback)(function(e) {\n e.preventDefault();\n if (dragDrop) {\n dragDepthRef.current += 1;\n setIsDragOver(true);\n }\n }, [\n dragDrop\n ]);\n var handleDragOver = (0, import_react2.useCallback)(function(e) {\n e.preventDefault();\n if (dragDrop) {\n setIsDragOver(true);\n }\n }, [\n dragDrop\n ]);\n var handleDragLeave = (0, import_react2.useCallback)(function(e) {\n e.preventDefault();\n dragDepthRef.current = Math.max(0, dragDepthRef.current - 1);\n if (dragDepthRef.current === 0) {\n setIsDragOver(false);\n }\n }, []);\n var handleDrop = (0, import_react2.useCallback)(function(e, onValueChange) {\n e.preventDefault();\n dragDepthRef.current = 0;\n setIsDragOver(false);\n if (dragDrop && e.dataTransfer.files) {\n handleFileSelect(e.dataTransfer.files, onValueChange, e.dataTransfer.files);\n }\n }, [\n dragDrop,\n handleFileSelect\n ]);\n var openFileDialog = (0, import_react2.useCallback)(function() {\n var _fileInputRef_current;\n if (disabled || readOnly) return;\n (_fileInputRef_current = fileInputRef.current) === null || _fileInputRef_current === void 0 ? void 0 : _fileInputRef_current.click();\n }, [\n disabled,\n readOnly\n ]);\n var nativePickInFlightRef = (0, import_react2.useRef)(false);\n var openNativePicker = (0, import_react2.useCallback)(async function(onValueChange, onBlurHandler) {\n if (disabled || readOnly || nativePickInFlightRef.current) return;\n nativePickInFlightRef.current = true;\n try {\n var outcome = await (0, import_nativeFilePicker.pickFilesNatively)({\n accept,\n multiple,\n mode: pickerMode\n });\n if (outcome.unavailable) {\n setValidationError((0, import_t.t)(\"No file picker is available on this device.\"));\n return;\n }\n if (outcome.denied) {\n setValidationError((0, import_t.t)(\"Permission to open your photo library was denied.\"));\n return;\n }\n if (outcome.canceled || outcome.files.length === 0) return;\n handleFileSelect(outcome.files, onValueChange);\n onBlurHandler === null || onBlurHandler === void 0 ? void 0 : onBlurHandler();\n } finally {\n nativePickInFlightRef.current = false;\n }\n }, [\n accept,\n disabled,\n handleFileSelect,\n multiple,\n pickerMode,\n readOnly\n ]);\n var isInteractiveChild = (0, import_react2.useCallback)(function(e) {\n var target = e.target;\n var current = e.currentTarget;\n if (!(target === null || target === void 0 ? void 0 : target.closest) || !current) return false;\n var interactive = target.closest('button, a, input, select, textarea, [role=\"button\"]');\n return !!interactive && interactive !== current;\n }, []);\n var handleZoneClick = (0, import_react2.useCallback)(function(e) {\n if (isInteractiveChild(e)) return;\n openFileDialog();\n }, [\n isInteractiveChild,\n openFileDialog\n ]);\n var handleZoneKeyDown = (0, import_react2.useCallback)(function(e) {\n if (e.target !== e.currentTarget) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n var _e_preventDefault;\n (_e_preventDefault = e.preventDefault) === null || _e_preventDefault === void 0 ? void 0 : _e_preventDefault.call(e);\n openFileDialog();\n }\n }, [\n openFileDialog\n ]);\n var paintZoneRing = (0, import_react2.useCallback)(function() {\n if (lastZoneInputWasKeyboardRef.current || (0, import_theme.wasKeyboardFocus)()) setKbZoneFocus(true);\n }, []);\n var bindZoneNode = (0, import_react2.useCallback)(function(node) {\n var _zoneCleanupRef_current;\n (_zoneCleanupRef_current = zoneCleanupRef.current) === null || _zoneCleanupRef_current === void 0 ? void 0 : _zoneCleanupRef_current.call(zoneCleanupRef);\n zoneCleanupRef.current = null;\n if (!node || !import_tamagui2.isWeb) return;\n var onFocus = function onFocus2() {\n return paintZoneRing();\n };\n var onBlur = function onBlur2() {\n return setKbZoneFocus(false);\n };\n node.addEventListener(\"focus\", onFocus);\n node.addEventListener(\"blur\", onBlur);\n zoneCleanupRef.current = function() {\n node.removeEventListener(\"focus\", onFocus);\n node.removeEventListener(\"blur\", onBlur);\n };\n }, [\n paintZoneRing\n ]);\n var handleZoneFocus = paintZoneRing;\n var handleZoneBlur = (0, import_react2.useCallback)(function() {\n setKbZoneFocus(false);\n }, []);\n var getFilePreview = (0, import_react2.useCallback)(function(file) {\n if (!import_tamagui2.isWeb) {\n var _file_type;\n var uri = file.uri;\n return uri && ((_file_type = file.type) === null || _file_type === void 0 ? void 0 : _file_type.startsWith(\"image/\")) ? uri : null;\n }\n if (file.type.startsWith(\"image/\")) {\n var existingUrl = previewUrlsRef.current.get(file);\n if (existingUrl) return existingUrl;\n var nextUrl = URL.createObjectURL(file);\n previewUrlsRef.current.set(file, nextUrl);\n return nextUrl;\n }\n return null;\n }, []);\n if (skeleton) {\n var minHeightPx = (0, import_utils.getFieldHeight)(fieldProps.size || knobProps.sizeToken, 5);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {\n id,\n label: fieldProps.label,\n size: fieldProps.size,\n knobProps,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Skeleton.Skeleton, {\n variant: \"rounded\",\n width: \"100%\",\n height: minHeightPx\n })\n });\n }\n var canInteract = !disabled && !readOnly;\n var hasRows = selectedFiles.length > 0 || transfers.length > 0;\n var renderRemoveDisc = function renderRemoveDisc2(ariaLabel, onPress) {\n return canInteract ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, {\n // Bento remove: a filled $color12 disc with the inverse\n // ✕ — painted at nestedControl (32) with hitSlop\n // restoring the 44 floor via `nested` (held exception);\n // the nested icon step lands the board's 14px ✕.\n nested: true,\n circular: true,\n icon: import_react.XIcon,\n \"aria-label\": ariaLabel,\n backgroundColor: import_colorRamps.formDropzoneColors.removeDisc.background.base,\n color: import_colorRamps.formDropzoneColors.removeDisc.ink,\n hoverStyle: {\n backgroundColor: import_colorRamps.formDropzoneColors.removeDisc.background.hover\n },\n pressStyle: {\n backgroundColor: import_colorRamps.formDropzoneColors.removeDisc.background.press\n },\n onPress: function onPress1(e) {\n e.stopPropagation();\n onPress();\n }\n }) : null;\n };\n var renderFileMeta = function renderFileMeta2(file, preview, extra) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n flex: 1,\n gap: \"$2\",\n alignItems: \"center\",\n children: [\n preview ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Image, {\n borderRadius: cappedRadius,\n // src (string), not source: the RN source object leaks\n // onto the DOM <img> as source=\"[object Object]\" on web\n src: preview,\n alt: file.name,\n width: rowMediaPx,\n height: rowMediaPx,\n objectFit: \"cover\"\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.XStack, {\n width: rowMediaPx,\n height: rowMediaPx,\n justifyContent: \"center\",\n alignItems: \"center\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.FileIcon, {\n size: rowGlyphSize\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {\n flex: 1,\n gap: \"$1\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n numberOfLines: 1,\n ...knobProps.body,\n children: file.name\n }),\n /* Bento (bento-pickers-measured.md §2): the size is a\n SECOND LINE, BOLD, one type step down (the label\n tier — 13/24 at medium). The 700 is the Bento\n treatment, a deliberate eject over the weight knob. */\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n numberOfLines: 1,\n color: import_colorRamps.formCommonColors.text,\n ...knobProps.label,\n fontWeight: \"700\",\n children: formatFileSize(file.size)\n }),\n extra\n ]\n })\n ]\n });\n };\n var renderImageTile = function renderImageTile2(file, preview, onValueChange) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {\n \"data-file-upload\": \"tile\",\n position: \"relative\",\n width: tilePx,\n height: tilePx,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Image, {\n borderRadius: cappedRadius,\n // src (string), not source: the RN source object leaks\n // onto the DOM <img> as source=\"[object Object]\" on web\n src: preview,\n alt: file.name,\n width: tilePx,\n height: tilePx,\n objectFit: \"cover\"\n }),\n canInteract ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.YStack, {\n \"data-file-upload\": \"tile-remove\",\n position: \"absolute\",\n top: tileRemoveInset,\n right: tileRemoveInset,\n zIndex: 1,\n children: renderRemoveDisc((0, import_t.t)(\"Remove {{name}}\", {\n name: file.name\n }), function() {\n return handleFileRemove(file, onValueChange);\n })\n }) : null\n ]\n }, `${file.name}-${file.size}-${file.lastModified}`);\n };\n var renderUploadArea = function renderUploadArea2(errorProp, onValueChange, onBlurHandler) {\n var _knobProps_borderRadius_borderWidth, _knobProps_borderRadius_borderWidth1, _knobProps_borderRadius_borderWidth2;\n emitFieldRef.current = onValueChange;\n var requestFiles = import_tamagui2.isWeb ? openFileDialog : function() {\n void openNativePicker(onValueChange, onBlurHandler);\n };\n var zoneInteractionProps = canInteract ? import_tamagui2.isWeb ? {\n // DROPZONE-FULL-TARGET: the entire surface is the click target.\n role: \"button\",\n tabIndex: 0,\n onFocus: handleZoneFocus,\n onBlur: handleZoneBlur,\n cursor: \"pointer\",\n onClick: handleZoneClick,\n onKeyDown: handleZoneKeyDown,\n ...dragDrop ? {\n onDragEnter: handleDragEnter,\n onDragOver: handleDragOver,\n onDragLeave: handleDragLeave,\n onDrop: function onDrop(e) {\n handleDrop(e, onValueChange);\n onBlurHandler === null || onBlurHandler === void 0 ? void 0 : onBlurHandler();\n }\n } : null\n } : {\n role: \"button\",\n onPress: requestFiles\n } : {\n cursor: disabled ? \"not-allowed\" : void 0\n };\n var imageTiles = [];\n var fileRows = [];\n selectedFiles.forEach(function(file, index) {\n var preview = showPreview ? getFilePreview(file) : null;\n if (preview) imageTiles.push({\n file,\n preview\n });\n else fileRows.push({\n file,\n preview,\n index\n });\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploadAreaFrame, {\n // The dropzone is this field's control: it carries the FieldLayout id\n // so the rendered `<label htmlFor>` resolves (family pattern — see\n // Barcode / ColorPicker for other non-native-input controls).\n id,\n ref: bindZoneNode,\n \"data-file-upload\": \"dropzone\",\n \"data-drag-over\": isDragOver && canInteract && dragDrop ? \"true\" : void 0,\n \"data-kb-ring\": kbZoneFocus ? \"true\" : void 0,\n outlined: knobProps.outlined,\n // LC-40: text-bearing chrome — surface wash, not an opacity dim\n // (a dim here stacks with the inner Button's treatment). This is the\n // ONLY treatment that paints the transparent zone ground at rest.\n ...disabled ? disabledState.surfaceKnobProps : void 0,\n borderRadius: cappedRadius,\n // Keep width stable on drag (Polaris overlay, not a 1→2 layout shift).\n borderWidth: (_knobProps_borderRadius_borderWidth = knobProps.borderRadius.borderWidth) !== null && _knobProps_borderRadius_borderWidth !== void 0 ? _knobProps_borderRadius_borderWidth : 1,\n ...errorProp ? {\n borderColor: import_colorRamps.formCommonColors.error\n } : void 0,\n elevation: knobProps.elevation,\n transition: knobProps.transition,\n // CONTRACT (boards media-01..03): the getFieldHeight floor sits on\n // the FRAME, so the frame border-box measures 220 — hanging it on\n // the inner stack painted 222, a number no token expresses.\n minHeight: (0, import_utils.getFieldHeight)(fieldProps.size || knobProps.sizeToken, 5),\n \"aria-required\": fieldProps.required || void 0,\n \"aria-invalid\": !!errorProp || void 0,\n \"aria-readonly\": readOnly || void 0,\n \"aria-disabled\": disabled || void 0,\n // One family ring rule (boards media-01 dz-ring): 2px $outlineColor at\n // offset 0. The old -2 inset was the F1 defect — an element's own\n // outline is never clipped by its own overflow:hidden.\n //\n // The ring must ALSO be spread into focusStyle/focusVisibleStyle. The\n // base props alone lose: the frame's LC-71 kill is a :focus-visible\n // rule, the browser matches :focus-visible on a keyboard-origin focus,\n // and a pseudo-class rule outranks the plain-class atom — the zone\n // carried `_outlineWidth-2px` AND `_outlineWidth-0focus-visible-0px`\n // and computed outline-width 0px. Measured on the harness, not read off\n // the source: the pre-fix spec asserted the atom's PRESENCE, which was\n // true while nothing painted.\n ...kbZoneFocus ? withZoneFocusRing() : void 0,\n hoverStyle: canInteract ? {\n borderColor: errorProp ? import_colorRamps.formCommonColors.error : import_colorRamps.formInputColors.border.hover,\n // Held exception: the measured mpo $color4 hover flood stays\n // (Bento's hover/drag states were not measurable headlessly).\n backgroundColor: import_colorRamps.formInputColors.background.focus\n } : void 0,\n ...zoneInteractionProps,\n ...canInteract ? (\n // Labeled fields get aria-labelledby auto-wired by the FieldLayout\n // Label (tamagui Label htmlFor → this id); the aria-label fallback\n // covers label-less usage, and is what a screen reader announces\n // for the native press target too.\n fieldProps.label && id ? null : {\n \"aria-label\": typeof fieldProps.label === \"string\" ? (0, import_t.t)(\"{{label}}: choose file\", {\n label: fieldProps.label\n }) : (0, import_t.t)(\"Choose file\")\n }\n ) : null,\n children: [\n isDragOver && canInteract && dragDrop ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DropOverlayFrame, {\n \"data-file-upload\": \"overlay\",\n borderRadius: cappedRadius,\n borderWidth: (_knobProps_borderRadius_borderWidth1 = knobProps.borderRadius.borderWidth) !== null && _knobProps_borderRadius_borderWidth1 !== void 0 ? _knobProps_borderRadius_borderWidth1 : 1,\n ...errorProp ? {\n borderColor: import_colorRamps.formCommonColors.error\n } : void 0,\n ...knobProps.gap,\n ...knobProps.panelPadding,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.XStack, {\n width: rowMediaPx,\n height: rowMediaPx,\n alignItems: \"center\",\n justifyContent: \"center\",\n // `color` tints the phosphor glyph via currentColor; Tamagui applies\n // it on web Stacks though the RN-flavored View type omits it.\n ...{\n color: import_colorRamps.formCommonColors.text\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.UploadIcon, {\n size: rowMediaPx,\n \"aria-hidden\": true\n })\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n color: import_colorRamps.formCommonColors.text,\n textAlign: \"center\",\n ...knobProps.body,\n children: multiple ? (0, import_t.t)(\"Drop files to upload\") : (0, import_t.t)(\"Drop a file to upload\")\n })\n ]\n }) : null,\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {\n ...knobProps.panelPadding,\n flexGrow: 1,\n width: \"100%\",\n alignItems: \"center\",\n justifyContent: \"center\",\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n alignItems: \"center\",\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, {\n onPress: requestFiles,\n disabled: !canInteract,\n size: knobProps.sizeToken,\n tabIndex: -1,\n // BENTO-DERIVED (bento-pickers-measured.md §2/§4): NO standalone\n // glyph exists — the upload mark rides INSIDE the CTA. Held at\n // the house 44 control with the recipe's 16px icon (Bento draws\n // 14 on its own 36/$3 button — ruled exception).\n icon: import_react.UploadIcon,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button.Text, {\n ...knobProps.body,\n children: buttonText\n })\n }),\n actions\n ]\n }),\n selectedFiles.length === 0 && transfers.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n color: import_colorRamps.formCommonColors.muted,\n textAlign: \"center\",\n ...knobProps.body,\n children: placeholder\n }),\n import_tamagui2.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"input\", {\n ref: fileInputRef,\n type: \"file\",\n accept,\n multiple,\n tabIndex: -1,\n onChange: function onChange(e) {\n handleFileSelect(e.target.files, onValueChange, e.target.files);\n onBlurHandler === null || onBlurHandler === void 0 ? void 0 : onBlurHandler();\n },\n style: {\n display: \"none\"\n },\n disabled: !canInteract\n }) : null\n ]\n }),\n hasRows && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploadFileListFrame, {\n \"data-file-upload\": \"files\",\n // The hairline tracks the frame edge's knob width — one dash voice.\n borderTopWidth: (_knobProps_borderRadius_borderWidth2 = knobProps.borderRadius.borderWidth) !== null && _knobProps_borderRadius_borderWidth2 !== void 0 ? _knobProps_borderRadius_borderWidth2 : 1,\n children: [\n imageTiles.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UploadTileGridFrame, {\n \"data-file-upload\": \"tiles\",\n ...knobProps.gap,\n ...knobProps.panelPadding,\n children: imageTiles.map(function(param) {\n var { file, preview } = param;\n return renderImageTile(file, preview, onValueChange);\n })\n }) : null,\n fileRows.map(function(param) {\n var { file, preview, index } = param;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n width: \"100%\",\n ...knobProps.gap,\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...knobProps.panelPadding,\n children: [\n renderFileMeta(file, preview),\n renderRemoveDisc((0, import_t.t)(\"Remove {{name}}\", {\n name: file.name\n }), function() {\n return handleFileRemove(file, onValueChange);\n })\n ]\n }, `${file.name}-${index}`);\n }),\n transfers.map(function(item) {\n var _failed_cta;\n var preview = showPreview ? getFilePreview(item.file) : null;\n var isUploading = item.status === \"uploading\";\n var failed = item.status === \"failed\" ? item.error : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n \"data-transfer-status\": item.status,\n width: \"100%\",\n ...knobProps.gap,\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...knobProps.panelPadding,\n children: [\n renderFileMeta(item.file, preview, /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {\n children: [\n isUploading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.YStack, {\n \"data-file-upload\": \"progress\",\n role: \"progressbar\",\n \"aria-label\": (0, import_t.t)(\"Uploading {{name}}\", {\n name: item.file.name\n }),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": item.progress,\n height: 11,\n width: \"100%\",\n borderRadius: 1e3,\n backgroundColor: import_colorRamps.formDropzoneColors.progress.track,\n overflow: \"hidden\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.YStack, {\n height: \"100%\",\n width: `${item.progress}%`,\n backgroundColor: import_colorRamps.formDropzoneColors.progress.fill\n })\n }) : null,\n failed ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {\n gap: \"$1\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n color: import_colorRamps.formCommonColors.error,\n ...knobProps.label,\n children: failed.problem\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui2.Text, {\n color: import_colorRamps.formCommonColors.muted,\n ...knobProps.label,\n children: failed.action\n })\n ]\n }) : null\n ]\n })),\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {\n ...knobProps.gap,\n alignItems: \"center\",\n children: [\n canInteract && failed ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, {\n outlined: true,\n size: \"$2\",\n \"aria-label\": (0, import_t.t)(\"Retry {{name}}\", {\n name: item.file.name\n }),\n onPress: function onPress(e) {\n e.stopPropagation();\n handleRetryTransfer(item.id);\n },\n children: (_failed_cta = failed.cta) !== null && _failed_cta !== void 0 ? _failed_cta : (0, import_t.t)(\"Retry\")\n }) : null,\n isUploading ? renderRemoveDisc((0, import_t.t)(\"Cancel {{name}}\", {\n name: item.file.name\n }), function() {\n return handleCancelTransfer(item.id);\n }) : renderRemoveDisc((0, import_t.t)(\"Remove {{name}}\", {\n name: item.file.name\n }), function() {\n return handleRemoveTransfer(item.id);\n })\n ]\n })\n ]\n }, item.id);\n })\n ]\n })\n ]\n });\n };\n if (!resolvedForm || !name) {\n var _fieldProps_error;\n var standaloneError = (_fieldProps_error = fieldProps.error) !== null && _fieldProps_error !== void 0 ? _fieldProps_error : validationError;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {\n id,\n label: fieldProps.label,\n labelProps: fieldProps.labelProps,\n error: standaloneError,\n helperText: fieldProps.helperText,\n required: fieldProps.required,\n size: fieldProps.size,\n knobProps,\n // LC-40: FieldLayout owns the dimWhole assembly dim (keepLabel pins\n // the sibling label/helper readable) — it needs the disabled state.\n disabled,\n children: renderUploadArea(standaloneError, emitChange)\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_fieldLayout.Field, {\n defaultValue,\n form: resolvedForm,\n mode,\n name,\n preserveValue,\n validators: resolvedValidators,\n children: function children(field) {\n var _getFieldError;\n var error = (_getFieldError = (0, import_utils.getFieldError)(field, fieldProps.error)) !== null && _getFieldError !== void 0 ? _getFieldError : validationError;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {\n id,\n label: fieldProps.label,\n labelProps: fieldProps.labelProps,\n error,\n helperText: fieldProps.helperText,\n required: fieldProps.required,\n size: fieldProps.size,\n knobProps,\n // LC-40: see standalone branch — FieldLayout carries dimWhole.\n disabled,\n children: renderUploadArea(error, function(nextValue) {\n field.handleChange(nextValue);\n emitChange(nextValue);\n }, (0, import_utils.mergeFieldHandler)(field, \"handleBlur\", fieldProps.onBlur))\n });\n }\n });\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":"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","ignoreList":[]}
|