├── .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 |
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 |
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 |
2 |
3 |
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 |
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 |
--------------------------------------------------------------------------------