@fundamental-ngx/platform 0.48.0-rc.2 → 0.48.0-rc.21
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/approval-flow/helpers/index.d.ts +1 -1
- package/approval-flow/index.d.ts +2 -2
- package/approval-flow/interfaces/approval-process.d.ts +1 -1
- package/approval-flow/interfaces/index.d.ts +1 -1
- package/approval-flow/interfaces/send-reminders-data.d.ts +1 -1
- package/button/button.component.d.ts +4 -1
- package/button/index.d.ts +1 -1
- package/dynamic-page/index.d.ts +5 -5
- package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +2 -2
- package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-graph.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +2 -2
- package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +1 -1
- package/esm2022/approval-flow/approval-flow.component.mjs +2 -2
- package/esm2022/approval-flow/approval-flow.module.mjs +1 -1
- package/esm2022/approval-flow/fundamental-ngx-platform-approval-flow.mjs +1 -1
- package/esm2022/approval-flow/helpers/index.mjs +1 -1
- package/esm2022/approval-flow/index.mjs +3 -3
- package/esm2022/approval-flow/interfaces/approval-node.mjs +1 -1
- package/esm2022/approval-flow/interfaces/approval-process.mjs +1 -1
- package/esm2022/approval-flow/interfaces/approval-status.mjs +1 -1
- package/esm2022/approval-flow/interfaces/approval-team.mjs +1 -1
- package/esm2022/approval-flow/interfaces/approval-user.mjs +1 -1
- package/esm2022/approval-flow/interfaces/index.mjs +2 -2
- package/esm2022/approval-flow/interfaces/send-reminders-data.mjs +1 -1
- package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +1 -1
- package/esm2022/button/button.component.mjs +8 -3
- package/esm2022/button/button.module.mjs +1 -1
- package/esm2022/button/fundamental-ngx-platform-button.mjs +1 -1
- package/esm2022/button/index.mjs +2 -2
- package/esm2022/dynamic-page/constants.mjs +1 -1
- package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +1 -1
- package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page.component.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page.config.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page.module.mjs +1 -1
- package/esm2022/dynamic-page/dynamic-page.service.mjs +1 -1
- package/esm2022/dynamic-page/fundamental-ngx-platform-dynamic-page.mjs +1 -1
- package/esm2022/dynamic-page/index.mjs +6 -6
- package/esm2022/dynamic-page/utils.mjs +1 -1
- package/esm2022/feed-input/feed-input.component.mjs +2 -2
- package/esm2022/feed-input/feed-input.module.mjs +1 -1
- package/esm2022/feed-input/fundamental-ngx-platform-feed-input.mjs +1 -1
- package/esm2022/feed-input/index.mjs +2 -2
- package/esm2022/form/auto-complete/auto-complete.directive.mjs +2 -2
- package/esm2022/form/auto-complete/auto-complete.module.mjs +1 -1
- package/esm2022/form/checkbox/checkbox.component.mjs +1 -1
- package/esm2022/form/checkbox/checkbox.module.mjs +1 -1
- package/esm2022/form/checkbox-group/checkbox-group.component.mjs +1 -1
- package/esm2022/form/checkbox-group/checkbox-group.module.mjs +1 -1
- package/esm2022/form/combobox/combobox/combobox.component.mjs +13 -4
- package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +1 -1
- package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +1 -1
- package/esm2022/form/combobox/combobox.config.mjs +2 -2
- package/esm2022/form/combobox/combobox.interface.mjs +1 -1
- package/esm2022/form/combobox/combobox.module.mjs +1 -1
- package/esm2022/form/combobox/commons/base-combobox.mjs +1 -1
- package/esm2022/form/combobox/directives/combobox-item.directive.mjs +1 -1
- package/esm2022/form/combobox/index.mjs +1 -1
- package/esm2022/form/date-picker/date-picker.component.mjs +4 -5
- package/esm2022/form/date-picker/date-picker.module.mjs +1 -1
- package/esm2022/form/datetime-picker/datetime-picker.component.mjs +3 -3
- package/esm2022/form/datetime-picker/datetime-picker.module.mjs +1 -1
- package/esm2022/form/datetime-picker/errors.mjs +1 -1
- package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +1 -1
- package/esm2022/form/form-generator/config/default-components-list.mjs +6 -6
- package/esm2022/form/form-generator/config/default-form-generator-hint-options.mjs +1 -1
- package/esm2022/form/form-generator/config/default-validation-errors.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +2 -2
- package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +1 -1
- package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +1 -1
- package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +1 -1
- package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +3 -3
- package/esm2022/form/form-generator/dynamic-form-control.mjs +1 -1
- package/esm2022/form/form-generator/fdp-form-generator.module.mjs +14 -14
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +1 -1
- package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +1 -1
- package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +1 -1
- package/esm2022/form/form-generator/form-generator.service.mjs +3 -3
- package/esm2022/form/form-generator/form-generator.tokens.mjs +1 -1
- package/esm2022/form/form-generator/helpers.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/dynamic-abstract-control.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/dynamic-form-group.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/form-component-definition.mjs +1 -1
- package/esm2022/form/form-generator/interfaces/form-generator-module-config.mjs +1 -1
- package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +2 -2
- package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +1 -1
- package/esm2022/form/form-generator/providers/providers.mjs +1 -1
- package/esm2022/form/form-group/config/default-form-field-hint-options.mjs +1 -1
- package/esm2022/form/form-group/constants.mjs +1 -1
- package/esm2022/form/form-group/fdp-form.module.mjs +7 -7
- package/esm2022/form/form-group/fdp-form.tokens.mjs +1 -1
- package/esm2022/form/form-group/form-field/form-field.component.mjs +1 -1
- package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +1 -1
- package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +1 -1
- package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +1 -1
- package/esm2022/form/form-group/form-field-error/tokens.mjs +1 -1
- package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +1 -1
- package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +1 -1
- package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +1 -1
- package/esm2022/form/form-group/form-group.component.mjs +1 -1
- package/esm2022/form/form-group/helpers.mjs +1 -1
- package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +1 -1
- package/esm2022/form/form-group/services/form-field-layout.service.mjs +3 -3
- package/esm2022/form/form-helpers.mjs +3 -3
- package/esm2022/form/fundamental-ngx-platform-form.mjs +1 -1
- package/esm2022/form/helpers.mjs +1 -1
- package/esm2022/form/index.mjs +1 -1
- package/esm2022/form/input/fdp-input.module.mjs +1 -1
- package/esm2022/form/input/input.component.mjs +1 -1
- package/esm2022/form/input-group/addon-body.component.mjs +2 -2
- package/esm2022/form/input-group/addon.component.mjs +2 -2
- package/esm2022/form/input-group/constants.mjs +1 -1
- package/esm2022/form/input-group/input-group.component.mjs +1 -1
- package/esm2022/form/input-group/input-group.config.mjs +1 -1
- package/esm2022/form/input-group/input-group.module.mjs +3 -3
- package/esm2022/form/input-group/input.component.mjs +2 -2
- package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +1 -1
- package/esm2022/form/models/field.model.mjs +1 -1
- package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +2 -2
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox.config.mjs +2 -2
- package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
- package/esm2022/form/multi-combobox/multi-combobox.module.mjs +1 -1
- package/esm2022/form/multi-input/base-multi-input.mjs +1 -1
- package/esm2022/form/multi-input/index.mjs +2 -2
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +1 -1
- package/esm2022/form/multi-input/multi-input.component.mjs +2 -2
- package/esm2022/form/multi-input/multi-input.config.mjs +2 -2
- package/esm2022/form/multi-input/multi-input.interface.mjs +1 -1
- package/esm2022/form/multi-input/multi-input.module.mjs +1 -1
- package/esm2022/form/radio-group/radio/radio.component.mjs +1 -1
- package/esm2022/form/radio-group/radio-group.component.mjs +1 -1
- package/esm2022/form/radio-group/radio-group.module.mjs +1 -1
- package/esm2022/form/select/commons/base-select.mjs +7 -2
- package/esm2022/form/select/models/select.models.mjs +1 -1
- package/esm2022/form/select/select/select.component.mjs +3 -3
- package/esm2022/form/select/select.config.mjs +1 -1
- package/esm2022/form/select/select.module.mjs +1 -1
- package/esm2022/form/step-input/base.step-input.mjs +5 -5
- package/esm2022/form/step-input/number/number-step-input.component.mjs +1 -1
- package/esm2022/form/step-input/step-input-action-button.mjs +2 -2
- package/esm2022/form/step-input/step-input-control.directive.mjs +2 -2
- package/esm2022/form/step-input/step-input-decrement.directive.mjs +1 -1
- package/esm2022/form/step-input/step-input-increment.directive.mjs +1 -1
- package/esm2022/form/step-input/step-input.config.mjs +1 -1
- package/esm2022/form/step-input/step-input.module.mjs +3 -3
- package/esm2022/form/step-input/step-input.util.mjs +1 -1
- package/esm2022/form/switch/switch/index.mjs +1 -1
- package/esm2022/form/switch/switch/switch.component.mjs +1 -1
- package/esm2022/form/switch/switch/switch.config.mjs +1 -1
- package/esm2022/form/switch/switch.module.mjs +1 -1
- package/esm2022/form/text-area/text-area.component.mjs +1 -1
- package/esm2022/form/text-area/text-area.config.mjs +1 -1
- package/esm2022/form/text-area/text-area.module.mjs +1 -1
- package/esm2022/form/time-picker/time-picker.component.mjs +1 -1
- package/esm2022/form/time-picker/time-picker.module.mjs +1 -1
- package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +1 -1
- package/esm2022/icon-tab-bar/components/index.mjs +1 -1
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +3 -3
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +1 -1
- package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +3 -3
- package/esm2022/icon-tab-bar/constants.mjs +1 -1
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +1 -1
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +1 -1
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +1 -1
- package/esm2022/icon-tab-bar/fundamental-ngx-platform-icon-tab-bar.mjs +1 -1
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +1 -1
- package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +1 -1
- package/esm2022/icon-tab-bar/index.mjs +8 -8
- package/esm2022/icon-tab-bar/interfaces/icon-tab-bar-item.interface.mjs +1 -1
- package/esm2022/icon-tab-bar/interfaces/tab-color-associations.interface.mjs +1 -1
- package/esm2022/icon-tab-bar/interfaces/tab-config.interface.mjs +1 -1
- package/esm2022/icon-tab-bar/types.mjs +1 -1
- package/esm2022/info-label/fundamental-ngx-platform-info-label.mjs +1 -1
- package/esm2022/info-label/index.mjs +1 -1
- package/esm2022/info-label/info-label.component.mjs +1 -1
- package/esm2022/info-label/info-label.module.mjs +1 -1
- package/esm2022/link/fundamental-ngx-platform-link.mjs +1 -1
- package/esm2022/link/index.mjs +1 -1
- package/esm2022/link/link.component.mjs +3 -3
- package/esm2022/link/link.module.mjs +1 -1
- package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
- package/esm2022/list/action-list-item/action-list-item.module.mjs +1 -1
- package/esm2022/list/base-list-item.mjs +2 -2
- package/esm2022/list/display-list-item/display-list-item.component.mjs +3 -3
- package/esm2022/list/display-list-item/display-list-item.module.mjs +1 -1
- package/esm2022/list/fdpListComponent.token.mjs +1 -1
- package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +3 -3
- package/esm2022/list/fundamental-ngx-platform-list.mjs +1 -1
- package/esm2022/list/index.mjs +13 -13
- package/esm2022/list/list-group-footer.component.mjs +3 -3
- package/esm2022/list/list-group-header.component.mjs +5 -5
- package/esm2022/list/list.component.mjs +5 -5
- package/esm2022/list/list.config.mjs +1 -1
- package/esm2022/list/list.module.mjs +1 -1
- package/esm2022/list/load-more-content.directive.mjs +1 -1
- package/esm2022/list/models/list.mjs +1 -1
- package/esm2022/list/object-list-item/object-list-item-row.component.mjs +1 -1
- package/esm2022/list/object-list-item/object-list-item.component.mjs +3 -3
- package/esm2022/list/object-list-item/object-list-item.module.mjs +1 -1
- package/esm2022/list/standard-list-item/standard-list-item.component.mjs +3 -3
- package/esm2022/list/standard-list-item/standard-list-item.module.mjs +1 -1
- package/esm2022/menu/fundamental-ngx-platform-menu.mjs +1 -1
- package/esm2022/menu/index.mjs +3 -3
- package/esm2022/menu/menu-item.component.mjs +1 -1
- package/esm2022/menu/menu-trigger.directive.mjs +1 -1
- package/esm2022/menu/menu.component.mjs +1 -1
- package/esm2022/menu/menu.module.mjs +1 -1
- package/esm2022/menu-button/fundamental-ngx-platform-menu-button.mjs +1 -1
- package/esm2022/menu-button/index.mjs +2 -2
- package/esm2022/menu-button/menu-button.component.mjs +8 -3
- package/esm2022/menu-button/menu-button.module.mjs +1 -1
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +1 -1
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +2 -2
- package/esm2022/message-popover/default-config.mjs +1 -1
- package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +1 -1
- package/esm2022/message-popover/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/esm2022/message-popover/index.mjs +5 -5
- package/esm2022/message-popover/message-popover.component.mjs +2 -2
- package/esm2022/message-popover/models/message-popover-entry.interface.mjs +1 -1
- package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
- package/esm2022/message-popover/models/message-popover.interface.mjs +1 -1
- package/esm2022/message-popover/platform-message-popover.module.mjs +3 -3
- package/esm2022/message-popover/utils.mjs +1 -1
- package/esm2022/object-attribute/fundamental-ngx-platform-object-attribute.mjs +1 -1
- package/esm2022/object-attribute/index.mjs +1 -1
- package/esm2022/object-marker/fundamental-ngx-platform-object-marker.mjs +1 -1
- package/esm2022/object-marker/index.mjs +1 -1
- package/esm2022/object-marker/object-marker.component.mjs +8 -3
- package/esm2022/object-marker/object-marker.module.mjs +1 -1
- package/esm2022/object-status/fundamental-ngx-platform-object-status.mjs +1 -1
- package/esm2022/object-status/index.mjs +1 -1
- package/esm2022/object-status/object-status.component.mjs +8 -3
- package/esm2022/object-status/object-status.module.mjs +1 -1
- package/esm2022/page-footer/fundamental-ngx-platform-page-footer.mjs +1 -1
- package/esm2022/page-footer/index.mjs +1 -1
- package/esm2022/page-footer/page-footer.component.mjs +1 -1
- package/esm2022/page-footer/page-footer.module.mjs +1 -1
- package/esm2022/panel/fundamental-ngx-platform-panel.mjs +1 -1
- package/esm2022/panel/index.mjs +3 -3
- package/esm2022/panel/panel-actions.component.mjs +1 -1
- package/esm2022/panel/panel-content/panel-content.component.mjs +1 -1
- package/esm2022/panel/panel.component.mjs +1 -1
- package/esm2022/panel/panel.config.mjs +1 -1
- package/esm2022/panel/panel.module.mjs +1 -1
- package/esm2022/search-field/fundamental-ngx-platform-search-field.mjs +1 -1
- package/esm2022/search-field/index.mjs +2 -2
- package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +1 -1
- package/esm2022/search-field/search-field-mobile/search-field-mobile.interface.mjs +1 -1
- package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +1 -1
- package/esm2022/search-field/search-field.component.mjs +2 -2
- package/esm2022/search-field/search-field.module.mjs +1 -1
- package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +1 -1
- package/esm2022/settings-generator/default-config.mjs +1 -1
- package/esm2022/settings-generator/fundamental-ngx-platform-settings-generator.mjs +1 -1
- package/esm2022/settings-generator/index.mjs +5 -5
- package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +2 -2
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +1 -1
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
- package/esm2022/settings-generator/models/settings-config.model.mjs +1 -1
- package/esm2022/settings-generator/models/settings-generator.model.mjs +1 -1
- package/esm2022/settings-generator/models/settings.model.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +1 -1
- package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +1 -1
- package/esm2022/settings-generator/settings-generator.component.mjs +1 -1
- package/esm2022/settings-generator/settings-generator.module.mjs +1 -1
- package/esm2022/settings-generator/settings-generator.service.mjs +2 -2
- package/esm2022/settings-generator/tokens.mjs +1 -1
- package/esm2022/shared/base.mjs +1 -1
- package/esm2022/shared/domain/array-data-source.mjs +2 -2
- package/esm2022/shared/domain/base-data-provider.mjs +3 -3
- package/esm2022/shared/domain/data-model.mjs +1 -1
- package/esm2022/shared/domain/data-source.mjs +1 -1
- package/esm2022/shared/domain/observable-data-source.mjs +2 -2
- package/esm2022/shared/form/base.input.mjs +1 -1
- package/esm2022/shared/form/collection-base.input.mjs +4 -4
- package/esm2022/shared/form/form-error.mjs +1 -1
- package/esm2022/shared/form/form-field.mjs +1 -1
- package/esm2022/shared/form/form-options.mjs +1 -1
- package/esm2022/shared/form/hint-options.mjs +1 -1
- package/esm2022/shared/form/inline-layout-collection-base.input.mjs +3 -3
- package/esm2022/shared/fundamental-ngx-platform-shared.mjs +1 -1
- package/esm2022/shared/index.mjs +4 -4
- package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +1 -1
- package/esm2022/shared/pipes/pipe.module.mjs +1 -1
- package/esm2022/shared/platform.config.mjs +1 -1
- package/esm2022/shared/preset-management/preset-managed-component.interface.mjs +1 -1
- package/esm2022/shared/preset-management/preset-management.token.mjs +1 -1
- package/esm2022/shared/testing/event-objects.mjs +1 -1
- package/esm2022/shared/utils/lang.mjs +1 -1
- package/esm2022/slider/fundamental-ngx-platform-slider.mjs +1 -1
- package/esm2022/slider/index.mjs +1 -1
- package/esm2022/slider/slider.component.mjs +2 -2
- package/esm2022/slider/slider.module.mjs +1 -1
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +1 -1
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +1 -1
- package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +2 -2
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/data-provider.mjs +1 -1
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +1 -1
- package/esm2022/smart-filter-bar/constants.mjs +1 -1
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +1 -1
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +1 -1
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +1 -1
- package/esm2022/smart-filter-bar/fundamental-ngx-platform-smart-filter-bar.mjs +1 -1
- package/esm2022/smart-filter-bar/helpers.mjs +1 -1
- package/esm2022/smart-filter-bar/index.mjs +8 -8
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-change.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-condition.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-custom-filter-config.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-field-definition.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-field-filter-item.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-settings-dialog-config.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-visibility-category.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/smart-filter-dynamic-form-item.mjs +1 -1
- package/esm2022/smart-filter-bar/interfaces/strategy-labels.type.mjs +1 -1
- package/esm2022/smart-filter-bar/providers/smart-filter-bar.provider.mjs +1 -1
- package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +1 -1
- package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +2 -2
- package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +1 -1
- package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +2 -2
- package/esm2022/split-menu-button/fundamental-ngx-platform-split-menu-button.mjs +1 -1
- package/esm2022/split-menu-button/index.mjs +1 -1
- package/esm2022/split-menu-button/split-menu-button.component.mjs +8 -3
- package/esm2022/split-menu-button/split-menu-button.module.mjs +1 -1
- package/esm2022/table/components/index.mjs +9 -9
- package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +1 -1
- package/esm2022/table/components/reset-button/reset-button.component.mjs +1 -1
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +2 -2
- package/esm2022/table/components/table-column/table-column.component.mjs +1 -1
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +1 -1
- package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +1 -1
- package/esm2022/table/components/table-group-row/table-group-row.component.mjs +1 -1
- package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +2 -2
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +2 -2
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.model.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +2 -2
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +2 -2
- package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +1 -1
- package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +1 -1
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +1 -1
- package/esm2022/table/components/table-row/table-row.component.mjs +6 -4
- package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +1 -1
- package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +1 -1
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +2 -2
- package/esm2022/table/components/table-toolbar/table-toolbar.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/constants.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters-active-step.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/index.mjs +3 -3
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +1 -1
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +1 -1
- package/esm2022/table/fundamental-ngx-platform-table.mjs +1 -1
- package/esm2022/table/index.mjs +15 -15
- package/esm2022/table/table.component.mjs +14 -10
- package/esm2022/table/table.module.mjs +1 -1
- package/esm2022/table-helpers/constants/index.mjs +1 -1
- package/esm2022/table-helpers/constants/tokens.mjs +1 -1
- package/esm2022/table-helpers/directives/index.mjs +7 -7
- package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +2 -2
- package/esm2022/table-helpers/directives/table-cell.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -2
- package/esm2022/table-helpers/directives/table-draggable.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +2 -2
- package/esm2022/table-helpers/directives/table-header.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +2 -2
- package/esm2022/table-helpers/domain/array-data-source.mjs +3 -3
- package/esm2022/table-helpers/domain/data-source-parser.class.mjs +1 -1
- package/esm2022/table-helpers/domain/index.mjs +4 -4
- package/esm2022/table-helpers/domain/observable-data-source.mjs +3 -3
- package/esm2022/table-helpers/domain/table-data-provider.mjs +1 -1
- package/esm2022/table-helpers/domain/table-data-source.mjs +1 -1
- package/esm2022/table-helpers/enums/collection-filter.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/column-align.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/filter-type.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/index.mjs +4 -4
- package/esm2022/table-helpers/enums/row-type.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/selection-mode.enum.mjs +1 -1
- package/esm2022/table-helpers/enums/sort-direction.enum.mjs +1 -1
- package/esm2022/table-helpers/fundamental-ngx-platform-table-helpers.mjs +1 -1
- package/esm2022/table-helpers/helpers.mjs +6 -3
- package/esm2022/table-helpers/index.mjs +9 -9
- package/esm2022/table-helpers/interfaces/collection-filter.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/collection-group.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/collection-page.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/collection-sort.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/collection-state.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/column-responsive-state.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/index.mjs +3 -4
- package/esm2022/table-helpers/interfaces/selection-value.interface.mjs +1 -1
- package/esm2022/table-helpers/interfaces/table-state.interface.mjs +1 -1
- package/esm2022/table-helpers/models/column-freeze-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/columns-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/data-source.type.mjs +1 -1
- package/esm2022/table-helpers/models/directives.mjs +1 -1
- package/esm2022/table-helpers/models/dnd.mjs +1 -1
- package/esm2022/table-helpers/models/filter-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/group-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/index.mjs +15 -15
- package/esm2022/table-helpers/models/page-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/row-comparator.model.mjs +1 -1
- package/esm2022/table-helpers/models/save-rows-event.interface.mjs +1 -1
- package/esm2022/table-helpers/models/search-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/selection-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/sort-change-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-dialog-common-data.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-item.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-managed-preset.mjs +1 -1
- package/esm2022/table-helpers/models/table-row-activate-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-row-toggle-open-state-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-row.model.mjs +1 -1
- package/esm2022/table-helpers/models/table-rows-rearrange-event.model.mjs +1 -1
- package/esm2022/table-helpers/models/tree-table.model.mjs +1 -1
- package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +1 -1
- package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +1 -1
- package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +1 -1
- package/esm2022/table-helpers/pipes/index.mjs +1 -1
- package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +1 -1
- package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +1 -1
- package/esm2022/table-helpers/services/table-column-resize.service.mjs +3 -4
- package/esm2022/table-helpers/services/table-responsive.service.mjs +1 -1
- package/esm2022/table-helpers/services/table-row.service.mjs +1 -1
- package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +1 -1
- package/esm2022/table-helpers/services/table.service.mjs +1 -1
- package/esm2022/table-helpers/table-cell.class.mjs +1 -1
- package/esm2022/table-helpers/table-column.mjs +1 -1
- package/esm2022/table-helpers/table-helpers.module.mjs +2 -2
- package/esm2022/table-helpers/table.mjs +1 -1
- package/esm2022/table-helpers/utils.mjs +1 -1
- package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +1 -1
- package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +2 -2
- package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +26 -6
- package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +7 -3
- package/esm2022/value-help-dialog/constans/condition-display.function.mjs +2 -2
- package/esm2022/value-help-dialog/constans/index.mjs +1 -1
- package/esm2022/value-help-dialog/constans/variables.mjs +1 -1
- package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +1 -1
- package/esm2022/value-help-dialog/directives/value-help-column-def.directive.mjs +24 -0
- package/esm2022/value-help-dialog/directives/value-help-filter-def.directive.mjs +22 -0
- package/esm2022/value-help-dialog/fundamental-ngx-platform-value-help-dialog.mjs +1 -1
- package/esm2022/value-help-dialog/index.mjs +4 -3
- package/esm2022/value-help-dialog/models/index.mjs +2 -2
- package/esm2022/value-help-dialog/models/vhd-component.model.mjs +3 -0
- package/esm2022/value-help-dialog/models/vhd-data.source.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-filter-rule.model.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-filter.model.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-strategy.enum.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-tab-type.enum.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-table-selection.type.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-type-condition.enum.mjs +1 -1
- package/esm2022/value-help-dialog/models/vhd-value.model.mjs +1 -1
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +26 -6
- package/esm2022/value-help-dialog/value-help-dialog.module.mjs +1 -1
- package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +1 -1
- package/esm2022/variant-management/components/manage-variants-dialog/data-provider.mjs +1 -1
- package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +2 -2
- package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +1 -1
- package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +1 -1
- package/esm2022/variant-management/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/esm2022/variant-management/index.mjs +4 -4
- package/esm2022/variant-management/models/save-dialog.model.mjs +1 -1
- package/esm2022/variant-management/models/variant-management.mjs +1 -1
- package/esm2022/variant-management/models/variant.interface.mjs +1 -1
- package/esm2022/variant-management/tokens.mjs +1 -1
- package/esm2022/variant-management/variant-item.class.mjs +1 -1
- package/esm2022/variant-management/variant-management.component.mjs +2 -2
- package/esm2022/variant-management/variant-management.module.mjs +1 -1
- package/esm2022/wizard-generator/base-wizard-generator.mjs +2 -2
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +2 -2
- package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +2 -2
- package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +1 -1
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +1 -1
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +1 -1
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +1 -1
- package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +1 -1
- package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +1 -1
- package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +1 -1
- package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +1 -1
- package/esm2022/wizard-generator/fundamental-ngx-platform-wizard-generator.mjs +1 -1
- package/esm2022/wizard-generator/index.mjs +10 -10
- package/esm2022/wizard-generator/interfaces/wizard-dialog-data.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-generator-form-group.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-generator-forms.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-generator-item.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-generator-summary-item.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-navigation-buttons.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-step.interface.mjs +1 -1
- package/esm2022/wizard-generator/interfaces/wizard-title.interface.mjs +1 -1
- package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +1 -1
- package/esm2022/wizard-generator/wizard-generator.module.mjs +8 -8
- package/esm2022/wizard-generator/wizard-generator.service.mjs +4 -4
- package/feed-input/index.d.ts +1 -1
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +889 -889
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-button.mjs +8 -3
- package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +2729 -2716
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
- package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +23 -23
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs +8 -3
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +3 -3
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +353 -353
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-attribute.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs +7 -2
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-status.mjs +7 -2
- package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-panel.mjs +10 -10
- package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +13 -13
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +62 -62
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +20 -20
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +7 -2
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +2925 -2922
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +365 -360
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +182 -98
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +177 -177
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +41 -41
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/form/combobox/combobox.config.d.ts +1 -1
- package/form/date-picker/date-picker.component.d.ts +5 -5
- package/form/datetime-picker/datetime-picker.component.d.ts +3 -3
- package/form/form-generator/dynamic-form-control.directive.d.ts +3 -3
- package/form/form-generator/form-generator.service.d.ts +2 -2
- package/form/form-group/pipes/field-group-row-value.pipe.d.ts +1 -1
- package/form/form-group/services/form-field-layout.service.d.ts +1 -1
- package/form/form-helpers.d.ts +1 -1
- package/form/input-group/addon.component.d.ts +1 -1
- package/form/multi-combobox/multi-combobox.config.d.ts +1 -1
- package/form/multi-input/index.d.ts +1 -1
- package/form/multi-input/multi-input.config.d.ts +1 -1
- package/form/select/commons/base-select.d.ts +4 -1
- package/form/step-input/base.step-input.d.ts +4 -5
- package/fundamental-ngx-platform-v0.48.0-rc.21.tgz +0 -0
- package/icon-tab-bar/index.d.ts +7 -7
- package/icon-tab-bar/interfaces/icon-tab-bar-item.interface.d.ts +1 -1
- package/list/index.d.ts +12 -12
- package/menu/index.d.ts +2 -2
- package/menu-button/index.d.ts +1 -1
- package/menu-button/menu-button.component.d.ts +5 -2
- package/message-popover/index.d.ts +4 -4
- package/message-popover/models/message-popover-entry.interface.d.ts +1 -1
- package/message-popover/models/message-popover.interface.d.ts +1 -1
- package/message-popover/utils.d.ts +1 -1
- package/object-marker/object-marker.component.d.ts +4 -1
- package/object-status/object-status.component.d.ts +4 -1
- package/package.json +4 -4
- package/panel/index.d.ts +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/search-field/index.d.ts +1 -1
- package/settings-generator/index.d.ts +4 -4
- package/settings-generator/layouts/base-settings-generator-layout.d.ts +1 -1
- package/settings-generator/settings-generator.service.d.ts +2 -2
- package/shared/domain/array-data-source.d.ts +0 -3
- package/shared/form/collection-base.input.d.ts +1 -1
- package/shared/form/form-field.d.ts +2 -2
- package/shared/form/hint-options.d.ts +2 -2
- package/shared/form/inline-layout-collection-base.input.d.ts +1 -1
- package/shared/index.d.ts +3 -3
- package/smart-filter-bar/index.d.ts +7 -7
- package/smart-filter-bar/interfaces/smart-filter-bar-condition.d.ts +2 -2
- package/smart-filter-bar/interfaces/smart-filter-bar-custom-filter-config.d.ts +1 -1
- package/smart-filter-bar/interfaces/smart-filter-bar-field-definition.d.ts +1 -1
- package/smart-filter-bar/interfaces/smart-filter-dynamic-form-item.d.ts +1 -1
- package/smart-filter-bar/smart-filter-bar.service.d.ts +2 -2
- package/split-menu-button/split-menu-button.component.d.ts +5 -2
- package/table/components/index.d.ts +8 -8
- package/table/components/table-view-settings-dialog/index.d.ts +2 -2
- package/table/index.d.ts +14 -14
- package/table/table.component.d.ts +4 -0
- package/table-helpers/constants/index.d.ts +1 -1
- package/table-helpers/directives/index.d.ts +6 -6
- package/table-helpers/directives/platform-table-column-responsive.directive.d.ts +1 -1
- package/table-helpers/directives/table-scrollable.directive.d.ts +1 -1
- package/table-helpers/domain/array-data-source.d.ts +3 -3
- package/table-helpers/domain/index.d.ts +3 -3
- package/table-helpers/domain/observable-data-source.d.ts +3 -3
- package/table-helpers/enums/index.d.ts +3 -3
- package/table-helpers/helpers.d.ts +1 -1
- package/table-helpers/index.d.ts +8 -8
- package/table-helpers/interfaces/collection-filter.interface.d.ts +1 -1
- package/table-helpers/interfaces/collection-state.interface.d.ts +1 -1
- package/table-helpers/interfaces/index.d.ts +2 -3
- package/table-helpers/models/filter-change-event.model.d.ts +1 -1
- package/table-helpers/models/group-change-event.model.d.ts +1 -1
- package/table-helpers/models/index.d.ts +14 -14
- package/table-helpers/models/sort-change-event.model.d.ts +1 -1
- package/table-helpers/pipes/selection-cell-styles.pipe.d.ts +1 -1
- package/table-helpers/table.d.ts +1 -0
- package/value-help-dialog/components/select-tab/select-tab.component.d.ts +9 -2
- package/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.d.ts +5 -1
- package/value-help-dialog/constans/condition-display.function.d.ts +1 -1
- package/value-help-dialog/directives/value-help-column-def.directive.d.ts +17 -0
- package/value-help-dialog/directives/value-help-filter-def.directive.d.ts +15 -0
- package/value-help-dialog/index.d.ts +3 -2
- package/value-help-dialog/models/index.d.ts +1 -1
- package/value-help-dialog/models/vhd-component.model.d.ts +5 -0
- package/value-help-dialog/models/vhd-filter.model.d.ts +3 -0
- package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +8 -6
- package/variant-management/index.d.ts +3 -3
- package/variant-management/models/variant-management.d.ts +1 -1
- package/wizard-generator/base-wizard-generator.d.ts +1 -1
- package/wizard-generator/index.d.ts +9 -9
- package/wizard-generator/interfaces/wizard-generator-form-group.interface.d.ts +1 -1
- package/wizard-generator/interfaces/wizard-generator-item.interface.d.ts +1 -1
- package/wizard-generator/interfaces/wizard-step.interface.d.ts +2 -2
- package/wizard-generator/wizard-generator.service.d.ts +1 -1
- package/fundamental-ngx-platform-v0.48.0-rc.2.tgz +0 -0
- package/schematics/ng-add/index.ts +0 -64
- package/schematics/ng-add/schema.ts +0 -3
- package/schematics/utils/package-utils.ts +0 -104
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-platform-message-popover.mjs","sources":["../../../../libs/platform/src/lib/message-popover/default-config.ts","../../../../libs/platform/src/lib/message-popover/components/message-view/message-view.component.ts","../../../../libs/platform/src/lib/message-popover/components/message-view/message-view.component.html","../../../../libs/platform/src/lib/message-popover/utils.ts","../../../../libs/platform/src/lib/message-popover/message-popover.component.ts","../../../../libs/platform/src/lib/message-popover/message-popover.component.html","../../../../libs/platform/src/lib/message-popover/directives/message-popover-form-item.directive.ts","../../../../libs/platform/src/lib/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.ts","../../../../libs/platform/src/lib/message-popover/platform-message-popover.module.ts","../../../../libs/platform/src/lib/message-popover/fundamental-ngx-platform-message-popover.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\n\nexport interface MessagePopoverErrorConfig {\n heading: string;\n description?: string;\n type: FormStates;\n}\n\nexport interface MessagePopoverConfig {\n /**\n * Errors object where key is error type and value is i18n string.\n */\n errors: Record<string, string | MessagePopoverErrorConfig>;\n}\n\nexport const FDP_MESSAGE_POPOVER_DEFAULT_CONFIG: MessagePopoverConfig = {\n errors: {\n email: 'platformMessagePopover.defaultErrors.email',\n max: 'platformMessagePopover.defaultErrors.max',\n maxlength: 'platformMessagePopover.defaultErrors.maxLength',\n min: 'platformMessagePopover.defaultErrors.min',\n minlength: 'platformMessagePopover.defaultErrors.minLength',\n pattern: 'platformMessagePopover.defaultErrors.pattern',\n required: 'platformMessagePopover.defaultErrors.required',\n requiredTrue: 'platformMessagePopover.defaultErrors.requiredTrue'\n }\n};\n\nexport const FDP_MESSAGE_POPOVER_CONFIG = new InjectionToken<MessagePopoverConfig>('FdpMessagePopoverConfig');\n","import { animate, keyframes, state, style, transition, trigger } from '@angular/animations';\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable, TabbableElementService, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { debounceTime } from 'rxjs';\nimport { MessagePopoverEntry, MessagePopoverErrorGroup } from '../../models/message-popover-entry.interface';\n\n@Component({\n selector: 'fdp-message-view',\n templateUrl: './message-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [TabbableElementService],\n animations: [\n trigger('openCloseList', [\n // ...\n state(\n 'open',\n style({\n transform: 'translateX(0)',\n opacity: 1\n })\n ),\n state(\n 'closed',\n style({\n transform: 'translateX(-50px)',\n opacity: 0\n })\n ),\n transition('open => closed', [animate('.1s cubic-bezier(0, 0, 0.2, 1)')]),\n transition('closed => open', [animate('0.1s .1s cubic-bezier(0, 0, 0.2, 1)')])\n ]),\n trigger('openCloseDetails', [\n state(\n 'open',\n style({\n transform: 'translateX(0)',\n opacity: 1,\n display: 'block'\n })\n ),\n state(\n 'closed',\n style({\n transform: 'translateX(50px)',\n opacity: 0\n })\n ),\n transition('open => closed', [\n animate(\n '.1s cubic-bezier(0, 0, 0.2, 1)',\n keyframes([\n style({\n transform: 'translateX(0)',\n opacity: 1,\n display: 'block'\n }),\n style({\n transform: 'translateX(50px)',\n opacity: 0,\n display: 'none'\n })\n ])\n )\n ]),\n transition('closed => open', [\n style({\n display: 'block'\n }),\n animate('0.1s .1s cubic-bezier(0, 0, 0.2, 1)')\n ])\n ])\n ],\n standalone: true,\n imports: [\n NgTemplateOutlet,\n CdkScrollable,\n ScrollbarDirective,\n ListModule,\n ObjectStatusComponent,\n LinkComponent,\n FdTranslatePipe\n ]\n})\nexport class MessageViewComponent implements AfterViewInit {\n /** Current Message Popover screen. Can be either `list` or `details`. */\n @Input()\n currentScreen: 'list' | 'details';\n\n /** Filtered errors to render. */\n @Input()\n filteredErrors: MessagePopoverErrorGroup[];\n\n /** Current error entry. Used for details view. */\n @Input()\n currentEntry: Nullable<MessagePopoverEntry>;\n\n /** Event emitted when user clicks on error entry containing additional description. */\n @Output()\n openDetails = new EventEmitter<MessagePopoverEntry>();\n\n /** Event emitted when user clicks on error entry and item's element should be focused. */\n @Output()\n focusItem = new EventEmitter<MessagePopoverEntry>();\n\n /** Event emitted when user clicks on the field link to focus on the field itself. */\n @Output()\n closePopover = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild('listView', { read: ElementRef })\n private _listView: ElementRef;\n\n /** @hidden */\n @ViewChild('detailsView', { read: ElementRef })\n private _detailsView: ElementRef;\n\n /** @Hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fd-message-popover__view-container';\n\n /** @hidden */\n private _activeListElement: Nullable<HTMLElement> = null;\n\n /** @hidden */\n constructor(\n private readonly _destroyRef: DestroyRef,\n private readonly _tabbableService: TabbableElementService,\n @Inject(DOCUMENT) private readonly _document: Document\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n resizeObservable(this._detailsView.nativeElement)\n .pipe(debounceTime(20), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n const { height } = this._detailsView.nativeElement.getBoundingClientRect();\n this._listView.nativeElement.style.minHeight = `${height}px`;\n });\n }\n\n /** @hidden */\n _showDetails(entry: MessagePopoverEntry): void {\n this._activeListElement = this._document.activeElement as HTMLElement;\n if (!entry.description.message) {\n this._focusElement(undefined, entry);\n return;\n }\n this.currentScreen = 'details';\n this.openDetails.emit(entry);\n }\n\n /** @hidden */\n _focusElement(event?: MouseEvent, item?: MessagePopoverEntry): void {\n if (!item?.element?.nativeElement) {\n return;\n }\n event?.stopImmediatePropagation();\n this.closePopover.emit(false);\n this.focusItem.emit(item);\n setTimeout(() => {\n const tabbableElement = this._tabbableService.getTabbableElement(item.element?.nativeElement);\n tabbableElement?.focus();\n });\n }\n\n /** @hidden */\n _onListAnimationComplete(event: any): void {\n if (event.toState === 'open' && this._activeListElement) {\n this._activeListElement.focus();\n this._activeListElement = null;\n }\n }\n}\n","<ng-template #headingTemplate let-item>\n <ng-template #directiveHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message || item.description.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.heading.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringHeading>\n {{ item.heading.message | fdTranslate: { error: item.heading.error } : item.heading.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveHeading\n : item.heading.type === 'string'\n ? stringHeading\n : i18nHeading\n \"\n ></ng-template>\n</ng-template>\n<ng-template #descriptionTemplate let-item>\n <ng-template #directiveDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.description.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringDescription>\n {{ item.description.message | fdTranslate: { error: item.description.error } : item.description.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveDescription\n : item.heading.type === 'string'\n ? stringDescription\n : i18nDescription\n \"\n ></ng-template>\n</ng-template>\n<div class=\"fd-message-view\">\n <section\n class=\"fd-message-view__list\"\n tabindex=\"-1\"\n [@openCloseList]=\"currentScreen === 'list' ? 'open' : 'closed'\"\n (@openCloseList.done)=\"_onListAnimationComplete($event)\"\n fd-scrollbar\n >\n <ul #listView fd-list class=\"message-popover__list fd-list--message-view\" [navigationIndicator]=\"true\">\n @for (group of filteredErrors; track group) {\n @if (group.group) {\n <li fd-list-group-header>\n <span fd-list-title>{{ group.group }}</span>\n </li>\n }\n @for (item of group.errors; track item; let i = $index) {\n <li fd-list-item [tabindex]=\"i === 0 ? 0 : -1\" [byline]=\"true\" (click)=\"_showDetails(item)\">\n <ng-template #itemIcon>\n <span\n fd-object-status\n class=\"fd-list__icon\"\n [status]=\"item.state\"\n [glyph]=\"'message-' + item.type\"\n ></span>\n </ng-template>\n <ng-template #listSubtitle>\n <span class=\"fd-list__subtitle\">\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </span>\n </ng-template>\n @if (item.element && !!item.description.message) {\n <span fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>\n <a tabindex=\"0\" fd-link (click)=\"_focusElement($event, item)\">\n {{ item.fieldName }}\n </a>\n </span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </span>\n } @else {\n <a fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>{{ item.fieldName }}</span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </a>\n }\n </li>\n }\n }\n </ul>\n </section>\n <section class=\"fd-message-view__details\" [@openCloseDetails]=\"currentScreen === 'details' ? 'open' : 'closed'\">\n <div #detailsView>\n @if (currentEntry) {\n <span class=\"fd-message-view__details-title\">\n <span\n fd-object-status\n class=\"fd-message-view__icon\"\n [status]=\"currentEntry.state\"\n [glyph]=\"'message-' + currentEntry.type\"\n ></span>\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n @if (currentEntry.description.message) {\n <span class=\"fd-message-view__details-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n }\n }\n </div>\n </section>\n</div>\n","import { ObjectStatus } from '@fundamental-ngx/core/object-status';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { MessagePopoverState } from './models/message-popover.interface';\n\n/**\n * Converts Object Status into Message Popover State\n * @param status Object status\n * @returns Message Popover State.\n */\nexport function convertFormStateToMessagePopoverState(state: FormStates): MessagePopoverState {\n switch (state) {\n case 'error':\n return 'negative';\n case 'warning':\n return 'critical';\n case 'default':\n return 'neutral';\n default:\n return state;\n }\n}\n\n/**\n * Converts Form State into Object status type.\n * @param type Form state.\n * @returns `ObjectStatus` type.\n */\nexport function convertFormState(type: FormStates): ObjectStatus {\n switch (type) {\n case 'success':\n return 'positive';\n case 'error':\n return 'negative';\n case 'warning':\n return 'critical';\n case 'information':\n return 'informative';\n default:\n return 'neutral';\n }\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { InitialFocusDirective, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\nimport { PopoverComponent, PopoverModule } from '@fundamental-ngx/core/popover';\nimport { SegmentedButtonComponent } from '@fundamental-ngx/core/segmented-button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { getFormState } from '@fundamental-ngx/platform/form';\nimport { countBy, flatten } from 'lodash-es';\nimport { MessageViewComponent } from './components/message-view/message-view.component';\nimport {\n MessagePopoverEntry,\n MessagePopoverError,\n MessagePopoverErrorGroup\n} from './models/message-popover-entry.interface';\nimport { MessagePopoverWrapper } from './models/message-popover-wrapper.interface';\nimport { MessagePopover, MessagePopoverState } from './models/message-popover.interface';\nimport { convertFormState, convertFormStateToMessagePopoverState } from './utils';\n\n@Component({\n selector: 'fdp-message-popover',\n templateUrl: './message-popover.component.html',\n styleUrl: './message-popover.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n PopoverModule,\n ButtonComponent,\n NgClass,\n BarModule,\n SegmentedButtonComponent,\n FormsModule,\n ObjectStatusComponent,\n InitialFocusDirective,\n MessageViewComponent,\n FdTranslatePipe\n ]\n})\nexport class MessagePopoverComponent implements MessagePopover, OnInit {\n /** @hidden */\n @ViewChild('popover')\n readonly _popover: PopoverComponent;\n\n /** Message Popover Wrapper component. */\n @Input()\n wrapper: MessagePopoverWrapper;\n\n /** Event emits when user clicks on error entry and item's element needs to be focused. */\n @Output()\n focusItem = new EventEmitter<MessagePopoverEntry>();\n\n /** Current message popover screen. Can be `list` or `details`. */\n currentScreen: 'list' | 'details' = 'list';\n\n /** Current error entry. */\n currentEntry: Nullable<MessagePopoverEntry>;\n\n /** @hidden */\n _currentErrorType: MessagePopoverError['group'] = 'all';\n\n /** @hidden */\n _errorTypes: MessagePopoverError[] = [];\n\n /** @hidden */\n _priorityStateItemsCount = 0;\n\n /** @hidden */\n _priorityFormState: FormStates;\n\n /** @hidden */\n _priorityState: MessagePopoverState;\n\n /** @hidden */\n _filteredErrors: MessagePopoverErrorGroup[] = [];\n\n /** @hidden */\n private _groupedErrors: MessagePopoverErrorGroup[] = [];\n\n /** @hidden */\n constructor(\n private readonly _cdr: ChangeDetectorRef,\n private readonly _destroyRef: DestroyRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.wrapper?.setMessagePopover(this);\n this.wrapper?.errors.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((errors) => {\n this._groupedErrors = errors;\n this._errorTypes = [];\n const countedErrors = countBy(\n flatten(Object.values(this._groupedErrors.map((group) => group.errors))),\n 'type'\n );\n const errorTypes = Object.keys(countedErrors) as FormStates[];\n errorTypes.forEach((errorType) => {\n this._errorTypes.push({\n group: errorType,\n count: countedErrors[errorType],\n state: convertFormState(errorType)\n });\n });\n\n this._priorityFormState = getFormState(errorTypes);\n this._priorityState = convertFormStateToMessagePopoverState(this._priorityFormState);\n\n this._priorityStateItemsCount = countedErrors[this._priorityFormState];\n this._filterErrors();\n\n this._cdr.detectChanges();\n });\n }\n\n /** @hidden */\n _showList(): void {\n this.currentScreen = 'list';\n this.currentEntry = null;\n }\n\n /** @hidden */\n _showDetails(entry: MessagePopoverEntry): void {\n this.currentScreen = 'details';\n this.currentEntry = entry;\n }\n\n /** @hidden */\n _closePopover(focusLast = true): void {\n this._popover.close(focusLast);\n }\n\n /** @hidden */\n _filterErrors(): void {\n if (this._currentErrorType === 'all') {\n this._filteredErrors = this._groupedErrors;\n return;\n }\n this._filteredErrors = [];\n this._groupedErrors.forEach((group) => {\n const errors = group.errors.filter((error) => error.type === this._currentErrorType);\n\n if (errors.length === 0) {\n return;\n }\n\n this._filteredErrors.push({\n group: group.group,\n errors\n });\n });\n }\n}\n","@if (_errorTypes.length > 0) {\n <fd-popover\n #popover\n placement=\"top-start\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n >\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState\"\n [glyph]=\"'message-' + _priorityFormState\"\n [label]=\"_priorityStateItemsCount.toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n @if (currentScreen === 'list') {\n <fd-segmented-button [(ngModel)]=\"_currentErrorType\" (ngModelChange)=\"_filterErrors()\">\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n @for (type of _errorTypes; track type) {\n <button fd-button [value]=\"type.group\">\n <span\n fd-object-status\n [status]=\"type.state\"\n [glyph]=\"'message-' + type.group\"\n ></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n }\n </fd-segmented-button>\n }\n @if (currentScreen === 'details') {\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n }\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n </fd-popover>\n}\n","import { Directive, ElementRef, Input, Optional } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { MessagePopoverConfig } from '../default-config';\n\n@Directive({\n selector: '[fdpMessagePopoverFormItem]',\n standalone: true\n})\nexport class MessagePopoverFormItemDirective {\n /** Form item name. */\n @Input('fdpMessagePopoverFormItem')\n label: string;\n\n /** Error type definition. */\n @Input()\n errorTypes: MessagePopoverConfig['errors'];\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef, @Optional() public readonly control: NgControl) {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n Inject,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, ControlContainer, FormGroup, FormGroupDirective, NgForm } from '@angular/forms';\nimport { FD_FORM_FIELD_CONTROL, FormStates } from '@fundamental-ngx/cdk/forms';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n FormFieldErrorDirectiveContext,\n PlatformFormField,\n PlatformFormFieldControl\n} from '@fundamental-ngx/platform/shared';\nimport { BehaviorSubject, Subject, Subscription, filter, startWith, switchMap, zip } from 'rxjs';\nimport { FDP_MESSAGE_POPOVER_CONFIG, MessagePopoverConfig, MessagePopoverErrorConfig } from '../../default-config';\nimport { MessagePopoverFormItemDirective } from '../../directives/message-popover-form-item.directive';\nimport {\n MessagePopoverEntry,\n MessagePopoverErrorGroup,\n MessagePopoverErrorText\n} from '../../models/message-popover-entry.interface';\nimport { MessagePopoverWrapper } from '../../models/message-popover-wrapper.interface';\nimport { MessagePopover } from '../../models/message-popover.interface';\nimport { convertFormState } from '../../utils';\n\nexport type MessagePopoverForm = NgForm | FormGroupDirective;\n\n@Component({\n selector: 'fdp-message-popover-form-wrapper',\n template: `<ng-content></ng-content>`,\n exportAs: 'messagePopoverWrapper',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class MessagePopoverFormWrapperComponent implements MessagePopoverWrapper, AfterViewInit, OnDestroy {\n /** @hidden */\n @ContentChildren(ControlContainer, { descendants: true })\n private readonly _projectedForm: QueryList<MessagePopoverForm>;\n\n /** @hidden */\n @ContentChildren(FD_FORM_FIELD_CONTROL, { descendants: true })\n private readonly _projectedFormFieldControls!: QueryList<PlatformFormFieldControl>;\n\n /** @hidden */\n @ContentChildren(MessagePopoverFormItemDirective, { descendants: true })\n private readonly _directiveItems!: QueryList<MessagePopoverFormItemDirective>;\n\n /** Message Popover instance. */\n messagePopover$ = new Subject<MessagePopover>();\n\n /**\n * User-passed forms.\n */\n @Input()\n set forms(forms: MessagePopoverForm | MessagePopoverForm[]) {\n if (!forms) {\n return;\n }\n if (!Array.isArray(forms)) {\n forms = [forms];\n }\n this._ngForms = forms;\n this._startListeningForErrors();\n }\n\n /** User-passed form fields. */\n @Input()\n set formFields(value: PlatformFormFieldControl[]) {\n this._formFields = value;\n this._listenToFormFieldErrors(value);\n }\n\n get formFields(): PlatformFormFieldControl[] {\n return this._formFields;\n }\n\n /** @hidden */\n private readonly _errors$ = new BehaviorSubject<MessagePopoverErrorGroup[]>([]);\n\n /**\n * Error models Observable. Emitted when form submitted and contains invalid fields.\n */\n // eslint-disable-next-line @typescript-eslint/member-ordering\n errors = this._errors$.asObservable();\n\n /** @hidden */\n private _formFields: PlatformFormFieldControl[] = [];\n\n /** @hidden */\n private _formErrorsSubscription: Subscription | undefined;\n\n /** @hidden */\n private _ngForms: (NgForm | FormGroupDirective)[] = [];\n\n /** @hidden */\n private _formItemErrorsSubscription = new Subscription();\n\n /** @hidden */\n private _formSubmitted = false;\n\n /** @hidden */\n constructor(\n private readonly _destroyRef: DestroyRef,\n @Inject(FDP_MESSAGE_POPOVER_CONFIG) private readonly _config: MessagePopoverConfig\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n // Forms are passed via input property.\n if (this._ngForms.length > 0) {\n return;\n }\n this._projectedForm?.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._ngForms = this._projectedForm.toArray();\n this._startListeningForErrors();\n });\n }\n\n /**\n * Sets Message Popover component instance.\n */\n setMessagePopover(messagePopover: MessagePopover): void {\n this.messagePopover$.next(messagePopover);\n // this.messagePopover = messagePopover;\n }\n\n /**\n * Programmatically add new form to array of forms.\n * @param forms\n */\n addForms(forms: MessagePopoverForm | MessagePopoverForm[]): void {\n const formsArray = Array.isArray(forms) ? forms : [forms];\n this._ngForms.push(...formsArray);\n this._startListeningForErrors();\n }\n\n /**\n * Programmatically add new form fields to array of listened form fields.\n * @param formFields\n */\n addFormFields(formFields: PlatformFormFieldControl[]): void {\n this._formFields.push(...formFields);\n this._listenToFormFieldErrors(this._formFields);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._formItemErrorsSubscription.unsubscribe();\n }\n\n /**\n * @hidden\n * Listens to the form submission and collects form control errors.\n */\n private _startListeningForErrors(): void {\n if (!this._ngForms) {\n return;\n }\n this._formErrorsSubscription?.unsubscribe();\n this._errors$.next([]);\n\n const formSubmitEvents = this._ngForms.map((form) =>\n form.ngSubmit.pipe(\n switchMap(() =>\n form.statusChanges!.pipe(\n startWith(form.status),\n filter((status: string) => status.toLowerCase() !== 'pending')\n )\n )\n )\n );\n\n this._formErrorsSubscription = zip(...formSubmitEvents)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._formSubmitted = true;\n const errors =\n this._directiveItems.length > 0 ? this._collectPlainFormData() : this._collectAdvancedFormData();\n\n this._errors$.next(errors);\n });\n\n this._listenToFormFieldErrors(this._projectedFormFieldControls.toArray());\n\n this._projectedFormFieldControls?.changes.subscribe(() => {\n this._listenToFormFieldErrors(this._projectedFormFieldControls.toArray());\n });\n }\n\n /** @hidden */\n private _listenToFormFieldErrors(fields: PlatformFormFieldControl[]): void {\n this._formItemErrorsSubscription.unsubscribe();\n\n this._formItemErrorsSubscription = new Subscription();\n\n fields?.forEach((field) => {\n this._formItemErrorsSubscription.add(\n field.formField?.errorsChange$.subscribe(() => {\n if (!this._formSubmitted) {\n return;\n }\n const errors =\n this._directiveItems.length > 0\n ? this._collectPlainFormData()\n : this._collectAdvancedFormData();\n this._errors$.next(errors);\n })\n );\n });\n }\n\n /** @hidden */\n private _collectPlainFormData(): MessagePopoverErrorGroup[] {\n const errors: MessagePopoverErrorGroup[] = [\n {\n errors: []\n }\n ];\n\n const fields = this._directiveItems.toArray();\n\n this._ngForms.forEach((form) => {\n Object.keys(form.form.controls).forEach((controlName) => {\n const control = form.form.get(controlName);\n const field = fields.find((formField) => formField.control?.name === controlName);\n\n if (!control?.errors || !field) {\n return;\n }\n\n const configErrors = Object.keys(this._config.errors);\n\n Object.keys(control.errors)\n .filter((error) => configErrors.includes(error))\n .forEach((errorKey) => {\n const errorObj = control.errors![errorKey];\n\n const errorTextModel = this._getConfigErrorModel(errorKey, field.errorTypes);\n const errorConfig = field?.errorTypes ? field?.errorTypes[errorKey] : null;\n const errorState =\n errorConfig && this._isAdvancedError(errorConfig) && errorConfig.type\n ? errorConfig.type\n : 'error';\n const error: MessagePopoverEntry = {\n name: controlName,\n type: errorTextModel.type,\n state: convertFormState(errorState),\n fieldName: field?.label ?? '',\n element: field?.elementRef,\n heading: {\n type: 'string',\n error: errorObj,\n message: errorTextModel.heading\n },\n description: {\n type: 'string',\n error: errorObj,\n message: errorTextModel.description\n },\n errors: control!.errors\n };\n\n errors[0].errors.push(error);\n });\n });\n });\n\n return errors;\n }\n\n /** @hidden */\n private _collectAdvancedFormData(): MessagePopoverErrorGroup[] {\n let errors: MessagePopoverErrorGroup[] = [];\n const fields = this.formFields.length > 0 ? this.formFields : this._projectedFormFieldControls.toArray();\n\n /**\n * Iterates over form controls to collect their errors.\n * @param form Form Group or a collection of Form Groups.\n */\n const iterateOverForm = (form: FormGroup | FormGroup[]): MessagePopoverErrorGroup[] => {\n if (Array.isArray(form)) {\n form.forEach((formGroup) => {\n errors = iterateOverForm(formGroup);\n });\n return errors;\n }\n Object.keys(form.controls).forEach((controlName) => {\n const control = form.get(controlName);\n const field = fields.find((formField) => formField.id === controlName);\n\n if (control instanceof FormGroup) {\n errors = iterateOverForm(control);\n }\n\n if (!control?.errors || !field) {\n return;\n }\n\n Object.keys(control.errors).forEach((errorKey) => {\n const errorDirective = field.formField?.groupedErrors.find(\n (groupedError) => groupedError.directive.error === errorKey\n );\n\n const groupName = this._getGroupName(field?.formField);\n const error = this._getErrorModel(\n controlName,\n groupName,\n control,\n field,\n errorKey,\n errorDirective,\n control.errors![errorKey]\n );\n\n let errorGroupIndex = errors.findIndex((errorGroup) => errorGroup.group === groupName);\n\n if (errorGroupIndex === -1) {\n errorGroupIndex =\n errors.push({\n group: groupName,\n errors: []\n }) - 1;\n }\n\n const group = errors[errorGroupIndex];\n\n group.errors.push(error);\n });\n });\n\n return errors;\n };\n\n return iterateOverForm(this._ngForms.map((form) => form.form));\n }\n\n /**\n * @hidden\n * Creates error model\n */\n private _getErrorModel(\n controlName: string,\n groupName: string,\n control: AbstractControl,\n field: PlatformFormFieldControl,\n errorKey: string,\n errorDirective?: FormFieldErrorDirectiveContext,\n error?: any\n ): MessagePopoverEntry {\n let state: FormStates = 'error';\n const configError = this._config.errors[errorKey];\n\n if (errorDirective?.directive.type) {\n state = errorDirective.directive.type;\n } else if (this._isAdvancedError(configError)) {\n state = configError.type;\n }\n\n return {\n name: controlName,\n type: state,\n state: convertFormState(state),\n group: groupName,\n fieldName: field?.formField?.label ?? '',\n heading: this._getErrorText(field, errorDirective, 'heading', errorKey, error),\n description: this._getErrorText(field, errorDirective, 'description', errorKey, error),\n errors: control!.errors,\n formField: field,\n element: field?.elementRef\n };\n }\n\n /**\n * @hidden\n * Creates error text based on the type of the error.\n * @param field Form Field Control.\n * @param errorDirective Optional Error directive\n * @param section Section where text should be rendered.\n * @param errorKey\n * @param error\n */\n private _getErrorText(\n field: PlatformFormFieldControl,\n errorDirective: Nullable<FormFieldErrorDirectiveContext>,\n section: 'heading' | 'description' = 'heading',\n errorKey: string,\n error?: any\n ): MessagePopoverErrorText {\n const errorTextObj: MessagePopoverErrorText = {\n error: errorDirective?.error,\n type: errorDirective?.directive ? 'directive' : field?.formField?.i18Strings ? 'templateRef' : 'string'\n };\n\n if (errorTextObj.type === 'string') {\n const errorTextModel = this._getConfigErrorModel(errorKey);\n\n errorTextObj.error = error;\n errorTextObj.message = errorTextModel[section];\n return errorTextObj;\n }\n\n if (errorDirective?.directive) {\n errorTextObj.message =\n section === 'heading'\n ? errorDirective.directive._headingTemplateRef ?? errorDirective.directive._descriptionTemplateRef\n : errorDirective.directive._descriptionTemplateRef;\n return errorTextObj;\n }\n\n errorTextObj.message = field?.formField?.i18Strings ?? null;\n return errorTextObj;\n }\n\n /** @hidden */\n private _getGroupName(formField: Nullable<PlatformFormField>): string {\n const parts: string[] = [];\n\n if (formField?.formGroupContainer?.mainTitle) {\n parts.push(formField.formGroupContainer.mainTitle);\n }\n\n if (formField?.formFieldGroup?.label) {\n parts.push(formField.formFieldGroup.label);\n }\n\n return parts.join(', ');\n }\n\n /** @hidden */\n private _getConfigErrorModel(\n errorKey: string,\n customErrorTypes?: MessagePopoverConfig['errors']\n ): MessagePopoverErrorConfig {\n const configError =\n customErrorTypes && customErrorTypes[errorKey] ? customErrorTypes[errorKey] : this._config.errors[errorKey];\n const isPlainError = !this._isAdvancedError(configError);\n const errorType = isPlainError ? 'error' : configError.type;\n const headingMessage = isPlainError ? configError : configError.heading;\n const descriptionMessage = isPlainError ? undefined : configError.description;\n\n return {\n type: errorType,\n heading: headingMessage,\n description: descriptionMessage\n };\n }\n\n /** @hidden */\n private _isAdvancedError(error: string | MessagePopoverErrorConfig): error is MessagePopoverErrorConfig {\n return !!error && typeof error !== 'string';\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { mergeWith } from 'lodash-es';\nimport { FDP_MESSAGE_POPOVER_CONFIG, FDP_MESSAGE_POPOVER_DEFAULT_CONFIG, MessagePopoverConfig } from './default-config';\nimport { MessagePopoverComponent } from './message-popover.component';\nimport { MessagePopoverFormWrapperComponent } from './components/message-popover-form-wrapper/message-popover-form-wrapper.component';\nimport { MessageViewComponent } from './components/message-view/message-view.component';\nimport { MessagePopoverFormItemDirective } from './directives/message-popover-form-item.directive';\n\n@NgModule({\n imports: [\n MessagePopoverComponent,\n MessagePopoverFormWrapperComponent,\n MessageViewComponent,\n MessagePopoverFormItemDirective\n ],\n exports: [\n MessagePopoverComponent,\n MessagePopoverFormWrapperComponent,\n MessageViewComponent,\n MessagePopoverFormItemDirective\n ],\n providers: [\n {\n provide: FDP_MESSAGE_POPOVER_CONFIG,\n useValue: FDP_MESSAGE_POPOVER_DEFAULT_CONFIG\n }\n ]\n})\nexport class PlatformMessagePopoverModule {\n /**\n * Method allows users to apply custom configuration.\n * @param config Object containing error definitions.\n */\n static withConfig(config: MessagePopoverConfig): ModuleWithProviders<PlatformMessagePopoverModule> {\n const customConfig = mergeWith(FDP_MESSAGE_POPOVER_DEFAULT_CONFIG, config, (obj, src) => {\n if (typeof obj === 'object' && !Array.isArray(obj)) {\n return Object.assign(obj, src);\n } else if (Array.isArray(obj)) {\n return obj.concat(src);\n } else {\n return src;\n }\n });\n\n return {\n ngModule: PlatformMessagePopoverModule,\n providers: [\n {\n provide: FDP_MESSAGE_POPOVER_CONFIG,\n useValue: customConfig\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBa,MAAA,kCAAkC,GAAyB;AACpE,IAAA,MAAM,EAAE;AACJ,QAAA,KAAK,EAAE,4CAA4C;AACnD,QAAA,GAAG,EAAE,0CAA0C;AAC/C,QAAA,SAAS,EAAE,gDAAgD;AAC3D,QAAA,GAAG,EAAE,0CAA0C;AAC/C,QAAA,SAAS,EAAE,gDAAgD;AAC3D,QAAA,OAAO,EAAE,8CAA8C;AACvD,QAAA,QAAQ,EAAE,+CAA+C;AACzD,QAAA,YAAY,EAAE,mDAAmD;AACpE,KAAA;EACH;MAEW,0BAA0B,GAAG,IAAI,cAAc,CAAuB,yBAAyB;;MC4E/F,oBAAoB,CAAA;;AAyC7B,IAAA,WAAA,CACqB,WAAuB,EACvB,gBAAwC,EACtB,SAAmB,EAAA;QAFrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAwB;QACtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;;AA7B1D,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAuB,CAAC;;AAItD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAuB,CAAC;;AAIpD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAW,CAAC;;QAY1B,IAAa,CAAA,aAAA,GAAG,oCAAoC,CAAC;;QAG9D,IAAkB,CAAA,kBAAA,GAA0B,IAAI,CAAC;KAOrD;;IAGJ,eAAe,GAAA;AACX,QAAA,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;AAC5C,aAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC5D,SAAS,CAAC,MAAK;AACZ,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AAC3E,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI,CAAC;AACjE,SAAC,CAAC,CAAC;KACV;;AAGD,IAAA,YAAY,CAAC,KAA0B,EAAA;QACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,aAA4B,CAAC;AACtE,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACrC,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;;IAGD,aAAa,CAAC,KAAkB,EAAE,IAA0B,EAAA;AACxD,QAAA,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE;YAC/B,OAAO;AACV,SAAA;QACD,KAAK,EAAE,wBAAwB,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,UAAU,CAAC,MAAK;AACZ,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC9F,eAAe,EAAE,KAAK,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;;AAGD,IAAA,wBAAwB,CAAC,KAAU,EAAA;QAC/B,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACrD,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAChC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAClC,SAAA;KACJ;AAxFQ,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,oBAAoB,kFA4CjB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGA5CX,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAzElB,CAAC,sBAAsB,CAAC,4GAmGJ,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIP,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvIhD,izMA0IA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED1CQ,gBAAgB,EAEhB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,8IAClB,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACV,qBAAqB,EACrB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,EACb,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,eAAe,EArEP,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACR,OAAO,CAAC,eAAe,EAAE;;AAErB,gBAAA,KAAK,CACD,MAAM,EACN,KAAK,CAAC;AACF,oBAAA,SAAS,EAAE,eAAe;AAC1B,oBAAA,OAAO,EAAE,CAAC;AACb,iBAAA,CAAC,CACL;AACD,gBAAA,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;AACF,oBAAA,SAAS,EAAE,mBAAmB;AAC9B,oBAAA,OAAO,EAAE,CAAC;AACb,iBAAA,CAAC,CACL;gBACD,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBACzE,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,CAAC;aACjF,CAAC;YACF,OAAO,CAAC,kBAAkB,EAAE;AACxB,gBAAA,KAAK,CACD,MAAM,EACN,KAAK,CAAC;AACF,oBAAA,SAAS,EAAE,eAAe;AAC1B,oBAAA,OAAO,EAAE,CAAC;AACV,oBAAA,OAAO,EAAE,OAAO;AACnB,iBAAA,CAAC,CACL;AACD,gBAAA,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;AACF,oBAAA,SAAS,EAAE,kBAAkB;AAC7B,oBAAA,OAAO,EAAE,CAAC;AACb,iBAAA,CAAC,CACL;gBACD,UAAU,CAAC,gBAAgB,EAAE;AACzB,oBAAA,OAAO,CACH,gCAAgC,EAChC,SAAS,CAAC;AACN,wBAAA,KAAK,CAAC;AACF,4BAAA,SAAS,EAAE,eAAe;AAC1B,4BAAA,OAAO,EAAE,CAAC;AACV,4BAAA,OAAO,EAAE,OAAO;yBACnB,CAAC;AACF,wBAAA,KAAK,CAAC;AACF,4BAAA,SAAS,EAAE,kBAAkB;AAC7B,4BAAA,OAAO,EAAE,CAAC;AACV,4BAAA,OAAO,EAAE,MAAM;yBAClB,CAAC;AACL,qBAAA,CAAC,CACL;iBACJ,CAAC;gBACF,UAAU,CAAC,gBAAgB,EAAE;AACzB,oBAAA,KAAK,CAAC;AACF,wBAAA,OAAO,EAAE,OAAO;qBACnB,CAAC;oBACF,OAAO,CAAC,qCAAqC,CAAC;iBACjD,CAAC;aACL,CAAC;AACL,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAYQ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA9EhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAEX,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA,CAAC,sBAAsB,CAAC,EACvB,UAAA,EAAA;wBACR,OAAO,CAAC,eAAe,EAAE;;AAErB,4BAAA,KAAK,CACD,MAAM,EACN,KAAK,CAAC;AACF,gCAAA,SAAS,EAAE,eAAe;AAC1B,gCAAA,OAAO,EAAE,CAAC;AACb,6BAAA,CAAC,CACL;AACD,4BAAA,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;AACF,gCAAA,SAAS,EAAE,mBAAmB;AAC9B,gCAAA,OAAO,EAAE,CAAC;AACb,6BAAA,CAAC,CACL;4BACD,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC;4BACzE,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,CAAC;yBACjF,CAAC;wBACF,OAAO,CAAC,kBAAkB,EAAE;AACxB,4BAAA,KAAK,CACD,MAAM,EACN,KAAK,CAAC;AACF,gCAAA,SAAS,EAAE,eAAe;AAC1B,gCAAA,OAAO,EAAE,CAAC;AACV,gCAAA,OAAO,EAAE,OAAO;AACnB,6BAAA,CAAC,CACL;AACD,4BAAA,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;AACF,gCAAA,SAAS,EAAE,kBAAkB;AAC7B,gCAAA,OAAO,EAAE,CAAC;AACb,6BAAA,CAAC,CACL;4BACD,UAAU,CAAC,gBAAgB,EAAE;AACzB,gCAAA,OAAO,CACH,gCAAgC,EAChC,SAAS,CAAC;AACN,oCAAA,KAAK,CAAC;AACF,wCAAA,SAAS,EAAE,eAAe;AAC1B,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,OAAO,EAAE,OAAO;qCACnB,CAAC;AACF,oCAAA,KAAK,CAAC;AACF,wCAAA,SAAS,EAAE,kBAAkB;AAC7B,wCAAA,OAAO,EAAE,CAAC;AACV,wCAAA,OAAO,EAAE,MAAM;qCAClB,CAAC;AACL,iCAAA,CAAC,CACL;6BACJ,CAAC;4BACF,UAAU,CAAC,gBAAgB,EAAE;AACzB,gCAAA,KAAK,CAAC;AACF,oCAAA,OAAO,EAAE,OAAO;iCACnB,CAAC;gCACF,OAAO,CAAC,qCAAqC,CAAC;6BACjD,CAAC;yBACL,CAAC;AACL,qBAAA,EAAA,UAAA,EACW,IAAI,EACP,OAAA,EAAA;wBACL,gBAAgB;wBAChB,aAAa;wBACb,kBAAkB;wBAClB,UAAU;wBACV,qBAAqB;wBACrB,aAAa;wBACb,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,izMAAA,EAAA,CAAA;;0BA8CI,MAAM;2BAAC,QAAQ,CAAA;yCAzCpB,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAKN,cAAc,EAAA,CAAA;sBADb,KAAK;gBAKN,YAAY,EAAA,CAAA;sBADX,KAAK;gBAKN,WAAW,EAAA,CAAA;sBADV,MAAM;gBAKP,SAAS,EAAA,CAAA;sBADR,MAAM;gBAKP,YAAY,EAAA,CAAA;sBADX,MAAM;gBAKC,SAAS,EAAA,CAAA;sBADhB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAKnC,YAAY,EAAA,CAAA;sBADnB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAK7B,aAAa,EAAA,CAAA;sBAD7B,WAAW;uBAAC,OAAO,CAAA;;;AEvIxB;;;;AAIG;AACG,SAAU,qCAAqC,CAAC,KAAiB,EAAA;AACnE,IAAA,QAAQ,KAAK;AACT,QAAA,KAAK,OAAO;AACR,YAAA,OAAO,UAAU,CAAC;AACtB,QAAA,KAAK,SAAS;AACV,YAAA,OAAO,UAAU,CAAC;AACtB,QAAA,KAAK,SAAS;AACV,YAAA,OAAO,SAAS,CAAC;AACrB,QAAA;AACI,YAAA,OAAO,KAAK,CAAC;AACpB,KAAA;AACL,CAAC;AAED;;;;AAIG;AACG,SAAU,gBAAgB,CAAC,IAAgB,EAAA;AAC7C,IAAA,QAAQ,IAAI;AACR,QAAA,KAAK,SAAS;AACV,YAAA,OAAO,UAAU,CAAC;AACtB,QAAA,KAAK,OAAO;AACR,YAAA,OAAO,UAAU,CAAC;AACtB,QAAA,KAAK,SAAS;AACV,YAAA,OAAO,UAAU,CAAC;AACtB,QAAA,KAAK,aAAa;AACd,YAAA,OAAO,aAAa,CAAC;AACzB,QAAA;AACI,YAAA,OAAO,SAAS,CAAC;AACxB,KAAA;AACL;;MCea,uBAAuB,CAAA;;IAyChC,WACqB,CAAA,IAAuB,EACvB,WAAuB,EAAA;QADvB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;QACvB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;;AAhC5C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAuB,CAAC;;QAGpD,IAAa,CAAA,aAAA,GAAuB,MAAM,CAAC;;QAM3C,IAAiB,CAAA,iBAAA,GAAiC,KAAK,CAAC;;QAGxD,IAAW,CAAA,WAAA,GAA0B,EAAE,CAAC;;QAGxC,IAAwB,CAAA,wBAAA,GAAG,CAAC,CAAC;;QAS7B,IAAe,CAAA,eAAA,GAA+B,EAAE,CAAC;;QAGzC,IAAc,CAAA,cAAA,GAA+B,EAAE,CAAC;KAMpD;;IAGJ,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AACjF,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;AAC7B,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,YAAA,MAAM,aAAa,GAAG,OAAO,CACzB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACxE,MAAM,CACT,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAiB,CAAC;AAC9D,YAAA,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AAC7B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AAClB,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC;AAC/B,oBAAA,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC;AACrC,iBAAA,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC,cAAc,GAAG,qCAAqC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAErF,IAAI,CAAC,wBAAwB,GAAG,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;AAErB,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC9B,SAAC,CAAC,CAAC;KACN;;IAGD,SAAS,GAAA;AACL,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AAC5B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC5B;;AAGD,IAAA,YAAY,CAAC,KAA0B,EAAA;AACnC,QAAA,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC7B;;IAGD,aAAa,CAAC,SAAS,GAAG,IAAI,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAClC;;IAGD,aAAa,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,iBAAiB,KAAK,KAAK,EAAE;AAClC,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAErF,YAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO;AACV,aAAA;AAED,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM;AACT,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;8GA/GQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvDpC,+nGAoEA,EDzBQ,MAAA,EAAA,CAAA,0rZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,oaACb,eAAe,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,OAAO,EACP,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,SAAS,qUACT,wBAAwB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACxB,WAAW,EACX,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,qBAAqB,4NACrB,qBAAqB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,oBAAoB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACpB,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAGV,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBApBnC,SAAS;+BACI,qBAAqB,EAAA,aAAA,EAGhB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACL,aAAa;wBACb,eAAe;wBACf,OAAO;wBACP,SAAS;wBACT,wBAAwB;wBACxB,WAAW;wBACX,qBAAqB;wBACrB,qBAAqB;wBACrB,oBAAoB;wBACpB,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,+nGAAA,EAAA,MAAA,EAAA,CAAA,0rZAAA,CAAA,EAAA,CAAA;+GAKQ,QAAQ,EAAA,CAAA;sBADhB,SAAS;uBAAC,SAAS,CAAA;gBAKpB,OAAO,EAAA,CAAA;sBADN,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,MAAM;;;MEzDE,+BAA+B,CAAA;;IAUxC,WAA4B,CAAA,UAAsB,EAA8B,OAAkB,EAAA;QAAtE,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAA8B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAW;KAAI;8GAV7F,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,2BAAA,EAAA,OAAA,CAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAJ3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;0BAWwD,QAAQ;yCAP7D,KAAK,EAAA,CAAA;sBADJ,KAAK;uBAAC,2BAA2B,CAAA;gBAKlC,UAAU,EAAA,CAAA;sBADT,KAAK;;;MC6BG,kCAAkC,CAAA;AAgB3C;;AAEG;IACH,IACI,KAAK,CAAC,KAAgD,EAAA;QACtD,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACvB,YAAA,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACnC;;IAGD,IACI,UAAU,CAAC,KAAiC,EAAA;AAC5C,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;IA2BD,WACqB,CAAA,WAAuB,EACa,OAA6B,EAAA;QADjE,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACa,IAAO,CAAA,OAAA,GAAP,OAAO,CAAsB;;AAvDtF,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAkB,CAAC;;AA6B/B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAA6B,EAAE,CAAC,CAAC;AAEhF;;AAEG;;AAEH,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;;QAG9B,IAAW,CAAA,WAAA,GAA+B,EAAE,CAAC;;QAM7C,IAAQ,CAAA,QAAA,GAAoC,EAAE,CAAC;;AAG/C,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,YAAY,EAAE,CAAC;;QAGjD,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;KAM3B;;IAGJ,eAAe,GAAA;;AAEX,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,OAAO;AACV,SAAA;QACD,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACpG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,CAAC,wBAAwB,EAAE,CAAC;AACpC,SAAC,CAAC,CAAC;KACN;AAED;;AAEG;AACH,IAAA,iBAAiB,CAAC,cAA8B,EAAA;AAC5C,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;;KAE7C;AAED;;;AAGG;AACH,IAAA,QAAQ,CAAC,KAAgD,EAAA;AACrD,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACnC;AAED;;;AAGG;AACH,IAAA,aAAa,CAAC,UAAsC,EAAA;QAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACnD;;IAGD,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;KAClD;AAED;;;AAGG;IACK,wBAAwB,GAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,uBAAuB,EAAE,WAAW,EAAE,CAAC;AAC5C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,SAAS,CAAC,MACN,IAAI,CAAC,aAAc,CAAC,IAAI,CACpB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EACtB,MAAM,CAAC,CAAC,MAAc,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,CACjE,CACJ,CACJ,CACJ,CAAC;AAEF,QAAA,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,GAAG,gBAAgB,CAAC;AAClD,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC1C,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,MAAM,MAAM,GACR,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;AAErG,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,SAAS,CAAC,MAAK;YACrD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9E,SAAC,CAAC,CAAC;KACN;;AAGO,IAAA,wBAAwB,CAAC,MAAkC,EAAA;AAC/D,QAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;AAE/C,QAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI,YAAY,EAAE,CAAC;AAEtD,QAAA,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,KAAI;AACtB,YAAA,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAChC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,MAAK;AAC1C,gBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACtB,OAAO;AACV,iBAAA;gBACD,MAAM,MAAM,GACR,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;AAC3B,sBAAE,IAAI,CAAC,qBAAqB,EAAE;AAC9B,sBAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC;AAC1C,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC9B,CAAC,CACL,CAAC;AACN,SAAC,CAAC,CAAC;KACN;;IAGO,qBAAqB,GAAA;AACzB,QAAA,MAAM,MAAM,GAA+B;AACvC,YAAA;AACI,gBAAA,MAAM,EAAE,EAAE;AACb,aAAA;SACJ,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAE9C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC3B,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,KAAI;gBACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC3C,gBAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC;AAElF,gBAAA,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE;oBAC5B,OAAO;AACV,iBAAA;AAED,gBAAA,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAEtD,gBAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACtB,qBAAA,MAAM,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/C,qBAAA,OAAO,CAAC,CAAC,QAAQ,KAAI;oBAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC;AAE3C,oBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC7E,oBAAA,MAAM,WAAW,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AAC3E,oBAAA,MAAM,UAAU,GACZ,WAAW,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI;0BAC/D,WAAW,CAAC,IAAI;0BAChB,OAAO,CAAC;AAClB,oBAAA,MAAM,KAAK,GAAwB;AAC/B,wBAAA,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,cAAc,CAAC,IAAI;AACzB,wBAAA,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC;AACnC,wBAAA,SAAS,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;wBAC7B,OAAO,EAAE,KAAK,EAAE,UAAU;AAC1B,wBAAA,OAAO,EAAE;AACL,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,KAAK,EAAE,QAAQ;4BACf,OAAO,EAAE,cAAc,CAAC,OAAO;AAClC,yBAAA;AACD,wBAAA,WAAW,EAAE;AACT,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,KAAK,EAAE,QAAQ;4BACf,OAAO,EAAE,cAAc,CAAC,WAAW;AACtC,yBAAA;wBACD,MAAM,EAAE,OAAQ,CAAC,MAAM;qBAC1B,CAAC;oBAEF,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,iBAAC,CAAC,CAAC;AACX,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,MAAM,CAAC;KACjB;;IAGO,wBAAwB,GAAA;QAC5B,IAAI,MAAM,GAA+B,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,CAAC;AAEzG;;;AAGG;AACH,QAAA,MAAM,eAAe,GAAG,CAAC,IAA6B,KAAgC;AAClF,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AACrB,gBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AACvB,oBAAA,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AACxC,iBAAC,CAAC,CAAC;AACH,gBAAA,OAAO,MAAM,CAAC;AACjB,aAAA;AACD,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,KAAI;gBAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACtC,gBAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;gBAEvE,IAAI,OAAO,YAAY,SAAS,EAAE;AAC9B,oBAAA,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACrC,iBAAA;AAED,gBAAA,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE;oBAC5B,OAAO;AACV,iBAAA;AAED,gBAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;oBAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CACtD,CAAC,YAAY,KAAK,YAAY,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,CAC9D,CAAC;oBAEF,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAC7B,WAAW,EACX,SAAS,EACT,OAAO,EACP,KAAK,EACL,QAAQ,EACR,cAAc,EACd,OAAO,CAAC,MAAO,CAAC,QAAQ,CAAC,CAC5B,CAAC;AAEF,oBAAA,IAAI,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAEvF,oBAAA,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;wBACxB,eAAe;4BACX,MAAM,CAAC,IAAI,CAAC;AACR,gCAAA,KAAK,EAAE,SAAS;AAChB,gCAAA,MAAM,EAAE,EAAE;6BACb,CAAC,GAAG,CAAC,CAAC;AACd,qBAAA;AAED,oBAAA,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAEtC,oBAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,iBAAC,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;AAEH,YAAA,OAAO,MAAM,CAAC;AAClB,SAAC,CAAC;AAEF,QAAA,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KAClE;AAED;;;AAGG;AACK,IAAA,cAAc,CAClB,WAAmB,EACnB,SAAiB,EACjB,OAAwB,EACxB,KAA+B,EAC/B,QAAgB,EAChB,cAA+C,EAC/C,KAAW,EAAA;QAEX,IAAI,KAAK,GAAe,OAAO,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAElD,QAAA,IAAI,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE;AAChC,YAAA,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC;AACzC,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE;AAC3C,YAAA,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC;AAC5B,SAAA;QAED,OAAO;AACH,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;AAC9B,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE;AACxC,YAAA,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;AAC9E,YAAA,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC;YACtF,MAAM,EAAE,OAAQ,CAAC,MAAM;AACvB,YAAA,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK,EAAE,UAAU;SAC7B,CAAC;KACL;AAED;;;;;;;;AAQG;IACK,aAAa,CACjB,KAA+B,EAC/B,cAAwD,EACxD,UAAqC,SAAS,EAC9C,QAAgB,EAChB,KAAW,EAAA;AAEX,QAAA,MAAM,YAAY,GAA4B;YAC1C,KAAK,EAAE,cAAc,EAAE,KAAK;YAC5B,IAAI,EAAE,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,KAAK,EAAE,SAAS,EAAE,UAAU,GAAG,aAAa,GAAG,QAAQ;SAC1G,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE;YAChC,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAE3D,YAAA,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,YAAA,YAAY,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AAC/C,YAAA,OAAO,YAAY,CAAC;AACvB,SAAA;QAED,IAAI,cAAc,EAAE,SAAS,EAAE;AAC3B,YAAA,YAAY,CAAC,OAAO;AAChB,gBAAA,OAAO,KAAK,SAAS;sBACf,cAAc,CAAC,SAAS,CAAC,mBAAmB,IAAI,cAAc,CAAC,SAAS,CAAC,uBAAuB;AAClG,sBAAE,cAAc,CAAC,SAAS,CAAC,uBAAuB,CAAC;AAC3D,YAAA,OAAO,YAAY,CAAC;AACvB,SAAA;QAED,YAAY,CAAC,OAAO,GAAG,KAAK,EAAE,SAAS,EAAE,UAAU,IAAI,IAAI,CAAC;AAC5D,QAAA,OAAO,YAAY,CAAC;KACvB;;AAGO,IAAA,aAAa,CAAC,SAAsC,EAAA;QACxD,MAAM,KAAK,GAAa,EAAE,CAAC;AAE3B,QAAA,IAAI,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE;YAC1C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACtD,SAAA;AAED,QAAA,IAAI,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE;YAClC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC9C,SAAA;AAED,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;IAGO,oBAAoB,CACxB,QAAgB,EAChB,gBAAiD,EAAA;QAEjD,MAAM,WAAW,GACb,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChH,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACzD,QAAA,MAAM,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;AAC5D,QAAA,MAAM,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;AACxE,QAAA,MAAM,kBAAkB,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC;QAE9E,OAAO;AACH,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,WAAW,EAAE,kBAAkB;SAClC,CAAC;KACL;;AAGO,IAAA,gBAAgB,CAAC,KAAyC,EAAA;QAC9D,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;KAC/C;AAhaQ,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,kCAAkC,4CAqE/B,0BAA0B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AArE7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,iLAE1B,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,6BAAA,EAAA,SAAA,EAIhB,qBAAqB,EAIrB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,+BAA+B,qFAhBtC,CAA2B,yBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAM5B,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAR9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,CAA2B,yBAAA,CAAA;AACrC,oBAAA,QAAQ,EAAE,uBAAuB;oBACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;0BAsEQ,MAAM;2BAAC,0BAA0B,CAAA;yCAlErB,cAAc,EAAA,CAAA;sBAD9B,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAKvC,2BAA2B,EAAA,CAAA;sBAD3C,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAK5C,eAAe,EAAA,CAAA;sBAD/B,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,+BAA+B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAUnE,KAAK,EAAA,CAAA;sBADR,KAAK;gBAcF,UAAU,EAAA,CAAA;sBADb,KAAK;;;MC/CG,4BAA4B,CAAA;AACrC;;;AAGG;IACH,OAAO,UAAU,CAAC,MAA4B,EAAA;AAC1C,QAAA,MAAM,YAAY,GAAG,SAAS,CAAC,kCAAkC,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAI;AACpF,YAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAChD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAClC,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AAC3B,gBAAA,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1B,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,GAAG,CAAC;AACd,aAAA;AACL,SAAC,CAAC,CAAC;QAEH,OAAO;AACH,YAAA,QAAQ,EAAE,4BAA4B;AACtC,YAAA,SAAS,EAAE;AACP,gBAAA;AACI,oBAAA,OAAO,EAAE,0BAA0B;AACnC,oBAAA,QAAQ,EAAE,YAAY;AACzB,iBAAA;AACJ,aAAA;SACJ,CAAC;KACL;8GAzBQ,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,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,4BAA4B,YAlBjC,uBAAuB;YACvB,kCAAkC;YAClC,oBAAoB;AACpB,YAAA,+BAA+B,aAG/B,uBAAuB;YACvB,kCAAkC;YAClC,oBAAoB;YACpB,+BAA+B,CAAA,EAAA,CAAA,CAAA,EAAA;AAS1B,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,4BAA4B,EAP1B,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,0BAA0B;AACnC,gBAAA,QAAQ,EAAE,kCAAkC;AAC/C,aAAA;AACJ,SAAA,EAAA,OAAA,EAAA,CAhBG,uBAAuB;YAEvB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAgBf,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBApBxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,uBAAuB;wBACvB,kCAAkC;wBAClC,oBAAoB;wBACpB,+BAA+B;AAClC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,uBAAuB;wBACvB,kCAAkC;wBAClC,oBAAoB;wBACpB,+BAA+B;AAClC,qBAAA;AACD,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,0BAA0B;AACnC,4BAAA,QAAQ,EAAE,kCAAkC;AAC/C,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;;;AC3BD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-platform-message-popover.mjs","sources":["../../../../libs/platform/message-popover/default-config.ts","../../../../libs/platform/message-popover/directives/message-popover-form-item.directive.ts","../../../../libs/platform/message-popover/utils.ts","../../../../libs/platform/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.ts","../../../../libs/platform/message-popover/components/message-view/message-view.component.ts","../../../../libs/platform/message-popover/components/message-view/message-view.component.html","../../../../libs/platform/message-popover/message-popover.component.ts","../../../../libs/platform/message-popover/message-popover.component.html","../../../../libs/platform/message-popover/platform-message-popover.module.ts","../../../../libs/platform/message-popover/fundamental-ngx-platform-message-popover.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\n\nexport interface MessagePopoverErrorConfig {\n heading: string;\n description?: string;\n type: FormStates;\n}\n\nexport interface MessagePopoverConfig {\n /**\n * Errors object where key is error type and value is i18n string.\n */\n errors: Record<string, string | MessagePopoverErrorConfig>;\n}\n\nexport const FDP_MESSAGE_POPOVER_DEFAULT_CONFIG: MessagePopoverConfig = {\n errors: {\n email: 'platformMessagePopover.defaultErrors.email',\n max: 'platformMessagePopover.defaultErrors.max',\n maxlength: 'platformMessagePopover.defaultErrors.maxLength',\n min: 'platformMessagePopover.defaultErrors.min',\n minlength: 'platformMessagePopover.defaultErrors.minLength',\n pattern: 'platformMessagePopover.defaultErrors.pattern',\n required: 'platformMessagePopover.defaultErrors.required',\n requiredTrue: 'platformMessagePopover.defaultErrors.requiredTrue'\n }\n};\n\nexport const FDP_MESSAGE_POPOVER_CONFIG = new InjectionToken<MessagePopoverConfig>('FdpMessagePopoverConfig');\n","import { Directive, ElementRef, Input, Optional } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { MessagePopoverConfig } from '../default-config';\n\n@Directive({\n selector: '[fdpMessagePopoverFormItem]',\n standalone: true\n})\nexport class MessagePopoverFormItemDirective {\n /** Form item name. */\n @Input('fdpMessagePopoverFormItem')\n label: string;\n\n /** Error type definition. */\n @Input()\n errorTypes: MessagePopoverConfig['errors'];\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n @Optional() public readonly control: NgControl\n ) {}\n}\n","import { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { ObjectStatus } from '@fundamental-ngx/core/object-status';\nimport { MessagePopoverState } from './models/message-popover.interface';\n\n/**\n * Converts Object Status into Message Popover State\n * @param status Object status\n * @returns Message Popover State.\n */\nexport function convertFormStateToMessagePopoverState(state: FormStates): MessagePopoverState {\n switch (state) {\n case 'error':\n return 'negative';\n case 'warning':\n return 'critical';\n case 'default':\n return 'neutral';\n default:\n return state;\n }\n}\n\n/**\n * Converts Form State into Object status type.\n * @param type Form state.\n * @returns `ObjectStatus` type.\n */\nexport function convertFormState(type: FormStates): ObjectStatus {\n switch (type) {\n case 'success':\n return 'positive';\n case 'error':\n return 'negative';\n case 'warning':\n return 'critical';\n case 'information':\n return 'informative';\n default:\n return 'neutral';\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n Inject,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, ControlContainer, FormGroup, FormGroupDirective, NgForm } from '@angular/forms';\nimport { FD_FORM_FIELD_CONTROL, FormStates } from '@fundamental-ngx/cdk/forms';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n FormFieldErrorDirectiveContext,\n PlatformFormField,\n PlatformFormFieldControl\n} from '@fundamental-ngx/platform/shared';\nimport { BehaviorSubject, Subject, Subscription, filter, startWith, switchMap, zip } from 'rxjs';\nimport { FDP_MESSAGE_POPOVER_CONFIG, MessagePopoverConfig, MessagePopoverErrorConfig } from '../../default-config';\nimport { MessagePopoverFormItemDirective } from '../../directives/message-popover-form-item.directive';\nimport {\n MessagePopoverEntry,\n MessagePopoverErrorGroup,\n MessagePopoverErrorText\n} from '../../models/message-popover-entry.interface';\nimport { MessagePopoverWrapper } from '../../models/message-popover-wrapper.interface';\nimport { MessagePopover } from '../../models/message-popover.interface';\nimport { convertFormState } from '../../utils';\n\nexport type MessagePopoverForm = NgForm | FormGroupDirective;\n\n@Component({\n selector: 'fdp-message-popover-form-wrapper',\n template: `<ng-content></ng-content>`,\n exportAs: 'messagePopoverWrapper',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class MessagePopoverFormWrapperComponent implements MessagePopoverWrapper, AfterViewInit, OnDestroy {\n /** @hidden */\n @ContentChildren(ControlContainer, { descendants: true })\n private readonly _projectedForm: QueryList<MessagePopoverForm>;\n\n /** @hidden */\n @ContentChildren(FD_FORM_FIELD_CONTROL, { descendants: true })\n private readonly _projectedFormFieldControls!: QueryList<PlatformFormFieldControl>;\n\n /** @hidden */\n @ContentChildren(MessagePopoverFormItemDirective, { descendants: true })\n private readonly _directiveItems!: QueryList<MessagePopoverFormItemDirective>;\n\n /** Message Popover instance. */\n messagePopover$ = new Subject<MessagePopover>();\n\n /**\n * User-passed forms.\n */\n @Input()\n set forms(forms: MessagePopoverForm | MessagePopoverForm[]) {\n if (!forms) {\n return;\n }\n if (!Array.isArray(forms)) {\n forms = [forms];\n }\n this._ngForms = forms;\n this._startListeningForErrors();\n }\n\n /** User-passed form fields. */\n @Input()\n set formFields(value: PlatformFormFieldControl[]) {\n this._formFields = value;\n this._listenToFormFieldErrors(value);\n }\n\n get formFields(): PlatformFormFieldControl[] {\n return this._formFields;\n }\n\n /** @hidden */\n private readonly _errors$ = new BehaviorSubject<MessagePopoverErrorGroup[]>([]);\n\n /**\n * Error models Observable. Emitted when form submitted and contains invalid fields.\n */\n // eslint-disable-next-line @typescript-eslint/member-ordering\n errors = this._errors$.asObservable();\n\n /** @hidden */\n private _formFields: PlatformFormFieldControl[] = [];\n\n /** @hidden */\n private _formErrorsSubscription: Subscription | undefined;\n\n /** @hidden */\n private _ngForms: (NgForm | FormGroupDirective)[] = [];\n\n /** @hidden */\n private _formItemErrorsSubscription = new Subscription();\n\n /** @hidden */\n private _formSubmitted = false;\n\n /** @hidden */\n constructor(\n private readonly _destroyRef: DestroyRef,\n @Inject(FDP_MESSAGE_POPOVER_CONFIG) private readonly _config: MessagePopoverConfig\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n // Forms are passed via input property.\n if (this._ngForms.length > 0) {\n return;\n }\n this._projectedForm?.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._ngForms = this._projectedForm.toArray();\n this._startListeningForErrors();\n });\n }\n\n /**\n * Sets Message Popover component instance.\n */\n setMessagePopover(messagePopover: MessagePopover): void {\n this.messagePopover$.next(messagePopover);\n // this.messagePopover = messagePopover;\n }\n\n /**\n * Programmatically add new form to array of forms.\n * @param forms\n */\n addForms(forms: MessagePopoverForm | MessagePopoverForm[]): void {\n const formsArray = Array.isArray(forms) ? forms : [forms];\n this._ngForms.push(...formsArray);\n this._startListeningForErrors();\n }\n\n /**\n * Programmatically add new form fields to array of listened form fields.\n * @param formFields\n */\n addFormFields(formFields: PlatformFormFieldControl[]): void {\n this._formFields.push(...formFields);\n this._listenToFormFieldErrors(this._formFields);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._formItemErrorsSubscription.unsubscribe();\n }\n\n /**\n * @hidden\n * Listens to the form submission and collects form control errors.\n */\n private _startListeningForErrors(): void {\n if (!this._ngForms) {\n return;\n }\n this._formErrorsSubscription?.unsubscribe();\n this._errors$.next([]);\n\n const formSubmitEvents = this._ngForms.map((form) =>\n form.ngSubmit.pipe(\n switchMap(() =>\n form.statusChanges!.pipe(\n startWith(form.status),\n filter((status: string) => status.toLowerCase() !== 'pending')\n )\n )\n )\n );\n\n this._formErrorsSubscription = zip(...formSubmitEvents)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._formSubmitted = true;\n const errors =\n this._directiveItems.length > 0 ? this._collectPlainFormData() : this._collectAdvancedFormData();\n\n this._errors$.next(errors);\n });\n\n this._listenToFormFieldErrors(this._projectedFormFieldControls.toArray());\n\n this._projectedFormFieldControls?.changes.subscribe(() => {\n this._listenToFormFieldErrors(this._projectedFormFieldControls.toArray());\n });\n }\n\n /** @hidden */\n private _listenToFormFieldErrors(fields: PlatformFormFieldControl[]): void {\n this._formItemErrorsSubscription.unsubscribe();\n\n this._formItemErrorsSubscription = new Subscription();\n\n fields?.forEach((field) => {\n this._formItemErrorsSubscription.add(\n field.formField?.errorsChange$.subscribe(() => {\n if (!this._formSubmitted) {\n return;\n }\n const errors =\n this._directiveItems.length > 0\n ? this._collectPlainFormData()\n : this._collectAdvancedFormData();\n this._errors$.next(errors);\n })\n );\n });\n }\n\n /** @hidden */\n private _collectPlainFormData(): MessagePopoverErrorGroup[] {\n const errors: MessagePopoverErrorGroup[] = [\n {\n errors: []\n }\n ];\n\n const fields = this._directiveItems.toArray();\n\n this._ngForms.forEach((form) => {\n Object.keys(form.form.controls).forEach((controlName) => {\n const control = form.form.get(controlName);\n const field = fields.find((formField) => formField.control?.name === controlName);\n\n if (!control?.errors || !field) {\n return;\n }\n\n const configErrors = Object.keys(this._config.errors);\n\n Object.keys(control.errors)\n .filter((error) => configErrors.includes(error))\n .forEach((errorKey) => {\n const errorObj = control.errors![errorKey];\n\n const errorTextModel = this._getConfigErrorModel(errorKey, field.errorTypes);\n const errorConfig = field?.errorTypes ? field?.errorTypes[errorKey] : null;\n const errorState =\n errorConfig && this._isAdvancedError(errorConfig) && errorConfig.type\n ? errorConfig.type\n : 'error';\n const error: MessagePopoverEntry = {\n name: controlName,\n type: errorTextModel.type,\n state: convertFormState(errorState),\n fieldName: field?.label ?? '',\n element: field?.elementRef,\n heading: {\n type: 'string',\n error: errorObj,\n message: errorTextModel.heading\n },\n description: {\n type: 'string',\n error: errorObj,\n message: errorTextModel.description\n },\n errors: control!.errors\n };\n\n errors[0].errors.push(error);\n });\n });\n });\n\n return errors;\n }\n\n /** @hidden */\n private _collectAdvancedFormData(): MessagePopoverErrorGroup[] {\n let errors: MessagePopoverErrorGroup[] = [];\n const fields = this.formFields.length > 0 ? this.formFields : this._projectedFormFieldControls.toArray();\n\n /**\n * Iterates over form controls to collect their errors.\n * @param form Form Group or a collection of Form Groups.\n */\n const iterateOverForm = (form: FormGroup | FormGroup[]): MessagePopoverErrorGroup[] => {\n if (Array.isArray(form)) {\n form.forEach((formGroup) => {\n errors = iterateOverForm(formGroup);\n });\n return errors;\n }\n Object.keys(form.controls).forEach((controlName) => {\n const control = form.get(controlName);\n const field = fields.find((formField) => formField.id === controlName);\n\n if (control instanceof FormGroup) {\n errors = iterateOverForm(control);\n }\n\n if (!control?.errors || !field) {\n return;\n }\n\n Object.keys(control.errors).forEach((errorKey) => {\n const errorDirective = field.formField?.groupedErrors.find(\n (groupedError) => groupedError.directive.error === errorKey\n );\n\n const groupName = this._getGroupName(field?.formField);\n const error = this._getErrorModel(\n controlName,\n groupName,\n control,\n field,\n errorKey,\n errorDirective,\n control.errors![errorKey]\n );\n\n let errorGroupIndex = errors.findIndex((errorGroup) => errorGroup.group === groupName);\n\n if (errorGroupIndex === -1) {\n errorGroupIndex =\n errors.push({\n group: groupName,\n errors: []\n }) - 1;\n }\n\n const group = errors[errorGroupIndex];\n\n group.errors.push(error);\n });\n });\n\n return errors;\n };\n\n return iterateOverForm(this._ngForms.map((form) => form.form));\n }\n\n /**\n * @hidden\n * Creates error model\n */\n private _getErrorModel(\n controlName: string,\n groupName: string,\n control: AbstractControl,\n field: PlatformFormFieldControl,\n errorKey: string,\n errorDirective?: FormFieldErrorDirectiveContext,\n error?: any\n ): MessagePopoverEntry {\n let state: FormStates = 'error';\n const configError = this._config.errors[errorKey];\n\n if (errorDirective?.directive.type) {\n state = errorDirective.directive.type;\n } else if (this._isAdvancedError(configError)) {\n state = configError.type;\n }\n\n return {\n name: controlName,\n type: state,\n state: convertFormState(state),\n group: groupName,\n fieldName: field?.formField?.label ?? '',\n heading: this._getErrorText(field, errorDirective, 'heading', errorKey, error),\n description: this._getErrorText(field, errorDirective, 'description', errorKey, error),\n errors: control!.errors,\n formField: field,\n element: field?.elementRef\n };\n }\n\n /**\n * @hidden\n * Creates error text based on the type of the error.\n * @param field Form Field Control.\n * @param errorDirective Optional Error directive\n * @param section Section where text should be rendered.\n * @param errorKey\n * @param error\n */\n private _getErrorText(\n field: PlatformFormFieldControl,\n errorDirective: Nullable<FormFieldErrorDirectiveContext>,\n section: 'heading' | 'description' = 'heading',\n errorKey: string,\n error?: any\n ): MessagePopoverErrorText {\n const errorTextObj: MessagePopoverErrorText = {\n error: errorDirective?.error,\n type: errorDirective?.directive ? 'directive' : field?.formField?.i18Strings ? 'templateRef' : 'string'\n };\n\n if (errorTextObj.type === 'string') {\n const errorTextModel = this._getConfigErrorModel(errorKey);\n\n errorTextObj.error = error;\n errorTextObj.message = errorTextModel[section];\n return errorTextObj;\n }\n\n if (errorDirective?.directive) {\n errorTextObj.message =\n section === 'heading'\n ? errorDirective.directive._headingTemplateRef ?? errorDirective.directive._descriptionTemplateRef\n : errorDirective.directive._descriptionTemplateRef;\n return errorTextObj;\n }\n\n errorTextObj.message = field?.formField?.i18Strings ?? null;\n return errorTextObj;\n }\n\n /** @hidden */\n private _getGroupName(formField: Nullable<PlatformFormField>): string {\n const parts: string[] = [];\n\n if (formField?.formGroupContainer?.mainTitle) {\n parts.push(formField.formGroupContainer.mainTitle);\n }\n\n if (formField?.formFieldGroup?.label) {\n parts.push(formField.formFieldGroup.label);\n }\n\n return parts.join(', ');\n }\n\n /** @hidden */\n private _getConfigErrorModel(\n errorKey: string,\n customErrorTypes?: MessagePopoverConfig['errors']\n ): MessagePopoverErrorConfig {\n const configError =\n customErrorTypes && customErrorTypes[errorKey] ? customErrorTypes[errorKey] : this._config.errors[errorKey];\n const isPlainError = !this._isAdvancedError(configError);\n const errorType = isPlainError ? 'error' : configError.type;\n const headingMessage = isPlainError ? configError : configError.heading;\n const descriptionMessage = isPlainError ? undefined : configError.description;\n\n return {\n type: errorType,\n heading: headingMessage,\n description: descriptionMessage\n };\n }\n\n /** @hidden */\n private _isAdvancedError(error: string | MessagePopoverErrorConfig): error is MessagePopoverErrorConfig {\n return !!error && typeof error !== 'string';\n }\n}\n","import { animate, keyframes, state, style, transition, trigger } from '@angular/animations';\nimport { CdkScrollable } from '@angular/cdk/overlay';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Nullable, TabbableElementService, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { debounceTime } from 'rxjs';\nimport { MessagePopoverEntry, MessagePopoverErrorGroup } from '../../models/message-popover-entry.interface';\n\n@Component({\n selector: 'fdp-message-view',\n templateUrl: './message-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [TabbableElementService],\n animations: [\n trigger('openCloseList', [\n // ...\n state(\n 'open',\n style({\n transform: 'translateX(0)',\n opacity: 1\n })\n ),\n state(\n 'closed',\n style({\n transform: 'translateX(-50px)',\n opacity: 0\n })\n ),\n transition('open => closed', [animate('.1s cubic-bezier(0, 0, 0.2, 1)')]),\n transition('closed => open', [animate('0.1s .1s cubic-bezier(0, 0, 0.2, 1)')])\n ]),\n trigger('openCloseDetails', [\n state(\n 'open',\n style({\n transform: 'translateX(0)',\n opacity: 1,\n display: 'block'\n })\n ),\n state(\n 'closed',\n style({\n transform: 'translateX(50px)',\n opacity: 0\n })\n ),\n transition('open => closed', [\n animate(\n '.1s cubic-bezier(0, 0, 0.2, 1)',\n keyframes([\n style({\n transform: 'translateX(0)',\n opacity: 1,\n display: 'block'\n }),\n style({\n transform: 'translateX(50px)',\n opacity: 0,\n display: 'none'\n })\n ])\n )\n ]),\n transition('closed => open', [\n style({\n display: 'block'\n }),\n animate('0.1s .1s cubic-bezier(0, 0, 0.2, 1)')\n ])\n ])\n ],\n standalone: true,\n imports: [\n NgTemplateOutlet,\n CdkScrollable,\n ScrollbarDirective,\n ListModule,\n ObjectStatusComponent,\n LinkComponent,\n FdTranslatePipe\n ]\n})\nexport class MessageViewComponent implements AfterViewInit {\n /** Current Message Popover screen. Can be either `list` or `details`. */\n @Input()\n currentScreen: 'list' | 'details';\n\n /** Filtered errors to render. */\n @Input()\n filteredErrors: MessagePopoverErrorGroup[];\n\n /** Current error entry. Used for details view. */\n @Input()\n currentEntry: Nullable<MessagePopoverEntry>;\n\n /** Event emitted when user clicks on error entry containing additional description. */\n @Output()\n openDetails = new EventEmitter<MessagePopoverEntry>();\n\n /** Event emitted when user clicks on error entry and item's element should be focused. */\n @Output()\n focusItem = new EventEmitter<MessagePopoverEntry>();\n\n /** Event emitted when user clicks on the field link to focus on the field itself. */\n @Output()\n closePopover = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild('listView', { read: ElementRef })\n private _listView: ElementRef;\n\n /** @hidden */\n @ViewChild('detailsView', { read: ElementRef })\n private _detailsView: ElementRef;\n\n /** @Hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fd-message-popover__view-container';\n\n /** @hidden */\n private _activeListElement: Nullable<HTMLElement> = null;\n\n /** @hidden */\n constructor(\n private readonly _destroyRef: DestroyRef,\n private readonly _tabbableService: TabbableElementService,\n @Inject(DOCUMENT) private readonly _document: Document\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n resizeObservable(this._detailsView.nativeElement)\n .pipe(debounceTime(20), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n const { height } = this._detailsView.nativeElement.getBoundingClientRect();\n this._listView.nativeElement.style.minHeight = `${height}px`;\n });\n }\n\n /** @hidden */\n _showDetails(entry: MessagePopoverEntry): void {\n this._activeListElement = this._document.activeElement as HTMLElement;\n if (!entry.description.message) {\n this._focusElement(undefined, entry);\n return;\n }\n this.currentScreen = 'details';\n this.openDetails.emit(entry);\n }\n\n /** @hidden */\n _focusElement(event?: MouseEvent, item?: MessagePopoverEntry): void {\n if (!item?.element?.nativeElement) {\n return;\n }\n event?.stopImmediatePropagation();\n this.closePopover.emit(false);\n this.focusItem.emit(item);\n setTimeout(() => {\n const tabbableElement = this._tabbableService.getTabbableElement(item.element?.nativeElement);\n tabbableElement?.focus();\n });\n }\n\n /** @hidden */\n _onListAnimationComplete(event: any): void {\n if (event.toState === 'open' && this._activeListElement) {\n this._activeListElement.focus();\n this._activeListElement = null;\n }\n }\n}\n","<ng-template #headingTemplate let-item>\n <ng-template #directiveHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message || item.description.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.heading.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nHeading>\n <ng-template\n [ngTemplateOutlet]=\"item.heading.message\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringHeading>\n {{ item.heading.message | fdTranslate: { error: item.heading.error } : item.heading.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveHeading\n : item.heading.type === 'string'\n ? stringHeading\n : i18nHeading\n \"\n ></ng-template>\n</ng-template>\n<ng-template #descriptionTemplate let-item>\n <ng-template #directiveDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.description.error }\"\n ></ng-template>\n </ng-template>\n <ng-template #i18nDescription>\n <ng-template\n [ngTemplateOutlet]=\"item.description.message!\"\n [ngTemplateOutletContext]=\"{ $implicit: item.errors }\"\n ></ng-template>\n </ng-template>\n <ng-template #stringDescription>\n {{ item.description.message | fdTranslate: { error: item.description.error } : item.description.message }}\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"\n item.heading.type === 'directive'\n ? directiveDescription\n : item.heading.type === 'string'\n ? stringDescription\n : i18nDescription\n \"\n ></ng-template>\n</ng-template>\n<div class=\"fd-message-view\">\n <section\n class=\"fd-message-view__list\"\n tabindex=\"-1\"\n [@openCloseList]=\"currentScreen === 'list' ? 'open' : 'closed'\"\n (@openCloseList.done)=\"_onListAnimationComplete($event)\"\n fd-scrollbar\n >\n <ul #listView fd-list class=\"message-popover__list fd-list--message-view\" [navigationIndicator]=\"true\">\n @for (group of filteredErrors; track group) {\n @if (group.group) {\n <li fd-list-group-header>\n <span fd-list-title>{{ group.group }}</span>\n </li>\n }\n @for (item of group.errors; track item; let i = $index) {\n <li fd-list-item [tabindex]=\"i === 0 ? 0 : -1\" [byline]=\"true\" (click)=\"_showDetails(item)\">\n <ng-template #itemIcon>\n <span\n fd-object-status\n class=\"fd-list__icon\"\n [status]=\"item.state\"\n [glyph]=\"'message-' + item.type\"\n ></span>\n </ng-template>\n <ng-template #listSubtitle>\n <span class=\"fd-list__subtitle\">\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </span>\n </ng-template>\n @if (item.element && !!item.description.message) {\n <span fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>\n <a tabindex=\"0\" fd-link (click)=\"_focusElement($event, item)\">\n {{ item.fieldName }}\n </a>\n </span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </span>\n } @else {\n <a fd-list-link [navigationIndicator]=\"!!item.description.message\">\n <ng-template [ngTemplateOutlet]=\"itemIcon\"></ng-template>\n <span fd-list-content>\n <span fd-list-title>{{ item.fieldName }}</span>\n <ng-template [ngTemplateOutlet]=\"listSubtitle\"></ng-template>\n </span>\n </a>\n }\n </li>\n }\n }\n </ul>\n </section>\n <section class=\"fd-message-view__details\" [@openCloseDetails]=\"currentScreen === 'details' ? 'open' : 'closed'\">\n <div #detailsView>\n @if (currentEntry) {\n <span class=\"fd-message-view__details-title\">\n <span\n fd-object-status\n class=\"fd-message-view__icon\"\n [status]=\"currentEntry.state\"\n [glyph]=\"'message-' + currentEntry.type\"\n ></span>\n <ng-template\n [ngTemplateOutlet]=\"headingTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n @if (currentEntry.description.message) {\n <span class=\"fd-message-view__details-description\">\n <ng-template\n [ngTemplateOutlet]=\"descriptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: currentEntry }\"\n ></ng-template>\n </span>\n }\n }\n </div>\n </section>\n</div>\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { InitialFocusDirective, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\nimport { PopoverComponent, PopoverModule } from '@fundamental-ngx/core/popover';\nimport { SegmentedButtonComponent } from '@fundamental-ngx/core/segmented-button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { getFormState } from '@fundamental-ngx/platform/form';\nimport { countBy, flatten } from 'lodash-es';\nimport { MessageViewComponent } from './components/message-view/message-view.component';\nimport {\n MessagePopoverEntry,\n MessagePopoverError,\n MessagePopoverErrorGroup\n} from './models/message-popover-entry.interface';\nimport { MessagePopoverWrapper } from './models/message-popover-wrapper.interface';\nimport { MessagePopover, MessagePopoverState } from './models/message-popover.interface';\nimport { convertFormState, convertFormStateToMessagePopoverState } from './utils';\n\n@Component({\n selector: 'fdp-message-popover',\n templateUrl: './message-popover.component.html',\n styleUrl: './message-popover.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n PopoverModule,\n ButtonComponent,\n NgClass,\n BarModule,\n SegmentedButtonComponent,\n FormsModule,\n ObjectStatusComponent,\n InitialFocusDirective,\n MessageViewComponent,\n FdTranslatePipe\n ]\n})\nexport class MessagePopoverComponent implements MessagePopover, OnInit {\n /** @hidden */\n @ViewChild('popover')\n readonly _popover: PopoverComponent;\n\n /** Message Popover Wrapper component. */\n @Input()\n wrapper: MessagePopoverWrapper;\n\n /** Event emits when user clicks on error entry and item's element needs to be focused. */\n @Output()\n focusItem = new EventEmitter<MessagePopoverEntry>();\n\n /** Current message popover screen. Can be `list` or `details`. */\n currentScreen: 'list' | 'details' = 'list';\n\n /** Current error entry. */\n currentEntry: Nullable<MessagePopoverEntry>;\n\n /** @hidden */\n _currentErrorType: MessagePopoverError['group'] = 'all';\n\n /** @hidden */\n _errorTypes: MessagePopoverError[] = [];\n\n /** @hidden */\n _priorityStateItemsCount = 0;\n\n /** @hidden */\n _priorityFormState: FormStates;\n\n /** @hidden */\n _priorityState: MessagePopoverState;\n\n /** @hidden */\n _filteredErrors: MessagePopoverErrorGroup[] = [];\n\n /** @hidden */\n private _groupedErrors: MessagePopoverErrorGroup[] = [];\n\n /** @hidden */\n constructor(\n private readonly _cdr: ChangeDetectorRef,\n private readonly _destroyRef: DestroyRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.wrapper?.setMessagePopover(this);\n this.wrapper?.errors.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((errors) => {\n this._groupedErrors = errors;\n this._errorTypes = [];\n const countedErrors = countBy(\n flatten(Object.values(this._groupedErrors.map((group) => group.errors))),\n 'type'\n );\n const errorTypes = Object.keys(countedErrors) as FormStates[];\n errorTypes.forEach((errorType) => {\n this._errorTypes.push({\n group: errorType,\n count: countedErrors[errorType],\n state: convertFormState(errorType)\n });\n });\n\n this._priorityFormState = getFormState(errorTypes);\n this._priorityState = convertFormStateToMessagePopoverState(this._priorityFormState);\n\n this._priorityStateItemsCount = countedErrors[this._priorityFormState];\n this._filterErrors();\n\n this._cdr.detectChanges();\n });\n }\n\n /** @hidden */\n _showList(): void {\n this.currentScreen = 'list';\n this.currentEntry = null;\n }\n\n /** @hidden */\n _showDetails(entry: MessagePopoverEntry): void {\n this.currentScreen = 'details';\n this.currentEntry = entry;\n }\n\n /** @hidden */\n _closePopover(focusLast = true): void {\n this._popover.close(focusLast);\n }\n\n /** @hidden */\n _filterErrors(): void {\n if (this._currentErrorType === 'all') {\n this._filteredErrors = this._groupedErrors;\n return;\n }\n this._filteredErrors = [];\n this._groupedErrors.forEach((group) => {\n const errors = group.errors.filter((error) => error.type === this._currentErrorType);\n\n if (errors.length === 0) {\n return;\n }\n\n this._filteredErrors.push({\n group: group.group,\n errors\n });\n });\n }\n}\n","@if (_errorTypes.length > 0) {\n <fd-popover\n #popover\n placement=\"top-start\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [disableScrollbar]=\"true\"\n >\n <fd-popover-control>\n <button\n fd-button\n type=\"button\"\n class=\"fd-message-popover__trigger fd-message-popover__trigger\"\n [ngClass]=\"'fd-message-popover__trigger--' + _priorityState\"\n [glyph]=\"'message-' + _priorityFormState\"\n [label]=\"_priorityStateItemsCount.toString()\"\n ></button>\n </fd-popover-control>\n <div>\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" class=\"fd-bar--growing\">\n <div fd-bar-left>\n @if (currentScreen === 'list') {\n <fd-segmented-button [(ngModel)]=\"_currentErrorType\" (ngModelChange)=\"_filterErrors()\">\n <button\n fd-button\n [label]=\"'platformMessagePopover.allErrors' | fdTranslate\"\n value=\"all\"\n ></button>\n @for (type of _errorTypes; track type) {\n <button fd-button [value]=\"type.group\">\n <span\n fd-object-status\n [status]=\"type.state\"\n [glyph]=\"'message-' + type.group\"\n ></span>\n <span class=\"fd-button__text\">{{ type.count }}</span>\n </button>\n }\n </fd-segmented-button>\n }\n @if (currentScreen === 'details') {\n <button\n fd-button\n fdkInitialFocus\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n title=\"Go back\"\n (click)=\"_showList()\"\n ></button>\n }\n </div>\n <div fd-bar-right>\n <button fd-button fdType=\"transparent\" (click)=\"popover.close()\" glyph=\"decline\"></button>\n </div>\n </div>\n </div>\n <fdp-message-view\n [currentScreen]=\"currentScreen\"\n [filteredErrors]=\"_filteredErrors\"\n [currentEntry]=\"currentEntry\"\n (openDetails)=\"_showDetails($event)\"\n (closePopover)=\"_closePopover($event)\"\n (focusItem)=\"focusItem.emit($event)\"\n ></fdp-message-view>\n </div>\n </fd-popover>\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { mergeWith } from 'lodash-es';\nimport { MessagePopoverFormWrapperComponent } from './components/message-popover-form-wrapper/message-popover-form-wrapper.component';\nimport { MessageViewComponent } from './components/message-view/message-view.component';\nimport { FDP_MESSAGE_POPOVER_CONFIG, FDP_MESSAGE_POPOVER_DEFAULT_CONFIG, MessagePopoverConfig } from './default-config';\nimport { MessagePopoverFormItemDirective } from './directives/message-popover-form-item.directive';\nimport { MessagePopoverComponent } from './message-popover.component';\n\n@NgModule({\n imports: [\n MessagePopoverComponent,\n MessagePopoverFormWrapperComponent,\n MessageViewComponent,\n MessagePopoverFormItemDirective\n ],\n exports: [\n MessagePopoverComponent,\n MessagePopoverFormWrapperComponent,\n MessageViewComponent,\n MessagePopoverFormItemDirective\n ],\n providers: [\n {\n provide: FDP_MESSAGE_POPOVER_CONFIG,\n useValue: FDP_MESSAGE_POPOVER_DEFAULT_CONFIG\n }\n ]\n})\nexport class PlatformMessagePopoverModule {\n /**\n * Method allows users to apply custom configuration.\n * @param config Object containing error definitions.\n */\n static withConfig(config: MessagePopoverConfig): ModuleWithProviders<PlatformMessagePopoverModule> {\n const customConfig = mergeWith(FDP_MESSAGE_POPOVER_DEFAULT_CONFIG, config, (obj, src) => {\n if (typeof obj === 'object' && !Array.isArray(obj)) {\n return Object.assign(obj, src);\n } else if (Array.isArray(obj)) {\n return obj.concat(src);\n } else {\n return src;\n }\n });\n\n return {\n ngModule: PlatformMessagePopoverModule,\n providers: [\n {\n provide: FDP_MESSAGE_POPOVER_CONFIG,\n useValue: customConfig\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-platform-object-attribute.mjs","sources":["../../../../libs/platform/
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-platform-object-attribute.mjs","sources":["../../../../libs/platform/object-attribute/fundamental-ngx-platform-object-attribute.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, Input, NgModule } from '@angular/core';
|
|
3
3
|
import { warnOnce } from '@fundamental-ngx/cdk/utils';
|
|
4
|
+
import { FD_DEFAULT_ICON_FONT_FAMILY } from '@fundamental-ngx/core/icon';
|
|
4
5
|
import { ObjectMarkerComponent } from '@fundamental-ngx/core/object-marker';
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -10,16 +11,20 @@ import { ObjectMarkerComponent } from '@fundamental-ngx/core/object-marker';
|
|
|
10
11
|
class PlatformObjectMarkerComponent {
|
|
11
12
|
/** @hidden */
|
|
12
13
|
constructor() {
|
|
14
|
+
/** Glyph font family */
|
|
15
|
+
this.glyphFont = FD_DEFAULT_ICON_FONT_FAMILY;
|
|
13
16
|
warnOnce('PlatformObjectMarkerComponent is deprecated. Use ObjectMarkerComponent from `@fundamental-ngx/core/object-marker` instead.');
|
|
14
17
|
}
|
|
15
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformObjectMarkerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: PlatformObjectMarkerComponent, isStandalone: true, selector: "fdp-object-marker", inputs: { glyph: "glyph", clickable: "clickable", label: "label", link: "link", ariaLabel: "ariaLabel", ariaHidden: "ariaHidden", title: "title" }, ngImport: i0, template: "@if (!clickable) {\n <span\n fd-object-marker\n [glyph]=\"glyph\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </span>\n} @else {\n <a\n [attr.href]=\"link\"\n fd-object-marker\n [glyph]=\"glyph\"\n [clickable]=\"clickable\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </a>\n}\n", dependencies: [{ kind: "component", type: ObjectMarkerComponent, selector: "[fd-object-marker]", inputs: ["class", "glyph", "clickable", "label"] }] }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: PlatformObjectMarkerComponent, isStandalone: true, selector: "fdp-object-marker", inputs: { glyph: "glyph", glyphFont: "glyphFont", clickable: "clickable", label: "label", link: "link", ariaLabel: "ariaLabel", ariaHidden: "ariaHidden", title: "title" }, ngImport: i0, template: "@if (!clickable) {\n <span\n fd-object-marker\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </span>\n} @else {\n <a\n [attr.href]=\"link\"\n fd-object-marker\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [clickable]=\"clickable\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </a>\n}\n", dependencies: [{ kind: "component", type: ObjectMarkerComponent, selector: "[fd-object-marker]", inputs: ["class", "glyph", "glyphFont", "clickable", "label"] }] }); }
|
|
17
20
|
}
|
|
18
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformObjectMarkerComponent, decorators: [{
|
|
19
22
|
type: Component,
|
|
20
|
-
args: [{ selector: 'fdp-object-marker', standalone: true, imports: [ObjectMarkerComponent], template: "@if (!clickable) {\n <span\n fd-object-marker\n [glyph]=\"glyph\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </span>\n} @else {\n <a\n [attr.href]=\"link\"\n fd-object-marker\n [glyph]=\"glyph\"\n [clickable]=\"clickable\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </a>\n}\n" }]
|
|
23
|
+
args: [{ selector: 'fdp-object-marker', standalone: true, imports: [ObjectMarkerComponent], template: "@if (!clickable) {\n <span\n fd-object-marker\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </span>\n} @else {\n <a\n [attr.href]=\"link\"\n fd-object-marker\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [clickable]=\"clickable\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </a>\n}\n" }]
|
|
21
24
|
}], ctorParameters: () => [], propDecorators: { glyph: [{
|
|
22
25
|
type: Input
|
|
26
|
+
}], glyphFont: [{
|
|
27
|
+
type: Input
|
|
23
28
|
}], clickable: [{
|
|
24
29
|
type: Input
|
|
25
30
|
}], label: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-platform-object-marker.mjs","sources":["../../../../libs/platform/
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-platform-object-marker.mjs","sources":["../../../../libs/platform/object-marker/object-marker.component.ts","../../../../libs/platform/object-marker/object-marker.component.html","../../../../libs/platform/object-marker/object-marker.module.ts","../../../../libs/platform/object-marker/fundamental-ngx-platform-object-marker.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\nimport { Nullable, warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { ObjectMarkerComponent } from '@fundamental-ngx/core/object-marker';\n\n/**\n * @deprecated\n * Use ObjectMarkerComponent from `@fundamental-ngx/core/object-marker` instead.\n */\n@Component({\n selector: 'fdp-object-marker',\n templateUrl: './object-marker.component.html',\n standalone: true,\n imports: [ObjectMarkerComponent]\n})\nexport class PlatformObjectMarkerComponent {\n /**\n * Glyph (icon) of the Object marker.\n */\n @Input()\n glyph: string;\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** Whether the Object marker is clickable. */\n @Input()\n clickable: boolean;\n\n /** label for adding text to the marker */\n @Input()\n label: string;\n\n /** link for setting href value */\n @Input()\n link: string;\n\n /** Sets control aria-label attribute value */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Sets control aria-hiden to a boolean attribute value */\n @Input()\n ariaHidden: boolean;\n\n /** Sets control aria-title to a string attribute value */\n @Input()\n title: string;\n\n /** @hidden */\n constructor() {\n warnOnce(\n 'PlatformObjectMarkerComponent is deprecated. Use ObjectMarkerComponent from `@fundamental-ngx/core/object-marker` instead.'\n );\n }\n}\n","@if (!clickable) {\n <span\n fd-object-marker\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </span>\n} @else {\n <a\n [attr.href]=\"link\"\n fd-object-marker\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [clickable]=\"clickable\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.title]=\"title\"\n [label]=\"label\"\n >\n <ng-content></ng-content>\n </a>\n}\n","import { NgModule } from '@angular/core';\n\nimport { PlatformObjectMarkerComponent } from './object-marker.component';\n\n@NgModule({\n imports: [PlatformObjectMarkerComponent],\n exports: [PlatformObjectMarkerComponent]\n})\nexport class PlatformObjectMarkerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAMA;;;AAGG;MAOU,6BAA6B,CAAA;;AAoCtC,IAAA,WAAA,GAAA;;QA3BA,IAAS,CAAA,SAAA,GAAa,2BAA2B,CAAC;QA4B9C,QAAQ,CACJ,4HAA4H,CAC/H,CAAC;KACL;8GAxCQ,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB1C,irBA2BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDbc,qBAAqB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAEtB,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBANzC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAEjB,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,qBAAqB,CAAC,EAAA,QAAA,EAAA,irBAAA,EAAA,CAAA;wDAOhC,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;;;MExCG,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAA1B,0BAA0B,EAAA,OAAA,EAAA,CAHzB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAC7B,6BAA6B,CAAA,EAAA,CAAA,CAAA,EAAA;AAE9B,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,0BAA0B,YAHzB,6BAA6B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAG9B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,6BAA6B,CAAC;oBACxC,OAAO,EAAE,CAAC,6BAA6B,CAAC;AAC3C,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -2,6 +2,7 @@ import { ENTER, SPACE } from '@angular/cdk/keycodes';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { TemplateRef, inject, Directive, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ContentChild, HostListener, NgModule } from '@angular/core';
|
|
4
4
|
import { warnOnce, KeyUtil } from '@fundamental-ngx/cdk/utils';
|
|
5
|
+
import { FD_DEFAULT_ICON_FONT_FAMILY } from '@fundamental-ngx/core/icon';
|
|
5
6
|
import { ObjectStatusComponent as ObjectStatusComponent$1 } from '@fundamental-ngx/core/object-status';
|
|
6
7
|
|
|
7
8
|
class PlatformObjectStatusTextDirective {
|
|
@@ -28,6 +29,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
28
29
|
class ObjectStatusComponent {
|
|
29
30
|
/** @hidden */
|
|
30
31
|
constructor() {
|
|
32
|
+
/** Glyph font family */
|
|
33
|
+
this.glyphFont = FD_DEFAULT_ICON_FONT_FAMILY;
|
|
31
34
|
/** Whether to use secondary set of indication colors. */
|
|
32
35
|
this.secondaryIndication = false;
|
|
33
36
|
/** Event sent when button is clicked */
|
|
@@ -50,15 +53,17 @@ class ObjectStatusComponent {
|
|
|
50
53
|
}
|
|
51
54
|
}
|
|
52
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ObjectStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ObjectStatusComponent, isStandalone: true, selector: "fdp-object-status", inputs: { status: "status", glyph: "glyph", indicationColor: "indicationColor", secondaryIndication: "secondaryIndication", clickable: "clickable", inverted: "inverted", large: "large", label: "label", ariaLabel: "ariaLabel", title: "title" }, outputs: { objectStatusClick: "objectStatusClick" }, host: { listeners: { "keydown": "_onKeydown($event)" } }, queries: [{ propertyName: "_textDirective", first: true, predicate: PlatformObjectStatusTextDirective, descendants: true }], ngImport: i0, template: "<span\n fd-object-status\n [attr.role]=\"clickable ? 'button' : null\"\n [status]=\"status\"\n [glyph]=\"glyph\"\n [indicationColor]=\"indicationColor\"\n [clickable]=\"clickable\"\n [inverted]=\"inverted\"\n [large]=\"large\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.title]=\"title ? title : label\"\n (click)=\"onObjectStatusClick($event)\"\n [label]=\"label\"\n [secondaryIndication]=\"secondaryIndication\"\n [textTemplate]=\"_textDirective?.templateRef\"\n></span>\n", dependencies: [{ kind: "component", type: ObjectStatusComponent$1, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: ObjectStatusComponent, isStandalone: true, selector: "fdp-object-status", inputs: { status: "status", glyph: "glyph", glyphFont: "glyphFont", indicationColor: "indicationColor", secondaryIndication: "secondaryIndication", clickable: "clickable", inverted: "inverted", large: "large", label: "label", ariaLabel: "ariaLabel", title: "title" }, outputs: { objectStatusClick: "objectStatusClick" }, host: { listeners: { "keydown": "_onKeydown($event)" } }, queries: [{ propertyName: "_textDirective", first: true, predicate: PlatformObjectStatusTextDirective, descendants: true }], ngImport: i0, template: "<span\n fd-object-status\n [attr.role]=\"clickable ? 'button' : null\"\n [status]=\"status\"\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [indicationColor]=\"indicationColor\"\n [clickable]=\"clickable\"\n [inverted]=\"inverted\"\n [large]=\"large\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.title]=\"title ? title : label\"\n (click)=\"onObjectStatusClick($event)\"\n [label]=\"label\"\n [secondaryIndication]=\"secondaryIndication\"\n [textTemplate]=\"_textDirective?.templateRef\"\n></span>\n", dependencies: [{ kind: "component", type: ObjectStatusComponent$1, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
54
57
|
}
|
|
55
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ObjectStatusComponent, decorators: [{
|
|
56
59
|
type: Component,
|
|
57
|
-
args: [{ selector: 'fdp-object-status', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ObjectStatusComponent$1], template: "<span\n fd-object-status\n [attr.role]=\"clickable ? 'button' : null\"\n [status]=\"status\"\n [glyph]=\"glyph\"\n [indicationColor]=\"indicationColor\"\n [clickable]=\"clickable\"\n [inverted]=\"inverted\"\n [large]=\"large\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.title]=\"title ? title : label\"\n (click)=\"onObjectStatusClick($event)\"\n [label]=\"label\"\n [secondaryIndication]=\"secondaryIndication\"\n [textTemplate]=\"_textDirective?.templateRef\"\n></span>\n" }]
|
|
60
|
+
args: [{ selector: 'fdp-object-status', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ObjectStatusComponent$1], template: "<span\n fd-object-status\n [attr.role]=\"clickable ? 'button' : null\"\n [status]=\"status\"\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [indicationColor]=\"indicationColor\"\n [clickable]=\"clickable\"\n [inverted]=\"inverted\"\n [large]=\"large\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.title]=\"title ? title : label\"\n (click)=\"onObjectStatusClick($event)\"\n [label]=\"label\"\n [secondaryIndication]=\"secondaryIndication\"\n [textTemplate]=\"_textDirective?.templateRef\"\n></span>\n" }]
|
|
58
61
|
}], ctorParameters: () => [], propDecorators: { status: [{
|
|
59
62
|
type: Input
|
|
60
63
|
}], glyph: [{
|
|
61
64
|
type: Input
|
|
65
|
+
}], glyphFont: [{
|
|
66
|
+
type: Input
|
|
62
67
|
}], indicationColor: [{
|
|
63
68
|
type: Input
|
|
64
69
|
}], secondaryIndication: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-platform-object-status.mjs","sources":["../../../../libs/platform/
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-platform-object-status.mjs","sources":["../../../../libs/platform/object-status/object-status.component.ts","../../../../libs/platform/object-status/object-status.component.html","../../../../libs/platform/object-status/object-status.module.ts","../../../../libs/platform/object-status/fundamental-ngx-platform-object-status.ts"],"sourcesContent":["import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation,\n inject\n} from '@angular/core';\n\nimport { ColorAccent, KeyUtil, Nullable, warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { ObjectStatusComponent as CoreObjectStatusComponent, ObjectStatus } from '@fundamental-ngx/core/object-status';\n\n@Directive({\n selector: '[fdpObjectStatusText]',\n standalone: true\n})\nexport class PlatformObjectStatusTextDirective {\n /**\n * Template reference.\n */\n templateRef = inject(TemplateRef);\n}\n\n/**\n * @deprecated\n * Use `ColorAccent` from `@fundamental-ngx/cdk/utils` instead.\n */\nexport type IndicationColorType = ColorAccent;\n\n/**\n * @deprecated\n * Use `ObjectStatus` from `@fundamental-ngx/core/object-status` instead.\n */\n@Component({\n selector: 'fdp-object-status',\n templateUrl: './object-status.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CoreObjectStatusComponent]\n})\nexport class ObjectStatusComponent {\n /**\n * The status represented by the Object Status.\n * Can be one of the following: 'negative' | 'critical' | 'positive' | 'informative'\n * For default Object Status omit this property\n */\n @Input()\n status: Nullable<ObjectStatus>;\n\n /**\n * Glyph (icon) of the Object Status.\n */\n @Input()\n glyph: Nullable<string>;\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /**\n * A number representing the indication color.\n * For non-inverted state available numbers are from 1 to 8.\n * For inverted state available numbers are from 1 to 10.\n */\n @Input()\n indicationColor: ColorAccent;\n\n /** Whether to use secondary set of indication colors. */\n @Input()\n secondaryIndication = false;\n\n /** Whether the Object Status is clickable. */\n @Input()\n clickable: boolean;\n\n /** Whether the Object Status is inverted. */\n @Input()\n inverted: boolean;\n\n /** Whether the Object Status is in Large Design. */\n @Input()\n large: boolean;\n\n /** Sets control label attribute value */\n @Input()\n label: Nullable<string>;\n\n /** Sets control aria-label attribute value */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Sets control aria-title to a string attribute value */\n @Input()\n title: string;\n\n /** Event sent when button is clicked */\n @Output()\n objectStatusClick: EventEmitter<MouseEvent | KeyboardEvent | TouchEvent> = new EventEmitter();\n\n /** @hidden */\n @ContentChild(PlatformObjectStatusTextDirective)\n _textDirective: Nullable<PlatformObjectStatusTextDirective>;\n\n /** @hidden */\n constructor() {\n warnOnce('ObjectStatusComponent is deprecated. Use ObjectStatusComponent from @fundamental-ngx/core instead.');\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n _onKeydown($event: KeyboardEvent): void {\n if (this.clickable && KeyUtil.isKeyCode($event, [ENTER, SPACE])) {\n $event.preventDefault();\n this.objectStatusClick.emit($event);\n }\n }\n\n /**\n * Handles button click\n */\n public onObjectStatusClick($event: any): void {\n if (this.clickable) {\n this.objectStatusClick.emit($event);\n }\n }\n}\n","<span\n fd-object-status\n [attr.role]=\"clickable ? 'button' : null\"\n [status]=\"status\"\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [indicationColor]=\"indicationColor\"\n [clickable]=\"clickable\"\n [inverted]=\"inverted\"\n [large]=\"large\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.title]=\"title ? title : label\"\n (click)=\"onObjectStatusClick($event)\"\n [label]=\"label\"\n [secondaryIndication]=\"secondaryIndication\"\n [textTemplate]=\"_textDirective?.templateRef\"\n></span>\n","import { NgModule } from '@angular/core';\nimport { ObjectStatusComponent, PlatformObjectStatusTextDirective } from './object-status.component';\n\n/**\n * @deprecated\n * Use `ObjectStatusComponent` import instead.\n */\n@NgModule({\n imports: [ObjectStatusComponent, PlatformObjectStatusTextDirective],\n exports: [ObjectStatusComponent, PlatformObjectStatusTextDirective]\n})\nexport class PlatformObjectStatusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CoreObjectStatusComponent"],"mappings":";;;;;;;MAuBa,iCAAiC,CAAA;AAJ9C,IAAA,WAAA,GAAA;AAKI;;AAEG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AACrC,KAAA;8GALY,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAJ7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;AAcD;;;AAGG;MASU,qBAAqB,CAAA;;AAgE9B,IAAA,WAAA,GAAA;;QA/CA,IAAS,CAAA,SAAA,GAAa,2BAA2B,CAAC;;QAYlD,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;;AA4B5B,QAAA,IAAA,CAAA,iBAAiB,GAA0D,IAAI,YAAY,EAAE,CAAC;QAQ1F,QAAQ,CAAC,oGAAoG,CAAC,CAAC;KAClH;;AAID,IAAA,UAAU,CAAC,MAAqB,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YAC7D,MAAM,CAAC,cAAc,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,SAAA;KACJ;AAED;;AAEG;AACI,IAAA,mBAAmB,CAAC,MAAW,EAAA;QAClC,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,SAAA;KACJ;8GApFQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EA4DhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,iCAAiC,EC5GnD,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,miBAiBA,4CD6BcA,uBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAE1B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAEd,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAACA,uBAAyB,CAAC,EAAA,QAAA,EAAA,miBAAA,EAAA,CAAA;wDASpC,MAAM,EAAA,CAAA;sBADL,KAAK;gBAON,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBASN,eAAe,EAAA,CAAA;sBADd,KAAK;gBAKN,mBAAmB,EAAA,CAAA;sBADlB,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,iBAAiB,EAAA,CAAA;sBADhB,MAAM;gBAKP,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,iCAAiC,CAAA;gBAU/C,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AElHvC;;;AAGG;MAKU,0BAA0B,CAAA;8GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,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,0BAA0B,YAHzB,qBAAqB,EAAE,iCAAiC,CACxD,EAAA,OAAA,EAAA,CAAA,qBAAqB,EAAE,iCAAiC,CAAA,EAAA,CAAA,CAAA,EAAA;AAEzD,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,0BAA0B,YAHzB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGtB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;AACnE,oBAAA,OAAO,EAAE,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;AACtE,iBAAA,CAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-platform-page-footer.mjs","sources":["../../../../libs/platform/
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-platform-page-footer.mjs","sources":["../../../../libs/platform/page-footer/page-footer.component.ts","../../../../libs/platform/page-footer/page-footer.component.html","../../../../libs/platform/page-footer/page-footer.module.ts","../../../../libs/platform/page-footer/fundamental-ngx-platform-page-footer.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { warnOnce } from '@fundamental-ngx/core/utils';\n\nexport type footerSize = 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * @deprecated\n * PlatformFooter component is deprecated since version 0.40.0\n */\n@Component({\n selector: 'fdp-page-footer',\n templateUrl: './page-footer.component.html',\n styleUrl: './page-footer.component.scss',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgTemplateOutlet]\n})\nexport class PlatformFooterComponent {\n /** logo template accpets the generic html */\n @Input()\n logo: TemplateRef<any>;\n /** content template accpets the generic html */\n @Input()\n content: TemplateRef<any>;\n\n /** defines the padding and size of the footer based on screen */\n size: footerSize = 'xl';\n\n /** @hidden */\n public screenWidth: any;\n /** @hidden */\n public screenHeight: any;\n\n /** @hidden */\n constructor(\n private _elRef: ElementRef,\n private readonly _cdRef: ChangeDetectorRef\n ) {\n warnOnce('PlatformFooterComponent component is deprecated since version 0.40.0');\n }\n\n /** @hidden */\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n this.screenWidth = window.innerWidth;\n if (this.screenWidth > 0 && this.screenWidth <= 360) {\n this.size = 'sm';\n } else if (this.screenWidth > 361 && this.screenWidth <= 768) {\n this.size = 'md';\n } else if (this.screenWidth > 769 && this.screenWidth <= 1024) {\n this.size = 'lg';\n } else {\n this.size = 'xl';\n }\n }\n}\n","<div\n class=\"fd-page-footer\"\n [class.fd-page-footer--xl]=\"size === 'xl'\"\n [class.fd-page-footer--lg]=\"size === 'lg'\"\n [class.fd-page-footer--md]=\"size === 'md'\"\n [class.fd-page-footer--sm]=\"size === 'sm'\"\n>\n <div class=\"fd-page-footer__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"fd-page-footer__container\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { PlatformFooterComponent } from './page-footer.component';\n\n@NgModule({\n imports: [PlatformFooterComponent],\n exports: [PlatformFooterComponent]\n})\nexport class PlatformPageFooterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|