@payloadcms/ui 3.0.0-alpha.14 → 3.0.0-alpha.16
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/@types/assets.d.js +0 -1
- package/dist/config.js +2 -12
- package/dist/elements/ArrayAction/index.js +25 -81
- package/dist/elements/ArrayAction/types.js +2 -5
- package/dist/elements/Autosave/index.js +37 -92
- package/dist/elements/Autosave/types.js +2 -5
- package/dist/elements/Banner/index.js +10 -34
- package/dist/elements/Banner/types.js +2 -5
- package/dist/elements/Button/index.js +30 -89
- package/dist/elements/Button/types.js +2 -5
- package/dist/elements/Card/index.js +9 -24
- package/dist/elements/Card/types.js +2 -5
- package/dist/elements/CodeEditor/CodeEditor.js +10 -25
- package/dist/elements/CodeEditor/index.js +8 -59
- package/dist/elements/CodeEditor/types.js +2 -5
- package/dist/elements/Collapsible/index.js +26 -82
- package/dist/elements/Collapsible/provider.js +7 -66
- package/dist/elements/Collapsible/types.js +2 -5
- package/dist/elements/ColumnSelector/index.js +20 -76
- package/dist/elements/ColumnSelector/types.js +2 -5
- package/dist/elements/CopyToClipboard/index.js +14 -65
- package/dist/elements/CopyToClipboard/types.js +2 -5
- package/dist/elements/DatePicker/DatePicker.js +19 -75
- package/dist/elements/DatePicker/index.js +8 -59
- package/dist/elements/DatePicker/types.js +2 -5
- package/dist/elements/DeleteDocument/index.js +36 -86
- package/dist/elements/DeleteDocument/types.js +2 -5
- package/dist/elements/DeleteMany/index.js +38 -102
- package/dist/elements/DeleteMany/types.js +2 -5
- package/dist/elements/DocumentControls/index.js +46 -102
- package/dist/elements/DocumentDrawer/DrawerContent.js +62 -114
- package/dist/elements/DocumentDrawer/index.js +33 -98
- package/dist/elements/DocumentDrawer/types.js +2 -5
- package/dist/elements/DocumentFields/index.js +16 -31
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +4 -14
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +9 -24
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +9 -68
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +5 -15
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -12
- package/dist/elements/DocumentHeader/Tabs/index.js +18 -33
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +8 -23
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +5 -23
- package/dist/elements/DocumentHeader/index.js +10 -66
- package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -66
- package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -5
- package/dist/elements/DraggableSortable/index.js +15 -66
- package/dist/elements/DraggableSortable/types.js +2 -5
- package/dist/elements/DraggableSortable/useDraggableSortable/index.js +4 -14
- package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -5
- package/dist/elements/Drawer/index.js +32 -94
- package/dist/elements/Drawer/types.js +2 -5
- package/dist/elements/Drawer/useDrawerSlug.js +8 -18
- package/dist/elements/Dropzone/index.js +20 -35
- package/dist/elements/DuplicateDocument/index.js +33 -83
- package/dist/elements/DuplicateDocument/types.js +2 -5
- package/dist/elements/EditMany/index.js +72 -128
- package/dist/elements/EditMany/types.js +2 -5
- package/dist/elements/EditUpload/index.js +66 -122
- package/dist/elements/ErrorPill/index.js +7 -22
- package/dist/elements/ErrorPill/types.js +2 -5
- package/dist/elements/FieldSelect/index.js +23 -79
- package/dist/elements/FileDetails/FileMeta/index.js +19 -75
- package/dist/elements/FileDetails/FileMeta/types.js +2 -5
- package/dist/elements/FileDetails/index.js +15 -30
- package/dist/elements/FileDetails/types.js +2 -5
- package/dist/elements/GenerateConfirmation/index.js +22 -37
- package/dist/elements/GenerateConfirmation/types.js +2 -5
- package/dist/elements/GetFilterOptions/index.js +18 -33
- package/dist/elements/Gutter/index.js +5 -56
- package/dist/elements/Hamburger/index.js +18 -33
- package/dist/elements/Header/index.js +39 -95
- package/dist/elements/HydrateClientUser/index.js +6 -16
- package/dist/elements/IDLabel/index.js +5 -20
- package/dist/elements/ListControls/getTextFieldsToBeSearched.js +6 -16
- package/dist/elements/ListControls/index.js +52 -104
- package/dist/elements/ListControls/types.js +2 -5
- package/dist/elements/ListDrawer/DrawerContent.js +72 -128
- package/dist/elements/ListDrawer/index.js +32 -100
- package/dist/elements/ListDrawer/types.js +2 -5
- package/dist/elements/ListSelection/index.js +11 -62
- package/dist/elements/Loading/index.js +25 -51
- package/dist/elements/LoadingOverlay/index.js +17 -79
- package/dist/elements/LoadingOverlay/reducer.js +3 -21
- package/dist/elements/LoadingOverlay/types.js +2 -5
- package/dist/elements/Localizer/LocalizerLabel/index.js +15 -30
- package/dist/elements/Localizer/index.js +24 -80
- package/dist/elements/Logout/index.js +13 -28
- package/dist/elements/Nav/NavHamburger/index.js +8 -23
- package/dist/elements/Nav/NavToggler/index.js +13 -28
- package/dist/elements/Nav/NavWrapper/index.js +8 -23
- package/dist/elements/Nav/context.js +20 -82
- package/dist/elements/Nav/index.js +36 -51
- package/dist/elements/NavGroup/index.js +21 -77
- package/dist/elements/Pagination/ClickableArrow/index.js +7 -22
- package/dist/elements/Pagination/ClickableArrow/types.js +2 -5
- package/dist/elements/Pagination/Page/index.js +4 -19
- package/dist/elements/Pagination/Page/types.js +2 -5
- package/dist/elements/Pagination/Separator/index.js +4 -19
- package/dist/elements/Pagination/index.js +20 -35
- package/dist/elements/Pagination/types.js +2 -5
- package/dist/elements/PerPage/index.js +28 -83
- package/dist/elements/Pill/index.js +16 -40
- package/dist/elements/Pill/types.js +2 -5
- package/dist/elements/Popup/PopupButtonList/index.js +10 -75
- package/dist/elements/Popup/PopupTrigger/index.js +6 -21
- package/dist/elements/Popup/PopupTrigger/types.js +2 -5
- package/dist/elements/Popup/index.js +29 -80
- package/dist/elements/Popup/types.js +2 -5
- package/dist/elements/PreviewButton/index.js +22 -73
- package/dist/elements/PreviewSizes/index.js +24 -80
- package/dist/elements/Publish/index.js +23 -79
- package/dist/elements/PublishMany/index.js +37 -93
- package/dist/elements/PublishMany/types.js +2 -5
- package/dist/elements/ReactSelect/ClearIndicator/index.js +7 -22
- package/dist/elements/ReactSelect/Control/index.js +5 -20
- package/dist/elements/ReactSelect/MultiValue/index.js +8 -23
- package/dist/elements/ReactSelect/MultiValueLabel/index.js +7 -22
- package/dist/elements/ReactSelect/MultiValueRemove/index.js +12 -27
- package/dist/elements/ReactSelect/SingleValue/index.js +5 -20
- package/dist/elements/ReactSelect/ValueContainer/index.js +7 -22
- package/dist/elements/ReactSelect/index.js +45 -60
- package/dist/elements/ReactSelect/types.js +2 -5
- package/dist/elements/RenderCustomComponent/index.js +5 -20
- package/dist/elements/RenderCustomComponent/types.js +2 -5
- package/dist/elements/RenderTitle/index.js +9 -24
- package/dist/elements/RenderTitle/types.js +2 -5
- package/dist/elements/Save/index.js +16 -72
- package/dist/elements/SaveDraft/index.js +24 -80
- package/dist/elements/SearchFilter/index.js +31 -86
- package/dist/elements/SearchFilter/types.js +2 -5
- package/dist/elements/SelectAll/index.js +13 -28
- package/dist/elements/SelectRow/index.js +10 -25
- package/dist/elements/ShimmerEffect/index.js +12 -71
- package/dist/elements/SortColumn/index.js +27 -90
- package/dist/elements/SortColumn/types.js +2 -5
- package/dist/elements/SortComplex/index.js +35 -90
- package/dist/elements/SortComplex/types.js +2 -5
- package/dist/elements/Status/index.js +38 -88
- package/dist/elements/StayLoggedIn/index.js +20 -34
- package/dist/elements/StayLoggedIn/types.js +2 -5
- package/dist/elements/StepNav/SetStepNav.js +6 -16
- package/dist/elements/StepNav/index.js +27 -93
- package/dist/elements/StepNav/types.js +2 -5
- package/dist/elements/Table/TableCellProvider/index.js +7 -30
- package/dist/elements/Table/index.js +15 -38
- package/dist/elements/Table/types.js +2 -5
- package/dist/elements/TableColumns/buildColumns.js +7 -22
- package/dist/elements/TableColumns/columnReducer.js +2 -12
- package/dist/elements/TableColumns/index.js +24 -86
- package/dist/elements/Thumbnail/index.js +12 -68
- package/dist/elements/Thumbnail/types.js +2 -5
- package/dist/elements/ThumbnailCard/index.js +13 -28
- package/dist/elements/ThumbnailCard/types.js +2 -5
- package/dist/elements/Tooltip/index.js +14 -65
- package/dist/elements/Tooltip/types.js +2 -5
- package/dist/elements/Translation/index.js +7 -58
- package/dist/elements/UnpublishMany/index.js +37 -93
- package/dist/elements/UnpublishMany/types.js +2 -5
- package/dist/elements/Upload/index.js +57 -127
- package/dist/elements/Upload/types.js +2 -5
- package/dist/elements/ViewDescription/index.js +12 -27
- package/dist/elements/ViewDescription/types.js +4 -19
- package/dist/elements/WhereBuilder/Condition/Date/index.js +6 -21
- package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -5
- package/dist/elements/WhereBuilder/Condition/Number/index.js +7 -22
- package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -5
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +28 -84
- package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +5 -15
- package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -5
- package/dist/elements/WhereBuilder/Condition/Select/index.js +15 -30
- package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -5
- package/dist/elements/WhereBuilder/Condition/Text/index.js +7 -22
- package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -5
- package/dist/elements/WhereBuilder/Condition/index.js +37 -93
- package/dist/elements/WhereBuilder/Condition/types.js +2 -5
- package/dist/elements/WhereBuilder/field-types.js +2 -12
- package/dist/elements/WhereBuilder/index.js +43 -98
- package/dist/elements/WhereBuilder/reducer.js +2 -12
- package/dist/elements/WhereBuilder/transformWhereQuery.js +6 -12
- package/dist/elements/WhereBuilder/types.js +2 -5
- package/dist/elements/WhereBuilder/validateWhereQuery.js +4 -14
- package/dist/exports/assets.js +3 -26
- package/dist/exports/elements.js +48 -249
- package/dist/exports/forms.js +38 -173
- package/dist/exports/graphics.js +3 -26
- package/dist/exports/hooks.js +10 -54
- package/dist/exports/icons.js +18 -81
- package/dist/exports/index.js +10 -27
- package/dist/exports/providers.js +24 -118
- package/dist/exports/templates.js +3 -21
- package/dist/exports/types.js +2 -5
- package/dist/exports/utilities.js +11 -61
- package/dist/forms/Error/index.js +11 -26
- package/dist/forms/FieldDescription/index.js +9 -24
- package/dist/forms/FieldDescription/types.js +2 -5
- package/dist/forms/FieldPathProvider/index.js +7 -30
- package/dist/forms/FieldPathProvider/types.js +2 -5
- package/dist/forms/Form/buildFieldSchemaMap.js +14 -14
- package/dist/forms/Form/buildInitialState.js +2 -12
- package/dist/forms/Form/context.js +17 -67
- package/dist/forms/Form/createNestedFieldPath.js +5 -15
- package/dist/forms/Form/errorMessages.js +2 -12
- package/dist/forms/Form/fieldReducer.js +25 -38
- package/dist/forms/Form/getDataByPath.js +4 -14
- package/dist/forms/Form/getSiblingData.js +6 -21
- package/dist/forms/Form/index.js +84 -140
- package/dist/forms/Form/initContextState.js +2 -12
- package/dist/forms/Form/mergeServerFormState.js +4 -14
- package/dist/forms/Form/reduceFieldsToValues.js +4 -14
- package/dist/forms/Form/rows.js +3 -21
- package/dist/forms/Form/types.js +2 -5
- package/dist/forms/Label/index.js +9 -24
- package/dist/forms/NullifyField/index.js +15 -71
- package/dist/forms/RenderFields/RenderField.js +6 -21
- package/dist/forms/RenderFields/index.js +13 -28
- package/dist/forms/RenderFields/types.js +2 -5
- package/dist/forms/RowLabel/index.js +13 -28
- package/dist/forms/RowLabel/types.js +4 -19
- package/dist/forms/Submit/index.js +11 -62
- package/dist/forms/WatchChildErrors/buildPathSegments.js +2 -12
- package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +2 -12
- package/dist/forms/WatchChildErrors/getNestedFieldState.js +5 -14
- package/dist/forms/WatchChildErrors/index.js +11 -26
- package/dist/forms/fields/Array/ArrayRow.js +24 -39
- package/dist/forms/fields/Array/index.js +59 -115
- package/dist/forms/fields/Array/types.js +2 -5
- package/dist/forms/fields/Blocks/BlockRow.js +27 -42
- package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +10 -25
- package/dist/forms/fields/Blocks/BlocksDrawer/index.js +29 -85
- package/dist/forms/fields/Blocks/BlocksDrawer/types.js +2 -5
- package/dist/forms/fields/Blocks/RowActions.js +12 -27
- package/dist/forms/fields/Blocks/SectionTitle/index.js +10 -25
- package/dist/forms/fields/Blocks/SectionTitle/types.js +2 -5
- package/dist/forms/fields/Blocks/index.js +64 -120
- package/dist/forms/fields/Blocks/types.js +2 -5
- package/dist/forms/fields/Checkbox/Input.js +11 -34
- package/dist/forms/fields/Checkbox/index.js +19 -75
- package/dist/forms/fields/Checkbox/types.js +2 -5
- package/dist/forms/fields/Code/index.js +15 -71
- package/dist/forms/fields/Code/types.js +2 -5
- package/dist/forms/fields/Collapsible/index.js +31 -87
- package/dist/forms/fields/Collapsible/types.js +2 -5
- package/dist/forms/fields/ConfirmPassword/index.js +19 -75
- package/dist/forms/fields/ConfirmPassword/types.js +2 -5
- package/dist/forms/fields/DateTime/index.js +18 -74
- package/dist/forms/fields/DateTime/types.js +2 -5
- package/dist/forms/fields/Email/index.js +19 -83
- package/dist/forms/fields/Email/types.js +2 -5
- package/dist/forms/fields/Group/index.js +32 -88
- package/dist/forms/fields/Group/provider.js +7 -69
- package/dist/forms/fields/Group/types.js +2 -5
- package/dist/forms/fields/HiddenInput/index.js +8 -64
- package/dist/forms/fields/HiddenInput/types.js +2 -5
- package/dist/forms/fields/JSON/index.js +20 -76
- package/dist/forms/fields/JSON/types.js +2 -5
- package/dist/forms/fields/Number/index.js +26 -82
- package/dist/forms/fields/Number/types.js +2 -5
- package/dist/forms/fields/Password/index.js +15 -79
- package/dist/forms/fields/Password/types.js +2 -5
- package/dist/forms/fields/Point/index.js +24 -80
- package/dist/forms/fields/Point/types.js +2 -5
- package/dist/forms/fields/RadioGroup/Radio/index.js +13 -28
- package/dist/forms/fields/RadioGroup/index.js +23 -79
- package/dist/forms/fields/RadioGroup/types.js +2 -5
- package/dist/forms/fields/Relationship/AddNew/index.js +43 -99
- package/dist/forms/fields/Relationship/AddNew/types.js +2 -5
- package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +6 -16
- package/dist/forms/fields/Relationship/createRelationMap.js +2 -12
- package/dist/forms/fields/Relationship/findOptionsByValue.js +2 -12
- package/dist/forms/fields/Relationship/index.js +64 -120
- package/dist/forms/fields/Relationship/optionsReducer.js +7 -17
- package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +21 -72
- package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +22 -73
- package/dist/forms/fields/Relationship/types.js +2 -5
- package/dist/forms/fields/RichText/index.js +2 -12
- package/dist/forms/fields/RichText/types.js +2 -5
- package/dist/forms/fields/Row/index.js +11 -26
- package/dist/forms/fields/Row/provider.js +7 -69
- package/dist/forms/fields/Row/types.js +2 -5
- package/dist/forms/fields/Select/index.js +24 -88
- package/dist/forms/fields/Select/types.js +2 -5
- package/dist/forms/fields/Tabs/Tab/index.js +13 -64
- package/dist/forms/fields/Tabs/index.js +35 -91
- package/dist/forms/fields/Tabs/provider.js +7 -69
- package/dist/forms/fields/Tabs/types.js +2 -5
- package/dist/forms/fields/Text/Input.js +14 -29
- package/dist/forms/fields/Text/index.js +23 -79
- package/dist/forms/fields/Text/types.js +2 -5
- package/dist/forms/fields/Textarea/Input.js +15 -30
- package/dist/forms/fields/Textarea/index.js +20 -76
- package/dist/forms/fields/Textarea/types.js +2 -5
- package/dist/forms/fields/UI/index.js +2 -12
- package/dist/forms/fields/Upload/Input.js +35 -91
- package/dist/forms/fields/Upload/index.js +14 -70
- package/dist/forms/fields/Upload/types.js +2 -5
- package/dist/forms/fields/getFilterOptionsQuery.js +2 -12
- package/dist/forms/fields/index.js +50 -65
- package/dist/forms/fields/shared.js +7 -21
- package/dist/forms/useField/index.js +25 -40
- package/dist/forms/useField/types.js +2 -5
- package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +21 -33
- package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +5 -14
- package/dist/forms/utilities/buildStateFromSchema/index.js +4 -14
- package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +8 -16
- package/dist/forms/withCondition/WatchCondition.js +7 -57
- package/dist/forms/withCondition/index.js +8 -23
- package/dist/graphics/Account/Default/index.js +7 -22
- package/dist/graphics/Account/Gravatar/index.js +10 -25
- package/dist/graphics/Account/index.js +15 -30
- package/dist/graphics/DefaultBlockImage/index.js +11 -62
- package/dist/graphics/ExternalLink/index.js +5 -20
- package/dist/graphics/File/index.js +7 -22
- package/dist/graphics/Icon/index.js +13 -28
- package/dist/graphics/Logo/index.js +15 -30
- package/dist/graphics/Search/index.js +6 -21
- package/dist/hooks/useAdminThumbnail.js +5 -15
- package/dist/hooks/useDebounce.js +6 -16
- package/dist/hooks/useDebouncedCallback.js +10 -15
- package/dist/hooks/useDebouncedEffect.js +6 -16
- package/dist/hooks/useDelay.js +7 -58
- package/dist/hooks/useDelayedRender.js +11 -62
- package/dist/hooks/useHotkey.js +10 -20
- package/dist/hooks/useIntersect.js +7 -17
- package/dist/hooks/usePayloadAPI.js +17 -32
- package/dist/hooks/useResize.js +5 -15
- package/dist/hooks/useThrottledEffect.js +5 -15
- package/dist/hooks/useThumbnail.js +8 -18
- package/dist/hooks/useUseAsTitle.js +6 -16
- package/dist/icons/Calendar/index.js +8 -23
- package/dist/icons/Check/index.js +6 -21
- package/dist/icons/Chevron/index.js +5 -20
- package/dist/icons/CloseMenu/index.js +6 -21
- package/dist/icons/CodeBlock/index.js +5 -20
- package/dist/icons/Copy/index.js +6 -21
- package/dist/icons/DragHandle/index.js +10 -25
- package/dist/icons/Edit/index.js +7 -22
- package/dist/icons/Line/index.js +5 -20
- package/dist/icons/Link/index.js +6 -21
- package/dist/icons/LogOut/index.js +7 -22
- package/dist/icons/Menu/index.js +7 -22
- package/dist/icons/MinimizeMaximize/index.js +12 -63
- package/dist/icons/More/index.js +7 -22
- package/dist/icons/Plus/index.js +6 -21
- package/dist/icons/Search/index.js +6 -21
- package/dist/icons/Swap/index.js +8 -23
- package/dist/icons/X/index.js +6 -21
- package/dist/index.js +2 -19
- package/dist/providers/ActionsProvider/SetViewActions/index.js +6 -16
- package/dist/providers/ActionsProvider/index.js +11 -70
- package/dist/providers/Auth/HydrateClientUser/index.js +6 -16
- package/dist/providers/Auth/index.js +52 -116
- package/dist/providers/Auth/types.js +2 -5
- package/dist/providers/ClientFunction/index.js +14 -40
- package/dist/providers/ComponentMapProvider/index.js +9 -68
- package/dist/providers/Config/index.js +6 -65
- package/dist/providers/CustomProvider/index.js +9 -24
- package/dist/providers/DocumentEvents/index.js +7 -66
- package/dist/providers/DocumentEvents/types.js +2 -5
- package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +9 -19
- package/dist/providers/DocumentInfo/index.js +42 -100
- package/dist/providers/DocumentInfo/types.js +2 -5
- package/dist/providers/EditDepth/index.js +5 -67
- package/dist/providers/FormQueryParams/index.js +7 -69
- package/dist/providers/ListInfo/index.js +9 -68
- package/dist/providers/ListInfo/types.js +2 -5
- package/dist/providers/Locale/index.js +28 -87
- package/dist/providers/OperationProvider/index.js +5 -67
- package/dist/providers/Params/index.js +9 -67
- package/dist/providers/Portal/index.js +4 -19
- package/dist/providers/Preferences/index.js +25 -89
- package/dist/providers/Root/index.js +31 -82
- package/dist/providers/SearchParams/index.js +14 -77
- package/dist/providers/SearchParams/types.js +2 -5
- package/dist/providers/SelectionProvider/index.js +23 -90
- package/dist/providers/Theme/index.js +11 -73
- package/dist/providers/Theme/types.js +2 -5
- package/dist/providers/Theme/utilities.js +3 -21
- package/dist/providers/Translation/index.js +8 -67
- package/dist/templates/Default/NavHamburger/index.js +7 -22
- package/dist/templates/Default/Wrapper/index.js +7 -22
- package/dist/templates/Default/index.js +17 -68
- package/dist/templates/Default/types.js +2 -5
- package/dist/templates/Minimal/index.js +6 -21
- package/dist/templates/Minimal/types.js +2 -5
- package/dist/utilities/api.js +4 -19
- package/dist/utilities/arraysHaveSameStrings.js +2 -12
- package/dist/utilities/buildComponentMap/index.js +16 -31
- package/dist/utilities/buildComponentMap/mapActions.js +5 -20
- package/dist/utilities/buildComponentMap/mapFields.js +34 -90
- package/dist/utilities/buildComponentMap/types.js +2 -5
- package/dist/utilities/buildFieldSchemaMap/index.js +5 -15
- package/dist/utilities/buildFieldSchemaMap/traverseFields.js +9 -19
- package/dist/utilities/buildFieldSchemaMap/types.js +2 -5
- package/dist/utilities/canUseDOM.js +2 -12
- package/dist/utilities/findLocaleFromCode.js +4 -12
- package/dist/utilities/formatDate/getSupportedDateLocale.js +2 -12
- package/dist/utilities/formatDate/index.js +10 -69
- package/dist/utilities/formatDocTitle.js +6 -16
- package/dist/utilities/formatFields.js +3 -13
- package/dist/utilities/getFormState.js +2 -12
- package/dist/utilities/getOffsetTop.js +2 -12
- package/dist/utilities/getRequestLanguage.js +2 -12
- package/dist/utilities/getSupportedMonacoLocale.js +2 -12
- package/dist/utilities/groupNavItems.js +7 -25
- package/dist/utilities/scrollToID.js +2 -12
- package/dist/utilities/setsAreEqual.js +2 -12
- package/dist/utilities/withMergedProps/index.js +23 -21
- package/dist/views/Global/RenderCustomView.js +0 -1
- package/package.json +4 -4
|
@@ -1,87 +1,31 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const _Translation = require("../../../providers/Translation");
|
|
25
|
-
const _scrollToID = require("../../../utilities/scrollToID");
|
|
26
|
-
const _context = require("../../Form/context");
|
|
27
|
-
const _Label = /*#__PURE__*/ _interop_require_default(require("../../Label"));
|
|
28
|
-
const _NullifyField = require("../../NullifyField");
|
|
29
|
-
const _useField = /*#__PURE__*/ _interop_require_default(require("../../useField"));
|
|
30
|
-
const _shared = require("../shared");
|
|
31
|
-
const _BlockRow = require("./BlockRow");
|
|
32
|
-
const _BlocksDrawer = require("./BlocksDrawer");
|
|
33
|
-
require("./index.scss");
|
|
34
|
-
function _interop_require_default(obj) {
|
|
35
|
-
return obj && obj.__esModule ? obj : {
|
|
36
|
-
default: obj
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
40
|
-
if (typeof WeakMap !== "function") return null;
|
|
41
|
-
var cacheBabelInterop = new WeakMap();
|
|
42
|
-
var cacheNodeInterop = new WeakMap();
|
|
43
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
44
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
45
|
-
})(nodeInterop);
|
|
46
|
-
}
|
|
47
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
48
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
49
|
-
return obj;
|
|
50
|
-
}
|
|
51
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
52
|
-
return {
|
|
53
|
-
default: obj
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
57
|
-
if (cache && cache.has(obj)) {
|
|
58
|
-
return cache.get(obj);
|
|
59
|
-
}
|
|
60
|
-
var newObj = {
|
|
61
|
-
__proto__: null
|
|
62
|
-
};
|
|
63
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
64
|
-
for(var key in obj){
|
|
65
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
66
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
67
|
-
if (desc && (desc.get || desc.set)) {
|
|
68
|
-
Object.defineProperty(newObj, key, desc);
|
|
69
|
-
} else {
|
|
70
|
-
newObj[key] = obj[key];
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
newObj.default = obj;
|
|
75
|
-
if (cache) {
|
|
76
|
-
cache.set(obj, newObj);
|
|
77
|
-
}
|
|
78
|
-
return newObj;
|
|
79
|
-
}
|
|
2
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
3
|
+
import React, { Fragment, useCallback } from 'react';
|
|
4
|
+
import Banner from '../../../elements/Banner';
|
|
5
|
+
import { Button } from '../../../elements/Button';
|
|
6
|
+
import DraggableSortable from '../../../elements/DraggableSortable';
|
|
7
|
+
import DraggableSortableItem from '../../../elements/DraggableSortable/DraggableSortableItem';
|
|
8
|
+
import { DrawerToggler } from '../../../elements/Drawer';
|
|
9
|
+
import { useDrawerSlug } from '../../../elements/Drawer/useDrawerSlug';
|
|
10
|
+
import { ErrorPill } from '../../../elements/ErrorPill';
|
|
11
|
+
import { useConfig } from '../../../providers/Config';
|
|
12
|
+
import { useDocumentInfo } from '../../../providers/DocumentInfo';
|
|
13
|
+
import { useLocale } from '../../../providers/Locale';
|
|
14
|
+
import { useTranslation } from '../../../providers/Translation';
|
|
15
|
+
import { scrollToID } from '../../../utilities/scrollToID';
|
|
16
|
+
import { useForm, useFormSubmitted } from '../../Form/context';
|
|
17
|
+
import LabelComp from '../../Label';
|
|
18
|
+
import { NullifyLocaleField } from '../../NullifyField';
|
|
19
|
+
import useField from '../../useField';
|
|
20
|
+
import { fieldBaseClass } from '../shared';
|
|
21
|
+
import { BlockRow } from './BlockRow';
|
|
22
|
+
import { BlocksDrawer } from './BlocksDrawer';
|
|
23
|
+
import './index.scss';
|
|
80
24
|
const baseClass = 'blocks-field';
|
|
81
25
|
const BlocksField = (props)=>{
|
|
82
|
-
const { i18n, t } =
|
|
26
|
+
const { i18n, t } = useTranslation();
|
|
83
27
|
const { name, Description, Error, Label: LabelFromProps, className, forceRender = false, indexPath, label, localized, path: pathFromProps, permissions, readOnly, required, validate } = props;
|
|
84
|
-
const Label = LabelFromProps || /*#__PURE__*/
|
|
28
|
+
const Label = LabelFromProps || /*#__PURE__*/ React.createElement(LabelComp, {
|
|
85
29
|
label: label,
|
|
86
30
|
required: required
|
|
87
31
|
});
|
|
@@ -89,12 +33,12 @@ const BlocksField = (props)=>{
|
|
|
89
33
|
const maxRows = 'maxRows' in props ? props.maxRows : undefined;
|
|
90
34
|
const blocks = 'blocks' in props ? props.blocks : undefined;
|
|
91
35
|
const labelsFromProps = 'labels' in props ? props.labels : undefined;
|
|
92
|
-
const { setDocFieldPreferences } =
|
|
93
|
-
const { dispatchFields, setModified } =
|
|
94
|
-
const { code: locale } =
|
|
95
|
-
const { localization } =
|
|
96
|
-
const drawerSlug =
|
|
97
|
-
const submitted =
|
|
36
|
+
const { setDocFieldPreferences } = useDocumentInfo();
|
|
37
|
+
const { dispatchFields, setModified } = useForm();
|
|
38
|
+
const { code: locale } = useLocale();
|
|
39
|
+
const { localization } = useConfig();
|
|
40
|
+
const drawerSlug = useDrawerSlug('blocks-drawer');
|
|
41
|
+
const submitted = useFormSubmitted();
|
|
98
42
|
const labels = {
|
|
99
43
|
plural: t('fields:blocks'),
|
|
100
44
|
singular: t('fields:block'),
|
|
@@ -107,7 +51,7 @@ const BlocksField = (props)=>{
|
|
|
107
51
|
}
|
|
108
52
|
return true;
|
|
109
53
|
})();
|
|
110
|
-
const memoizedValidate =
|
|
54
|
+
const memoizedValidate = useCallback((value, options)=>{
|
|
111
55
|
// alternative locales can be null
|
|
112
56
|
if (!editingDefaultLocale && value === null) {
|
|
113
57
|
return true;
|
|
@@ -127,12 +71,12 @@ const BlocksField = (props)=>{
|
|
|
127
71
|
validate,
|
|
128
72
|
editingDefaultLocale
|
|
129
73
|
]);
|
|
130
|
-
const { path, rows = [], schemaPath, showError, valid, value } = (
|
|
74
|
+
const { path, rows = [], schemaPath, showError, valid, value } = useField({
|
|
131
75
|
hasRows: true,
|
|
132
76
|
path: pathFromProps || name,
|
|
133
77
|
validate: memoizedValidate
|
|
134
78
|
});
|
|
135
|
-
const addRow =
|
|
79
|
+
const addRow = useCallback(async (rowIndex, blockType)=>{
|
|
136
80
|
dispatchFields({
|
|
137
81
|
blockType,
|
|
138
82
|
path,
|
|
@@ -141,13 +85,13 @@ const BlocksField = (props)=>{
|
|
|
141
85
|
});
|
|
142
86
|
setModified(true);
|
|
143
87
|
setTimeout(()=>{
|
|
144
|
-
|
|
88
|
+
scrollToID(`${path}-row-${rowIndex + 1}`);
|
|
145
89
|
}, 0);
|
|
146
90
|
}, [
|
|
147
91
|
path,
|
|
148
92
|
setModified
|
|
149
93
|
]);
|
|
150
|
-
const duplicateRow =
|
|
94
|
+
const duplicateRow = useCallback((rowIndex)=>{
|
|
151
95
|
dispatchFields({
|
|
152
96
|
path,
|
|
153
97
|
rowIndex,
|
|
@@ -155,14 +99,14 @@ const BlocksField = (props)=>{
|
|
|
155
99
|
});
|
|
156
100
|
setModified(true);
|
|
157
101
|
setTimeout(()=>{
|
|
158
|
-
|
|
102
|
+
scrollToID(`${path}-row-${rowIndex + 1}`);
|
|
159
103
|
}, 0);
|
|
160
104
|
}, [
|
|
161
105
|
dispatchFields,
|
|
162
106
|
path,
|
|
163
107
|
setModified
|
|
164
108
|
]);
|
|
165
|
-
const removeRow =
|
|
109
|
+
const removeRow = useCallback((rowIndex)=>{
|
|
166
110
|
dispatchFields({
|
|
167
111
|
path,
|
|
168
112
|
rowIndex,
|
|
@@ -174,7 +118,7 @@ const BlocksField = (props)=>{
|
|
|
174
118
|
dispatchFields,
|
|
175
119
|
setModified
|
|
176
120
|
]);
|
|
177
|
-
const moveRow =
|
|
121
|
+
const moveRow = useCallback((moveFromIndex, moveToIndex)=>{
|
|
178
122
|
dispatchFields({
|
|
179
123
|
moveFromIndex,
|
|
180
124
|
moveToIndex,
|
|
@@ -187,7 +131,7 @@ const BlocksField = (props)=>{
|
|
|
187
131
|
path,
|
|
188
132
|
setModified
|
|
189
133
|
]);
|
|
190
|
-
const toggleCollapseAll =
|
|
134
|
+
const toggleCollapseAll = useCallback((collapsed)=>{
|
|
191
135
|
dispatchFields({
|
|
192
136
|
collapsed,
|
|
193
137
|
path,
|
|
@@ -199,7 +143,7 @@ const BlocksField = (props)=>{
|
|
|
199
143
|
path,
|
|
200
144
|
setDocFieldPreferences
|
|
201
145
|
]);
|
|
202
|
-
const setCollapse =
|
|
146
|
+
const setCollapse = useCallback((rowID, collapsed)=>{
|
|
203
147
|
dispatchFields({
|
|
204
148
|
collapsed,
|
|
205
149
|
path,
|
|
@@ -217,41 +161,41 @@ const BlocksField = (props)=>{
|
|
|
217
161
|
const fieldHasErrors = submitted && fieldErrorCount + (valid ? 0 : 1) > 0;
|
|
218
162
|
const showMinRows = rows.length < minRows || required && rows.length === 0;
|
|
219
163
|
const showRequired = readOnly && rows.length === 0;
|
|
220
|
-
return /*#__PURE__*/
|
|
164
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
221
165
|
className: [
|
|
222
|
-
|
|
166
|
+
fieldBaseClass,
|
|
223
167
|
baseClass,
|
|
224
168
|
className,
|
|
225
169
|
fieldHasErrors ? `${baseClass}--has-error` : `${baseClass}--has-no-error`
|
|
226
170
|
].filter(Boolean).join(' '),
|
|
227
171
|
id: `field-${path.replace(/\./g, '__')}`
|
|
228
|
-
}, showError && /*#__PURE__*/
|
|
172
|
+
}, showError && /*#__PURE__*/ React.createElement("div", {
|
|
229
173
|
className: `${baseClass}__error-wrap`
|
|
230
|
-
}, Error), /*#__PURE__*/
|
|
174
|
+
}, Error), /*#__PURE__*/ React.createElement("header", {
|
|
231
175
|
className: `${baseClass}__header`
|
|
232
|
-
}, /*#__PURE__*/
|
|
176
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
233
177
|
className: `${baseClass}__header-wrap`
|
|
234
|
-
}, /*#__PURE__*/
|
|
178
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
235
179
|
className: `${baseClass}__heading-with-error`
|
|
236
|
-
}, /*#__PURE__*/
|
|
180
|
+
}, /*#__PURE__*/ React.createElement("h3", null, Label), fieldHasErrors && fieldErrorCount > 0 && /*#__PURE__*/ React.createElement(ErrorPill, {
|
|
237
181
|
count: fieldErrorCount,
|
|
238
182
|
i18n: i18n,
|
|
239
183
|
withMessage: true
|
|
240
|
-
})), rows.length > 0 && /*#__PURE__*/
|
|
184
|
+
})), rows.length > 0 && /*#__PURE__*/ React.createElement("ul", {
|
|
241
185
|
className: `${baseClass}__header-actions`
|
|
242
|
-
}, /*#__PURE__*/
|
|
186
|
+
}, /*#__PURE__*/ React.createElement("li", null, /*#__PURE__*/ React.createElement("button", {
|
|
243
187
|
className: `${baseClass}__header-action`,
|
|
244
188
|
onClick: ()=>toggleCollapseAll(true),
|
|
245
189
|
type: "button"
|
|
246
|
-
}, t('fields:collapseAll'))), /*#__PURE__*/
|
|
190
|
+
}, t('fields:collapseAll'))), /*#__PURE__*/ React.createElement("li", null, /*#__PURE__*/ React.createElement("button", {
|
|
247
191
|
className: `${baseClass}__header-action`,
|
|
248
192
|
onClick: ()=>toggleCollapseAll(false),
|
|
249
193
|
type: "button"
|
|
250
|
-
}, t('fields:showAll'))))), Description), /*#__PURE__*/
|
|
194
|
+
}, t('fields:showAll'))))), Description), /*#__PURE__*/ React.createElement(NullifyLocaleField, {
|
|
251
195
|
fieldValue: value,
|
|
252
196
|
localized: localized,
|
|
253
197
|
path: path
|
|
254
|
-
}), (rows.length > 0 || !valid && (showRequired || showMinRows)) && /*#__PURE__*/
|
|
198
|
+
}), (rows.length > 0 || !valid && (showRequired || showMinRows)) && /*#__PURE__*/ React.createElement(DraggableSortable, {
|
|
255
199
|
className: `${baseClass}__rows`,
|
|
256
200
|
ids: rows.map((row)=>row.id),
|
|
257
201
|
onDragEnd: ({ moveFromIndex, moveToIndex })=>moveRow(moveFromIndex, moveToIndex)
|
|
@@ -259,11 +203,11 @@ const BlocksField = (props)=>{
|
|
|
259
203
|
const { blockType } = row;
|
|
260
204
|
const blockToRender = blocks.find((block)=>block.slug === blockType);
|
|
261
205
|
if (blockToRender) {
|
|
262
|
-
return /*#__PURE__*/
|
|
206
|
+
return /*#__PURE__*/ React.createElement(DraggableSortableItem, {
|
|
263
207
|
disabled: readOnly,
|
|
264
208
|
id: row.id,
|
|
265
209
|
key: row.id
|
|
266
|
-
}, (draggableSortableItemProps)=>/*#__PURE__*/
|
|
210
|
+
}, (draggableSortableItemProps)=>/*#__PURE__*/ React.createElement(BlockRow, {
|
|
267
211
|
...draggableSortableItemProps,
|
|
268
212
|
addRow: addRow,
|
|
269
213
|
block: blockToRender,
|
|
@@ -286,25 +230,25 @@ const BlocksField = (props)=>{
|
|
|
286
230
|
}));
|
|
287
231
|
}
|
|
288
232
|
return null;
|
|
289
|
-
}), !editingDefaultLocale && /*#__PURE__*/
|
|
233
|
+
}), !editingDefaultLocale && /*#__PURE__*/ React.createElement(React.Fragment, null, showMinRows && /*#__PURE__*/ React.createElement(Banner, {
|
|
290
234
|
type: "error"
|
|
291
235
|
}, t('validation:requiresAtLeast', {
|
|
292
236
|
count: minRows,
|
|
293
|
-
label:
|
|
294
|
-
})), showRequired && /*#__PURE__*/
|
|
295
|
-
label:
|
|
296
|
-
})))), !readOnly && !hasMaxRows && /*#__PURE__*/
|
|
237
|
+
label: getTranslation(minRows === 1 || typeof minRows === 'undefined' ? labels.singular : labels.plural, i18n)
|
|
238
|
+
})), showRequired && /*#__PURE__*/ React.createElement(Banner, null, t('validation:fieldHasNo', {
|
|
239
|
+
label: getTranslation(labels.plural, i18n)
|
|
240
|
+
})))), !readOnly && !hasMaxRows && /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(DrawerToggler, {
|
|
297
241
|
className: `${baseClass}__drawer-toggler`,
|
|
298
242
|
slug: drawerSlug
|
|
299
|
-
}, /*#__PURE__*/
|
|
243
|
+
}, /*#__PURE__*/ React.createElement(Button, {
|
|
300
244
|
buttonStyle: "icon-label",
|
|
301
245
|
el: "span",
|
|
302
246
|
icon: "plus",
|
|
303
247
|
iconPosition: "left",
|
|
304
248
|
iconStyle: "with-border"
|
|
305
249
|
}, t('fields:addLabel', {
|
|
306
|
-
label:
|
|
307
|
-
}))), /*#__PURE__*/
|
|
250
|
+
label: getTranslation(labels.singular, i18n)
|
|
251
|
+
}))), /*#__PURE__*/ React.createElement(BlocksDrawer, {
|
|
308
252
|
addRow: addRow,
|
|
309
253
|
addRowIndex: rows?.length || 0,
|
|
310
254
|
blocks: blocks,
|
|
@@ -312,6 +256,6 @@ const BlocksField = (props)=>{
|
|
|
312
256
|
labels: labels
|
|
313
257
|
})));
|
|
314
258
|
};
|
|
315
|
-
|
|
259
|
+
export default BlocksField;
|
|
316
260
|
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvQmxvY2tzL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IEJhbm5lciBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9CYW5uZXInXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9CdXR0b24nXG5pbXBvcnQgRHJhZ2dhYmxlU29ydGFibGUgZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvRHJhZ2dhYmxlU29ydGFibGUnXG5pbXBvcnQgRHJhZ2dhYmxlU29ydGFibGVJdGVtIGZyb20gJy4uLy4uLy4uL2VsZW1lbnRzL0RyYWdnYWJsZVNvcnRhYmxlL0RyYWdnYWJsZVNvcnRhYmxlSXRlbSdcbmltcG9ydCB7IERyYXdlclRvZ2dsZXIgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9EcmF3ZXInXG5pbXBvcnQgeyB1c2VEcmF3ZXJTbHVnIH0gZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvRHJhd2VyL3VzZURyYXdlclNsdWcnXG5pbXBvcnQgeyBFcnJvclBpbGwgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9FcnJvclBpbGwnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvQ29uZmlnJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL0RvY3VtZW50SW5mbydcbmltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9Mb2NhbGUnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbidcbmltcG9ydCB7IHNjcm9sbFRvSUQgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvc2Nyb2xsVG9JRCdcbmltcG9ydCB7IHVzZUZvcm0sIHVzZUZvcm1TdWJtaXR0ZWQgfSBmcm9tICcuLi8uLi9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgTGFiZWxDb21wIGZyb20gJy4uLy4uL0xhYmVsJ1xuaW1wb3J0IHsgTnVsbGlmeUxvY2FsZUZpZWxkIH0gZnJvbSAnLi4vLi4vTnVsbGlmeUZpZWxkJ1xuaW1wb3J0IHVzZUZpZWxkIGZyb20gJy4uLy4uL3VzZUZpZWxkJ1xuaW1wb3J0IHsgZmllbGRCYXNlQ2xhc3MgfSBmcm9tICcuLi9zaGFyZWQnXG5pbXBvcnQgeyBCbG9ja1JvdyB9IGZyb20gJy4vQmxvY2tSb3cnXG5pbXBvcnQgeyBCbG9ja3NEcmF3ZXIgfSBmcm9tICcuL0Jsb2Nrc0RyYXdlcidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnYmxvY2tzLWZpZWxkJ1xuXG5jb25zdCBCbG9ja3NGaWVsZDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IHtcbiAgICBuYW1lLFxuICAgIERlc2NyaXB0aW9uLFxuICAgIEVycm9yLFxuICAgIExhYmVsOiBMYWJlbEZyb21Qcm9wcyxcbiAgICBjbGFzc05hbWUsXG4gICAgZm9yY2VSZW5kZXIgPSBmYWxzZSxcbiAgICBpbmRleFBhdGgsXG4gICAgbGFiZWwsXG4gICAgbG9jYWxpemVkLFxuICAgIHBhdGg6IHBhdGhGcm9tUHJvcHMsXG4gICAgcGVybWlzc2lvbnMsXG4gICAgcmVhZE9ubHksXG4gICAgcmVxdWlyZWQsXG4gICAgdmFsaWRhdGUsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IExhYmVsID0gTGFiZWxGcm9tUHJvcHMgfHwgPExhYmVsQ29tcCBsYWJlbD17bGFiZWx9IHJlcXVpcmVkPXtyZXF1aXJlZH0gLz5cblxuICBjb25zdCBtaW5Sb3dzID0gJ21pblJvd3MnIGluIHByb3BzID8gcHJvcHMubWluUm93cyA6IDBcbiAgY29uc3QgbWF4Um93cyA9ICdtYXhSb3dzJyBpbiBwcm9wcyA/IHByb3BzLm1heFJvd3MgOiB1bmRlZmluZWRcbiAgY29uc3QgYmxvY2tzID0gJ2Jsb2NrcycgaW4gcHJvcHMgPyBwcm9wcy5ibG9ja3MgOiB1bmRlZmluZWRcbiAgY29uc3QgbGFiZWxzRnJvbVByb3BzID0gJ2xhYmVscycgaW4gcHJvcHMgPyBwcm9wcy5sYWJlbHMgOiB1bmRlZmluZWRcblxuICBjb25zdCB7IHNldERvY0ZpZWxkUHJlZmVyZW5jZXMgfSA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IHsgZGlzcGF0Y2hGaWVsZHMsIHNldE1vZGlmaWVkIH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyBjb2RlOiBsb2NhbGUgfSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IHsgbG9jYWxpemF0aW9uIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCBkcmF3ZXJTbHVnID0gdXNlRHJhd2VyU2x1ZygnYmxvY2tzLWRyYXdlcicpXG4gIGNvbnN0IHN1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuXG4gIGNvbnN0IGxhYmVscyA9IHtcbiAgICBwbHVyYWw6IHQoJ2ZpZWxkczpibG9ja3MnKSxcbiAgICBzaW5ndWxhcjogdCgnZmllbGRzOmJsb2NrJyksXG4gICAgLi4ubGFiZWxzRnJvbVByb3BzLFxuICB9XG5cbiAgY29uc3QgZWRpdGluZ0RlZmF1bHRMb2NhbGUgPSAoKCkgPT4ge1xuICAgIGlmIChsb2NhbGl6YXRpb24gJiYgbG9jYWxpemF0aW9uLmZhbGxiYWNrKSB7XG4gICAgICBjb25zdCBkZWZhdWx0TG9jYWxlID0gbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGUgfHwgJ2VuJ1xuICAgICAgcmV0dXJuIGxvY2FsZSA9PT0gZGVmYXVsdExvY2FsZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH0pKClcblxuICBjb25zdCBtZW1vaXplZFZhbGlkYXRlID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlLCBvcHRpb25zKSA9PiB7XG4gICAgICAvLyBhbHRlcm5hdGl2ZSBsb2NhbGVzIGNhbiBiZSBudWxsXG4gICAgICBpZiAoIWVkaXRpbmdEZWZhdWx0TG9jYWxlICYmIHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbGlkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZSh2YWx1ZSwgeyAuLi5vcHRpb25zLCBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCB9KVxuICAgICAgfVxuICAgIH0sXG4gICAgW21heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB2YWxpZGF0ZSwgZWRpdGluZ0RlZmF1bHRMb2NhbGVdLFxuICApXG5cbiAgY29uc3Qge1xuICAgIHBhdGgsXG4gICAgcm93cyA9IFtdLFxuICAgIHNjaGVtYVBhdGgsXG4gICAgc2hvd0Vycm9yLFxuICAgIHZhbGlkLFxuICAgIHZhbHVlLFxuICB9ID0gdXNlRmllbGQ8bnVtYmVyPih7XG4gICAgaGFzUm93czogdHJ1ZSxcbiAgICBwYXRoOiBwYXRoRnJvbVByb3BzIHx8IG5hbWUsXG4gICAgdmFsaWRhdGU6IG1lbW9pemVkVmFsaWRhdGUsXG4gIH0pXG5cbiAgY29uc3QgYWRkUm93ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHJvd0luZGV4OiBudW1iZXIsIGJsb2NrVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgIGJsb2NrVHlwZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcm93SW5kZXgsXG4gICAgICAgIHR5cGU6ICdBRERfUk9XJyxcbiAgICAgIH0pXG5cbiAgICAgIHNldE1vZGlmaWVkKHRydWUpXG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzY3JvbGxUb0lEKGAke3BhdGh9LXJvdy0ke3Jvd0luZGV4ICsgMX1gKVxuICAgICAgfSwgMClcbiAgICB9LFxuICAgIFtwYXRoLCBzZXRNb2RpZmllZF0sXG4gIClcblxuICBjb25zdCBkdXBsaWNhdGVSb3cgPSB1c2VDYWxsYmFjayhcbiAgICAocm93SW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBwYXRoLCByb3dJbmRleCwgdHlwZTogJ0RVUExJQ0FURV9ST1cnIH0pXG4gICAgICBzZXRNb2RpZmllZCh0cnVlKVxuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2Nyb2xsVG9JRChgJHtwYXRofS1yb3ctJHtyb3dJbmRleCArIDF9YClcbiAgICAgIH0sIDApXG4gICAgfSxcbiAgICBbZGlzcGF0Y2hGaWVsZHMsIHBhdGgsIHNldE1vZGlmaWVkXSxcbiAgKVxuXG4gIGNvbnN0IHJlbW92ZVJvdyA9IHVzZUNhbGxiYWNrKFxuICAgIChyb3dJbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJvd0luZGV4LFxuICAgICAgICB0eXBlOiAnUkVNT1ZFX1JPVycsXG4gICAgICB9KVxuXG4gICAgICBzZXRNb2RpZmllZCh0cnVlKVxuICAgIH0sXG4gICAgW3BhdGgsIGRpc3BhdGNoRmllbGRzLCBzZXRNb2RpZmllZF0sXG4gIClcblxuICBjb25zdCBtb3ZlUm93ID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vdmVGcm9tSW5kZXg6IG51bWJlciwgbW92ZVRvSW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBtb3ZlRnJvbUluZGV4LCBtb3ZlVG9JbmRleCwgcGF0aCwgdHlwZTogJ01PVkVfUk9XJyB9KVxuICAgICAgc2V0TW9kaWZpZWQodHJ1ZSlcbiAgICB9LFxuICAgIFtkaXNwYXRjaEZpZWxkcywgcGF0aCwgc2V0TW9kaWZpZWRdLFxuICApXG5cbiAgY29uc3QgdG9nZ2xlQ29sbGFwc2VBbGwgPSB1c2VDYWxsYmFjayhcbiAgICAoY29sbGFwc2VkOiBib29sZWFuKSA9PiB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7IGNvbGxhcHNlZCwgcGF0aCwgc2V0RG9jRmllbGRQcmVmZXJlbmNlcywgdHlwZTogJ1NFVF9BTExfUk9XU19DT0xMQVBTRUQnIH0pXG4gICAgfSxcbiAgICBbZGlzcGF0Y2hGaWVsZHMsIHBhdGgsIHNldERvY0ZpZWxkUHJlZmVyZW5jZXNdLFxuICApXG5cbiAgY29uc3Qgc2V0Q29sbGFwc2UgPSB1c2VDYWxsYmFjayhcbiAgICAocm93SUQ6IHN0cmluZywgY29sbGFwc2VkOiBib29sZWFuKSA9PiB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7IGNvbGxhcHNlZCwgcGF0aCwgcm93SUQsIHNldERvY0ZpZWxkUHJlZmVyZW5jZXMsIHR5cGU6ICdTRVRfUk9XX0NPTExBUFNFRCcgfSlcbiAgICB9LFxuICAgIFtkaXNwYXRjaEZpZWxkcywgcGF0aCwgc2V0RG9jRmllbGRQcmVmZXJlbmNlc10sXG4gIClcblxuICBjb25zdCBoYXNNYXhSb3dzID0gbWF4Um93cyAmJiByb3dzLmxlbmd0aCA+PSBtYXhSb3dzXG5cbiAgY29uc3QgZmllbGRFcnJvckNvdW50ID0gcm93cy5yZWR1Y2UoKHRvdGFsLCByb3cpID0+IHRvdGFsICsgKHJvdz8uZXJyb3JQYXRocz8uc2l6ZSB8fCAwKSwgMClcbiAgY29uc3QgZmllbGRIYXNFcnJvcnMgPSBzdWJtaXR0ZWQgJiYgZmllbGRFcnJvckNvdW50ICsgKHZhbGlkID8gMCA6IDEpID4gMFxuXG4gIGNvbnN0IHNob3dNaW5Sb3dzID0gcm93cy5sZW5ndGggPCBtaW5Sb3dzIHx8IChyZXF1aXJlZCAmJiByb3dzLmxlbmd0aCA9PT0gMClcbiAgY29uc3Qgc2hvd1JlcXVpcmVkID0gcmVhZE9ubHkgJiYgcm93cy5sZW5ndGggPT09IDBcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17W1xuICAgICAgICBmaWVsZEJhc2VDbGFzcyxcbiAgICAgICAgYmFzZUNsYXNzLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIGZpZWxkSGFzRXJyb3JzID8gYCR7YmFzZUNsYXNzfS0taGFzLWVycm9yYCA6IGAke2Jhc2VDbGFzc30tLWhhcy1uby1lcnJvcmAsXG4gICAgICBdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKX1cbiAgICAgIGlkPXtgZmllbGQtJHtwYXRoLnJlcGxhY2UoL1xcLi9nLCAnX18nKX1gfVxuICAgID5cbiAgICAgIHtzaG93RXJyb3IgJiYgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Vycm9yLXdyYXBgfT57RXJyb3J9PC9kaXY+fVxuICAgICAgPGhlYWRlciBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcmB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyLXdyYXBgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGluZy13aXRoLWVycm9yYH0+XG4gICAgICAgICAgICA8aDM+e0xhYmVsfTwvaDM+XG4gICAgICAgICAgICB7ZmllbGRIYXNFcnJvcnMgJiYgZmllbGRFcnJvckNvdW50ID4gMCAmJiAoXG4gICAgICAgICAgICAgIDxFcnJvclBpbGwgY291bnQ9e2ZpZWxkRXJyb3JDb3VudH0gaTE4bj17aTE4bn0gd2l0aE1lc3NhZ2UgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAge3Jvd3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXItYWN0aW9uc2B9PlxuICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXItYWN0aW9uYH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRvZ2dsZUNvbGxhcHNlQWxsKHRydWUpfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3QoJ2ZpZWxkczpjb2xsYXBzZUFsbCcpfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXItYWN0aW9uYH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRvZ2dsZUNvbGxhcHNlQWxsKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt0KCdmaWVsZHM6c2hvd0FsbCcpfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge0Rlc2NyaXB0aW9ufVxuICAgICAgPC9oZWFkZXI+XG4gICAgICA8TnVsbGlmeUxvY2FsZUZpZWxkIGZpZWxkVmFsdWU9e3ZhbHVlfSBsb2NhbGl6ZWQ9e2xvY2FsaXplZH0gcGF0aD17cGF0aH0gLz5cbiAgICAgIHsocm93cy5sZW5ndGggPiAwIHx8ICghdmFsaWQgJiYgKHNob3dSZXF1aXJlZCB8fCBzaG93TWluUm93cykpKSAmJiAoXG4gICAgICAgIDxEcmFnZ2FibGVTb3J0YWJsZVxuICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcm93c2B9XG4gICAgICAgICAgaWRzPXtyb3dzLm1hcCgocm93KSA9PiByb3cuaWQpfVxuICAgICAgICAgIG9uRHJhZ0VuZD17KHsgbW92ZUZyb21JbmRleCwgbW92ZVRvSW5kZXggfSkgPT4gbW92ZVJvdyhtb3ZlRnJvbUluZGV4LCBtb3ZlVG9JbmRleCl9XG4gICAgICAgID5cbiAgICAgICAgICB7cm93cy5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBibG9ja1R5cGUgfSA9IHJvd1xuICAgICAgICAgICAgY29uc3QgYmxvY2tUb1JlbmRlciA9IGJsb2Nrcy5maW5kKChibG9jaykgPT4gYmxvY2suc2x1ZyA9PT0gYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICBpZiAoYmxvY2tUb1JlbmRlcikge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxEcmFnZ2FibGVTb3J0YWJsZUl0ZW0gZGlzYWJsZWQ9e3JlYWRPbmx5fSBpZD17cm93LmlkfSBrZXk9e3Jvdy5pZH0+XG4gICAgICAgICAgICAgICAgICB7KGRyYWdnYWJsZVNvcnRhYmxlSXRlbVByb3BzKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxCbG9ja1Jvd1xuICAgICAgICAgICAgICAgICAgICAgIHsuLi5kcmFnZ2FibGVTb3J0YWJsZUl0ZW1Qcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICBhZGRSb3c9e2FkZFJvd31cbiAgICAgICAgICAgICAgICAgICAgICBibG9jaz17YmxvY2tUb1JlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICBibG9ja3M9e2Jsb2Nrc31cbiAgICAgICAgICAgICAgICAgICAgICBkdXBsaWNhdGVSb3c9e2R1cGxpY2F0ZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICBmb3JjZVJlbmRlcj17Zm9yY2VSZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgaGFzTWF4Um93cz17aGFzTWF4Um93c31cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleFBhdGg9e2luZGV4UGF0aH1cbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbHM9e2xhYmVsc31cbiAgICAgICAgICAgICAgICAgICAgICBtb3ZlUm93PXttb3ZlUm93fVxuICAgICAgICAgICAgICAgICAgICAgIHBhdGg9e3BhdGh9XG4gICAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbnM9e3Blcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmVSb3c9e3JlbW92ZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICByb3c9e3Jvd31cbiAgICAgICAgICAgICAgICAgICAgICByb3dDb3VudD17cm93cy5sZW5ndGh9XG4gICAgICAgICAgICAgICAgICAgICAgcm93SW5kZXg9e2l9XG4gICAgICAgICAgICAgICAgICAgICAgc2NoZW1hUGF0aD17c2NoZW1hUGF0aH1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRDb2xsYXBzZT17c2V0Q29sbGFwc2V9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvRHJhZ2dhYmxlU29ydGFibGVJdGVtPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgeyFlZGl0aW5nRGVmYXVsdExvY2FsZSAmJiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgIHtzaG93TWluUm93cyAmJiAoXG4gICAgICAgICAgICAgICAgPEJhbm5lciB0eXBlPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgIHt0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHtcbiAgICAgICAgICAgICAgICAgICAgY291bnQ6IG1pblJvd3MsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Sb3dzID09PSAxIHx8IHR5cGVvZiBtaW5Sb3dzID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBsYWJlbHMuc2luZ3VsYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbGFiZWxzLnBsdXJhbCxcbiAgICAgICAgICAgICAgICAgICAgICBpMThuLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPC9CYW5uZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtzaG93UmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxCYW5uZXI+XG4gICAgICAgICAgICAgICAgICB7dCgndmFsaWRhdGlvbjpmaWVsZEhhc05vJywgeyBsYWJlbDogZ2V0VHJhbnNsYXRpb24obGFiZWxzLnBsdXJhbCwgaTE4bikgfSl9XG4gICAgICAgICAgICAgICAgPC9CYW5uZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRHJhZ2dhYmxlU29ydGFibGU+XG4gICAgICApfVxuICAgICAgeyFyZWFkT25seSAmJiAhaGFzTWF4Um93cyAmJiAoXG4gICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICA8RHJhd2VyVG9nZ2xlciBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RyYXdlci10b2dnbGVyYH0gc2x1Zz17ZHJhd2VyU2x1Z30+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICAgIGVsPVwic3BhblwiXG4gICAgICAgICAgICAgIGljb249XCJwbHVzXCJcbiAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3QoJ2ZpZWxkczphZGRMYWJlbCcsIHsgbGFiZWw6IGdldFRyYW5zbGF0aW9uKGxhYmVscy5zaW5ndWxhciwgaTE4bikgfSl9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L0RyYXdlclRvZ2dsZXI+XG4gICAgICAgICAgPEJsb2Nrc0RyYXdlclxuICAgICAgICAgICAgYWRkUm93PXthZGRSb3d9XG4gICAgICAgICAgICBhZGRSb3dJbmRleD17cm93cz8ubGVuZ3RoIHx8IDB9XG4gICAgICAgICAgICBibG9ja3M9e2Jsb2Nrc31cbiAgICAgICAgICAgIGRyYXdlclNsdWc9e2RyYXdlclNsdWd9XG4gICAgICAgICAgICBsYWJlbHM9e2xhYmVsc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBCbG9ja3NGaWVsZFxuIl0sIm5hbWVzIjpbImJhc2VDbGFzcyIsIkJsb2Nrc0ZpZWxkIiwicHJvcHMiLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwibmFtZSIsIkRlc2NyaXB0aW9uIiwiRXJyb3IiLCJMYWJlbCIsIkxhYmVsRnJvbVByb3BzIiwiY2xhc3NOYW1lIiwiZm9yY2VSZW5kZXIiLCJpbmRleFBhdGgiLCJsYWJlbCIsImxvY2FsaXplZCIsInBhdGgiLCJwYXRoRnJvbVByb3BzIiwicGVybWlzc2lvbnMiLCJyZWFkT25seSIsInJlcXVpcmVkIiwidmFsaWRhdGUiLCJMYWJlbENvbXAiLCJtaW5Sb3dzIiwibWF4Um93cyIsInVuZGVmaW5lZCIsImJsb2NrcyIsImxhYmVsc0Zyb21Qcm9wcyIsImxhYmVscyIsInNldERvY0ZpZWxkUHJlZmVyZW5jZXMiLCJ1c2VEb2N1bWVudEluZm8iLCJkaXNwYXRjaEZpZWxkcyIsInNldE1vZGlmaWVkIiwidXNlRm9ybSIsImNvZGUiLCJsb2NhbGUiLCJ1c2VMb2NhbGUiLCJsb2NhbGl6YXRpb24iLCJ1c2VDb25maWciLCJkcmF3ZXJTbHVnIiwidXNlRHJhd2VyU2x1ZyIsInN1Ym1pdHRlZCIsInVzZUZvcm1TdWJtaXR0ZWQiLCJwbHVyYWwiLCJzaW5ndWxhciIsImVkaXRpbmdEZWZhdWx0TG9jYWxlIiwiZmFsbGJhY2siLCJkZWZhdWx0TG9jYWxlIiwibWVtb2l6ZWRWYWxpZGF0ZSIsInVzZUNhbGxiYWNrIiwidmFsdWUiLCJvcHRpb25zIiwicm93cyIsInNjaGVtYVBhdGgiLCJzaG93RXJyb3IiLCJ2YWxpZCIsInVzZUZpZWxkIiwiaGFzUm93cyIsImFkZFJvdyIsInJvd0luZGV4IiwiYmxvY2tUeXBlIiwidHlwZSIsInNldFRpbWVvdXQiLCJzY3JvbGxUb0lEIiwiZHVwbGljYXRlUm93IiwicmVtb3ZlUm93IiwibW92ZVJvdyIsIm1vdmVGcm9tSW5kZXgiLCJtb3ZlVG9JbmRleCIsInRvZ2dsZUNvbGxhcHNlQWxsIiwiY29sbGFwc2VkIiwic2V0Q29sbGFwc2UiLCJyb3dJRCIsImhhc01heFJvd3MiLCJsZW5ndGgiLCJmaWVsZEVycm9yQ291bnQiLCJyZWR1Y2UiLCJ0b3RhbCIsInJvdyIsImVycm9yUGF0aHMiLCJzaXplIiwiZmllbGRIYXNFcnJvcnMiLCJzaG93TWluUm93cyIsInNob3dSZXF1aXJlZCIsImRpdiIsImZpZWxkQmFzZUNsYXNzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJpZCIsInJlcGxhY2UiLCJoZWFkZXIiLCJoMyIsIkVycm9yUGlsbCIsImNvdW50Iiwid2l0aE1lc3NhZ2UiLCJ1bCIsImxpIiwiYnV0dG9uIiwib25DbGljayIsIk51bGxpZnlMb2NhbGVGaWVsZCIsImZpZWxkVmFsdWUiLCJEcmFnZ2FibGVTb3J0YWJsZSIsImlkcyIsIm1hcCIsIm9uRHJhZ0VuZCIsImkiLCJibG9ja1RvUmVuZGVyIiwiZmluZCIsImJsb2NrIiwic2x1ZyIsIkRyYWdnYWJsZVNvcnRhYmxlSXRlbSIsImRpc2FibGVkIiwia2V5IiwiZHJhZ2dhYmxlU29ydGFibGVJdGVtUHJvcHMiLCJCbG9ja1JvdyIsInJvd0NvdW50IiwiUmVhY3QiLCJGcmFnbWVudCIsIkJhbm5lciIsImdldFRyYW5zbGF0aW9uIiwiRHJhd2VyVG9nZ2xlciIsIkJ1dHRvbiIsImJ1dHRvblN0eWxlIiwiZWwiLCJpY29uIiwiaWNvblBvc2l0aW9uIiwiaWNvblN0eWxlIiwiQmxvY2tzRHJhd2VyIiwiYWRkUm93SW5kZXgiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkE0VEE7OztlQUFBOzs7OEJBM1QrQjsrREFDYzsrREFJMUI7d0JBQ0k7MEVBQ087OEVBQ0k7d0JBQ0o7K0JBQ0E7MkJBQ0o7d0JBQ0E7OEJBQ007d0JBQ047NkJBQ0s7NEJBQ0o7eUJBQ2U7OERBQ3BCOzhCQUNhO2lFQUNkO3dCQUNVOzBCQUNOOzhCQUNJO1FBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1BLFlBQVk7QUFFbEIsTUFBTUMsY0FBK0IsQ0FBQ0M7SUFDcEMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLENBQUMsRUFBRSxHQUFHQyxJQUFBQSwyQkFBYztJQUVsQyxNQUFNLEVBQ0pDLElBQUksRUFDSkMsV0FBVyxFQUNYQyxLQUFLLEVBQ0xDLE9BQU9DLGNBQWMsRUFDckJDLFNBQVMsRUFDVEMsY0FBYyxLQUFLLEVBQ25CQyxTQUFTLEVBQ1RDLEtBQUssRUFDTEMsU0FBUyxFQUNUQyxNQUFNQyxhQUFhLEVBQ25CQyxXQUFXLEVBQ1hDLFFBQVEsRUFDUkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1QsR0FBR25CO0lBRUosTUFBTU8sUUFBUUMsZ0NBQWtCLDZCQUFDWSxjQUFTO1FBQUNSLE9BQU9BO1FBQU9NLFVBQVVBOztJQUVuRSxNQUFNRyxVQUFVLGFBQWFyQixRQUFRQSxNQUFNcUIsT0FBTyxHQUFHO0lBQ3JELE1BQU1DLFVBQVUsYUFBYXRCLFFBQVFBLE1BQU1zQixPQUFPLEdBQUdDO0lBQ3JELE1BQU1DLFNBQVMsWUFBWXhCLFFBQVFBLE1BQU13QixNQUFNLEdBQUdEO0lBQ2xELE1BQU1FLGtCQUFrQixZ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
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvQmxvY2tzL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IFByb3BzIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IEJhbm5lciBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9CYW5uZXInXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9CdXR0b24nXG5pbXBvcnQgRHJhZ2dhYmxlU29ydGFibGUgZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvRHJhZ2dhYmxlU29ydGFibGUnXG5pbXBvcnQgRHJhZ2dhYmxlU29ydGFibGVJdGVtIGZyb20gJy4uLy4uLy4uL2VsZW1lbnRzL0RyYWdnYWJsZVNvcnRhYmxlL0RyYWdnYWJsZVNvcnRhYmxlSXRlbSdcbmltcG9ydCB7IERyYXdlclRvZ2dsZXIgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9EcmF3ZXInXG5pbXBvcnQgeyB1c2VEcmF3ZXJTbHVnIH0gZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvRHJhd2VyL3VzZURyYXdlclNsdWcnXG5pbXBvcnQgeyBFcnJvclBpbGwgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9FcnJvclBpbGwnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvQ29uZmlnJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL0RvY3VtZW50SW5mbydcbmltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9Mb2NhbGUnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbidcbmltcG9ydCB7IHNjcm9sbFRvSUQgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvc2Nyb2xsVG9JRCdcbmltcG9ydCB7IHVzZUZvcm0sIHVzZUZvcm1TdWJtaXR0ZWQgfSBmcm9tICcuLi8uLi9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgTGFiZWxDb21wIGZyb20gJy4uLy4uL0xhYmVsJ1xuaW1wb3J0IHsgTnVsbGlmeUxvY2FsZUZpZWxkIH0gZnJvbSAnLi4vLi4vTnVsbGlmeUZpZWxkJ1xuaW1wb3J0IHVzZUZpZWxkIGZyb20gJy4uLy4uL3VzZUZpZWxkJ1xuaW1wb3J0IHsgZmllbGRCYXNlQ2xhc3MgfSBmcm9tICcuLi9zaGFyZWQnXG5pbXBvcnQgeyBCbG9ja1JvdyB9IGZyb20gJy4vQmxvY2tSb3cnXG5pbXBvcnQgeyBCbG9ja3NEcmF3ZXIgfSBmcm9tICcuL0Jsb2Nrc0RyYXdlcidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnYmxvY2tzLWZpZWxkJ1xuXG5jb25zdCBCbG9ja3NGaWVsZDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IHtcbiAgICBuYW1lLFxuICAgIERlc2NyaXB0aW9uLFxuICAgIEVycm9yLFxuICAgIExhYmVsOiBMYWJlbEZyb21Qcm9wcyxcbiAgICBjbGFzc05hbWUsXG4gICAgZm9yY2VSZW5kZXIgPSBmYWxzZSxcbiAgICBpbmRleFBhdGgsXG4gICAgbGFiZWwsXG4gICAgbG9jYWxpemVkLFxuICAgIHBhdGg6IHBhdGhGcm9tUHJvcHMsXG4gICAgcGVybWlzc2lvbnMsXG4gICAgcmVhZE9ubHksXG4gICAgcmVxdWlyZWQsXG4gICAgdmFsaWRhdGUsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IExhYmVsID0gTGFiZWxGcm9tUHJvcHMgfHwgPExhYmVsQ29tcCBsYWJlbD17bGFiZWx9IHJlcXVpcmVkPXtyZXF1aXJlZH0gLz5cblxuICBjb25zdCBtaW5Sb3dzID0gJ21pblJvd3MnIGluIHByb3BzID8gcHJvcHMubWluUm93cyA6IDBcbiAgY29uc3QgbWF4Um93cyA9ICdtYXhSb3dzJyBpbiBwcm9wcyA/IHByb3BzLm1heFJvd3MgOiB1bmRlZmluZWRcbiAgY29uc3QgYmxvY2tzID0gJ2Jsb2NrcycgaW4gcHJvcHMgPyBwcm9wcy5ibG9ja3MgOiB1bmRlZmluZWRcbiAgY29uc3QgbGFiZWxzRnJvbVByb3BzID0gJ2xhYmVscycgaW4gcHJvcHMgPyBwcm9wcy5sYWJlbHMgOiB1bmRlZmluZWRcblxuICBjb25zdCB7IHNldERvY0ZpZWxkUHJlZmVyZW5jZXMgfSA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IHsgZGlzcGF0Y2hGaWVsZHMsIHNldE1vZGlmaWVkIH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyBjb2RlOiBsb2NhbGUgfSA9IHVzZUxvY2FsZSgpXG4gIGNvbnN0IHsgbG9jYWxpemF0aW9uIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCBkcmF3ZXJTbHVnID0gdXNlRHJhd2VyU2x1ZygnYmxvY2tzLWRyYXdlcicpXG4gIGNvbnN0IHN1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuXG4gIGNvbnN0IGxhYmVscyA9IHtcbiAgICBwbHVyYWw6IHQoJ2ZpZWxkczpibG9ja3MnKSxcbiAgICBzaW5ndWxhcjogdCgnZmllbGRzOmJsb2NrJyksXG4gICAgLi4ubGFiZWxzRnJvbVByb3BzLFxuICB9XG5cbiAgY29uc3QgZWRpdGluZ0RlZmF1bHRMb2NhbGUgPSAoKCkgPT4ge1xuICAgIGlmIChsb2NhbGl6YXRpb24gJiYgbG9jYWxpemF0aW9uLmZhbGxiYWNrKSB7XG4gICAgICBjb25zdCBkZWZhdWx0TG9jYWxlID0gbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGUgfHwgJ2VuJ1xuICAgICAgcmV0dXJuIGxvY2FsZSA9PT0gZGVmYXVsdExvY2FsZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH0pKClcblxuICBjb25zdCBtZW1vaXplZFZhbGlkYXRlID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlLCBvcHRpb25zKSA9PiB7XG4gICAgICAvLyBhbHRlcm5hdGl2ZSBsb2NhbGVzIGNhbiBiZSBudWxsXG4gICAgICBpZiAoIWVkaXRpbmdEZWZhdWx0TG9jYWxlICYmIHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHZhbGlkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZSh2YWx1ZSwgeyAuLi5vcHRpb25zLCBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCB9KVxuICAgICAgfVxuICAgIH0sXG4gICAgW21heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB2YWxpZGF0ZSwgZWRpdGluZ0RlZmF1bHRMb2NhbGVdLFxuICApXG5cbiAgY29uc3Qge1xuICAgIHBhdGgsXG4gICAgcm93cyA9IFtdLFxuICAgIHNjaGVtYVBhdGgsXG4gICAgc2hvd0Vycm9yLFxuICAgIHZhbGlkLFxuICAgIHZhbHVlLFxuICB9ID0gdXNlRmllbGQ8bnVtYmVyPih7XG4gICAgaGFzUm93czogdHJ1ZSxcbiAgICBwYXRoOiBwYXRoRnJvbVByb3BzIHx8IG5hbWUsXG4gICAgdmFsaWRhdGU6IG1lbW9pemVkVmFsaWRhdGUsXG4gIH0pXG5cbiAgY29uc3QgYWRkUm93ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHJvd0luZGV4OiBudW1iZXIsIGJsb2NrVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgIGJsb2NrVHlwZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcm93SW5kZXgsXG4gICAgICAgIHR5cGU6ICdBRERfUk9XJyxcbiAgICAgIH0pXG5cbiAgICAgIHNldE1vZGlmaWVkKHRydWUpXG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzY3JvbGxUb0lEKGAke3BhdGh9LXJvdy0ke3Jvd0luZGV4ICsgMX1gKVxuICAgICAgfSwgMClcbiAgICB9LFxuICAgIFtwYXRoLCBzZXRNb2RpZmllZF0sXG4gIClcblxuICBjb25zdCBkdXBsaWNhdGVSb3cgPSB1c2VDYWxsYmFjayhcbiAgICAocm93SW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBwYXRoLCByb3dJbmRleCwgdHlwZTogJ0RVUExJQ0FURV9ST1cnIH0pXG4gICAgICBzZXRNb2RpZmllZCh0cnVlKVxuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2Nyb2xsVG9JRChgJHtwYXRofS1yb3ctJHtyb3dJbmRleCArIDF9YClcbiAgICAgIH0sIDApXG4gICAgfSxcbiAgICBbZGlzcGF0Y2hGaWVsZHMsIHBhdGgsIHNldE1vZGlmaWVkXSxcbiAgKVxuXG4gIGNvbnN0IHJlbW92ZVJvdyA9IHVzZUNhbGxiYWNrKFxuICAgIChyb3dJbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7XG4gICAgICAgIHBhdGgsXG4gICAgICAgIHJvd0luZGV4LFxuICAgICAgICB0eXBlOiAnUkVNT1ZFX1JPVycsXG4gICAgICB9KVxuXG4gICAgICBzZXRNb2RpZmllZCh0cnVlKVxuICAgIH0sXG4gICAgW3BhdGgsIGRpc3BhdGNoRmllbGRzLCBzZXRNb2RpZmllZF0sXG4gIClcblxuICBjb25zdCBtb3ZlUm93ID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vdmVGcm9tSW5kZXg6IG51bWJlciwgbW92ZVRvSW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgZGlzcGF0Y2hGaWVsZHMoeyBtb3ZlRnJvbUluZGV4LCBtb3ZlVG9JbmRleCwgcGF0aCwgdHlwZTogJ01PVkVfUk9XJyB9KVxuICAgICAgc2V0TW9kaWZpZWQodHJ1ZSlcbiAgICB9LFxuICAgIFtkaXNwYXRjaEZpZWxkcywgcGF0aCwgc2V0TW9kaWZpZWRdLFxuICApXG5cbiAgY29uc3QgdG9nZ2xlQ29sbGFwc2VBbGwgPSB1c2VDYWxsYmFjayhcbiAgICAoY29sbGFwc2VkOiBib29sZWFuKSA9PiB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7IGNvbGxhcHNlZCwgcGF0aCwgc2V0RG9jRmllbGRQcmVmZXJlbmNlcywgdHlwZTogJ1NFVF9BTExfUk9XU19DT0xMQVBTRUQnIH0pXG4gICAgfSxcbiAgICBbZGlzcGF0Y2hGaWVsZHMsIHBhdGgsIHNldERvY0ZpZWxkUHJlZmVyZW5jZXNdLFxuICApXG5cbiAgY29uc3Qgc2V0Q29sbGFwc2UgPSB1c2VDYWxsYmFjayhcbiAgICAocm93SUQ6IHN0cmluZywgY29sbGFwc2VkOiBib29sZWFuKSA9PiB7XG4gICAgICBkaXNwYXRjaEZpZWxkcyh7IGNvbGxhcHNlZCwgcGF0aCwgcm93SUQsIHNldERvY0ZpZWxkUHJlZmVyZW5jZXMsIHR5cGU6ICdTRVRfUk9XX0NPTExBUFNFRCcgfSlcbiAgICB9LFxuICAgIFtkaXNwYXRjaEZpZWxkcywgcGF0aCwgc2V0RG9jRmllbGRQcmVmZXJlbmNlc10sXG4gIClcblxuICBjb25zdCBoYXNNYXhSb3dzID0gbWF4Um93cyAmJiByb3dzLmxlbmd0aCA+PSBtYXhSb3dzXG5cbiAgY29uc3QgZmllbGRFcnJvckNvdW50ID0gcm93cy5yZWR1Y2UoKHRvdGFsLCByb3cpID0+IHRvdGFsICsgKHJvdz8uZXJyb3JQYXRocz8uc2l6ZSB8fCAwKSwgMClcbiAgY29uc3QgZmllbGRIYXNFcnJvcnMgPSBzdWJtaXR0ZWQgJiYgZmllbGRFcnJvckNvdW50ICsgKHZhbGlkID8gMCA6IDEpID4gMFxuXG4gIGNvbnN0IHNob3dNaW5Sb3dzID0gcm93cy5sZW5ndGggPCBtaW5Sb3dzIHx8IChyZXF1aXJlZCAmJiByb3dzLmxlbmd0aCA9PT0gMClcbiAgY29uc3Qgc2hvd1JlcXVpcmVkID0gcmVhZE9ubHkgJiYgcm93cy5sZW5ndGggPT09IDBcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17W1xuICAgICAgICBmaWVsZEJhc2VDbGFzcyxcbiAgICAgICAgYmFzZUNsYXNzLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIGZpZWxkSGFzRXJyb3JzID8gYCR7YmFzZUNsYXNzfS0taGFzLWVycm9yYCA6IGAke2Jhc2VDbGFzc30tLWhhcy1uby1lcnJvcmAsXG4gICAgICBdXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLmpvaW4oJyAnKX1cbiAgICAgIGlkPXtgZmllbGQtJHtwYXRoLnJlcGxhY2UoL1xcLi9nLCAnX18nKX1gfVxuICAgID5cbiAgICAgIHtzaG93RXJyb3IgJiYgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Vycm9yLXdyYXBgfT57RXJyb3J9PC9kaXY+fVxuICAgICAgPGhlYWRlciBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcmB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyLXdyYXBgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGluZy13aXRoLWVycm9yYH0+XG4gICAgICAgICAgICA8aDM+e0xhYmVsfTwvaDM+XG4gICAgICAgICAgICB7ZmllbGRIYXNFcnJvcnMgJiYgZmllbGRFcnJvckNvdW50ID4gMCAmJiAoXG4gICAgICAgICAgICAgIDxFcnJvclBpbGwgY291bnQ9e2ZpZWxkRXJyb3JDb3VudH0gaTE4bj17aTE4bn0gd2l0aE1lc3NhZ2UgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAge3Jvd3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXItYWN0aW9uc2B9PlxuICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXItYWN0aW9uYH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRvZ2dsZUNvbGxhcHNlQWxsKHRydWUpfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3QoJ2ZpZWxkczpjb2xsYXBzZUFsbCcpfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXItYWN0aW9uYH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRvZ2dsZUNvbGxhcHNlQWxsKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt0KCdmaWVsZHM6c2hvd0FsbCcpfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge0Rlc2NyaXB0aW9ufVxuICAgICAgPC9oZWFkZXI+XG4gICAgICA8TnVsbGlmeUxvY2FsZUZpZWxkIGZpZWxkVmFsdWU9e3ZhbHVlfSBsb2NhbGl6ZWQ9e2xvY2FsaXplZH0gcGF0aD17cGF0aH0gLz5cbiAgICAgIHsocm93cy5sZW5ndGggPiAwIHx8ICghdmFsaWQgJiYgKHNob3dSZXF1aXJlZCB8fCBzaG93TWluUm93cykpKSAmJiAoXG4gICAgICAgIDxEcmFnZ2FibGVTb3J0YWJsZVxuICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fcm93c2B9XG4gICAgICAgICAgaWRzPXtyb3dzLm1hcCgocm93KSA9PiByb3cuaWQpfVxuICAgICAgICAgIG9uRHJhZ0VuZD17KHsgbW92ZUZyb21JbmRleCwgbW92ZVRvSW5kZXggfSkgPT4gbW92ZVJvdyhtb3ZlRnJvbUluZGV4LCBtb3ZlVG9JbmRleCl9XG4gICAgICAgID5cbiAgICAgICAgICB7cm93cy5tYXAoKHJvdywgaSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBibG9ja1R5cGUgfSA9IHJvd1xuICAgICAgICAgICAgY29uc3QgYmxvY2tUb1JlbmRlciA9IGJsb2Nrcy5maW5kKChibG9jaykgPT4gYmxvY2suc2x1ZyA9PT0gYmxvY2tUeXBlKVxuXG4gICAgICAgICAgICBpZiAoYmxvY2tUb1JlbmRlcikge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxEcmFnZ2FibGVTb3J0YWJsZUl0ZW0gZGlzYWJsZWQ9e3JlYWRPbmx5fSBpZD17cm93LmlkfSBrZXk9e3Jvdy5pZH0+XG4gICAgICAgICAgICAgICAgICB7KGRyYWdnYWJsZVNvcnRhYmxlSXRlbVByb3BzKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxCbG9ja1Jvd1xuICAgICAgICAgICAgICAgICAgICAgIHsuLi5kcmFnZ2FibGVTb3J0YWJsZUl0ZW1Qcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICBhZGRSb3c9e2FkZFJvd31cbiAgICAgICAgICAgICAgICAgICAgICBibG9jaz17YmxvY2tUb1JlbmRlcn1cbiAgICAgICAgICAgICAgICAgICAgICBibG9ja3M9e2Jsb2Nrc31cbiAgICAgICAgICAgICAgICAgICAgICBkdXBsaWNhdGVSb3c9e2R1cGxpY2F0ZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICBmb3JjZVJlbmRlcj17Zm9yY2VSZW5kZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgaGFzTWF4Um93cz17aGFzTWF4Um93c31cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleFBhdGg9e2luZGV4UGF0aH1cbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbHM9e2xhYmVsc31cbiAgICAgICAgICAgICAgICAgICAgICBtb3ZlUm93PXttb3ZlUm93fVxuICAgICAgICAgICAgICAgICAgICAgIHBhdGg9e3BhdGh9XG4gICAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbnM9e3Blcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmVSb3c9e3JlbW92ZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICByb3c9e3Jvd31cbiAgICAgICAgICAgICAgICAgICAgICByb3dDb3VudD17cm93cy5sZW5ndGh9XG4gICAgICAgICAgICAgICAgICAgICAgcm93SW5kZXg9e2l9XG4gICAgICAgICAgICAgICAgICAgICAgc2NoZW1hUGF0aD17c2NoZW1hUGF0aH1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRDb2xsYXBzZT17c2V0Q29sbGFwc2V9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvRHJhZ2dhYmxlU29ydGFibGVJdGVtPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgeyFlZGl0aW5nRGVmYXVsdExvY2FsZSAmJiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgIHtzaG93TWluUm93cyAmJiAoXG4gICAgICAgICAgICAgICAgPEJhbm5lciB0eXBlPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgIHt0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHtcbiAgICAgICAgICAgICAgICAgICAgY291bnQ6IG1pblJvd3MsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihcbiAgICAgICAgICAgICAgICAgICAgICBtaW5Sb3dzID09PSAxIHx8IHR5cGVvZiBtaW5Sb3dzID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyBsYWJlbHMuc2luZ3VsYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbGFiZWxzLnBsdXJhbCxcbiAgICAgICAgICAgICAgICAgICAgICBpMThuLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPC9CYW5uZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtzaG93UmVxdWlyZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxCYW5uZXI+XG4gICAgICAgICAgICAgICAgICB7dCgndmFsaWRhdGlvbjpmaWVsZEhhc05vJywgeyBsYWJlbDogZ2V0VHJhbnNsYXRpb24obGFiZWxzLnBsdXJhbCwgaTE4bikgfSl9XG4gICAgICAgICAgICAgICAgPC9CYW5uZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRHJhZ2dhYmxlU29ydGFibGU+XG4gICAgICApfVxuICAgICAgeyFyZWFkT25seSAmJiAhaGFzTWF4Um93cyAmJiAoXG4gICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICA8RHJhd2VyVG9nZ2xlciBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RyYXdlci10b2dnbGVyYH0gc2x1Zz17ZHJhd2VyU2x1Z30+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICAgIGVsPVwic3BhblwiXG4gICAgICAgICAgICAgIGljb249XCJwbHVzXCJcbiAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgICAgIGljb25TdHlsZT1cIndpdGgtYm9yZGVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3QoJ2ZpZWxkczphZGRMYWJlbCcsIHsgbGFiZWw6IGdldFRyYW5zbGF0aW9uKGxhYmVscy5zaW5ndWxhciwgaTE4bikgfSl9XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L0RyYXdlclRvZ2dsZXI+XG4gICAgICAgICAgPEJsb2Nrc0RyYXdlclxuICAgICAgICAgICAgYWRkUm93PXthZGRSb3d9XG4gICAgICAgICAgICBhZGRSb3dJbmRleD17cm93cz8ubGVuZ3RoIHx8IDB9XG4gICAgICAgICAgICBibG9ja3M9e2Jsb2Nrc31cbiAgICAgICAgICAgIGRyYXdlclNsdWc9e2RyYXdlclNsdWd9XG4gICAgICAgICAgICBsYWJlbHM9e2xhYmVsc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBCbG9ja3NGaWVsZFxuIl0sIm5hbWVzIjpbImdldFRyYW5zbGF0aW9uIiwiUmVhY3QiLCJGcmFnbWVudCIsInVzZUNhbGxiYWNrIiwiQmFubmVyIiwiQnV0dG9uIiwiRHJhZ2dhYmxlU29ydGFibGUiLCJEcmFnZ2FibGVTb3J0YWJsZUl0ZW0iLCJEcmF3ZXJUb2dnbGVyIiwidXNlRHJhd2VyU2x1ZyIsIkVycm9yUGlsbCIsInVzZUNvbmZpZyIsInVzZURvY3VtZW50SW5mbyIsInVzZUxvY2FsZSIsInVzZVRyYW5zbGF0aW9uIiwic2Nyb2xsVG9JRCIsInVzZUZvcm0iLCJ1c2VGb3JtU3VibWl0dGVkIiwiTGFiZWxDb21wIiwiTnVsbGlmeUxvY2FsZUZpZWxkIiwidXNlRmllbGQiLCJmaWVsZEJhc2VDbGFzcyIsIkJsb2NrUm93IiwiQmxvY2tzRHJhd2VyIiwiYmFzZUNsYXNzIiwiQmxvY2tzRmllbGQiLCJwcm9wcyIsImkxOG4iLCJ0IiwibmFtZSIsIkRlc2NyaXB0aW9uIiwiRXJyb3IiLCJMYWJlbCIsIkxhYmVsRnJvbVByb3BzIiwiY2xhc3NOYW1lIiwiZm9yY2VSZW5kZXIiLCJpbmRleFBhdGgiLCJsYWJlbCIsImxvY2FsaXplZCIsInBhdGgiLCJwYXRoRnJvbVByb3BzIiwicGVybWlzc2lvbnMiLCJyZWFkT25seSIsInJlcXVpcmVkIiwidmFsaWRhdGUiLCJtaW5Sb3dzIiwibWF4Um93cyIsInVuZGVmaW5lZCIsImJsb2NrcyIsImxhYmVsc0Zyb21Qcm9wcyIsImxhYmVscyIsInNldERvY0ZpZWxkUHJlZmVyZW5jZXMiLCJkaXNwYXRjaEZpZWxkcyIsInNldE1vZGlmaWVkIiwiY29kZSIsImxvY2FsZSIsImxvY2FsaXphdGlvbiIsImRyYXdlclNsdWciLCJzdWJtaXR0ZWQiLCJwbHVyYWwiLCJzaW5ndWxhciIsImVkaXRpbmdEZWZhdWx0TG9jYWxlIiwiZmFsbGJhY2siLCJkZWZhdWx0TG9jYWxlIiwibWVtb2l6ZWRWYWxpZGF0ZSIsInZhbHVlIiwib3B0aW9ucyIsInJvd3MiLCJzY2hlbWFQYXRoIiwic2hvd0Vycm9yIiwidmFsaWQiLCJoYXNSb3dzIiwiYWRkUm93Iiwicm93SW5kZXgiLCJibG9ja1R5cGUiLCJ0eXBlIiwic2V0VGltZW91dCIsImR1cGxpY2F0ZVJvdyIsInJlbW92ZVJvdyIsIm1vdmVSb3ciLCJtb3ZlRnJvbUluZGV4IiwibW92ZVRvSW5kZXgiLCJ0b2dnbGVDb2xsYXBzZUFsbCIsImNvbGxhcHNlZCIsInNldENvbGxhcHNlIiwicm93SUQiLCJoYXNNYXhSb3dzIiwibGVuZ3RoIiwiZmllbGRFcnJvckNvdW50IiwicmVkdWNlIiwidG90YWwiLCJyb3ciLCJlcnJvclBhdGhzIiwic2l6ZSIsImZpZWxkSGFzRXJyb3JzIiwic2hvd01pblJvd3MiLCJzaG93UmVxdWlyZWQiLCJkaXYiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImlkIiwicmVwbGFjZSIsImhlYWRlciIsImgzIiwiY291bnQiLCJ3aXRoTWVzc2FnZSIsInVsIiwibGkiLCJidXR0b24iLCJvbkNsaWNrIiwiZmllbGRWYWx1ZSIsImlkcyIsIm1hcCIsIm9uRHJhZ0VuZCIsImkiLCJibG9ja1RvUmVuZGVyIiwiZmluZCIsImJsb2NrIiwic2x1ZyIsImRpc2FibGVkIiwia2V5IiwiZHJhZ2dhYmxlU29ydGFibGVJdGVtUHJvcHMiLCJyb3dDb3VudCIsImJ1dHRvblN0eWxlIiwiZWwiLCJpY29uIiwiaWNvblBvc2l0aW9uIiwiaWNvblN0eWxlIiwiYWRkUm93SW5kZXgiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsU0FBU0EsY0FBYyxRQUFRLDJCQUEwQjtBQUN6RCxPQUFPQyxTQUFTQyxRQUFRLEVBQUVDLFdBQVcsUUFBUSxRQUFPO0FBSXBELE9BQU9DLFlBQVksMkJBQTBCO0FBQzdDLFNBQVNDLE1BQU0sUUFBUSwyQkFBMEI7QUFDakQsT0FBT0MsdUJBQXVCLHNDQUFxQztBQUNuRSxPQUFPQywyQkFBMkIsNERBQTJEO0FBQzdGLFNBQVNDLGFBQWEsUUFBUSwyQkFBMEI7QUFDeEQsU0FBU0MsYUFBYSxRQUFRLHlDQUF3QztBQUN0RSxTQUFTQyxTQUFTLFFBQVEsOEJBQTZCO0FBQ3ZELFNBQVNDLFNBQVMsUUFBUSw0QkFBMkI7QUFDckQsU0FBU0MsZUFBZSxRQUFRLGtDQUFpQztBQUNqRSxTQUFTQyxTQUFTLFFBQVEsNEJBQTJCO0FBQ3JELFNBQVNDLGNBQWMsUUFBUSxpQ0FBZ0M7QUFDL0QsU0FBU0MsVUFBVSxRQUFRLGdDQUErQjtBQUMxRCxTQUFTQyxPQUFPLEVBQUVDLGdCQUFnQixRQUFRLHFCQUFvQjtBQUM5RCxPQUFPQyxlQUFlLGNBQWE7QUFDbkMsU0FBU0Msa0JBQWtCLFFBQVEscUJBQW9CO0FBQ3ZELE9BQU9DLGNBQWMsaUJBQWdCO0FBQ3JDLFNBQVNDLGNBQWMsUUFBUSxZQUFXO0FBQzFDLFNBQVNDLFFBQVEsUUFBUSxhQUFZO0FBQ3JDLFNBQVNDLFlBQVksUUFBUSxpQkFBZ0I7QUFDN0MsT0FBTyxlQUFjO0FBRXJCLE1BQU1DLFlBQVk7QUFFbEIsTUFBTUMsY0FBK0IsQ0FBQ0M7SUFDcEMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLENBQUMsRUFBRSxHQUFHZDtJQUVwQixN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
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
1
|
+
export { };
|
|
5
2
|
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvQmxvY2tzL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGRQZXJtaXNzaW9ucyB9IGZyb20gJ3BheWxvYWQvYXV0aCdcblxuaW1wb3J0IHR5cGUgeyBGb3JtRmllbGRCYXNlIH0gZnJvbSAnLi4vc2hhcmVkJ1xuXG5leHBvcnQgdHlwZSBQcm9wcyA9IEZvcm1GaWVsZEJhc2UgJiB7XG4gIGZvcmNlUmVuZGVyPzogYm9vbGVhblxuICBpbmRleFBhdGg6IHN0cmluZ1xuICBuYW1lPzogc3RyaW5nXG4gIHBlcm1pc3Npb25zOiBGaWVsZFBlcm1pc3Npb25zXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsV0FLQyJ9
|
|
@@ -1,42 +1,19 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: all[name]
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
_export(exports, {
|
|
13
|
-
CheckboxInput: function() {
|
|
14
|
-
return CheckboxInput;
|
|
15
|
-
},
|
|
16
|
-
inputBaseClass: function() {
|
|
17
|
-
return inputBaseClass;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
const _react = /*#__PURE__*/ _interop_require_default(require("react"));
|
|
21
|
-
const _Check = require("../../../icons/Check");
|
|
22
|
-
const _Line = require("../../../icons/Line");
|
|
23
|
-
function _interop_require_default(obj) {
|
|
24
|
-
return obj && obj.__esModule ? obj : {
|
|
25
|
-
default: obj
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
const inputBaseClass = 'checkbox-input';
|
|
29
|
-
const CheckboxInput = ({ id, name, AfterInput, BeforeInput, Label, checked, className, inputRef, onToggle, partialChecked, readOnly, required })=>{
|
|
30
|
-
return /*#__PURE__*/ _react.default.createElement("div", {
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Check } from '../../../icons/Check';
|
|
4
|
+
import { Line } from '../../../icons/Line';
|
|
5
|
+
export const inputBaseClass = 'checkbox-input';
|
|
6
|
+
export const CheckboxInput = ({ id, name, AfterInput, BeforeInput, Label, checked, className, inputRef, onToggle, partialChecked, readOnly, required })=>{
|
|
7
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
31
8
|
className: [
|
|
32
9
|
className,
|
|
33
10
|
inputBaseClass,
|
|
34
11
|
checked && `${inputBaseClass}--checked`,
|
|
35
12
|
readOnly && `${inputBaseClass}--read-only`
|
|
36
13
|
].filter(Boolean).join(' ')
|
|
37
|
-
}, /*#__PURE__*/
|
|
14
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
38
15
|
className: `${inputBaseClass}__input`
|
|
39
|
-
}, BeforeInput, /*#__PURE__*/
|
|
16
|
+
}, BeforeInput, /*#__PURE__*/ React.createElement("input", {
|
|
40
17
|
"aria-label": "",
|
|
41
18
|
defaultChecked: Boolean(checked),
|
|
42
19
|
disabled: readOnly,
|
|
@@ -46,12 +23,12 @@ const CheckboxInput = ({ id, name, AfterInput, BeforeInput, Label, checked, clas
|
|
|
46
23
|
ref: inputRef,
|
|
47
24
|
required: required,
|
|
48
25
|
type: "checkbox"
|
|
49
|
-
}), /*#__PURE__*/
|
|
26
|
+
}), /*#__PURE__*/ React.createElement("span", {
|
|
50
27
|
className: [
|
|
51
28
|
`${inputBaseClass}__icon`,
|
|
52
29
|
!checked && partialChecked ? 'check' : 'partial'
|
|
53
30
|
].filter(Boolean).join(' ')
|
|
54
|
-
}, checked && /*#__PURE__*/
|
|
31
|
+
}, checked && /*#__PURE__*/ React.createElement(Check, null), !checked && partialChecked && /*#__PURE__*/ React.createElement(Line, null)), AfterInput), Label);
|
|
55
32
|
};
|
|
56
33
|
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvQ2hlY2tib3gvSW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBDaGVjayB9IGZyb20gJy4uLy4uLy4uL2ljb25zL0NoZWNrJ1xuaW1wb3J0IHsgTGluZSB9IGZyb20gJy4uLy4uLy4uL2ljb25zL0xpbmUnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIEFmdGVySW5wdXQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgQmVmb3JlSW5wdXQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgTGFiZWw/OiBSZWFjdC5SZWFjdE5vZGVcbiAgY2hlY2tlZD86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGlkPzogc3RyaW5nXG4gIGlucHV0UmVmPzogUmVhY3QuUmVmT2JqZWN0PEhUTUxJbnB1dEVsZW1lbnQ+XG4gIG5hbWU/OiBzdHJpbmdcbiAgb25Ub2dnbGU6IChldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgcGFydGlhbENoZWNrZWQ/OiBib29sZWFuXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICByZXF1aXJlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZUNsYXNzID0gJ2NoZWNrYm94LWlucHV0J1xuXG5leHBvcnQgY29uc3QgQ2hlY2tib3hJbnB1dDogUmVhY3QuRkM8UHJvcHM+ID0gKHtcbiAgaWQsXG4gIG5hbWUsXG4gIEFmdGVySW5wdXQsXG4gIEJlZm9yZUlucHV0LFxuICBMYWJlbCxcbiAgY2hlY2tlZCxcbiAgY2xhc3NOYW1lLFxuICBpbnB1dFJlZixcbiAgb25Ub2dnbGUsXG4gIHBhcnRpYWxDaGVja2VkLFxuICByZWFkT25seSxcbiAgcmVxdWlyZWQsXG59KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtbXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgaW5wdXRCYXNlQ2xhc3MsXG4gICAgICAgIGNoZWNrZWQgJiYgYCR7aW5wdXRCYXNlQ2xhc3N9LS1jaGVja2VkYCxcbiAgICAgICAgcmVhZE9ubHkgJiYgYCR7aW5wdXRCYXNlQ2xhc3N9LS1yZWFkLW9ubHlgLFxuICAgICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJyl9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2lucHV0QmFzZUNsYXNzfV9faW5wdXRgfT5cbiAgICAgICAge0JlZm9yZUlucHV0fVxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiXCJcbiAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17Qm9vbGVhbihjaGVja2VkKX1cbiAgICAgICAgICBkaXNhYmxlZD17cmVhZE9ubHl9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgb25JbnB1dD17b25Ub2dnbGV9XG4gICAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzc05hbWU9e1tgJHtpbnB1dEJhc2VDbGFzc31fX2ljb25gLCAhY2hlY2tlZCAmJiBwYXJ0aWFsQ2hlY2tlZCA/ICdjaGVjaycgOiAncGFydGlhbCddXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAuam9pbignICcpfVxuICAgICAgICA+XG4gICAgICAgICAge2NoZWNrZWQgJiYgPENoZWNrIC8+
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3Jtcy9maWVsZHMvQ2hlY2tib3gvSW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBDaGVjayB9IGZyb20gJy4uLy4uLy4uL2ljb25zL0NoZWNrJ1xuaW1wb3J0IHsgTGluZSB9IGZyb20gJy4uLy4uLy4uL2ljb25zL0xpbmUnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIEFmdGVySW5wdXQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgQmVmb3JlSW5wdXQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgTGFiZWw/OiBSZWFjdC5SZWFjdE5vZGVcbiAgY2hlY2tlZD86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGlkPzogc3RyaW5nXG4gIGlucHV0UmVmPzogUmVhY3QuUmVmT2JqZWN0PEhUTUxJbnB1dEVsZW1lbnQ+XG4gIG5hbWU/OiBzdHJpbmdcbiAgb25Ub2dnbGU6IChldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgcGFydGlhbENoZWNrZWQ/OiBib29sZWFuXG4gIHJlYWRPbmx5PzogYm9vbGVhblxuICByZXF1aXJlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZUNsYXNzID0gJ2NoZWNrYm94LWlucHV0J1xuXG5leHBvcnQgY29uc3QgQ2hlY2tib3hJbnB1dDogUmVhY3QuRkM8UHJvcHM+ID0gKHtcbiAgaWQsXG4gIG5hbWUsXG4gIEFmdGVySW5wdXQsXG4gIEJlZm9yZUlucHV0LFxuICBMYWJlbCxcbiAgY2hlY2tlZCxcbiAgY2xhc3NOYW1lLFxuICBpbnB1dFJlZixcbiAgb25Ub2dnbGUsXG4gIHBhcnRpYWxDaGVja2VkLFxuICByZWFkT25seSxcbiAgcmVxdWlyZWQsXG59KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtbXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgaW5wdXRCYXNlQ2xhc3MsXG4gICAgICAgIGNoZWNrZWQgJiYgYCR7aW5wdXRCYXNlQ2xhc3N9LS1jaGVja2VkYCxcbiAgICAgICAgcmVhZE9ubHkgJiYgYCR7aW5wdXRCYXNlQ2xhc3N9LS1yZWFkLW9ubHlgLFxuICAgICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJyl9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2lucHV0QmFzZUNsYXNzfV9faW5wdXRgfT5cbiAgICAgICAge0JlZm9yZUlucHV0fVxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiXCJcbiAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17Qm9vbGVhbihjaGVja2VkKX1cbiAgICAgICAgICBkaXNhYmxlZD17cmVhZE9ubHl9XG4gICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgb25JbnB1dD17b25Ub2dnbGV9XG4gICAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzc05hbWU9e1tgJHtpbnB1dEJhc2VDbGFzc31fX2ljb25gLCAhY2hlY2tlZCAmJiBwYXJ0aWFsQ2hlY2tlZCA/ICdjaGVjaycgOiAncGFydGlhbCddXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAuam9pbignICcpfVxuICAgICAgICA+XG4gICAgICAgICAge2NoZWNrZWQgJiYgPENoZWNrIC8+fVxuICAgICAgICAgIHshY2hlY2tlZCAmJiBwYXJ0aWFsQ2hlY2tlZCAmJiA8TGluZSAvPn1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICB7QWZ0ZXJJbnB1dH1cbiAgICAgIDwvZGl2PlxuICAgICAge0xhYmVsfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDaGVjayIsIkxpbmUiLCJpbnB1dEJhc2VDbGFzcyIsIkNoZWNrYm94SW5wdXQiLCJpZCIsIm5hbWUiLCJBZnRlcklucHV0IiwiQmVmb3JlSW5wdXQiLCJMYWJlbCIsImNoZWNrZWQiLCJjbGFzc05hbWUiLCJpbnB1dFJlZiIsIm9uVG9nZ2xlIiwicGFydGlhbENoZWNrZWQiLCJyZWFkT25seSIsInJlcXVpcmVkIiwiZGl2IiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJpbnB1dCIsImFyaWEtbGFiZWwiLCJkZWZhdWx0Q2hlY2tlZCIsImRpc2FibGVkIiwib25JbnB1dCIsInJlZiIsInR5cGUiLCJzcGFuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE9BQU9BLFdBQVcsUUFBTztBQUV6QixTQUFTQyxLQUFLLFFBQVEsdUJBQXNCO0FBQzVDLFNBQVNDLElBQUksUUFBUSxzQkFBcUI7QUFpQjFDLE9BQU8sTUFBTUMsaUJBQWlCLGlCQUFnQjtBQUU5QyxPQUFPLE1BQU1DLGdCQUFpQyxDQUFDLEVBQzdDQyxFQUFFLEVBQ0ZDLElBQUksRUFDSkMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLEtBQUssRUFDTEMsT0FBTyxFQUNQQyxTQUFTLEVBQ1RDLFFBQVEsRUFDUkMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLFFBQVEsRUFDUkMsUUFBUSxFQUNUO0lBQ0MscUJBQ0Usb0JBQUNDO1FBQ0NOLFdBQVc7WUFDVEE7WUFDQVI7WUFDQU8sV0FBVyxDQUFDLEVBQUVQLGVBQWUsU0FBUyxDQUFDO1lBQ3ZDWSxZQUFZLENBQUMsRUFBRVosZUFBZSxXQUFXLENBQUM7U0FDM0MsQ0FDRWUsTUFBTSxDQUFDQyxTQUNQQyxJQUFJLENBQUM7cUJBRVIsb0JBQUNIO1FBQUlOLFdBQVcsQ0FBQyxFQUFFUixlQUFlLE9BQU8sQ0FBQztPQUN2Q0ssMkJBQ0Qsb0JBQUNhO1FBQ0NDLGNBQVc7UUFDWEMsZ0JBQWdCSixRQUFRVDtRQUN4QmMsVUFBVVQ7UUFDVlYsSUFBSUE7UUFDSkMsTUFBTUE7UUFDTm1CLFNBQVNaO1FBQ1RhLEtBQUtkO1FBQ0xJLFVBQVVBO1FBQ1ZXLE1BQUs7c0JBRVAsb0JBQUNDO1FBQ0NqQixXQUFXO1lBQUMsQ0FBQyxFQUFFUixlQUFlLE1BQU0sQ0FBQztZQUFFLENBQUNPLFdBQVdJLGlCQUFpQixVQUFVO1NBQVUsQ0FDckZJLE1BQU0sQ0FBQ0MsU0FDUEMsSUFBSSxDQUFDO09BRVBWLHlCQUFXLG9CQUFDVCxjQUNaLENBQUNTLFdBQVdJLGdDQUFrQixvQkFBQ1osY0FFakNLLGFBRUZFO0FBR1AsRUFBQyJ9
|