├── .cicd └── github.sh ├── .dockerignore ├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .github ├── main.workflow ├── pull_request_template.md └── workflows │ ├── main.yml │ ├── publish_docs.yml │ ├── publish_dotcms_ui.yml │ └── publish_webcomponents.yml ├── .gitignore ├── .husky └── pre-commit ├── .prettierignore ├── .prettierrc ├── .storybook ├── dotcms-theme.js ├── main.js └── tsconfig.json ├── .vscode ├── extensions.json └── settings.json ├── README.MD ├── angular.json ├── apps ├── .gitkeep ├── dotcdn-e2e │ ├── .eslintrc.json │ ├── cypress.json │ ├── project.json │ ├── src │ │ ├── fixtures │ │ │ └── example.json │ │ ├── integration │ │ │ └── app.spec.ts │ │ ├── plugins │ │ │ └── index.js │ │ └── support │ │ │ ├── app.po.ts │ │ │ ├── commands.ts │ │ │ └── index.ts │ ├── tsconfig.e2e.json │ └── tsconfig.json ├── dotcdn │ ├── .browserslistrc │ ├── .eslintrc.json │ ├── jest.config.js │ ├── karma.conf.js │ ├── project.json │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.scss │ │ │ ├── app.component.ts │ │ │ ├── app.models.ts │ │ │ ├── app.module.ts │ │ │ ├── dotcdn.component.store.spec.ts │ │ │ ├── dotcdn.component.store.ts │ │ │ ├── dotcdn.service.spec.ts │ │ │ └── dotcdn.service.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── jest.config.js │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ └── test-setup.ts │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ └── tsconfig.spec.json ├── dotcms-block-editor-e2e │ ├── .eslintrc.json │ ├── cypress.json │ ├── project.json │ ├── src │ │ ├── fixtures │ │ │ └── example.json │ │ ├── integration │ │ │ ├── app.component.spec.ts │ │ │ ├── app.spec.ts │ │ │ └── dot-block-editor │ │ │ │ └── dot-block-editor.component.spec.ts │ │ ├── plugins │ │ │ └── index.js │ │ └── support │ │ │ ├── app.po.ts │ │ │ ├── commands.ts │ │ │ └── index.ts │ ├── tsconfig.e2e.json │ └── tsconfig.json ├── dotcms-block-editor │ ├── .browserslistrc │ ├── .eslintrc.json │ ├── .storybook │ │ ├── main.js │ │ ├── manager.js │ │ ├── preview-head.html │ │ ├── preview.js │ │ └── tsconfig.json │ ├── karma.conf.js │ ├── project.json │ ├── src │ │ ├── app │ │ │ ├── app.component.html │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ └── dot-block-editor │ │ │ │ ├── dot-block-editor.component.html │ │ │ │ ├── dot-block-editor.component.scss │ │ │ │ ├── dot-block-editor.component.spec.ts │ │ │ │ ├── dot-block-editor.component.stories.ts │ │ │ │ └── dot-block-editor.component.ts │ │ ├── assets │ │ │ └── .gitkeep │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── main.ts │ │ ├── polyfills.ts │ │ ├── styles.scss │ │ └── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ └── tsconfig.spec.json ├── dotcms-ui-e2e │ ├── .eslintrc.json │ ├── cypress.json │ ├── project.json │ ├── src │ │ ├── fixtures │ │ │ └── Cypress-DB-Seed.tar.gz │ │ ├── index.d.ts │ │ ├── integration │ │ │ ├── DotTemplates │ │ │ │ └── index.spec.ts │ │ │ └── _setup │ │ │ │ └── index.spec.ts │ │ ├── pages │ │ │ ├── DotSiteBrowser │ │ │ │ ├── DotEditPage.ts │ │ │ │ └── DotSiteBrowser.ts │ │ │ └── DotTemplates │ │ │ │ └── DotTemplates.ts │ │ ├── plugins │ │ │ └── index.js │ │ └── support │ │ │ ├── commands.ts │ │ │ ├── index.ts │ │ │ └── shared │ │ │ ├── Form.ts │ │ │ ├── Navigation.ts │ │ │ ├── Page.ts │ │ │ └── Utils.ts │ ├── tsconfig.e2e.json │ └── tsconfig.json └── dotcms-ui │ ├── .browserslistrc │ ├── .eslintrc.json │ ├── .storybook │ ├── main.js │ ├── manager.js │ ├── preview-head.html │ ├── preview.js │ └── tsconfig.json │ ├── README.md │ ├── karma.conf.js │ ├── project.json │ ├── proxy.conf.json │ ├── src │ ├── app │ │ ├── api │ │ │ ├── services │ │ │ │ ├── add-to-bundle │ │ │ │ │ ├── add-to-bundle.service.spec.ts │ │ │ │ │ └── add-to-bundle.service.ts │ │ │ │ ├── add-to-menu │ │ │ │ │ ├── add-to-menu.service.spec.ts │ │ │ │ │ └── add-to-menu.service.ts │ │ │ │ ├── dot-account-service.spec.ts │ │ │ │ ├── dot-account-service.ts │ │ │ │ ├── dot-alert-confirm │ │ │ │ │ ├── dot-alert-confirm.service.spec.ts │ │ │ │ │ ├── dot-alert-confirm.service.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-apps │ │ │ │ │ ├── dot-apps.service.spec.ts │ │ │ │ │ └── dot-apps.service.ts │ │ │ │ ├── dot-content-type │ │ │ │ │ ├── dot-content-type.service.spec.ts │ │ │ │ │ ├── dot-content-type.service.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-content-types-info │ │ │ │ │ ├── dot-content-types-info.service.spec.ts │ │ │ │ │ ├── dot-content-types-info.service.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-contentlet-locker │ │ │ │ │ ├── dot-contentlet-locker.service.spec.ts │ │ │ │ │ └── dot-contentlet-locker.service.ts │ │ │ │ ├── dot-contentlet │ │ │ │ │ ├── dot-contentlet-service.spec.ts │ │ │ │ │ └── dot-contentlet.service.ts │ │ │ │ ├── dot-crud │ │ │ │ │ ├── dot-crud.service.spec.ts │ │ │ │ │ ├── dot-crud.service.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-current-user │ │ │ │ │ ├── dot-current-user.service.spec.ts │ │ │ │ │ └── dot-current-user.service.ts │ │ │ │ ├── dot-custom-event-handler │ │ │ │ │ ├── dot-custom-event-handler.service.spec.ts │ │ │ │ │ └── dot-custom-event-handler.service.ts │ │ │ │ ├── dot-devices │ │ │ │ │ ├── dot-devices.service.spec.ts │ │ │ │ │ └── dot-devices.service.ts │ │ │ │ ├── dot-download-bundle-dialog │ │ │ │ │ ├── dot-download-bundle-dialog.service.spec.ts │ │ │ │ │ └── dot-download-bundle-dialog.service.ts │ │ │ │ ├── dot-edit-layout │ │ │ │ │ ├── dot-edit-layout.service.spec.ts │ │ │ │ │ └── dot-edit-layout.service.ts │ │ │ │ ├── dot-edit-page │ │ │ │ │ ├── dot-edit-page.service.spec.ts │ │ │ │ │ └── dot-edit-page.service.ts │ │ │ │ ├── dot-es-content │ │ │ │ │ ├── dot-es-content.service.spec.ts │ │ │ │ │ └── dot-es-content.service.ts │ │ │ │ ├── dot-events │ │ │ │ │ ├── dot-events.service.spec.ts │ │ │ │ │ └── dot-events.service.ts │ │ │ │ ├── dot-format-date-service.ts │ │ │ │ ├── dot-generate-secure-password │ │ │ │ │ ├── dot-generate-secure-password.service.spec.ts │ │ │ │ │ └── dot-generate-secure-password.service.ts │ │ │ │ ├── dot-gravatar-service.ts │ │ │ │ ├── dot-gravatar.service.spec.ts │ │ │ │ ├── dot-http-error-manager │ │ │ │ │ ├── dot-http-error-manager.service.spec.ts │ │ │ │ │ └── dot-http-error-manager.service.ts │ │ │ │ ├── dot-languages │ │ │ │ │ ├── dot-languages.service.spec.ts │ │ │ │ │ └── dot-languages.service.ts │ │ │ │ ├── dot-license │ │ │ │ │ ├── dot-license.service.spec.ts │ │ │ │ │ └── dot-license.service.ts │ │ │ │ ├── dot-localstorage │ │ │ │ │ ├── dot-localstorage.service.spec.ts │ │ │ │ │ └── dot-localstorage.service.ts │ │ │ │ ├── dot-menu.service.ts │ │ │ │ ├── dot-message │ │ │ │ │ ├── dot-messages.service.spec.ts │ │ │ │ │ └── dot-messages.service.ts │ │ │ │ ├── dot-nav-logo │ │ │ │ │ ├── dot-nav-logo.service.spec.ts │ │ │ │ │ └── dot-nav-logo.service.ts │ │ │ │ ├── dot-page-layout │ │ │ │ │ ├── dot-page-layout.service.spec.ts │ │ │ │ │ └── dot-page-layout.service.ts │ │ │ │ ├── dot-page-render │ │ │ │ │ ├── dot-page-render.service.spec.ts │ │ │ │ │ └── dot-page-render.service.ts │ │ │ │ ├── dot-parse-html │ │ │ │ │ ├── dot-parse-html.service.spec.ts │ │ │ │ │ └── dot-parse-html.service.ts │ │ │ │ ├── dot-personalize │ │ │ │ │ ├── dot-personalize.service.spec.ts │ │ │ │ │ └── dot-personalize.service.ts │ │ │ │ ├── dot-personas │ │ │ │ │ ├── dot-personas.service.spec.ts │ │ │ │ │ └── dot-personas.service.ts │ │ │ │ ├── dot-properties │ │ │ │ │ ├── dot-properties.service.spec.ts │ │ │ │ │ └── dot-properties.service.ts │ │ │ │ ├── dot-push-publish-filters │ │ │ │ │ ├── dot-push-publish-filters.service.spec.ts │ │ │ │ │ └── dot-push-publish-filters.service.ts │ │ │ │ ├── dot-roles │ │ │ │ │ ├── dot-roles.service.spec.ts │ │ │ │ │ └── dot-roles.service.ts │ │ │ │ ├── dot-router │ │ │ │ │ ├── dot-router.service.spec.ts │ │ │ │ │ └── dot-router.service.ts │ │ │ │ ├── dot-site-browser │ │ │ │ │ ├── dot-site-browser.service.spec.ts │ │ │ │ │ └── dot-site-browser.service.ts │ │ │ │ ├── dot-tags │ │ │ │ │ ├── dot-tags.service.spec.ts │ │ │ │ │ └── dot-tags.service.ts │ │ │ │ ├── dot-temp-file-upload │ │ │ │ │ ├── dot-temp-file-upload.service.spec.ts │ │ │ │ │ └── dot-temp-file-upload.service.ts │ │ │ │ ├── dot-template-containers-cache │ │ │ │ │ ├── dot-template-containers-cache.service.ts │ │ │ │ │ └── dot-template-containers-cache.spec.ts │ │ │ │ ├── dot-templates │ │ │ │ │ ├── dot-templates.service.spec.ts │ │ │ │ │ └── dot-templates.service.ts │ │ │ │ ├── dot-themes │ │ │ │ │ ├── dot-themes.service.spec.ts │ │ │ │ │ └── dot-themes.service.ts │ │ │ │ ├── dot-ui-colors │ │ │ │ │ ├── dot-ui-colors.service.spec.ts │ │ │ │ │ └── dot-ui-colors.service.ts │ │ │ │ ├── dot-verionable │ │ │ │ │ ├── dot-versionable.service.spec.ts │ │ │ │ │ └── dot-versionable.service.ts │ │ │ │ ├── dot-wizard │ │ │ │ │ ├── dot-wizard.service.spec.ts │ │ │ │ │ └── dot-wizard.service.ts │ │ │ │ ├── dot-workflow-actions-fire │ │ │ │ │ ├── dot-workflow-actions-fire.service.spec.ts │ │ │ │ │ └── dot-workflow-actions-fire.service.ts │ │ │ │ ├── dot-workflow-event-handler │ │ │ │ │ ├── dot-workflow-event-handler.service.spec.ts │ │ │ │ │ └── dot-workflow-event-handler.service.ts │ │ │ │ ├── dot-workflow │ │ │ │ │ ├── dot-workflow.service.spec.ts │ │ │ │ │ └── dot-workflow.service.ts │ │ │ │ ├── dot-workflows-actions │ │ │ │ │ ├── dot-workflows-actions.service.spec.ts │ │ │ │ │ └── dot-workflows-actions.service.ts │ │ │ │ ├── guards │ │ │ │ │ ├── auth-guard.service.spec.ts │ │ │ │ │ ├── auth-guard.service.ts │ │ │ │ │ ├── contentlet-guard.service.spec.ts │ │ │ │ │ ├── contentlet-guard.service.ts │ │ │ │ │ ├── default-guard.service.spec.ts │ │ │ │ │ ├── default-guard.service.ts │ │ │ │ │ ├── layout-editor-can-deactivate-guard.service.spec.ts │ │ │ │ │ ├── layout-editor-can-deactivate-guard.service.ts │ │ │ │ │ ├── menu-guard.service.spec.ts │ │ │ │ │ ├── menu-guard.service.ts │ │ │ │ │ ├── public-auth-guard.service.spec.ts │ │ │ │ │ └── public-auth-guard.service.ts │ │ │ │ ├── notifications-service.ts │ │ │ │ ├── paginator │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── paginator.service.spec.ts │ │ │ │ │ └── paginator.service.ts │ │ │ │ └── push-publish │ │ │ │ │ ├── push-publish.service.spec.ts │ │ │ │ │ └── push-publish.service.ts │ │ │ └── util │ │ │ │ ├── ColorUtil.ts │ │ │ │ ├── clipboard │ │ │ │ ├── ClipboardUtil.spec.ts │ │ │ │ └── ClipboardUtil.ts │ │ │ │ ├── string-pixels-util.spec.ts │ │ │ │ ├── string-pixels-util.ts │ │ │ │ └── stringFormat.ts │ │ ├── app-routing.module.ts │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── components.ts │ │ ├── modules.ts │ │ ├── portlets │ │ │ ├── dot-apps │ │ │ │ ├── dot-apps-configuration-detail │ │ │ │ │ ├── dot-apps-configuration-detail-form │ │ │ │ │ │ ├── dot-apps-configuration-detail-form.component.html │ │ │ │ │ │ ├── dot-apps-configuration-detail-form.component.scss │ │ │ │ │ │ ├── dot-apps-configuration-detail-form.component.spec.ts │ │ │ │ │ │ ├── dot-apps-configuration-detail-form.component.ts │ │ │ │ │ │ └── dot-apps-configuration-detail-form.module.ts │ │ │ │ │ ├── dot-apps-configuration-detail-resolver.service.spec.ts │ │ │ │ │ ├── dot-apps-configuration-detail-resolver.service.ts │ │ │ │ │ ├── dot-apps-configuration-detail.component.html │ │ │ │ │ ├── dot-apps-configuration-detail.component.scss │ │ │ │ │ ├── dot-apps-configuration-detail.component.spec.ts │ │ │ │ │ ├── dot-apps-configuration-detail.component.ts │ │ │ │ │ └── dot-apps-configuration-detail.module.ts │ │ │ │ ├── dot-apps-configuration-header │ │ │ │ │ ├── dot-apps-configuration-header.component.html │ │ │ │ │ ├── dot-apps-configuration-header.component.scss │ │ │ │ │ ├── dot-apps-configuration-header.component.spec.ts │ │ │ │ │ ├── dot-apps-configuration-header.component.ts │ │ │ │ │ └── dot-apps-configuration-header.module.ts │ │ │ │ ├── dot-apps-configuration │ │ │ │ │ ├── dot-apps-configuration-list │ │ │ │ │ │ ├── dot-apps-configuration-item │ │ │ │ │ │ │ ├── dot-apps-configuration-item.component.html │ │ │ │ │ │ │ ├── dot-apps-configuration-item.component.scss │ │ │ │ │ │ │ ├── dot-apps-configuration-item.component.spec.ts │ │ │ │ │ │ │ ├── dot-apps-configuration-item.component.ts │ │ │ │ │ │ │ └── dot-apps-configuration-item.module.ts │ │ │ │ │ │ ├── dot-apps-configuration-list.component.html │ │ │ │ │ │ ├── dot-apps-configuration-list.component.scss │ │ │ │ │ │ ├── dot-apps-configuration-list.component.spec.ts │ │ │ │ │ │ ├── dot-apps-configuration-list.component.ts │ │ │ │ │ │ └── dot-apps-configuration-list.module.ts │ │ │ │ │ ├── dot-apps-configuration-resolver.service.spec.ts │ │ │ │ │ ├── dot-apps-configuration-resolver.service.ts │ │ │ │ │ ├── dot-apps-configuration.component.html │ │ │ │ │ ├── dot-apps-configuration.component.scss │ │ │ │ │ ├── dot-apps-configuration.component.spec.ts │ │ │ │ │ ├── dot-apps-configuration.component.ts │ │ │ │ │ └── dot-apps-configuration.module.ts │ │ │ │ ├── dot-apps-import-export-dialog │ │ │ │ │ ├── dot-apps-import-export-dialog.component.html │ │ │ │ │ ├── dot-apps-import-export-dialog.component.scss │ │ │ │ │ ├── dot-apps-import-export-dialog.component.spec.ts │ │ │ │ │ ├── dot-apps-import-export-dialog.component.ts │ │ │ │ │ └── dot-apps-import-export-dialog.module.ts │ │ │ │ ├── dot-apps-list │ │ │ │ │ ├── dot-apps-card │ │ │ │ │ │ ├── dot-apps-card.component.html │ │ │ │ │ │ ├── dot-apps-card.component.scss │ │ │ │ │ │ ├── dot-apps-card.component.spec.ts │ │ │ │ │ │ ├── dot-apps-card.component.ts │ │ │ │ │ │ └── dot-apps-card.module.ts │ │ │ │ │ ├── dot-apps-list-resolver.service.spec.ts │ │ │ │ │ ├── dot-apps-list-resolver.service.ts │ │ │ │ │ ├── dot-apps-list.component.html │ │ │ │ │ ├── dot-apps-list.component.scss │ │ │ │ │ ├── dot-apps-list.component.spec.ts │ │ │ │ │ ├── dot-apps-list.component.ts │ │ │ │ │ └── dot-apps-list.module.ts │ │ │ │ ├── dot-apps-routing.module.ts │ │ │ │ └── dot-apps.module.ts │ │ │ ├── dot-content-types │ │ │ │ ├── dot-content-types-routing.module.ts │ │ │ │ └── dot-content-types.module.ts │ │ │ ├── dot-edit-page │ │ │ │ ├── components │ │ │ │ │ ├── dot-edit-page-info │ │ │ │ │ │ ├── dot-edit-page-info.component.html │ │ │ │ │ │ ├── dot-edit-page-info.component.scss │ │ │ │ │ │ ├── dot-edit-page-info.component.spec.ts │ │ │ │ │ │ ├── dot-edit-page-info.component.ts │ │ │ │ │ │ └── dot-edit-page-info.module.ts │ │ │ │ │ └── dot-palette │ │ │ │ │ │ ├── dot-palette-content-type │ │ │ │ │ │ ├── dot-palette-content-type.component.html │ │ │ │ │ │ ├── dot-palette-content-type.component.scss │ │ │ │ │ │ ├── dot-palette-content-type.component.spec.ts │ │ │ │ │ │ ├── dot-palette-content-type.component.ts │ │ │ │ │ │ └── dot-palette-content-type.module.ts │ │ │ │ │ │ ├── dot-palette-contentlets │ │ │ │ │ │ ├── dot-palette-contentlets.component.html │ │ │ │ │ │ ├── dot-palette-contentlets.component.scss │ │ │ │ │ │ ├── dot-palette-contentlets.component.spec.ts │ │ │ │ │ │ ├── dot-palette-contentlets.component.ts │ │ │ │ │ │ └── dot-palette-contentlets.module.ts │ │ │ │ │ │ ├── dot-palette-input-filter │ │ │ │ │ │ ├── dot-palette-input-filter.component.html │ │ │ │ │ │ ├── dot-palette-input-filter.component.scss │ │ │ │ │ │ ├── dot-palette-input-filter.component.spec.ts │ │ │ │ │ │ ├── dot-palette-input-filter.component.ts │ │ │ │ │ │ └── dot-palette-input-filter.module.ts │ │ │ │ │ │ ├── dot-palette.component.html │ │ │ │ │ │ ├── dot-palette.component.scss │ │ │ │ │ │ ├── dot-palette.component.spec.ts │ │ │ │ │ │ ├── dot-palette.component.stories.ts │ │ │ │ │ │ ├── dot-palette.component.ts │ │ │ │ │ │ ├── dot-palette.module.ts │ │ │ │ │ │ └── store │ │ │ │ │ │ ├── dot-palette.store.spec.ts │ │ │ │ │ │ └── dot-palette.store.ts │ │ │ │ ├── content │ │ │ │ │ ├── components │ │ │ │ │ │ ├── dot-edit-page-state-controller │ │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ │ └── dot-edit-page-lock-info │ │ │ │ │ │ │ │ │ ├── dot-edit-page-lock-info.component.html │ │ │ │ │ │ │ │ │ ├── dot-edit-page-lock-info.component.scss │ │ │ │ │ │ │ │ │ ├── dot-edit-page-lock-info.component.spec.ts │ │ │ │ │ │ │ │ │ └── dot-edit-page-lock-info.component.ts │ │ │ │ │ │ │ ├── dot-edit-page-state-controller.component.html │ │ │ │ │ │ │ ├── dot-edit-page-state-controller.component.scss │ │ │ │ │ │ │ ├── dot-edit-page-state-controller.component.spec.ts │ │ │ │ │ │ │ ├── dot-edit-page-state-controller.component.ts │ │ │ │ │ │ │ └── dot-edit-page-state-controller.module.ts │ │ │ │ │ │ ├── dot-edit-page-toolbar │ │ │ │ │ │ │ ├── dot-edit-page-toolbar.component.html │ │ │ │ │ │ │ ├── dot-edit-page-toolbar.component.scss │ │ │ │ │ │ │ ├── dot-edit-page-toolbar.component.spec.ts │ │ │ │ │ │ │ ├── dot-edit-page-toolbar.component.ts │ │ │ │ │ │ │ └── dot-edit-page-toolbar.module.ts │ │ │ │ │ │ ├── dot-edit-page-view-as-controller │ │ │ │ │ │ │ ├── dot-edit-page-view-as-controller.component.html │ │ │ │ │ │ │ ├── dot-edit-page-view-as-controller.component.scss │ │ │ │ │ │ │ ├── dot-edit-page-view-as-controller.component.spec.ts │ │ │ │ │ │ │ ├── dot-edit-page-view-as-controller.component.ts │ │ │ │ │ │ │ └── dot-edit-page-view-as-controller.module.ts │ │ │ │ │ │ ├── dot-edit-page-workflows-actions │ │ │ │ │ │ │ ├── dot-edit-page-workflows-actions.component.html │ │ │ │ │ │ │ ├── dot-edit-page-workflows-actions.component.scss │ │ │ │ │ │ │ ├── dot-edit-page-workflows-actions.component.spec.ts │ │ │ │ │ │ │ ├── dot-edit-page-workflows-actions.component.ts │ │ │ │ │ │ │ └── dot-edit-page-workflows-actions.module.ts │ │ │ │ │ │ ├── dot-form-selector │ │ │ │ │ │ │ ├── dot-form-selector.component.html │ │ │ │ │ │ │ ├── dot-form-selector.component.scss │ │ │ │ │ │ │ ├── dot-form-selector.component.spec.ts │ │ │ │ │ │ │ ├── dot-form-selector.component.ts │ │ │ │ │ │ │ └── dot-form-selector.module.ts │ │ │ │ │ │ └── dot-whats-changed │ │ │ │ │ │ │ ├── dot-whats-changed.component.html │ │ │ │ │ │ │ ├── dot-whats-changed.component.scss │ │ │ │ │ │ │ ├── dot-whats-changed.component.spec.ts │ │ │ │ │ │ │ ├── dot-whats-changed.component.ts │ │ │ │ │ │ │ └── dot-whats-changed.module.ts │ │ │ │ │ ├── dot-edit-content.component.html │ │ │ │ │ ├── dot-edit-content.component.scss │ │ │ │ │ ├── dot-edit-content.component.spec.ts │ │ │ │ │ ├── dot-edit-content.component.ts │ │ │ │ │ ├── dot-edit-content.module.ts │ │ │ │ │ └── services │ │ │ │ │ │ ├── dot-container-contentlet.service.spec.ts │ │ │ │ │ │ ├── dot-container-contentlet.service.ts │ │ │ │ │ │ ├── dot-edit-content-html │ │ │ │ │ │ ├── dot-edit-content-html.service.spec.ts │ │ │ │ │ │ ├── dot-edit-content-html.service.ts │ │ │ │ │ │ └── models │ │ │ │ │ │ │ ├── dot-contentlets-events.model.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── page-model-change-event.ts │ │ │ │ │ │ │ └── page-model-change-event.type.ts │ │ │ │ │ │ ├── dot-page-state │ │ │ │ │ │ ├── dot-page-state.service.spec.ts │ │ │ │ │ │ └── dot-page-state.service.ts │ │ │ │ │ │ └── html │ │ │ │ │ │ ├── dot-dom-html-util.service.spec.ts │ │ │ │ │ │ ├── dot-dom-html-util.service.ts │ │ │ │ │ │ ├── dot-drag-drop-api-html.service.spec.ts │ │ │ │ │ │ ├── dot-drag-drop-api-html.service.ts │ │ │ │ │ │ ├── dot-edit-content-toolbar-html.service.spec.ts │ │ │ │ │ │ ├── dot-edit-content-toolbar-html.service.ts │ │ │ │ │ │ └── libraries │ │ │ │ │ │ ├── autoscroller.js.ts │ │ │ │ │ │ ├── dragula.css.ts │ │ │ │ │ │ ├── dragula.min.js.ts │ │ │ │ │ │ ├── iframe-edit-mode.css.ts │ │ │ │ │ │ ├── iframe-edit-mode.js.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── inline-edit-mode.js.ts │ │ │ │ ├── dot-edit-page-routing.module.ts │ │ │ │ ├── dot-edit-page.module.ts │ │ │ │ ├── layout │ │ │ │ │ ├── components │ │ │ │ │ │ └── dot-template-additional-actions │ │ │ │ │ │ │ ├── dot-legacy-template-additional-actions-iframe │ │ │ │ │ │ │ ├── dot-legacy-template-additional-actions-iframe.component.html │ │ │ │ │ │ │ ├── dot-legacy-template-additional-actions-iframe.component.spec.ts │ │ │ │ │ │ │ ├── dot-legacy-template-additional-actions-iframe.component.ts │ │ │ │ │ │ │ └── dot-legacy-template-additional-actions-iframe.module.ts │ │ │ │ │ │ │ ├── dot-template-additional-actions-routing.module.ts │ │ │ │ │ │ │ └── dot-template-additional-actions.module.ts │ │ │ │ │ ├── dot-edit-layout.module.ts │ │ │ │ │ └── dot-edit-layout │ │ │ │ │ │ ├── dot-edit-layout.component.html │ │ │ │ │ │ ├── dot-edit-layout.component.scss │ │ │ │ │ │ ├── dot-edit-layout.component.spec.ts │ │ │ │ │ │ └── dot-edit-layout.component.ts │ │ │ │ ├── main │ │ │ │ │ ├── dot-edit-page-main │ │ │ │ │ │ ├── dot-edit-page-main.component.html │ │ │ │ │ │ ├── dot-edit-page-main.component.scss │ │ │ │ │ │ ├── dot-edit-page-main.component.spec.ts │ │ │ │ │ │ ├── dot-edit-page-main.component.ts │ │ │ │ │ │ └── dot-edit-page-main.module.ts │ │ │ │ │ └── dot-edit-page-nav │ │ │ │ │ │ ├── dot-edit-page-nav.component.html │ │ │ │ │ │ ├── dot-edit-page-nav.component.scss │ │ │ │ │ │ ├── dot-edit-page-nav.component.spec.ts │ │ │ │ │ │ ├── dot-edit-page-nav.component.ts │ │ │ │ │ │ └── dot-edit-page-nav.module.ts │ │ │ │ └── shared │ │ │ │ │ ├── models │ │ │ │ │ ├── dot-page-content.model.ts │ │ │ │ │ ├── dot-rendered-page-state.model.ts │ │ │ │ │ ├── dot-site.model.ts │ │ │ │ │ └── index.ts │ │ │ │ │ └── services │ │ │ │ │ └── dot-edit-page-resolver │ │ │ │ │ ├── dot-edit-page-resolver.service.spec.ts │ │ │ │ │ └── dot-edit-page-resolver.service.ts │ │ │ ├── dot-form-builder │ │ │ │ ├── dot-form-builder-routing.module.ts │ │ │ │ ├── dot-form-builder.component.html │ │ │ │ ├── dot-form-builder.component.scss │ │ │ │ ├── dot-form-builder.component.spec.ts │ │ │ │ ├── dot-form-builder.component.ts │ │ │ │ ├── dot-form-builder.module.ts │ │ │ │ └── resolvers │ │ │ │ │ ├── dot-form-resolver.service.spec.ts │ │ │ │ │ └── dot-form-resolver.service.ts │ │ │ ├── dot-porlet-detail │ │ │ │ ├── dot-contentlets │ │ │ │ │ ├── dot-contentlets.component.spec.ts │ │ │ │ │ ├── dot-contentlets.component.ts │ │ │ │ │ └── dot-contentlets.module.ts │ │ │ │ ├── dot-portlet-detail.component.html │ │ │ │ ├── dot-portlet-detail.component.scss │ │ │ │ ├── dot-portlet-detail.component.spec.ts │ │ │ │ ├── dot-portlet-detail.component.ts │ │ │ │ ├── dot-portlet-detail.module.ts │ │ │ │ └── dot-workflow-task │ │ │ │ │ ├── dot-workflow-task.component.spec.ts │ │ │ │ │ ├── dot-workflow-task.component.ts │ │ │ │ │ └── dot-workflow-task.module.ts │ │ │ ├── dot-rules │ │ │ │ └── dot-rules.module.ts │ │ │ ├── dot-starter │ │ │ │ ├── dot-starter-resolver.service.spec.ts │ │ │ │ ├── dot-starter-resolver.service.ts │ │ │ │ ├── dot-starter-routing.module.ts │ │ │ │ ├── dot-starter.component.html │ │ │ │ ├── dot-starter.component.scss │ │ │ │ ├── dot-starter.component.spec.ts │ │ │ │ ├── dot-starter.component.ts │ │ │ │ └── dot-starter.module.ts │ │ │ ├── dot-templates │ │ │ │ ├── dot-template-create-edit │ │ │ │ │ ├── dot-template-advanced │ │ │ │ │ │ ├── dot-template-advanced.component.html │ │ │ │ │ │ ├── dot-template-advanced.component.spec.ts │ │ │ │ │ │ ├── dot-template-advanced.component.ts │ │ │ │ │ │ ├── dot-template-advanced.module.ts │ │ │ │ │ │ └── dot-template-advanced.scss │ │ │ │ │ ├── dot-template-builder │ │ │ │ │ │ ├── dot-template-builder.component.html │ │ │ │ │ │ ├── dot-template-builder.component.scss │ │ │ │ │ │ ├── dot-template-builder.component.spec.ts │ │ │ │ │ │ ├── dot-template-builder.component.ts │ │ │ │ │ │ └── dot-template-builder.module.ts │ │ │ │ │ ├── dot-template-create-edit-routing.module.ts │ │ │ │ │ ├── dot-template-create-edit.component.html │ │ │ │ │ ├── dot-template-create-edit.component.scss │ │ │ │ │ ├── dot-template-create-edit.component.spec.ts │ │ │ │ │ ├── dot-template-create-edit.component.ts │ │ │ │ │ ├── dot-template-create-edit.module.ts │ │ │ │ │ ├── dot-template-new │ │ │ │ │ │ ├── dot-template-new-routing.module.ts │ │ │ │ │ │ ├── dot-template-new.component.html │ │ │ │ │ │ ├── dot-template-new.component.scss │ │ │ │ │ │ ├── dot-template-new.component.spec.ts │ │ │ │ │ │ ├── dot-template-new.component.ts │ │ │ │ │ │ ├── dot-template-new.module.ts │ │ │ │ │ │ └── guards │ │ │ │ │ │ │ ├── dot-template.guard.spec.ts │ │ │ │ │ │ │ └── dot-template.guard.ts │ │ │ │ │ ├── dot-template-props │ │ │ │ │ │ ├── dot-template-props.component.html │ │ │ │ │ │ ├── dot-template-props.component.scss │ │ │ │ │ │ ├── dot-template-props.component.spec.ts │ │ │ │ │ │ ├── dot-template-props.component.ts │ │ │ │ │ │ ├── dot-template-props.module.ts │ │ │ │ │ │ └── dot-template-thumbnail-field │ │ │ │ │ │ │ ├── dot-template-thumbnail-field.component.html │ │ │ │ │ │ │ ├── dot-template-thumbnail-field.component.scss │ │ │ │ │ │ │ ├── dot-template-thumbnail-field.component.spec.ts │ │ │ │ │ │ │ ├── dot-template-thumbnail-field.component.ts │ │ │ │ │ │ │ └── dot-template-thumbnail-field.module.ts │ │ │ │ │ ├── resolvers │ │ │ │ │ │ ├── dot-template-create-edit.resolver.spec.ts │ │ │ │ │ │ └── dot-template-create-edit.resolver.ts │ │ │ │ │ └── store │ │ │ │ │ │ ├── dot-template.store.spec.ts │ │ │ │ │ │ └── dot-template.store.ts │ │ │ │ ├── dot-template-list │ │ │ │ │ ├── components │ │ │ │ │ │ └── dot-template-selector │ │ │ │ │ │ │ ├── dot-template-selector.component.html │ │ │ │ │ │ │ ├── dot-template-selector.component.scss │ │ │ │ │ │ │ ├── dot-template-selector.component.spec.ts │ │ │ │ │ │ │ ├── dot-template-selector.component.ts │ │ │ │ │ │ │ ├── dot-template-selector.module.ts │ │ │ │ │ │ │ └── dot-template-selector.stories.ts │ │ │ │ │ ├── dot-template-list-resolver.service.spec.ts │ │ │ │ │ ├── dot-template-list-resolver.service.ts │ │ │ │ │ ├── dot-template-list.component.html │ │ │ │ │ ├── dot-template-list.component.scss │ │ │ │ │ ├── dot-template-list.component.spec.ts │ │ │ │ │ ├── dot-template-list.component.ts │ │ │ │ │ └── dot-template-list.module.ts │ │ │ │ ├── dot-templates-routing.module.ts │ │ │ │ └── dot-templates.module.ts │ │ │ └── shared │ │ │ │ ├── dot-content-types-edit │ │ │ │ ├── components │ │ │ │ │ ├── fields │ │ │ │ │ │ ├── content-type-field-dragabble-item │ │ │ │ │ │ │ ├── content-type-field-dragabble-item.component.html │ │ │ │ │ │ │ ├── content-type-field-dragabble-item.component.scss │ │ │ │ │ │ │ ├── content-type-field-dragabble-item.component.spec.ts │ │ │ │ │ │ │ ├── content-type-field-dragabble-item.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── content-type-fields-add-row │ │ │ │ │ │ │ ├── content-type-fields-add-row.component.html │ │ │ │ │ │ │ ├── content-type-fields-add-row.component.scss │ │ │ │ │ │ │ ├── content-type-fields-add-row.component.spec.ts │ │ │ │ │ │ │ ├── content-type-fields-add-row.component.ts │ │ │ │ │ │ │ ├── content-type-fields-add-row.module.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── content-type-fields-drop-zone │ │ │ │ │ │ │ ├── content-type-fields-drop-zone.component.html │ │ │ │ │ │ │ ├── content-type-fields-drop-zone.component.scss │ │ │ │ │ │ │ ├── content-type-fields-drop-zone.component.spec.ts │ │ │ │ │ │ │ ├── content-type-fields-drop-zone.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── content-type-fields-properties-form │ │ │ │ │ │ │ ├── content-type-fields-properties-form.component.html │ │ │ │ │ │ │ ├── content-type-fields-properties-form.component.scss │ │ │ │ │ │ │ ├── content-type-fields-properties-form.component.spec.ts │ │ │ │ │ │ │ ├── content-type-fields-properties-form.component.ts │ │ │ │ │ │ │ ├── field-properties │ │ │ │ │ │ │ │ ├── categories-property │ │ │ │ │ │ │ │ │ ├── categories-property.component.html │ │ │ │ │ │ │ │ │ ├── categories-property.component.spec.ts │ │ │ │ │ │ │ │ │ ├── categories-property.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── checkbox-property │ │ │ │ │ │ │ │ │ ├── checkbox-property.component.html │ │ │ │ │ │ │ │ │ ├── checkbox-property.component.spec.ts │ │ │ │ │ │ │ │ │ ├── checkbox-property.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── data-type-property │ │ │ │ │ │ │ │ │ ├── data-type-property.component.html │ │ │ │ │ │ │ │ │ ├── data-type-property.component.spec.ts │ │ │ │ │ │ │ │ │ ├── data-type-property.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── default-value-property │ │ │ │ │ │ │ │ │ ├── default-value-property.component.html │ │ │ │ │ │ │ │ │ ├── default-value-property.component.spec.ts │ │ │ │ │ │ │ │ │ ├── default-value-property.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── dot-relationships-property │ │ │ │ │ │ │ │ │ ├── dot-cardinality-selector │ │ │ │ │ │ │ │ │ │ ├── dot-cardinality-selector.component.html │ │ │ │ │ │ │ │ │ │ ├── dot-cardinality-selector.component.scss │ │ │ │ │ │ │ │ │ │ ├── dot-cardinality-selector.component.spec.ts │ │ │ │ │ │ │ │ │ │ └── dot-cardinality-selector.component.ts │ │ │ │ │ │ │ │ │ ├── dot-edit-relationship │ │ │ │ │ │ │ │ │ │ ├── dot-edit-relationships.component.html │ │ │ │ │ │ │ │ │ │ ├── dot-edit-relationships.component.spec.ts │ │ │ │ │ │ │ │ │ │ └── dot-edit-relationships.component.ts │ │ │ │ │ │ │ │ │ ├── dot-new-relationships │ │ │ │ │ │ │ │ │ │ ├── dot-new-relationships.component.html │ │ │ │ │ │ │ │ │ │ ├── dot-new-relationships.component.scss │ │ │ │ │ │ │ │ │ │ ├── dot-new-relationships.component.spec.ts │ │ │ │ │ │ │ │ │ │ └── dot-new-relationships.component.ts │ │ │ │ │ │ │ │ │ ├── dot-relationships-property.component.html │ │ │ │ │ │ │ │ │ ├── dot-relationships-property.component.scss │ │ │ │ │ │ │ │ │ ├── dot-relationships-property.component.spec.ts │ │ │ │ │ │ │ │ │ ├── dot-relationships-property.component.ts │ │ │ │ │ │ │ │ │ ├── dot-relationships.module.ts │ │ │ │ │ │ │ │ │ ├── model │ │ │ │ │ │ │ │ │ │ ├── dot-relationship-cardinality.model.ts │ │ │ │ │ │ │ │ │ │ ├── dot-relationship.model.ts │ │ │ │ │ │ │ │ │ │ └── dot-relationships-property-value.model.ts │ │ │ │ │ │ │ │ │ └── services │ │ │ │ │ │ │ │ │ │ ├── dot-edit-content-type-cache.service.spec.ts │ │ │ │ │ │ │ │ │ │ ├── dot-edit-content-type-cache.service.ts │ │ │ │ │ │ │ │ │ │ ├── dot-relationship.service.spec.ts │ │ │ │ │ │ │ │ │ │ ├── dot-relationship.service.ts │ │ │ │ │ │ │ │ │ │ └── validators │ │ │ │ │ │ │ │ │ │ ├── dot-relationship-validator.spec.ts │ │ │ │ │ │ │ │ │ │ ├── dot-relationship-validator.ts │ │ │ │ │ │ │ │ │ │ ├── no-whitespace-validator.spec.ts │ │ │ │ │ │ │ │ │ │ └── no-whitespace-validator.ts │ │ │ │ │ │ │ │ ├── dynamic-field-property-directive │ │ │ │ │ │ │ │ │ ├── dynamic-field-property.directive.spec.ts │ │ │ │ │ │ │ │ │ └── dynamic-field-property.directive.ts │ │ │ │ │ │ │ │ ├── field-properties.model.ts │ │ │ │ │ │ │ │ ├── hint-property │ │ │ │ │ │ │ │ │ ├── hint-property.component.html │ │ │ │ │ │ │ │ │ ├── hint-property.component.spec.ts │ │ │ │ │ │ │ │ │ ├── hint-property.component.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── name-property │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── name-property.component.html │ │ │ │ │ │ │ │ │ ├── name-property.component.scss │ │ │ │ │ │ │ │ │ ├── name-property.component.spec.ts │ │ │ │ │ │ │ │ │ └── name-property.component.ts │ │ │ │ │ │ │ │ ├── regex-check-property │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── regex-check-property.component.html │ │ │ │ │ │ │ │ │ ├── regex-check-property.component.scss │ │ │ │ │ │ │ │ │ ├── regex-check-property.component.spec.ts │ │ │ │ │ │ │ │ │ └── regex-check-property.component.ts │ │ │ │ │ │ │ │ └── values-property │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── values-property.component.html │ │ │ │ │ │ │ │ │ ├── values-property.component.scss │ │ │ │ │ │ │ │ │ ├── values-property.component.spec.ts │ │ │ │ │ │ │ │ │ └── values-property.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── content-type-fields-row │ │ │ │ │ │ │ ├── content-type-fields-row.component.html │ │ │ │ │ │ │ ├── content-type-fields-row.component.scss │ │ │ │ │ │ │ ├── content-type-fields-row.component.spec.ts │ │ │ │ │ │ │ ├── content-type-fields-row.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── content-type-fields-tab │ │ │ │ │ │ │ ├── content-type-fields-tab.component.html │ │ │ │ │ │ │ ├── content-type-fields-tab.component.scss │ │ │ │ │ │ │ ├── content-type-fields-tab.component.spec.ts │ │ │ │ │ │ │ ├── content-type-fields-tab.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── content-types-fields-list │ │ │ │ │ │ │ ├── content-types-fields-icon-map.ts │ │ │ │ │ │ │ ├── content-types-fields-list.component.html │ │ │ │ │ │ │ ├── content-types-fields-list.component.scss │ │ │ │ │ │ │ ├── content-types-fields-list.component.spec.ts │ │ │ │ │ │ │ ├── content-types-fields-list.component.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── dot-content-type-fields-variables │ │ │ │ │ │ │ ├── dot-content-type-fields-variables.component.html │ │ │ │ │ │ │ ├── dot-content-type-fields-variables.component.scss │ │ │ │ │ │ │ ├── dot-content-type-fields-variables.component.spec.ts │ │ │ │ │ │ │ ├── dot-content-type-fields-variables.component.ts │ │ │ │ │ │ │ ├── dot-content-type-fields-variables.module.ts │ │ │ │ │ │ │ ├── models │ │ │ │ │ │ │ │ └── dot-field-variable.interface.ts │ │ │ │ │ │ │ └── services │ │ │ │ │ │ │ │ ├── dot-field-variables.service.spec.ts │ │ │ │ │ │ │ │ └── dot-field-variables.service.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── models │ │ │ │ │ │ │ ├── field-type.model.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── service │ │ │ │ │ │ │ ├── data-type-property-info.ts │ │ │ │ │ │ │ ├── field-drag-drop.service.spec.ts │ │ │ │ │ │ │ ├── field-drag-drop.service.ts │ │ │ │ │ │ │ ├── field-properties.service.spec.ts │ │ │ │ │ │ │ ├── field-properties.service.ts │ │ │ │ │ │ │ ├── field-property-info.ts │ │ │ │ │ │ │ ├── field.service.spec.ts │ │ │ │ │ │ │ ├── field.service.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── validators │ │ │ │ │ │ │ │ ├── date.validator.spec.ts │ │ │ │ │ │ │ │ ├── date.validator.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── util │ │ │ │ │ │ │ └── field-util.ts │ │ │ │ │ ├── form │ │ │ │ │ │ ├── content-types-form.component.html │ │ │ │ │ │ ├── content-types-form.component.scss │ │ │ │ │ │ ├── content-types-form.component.spec.ts │ │ │ │ │ │ ├── content-types-form.component.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── layout │ │ │ │ │ │ ├── content-types-layout.component.html │ │ │ │ │ │ ├── content-types-layout.component.scss │ │ │ │ │ │ ├── content-types-layout.component.spec.ts │ │ │ │ │ │ ├── content-types-layout.component.ts │ │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-content-types-edit-resolver.service.spec.ts │ │ │ │ ├── dot-content-types-edit-resolver.service.ts │ │ │ │ ├── dot-content-types-edit-routing.module.ts │ │ │ │ ├── dot-content-types-edit.component.html │ │ │ │ ├── dot-content-types-edit.component.scss │ │ │ │ ├── dot-content-types-edit.component.spec.ts │ │ │ │ ├── dot-content-types-edit.component.ts │ │ │ │ ├── dot-content-types-edit.module.ts │ │ │ │ └── index.ts │ │ │ │ ├── dot-content-types-listing │ │ │ │ ├── components │ │ │ │ │ ├── dot-add-to-menu │ │ │ │ │ │ ├── dot-add-to-menu.component.html │ │ │ │ │ │ ├── dot-add-to-menu.component.spec.ts │ │ │ │ │ │ ├── dot-add-to-menu.component.ts │ │ │ │ │ │ └── dot-add-to-menu.module.ts │ │ │ │ │ └── dot-content-type-copy-dialog │ │ │ │ │ │ ├── dot-content-type-copy-dialog.component.html │ │ │ │ │ │ ├── dot-content-type-copy-dialog.component.spec.ts │ │ │ │ │ │ ├── dot-content-type-copy-dialog.component.ts │ │ │ │ │ │ └── dot-content-type-copy-dialog.module.ts │ │ │ │ ├── dot-content-type.store.spec.ts │ │ │ │ ├── dot-content-type.store.ts │ │ │ │ ├── dot-content-types-listing.module.ts │ │ │ │ ├── dot-content-types.component.html │ │ │ │ ├── dot-content-types.component.scss │ │ │ │ ├── dot-content-types.component.spec.ts │ │ │ │ ├── dot-content-types.component.ts │ │ │ │ └── index.ts │ │ │ │ └── dot-unlicensed-porlet │ │ │ │ ├── dot-unlicensed-porlet.component.html │ │ │ │ ├── dot-unlicensed-porlet.component.scss │ │ │ │ ├── dot-unlicensed-porlet.component.spec.ts │ │ │ │ ├── dot-unlicensed-porlet.component.ts │ │ │ │ ├── dot-unlicensed-porlet.module.ts │ │ │ │ └── index.ts │ │ ├── providers.ts │ │ ├── shared │ │ │ ├── dot-custom-reuse-strategy │ │ │ │ ├── dot-custom-reuse-strategy.service.spec.ts │ │ │ │ └── dot-custom-reuse-strategy.service.ts │ │ │ ├── dot-directives.module.ts │ │ │ ├── dot-save-on-deactivate-service │ │ │ │ ├── dot-save-on-deactivate.service.spec.ts │ │ │ │ ├── dot-save-on-deactivate.service.ts │ │ │ │ └── save-on-deactivate.ts │ │ │ ├── dot-utils.spec.ts │ │ │ ├── dot-utils.ts │ │ │ ├── models │ │ │ │ ├── action-header │ │ │ │ │ ├── action-header-delete-options.model.ts │ │ │ │ │ ├── action-header-options-primary.model.ts │ │ │ │ │ ├── action-header-options.model.ts │ │ │ │ │ ├── button-action.model.ts │ │ │ │ │ ├── button.model.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── ajax-action-response │ │ │ │ │ └── dot-ajax-action-response.ts │ │ │ │ ├── container │ │ │ │ │ └── dot-container.model.ts │ │ │ │ ├── contentlet │ │ │ │ │ ├── content-type-view.model.ts │ │ │ │ │ ├── contentlet-locker.model.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── structure-type-view.model.ts │ │ │ │ │ └── structure-type.model.ts │ │ │ │ ├── data-table │ │ │ │ │ ├── data-table-column.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-action-bulk-request-options │ │ │ │ │ └── dot-action-bulk-request-options.model.ts │ │ │ │ ├── dot-action-bulk-result │ │ │ │ │ └── dot-action-bulk-result.model.ts │ │ │ │ ├── dot-action-menu │ │ │ │ │ └── dot-action-menu-item.model.ts │ │ │ │ ├── dot-alert-confirm │ │ │ │ │ ├── dot-alert-confirm.model.ts │ │ │ │ │ └── footer-labels.model.ts │ │ │ │ ├── dot-apps │ │ │ │ │ └── dot-apps.model.ts │ │ │ │ ├── dot-bundle │ │ │ │ │ └── dot-bundle.ts │ │ │ │ ├── dot-current-user │ │ │ │ │ └── dot-current-user.ts │ │ │ │ ├── dot-device │ │ │ │ │ └── dot-device.model.ts │ │ │ │ ├── dot-edit-layout-designer │ │ │ │ │ ├── dot-container-column-box.model.ts │ │ │ │ │ ├── dot-layout-body.model.ts │ │ │ │ │ ├── dot-layout-column.model.ts │ │ │ │ │ ├── dot-layout-grid-box.model.ts │ │ │ │ │ ├── dot-layout-grid-row.model.ts │ │ │ │ │ ├── dot-layout-grid.model.spec.ts │ │ │ │ │ ├── dot-layout-grid.model.ts │ │ │ │ │ ├── dot-layout-row.model.ts │ │ │ │ │ ├── dot-layout-sidebar.model.ts │ │ │ │ │ ├── dot-layout.model.ts │ │ │ │ │ ├── dot-template.model.ts │ │ │ │ │ ├── dot-theme.model.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-edit-page-state │ │ │ │ │ └── dot-edit-page-state.model.ts │ │ │ │ ├── dot-edit-page-view-as │ │ │ │ │ └── dot-edit-page-view-as.model.ts │ │ │ │ ├── dot-environment │ │ │ │ │ └── dot-environment.ts │ │ │ │ ├── dot-es-content │ │ │ │ │ └── dot-es-content.model.ts │ │ │ │ ├── dot-event │ │ │ │ │ └── dot-event.ts │ │ │ │ ├── dot-file-upload │ │ │ │ │ └── dot-file-upload.model.ts │ │ │ │ ├── dot-form │ │ │ │ │ └── dot-form.model.ts │ │ │ │ ├── dot-function-info │ │ │ │ │ └── dot-function-info.model.ts │ │ │ │ ├── dot-global-message │ │ │ │ │ └── dot-global-message.model.ts │ │ │ │ ├── dot-key-value-ng │ │ │ │ │ └── dot-key-value-ng.model.ts │ │ │ │ ├── dot-language │ │ │ │ │ └── dot-language.model.ts │ │ │ │ ├── dot-login │ │ │ │ │ ├── dot-login-credentials.model.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-page-container │ │ │ │ │ └── dot-page-container.model.ts │ │ │ │ ├── dot-page │ │ │ │ │ ├── dot-page-mode.enum.ts │ │ │ │ │ ├── dot-page.model.ts │ │ │ │ │ └── dot-rendered-page.model.ts │ │ │ │ ├── dot-persona │ │ │ │ │ └── dot-persona.model.ts │ │ │ │ ├── dot-portlet-toolbar.model │ │ │ │ │ └── dot-portlet-toolbar-actions.model.ts │ │ │ │ ├── dot-push-publish-data │ │ │ │ │ └── dot-push-publish-data.ts │ │ │ │ ├── dot-role │ │ │ │ │ └── dot-role.model.ts │ │ │ │ ├── dot-tag │ │ │ │ │ ├── dot-tag.model.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-what-changed │ │ │ │ │ └── dot-what-changed.model.ts │ │ │ │ ├── dot-wizard-input │ │ │ │ │ └── dot-wizard-input.model.ts │ │ │ │ ├── dot-wizard-step │ │ │ │ │ └── dot-wizard-step.model.ts │ │ │ │ ├── navigation │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu-item.model.ts │ │ │ │ │ ├── menu.model.ts │ │ │ │ │ └── portlet-nav.model.ts │ │ │ │ └── notifications │ │ │ │ │ ├── index.ts │ │ │ │ │ └── notification.model.ts │ │ │ ├── shared.module.ts │ │ │ └── validators │ │ │ │ ├── dotValidators.spec.ts │ │ │ │ └── dotValidators.ts │ │ ├── test │ │ │ ├── clean-up-dialog.ts │ │ │ ├── core-web.service.mock.ts │ │ │ ├── dot-containers.mock.ts │ │ │ ├── dot-content-types.mock.ts │ │ │ ├── dot-contentlet.mock.ts │ │ │ ├── dot-device-service.mock.ts │ │ │ ├── dot-device.mock.ts │ │ │ ├── dot-edit-page-view-as.mock.ts │ │ │ ├── dot-language.mock.ts │ │ │ ├── dot-languages-service.mock.ts │ │ │ ├── dot-message-service.mock.ts │ │ │ ├── dot-not-licensed.component.mock.ts │ │ │ ├── dot-page-render.mock.ts │ │ │ ├── dot-page-state.service.mock.ts │ │ │ ├── dot-page.mock.ts │ │ │ ├── dot-persona.mock.ts │ │ │ ├── dot-personalize-service.mock.ts │ │ │ ├── dot-personas-service.mock.ts │ │ │ ├── dot-rendered-page-state.mock.ts │ │ │ ├── dot-router-service.mock.ts │ │ │ ├── dot-test-bed.ts │ │ │ ├── dot-themes-service.mock.ts │ │ │ ├── dot-themes.mock.ts │ │ │ ├── dot-timezone-service.mock.ts │ │ │ ├── dot-workflow-service.mock.ts │ │ │ ├── dot-workflows-actions.mock.ts │ │ │ ├── dotcms-contentlet.mock.ts │ │ │ ├── dotcms-events-service.mock.ts │ │ │ ├── field-variable-service.mock.ts │ │ │ ├── format-date-service.mock.ts │ │ │ ├── login-service.mock.ts │ │ │ ├── response-view.mock.ts │ │ │ └── site-service.mock.ts │ │ └── view │ │ │ ├── components │ │ │ ├── _common │ │ │ │ ├── dot-action-button │ │ │ │ │ ├── dot-action-button.component.html │ │ │ │ │ ├── dot-action-button.component.scss │ │ │ │ │ ├── dot-action-button.component.spec.ts │ │ │ │ │ ├── dot-action-button.component.ts │ │ │ │ │ └── dot-action-button.module.ts │ │ │ │ ├── dot-action-menu-button │ │ │ │ │ ├── dot-action-menu-button.component.html │ │ │ │ │ ├── dot-action-menu-button.component.scss │ │ │ │ │ ├── dot-action-menu-button.component.spec.ts │ │ │ │ │ ├── dot-action-menu-button.component.ts │ │ │ │ │ └── dot-action-menu-button.module.ts │ │ │ │ ├── dot-add-to-bundle │ │ │ │ │ ├── dot-add-to-bundle.component.html │ │ │ │ │ ├── dot-add-to-bundle.component.scss │ │ │ │ │ ├── dot-add-to-bundle.component.spec.ts │ │ │ │ │ ├── dot-add-to-bundle.component.ts │ │ │ │ │ ├── dot-add-to-bundle.module.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-alert-confirm │ │ │ │ │ ├── dot-alert-confirm.html │ │ │ │ │ ├── dot-alert-confirm.scss │ │ │ │ │ ├── dot-alert-confirm.spec.ts │ │ │ │ │ └── dot-alert-confirm.ts │ │ │ │ ├── dot-autocomplete-tags │ │ │ │ │ ├── dot-autocomplete-tags.component.html │ │ │ │ │ ├── dot-autocomplete-tags.component.scss │ │ │ │ │ ├── dot-autocomplete-tags.component.spec.ts │ │ │ │ │ ├── dot-autocomplete-tags.component.ts │ │ │ │ │ └── dot-autocomplete-tags.module.ts │ │ │ │ ├── dot-avatar │ │ │ │ │ ├── dot-avatar-component.spec.ts │ │ │ │ │ ├── dot-avatar.component.html │ │ │ │ │ ├── dot-avatar.component.scss │ │ │ │ │ ├── dot-avatar.component.ts │ │ │ │ │ └── dot-avatar.module.ts │ │ │ │ ├── dot-bulk-information │ │ │ │ │ ├── dot-bulk-information.component.html │ │ │ │ │ ├── dot-bulk-information.component.scss │ │ │ │ │ ├── dot-bulk-information.component.spec.ts │ │ │ │ │ ├── dot-bulk-information.component.ts │ │ │ │ │ ├── dot-bulk-information.module.ts │ │ │ │ │ └── dot-bulk-information.stories.ts │ │ │ │ ├── dot-custom-time.component │ │ │ │ │ ├── dot-custom-time.component.html │ │ │ │ │ ├── dot-custom-time.component.scss │ │ │ │ │ ├── dot-custom-time.component.ts │ │ │ │ │ └── dot-custom-time.module.ts │ │ │ │ ├── dot-download-bundle-dialog │ │ │ │ │ ├── dot-download-bundle-dialog.component.html │ │ │ │ │ ├── dot-download-bundle-dialog.component.scss │ │ │ │ │ ├── dot-download-bundle-dialog.component.spec.ts │ │ │ │ │ ├── dot-download-bundle-dialog.component.ts │ │ │ │ │ └── dot-download-bundle-dialog.module.ts │ │ │ │ ├── dot-dropdown-component │ │ │ │ │ ├── dot-dropdown.component.html │ │ │ │ │ ├── dot-dropdown.component.scss │ │ │ │ │ ├── dot-dropdown.component.spec.ts │ │ │ │ │ ├── dot-dropdown.component.ts │ │ │ │ │ └── dot-dropdown.module.ts │ │ │ │ ├── dot-empty-state │ │ │ │ │ ├── dot-empty-state.component.html │ │ │ │ │ ├── dot-empty-state.component.scss │ │ │ │ │ ├── dot-empty-state.component.spec.ts │ │ │ │ │ ├── dot-empty-state.component.ts │ │ │ │ │ ├── dot-empty-state.module.ts │ │ │ │ │ └── dot-empty-state.stories.ts │ │ │ │ ├── dot-field-validation-message │ │ │ │ │ ├── dot-field-validation-message.html │ │ │ │ │ ├── dot-field-validation-message.spec.ts │ │ │ │ │ ├── dot-field-validation-message.ts │ │ │ │ │ └── dot-file-validation-message.module.ts │ │ │ │ ├── dot-generate-secure-password │ │ │ │ │ ├── dot-generate-secure-password.component.html │ │ │ │ │ ├── dot-generate-secure-password.component.scss │ │ │ │ │ ├── dot-generate-secure-password.component.spec.ts │ │ │ │ │ ├── dot-generate-secure-password.component.ts │ │ │ │ │ └── dot-generate-secure-password.module.ts │ │ │ │ ├── dot-global-message │ │ │ │ │ ├── dot-global-message.component.html │ │ │ │ │ ├── dot-global-message.component.scss │ │ │ │ │ ├── dot-global-message.component.spec.ts │ │ │ │ │ ├── dot-global-message.component.ts │ │ │ │ │ ├── dot-global-message.module.ts │ │ │ │ │ ├── dot-global-message.service.spec.ts │ │ │ │ │ └── dot-global-message.service.ts │ │ │ │ ├── dot-icon-button-tooltip │ │ │ │ │ ├── dot-icon-button-tooltip.component.ts │ │ │ │ │ └── dot-icon-button-tooltip.module.ts │ │ │ │ ├── dot-icon-button │ │ │ │ │ ├── dot-icon-button.component.html │ │ │ │ │ ├── dot-icon-button.component.scss │ │ │ │ │ ├── dot-icon-button.component.spec.ts │ │ │ │ │ ├── dot-icon-button.component.ts │ │ │ │ │ └── dot-icon-button.module.ts │ │ │ │ ├── dot-inline-edit │ │ │ │ │ ├── dot-inline-edit.component.html │ │ │ │ │ ├── dot-inline-edit.component.spec.ts │ │ │ │ │ ├── dot-inline-edit.component.ts │ │ │ │ │ └── dot-inline-edit.module.ts │ │ │ │ ├── dot-md-icon-selector │ │ │ │ │ ├── dot-md-icon-selector.component.html │ │ │ │ │ ├── dot-md-icon-selector.component.scss │ │ │ │ │ ├── dot-md-icon-selector.component.spec.ts │ │ │ │ │ ├── dot-md-icon-selector.component.ts │ │ │ │ │ └── dot-md-icon-selector.module.ts │ │ │ │ ├── dot-menu │ │ │ │ │ ├── dot-menu.component.html │ │ │ │ │ ├── dot-menu.component.scss │ │ │ │ │ ├── dot-menu.component.spec.ts │ │ │ │ │ ├── dot-menu.component.ts │ │ │ │ │ └── dot-menu.module.ts │ │ │ │ ├── dot-overlay-mask │ │ │ │ │ ├── dot-overlay-mask.component.scss │ │ │ │ │ ├── dot-overlay-mask.component.spec.ts │ │ │ │ │ ├── dot-overlay-mask.component.ts │ │ │ │ │ └── dot-overlay-mask.module.ts │ │ │ │ ├── dot-page-selector │ │ │ │ │ ├── dot-page-selector.component.html │ │ │ │ │ ├── dot-page-selector.component.scss │ │ │ │ │ ├── dot-page-selector.component.spec.ts │ │ │ │ │ ├── dot-page-selector.component.ts │ │ │ │ │ ├── dot-page-selector.module.ts │ │ │ │ │ ├── models │ │ │ │ │ │ └── dot-page-selector.models.ts │ │ │ │ │ └── service │ │ │ │ │ │ ├── dot-page-selector.service.spec.ts │ │ │ │ │ │ └── dot-page-selector.service.ts │ │ │ │ ├── dot-push-publish-dialog │ │ │ │ │ ├── dot-push-publish-dialog.component.html │ │ │ │ │ ├── dot-push-publish-dialog.component.scss │ │ │ │ │ ├── dot-push-publish-dialog.component.spec.ts │ │ │ │ │ ├── dot-push-publish-dialog.component.ts │ │ │ │ │ ├── dot-push-publish-dialog.module.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-push-publish-env-selector │ │ │ │ │ ├── dot-push-publish-env-selector.component.html │ │ │ │ │ ├── dot-push-publish-env-selector.component.scss │ │ │ │ │ ├── dot-push-publish-env-selector.component.spec.ts │ │ │ │ │ ├── dot-push-publish-env-selector.component.ts │ │ │ │ │ └── dot-push-publish-env-selector.module.ts │ │ │ │ ├── dot-site-selector-field │ │ │ │ │ ├── dot-site-selector-field.component.html │ │ │ │ │ ├── dot-site-selector-field.component.scss │ │ │ │ │ ├── dot-site-selector-field.component.spec.ts │ │ │ │ │ ├── dot-site-selector-field.component.ts │ │ │ │ │ └── dot-site-selector-field.module.ts │ │ │ │ ├── dot-site-selector │ │ │ │ │ ├── dot-site-selector.component.html │ │ │ │ │ ├── dot-site-selector.component.scss │ │ │ │ │ ├── dot-site-selector.component.spec.ts │ │ │ │ │ ├── dot-site-selector.component.ts │ │ │ │ │ └── dot-site-selector.module.ts │ │ │ │ ├── dot-textarea-content │ │ │ │ │ ├── dot-textarea-content.component.html │ │ │ │ │ ├── dot-textarea-content.component.scss │ │ │ │ │ ├── dot-textarea-content.component.spec.ts │ │ │ │ │ ├── dot-textarea-content.component.ts │ │ │ │ │ └── dot-textarea-content.module.ts │ │ │ │ ├── dot-wizard │ │ │ │ │ ├── dot-wizard.component.html │ │ │ │ │ ├── dot-wizard.component.scss │ │ │ │ │ ├── dot-wizard.component.spec.ts │ │ │ │ │ ├── dot-wizard.component.ts │ │ │ │ │ └── dot-wizard.module.ts │ │ │ │ ├── dot-workflows-actions-selector-field │ │ │ │ │ ├── dot-workflows-actions-selector-field.component.html │ │ │ │ │ ├── dot-workflows-actions-selector-field.component.scss │ │ │ │ │ ├── dot-workflows-actions-selector-field.component.spec.ts │ │ │ │ │ ├── dot-workflows-actions-selector-field.component.ts │ │ │ │ │ ├── dot-workflows-actions-selector-field.module.ts │ │ │ │ │ └── services │ │ │ │ │ │ ├── dot-workflows-actions-selector-field.service.spec.ts │ │ │ │ │ │ └── dot-workflows-actions-selector-field.service.ts │ │ │ │ ├── dot-workflows-selector-field │ │ │ │ │ ├── dot-workflows-selector-field.component.html │ │ │ │ │ ├── dot-workflows-selector-field.component.scss │ │ │ │ │ ├── dot-workflows-selector-field.component.spec.ts │ │ │ │ │ ├── dot-workflows-selector-field.component.ts │ │ │ │ │ └── dot-workflows-selector-field.module.ts │ │ │ │ ├── forms │ │ │ │ │ ├── dot-comment-and-assign-form │ │ │ │ │ │ ├── dot-comment-and-assign-form.component.html │ │ │ │ │ │ ├── dot-comment-and-assign-form.component.scss │ │ │ │ │ │ ├── dot-comment-and-assign-form.component.spec.ts │ │ │ │ │ │ ├── dot-comment-and-assign-form.component.ts │ │ │ │ │ │ └── dot-comment-and-assign-form.module.ts │ │ │ │ │ └── dot-push-publish-form │ │ │ │ │ │ ├── dot-push-publish-form.component.html │ │ │ │ │ │ ├── dot-push-publish-form.component.scss │ │ │ │ │ │ ├── dot-push-publish-form.component.spec.ts │ │ │ │ │ │ ├── dot-push-publish-form.component.ts │ │ │ │ │ │ └── dot-push-publish-form.module.ts │ │ │ │ ├── iframe │ │ │ │ │ ├── dot-loading-indicator │ │ │ │ │ │ ├── dot-loading-indicator.component.html │ │ │ │ │ │ ├── dot-loading-indicator.component.scss │ │ │ │ │ │ ├── dot-loading-indicator.component.ts │ │ │ │ │ │ ├── dot-loading-indicator.module.ts │ │ │ │ │ │ ├── dot-loading-indicator.service.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── iframe-component │ │ │ │ │ │ ├── iframe.component.html │ │ │ │ │ │ ├── iframe.component.scss │ │ │ │ │ │ ├── iframe.component.spec.ts │ │ │ │ │ │ ├── iframe.component.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── iframe-porlet-legacy │ │ │ │ │ │ ├── iframe-porlet-legacy.component.html │ │ │ │ │ │ ├── iframe-porlet-legacy.component.scss │ │ │ │ │ │ ├── iframe-porlet-legacy.component.spec.ts │ │ │ │ │ │ ├── iframe-porlet-legacy.component.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── iframe.module.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── service │ │ │ │ │ │ ├── dot-iframe-porlet-legacy-resolver.service.spec.ts │ │ │ │ │ │ ├── dot-iframe-porlet-legacy-resolver.service.ts │ │ │ │ │ │ ├── dot-iframe │ │ │ │ │ │ ├── dot-iframe.service.spec.ts │ │ │ │ │ │ └── dot-iframe.service.ts │ │ │ │ │ │ └── iframe-overlay.service.ts │ │ │ │ └── searchable-dropdown │ │ │ │ │ ├── component │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── searchable-dropdown.component.html │ │ │ │ │ ├── searchable-dropdown.component.scss │ │ │ │ │ ├── searchable-dropdown.component.spec.ts │ │ │ │ │ ├── searchable-dropdown.component.stories.ts │ │ │ │ │ └── searchable-dropdown.component.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── searchable-dropdown.module.ts │ │ │ ├── dot-add-persona-dialog │ │ │ │ ├── dot-add-persona-dialog.component.html │ │ │ │ ├── dot-add-persona-dialog.component.scss │ │ │ │ ├── dot-add-persona-dialog.component.spec.ts │ │ │ │ ├── dot-add-persona-dialog.component.ts │ │ │ │ ├── dot-add-persona-dialog.module.ts │ │ │ │ └── dot-create-persona-form │ │ │ │ │ ├── dot-create-persona-form.component.html │ │ │ │ │ ├── dot-create-persona-form.component.scss │ │ │ │ │ ├── dot-create-persona-form.component.spec.ts │ │ │ │ │ ├── dot-create-persona-form.component.ts │ │ │ │ │ └── dot-create-persona-form.module.ts │ │ │ ├── dot-api-link │ │ │ │ ├── dot-api-link.component.html │ │ │ │ ├── dot-api-link.component.scss │ │ │ │ ├── dot-api-link.component.spec.ts │ │ │ │ ├── dot-api-link.component.ts │ │ │ │ └── dot-api-link.module.ts │ │ │ ├── dot-base-type-selector │ │ │ │ ├── dot-base-type-selector.component.html │ │ │ │ ├── dot-base-type-selector.component.scss │ │ │ │ ├── dot-base-type-selector.component.spec.ts │ │ │ │ ├── dot-base-type-selector.component.ts │ │ │ │ ├── dot-base-type-selector.module.ts │ │ │ │ └── index.ts │ │ │ ├── dot-container-selector-layout │ │ │ │ ├── dot-container-selector-layout.component.html │ │ │ │ ├── dot-container-selector-layout.component.scss │ │ │ │ ├── dot-container-selector-layout.component.spec.ts │ │ │ │ ├── dot-container-selector-layout.component.ts │ │ │ │ └── dot-container-selector-layout.module.ts │ │ │ ├── dot-container-selector │ │ │ │ ├── dot-container-selector.component.html │ │ │ │ ├── dot-container-selector.component.scss │ │ │ │ ├── dot-container-selector.component.spec.ts │ │ │ │ ├── dot-container-selector.component.ts │ │ │ │ └── dot-container-selector.module.ts │ │ │ ├── dot-content-compare │ │ │ │ ├── components │ │ │ │ │ ├── dot-content-compare-dialog │ │ │ │ │ │ ├── dot-content-compare-dialog.component.html │ │ │ │ │ │ ├── dot-content-compare-dialog.component.scss │ │ │ │ │ │ ├── dot-content-compare-dialog.component.spec.ts │ │ │ │ │ │ └── dot-content-compare-dialog.component.ts │ │ │ │ │ ├── dot-content-compare-table │ │ │ │ │ │ ├── dot-content-compare-table.component.html │ │ │ │ │ │ ├── dot-content-compare-table.component.scss │ │ │ │ │ │ ├── dot-content-compare-table.component.spec.ts │ │ │ │ │ │ └── dot-content-compare-table.component.ts │ │ │ │ │ └── fields │ │ │ │ │ │ └── dot-content-compare-preview-field │ │ │ │ │ │ ├── dot-content-compare-preview-field.component.html │ │ │ │ │ │ ├── dot-content-compare-preview-field.component.scss │ │ │ │ │ │ ├── dot-content-compare-preview-field.component.spec.ts │ │ │ │ │ │ └── dot-content-compare-preview-field.component.ts │ │ │ │ ├── dot-content-compare.component.html │ │ │ │ ├── dot-content-compare.component.scss │ │ │ │ ├── dot-content-compare.component.spec.ts │ │ │ │ ├── dot-content-compare.component.ts │ │ │ │ ├── dot-content-compare.module.ts │ │ │ │ ├── pipes │ │ │ │ │ ├── dot-transform-version-label.pipe.spec.ts │ │ │ │ │ └── dot-transform-version-label.pipe.ts │ │ │ │ └── store │ │ │ │ │ ├── dot-content-compare.store.spec.ts │ │ │ │ │ └── dot-content-compare.store.ts │ │ │ ├── dot-contentlet-editor │ │ │ │ ├── components │ │ │ │ │ ├── dot-add-contentlet │ │ │ │ │ │ ├── dot-add-contentlet.component.html │ │ │ │ │ │ ├── dot-add-contentlet.component.scss │ │ │ │ │ │ ├── dot-add-contentlet.component.spec.ts │ │ │ │ │ │ └── dot-add-contentlet.component.ts │ │ │ │ │ ├── dot-contentlet-wrapper │ │ │ │ │ │ ├── dot-contentlet-wrapper.component.html │ │ │ │ │ │ ├── dot-contentlet-wrapper.component.scss │ │ │ │ │ │ ├── dot-contentlet-wrapper.component.spec.ts │ │ │ │ │ │ └── dot-contentlet-wrapper.component.ts │ │ │ │ │ ├── dot-create-contentlet │ │ │ │ │ │ ├── dot-create-contentlet.component.html │ │ │ │ │ │ ├── dot-create-contentlet.component.scss │ │ │ │ │ │ ├── dot-create-contentlet.component.spec.ts │ │ │ │ │ │ ├── dot-create-contentlet.component.ts │ │ │ │ │ │ ├── dot-create-contentlet.resolver.service.spec.ts │ │ │ │ │ │ └── dot-create-contentlet.resolver.service.ts │ │ │ │ │ ├── dot-edit-contentlet │ │ │ │ │ │ ├── dot-edit-contentlet.component.html │ │ │ │ │ │ ├── dot-edit-contentlet.component.scss │ │ │ │ │ │ ├── dot-edit-contentlet.component.spec.ts │ │ │ │ │ │ └── dot-edit-contentlet.component.ts │ │ │ │ │ └── dot-reorder-menu │ │ │ │ │ │ ├── dot-reorder-menu.component.html │ │ │ │ │ │ ├── dot-reorder-menu.component.spec.ts │ │ │ │ │ │ └── dot-reorder-menu.component.ts │ │ │ │ ├── dot-contentlet-editor.module.ts │ │ │ │ ├── dot-contentlet-editor.routing.module.ts │ │ │ │ └── services │ │ │ │ │ ├── dot-contentlet-editor.service.spec.ts │ │ │ │ │ └── dot-contentlet-editor.service.ts │ │ │ ├── dot-copy-button │ │ │ │ ├── dot-copy-button.component.html │ │ │ │ ├── dot-copy-button.component.scss │ │ │ │ ├── dot-copy-button.component.spec.ts │ │ │ │ ├── dot-copy-button.component.ts │ │ │ │ └── dot-copy-button.module.ts │ │ │ ├── dot-copy-link │ │ │ │ ├── dot-copy-link.component.html │ │ │ │ ├── dot-copy-link.component.scss │ │ │ │ ├── dot-copy-link.component.spec.ts │ │ │ │ ├── dot-copy-link.component.ts │ │ │ │ └── dot-copy-link.module.ts │ │ │ ├── dot-crumbtrail │ │ │ │ ├── dot-crumbtrail.component.html │ │ │ │ ├── dot-crumbtrail.component.scss │ │ │ │ ├── dot-crumbtrail.component.spec.ts │ │ │ │ ├── dot-crumbtrail.component.ts │ │ │ │ ├── dot-crumbtrail.module.ts │ │ │ │ └── service │ │ │ │ │ ├── dot-crumbtrail.service.spec.ts │ │ │ │ │ └── dot-crumbtrail.service.ts │ │ │ ├── dot-device-selector │ │ │ │ ├── dot-device-selector.component.html │ │ │ │ ├── dot-device-selector.component.scss │ │ │ │ ├── dot-device-selector.component.spec.ts │ │ │ │ ├── dot-device-selector.component.ts │ │ │ │ └── dot-device-selector.module.ts │ │ │ ├── dot-dialog │ │ │ │ ├── dot-dialog.component.html │ │ │ │ ├── dot-dialog.component.scss │ │ │ │ ├── dot-dialog.component.spec.ts │ │ │ │ ├── dot-dialog.component.ts │ │ │ │ └── dot-dialog.module.ts │ │ │ ├── dot-edit-layout-designer │ │ │ │ ├── components │ │ │ │ │ ├── dot-edit-layout-grid │ │ │ │ │ │ ├── dot-edit-layout-grid.component.html │ │ │ │ │ │ ├── dot-edit-layout-grid.component.scss │ │ │ │ │ │ ├── dot-edit-layout-grid.component.spec.ts │ │ │ │ │ │ ├── dot-edit-layout-grid.component.ts │ │ │ │ │ │ └── dot-edit-layout-grid.module.ts │ │ │ │ │ ├── dot-edit-layout-sidebar │ │ │ │ │ │ ├── dot-edit-layout-sidebar.component.html │ │ │ │ │ │ ├── dot-edit-layout-sidebar.component.scss │ │ │ │ │ │ ├── dot-edit-layout-sidebar.component.spec.ts │ │ │ │ │ │ ├── dot-edit-layout-sidebar.component.ts │ │ │ │ │ │ └── dot-edit-layout-sidebar.module.ts │ │ │ │ │ ├── dot-layout-designer │ │ │ │ │ │ ├── dot-layout-designer.component.html │ │ │ │ │ │ ├── dot-layout-designer.component.scss │ │ │ │ │ │ ├── dot-layout-designer.component.spec.ts │ │ │ │ │ │ ├── dot-layout-designer.component.ts │ │ │ │ │ │ └── dot-layout-designer.module.ts │ │ │ │ │ ├── dot-layout-properties │ │ │ │ │ │ ├── dot-layout-properties-item │ │ │ │ │ │ │ ├── dot-layout-properties-item.component.html │ │ │ │ │ │ │ ├── dot-layout-properties-item.component.scss │ │ │ │ │ │ │ ├── dot-layout-properties-item.component.spec.ts │ │ │ │ │ │ │ ├── dot-layout-properties-item.component.ts │ │ │ │ │ │ │ └── dot-layout-properties-item.module.ts │ │ │ │ │ │ ├── dot-layout-properties.component.html │ │ │ │ │ │ ├── dot-layout-properties.component.scss │ │ │ │ │ │ ├── dot-layout-properties.component.spec.ts │ │ │ │ │ │ ├── dot-layout-properties.component.ts │ │ │ │ │ │ ├── dot-layout-properties.module.ts │ │ │ │ │ │ └── dot-layout-property-sidebar │ │ │ │ │ │ │ ├── dot-layout-property-sidebar.component.html │ │ │ │ │ │ │ ├── dot-layout-property-sidebar.component.spec.ts │ │ │ │ │ │ │ ├── dot-layout-property-sidebar.component.ts │ │ │ │ │ │ │ └── dot-layout-property-sidebar.module.ts │ │ │ │ │ ├── dot-sidebar-properties │ │ │ │ │ │ ├── dot-sidebar-properties.component.html │ │ │ │ │ │ ├── dot-sidebar-properties.component.scss │ │ │ │ │ │ ├── dot-sidebar-properties.component.spec.ts │ │ │ │ │ │ ├── dot-sidebar-properties.component.ts │ │ │ │ │ │ └── dot-sidebar-properties.module.ts │ │ │ │ │ └── dot-theme-selector │ │ │ │ │ │ ├── dot-theme-selector.component.html │ │ │ │ │ │ ├── dot-theme-selector.component.scss │ │ │ │ │ │ ├── dot-theme-selector.component.spec.ts │ │ │ │ │ │ ├── dot-theme-selector.component.ts │ │ │ │ │ │ └── dot-theme-selector.module.ts │ │ │ │ ├── dot-edit-layout-designer.component.html │ │ │ │ ├── dot-edit-layout-designer.component.scss │ │ │ │ ├── dot-edit-layout-designer.component.spec.ts │ │ │ │ ├── dot-edit-layout-designer.component.ts │ │ │ │ └── dot-edit-layout-designer.module.ts │ │ │ ├── dot-field-helper │ │ │ │ ├── dot-field-helper.component.html │ │ │ │ ├── dot-field-helper.component.scss │ │ │ │ ├── dot-field-helper.component.spec.ts │ │ │ │ ├── dot-field-helper.component.ts │ │ │ │ └── dot-field-helper.module.ts │ │ │ ├── dot-form-dialog │ │ │ │ ├── dot-form-dialog.component.html │ │ │ │ ├── dot-form-dialog.component.scss │ │ │ │ ├── dot-form-dialog.component.spec.ts │ │ │ │ ├── dot-form-dialog.component.ts │ │ │ │ └── dot-form-dialog.module.ts │ │ │ ├── dot-iframe-dialog │ │ │ │ ├── dot-iframe-dialog.component.html │ │ │ │ ├── dot-iframe-dialog.component.scss │ │ │ │ ├── dot-iframe-dialog.component.spec.ts │ │ │ │ ├── dot-iframe-dialog.component.ts │ │ │ │ └── dot-iframe-dialog.module.ts │ │ │ ├── dot-key-value-ng │ │ │ │ ├── dot-key-value-ng.component.html │ │ │ │ ├── dot-key-value-ng.component.scss │ │ │ │ ├── dot-key-value-ng.component.spec.ts │ │ │ │ ├── dot-key-value-ng.component.ts │ │ │ │ ├── dot-key-value-ng.module.ts │ │ │ │ ├── dot-key-value-table-input-row │ │ │ │ │ ├── dot-key-value-table-input-row.component.html │ │ │ │ │ ├── dot-key-value-table-input-row.component.scss │ │ │ │ │ ├── dot-key-value-table-input-row.component.spec.ts │ │ │ │ │ ├── dot-key-value-table-input-row.component.ts │ │ │ │ │ └── dot-key-value-table-input-row.module.ts │ │ │ │ ├── dot-key-value-table-row │ │ │ │ │ ├── dot-key-value-table-row.component.html │ │ │ │ │ ├── dot-key-value-table-row.component.scss │ │ │ │ │ ├── dot-key-value-table-row.component.spec.ts │ │ │ │ │ ├── dot-key-value-table-row.component.ts │ │ │ │ │ └── dot-key-value-table-row.module.ts │ │ │ │ └── util │ │ │ │ │ └── dot-key-value-util.ts │ │ │ ├── dot-language-selector │ │ │ │ ├── dot-language-selector.component.html │ │ │ │ ├── dot-language-selector.component.scss │ │ │ │ ├── dot-language-selector.component.spec.ts │ │ │ │ ├── dot-language-selector.component.ts │ │ │ │ └── dot-language-selector.module.ts │ │ │ ├── dot-large-message-display │ │ │ │ ├── dot-large-message-display.component.html │ │ │ │ ├── dot-large-message-display.component.scss │ │ │ │ ├── dot-large-message-display.component.spec.ts │ │ │ │ ├── dot-large-message-display.component.ts │ │ │ │ └── dot-large-message-display.module.ts │ │ │ ├── dot-listing-data-table │ │ │ │ ├── action-header │ │ │ │ │ ├── action-header.component.html │ │ │ │ │ ├── action-header.component.scss │ │ │ │ │ ├── action-header.component.spec.ts │ │ │ │ │ ├── action-header.component.ts │ │ │ │ │ └── action-header.module.ts │ │ │ │ ├── dot-listing-data-table.component.html │ │ │ │ ├── dot-listing-data-table.component.scss │ │ │ │ ├── dot-listing-data-table.component.spec.ts │ │ │ │ ├── dot-listing-data-table.component.ts │ │ │ │ ├── dot-listing-data-table.module.ts │ │ │ │ └── index.ts │ │ │ ├── dot-message-display │ │ │ │ ├── dot-message-display.component.html │ │ │ │ ├── dot-message-display.component.scss │ │ │ │ ├── dot-message-display.component.spec.ts │ │ │ │ ├── dot-message-display.component.ts │ │ │ │ ├── dot-message-display.module.ts │ │ │ │ ├── model │ │ │ │ │ ├── dot-message-severity.model.ts │ │ │ │ │ ├── dot-message-type.model.ts │ │ │ │ │ ├── dot-message.model.ts │ │ │ │ │ └── index.ts │ │ │ │ └── services │ │ │ │ │ ├── dot-message-display.service.spec.ts │ │ │ │ │ ├── dot-message-display.service.ts │ │ │ │ │ └── index.ts │ │ │ ├── dot-navigation │ │ │ │ ├── components │ │ │ │ │ ├── dot-nav-icon │ │ │ │ │ │ ├── dot-nav-icon.component.html │ │ │ │ │ │ ├── dot-nav-icon.component.scss │ │ │ │ │ │ ├── dot-nav-icon.component.spec.ts │ │ │ │ │ │ ├── dot-nav-icon.component.ts │ │ │ │ │ │ └── dot-nav-icon.module.ts │ │ │ │ │ ├── dot-nav-item │ │ │ │ │ │ ├── dot-nav-item.component.html │ │ │ │ │ │ ├── dot-nav-item.component.scss │ │ │ │ │ │ ├── dot-nav-item.component.spec.ts │ │ │ │ │ │ └── dot-nav-item.component.ts │ │ │ │ │ └── dot-sub-nav │ │ │ │ │ │ ├── dot-sub-nav.component.html │ │ │ │ │ │ ├── dot-sub-nav.component.scss │ │ │ │ │ │ ├── dot-sub-nav.component.spec.ts │ │ │ │ │ │ └── dot-sub-nav.component.ts │ │ │ │ ├── dot-navigation.component.html │ │ │ │ ├── dot-navigation.component.scss │ │ │ │ ├── dot-navigation.component.spec.ts │ │ │ │ ├── dot-navigation.component.ts │ │ │ │ ├── dot-navigation.module.ts │ │ │ │ └── services │ │ │ │ │ ├── dot-navigation.service.spec.ts │ │ │ │ │ └── dot-navigation.service.ts │ │ │ ├── dot-persona-selected-item │ │ │ │ ├── dot-persona-selected-item.component.html │ │ │ │ ├── dot-persona-selected-item.component.scss │ │ │ │ ├── dot-persona-selected-item.component.spec.ts │ │ │ │ ├── dot-persona-selected-item.component.ts │ │ │ │ └── dot-persona-selected-item.module.ts │ │ │ ├── dot-persona-selector-option │ │ │ │ ├── dot-persona-selector-option.component.html │ │ │ │ ├── dot-persona-selector-option.component.scss │ │ │ │ ├── dot-persona-selector-option.component.spec.ts │ │ │ │ ├── dot-persona-selector-option.component.ts │ │ │ │ └── dot-persona-selector-option.module.ts │ │ │ ├── dot-persona-selector │ │ │ │ ├── dot-persona-selector.component.html │ │ │ │ ├── dot-persona-selector.component.scss │ │ │ │ ├── dot-persona-selector.component.spec.ts │ │ │ │ ├── dot-persona-selector.component.ts │ │ │ │ └── dot-persona.selector.module.ts │ │ │ ├── dot-portlet-base │ │ │ │ ├── components │ │ │ │ │ ├── dot-portlet-box │ │ │ │ │ │ ├── dot-portlet-box.component.html │ │ │ │ │ │ ├── dot-portlet-box.component.scss │ │ │ │ │ │ ├── dot-portlet-box.component.spec.ts │ │ │ │ │ │ ├── dot-portlet-box.component.ts │ │ │ │ │ │ └── dot-portlet-box.module.ts │ │ │ │ │ └── dot-portlet-toolbar │ │ │ │ │ │ ├── dot-portlet-toolbar.component.html │ │ │ │ │ │ ├── dot-portlet-toolbar.component.scss │ │ │ │ │ │ ├── dot-portlet-toolbar.component.spec.ts │ │ │ │ │ │ ├── dot-portlet-toolbar.component.ts │ │ │ │ │ │ └── dot-portlet-toolbar.module.ts │ │ │ │ ├── dot-portlet-base.component.html │ │ │ │ ├── dot-portlet-base.component.scss │ │ │ │ ├── dot-portlet-base.component.spec.ts │ │ │ │ ├── dot-portlet-base.component.ts │ │ │ │ ├── dot-portlet-base.module.ts │ │ │ │ └── dot-portlet-base.stories.ts │ │ │ ├── dot-relationship-tree │ │ │ │ ├── dot-relationship-tree.component.html │ │ │ │ ├── dot-relationship-tree.component.scss │ │ │ │ ├── dot-relationship-tree.component.spec.ts │ │ │ │ ├── dot-relationship-tree.component.ts │ │ │ │ └── dot-relationship-tree.module.ts │ │ │ ├── dot-secondary-toolbar │ │ │ │ ├── dot-secondary-toolbar.component.html │ │ │ │ ├── dot-secondary-toolbar.component.scss │ │ │ │ ├── dot-secondary-toolbar.component.spec.ts │ │ │ │ ├── dot-secondary-toolbar.component.ts │ │ │ │ ├── dot-secondary-toolbar.module.ts │ │ │ │ └── index.ts │ │ │ ├── dot-theme-selector-dropdown │ │ │ │ ├── dot-theme-selector-dropdown.component.html │ │ │ │ ├── dot-theme-selector-dropdown.component.scss │ │ │ │ ├── dot-theme-selector-dropdown.component.spec.ts │ │ │ │ ├── dot-theme-selector-dropdown.component.ts │ │ │ │ ├── dot-theme-selector-dropdown.module.ts │ │ │ │ └── dot-theme-selector-dropdown.stories.ts │ │ │ ├── dot-toolbar │ │ │ │ ├── components │ │ │ │ │ ├── dot-gravatar │ │ │ │ │ │ ├── dot-gravatar.component.html │ │ │ │ │ │ ├── dot-gravatar.component.scss │ │ │ │ │ │ ├── dot-gravatar.component.spec.ts │ │ │ │ │ │ ├── dot-gravatar.component.ts │ │ │ │ │ │ └── dot-gravatar.module.ts │ │ │ │ │ ├── dot-login-as │ │ │ │ │ │ ├── dot-login-as.component.html │ │ │ │ │ │ ├── dot-login-as.component.scss │ │ │ │ │ │ ├── dot-login-as.component.spec.ts │ │ │ │ │ │ ├── dot-login-as.component.ts │ │ │ │ │ │ └── dot-login-as.module.ts │ │ │ │ │ ├── dot-my-account │ │ │ │ │ │ ├── dot-my-account.component.html │ │ │ │ │ │ ├── dot-my-account.component.scss │ │ │ │ │ │ ├── dot-my-account.component.spec.ts │ │ │ │ │ │ ├── dot-my-account.component.ts │ │ │ │ │ │ └── dot-my-account.module.ts │ │ │ │ │ ├── dot-toolbar-notifications │ │ │ │ │ │ ├── components │ │ │ │ │ │ │ └── dot-notifications │ │ │ │ │ │ │ │ ├── dot-notifications-item.component.html │ │ │ │ │ │ │ │ ├── dot-notifications-item.component.scss │ │ │ │ │ │ │ │ ├── dot-notifications-list.component.html │ │ │ │ │ │ │ │ ├── dot-notifications-list.component.scss │ │ │ │ │ │ │ │ └── dot-notifications.component.ts │ │ │ │ │ │ ├── dot-toolbar-notifications.component.html │ │ │ │ │ │ ├── dot-toolbar-notifications.component.scss │ │ │ │ │ │ ├── dot-toolbar-notifications.component.spec.ts │ │ │ │ │ │ ├── dot-toolbar-notifications.component.ts │ │ │ │ │ │ └── dot-toolbar-notifications.module.ts │ │ │ │ │ └── dot-toolbar-user │ │ │ │ │ │ ├── dot-toolbar-user.component.html │ │ │ │ │ │ ├── dot-toolbar-user.component.scss │ │ │ │ │ │ ├── dot-toolbar-user.component.spec.ts │ │ │ │ │ │ ├── dot-toolbar-user.component.ts │ │ │ │ │ │ └── dot-toolbar-user.module.ts │ │ │ │ ├── dot-toolbar.component.html │ │ │ │ ├── dot-toolbar.component.scss │ │ │ │ ├── dot-toolbar.component.ts │ │ │ │ ├── dot-toolbar.module.ts │ │ │ │ └── dot-toolbar.spec.ts │ │ │ ├── dot-workflow-task-detail │ │ │ │ ├── dot-workflow-task-detail.component.html │ │ │ │ ├── dot-workflow-task-detail.component.spec.ts │ │ │ │ ├── dot-workflow-task-detail.component.ts │ │ │ │ ├── dot-workflow-task-detail.module.ts │ │ │ │ └── services │ │ │ │ │ ├── dot-workflow-task-detail.service.spec.ts │ │ │ │ │ └── dot-workflow-task-detail.service.ts │ │ │ ├── global-search │ │ │ │ ├── global-search.html │ │ │ │ ├── global-search.scss │ │ │ │ └── global-search.ts │ │ │ ├── login │ │ │ │ ├── dot-login-component │ │ │ │ │ ├── dot-login.component.html │ │ │ │ │ ├── dot-login.component.scss │ │ │ │ │ ├── dot-login.component.spec.ts │ │ │ │ │ ├── dot-login.component.ts │ │ │ │ │ └── dot-login.module.ts │ │ │ │ ├── dot-login-page-resolver.service.spec.ts │ │ │ │ ├── dot-login-page-resolver.service.ts │ │ │ │ ├── dot-login-page-routing.module.ts │ │ │ │ ├── dot-login-page.module.ts │ │ │ │ ├── dot-logout-container-component │ │ │ │ │ └── dot-log-out-container.ts │ │ │ │ ├── forgot-password-component │ │ │ │ │ ├── forgot-password.component.html │ │ │ │ │ ├── forgot-password.component.scss │ │ │ │ │ ├── forgot-password.component.spec.ts │ │ │ │ │ ├── forgot-password.component.ts │ │ │ │ │ └── forgot-password.module.ts │ │ │ │ ├── main │ │ │ │ │ ├── dot-login-page.component.html │ │ │ │ │ ├── dot-login-page.component.scss │ │ │ │ │ ├── dot-login-page.component.spec.ts │ │ │ │ │ └── dot-login-page.component.ts │ │ │ │ ├── reset-password-component │ │ │ │ │ ├── reset-password.component.html │ │ │ │ │ ├── reset-password.component.scss │ │ │ │ │ ├── reset-password.component.spec.ts │ │ │ │ │ ├── reset-password.component.ts │ │ │ │ │ └── reset-password.module.ts │ │ │ │ └── shared │ │ │ │ │ └── services │ │ │ │ │ ├── dot-login-page-state.service.spec.ts │ │ │ │ │ └── dot-login-page-state.service.ts │ │ │ ├── main-core-legacy │ │ │ │ └── main-core-legacy-component.ts │ │ │ ├── main-legacy │ │ │ │ ├── main-legacy.component.html │ │ │ │ ├── main-legacy.component.scss │ │ │ │ ├── main-legacy.component.spec.ts │ │ │ │ └── main-legacy.component.ts │ │ │ └── not-licensed │ │ │ │ ├── not-license.component.spec.ts │ │ │ │ ├── not-licensed.component.html │ │ │ │ ├── not-licensed.component.scss │ │ │ │ ├── not-licensed.component.ts │ │ │ │ └── not-licensed.module.ts │ │ │ ├── directives │ │ │ ├── dot-autofocus │ │ │ │ ├── dot-autofocus.directive.spec.ts │ │ │ │ ├── dot-autofocus.directive.ts │ │ │ │ └── dot-autofocus.module.ts │ │ │ ├── dot-container-reference │ │ │ │ ├── dot-container-reference.directive.spec.ts │ │ │ │ ├── dot-container-reference.directive.ts │ │ │ │ └── dot-container-reference.module.ts │ │ │ ├── dot-maxlength │ │ │ │ ├── dot-maxlength.directive.spec.ts │ │ │ │ ├── dot-maxlength.directive.ts │ │ │ │ └── dot-maxlength.module.ts │ │ │ └── ripple │ │ │ │ ├── ripple-effect.directive.scss │ │ │ │ ├── ripple-effect.directive.ts │ │ │ │ └── ripple-effect.module.ts │ │ │ └── pipes │ │ │ ├── dot-diff │ │ │ ├── dot-diff.pipe.module.ts │ │ │ ├── dot-diff.pipe.spec.ts │ │ │ └── dot-diff.pipe.ts │ │ │ ├── dot-filter │ │ │ ├── dot-filter-pipe.module.ts │ │ │ ├── dot-filter.pipe.spec.ts │ │ │ └── dot-filter.pipe.ts │ │ │ ├── dot-message │ │ │ ├── dot-message-pipe.module.ts │ │ │ ├── dot-message.pipe.spec.ts │ │ │ └── dot-message.pipe.ts │ │ │ ├── dot-pipes.module.ts │ │ │ ├── dot-safe-url │ │ │ ├── dot-safe-url.pipe.spec.ts │ │ │ └── dot-safe-url.pipe.ts │ │ │ ├── dot-string-format │ │ │ ├── dot-string-format.pipe.spec.ts │ │ │ └── dot-string-format.pipe.ts │ │ │ └── index.ts │ ├── assets │ │ ├── .gitkeep │ │ ├── MaterialIcons-Regular.ttf │ │ ├── icon │ │ │ ├── android-icon-192x192.png │ │ │ ├── apple-icon-114x114.png │ │ │ ├── apple-icon-120x120.png │ │ │ ├── apple-icon-144x144.png │ │ │ ├── apple-icon-152x152.png │ │ │ ├── apple-icon-180x180.png │ │ │ ├── apple-icon-57x57.png │ │ │ ├── apple-icon-60x60.png │ │ │ ├── apple-icon-72x72.png │ │ │ ├── apple-icon-76x76.png │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon-96x96.png │ │ │ └── ms-icon-144x144.png │ │ ├── manifest.json │ │ ├── roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff │ │ ├── roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2 │ │ ├── roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff │ │ ├── roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2 │ │ ├── roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff │ │ └── roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2 │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── index.html │ ├── main.ts │ ├── polyfills.ts │ ├── stories │ │ ├── DesignTokens.stories.mdx │ │ ├── Introduction.stories.mdx │ │ ├── dotcms │ │ │ └── form │ │ │ │ └── DotCMSForms.stories.ts │ │ └── primeng │ │ │ ├── button │ │ │ ├── Button.stories.ts │ │ │ └── SplitButton.stories.ts │ │ │ ├── data │ │ │ ├── Paginator.stories.ts │ │ │ ├── Table.stories.ts │ │ │ └── Tree.stories.ts │ │ │ ├── form │ │ │ ├── AutoComplete.stories.ts │ │ │ ├── Calendar.stories.ts │ │ │ ├── Checkbox.stories.ts │ │ │ ├── Chips.stories.ts │ │ │ ├── Dropdown.stories.ts │ │ │ ├── FloatLabel.stories.ts │ │ │ ├── InputGroup.stories.ts │ │ │ ├── InputMask.stories.ts │ │ │ ├── InputNumber.stories.ts │ │ │ ├── InputSwitch.stories.ts │ │ │ ├── InputText.stories.ts │ │ │ ├── InputTextArea.stories.ts │ │ │ ├── KeyFilter.stories.ts │ │ │ ├── ListBox.stories.ts │ │ │ ├── MultiSelect.stories.ts │ │ │ ├── Password.stories.ts │ │ │ ├── RadioButton.stories.ts │ │ │ └── SelectButton.stories.ts │ │ │ ├── menu │ │ │ ├── Breadcrumb.stories.ts │ │ │ ├── ContextMenu.stories.ts │ │ │ └── Menu.stories.ts │ │ │ ├── messages │ │ │ ├── Messages.stories.ts │ │ │ ├── Toast.component.ts │ │ │ └── Toast.stories.ts │ │ │ ├── misc │ │ │ ├── Badge.stories.ts │ │ │ ├── Defer.component.ts │ │ │ ├── Defer.stories.ts │ │ │ ├── FocusTrap.stories.ts │ │ │ ├── InPlace.stories.ts │ │ │ ├── ProgressBar.stories.ts │ │ │ ├── ProgressSpinner.stories.ts │ │ │ ├── Ripple.component.ts │ │ │ └── Ripple.stories.ts │ │ │ ├── overlay │ │ │ ├── ConfirmDialog.component.ts │ │ │ ├── ConfirmDialog.stories.ts │ │ │ ├── Dialog.stories.ts │ │ │ ├── DynamicDialog.stories.ts │ │ │ ├── DynamicDialogButton.component.ts │ │ │ ├── DynamicDialogProducts.component.ts │ │ │ ├── OverlayPanel.stories.ts │ │ │ ├── Product.interface.ts │ │ │ ├── SharedProducts.service.ts │ │ │ └── Tooltip.stories.ts │ │ │ └── panel │ │ │ └── TabView.stories.ts │ ├── test.ts │ ├── tomcat │ │ └── index.jsp │ ├── tsconfig.app.json │ └── tsconfig.spec.json │ ├── tsconfig.app.json │ ├── tsconfig.editor.json │ ├── tsconfig.json │ └── tsconfig.spec.json ├── decorate-angular-cli.js ├── documentation.json ├── jest.config.js ├── jest.preset.js ├── karma.conf.js ├── libs ├── .gitkeep ├── block-editor │ ├── .eslintrc.json │ ├── .storybook │ │ ├── main.js │ │ ├── manager.js │ │ ├── preview-head.html │ │ ├── preview.js │ │ ├── tsconfig.json │ │ └── webpack.config.js │ ├── README.md │ ├── jest.config.js │ ├── project.json │ ├── src │ │ ├── lib │ │ │ ├── AngularRenderer.ts │ │ │ ├── NodeViewRenderer.ts │ │ │ ├── assets │ │ │ │ ├── h1.svg │ │ │ │ ├── h2.svg │ │ │ │ ├── h3.svg │ │ │ │ ├── ol.svg │ │ │ │ ├── p.svg │ │ │ │ └── ul.svg │ │ │ ├── bubble-menu.directive.spec.ts │ │ │ ├── bubble-menu.directive.ts │ │ │ ├── draggable.directive.spec.ts │ │ │ ├── draggable.directive.ts │ │ │ ├── editor.directive.spec.ts │ │ │ ├── editor.directive.ts │ │ │ ├── extensions │ │ │ │ ├── actions-menu.extension.ts │ │ │ │ ├── blocks │ │ │ │ │ ├── contentlet-block │ │ │ │ │ │ ├── contentlet-block.component.html │ │ │ │ │ │ ├── contentlet-block.component.scss │ │ │ │ │ │ ├── contentlet-block.component.spec.ts │ │ │ │ │ │ ├── contentlet-block.component.ts │ │ │ │ │ │ └── contentlet-block.extension.ts │ │ │ │ │ └── image-block │ │ │ │ │ │ ├── image-block.component.html │ │ │ │ │ │ ├── image-block.component.scss │ │ │ │ │ │ ├── image-block.component.spec.ts │ │ │ │ │ │ ├── image-block.component.ts │ │ │ │ │ │ └── image-block.extention.ts │ │ │ │ ├── bubble-link-form.extension.ts │ │ │ │ ├── components │ │ │ │ │ ├── action-button │ │ │ │ │ │ ├── action-button.component.html │ │ │ │ │ │ ├── action-button.component.scss │ │ │ │ │ │ ├── action-button.component.spec.ts │ │ │ │ │ │ └── action-button.component.ts │ │ │ │ │ ├── bubble-menu-button │ │ │ │ │ │ ├── bubble-menu-button.component.html │ │ │ │ │ │ ├── bubble-menu-button.component.scss │ │ │ │ │ │ ├── bubble-menu-button.component.spec.ts │ │ │ │ │ │ └── bubble-menu-button.component.ts │ │ │ │ │ ├── bubble-menu-link-form │ │ │ │ │ │ ├── bubble-menu-link-form.component.html │ │ │ │ │ │ ├── bubble-menu-link-form.component.scss │ │ │ │ │ │ ├── bubble-menu-link-form.component.spec.ts │ │ │ │ │ │ └── bubble-menu-link-form.component.ts │ │ │ │ │ ├── bubble-menu │ │ │ │ │ │ ├── bubble-menu.component.html │ │ │ │ │ │ ├── bubble-menu.component.scss │ │ │ │ │ │ ├── bubble-menu.component.spec.ts │ │ │ │ │ │ └── bubble-menu.component.ts │ │ │ │ │ ├── drag-handler │ │ │ │ │ │ ├── drag-handler.component.html │ │ │ │ │ │ ├── drag-handler.component.scss │ │ │ │ │ │ ├── drag-handler.component.spec.ts │ │ │ │ │ │ └── drag-handler.component.ts │ │ │ │ │ ├── loader │ │ │ │ │ │ ├── loader.component.html │ │ │ │ │ │ ├── loader.component.scss │ │ │ │ │ │ ├── loader.component.spec.ts │ │ │ │ │ │ └── loader.component.ts │ │ │ │ │ ├── suggestion-list │ │ │ │ │ │ ├── suggestion-list.component.html │ │ │ │ │ │ ├── suggestion-list.component.scss │ │ │ │ │ │ ├── suggestion-list.component.spec.ts │ │ │ │ │ │ ├── suggestion-list.component.stories.ts │ │ │ │ │ │ └── suggestion-list.component.ts │ │ │ │ │ ├── suggestions-list-item │ │ │ │ │ │ ├── suggestions-list-item.component.html │ │ │ │ │ │ ├── suggestions-list-item.component.scss │ │ │ │ │ │ ├── suggestions-list-item.component.spec.ts │ │ │ │ │ │ ├── suggestions-list-item.component.stories.ts │ │ │ │ │ │ └── suggestions-list-item.component.ts │ │ │ │ │ └── suggestions │ │ │ │ │ │ ├── suggestion-icons.ts │ │ │ │ │ │ ├── suggestions.component.html │ │ │ │ │ │ ├── suggestions.component.scss │ │ │ │ │ │ ├── suggestions.component.spec.ts │ │ │ │ │ │ └── suggestions.component.ts │ │ │ │ ├── dot-bubble-menu.extension.ts │ │ │ │ ├── dragHandler.extension.ts │ │ │ │ ├── imageUpload.extension.ts │ │ │ │ ├── pipes │ │ │ │ │ └── contentlet-state │ │ │ │ │ │ ├── contentlet-state.pipe.spec.ts │ │ │ │ │ │ └── contentlet-state.pipe.ts │ │ │ │ └── services │ │ │ │ │ ├── dot-image │ │ │ │ │ ├── dot-image.service.spec.ts │ │ │ │ │ └── dot-image.service.ts │ │ │ │ │ ├── dot-language │ │ │ │ │ ├── dot-language.service.spec.ts │ │ │ │ │ └── dot-language.service.ts │ │ │ │ │ └── suggestions │ │ │ │ │ ├── suggestions.service.spec.ts │ │ │ │ │ └── suggestions.service.ts │ │ │ ├── floating-menu.directive.spec.ts │ │ │ ├── floating-menu.directive.ts │ │ │ ├── models │ │ │ │ └── dot-bubble-menu.model.ts │ │ │ ├── ngx-tiptap.module.ts │ │ │ ├── node-view-content.directive.spec.ts │ │ │ ├── node-view-content.directive.ts │ │ │ ├── plugins │ │ │ │ ├── bubble-link-form.plugin.ts │ │ │ │ ├── dot-bubble-menu.plugin.ts │ │ │ │ ├── floating.plugin.ts │ │ │ │ └── placeholder.plugin.ts │ │ │ └── utils │ │ │ │ ├── bubble-menu.utils.ts │ │ │ │ ├── prosemirror.utils.ts │ │ │ │ └── suggestion.utils.ts │ │ ├── public-api.ts │ │ └── test.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json ├── dot-layout-grid │ ├── .eslintrc.json │ ├── README.md │ ├── karma.conf.js │ ├── ng-package.json │ ├── ng-package.prod.json │ ├── package.json │ ├── project.json │ ├── src │ │ ├── lib │ │ │ ├── NgGrid.css │ │ │ ├── NgGrid_FixSmall.css │ │ │ ├── components │ │ │ │ └── NgGridPlaceholder.ts │ │ │ ├── directives │ │ │ │ ├── NgGrid.ts │ │ │ │ └── NgGridItem.ts │ │ │ ├── helpers │ │ │ │ └── NgGridHelper.ts │ │ │ ├── interfaces │ │ │ │ └── INgGrid.ts │ │ │ └── modules │ │ │ │ └── NgGrid.module.ts │ │ ├── public_api.ts │ │ └── test.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json ├── dot-primeng-theme-styles │ ├── .eslintrc.json │ ├── README.md │ ├── project.json │ ├── src │ │ ├── index.ts │ │ ├── lib │ │ │ └── styles.module.ts │ │ └── scss │ │ │ ├── _forms.scss │ │ │ ├── _mixins.scss │ │ │ ├── _typography.scss │ │ │ ├── _variables.scss │ │ │ ├── dotcms-theme │ │ │ ├── _misc.scss │ │ │ ├── components │ │ │ │ ├── _autocomplete.scss │ │ │ │ ├── _badge.scss │ │ │ │ ├── _breadcrumb.scss │ │ │ │ ├── _button.scss │ │ │ │ ├── _calendar.scss │ │ │ │ ├── _checkbox.scss │ │ │ │ ├── _chips.scss │ │ │ │ ├── _contextmenu.scss │ │ │ │ ├── _datatable.scss │ │ │ │ ├── _dataview.scss │ │ │ │ ├── _dialog.scss │ │ │ │ ├── _dropdown.scss │ │ │ │ ├── _dynamicdialog.scss │ │ │ │ ├── _float-label.scss │ │ │ │ ├── _inplace.scss │ │ │ │ ├── _input-group.scss │ │ │ │ ├── _inputswitch.scss │ │ │ │ ├── _inputtext.scss │ │ │ │ ├── _listbox.scss │ │ │ │ ├── _menu.scss │ │ │ │ ├── _message.scss │ │ │ │ ├── _multiselect.scss │ │ │ │ ├── _overlaypanel.scss │ │ │ │ ├── _paginator.scss │ │ │ │ ├── _progressbar.scss │ │ │ │ ├── _radiobutton.scss │ │ │ │ ├── _selectbutton.scss │ │ │ │ ├── _skeleton.scss │ │ │ │ ├── _splitbutton.scss │ │ │ │ ├── _tabview.scss │ │ │ │ ├── _tieredmenu.scss │ │ │ │ ├── _toast.scss │ │ │ │ ├── _toolbar.scss │ │ │ │ ├── _tooltip.scss │ │ │ │ └── _tree.scss │ │ │ ├── extends │ │ │ │ └── _inputtext.extends.scss │ │ │ ├── theme.scss │ │ │ └── utils │ │ │ │ ├── _extends.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── _password.scss │ │ │ │ ├── _theme-variables.scss │ │ │ │ └── _validation.scss │ │ │ └── styles.scss │ ├── tsconfig.json │ └── tsconfig.lib.json ├── dot-rules │ ├── .eslintrc.json │ ├── README.md │ ├── karma.conf.js │ ├── project.json │ ├── src │ │ ├── environments │ │ │ ├── environment.prod.ts │ │ │ └── environment.ts │ │ ├── lib │ │ │ ├── app.component.spec.ts │ │ │ ├── app.component.ts │ │ │ ├── app.module.ts │ │ │ ├── components │ │ │ │ ├── dot-autocomplete-tags │ │ │ │ │ ├── dot-autocomplete-tags.component.css │ │ │ │ │ ├── dot-autocomplete-tags.component.html │ │ │ │ │ ├── dot-autocomplete-tags.component.spec.ts │ │ │ │ │ ├── dot-autocomplete-tags.component.ts │ │ │ │ │ └── dot-autocomplete-tags.module.ts │ │ │ │ ├── dot-unlicense │ │ │ │ │ ├── dot-unlicense.component.html │ │ │ │ │ ├── dot-unlicense.component.scss │ │ │ │ │ ├── dot-unlicense.component.ts │ │ │ │ │ └── dot-unlicense.module.ts │ │ │ │ ├── dropdown │ │ │ │ │ └── dropdown.ts │ │ │ │ ├── input-date │ │ │ │ │ └── input-date.ts │ │ │ │ └── restdropdown │ │ │ │ │ └── RestDropdown.ts │ │ │ ├── condition-types │ │ │ │ └── serverside-condition │ │ │ │ │ └── serverside-condition.ts │ │ │ ├── custom-types │ │ │ │ └── visitors-location │ │ │ │ │ ├── visitors-location.component.ts │ │ │ │ │ └── visitors-location.container.ts │ │ │ ├── directives │ │ │ │ └── dot-autofocus │ │ │ │ │ ├── dot-autofocus.directive.spec.ts │ │ │ │ │ ├── dot-autofocus.directive.ts │ │ │ │ │ └── dot-autofocus.module.ts │ │ │ ├── google-map │ │ │ │ └── area-picker-dialog.component.ts │ │ │ ├── modal-dialog │ │ │ │ └── dialog-component.ts │ │ │ ├── models │ │ │ │ └── gcircle.model.ts │ │ │ ├── push-publish │ │ │ │ ├── add-to-bundle-dialog-component.ts │ │ │ │ └── add-to-bundle-dialog-container.ts │ │ │ ├── rule-action-component.ts │ │ │ ├── rule-component.ts │ │ │ ├── rule-condition-component.ts │ │ │ ├── rule-condition-group-component.ts │ │ │ ├── rule-engine.container.ts │ │ │ ├── rule-engine.module.ts │ │ │ ├── rule-engine.ts │ │ │ ├── services │ │ │ │ ├── Action.it-spec.ts │ │ │ │ ├── Action.spec.ts │ │ │ │ ├── Action.ts │ │ │ │ ├── Condition.it-spec.ts │ │ │ │ ├── Condition.ts │ │ │ │ ├── ConditionGroup.ts │ │ │ │ ├── GoogleMapService.ts │ │ │ │ ├── Rule.it-spec.ts │ │ │ │ ├── Rule.spec.ts │ │ │ │ ├── Rule.ts │ │ │ │ ├── ServerSideFieldModel.ts │ │ │ │ ├── bundle-service.ts │ │ │ │ ├── dot-view-rule-service.ts │ │ │ │ ├── routing-private-auth-service.ts │ │ │ │ ├── system │ │ │ │ │ └── locale │ │ │ │ │ │ ├── I18n.it-spec.ts │ │ │ │ │ │ └── I18n.ts │ │ │ │ ├── util │ │ │ │ │ ├── CwAction.ts │ │ │ │ │ ├── CwComponent.ts │ │ │ │ │ ├── CwEvent.ts │ │ │ │ │ ├── CwFilter.spec.ts │ │ │ │ │ ├── CwFilter.ts │ │ │ │ │ ├── CwInputModel.ts │ │ │ │ │ ├── CwModel.ts │ │ │ │ │ └── key-util.ts │ │ │ │ └── validation │ │ │ │ │ ├── Check.spec.ts │ │ │ │ │ ├── Check.ts │ │ │ │ │ ├── CustomValidators.ts │ │ │ │ │ └── Verify.ts │ │ │ └── styles │ │ │ │ ├── angular-material.layouts.scss │ │ │ │ └── rule-engine.scss │ │ ├── public_api.ts │ │ ├── test.ts │ │ ├── tsconfig.app.json │ │ └── tsconfig.spec.json │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.lib.prod.json │ ├── tsconfig.spec.json │ └── tslint.json ├── dotcms-field-elements │ ├── LICENSE │ ├── package.e2e.json │ ├── project.json │ ├── src │ │ ├── components.d.ts │ │ ├── components │ │ │ ├── dot-binary-file-preview │ │ │ │ ├── dot-binary-file-preview.e2e.tsx │ │ │ │ ├── dot-binary-file-preview.scss │ │ │ │ ├── dot-binary-file-preview.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-binary-file │ │ │ │ ├── dot-binary-file.e2e.tsx │ │ │ │ ├── dot-binary-file.scss │ │ │ │ ├── dot-binary-file.tsx │ │ │ │ ├── dot-binary-text-field │ │ │ │ │ ├── dot-binary-text-field.e2e.tsx │ │ │ │ │ ├── dot-binary-text-field.scss │ │ │ │ │ ├── dot-binary-text-field.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-binary-upload-button │ │ │ │ │ ├── dot-binary-upload-button.e2e.tsx │ │ │ │ │ ├── dot-binary-upload-button.scss │ │ │ │ │ ├── dot-binary-upload-button.tsx │ │ │ │ │ └── readme.md │ │ │ │ └── readme.md │ │ │ ├── dot-checkbox │ │ │ │ ├── dot-checkbox.e2e.ts │ │ │ │ ├── dot-checkbox.scss │ │ │ │ ├── dot-checkbox.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-date-range │ │ │ │ ├── dot-date-range.e2e.ts │ │ │ │ ├── dot-date-range.scss │ │ │ │ ├── dot-date-range.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-date-time │ │ │ │ ├── dot-date-time.e2e.ts │ │ │ │ ├── dot-date-time.scss │ │ │ │ ├── dot-date-time.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-date │ │ │ │ ├── dot-date.e2e.ts │ │ │ │ ├── dot-date.scss │ │ │ │ ├── dot-date.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-error-message │ │ │ │ ├── dot-error-message.e2e.ts │ │ │ │ ├── dot-error-message.scss │ │ │ │ ├── dot-error-message.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-form │ │ │ │ ├── dot-form-column │ │ │ │ │ ├── dot-form-column.e2e.ts │ │ │ │ │ ├── dot-form-column.scss │ │ │ │ │ ├── dot-form-column.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-form-row │ │ │ │ │ ├── dot-form-row.e2e.ts │ │ │ │ │ ├── dot-form-row.scss │ │ │ │ │ ├── dot-form-row.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-form.e2e.ts │ │ │ │ ├── dot-form.scss │ │ │ │ ├── dot-form.tsx │ │ │ │ ├── readme.md │ │ │ │ ├── services │ │ │ │ │ ├── dot-upload.service.spec.ts │ │ │ │ │ └── dot-upload.service.ts │ │ │ │ └── utils │ │ │ │ │ ├── fields.tsx │ │ │ │ │ ├── index.spec.ts │ │ │ │ │ └── index.ts │ │ │ ├── dot-input-calendar │ │ │ │ ├── dot-input-calendar.e2e.ts │ │ │ │ ├── dot-input-calendar.scss │ │ │ │ ├── dot-input-calendar.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-key-value │ │ │ │ ├── dot-key-value.e2e.ts │ │ │ │ ├── dot-key-value.scss │ │ │ │ ├── dot-key-value.tsx │ │ │ │ ├── key-value-form │ │ │ │ │ ├── key-value-form.e2e.ts │ │ │ │ │ ├── key-value-form.scss │ │ │ │ │ ├── key-value-form.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── key-value-table │ │ │ │ │ ├── key-value-table.e2e.ts │ │ │ │ │ ├── key-value-table.tsx │ │ │ │ │ └── readme.md │ │ │ │ └── readme.md │ │ │ ├── dot-label │ │ │ │ ├── dot-label.e2e.ts │ │ │ │ ├── dot-label.scss │ │ │ │ ├── dot-label.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-multi-select │ │ │ │ ├── dot-multi-select.e2e.ts │ │ │ │ ├── dot-multi-select.scss │ │ │ │ ├── dot-multi-select.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-radio │ │ │ │ ├── dot-radio.e2e.ts │ │ │ │ ├── dot-radio.scss │ │ │ │ ├── dot-radio.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-select │ │ │ │ ├── dot-select.e2e.ts │ │ │ │ ├── dot-select.scss │ │ │ │ ├── dot-select.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-tags │ │ │ │ ├── components │ │ │ │ │ ├── dot-autocomplete │ │ │ │ │ │ ├── dot-autocomplete.e2e.ts │ │ │ │ │ │ ├── dot-autocomplete.scss │ │ │ │ │ │ ├── dot-autocomplete.tsx │ │ │ │ │ │ └── readme.md │ │ │ │ │ └── dot-chip │ │ │ │ │ │ ├── dot-chip.e2e.ts │ │ │ │ │ │ ├── dot-chip.scss │ │ │ │ │ │ ├── dot-chip.tsx │ │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-tags.e2e.ts │ │ │ │ ├── dot-tags.scss │ │ │ │ ├── dot-tags.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-textarea │ │ │ │ ├── dot-textarea.e2e.ts │ │ │ │ ├── dot-textarea.scss │ │ │ │ ├── dot-textarea.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-textfield │ │ │ │ ├── dot-texfield.e2e.ts │ │ │ │ ├── dot-textfield.scss │ │ │ │ ├── dot-textfield.tsx │ │ │ │ └── readme.md │ │ │ └── dot-time │ │ │ │ ├── dot-time.e2e.ts │ │ │ │ ├── dot-time.scss │ │ │ │ ├── dot-time.tsx │ │ │ │ └── readme.md │ │ ├── dot-form.html │ │ ├── index.html │ │ ├── index.ts │ │ ├── models │ │ │ ├── dot-binary-message-error.model.ts │ │ │ ├── dot-date-slot.model.ts │ │ │ ├── dot-field-event.model.ts │ │ │ ├── dot-field-status.model.ts │ │ │ ├── dot-html-tag.model.ts │ │ │ ├── dot-http-error-response.model.ts │ │ │ ├── dot-key-value-field.model.ts │ │ │ └── index.ts │ │ ├── test │ │ │ ├── index.ts │ │ │ ├── mocks.ts │ │ │ └── utils.tsx │ │ └── utils │ │ │ ├── checkProp.tsx │ │ │ ├── index.ts │ │ │ ├── props │ │ │ ├── DotFieldPropError.spec.ts │ │ │ ├── DotFieldPropError.ts │ │ │ ├── models │ │ │ │ ├── PropValidationInfo.ts │ │ │ │ └── index.ts │ │ │ └── validators │ │ │ │ ├── date.spec.ts │ │ │ │ ├── date.ts │ │ │ │ ├── index.ts │ │ │ │ ├── props.spec.ts │ │ │ │ └── props.ts │ │ │ ├── utils.spec.tsx │ │ │ └── utils.tsx │ ├── stencil.config.ts │ └── tsconfig.json ├── dotcms-js │ ├── .eslintrc.json │ ├── README.md │ ├── karma.conf.js │ ├── ng-package.json │ ├── ng-package.prod.json │ ├── package-lock.json │ ├── package.json │ ├── project.json │ ├── src │ │ ├── lib │ │ │ ├── core │ │ │ │ ├── api-root.service.ts │ │ │ │ ├── browser-util.service.ts │ │ │ │ ├── core-web.service.mock.ts │ │ │ │ ├── core-web.service.ts │ │ │ │ ├── dot-push-publish-dialog.service.spec.ts │ │ │ │ ├── dot-push-publish-dialog.service.ts │ │ │ │ ├── dot-router.service.ts │ │ │ │ ├── dotcms-config.service.spec.ts │ │ │ │ ├── dotcms-config.service.ts │ │ │ │ ├── dotcms-events.service.spec.ts │ │ │ │ ├── dotcms-events.service.ts │ │ │ │ ├── logger.service.ts │ │ │ │ ├── login.service.ts │ │ │ │ ├── models │ │ │ │ │ ├── dot-events │ │ │ │ │ │ └── dot-event-type-wrapper.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── no-http-core-web.service.mock.ts │ │ │ │ ├── routing.service.ts │ │ │ │ ├── shared │ │ │ │ │ └── user.model.ts │ │ │ │ ├── site.service.mock.ts │ │ │ │ ├── site.service.ts │ │ │ │ ├── string-utils.service.ts │ │ │ │ └── util │ │ │ │ │ ├── app.config.ts │ │ │ │ │ ├── dot-event-socket.spec.ts │ │ │ │ │ ├── dot-event-socket.ts │ │ │ │ │ ├── http-code.ts │ │ │ │ │ ├── http-request-utils.ts │ │ │ │ │ ├── http-response-util.ts │ │ │ │ │ ├── local-store.service.spec.ts │ │ │ │ │ ├── local-store.service.ts │ │ │ │ │ ├── long-polling-protocol.spec.ts │ │ │ │ │ ├── long-polling-protocol.ts │ │ │ │ │ ├── models │ │ │ │ │ ├── dot-event-message.ts │ │ │ │ │ └── dot-event-socket-url.ts │ │ │ │ │ ├── notification.service.ts │ │ │ │ │ ├── protocol.ts │ │ │ │ │ ├── response-view.ts │ │ │ │ │ ├── websockets-protocol.spec.ts │ │ │ │ │ └── websockets-protocol.ts │ │ │ └── environments │ │ │ │ ├── environment.prod.ts │ │ │ │ └── environment.ts │ │ ├── public_api.ts │ │ └── test.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.spec.json │ └── tslint.json ├── dotcms-models │ ├── .eslintrc.json │ ├── README.md │ ├── ng-package.json │ ├── package.json │ ├── project.json │ ├── src │ │ ├── index.ts │ │ └── lib │ │ │ ├── dot-asset-create-options.model.ts │ │ │ ├── dot-content-state.model.ts │ │ │ ├── dot-content-types.model.ts │ │ │ ├── dot-contentlet.model.ts │ │ │ ├── dot-dynamic-field-component.model.ts │ │ │ ├── dot-http-error-response.model.ts │ │ │ ├── dot-http-request-options.model.ts │ │ │ ├── dot-iframe-edit-event.model.ts │ │ │ ├── dot-license.model.ts │ │ │ ├── dot-login.model.ts │ │ │ ├── dot-push-publish-dialog-data.model.ts │ │ │ ├── dot-temp-file.model.ts │ │ │ ├── dot-workflow-action.model.ts │ │ │ └── dot-workflow.model.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.lib.prod.json │ └── typedoc.json ├── dotcms-webcomponents │ ├── .storybook │ │ ├── main.ts │ │ ├── manager.js │ │ ├── preview-head.html │ │ ├── preview.js │ │ └── tsconfig.json │ ├── LICENSE │ ├── README.md │ ├── package.e2e.json │ ├── package.json │ ├── project.json │ ├── src │ │ ├── collections │ │ │ └── dot-card-view │ │ │ │ ├── dot-card-view.e2e.ts │ │ │ │ ├── dot-card-view.scss │ │ │ │ ├── dot-card-view.stories.js │ │ │ │ ├── dot-card-view.tsx │ │ │ │ └── readme.md │ │ ├── components.d.ts │ │ ├── components │ │ │ ├── contenttypes-fields │ │ │ │ ├── dot-binary-file │ │ │ │ │ ├── components │ │ │ │ │ │ ├── dot-binary-file-preview │ │ │ │ │ │ │ ├── dot-binary-file-preview.e2e.tsx │ │ │ │ │ │ │ ├── dot-binary-file-preview.scss │ │ │ │ │ │ │ ├── dot-binary-file-preview.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ ├── dot-binary-text-field │ │ │ │ │ │ │ ├── dot-binary-text-field.e2e.tsx │ │ │ │ │ │ │ ├── dot-binary-text-field.scss │ │ │ │ │ │ │ ├── dot-binary-text-field.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── dot-binary-upload-button │ │ │ │ │ │ │ ├── dot-binary-upload-button.e2e.tsx │ │ │ │ │ │ │ ├── dot-binary-upload-button.scss │ │ │ │ │ │ │ ├── dot-binary-upload-button.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── dot-binary-file.e2e.tsx │ │ │ │ │ ├── dot-binary-file.scss │ │ │ │ │ ├── dot-binary-file.stories.js │ │ │ │ │ ├── dot-binary-file.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-checkbox │ │ │ │ │ ├── dot-checkbox.e2e.ts │ │ │ │ │ ├── dot-checkbox.scss │ │ │ │ │ ├── dot-checkbox.stories.js │ │ │ │ │ ├── dot-checkbox.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-date-range │ │ │ │ │ ├── dot-date-range.e2e.ts │ │ │ │ │ ├── dot-date-range.scss │ │ │ │ │ ├── dot-date-range.stories.js │ │ │ │ │ ├── dot-date-range.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-date-time │ │ │ │ │ ├── dot-date-time.e2e.ts │ │ │ │ │ ├── dot-date-time.scss │ │ │ │ │ ├── dot-date-time.stories.js │ │ │ │ │ ├── dot-date-time.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-date │ │ │ │ │ ├── dot-date.e2e.ts │ │ │ │ │ ├── dot-date.scss │ │ │ │ │ ├── dot-date.stories.js │ │ │ │ │ ├── dot-date.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-error-message │ │ │ │ │ ├── dot-error-message.e2e.ts │ │ │ │ │ ├── dot-error-message.scss │ │ │ │ │ ├── dot-error-message.stories.js │ │ │ │ │ ├── dot-error-message.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-form │ │ │ │ │ ├── components │ │ │ │ │ │ ├── dot-form-column │ │ │ │ │ │ │ ├── dot-form-column.e2e.ts │ │ │ │ │ │ │ ├── dot-form-column.scss │ │ │ │ │ │ │ ├── dot-form-column.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── dot-form-row │ │ │ │ │ │ │ ├── dot-form-row.e2e.ts │ │ │ │ │ │ │ ├── dot-form-row.scss │ │ │ │ │ │ │ ├── dot-form-row.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── dot-form.e2e.ts │ │ │ │ │ ├── dot-form.scss │ │ │ │ │ ├── dot-form.stories.js │ │ │ │ │ ├── dot-form.tsx │ │ │ │ │ ├── readme.md │ │ │ │ │ ├── services │ │ │ │ │ │ ├── dot-upload.service.spec.ts │ │ │ │ │ │ └── dot-upload.service.ts │ │ │ │ │ └── utils │ │ │ │ │ │ ├── fields.tsx │ │ │ │ │ │ ├── index.spec.ts │ │ │ │ │ │ └── index.ts │ │ │ │ ├── dot-input-calendar │ │ │ │ │ ├── dot-input-calendar.e2e.ts │ │ │ │ │ ├── dot-input-calendar.scss │ │ │ │ │ ├── dot-input-calendar.stories.js │ │ │ │ │ ├── dot-input-calendar.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-key-value │ │ │ │ │ ├── components │ │ │ │ │ │ ├── key-value-form │ │ │ │ │ │ │ ├── key-value-form.e2e.ts │ │ │ │ │ │ │ ├── key-value-form.scss │ │ │ │ │ │ │ ├── key-value-form.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── key-value-table │ │ │ │ │ │ │ ├── key-value-table.e2e.ts │ │ │ │ │ │ │ ├── key-value-table.scss │ │ │ │ │ │ │ ├── key-value-table.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── dot-key-value.e2e.ts │ │ │ │ │ ├── dot-key-value.scss │ │ │ │ │ ├── dot-key-value.stories.js │ │ │ │ │ ├── dot-key-value.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-label │ │ │ │ │ ├── dot-label.e2e.ts │ │ │ │ │ ├── dot-label.scss │ │ │ │ │ ├── dot-label.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-multi-select │ │ │ │ │ ├── dot-multi-select.e2e.ts │ │ │ │ │ ├── dot-multi-select.scss │ │ │ │ │ ├── dot-multi-select.stories.js │ │ │ │ │ ├── dot-multi-select.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-radio │ │ │ │ │ ├── dot-radio.e2e.ts │ │ │ │ │ ├── dot-radio.scss │ │ │ │ │ ├── dot-radio.stories.js │ │ │ │ │ ├── dot-radio.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-select │ │ │ │ │ ├── dot-select.e2e.ts │ │ │ │ │ ├── dot-select.scss │ │ │ │ │ ├── dot-select.stories.js │ │ │ │ │ ├── dot-select.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-tags │ │ │ │ │ ├── components │ │ │ │ │ │ ├── dot-autocomplete │ │ │ │ │ │ │ ├── dot-autocomplete.e2e.ts │ │ │ │ │ │ │ ├── dot-autocomplete.scss │ │ │ │ │ │ │ ├── dot-autocomplete.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ │ └── dot-chip │ │ │ │ │ │ │ ├── dot-chip.e2e.ts │ │ │ │ │ │ │ ├── dot-chip.scss │ │ │ │ │ │ │ ├── dot-chip.tsx │ │ │ │ │ │ │ └── readme.md │ │ │ │ │ ├── dot-tags.e2e.ts │ │ │ │ │ ├── dot-tags.scss │ │ │ │ │ ├── dot-tags.stories.js │ │ │ │ │ ├── dot-tags.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-textarea │ │ │ │ │ ├── dot-textarea.e2e.ts │ │ │ │ │ ├── dot-textarea.scss │ │ │ │ │ ├── dot-textarea.stories.js │ │ │ │ │ ├── dot-textarea.tsx │ │ │ │ │ └── readme.md │ │ │ │ ├── dot-textfield │ │ │ │ │ ├── dot-texfield.e2e.ts │ │ │ │ │ ├── dot-textfield.scss │ │ │ │ │ ├── dot-textfield.stories.js │ │ │ │ │ ├── dot-textfield.tsx │ │ │ │ │ └── readme.md │ │ │ │ └── dot-time │ │ │ │ │ ├── dot-time.e2e.ts │ │ │ │ │ ├── dot-time.scss │ │ │ │ │ ├── dot-time.stories.js │ │ │ │ │ ├── dot-time.tsx │ │ │ │ │ └── readme.md │ │ │ ├── dot-asset-drop-zone │ │ │ │ ├── dot-asset-drop-zone.e2e.tsx │ │ │ │ ├── dot-asset-drop-zone.scss │ │ │ │ ├── dot-asset-drop-zone.stories.js │ │ │ │ ├── dot-asset-drop-zone.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-card-contentlet │ │ │ │ ├── dot-card-contentlet.e2e.ts │ │ │ │ ├── dot-card-contentlet.scss │ │ │ │ ├── dot-card-contentlet.stories.js │ │ │ │ ├── dot-card-contentlet.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-context-menu │ │ │ │ ├── dot-context-menu.e2e.ts │ │ │ │ ├── dot-context-menu.scss │ │ │ │ ├── dot-context-menu.stories.js │ │ │ │ ├── dot-context-menu.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-data-view-button │ │ │ │ ├── dot-data-view-button.css │ │ │ │ ├── dot-data-view-button.e2e.ts │ │ │ │ ├── dot-data-view-button.stories.js │ │ │ │ ├── dot-data-view-button.tsx │ │ │ │ └── readme.md │ │ │ └── dot-select-button │ │ │ │ ├── dot-select-button.e2e.ts │ │ │ │ ├── dot-select-button.scss │ │ │ │ ├── dot-select-button.stories.js │ │ │ │ ├── dot-select-button.tsx │ │ │ │ └── readme.md │ │ ├── elements │ │ │ ├── dot-badge │ │ │ │ ├── dot-badge.e2e.ts │ │ │ │ ├── dot-badge.scss │ │ │ │ ├── dot-badge.stories.js │ │ │ │ ├── dot-badge.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-card │ │ │ │ ├── dot-card.e2e.ts │ │ │ │ ├── dot-card.scss │ │ │ │ ├── dot-card.stories.js │ │ │ │ ├── dot-card.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-contentlet-icon │ │ │ │ ├── dot-contentlet-icon.e2e.ts │ │ │ │ ├── dot-contentlet-icon.scss │ │ │ │ ├── dot-contentlet-icon.stories.js │ │ │ │ ├── dot-contentlet-icon.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-contentlet-lock-icon │ │ │ │ ├── dot-contentlet-lock-icon.e2e.ts │ │ │ │ ├── dot-contentlet-lock-icon.scss │ │ │ │ ├── dot-contentlet-lock-icon.stories.js │ │ │ │ ├── dot-contentlet-lock-icon.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-contentlet-thumbnail │ │ │ │ ├── dot-contentlet-thumbnail.e2e.ts │ │ │ │ ├── dot-contentlet-thumbnail.scss │ │ │ │ ├── dot-contentlet-thumbnail.stories.js │ │ │ │ ├── dot-contentlet-thumbnail.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-material-icon-picker │ │ │ │ ├── dot-material-icon-picker.e2e.ts │ │ │ │ ├── dot-material-icon-picker.scss │ │ │ │ ├── dot-material-icon-picker.stories.js │ │ │ │ ├── dot-material-icon-picker.tsx │ │ │ │ ├── material-icon-classes.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-progress-bar │ │ │ │ ├── dot-progress-bar.scss │ │ │ │ ├── dot-progress-bar.tsx │ │ │ │ └── readme.md │ │ │ ├── dot-state-icon │ │ │ │ ├── dot-state-icon.e2e.ts │ │ │ │ ├── dot-state-icon.scss │ │ │ │ ├── dot-state-icon.stories.js │ │ │ │ ├── dot-state-icon.tsx │ │ │ │ └── readme.md │ │ │ └── dot-tooltip │ │ │ │ ├── dot-tooltip.e2e.ts │ │ │ │ ├── dot-tooltip.scss │ │ │ │ ├── dot-tooltip.tsx │ │ │ │ ├── readme.md │ │ │ │ └── utils.ts │ │ ├── global │ │ │ └── _variables.scss │ │ ├── index.html │ │ ├── index.ts │ │ ├── models │ │ │ ├── dot-binary-message-error.model.ts │ │ │ ├── dot-card-contentlet.model.ts │ │ │ ├── dot-contentlet-item.model.ts │ │ │ ├── dot-context-menu-action.model.ts │ │ │ ├── dot-context-menu.model.ts │ │ │ ├── dot-date-slot.model.ts │ │ │ ├── dot-field-event.model.ts │ │ │ ├── dot-field-status.model.ts │ │ │ ├── dot-html-tag.model.ts │ │ │ ├── dot-key-value-field.model.ts │ │ │ ├── dotSelectButtonOption.ts │ │ │ └── index.ts │ │ ├── services │ │ │ └── dot-asset │ │ │ │ ├── dot-asset.service.spec.ts │ │ │ │ └── dot-asset.service.ts │ │ ├── test │ │ │ ├── index.ts │ │ │ ├── mocks.ts │ │ │ └── utils.tsx │ │ └── utils │ │ │ ├── checkProp.ts │ │ │ ├── index.ts │ │ │ ├── props │ │ │ ├── DotFieldPropError.spec.ts │ │ │ ├── DotFieldPropError.ts │ │ │ ├── models │ │ │ │ ├── PropValidationInfo.ts │ │ │ │ └── index.ts │ │ │ └── validators │ │ │ │ ├── date.spec.ts │ │ │ │ ├── date.ts │ │ │ │ ├── index.ts │ │ │ │ ├── props.spec.ts │ │ │ │ └── props.ts │ │ │ ├── utils.spec.ts │ │ │ └── utils.tsx │ ├── stencil.config.ts │ └── tsconfig.json ├── dotcms │ ├── .eslintrc.json │ ├── README.md │ ├── jest.config.js │ ├── ng-package.json │ ├── package.json │ ├── project.json │ ├── src │ │ ├── index.ts │ │ ├── lib │ │ │ ├── api │ │ │ │ ├── DotApiAuthorization.ts │ │ │ │ ├── DotApiConfiguration.ts │ │ │ │ ├── DotApiContent.spec.ts │ │ │ │ ├── DotApiContent.ts │ │ │ │ ├── DotApiContentType.spec.ts │ │ │ │ ├── DotApiContentType.ts │ │ │ │ ├── DotApiElasticSearch.ts │ │ │ │ ├── DotApiEvent.ts │ │ │ │ ├── DotApiForm.spec.ts │ │ │ │ ├── DotApiForm.ts │ │ │ │ ├── DotApiLanguage.ts │ │ │ │ ├── DotApiNavigation.ts │ │ │ │ ├── DotApiPage.spec.ts │ │ │ │ ├── DotApiPage.ts │ │ │ │ ├── DotApiSite.ts │ │ │ │ ├── DotApiWidget.spec.ts │ │ │ │ └── DotApiWidget.ts │ │ │ ├── models │ │ │ │ ├── DotCMSAuthorization.model.ts │ │ │ │ ├── DotCMSConfiguration.model.ts │ │ │ │ ├── DotCMSContent.model.ts │ │ │ │ ├── DotCMSElasticSearch.model.ts │ │ │ │ ├── DotCMSError.model.ts │ │ │ │ ├── DotCMSEvent.model.ts │ │ │ │ ├── DotCMSForm.model.ts │ │ │ │ ├── DotCMSHttpClient.model.ts │ │ │ │ ├── DotCMSLanguage.model.ts │ │ │ │ ├── DotCMSNavigation.model.ts │ │ │ │ ├── DotCMSPage.model.ts │ │ │ │ ├── DotCMSPageFormat.model.ts │ │ │ │ ├── DotCMSSite.model.ts │ │ │ │ └── index.ts │ │ │ └── utils │ │ │ │ ├── DotCMSHttpClient.ts │ │ │ │ ├── getEsQuery.ts │ │ │ │ └── request.ts │ │ └── test-setup.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ ├── tsconfig.lib.prod.json │ ├── tsconfig.spec.json │ └── typedoc.json ├── ui │ ├── .eslintrc.json │ ├── README.md │ ├── karma.conf.js │ ├── project.json │ ├── src │ │ ├── index.ts │ │ ├── lib │ │ │ ├── dot-icon │ │ │ │ ├── dot-icon.component.html │ │ │ │ ├── dot-icon.component.scss │ │ │ │ ├── dot-icon.component.spec.ts │ │ │ │ ├── dot-icon.component.ts │ │ │ │ └── dot-icon.module.ts │ │ │ ├── dot-spinner │ │ │ │ ├── dot-spinner.component.html │ │ │ │ ├── dot-spinner.component.scss │ │ │ │ ├── dot-spinner.component.spec.ts │ │ │ │ ├── dot-spinner.component.ts │ │ │ │ └── dot-spinner.module.ts │ │ │ └── ui.module.ts │ │ └── test.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json └── utils │ ├── .eslintrc.json │ ├── README.md │ ├── karma.conf.js │ ├── project.json │ ├── src │ ├── index.ts │ ├── lib │ │ ├── services │ │ │ ├── dot-asset.service.ts │ │ │ └── dot-temp-file.service.ts │ │ └── utils.module.ts │ └── test.ts │ ├── tsconfig.json │ ├── tsconfig.lib.json │ └── tsconfig.spec.json ├── nx.json ├── package-lock.json ├── package.json ├── tools ├── generators │ └── .gitkeep └── tsconfig.tools.json └── tsconfig.base.json /.dockerignore: -------------------------------------------------------------------------------- 1 | dist 2 | dist-lib 3 | travis 4 | travis.yml 5 | node_modules 6 | Dockerfile* 7 | docker-compose* 8 | README.md -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 4 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # exclude package-lock from github diffs 2 | package-lock.json -diff 3 | -------------------------------------------------------------------------------- /.github/main.workflow: -------------------------------------------------------------------------------- 1 | workflow "Run tests" { 2 | resolves = ["Run Angular Tests in dotcms-ui"] 3 | on = "pull_request" 4 | } 5 | 6 | action "Install dependencies" { 7 | uses = "actions/npm@59b64a598378f31e49cb76f27d6f3312b582f680" 8 | runs = "npm i" 9 | } 10 | 11 | action "Run Angular Tests in dotcms-ui" { 12 | uses = "actions/npm@59b64a598378f31e49cb76f27d6f3312b582f680" 13 | runs = "npm run test dotcms-ui" 14 | } 15 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ### Proposed Changes 2 | * change 1 3 | * change 2 4 | 5 | ### Checklist 6 | - [ ] Tests 7 | - [ ] Translations 8 | - [ ] Security Implications Contemplated (add notes if applicable) 9 | 10 | ### Additional Info 11 | ** any additional useful context or info ** 12 | 13 | ### Screenshots 14 | Original | Updated 15 | :-------------------------:|:-------------------------: 16 | ** original screenshot ** | ** updated screenshot ** 17 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx pretty-quick --staged 5 | npm run nx lint -- dotcms-ui 6 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | package.json 2 | package-lock.json 3 | dist 4 | dist-lib 5 | dist-doc 6 | node_modules 7 | .angulardoc.json 8 | .vscode/* 9 | .storybook 10 | .cicd 11 | karma_html 12 | docs 13 | .angular 14 | *.md 15 | decorate-angular-cli.js 16 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": false, 3 | "printWidth": 100, 4 | "tabWidth": 4, 5 | "singleQuote": true, 6 | "trailingComma": "none", 7 | "jsxBracketSameLine": false, 8 | "arrowParens": "always", 9 | "overrides": [ 10 | { 11 | "files": "*.scss", 12 | "options": { 13 | "singleQuote": false 14 | } 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.storybook/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "exclude": ["../**/*.spec.js", "../**/*.spec.ts", "../**/*.spec.tsx", "../**/*.spec.jsx"], 4 | "include": ["../**/*"] 5 | } 6 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "nrwl.angular-console", 4 | "angular.ng-template", 5 | "ms-vscode.vscode-typescript-tslint-plugin", 6 | "esbenp.prettier-vscode" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true 3 | } 4 | -------------------------------------------------------------------------------- /apps/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/.gitkeep -------------------------------------------------------------------------------- /apps/dotcdn-e2e/src/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io" 4 | } 5 | -------------------------------------------------------------------------------- /apps/dotcdn-e2e/src/support/app.po.ts: -------------------------------------------------------------------------------- 1 | export const getGreeting = () => cy.get('h1'); 2 | -------------------------------------------------------------------------------- /apps/dotcdn-e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "sourceMap": false, 5 | "outDir": "../../dist/out-tsc", 6 | "allowJs": true, 7 | "types": ["cypress", "node"] 8 | }, 9 | "include": ["src/**/*.ts", "src/**/*.js"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcdn-e2e/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.e2e.json" 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcdn/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcdn/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/dotcdn/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /apps/dotcdn/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcdn/src/favicon.ico -------------------------------------------------------------------------------- /apps/dotcdn/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DotCdn 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/dotcdn/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic() 12 | .bootstrapModule(AppModule) 13 | .catch((err) => console.error(err)); 14 | -------------------------------------------------------------------------------- /apps/dotcdn/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /apps/dotcdn/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import 'jest-preset-angular/setup-jest'; 2 | 3 | import { getTestBed } from '@angular/core/testing'; 4 | import { 5 | BrowserDynamicTestingModule, 6 | platformBrowserDynamicTesting 7 | } from '@angular/platform-browser-dynamic/testing'; 8 | 9 | getTestBed().resetTestEnvironment(); 10 | getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { 11 | teardown: { destroyAfterEach: false } 12 | }); 13 | -------------------------------------------------------------------------------- /apps/dotcdn/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts", "src/polyfills.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /apps/dotcdn/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*.ts"], 4 | "compilerOptions": { 5 | "types": ["jasmine", "node"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcdn/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "compilerOptions": { 6 | "types": ["jest", "node"] 7 | }, 8 | "references": [ 9 | { 10 | "path": "./tsconfig.app.json" 11 | }, 12 | { 13 | "path": "./tsconfig.spec.json" 14 | }, 15 | { 16 | "path": "./tsconfig.editor.json" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /apps/dotcdn/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "files": ["src/test-setup.ts"], 9 | "include": ["**/*.spec.ts", "**/*.test.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor-e2e/src/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io" 4 | } 5 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor-e2e/src/integration/app.component.spec.ts: -------------------------------------------------------------------------------- 1 | describe('dotcms-block-editor', () => { 2 | beforeEach(() => cy.visit('/iframe.html?id=appcomponent--primary')); 3 | 4 | it('should render the component', () => { 5 | cy.get('dotcms-root').should('exist'); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor-e2e/src/integration/dot-block-editor/dot-block-editor.component.spec.ts: -------------------------------------------------------------------------------- 1 | describe('dotcms-block-editor', () => { 2 | beforeEach(() => cy.visit('/iframe.html?id=dotblockeditorcomponent--primary')); 3 | 4 | it('should render the component', () => { 5 | cy.get('dot-block-editor').should('exist'); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor-e2e/src/support/app.po.ts: -------------------------------------------------------------------------------- 1 | export const getGreeting = () => cy.get('h1'); 2 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor-e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "sourceMap": false, 5 | "outDir": "../../dist/out-tsc", 6 | "allowJs": true, 7 | "types": ["cypress", "node"] 8 | }, 9 | "include": ["src/**/*.ts", "src/**/*.js"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor-e2e/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.e2e.json" 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/.storybook/manager.js: -------------------------------------------------------------------------------- 1 | import { addons } from '@storybook/addons'; 2 | import dotcmsTheme from '../../../.storybook/dotcms-theme'; 3 | 4 | addons.setConfig({ 5 | theme: dotcmsTheme, 6 | }); -------------------------------------------------------------------------------- /apps/dotcms-block-editor/.storybook/preview-head.html: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/.storybook/preview.js: -------------------------------------------------------------------------------- 1 | import { defineCustomElements } from '@dotcms/dotcms-webcomponents/loader'; 2 | 3 | defineCustomElements(); -------------------------------------------------------------------------------- /apps/dotcms-block-editor/.storybook/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "emitDecoratorMetadata": true 5 | }, 6 | "exclude": ["../**/*.spec.ts"], 7 | "include": ["../src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/app/app.component.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-block-editor/src/app/app.component.spec.ts -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dotcms-root', 5 | templateUrl: './app.component.html', 6 | styleUrls: [] 7 | }) 8 | export class AppComponent { 9 | title = 'dotcms-block-editor'; 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/app/dot-block-editor/dot-block-editor.component.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-block-editor/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-block-editor/src/favicon.ico -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DotBlockEditor 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic() 12 | .bootstrapModule(AppModule) 13 | .catch((err) => console.error(err)); 14 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/src/styles.scss: -------------------------------------------------------------------------------- 1 | html, body { 2 | font-family: Roboto, sans-serif; 3 | font-size: 14px; 4 | } 5 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts", "src/polyfills.ts"], 8 | "exclude": ["**/*.stories.ts", "**/*.stories.js"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*.ts"], 4 | "compilerOptions": { 5 | "types": ["jasmine", "node"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-block-editor/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts", "src/polyfills.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui-e2e/src/fixtures/Cypress-DB-Seed.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui-e2e/src/fixtures/Cypress-DB-Seed.tar.gz -------------------------------------------------------------------------------- /apps/dotcms-ui-e2e/src/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace Cypress { 2 | interface Chainable { 3 | form_request( 4 | method: string, 5 | url: string, 6 | formData: FormData, 7 | callback: Function 8 | ): Chainable; 9 | 10 | iframe(callback?: Function): Chainable; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui-e2e/src/integration/_setup/index.spec.ts: -------------------------------------------------------------------------------- 1 | import Utils from '@e2e/shared/Utils'; 2 | 3 | describe('Setup', () => { 4 | it('Sets initial DB data', async () => { 5 | await Utils.DBSeed(); 6 | }); 7 | }); 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui-e2e/src/support/shared/Form.ts: -------------------------------------------------------------------------------- 1 | class Form { 2 | static fill(selector: string | Cypress.Chainable, text: string) { 3 | if (typeof selector === 'string') { 4 | cy.get(selector).type(text); 5 | } else { 6 | selector.type(text); 7 | } 8 | } 9 | 10 | static submit(selector: string) { 11 | cy.get(selector).get('input[type="submit"]').click(); 12 | } 13 | } 14 | 15 | export default Form; 16 | -------------------------------------------------------------------------------- /apps/dotcms-ui-e2e/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.e2e.json" 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/.storybook/manager.js: -------------------------------------------------------------------------------- 1 | import { addons } from '@storybook/addons'; 2 | import dotcmsTheme from '../../../.storybook/dotcms-theme'; 3 | 4 | addons.setConfig({ 5 | theme: dotcmsTheme, 6 | }); -------------------------------------------------------------------------------- /apps/dotcms-ui/.storybook/preview-head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /apps/dotcms-ui/.storybook/preview.js: -------------------------------------------------------------------------------- 1 | export const parameters = { 2 | options: { 3 | storySort: { 4 | order: ['Getting Started', ['Introduction', 'Design Tokens']], 5 | }, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/.storybook/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "emitDecoratorMetadata": true 5 | }, 6 | "exclude": ["../**/*.spec.ts"], 7 | "include": ["../src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/api/services/dot-alert-confirm/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-alert-confirm.service'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/api/services/dot-content-type/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-content-type.service'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/api/services/dot-content-types-info/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-content-types-info.service'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/api/services/dot-crud/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-crud.service'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/api/services/paginator/index.ts: -------------------------------------------------------------------------------- 1 | export * from './paginator.service'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/app.component.scss: -------------------------------------------------------------------------------- 1 | .confirm-dialog__button--hidden { 2 | visibility: hidden; 3 | } 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-apps/dot-apps-import-export-dialog/dot-apps-import-export-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | .dot-apps-export-dialog__password, 4 | #import-file { 5 | margin-bottom: $spacing-3; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-content-types/dot-content-types.module.ts: -------------------------------------------------------------------------------- 1 | import { CommonModule } from '@angular/common'; 2 | import { NgModule } from '@angular/core'; 3 | import { DotContentTypesRoutingModule } from './dot-content-types-routing.module'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule, DotContentTypesRoutingModule] 7 | }) 8 | export class DotContentTypesModule {} 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/components/dot-edit-page-info/dot-edit-page-info.component.html: -------------------------------------------------------------------------------- 1 |

