"use strict";
var __webpack_require__ = {};
(()=>{
    __webpack_require__.d = function(exports1, definition) {
        for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
            enumerable: true,
            get: definition[key]
        });
    };
})();
(()=>{
    __webpack_require__.o = function(obj, prop) {
        return Object.prototype.hasOwnProperty.call(obj, prop);
    };
})();
(()=>{
    __webpack_require__.r = function(exports1) {
        if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
            value: 'Module'
        });
        Object.defineProperty(exports1, '__esModule', {
            value: true
        });
    };
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
    PluginBlockSchemaComponent: ()=>PluginBlockSchemaComponent
});
const Plugin_js_namespaceObject = require("../../application/Plugin.js");
const BlockProvider_js_namespaceObject = require("../../block-provider/BlockProvider.js");
const DetailsBlockProvider_js_namespaceObject = require("../../block-provider/DetailsBlockProvider.js");
const FilterFormBlockProvider_js_namespaceObject = require("../../block-provider/FilterFormBlockProvider.js");
const FormBlockProvider_js_namespaceObject = require("../../block-provider/FormBlockProvider.js");
const FormFieldProvider_js_namespaceObject = require("../../block-provider/FormFieldProvider.js");
const index_js_namespaceObject = require("../../block-provider/hooks/index.js");
const TableBlockProvider_js_namespaceObject = require("../../block-provider/TableBlockProvider.js");
const TableFieldProvider_js_namespaceObject = require("../../block-provider/TableFieldProvider.js");
const TableSelectorProvider_js_namespaceObject = require("../../block-provider/TableSelectorProvider.js");
const TreeBlockProvider_js_namespaceObject = require("../../block-provider/TreeBlockProvider.js");
const ActionSchemaToolbar_js_namespaceObject = require("../../modules/actions/ActionSchemaToolbar.js");
const BlockSchemaToolbar_js_namespaceObject = require("../../modules/blocks/BlockSchemaToolbar.js");
const useDetailsWithPaginationDecoratorProps_js_namespaceObject = require("../../modules/blocks/data-blocks/details-multi/hooks/useDetailsWithPaginationDecoratorProps.js");
const useDetailsWithPaginationProps_js_namespaceObject = require("../../modules/blocks/data-blocks/details-multi/hooks/useDetailsWithPaginationProps.js");
const useDetailsDecoratorProps_js_namespaceObject = require("../../modules/blocks/data-blocks/details-single/hooks/useDetailsDecoratorProps.js");
const useDetailsProps_js_namespaceObject = require("../../modules/blocks/data-blocks/details-single/hooks/useDetailsProps.js");
const FormItemSchemaToolbar_js_namespaceObject = require("../../modules/blocks/data-blocks/form/FormItemSchemaToolbar.js");
const useCreateFormBlockDecoratorProps_js_namespaceObject = require("../../modules/blocks/data-blocks/form/hooks/useCreateFormBlockDecoratorProps.js");
const useCreateFormBlockProps_js_namespaceObject = require("../../modules/blocks/data-blocks/form/hooks/useCreateFormBlockProps.js");
const useEditFormBlockDecoratorProps_js_namespaceObject = require("../../modules/blocks/data-blocks/form/hooks/useEditFormBlockDecoratorProps.js");
const useEditFormBlockProps_js_namespaceObject = require("../../modules/blocks/data-blocks/form/hooks/useEditFormBlockProps.js");
const useGridCardBlockDecoratorProps_js_namespaceObject = require("../../modules/blocks/data-blocks/grid-card/hooks/useGridCardBlockDecoratorProps.js");
const useListBlockDecoratorProps_js_namespaceObject = require("../../modules/blocks/data-blocks/list/hooks/useListBlockDecoratorProps.js");
const useTableSelectorDecoratorProps_js_namespaceObject = require("../../modules/blocks/data-blocks/table-selector/hooks/useTableSelectorDecoratorProps.js");
const useTableBlockDecoratorProps_js_namespaceObject = require("../../modules/blocks/data-blocks/table/hooks/useTableBlockDecoratorProps.js");
const useTableBlockProps_js_namespaceObject = require("../../modules/blocks/data-blocks/table/hooks/useTableBlockProps.js");
const TableColumnSchemaToolbar_js_namespaceObject = require("../../modules/blocks/data-blocks/table/TableColumnSchemaToolbar.js");
const CollapseItemSchemaToolbar_js_namespaceObject = require("../../modules/blocks/filter-blocks/collapse/CollapseItemSchemaToolbar.js");
const useCollapseBlockDecoratorProps_js_namespaceObject = require("../../modules/blocks/filter-blocks/collapse/hooks/useCollapseBlockDecoratorProps.js");
const useFilterFormBlockDecoratorProps_js_namespaceObject = require("../../modules/blocks/filter-blocks/form/hooks/useFilterFormBlockDecoratorProps.js");
const useFilterFormBlockProps_js_namespaceObject = require("../../modules/blocks/filter-blocks/form/hooks/useFilterFormBlockProps.js");
class PluginBlockSchemaComponent extends Plugin_js_namespaceObject.Plugin {
    async load() {
        this.addComponents();
        this.addScopes();
    }
    addComponents() {
        this.app.addComponents({
            TableFieldProvider: TableFieldProvider_js_namespaceObject.TableFieldProvider,
            TableBlockProvider: TableBlockProvider_js_namespaceObject.TableBlockProvider,
            TableSelectorProvider: TableSelectorProvider_js_namespaceObject.TableSelectorProvider,
            FormBlockProvider: FormBlockProvider_js_namespaceObject.FormBlockProvider,
            FilterFormBlockProvider: FilterFormBlockProvider_js_namespaceObject.FilterFormBlockProvider,
            FormFieldProvider: FormFieldProvider_js_namespaceObject.FormFieldProvider,
            TreeBlockProvider: TreeBlockProvider_js_namespaceObject.TreeBlockProvider,
            DetailsBlockProvider: DetailsBlockProvider_js_namespaceObject.DetailsBlockProvider,
            RecordLink: BlockProvider_js_namespaceObject.RecordLink,
            BlockSchemaToolbar: BlockSchemaToolbar_js_namespaceObject.BlockSchemaToolbar,
            ActionSchemaToolbar: ActionSchemaToolbar_js_namespaceObject.ActionSchemaToolbar,
            FormItemSchemaToolbar: FormItemSchemaToolbar_js_namespaceObject.FormItemSchemaToolbar,
            CollapseItemSchemaToolbar: CollapseItemSchemaToolbar_js_namespaceObject.CollapseItemSchemaToolbar,
            TableColumnSchemaToolbar: TableColumnSchemaToolbar_js_namespaceObject.TableColumnSchemaToolbar
        });
    }
    addScopes() {
        this.app.addScopes({
            ...index_js_namespaceObject,
            useSourceIdFromRecord: BlockProvider_js_namespaceObject.useSourceIdFromRecord,
            useSourceIdFromParentRecord: BlockProvider_js_namespaceObject.useSourceIdFromParentRecord,
            useParamsFromRecord: BlockProvider_js_namespaceObject.useParamsFromRecord,
            useFormBlockProps: FormBlockProvider_js_namespaceObject.useFormBlockProps,
            useCreateFormBlockProps: useCreateFormBlockProps_js_namespaceObject.useCreateFormBlockProps,
            useCreateFormBlockDecoratorProps: useCreateFormBlockDecoratorProps_js_namespaceObject.useCreateFormBlockDecoratorProps,
            useEditFormBlockDecoratorProps: useEditFormBlockDecoratorProps_js_namespaceObject.useEditFormBlockDecoratorProps,
            useEditFormBlockProps: useEditFormBlockProps_js_namespaceObject.useEditFormBlockProps,
            useTreeBlockProps: TreeBlockProvider_js_namespaceObject.useTreeBlockProps,
            useFormFieldProps: FormFieldProvider_js_namespaceObject.useFormFieldProps,
            useDetailsBlockProps: DetailsBlockProvider_js_namespaceObject.useDetailsBlockProps,
            useDetailsProps: useDetailsProps_js_namespaceObject.useDetailsProps,
            useDetailsWithPaginationProps: useDetailsWithPaginationProps_js_namespaceObject.useDetailsWithPaginationProps,
            useDetailsDecoratorProps: useDetailsDecoratorProps_js_namespaceObject.useDetailsDecoratorProps,
            useDetailsWithPaginationDecoratorProps: useDetailsWithPaginationDecoratorProps_js_namespaceObject.useDetailsWithPaginationDecoratorProps,
            useTableFieldProps: TableFieldProvider_js_namespaceObject.useTableFieldProps,
            useTableBlockProps: useTableBlockProps_js_namespaceObject.useTableBlockProps,
            useTableSelectorProps: TableSelectorProvider_js_namespaceObject.useTableSelectorProps,
            useTableBlockDecoratorProps: useTableBlockDecoratorProps_js_namespaceObject.useTableBlockDecoratorProps,
            useListBlockDecoratorProps: useListBlockDecoratorProps_js_namespaceObject.useListBlockDecoratorProps,
            useTableSelectorDecoratorProps: useTableSelectorDecoratorProps_js_namespaceObject.useTableSelectorDecoratorProps,
            useCollapseBlockDecoratorProps: useCollapseBlockDecoratorProps_js_namespaceObject.useCollapseBlockDecoratorProps,
            useFilterFormBlockProps: useFilterFormBlockProps_js_namespaceObject.useFilterFormBlockProps,
            useFilterFormBlockDecoratorProps: useFilterFormBlockDecoratorProps_js_namespaceObject.useFilterFormBlockDecoratorProps,
            useGridCardBlockDecoratorProps: useGridCardBlockDecoratorProps_js_namespaceObject.useGridCardBlockDecoratorProps
        });
    }
}
var __webpack_export_target__ = exports;
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
    value: true
});
