@acorex/platform 18.0.5 → 18.0.7
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/README.md +7 -7
- package/auth/README.md +3 -3
- package/auth/lib/auth.strategy.d.ts +1 -1
- package/auth/lib/session.service.d.ts +0 -1
- package/common/README.md +3 -3
- package/common/lib/app/application.types.d.ts +10 -6
- package/common/lib/data/data-provider.types.d.ts +1 -1
- package/common/lib/schema/entity/entity.class.d.ts +1 -0
- package/common/lib/schema/widgets/lookup/lookup-widget-column.component.d.ts +1 -1
- package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +3 -1
- package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +3 -1
- package/esm2022/auth/index.mjs +1 -1
- package/esm2022/auth/lib/application/application.loader.mjs +1 -1
- package/esm2022/auth/lib/application/application.types.mjs +1 -1
- package/esm2022/auth/lib/auth-registry.service.mjs +1 -1
- package/esm2022/auth/lib/auth.guard.mjs +4 -4
- package/esm2022/auth/lib/auth.module.mjs +1 -1
- package/esm2022/auth/lib/auth.strategy.mjs +1 -1
- package/esm2022/auth/lib/errors.types.mjs +1 -1
- package/esm2022/auth/lib/feature/feature.directive.mjs +1 -1
- package/esm2022/auth/lib/feature/feature.guard.mjs +1 -1
- package/esm2022/auth/lib/feature/feature.loader.mjs +1 -1
- package/esm2022/auth/lib/feature/feature.types.mjs +1 -1
- package/esm2022/auth/lib/feature/index.mjs +1 -1
- package/esm2022/auth/lib/permission/index.mjs +1 -1
- package/esm2022/auth/lib/permission/permission.directive.mjs +1 -1
- package/esm2022/auth/lib/permission/permission.guard.mjs +1 -1
- package/esm2022/auth/lib/permission/permission.loader.mjs +1 -1
- package/esm2022/auth/lib/permission/permission.types.mjs +1 -1
- package/esm2022/auth/lib/session.service.mjs +14 -15
- package/esm2022/auth/lib/session.types.mjs +1 -1
- package/esm2022/auth/lib/tenant/tenant.loader.mjs +1 -1
- package/esm2022/auth/lib/tenant/tenant.types.mjs +1 -1
- package/esm2022/auth/lib/user/user.types.mjs +1 -1
- package/esm2022/common/index.mjs +1 -1
- package/esm2022/common/lib/app/application.types.mjs +5 -1
- package/esm2022/common/lib/app/index.mjs +1 -1
- package/esm2022/common/lib/app/operators.mjs +1 -1
- package/esm2022/common/lib/common.module.mjs +1 -1
- package/esm2022/common/lib/configs/app.config.mjs +1 -1
- package/esm2022/common/lib/configs/config.types.mjs +1 -1
- package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
- package/esm2022/common/lib/data/dexie-storage.service.mjs +1 -1
- package/esm2022/common/lib/data/entity-data-provider.mjs +1 -1
- package/esm2022/common/lib/data/index.mjs +1 -1
- package/esm2022/common/lib/data/storage-service.mjs +1 -1
- package/esm2022/common/lib/errors/error-handler-registry.service.mjs +1 -1
- package/esm2022/common/lib/errors/error-handler.types.mjs +1 -1
- package/esm2022/common/lib/errors/global-error-handler.mjs +1 -1
- package/esm2022/common/lib/errors/index.mjs +1 -1
- package/esm2022/common/lib/layout/beardcrumb.type.mjs +1 -1
- package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +1 -1
- package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +1 -1
- package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +1 -1
- package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +1 -1
- package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +1 -1
- package/esm2022/common/lib/layout/component-slot/index.mjs +1 -1
- package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +1 -1
- package/esm2022/common/lib/layout/grid-layout/grid-layout.types.mjs +1 -1
- package/esm2022/common/lib/layout/grid-layout/index.mjs +1 -1
- package/esm2022/common/lib/layout/index.mjs +1 -1
- package/esm2022/common/lib/layout/layout.service.mjs +1 -1
- package/esm2022/common/lib/layout/logo/index.mjs +1 -1
- package/esm2022/common/lib/layout/logo/logo.component.mjs +3 -3
- package/esm2022/common/lib/layout/logo/logo.types.mjs +1 -1
- package/esm2022/common/lib/layout/menu/index.mjs +1 -1
- package/esm2022/common/lib/layout/menu/menu.loader.mjs +1 -1
- package/esm2022/common/lib/layout/menu/menu.types.mjs +1 -1
- package/esm2022/common/lib/layout/sticky.directive.mjs +1 -1
- package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +5 -5
- package/esm2022/common/lib/layout/theme/components/slots/index.mjs +1 -1
- package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +9 -9
- package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +16 -16
- package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +1 -1
- package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +1 -1
- package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +1 -1
- package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +1 -1
- package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +1 -1
- package/esm2022/common/lib/layout/theme/store/index.mjs +1 -1
- package/esm2022/common/lib/schema/component-loader.mjs +1 -1
- package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +1 -1
- package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
- package/esm2022/common/lib/schema/entity/entity.loader.mjs +1 -1
- package/esm2022/common/lib/schema/entity/index.mjs +1 -1
- package/esm2022/common/lib/schema/formats.mjs +1 -1
- package/esm2022/common/lib/schema/index.mjs +1 -1
- package/esm2022/common/lib/schema/schema-registery.service.mjs +1 -1
- package/esm2022/common/lib/schema/schema.module.mjs +1 -1
- package/esm2022/common/lib/schema/schema.types.mjs +1 -1
- package/esm2022/common/lib/schema/widget/index.mjs +1 -1
- package/esm2022/common/lib/schema/widget/widget-base.mjs +1 -1
- package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +17 -17
- package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +13 -13
- package/esm2022/common/lib/schema/widget/widget-renderer.mjs +13 -13
- package/esm2022/common/lib/schema/widget/widget-token.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +68 -68
- package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +16 -16
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +31 -31
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +25 -25
- package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +76 -76
- package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +86 -86
- package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +68 -68
- package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +100 -100
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +60 -60
- package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +21 -21
- package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +23 -23
- package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +134 -134
- package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +65 -65
- package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +116 -116
- package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +6 -6
- package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +70 -70
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +125 -125
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +6 -6
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-types.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +109 -109
- package/esm2022/common/lib/schema/widgets/index.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +3 -3
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +48 -44
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +66 -66
- package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +5 -5
- package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +23 -23
- package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +88 -88
- package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +67 -67
- package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +15 -15
- package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +100 -100
- package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +37 -37
- package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +15 -15
- package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +58 -58
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +41 -41
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +146 -142
- package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +69 -69
- package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +23 -23
- package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +9 -9
- package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +9 -9
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +17 -17
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +29 -29
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +20 -20
- package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +9 -9
- package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +56 -56
- package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +17 -17
- package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +13 -13
- package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +88 -88
- package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +21 -21
- package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +33 -33
- package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +1 -1
- package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +25 -25
- package/esm2022/common/lib/settings/index.mjs +1 -1
- package/esm2022/common/lib/settings/settings.loader.mjs +1 -1
- package/esm2022/common/lib/settings/settings.service.mjs +1 -1
- package/esm2022/common/lib/settings/settings.types.mjs +1 -1
- package/esm2022/common/lib/store/common.actions.mjs +1 -1
- package/esm2022/common/lib/store/common.effects.mjs +1 -1
- package/esm2022/common/lib/store/index.mjs +1 -1
- package/esm2022/common/lib/utils/clipboard-service.mjs +1 -1
- package/esm2022/common/lib/utils/data-generator.mjs +1 -1
- package/esm2022/common/lib/utils/index.mjs +1 -1
- package/esm2022/common/lib/utils/pdf.service.mjs +1 -1
- package/esm2022/common/lib/utils/router-util.service.mjs +1 -1
- package/esm2022/common/lib/workflows/common.workflow.mjs +1 -1
- package/esm2022/common/lib/workflows/error-handler.mjs +1 -1
- package/esm2022/common/lib/workflows/index.mjs +1 -1
- package/esm2022/index.mjs +1 -1
- package/esm2022/layout/builder/index.mjs +1 -1
- package/esm2022/layout/builder/lib/builder/builder.module.mjs +1 -1
- package/esm2022/layout/builder/lib/builder/builder.service.mjs +1 -1
- package/esm2022/layout/builder/lib/builder/index.mjs +1 -1
- package/esm2022/layout/builder/lib/builder/layout.types.mjs +1 -1
- package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +17 -17
- package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +1 -1
- package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +1 -1
- package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +19 -19
- package/esm2022/layout/builder/lib/builder/widget.types.mjs +1 -1
- package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +28 -13
- package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +1 -1
- package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +64 -57
- package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +4 -8
- package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +1 -1
- package/esm2022/layout/entity/lib/entity-registery.service.mjs +1 -1
- package/esm2022/layout/entity/lib/entity.config.mjs +1 -1
- package/esm2022/layout/entity/lib/entity.module.mjs +16 -19
- package/esm2022/layout/entity/lib/entity.viewmodel.mjs +1 -1
- package/esm2022/layout/entity/lib/index.mjs +1 -1
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +81 -72
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +105 -83
- package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +1 -1
- package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +11 -8
- package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +3 -3
- package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +1 -1
- package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +1 -2
- package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +1 -1
- package/esm2022/layouts/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/admin.module.mjs +9 -2
- package/esm2022/layouts/lib/admin/admin.routes.mjs +1 -1
- package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +6 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +7 -5
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.mjs +91 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +4 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +4 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +4 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +20 -20
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +4 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +18 -6
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +9 -5
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +6 -3
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +3 -3
- package/esm2022/layouts/lib/admin/entity-layout/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +5 -3
- package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.mjs +77 -0
- package/esm2022/layouts/lib/admin/entity-layout/workflows/index.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +1 -1
- package/esm2022/layouts/lib/admin/entity.resolver.mjs +1 -1
- package/esm2022/layouts/lib/admin/index.mjs +1 -1
- package/esm2022/layouts/lib/layout.module.mjs +1 -1
- package/esm2022/mocks/index.mjs +1 -1
- package/esm2022/mocks/lib/mocks.module.mjs +1 -1
- package/esm2022/mocks/lib/services/mocker.service.mjs +1 -1
- package/esm2022/mocks/lib/storage/storage.mock.service.mjs +1 -1
- package/esm2022/native/index.mjs +1 -1
- package/esm2022/native/lib/native.service.mjs +1 -1
- package/esm2022/themes/default/index.mjs +1 -1
- package/esm2022/themes/default/lib/default.module.mjs +1 -1
- package/esm2022/themes/default/lib/entity-reuse.strategy.mjs +1 -1
- package/esm2022/themes/default/lib/layout.routes.mjs +1 -1
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +14 -21
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +8 -5
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +38 -29
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +17 -13
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +13 -9
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +8 -5
- package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +10 -7
- package/esm2022/themes/default/lib/layouts/root-layout/components/footer/footer.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/root-layout/index.mjs +1 -1
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +3 -3
- package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +1 -1
- package/esm2022/themes/default/lib/pages/errors/error-401/error-401.component.mjs +3 -3
- package/esm2022/themes/default/lib/pages/errors/error-404/error-404.component.mjs +3 -3
- package/esm2022/themes/default/lib/pages/errors/error-offline/error-offline.component.mjs +3 -3
- package/esm2022/widgets/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-column.component.mjs +25 -25
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +9 -9
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +29 -29
- package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/checkbox/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +54 -54
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +17 -17
- package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +21 -21
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +142 -142
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +69 -69
- package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +112 -112
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +64 -64
- package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +107 -107
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +97 -97
- package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/link-widget/index.mjs +8 -0
- package/esm2022/widgets/lib/editors/link-widget/link-widget-column.component.mjs +19 -0
- package/esm2022/widgets/lib/editors/link-widget/link-widget-designer.component.mjs +19 -0
- package/esm2022/widgets/lib/editors/link-widget/link-widget-edit.component.mjs +391 -0
- package/esm2022/widgets/lib/editors/link-widget/link-widget-filter.component.mjs +20 -0
- package/esm2022/widgets/lib/editors/link-widget/link-widget-print.component.mjs +19 -0
- package/esm2022/widgets/lib/editors/link-widget/link-widget-view.component.mjs +120 -0
- package/esm2022/widgets/lib/editors/link-widget/link-widget.config.mjs +24 -0
- package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.mjs +5 -5
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-view.component.mjs +5 -5
- package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +74 -71
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +17 -17
- package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.mjs +9 -9
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +45 -45
- package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +21 -21
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +141 -139
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +69 -69
- package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +9 -9
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +9 -9
- package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +26 -26
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +23 -23
- package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +13 -13
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.mjs +31 -31
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +9 -9
- package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +68 -58
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +17 -17
- package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +62 -62
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +17 -17
- package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-column.component.mjs +25 -25
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +1 -1
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-view.component.mjs +25 -25
- package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +11 -11
- package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +1 -1
- package/esm2022/widgets/lib/layout/block-widget/index.mjs +1 -1
- package/esm2022/widgets/lib/widgets.module.mjs +4 -1
- package/esm2022/workflow/index.mjs +1 -1
- package/esm2022/workflow/lib/actions/start-workflow.action.mjs +1 -1
- package/esm2022/workflow/lib/errors.types.mjs +1 -1
- package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +1 -1
- package/esm2022/workflow/lib/workflow-registery.service.mjs +1 -1
- package/esm2022/workflow/lib/workflow.module.mjs +1 -1
- package/esm2022/workflow/lib/workflow.service.mjs +1 -1
- package/esm2022/workflow/lib/workflow.types.mjs +1 -1
- package/fesm2022/acorex-platform-auth.mjs +14 -15
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs → acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs} +68 -68
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs → acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs} +16 -16
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs → acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs} +76 -76
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-change-password.component-NvrMMq9e.mjs → acorex-platform-common-change-password.component-CULJjn0l.mjs} +100 -100
- package/fesm2022/acorex-platform-common-change-password.component-CULJjn0l.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs → acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs} +31 -31
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs → acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs} +25 -25
- package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs.map → acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs.map} +1 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs → acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs} +100 -100
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs → acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs} +60 -60
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs → acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs} +21 -21
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-email-widget-column.component-BgNdL62k.mjs → acorex-platform-common-email-widget-column.component-DlPoexcx.mjs} +23 -23
- package/fesm2022/acorex-platform-common-email-widget-column.component-DlPoexcx.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs → acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs} +134 -134
- package/fesm2022/acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs → acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs} +65 -65
- package/fesm2022/acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs → acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs} +116 -116
- package/fesm2022/acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs → acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs} +6 -6
- package/fesm2022/acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs → acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs} +70 -70
- package/fesm2022/acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs → acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs} +125 -125
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs → acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs} +6 -6
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs → acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs} +109 -109
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs → acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs} +13 -13
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs → acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs} +3 -3
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs → acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs} +48 -44
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs → acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs} +66 -66
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs → acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs} +5 -5
- package/fesm2022/acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs → acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs} +5 -5
- package/fesm2022/acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs → acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs} +23 -23
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs → acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs} +88 -88
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs → acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs} +67 -67
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs → acorex-platform-common-number-widget-edit.component-D9dC514F.mjs} +15 -15
- package/fesm2022/acorex-platform-common-number-widget-edit.component-D9dC514F.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs → acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs} +86 -86
- package/fesm2022/acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs → acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs} +37 -37
- package/fesm2022/acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs → acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs} +15 -15
- package/fesm2022/acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs → acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs} +59 -59
- package/fesm2022/acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs → acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs} +41 -41
- package/fesm2022/acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs → acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs} +146 -142
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs → acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs} +69 -69
- package/fesm2022/acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs → acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs} +23 -23
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs → acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs} +9 -9
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs → acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs} +9 -9
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs → acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs} +17 -17
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs → acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs} +29 -29
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs → acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs} +20 -20
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs → acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs} +9 -9
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs → acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs} +56 -56
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs → acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs} +17 -17
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs → acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs} +68 -68
- package/fesm2022/acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-text-widget-column.component-qXusAevm.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs → acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs} +88 -88
- package/fesm2022/acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs → acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs} +21 -21
- package/fesm2022/acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs.map +1 -0
- package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs → acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs} +33 -33
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs.map +1 -0
- package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs.map +1 -1
- package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs → acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs} +25 -25
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +125 -121
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +34 -34
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +384 -342
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs +110 -0
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs +93 -0
- package/fesm2022/acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs +91 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts.mjs +150 -55
- package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
- package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs +99 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs +88 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs +31 -0
- package/fesm2022/acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs +25 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs +19 -0
- package/fesm2022/acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +83 -78
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs → acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs} +25 -25
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs → acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs} +29 -29
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +1990 -1376
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/fesm2022/acorex-platform.mjs.map +1 -1
- package/layout/builder/README.md +3 -3
- package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +2 -1
- package/layout/entity/lib/entity-master-list.viewmodel.d.ts +9 -7
- package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -0
- package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +5 -4
- package/layout/entity/lib/workflows/create-entity.workflow.d.ts +1 -0
- package/layouts/README.md +3 -3
- package/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.d.ts +27 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +2 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +2 -1
- package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +1 -0
- package/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.d.ts +27 -0
- package/mocks/README.md +3 -3
- package/package.json +4 -1
- package/themes/default/README.md +3 -3
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +3 -0
- package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +1 -1
- package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +1 -1
- package/widgets/README.md +3 -3
- package/widgets/lib/editors/link-widget/index.d.ts +7 -0
- package/widgets/lib/editors/link-widget/link-widget-column.component.d.ts +6 -0
- package/widgets/lib/editors/link-widget/link-widget-designer.component.d.ts +6 -0
- package/widgets/lib/editors/link-widget/link-widget-edit.component.d.ts +45 -0
- package/widgets/lib/editors/link-widget/link-widget-filter.component.d.ts +6 -0
- package/widgets/lib/editors/link-widget/link-widget-print.component.d.ts +6 -0
- package/widgets/lib/editors/link-widget/link-widget-view.component.d.ts +13 -0
- package/widgets/lib/editors/link-widget/link-widget.config.d.ts +2 -0
- package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +4 -1
- package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +2 -0
- package/workflow/README.md +3 -3
- package/fesm2022/acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-column.component-BgNdL62k.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs.map +0 -1
- package/fesm2022/acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs +0 -107
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs.map +0 -1
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs +0 -88
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs +0 -96
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs +0 -85
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-F7dr-osu.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs +0 -31
- package/fesm2022/acorex-platform-themes-default-error-401.component-Djuin07Z.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs +0 -25
- package/fesm2022/acorex-platform-themes-default-error-404.component-C-RyiLkk.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs +0 -19
- package/fesm2022/acorex-platform-themes-default-error-offline.component-WCfy9-cr.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs.map +0 -1
|
@@ -491,30 +491,30 @@ class AXPWidgetRendererComponent {
|
|
|
491
491
|
{
|
|
492
492
|
provide: AXUnsubscriber,
|
|
493
493
|
},
|
|
494
|
-
], ngImport: i0, template: `
|
|
495
|
-
@if(mergedOptions().isVisible!=false) { @if(isLoading()){
|
|
496
|
-
<ax-skeleton [animated]="true" class="ax-w-full lg:ax-w-[50%] ax-h-8 ax-rounded"></ax-skeleton>
|
|
497
|
-
} @else {
|
|
498
|
-
<ng-container *ngTemplateOutlet="tt"></ng-container>
|
|
499
|
-
} }
|
|
500
|
-
<ng-template #tt>
|
|
501
|
-
<ng-template [cdkPortalOutlet]="portal" (attached)="handleAttached($event)"></ng-template>
|
|
502
|
-
</ng-template>
|
|
494
|
+
], ngImport: i0, template: `
|
|
495
|
+
@if(mergedOptions().isVisible!=false) { @if(isLoading()){
|
|
496
|
+
<ax-skeleton [animated]="true" class="ax-w-full lg:ax-w-[50%] ax-h-8 ax-rounded"></ax-skeleton>
|
|
497
|
+
} @else {
|
|
498
|
+
<ng-container *ngTemplateOutlet="tt"></ng-container>
|
|
499
|
+
} }
|
|
500
|
+
<ng-template #tt>
|
|
501
|
+
<ng-template [cdkPortalOutlet]="portal" (attached)="handleAttached($event)"></ng-template>
|
|
502
|
+
</ng-template>
|
|
503
503
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
504
504
|
}
|
|
505
505
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPWidgetRendererComponent, decorators: [{
|
|
506
506
|
type: Component,
|
|
507
507
|
args: [{
|
|
508
508
|
selector: 'axp-widget-renderer',
|
|
509
|
-
template: `
|
|
510
|
-
@if(mergedOptions().isVisible!=false) { @if(isLoading()){
|
|
511
|
-
<ax-skeleton [animated]="true" class="ax-w-full lg:ax-w-[50%] ax-h-8 ax-rounded"></ax-skeleton>
|
|
512
|
-
} @else {
|
|
513
|
-
<ng-container *ngTemplateOutlet="tt"></ng-container>
|
|
514
|
-
} }
|
|
515
|
-
<ng-template #tt>
|
|
516
|
-
<ng-template [cdkPortalOutlet]="portal" (attached)="handleAttached($event)"></ng-template>
|
|
517
|
-
</ng-template>
|
|
509
|
+
template: `
|
|
510
|
+
@if(mergedOptions().isVisible!=false) { @if(isLoading()){
|
|
511
|
+
<ax-skeleton [animated]="true" class="ax-w-full lg:ax-w-[50%] ax-h-8 ax-rounded"></ax-skeleton>
|
|
512
|
+
} @else {
|
|
513
|
+
<ng-container *ngTemplateOutlet="tt"></ng-container>
|
|
514
|
+
} }
|
|
515
|
+
<ng-template #tt>
|
|
516
|
+
<ng-template [cdkPortalOutlet]="portal" (attached)="handleAttached($event)"></ng-template>
|
|
517
|
+
</ng-template>
|
|
518
518
|
`,
|
|
519
519
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
520
520
|
providers: [
|
|
@@ -583,28 +583,28 @@ class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
|
|
|
583
583
|
return { rawValue: get(data, this.node.path) };
|
|
584
584
|
}
|
|
585
585
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPWidgetColumnRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
586
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: { caption: "caption", node: "node", footerTemplate: "footerTemplate", cellTemplate: "cellTemplate", headerTemplate: "headerTemplate" }, providers: [AXPLayoutBuilderService, { provide: AXDataTableColumnComponent, useExisting: AXPWidgetColumnRendererComponent }], viewQueries: [{ propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }, { propertyName: "_contentCellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
587
|
-
<ng-template #header>{{ caption }}</ng-template>
|
|
588
|
-
<ng-template #cell let-row>
|
|
589
|
-
@if(component && widgetInjector && row?.data) {
|
|
590
|
-
<ng-container *ngComponentOutlet="component; injector: widgetInjector; inputs: getInputs(row.data)"></ng-container>
|
|
591
|
-
}
|
|
592
|
-
</ng-template>
|
|
593
|
-
<ng-template #footer></ng-template>
|
|
586
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: { caption: "caption", node: "node", footerTemplate: "footerTemplate", cellTemplate: "cellTemplate", headerTemplate: "headerTemplate" }, providers: [AXPLayoutBuilderService, { provide: AXDataTableColumnComponent, useExisting: AXPWidgetColumnRendererComponent }], viewQueries: [{ propertyName: "_contentFooterTemplate", first: true, predicate: ["footer"], descendants: true }, { propertyName: "_contentCellTemplate", first: true, predicate: ["cell"], descendants: true }, { propertyName: "_contentHeaderTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
587
|
+
<ng-template #header>{{ caption }}</ng-template>
|
|
588
|
+
<ng-template #cell let-row>
|
|
589
|
+
@if(component && widgetInjector && row?.data) {
|
|
590
|
+
<ng-container *ngComponentOutlet="component; injector: widgetInjector; inputs: getInputs(row.data)"></ng-container>
|
|
591
|
+
}
|
|
592
|
+
</ng-template>
|
|
593
|
+
<ng-template #footer></ng-template>
|
|
594
594
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
595
595
|
}
|
|
596
596
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPWidgetColumnRendererComponent, decorators: [{
|
|
597
597
|
type: Component,
|
|
598
598
|
args: [{
|
|
599
599
|
selector: 'axp-widget-column-renderer',
|
|
600
|
-
template: `
|
|
601
|
-
<ng-template #header>{{ caption }}</ng-template>
|
|
602
|
-
<ng-template #cell let-row>
|
|
603
|
-
@if(component && widgetInjector && row?.data) {
|
|
604
|
-
<ng-container *ngComponentOutlet="component; injector: widgetInjector; inputs: getInputs(row.data)"></ng-container>
|
|
605
|
-
}
|
|
606
|
-
</ng-template>
|
|
607
|
-
<ng-template #footer></ng-template>
|
|
600
|
+
template: `
|
|
601
|
+
<ng-template #header>{{ caption }}</ng-template>
|
|
602
|
+
<ng-template #cell let-row>
|
|
603
|
+
@if(component && widgetInjector && row?.data) {
|
|
604
|
+
<ng-container *ngComponentOutlet="component; injector: widgetInjector; inputs: getInputs(row.data)"></ng-container>
|
|
605
|
+
}
|
|
606
|
+
</ng-template>
|
|
607
|
+
<ng-template #footer></ng-template>
|
|
608
608
|
`,
|
|
609
609
|
providers: [AXPLayoutBuilderService, { provide: AXDataTableColumnComponent, useExisting: AXPWidgetColumnRendererComponent }],
|
|
610
610
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-layout-builder.mjs","sources":["../../../../libs/platform/layout/builder/src/lib/builder/builder.service.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget.types.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget-container.component.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget-registery.service.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget-renderer.component.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget-column-renderer.ts","../../../../libs/platform/layout/builder/src/lib/builder/builder.module.ts","../../../../libs/platform/layout/builder/src/acorex-platform-layout-builder.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\r\nimport { clone, get, isEqual, set } from 'lodash-es';\r\nimport { Subject, Subscription, debounceTime } from 'rxjs';\r\nimport { AXPLayoutContextEvent } from './widget.types';\r\n\r\n@Injectable()\r\nexport class AXPLayoutBuilderService {\r\n private readonly context$ = signal<any>({});\r\n private readonly variables$ = signal<any>({});\r\n private readonly functions$ = signal<{ [key: string]: Function }>({});\r\n\r\n public readonly onChanged: Subject<AXPLayoutContextEvent> = new Subject<AXPLayoutContextEvent>();\r\n private debouncers: { [key: string]: Subject<{ path: string; value: any }> } = {};\r\n private debouncerSubscriptions: { [key: string]: Subscription } = {};\r\n\r\n get context() {\r\n return this.context$();\r\n }\r\n\r\n get variables() {\r\n return this.variables$();\r\n }\r\n\r\n get functions(): { [key: string]: Function } {\r\n return this.functions$();\r\n }\r\n\r\n initial(value: any) {\r\n this.context$.set(value);\r\n }\r\n\r\n\r\n setVariables(keysValues: any): void;\r\n setVariables(key: string, value: any): void;\r\n setVariables(...args: any[]): void {\r\n if (args.length == 0)\r\n return;\r\n else if (args.length == 1)\r\n this.variables$.set(args[0]);\r\n else if (args.length == 2) {\r\n this.variables$.update(v => set(v, args[0], args[1]));\r\n }\r\n\r\n }\r\n\r\n\r\n setFunctions(keysValues: any): void;\r\n setFunctions(key: string, value: any): void;\r\n setFunctions(...args: any[]): void {\r\n if (args.length == 0)\r\n return;\r\n else if (args.length == 1)\r\n this.functions$.set(args[0]);\r\n else if (args.length == 2) {\r\n this.functions$.update(v => set(v, args[0], args[1]));\r\n }\r\n }\r\n\r\n\r\n setValue(path: string, value: any, debounceMs: number = 50) {\r\n const oldValue = get(this.context$(), path);\r\n if (isEqual(oldValue, value))\r\n return;\r\n if (!this.debouncers[path]) {\r\n // Create a new Subject for debouncing if it doesn't exist\r\n this.debouncers[path] = new Subject<{ path: string; value: any }>();\r\n\r\n // Subscribe to the subject with debounceTime\r\n this.debouncerSubscriptions[path] = this.debouncers[path].pipe(debounceTime(debounceMs)).subscribe(({ value }) => {\r\n // Only emit onChanged event after debounce time\r\n this.onChanged.next({\r\n oldValue: oldValue,\r\n newValue: value,\r\n data: this.context,\r\n path,\r\n });\r\n });\r\n }\r\n\r\n // Update context immediately\r\n this.context$.update((ctx) => set(clone(ctx), path, value));\r\n // Emit value through the debouncer subject\r\n this.debouncers[path].next({ path, value });\r\n }\r\n\r\n getValue(path: string) {\r\n return get(this.context, path);\r\n }\r\n\r\n private unsubscribeDebouncers() {\r\n Object.keys(this.debouncerSubscriptions).forEach((path) => {\r\n this.debouncerSubscriptions[path].unsubscribe();\r\n delete this.debouncerSubscriptions[path]; // Clean up the reference\r\n delete this.debouncers[path]; // Also clean up the debouncer subject\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribeDebouncers();\r\n }\r\n}\r\n","import { ChangeDetectorRef, Injectable, InjectionToken, computed, inject } from '@angular/core';\r\nimport { get, merge, set } from 'lodash-es';\r\nimport { AXPLayoutBuilderService } from './builder.service';\r\n\r\nexport type AXPWidgetNodeOptions = Record<string, any>;\r\n\r\nexport interface AXPWidgetNode {\r\n type: string;\r\n path: string;\r\n id?: string;\r\n formula?: string;\r\n children?: AXPWidgetNode[];\r\n mode: 'view' | 'edit' | 'designer';\r\n options?: AXPWidgetNodeOptions;\r\n triggers?: { event: string; action: string; disabled?: boolean }[];\r\n}\r\n\r\nexport interface AXPWidgetColumnNode {\r\n type: string;\r\n path: string;\r\n options?: AXPWidgetNodeOptions;\r\n}\r\n\r\nexport const AXP_WIDGET_TOKEN = new InjectionToken<AXPWidgetNode>('AXP_WIDGET_TOKEN');\r\nexport const AXP_WIDGET_COLUMN_TOKEN = new InjectionToken<AXPWidgetColumnNode>('AXP_WIDGET_COLUMN_TOKEN');\r\n\r\nexport interface AXPWidgetComponentConfig {\r\n component: () => Promise<any>;\r\n defaultOptions?: any;\r\n}\r\n\r\nexport interface AXPWidgetConfig {\r\n name: string;\r\n defaultOptions?: any;\r\n components: {\r\n view: AXPWidgetComponentConfig;\r\n [name: string]: AXPWidgetComponentConfig;\r\n };\r\n meta?: { [key: string]: any };\r\n}\r\n\r\nexport interface AXPLayoutContextEvent {\r\n oldValue: any;\r\n newValue: any;\r\n path?: string | null;\r\n data: any;\r\n}\r\n\r\n@Injectable()\r\nexport abstract class AXPWidgetBase<T = any | null | void> {\r\n private readonly token = inject(AXP_WIDGET_TOKEN);\r\n private readonly cdr = inject(ChangeDetectorRef);\r\n\r\n protected readonly id = this.token.id;\r\n protected readonly path = this.token.path;\r\n\r\n protected readonly mode = this.token.mode;\r\n protected readonly type = this.token.type;\r\n protected readonly children = this.token.children;\r\n\r\n private readonly contextService = inject(AXPLayoutBuilderService);\r\n\r\n private readonly rawValue = computed(() => (this.path ? get(this.contextService.context, this.path) : null));\r\n\r\n ngOnInit() {\r\n this.setOptions(this.token.options);\r\n }\r\n\r\n getValue() {\r\n return this.rawValue();\r\n }\r\n\r\n setValue(value: T) {\r\n const oldValue = this.rawValue();\r\n if (this.path) {\r\n this.contextService.setValue(this.path, value);\r\n this.onValueChanged(oldValue, value);\r\n }\r\n }\r\n\r\n setOption(path: string, value: any): void {\r\n set(this, path, value);\r\n this.cdr.markForCheck();\r\n }\r\n\r\n setOptions(values: any): void {\r\n merge(this, values);\r\n this.cdr.markForCheck();\r\n }\r\n\r\n call(name: string, ...args: any[]): void {\r\n const fn = get(this, name) as Function;\r\n if (fn && typeof fn == 'function') {\r\n fn.bind(this)(...args);\r\n }\r\n }\r\n\r\n onValueChanged(oldValue: T, newValue: T) {\r\n\r\n }\r\n}\r\n\r\n\r\n@Injectable()\r\nexport abstract class AXPColumnWidgetBase<T = any | null | void> {\r\n private readonly token = inject(AXP_WIDGET_COLUMN_TOKEN);\r\n\r\n protected readonly path = this.token.path;\r\n protected readonly options = this.token.options;\r\n\r\n private _rawValue: any;\r\n public get rawValue(): any {\r\n return this._rawValue;\r\n }\r\n public set rawValue(v: any) {\r\n this._rawValue = v;\r\n }\r\n\r\n ngOnInit() {\r\n this.setOptions(this.token.options);\r\n }\r\n\r\n setOptions(values: any): void {\r\n merge(this, values);\r\n }\r\n}","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, inject } from \"@angular/core\";\r\nimport { AXPLayoutBuilderService } from \"./builder.service\";\r\nimport { AXUnsubscriber } from \"@acorex/core/utils\";\r\nimport { cloneDeep, set } from \"lodash-es\";\r\n\r\n@Component({\r\n selector: 'axp-widgets-container',\r\n template: `<ng-content></ng-content>`,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { style: 'display: contents;' },\r\n providers: [AXPLayoutBuilderService, AXUnsubscriber],\r\n})\r\nexport class AXPWidgetContainerComponent {\r\n\r\n @Output()\r\n public contextChange = new EventEmitter<any>();\r\n\r\n private _context: any;\r\n public get context(): any {\r\n return this._context;\r\n }\r\n @Input()\r\n public set context(v: any) {\r\n this._context = v;\r\n this.builderService.initial(this.context);\r\n }\r\n\r\n @Input()\r\n public set variables(v: any) {\r\n this.builderService.setVariables(v);\r\n }\r\n\r\n @Input()\r\n public set functions(v: any) {\r\n this.builderService.setFunctions(v);\r\n }\r\n\r\n\r\n private unsubscriber = inject(AXUnsubscriber);\r\n private builderService = inject(AXPLayoutBuilderService);\r\n\r\n ngOnInit() {\r\n this.builderService.initial(this.context);\r\n this.builderService\r\n .onChanged\r\n .pipe(this.unsubscriber.takeUntilDestroy)\r\n .subscribe(ctx => {\r\n this.contextChange.emit(cloneDeep(ctx.data));\r\n });\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { AXPWidgetConfig } from \"./widget.types\";\r\nimport { merge } from \"lodash-es\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AXPWidgetRegistryService {\r\n private types: Map<string, AXPWidgetConfig> = new Map();\r\n\r\n\r\n register(widget: AXPWidgetConfig) {\r\n this.types.set(widget.name, widget);\r\n }\r\n\r\n extend(parentName: string, widget: AXPWidgetConfig) {\r\n const parentWidget = this.resolve(parentName);\r\n const newWidget = merge({}, parentWidget, widget);\r\n newWidget.name = widget.name;\r\n this.register(newWidget);\r\n }\r\n\r\n resolve(name: string): AXPWidgetConfig | undefined {\r\n const widget = this.types.get(name);\r\n if (!widget) {\r\n throw new Error(`Widget with name ${widget} does not exist.`);\r\n }\r\n return widget;\r\n }\r\n}\r\n","import { AXUnsubscriber } from '@acorex/core/utils';\r\nimport { CdkPortalOutletAttachedRef, ComponentPortal } from '@angular/cdk/portal';\r\nimport { ChangeDetectionStrategy, Component, ComponentRef, Injector, Input, WritableSignal, inject, signal } from '@angular/core';\r\nimport { cloneDeep, get, isEmpty, merge, set, sum } from 'lodash-es';\r\nimport { Observable, filter } from 'rxjs';\r\nimport { AXPLayoutBuilderService } from './builder.service';\r\nimport { AXPWidgetRegistryService } from './widget-registery.service';\r\nimport { AXPWidgetBase, AXPWidgetNode, AXP_WIDGET_TOKEN } from './widget.types';\r\n\r\n@Component({\r\n selector: 'axp-widget-renderer',\r\n template: `\r\n @if(mergedOptions().isVisible!=false) { @if(isLoading()){\r\n <ax-skeleton [animated]=\"true\" class=\"ax-w-full lg:ax-w-[50%] ax-h-8 ax-rounded\"></ax-skeleton>\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"tt\"></ng-container>\r\n } }\r\n <ng-template #tt>\r\n <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"handleAttached($event)\"></ng-template>\r\n </ng-template>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: AXUnsubscriber,\r\n },\r\n ],\r\n})\r\nexport class AXPWidgetRendererComponent {\r\n\r\n private _node: AXPWidgetNode;\r\n @Input({ required: true })\r\n public get node(): AXPWidgetNode {\r\n return this._node;\r\n }\r\n public set node(v: AXPWidgetNode) {\r\n this._node = v;\r\n this.loadComponent();\r\n }\r\n\r\n\r\n protected mergedOptions: WritableSignal<any> = signal<any>({});\r\n\r\n private injector = inject(Injector);\r\n protected builderService = inject(AXPLayoutBuilderService);\r\n protected widgetRegistery = inject(AXPWidgetRegistryService);\r\n protected unsubscriber = inject(AXUnsubscriber);\r\n\r\n protected isLoading = signal(true);\r\n private instance!: AXPWidgetBase;\r\n protected portal!: ComponentPortal<any>;\r\n private expressionCache: Map<string, () => Promise<any>> = new Map();\r\n private expressionEvaluators: Map<string, () => Promise<any>> = new Map();\r\n private scope: any = null;\r\n\r\n\r\n constructor() {\r\n this.builderService.onChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe(async (e) => {\r\n if (await this.updateOptionsBasedOnContext() > 0) {\r\n this.applyOptions();\r\n }\r\n if (this.checkFormulaForUpdate(this.node.formula, e.path)) {\r\n await this.updateValueBasedOnFormula();\r\n }\r\n });\r\n }\r\n\r\n private async loadComponent() {\r\n this.isLoading.set(true);\r\n const widget = this.widgetRegistery.resolve(this.node.type);\r\n this.mergedOptions.set(\r\n merge(cloneDeep(widget?.defaultOptions), cloneDeep(widget?.components[this.node.mode]?.defaultOptions), this.node.options) || {}\r\n );\r\n this.preprocessAndInitialOptions(cloneDeep(this.node.options));\r\n await this.updateOptionsBasedOnContext();\r\n const tokenValue = {\r\n id: this.node.id,\r\n path: this.node.path,\r\n mode: this.node.mode,\r\n type: this.node.type,\r\n children: this.node.children,\r\n options: this.mergedOptions()\r\n };\r\n const token = Injector.create({\r\n parent: this.injector,\r\n providers: [\r\n {\r\n provide: AXP_WIDGET_TOKEN,\r\n useValue: tokenValue,\r\n },\r\n ],\r\n });\r\n var com = await widget?.components[this.node.mode]?.component();\r\n this.portal = new ComponentPortal(com, null, token);\r\n this.isLoading.set(false);\r\n }\r\n\r\n protected async handleAttached(portalOutletRef: CdkPortalOutletAttachedRef) {\r\n portalOutletRef = portalOutletRef as ComponentRef<AXPWidgetBase>;\r\n this.instance = portalOutletRef.instance as AXPWidgetBase;\r\n await this.updateValueBasedOnFormula();\r\n await this.assignTriggers();\r\n }\r\n\r\n private applyOptions() {\r\n if (!this.instance) return;\r\n this.instance.setOptions(this.mergedOptions());\r\n }\r\n\r\n private checkFormulaForUpdate(formula: string | undefined, path?: string | null): boolean {\r\n if (formula) {\r\n const regex = /context\\.eval\\('([^']+)'\\)/g;\r\n const matches = formula.match(regex);\r\n const nodes = matches ? matches.map((match: any) => match.match(/'([^']+)'/)[1]) : [];\r\n return nodes.includes(path);\r\n } else return false;\r\n }\r\n\r\n preprocessAndInitialOptions(obj: any, pathPrefix: string = ''): void {\r\n if (!obj)\r\n return;\r\n Object.entries(obj).forEach(([key, value]) => {\r\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\r\n if (typeof value === 'string' && value.includes('{{')) {\r\n // Cache dynamic expression for later evaluation\r\n this.expressionEvaluators.set(currentPath, () => this.evaluateExpression(value));\r\n }\r\n else if (typeof value === 'object' && value !== null && (value.constructor === Object || Array.isArray(value))) {\r\n // Recursively handle nested objects\r\n this.preprocessAndInitialOptions(value, currentPath);\r\n } else {\r\n // Apply static values directly\r\n this.mergedOptions.update((currentOptions) => {\r\n return set(currentOptions, currentPath, value);\r\n });\r\n }\r\n });\r\n }\r\n\r\n async updateOptionsBasedOnContext() {\r\n const updates: any[] = [];\r\n for (let [path, evaluator] of this.expressionEvaluators) {\r\n const newValue = await evaluator();\r\n updates.push({ path, newValue });\r\n }\r\n // Apply updates to mergedOptions\r\n if (updates.length > 0) {\r\n this.mergedOptions.update(o => {\r\n const updatedOptions = { ...o };\r\n updates.forEach(({ path, newValue }) => {\r\n // Set the new value in the updatedOptions object by path\r\n set(updatedOptions, path, newValue); // Assuming 'set' can handle paths like 'property.subproperty'\r\n });\r\n return updatedOptions;\r\n });\r\n }\r\n return updates.length;\r\n }\r\n\r\n async updateValueBasedOnFormula() {\r\n if (this.node.formula) {\r\n const value = await this.evaluateExpression(this.node.formula);\r\n this.instance.setValue(value);\r\n }\r\n }\r\n\r\n private async evaluateExpression(templateExpression: string): Promise<any> {\r\n try {\r\n // Check cache first, but cache the function for evaluation, not the evaluated value\r\n if (!this.expressionCache.has(templateExpression)) {\r\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\r\n if (!expressionMatch) {\r\n throw Error(`No valid expression found in \"${templateExpression}\"`);\r\n }\r\n const expression = expressionMatch[1];\r\n\r\n // Cache the evaluation function instead of the result\r\n const scope = this.getGlobalScope();\r\n const evaluationFunction = async () => {\r\n const sandbox = new Function('scope', `with (scope) { return (async function() { return ${expression}; })(); }`);\r\n return await sandbox(scope);\r\n };\r\n\r\n this.expressionCache.set(templateExpression, evaluationFunction);\r\n }\r\n\r\n // Retrieve the function from the cache and call it to evaluate the expression\r\n const evaluate = this.expressionCache.get(templateExpression);\r\n if (evaluate) {\r\n // Ensure 'evaluate' is not undefined before invoking\r\n return await evaluate();\r\n } else {\r\n throw Error(`Failed to retrieve evaluation function for expression: \"${templateExpression}\"`);\r\n }\r\n } catch (error) {\r\n console.error('Error evaluating expression:', error);\r\n return false;\r\n }\r\n }\r\n\r\n private getGlobalScope() {\r\n if (this.scope) return this.scope;\r\n this.scope = {};\r\n set(this.scope, 'context', this.getContextScope());\r\n set(this.scope, 'events', this.getEventScope());\r\n set(this.scope, 'widget', this.getWidgetScope());\r\n set(this.scope, 'methods', this.getFunctionScope());\r\n set(this.scope, 'vars', this.getVariablesScope());\r\n return this.scope;\r\n }\r\n\r\n private getContextScope(): any {\r\n const scope: any = {};\r\n set(scope, 'eval', (path: string) => this.builderService.getValue(path));\r\n return scope;\r\n }\r\n\r\n private getEventScope(): any {\r\n const scope: any = {};\r\n set(scope, 'context', (path: string) =>\r\n this.builderService.onChanged.pipe(\r\n filter((c) => c.path == path)\r\n )\r\n );\r\n return scope;\r\n }\r\n\r\n private getWidgetScope(): any {\r\n const scope: any = {};\r\n set(scope, 'call', (name: string, ...args: any[]) => {\r\n this.instance.call(name, ...args);\r\n });\r\n return scope;\r\n }\r\n\r\n private getFunctionScope(): any {\r\n const scope: any = {};\r\n set(scope, 'sum', (values: any) => {\r\n return sum(values);\r\n });\r\n Object.entries(this.builderService.functions).forEach(i => {\r\n set(scope, i[0], (...args: any[]) => {\r\n return i[1](...args);\r\n });\r\n })\r\n return scope;\r\n }\r\n\r\n private getVariablesScope(): any {\r\n const scope: any = {};\r\n set(scope, 'eval', (path: string) => get(this.builderService.variables, path));\r\n return scope;\r\n }\r\n\r\n private async assignTriggers() {\r\n this.node.triggers?.forEach((t) => {\r\n const event = this.evaluateTrigger(t.event);\r\n event?.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\r\n this.evaluateAction(t.action);\r\n });\r\n });\r\n }\r\n\r\n private evaluateTrigger(templateExpression: string): Observable<any> | null {\r\n try {\r\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\r\n if (!expressionMatch) {\r\n throw Error(`No valid expression found in \"${templateExpression}\"`);\r\n }\r\n const expression = expressionMatch[1];\r\n\r\n // Cache the evaluation function instead of the result\r\n const scope = this.getGlobalScope();\r\n const sandbox = new Function('scope', `with (scope) { return ( function() { return ${expression}; })(); }`);\r\n return sandbox(scope);\r\n } catch (error) {\r\n console.error('Error evaluating expression:', error);\r\n return null;\r\n }\r\n }\r\n\r\n private evaluateAction(templateExpression: string) {\r\n try {\r\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\r\n if (!expressionMatch) {\r\n throw Error(`No valid expression found in \"${templateExpression}\"`);\r\n }\r\n const expression = expressionMatch[1];\r\n\r\n // Cache the evaluation function instead of the result\r\n const scope: any = this.getGlobalScope();\r\n const sandbox = new Function('scope', `with (scope) { ${expression} }`);\r\n sandbox(scope);\r\n } catch (error) {\r\n console.error('Error evaluating expression:', error);\r\n }\r\n }\r\n}\r\n","import { AXDataTableColumnComponent } from '@acorex/components/data-table';\r\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Injector, Input, TemplateRef, ViewChild, inject, signal } from '@angular/core';\r\nimport { AXPWidgetColumnNode, AXP_WIDGET_COLUMN_TOKEN } from './widget.types';\r\nimport { AXPLayoutBuilderService } from './builder.service';\r\nimport { AXPWidgetRegistryService } from './widget-registery.service';\r\nimport { get, merge } from 'lodash-es';\r\n\r\n@Component({\r\n selector: 'axp-widget-column-renderer',\r\n template: `\r\n <ng-template #header>{{ caption }}</ng-template>\r\n <ng-template #cell let-row>\r\n @if(component && widgetInjector && row?.data) {\r\n <ng-container *ngComponentOutlet=\"component; injector: widgetInjector; inputs: getInputs(row.data)\"></ng-container>\r\n }\r\n </ng-template>\r\n <ng-template #footer></ng-template>\r\n `,\r\n providers: [AXPLayoutBuilderService, { provide: AXDataTableColumnComponent, useExisting: AXPWidgetColumnRendererComponent }],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n inputs: ['caption'],\r\n})\r\nexport class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {\r\n\r\n protected widgetRegistery = inject(AXPWidgetRegistryService);\r\n\r\n private _node: AXPWidgetColumnNode;\r\n @Input({ required: true })\r\n public get node(): AXPWidgetColumnNode {\r\n return this._node;\r\n }\r\n public set node(v: AXPWidgetColumnNode) {\r\n this._node = v;\r\n }\r\n\r\n private mergedOptions = signal<any>({});\r\n\r\n @Input()\r\n public footerTemplate: TemplateRef<unknown>;\r\n\r\n @ViewChild('footer')\r\n private _contentFooterTemplate: TemplateRef<unknown>;\r\n\r\n get renderFooterTemplate(): TemplateRef<unknown> {\r\n return this.footerTemplate ?? this._contentFooterTemplate;\r\n }\r\n\r\n @Input()\r\n public cellTemplate: TemplateRef<unknown>;\r\n\r\n @ViewChild('cell')\r\n private _contentCellTemplate: TemplateRef<unknown>;\r\n\r\n get renderCellTemplate(): TemplateRef<unknown> {\r\n return this.cellTemplate ?? this._contentCellTemplate;\r\n }\r\n\r\n @Input()\r\n public headerTemplate: TemplateRef<unknown>;\r\n\r\n @ViewChild('header')\r\n private _contentHeaderTemplate: TemplateRef<unknown>;\r\n\r\n get renderHeaderTemplate(): TemplateRef<unknown> {\r\n return this.headerTemplate ?? this._contentHeaderTemplate;\r\n }\r\n\r\n get loadingEnabled(): boolean {\r\n return true;\r\n }\r\n\r\n get name(): string {\r\n return `col-${this.node.path}`;\r\n }\r\n\r\n\r\n private injector = inject(Injector);\r\n private cdr = inject(ChangeDetectorRef);\r\n protected widgetInjector!: Injector;\r\n protected component!: any;\r\n\r\n async ngOnInit() {\r\n const widget = this.widgetRegistery.resolve(this.node.type);\r\n const mode = 'column'\r\n this.component = await widget?.components[mode]?.component();\r\n this.mergedOptions.set(\r\n merge(widget?.defaultOptions, widget?.components[mode]?.defaultOptions, this.node.options) || {}\r\n );\r\n\r\n const tokenValue = {\r\n path: this.node.path,\r\n options: this.mergedOptions()\r\n };\r\n this.widgetInjector = Injector.create({\r\n parent: this.injector,\r\n providers: [\r\n {\r\n provide: AXP_WIDGET_COLUMN_TOKEN,\r\n useValue: tokenValue,\r\n },\r\n ],\r\n });\r\n\r\n this.width = this.mergedOptions().width ?? '200px';\r\n this.allowResizing = this.mergedOptions().allowResizing || true;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n getInputs(data: any): any {\r\n return { rawValue: get(data, this.node.path!) };\r\n }\r\n}\r\n","import { AXSkeletonModule } from \"@acorex/components/skeleton\";\r\nimport { PortalModule } from \"@angular/cdk/portal\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { Inject, ModuleWithProviders, NgModule, Optional } from \"@angular/core\";\r\nimport { AXPWidgetRendererComponent } from \"./widget-renderer.component\";\r\nimport { AXPWidgetContainerComponent } from \"./widget-container.component\";\r\nimport { AXPWidgetRegistryService } from \"./widget-registery.service\";\r\nimport { AXPWidgetConfig } from \"./widget.types\";\r\nimport { AXPWidgetColumnRendererComponent } from \"./widget-column-renderer\";\r\n\r\nexport interface AXPLayoutBuilderModuleConfigs {\r\n widgets: AXPWidgetConfig[]\r\n}\r\n\r\nconst COMPONENTS = [AXPWidgetContainerComponent, AXPWidgetRendererComponent, AXPWidgetColumnRendererComponent];\r\n\r\n@NgModule({\r\n imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule],\r\n exports: [...COMPONENTS],\r\n declarations: [...COMPONENTS],\r\n})\r\nexport class AXPLayoutBuilderModule {\r\n static forRoot(config?: AXPLayoutBuilderModuleConfigs): ModuleWithProviders<AXPLayoutBuilderModule> {\r\n return {\r\n ngModule: AXPLayoutBuilderModule,\r\n providers: [\r\n {\r\n provide: 'AXPLayoutBuilderModuleFactory',\r\n useFactory: (registry: AXPWidgetRegistryService) => () => {\r\n config?.widgets?.forEach(w => registry.register(w));\r\n },\r\n deps: [AXPWidgetRegistryService],\r\n multi: true\r\n },\r\n ]\r\n };\r\n }\r\n\r\n static forChild(config?: AXPLayoutBuilderModuleConfigs): ModuleWithProviders<AXPLayoutBuilderModule> {\r\n return {\r\n ngModule: AXPLayoutBuilderModule,\r\n providers: [\r\n {\r\n provide: 'AXPLayoutBuilderModuleFactory',\r\n useFactory: (registry: AXPWidgetRegistryService) => () => {\r\n config?.widgets?.forEach(w => registry.register(w));\r\n },\r\n deps: [AXPWidgetRegistryService],\r\n multi: true\r\n }\r\n ]\r\n };\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(@Optional() @Inject('AXPLayoutBuilderModuleFactory') instances: any[]) {\r\n instances?.forEach(f => {\r\n f();\r\n });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-layout-builder.mjs","sources":["../../../../libs/platform/layout/builder/src/lib/builder/builder.service.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget.types.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget-container.component.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget-registery.service.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget-renderer.component.ts","../../../../libs/platform/layout/builder/src/lib/builder/widget-column-renderer.ts","../../../../libs/platform/layout/builder/src/lib/builder/builder.module.ts","../../../../libs/platform/layout/builder/src/acorex-platform-layout-builder.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\nimport { clone, get, isEqual, set } from 'lodash-es';\nimport { Subject, Subscription, debounceTime } from 'rxjs';\nimport { AXPLayoutContextEvent } from './widget.types';\n\n@Injectable()\nexport class AXPLayoutBuilderService {\n private readonly context$ = signal<any>({});\n private readonly variables$ = signal<any>({});\n private readonly functions$ = signal<{ [key: string]: Function }>({});\n\n public readonly onChanged: Subject<AXPLayoutContextEvent> = new Subject<AXPLayoutContextEvent>();\n private debouncers: { [key: string]: Subject<{ path: string; value: any }> } = {};\n private debouncerSubscriptions: { [key: string]: Subscription } = {};\n\n get context() {\n return this.context$();\n }\n\n get variables() {\n return this.variables$();\n }\n\n get functions(): { [key: string]: Function } {\n return this.functions$();\n }\n\n initial(value: any) {\n this.context$.set(value);\n }\n\n\n setVariables(keysValues: any): void;\n setVariables(key: string, value: any): void;\n setVariables(...args: any[]): void {\n if (args.length == 0)\n return;\n else if (args.length == 1)\n this.variables$.set(args[0]);\n else if (args.length == 2) {\n this.variables$.update(v => set(v, args[0], args[1]));\n }\n\n }\n\n\n setFunctions(keysValues: any): void;\n setFunctions(key: string, value: any): void;\n setFunctions(...args: any[]): void {\n if (args.length == 0)\n return;\n else if (args.length == 1)\n this.functions$.set(args[0]);\n else if (args.length == 2) {\n this.functions$.update(v => set(v, args[0], args[1]));\n }\n }\n\n\n setValue(path: string, value: any, debounceMs: number = 50) {\n const oldValue = get(this.context$(), path);\n if (isEqual(oldValue, value))\n return;\n if (!this.debouncers[path]) {\n // Create a new Subject for debouncing if it doesn't exist\n this.debouncers[path] = new Subject<{ path: string; value: any }>();\n\n // Subscribe to the subject with debounceTime\n this.debouncerSubscriptions[path] = this.debouncers[path].pipe(debounceTime(debounceMs)).subscribe(({ value }) => {\n // Only emit onChanged event after debounce time\n this.onChanged.next({\n oldValue: oldValue,\n newValue: value,\n data: this.context,\n path,\n });\n });\n }\n\n // Update context immediately\n this.context$.update((ctx) => set(clone(ctx), path, value));\n // Emit value through the debouncer subject\n this.debouncers[path].next({ path, value });\n }\n\n getValue(path: string) {\n return get(this.context, path);\n }\n\n private unsubscribeDebouncers() {\n Object.keys(this.debouncerSubscriptions).forEach((path) => {\n this.debouncerSubscriptions[path].unsubscribe();\n delete this.debouncerSubscriptions[path]; // Clean up the reference\n delete this.debouncers[path]; // Also clean up the debouncer subject\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscribeDebouncers();\n }\n}\n","import { ChangeDetectorRef, Injectable, InjectionToken, computed, inject } from '@angular/core';\nimport { get, merge, set } from 'lodash-es';\nimport { AXPLayoutBuilderService } from './builder.service';\n\nexport type AXPWidgetNodeOptions = Record<string, any>;\n\nexport interface AXPWidgetNode {\n type: string;\n path: string;\n id?: string;\n formula?: string;\n children?: AXPWidgetNode[];\n mode: 'view' | 'edit' | 'designer';\n options?: AXPWidgetNodeOptions;\n triggers?: { event: string; action: string; disabled?: boolean }[];\n}\n\nexport interface AXPWidgetColumnNode {\n type: string;\n path: string;\n options?: AXPWidgetNodeOptions;\n}\n\nexport const AXP_WIDGET_TOKEN = new InjectionToken<AXPWidgetNode>('AXP_WIDGET_TOKEN');\nexport const AXP_WIDGET_COLUMN_TOKEN = new InjectionToken<AXPWidgetColumnNode>('AXP_WIDGET_COLUMN_TOKEN');\n\nexport interface AXPWidgetComponentConfig {\n component: () => Promise<any>;\n defaultOptions?: any;\n}\n\nexport interface AXPWidgetConfig {\n name: string;\n defaultOptions?: any;\n components: {\n view: AXPWidgetComponentConfig;\n [name: string]: AXPWidgetComponentConfig;\n };\n meta?: { [key: string]: any };\n}\n\nexport interface AXPLayoutContextEvent {\n oldValue: any;\n newValue: any;\n path?: string | null;\n data: any;\n}\n\n@Injectable()\nexport abstract class AXPWidgetBase<T = any | null | void> {\n private readonly token = inject(AXP_WIDGET_TOKEN);\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected readonly id = this.token.id;\n protected readonly path = this.token.path;\n\n protected readonly mode = this.token.mode;\n protected readonly type = this.token.type;\n protected readonly children = this.token.children;\n\n private readonly contextService = inject(AXPLayoutBuilderService);\n\n private readonly rawValue = computed(() => (this.path ? get(this.contextService.context, this.path) : null));\n\n ngOnInit() {\n this.setOptions(this.token.options);\n }\n\n getValue() {\n return this.rawValue();\n }\n\n setValue(value: T) {\n const oldValue = this.rawValue();\n if (this.path) {\n this.contextService.setValue(this.path, value);\n this.onValueChanged(oldValue, value);\n }\n }\n\n setOption(path: string, value: any): void {\n set(this, path, value);\n this.cdr.markForCheck();\n }\n\n setOptions(values: any): void {\n merge(this, values);\n this.cdr.markForCheck();\n }\n\n call(name: string, ...args: any[]): void {\n const fn = get(this, name) as Function;\n if (fn && typeof fn == 'function') {\n fn.bind(this)(...args);\n }\n }\n\n onValueChanged(oldValue: T, newValue: T) {\n\n }\n}\n\n\n@Injectable()\nexport abstract class AXPColumnWidgetBase<T = any | null | void> {\n private readonly token = inject(AXP_WIDGET_COLUMN_TOKEN);\n\n protected readonly path = this.token.path;\n protected readonly options = this.token.options;\n\n private _rawValue: any;\n public get rawValue(): any {\n return this._rawValue;\n }\n public set rawValue(v: any) {\n this._rawValue = v;\n }\n\n ngOnInit() {\n this.setOptions(this.token.options);\n }\n\n setOptions(values: any): void {\n merge(this, values);\n }\n}","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, inject } from \"@angular/core\";\nimport { AXPLayoutBuilderService } from \"./builder.service\";\nimport { AXUnsubscriber } from \"@acorex/core/utils\";\nimport { cloneDeep, set } from \"lodash-es\";\n\n@Component({\n selector: 'axp-widgets-container',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { style: 'display: contents;' },\n providers: [AXPLayoutBuilderService, AXUnsubscriber],\n})\nexport class AXPWidgetContainerComponent {\n\n @Output()\n public contextChange = new EventEmitter<any>();\n\n private _context: any;\n public get context(): any {\n return this._context;\n }\n @Input()\n public set context(v: any) {\n this._context = v;\n this.builderService.initial(this.context);\n }\n\n @Input()\n public set variables(v: any) {\n this.builderService.setVariables(v);\n }\n\n @Input()\n public set functions(v: any) {\n this.builderService.setFunctions(v);\n }\n\n\n private unsubscriber = inject(AXUnsubscriber);\n private builderService = inject(AXPLayoutBuilderService);\n\n ngOnInit() {\n this.builderService.initial(this.context);\n this.builderService\n .onChanged\n .pipe(this.unsubscriber.takeUntilDestroy)\n .subscribe(ctx => {\n this.contextChange.emit(cloneDeep(ctx.data));\n });\n }\n}","import { Injectable } from \"@angular/core\";\nimport { AXPWidgetConfig } from \"./widget.types\";\nimport { merge } from \"lodash-es\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPWidgetRegistryService {\n private types: Map<string, AXPWidgetConfig> = new Map();\n\n\n register(widget: AXPWidgetConfig) {\n this.types.set(widget.name, widget);\n }\n\n extend(parentName: string, widget: AXPWidgetConfig) {\n const parentWidget = this.resolve(parentName);\n const newWidget = merge({}, parentWidget, widget);\n newWidget.name = widget.name;\n this.register(newWidget);\n }\n\n resolve(name: string): AXPWidgetConfig | undefined {\n const widget = this.types.get(name);\n if (!widget) {\n throw new Error(`Widget with name ${widget} does not exist.`);\n }\n return widget;\n }\n}\n","import { AXUnsubscriber } from '@acorex/core/utils';\nimport { CdkPortalOutletAttachedRef, ComponentPortal } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, Component, ComponentRef, Injector, Input, WritableSignal, inject, signal } from '@angular/core';\nimport { cloneDeep, get, isEmpty, merge, set, sum } from 'lodash-es';\nimport { Observable, filter } from 'rxjs';\nimport { AXPLayoutBuilderService } from './builder.service';\nimport { AXPWidgetRegistryService } from './widget-registery.service';\nimport { AXPWidgetBase, AXPWidgetNode, AXP_WIDGET_TOKEN } from './widget.types';\n\n@Component({\n selector: 'axp-widget-renderer',\n template: `\n @if(mergedOptions().isVisible!=false) { @if(isLoading()){\n <ax-skeleton [animated]=\"true\" class=\"ax-w-full lg:ax-w-[50%] ax-h-8 ax-rounded\"></ax-skeleton>\n } @else {\n <ng-container *ngTemplateOutlet=\"tt\"></ng-container>\n } }\n <ng-template #tt>\n <ng-template [cdkPortalOutlet]=\"portal\" (attached)=\"handleAttached($event)\"></ng-template>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXUnsubscriber,\n },\n ],\n})\nexport class AXPWidgetRendererComponent {\n\n private _node: AXPWidgetNode;\n @Input({ required: true })\n public get node(): AXPWidgetNode {\n return this._node;\n }\n public set node(v: AXPWidgetNode) {\n this._node = v;\n this.loadComponent();\n }\n\n\n protected mergedOptions: WritableSignal<any> = signal<any>({});\n\n private injector = inject(Injector);\n protected builderService = inject(AXPLayoutBuilderService);\n protected widgetRegistery = inject(AXPWidgetRegistryService);\n protected unsubscriber = inject(AXUnsubscriber);\n\n protected isLoading = signal(true);\n private instance!: AXPWidgetBase;\n protected portal!: ComponentPortal<any>;\n private expressionCache: Map<string, () => Promise<any>> = new Map();\n private expressionEvaluators: Map<string, () => Promise<any>> = new Map();\n private scope: any = null;\n\n\n constructor() {\n this.builderService.onChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe(async (e) => {\n if (await this.updateOptionsBasedOnContext() > 0) {\n this.applyOptions();\n }\n if (this.checkFormulaForUpdate(this.node.formula, e.path)) {\n await this.updateValueBasedOnFormula();\n }\n });\n }\n\n private async loadComponent() {\n this.isLoading.set(true);\n const widget = this.widgetRegistery.resolve(this.node.type);\n this.mergedOptions.set(\n merge(cloneDeep(widget?.defaultOptions), cloneDeep(widget?.components[this.node.mode]?.defaultOptions), this.node.options) || {}\n );\n this.preprocessAndInitialOptions(cloneDeep(this.node.options));\n await this.updateOptionsBasedOnContext();\n const tokenValue = {\n id: this.node.id,\n path: this.node.path,\n mode: this.node.mode,\n type: this.node.type,\n children: this.node.children,\n options: this.mergedOptions()\n };\n const token = Injector.create({\n parent: this.injector,\n providers: [\n {\n provide: AXP_WIDGET_TOKEN,\n useValue: tokenValue,\n },\n ],\n });\n var com = await widget?.components[this.node.mode]?.component();\n this.portal = new ComponentPortal(com, null, token);\n this.isLoading.set(false);\n }\n\n protected async handleAttached(portalOutletRef: CdkPortalOutletAttachedRef) {\n portalOutletRef = portalOutletRef as ComponentRef<AXPWidgetBase>;\n this.instance = portalOutletRef.instance as AXPWidgetBase;\n await this.updateValueBasedOnFormula();\n await this.assignTriggers();\n }\n\n private applyOptions() {\n if (!this.instance) return;\n this.instance.setOptions(this.mergedOptions());\n }\n\n private checkFormulaForUpdate(formula: string | undefined, path?: string | null): boolean {\n if (formula) {\n const regex = /context\\.eval\\('([^']+)'\\)/g;\n const matches = formula.match(regex);\n const nodes = matches ? matches.map((match: any) => match.match(/'([^']+)'/)[1]) : [];\n return nodes.includes(path);\n } else return false;\n }\n\n preprocessAndInitialOptions(obj: any, pathPrefix: string = ''): void {\n if (!obj)\n return;\n Object.entries(obj).forEach(([key, value]) => {\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n if (typeof value === 'string' && value.includes('{{')) {\n // Cache dynamic expression for later evaluation\n this.expressionEvaluators.set(currentPath, () => this.evaluateExpression(value));\n }\n else if (typeof value === 'object' && value !== null && (value.constructor === Object || Array.isArray(value))) {\n // Recursively handle nested objects\n this.preprocessAndInitialOptions(value, currentPath);\n } else {\n // Apply static values directly\n this.mergedOptions.update((currentOptions) => {\n return set(currentOptions, currentPath, value);\n });\n }\n });\n }\n\n async updateOptionsBasedOnContext() {\n const updates: any[] = [];\n for (let [path, evaluator] of this.expressionEvaluators) {\n const newValue = await evaluator();\n updates.push({ path, newValue });\n }\n // Apply updates to mergedOptions\n if (updates.length > 0) {\n this.mergedOptions.update(o => {\n const updatedOptions = { ...o };\n updates.forEach(({ path, newValue }) => {\n // Set the new value in the updatedOptions object by path\n set(updatedOptions, path, newValue); // Assuming 'set' can handle paths like 'property.subproperty'\n });\n return updatedOptions;\n });\n }\n return updates.length;\n }\n\n async updateValueBasedOnFormula() {\n if (this.node.formula) {\n const value = await this.evaluateExpression(this.node.formula);\n this.instance.setValue(value);\n }\n }\n\n private async evaluateExpression(templateExpression: string): Promise<any> {\n try {\n // Check cache first, but cache the function for evaluation, not the evaluated value\n if (!this.expressionCache.has(templateExpression)) {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n const expression = expressionMatch[1];\n\n // Cache the evaluation function instead of the result\n const scope = this.getGlobalScope();\n const evaluationFunction = async () => {\n const sandbox = new Function('scope', `with (scope) { return (async function() { return ${expression}; })(); }`);\n return await sandbox(scope);\n };\n\n this.expressionCache.set(templateExpression, evaluationFunction);\n }\n\n // Retrieve the function from the cache and call it to evaluate the expression\n const evaluate = this.expressionCache.get(templateExpression);\n if (evaluate) {\n // Ensure 'evaluate' is not undefined before invoking\n return await evaluate();\n } else {\n throw Error(`Failed to retrieve evaluation function for expression: \"${templateExpression}\"`);\n }\n } catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n\n private getGlobalScope() {\n if (this.scope) return this.scope;\n this.scope = {};\n set(this.scope, 'context', this.getContextScope());\n set(this.scope, 'events', this.getEventScope());\n set(this.scope, 'widget', this.getWidgetScope());\n set(this.scope, 'methods', this.getFunctionScope());\n set(this.scope, 'vars', this.getVariablesScope());\n return this.scope;\n }\n\n private getContextScope(): any {\n const scope: any = {};\n set(scope, 'eval', (path: string) => this.builderService.getValue(path));\n return scope;\n }\n\n private getEventScope(): any {\n const scope: any = {};\n set(scope, 'context', (path: string) =>\n this.builderService.onChanged.pipe(\n filter((c) => c.path == path)\n )\n );\n return scope;\n }\n\n private getWidgetScope(): any {\n const scope: any = {};\n set(scope, 'call', (name: string, ...args: any[]) => {\n this.instance.call(name, ...args);\n });\n return scope;\n }\n\n private getFunctionScope(): any {\n const scope: any = {};\n set(scope, 'sum', (values: any) => {\n return sum(values);\n });\n Object.entries(this.builderService.functions).forEach(i => {\n set(scope, i[0], (...args: any[]) => {\n return i[1](...args);\n });\n })\n return scope;\n }\n\n private getVariablesScope(): any {\n const scope: any = {};\n set(scope, 'eval', (path: string) => get(this.builderService.variables, path));\n return scope;\n }\n\n private async assignTriggers() {\n this.node.triggers?.forEach((t) => {\n const event = this.evaluateTrigger(t.event);\n event?.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.evaluateAction(t.action);\n });\n });\n }\n\n private evaluateTrigger(templateExpression: string): Observable<any> | null {\n try {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n const expression = expressionMatch[1];\n\n // Cache the evaluation function instead of the result\n const scope = this.getGlobalScope();\n const sandbox = new Function('scope', `with (scope) { return ( function() { return ${expression}; })(); }`);\n return sandbox(scope);\n } catch (error) {\n console.error('Error evaluating expression:', error);\n return null;\n }\n }\n\n private evaluateAction(templateExpression: string) {\n try {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n const expression = expressionMatch[1];\n\n // Cache the evaluation function instead of the result\n const scope: any = this.getGlobalScope();\n const sandbox = new Function('scope', `with (scope) { ${expression} }`);\n sandbox(scope);\n } catch (error) {\n console.error('Error evaluating expression:', error);\n }\n }\n}\n","import { AXDataTableColumnComponent } from '@acorex/components/data-table';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Injector, Input, TemplateRef, ViewChild, inject, signal } from '@angular/core';\nimport { AXPWidgetColumnNode, AXP_WIDGET_COLUMN_TOKEN } from './widget.types';\nimport { AXPLayoutBuilderService } from './builder.service';\nimport { AXPWidgetRegistryService } from './widget-registery.service';\nimport { get, merge } from 'lodash-es';\n\n@Component({\n selector: 'axp-widget-column-renderer',\n template: `\n <ng-template #header>{{ caption }}</ng-template>\n <ng-template #cell let-row>\n @if(component && widgetInjector && row?.data) {\n <ng-container *ngComponentOutlet=\"component; injector: widgetInjector; inputs: getInputs(row.data)\"></ng-container>\n }\n </ng-template>\n <ng-template #footer></ng-template>\n `,\n providers: [AXPLayoutBuilderService, { provide: AXDataTableColumnComponent, useExisting: AXPWidgetColumnRendererComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['caption'],\n})\nexport class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {\n\n protected widgetRegistery = inject(AXPWidgetRegistryService);\n\n private _node: AXPWidgetColumnNode;\n @Input({ required: true })\n public get node(): AXPWidgetColumnNode {\n return this._node;\n }\n public set node(v: AXPWidgetColumnNode) {\n this._node = v;\n }\n\n private mergedOptions = signal<any>({});\n\n @Input()\n public footerTemplate: TemplateRef<unknown>;\n\n @ViewChild('footer')\n private _contentFooterTemplate: TemplateRef<unknown>;\n\n get renderFooterTemplate(): TemplateRef<unknown> {\n return this.footerTemplate ?? this._contentFooterTemplate;\n }\n\n @Input()\n public cellTemplate: TemplateRef<unknown>;\n\n @ViewChild('cell')\n private _contentCellTemplate: TemplateRef<unknown>;\n\n get renderCellTemplate(): TemplateRef<unknown> {\n return this.cellTemplate ?? this._contentCellTemplate;\n }\n\n @Input()\n public headerTemplate: TemplateRef<unknown>;\n\n @ViewChild('header')\n private _contentHeaderTemplate: TemplateRef<unknown>;\n\n get renderHeaderTemplate(): TemplateRef<unknown> {\n return this.headerTemplate ?? this._contentHeaderTemplate;\n }\n\n get loadingEnabled(): boolean {\n return true;\n }\n\n get name(): string {\n return `col-${this.node.path}`;\n }\n\n\n private injector = inject(Injector);\n private cdr = inject(ChangeDetectorRef);\n protected widgetInjector!: Injector;\n protected component!: any;\n\n async ngOnInit() {\n const widget = this.widgetRegistery.resolve(this.node.type);\n const mode = 'column'\n this.component = await widget?.components[mode]?.component();\n this.mergedOptions.set(\n merge(widget?.defaultOptions, widget?.components[mode]?.defaultOptions, this.node.options) || {}\n );\n\n const tokenValue = {\n path: this.node.path,\n options: this.mergedOptions()\n };\n this.widgetInjector = Injector.create({\n parent: this.injector,\n providers: [\n {\n provide: AXP_WIDGET_COLUMN_TOKEN,\n useValue: tokenValue,\n },\n ],\n });\n\n this.width = this.mergedOptions().width ?? '200px';\n this.allowResizing = this.mergedOptions().allowResizing || true;\n this.cdr.detectChanges();\n }\n\n getInputs(data: any): any {\n return { rawValue: get(data, this.node.path!) };\n }\n}\n","import { AXSkeletonModule } from \"@acorex/components/skeleton\";\nimport { PortalModule } from \"@angular/cdk/portal\";\nimport { CommonModule } from \"@angular/common\";\nimport { Inject, ModuleWithProviders, NgModule, Optional } from \"@angular/core\";\nimport { AXPWidgetRendererComponent } from \"./widget-renderer.component\";\nimport { AXPWidgetContainerComponent } from \"./widget-container.component\";\nimport { AXPWidgetRegistryService } from \"./widget-registery.service\";\nimport { AXPWidgetConfig } from \"./widget.types\";\nimport { AXPWidgetColumnRendererComponent } from \"./widget-column-renderer\";\n\nexport interface AXPLayoutBuilderModuleConfigs {\n widgets: AXPWidgetConfig[]\n}\n\nconst COMPONENTS = [AXPWidgetContainerComponent, AXPWidgetRendererComponent, AXPWidgetColumnRendererComponent];\n\n@NgModule({\n imports: [CommonModule, PortalModule, AXSkeletonModule, CommonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class AXPLayoutBuilderModule {\n static forRoot(config?: AXPLayoutBuilderModuleConfigs): ModuleWithProviders<AXPLayoutBuilderModule> {\n return {\n ngModule: AXPLayoutBuilderModule,\n providers: [\n {\n provide: 'AXPLayoutBuilderModuleFactory',\n useFactory: (registry: AXPWidgetRegistryService) => () => {\n config?.widgets?.forEach(w => registry.register(w));\n },\n deps: [AXPWidgetRegistryService],\n multi: true\n },\n ]\n };\n }\n\n static forChild(config?: AXPLayoutBuilderModuleConfigs): ModuleWithProviders<AXPLayoutBuilderModule> {\n return {\n ngModule: AXPLayoutBuilderModule,\n providers: [\n {\n provide: 'AXPLayoutBuilderModuleFactory',\n useFactory: (registry: AXPWidgetRegistryService) => () => {\n config?.widgets?.forEach(w => registry.register(w));\n },\n deps: [AXPWidgetRegistryService],\n multi: true\n }\n ]\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPLayoutBuilderModuleFactory') instances: any[]) {\n instances?.forEach(f => {\n f();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;MAMa,uBAAuB,CAAA;AADpC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAM,EAAE,CAAC,CAAC;AAC3B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAM,EAAE,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA8B,EAAE,CAAC,CAAC;AAEtD,QAAA,IAAA,CAAA,SAAS,GAAmC,IAAI,OAAO,EAAyB,CAAC;QACzF,IAAU,CAAA,UAAA,GAA6D,EAAE,CAAC;QAC1E,IAAsB,CAAA,sBAAA,GAAoC,EAAE,CAAC;AAuFtE,KAAA;AArFC,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;KACxB;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;KAC1B;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;KAC1B;AAED,IAAA,OAAO,CAAC,KAAU,EAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAC1B;IAKD,YAAY,CAAC,GAAG,IAAW,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAClB,OAAO;AACJ,aAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,aAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD;KAEF;IAKD,YAAY,CAAC,GAAG,IAAW,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YAClB,OAAO;AACJ,aAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,aAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD;KACF;AAGD,IAAA,QAAQ,CAAC,IAAY,EAAE,KAAU,EAAE,aAAqB,EAAE,EAAA;QACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;AAC5C,QAAA,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC1B,OAAO;QACT,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;;YAE1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,EAAgC,CAAC;;AAGpE,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,KAAI;;AAE/G,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAClB,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,IAAI,CAAC,OAAO;oBAClB,IAAI;AACL,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;;QAGD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;;AAE5D,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;KAC7C;AAED,IAAA,QAAQ,CAAC,IAAY,EAAA;QACnB,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KAChC;IAEO,qBAAqB,GAAA;AAC3B,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACxD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;8GA7FU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAvB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;MCkBE,gBAAgB,GAAG,IAAI,cAAc,CAAgB,kBAAkB,EAAE;MACzE,uBAAuB,GAAG,IAAI,cAAc,CAAsB,yBAAyB,EAAE;MAyBpF,aAAa,CAAA;AADnC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE9B,QAAA,IAAA,CAAA,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACnB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAEvB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACvB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAEjC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEjD,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAsC9G,KAAA;IApCC,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACrC;IAED,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;KACxB;AAED,IAAA,QAAQ,CAAC,KAAQ,EAAA;AACf,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjC,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SACtC;KACF;IAED,SAAS,CAAC,IAAY,EAAE,KAAU,EAAA;AAChC,QAAA,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,UAAU,CAAC,MAAW,EAAA;AACpB,QAAA,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACpB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,IAAI,CAAC,IAAY,EAAE,GAAG,IAAW,EAAA;QAC/B,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAa,CAAC;AACvC,QAAA,IAAI,EAAE,IAAI,OAAO,EAAE,IAAI,UAAU,EAAE;YACjC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SACxB;KACF;IAED,cAAc,CAAC,QAAW,EAAE,QAAW,EAAA;KAEtC;8GAlDmB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAb,aAAa,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;MAwDW,mBAAmB,CAAA;AADzC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEtC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACvB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AAiBjD,KAAA;AAdC,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAW,QAAQ,CAAC,CAAM,EAAA;AACxB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;KACpB;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACrC;AAED,IAAA,UAAU,CAAC,MAAW,EAAA;AACpB,QAAA,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACrB;8GApBmB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAnB,mBAAmB,EAAA,CAAA,CAAA,EAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBADxC,UAAU;;;MC3FE,2BAA2B,CAAA;AAPxC,IAAA,WAAA,GAAA;AAUW,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAO,CAAC;AAuBvC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAW5D,KAAA;AAhCG,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IACD,IACW,OAAO,CAAC,CAAM,EAAA;AACrB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7C;IAED,IACW,SAAS,CAAC,CAAM,EAAA;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;KACvC;IAED,IACW,SAAS,CAAC,CAAM,EAAA;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;KACvC;IAMD,QAAQ,GAAA;QACJ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,cAAc;aACd,SAAS;AACT,aAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;aACxC,SAAS,CAAC,GAAG,IAAG;AACb,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,SAAC,CAAC,CAAC;KACV;8GArCQ,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,6NAFzB,CAAC,uBAAuB,EAAE,cAAc,CAAC,0BAH1C,CAA2B,yBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAK5B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAA2B,yBAAA,CAAA;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;AACrC,oBAAA,SAAS,EAAE,CAAC,uBAAuB,EAAE,cAAc,CAAC;AACvD,iBAAA,CAAA;8BAIU,aAAa,EAAA,CAAA;sBADnB,MAAM;gBAQI,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAOK,SAAS,EAAA,CAAA;sBADnB,KAAK;gBAMK,SAAS,EAAA,CAAA;sBADnB,KAAK;;;MCzBG,wBAAwB,CAAA;AAHrC,IAAA,WAAA,GAAA;AAIY,QAAA,IAAA,CAAA,KAAK,GAAiC,IAAI,GAAG,EAAE,CAAC;AAqB3D,KAAA;AAlBG,IAAA,QAAQ,CAAC,MAAuB,EAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACvC;IAED,MAAM,CAAC,UAAkB,EAAE,MAAuB,EAAA;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAClD,QAAA,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;KAC5B;AAED,IAAA,OAAO,CAAC,IAAY,EAAA;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAA,gBAAA,CAAkB,CAAC,CAAC;SACjE;AACD,QAAA,OAAO,MAAM,CAAC;KACjB;8GArBQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cAFrB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCsBY,0BAA0B,CAAA;AAGrC,IAAA,IACW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IACD,IAAW,IAAI,CAAC,CAAgB,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;AAkBD,IAAA,WAAA,GAAA;AAfU,QAAA,IAAA,CAAA,aAAa,GAAwB,MAAM,CAAM,EAAE,CAAC,CAAC;AAEvD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1B,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACjD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACnD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAEtC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAG3B,QAAA,IAAA,CAAA,eAAe,GAAoC,IAAI,GAAG,EAAE,CAAC;AAC7D,QAAA,IAAA,CAAA,oBAAoB,GAAoC,IAAI,GAAG,EAAE,CAAC;QAClE,IAAK,CAAA,KAAA,GAAQ,IAAI,CAAC;QAIxB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI;YAC3F,IAAI,MAAM,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,EAAE;gBAChD,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACD,YAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;AACzD,gBAAA,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;aACxC;AACH,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,MAAM,aAAa,GAAA;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CACjI,CAAC;AACF,QAAA,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,QAAA,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;AACzC,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;AAChB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACpB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACpB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACpB,YAAA,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;AAC5B,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;SAC9B,CAAC;AACF,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,gBAAgB;AACzB,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA;AACF,aAAA;AACF,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,GAAG,GAAG,MAAM,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;AAChE,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAC3B;IAES,MAAM,cAAc,CAAC,eAA2C,EAAA;QACxE,eAAe,GAAG,eAA8C,CAAC;AACjE,QAAA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAyB,CAAC;AAC1D,QAAA,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;AACvC,QAAA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;KAC7B;IAEO,YAAY,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;KAChD;IAEO,qBAAqB,CAAC,OAA2B,EAAE,IAAoB,EAAA;QAC7E,IAAI,OAAO,EAAE;YACX,MAAM,KAAK,GAAG,6BAA6B,CAAC;YAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrC,YAAA,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAU,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACtF,YAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC7B;;AAAM,YAAA,OAAO,KAAK,CAAC;KACrB;AAED,IAAA,2BAA2B,CAAC,GAAQ,EAAE,UAAA,GAAqB,EAAE,EAAA;AAC3D,QAAA,IAAI,CAAC,GAAG;YACN,OAAO;AACT,QAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC3C,YAAA,MAAM,WAAW,GAAG,UAAU,GAAG,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,GAAG,CAAE,CAAA,GAAG,GAAG,CAAC;AAC9D,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;;AAErD,gBAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;aAClF;iBACI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC,WAAW,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;;AAE9G,gBAAA,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;aACtD;iBAAM;;gBAEL,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,cAAc,KAAI;oBAC3C,OAAO,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AACjD,iBAAC,CAAC,CAAC;aACJ;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,2BAA2B,GAAA;QAC/B,MAAM,OAAO,GAAU,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE;AACvD,YAAA,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;SAClC;;AAED,QAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAG;AAC5B,gBAAA,MAAM,cAAc,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAI;;oBAErC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtC,iBAAC,CAAC,CAAC;AACH,gBAAA,OAAO,cAAc,CAAC;AACxB,aAAC,CAAC,CAAC;SACJ;QACD,OAAO,OAAO,CAAC,MAAM,CAAC;KACvB;AAED,IAAA,MAAM,yBAAyB,GAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACrB,YAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/D,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC/B;KACF;IAEO,MAAM,kBAAkB,CAAC,kBAA0B,EAAA;AACzD,QAAA,IAAI;;YAEF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE;gBACjD,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACxE,IAAI,CAAC,eAAe,EAAE;AACpB,oBAAA,MAAM,KAAK,CAAC,CAAA,8BAAA,EAAiC,kBAAkB,CAAA,CAAA,CAAG,CAAC,CAAC;iBACrE;AACD,gBAAA,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;;AAGtC,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AACpC,gBAAA,MAAM,kBAAkB,GAAG,YAAW;oBACpC,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAoD,iDAAA,EAAA,UAAU,CAAW,SAAA,CAAA,CAAC,CAAC;AACjH,oBAAA,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,iBAAC,CAAC;gBAEF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;aAClE;;YAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC9D,IAAI,QAAQ,EAAE;;gBAEZ,OAAO,MAAM,QAAQ,EAAE,CAAC;aACzB;iBAAM;AACL,gBAAA,MAAM,KAAK,CAAC,CAAA,wDAAA,EAA2D,kBAAkB,CAAA,CAAA,CAAG,CAAC,CAAC;aAC/F;SACF;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;AACrD,YAAA,OAAO,KAAK,CAAC;SACd;KACF;IAEO,cAAc,GAAA;QACpB,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;AACnD,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAChD,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AACjD,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACpD,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IAEO,eAAe,GAAA;QACrB,MAAM,KAAK,GAAQ,EAAE,CAAC;AACtB,QAAA,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAY,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,QAAA,OAAO,KAAK,CAAC;KACd;IAEO,aAAa,GAAA;QACnB,MAAM,KAAK,GAAQ,EAAE,CAAC;AACtB,QAAA,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,IAAY,KACjC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAChC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAC9B,CACF,CAAC;AACF,QAAA,OAAO,KAAK,CAAC;KACd;IAEO,cAAc,GAAA;QACpB,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAY,EAAE,GAAG,IAAW,KAAI;YAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,KAAK,CAAC;KACd;IAEO,gBAAgB,GAAA;QACtB,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,MAAW,KAAI;AAChC,YAAA,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AACrB,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAG;AACxD,YAAA,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAW,KAAI;gBAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvB,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAA;AACF,QAAA,OAAO,KAAK,CAAC;KACd;IAEO,iBAAiB,GAAA;QACvB,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAY,KAAK,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/E,QAAA,OAAO,KAAK,CAAC;KACd;AAEO,IAAA,MAAM,cAAc,GAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAI;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5C,YAAA,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAC9D,gBAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAChC,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,eAAe,CAAC,kBAA0B,EAAA;AAChD,QAAA,IAAI;YACF,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACxE,IAAI,CAAC,eAAe,EAAE;AACpB,gBAAA,MAAM,KAAK,CAAC,CAAA,8BAAA,EAAiC,kBAAkB,CAAA,CAAA,CAAG,CAAC,CAAC;aACrE;AACD,YAAA,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;;AAGtC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAgD,6CAAA,EAAA,UAAU,CAAW,SAAA,CAAA,CAAC,CAAC;AAC7G,YAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;SACvB;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;AACrD,YAAA,OAAO,IAAI,CAAC;SACb;KACF;AAEO,IAAA,cAAc,CAAC,kBAA0B,EAAA;AAC/C,QAAA,IAAI;YACF,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACxE,IAAI,CAAC,eAAe,EAAE;AACpB,gBAAA,MAAM,KAAK,CAAC,CAAA,8BAAA,EAAiC,kBAAkB,CAAA,CAAA,CAAG,CAAC,CAAC;aACrE;AACD,YAAA,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;;AAGtC,YAAA,MAAM,KAAK,GAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAmB,gBAAA,EAAA,UAAU,CAAI,EAAA,CAAA,CAAC,CAAC;YACzE,OAAO,CAAC,KAAK,CAAC,CAAC;SAChB;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;SACtD;KACF;8GA5QU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAN1B,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,cAAc;AACxB,aAAA;SACF,EAfS,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAQU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAnBtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;AAST,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,cAAc;AACxB,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;wDAKY,IAAI,EAAA,CAAA;sBADd,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;;ACTrB,MAAO,gCAAiC,SAAQ,0BAA0B,CAAA;AAfhF,IAAA,WAAA,GAAA;;AAiBY,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAWrD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAM,EAAE,CAAC,CAAC;AAyChC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAkCzC,KAAA;AApFC,IAAA,IACW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IACD,IAAW,IAAI,CAAC,CAAsB,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;KAChB;AAUD,IAAA,IAAI,oBAAoB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,sBAAsB,CAAC;KAC3D;AAQD,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,oBAAoB,CAAC;KACvD;AAQD,IAAA,IAAI,oBAAoB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,sBAAsB,CAAC;KAC3D;AAED,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAChC;AAQD,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,QAAQ,CAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;AAC7D,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CACjG,CAAC;AAEF,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACpB,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;SAC9B,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;YACpC,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,uBAAuB;AAChC,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA;AACF,aAAA;AACF,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,aAAa,IAAI,IAAI,CAAC;AAChE,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;AAED,IAAA,SAAS,CAAC,IAAS,EAAA;AACjB,QAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,EAAE,CAAC;KACjD;8GAxFU,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,EAJhC,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAAA,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC,EATlH,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;AAQT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,kCAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAKU,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAf5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;AAQT,EAAA,CAAA;AACD,oBAAA,SAAS,EAAE,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAkC,gCAAA,EAAE,CAAC;oBAC5H,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,MAAM,EAAE,CAAC,SAAS,CAAC;AACpB,iBAAA,CAAA;8BAOY,IAAI,EAAA,CAAA;sBADd,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAWlB,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIE,sBAAsB,EAAA,CAAA;sBAD7B,SAAS;uBAAC,QAAQ,CAAA;gBAQZ,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIE,oBAAoB,EAAA,CAAA;sBAD3B,SAAS;uBAAC,MAAM,CAAA;gBAQV,cAAc,EAAA,CAAA;sBADpB,KAAK;gBAIE,sBAAsB,EAAA,CAAA;sBAD7B,SAAS;uBAAC,QAAQ,CAAA;;;AC9CrB,MAAM,UAAU,GAAG,CAAC,2BAA2B,EAAE,0BAA0B,EAAE,gCAAgC,CAAC,CAAC;MAOlG,sBAAsB,CAAA;IAC/B,OAAO,OAAO,CAAC,MAAsC,EAAA;QACjD,OAAO;AACH,YAAA,QAAQ,EAAE,sBAAsB;AAChC,YAAA,SAAS,EAAE;AACP,gBAAA;AACI,oBAAA,OAAO,EAAE,+BAA+B;AACxC,oBAAA,UAAU,EAAE,CAAC,QAAkC,KAAK,MAAK;AACrD,wBAAA,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvD;oBACD,IAAI,EAAE,CAAC,wBAAwB,CAAC;AAChC,oBAAA,KAAK,EAAE,IAAI;AACd,iBAAA;AACJ,aAAA;SACJ,CAAC;KACL;IAED,OAAO,QAAQ,CAAC,MAAsC,EAAA;QAClD,OAAO;AACH,YAAA,QAAQ,EAAE,sBAAsB;AAChC,YAAA,SAAS,EAAE;AACP,gBAAA;AACI,oBAAA,OAAO,EAAE,+BAA+B;AACxC,oBAAA,UAAU,EAAE,CAAC,QAAkC,KAAK,MAAK;AACrD,wBAAA,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvD;oBACD,IAAI,EAAE,CAAC,wBAAwB,CAAC;AAChC,oBAAA,KAAK,EAAE,IAAI;AACd,iBAAA;AACJ,aAAA;SACJ,CAAC;KACL;AAED;;AAEG;AACH,IAAA,WAAA,CAAiE,SAAgB,EAAA;AAC7E,QAAA,SAAS,EAAE,OAAO,CAAC,CAAC,IAAG;AACnB,YAAA,CAAC,EAAE,CAAC;AACR,SAAC,CAAC,CAAC;KACN;AAxCQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAoCC,+BAA+B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AApCtD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAPf,2BAA2B,EAAE,0BAA0B,EAAE,gCAAgC,aAG/F,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CAHpD,2BAA2B,EAAE,0BAA0B,EAAE,gCAAgC,CAAA,EAAA,CAAA,CAAA,EAAA;AAOhG,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAJrB,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI3D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC;AACrE,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;AAChC,iBAAA,CAAA;;0BAqCgB,QAAQ;;0BAAI,MAAM;2BAAC,+BAA+B,CAAA;;;ACzDnE;;AAEG;;;;"}
|