@hermes-ui/angular 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -0
- package/accordion/_accordion.clarity.scss +81 -0
- package/accordion/_properties.accordion.scss +45 -0
- package/accordion/_variables.accordion.scss +91 -0
- package/addons/a11y/README.md +157 -0
- package/addons/a11y/forms/required-field-legend.component.scss +17 -0
- package/addons/card-container/card/appfx-card.component.scss +137 -0
- package/addons/card-container/container/appfx-card-container.component.scss +17 -0
- package/addons/card-container/settings/appfx-card-container-settings.component.scss +62 -0
- package/addons/certificate-viewer/certificate-viewer/certificate-viewer.component.scss +69 -0
- package/addons/certificate-viewer/certificate-viewer-details/certificate-viewer-details.component.scss +49 -0
- package/addons/certificate-viewer/certificate-viewer-general/certificate-viewer-general.component.scss +38 -0
- package/addons/datagrid/README.md +289 -0
- package/addons/datagrid/addons/action-bar/datagrid-action-bar.component.scss +81 -0
- package/addons/datagrid/addons/column-toggle/datagrid-column-toggle.component.scss +99 -0
- package/addons/datagrid/addons/export/export-datagrid.component.scss +9 -0
- package/addons/datagrid/datagrid.component.scss +339 -0
- package/addons/datagrid-filters/README.md +223 -0
- package/addons/datagrid-filters/advanced-filters/date-time-filter.component.scss +10 -0
- package/addons/datagrid-filters/advanced-filters/enum-filter.component.scss +40 -0
- package/addons/datagrid-filters/advanced-filters/users-filter.component.scss +11 -0
- package/addons/datagrid-filters/common-styles.scss +98 -0
- package/addons/datagrid-filters/composite-filters.component.scss +26 -0
- package/addons/datagrid-filters/datagrid-filters.component.scss +22 -0
- package/addons/datagrid-filters/manage-filters/manage-filter.component.scss +42 -0
- package/addons/dialog/README.md +112 -0
- package/addons/dialog/multi-page-dialog.a11y.scss +203 -0
- package/addons/dialog/multi-page-dialog.component.scss +102 -0
- package/addons/dialog/toggle-component/toggle.component.scss +15 -0
- package/addons/drag-and-drop/README.md +48 -0
- package/addons/menu/menu.component.scss +120 -0
- package/addons/property-view/components/property-view-category.component.scss +38 -0
- package/addons/property-view/components/property-view-message.component.scss +48 -0
- package/addons/property-view/components/property-view-property.component.scss +122 -0
- package/addons/property-view/components/property-view-section.component.scss +59 -0
- package/addons/property-view/components/property-view.component.scss +23 -0
- package/addons/stepper/stepper.component.scss +53 -0
- package/addons/tabs/tab-links/tab-links.component.scss +61 -0
- package/addons/tabs/tabs.a11y.scss +26 -0
- package/addons/tabs/tabs.component.scss +95 -0
- package/addons/theme-builder/README.md +70 -0
- package/addons/theme-builder/theme-builder.component.scss +194 -0
- package/addons/translate/README.md +124 -0
- package/addons/var/debug/workflow-model-monitor.component.scss +50 -0
- package/addons/var/error/error.component.scss +38 -0
- package/addons/var/spinner/spinner.component.scss +33 -0
- package/addons/wizard/summary/summary.component.scss +22 -0
- package/addons/wizard/wizard.component.scss +251 -0
- package/button/_buttons.clarity.scss +388 -0
- package/button/_mixins.buttons.scss +241 -0
- package/button/_properties.buttons.scss +387 -0
- package/button/_properties.toggles.scss +35 -0
- package/button/_variables.buttons.scss +905 -0
- package/button/_variables.toggles.scss +41 -0
- package/button/button-group/_button-group.clarity.scss +202 -0
- package/collapsible-panel/_mixins.collapsible-panel.scss +189 -0
- package/collapsible-panel/_properties.collapsible-panel.scss +42 -0
- package/collapsible-panel/_variables.collapsible-panel.scss +40 -0
- package/data/_mixins.tables.scss +114 -0
- package/data/_properties.tables.scss +77 -0
- package/data/_tables.clarity.scss +120 -0
- package/data/_variables.tables.scss +42 -0
- package/data/datagrid/_datagrid.clarity.scss +1871 -0
- package/data/datagrid/_mixins.datagrid.scss +102 -0
- package/data/datagrid/_properties.datagrid.scss +98 -0
- package/data/datagrid/_variables.datagrid.scss +98 -0
- package/data/stack-view/_properties.stack-view.scss +50 -0
- package/data/stack-view/_stack-view.clarity.scss +267 -0
- package/data/stack-view/_variables.stack-view.scss +32 -0
- package/data/tree-view/_properties.tree-view.scss +41 -0
- package/data/tree-view/_tree-view.clarity.scss +281 -0
- package/data/tree-view/_variables.tree-view.scss +51 -0
- package/emphasis/alert/_alert.clarity.scss +467 -0
- package/emphasis/alert/_mixins.alert.scss +96 -0
- package/emphasis/alert/_properties.alert.scss +183 -0
- package/emphasis/alert/_variables.alert.scss +502 -0
- package/emphasis/badge/_badges.clarity.scss +61 -0
- package/emphasis/badge/_mixins.bades.scss +34 -0
- package/emphasis/badge/_properties.badges.scss +82 -0
- package/emphasis/badge/_variables.badges.scss +160 -0
- package/emphasis/label/_labels.clarity.scss +179 -0
- package/emphasis/label/_mixins.label.scss +77 -0
- package/emphasis/label/_properties.label.scss +105 -0
- package/emphasis/label/_variables.label.scss +181 -0
- package/fesm2022/hermes-ui-angular-accordion.mjs +355 -0
- package/fesm2022/hermes-ui-angular-accordion.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-a11y.mjs +544 -0
- package/fesm2022/hermes-ui-angular-addons-a11y.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-card-container.mjs +1082 -0
- package/fesm2022/hermes-ui-angular-addons-card-container.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs +2520 -0
- package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs +2818 -0
- package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs +3131 -0
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-dialog.mjs +386 -0
- package/fesm2022/hermes-ui-angular-addons-dialog.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-drag-and-drop.mjs +78 -0
- package/fesm2022/hermes-ui-angular-addons-drag-and-drop.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-menu.mjs +559 -0
- package/fesm2022/hermes-ui-angular-addons-menu.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-property-view.mjs +1142 -0
- package/fesm2022/hermes-ui-angular-addons-property-view.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-stepper.mjs +716 -0
- package/fesm2022/hermes-ui-angular-addons-stepper.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-tabs.mjs +539 -0
- package/fesm2022/hermes-ui-angular-addons-tabs.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-testing.mjs +2010 -0
- package/fesm2022/hermes-ui-angular-addons-testing.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs +922 -0
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-translate.mjs +295 -0
- package/fesm2022/hermes-ui-angular-addons-translate.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-var.mjs +2028 -0
- package/fesm2022/hermes-ui-angular-addons-var.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-wizard.mjs +610 -0
- package/fesm2022/hermes-ui-angular-addons-wizard.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-workflow-strings.mjs +121 -0
- package/fesm2022/hermes-ui-angular-addons-workflow-strings.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-workflow.mjs +88 -0
- package/fesm2022/hermes-ui-angular-addons-workflow.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-button.mjs +719 -0
- package/fesm2022/hermes-ui-angular-button.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-collapsible-panel.mjs +201 -0
- package/fesm2022/hermes-ui-angular-collapsible-panel.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs +8045 -0
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs +442 -0
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs +1106 -0
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-data.mjs +40 -0
- package/fesm2022/hermes-ui-angular-data.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-alert.mjs +624 -0
- package/fesm2022/hermes-ui-angular-emphasis-alert.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-badge.mjs +69 -0
- package/fesm2022/hermes-ui-angular-emphasis-badge.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-common.mjs +25 -0
- package/fesm2022/hermes-ui-angular-emphasis-common.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs +105 -0
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis.mjs +41 -0
- package/fesm2022/hermes-ui-angular-emphasis.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs +279 -0
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs +1775 -0
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-common.mjs +1251 -0
- package/fesm2022/hermes-ui-angular-forms-common.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs +263 -0
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +3274 -0
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs +826 -0
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-input.mjs +153 -0
- package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs +153 -0
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs +236 -0
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-password.mjs +233 -0
- package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-radio.mjs +224 -0
- package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-range.mjs +186 -0
- package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-select.mjs +606 -0
- package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs +136 -0
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms.mjs +105 -0
- package/fesm2022/hermes-ui-angular-forms.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-icon.mjs +7413 -0
- package/fesm2022/hermes-ui-angular-icon.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs +120 -0
- package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-main-container.mjs +100 -0
- package/fesm2022/hermes-ui-angular-layout-main-container.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-nav.mjs +582 -0
- package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs +807 -0
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs +507 -0
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout.mjs +44 -0
- package/fesm2022/hermes-ui-angular-layout.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-modal.mjs +619 -0
- package/fesm2022/hermes-ui-angular-modal.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover-common.mjs +1371 -0
- package/fesm2022/hermes-ui-angular-popover-common.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover-dropdown.mjs +492 -0
- package/fesm2022/hermes-ui-angular-popover-dropdown.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs +494 -0
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover-tooltip.mjs +293 -0
- package/fesm2022/hermes-ui-angular-popover-tooltip.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover.mjs +41 -0
- package/fesm2022/hermes-ui-angular-popover.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs +217 -0
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-progress-spinner.mjs +132 -0
- package/fesm2022/hermes-ui-angular-progress-spinner.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-stepper.mjs +694 -0
- package/fesm2022/hermes-ui-angular-stepper.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-timeline.mjs +316 -0
- package/fesm2022/hermes-ui-angular-timeline.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-toast.mjs +373 -0
- package/fesm2022/hermes-ui-angular-toast.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-utils-conditional.mjs +351 -0
- package/fesm2022/hermes-ui-angular-utils-conditional.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-utils-loading.mjs +107 -0
- package/fesm2022/hermes-ui-angular-utils-loading.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-utils.mjs +2086 -0
- package/fesm2022/hermes-ui-angular-utils.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-wizard.mjs +3074 -0
- package/fesm2022/hermes-ui-angular-wizard.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular.mjs +130 -0
- package/fesm2022/hermes-ui-angular.mjs.map +1 -0
- package/forms/combobox/_combobox.clarity.scss +330 -0
- package/forms/combobox/_properties.combobox.scss +46 -0
- package/forms/combobox/_variables.combobox.scss +32 -0
- package/forms/datepicker/_datepicker.clarity.scss +259 -0
- package/forms/datepicker/_mixins.datepicker.scss +89 -0
- package/forms/datepicker/_properties.datepicker.scss +46 -0
- package/forms/datepicker/_variables.datepicker.scss +74 -0
- package/forms/styles/_checkbox.clarity.scss +193 -0
- package/forms/styles/_containers.clarity.scss +230 -0
- package/forms/styles/_datalist.clarity.scss +47 -0
- package/forms/styles/_file-input.clarity.scss +134 -0
- package/forms/styles/_file.clarity.scss +52 -0
- package/forms/styles/_form.clarity.scss +87 -0
- package/forms/styles/_input-group.clarity.scss +126 -0
- package/forms/styles/_input.clarity.scss +83 -0
- package/forms/styles/_mixins.forms.scss +193 -0
- package/forms/styles/_native-select.clarity.scss +178 -0
- package/forms/styles/_number-input.clarity.scss +58 -0
- package/forms/styles/_password.clarity.scss +26 -0
- package/forms/styles/_properties.forms.scss +180 -0
- package/forms/styles/_radio.clarity.scss +120 -0
- package/forms/styles/_range.clarity.scss +124 -0
- package/forms/styles/_select.clarity.scss +158 -0
- package/forms/styles/_textarea.clarity.scss +71 -0
- package/forms/styles/_toggles.clarity.scss +209 -0
- package/forms/styles/_variables.forms.scss +156 -0
- package/hermes-ui.scss +7 -0
- package/icon/icon.component.scss +247 -0
- package/image/_icons.clarity.scss +101 -0
- package/image/_images.clarity.scss +42 -0
- package/image/_mixins.images.scss +11 -0
- package/layout/_card.clarity.scss +318 -0
- package/layout/_login.clarity.scss +240 -0
- package/layout/_properties.card.scss +39 -0
- package/layout/_properties.login.scss +32 -0
- package/layout/_variables.card.scss +24 -0
- package/layout/_variables.login.scss +22 -0
- package/layout/breadcrumbs/_breadcrumbs.clarity.scss +60 -0
- package/layout/breadcrumbs/_properties.breadcrumbs.scss +18 -0
- package/layout/breadcrumbs/_variables.breadcrumbs.scss +11 -0
- package/layout/grid/_grid.scss +23 -0
- package/layout/grid/grid/_grid.scss +39 -0
- package/layout/grid/mixins/_breakpoint.scss +83 -0
- package/layout/grid/mixins/_clearfix.scss +13 -0
- package/layout/grid/mixins/_grid-framework.scss +91 -0
- package/layout/grid/mixins/_grid.scss +39 -0
- package/layout/grid/utilities/_align.scss +30 -0
- package/layout/grid/utilities/_clearfix.scss +12 -0
- package/layout/grid/utilities/_display.scss +18 -0
- package/layout/grid/utilities/_flex.scss +222 -0
- package/layout/grid/utilities/_float.scss +26 -0
- package/layout/grid/utilities/_visibility.scss +60 -0
- package/layout/main-container/_layout.clarity.scss +87 -0
- package/layout/main-container/_properties.header.scss +55 -0
- package/layout/main-container/_variables.header.scss +32 -0
- package/layout/nav/_header.clarity.scss +40 -0
- package/layout/nav/_links.clarity.scss +84 -0
- package/layout/nav/_mixins.header.scss +332 -0
- package/layout/nav/_mixins.responsive-nav.scss +75 -0
- package/layout/nav/_nav.clarity.scss +100 -0
- package/layout/nav/_properties.nav.scss +27 -0
- package/layout/nav/_properties.responsive-nav.scss +23 -0
- package/layout/nav/_properties.subnav.scss +19 -0
- package/layout/nav/_responsive-nav.clarity.scss +490 -0
- package/layout/nav/_subnav.clarity.scss +48 -0
- package/layout/nav/_variables.nav.scss +13 -0
- package/layout/nav/_variables.responsive-nav.scss +28 -0
- package/layout/nav/_variables.subnav.scss +21 -0
- package/layout/tabs/_mixins.tabs.scss +41 -0
- package/layout/tabs/_properties.tabs.scss +25 -0
- package/layout/tabs/_tabs.clarity.scss +110 -0
- package/layout/tabs/_variables.tabs.scss +17 -0
- package/layout/vertical-nav/_mixins.vertical-nav.scss +52 -0
- package/layout/vertical-nav/_properties.vertical-nav.scss +73 -0
- package/layout/vertical-nav/_variables.vertical-nav.scss +52 -0
- package/layout/vertical-nav/_vertical-nav.clarity.scss +469 -0
- package/main.scss +14 -0
- package/modal/_modal.clarity.scss +379 -0
- package/modal/_properties.modal.scss +57 -0
- package/modal/_variables.modal.scss +41 -0
- package/package.json +325 -0
- package/popover/common/README.md +112 -0
- package/popover/common/_popover.clarity.scss +28 -0
- package/popover/dropdown/_dropdown.clarity.scss +326 -0
- package/popover/dropdown/_menu-mixins.clarity.scss +132 -0
- package/popover/dropdown/_properties.dropdown.scss +50 -0
- package/popover/dropdown/_variables.dropdown.scss +36 -0
- package/popover/signpost/_properties.signpost.scss +34 -0
- package/popover/signpost/_signposts.clarity.scss +414 -0
- package/popover/signpost/_variables.signpost.scss +21 -0
- package/popover/tooltip/_mixins.tooltip.scss +186 -0
- package/popover/tooltip/_properties.tooltip.scss +28 -0
- package/popover/tooltip/_tooltips.clarity.scss +122 -0
- package/popover/tooltip/_variables.tooltip.scss +20 -0
- package/progress/progress-bars/_progress-bars.clarity.scss +616 -0
- package/progress/progress-bars/_properties.progress-bars.scss +24 -0
- package/progress/progress-bars/_variables.progress-bars.scss +15 -0
- package/progress/progress-bars/utils/_mixins.clarity.scss +18 -0
- package/progress/spinner/_mixins.spinner.scss +30 -0
- package/progress/spinner/_properties.spinner.scss +37 -0
- package/progress/spinner/_spinner.clarity.scss +148 -0
- package/progress/spinner/_variables.spinner.scss +25 -0
- package/schematics/collection.json +14 -0
- package/stepper/_properties.stepper.scss +29 -0
- package/stepper/_stepper.clarity.scss +184 -0
- package/stepper/_variables.stepper.scss +13 -0
- package/styles/_a11y.scss +14 -0
- package/styles/_close.clarity.scss +60 -0
- package/styles/_components.clarity.scss +189 -0
- package/styles/_mixins.scss +460 -0
- package/styles/_normalize.scss +292 -0
- package/styles/_reboot.clarity.scss +374 -0
- package/styles/_variables.clarity.scss +139 -0
- package/styles/core/base/base.element.scss +97 -0
- package/styles/core/global.scss +12 -0
- package/styles/core/layout/_alignments.scss +18 -0
- package/styles/core/layout/_container.scss +29 -0
- package/styles/core/layout/_display.scss +58 -0
- package/styles/core/layout/_optimize.scss +60 -0
- package/styles/core/layout/_shadow-dom.scss +47 -0
- package/styles/core/layout/_spacing.scss +31 -0
- package/styles/core/layout/_type-grid.scss +66 -0
- package/styles/core/layout/_type-horizontal.scss +33 -0
- package/styles/core/layout/_type-vertical.scss +26 -0
- package/styles/core/layout/mixins/_mixins.alignment.scss +35 -0
- package/styles/core/layout/mixins/_mixins.display.scss +23 -0
- package/styles/core/layout/mixins/_mixins.grid.scss +105 -0
- package/styles/core/layout/mixins/_mixins.scss +106 -0
- package/styles/core/layout/mixins/_mixins.shadow-dom.scss +106 -0
- package/styles/core/layout/mixins/_mixins.type-horizontal.scss +113 -0
- package/styles/core/layout/mixins/_mixins.type-vertical.scss +108 -0
- package/styles/core/module.layout.scss +22 -0
- package/styles/core/module.reset.scss +48 -0
- package/styles/core/module.typography.scss +9 -0
- package/styles/core/theme.dark.scss +298 -0
- package/styles/core/theme.high-contrast.scss +42 -0
- package/styles/core/theme.low-motion.scss +20 -0
- package/styles/core/tokens/_alias-interaction.scss +74 -0
- package/styles/core/tokens/_alias-object-background.scss +29 -0
- package/styles/core/tokens/_alias-object-border.scss +21 -0
- package/styles/core/tokens/_alias-object-container.scss +20 -0
- package/styles/core/tokens/_alias-object-opacity.scss +15 -0
- package/styles/core/tokens/_alias-object-shadow.scss +17 -0
- package/styles/core/tokens/_alias-primary.scss +21 -0
- package/styles/core/tokens/_alias-status.scss +40 -0
- package/styles/core/tokens/_alias-typography.scss +107 -0
- package/styles/core/tokens/_alias-utility.scss +42 -0
- package/styles/core/tokens/_alias-viz-colors.scss +170 -0
- package/styles/core/tokens/_global-animation.scss +32 -0
- package/styles/core/tokens/_global-colors.scss +249 -0
- package/styles/core/tokens/_global-space.scss +52 -0
- package/styles/core/tokens/_internal-scale.scss +14 -0
- package/styles/core/tokens/_properties.tokens.scss +22 -0
- package/styles/core/tokens/_variables.tokens.scss +787 -0
- package/styles/core/typography/_legacy-typography.scss +328 -0
- package/styles/core/typography/_mixins.typography.scss +18 -0
- package/styles/core/typography/_typography.scss +328 -0
- package/styles/variables/_properties.density.scss +225 -0
- package/styles/variables/_properties.global.scss +51 -0
- package/styles/variables/_properties.layout.scss +21 -0
- package/styles/variables/_properties.scss +11 -0
- package/styles/variables/_properties.typography.scss +164 -0
- package/styles/variables/_variables.density.scss +116 -0
- package/styles/variables/_variables.global.scss +87 -0
- package/styles/variables/_variables.layout.scss +37 -0
- package/styles/variables/_variables.scss +11 -0
- package/styles/variables/_variables.typography.scss +156 -0
- package/timeline/_properties.timeline.scss +38 -0
- package/timeline/_timeline.clarity.scss +172 -0
- package/timeline/_variables.timeline.scss +29 -0
- package/toast/README.md +65 -0
- package/toast/_properties.toast.scss +56 -0
- package/toast/_toast.clarity.scss +190 -0
- package/toast/_variables.toast.scss +33 -0
- package/types/hermes-ui-angular-accordion.d.ts +101 -0
- package/types/hermes-ui-angular-accordion.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-a11y.d.ts +187 -0
- package/types/hermes-ui-angular-addons-a11y.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-card-container.d.ts +482 -0
- package/types/hermes-ui-angular-addons-card-container.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-certificate-viewer.d.ts +404 -0
- package/types/hermes-ui-angular-addons-certificate-viewer.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-datagrid-filters.d.ts +911 -0
- package/types/hermes-ui-angular-addons-datagrid-filters.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-datagrid.d.ts +1529 -0
- package/types/hermes-ui-angular-addons-datagrid.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-dialog.d.ts +233 -0
- package/types/hermes-ui-angular-addons-dialog.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-drag-and-drop.d.ts +35 -0
- package/types/hermes-ui-angular-addons-drag-and-drop.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-menu.d.ts +197 -0
- package/types/hermes-ui-angular-addons-menu.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-property-view.d.ts +387 -0
- package/types/hermes-ui-angular-addons-property-view.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-stepper.d.ts +298 -0
- package/types/hermes-ui-angular-addons-stepper.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-tabs.d.ts +173 -0
- package/types/hermes-ui-angular-addons-tabs.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-testing.d.ts +592 -0
- package/types/hermes-ui-angular-addons-testing.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-theme-builder.d.ts +200 -0
- package/types/hermes-ui-angular-addons-theme-builder.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-translate.d.ts +149 -0
- package/types/hermes-ui-angular-addons-translate.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-var.d.ts +923 -0
- package/types/hermes-ui-angular-addons-var.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-wizard.d.ts +241 -0
- package/types/hermes-ui-angular-addons-wizard.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-workflow-strings.d.ts +124 -0
- package/types/hermes-ui-angular-addons-workflow-strings.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-workflow.d.ts +15 -0
- package/types/hermes-ui-angular-addons-workflow.d.ts.map +1 -0
- package/types/hermes-ui-angular-button.d.ts +170 -0
- package/types/hermes-ui-angular-button.d.ts.map +1 -0
- package/types/hermes-ui-angular-collapsible-panel.d.ts +74 -0
- package/types/hermes-ui-angular-collapsible-panel.d.ts.map +1 -0
- package/types/hermes-ui-angular-data-datagrid.d.ts +1938 -0
- package/types/hermes-ui-angular-data-datagrid.d.ts.map +1 -0
- package/types/hermes-ui-angular-data-stack-view.d.ts +88 -0
- package/types/hermes-ui-angular-data-stack-view.d.ts.map +1 -0
- package/types/hermes-ui-angular-data-tree-view.d.ts +230 -0
- package/types/hermes-ui-angular-data-tree-view.d.ts.map +1 -0
- package/types/hermes-ui-angular-data.d.ts +16 -0
- package/types/hermes-ui-angular-data.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis-alert.d.ts +176 -0
- package/types/hermes-ui-angular-emphasis-alert.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis-badge.d.ts +26 -0
- package/types/hermes-ui-angular-emphasis-badge.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis-common.d.ts +7 -0
- package/types/hermes-ui-angular-emphasis-common.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis-label.d.ts +30 -0
- package/types/hermes-ui-angular-emphasis-label.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis.d.ts +16 -0
- package/types/hermes-ui-angular-emphasis.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-checkbox.d.ts +73 -0
- package/types/hermes-ui-angular-forms-checkbox.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-combobox.d.ts +354 -0
- package/types/hermes-ui-angular-forms-combobox.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-common.d.ts +340 -0
- package/types/hermes-ui-angular-forms-common.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-datalist.d.ts +60 -0
- package/types/hermes-ui-angular-forms-datalist.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-datepicker.d.ts +987 -0
- package/types/hermes-ui-angular-forms-datepicker.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-file-input.d.ts +194 -0
- package/types/hermes-ui-angular-forms-file-input.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-input.d.ts +30 -0
- package/types/hermes-ui-angular-forms-input.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-native-select.d.ts +37 -0
- package/types/hermes-ui-angular-forms-native-select.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-number-input.d.ts +44 -0
- package/types/hermes-ui-angular-forms-number-input.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-password.d.ts +53 -0
- package/types/hermes-ui-angular-forms-password.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-radio.d.ts +50 -0
- package/types/hermes-ui-angular-forms-radio.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-range.d.ts +38 -0
- package/types/hermes-ui-angular-forms-range.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-select.d.ts +211 -0
- package/types/hermes-ui-angular-forms-select.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-textarea.d.ts +30 -0
- package/types/hermes-ui-angular-forms-textarea.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms.d.ts +39 -0
- package/types/hermes-ui-angular-forms.d.ts.map +1 -0
- package/types/hermes-ui-angular-icon.d.ts +1504 -0
- package/types/hermes-ui-angular-icon.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-breadcrumbs.d.ts +46 -0
- package/types/hermes-ui-angular-layout-breadcrumbs.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-main-container.d.ts +29 -0
- package/types/hermes-ui-angular-layout-main-container.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-nav.d.ts +143 -0
- package/types/hermes-ui-angular-layout-nav.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-tabs.d.ts +159 -0
- package/types/hermes-ui-angular-layout-tabs.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-vertical-nav.d.ts +129 -0
- package/types/hermes-ui-angular-layout-vertical-nav.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout.d.ts +20 -0
- package/types/hermes-ui-angular-layout.d.ts.map +1 -0
- package/types/hermes-ui-angular-modal.d.ts +161 -0
- package/types/hermes-ui-angular-modal.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover-common.d.ts +317 -0
- package/types/hermes-ui-angular-popover-common.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover-dropdown.d.ts +124 -0
- package/types/hermes-ui-angular-popover-dropdown.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover-signpost.d.ts +158 -0
- package/types/hermes-ui-angular-popover-signpost.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover-tooltip.d.ts +84 -0
- package/types/hermes-ui-angular-popover-tooltip.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover.d.ts +17 -0
- package/types/hermes-ui-angular-popover.d.ts.map +1 -0
- package/types/hermes-ui-angular-progress-progress-bars.d.ts +58 -0
- package/types/hermes-ui-angular-progress-progress-bars.d.ts.map +1 -0
- package/types/hermes-ui-angular-progress-spinner.d.ts +45 -0
- package/types/hermes-ui-angular-progress-spinner.d.ts.map +1 -0
- package/types/hermes-ui-angular-stepper.d.ts +180 -0
- package/types/hermes-ui-angular-stepper.d.ts.map +1 -0
- package/types/hermes-ui-angular-timeline.d.ts +87 -0
- package/types/hermes-ui-angular-timeline.d.ts.map +1 -0
- package/types/hermes-ui-angular-toast.d.ts +131 -0
- package/types/hermes-ui-angular-toast.d.ts.map +1 -0
- package/types/hermes-ui-angular-utils-conditional.d.ts +133 -0
- package/types/hermes-ui-angular-utils-conditional.d.ts.map +1 -0
- package/types/hermes-ui-angular-utils-loading.d.ts +39 -0
- package/types/hermes-ui-angular-utils-loading.d.ts.map +1 -0
- package/types/hermes-ui-angular-utils.d.ts +914 -0
- package/types/hermes-ui-angular-utils.d.ts.map +1 -0
- package/types/hermes-ui-angular-wizard.d.ts +1509 -0
- package/types/hermes-ui-angular-wizard.d.ts.map +1 -0
- package/types/hermes-ui-angular.d.ts +44 -0
- package/types/hermes-ui-angular.d.ts.map +1 -0
- package/typography/_code.scss +36 -0
- package/typography/_font-metropolis.scss +45 -0
- package/typography/_lists.scss +81 -0
- package/typography/_typography.scss +322 -0
- package/utils/animations/_animations.clarity.scss +44 -0
- package/utils/animations/_mixins.animations.scss +33 -0
- package/wizard/_properties.wizard.scss +54 -0
- package/wizard/_variables.wizard.scss +59 -0
- package/wizard/_wizard.clarity.scss +692 -0
|
@@ -0,0 +1,923 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Type, OnInit, OnDestroy, EventEmitter, InjectionToken } from '@angular/core';
|
|
3
|
+
import { Subject, BehaviorSubject, Observable } from 'rxjs';
|
|
4
|
+
import * as i6 from '@hermes-ui/angular/addons/property-view';
|
|
5
|
+
import { PropertyViewSectionBuilder, PropertyViewSectionModel, PropertyViewModel } from '@hermes-ui/angular/addons/property-view';
|
|
6
|
+
import { HermesPopoverContent } from '@hermes-ui/angular/popover/common';
|
|
7
|
+
import { WorkflowStrings } from '@hermes-ui/angular/addons/workflow/strings';
|
|
8
|
+
import * as i7 from '@hermes-ui/angular/addons/a11y';
|
|
9
|
+
import * as i8 from '@hermes-ui/angular/emphasis/alert';
|
|
10
|
+
import * as i9 from '@hermes-ui/angular/icon';
|
|
11
|
+
import * as i10 from '@hermes-ui/angular/progress/spinner';
|
|
12
|
+
import * as i11 from '@hermes-ui/angular/data/stack-view';
|
|
13
|
+
import * as i12 from '@hermes-ui/angular/popover/signpost';
|
|
14
|
+
import * as i13 from '@angular/common';
|
|
15
|
+
import * as i14 from '@angular/forms';
|
|
16
|
+
|
|
17
|
+
declare class WorkflowConfigurationService {
|
|
18
|
+
private readonly debugLocalStorageKey;
|
|
19
|
+
private readonly localStorage;
|
|
20
|
+
private debugValue;
|
|
21
|
+
constructor();
|
|
22
|
+
get debug(): boolean;
|
|
23
|
+
set debug(newValue: boolean);
|
|
24
|
+
private getData;
|
|
25
|
+
private getLocalStorage;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowConfigurationService, never>;
|
|
27
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WorkflowConfigurationService>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
declare class StepValidationState {
|
|
31
|
+
#private;
|
|
32
|
+
constructor(errors?: string[], warnings?: string[], infos?: string[]);
|
|
33
|
+
get errors(): string[];
|
|
34
|
+
set errors(messages: string[]);
|
|
35
|
+
get warnings(): string[];
|
|
36
|
+
set warnings(messages: string[]);
|
|
37
|
+
get infos(): string[];
|
|
38
|
+
set infos(messages: string[]);
|
|
39
|
+
isEmpty(): boolean;
|
|
40
|
+
isValid(): boolean;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
declare class ValidationBannerInternalComponent {
|
|
44
|
+
#private;
|
|
45
|
+
type: string;
|
|
46
|
+
closable: boolean;
|
|
47
|
+
closed: boolean;
|
|
48
|
+
get items(): string[];
|
|
49
|
+
set items(value: string[]);
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ValidationBannerInternalComponent, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ValidationBannerInternalComponent, "appfx-validation-banner-internal", never, { "type": { "alias": "type"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; "closed": { "alias": "closed"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, {}, never, never, false, never>;
|
|
52
|
+
}
|
|
53
|
+
declare class ValidationBannerComponent {
|
|
54
|
+
state?: StepValidationState;
|
|
55
|
+
closable: boolean;
|
|
56
|
+
get closed(): boolean;
|
|
57
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ValidationBannerComponent, never>;
|
|
58
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ValidationBannerComponent, "appfx-validation-banner", never, { "state": { "alias": "state"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; }, {}, never, never, false, never>;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface ActivationError {
|
|
62
|
+
data: ErrorData;
|
|
63
|
+
}
|
|
64
|
+
interface ErrorData {
|
|
65
|
+
message?: string;
|
|
66
|
+
stackTrace?: string;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* A basic wizard page model. Every page is expected to have a model derived
|
|
71
|
+
* from this one and expose it.
|
|
72
|
+
*/
|
|
73
|
+
interface StepModel {
|
|
74
|
+
/**
|
|
75
|
+
* Indicating when the page is loading its data and when not. Set it to
|
|
76
|
+
* 'true' when the page is in the process of loading its data and 'false'
|
|
77
|
+
* when done with it.
|
|
78
|
+
*
|
|
79
|
+
* Used by the wizard framework to know when to show the loading indicator
|
|
80
|
+
* and when not.
|
|
81
|
+
*
|
|
82
|
+
* If not provided - you won't be able to get loading indicator during your
|
|
83
|
+
* data retrieval.
|
|
84
|
+
*/
|
|
85
|
+
loading?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Optional progress status text to be displayed below the loading spinner during
|
|
88
|
+
* the data retrieval or the page validation.
|
|
89
|
+
*/
|
|
90
|
+
progressStatus?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Indicating whether the page validation can be canceled by the user.
|
|
93
|
+
* If provided, the wizard framework will render a 'cancel' button below
|
|
94
|
+
* the loading spinner
|
|
95
|
+
*/
|
|
96
|
+
cancelableValidation?: CancelableStepValidation;
|
|
97
|
+
/**
|
|
98
|
+
* Used by the wizard framework to display errors/warnings/infos.
|
|
99
|
+
*/
|
|
100
|
+
validationState?: StepValidationState;
|
|
101
|
+
/**
|
|
102
|
+
* Used by the wizard framework to disable the 'Next' button.
|
|
103
|
+
* By default the 'Next' button is always enabled.
|
|
104
|
+
* If this property is set to false, disable the Next button.
|
|
105
|
+
*/
|
|
106
|
+
readyToComplete?: boolean;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Interface representing cancelable step validation.
|
|
110
|
+
*/
|
|
111
|
+
interface CancelableStepValidation {
|
|
112
|
+
/**
|
|
113
|
+
* Label to be used for the cancel validation button.
|
|
114
|
+
*/
|
|
115
|
+
cancelButtonLabel: string;
|
|
116
|
+
/**
|
|
117
|
+
* Handler function that will be invoked by the wizard framework
|
|
118
|
+
* when the cancel validation button is clicked. The page component
|
|
119
|
+
* should take care to cancel any ongoing validate API calls and
|
|
120
|
+
* to emit false value by the current OnStepValidate.validate() observable.
|
|
121
|
+
*/
|
|
122
|
+
cancelValidation: () => void;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Type used for Wizard/Dialog/Stepper model.
|
|
127
|
+
* This is defined to avoid developers from assigning primitive types.
|
|
128
|
+
*
|
|
129
|
+
* Note: This doesn't restrict from assigning function/array, since function/array is also treated as object.
|
|
130
|
+
* We have a runtime check to validate that it is not a function/array.
|
|
131
|
+
*/
|
|
132
|
+
type WorkflowModel = object;
|
|
133
|
+
|
|
134
|
+
declare class ModelChange {
|
|
135
|
+
propertyName: string;
|
|
136
|
+
oldValue: any;
|
|
137
|
+
newValue: any;
|
|
138
|
+
constructor(propertyName: string, oldValue: any, newValue: any);
|
|
139
|
+
}
|
|
140
|
+
interface StepWithChanges {
|
|
141
|
+
step?: StepInternal;
|
|
142
|
+
changes: ModelChange[];
|
|
143
|
+
}
|
|
144
|
+
declare class WorkflowModelManager {
|
|
145
|
+
#private;
|
|
146
|
+
/**
|
|
147
|
+
* Emit when {@link injectPropertiesToPendingStep} method completes.
|
|
148
|
+
* Emitted value contains the pending step and calculated properties for it.
|
|
149
|
+
*/
|
|
150
|
+
onStepChange$: Subject<StepWithChanges>;
|
|
151
|
+
/**
|
|
152
|
+
* Emit when one or more workflow properties are changed.
|
|
153
|
+
*/
|
|
154
|
+
onModelChange$: Subject<ModelChange[]>;
|
|
155
|
+
/**
|
|
156
|
+
* Emit "true" before start of computed properties evaluation.
|
|
157
|
+
* Emit "false" when computed properties are evaluated.
|
|
158
|
+
*/
|
|
159
|
+
loading$: BehaviorSubject<boolean>;
|
|
160
|
+
private stepModelBindings;
|
|
161
|
+
private workflowModelSubs;
|
|
162
|
+
private wizardModel;
|
|
163
|
+
private wizardModelOldValues;
|
|
164
|
+
private stepModelLastValuesIn;
|
|
165
|
+
/**
|
|
166
|
+
* Workflow steps.
|
|
167
|
+
*/
|
|
168
|
+
set steps(value: StepInternal[]);
|
|
169
|
+
/**
|
|
170
|
+
* Workflow model.
|
|
171
|
+
*/
|
|
172
|
+
get model(): WorkflowModel;
|
|
173
|
+
set model(value: WorkflowModel);
|
|
174
|
+
destroy(): void;
|
|
175
|
+
/**
|
|
176
|
+
* Ejects properties from provided step model to wizard model.
|
|
177
|
+
*/
|
|
178
|
+
ejectPropertiesFromCurrentStep(currentStep: StepInternal | undefined): void;
|
|
179
|
+
/**
|
|
180
|
+
* Calculate the {@link ComputedVar} properties, if any.
|
|
181
|
+
* Then inject properties to the provided step model.
|
|
182
|
+
*/
|
|
183
|
+
injectPropertiesToPendingStep(pendingStep: StepInternal | undefined): Observable<InjectPropertiesResult>;
|
|
184
|
+
private onStepsOrModelChange;
|
|
185
|
+
private initStepModels;
|
|
186
|
+
private initStepModel;
|
|
187
|
+
private bindStepModelListeners;
|
|
188
|
+
private bindStepModelListener;
|
|
189
|
+
private unbindStepModelListeners;
|
|
190
|
+
private unbindStepModelListener;
|
|
191
|
+
private processWorkflowModel;
|
|
192
|
+
private unbindWorkflowModelListeners;
|
|
193
|
+
private updateWizardModel;
|
|
194
|
+
private injectPropertiesToPendingStepInternal;
|
|
195
|
+
private injectWizardPropertiesToStepModel;
|
|
196
|
+
private wrapWorkflowPropertyInObservable;
|
|
197
|
+
private wrapOptionalWorkflowPropertyInObservable;
|
|
198
|
+
private wrapComputedWorkflowPropertyInObservable;
|
|
199
|
+
private wrapSimpleWorkflowPropertyInObservable;
|
|
200
|
+
private updateStepModel;
|
|
201
|
+
private diffPropertyValues;
|
|
202
|
+
/**
|
|
203
|
+
* Return the input step model values, that were cached during the last invocation of
|
|
204
|
+
* {@link ejectPropertiesFromCurrentStep} method.
|
|
205
|
+
*/
|
|
206
|
+
private extractLastStepInputValues;
|
|
207
|
+
/**
|
|
208
|
+
* Return stringified values of {@link propNames} of the {@link model}.
|
|
209
|
+
*/
|
|
210
|
+
private extractModelProperties;
|
|
211
|
+
/**
|
|
212
|
+
* Remove null elements from the "changes" array and emit on {@link onModelChange$}
|
|
213
|
+
* if there are changes.
|
|
214
|
+
*/
|
|
215
|
+
private emitModelChange;
|
|
216
|
+
private cacheStepModelInputProps;
|
|
217
|
+
private getInputMappings;
|
|
218
|
+
private getOutputMappings;
|
|
219
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowModelManager, never>;
|
|
220
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WorkflowModelManager>;
|
|
221
|
+
}
|
|
222
|
+
interface InjectPropertiesResult {
|
|
223
|
+
pendingStep?: StepInternal;
|
|
224
|
+
error?: ActivationError;
|
|
225
|
+
stepModelChanges?: ModelChanges;
|
|
226
|
+
recreateComponent?: boolean;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Interface which has to be implemented by each component (controller) which will
|
|
231
|
+
* serve as a page in the wizard
|
|
232
|
+
*
|
|
233
|
+
* @deprecated Use finer-grained interfaces like {@link StepModelHolder},
|
|
234
|
+
* {@link OnStepActivate}, {@link OnStepValidate}
|
|
235
|
+
*/
|
|
236
|
+
interface StepComponent extends StepModelHolder, OnStepActivate, OnStepValidate {
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Interface that should be implemented by step component that has a model.
|
|
240
|
+
*/
|
|
241
|
+
interface StepModelHolder {
|
|
242
|
+
model: StepModel;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Step life cycle hook invoked every time a page is activated.
|
|
246
|
+
*/
|
|
247
|
+
interface OnStepActivate {
|
|
248
|
+
/**
|
|
249
|
+
* Called every time when a page is visited by the user.
|
|
250
|
+
* Use this to check whether the input parameters of the page
|
|
251
|
+
* have changed and if so - you may need to re-initialize page with
|
|
252
|
+
* new data matching the input parameters.
|
|
253
|
+
*
|
|
254
|
+
* @param {ModelChanges} stepModelChanges A hashtable of changes:
|
|
255
|
+
* - key - the name of StepModel property, decorated with @In()
|
|
256
|
+
* - value - {@link ModelChange} object that contains previous and current property values
|
|
257
|
+
* When a step component is activated for the very first time, all properties decorated with @In will be present in the object.
|
|
258
|
+
* In other cases e.g. when the user navigates back and forth through the steps,
|
|
259
|
+
* only properties that have changed after previous activation, will be present.
|
|
260
|
+
* If there are no changes, it will be empty object.
|
|
261
|
+
*/
|
|
262
|
+
activate(stepModelChanges: ModelChanges): void;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Step life cycle hook invoked every time is about to be deactivated (on Next or Finish).
|
|
266
|
+
*/
|
|
267
|
+
interface OnStepValidate {
|
|
268
|
+
/**
|
|
269
|
+
* Called when a Next(or Finish if the last page) button is clicked. Use this to
|
|
270
|
+
* validate page data.
|
|
271
|
+
*/
|
|
272
|
+
validate(): Observable<boolean>;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* A hashtable of changes:
|
|
276
|
+
* - key - the name of StepModel property, decorated with @In()
|
|
277
|
+
* - value - {@link ModelChange} object that contains previous and current property values
|
|
278
|
+
*/
|
|
279
|
+
interface ModelChanges {
|
|
280
|
+
[propName: string]: ModelChange;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Evaluation strategy.
|
|
285
|
+
*/
|
|
286
|
+
interface EvalStrategy<R> {
|
|
287
|
+
withEagerEval: () => R;
|
|
288
|
+
withLazyEval: () => R;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Result of {@link Var.from} when invoked without parameters.
|
|
292
|
+
*/
|
|
293
|
+
interface From0DepReturnSchema extends ByFunctionWithoutArgs, EvalStrategy<ByFunctionWithoutArgs> {
|
|
294
|
+
}
|
|
295
|
+
interface ByFunctionWithoutArgs {
|
|
296
|
+
/**
|
|
297
|
+
* Create {@link Var} by applying a transition function.
|
|
298
|
+
* @param fn Transition function.
|
|
299
|
+
*/
|
|
300
|
+
by: <R>(fn: () => Observable<R>) => Var<R>;
|
|
301
|
+
}
|
|
302
|
+
interface From1DepReturnSchema<D1> extends SingleDepOperators<D1>, EvalStrategy<SingleDepOperators<D1>> {
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Result of {@link Var.from} when invoked with exactly one dependent var.
|
|
306
|
+
*
|
|
307
|
+
* D1 - the type of the Var passed to Var.from(dep: Var<D>) function.
|
|
308
|
+
*/
|
|
309
|
+
interface SingleDepOperators<D1> {
|
|
310
|
+
/**
|
|
311
|
+
* Create {@link Var} by applying a transition function on the specified dependent Var.
|
|
312
|
+
* @param fn Transition function. It receives dependency {@link Var.value} as
|
|
313
|
+
* input parameter.
|
|
314
|
+
*/
|
|
315
|
+
by: <R>(fn: (depValue: D1) => Observable<R>) => Var<R>;
|
|
316
|
+
/**
|
|
317
|
+
* Extract single property from another {@link Var.value} result.
|
|
318
|
+
* There is a compile-time check for the specified property name.
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* const v3 = Var.of({ name: "dummy", value: true });
|
|
322
|
+
*
|
|
323
|
+
* const p1: Var<string> = Var.from(v3).pluck("name");
|
|
324
|
+
* const p2: Var<boolean> = Var.from(v3).pluck("value");
|
|
325
|
+
*
|
|
326
|
+
* Var.from(v3).pluck("non_existing_property_name"); // compile time error
|
|
327
|
+
*/
|
|
328
|
+
pluck: <K extends keyof D1>(propName: K) => Var<D1[K]>;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Result of {@link Var.from} when invoked with two dependent vars:
|
|
332
|
+
* <code>Var.from(dep1, dep2)</code>
|
|
333
|
+
*/
|
|
334
|
+
interface From2DepReturnSchema<D1, D2> extends ByFunctionWith2Types<D1, D2>, EvalStrategy<ByFunctionWith2Types<D1, D2>> {
|
|
335
|
+
}
|
|
336
|
+
interface ByFunctionWith2Types<D1, D2> {
|
|
337
|
+
/**
|
|
338
|
+
* Create {@link Var} by applying a transition function on the specified dependent vars.
|
|
339
|
+
* @param fn Transition function. It receives dependency {@link Var.value} as
|
|
340
|
+
* input parameter.
|
|
341
|
+
*
|
|
342
|
+
* @example
|
|
343
|
+
* const dep1: Var<D1> = ...;
|
|
344
|
+
* const dep2: Var<D2> = ...;
|
|
345
|
+
* const newVar = Var.from(dep1, dep2).by(
|
|
346
|
+
* (v1: D1, v2: D2) => { ... }
|
|
347
|
+
* );
|
|
348
|
+
*/
|
|
349
|
+
by: <R>(fn: (v1: D1, v2: D2) => Observable<R>) => Var<R>;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Result of {@link Var.from} when invoked with three dependent vars:
|
|
353
|
+
* <code>Var.from(dep1, dep2, dep3)</code>
|
|
354
|
+
*/
|
|
355
|
+
interface From3DepReturnSchema<D1, D2, D3> extends ByFunctionWith3Types<D1, D2, D3>, EvalStrategy<ByFunctionWith3Types<D1, D2, D3>> {
|
|
356
|
+
}
|
|
357
|
+
interface ByFunctionWith3Types<D1, D2, D3> {
|
|
358
|
+
/**
|
|
359
|
+
* Create {@link Var} by applying a transition function on the specified dependent vars.
|
|
360
|
+
* @param fn Transition function. It receives dependency {@link Var.value} as
|
|
361
|
+
* input parameter.
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
* const dep1: Var<D1> = ...;
|
|
365
|
+
* const dep2: Var<D2> = ...;
|
|
366
|
+
* const dep3: Var<D3> = ...;
|
|
367
|
+
* const newVar = Var.from(dep1, dep2, dep3).by(
|
|
368
|
+
* (v1: D1, v2: D2, v3: D3) => { ... }
|
|
369
|
+
* );
|
|
370
|
+
*/
|
|
371
|
+
by: <R>(fn: (v1: D1, v2: D2, v3: D3) => Observable<R>) => Var<R>;
|
|
372
|
+
}
|
|
373
|
+
interface From4DepReturnSchema<D1, D2, D3, D4> extends ByFunctionWith4Types<D1, D2, D3, D4>, EvalStrategy<ByFunctionWith4Types<D1, D2, D3, D4>> {
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Result of {@link Var.from} when invoked with four dependent vars:
|
|
377
|
+
* <code>Var.from(dep1, dep2, dep3, dep4)</code>
|
|
378
|
+
*/
|
|
379
|
+
interface ByFunctionWith4Types<D1, D2, D3, D4> {
|
|
380
|
+
/**
|
|
381
|
+
* Create {@link Var} by applying a transition function on the specified dependent vars.
|
|
382
|
+
* @param fn Transition function. It receives dependency {@link Var.value} as
|
|
383
|
+
* input parameter.
|
|
384
|
+
*
|
|
385
|
+
* @example
|
|
386
|
+
* const dep1: Var<D1> = ...;
|
|
387
|
+
* const dep2: Var<D2> = ...;
|
|
388
|
+
* const dep3: Var<D3> = ...;
|
|
389
|
+
* const dep4: Var<D4> = ...;
|
|
390
|
+
* const newVar = Var.from(dep1, dep2, dep3, dep4).by(
|
|
391
|
+
* (v1: D1, v2: D2, v3: D3, v4: D4) => { ... }
|
|
392
|
+
* );
|
|
393
|
+
*/
|
|
394
|
+
by: <R>(fn: (v1: D1, v2: D2, v3: D3, v4: D4) => Observable<R>) => Var<R>;
|
|
395
|
+
}
|
|
396
|
+
interface From5DepReturnSchema<D1, D2, D3, D4, D5> extends ByFunctionWith5Types<D1, D2, D3, D4, D5>, EvalStrategy<ByFunctionWith5Types<D1, D2, D3, D4, D5>> {
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Result of {@link Var.from} when invoked with five dependent vars:
|
|
400
|
+
* <code>Var.from(dep1, dep2, dep3, dep4, dep5)</code>
|
|
401
|
+
*/
|
|
402
|
+
interface ByFunctionWith5Types<D1, D2, D3, D4, D5> {
|
|
403
|
+
/**
|
|
404
|
+
* Create {@link Var} by applying a transition function on the specified dependent vars.
|
|
405
|
+
* @param fn Transition function. It receives dependency {@link Var.value} as
|
|
406
|
+
* input parameter.
|
|
407
|
+
*
|
|
408
|
+
* @example
|
|
409
|
+
* const dep1: Var<D1> = ...;
|
|
410
|
+
* const dep2: Var<D2> = ...;
|
|
411
|
+
* const dep3: Var<D3> = ...;
|
|
412
|
+
* const dep4: Var<D4> = ...;
|
|
413
|
+
* const dep5: Var<D5> = ...;
|
|
414
|
+
* const newVar = Var.from(dep1, dep2, dep3, dep4, dep5).by(
|
|
415
|
+
* (v1: D1, v2: D2, v3: D3, v4: D4, v5: D5) => { ... }
|
|
416
|
+
* );
|
|
417
|
+
*/
|
|
418
|
+
by: <R>(fn: (v1: D1, v2: D2, v3: D3, v4: D4, v5: D5) => Observable<R>) => Var<R>;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Result of {@link Var.from} when invoked with more than five dependent vars:
|
|
422
|
+
*/
|
|
423
|
+
interface FromMultiDepReturnSchema {
|
|
424
|
+
/**
|
|
425
|
+
* Create {@link Var} by applying a transition function on the specified dependent vars.
|
|
426
|
+
* @param fn Transition function. It receives dependency {@link Var.value|values} as
|
|
427
|
+
* input parameters.
|
|
428
|
+
*/
|
|
429
|
+
by: <R>(fn: (...depValues: any[]) => Observable<R>) => Var<R>;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
/**
|
|
433
|
+
* Workflow variable used to define properties in the workflow model.
|
|
434
|
+
*
|
|
435
|
+
* <h2>Use Cases</h2>
|
|
436
|
+
* This class is designed for the following use cases:
|
|
437
|
+
* <ol>
|
|
438
|
+
* <li>Create variable, that wraps generic data type. Use cases:
|
|
439
|
+
* <ul>
|
|
440
|
+
* <li>Pass a value as dependency to other workflow variables. When a new value is
|
|
441
|
+
* set, the dependent variable will be reevaluated.
|
|
442
|
+
* <li>[Future] Define mapping between workflow and step model variables.
|
|
443
|
+
* <li>[Future] Output step model values in a reactive manner.
|
|
444
|
+
* </ul>
|
|
445
|
+
* @see {@link Var.of}
|
|
446
|
+
*
|
|
447
|
+
* <li>Create variable, that can depend on other {@link Var}s. Use cases:
|
|
448
|
+
* <ul>
|
|
449
|
+
* <li>Invoke async function to retrieve data.
|
|
450
|
+
* <li>Transform the result of another {@link Var}.
|
|
451
|
+
* <li>Extract a property of another {@link Var}.
|
|
452
|
+
* <li>[Future] Use the result of one {@link Var} as initial value of another.
|
|
453
|
+
* </ul>
|
|
454
|
+
* @see {@link Var.from}
|
|
455
|
+
* </ol>
|
|
456
|
+
*
|
|
457
|
+
* <h2>Using Var for Data Retrieval</h2>
|
|
458
|
+
*
|
|
459
|
+
* The main use case of this class is to move the data request outside of the step component.
|
|
460
|
+
* This gives the following benefits:
|
|
461
|
+
* - Component will not deal with asynchronous data; it will be pre-computed and injected
|
|
462
|
+
* - Increased re-usability of steps
|
|
463
|
+
* - Loading indicator comes for free.
|
|
464
|
+
* - Default error handling
|
|
465
|
+
* - Caching of calculated values and re-calculating when necessary
|
|
466
|
+
*
|
|
467
|
+
* <h2>Step Model Mapping</h2>
|
|
468
|
+
*
|
|
469
|
+
* <b>Step model property</b> can reference workflow {@link Var} property using
|
|
470
|
+
* <code>@InputMapping</code> and <code>@OutputMapping</code> decorators.
|
|
471
|
+
* Mapped step model property should be of type "T".
|
|
472
|
+
*
|
|
473
|
+
* <h2>Examples:</h2>
|
|
474
|
+
*
|
|
475
|
+
* @example Create new variable without initial value
|
|
476
|
+
* const v1: Var<string> = Var.of();
|
|
477
|
+
*
|
|
478
|
+
*
|
|
479
|
+
* @example Create new variable with initial value
|
|
480
|
+
* const v2: Var<string> = Var.of("hello");
|
|
481
|
+
*
|
|
482
|
+
*
|
|
483
|
+
* @example Data Retrieval
|
|
484
|
+
* // "portGroupInfo" depends on "hostId"
|
|
485
|
+
* this.model.portGroupInfo = Var.from(this.model.hostId).by(
|
|
486
|
+
* (hostId: string) => {
|
|
487
|
+
* // Note that "hostId" is "this.model.hostId.value", pre-calculated if it is ComputedVar.
|
|
488
|
+
* return <Observable<HostStandardSwitchData>>this.dataService.getData$(hostId, PG_INFO_PROP);
|
|
489
|
+
* }
|
|
490
|
+
* );
|
|
491
|
+
*
|
|
492
|
+
*
|
|
493
|
+
* @example Created computed property without any dependencies
|
|
494
|
+
* const c1: Var<number> = Var.from().by(() => of(42));
|
|
495
|
+
*
|
|
496
|
+
*
|
|
497
|
+
* @example Create computed property with dependencies
|
|
498
|
+
* const c2: Var<string> = Var.from(c1, v2).by(
|
|
499
|
+
* (c1Val, c2Val) => of(`Result: ${c1Val} ${c2Val}`));
|
|
500
|
+
*
|
|
501
|
+
*
|
|
502
|
+
* @example Transform another Var value
|
|
503
|
+
* // Invoke transformation function on "c2" result.
|
|
504
|
+
* const c3: Var<number> = Var.from(c2).by((c2Val: string) => of(c2Val.length + 3));
|
|
505
|
+
*
|
|
506
|
+
*
|
|
507
|
+
* @example Extract single property from another var
|
|
508
|
+
* const v3 = Var.of({ name: "dummy", value: true });
|
|
509
|
+
*
|
|
510
|
+
* const p1: Var<string> = Var.from(v3).pluck("name");
|
|
511
|
+
* const p2: Var<boolean> = Var.from(v3).pluck("value");
|
|
512
|
+
*
|
|
513
|
+
* // There is a compile-time check for the specified property name.
|
|
514
|
+
* Var.from(v3).pluck("non_existing_property_name"); // compile time error
|
|
515
|
+
*
|
|
516
|
+
*
|
|
517
|
+
* @example Mapping step model property to workflow model Var
|
|
518
|
+
* class MyWizardModel {
|
|
519
|
+
* readonly vlanIds: Var<number[]> = Var.of();
|
|
520
|
+
* }
|
|
521
|
+
*
|
|
522
|
+
* // First step outputs selected vLANs
|
|
523
|
+
* class Step1Model {
|
|
524
|
+
* @OutputMapping({propertyName="vlanIds"})
|
|
525
|
+
* vlanIds: number[];
|
|
526
|
+
* }
|
|
527
|
+
*
|
|
528
|
+
* // Second step uses the selected vLANs form the first step
|
|
529
|
+
* class Step2Model {
|
|
530
|
+
* @InputMapping({propertyName="vlanIds"})
|
|
531
|
+
* vlanIds: number[];
|
|
532
|
+
* }
|
|
533
|
+
*/
|
|
534
|
+
declare abstract class Var<T> {
|
|
535
|
+
#private;
|
|
536
|
+
protected constructor();
|
|
537
|
+
/**
|
|
538
|
+
* Value of the variable. It can be undefined
|
|
539
|
+
*/
|
|
540
|
+
get value(): T;
|
|
541
|
+
set value(newValue: T);
|
|
542
|
+
/**
|
|
543
|
+
* Create a variable, that wraps generic data type.
|
|
544
|
+
* @param initialValue Initial value of the {@link value} property.
|
|
545
|
+
*/
|
|
546
|
+
static of<U>(initialValue?: U): Var<U>;
|
|
547
|
+
/**
|
|
548
|
+
* Create a variable by applying a transition function simultaneously on zero or more
|
|
549
|
+
* {@link Var} results. Created Var maintains a dependency chain with the Vars, it is
|
|
550
|
+
* built from. If any of the dependent variables is changed, the transition function
|
|
551
|
+
* will be re-evaluated. The orchestration of when this happens is done in
|
|
552
|
+
* WorkflowModelManager.
|
|
553
|
+
*/
|
|
554
|
+
static from(): From0DepReturnSchema;
|
|
555
|
+
static from<D1>(dep: Var<D1>): From1DepReturnSchema<D1>;
|
|
556
|
+
static from<D1, D2>(dep1: Var<D1>, dep2: Var<D2>): From2DepReturnSchema<D1, D2>;
|
|
557
|
+
static from<D1, D2, D3>(dep1: Var<D1>, dep2: Var<D2>, dep3: Var<D3>): From3DepReturnSchema<D1, D2, D3>;
|
|
558
|
+
static from<D1, D2, D3, D4>(dep1: Var<D1>, dep2: Var<D2>, dep3: Var<D3>, dep4: Var<D4>): From4DepReturnSchema<D1, D2, D3, D4>;
|
|
559
|
+
static from<D1, D2, D3, D4, D5>(dep1: Var<D1>, dep2: Var<D2>, dep3: Var<D3>, dep4: Var<D4>, dep5: Var<D5>): From5DepReturnSchema<D1, D2, D3, D4, D5>;
|
|
560
|
+
static from(...deps: Var<any>[]): FromMultiDepReturnSchema;
|
|
561
|
+
/**
|
|
562
|
+
* Hook that is invoked when {@link value} setter is invoked. This is necessary, because
|
|
563
|
+
* of TS issue with overriding property setters - setting the protected "this._value"
|
|
564
|
+
* in a descendant class is breaking the {@link value} getter - it will always return
|
|
565
|
+
* undefined. The TS issue is fixed in newer versions.
|
|
566
|
+
*/
|
|
567
|
+
protected abstract onSetValue(newValue: T): void;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* Class to define property mappings between step model and wizard model.
|
|
572
|
+
*
|
|
573
|
+
* Note: If property name of both Step model and Wizard model is the same, no need to define this external mappings.
|
|
574
|
+
* @template S any object that has @In/@Out decorators
|
|
575
|
+
* @template W Wizard Model
|
|
576
|
+
*/
|
|
577
|
+
declare class Mappings<S, W> {
|
|
578
|
+
private mappings;
|
|
579
|
+
/**
|
|
580
|
+
* step model property name to which wizard model {@link wizardModelPropertyName} to be mapped
|
|
581
|
+
* @param stepModelPropertyName Step model property name to map
|
|
582
|
+
*/
|
|
583
|
+
mapStepProp(stepModelPropertyName: keyof S): {
|
|
584
|
+
/**
|
|
585
|
+
* wizard model property name to which step model {@link stepModelPropertyName} to be mapped
|
|
586
|
+
* @param wizardModelPropertyName Wizard model property name to map
|
|
587
|
+
*/
|
|
588
|
+
to(wizardModelPropertyName: keyof W): Mappings<S, W>;
|
|
589
|
+
};
|
|
590
|
+
/**
|
|
591
|
+
* Validates input and output mappings property names with the mappings defined by {@link mapStepProp} method.
|
|
592
|
+
* @param model Step model
|
|
593
|
+
*/
|
|
594
|
+
validate(model: any): void;
|
|
595
|
+
/**
|
|
596
|
+
* Returns property mappings defined.
|
|
597
|
+
*/
|
|
598
|
+
getPropertyMappings(): PropertyMappings;
|
|
599
|
+
private validateMappings;
|
|
600
|
+
}
|
|
601
|
+
/**
|
|
602
|
+
* Interface which represents property Mappings
|
|
603
|
+
*/
|
|
604
|
+
interface PropertyMappings {
|
|
605
|
+
/**
|
|
606
|
+
* @param {string} propertyName Step model property name
|
|
607
|
+
*/
|
|
608
|
+
[propertyName: string]: string;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
/**
|
|
612
|
+
* Describe a wizard step.
|
|
613
|
+
*/
|
|
614
|
+
interface Step {
|
|
615
|
+
/**
|
|
616
|
+
* Step title
|
|
617
|
+
*/
|
|
618
|
+
title: string;
|
|
619
|
+
/**
|
|
620
|
+
* Step description.
|
|
621
|
+
* In case of Wizard - the description is rendered as subtitle (below the step title)
|
|
622
|
+
* In case of Stepper - the description is rendered on the right of the step title.
|
|
623
|
+
*/
|
|
624
|
+
description?: string;
|
|
625
|
+
/**
|
|
626
|
+
* In case of Wizard - title of the Navigation link displayed on the left. If not provided, {@link title} is used.
|
|
627
|
+
* In case of Stepper - this field is not used.
|
|
628
|
+
*/
|
|
629
|
+
navTitle?: string;
|
|
630
|
+
/**
|
|
631
|
+
* Step component class to render.
|
|
632
|
+
*/
|
|
633
|
+
componentClass: Type<any>;
|
|
634
|
+
/**
|
|
635
|
+
* StepModel is the data model of the step injected to {@link componentClass.model}. It contains step input and output properties.
|
|
636
|
+
* Needed properties from wizard model can be injected or ejected by decorating the properties with @In or @Out respectively.
|
|
637
|
+
* If property names doesn't match with Wizard Model, define the external property name mappings using {@link mappings}
|
|
638
|
+
*
|
|
639
|
+
* If {@link recreateOnModelChange} is defined, model should be factory method which return {@link StepModel} instance
|
|
640
|
+
*/
|
|
641
|
+
model?: StepModel | StepModelFactory;
|
|
642
|
+
/**
|
|
643
|
+
* If set to true, the {@link componentClass} will be instantiated when the step gets
|
|
644
|
+
* activated for the very first time.
|
|
645
|
+
* If set to false, the {@link componentClass} will be instantiated immediately when
|
|
646
|
+
* the wizard is opened.
|
|
647
|
+
*/
|
|
648
|
+
instantiateLazy?: boolean;
|
|
649
|
+
/**
|
|
650
|
+
* Use this property to conditionally include a step in the workflow.
|
|
651
|
+
* Use Var.of() API to define a boolean relevance property.
|
|
652
|
+
* Use Var.from() API to define a relevance check function.
|
|
653
|
+
*
|
|
654
|
+
* @example set isRelevant for step1 using Var.from() which depends on wizard model var connectionType
|
|
655
|
+
* const step1.isRelevant = Var.from(this.model.connectionType).by((connectionType) => of(connectionType === ConnectionType.VMKERNEL))
|
|
656
|
+
* step1 will be visible only if connectionType === ConnectionType.VMKERNEL
|
|
657
|
+
*
|
|
658
|
+
*/
|
|
659
|
+
isRelevant?: Var<boolean>;
|
|
660
|
+
/**
|
|
661
|
+
* Property name mappings from step model to wizard model if property names are different.
|
|
662
|
+
* use {@link Mappings}
|
|
663
|
+
* @example new Mappings<StepModel, WizardModel>()
|
|
664
|
+
* .mapStepProp("stepProp1").to("wizardProp1")
|
|
665
|
+
* .mapStepProp("stepProp2").to("wizardProp2")
|
|
666
|
+
* ...
|
|
667
|
+
* ...
|
|
668
|
+
*/
|
|
669
|
+
mappings?: Mappings<any, any>;
|
|
670
|
+
/**
|
|
671
|
+
* Function that is invoked after the step is successfully validated.
|
|
672
|
+
* In case of Wizard - the result will be displayed in "Ready to Complete" page.
|
|
673
|
+
* In case of Stepper - this result will be displayed on the right of the step
|
|
674
|
+
* title (after the user navigates to the next step).
|
|
675
|
+
* @returns {PropertyViewSectionModel}
|
|
676
|
+
*/
|
|
677
|
+
summary?: (builder: PropertyViewSectionBuilder, stepModel?: StepModel) => PropertyViewSectionModel;
|
|
678
|
+
/**
|
|
679
|
+
* Recreates the step component if the function returns true
|
|
680
|
+
* If defined, {@link model} should be factory function.
|
|
681
|
+
*/
|
|
682
|
+
recreateComponent?: (stepModelChanges?: ModelChanges) => boolean;
|
|
683
|
+
}
|
|
684
|
+
/**
|
|
685
|
+
* Wizard Step description used internally
|
|
686
|
+
*/
|
|
687
|
+
interface StepInternal extends Step {
|
|
688
|
+
/**
|
|
689
|
+
* Indicates whether the step is hidden in the wizard
|
|
690
|
+
*/
|
|
691
|
+
isSkipped?: boolean;
|
|
692
|
+
/**
|
|
693
|
+
* StepModel instance which will be created from {@link StepModelFactory} or equal to {@link model}.
|
|
694
|
+
*/
|
|
695
|
+
modelInstance?: StepModel;
|
|
696
|
+
/**
|
|
697
|
+
* Internal description field that will be used to display the actual description.
|
|
698
|
+
* This field will be set with the appropriate value that needs to be displayed in
|
|
699
|
+
* the wizard component depending on the current state of the step.
|
|
700
|
+
* This field will be set with a simple text when step is incomplete or,
|
|
701
|
+
* a formatted summary value when complete.
|
|
702
|
+
* Note: This is currenlty used only in Stepper.
|
|
703
|
+
*/
|
|
704
|
+
initialDescription?: PropertyViewModel;
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Step model factory method which returns new StepModel object.
|
|
708
|
+
*/
|
|
709
|
+
type StepModelFactory = () => StepModel;
|
|
710
|
+
|
|
711
|
+
/**
|
|
712
|
+
* Dynamically renders a step component specified by the step descriptor.
|
|
713
|
+
*/
|
|
714
|
+
declare class StepContainerComponent implements OnInit, OnDestroy {
|
|
715
|
+
step: StepInternal;
|
|
716
|
+
description?: string;
|
|
717
|
+
onRetry: EventEmitter<StepInternal>;
|
|
718
|
+
private componentContainer;
|
|
719
|
+
private pageComponent?;
|
|
720
|
+
private retrySubscription;
|
|
721
|
+
get readyToComplete(): boolean;
|
|
722
|
+
private get isValid();
|
|
723
|
+
private get isPageStateValid();
|
|
724
|
+
ngOnInit(): void;
|
|
725
|
+
ngOnDestroy(): void;
|
|
726
|
+
onActivate(error?: ActivationError, stepModelChanges?: ModelChanges, recreateComponent?: boolean, resetValidationState?: boolean): void;
|
|
727
|
+
onCommit(): Observable<boolean>;
|
|
728
|
+
private loadComponent;
|
|
729
|
+
private loadErrorComponent;
|
|
730
|
+
private unsubscribeRetry;
|
|
731
|
+
private resetValidationState;
|
|
732
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StepContainerComponent, never>;
|
|
733
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StepContainerComponent, "appfx-step-container", never, { "step": { "alias": "step"; "required": false; }; "description": { "alias": "description"; "required": false; }; }, { "onRetry": "onRetry"; }, never, never, false, never>;
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
/**
|
|
737
|
+
* Render given workflow model in a Clarity signpost.
|
|
738
|
+
* Values, changed in the current step are marked in different color.
|
|
739
|
+
* On next step, changed properties are reset.
|
|
740
|
+
*/
|
|
741
|
+
declare class WorkflowModelMonitorComponent implements OnInit, OnDestroy {
|
|
742
|
+
modelMgr: WorkflowModelManager;
|
|
743
|
+
isOpen: boolean;
|
|
744
|
+
debugModel: NameValue[];
|
|
745
|
+
private subscriptions;
|
|
746
|
+
set popoverContent(popoverContent: HermesPopoverContent);
|
|
747
|
+
ngOnInit(): void;
|
|
748
|
+
ngOnDestroy(): void;
|
|
749
|
+
private bindModelChangeListeners;
|
|
750
|
+
private bindStepChangeListeners;
|
|
751
|
+
private updateDebugModel;
|
|
752
|
+
private initDebugModel;
|
|
753
|
+
private resetDebugModel;
|
|
754
|
+
private getPropertyNameValue;
|
|
755
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowModelMonitorComponent, never>;
|
|
756
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WorkflowModelMonitorComponent, "appfx-model-popup", never, { "modelMgr": { "alias": "modelMgr"; "required": false; }; }, {}, never, never, false, never>;
|
|
757
|
+
}
|
|
758
|
+
interface NameValue {
|
|
759
|
+
name: string;
|
|
760
|
+
value: string;
|
|
761
|
+
computedVar: boolean;
|
|
762
|
+
simpleVar: boolean;
|
|
763
|
+
changed: boolean;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
declare class ErrorComponent {
|
|
767
|
+
workflowStrings: WorkflowStrings;
|
|
768
|
+
error?: ActivationError;
|
|
769
|
+
onRetry: EventEmitter<any>;
|
|
770
|
+
constructor(workflowStrings: WorkflowStrings);
|
|
771
|
+
retry(): void;
|
|
772
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ErrorComponent, never>;
|
|
773
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ErrorComponent, "appfx-error", never, { "error": { "alias": "error"; "required": false; }; }, { "onRetry": "onRetry"; }, never, never, false, never>;
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
declare class SpinnerComponent {
|
|
777
|
+
/**
|
|
778
|
+
* String that should be announced
|
|
779
|
+
*/
|
|
780
|
+
message: string;
|
|
781
|
+
/**
|
|
782
|
+
* Politeness when announcing, This could be 'polite', 'assertive' or 'off'
|
|
783
|
+
* @default 'assertive'
|
|
784
|
+
*/
|
|
785
|
+
politeness: 'assertive' | 'polite' | 'off';
|
|
786
|
+
/**
|
|
787
|
+
* Modal content has its own container (the modal), so that overlay spinner is already within its scope.
|
|
788
|
+
* Specify "false" for non-modal cases to contain the overlay spinner within desired scope and not whole page.
|
|
789
|
+
* @default 'true'
|
|
790
|
+
*/
|
|
791
|
+
isModal: boolean;
|
|
792
|
+
/**
|
|
793
|
+
* Optional message to be shown below the spinner. It can be used to
|
|
794
|
+
* report progress details.
|
|
795
|
+
*/
|
|
796
|
+
progressDetails: string;
|
|
797
|
+
/**
|
|
798
|
+
* Optional flag, when set to true an Action button will be rendered below the spinner and
|
|
799
|
+
* the progress details text. For example, this can be used to render a "cancel" button
|
|
800
|
+
* below the spinner.
|
|
801
|
+
*/
|
|
802
|
+
showActionButton: boolean;
|
|
803
|
+
/**
|
|
804
|
+
* The label of the action button. Applicable only when showActionButton is set to True.
|
|
805
|
+
*/
|
|
806
|
+
actionButtonLabel: string;
|
|
807
|
+
/**
|
|
808
|
+
* Emits when the action button is clicked.
|
|
809
|
+
*/
|
|
810
|
+
actionClick: EventEmitter<void>;
|
|
811
|
+
invokeAction(): void;
|
|
812
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponent, never>;
|
|
813
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "appfx-spinner", never, { "message": { "alias": "message"; "required": false; }; "politeness": { "alias": "politeness"; "required": false; }; "isModal": { "alias": "isModal"; "required": false; }; "progressDetails": { "alias": "progressDetails"; "required": false; }; "showActionButton": { "alias": "showActionButton"; "required": false; }; "actionButtonLabel": { "alias": "actionButtonLabel"; "required": false; }; }, { "actionClick": "actionClick"; }, never, never, false, never>;
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
/**
|
|
817
|
+
* This token is used to determine if the Wizard/Dialog is opened through ModalService.
|
|
818
|
+
* If it is not injected (value is null), this means the the component is used directly,
|
|
819
|
+
* without ModalService.
|
|
820
|
+
* If the value is true, this means that the component is opened using
|
|
821
|
+
* ModalService.openModalComponent API.
|
|
822
|
+
* If the value is false, this means that the component is opened using
|
|
823
|
+
* ModalService.openModal API (which is not correct).
|
|
824
|
+
*/
|
|
825
|
+
declare const modalServiceToken: InjectionToken<unknown>;
|
|
826
|
+
declare class AppfxWorkflowCoreModule {
|
|
827
|
+
constructor();
|
|
828
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppfxWorkflowCoreModule, never>;
|
|
829
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AppfxWorkflowCoreModule, [typeof ValidationBannerComponent, typeof ValidationBannerInternalComponent, typeof StepContainerComponent, typeof WorkflowModelMonitorComponent, typeof ErrorComponent, typeof SpinnerComponent], [typeof i6.AppfxPropertyViewModule, typeof i7.AppfxA11yModule, typeof i8.HermesAlertModule, typeof i9.HermesIcon, typeof i10.HermesSpinnerModule, typeof i11.HermesStackViewModule, typeof i12.HermesSignpostModule, typeof i13.CommonModule, typeof i14.FormsModule, typeof i14.ReactiveFormsModule], [typeof ValidationBannerComponent, typeof ValidationBannerInternalComponent, typeof StepContainerComponent, typeof WorkflowModelMonitorComponent, typeof ErrorComponent, typeof SpinnerComponent]>;
|
|
830
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AppfxWorkflowCoreModule>;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
interface InDecoratorSchema {
|
|
834
|
+
/**
|
|
835
|
+
* If the property does not need to be always provided set optional to true
|
|
836
|
+
*/
|
|
837
|
+
optional?: boolean;
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* Decorates property with input mapping information
|
|
841
|
+
* which is used for injecting property value from another object.
|
|
842
|
+
*/
|
|
843
|
+
declare function In(inputMapping?: InDecoratorSchema): (prototype: any, srcPropName: string) => void;
|
|
844
|
+
|
|
845
|
+
/**
|
|
846
|
+
* Decorates property with output mapping information
|
|
847
|
+
* which is used for ejecting/outputting property value into another object.
|
|
848
|
+
*/
|
|
849
|
+
declare function Out(): (prototype: any, srcPropName: string) => void;
|
|
850
|
+
|
|
851
|
+
/**
|
|
852
|
+
* Close handler for Dialog and Wizard.
|
|
853
|
+
*/
|
|
854
|
+
interface CloseHandler {
|
|
855
|
+
/**
|
|
856
|
+
* Invoked when Dialog/Wizard is closed by clicking OK/Finish button
|
|
857
|
+
* Dialog/Wizard will wait for the result of the Observable, then the dialog will be closed.
|
|
858
|
+
*/
|
|
859
|
+
onSubmit: () => Observable<any>;
|
|
860
|
+
/**
|
|
861
|
+
* Invoked when Dialog/Wizard is closed by clicking Cancel button
|
|
862
|
+
*/
|
|
863
|
+
onCancel?: () => Observable<any>;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
declare class RelevanceService {
|
|
867
|
+
#private;
|
|
868
|
+
loading: boolean;
|
|
869
|
+
private isRelevantSubs;
|
|
870
|
+
private stepRelevanceChange$;
|
|
871
|
+
/**
|
|
872
|
+
* Workflow steps.
|
|
873
|
+
*/
|
|
874
|
+
set steps(steps: Step[]);
|
|
875
|
+
/**
|
|
876
|
+
* Checks for relevance check to complete.
|
|
877
|
+
*/
|
|
878
|
+
checkComplete$(): Observable<Step[]>;
|
|
879
|
+
destroy(): void;
|
|
880
|
+
/**
|
|
881
|
+
* Emits step which relevance has been changed
|
|
882
|
+
*/
|
|
883
|
+
onStepRelevanceChange$(): Observable<StepInternal>;
|
|
884
|
+
private bindIsRelevantListeners;
|
|
885
|
+
private unbindIsRelevantListeners;
|
|
886
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RelevanceService, never>;
|
|
887
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RelevanceService>;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
* Options:
|
|
892
|
+
* - `horizontal`: Default layout with horizontal alignment.
|
|
893
|
+
* - `vertical`: Tabs aligned vertically, typically for sidebar navigation.
|
|
894
|
+
* - `secondary`: Tabs styled horizontally as Clarity buttons for a secondary level of navigation.
|
|
895
|
+
*/
|
|
896
|
+
declare enum TabLayout {
|
|
897
|
+
horizontal = "horizontal",
|
|
898
|
+
vertical = "vertical",
|
|
899
|
+
secondary = "horizontal-secondary"
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
/**
|
|
903
|
+
* Interface that must be implemented by components passed via {@link WizardFooterConfig.componentClass}.
|
|
904
|
+
* The wizard injects the current step, all steps, and the workflow model whenever the active step changes.
|
|
905
|
+
*/
|
|
906
|
+
interface WizardFooter {
|
|
907
|
+
currentStep: Step;
|
|
908
|
+
steps: Step[];
|
|
909
|
+
workflowModel: WorkflowModel;
|
|
910
|
+
}
|
|
911
|
+
/**
|
|
912
|
+
* Configuration for the optional wizard footer component.
|
|
913
|
+
*/
|
|
914
|
+
interface WizardFooterConfig {
|
|
915
|
+
componentClass: Type<WizardFooter>;
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
declare const stringify: (value: any, propertyName?: string) => string | undefined;
|
|
919
|
+
declare const formatError: (error: any) => ActivationError;
|
|
920
|
+
|
|
921
|
+
export { AppfxWorkflowCoreModule, TabLayout as DialogLayout, ErrorComponent, In, Mappings, ModelChange, Out, RelevanceService, SpinnerComponent as Spinner, SpinnerComponent, StepContainerComponent as StepContainer, StepContainerComponent, StepValidationState, TabLayout, ValidationBannerComponent as ValidationBanner, ValidationBannerComponent, ValidationBannerInternalComponent as ValidationBannerInternal, ValidationBannerInternalComponent, Var, WorkflowConfigurationService, WorkflowModelManager, WorkflowModelMonitorComponent as WorkflowModelMonitor, WorkflowModelMonitorComponent, formatError, modalServiceToken, stringify };
|
|
922
|
+
export type { CancelableStepValidation, CloseHandler, InjectPropertiesResult, ModelChanges, OnStepActivate, OnStepValidate, Step, StepComponent, StepInternal, StepModel, StepModelFactory, StepModelHolder, WizardFooter, WizardFooterConfig, WorkflowModel };
|
|
923
|
+
//# sourceMappingURL=hermes-ui-angular-addons-var.d.ts.map
|