{{ title }}

2 | 7 | 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/components/dot-palette/dot-palette.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | background-color: white; 3 | display: block; 4 | height: 100%; 5 | } 6 | 7 | div { 8 | display: flex; 9 | height: 100%; 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/content/components/dot-edit-page-toolbar/dot-edit-page-toolbar.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | .edit-page-toolbar__cancel { 4 | margin-right: $spacing-1; 5 | } 6 | 7 | .dot-edit__what-changed-button { 8 | margin-left: $spacing-3; 9 | } 10 | 11 | .main-toolbar-right { 12 | align-items: center; 13 | display: flex; 14 | } 15 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/content/components/dot-edit-page-workflows-actions/dot-edit-page-workflows-actions.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/content/components/dot-edit-page-workflows-actions/dot-edit-page-workflows-actions.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/portlets/dot-edit-page/content/components/dot-edit-page-workflows-actions/dot-edit-page-workflows-actions.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/content/components/dot-whats-changed/dot-whats-changed.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {{'nothing-changed' | dm}} 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/content/services/dot-edit-content-html/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './page-model-change-event'; 2 | export * from './page-model-change-event.type'; 3 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/content/services/dot-edit-content-html/models/page-model-change-event.ts: -------------------------------------------------------------------------------- 1 | import { DotPageContainer } from '@models/dot-page-container/dot-page-container.model'; 2 | import { PageModelChangeEventType } from './page-model-change-event.type'; 3 | 4 | export interface PageModelChangeEvent { 5 | model: DotPageContainer[]; 6 | type: PageModelChangeEventType; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/content/services/dot-edit-content-html/models/page-model-change-event.type.ts: -------------------------------------------------------------------------------- 1 | export enum PageModelChangeEventType { 2 | REMOVE_CONTENT = 'REMOVE_CONTENT', 3 | ADD_CONTENT = 'ADD_CONTENT', 4 | EDIT_CONTENT = 'EDIT_CONTENT', 5 | MOVE_CONTENT = 'MOVE_CONTENT' 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/layout/components/dot-template-additional-actions/dot-legacy-template-additional-actions-iframe/dot-legacy-template-additional-actions-iframe.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/layout/dot-edit-layout/dot-edit-layout.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/portlets/dot-edit-page/layout/dot-edit-layout/dot-edit-layout.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/main/dot-edit-page-main/dot-edit-page-main.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/main/dot-edit-page-main/dot-edit-page-main.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | @import "mixins"; 3 | 4 | :host { 5 | display: flex; 6 | padding-right: 80px; 7 | min-height: 100%; 8 | height: 100%; 9 | 10 | & > dot-edit-page-nav { 11 | position: fixed; 12 | height: 100%; 13 | right: 0; 14 | top: $toolbar-height; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/shared/models/dot-page-content.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Represent a Container linked with a page and with content added to it 3 | */ 4 | export interface DotPageContent { 5 | identifier: string; 6 | inode: string; 7 | type?: string; 8 | baseType?: string; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-edit-page/shared/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-page-content.model'; 2 | export * from './dot-rendered-page-state.model'; 3 | export * from './dot-site.model'; 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-form-builder/dot-form-builder.component.html: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-form-builder/dot-form-builder.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/portlets/dot-form-builder/dot-form-builder.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-porlet-detail/dot-portlet-detail.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-porlet-detail/dot-portlet-detail.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/portlets/dot-porlet-detail/dot-portlet-detail.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-templates/dot-template-create-edit/dot-template-create-edit.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | height: 100%; 4 | } 5 | 6 | dot-portlet-base { 7 | display: flex; 8 | flex-direction: column; 9 | height: 100%; 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-templates/dot-template-create-edit/dot-template-new/dot-template-new.component.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/portlets/dot-templates/dot-template-create-edit/dot-template-new/dot-template-new.component.html -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-templates/dot-template-create-edit/dot-template-new/dot-template-new.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/portlets/dot-templates/dot-template-create-edit/dot-template-new/dot-template-new.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/dot-templates/dot-template-create-edit/dot-template-props/dot-template-props.component.scss: -------------------------------------------------------------------------------- 1 | textarea { 2 | resize: vertical; 3 | } 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-field-dragabble-item/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-type-field-dragabble-item.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-add-row/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-type-fields-add-row.module'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-drop-zone/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-type-fields-drop-zone.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/categories-property/index.ts: -------------------------------------------------------------------------------- 1 | export * from './categories-property.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/checkbox-property/checkbox-property.component.html: -------------------------------------------------------------------------------- 1 |
2 | 8 | 9 |
10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/checkbox-property/index.ts: -------------------------------------------------------------------------------- 1 | export * from './checkbox-property.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/data-type-property/index.ts: -------------------------------------------------------------------------------- 1 | export * from './data-type-property.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/default-value-property/index.ts: -------------------------------------------------------------------------------- 1 | export * from './default-value-property.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/dot-relationships-property/dot-relationships-property.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | .relationship__type { 4 | display: flex; 5 | 6 | p-radioButton { 7 | margin-right: $spacing-3; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/dot-relationships-property/model/dot-relationship-cardinality.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotRelationshipCardinality { 2 | name: string; 3 | id: number; 4 | label: string; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/dot-relationships-property/model/dot-relationships-property-value.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | *Value return by {@see DotRelationshipsPropertyComponent} 3 | * 4 | * @export 5 | * @interface DotRelationshipsPropertyValue 6 | */ 7 | export interface DotRelationshipsPropertyValue { 8 | velocityVar: string; 9 | cardinality: number; 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/field-properties.model.ts: -------------------------------------------------------------------------------- 1 | import { DotCMSContentTypeField } from '@dotcms/dotcms-models'; 2 | 3 | export interface FieldProperty { 4 | name: string; 5 | value: T; 6 | field: DotCMSContentTypeField; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/hint-property/hint-property.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/hint-property/index.ts: -------------------------------------------------------------------------------- 1 | export * from './hint-property.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/index.ts: -------------------------------------------------------------------------------- 1 | export * from './categories-property'; 2 | export * from './checkbox-property'; 3 | export * from './data-type-property'; 4 | export * from './default-value-property'; 5 | export * from './hint-property'; 6 | export * from './name-property'; 7 | export * from './regex-check-property'; 8 | export * from './values-property'; 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/name-property/index.ts: -------------------------------------------------------------------------------- 1 | export * from './name-property.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/name-property/name-property.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | .form__field-variable { 4 | font-size: $label-font-size; 5 | color: $label-color; 6 | margin-top: $spacing-1; 7 | display: flex; 8 | 9 | dot-copy-link { 10 | margin-left: $spacing-1; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/regex-check-property/index.ts: -------------------------------------------------------------------------------- 1 | export * from './regex-check-property.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/regex-check-property/regex-check-property.component.scss: -------------------------------------------------------------------------------- 1 | .form__validation-input-container { 2 | display: flex; 3 | 4 | .p-inputtext { 5 | max-width: 70%; 6 | margin-right: 5%; 7 | } 8 | 9 | p-dropdown { 10 | .p-dropdown { 11 | width: auto; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/values-property/index.ts: -------------------------------------------------------------------------------- 1 | export * from './values-property.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/field-properties/values-property/values-property.component.scss: -------------------------------------------------------------------------------- 1 | dot-field-helper { 2 | position: absolute; 3 | top: -12px; 4 | right: 0; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-properties-form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-type-fields-properties-form.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-row/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-type-fields-row.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-type-fields-tab/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-type-fields-tab.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/content-types-fields-list/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-types-fields-list.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/dot-content-type-fields-variables/dot-content-type-fields-variables.component.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/dot-content-type-fields-variables/dot-content-type-fields-variables.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/dot-content-type-fields-variables/dot-content-type-fields-variables.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/dot-content-type-fields-variables/models/dot-field-variable.interface.ts: -------------------------------------------------------------------------------- 1 | export interface DotFieldVariable { 2 | id?: string; 3 | clazz?: string; 4 | fieldId?: string; 5 | key: string; 6 | value: string; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-types-fields-list'; 2 | export * from './content-type-fields-drop-zone'; 3 | export * from './content-type-fields-row'; 4 | export * from './content-type-fields-tab'; 5 | export * from './content-type-field-dragabble-item'; 6 | export * from './content-type-fields-properties-form'; 7 | export * from './content-type-fields-add-row'; 8 | export * from './models'; 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/models/field-type.model.ts: -------------------------------------------------------------------------------- 1 | export interface FieldType { 2 | id: string; 3 | label: string; 4 | clazz: string; 5 | helpText: string; 6 | properties: string[]; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './field-type.model'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/service/index.ts: -------------------------------------------------------------------------------- 1 | export * from './field.service'; 2 | export * from './field-drag-drop.service'; 3 | export * from './field-properties.service'; 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/fields/service/validators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './date.validator'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/form/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-types-form.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/components/layout/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-types-layout.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/dot-content-types-edit.component.scss: -------------------------------------------------------------------------------- 1 | @use "dotcms-theme/utils/theme-variables" as *; 2 | @use "variables" as *; 3 | @import "mixins"; 4 | 5 | ::ng-deep .basetype-content.p-dialog .p-dialog-content .p-autocomplete-panel { 6 | bottom: 36px !important; 7 | top: auto !important; 8 | } 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-edit/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-content-types-edit.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-content-types-listing/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-content-types.component'; 2 | export * from './dot-content-types-listing.module'; 3 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/portlets/shared/dot-unlicensed-porlet/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-unlicensed-porlet.module'; 2 | export * from './dot-unlicensed-porlet.component'; 3 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/dot-directives.module.ts: -------------------------------------------------------------------------------- 1 | import { CommonModule } from '@angular/common'; 2 | import { RippleEffectModule } from '@directives/ripple/ripple-effect.module'; 3 | import { NgModule } from '@angular/core'; 4 | 5 | @NgModule({ 6 | declarations: [], 7 | imports: [CommonModule, RippleEffectModule], 8 | exports: [] 9 | }) 10 | export class DotDirectivesModule {} 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/dot-save-on-deactivate-service/save-on-deactivate.ts: -------------------------------------------------------------------------------- 1 | import { DotAlertConfirm } from '../models/dot-alert-confirm/dot-alert-confirm.model'; 2 | import { Observable } from 'rxjs'; 3 | 4 | export interface OnSaveDeactivate { 5 | shouldSaveBefore(): boolean; 6 | onDeactivateSave(): Observable; 7 | getSaveWarningMessages(): DotAlertConfirm; 8 | } 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/action-header/action-header-delete-options.model.ts: -------------------------------------------------------------------------------- 1 | export interface ActionHeaderDeleteOptions { 2 | confirmHeader?: string; 3 | confirmMessage?: string; 4 | } 5 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/action-header/action-header-options-primary.model.ts: -------------------------------------------------------------------------------- 1 | import { ButtonModel } from './button.model'; 2 | 3 | export interface ActionHeaderOptionsPrimary { 4 | command?: (event?: unknown) => void; 5 | model?: ButtonModel[]; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/action-header/action-header-options.model.ts: -------------------------------------------------------------------------------- 1 | import { ActionHeaderOptionsPrimary } from './action-header-options-primary.model'; 2 | import { ButtonAction } from './button-action.model'; 3 | 4 | export interface ActionHeaderOptions { 5 | primary?: ActionHeaderOptionsPrimary; 6 | secondary?: ButtonAction[]; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/action-header/button-action.model.ts: -------------------------------------------------------------------------------- 1 | import { ButtonModel } from './button.model'; 2 | 3 | export interface ButtonAction { 4 | label: string; 5 | model: ButtonModel[]; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/action-header/button.model.ts: -------------------------------------------------------------------------------- 1 | import { ActionHeaderDeleteOptions } from './action-header-delete-options.model'; 2 | 3 | export interface ButtonModel { 4 | command: (options?: unknown) => void; 5 | deleteOptions?: ActionHeaderDeleteOptions; 6 | icon?: string; 7 | isDelete?: boolean; 8 | label: string; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/action-header/index.ts: -------------------------------------------------------------------------------- 1 | export * from './action-header-delete-options.model'; 2 | export * from './action-header-options-primary.model'; 3 | export * from './action-header-options.model'; 4 | export * from './button-action.model'; 5 | export * from './button.model'; 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/ajax-action-response/dot-ajax-action-response.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Interface for Push Publish Post response. 3 | * 4 | * @interface 5 | */ 6 | export interface DotAjaxActionResponseView { 7 | _body: unknown; 8 | errorMessages: string[]; 9 | total: number; 10 | bundleId: string; 11 | errors: number; 12 | } 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/contentlet/content-type-view.model.ts: -------------------------------------------------------------------------------- 1 | import { StructureType } from './structure-type.model'; 2 | 3 | export interface ContentTypeView { 4 | type: StructureType; 5 | name: string; 6 | inode: string; 7 | action: string; 8 | variable: string; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/contentlet/contentlet-locker.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotContentletLockResponse { 2 | id: string; 3 | inode: string; 4 | message: string; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/contentlet/index.ts: -------------------------------------------------------------------------------- 1 | export * from './content-type-view.model'; 2 | export * from './structure-type-view.model'; 3 | export * from './structure-type.model'; 4 | export * from './contentlet-locker.model'; 5 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/contentlet/structure-type-view.model.ts: -------------------------------------------------------------------------------- 1 | import { ContentTypeView } from './content-type-view.model'; 2 | 3 | export interface StructureTypeView { 4 | name: string; 5 | label: string; 6 | types: ContentTypeView[]; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/contentlet/structure-type.model.ts: -------------------------------------------------------------------------------- 1 | export enum StructureType { 2 | CONTENT, 3 | HTMLPAGE, 4 | FILEASSET, 5 | WIDGET, 6 | PERSONA 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/data-table/data-table-column.ts: -------------------------------------------------------------------------------- 1 | export interface DataTableColumn { 2 | fieldName: string; 3 | format?: string; 4 | header: string; 5 | icon?: (any) => string; 6 | sortable?: boolean; 7 | textAlign?: string; 8 | textContent?: string; 9 | width?: string; 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/data-table/index.ts: -------------------------------------------------------------------------------- 1 | export * from './data-table-column'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-action-menu/dot-action-menu-item.model.ts: -------------------------------------------------------------------------------- 1 | import { MenuItem } from 'primeng/api'; 2 | 3 | export interface DotActionMenuItem { 4 | shouldShow?: (x?: Record) => boolean; 5 | menuItem: MenuItem; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-alert-confirm/footer-labels.model.ts: -------------------------------------------------------------------------------- 1 | export interface FooterLabels { 2 | accept?: string; 3 | reject?: string; 4 | } 5 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-bundle/dot-bundle.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Interface for bundle. 3 | * 4 | * @interface 5 | */ 6 | export interface DotBundle { 7 | name: string; 8 | id: string; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-device/dot-device.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotDevice { 2 | cssHeight: string; 3 | cssWidth: string; 4 | name: string; 5 | inode: string; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-layout-designer/dot-container-column-box.model.ts: -------------------------------------------------------------------------------- 1 | import { DotContainer } from '@models/container/dot-container.model'; 2 | 3 | /** 4 | * It is a Container linked into a DotLayoutGridBox 5 | */ 6 | export interface DotContainerColumnBox { 7 | container: DotContainer; 8 | uuid?: string; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-layout-designer/dot-layout-body.model.ts: -------------------------------------------------------------------------------- 1 | import { DotLayoutRow } from './dot-layout-row.model'; 2 | 3 | export interface DotLayoutBody { 4 | rows: DotLayoutRow[]; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-layout-designer/dot-layout-column.model.ts: -------------------------------------------------------------------------------- 1 | import { DotPageContainer } from '@models/dot-page-container/dot-page-container.model'; 2 | 3 | export interface DotLayoutColumn { 4 | containers: DotPageContainer[]; 5 | leftOffset: number; 6 | width: number; 7 | styleClass?: string; 8 | } 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-layout-designer/dot-layout-grid-box.model.ts: -------------------------------------------------------------------------------- 1 | import { DotContainerColumnBox } from './dot-container-column-box.model'; 2 | import { NgGridItemConfig } from '@dotcms/dot-layout-grid'; 3 | 4 | /** 5 | * It is NgGrid box 6 | * 7 | * for more information see: https://github.com/BTMorton/angular2-grid 8 | */ 9 | export interface DotLayoutGridBox { 10 | config: NgGridItemConfig; 11 | containers: DotContainerColumnBox[]; 12 | } 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-layout-designer/dot-layout-grid-row.model.ts: -------------------------------------------------------------------------------- 1 | import { DotLayoutGridBox } from './dot-layout-grid-box.model'; 2 | 3 | export interface DotLayoutGridRow { 4 | boxes: DotLayoutGridBox[]; 5 | styleClass?: string; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-layout-designer/dot-layout-row.model.ts: -------------------------------------------------------------------------------- 1 | import { DotLayoutColumn } from './dot-layout-column.model'; 2 | 3 | export interface DotLayoutRow { 4 | styleClass?: string; 5 | columns: DotLayoutColumn[]; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-layout-designer/dot-layout-sidebar.model.ts: -------------------------------------------------------------------------------- 1 | import { DotPageContainer } from '@models/dot-page-container/dot-page-container.model'; 2 | 3 | export interface DotLayoutSideBar { 4 | location?: string; 5 | containers?: DotPageContainer[]; 6 | width?: string; 7 | widthPercent?: number; 8 | preview?: boolean; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-layout-designer/dot-layout.model.ts: -------------------------------------------------------------------------------- 1 | import { DotLayoutBody } from './dot-layout-body.model'; 2 | import { DotLayoutSideBar } from './dot-layout-sidebar.model'; 3 | 4 | export interface DotLayout { 5 | body: DotLayoutBody; 6 | footer: boolean; 7 | header: boolean; 8 | sidebar: DotLayoutSideBar; 9 | title: string; 10 | themeId?: string; 11 | width: string; 12 | } 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-layout-designer/dot-theme.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotTheme { 2 | identifier: string; 3 | name: string; 4 | title: string; 5 | inode: string; 6 | themeThumbnail: string; 7 | hostId: string; 8 | host: { 9 | hostName: string; 10 | inode: string; 11 | identifier: string; 12 | }; 13 | } 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-page-state/dot-edit-page-state.model.ts: -------------------------------------------------------------------------------- 1 | import { DotPageMode } from '@models/dot-page/dot-page-mode.enum'; 2 | 3 | export interface DotEditPageState { 4 | locked?: boolean; 5 | mode?: DotPageMode; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-edit-page-view-as/dot-edit-page-view-as.model.ts: -------------------------------------------------------------------------------- 1 | import { DotDevice } from '../dot-device/dot-device.model'; 2 | import { DotPersona } from '../dot-persona/dot-persona.model'; 3 | import { DotPageMode } from '@models/dot-page/dot-page-mode.enum'; 4 | 5 | export interface DotEditPageViewAs { 6 | persona?: DotPersona; 7 | language?: number; 8 | device?: DotDevice; 9 | mode: DotPageMode; 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-environment/dot-environment.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Interface for environments. 3 | * 4 | * @interface 5 | */ 6 | export interface DotEnvironment { 7 | id: string; 8 | name: string; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-es-content/dot-es-content.model.ts: -------------------------------------------------------------------------------- 1 | import { DotCMSContentlet } from "@dotcms/dotcms-models"; 2 | 3 | export interface ESContent { 4 | contentTook: number; 5 | jsonObjectView: { contentlets: DotCMSContentlet[] }; 6 | queryTook: number; 7 | resultsSize: number; 8 | } 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-event/dot-event.ts: -------------------------------------------------------------------------------- 1 | import { DotContentCompareEvent } from '@components/dot-content-compare/dot-content-compare.component'; 2 | import { DotGlobalMessage } from '@models/dot-global-message/dot-global-message.model'; 3 | 4 | /** 5 | * Interface for custom events. 6 | * 7 | * @interface 8 | */ 9 | export interface DotEvent { 10 | name: string; 11 | data?: DotGlobalMessage | DotContentCompareEvent | number[]; 12 | } 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-file-upload/dot-file-upload.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Interface used for the response of FileUpload of primeng 3 | * 4 | * @interface 5 | */ 6 | export interface DotFileUpload { 7 | files: File[]; 8 | xhr: XMLHttpRequest; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-form/dot-form.model.ts: -------------------------------------------------------------------------------- 1 | import { EventEmitter } from '@angular/core'; 2 | 3 | export interface DotFormModel { 4 | data?: T; 5 | valid: EventEmitter; 6 | value: EventEmitter; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-function-info/dot-function-info.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Describe the information of a function that will be executed in other context 3 | * 4 | * @interface 5 | */ 6 | export interface DotFunctionInfo { 7 | name: string; 8 | args?: unknown[]; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-global-message/dot-global-message.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotGlobalMessage { 2 | value: string; 3 | type?: string; 4 | life?: number; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-key-value-ng/dot-key-value-ng.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotKeyValue { 2 | key: string; 3 | hidden?: boolean; 4 | value: string; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-language/dot-language.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotLanguage { 2 | id: number; 3 | languageCode: string; 4 | countryCode: string; 5 | language: string; 6 | country: string; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-login/dot-login-credentials.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Interface for Login Credentials. 3 | * 4 | * @interface 5 | */ 6 | export interface DotLoginCredentials { 7 | login: string; 8 | password: string; 9 | rememberMe: boolean; 10 | language: string; 11 | } 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-login/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-login-credentials.model'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-page-container/dot-page-container.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Represent a Container linked with a page and with content added to it 3 | */ 4 | export interface DotPageContainer { 5 | identifier: string; 6 | uuid: string; 7 | contentletsId?: string[]; 8 | path?: string; 9 | } 10 | 11 | export interface DotPageContainerPersonalized extends DotPageContainer { 12 | personaTag?: string; 13 | } 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-page/dot-page-mode.enum.ts: -------------------------------------------------------------------------------- 1 | export enum DotPageMode { 2 | EDIT = 'EDIT_MODE', 3 | PREVIEW = 'PREVIEW_MODE', 4 | LIVE = 'ADMIN_MODE' 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-persona/dot-persona.model.ts: -------------------------------------------------------------------------------- 1 | import { DotCMSContentlet } from '@dotcms/dotcms-models'; 2 | 3 | export interface DotPersona extends DotCMSContentlet { 4 | description?: string; 5 | hostFolder?: string; 6 | keyTag: string; 7 | name: string; 8 | personalized: boolean; 9 | photo?: string; 10 | photoContentAsset?: string; 11 | photoVersion?: string; 12 | tags?: string; 13 | } 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-portlet-toolbar.model/dot-portlet-toolbar-actions.model.ts: -------------------------------------------------------------------------------- 1 | import { MenuItem } from 'primeng/api'; 2 | 3 | export interface DotPortletToolbarActions { 4 | primary: MenuItem[]; 5 | cancel: (event: MouseEvent) => void; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-push-publish-data/dot-push-publish-data.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Data required for push publish 3 | * @export 4 | * @interface DotPushPublishData 5 | */ 6 | export interface DotPushPublishData { 7 | pushActionSelected: string; 8 | publishDate: string; 9 | expireDate: string; 10 | environment: string[]; 11 | filterKey: string; 12 | timezoneId: string; 13 | } 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-role/dot-role.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotRole { 2 | id: string; 3 | name: string; 4 | user: boolean; 5 | roleKey: string; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-tag/dot-tag.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotTag { 2 | label: string; 3 | siteId: string; 4 | siteName: string; 5 | persona: boolean; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-tag/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-tag.model'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-what-changed/dot-what-changed.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotWhatChanged { 2 | diff: boolean; 3 | renderLive: string; 4 | renderWorking: string; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-wizard-input/dot-wizard-input.model.ts: -------------------------------------------------------------------------------- 1 | import { DotWizardStep } from '@models/dot-wizard-step/dot-wizard-step.model'; 2 | 3 | export interface DotWizardInput { 4 | steps: DotWizardStep[]; 5 | title: string; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/dot-wizard-step/dot-wizard-step.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotWizardStep { 2 | component: T; 3 | data: Record; 4 | } 5 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/navigation/index.ts: -------------------------------------------------------------------------------- 1 | export * from './menu-item.model'; 2 | export * from './menu.model'; 3 | export * from './portlet-nav.model'; 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/navigation/menu-item.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotMenuItem { 2 | active: boolean; 3 | ajax: boolean; 4 | angular: boolean; 5 | id: string; 6 | label: string; 7 | url: string; 8 | menuLink: string; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/navigation/menu.model.ts: -------------------------------------------------------------------------------- 1 | import { DotMenuItem } from './menu-item.model'; 2 | 3 | export interface DotMenu { 4 | active: boolean; 5 | id: string; 6 | isOpen: boolean; 7 | menuItems: DotMenuItem[]; 8 | name: string; 9 | tabDescription: string; 10 | tabIcon: string; 11 | tabName: string; 12 | url: string; 13 | } 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/navigation/portlet-nav.model.ts: -------------------------------------------------------------------------------- 1 | export interface PortletNav { 2 | url: string; 3 | previousUrl?: string; 4 | id?: string; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/notifications/index.ts: -------------------------------------------------------------------------------- 1 | export * from './notification.model'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/shared/models/notifications/notification.model.ts: -------------------------------------------------------------------------------- 1 | export interface INotification { 2 | id: string; 3 | title: string; 4 | message: string; 5 | } 6 | 7 | export interface DotNotificationResponse { 8 | notifications: INotification[]; 9 | total: number; 10 | totalUnreadNotifications: number; 11 | } 12 | 13 | export interface NotificationIcons { 14 | ERROR: string; 15 | INFO: string; 16 | WARNING: string; 17 | } 18 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/test/clean-up-dialog.ts: -------------------------------------------------------------------------------- 1 | export default function (fixture) { 2 | try { 3 | (fixture.nativeElement as HTMLElement).remove(); 4 | } catch { 5 | // do nothing 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/test/dot-device-service.mock.ts: -------------------------------------------------------------------------------- 1 | import { of as observableOf, Observable } from 'rxjs'; 2 | import { DotDevice } from '@models/dot-device/dot-device.model'; 3 | import { mockDotDevices } from './dot-device.mock'; 4 | 5 | export class DotDevicesServiceMock { 6 | get(): Observable { 7 | return observableOf(mockDotDevices); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/test/dot-device.mock.ts: -------------------------------------------------------------------------------- 1 | import { DotDevice } from '@models/dot-device/dot-device.model'; 2 | 3 | export const mockDotDevices: DotDevice[] = [ 4 | { 5 | cssHeight: '100', 6 | cssWidth: '200', 7 | name: 'iphone', 8 | inode: '1' 9 | }, 10 | { 11 | cssHeight: '0', 12 | cssWidth: '0', 13 | name: 'bad device', 14 | inode: '2' 15 | } 16 | ]; 17 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/test/dot-language.mock.ts: -------------------------------------------------------------------------------- 1 | import { DotLanguage } from '@models/dot-language/dot-language.model'; 2 | 3 | export const mockDotLanguage: DotLanguage = { 4 | id: 1, 5 | languageCode: 'en', 6 | countryCode: 'US', 7 | language: 'English', 8 | country: 'United States' 9 | }; 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/test/dot-languages-service.mock.ts: -------------------------------------------------------------------------------- 1 | import { of, Observable } from 'rxjs'; 2 | import { DotLanguage } from '@models/dot-language/dot-language.model'; 3 | import { mockDotLanguage } from './dot-language.mock'; 4 | 5 | export class DotLanguagesServiceMock { 6 | get(): Observable { 7 | return of([mockDotLanguage]); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/test/dot-not-licensed.component.mock.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dot-not-licensed-component', 5 | template: `` 6 | }) 7 | export class MockDotNotLicensedComponent {} 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/test/dot-personas-service.mock.ts: -------------------------------------------------------------------------------- 1 | import { of as observableOf, Observable } from 'rxjs'; 2 | import { DotPersona } from '@models/dot-persona/dot-persona.model'; 3 | import { mockDotPersona } from './dot-persona.mock'; 4 | 5 | export class DotPersonasServiceMock { 6 | get(): Observable { 7 | return observableOf([mockDotPersona]); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/test/dot-rendered-page-state.mock.ts: -------------------------------------------------------------------------------- 1 | import { DotPageRenderState } from '@portlets/dot-edit-page/shared/models'; 2 | import { mockUser } from './login-service.mock'; 3 | import { mockDotRenderedPage } from './dot-page-render.mock'; 4 | import { DotPageRender } from '@models/dot-page/dot-rendered-page.model'; 5 | 6 | export const mockDotRenderedPageState = new DotPageRenderState( 7 | mockUser(), 8 | new DotPageRender(mockDotRenderedPage()) 9 | ); 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/test/dot-themes-service.mock.ts: -------------------------------------------------------------------------------- 1 | import { of, Observable } from 'rxjs'; 2 | 3 | import { DotTheme } from '@models/dot-edit-layout-designer'; 4 | import { mockDotThemes } from './dot-themes.mock'; 5 | 6 | export class DotThemesServiceMock { 7 | get(_inode: string): Observable { 8 | return of(Object.assign({}, mockDotThemes[0])); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-action-button/dot-action-button.component.html: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 |

9 | {{ label }} 10 |

11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-action-menu-button/dot-action-menu-button.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | :host { 4 | position: relative; 5 | display: block; 6 | } 7 | 8 | .listing-datatable__icon { 9 | text-align: center; 10 | width: 16px; 11 | } 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-add-to-bundle/dot-add-to-bundle.component.scss: -------------------------------------------------------------------------------- 1 | form { 2 | width: 300px; 3 | } 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-add-to-bundle/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-add-to-bundle.module'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-alert-confirm/dot-alert-confirm.scss: -------------------------------------------------------------------------------- 1 | :host ::ng-deep .p-dialog-mask.p-component-overlay { 2 | z-index: 1001!important; 3 | } -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-avatar/dot-avatar.component.html: -------------------------------------------------------------------------------- 1 | 8 |
9 | {{ avatarPlaceholder }} 10 |
11 | 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-avatar/dot-avatar.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotAvatarComponent } from './dot-avatar.component'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [DotAvatarComponent], 8 | exports: [DotAvatarComponent] 9 | }) 10 | export class DotAvatarModule {} 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-custom-time.component/dot-custom-time.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-custom-time.component/dot-custom-time.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | @import "mixins"; 3 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-custom-time.component/dot-custom-time.module.ts: -------------------------------------------------------------------------------- 1 | import { CommonModule } from '@angular/common'; 2 | import { NgModule } from '@angular/core'; 3 | 4 | import { CustomTimeComponent } from './dot-custom-time.component'; 5 | 6 | @NgModule({ 7 | imports: [CommonModule], 8 | exports: [CustomTimeComponent], 9 | declarations: [CustomTimeComponent] 10 | }) 11 | export class DotCustomTimeModule {} 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-download-bundle-dialog/dot-download-bundle-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | form { 3 | width: $form-width; 4 | } 5 | 6 | p-selectbutton { 7 | display: block; 8 | border-bottom: solid 1px $gray-light; 9 | } 10 | 11 | .download-bundle__error { 12 | display: flex; 13 | justify-content: flex-end; 14 | color: $error; 15 | } 16 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-field-validation-message/dot-field-validation-message.html: -------------------------------------------------------------------------------- 1 | {{ errorMsg | dm }} 3 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-global-message/dot-global-message.component.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | {{ message.value }} 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-icon-button/dot-icon-button.component.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-inline-edit/dot-inline-edit.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-md-icon-selector/dot-md-icon-selector.component.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-overlay-mask/dot-overlay-mask.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | bottom: 0; 3 | left: 0; 4 | position: absolute; 5 | right: 0; 6 | top: 0; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-overlay-mask/dot-overlay-mask.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dot-overlay-mask', 5 | template: '', 6 | styleUrls: ['./dot-overlay-mask.component.scss'] 7 | }) 8 | export class DotOverlayMaskComponent {} 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-push-publish-dialog/dot-push-publish-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | .dot-push-publish-dialog__error { 4 | color: $error; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-push-publish-dialog/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-push-publish-dialog.module'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-site-selector-field/dot-site-selector-field.component.html: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-site-selector-field/dot-site-selector-field.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/view/components/_common/dot-site-selector-field/dot-site-selector-field.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-wizard/dot-wizard.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | .dot-wizard__step { 4 | width: $form-width; 5 | flex-shrink: 0; 6 | } 7 | .dot-wizard__view { 8 | width: $form-width; 9 | overflow: hidden; 10 | } 11 | 12 | .dot-wizard__container { 13 | display: flex; 14 | transition: transform $basic-speed ease-in; 15 | } 16 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-workflows-actions-selector-field/dot-workflows-actions-selector-field.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/view/components/_common/dot-workflows-actions-selector-field/dot-workflows-actions-selector-field.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/dot-workflows-selector-field/dot-workflows-selector-field.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | @import "mixins"; 3 | 4 | .workflow__archive-label { 5 | color: $gray; 6 | text-decoration: line-through; 7 | } 8 | 9 | .workflow__archive-message { 10 | color: $gray; 11 | font-size: $font-size-small; 12 | margin-left: $spacing-1; 13 | } 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/forms/dot-comment-and-assign-form/dot-comment-and-assign-form.component.scss: -------------------------------------------------------------------------------- 1 | p-dropdown { 2 | width: 100%; 3 | } 4 | 5 | .p-inputtext { 6 | width: 100%; 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/iframe/dot-loading-indicator/dot-loading-indicator.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |
6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/iframe/dot-loading-indicator/dot-loading-indicator.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | 3 | @Injectable() 4 | export class DotLoadingIndicatorService { 5 | display = false; 6 | 7 | show(): void { 8 | this.display = true; 9 | } 10 | 11 | hide(): void { 12 | this.display = false; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/iframe/dot-loading-indicator/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-loading-indicator.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/iframe/iframe-component/iframe.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | height: 100%; 4 | position: relative; 5 | overflow: hidden; 6 | 7 | iframe { 8 | border: none; 9 | margin: 0; 10 | padding: 0; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/iframe/iframe-component/index.ts: -------------------------------------------------------------------------------- 1 | export * from './iframe.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/iframe/iframe-porlet-legacy/iframe-porlet-legacy.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | $iframe-margin: $spacing-4; 4 | 5 | :host { 6 | background-color: $gray-bg; 7 | display: block; 8 | padding: $iframe-margin; 9 | height: 100%; 10 | } 11 | 12 | dot-iframe { 13 | background-color: $white; 14 | box-shadow: $md-shadow-4; 15 | } 16 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/iframe/iframe-porlet-legacy/index.ts: -------------------------------------------------------------------------------- 1 | export * from './iframe-porlet-legacy.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/iframe/index.ts: -------------------------------------------------------------------------------- 1 | export * from './iframe.module'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/searchable-dropdown/component/index.ts: -------------------------------------------------------------------------------- 1 | export * from './searchable-dropdown.component'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/_common/searchable-dropdown/index.ts: -------------------------------------------------------------------------------- 1 | export * from './searchable-dropdown.module'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-add-persona-dialog/dot-add-persona-dialog.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/view/components/dot-add-persona-dialog/dot-add-persona-dialog.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-api-link/dot-api-link.component.html: -------------------------------------------------------------------------------- 1 | 2 | API 3 | 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-api-link/dot-api-link.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotApiLinkComponent } from './dot-api-link.component'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [DotApiLinkComponent], 8 | exports: [DotApiLinkComponent] 9 | }) 10 | export class DotApiLinkModule {} 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-base-type-selector/dot-base-type-selector.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-base-type-selector/dot-base-type-selector.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/view/components/dot-base-type-selector/dot-base-type-selector.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-base-type-selector/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-base-type-selector.module'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-content-compare/components/dot-content-compare-dialog/dot-content-compare-dialog.component.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-content-compare/components/dot-content-compare-dialog/dot-content-compare-dialog.component.scss: -------------------------------------------------------------------------------- 1 | :host ::ng-deep { 2 | dot-dialog { 3 | .dialog__header--shadowed { 4 | box-shadow: none; 5 | } 6 | .dialog__content { 7 | padding-top: 0; 8 | } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-content-compare/components/fields/dot-content-compare-preview-field/dot-content-compare-preview-field.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | :host { 3 | display: flex; 4 | flex-direction: column; 5 | align-items: flex-start; 6 | 7 | a { 8 | margin-top: $spacing-2 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-content-compare/dot-content-compare.component.html: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-content-compare/dot-content-compare.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | ::ng-deep { 4 | del { 5 | background-color: $deleted-content-color; 6 | } 7 | 8 | ins { 9 | background-color: $new-content-color; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-add-contentlet/dot-add-contentlet.component.html: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-add-contentlet/dot-add-contentlet.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-add-contentlet/dot-add-contentlet.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-contentlet-wrapper/dot-contentlet-wrapper.component.html: -------------------------------------------------------------------------------- 1 | 9 | 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-contentlet-wrapper/dot-contentlet-wrapper.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-contentlet-wrapper/dot-contentlet-wrapper.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-create-contentlet/dot-create-contentlet.component.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-create-contentlet/dot-create-contentlet.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-create-contentlet/dot-create-contentlet.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-edit-contentlet/dot-edit-contentlet.component.html: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-edit-contentlet/dot-edit-contentlet.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-edit-contentlet/dot-edit-contentlet.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-contentlet-editor/components/dot-reorder-menu/dot-reorder-menu.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-copy-button/dot-copy-button.component.html: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-copy-link/dot-copy-link.component.html: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-copy-link/dot-copy-link.component.scss: -------------------------------------------------------------------------------- 1 | button { 2 | all: unset; 3 | cursor: pointer; 4 | display: flex; 5 | align-items: center; 6 | justify-content: center; 7 | } 8 | 9 | dot-icon { 10 | margin-left: 0.15rem; 11 | } 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-crumbtrail/dot-crumbtrail.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-crumbtrail/dot-crumbtrail.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | ::ng-deep .p-breadcrumb { 4 | ul li { 5 | &:last-child a { 6 | pointer-events: none; 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-edit-layout-designer/components/dot-layout-properties/dot-layout-properties.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | .dot-layout-properties__overlayPanel { 4 | .p-overlaypanel-content { 5 | padding: $spacing-1 0; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-edit-layout-designer/components/dot-sidebar-properties/dot-sidebar-properties.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | :host { 4 | right: $spacing-1; 5 | top: $spacing-1; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-field-helper/dot-field-helper.component.html: -------------------------------------------------------------------------------- 1 | 5 | 6 |
7 |
8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-field-helper/dot-field-helper.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/app/view/components/dot-field-helper/dot-field-helper.component.scss -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-field-helper/dot-field-helper.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, Input } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dot-field-helper', 5 | templateUrl: './dot-field-helper.component.html', 6 | styleUrls: ['./dot-field-helper.component.scss'] 7 | }) 8 | export class DotFieldHelperComponent { 9 | @Input() message: string; 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-iframe-dialog/dot-iframe-dialog.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | @import "mixins"; 3 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-large-message-display/dot-large-message-display.component.scss: -------------------------------------------------------------------------------- 1 | .dialog-message__code { 2 | overflow: auto; 3 | white-space: pre-wrap; 4 | } 5 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-listing-data-table/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-listing-data-table.module'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-message-display/dot-message-display.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-message-display/model/dot-message-severity.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | *{@link DotMessage}'s severity 3 | * 4 | * @export 5 | * @enum {number} 6 | */ 7 | export enum DotMessageSeverity { 8 | INFO = 'INFO', 9 | WARNING = 'WARNING', 10 | ERROR = 'ERROR', 11 | SUCCESS = 'SUCCESS', 12 | LOADING = 'loading' 13 | } 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-message-display/model/dot-message-type.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | *{@link DotMessage} type 3 | * 4 | * @export 5 | * @enum {number} 6 | */ 7 | export enum DotMessageType { 8 | SIMPLE_MESSAGE = 'SIMPLE_MESSAGE', 9 | CONFIRMATION_MESSAGE = 'CONFIRMATION_MESSAGE' 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-message-display/model/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-message-severity.model'; 2 | export * from './dot-message-type.model'; 3 | export * from './dot-message.model'; 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-message-display/services/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-message-display.service'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-navigation/components/dot-nav-icon/dot-nav-icon.component.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-navigation/components/dot-nav-icon/dot-nav-icon.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: flex; 3 | align-items: center; 4 | height: 18px; 5 | justify-content: center; 6 | overflow: hidden; 7 | width: 18px; 8 | } 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-persona-selector/dot-persona-selector.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | :host { 4 | display: flex; 5 | align-items: center; 6 | } 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-portlet-base/components/dot-portlet-box/dot-portlet-box.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-portlet-base/components/dot-portlet-box/dot-portlet-box.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | :host { 4 | display: block; 5 | background-color: $white; 6 | box-shadow: $md-shadow-4; 7 | margin: $spacing-4; 8 | padding: 1px; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-portlet-base/components/dot-portlet-box/dot-portlet-box.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dot-portlet-box', 5 | templateUrl: './dot-portlet-box.component.html', 6 | styleUrls: ['./dot-portlet-box.component.scss'] 7 | }) 8 | export class DotPortletBoxComponent {} 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-portlet-base/components/dot-portlet-box/dot-portlet-box.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotPortletBoxComponent } from './dot-portlet-box.component'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [DotPortletBoxComponent], 8 | exports: [DotPortletBoxComponent] 9 | }) 10 | export class DotPortletBoxModule {} 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-portlet-base/dot-portlet-base.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-portlet-base/dot-portlet-base.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | :host { 4 | display: flex; 5 | flex-direction: column; 6 | height: 100%; 7 | } 8 | 9 | dot-portlet-box { 10 | flex-grow: 1; 11 | flex-basis: 0; 12 | } 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-portlet-base/dot-portlet-base.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, Input } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dot-portlet-base', 5 | templateUrl: './dot-portlet-base.component.html', 6 | styleUrls: ['./dot-portlet-base.component.scss'] 7 | }) 8 | export class DotPortletBaseComponent { 9 | @Input() 10 | boxed = true; 11 | } 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-secondary-toolbar/dot-secondary-toolbar.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 | 6 |
7 | 8 | 9 |
10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-secondary-toolbar/dot-secondary-toolbar.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dot-secondary-toolbar', 5 | templateUrl: './dot-secondary-toolbar.component.html', 6 | styleUrls: ['./dot-secondary-toolbar.component.scss'] 7 | }) 8 | export class DotSecondaryToolbarComponent {} 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-secondary-toolbar/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-secondary-toolbar.module'; 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-toolbar/components/dot-gravatar/dot-gravatar.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-toolbar/components/dot-gravatar/dot-gravatar.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | :host { 4 | display: inline-block; 5 | } 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-toolbar/components/dot-login-as/dot-login-as.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | @import "mixins"; 3 | 4 | .login-as { 5 | width: 300px; 6 | } 7 | 8 | .login-as__error-message { 9 | color: $red; 10 | margin-top: 0; 11 | } 12 | 13 | input[type="password"] { 14 | width: 100%; 15 | } 16 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-toolbar/components/dot-my-account/dot-my-account.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | @import "mixins"; 3 | 4 | .my-account, 5 | .error-message { 6 | width: 300px; 7 | } 8 | 9 | .my-account { 10 | .md-inputtext { 11 | width: 100%; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-toolbar/components/dot-toolbar-notifications/components/dot-notifications/dot-notifications-list.component.html: -------------------------------------------------------------------------------- 1 |
    2 | 7 |
8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-toolbar/components/dot-toolbar-notifications/components/dot-notifications/dot-notifications-list.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | :host { 4 | display: block; 5 | max-height: 600px; 6 | overflow-x: hidden; 7 | 8 | .dot-notifications-list { 9 | list-style: none; 10 | margin: 0; 11 | padding: 0 $spacing-3 0 0; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/dot-workflow-task-detail/dot-workflow-task-detail.component.html: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/global-search/global-search.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/global-search/global-search.ts: -------------------------------------------------------------------------------- 1 | import { Component, ViewEncapsulation } from '@angular/core'; 2 | 3 | @Component({ 4 | encapsulation: ViewEncapsulation.Emulated, 5 | selector: 'dot-global-search', 6 | styleUrls: ['./global-search.scss'], 7 | templateUrl: 'global-search.html' 8 | }) 9 | export class GlobalSearchComponent {} 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/login/forgot-password-component/forgot-password.component.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | @import "mixins"; 3 | 4 | :host { 5 | @include login-container; 6 | } 7 | 8 | h3 { 9 | margin: 0; 10 | } 11 | 12 | button[type="submit"] { 13 | margin-left: $spacing-1; 14 | } 15 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/login/main/dot-login-page.component.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/login/reset-password-component/reset-password.component.scss: -------------------------------------------------------------------------------- 1 | @import "mixins"; 2 | 3 | :host { 4 | @include login-container; 5 | } 6 | 7 | h3 { 8 | margin: 0; 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/components/main-core-legacy/main-core-legacy-component.ts: -------------------------------------------------------------------------------- 1 | import { Component, ViewEncapsulation } from '@angular/core'; 2 | 3 | @Component({ 4 | encapsulation: ViewEncapsulation.None, 5 | providers: [], 6 | selector: 'dot-main-core-component', 7 | template: '' 8 | }) 9 | export class MainCoreLegacyComponent {} 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/directives/dot-autofocus/dot-autofocus.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotAutofocusDirective } from '@directives/dot-autofocus/dot-autofocus.directive'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [DotAutofocusDirective], 8 | exports: [DotAutofocusDirective] 9 | }) 10 | export class DotAutofocusModule {} 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/directives/dot-container-reference/dot-container-reference.directive.ts: -------------------------------------------------------------------------------- 1 | import { Directive, ViewContainerRef } from '@angular/core'; 2 | 3 | @Directive({ 4 | selector: '[dotContainerReference]' 5 | }) 6 | export class DotContainerReferenceDirective { 7 | constructor(public viewContainerRef: ViewContainerRef) {} 8 | } 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/directives/dot-maxlength/dot-maxlength.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotMaxlengthDirective } from '@directives/dot-maxlength/dot-maxlength.directive'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [DotMaxlengthDirective], 8 | exports: [DotMaxlengthDirective] 9 | }) 10 | export class DotMaxlengthModule {} 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/directives/ripple/ripple-effect.directive.scss: -------------------------------------------------------------------------------- 1 | @keyframes ripple-animation { 2 | 100% { 3 | opacity: 0; 4 | transform: scale(1); 5 | } 6 | } 7 | 8 | .ripple-effect { 9 | border-radius: 50%; 10 | position: absolute; 11 | transform: scale(0); 12 | 13 | &.animate { 14 | animation: ripple-animation 0.4s linear; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/directives/ripple/ripple-effect.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | 4 | import { DotRippleEffectDirective } from './ripple-effect.directive'; 5 | 6 | @NgModule({ 7 | imports: [CommonModule], 8 | declarations: [DotRippleEffectDirective], 9 | exports: [DotRippleEffectDirective] 10 | }) 11 | export class RippleEffectModule {} 12 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/pipes/dot-diff/dot-diff.pipe.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotDiffPipe } from '@dotcms/app/view/pipes'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [DotDiffPipe], 8 | exports: [DotDiffPipe] 9 | }) 10 | export class DotDiffPipeModule {} 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/pipes/dot-filter/dot-filter-pipe.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotFilterPipe } from '@pipes/dot-filter/dot-filter.pipe'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [DotFilterPipe], 8 | exports: [DotFilterPipe] 9 | }) 10 | export class DotFilterPipeModule {} 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/pipes/dot-filter/dot-filter.pipe.spec.ts: -------------------------------------------------------------------------------- 1 | import { DotFilterPipe } from './dot-filter.pipe'; 2 | 3 | describe('DotFilterPipe', () => { 4 | it('should filter items in list', () => { 5 | const list = [{ name: 'Costa Rica' }, { name: 'USA' }]; 6 | const pipe = new DotFilterPipe(); 7 | expect(pipe.transform(list, 'name', 'Costa')).toEqual([{ name: 'Costa Rica' }]); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/pipes/dot-message/dot-message-pipe.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotMessagePipe } from './dot-message.pipe'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [DotMessagePipe], 8 | exports: [DotMessagePipe] 9 | }) 10 | export class DotMessagePipeModule {} 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/pipes/dot-string-format/dot-string-format.pipe.spec.ts: -------------------------------------------------------------------------------- 1 | import { DotStringFormatPipe } from './dot-string-format.pipe'; 2 | 3 | describe('DotStringFormatPipe', () => { 4 | it('should replace tokens correctly', () => { 5 | const pipe = new DotStringFormatPipe(); 6 | expect(pipe.transform('Good {0} {1}', ['morning', 'cr'])).toEqual('Good morning cr'); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/app/view/pipes/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-safe-url/dot-safe-url.pipe'; 2 | export * from './dot-string-format/dot-string-format.pipe'; 3 | export * from './dot-message/dot-message.pipe'; 4 | export * from './dot-filter/dot-filter.pipe'; 5 | export * from './dot-diff/dot-diff.pipe'; 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/.gitkeep -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/MaterialIcons-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/MaterialIcons-Regular.ttf -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/android-icon-192x192.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/apple-icon-114x114.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/apple-icon-120x120.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/apple-icon-144x144.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/apple-icon-152x152.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/apple-icon-180x180.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/apple-icon-57x57.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/apple-icon-60x60.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/apple-icon-72x72.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/apple-icon-76x76.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/favicon-16x16.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/favicon-32x32.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/favicon-96x96.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/icon/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/icon/ms-icon-144x144.png -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "lang": "en", 3 | "background_color": "#ffffff", 4 | "name": "dotCMS Content Management Platform", 5 | "short_name": "dotCMS", 6 | "display": "browser", 7 | "icons": [ 8 | { 9 | "src": "./assets/icon/apple-icon-144x144.png", 10 | "sizes": "144x144", 11 | "type": "image/png" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-500.woff2 -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2 -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff -------------------------------------------------------------------------------- /apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/apps/dotcms-ui/src/assets/roboto-v27-vietnamese_latin-ext_latin_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2 -------------------------------------------------------------------------------- /apps/dotcms-ui/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // The file contents for the current environment will overwrite these during build. 2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do 3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead. 4 | // The list of which env maps to which file can be found in `.angular-cli.json`. 5 | 6 | export const environment = { 7 | production: false 8 | }; 9 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/stories/DesignTokens.stories.mdx: -------------------------------------------------------------------------------- 1 | import { Meta } from '@storybook/addon-docs/blocks'; 2 | 3 | 4 | 5 | # Design Tokens 6 | 7 | We have defined a series of css variables for the very basic elements. 8 | 9 | ## Colors 10 | 11 | ## Typography 12 | 13 | ## Spacing 14 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/stories/primeng/overlay/Product.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Product { 2 | id?: string; 3 | code?: string; 4 | name?: string; 5 | description?: string; 6 | price?: number; 7 | quantity?: number; 8 | inventoryStatus?: string; 9 | category?: string; 10 | image?: string; 11 | rating?: number; 12 | } 13 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/tomcat/index.jsp: -------------------------------------------------------------------------------- 1 | <% 2 | response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 3 | response.setHeader("Pragma", "no-cache"); 4 | response.setDateHeader("Expires", 0); 5 | %><%@ include file = "index.html" %> 6 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "types": [] 6 | }, 7 | "files": ["main.ts", "polyfills.ts"], 8 | "include": ["src/**/*.d.ts"], 9 | "exclude": ["**/*.stories.*"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/src/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "outDir": "../out-tsc/spec", 6 | "types": ["jasmine", "node"] 7 | }, 8 | "files": ["test.ts", "polyfills.ts"], 9 | "include": ["**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /apps/dotcms-ui/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": [] 6 | }, 7 | "files": ["src/main.ts", "src/polyfills.ts"], 8 | "exclude": ["**/*.stories.ts", "**/*.stories.js"] 9 | } 10 | -------------------------------------------------------------------------------- /apps/dotcms-ui/tsconfig.editor.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*.ts"], 4 | "compilerOptions": { 5 | "types": ["jest", "node"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /apps/dotcms-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.app.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | }, 12 | { 13 | "path": "./tsconfig.editor.json" 14 | }, 15 | { 16 | "path": "./.storybook/tsconfig.json" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /apps/dotcms-ui/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "module": "commonjs", 5 | "outDir": "../out-tsc/spec", 6 | "types": ["jasmine", "node"] 7 | }, 8 | "files": ["src/test.ts", "src/polyfills.ts"], 9 | "include": ["**/*.spec.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | const { getJestProjects } = require('@nrwl/jest'); 2 | 3 | module.exports = { projects: getJestProjects() }; 4 | -------------------------------------------------------------------------------- /jest.preset.js: -------------------------------------------------------------------------------- 1 | const nxPreset = require('@nrwl/jest/preset'); 2 | 3 | module.exports = { ...nxPreset }; 4 | -------------------------------------------------------------------------------- /libs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/.gitkeep -------------------------------------------------------------------------------- /libs/block-editor/.storybook/main.js: -------------------------------------------------------------------------------- 1 | const rootMain = require('../../../.storybook/main'); 2 | 3 | // Use the following syntax to add addons! 4 | // rootMain.addons.push(''); 5 | rootMain.stories.push( 6 | ...['../src/lib/**/*.stories.mdx', '../src/lib/**/*.stories.@(js|jsx|ts|tsx)'] 7 | ); 8 | 9 | module.exports = rootMain; 10 | 11 | module.exports.core = { ...module.exports.core, builder: 'webpack5' }; 12 | -------------------------------------------------------------------------------- /libs/block-editor/.storybook/manager.js: -------------------------------------------------------------------------------- 1 | import { addons } from '@storybook/addons'; 2 | import dotcmsTheme from '../../../.storybook/dotcms-theme'; 3 | 4 | addons.setConfig({ 5 | theme: dotcmsTheme, 6 | }); -------------------------------------------------------------------------------- /libs/block-editor/.storybook/preview-head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /libs/block-editor/.storybook/preview.js: -------------------------------------------------------------------------------- 1 | import { addDecorator } from '@storybook/angular'; 2 | import { withKnobs } from '@storybook/addon-knobs'; 3 | 4 | addDecorator(withKnobs); 5 | -------------------------------------------------------------------------------- /libs/block-editor/.storybook/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "emitDecoratorMetadata": true 5 | }, 6 | "exclude": ["../**/*.spec.ts", "../**/*.test.ts"], 7 | "include": ["../src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /libs/block-editor/README.md: -------------------------------------------------------------------------------- 1 | # block-editor 2 | 3 | This library was generated with [Nx](https://nx.dev). 4 | 5 | ## Running unit tests 6 | 7 | Run `nx test block-editor` to execute the unit tests. 8 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/assets/ul.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/draggable.directive.ts: -------------------------------------------------------------------------------- 1 | import { Directive, HostBinding } from '@angular/core'; 2 | 3 | @Directive({ 4 | selector: '[tiptapDraggable]' 5 | }) 6 | export class DraggableDirective { 7 | @HostBinding('attr.draggable') draggable = true 8 | @HostBinding('attr.data-drag-handle') handle = '' 9 | } 10 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/blocks/image-block/image-block.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/blocks/image-block/image-block.component.scss: -------------------------------------------------------------------------------- 1 | @use "libs/dot-primeng-theme-styles/src/scss/variables" as *; 2 | 3 | :host { 4 | display: block; 5 | margin-bottom: $spacing-3; 6 | 7 | img { 8 | max-width: 100%; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/action-button/action-button.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/action-button/action-button.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | } 4 | 5 | button { 6 | all: unset; 7 | cursor: pointer; 8 | border: solid 1px #eee; 9 | width: 32px; 10 | height: 32px; 11 | display: flex; 12 | align-items: center; 13 | justify-content: center; 14 | color: #666; 15 | background: #ffffff; 16 | } 17 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/action-button/action-button.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dotcms-action-button', 5 | templateUrl: './action-button.component.html', 6 | styleUrls: ['./action-button.component.scss'] 7 | }) 8 | export class ActionButtonComponent { 9 | } 10 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/bubble-menu-button/bubble-menu-button.component.html: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/drag-handler/drag-handler.component.html: -------------------------------------------------------------------------------- 1 | drag_indicator 2 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/drag-handler/drag-handler.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | position: absolute; 3 | cursor: grab; 4 | z-index: 1; 5 | opacity: 0; 6 | color: var(--color-background); 7 | transition: opacity 250ms, top 150ms; 8 | 9 | &.visible { 10 | opacity: 1; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/drag-handler/drag-handler.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dotcms-drag-handler', 5 | templateUrl: './drag-handler.component.html', 6 | styleUrls: ['./drag-handler.component.scss'] 7 | }) 8 | export class DragHandlerComponent {} 9 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/loader/loader.component.html: -------------------------------------------------------------------------------- 1 | {{data.message}} 2 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/loader/loader.component.scss: -------------------------------------------------------------------------------- 1 | @use "libs/dot-primeng-theme-styles/src/scss/variables" as *; 2 | dotcms-message { 3 | background-color: $gray-light; 4 | display: block; 5 | padding: $spacing-3; 6 | } 7 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/suggestion-list/suggestion-list.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/components/suggestion-list/suggestion-list.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/block-editor/src/lib/extensions/components/suggestion-list/suggestion-list.component.scss -------------------------------------------------------------------------------- /libs/block-editor/src/lib/extensions/pipes/contentlet-state/contentlet-state.pipe.spec.ts: -------------------------------------------------------------------------------- 1 | import { ContentletStatePipe } from './contentlet-state.pipe'; 2 | 3 | describe('ContentletStatePipe', () => { 4 | it('create an instance', () => { 5 | const pipe = new ContentletStatePipe(); 6 | expect(pipe).toBeTruthy(); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /libs/block-editor/src/lib/node-view-content.directive.ts: -------------------------------------------------------------------------------- 1 | import { Directive, HostBinding } from '@angular/core'; 2 | 3 | @Directive({ 4 | selector: '[tiptapNodeViewContent]' 5 | }) 6 | export class NodeViewContentDirective { 7 | @HostBinding('attr.data-node-view-content') handle = '' 8 | } 9 | -------------------------------------------------------------------------------- /libs/block-editor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | }, 12 | { 13 | "path": "./.storybook/tsconfig.json" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /libs/block-editor/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "files": ["src/test-setup.ts"], 9 | "include": ["**/*.spec.ts", "**/*.test.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/dot-layout-grid/README.md: -------------------------------------------------------------------------------- 1 | # dot-layout-grid 2 | 3 | This library was generated with [Nx](https://nx.dev). 4 | 5 | ## Running unit tests 6 | 7 | Run `nx test dot-layout-grid` to execute the unit tests. 8 | -------------------------------------------------------------------------------- /libs/dot-layout-grid/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../dist-lib/dot-layout-grid", 4 | "deleteDestPath": false, 5 | "lib": { 6 | "entryFile": "src/public_api.ts" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /libs/dot-layout-grid/ng-package.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../dist-lib/dot-layout-grid", 4 | "lib": { 5 | "entryFile": "src/public_api.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/dot-layout-grid/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dot-layout-grid", 3 | "version": "0.0.1", 4 | "dependencies": { 5 | "tslib": "^2.0.0" 6 | }, 7 | "peerDependencies": { 8 | "@angular/common": "^6.0.0 || ^7.2.0", 9 | "@angular/core": "^6.0.0 || ^7.2.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/dot-layout-grid/src/lib/NgGrid_FixSmall.css: -------------------------------------------------------------------------------- 1 | @media (max-width: 767px) { 2 | .grid_layout { 3 | width: 100% !important; 4 | height: auto !important; 5 | padding: 10px; 6 | } 7 | .grid-item { 8 | position: static !important; 9 | width: 100% !important; 10 | margin-bottom: 10px; 11 | transform: none !important; 12 | } 13 | .grid-item:last-child { 14 | margin-bottom: 0; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /libs/dot-layout-grid/src/lib/modules/NgGrid.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | 3 | import { NgGridPlaceholder } from './../components/NgGridPlaceholder'; 4 | import { NgGridItem } from './../directives/NgGridItem'; 5 | import { NgGrid } from './../directives/NgGrid'; 6 | 7 | @NgModule({ 8 | declarations: [NgGrid, NgGridItem, NgGridPlaceholder], 9 | exports: [NgGrid, NgGridItem] 10 | }) 11 | export class NgGridModule {} 12 | -------------------------------------------------------------------------------- /libs/dot-layout-grid/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /libs/dot-layout-grid/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/dot-primeng-theme-styles/README.md: -------------------------------------------------------------------------------- 1 | # styles 2 | 3 | This library was generated with [Nx](https://nx.dev). 4 | -------------------------------------------------------------------------------- /libs/dot-primeng-theme-styles/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/styles.module'; 2 | -------------------------------------------------------------------------------- /libs/dot-primeng-theme-styles/src/lib/styles.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | 4 | @NgModule({ 5 | imports: [CommonModule] 6 | }) 7 | export class StylesModule {} 8 | -------------------------------------------------------------------------------- /libs/dot-primeng-theme-styles/src/scss/_typography.scss: -------------------------------------------------------------------------------- 1 | h1, 2 | h2, 3 | h3, 4 | h4, 5 | h5 { 6 | font-weight: normal; 7 | line-height: 1.5; 8 | } 9 | 10 | h1 { 11 | font-size: 4.28rem; 12 | letter-spacing: -0.5px; 13 | } 14 | 15 | h2 { 16 | font-size: 3.43rem; 17 | } 18 | 19 | h3 { 20 | font-size: 2.43rem; 21 | letter-spacing: 0.25px; 22 | } 23 | 24 | h4 { 25 | font-size: 1.71rem; 26 | } 27 | 28 | h5 { 29 | font-size: 1.43rem; 30 | } 31 | -------------------------------------------------------------------------------- /libs/dot-primeng-theme-styles/src/scss/dotcms-theme/components/_dynamicdialog.scss: -------------------------------------------------------------------------------- 1 | @use "variables" as *; 2 | 3 | p-dynamicdialog { 4 | .p-component-overlay { 5 | align-items: baseline; 6 | padding: 7rem; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /libs/dot-primeng-theme-styles/src/scss/dotcms-theme/components/_skeleton.scss: -------------------------------------------------------------------------------- 1 | .p-skeleton { 2 | background-color: #e9ecef; 3 | border-radius: 3px; 4 | } 5 | .p-skeleton:after { 6 | background: linear-gradient( 7 | 90deg, 8 | rgba(255, 255, 255, 0), 9 | rgba(255, 255, 255, 0.4), 10 | rgba(255, 255, 255, 0) 11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /libs/dot-primeng-theme-styles/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/dot-rules/README.md: -------------------------------------------------------------------------------- 1 | # dot-rules 2 | 3 | This library was generated with [Nx](https://nx.dev). 4 | 5 | ## Running unit tests 6 | 7 | Run `nx test dot-rules` to execute the unit tests. 8 | -------------------------------------------------------------------------------- /libs/dot-rules/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /libs/dot-rules/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // The file contents for the current environment will overwrite these during build. 2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do 3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead. 4 | // The list of which env maps to which file can be found in `.angular-cli.json`. 5 | 6 | export const environment = { 7 | production: false 8 | }; 9 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/components/dot-autocomplete-tags/dot-autocomplete-tags.component.css: -------------------------------------------------------------------------------- 1 | .rules__engine-container p-autocomplete .ng-dirty.ng-valid input { 2 | border-left: none; 3 | } 4 | 5 | .cw-rule-actions :host ::ng-deep p-autocomplete span.p-autocomplete-multiple{ 6 | display: flex; 7 | } 8 | 9 | .cw-rule-actions :host ::ng-deep p-autocomplete ul.p-autocomplete-multiple-container { 10 | flex-grow: 1; 11 | } 12 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/components/dot-unlicense/dot-unlicense.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { DotUnlicenseComponent } from './dot-unlicense.component'; 3 | import { I18nService } from '../../services/system/locale/I18n'; 4 | 5 | @NgModule({ 6 | imports: [], 7 | declarations: [DotUnlicenseComponent], 8 | providers: [I18nService], 9 | exports: [DotUnlicenseComponent] 10 | }) 11 | export class DotUnlicenseModule {} 12 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/directives/dot-autofocus/dot-autofocus.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotAutofocusDirective } from './dot-autofocus.directive'; 4 | 5 | @NgModule({ 6 | imports: [CommonModule], 7 | declarations: [DotAutofocusDirective], 8 | exports: [DotAutofocusDirective] 9 | }) 10 | export class DotAutofocusModule {} 11 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/models/gcircle.model.ts: -------------------------------------------------------------------------------- 1 | export interface GCircle { 2 | center: { lat: number; lng: number }; 3 | radius: number; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/services/Action.spec.ts: -------------------------------------------------------------------------------- 1 | import { ServerSideTypeModel } from './ServerSideFieldModel'; 2 | import { ActionModel } from './Rule'; 3 | 4 | describe('Unit.api.rule-engine.Action', () => { 5 | it("Isn't valid when no rule.", () => { 6 | let foo = new ActionModel(null, new ServerSideTypeModel(), null); 7 | expect(foo.isValid()).toEqual(false); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/services/Rule.spec.ts: -------------------------------------------------------------------------------- 1 | import { RuleService, RuleModel } from './Rule'; 2 | import { ApiRoot } from '@dotcms/dotcms-js'; 3 | import { UserModel } from '@dotcms/dotcms-js'; 4 | 5 | describe('Unit.api.rule-engine.Rule', () => { 6 | beforeEach(() => {}); 7 | 8 | it("Isn't valid when new.", () => { 9 | const foo = new RuleModel({}); 10 | expect(foo.isValid()).toEqual(false); 11 | }); 12 | }); 13 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/services/util/CwAction.ts: -------------------------------------------------------------------------------- 1 | export class CwAction { 2 | key: string; 3 | target: any; 4 | 5 | constructor(key: string, target: any) { 6 | this.key = key; 7 | this.target = target; 8 | } 9 | } 10 | 11 | export class AddAction extends CwAction { 12 | constructor(key: string, target: any) { 13 | super(key, target); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/services/util/CwComponent.ts: -------------------------------------------------------------------------------- 1 | export class CwComponent {} 2 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/services/util/CwEvent.ts: -------------------------------------------------------------------------------- 1 | export interface CwChangeEvent { 2 | valid: boolean; 3 | isBlur: boolean; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/services/util/CwModel.ts: -------------------------------------------------------------------------------- 1 | export class CwModel { 2 | key: string; 3 | priority: number; 4 | 5 | constructor(key: string = null) { 6 | this.key = key; 7 | } 8 | 9 | isPersisted(): boolean { 10 | return !!this.key; 11 | } 12 | 13 | /** 14 | * Override me. 15 | */ 16 | isValid(): boolean { 17 | return true; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /libs/dot-rules/src/lib/services/util/key-util.ts: -------------------------------------------------------------------------------- 1 | export enum KeyCode { 2 | ENTER = 13, 3 | ESCAPE = 27 4 | } 5 | -------------------------------------------------------------------------------- /libs/dot-rules/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "baseUrl": "./", 6 | "module": "es2015", 7 | "types": [] 8 | }, 9 | "exclude": ["test.ts", "**/*.spec.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/dot-rules/src/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/spec", 5 | "baseUrl": "./", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": ["jasmine", "node"] 9 | }, 10 | "files": ["test.ts", "polyfills.ts"], 11 | "include": ["**/*.spec.ts", "**/*.d.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /libs/dot-rules/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /libs/dot-rules/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.lib.json", 3 | "angularCompilerOptions": { 4 | "enableIvy": false 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /libs/dot-rules/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/dot-rules/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tslint.json", 3 | "rules": { 4 | "directive-selector": [true, "attribute", "dot", "camelCase"], 5 | "component-selector": [true, "element", "dot", "kebab-case"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-binary-file/dot-binary-text-field/dot-binary-text-field.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-field-elements/src/components/dot-binary-file/dot-binary-text-field/dot-binary-text-field.scss -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-binary-file/dot-binary-upload-button/dot-binary-upload-button.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-field-elements/src/components/dot-binary-file/dot-binary-upload-button/dot-binary-upload-button.scss -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-checkbox/dot-checkbox.scss: -------------------------------------------------------------------------------- 1 | .dot-checkbox__items { 2 | display: flex; 3 | flex-direction: column; 4 | 5 | label { 6 | display: flex; 7 | align-items: center; 8 | } 9 | 10 | input { 11 | margin: 0 0.25rem 0 0; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-date-range/dot-date-range.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../../node_modules/flatpickr/dist/flatpickr.min.css"; 2 | 3 | .dot-range__body { 4 | align-items: center; 5 | display: flex; 6 | 7 | .flatpickr-input { 8 | margin-right: 1rem; 9 | flex-grow: 1; 10 | } 11 | 12 | label { 13 | select { 14 | margin-left: 0.5rem; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-date-time/dot-date-time.scss: -------------------------------------------------------------------------------- 1 | .dot-date-time__body { 2 | display: flex; 3 | 4 | label { 5 | align-items: center; 6 | display: flex; 7 | flex-grow: 1; 8 | margin-right: 1rem; 9 | 10 | &:last-child { 11 | margin-right: 0; 12 | } 13 | 14 | dot-input-calendar { 15 | flex-grow: 1; 16 | margin-left: 0.5rem; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-date/dot-date.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-field-elements/src/components/dot-date/dot-date.scss -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-error-message/dot-error-message.scss: -------------------------------------------------------------------------------- 1 | dot-error-message:not(:empty) { 2 | border: solid 1px currentColor; 3 | color: indianred; 4 | display: block; 5 | padding: 0.5rem 0.75rem; 6 | } 7 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-error-message/dot-error-message.tsx: -------------------------------------------------------------------------------- 1 | import { Component, h } from '@stencil/core'; 2 | 3 | @Component({ 4 | tag: 'dot-error-message', 5 | styleUrl: 'dot-error-message.scss' 6 | }) 7 | export class DotErrorMessageComponent { 8 | render() { 9 | return ; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-form/dot-form-column/dot-form-column.scss: -------------------------------------------------------------------------------- 1 | dot-form-column { 2 | flex: 1; 3 | margin: 1rem; 4 | 5 | &:first-child { 6 | margin-left: 0; 7 | } 8 | 9 | &:last-child { 10 | margin-right: 0; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-form/dot-form-row/dot-form-row.scss: -------------------------------------------------------------------------------- 1 | dot-form-row { 2 | display: flex; 3 | } 4 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-input-calendar/dot-input-calendar.scss: -------------------------------------------------------------------------------- 1 | dot-input-calendar { 2 | display: flex; 3 | 4 | input { 5 | flex-grow: 1; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-key-value/dot-key-value.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-field-elements/src/components/dot-key-value/dot-key-value.scss -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-multi-select/dot-multi-select.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-field-elements/src/components/dot-multi-select/dot-multi-select.scss -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-radio/dot-radio.scss: -------------------------------------------------------------------------------- 1 | .dot-radio__items { 2 | display: flex; 3 | flex-direction: column; 4 | 5 | label { 6 | align-items: center; 7 | display: flex; 8 | } 9 | 10 | input { 11 | margin: 0 0.25rem 0 0; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-select/dot-select.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-field-elements/src/components/dot-select/dot-select.scss -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-tags/components/dot-chip/dot-chip.scss: -------------------------------------------------------------------------------- 1 | dot-chip { 2 | span { 3 | margin-right: 0.25rem; 4 | } 5 | 6 | button { 7 | cursor: pointer; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-textarea/dot-textarea.scss: -------------------------------------------------------------------------------- 1 | input { 2 | outline: none; 3 | } 4 | 5 | .dot-field__input--error { 6 | border: 1px solid red; 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-textfield/dot-textfield.scss: -------------------------------------------------------------------------------- 1 | input { 2 | outline: none; 3 | } 4 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/components/dot-time/dot-time.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-field-elements/src/components/dot-time/dot-time.scss -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components'; 2 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/models/dot-binary-message-error.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Enum to represent Errors in the Binary Field. 3 | */ 4 | export enum DotBinaryMessageError { 5 | REQUIRED, 6 | INVALID, 7 | URLINVALID 8 | } 9 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/models/dot-date-slot.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotDateSlot { 2 | date: string; 3 | time: string; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/models/dot-field-status.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotFieldStatus { 2 | dotTouched: boolean; 3 | dotValid: boolean; 4 | dotPristine: boolean; 5 | } 6 | 7 | export interface DotFieldStatusClasses { 8 | 'dot-valid': boolean; 9 | 'dot-invalid': boolean; 10 | 'dot-pristine': boolean; 11 | 'dot-dirty': boolean; 12 | 'dot-touched': boolean; 13 | 'dot-untouched': boolean; 14 | 'dot-required'?: boolean; 15 | } 16 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/models/dot-html-tag.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotOption { 2 | label: string; 3 | value: string; 4 | } 5 | 6 | export interface DotLabel { 7 | label: string; 8 | name: string; 9 | required?: boolean; 10 | } 11 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/models/dot-http-error-response.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotHttpErrorResponse { 2 | message: string; 3 | status: number; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/models/dot-key-value-field.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotKeyValueField { 2 | key: string; 3 | value: string; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-date-slot.model'; 2 | export * from './dot-field-event.model'; 3 | export * from './dot-field-status.model'; 4 | export * from './dot-html-tag.model'; 5 | export * from './dot-key-value-field.model'; 6 | export * from './dot-binary-message-error.model'; 7 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/test/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mocks'; 2 | export * from './utils'; 3 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from './utils'; 2 | export * from '../test/utils'; 3 | export * from './checkProp'; 4 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/utils/props/models/PropValidationInfo.ts: -------------------------------------------------------------------------------- 1 | export interface PropValidationInfo { 2 | field: { 3 | type: string; 4 | name: string; 5 | }; 6 | name: string; 7 | value: T; 8 | } 9 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/utils/props/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './PropValidationInfo'; 2 | -------------------------------------------------------------------------------- /libs/dotcms-field-elements/src/utils/props/validators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './date'; 2 | export * from './props'; 3 | -------------------------------------------------------------------------------- /libs/dotcms-js/README.md: -------------------------------------------------------------------------------- 1 | # dotcms-js 2 | 3 | This library was generated with [Nx](https://nx.dev). 4 | 5 | ## Running unit tests 6 | 7 | Run `nx test dotcms-js` to execute the unit tests. 8 | -------------------------------------------------------------------------------- /libs/dotcms-js/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../dist-lib/dotcms-js", 4 | "deleteDestPath": false, 5 | "lib": { 6 | "entryFile": "src/public_api.ts" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /libs/dotcms-js/ng-package.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../dist-lib/dotcms-js", 4 | "lib": { 5 | "entryFile": "src/public_api.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms-js/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dotcms-js", 3 | "version": "0.0.1", 4 | "lockfileVersion": 1 5 | } 6 | -------------------------------------------------------------------------------- /libs/dotcms-js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dotcms-js", 3 | "version": "0.0.1", 4 | "dependencies": { 5 | "tslib": "^2.0.0" 6 | }, 7 | "peerDependencies": { 8 | "@angular/common": "^6.0.0 || ^7.2.0", 9 | "@angular/core": "^6.0.0 || ^7.2.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/dotcms-js/src/lib/core/browser-util.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | /** 3 | * Check if the browser is ie11 4 | * 5 | * @export 6 | * @class BrowserUtil 7 | * @deprecated We don't support IE11 anymore 8 | */ 9 | @Injectable() 10 | export class BrowserUtil { 11 | public isIE11(): boolean { 12 | return navigator.appName === 'Netscape' && navigator.appVersion.indexOf('Trident') !== -1; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /libs/dotcms-js/src/lib/core/models/dot-events/dot-event-type-wrapper.ts: -------------------------------------------------------------------------------- 1 | export interface DotEventTypeWrapper { 2 | data: T; 3 | name: string; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-js/src/lib/core/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-events/dot-event-type-wrapper'; 2 | -------------------------------------------------------------------------------- /libs/dotcms-js/src/lib/core/util/app.config.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | /** 3 | * Configuration class for dotcms-js. You can extend this class to overide one to many config options and inject 4 | * the your AppConfig in the app.module ts file of your application 5 | */ 6 | @Injectable() 7 | export class AppConfig { 8 | public iconPath = './src/assets/images/icons'; 9 | public dotCMSURLKey = 'siteURLJWT'; 10 | } 11 | -------------------------------------------------------------------------------- /libs/dotcms-js/src/lib/core/util/http-code.ts: -------------------------------------------------------------------------------- 1 | export enum HttpCode { 2 | BAD_REQUEST = 400, 3 | FORBIDDEN = 403, 4 | NOT_FOUND = 404, 5 | NO_CONTENT = 204, 6 | SERVER_ERROR = 500, 7 | UNAUTHORIZED = 401 8 | } 9 | -------------------------------------------------------------------------------- /libs/dotcms-js/src/lib/core/util/models/dot-event-message.ts: -------------------------------------------------------------------------------- 1 | export interface DotEventMessage { 2 | event: string; 3 | payload: any; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-js/src/lib/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /libs/dotcms-js/src/lib/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // The file contents for the current environment will overwrite these during build. 2 | // The build system defaults to the dev environment which uses `environment.ts`, but if you do 3 | // `ng build --env=prod` then `environment.prod.ts` will be used instead. 4 | // The list of which env maps to which file can be found in `.angular-cli.json`. 5 | 6 | export const environment = { 7 | production: false 8 | }; 9 | -------------------------------------------------------------------------------- /libs/dotcms-js/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /libs/dotcms-js/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/dotcms-js/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tslint.json", 3 | "rules": { 4 | "directive-selector": [true, "attribute", "lib", "camelCase"], 5 | "component-selector": [true, "element", "lib", "kebab-case"] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms-models/README.md: -------------------------------------------------------------------------------- 1 | # dotcms-models 2 | 3 | Collection of DotCMS interfaces and types to use internally in our app and libs. 4 | 5 | This library was generated with [Nx](https://nx.dev). 6 | -------------------------------------------------------------------------------- /libs/dotcms-models/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../dist/libs/dotcms-models", 4 | "lib": { 5 | "entryFile": "src/index.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms-models/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@dotcms/dotcms-models", 3 | "version": "0.0.12" 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-models/src/lib/dot-asset-create-options.model.ts: -------------------------------------------------------------------------------- 1 | import { DotCMSTempFile } from './dot-temp-file.model'; 2 | 3 | export interface DotAssetCreateOptions { 4 | files: DotCMSTempFile[]; 5 | updateCallback: (processed: number) => void; 6 | url: string; 7 | folder: string; 8 | } 9 | -------------------------------------------------------------------------------- /libs/dotcms-models/src/lib/dot-content-state.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Represent only the properties that define the status of any type of content 3 | */ 4 | export interface DotContentState { 5 | live: string | boolean; 6 | working: string | boolean; 7 | deleted: string | boolean; 8 | hasLiveVersion: string | boolean; 9 | } 10 | -------------------------------------------------------------------------------- /libs/dotcms-models/src/lib/dot-http-error-response.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotHttpErrorResponse { 2 | message: string; 3 | status: number; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-models/src/lib/dot-http-request-options.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotHttpRequestOptions { 2 | method: string; 3 | headers: { [key: string]: string }; 4 | body: any; 5 | } 6 | -------------------------------------------------------------------------------- /libs/dotcms-models/src/lib/dot-iframe-edit-event.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotIframeEditEvent { 2 | container?: DOMStringMap; 3 | dataset?: DOMStringMap; 4 | data?: T; 5 | name: string; 6 | target?: unknown; 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms-models/src/lib/dot-license.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Interface that represents the config.license property of the response from v1/appconfiguration, 3 | * 4 | * @export 5 | * @interface DotLicense 6 | */ 7 | export interface DotLicense { 8 | displayServerId: string; 9 | isCommunity: false; 10 | level: number; 11 | levelName: string; 12 | } 13 | -------------------------------------------------------------------------------- /libs/dotcms-models/src/lib/dot-push-publish-dialog-data.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Data that came from legacy PushPublish Dialog 3 | * @export 4 | * @interface DotPushPublishDialogData 5 | */ 6 | export interface DotPushPublishDialogData { 7 | assetIdentifier: string; 8 | title: string; 9 | dateFilter?: boolean; 10 | removeOnly?: boolean; 11 | isBundle?: boolean; 12 | restricted?: boolean; 13 | cats?: boolean; 14 | customCode?: string; 15 | } 16 | -------------------------------------------------------------------------------- /libs/dotcms-models/src/lib/dot-temp-file.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Interface that represent the response of /api/v1/temp, endpoint to upload temporary files. 3 | * 4 | * @interface 5 | */ 6 | export interface DotCMSTempFile { 7 | fileName: string; 8 | folder: string; 9 | id: string; 10 | image: boolean; 11 | length: number; 12 | mimeType: string; 13 | referenceUrl: string; 14 | thumbnailUrl: string; 15 | } 16 | -------------------------------------------------------------------------------- /libs/dotcms-models/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /libs/dotcms-models/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.lib.json", 3 | "compilerOptions": { 4 | "declarationMap": false 5 | }, 6 | "angularCompilerOptions": { 7 | "compilationMode": "partial" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /libs/dotcms-models/typedoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DotCMS Models", 3 | "out": "../../dist-docs/docs/dotcms-models", 4 | "entryPoints": ["./src/index.ts"], 5 | "readme": "./libs/dotcms/README.md", 6 | "excludePrivate": true, 7 | "tsconfig": "./tsconfig.lib.json", 8 | "excludeExternals": true, 9 | "exclude": ["**/*.spec.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/.storybook/manager.js: -------------------------------------------------------------------------------- 1 | import { addons } from '@storybook/addons'; 2 | import dotcmsTheme from '../../../.storybook/dotcms-theme'; 3 | 4 | addons.setConfig({ 5 | theme: dotcmsTheme, 6 | }); -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/.storybook/preview.js: -------------------------------------------------------------------------------- 1 | import { defineCustomElements } from '../../../dist/libs/dotcms-webcomponents/loader'; 2 | 3 | defineCustomElements(); 4 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/.storybook/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "emitDecoratorMetadata": true 5 | }, 6 | "exclude": ["../src/test.ts", "../**/*.spec.ts"], 7 | "include": ["../src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/collections/dot-card-view/dot-card-view.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('dot-card-view', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | 7 | await page.setContent(''); 8 | const element = await page.find('dot-card-view'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/collections/dot-card-view/dot-card-view.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: grid; 3 | grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); 4 | grid-gap: var(--basic-padding-2); 5 | } 6 | 7 | dot-card-contentlet { 8 | height: 100%; 9 | 10 | &:before { 11 | content: ""; 12 | display: inline-block; 13 | flex: 0 0 0; 14 | height: 0; 15 | padding-bottom: calc(100%); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-binary-file/components/dot-binary-text-field/dot-binary-text-field.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-binary-file/components/dot-binary-text-field/dot-binary-text-field.scss -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-binary-file/components/dot-binary-upload-button/dot-binary-upload-button.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-binary-file/components/dot-binary-upload-button/dot-binary-upload-button.scss -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-checkbox/dot-checkbox.scss: -------------------------------------------------------------------------------- 1 | .dot-checkbox__items { 2 | display: flex; 3 | flex-direction: column; 4 | 5 | label { 6 | display: flex; 7 | align-items: center; 8 | } 9 | 10 | input { 11 | margin: 0 0.25rem 0 0; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-date-range/dot-date-range.scss: -------------------------------------------------------------------------------- 1 | @import "../../../../../../node_modules/flatpickr/dist/flatpickr.min.css"; 2 | 3 | .dot-range__body { 4 | align-items: center; 5 | display: flex; 6 | 7 | .flatpickr-input { 8 | margin-right: 1rem; 9 | flex-grow: 1; 10 | } 11 | 12 | label { 13 | select { 14 | margin-left: 0.5rem; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-date/dot-date.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-date/dot-date.scss -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-error-message/dot-error-message.scss: -------------------------------------------------------------------------------- 1 | dot-error-message:not(:empty) { 2 | border: solid 1px currentColor; 3 | color: indianred; 4 | display: block; 5 | padding: 0.5rem 0.75rem; 6 | } 7 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-error-message/dot-error-message.tsx: -------------------------------------------------------------------------------- 1 | import { Component, h } from '@stencil/core'; 2 | 3 | @Component({ 4 | tag: 'dot-error-message', 5 | styleUrl: 'dot-error-message.scss' 6 | }) 7 | export class DotErrorMessageComponent { 8 | render() { 9 | return ; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-form/components/dot-form-column/dot-form-column.scss: -------------------------------------------------------------------------------- 1 | dot-form-column { 2 | flex: 1; 3 | margin: 1rem; 4 | 5 | &:first-child { 6 | margin-left: 0; 7 | } 8 | 9 | &:last-child { 10 | margin-right: 0; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-form/components/dot-form-row/dot-form-row.scss: -------------------------------------------------------------------------------- 1 | dot-form-row { 2 | display: flex; 3 | } 4 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-input-calendar/dot-input-calendar.scss: -------------------------------------------------------------------------------- 1 | dot-input-calendar { 2 | display: flex; 3 | 4 | input { 5 | flex-grow: 1; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-key-value/dot-key-value.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-key-value/dot-key-value.scss -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-multi-select/dot-multi-select.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-multi-select/dot-multi-select.scss -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-radio/dot-radio.scss: -------------------------------------------------------------------------------- 1 | .dot-radio__items { 2 | display: flex; 3 | flex-direction: column; 4 | 5 | label { 6 | align-items: center; 7 | display: flex; 8 | } 9 | 10 | input { 11 | margin: 0 0.25rem 0 0; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-select/dot-select.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-select/dot-select.scss -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-tags/components/dot-chip/dot-chip.scss: -------------------------------------------------------------------------------- 1 | dot-chip { 2 | span { 3 | margin-right: 0.25rem; 4 | } 5 | 6 | button { 7 | cursor: pointer; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-textarea/dot-textarea.scss: -------------------------------------------------------------------------------- 1 | 2 | input { 3 | outline: none; 4 | } 5 | 6 | .dot-field__input--error { 7 | border: 1px solid red; 8 | } 9 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-textfield/dot-textfield.scss: -------------------------------------------------------------------------------- 1 | 2 | input { 3 | outline: none; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-time/dot-time.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-webcomponents/src/components/contenttypes-fields/dot-time/dot-time.scss -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/dot-data-view-button/dot-data-view-button.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-webcomponents/src/components/dot-data-view-button/dot-data-view-button.css -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/dot-data-view-button/dot-data-view-button.stories.js: -------------------------------------------------------------------------------- 1 | import readme from './readme.md'; 2 | 3 | export default { 4 | title: 'Components', 5 | parameters: { 6 | docs: { 7 | page: readme 8 | }, 9 | }, 10 | }; 11 | 12 | export const DataViewButton = () => ``; 13 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/components/dot-select-button/dot-select-button.scss: -------------------------------------------------------------------------------- 1 | .active { 2 | color: var(--color-main); 3 | pointer-events: none; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/elements/dot-badge/dot-badge.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('dot-badge', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | 7 | await page.setContent(''); 8 | const element = await page.find('dot-badge'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/elements/dot-card/dot-card.scss: -------------------------------------------------------------------------------- 1 | 2 | :host { 3 | background-color: var(--color-white); 4 | border-radius: var(--border-radius);; 5 | box-shadow: var(--md-shadow-1); 6 | display: block; 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/elements/dot-card/dot-card.stories.js: -------------------------------------------------------------------------------- 1 | import readme from './readme.md'; 2 | 3 | export default { 4 | title: 'Elements', 5 | parameters: { 6 | docs: { 7 | page: readme 8 | }, 9 | }, 10 | }; 11 | export const Card = () => 12 | `

Hello World

`; 13 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/elements/dot-card/dot-card.tsx: -------------------------------------------------------------------------------- 1 | import { Component, h} from '@stencil/core'; 2 | 3 | @Component({ 4 | tag: 'dot-card', 5 | styleUrl: 'dot-card.scss', 6 | shadow: true 7 | }) 8 | export class DotCard { 9 | 10 | render() { 11 | return ( 12 | 13 | ); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/elements/dot-contentlet-icon/dot-contentlet-icon.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | position: relative; 3 | } 4 | 5 | span { 6 | color: #fff; 7 | position: absolute; 8 | transform: translateY(7px); 9 | text-shadow: 1px 1px rgba(0, 0, 0, 0.25); 10 | overflow: hidden; 11 | text-overflow: ellipsis; 12 | max-width: 40px; 13 | } 14 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/elements/dot-contentlet-lock-icon/dot-contentlet-lock-icon.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | width: var(--mdc-icon-size); 4 | height: var(--mdc-icon-size); 5 | } 6 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/elements/dot-tooltip/dot-tooltip.e2e.ts: -------------------------------------------------------------------------------- 1 | import { newE2EPage } from '@stencil/core/testing'; 2 | 3 | describe('dot-tooltip', () => { 4 | it('renders', async () => { 5 | const page = await newE2EPage(); 6 | 7 | await page.setContent(''); 8 | const element = await page.find('dot-tooltip'); 9 | expect(element).toHaveClass('hydrated'); 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/elements/dot-tooltip/dot-tooltip.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/libs/dotcms-webcomponents/src/elements/dot-tooltip/dot-tooltip.scss -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/global/_variables.scss: -------------------------------------------------------------------------------- 1 | @mixin mwc-dotcms-theme { 2 | --mdc-theme-primary: var(--color-main); 3 | --mdc-theme-secondary: var(--color-sec); 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './components'; 2 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/models/dot-binary-message-error.model.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Enum to represent Errors in the Binary Field. 3 | */ 4 | export enum DotBinaryMessageError { 5 | REQUIRED, 6 | INVALID, 7 | URLINVALID, 8 | SIZEINVALID 9 | } 10 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/models/dot-context-menu-action.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotContextMenuAction { 2 | index: number; 3 | } 4 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/models/dot-context-menu.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotContextMenuOption { 2 | label: string; 3 | action: (e: CustomEvent) => void; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/models/dot-date-slot.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotDateSlot { 2 | date: string; 3 | time: string; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/models/dot-field-status.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotFieldStatus { 2 | dotTouched: boolean; 3 | dotValid: boolean; 4 | dotPristine: boolean; 5 | } 6 | 7 | export interface DotFieldStatusClasses { 8 | 'dot-valid': boolean; 9 | 'dot-invalid': boolean; 10 | 'dot-pristine': boolean; 11 | 'dot-dirty': boolean; 12 | 'dot-touched': boolean; 13 | 'dot-untouched': boolean; 14 | 'dot-required'?: boolean; 15 | } 16 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/models/dot-html-tag.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotOption { 2 | label: string; 3 | value: string; 4 | } 5 | 6 | export interface DotLabel { 7 | label: string; 8 | name: string; 9 | required?: boolean; 10 | } 11 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/models/dot-key-value-field.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotKeyValueField { 2 | key: string; 3 | value: string; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/models/dotSelectButtonOption.ts: -------------------------------------------------------------------------------- 1 | export interface DotSelectButtonOption { 2 | label: string; 3 | icon: string; 4 | disabled?: boolean 5 | } 6 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dot-date-slot.model'; 2 | export * from './dot-field-event.model'; 3 | export * from './dot-field-status.model'; 4 | export * from './dot-html-tag.model'; 5 | export * from './dot-key-value-field.model'; 6 | export * from './dot-binary-message-error.model'; 7 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/test/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mocks'; 2 | export * from './utils'; 3 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/utils/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./utils"; 2 | // export * from '../test/utils'; 3 | export * from "./checkProp"; 4 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/utils/props/models/PropValidationInfo.ts: -------------------------------------------------------------------------------- 1 | export interface PropValidationInfo { 2 | field: { 3 | type: string; 4 | name: string; 5 | }; 6 | name: string; 7 | value: T; 8 | } 9 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/utils/props/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './PropValidationInfo'; 2 | -------------------------------------------------------------------------------- /libs/dotcms-webcomponents/src/utils/props/validators/index.ts: -------------------------------------------------------------------------------- 1 | export * from './date'; 2 | export * from './props'; 3 | -------------------------------------------------------------------------------- /libs/dotcms/ng-package.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", 3 | "dest": "../../dist/libs/dotcms", 4 | "lib": { 5 | "entryFile": "src/index.ts" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dotcms", 3 | "version": "0.0.17" 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms/src/lib/models/DotCMSAuthorization.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotCMSAuthorizationLoginParams { 2 | user: string; 3 | password: string; 4 | expirationDays: string; 5 | host: string; 6 | } 7 | -------------------------------------------------------------------------------- /libs/dotcms/src/lib/models/DotCMSContent.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotCMSContent { 2 | stName: string; 3 | } 4 | 5 | export interface DotCMSContentQuery { 6 | contentType: string; 7 | queryParams?: object; 8 | options: { 9 | depth?: string; 10 | limit?: string; 11 | offset?: string; 12 | orderBy?: string; 13 | }; 14 | } 15 | -------------------------------------------------------------------------------- /libs/dotcms/src/lib/models/DotCMSError.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotCMSError { 2 | statusCode: number; 3 | message: string; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms/src/lib/models/DotCMSEvent.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotCMSEventsParams { 2 | name: string; 3 | data: any; 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms/src/lib/models/DotCMSForm.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotCMSFormConfig { 2 | contentHost?: string; 3 | contentType?: string; 4 | identifier: string; 5 | workflowtoSubmit?: string; 6 | fieldsToShow?: string; 7 | labels?: { 8 | submit?: string; 9 | reset?: string; 10 | }; 11 | win?: Window; 12 | onSuccess?(data: any): any; 13 | onError?(error: any): any; 14 | } 15 | -------------------------------------------------------------------------------- /libs/dotcms/src/lib/models/DotCMSHttpClient.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotAppHttpRequestParams { 2 | url: string; 3 | method?: string; 4 | body?: { [key: string]: any } | string; 5 | params?: { [key: string]: string }; 6 | } 7 | -------------------------------------------------------------------------------- /libs/dotcms/src/lib/models/DotCMSLanguage.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotCMSLanguageItem { 2 | id: number; 3 | languageCode: string; 4 | countryCode: string; 5 | language: string; 6 | country: string; 7 | } 8 | -------------------------------------------------------------------------------- /libs/dotcms/src/lib/models/DotCMSNavigation.model.ts: -------------------------------------------------------------------------------- 1 | export interface DotCMSNavigationItem { 2 | code?: any; 3 | folder: string; 4 | children?: DotCMSNavigationItem[]; 5 | host: string; 6 | languageId: number; 7 | href: string; 8 | title: string; 9 | type: string; 10 | hash: number; 11 | target: string; 12 | order: number; 13 | } 14 | -------------------------------------------------------------------------------- /libs/dotcms/src/lib/models/DotCMSPageFormat.model.ts: -------------------------------------------------------------------------------- 1 | export const enum DotCMSPageFormat { 2 | JSON = 'json', 3 | Render = 'render' 4 | } 5 | -------------------------------------------------------------------------------- /libs/dotcms/src/test-setup.ts: -------------------------------------------------------------------------------- 1 | import 'jest-preset-angular/setup-jest'; 2 | 3 | import { getTestBed } from '@angular/core/testing'; 4 | import { 5 | BrowserDynamicTestingModule, 6 | platformBrowserDynamicTesting 7 | } from '@angular/platform-browser-dynamic/testing'; 8 | 9 | getTestBed().resetTestEnvironment(); 10 | getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), { 11 | teardown: { destroyAfterEach: false } 12 | }); 13 | -------------------------------------------------------------------------------- /libs/dotcms/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /libs/dotcms/tsconfig.lib.prod.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.lib.json", 3 | "compilerOptions": { 4 | "declarationMap": false 5 | }, 6 | "angularCompilerOptions": { 7 | "enableIvy": false 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /libs/dotcms/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "module": "commonjs", 6 | "types": ["jest", "node"] 7 | }, 8 | "files": ["src/test-setup.ts"], 9 | "include": ["**/*.spec.ts", "**/*.test.ts", "**/*.d.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/dotcms/typedoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DotCMS", 3 | "out": "../../dist-docs/docs/dotcms", 4 | "entryPoints": ["./src/index.ts"], 5 | "readme": "./libs/dotcms/README.md", 6 | "excludePrivate": true, 7 | "tsconfig": "./tsconfig.lib.json", 8 | "excludeExternals": true, 9 | "exclude": ["**/*.spec.ts"] 10 | } 11 | -------------------------------------------------------------------------------- /libs/ui/README.md: -------------------------------------------------------------------------------- 1 | # DotCMS UI Components Library 2 | 3 | A library of Angular components we shared in our apps. 4 | 5 | ## Dot Icons 6 | 7 | A wrapper for the Material UI icons 8 | -------------------------------------------------------------------------------- /libs/ui/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/ui.module'; 2 | export * from './lib/dot-icon/dot-icon.module'; 3 | export * from './lib/dot-icon/dot-icon.component'; 4 | export * from './lib/dot-spinner/dot-spinner.module'; 5 | export * from './lib/dot-spinner/dot-spinner.component'; 6 | -------------------------------------------------------------------------------- /libs/ui/src/lib/dot-icon/dot-icon.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /libs/ui/src/lib/dot-icon/dot-icon.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotIconComponent } from './dot-icon.component'; 4 | 5 | @NgModule({ 6 | declarations: [DotIconComponent], 7 | exports: [DotIconComponent], 8 | imports: [CommonModule] 9 | }) 10 | export class DotIconModule {} 11 | -------------------------------------------------------------------------------- /libs/ui/src/lib/dot-spinner/dot-spinner.component.html: -------------------------------------------------------------------------------- 1 |
2 | -------------------------------------------------------------------------------- /libs/ui/src/lib/dot-spinner/dot-spinner.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, Input } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'dot-spinner', 5 | templateUrl: './dot-spinner.component.html', 6 | styleUrls: ['./dot-spinner.component.scss'] 7 | }) 8 | export class DotSpinnerComponent { 9 | @Input() borderSize = ''; 10 | @Input() size = ''; 11 | } 12 | -------------------------------------------------------------------------------- /libs/ui/src/lib/dot-spinner/dot-spinner.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DotSpinnerComponent } from './dot-spinner.component'; 4 | 5 | @NgModule({ 6 | declarations: [DotSpinnerComponent], 7 | imports: [CommonModule], 8 | exports: [DotSpinnerComponent], 9 | providers: [] 10 | }) 11 | export class DotSpinnerModule {} 12 | -------------------------------------------------------------------------------- /libs/ui/src/lib/ui.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | 4 | @NgModule({ 5 | imports: [CommonModule] 6 | }) 7 | export class UiModule {} 8 | -------------------------------------------------------------------------------- /libs/ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /libs/ui/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /libs/utils/README.md: -------------------------------------------------------------------------------- 1 | # utils 2 | 3 | Library with common functions. 4 | 5 | - Create Temporary Resources 6 | - Create DotAssets 7 | -------------------------------------------------------------------------------- /libs/utils/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './lib/services/dot-asset.service'; 2 | export * from './lib/services/dot-temp-file.service'; 3 | -------------------------------------------------------------------------------- /libs/utils/src/lib/utils.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | 4 | @NgModule({ 5 | imports: [CommonModule] 6 | }) 7 | export class UtilsModule {} 8 | -------------------------------------------------------------------------------- /libs/utils/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "files": [], 4 | "include": [], 5 | "references": [ 6 | { 7 | "path": "./tsconfig.lib.json" 8 | }, 9 | { 10 | "path": "./tsconfig.spec.json" 11 | } 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /libs/utils/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../../dist/out-tsc", 5 | "types": ["jasmine", "node"] 6 | }, 7 | "files": ["src/test.ts"], 8 | "include": ["**/*.spec.ts", "**/*.d.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /tools/generators/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dotCMS/core-web/d5dbaeead3030fc39f9f67cf2f61a4b7ca089c79/tools/generators/.gitkeep -------------------------------------------------------------------------------- /tools/tsconfig.tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.base.json", 3 | "compilerOptions": { 4 | "outDir": "../dist/out-tsc/tools", 5 | "rootDir": ".", 6 | "module": "commonjs", 7 | "target": "es5", 8 | "types": ["node"], 9 | "importHelpers": false 10 | }, 11 | "include": ["**/*.ts"] 12 | } 13 | --------------------------------------------------------------------------------