From b7bbd8b0bdb6dc52521e6c3d00c13e77f0134604 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 3 Mar 2023 13:58:16 +0300 Subject: [PATCH 01/32] added page 'design-system'; added general basic link; fix general basic link in contacts --- .../contacts/contacts.component.html | 2 +- .../contacts/contacts.component.less | 2 +- .../contacts/contacts.component.ts | 2 + .../design-system.component.html | 99 ++++++++++++++++++- .../design-system.component.less | 25 +++++ .../design-system/design-system.component.ts | 5 +- .../design-system/design-system.module.ts | 10 ++ apps/doc/src/app/app.module.ts | 3 +- apps/doc/src/app/pages.ts | 7 +- apps/doc/src/environments/environment.prod.ts | 2 + apps/doc/src/environments/environment.ts | 2 + 11 files changed, 151 insertions(+), 8 deletions(-) create mode 100644 apps/doc/src/app/about-prizm/design-system/design-system.module.ts diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.component.html b/apps/doc/src/app/about-prizm/contacts/contacts.component.html index 30c6fb727f..07bf417c8e 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.component.html +++ b/apps/doc/src/app/about-prizm/contacts/contacts.component.html @@ -11,7 +11,7 @@

Способы связи

  • С помощью Issue - способ описан на странице - Сontributing + Сontributing
  • diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.component.less b/apps/doc/src/app/about-prizm/contacts/contacts.component.less index 83dc8f2809..ed7d69dcc5 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.component.less +++ b/apps/doc/src/app/about-prizm/contacts/contacts.component.less @@ -1,5 +1,5 @@ a { - color: blue; + color: rgb(0, 119, 255); } .examleLinks { diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.component.ts b/apps/doc/src/app/about-prizm/contacts/contacts.component.ts index c61e2298aa..9293976a40 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.component.ts +++ b/apps/doc/src/app/about-prizm/contacts/contacts.component.ts @@ -1,4 +1,5 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { environment } from 'apps/doc/src/environments/environment'; export interface ITableProduct { code: number; @@ -14,6 +15,7 @@ export interface ITableProduct { changeDetection: ChangeDetectionStrategy.OnPush, }) export class ContactsComponent { + public storybookBaseUrl: string = environment.storybookBaseUrl; public columns: string[] = ['code', 'tipe', 'decoding']; public products: ITableProduct[] = TABLE_COUNTS; } diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.html b/apps/doc/src/app/about-prizm/design-system/design-system.component.html index ed45a92473..d3c9a60d2a 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.html +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.html @@ -1 +1,98 @@ -

    design-system works!

    + +

    + Дизайн-система «PRIZM» представляет собой симбиоз дизайн-системы Spectr (ГПН БЛПС) и + дизайн-системы ZIIoT design system 3.0, учитывает специфику промышленности, где представлена платформа, + наш прошлый опыт и рынок, куда мы хотим попасть. Prizm распространяется по типу + лицензии MIT и подходит для создания цифровых + продуктов, включая бизнес-приложения поверх платформы ZIIoT. По сути, это единый визуальный язык и его + техническое отражение в виде библиотеки компонентов в одном общем хранилище. Он не имеет отношения к + back-end, а скорее представляет собой документ, объединяющий в себе информацию о решениях и требованиях, + которые должны быть использованы при разработке и обновлении частей платформы и прикладных решений на + ZIIoT. На него необходимо будет ссылаться при разработке технических заданий, руководств пользователя и + прочих документов. +

    + +

    Для кого

    + +
      +
    1. Аналитиков
    2. +
    3. Руководителей проектов
    4. +
    5. Проектировщиков
    6. +
    7. Владельцев продуктов
    8. +
    9. Дизайнеров
    10. +
    11. Тестировщиков
    12. +
    13. Разработчиков
    14. +
    15. Технических писателей
    16. +
    + +

    Из чего состоит дизайн-система

    + +
      +
    1. Библиотека интерфейсных компонентов
    2. +
    3. Библиотке компонентов в Figma
    4. +
    5. Правила, рекомендации, гайдлайны, патерны, шаблоны, витрина компонентов.
    6. +
    7. Философия к дизану, разработке, поддержке.
    8. +
    9. Команда Prizm.
    10. +
    +
    +
    +

    ЦЕЛЬ СОЗДАНИЯ

    +
      +
    1. Снижение стоимости разработки
    2. +
    3. Снижение стоимости дизайна
    4. +
    5. Унификация множества интерфейсов
    6. +
    +
    +
    +

    ПРИЧИНА СОЗДАНИЯ

    +
      +
    1. Разрозненность решений
    2. +
    3. Отсутствие единого источника правды
    4. +
    5. Поиски лучших решений в каждом проекте
    6. +
    +
    +
    +

    ЗАДАЧИ ДИЗАЙН-СИСТЕМЫ

    +
      +
    1. Стандартизация решений
    2. +
    3. Независимость проектов от состава команд
    4. +
    5. Упрощение передачи продукта по стадиям «исследование – дизайн – разработка»
    6. +
    7. Снижение затрат на поддержку, развитие и запуск продуктов
    8. +
    9. Повышает узнаваемость бренда
    10. +
    +
    +
    +

    ПОЧЕМУ В ЭТОМ ЕСТЬ ЦЕННОСТЬ

    +
      +
    1. Экономит время на дизайн / разработку
    2. +
    3. Динамична и легко обновляемая
    4. +
    5. Стандартизирует интерфейсы и минимизирует баги
    6. +
    7. Служит готовым конструктором
    8. +
    9. Легко масштабируется
    10. +
    +
    +
    +

    ПРИНЦИПЫ

    +
      +
    1. Единый UX в продуктах
    2. +
    3. Масштабируемость
    4. +
    5. Дизайн на основе данных
    6. +
    7. Локализация
    8. +
    9. Сохранение интересов продукта
    10. +
    11. Развитие и потенциал для эволюции
    12. +
    13. Универсальность
    14. +
    +
    +
    +

    КАКИЕ ПРЕИМУЩЕСТВА ПОЛУЧАЕМ

    +
      +
    1. Обучаемость пользователей
    2. +
    3. Переиспользование графических элементов, паттернов
    4. +
    5. Единообразие компонентов
    6. +
    7. Удешевление тестирования
    8. +
    9. Переиспользование кода / единые компоненты на технологическом уровне
    10. +
    11. Структурированность
    12. +
    +
    +
    +
    diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.less b/apps/doc/src/app/about-prizm/design-system/design-system.component.less index e69de29bb2..db247cda34 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.less +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.less @@ -0,0 +1,25 @@ +a { + color: rgb(0, 119, 255); +} + +.disc { + li { + list-style-type: disc; + } +} + +.decimal { + li { + list-style-type: decimal; + } +} + +.table { + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} + +.cell { + max-width: 33%; +} diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.ts b/apps/doc/src/app/about-prizm/design-system/design-system.component.ts index 8b2a6db143..ff72e32875 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.ts +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.ts @@ -1,4 +1,5 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { environment } from 'apps/doc/src/environments/environment'; @Component({ selector: 'prizm-design-system', @@ -6,4 +7,6 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; styleUrls: ['./design-system.component.less'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class DesignSystemComponent {} +export class DesignSystemComponent { + public storybookBaseUrl: string = environment.storybookBaseUrl; +} diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.module.ts b/apps/doc/src/app/about-prizm/design-system/design-system.module.ts new file mode 100644 index 0000000000..7ded813a90 --- /dev/null +++ b/apps/doc/src/app/about-prizm/design-system/design-system.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { PrizmAddonDocModule } from '@prizm-ui/doc'; +import { DesignSystemComponent } from './design-system.component'; + +@NgModule({ + exports: [DesignSystemComponent], + declarations: [DesignSystemComponent], + imports: [PrizmAddonDocModule], +}) +export class DesignSystemModule {} diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 61abe7b740..fc50c7b6a5 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -33,6 +33,7 @@ import { MigrationComponent } from './how-to-start/migration/migration.component import { PrizmAccordionModule, PrizmToastModule, PrizmToggleModule } from '@prizm-ui/components'; import { PrizmThemeService } from '@prizm-ui/theme'; import { ContactsModule } from './about-prizm/contacts/contacts.module'; +import { DesignSystemModule } from './about-prizm/design-system/design-system.module'; registerLocaleData(localeRu); @NgModule({ @@ -59,6 +60,7 @@ registerLocaleData(localeRu); PrizmToastModule, HttpClientModule, PrizmAccordionModule, + DesignSystemModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, @@ -69,7 +71,6 @@ registerLocaleData(localeRu); AppComponent, GettingStartedComponent, AboutComponent, - DesignSystemComponent, ForDesignersComponent, ForDevelopersComponent, MigrationComponent, diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index f5446ee574..41c97c5439 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -10,10 +10,11 @@ export const pages: PrizmOrderedDocPage = [ //Window { section: SectionNameEnum.allAboutPrizm, - title: `О дизайн-системе`, + title: `О дизайн-системе Prizm`, keywords: 'дизайн-система, дизайн, система, design system, design, system', - link: 'http://prizm.zyfra.com/', - target: '_blank', + // link: 'http://prizm.zyfra.com/', + // target: '_blank', + route: 'about-prizm/design-system', order: 1, }, { diff --git a/apps/doc/src/environments/environment.prod.ts b/apps/doc/src/environments/environment.prod.ts index 66f6cea608..90c26846c6 100644 --- a/apps/doc/src/environments/environment.prod.ts +++ b/apps/doc/src/environments/environment.prod.ts @@ -1,3 +1,5 @@ export const environment = { production: true, + landingBaseUrl: 'http://prizm.zyfra.com', + storybookBaseUrl: 'http://doc.prizm.zyfra.com', }; diff --git a/apps/doc/src/environments/environment.ts b/apps/doc/src/environments/environment.ts index bde0e865f1..32782c9f34 100644 --- a/apps/doc/src/environments/environment.ts +++ b/apps/doc/src/environments/environment.ts @@ -4,6 +4,8 @@ export const environment = { production: false, + storybookBaseUrl: 'http://doc.prizm.zyfra.com', + landingBaseUrl: 'http://prizm.zyfra.com', }; /* From 9b914a2551d12d85c903eae238ae1fb9d5e76df7 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 3 Mar 2023 14:25:06 +0300 Subject: [PATCH 02/32] fix indents in design-system --- .../about-prizm/design-system/design-system.component.less | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.less b/apps/doc/src/app/about-prizm/design-system/design-system.component.less index db247cda34..8770968ae5 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.less +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.less @@ -17,9 +17,9 @@ a { .table { display: flex; flex-wrap: wrap; - justify-content: space-between; + gap: 1rem; } .cell { - max-width: 33%; + flex: 1 1 calc((100% / 3) - 2rem); } From 245cbf232be5fc64a9e5391e6257d356e384a840 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 3 Mar 2023 17:07:10 +0300 Subject: [PATCH 03/32] change the sorting of sections; change model --- apps/doc/src/app/app.providers.ts | 4 ++-- apps/doc/src/app/model.ts | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/doc/src/app/app.providers.ts b/apps/doc/src/app/app.providers.ts index f637a69838..e19850ca77 100644 --- a/apps/doc/src/app/app.providers.ts +++ b/apps/doc/src/app/app.providers.ts @@ -113,8 +113,8 @@ export const APP_PROVIDERS = [ function sortDocPages(pages: PrizmOrderedDocPage): (PrizmDocPage | PrizmDocPageGroup)[] { const ordering = { [SectionNameEnum.allAboutPrizm]: 0, - [SectionNameEnum.guidelines]: 1, - [SectionNameEnum.howToStart]: 2, + [SectionNameEnum.howToWork]: 1, + [SectionNameEnum.guidelines]: 2, [SectionNameEnum.components]: 3, [SectionNameEnum.charts]: 4, [SectionNameEnum.tools]: 5, diff --git a/apps/doc/src/app/model.ts b/apps/doc/src/app/model.ts index ad80adf3bd..3154c0489c 100644 --- a/apps/doc/src/app/model.ts +++ b/apps/doc/src/app/model.ts @@ -1,7 +1,8 @@ export enum SectionNameEnum { allAboutPrizm = 'Все о Prizm', + howToWork = 'Как работать с Prizm', + forZIIoT = 'Prizm для ZIIoT', guidelines = 'Гайдлайны', - howToStart = 'Как начать', components = 'Компоненты', charts = 'Графики', tools = 'Инструменты', From 049c7e56d8a9ed698bae0c5e522a5b56c9cbb043 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 3 Mar 2023 17:08:27 +0300 Subject: [PATCH 04/32] added base URLs --- apps/doc/src/environments/environment.prod.ts | 1 + apps/doc/src/environments/environment.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/apps/doc/src/environments/environment.prod.ts b/apps/doc/src/environments/environment.prod.ts index 90c26846c6..76f56e0697 100644 --- a/apps/doc/src/environments/environment.prod.ts +++ b/apps/doc/src/environments/environment.prod.ts @@ -2,4 +2,5 @@ export const environment = { production: true, landingBaseUrl: 'http://prizm.zyfra.com', storybookBaseUrl: 'http://doc.prizm.zyfra.com', + githubBaseUrl: 'https://github.com/zyfra/Prizm', }; diff --git a/apps/doc/src/environments/environment.ts b/apps/doc/src/environments/environment.ts index 32782c9f34..98d787ae9e 100644 --- a/apps/doc/src/environments/environment.ts +++ b/apps/doc/src/environments/environment.ts @@ -6,6 +6,7 @@ export const environment = { production: false, storybookBaseUrl: 'http://doc.prizm.zyfra.com', landingBaseUrl: 'http://prizm.zyfra.com', + githubBaseUrl: 'https://github.com/zyfra/Prizm', }; /* From 7e7d0e3c748f60d80d6b2a96f3dd0ef553d3c74f Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 3 Mar 2023 21:50:04 +0300 Subject: [PATCH 05/32] moving old pages to new positions --- .../about-prizm/contacts/contacts.module.ts | 12 +- .../design-system/design-system.module.ts | 8 +- apps/doc/src/app/app.module.ts | 12 +- apps/doc/src/app/app.routes.ts | 92 ++++----- .../app/documentation/about/about.module.ts | 9 + .../migration/migration.component.html | 8 +- .../migration/migration.component.less | 0 .../migration/migration.component.spec.ts | 0 .../migration/migration.component.ts | 18 +- .../forZIIoT/migration/migration.module.ts | 14 ++ .../for-designers.component.html | 1 - .../for-designers.component.less | 0 .../for-designers.component.spec.ts | 24 --- .../for-designers/for-designers.component.ts | 9 - .../for-developers.component.html | 1 - .../for-developers.component.less | 0 .../for-developers.component.ts | 9 - .../codestyle/codestyle.component.html | 6 +- .../codestyle/codestyle.component.less | 176 +++++++++--------- .../codestyle/codestyle.component.ts | 30 +-- .../codestyle/codestyle.module.ts | 36 ++-- .../contributing/contributing.component.html | 6 +- .../contributing/contributing.component.less | 176 +++++++++--------- .../contributing/contributing.component.ts | 30 +-- .../contributing/contributing.module.ts | 36 ++-- .../for-developers.component.html | 74 ++++++++ .../for-developers.component.less | 15 ++ .../for-developers.component.spec.ts | 48 ++--- .../for-developers.component.ts | 42 +++++ .../for-developers/for-developers.module.ts | 16 ++ apps/doc/src/app/pages.ts | 98 +++++----- 31 files changed, 571 insertions(+), 435 deletions(-) create mode 100644 apps/doc/src/app/documentation/about/about.module.ts rename apps/doc/src/app/{how-to-start => forZIIoT}/migration/migration.component.html (88%) rename apps/doc/src/app/{how-to-start => forZIIoT}/migration/migration.component.less (100%) rename apps/doc/src/app/{how-to-start => forZIIoT}/migration/migration.component.spec.ts (100%) rename apps/doc/src/app/{how-to-start => forZIIoT}/migration/migration.component.ts (72%) create mode 100644 apps/doc/src/app/forZIIoT/migration/migration.module.ts delete mode 100644 apps/doc/src/app/how-to-start/for-designers/for-designers.component.html delete mode 100644 apps/doc/src/app/how-to-start/for-designers/for-designers.component.less delete mode 100644 apps/doc/src/app/how-to-start/for-designers/for-designers.component.spec.ts delete mode 100644 apps/doc/src/app/how-to-start/for-designers/for-designers.component.ts delete mode 100644 apps/doc/src/app/how-to-start/for-developers/for-developers.component.html delete mode 100644 apps/doc/src/app/how-to-start/for-developers/for-developers.component.less delete mode 100644 apps/doc/src/app/how-to-start/for-developers/for-developers.component.ts rename apps/doc/src/app/{documentation => how-to-work}/codestyle/codestyle.component.html (97%) rename apps/doc/src/app/{documentation => how-to-work}/codestyle/codestyle.component.less (94%) rename apps/doc/src/app/{documentation => how-to-work}/codestyle/codestyle.component.ts (97%) rename apps/doc/src/app/{documentation => how-to-work}/codestyle/codestyle.module.ts (97%) rename apps/doc/src/app/{documentation => how-to-work}/contributing/contributing.component.html (97%) rename apps/doc/src/app/{documentation => how-to-work}/contributing/contributing.component.less (94%) rename apps/doc/src/app/{documentation => how-to-work}/contributing/contributing.component.ts (97%) rename apps/doc/src/app/{documentation => how-to-work}/contributing/contributing.module.ts (97%) create mode 100644 apps/doc/src/app/how-to-work/for-developers/for-developers.component.html create mode 100644 apps/doc/src/app/how-to-work/for-developers/for-developers.component.less rename apps/doc/src/app/{how-to-start => how-to-work}/for-developers/for-developers.component.spec.ts (96%) create mode 100644 apps/doc/src/app/how-to-work/for-developers/for-developers.component.ts create mode 100644 apps/doc/src/app/how-to-work/for-developers/for-developers.module.ts diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.module.ts b/apps/doc/src/app/about-prizm/contacts/contacts.module.ts index 59259981d5..6ef31ab51c 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.module.ts +++ b/apps/doc/src/app/about-prizm/contacts/contacts.module.ts @@ -1,13 +1,17 @@ -import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { FormsModule } from '@angular/forms'; +import { RouterModule } from '@angular/router'; import { PrizmAccordionModule, PrizmTableModule } from '@prizm-ui/components'; -import { PrizmAddonDocModule } from '@prizm-ui/doc'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; import { ContactsComponent } from './contacts.component'; @NgModule({ exports: [ContactsComponent], declarations: [ContactsComponent], - imports: [CommonModule, PrizmTableModule, FormsModule, PrizmAccordionModule, PrizmAddonDocModule], + imports: [ + PrizmTableModule, + PrizmAccordionModule, + PrizmAddonDocModule, + RouterModule.forChild(prizmDocGenerateRoutes(ContactsComponent)), + ], }) export class ContactsModule {} diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.module.ts b/apps/doc/src/app/about-prizm/design-system/design-system.module.ts index 7ded813a90..86a1851674 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.module.ts +++ b/apps/doc/src/app/about-prizm/design-system/design-system.module.ts @@ -1,10 +1,14 @@ import { NgModule } from '@angular/core'; -import { PrizmAddonDocModule } from '@prizm-ui/doc'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; import { DesignSystemComponent } from './design-system.component'; @NgModule({ exports: [DesignSystemComponent], declarations: [DesignSystemComponent], - imports: [PrizmAddonDocModule], + imports: [ + PrizmAddonDocModule, + RouterModule.forChild(prizmDocGenerateRoutes(DesignSystemComponent)), + ], }) export class DesignSystemModule {} diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index fc50c7b6a5..5f5c83d0ab 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -23,17 +23,14 @@ import { APP_PROVIDERS } from './app.providers'; import { PrizmDocLogoModule } from './logo/logo.module'; import { VersionManagerModule } from './version-manager/version-manager.module'; import { HttpClient, HttpClientModule } from '@angular/common/http'; -import { AboutComponent } from './documentation/about/about.component'; import { registerLocaleData } from '@angular/common'; import localeRu from '@angular/common/locales/ru'; -import { DesignSystemComponent } from './about-prizm/design-system/design-system.component'; -import { ForDesignersComponent } from './how-to-start/for-designers/for-designers.component'; -import { ForDevelopersComponent } from './how-to-start/for-developers/for-developers.component'; -import { MigrationComponent } from './how-to-start/migration/migration.component'; import { PrizmAccordionModule, PrizmToastModule, PrizmToggleModule } from '@prizm-ui/components'; import { PrizmThemeService } from '@prizm-ui/theme'; import { ContactsModule } from './about-prizm/contacts/contacts.module'; import { DesignSystemModule } from './about-prizm/design-system/design-system.module'; +import { ForDevelopersModule } from './how-to-work/for-developers/for-developers.module'; +import { MigrationComponent } from './forZIIoT/migration/migration.component'; registerLocaleData(localeRu); @NgModule({ @@ -61,6 +58,7 @@ registerLocaleData(localeRu); HttpClientModule, PrizmAccordionModule, DesignSystemModule, + ForDevelopersModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, @@ -70,10 +68,6 @@ registerLocaleData(localeRu); declarations: [ AppComponent, GettingStartedComponent, - AboutComponent, - ForDesignersComponent, - ForDevelopersComponent, - MigrationComponent, ], providers: [{ provide: LOCALE_ID, useValue: 'ru-RU' }, ...APP_PROVIDERS], }) diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index e7816551cd..3e9ab84f97 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -1,9 +1,5 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; -import { ContactsComponent } from './about-prizm/contacts/contacts.component'; -import { DesignSystemComponent } from './about-prizm/design-system/design-system.component'; -import { GettingStartedComponent } from './documentation/getting-started/getting-started.component'; -import { MigrationComponent } from './how-to-start/migration/migration.component'; export const ROUTES: Routes = [ { @@ -27,70 +23,96 @@ export const ROUTES: Routes = [ }, { path: 'design-system', - component: DesignSystemComponent, + loadChildren: (): Promise => + import('./about-prizm/design-system/design-system.module').then(i => i.DesignSystemModule), data: { title: 'About Design System', }, }, { path: 'contacts', - component: ContactsComponent, + loadChildren: (): Promise => + import('./about-prizm/contacts/contacts.module').then(i => i.ContactsModule), data: { title: 'Contacts', }, }, ], }, - //Guidelines + //How to work { - path: 'guidelines', + path: 'how-to-work', children: [ { - path: 'typography', + path: 'for-developers', loadChildren: (): Promise => - import('./guidelines/typography/typography.module').then(m => m.TypographyModule), + import('./how-to-work/for-developers/for-developers.module').then(i => i.ForDevelopersModule), data: { - title: 'Typography', + title: 'For developers', }, }, { - path: 'colors', + path: 'contributing', loadChildren: (): Promise => - import('./guidelines/colors/colors.module').then(m => m.ColorsModule), + import('./how-to-work/contributing/contributing.module').then(i => i.ContributingModule), data: { - title: 'Colors', + title: 'Contributing', }, }, { - path: 'grid', - loadChildren: (): Promise => import('./guidelines/grid/grid.module').then(m => m.GridModule), + path: 'codestyle', + loadChildren: (): Promise => + import('./how-to-work/codestyle/codestyle.module').then(i => i.CodestyleModule), data: { - title: 'Grid', + title: 'CodeStyle', }, }, + { + path: '**', + redirectTo: 'for-developers', + }, ], }, - //How to start + //For ZIIoT { - path: 'how-to-start', + path: 'forZIIoT', children: [ { - path: 'for-developers', - component: GettingStartedComponent, + path: 'migration', + loadChildren: (): Promise => + import('./forZIIoT/migration/migration.module').then(i => i.MigrationModule), data: { - title: 'For developers', + title: 'Migration', }, }, + ] + }, + //Guidelines + { + path: 'guidelines', + children: [ { - path: 'migration', - component: MigrationComponent, + path: 'typography', + loadChildren: (): Promise => + import('./guidelines/typography/typography.module').then(m => m.TypographyModule), data: { - title: 'Migration', + title: 'Typography', }, }, { - path: '**', - redirectTo: 'for-developers', + path: 'colors', + loadChildren: (): Promise => + import('./guidelines/colors/colors.module').then(m => m.ColorsModule), + data: { + title: 'Colors', + }, + }, + { + path: 'grid', + loadChildren: (): Promise => import('./guidelines/grid/grid.module').then(m => m.GridModule), + data: { + title: 'Grid', + }, }, ], }, @@ -103,22 +125,6 @@ export const ROUTES: Routes = [ title: 'Generate example', }, }, - { - path: 'contributing', - loadChildren: (): Promise => - import('./documentation/contributing/contributing.module').then(i => i.ContributingModule), - data: { - title: 'Contributing', - }, - }, - { - path: 'codestyle', - loadChildren: (): Promise => - import('./documentation/codestyle/codestyle.module').then(i => i.CodestyleModule), - data: { - title: 'CodeStyle', - }, - }, // COMPONENTS { path: 'components/dropdowns/dropdown-host', diff --git a/apps/doc/src/app/documentation/about/about.module.ts b/apps/doc/src/app/documentation/about/about.module.ts new file mode 100644 index 0000000000..1e4ab0accd --- /dev/null +++ b/apps/doc/src/app/documentation/about/about.module.ts @@ -0,0 +1,9 @@ +import { NgModule } from '@angular/core'; +import { AboutComponent } from './about.component'; + +@NgModule({ + exports: [AboutComponent], + declarations: [AboutComponent], + imports: [], +}) +export class AboutModule {} diff --git a/apps/doc/src/app/how-to-start/migration/migration.component.html b/apps/doc/src/app/forZIIoT/migration/migration.component.html similarity index 88% rename from apps/doc/src/app/how-to-start/migration/migration.component.html rename to apps/doc/src/app/forZIIoT/migration/migration.component.html index b31c9857b6..5ad6497518 100644 --- a/apps/doc/src/app/how-to-start/migration/migration.component.html +++ b/apps/doc/src/app/forZIIoT/migration/migration.component.html @@ -1,4 +1,4 @@ - - We later add migration guides from previous ui library to Prizm.
    - Please wait for a while. -
    + + We later add migration guides from previous ui library to Prizm.
    + Please wait for a while. +
    \ No newline at end of file diff --git a/apps/doc/src/app/how-to-start/migration/migration.component.less b/apps/doc/src/app/forZIIoT/migration/migration.component.less similarity index 100% rename from apps/doc/src/app/how-to-start/migration/migration.component.less rename to apps/doc/src/app/forZIIoT/migration/migration.component.less diff --git a/apps/doc/src/app/how-to-start/migration/migration.component.spec.ts b/apps/doc/src/app/forZIIoT/migration/migration.component.spec.ts similarity index 100% rename from apps/doc/src/app/how-to-start/migration/migration.component.spec.ts rename to apps/doc/src/app/forZIIoT/migration/migration.component.spec.ts diff --git a/apps/doc/src/app/how-to-start/migration/migration.component.ts b/apps/doc/src/app/forZIIoT/migration/migration.component.ts similarity index 72% rename from apps/doc/src/app/how-to-start/migration/migration.component.ts rename to apps/doc/src/app/forZIIoT/migration/migration.component.ts index 49431ffb24..e832a40087 100644 --- a/apps/doc/src/app/how-to-start/migration/migration.component.ts +++ b/apps/doc/src/app/forZIIoT/migration/migration.component.ts @@ -1,9 +1,9 @@ -import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-migration', - templateUrl: './migration.component.html', - styleUrls: ['./migration.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class MigrationComponent {} +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-migration', + templateUrl: './migration.component.html', + styleUrls: ['./migration.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class MigrationComponent {} diff --git a/apps/doc/src/app/forZIIoT/migration/migration.module.ts b/apps/doc/src/app/forZIIoT/migration/migration.module.ts new file mode 100644 index 0000000000..de1e0e12f0 --- /dev/null +++ b/apps/doc/src/app/forZIIoT/migration/migration.module.ts @@ -0,0 +1,14 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { MigrationComponent } from './migration.component'; + +@NgModule({ + exports: [MigrationComponent], + declarations: [MigrationComponent], + imports: [ + PrizmAddonDocModule, + RouterModule.forChild(prizmDocGenerateRoutes(MigrationComponent)), + ], +}) +export class MigrationModule {} \ No newline at end of file diff --git a/apps/doc/src/app/how-to-start/for-designers/for-designers.component.html b/apps/doc/src/app/how-to-start/for-designers/for-designers.component.html deleted file mode 100644 index 94415df161..0000000000 --- a/apps/doc/src/app/how-to-start/for-designers/for-designers.component.html +++ /dev/null @@ -1 +0,0 @@ -

    for-designers works!

    diff --git a/apps/doc/src/app/how-to-start/for-designers/for-designers.component.less b/apps/doc/src/app/how-to-start/for-designers/for-designers.component.less deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/doc/src/app/how-to-start/for-designers/for-designers.component.spec.ts b/apps/doc/src/app/how-to-start/for-designers/for-designers.component.spec.ts deleted file mode 100644 index d91ae61e52..0000000000 --- a/apps/doc/src/app/how-to-start/for-designers/for-designers.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ForDesignersComponent } from './for-designers.component'; - -describe('ForDesignersComponent', () => { - let component: ForDesignersComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ForDesignersComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ForDesignersComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/apps/doc/src/app/how-to-start/for-designers/for-designers.component.ts b/apps/doc/src/app/how-to-start/for-designers/for-designers.component.ts deleted file mode 100644 index ceb5e1630c..0000000000 --- a/apps/doc/src/app/how-to-start/for-designers/for-designers.component.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-for-designers', - templateUrl: './for-designers.component.html', - styleUrls: ['./for-designers.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class ForDesignersComponent {} diff --git a/apps/doc/src/app/how-to-start/for-developers/for-developers.component.html b/apps/doc/src/app/how-to-start/for-developers/for-developers.component.html deleted file mode 100644 index b6afcb9230..0000000000 --- a/apps/doc/src/app/how-to-start/for-developers/for-developers.component.html +++ /dev/null @@ -1 +0,0 @@ -

    for-developers works!

    diff --git a/apps/doc/src/app/how-to-start/for-developers/for-developers.component.less b/apps/doc/src/app/how-to-start/for-developers/for-developers.component.less deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/apps/doc/src/app/how-to-start/for-developers/for-developers.component.ts b/apps/doc/src/app/how-to-start/for-developers/for-developers.component.ts deleted file mode 100644 index 9f73be9621..0000000000 --- a/apps/doc/src/app/how-to-start/for-developers/for-developers.component.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-for-developers', - templateUrl: './for-developers.component.html', - styleUrls: ['./for-developers.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class ForDevelopersComponent {} diff --git a/apps/doc/src/app/documentation/codestyle/codestyle.component.html b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html similarity index 97% rename from apps/doc/src/app/documentation/codestyle/codestyle.component.html rename to apps/doc/src/app/how-to-work/codestyle/codestyle.component.html index 815e4b922c..b2184f1eaa 100644 --- a/apps/doc/src/app/documentation/codestyle/codestyle.component.html +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html @@ -1,3 +1,3 @@ - - - + + + diff --git a/apps/doc/src/app/documentation/codestyle/codestyle.component.less b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less similarity index 94% rename from apps/doc/src/app/documentation/codestyle/codestyle.component.less rename to apps/doc/src/app/how-to-work/codestyle/codestyle.component.less index 7c3cd2e8cd..0c148a8180 100644 --- a/apps/doc/src/app/documentation/codestyle/codestyle.component.less +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less @@ -1,88 +1,88 @@ -/* stylelint-disable selector-type-no-unknown */ -markdown { - & > :nth-child(1), - & > :nth-child(2) { - display: none; - } - - > * { - margin-left: 1.25rem; - } - - & a { - text-decoration: none; - color: var(--prizm-link); - - &:hover, - &:active { - color: var(--prizm-link-hover); - } - } - - & h2 { - font-size: 2em; - padding-bottom: 0.5em; - margin-left: 0; - margin-top: 4rem; - border-bottom: 1px solid var(--prizm-base-03); - } - - & h3 { - text-transform: uppercase; - font-weight: normal; - font-size: 1.5rem; - margin: 1rem 0; - } - - & h3:not([id^='feat']):not([id^='bug']):not([id^='deprecations']) { - font-size: 1.75rem; - padding-bottom: 0.5em; - margin: 2rem 0 0 0; - border-bottom: 1px solid var(--prizm-base-03); - } - - & h3[id^='breaking'] { - margin-left: 1.25rem; - color: var(--prizm-error-fill); - } - - & code { - color: #d45d8c; - } - - & h3[id^='feat']:before { - content: '🚀'; - } - - & h3[id^='bug']:before { - content: '🐞'; - } - - & h3[id^='deprecations']:before { - content: '⚠️'; - } - - & h3[id^='feat']:before, - & h3[id^='bug']:before, - & h3[id^='deprecations']:before { - margin-right: 0.5rem; - } - - & li { - position: relative; - padding-left: 1.5rem; - word-wrap: break-word; - margin-top: 0.75rem; - - &:before { - content: ''; - position: absolute; - left: 0; - top: 0.5rem; - width: 0.5rem; - height: 0.5rem; - border-radius: 100%; - background-color: var(--prizm-index-plan); - } - } -} +/* stylelint-disable selector-type-no-unknown */ +markdown { + & > :nth-child(1), + & > :nth-child(2) { + display: none; + } + + > * { + margin-left: 1.25rem; + } + + & a { + text-decoration: none; + color: var(--prizm-link); + + &:hover, + &:active { + color: var(--prizm-link-hover); + } + } + + & h2 { + font-size: 2em; + padding-bottom: 0.5em; + margin-left: 0; + margin-top: 4rem; + border-bottom: 1px solid var(--prizm-base-03); + } + + & h3 { + text-transform: uppercase; + font-weight: normal; + font-size: 1.5rem; + margin: 1rem 0; + } + + & h3:not([id^='feat']):not([id^='bug']):not([id^='deprecations']) { + font-size: 1.75rem; + padding-bottom: 0.5em; + margin: 2rem 0 0 0; + border-bottom: 1px solid var(--prizm-base-03); + } + + & h3[id^='breaking'] { + margin-left: 1.25rem; + color: var(--prizm-error-fill); + } + + & code { + color: #d45d8c; + } + + & h3[id^='feat']:before { + content: '🚀'; + } + + & h3[id^='bug']:before { + content: '🐞'; + } + + & h3[id^='deprecations']:before { + content: '⚠️'; + } + + & h3[id^='feat']:before, + & h3[id^='bug']:before, + & h3[id^='deprecations']:before { + margin-right: 0.5rem; + } + + & li { + position: relative; + padding-left: 1.5rem; + word-wrap: break-word; + margin-top: 0.75rem; + + &:before { + content: ''; + position: absolute; + left: 0; + top: 0.5rem; + width: 0.5rem; + height: 0.5rem; + border-radius: 100%; + background-color: var(--prizm-index-plan); + } + } +} diff --git a/apps/doc/src/app/documentation/codestyle/codestyle.component.ts b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.ts similarity index 97% rename from apps/doc/src/app/documentation/codestyle/codestyle.component.ts rename to apps/doc/src/app/how-to-work/codestyle/codestyle.component.ts index 715818611b..1ba36ad603 100644 --- a/apps/doc/src/app/documentation/codestyle/codestyle.component.ts +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.ts @@ -1,15 +1,15 @@ -import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; -import { of } from 'rxjs'; -import { switchMap } from 'rxjs/operators'; -import { prizmRawLoad } from '@prizm-ui/doc'; - -@Component({ - selector: `prizm-codestyle`, - templateUrl: `codestyle.component.html`, - styleUrls: [`./codestyle.component.less`], - encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class CodestyleComponent { - readonly text = of(import(`../../../../../../CODESTYLE.md?raw`)).pipe(switchMap(prizmRawLoad)); -} +import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; +import { of } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; +import { prizmRawLoad } from '@prizm-ui/doc'; + +@Component({ + selector: `prizm-codestyle`, + templateUrl: `codestyle.component.html`, + styleUrls: [`./codestyle.component.less`], + encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class CodestyleComponent { + readonly text = of(import(`../../../../../../CODESTYLE.md?raw`)).pipe(switchMap(prizmRawLoad)); +} diff --git a/apps/doc/src/app/documentation/codestyle/codestyle.module.ts b/apps/doc/src/app/how-to-work/codestyle/codestyle.module.ts similarity index 97% rename from apps/doc/src/app/documentation/codestyle/codestyle.module.ts rename to apps/doc/src/app/how-to-work/codestyle/codestyle.module.ts index 36b6edcd08..43a586a9d4 100644 --- a/apps/doc/src/app/documentation/codestyle/codestyle.module.ts +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.module.ts @@ -1,18 +1,18 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { prizmDocGenerateRoutes, PrizmAddonDocModule } from '@prizm-ui/doc'; -import { MarkdownModule } from 'ngx-markdown'; -import { CodestyleComponent } from './codestyle.component'; - -@NgModule({ - imports: [ - CommonModule, - MarkdownModule, - PrizmAddonDocModule, - RouterModule.forChild(prizmDocGenerateRoutes(CodestyleComponent)), - ], - declarations: [CodestyleComponent], - exports: [CodestyleComponent], -}) -export class CodestyleModule {} +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { prizmDocGenerateRoutes, PrizmAddonDocModule } from '@prizm-ui/doc'; +import { MarkdownModule } from 'ngx-markdown'; +import { CodestyleComponent } from './codestyle.component'; + +@NgModule({ + imports: [ + CommonModule, + MarkdownModule, + PrizmAddonDocModule, + RouterModule.forChild(prizmDocGenerateRoutes(CodestyleComponent)), + ], + declarations: [CodestyleComponent], + exports: [CodestyleComponent], +}) +export class CodestyleModule {} diff --git a/apps/doc/src/app/documentation/contributing/contributing.component.html b/apps/doc/src/app/how-to-work/contributing/contributing.component.html similarity index 97% rename from apps/doc/src/app/documentation/contributing/contributing.component.html rename to apps/doc/src/app/how-to-work/contributing/contributing.component.html index cc58925ce7..240369126c 100644 --- a/apps/doc/src/app/documentation/contributing/contributing.component.html +++ b/apps/doc/src/app/how-to-work/contributing/contributing.component.html @@ -1,3 +1,3 @@ - - - + + + diff --git a/apps/doc/src/app/documentation/contributing/contributing.component.less b/apps/doc/src/app/how-to-work/contributing/contributing.component.less similarity index 94% rename from apps/doc/src/app/documentation/contributing/contributing.component.less rename to apps/doc/src/app/how-to-work/contributing/contributing.component.less index 7c3cd2e8cd..0c148a8180 100644 --- a/apps/doc/src/app/documentation/contributing/contributing.component.less +++ b/apps/doc/src/app/how-to-work/contributing/contributing.component.less @@ -1,88 +1,88 @@ -/* stylelint-disable selector-type-no-unknown */ -markdown { - & > :nth-child(1), - & > :nth-child(2) { - display: none; - } - - > * { - margin-left: 1.25rem; - } - - & a { - text-decoration: none; - color: var(--prizm-link); - - &:hover, - &:active { - color: var(--prizm-link-hover); - } - } - - & h2 { - font-size: 2em; - padding-bottom: 0.5em; - margin-left: 0; - margin-top: 4rem; - border-bottom: 1px solid var(--prizm-base-03); - } - - & h3 { - text-transform: uppercase; - font-weight: normal; - font-size: 1.5rem; - margin: 1rem 0; - } - - & h3:not([id^='feat']):not([id^='bug']):not([id^='deprecations']) { - font-size: 1.75rem; - padding-bottom: 0.5em; - margin: 2rem 0 0 0; - border-bottom: 1px solid var(--prizm-base-03); - } - - & h3[id^='breaking'] { - margin-left: 1.25rem; - color: var(--prizm-error-fill); - } - - & code { - color: #d45d8c; - } - - & h3[id^='feat']:before { - content: '🚀'; - } - - & h3[id^='bug']:before { - content: '🐞'; - } - - & h3[id^='deprecations']:before { - content: '⚠️'; - } - - & h3[id^='feat']:before, - & h3[id^='bug']:before, - & h3[id^='deprecations']:before { - margin-right: 0.5rem; - } - - & li { - position: relative; - padding-left: 1.5rem; - word-wrap: break-word; - margin-top: 0.75rem; - - &:before { - content: ''; - position: absolute; - left: 0; - top: 0.5rem; - width: 0.5rem; - height: 0.5rem; - border-radius: 100%; - background-color: var(--prizm-index-plan); - } - } -} +/* stylelint-disable selector-type-no-unknown */ +markdown { + & > :nth-child(1), + & > :nth-child(2) { + display: none; + } + + > * { + margin-left: 1.25rem; + } + + & a { + text-decoration: none; + color: var(--prizm-link); + + &:hover, + &:active { + color: var(--prizm-link-hover); + } + } + + & h2 { + font-size: 2em; + padding-bottom: 0.5em; + margin-left: 0; + margin-top: 4rem; + border-bottom: 1px solid var(--prizm-base-03); + } + + & h3 { + text-transform: uppercase; + font-weight: normal; + font-size: 1.5rem; + margin: 1rem 0; + } + + & h3:not([id^='feat']):not([id^='bug']):not([id^='deprecations']) { + font-size: 1.75rem; + padding-bottom: 0.5em; + margin: 2rem 0 0 0; + border-bottom: 1px solid var(--prizm-base-03); + } + + & h3[id^='breaking'] { + margin-left: 1.25rem; + color: var(--prizm-error-fill); + } + + & code { + color: #d45d8c; + } + + & h3[id^='feat']:before { + content: '🚀'; + } + + & h3[id^='bug']:before { + content: '🐞'; + } + + & h3[id^='deprecations']:before { + content: '⚠️'; + } + + & h3[id^='feat']:before, + & h3[id^='bug']:before, + & h3[id^='deprecations']:before { + margin-right: 0.5rem; + } + + & li { + position: relative; + padding-left: 1.5rem; + word-wrap: break-word; + margin-top: 0.75rem; + + &:before { + content: ''; + position: absolute; + left: 0; + top: 0.5rem; + width: 0.5rem; + height: 0.5rem; + border-radius: 100%; + background-color: var(--prizm-index-plan); + } + } +} diff --git a/apps/doc/src/app/documentation/contributing/contributing.component.ts b/apps/doc/src/app/how-to-work/contributing/contributing.component.ts similarity index 97% rename from apps/doc/src/app/documentation/contributing/contributing.component.ts rename to apps/doc/src/app/how-to-work/contributing/contributing.component.ts index 964a6a9ed5..b5d88b24c1 100644 --- a/apps/doc/src/app/documentation/contributing/contributing.component.ts +++ b/apps/doc/src/app/how-to-work/contributing/contributing.component.ts @@ -1,15 +1,15 @@ -import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; -import { of } from 'rxjs'; -import { switchMap } from 'rxjs/operators'; -import { prizmRawLoad } from '@prizm-ui/doc'; - -@Component({ - selector: `prizm-codestyle`, - templateUrl: `contributing.component.html`, - styleUrls: [`./contributing.component.less`], - encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class ContributingComponent { - readonly text = of(import(`../../../../../../CONTRIBUTING.md?raw`)).pipe(switchMap(prizmRawLoad)); -} +import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; +import { of } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; +import { prizmRawLoad } from '@prizm-ui/doc'; + +@Component({ + selector: `prizm-codestyle`, + templateUrl: `contributing.component.html`, + styleUrls: [`./contributing.component.less`], + encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ContributingComponent { + readonly text = of(import(`../../../../../../CONTRIBUTING.md?raw`)).pipe(switchMap(prizmRawLoad)); +} diff --git a/apps/doc/src/app/documentation/contributing/contributing.module.ts b/apps/doc/src/app/how-to-work/contributing/contributing.module.ts similarity index 97% rename from apps/doc/src/app/documentation/contributing/contributing.module.ts rename to apps/doc/src/app/how-to-work/contributing/contributing.module.ts index bd00cd055c..b55473fc17 100644 --- a/apps/doc/src/app/documentation/contributing/contributing.module.ts +++ b/apps/doc/src/app/how-to-work/contributing/contributing.module.ts @@ -1,18 +1,18 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { MarkdownModule } from 'ngx-markdown'; -import { ContributingComponent } from './contributing.component'; - -@NgModule({ - imports: [ - CommonModule, - MarkdownModule, - PrizmAddonDocModule, - RouterModule.forChild(prizmDocGenerateRoutes(ContributingComponent)), - ], - declarations: [ContributingComponent], - exports: [ContributingComponent], -}) -export class ContributingModule {} +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { MarkdownModule } from 'ngx-markdown'; +import { ContributingComponent } from './contributing.component'; + +@NgModule({ + imports: [ + CommonModule, + MarkdownModule, + PrizmAddonDocModule, + RouterModule.forChild(prizmDocGenerateRoutes(ContributingComponent)), + ], + declarations: [ContributingComponent], + exports: [ContributingComponent], +}) +export class ContributingModule {} diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html new file mode 100644 index 0000000000..a158cc960d --- /dev/null +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html @@ -0,0 +1,74 @@ + +

    Default install:

    + +

    + You can easily install Prizm UI using Angular CLI by running the following command: +

    + + + +

    Manual install:

    +
    +

    + Required + > Install theme and core: +

    + + + +
    + +
    +

    + Optional + > Install helpers: +

    + + +
    + +
    +

    + Optional + > Install components: +

    + + +
    + +
    +

    + Optional + > Install charts library: +

    + + +
    + + + + +

    Add our styles to angular config:

    + +
    +

    Or you can add to your root styles.less

    + +
    +
    +
    + + + + +

    To use our icons as svg, please install our library

    + +

    + But if you want to use fonts not only as svg, and also as font, please add to your angular config +

    + + or you can only import to your root styles.less + +
    +
    +
    +
    diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less new file mode 100644 index 0000000000..a0589029dd --- /dev/null +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less @@ -0,0 +1,15 @@ +prizm-accordion { + margin-top: 16px; +} + +prizm-doc-code { + margin-bottom: 10px; +} + +.required { + color: var(--prizm-index-danger); +} + +.optional { + color: var(--prizm-index-warning); +} diff --git a/apps/doc/src/app/how-to-start/for-developers/for-developers.component.spec.ts b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.spec.ts similarity index 96% rename from apps/doc/src/app/how-to-start/for-developers/for-developers.component.spec.ts rename to apps/doc/src/app/how-to-work/for-developers/for-developers.component.spec.ts index 1ef024833c..1af2414120 100644 --- a/apps/doc/src/app/how-to-start/for-developers/for-developers.component.spec.ts +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ForDevelopersComponent } from './for-developers.component'; - -describe('ForDevelopersComponent', () => { - let component: ForDevelopersComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ForDevelopersComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ForDevelopersComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ForDevelopersComponent } from './for-developers.component'; + +describe('ForDevelopersComponent', () => { + let component: ForDevelopersComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ForDevelopersComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ForDevelopersComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.ts b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.ts new file mode 100644 index 0000000000..0c11ff38ee --- /dev/null +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.ts @@ -0,0 +1,42 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-for-developers', + templateUrl: './for-developers.component.html', + styleUrls: ['./for-developers.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ForDevelopersComponent { + public readonly joinSvgFonts = ` + "styles": [ + ... + "@prizm-ui/icons/base/src/styles/styles.less" + ],"; + `; + public readonly joinSvgFontsForImport = `@import "~@prizm-ui/icons/base/src/styles/styles.less"; + `; + public readonly updateAngularStylesFileCode = ` + // (Required) Add for use our theme + @import "~@prizm-ui/theme/src/styles/styles.less"; + // (Optional) Add only for use our components library + @import "~@prizm-ui/components/src/styles/styles.less"; + + // (Optional) Add only for use our old icon set (deprecated) + @import "~@prizm-ui/components/src/styles/icons/icons.less"; + @import "~@prizm-ui/components/src/styles/icons-16/icons-16.less"; + `; + public readonly updateAngularStylesCode = ` + "assets": [ + // .... + ], + "styles": [ + // (Required) Add for use our theme + "node_modules/@prizm-ui/theme/src/styles/styles.less", + // (Optional) Add for use our components + "node_modules/@prizm-ui/components/src/styles/styles.less", + // (Optional) Add only for use our old icon set (deprecated) + "node_modules/@prizm-ui/components/src/styles/icons/icons.less", + "node_modules/@prizm-ui/components/src/styles/icons-16/icons-16.less" + ], + `; +} diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.module.ts b/apps/doc/src/app/how-to-work/for-developers/for-developers.module.ts new file mode 100644 index 0000000000..924e62c8ab --- /dev/null +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAccordionModule } from '@prizm-ui/components'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { ForDevelopersComponent } from './for-developers.component'; + +@NgModule({ + exports: [ForDevelopersComponent], + declarations: [ForDevelopersComponent], + imports: [ + PrizmAddonDocModule, + PrizmAccordionModule, + RouterModule.forChild(prizmDocGenerateRoutes(ForDevelopersComponent)), + ], +}) +export class ForDevelopersModule {} diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index 41c97c5439..d6b796906f 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -12,8 +12,6 @@ export const pages: PrizmOrderedDocPage = [ section: SectionNameEnum.allAboutPrizm, title: `О дизайн-системе Prizm`, keywords: 'дизайн-система, дизайн, система, design system, design, system', - // link: 'http://prizm.zyfra.com/', - // target: '_blank', route: 'about-prizm/design-system', order: 1, }, @@ -24,65 +22,83 @@ export const pages: PrizmOrderedDocPage = [ route: 'about-prizm/license', order: 2, }, + + { + section: SectionNameEnum.allAboutPrizm, + title: 'Связь с командой Prizm', + keywords: 'Помощь, help, связь, contact', + route: 'about-prizm/contacts', + order: 4, + }, + { section: SectionNameEnum.allAboutPrizm, - title: 'Changelog', + title: 'Журнал изменений (changelog)', keywords: 'ченджлог, changelog', route: 'about-prizm/changelog', - order: 3, + order: 8, }, + //How to work { - section: SectionNameEnum.allAboutPrizm, - title: 'Связь с командой Prizm', - keywords: 'Помощь, help, связь, contact', - route: 'about-prizm/contacts', + section: SectionNameEnum.howToWork, + title: `Дизайнерам`, + keywords: 'дизайнеры, designers', + target: '_blank', + link: 'https://www.figma.com/community/file/1156311020501452261', + order: 10, + }, + { + section: SectionNameEnum.howToWork, + title: `Быстрый старт (разработчикам)`, + keywords: 'intro, how, to, start, guide, getting started, main, главная, начало, как, начать, инструкция', + route: 'how-to-work/for-developers', + order: 1, + }, + { + section: SectionNameEnum.howToWork, + title: 'Contributing', + keywords: 'contributing', + route: 'how-to-work/contributing', + order: 2, + }, + { + section: SectionNameEnum.howToWork, + title: 'CodeStyle', + keywords: 'code, codestyle', + route: 'how-to-work/codestyle', order: 4, }, + //For ZIIoT + { + section: SectionNameEnum.forZIIoT, + title: `Миграция`, + keywords: 'Миграция, migration', + route: 'forZIIoT/migration', + order: 3, + }, //Guidelines { section: SectionNameEnum.guidelines, title: `Типографика`, keywords: 'типографика, typography', route: 'guidelines/typography', - order: 5, + order: 1, }, { section: SectionNameEnum.guidelines, title: `Цвета`, keywords: 'цвета, colors', route: 'guidelines/colors', - order: 6, + order: 2, }, { section: SectionNameEnum.guidelines, title: `Сетки`, keywords: 'сетка, grid', route: 'guidelines/grid', - order: 7, - }, - //How to start - { - section: SectionNameEnum.howToStart, - title: `Дизайнерам`, - keywords: 'дизайнеры, designers', - target: '_blank', - link: 'https://www.figma.com/community/file/1156311020501452261', - order: 8, - }, - { - section: SectionNameEnum.howToStart, - title: `Разработчикам`, - keywords: 'intro, how, to, start, guide, getting started, main, главная, начало, как, начать, инструкция', - route: 'how-to-start/for-developers', - order: 9, - }, - { - section: SectionNameEnum.howToStart, - title: `Миграция`, - keywords: 'Миграция, migration', - route: 'how-to-start/migration', - order: 10, + order: 3, }, + // Documentation // { // section: SectionNameEnum.allAboutPrizm, @@ -91,20 +107,6 @@ export const pages: PrizmOrderedDocPage = [ // route: 'about', // order: 11, // }, - { - section: SectionNameEnum.allAboutPrizm, - title: 'Contributing', - keywords: 'contributing', - route: 'contributing', - order: 13, - }, - { - section: SectionNameEnum.allAboutPrizm, - title: 'CodeStyle', - keywords: 'code, codestyle', - route: 'codestyle', - order: 14, - }, // Components { section: SectionNameEnum.components, From 31718f67e739d6a6795cb20ab8420b41bd010dc9 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 3 Mar 2023 23:03:07 +0300 Subject: [PATCH 06/32] added page 'repositories' --- .../repositories/repositories.component.html | 92 +++++++++++++++++++ .../repositories/repositories.component.less | 28 ++++++ .../repositories.component.spec.ts | 25 +++++ .../repositories/repositories.component.ts | 9 ++ .../repositories/repositories.module.ts | 14 +++ apps/doc/src/app/app.module.ts | 1 - apps/doc/src/app/app.routes.ts | 8 ++ apps/doc/src/app/pages.ts | 9 +- 8 files changed, 183 insertions(+), 3 deletions(-) create mode 100644 apps/doc/src/app/about-prizm/repositories/repositories.component.html create mode 100644 apps/doc/src/app/about-prizm/repositories/repositories.component.less create mode 100644 apps/doc/src/app/about-prizm/repositories/repositories.component.spec.ts create mode 100644 apps/doc/src/app/about-prizm/repositories/repositories.component.ts create mode 100644 apps/doc/src/app/about-prizm/repositories/repositories.module.ts diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.html b/apps/doc/src/app/about-prizm/repositories/repositories.component.html new file mode 100644 index 0000000000..e77160fc66 --- /dev/null +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.html @@ -0,0 +1,92 @@ + +

    + Библиотеки дизайн-системы Prizm для разработчиков написаны на Angular и хранятся в репозиториях на GitHub + — в открытом доступе. +

    +
    +
    +

    Репозитории

    +
      +
    1. + http://github.com/zyfra/Prizm - репозиторий +
    2. +
    3. + https://gitlab.idp.yc.ziiot.ru/public-group/zui-sdk - репозиторий +
    4. +
    +
    + + +
    +

    Главные ссылки

    +
      +
    1. + prizm.zyfra.com – главная страница Prizm +
    2. +
    3. + doc.prizm.zyfra.com – витрина. Примеры работающих компонентов +
    4. +
    5. + github.com/zyfra/Prizm – репозиторий +
    6. +
    7. + Телеграм-канал с новостями и релизами +
    8. +
    9. + https://ziiot-dev-11.kube01.yc.ziiot.ru – внутренний полигон +
    10. +
    11. Figma: + Prizm design system +
        +
      1. Проект: — + Prizm design system +
      2. +
      +
    12. +
    +
    +
    +

    О релизах

    +

    https://github.com/zyfra/Prizm/releases – подпишитесь на страницу

    +
    +
    +
    + diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.less b/apps/doc/src/app/about-prizm/repositories/repositories.component.less new file mode 100644 index 0000000000..4759ffecf6 --- /dev/null +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.less @@ -0,0 +1,28 @@ +a { + color: rgb(0, 119, 255); +} + +.disc { + li { + list-style-type: disc; + } +} + +.table { + display: flex; + flex-wrap: wrap; + gap: 1rem; +} + +.cell { + border: 1px solid #aab8c6; + border-radius: 5px; + padding: 10px; + flex-basis: 100%; +} + +.halfSize { + flex-basis: 50%; + flex: 1 1 calc((100% / 2) - 2rem); +} + diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.spec.ts b/apps/doc/src/app/about-prizm/repositories/repositories.component.spec.ts new file mode 100644 index 0000000000..ada2a07e13 --- /dev/null +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RepositoriesComponent } from './repositories.component'; + +describe('RepositoriesComponent', () => { + let component: RepositoriesComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ RepositoriesComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(RepositoriesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.ts b/apps/doc/src/app/about-prizm/repositories/repositories.component.ts new file mode 100644 index 0000000000..6d5c6791f0 --- /dev/null +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.ts @@ -0,0 +1,9 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-repositories', + templateUrl: './repositories.component.html', + styleUrls: ['./repositories.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class RepositoriesComponent {} diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.module.ts b/apps/doc/src/app/about-prizm/repositories/repositories.module.ts new file mode 100644 index 0000000000..a298bcfca8 --- /dev/null +++ b/apps/doc/src/app/about-prizm/repositories/repositories.module.ts @@ -0,0 +1,14 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { RepositoriesComponent } from './repositories.component'; + +@NgModule({ + exports: [RepositoriesComponent], + declarations: [RepositoriesComponent], + imports: [ + PrizmAddonDocModule, + RouterModule.forChild(prizmDocGenerateRoutes(RepositoriesComponent)), + ], +}) +export class RepositoriesModule {} diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 5f5c83d0ab..fa1135c16d 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -30,7 +30,6 @@ import { PrizmThemeService } from '@prizm-ui/theme'; import { ContactsModule } from './about-prizm/contacts/contacts.module'; import { DesignSystemModule } from './about-prizm/design-system/design-system.module'; import { ForDevelopersModule } from './how-to-work/for-developers/for-developers.module'; -import { MigrationComponent } from './forZIIoT/migration/migration.component'; registerLocaleData(localeRu); @NgModule({ diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index 3e9ab84f97..ba6e01f3eb 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -13,6 +13,14 @@ export const ROUTES: Routes = [ title: 'License', }, }, + { + path: 'repositories', + loadChildren: (): Promise => + import('./about-prizm/repositories/repositories.module').then(m => m.RepositoriesModule), + data: { + title: 'Repositories', + }, + }, { path: 'changelog', loadChildren: (): Promise => diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index d6b796906f..f340493cf2 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -22,7 +22,13 @@ export const pages: PrizmOrderedDocPage = [ route: 'about-prizm/license', order: 2, }, - + { + section: SectionNameEnum.allAboutPrizm, + title: `Репозитории`, + keywords: 'репозитории, repositories', + route: 'about-prizm/repositories', + order: 3, + }, { section: SectionNameEnum.allAboutPrizm, title: 'Связь с командой Prizm', @@ -30,7 +36,6 @@ export const pages: PrizmOrderedDocPage = [ route: 'about-prizm/contacts', order: 4, }, - { section: SectionNameEnum.allAboutPrizm, title: 'Журнал изменений (changelog)', From f2601ba863f2396fde87705ad0cab44eda24fd05 Mon Sep 17 00:00:00 2001 From: Yakov Date: Sat, 4 Mar 2023 14:51:45 +0300 Subject: [PATCH 07/32] fix: getting-started component --- apps/doc/src/app/app.module.ts | 9 ++++----- apps/doc/src/app/app.routes.ts | 12 ++++++------ .../getting-started/getting-started.module.ts | 16 ++++++++++++++++ 3 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 apps/doc/src/app/documentation/getting-started/getting-started.module.ts diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index fa1135c16d..1c78a9da4a 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -30,6 +30,7 @@ import { PrizmThemeService } from '@prizm-ui/theme'; import { ContactsModule } from './about-prizm/contacts/contacts.module'; import { DesignSystemModule } from './about-prizm/design-system/design-system.module'; import { ForDevelopersModule } from './how-to-work/for-developers/for-developers.module'; +import { GettingStartedModule } from './documentation/getting-started/getting-started.module'; registerLocaleData(localeRu); @NgModule({ @@ -58,16 +59,14 @@ registerLocaleData(localeRu); PrizmAccordionModule, DesignSystemModule, ForDevelopersModule, + ContactsModule, + GettingStartedModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, }), - ContactsModule, - ], - declarations: [ - AppComponent, - GettingStartedComponent, ], + declarations: [AppComponent], providers: [{ provide: LOCALE_ID, useValue: 'ru-RU' }, ...APP_PROVIDERS], }) export class AppModule { diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index ba6e01f3eb..cb47bf9a17 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -32,7 +32,7 @@ export const ROUTES: Routes = [ { path: 'design-system', loadChildren: (): Promise => - import('./about-prizm/design-system/design-system.module').then(i => i.DesignSystemModule), + import('./about-prizm/design-system/design-system.module').then(i => i.DesignSystemModule), data: { title: 'About Design System', }, @@ -40,7 +40,7 @@ export const ROUTES: Routes = [ { path: 'contacts', loadChildren: (): Promise => - import('./about-prizm/contacts/contacts.module').then(i => i.ContactsModule), + import('./about-prizm/contacts/contacts.module').then(i => i.ContactsModule), data: { title: 'Contacts', }, @@ -54,7 +54,7 @@ export const ROUTES: Routes = [ { path: 'for-developers', loadChildren: (): Promise => - import('./how-to-work/for-developers/for-developers.module').then(i => i.ForDevelopersModule), + import('./how-to-work/for-developers/for-developers.module').then(i => i.ForDevelopersModule), data: { title: 'For developers', }, @@ -88,12 +88,12 @@ export const ROUTES: Routes = [ { path: 'migration', loadChildren: (): Promise => - import('./forZIIoT/migration/migration.module').then(i => i.MigrationModule), + import('./forZIIoT/migration/migration.module').then(i => i.MigrationModule), data: { title: 'Migration', }, }, - ] + ], }, //Guidelines { @@ -797,7 +797,7 @@ export const ROUTES: Routes = [ title: 'File upload', }, }, - { path: '**', redirectTo: 'how-to-start/' }, + { path: '**', redirectTo: 'how-to-work/' }, ]; @NgModule({ diff --git a/apps/doc/src/app/documentation/getting-started/getting-started.module.ts b/apps/doc/src/app/documentation/getting-started/getting-started.module.ts new file mode 100644 index 0000000000..024fcfc56b --- /dev/null +++ b/apps/doc/src/app/documentation/getting-started/getting-started.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAccordionModule } from '@prizm-ui/components'; +import { PrizmAddonDocModule, PrizmDocCodeModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { GettingStartedComponent } from './getting-started.component'; + +@NgModule({ + exports: [GettingStartedComponent], + declarations: [GettingStartedComponent], + imports: [ + PrizmAddonDocModule, + PrizmAccordionModule, + RouterModule.forChild(prizmDocGenerateRoutes(GettingStartedComponent)), + ], +}) +export class GettingStartedModule {} From 6ba0d9ca9b454d7d5f33fbd0f21d7a89b637c890 Mon Sep 17 00:00:00 2001 From: Yakov Date: Sat, 4 Mar 2023 15:00:47 +0300 Subject: [PATCH 08/32] build: delete page for for designers --- apps/doc/src/app/pages.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index f340493cf2..1a305dcd74 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -44,14 +44,6 @@ export const pages: PrizmOrderedDocPage = [ order: 8, }, //How to work - { - section: SectionNameEnum.howToWork, - title: `Дизайнерам`, - keywords: 'дизайнеры, designers', - target: '_blank', - link: 'https://www.figma.com/community/file/1156311020501452261', - order: 10, - }, { section: SectionNameEnum.howToWork, title: `Быстрый старт (разработчикам)`, From 8dbd7eaca1112493d20463d35dc1c7a88e97978f Mon Sep 17 00:00:00 2001 From: Yakov Date: Sat, 4 Mar 2023 15:39:22 +0300 Subject: [PATCH 09/32] build: added page release-policy --- .../release-policy.component.html | 3 +++ .../release-policy.component.less | 0 .../release-policy.component.spec.ts | 24 +++++++++++++++++ .../release-policy.component.ts | 9 +++++++ .../release-policy/release-policy.module.ts | 11 ++++++++ apps/doc/src/app/app.module.ts | 2 ++ apps/doc/src/app/app.routes.ts | 26 ++++++++++++------- apps/doc/src/app/pages.ts | 7 +++++ 8 files changed, 73 insertions(+), 9 deletions(-) create mode 100644 apps/doc/src/app/about-prizm/release-policy/release-policy.component.html create mode 100644 apps/doc/src/app/about-prizm/release-policy/release-policy.component.less create mode 100644 apps/doc/src/app/about-prizm/release-policy/release-policy.component.spec.ts create mode 100644 apps/doc/src/app/about-prizm/release-policy/release-policy.component.ts create mode 100644 apps/doc/src/app/about-prizm/release-policy/release-policy.module.ts diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html new file mode 100644 index 0000000000..fb42e956ab --- /dev/null +++ b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html @@ -0,0 +1,3 @@ + +

    Эта страница сейчас в работе

    +
    diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.less b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.less new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.spec.ts b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.spec.ts new file mode 100644 index 0000000000..7fffc42d15 --- /dev/null +++ b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ReleasePolicyComponent } from './release-policy.component'; + +describe('ReleasePolicyComponent', () => { + let component: ReleasePolicyComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ReleasePolicyComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ReleasePolicyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.ts b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.ts new file mode 100644 index 0000000000..8dc52e4d45 --- /dev/null +++ b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.ts @@ -0,0 +1,9 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-release-policy', + templateUrl: './release-policy.component.html', + styleUrls: ['./release-policy.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ReleasePolicyComponent {} diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.module.ts b/apps/doc/src/app/about-prizm/release-policy/release-policy.module.ts new file mode 100644 index 0000000000..94a11f8e5a --- /dev/null +++ b/apps/doc/src/app/about-prizm/release-policy/release-policy.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { ReleasePolicyComponent } from './release-policy.component'; + +@NgModule({ + exports: [ReleasePolicyComponent], + declarations: [ReleasePolicyComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(ReleasePolicyComponent))], +}) +export class ReleasePolicyModule {} diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 1c78a9da4a..8ede48b921 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -31,6 +31,7 @@ import { ContactsModule } from './about-prizm/contacts/contacts.module'; import { DesignSystemModule } from './about-prizm/design-system/design-system.module'; import { ForDevelopersModule } from './how-to-work/for-developers/for-developers.module'; import { GettingStartedModule } from './documentation/getting-started/getting-started.module'; +import { ReleasePolicyModule } from './about-prizm/release-policy/release-policy.module'; registerLocaleData(localeRu); @NgModule({ @@ -61,6 +62,7 @@ registerLocaleData(localeRu); ForDevelopersModule, ContactsModule, GettingStartedModule, + ReleasePolicyModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index cb47bf9a17..390cb3c664 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -5,6 +5,14 @@ export const ROUTES: Routes = [ { path: 'about-prizm', children: [ + { + path: 'design-system', + loadChildren: (): Promise => + import('./about-prizm/design-system/design-system.module').then(i => i.DesignSystemModule), + data: { + title: 'About Design System', + }, + }, { path: 'license', loadChildren: (): Promise => @@ -22,27 +30,27 @@ export const ROUTES: Routes = [ }, }, { - path: 'changelog', + path: 'contacts', loadChildren: (): Promise => - import('./about-prizm/changelog/changelog.module').then(i => i.ChangelogModule), + import('./about-prizm/contacts/contacts.module').then(i => i.ContactsModule), data: { - title: 'Changelog', + title: 'Contacts', }, }, { - path: 'design-system', + path: 'release-policy', loadChildren: (): Promise => - import('./about-prizm/design-system/design-system.module').then(i => i.DesignSystemModule), + import('./about-prizm/release-policy/release-policy.module').then(i => i.ReleasePolicyModule), data: { - title: 'About Design System', + title: 'Contacts', }, }, { - path: 'contacts', + path: 'changelog', loadChildren: (): Promise => - import('./about-prizm/contacts/contacts.module').then(i => i.ContactsModule), + import('./about-prizm/changelog/changelog.module').then(i => i.ChangelogModule), data: { - title: 'Contacts', + title: 'Changelog', }, }, ], diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index 1a305dcd74..6a0e2bd3e6 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -36,6 +36,13 @@ export const pages: PrizmOrderedDocPage = [ route: 'about-prizm/contacts', order: 4, }, + { + section: SectionNameEnum.allAboutPrizm, + title: 'Релизная политика', + keywords: 'релизная, политика, release, policy', + route: 'about-prizm/release-policy', + order: 5, + }, { section: SectionNameEnum.allAboutPrizm, title: 'Журнал изменений (changelog)', From e8671fd2c3dc5aef9e203e7b515c92effc4aacef Mon Sep 17 00:00:00 2001 From: Yakov Date: Sat, 4 Mar 2023 16:05:35 +0300 Subject: [PATCH 10/32] build: added page SLA --- .../service-level-agreement.component.html | 236 ++++++++++++++++++ .../service-level-agreement.component.less | 25 ++ .../service-level-agreement.component.spec.ts | 24 ++ .../service-level-agreement.component.ts | 206 +++++++++++++++ .../service-level-agreement.module.ts | 17 ++ apps/doc/src/app/app.module.ts | 2 + apps/doc/src/app/app.routes.ts | 10 + apps/doc/src/app/pages.ts | 7 + 8 files changed, 527 insertions(+) create mode 100644 apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html create mode 100644 apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less create mode 100644 apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.spec.ts create mode 100644 apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.ts create mode 100644 apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.module.ts diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html new file mode 100644 index 0000000000..1ed04cb68a --- /dev/null +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html @@ -0,0 +1,236 @@ + +

    Настоящее соглашение определяет политику взаимоотношений при использовании дизайн-системы Prizm.

    +

    Ссылки в скором времени будут актуализированы

    + +

    1. Лицензия

    +

    + Дизайн-система Prizm и часть* её зависимых компонентов распространяются под открытой + лицензией MIT, текст лицензионного соглашения дублируется непосредственно в самих + репозиториях. +

    +

    + * некоторые части дизайн-системы Prizm, например, картографический виджет, виджет управления + наряд-заказами и другие, могут лицензироваться самостоятельно и отсутствовать в публичном доступе. +

    + +

    2. Стратегия версионирования

    +

    2.1 Схема версионирования

    +

    + Во всех зависимых компонентах экосистемы Цифры применяется стратегия + [RFC] Prizm Версионирование. +

    +

    + Использование дополнительных постфиксов для предварительных релизов и сборок с мета-обозначениями + допускается, но сохранение в них обратной совместимости не гарантируется, поскольку эти версии не являются + конечными. +

    + +

    2.2 Жизненный цикл версий

    +

    + Основной фокус делается на поддержку и стабилизацию крайней major-версии, а пересмотр предложений, которые + потенциально нарушают обратную совместимость, допускается не чаще чем раз в полгода для отдельно взятого + компонента. Отчетный период начинается с даты последнего релиза. +

    + +

    2.3 Механизм оповещений

    +

    + 2.3.1 Для оперативного информирования о новых версиях ведется + канал в Telegram. +

    +

    + 2.3.2 Для получения сводной информации обо всех изменениях в программном коде рекомендуется использовать + механизм 🔗наблюдения за проектом. +

    +

    + 2.3.3 В случаях, когда сохранение обратной совместимости невозможно в силу наличия потенциальных + уязвимостей или серьезных проблем с производительностью применяется механизм 🔗 + deprecated. +

    + +

    2.4 История версий

    +

    Полная история изменений по всем версиям продуктов доступна на 🔗страницах с релизами.

    + +

    3. Доступность и поддержка

    +

    Направления, за которые отвечает команда Prizm:

    +
      +
    1. Исправление критических дефектов.
    2. +
    3. Стратегическое планирование.
    4. +
    5. + Поддержка и развитие информационных ресурсов +
        +
      1. Основной информационный ресурс
      2. +
      3. Витрина компонентов
      4. +
      5. + Библиотека компонентов в Figma Community +
      6. +
      7. Исходный код библиотеки компонентов
      8. +
      9. Информационный канал в Telegram
      10. +
      +
    6. +
    +

    + Задачи информационного наполнения, расширения функциональности и исправления незначительных дефектов мы + стараемся раздеделять с нашими контрибьюторами. +

    + +

    4. Системные ограничения

    +

    4.1 Браузеры

    +

    + Ориентируйтесь на то, что все основные компоненты дизайн-системы протестированы и корректно отображаются в + браузерах, которые поддерживает Angular. Это включает в себя следующие конкретные версии браузеров: +

    + + + + + + + + + + + + + + + + +
    БраузерПоддреживаемые версии
    {{ item.name }}{{ item.description }}
    + +

    4.2 Разрешения экранов

    +

    + Разрешение экранов, которые смело можно учитывать при проектировании интерфейсов для полноразмерных + устройств: 1280×720, 1366×768, 1440×900, 1920×1080. +

    + +

    5. Типы тикетов и порядок их заведения

    +

    + Дефекты, запросы на новую функциональность или вопросы оформляются в виде 🔗тикета на GitHub + или письмом на prizm@zyfra.com. +

    +

    Возможные типы тикетов:

    + + + + + + + + + + + + + + + + +
    Тип тикетаРасшифровка
    {{ item.name }}{{ item.description }}
    +

    + 🔗 + Рекомендации оформления + тикетов: +

    +
      +
    1. + При создании тикетов с типом bug необходимо использовать шаблон оформления баг-репорта (Bug report). +
    2. +
    3. + При создании тикетов с типами feature или improvement необходимо использовать шаблон запроса фичи или + улучшения (Feature request). +
    4. +
    + +

    6. Время реагирования

    +

    В течение 5 рабочих дней с момента появления нового тикета применяется следующий алгоритм:

    +
      +
    1. Если тикет понятен, и вопросов нет, ему присваивается тип и приоритет.
    2. +
    3. + Если для правильной категоризации тикета требуются уточнения (обсуждение происходит в комментариях), то + тип и приоритет присваиваются после получения ответов. +
    4. +
    + +

    6.1 Как определяется приоритет

    +

    На приоритет тикета влияют следующие факторы:

    +
      +
    1. + Потребность проектов Цифровой индустриальной платформы (совместное предприятие ГЦ «Цифра» и ПАО «Газпром + нефть»). +
    2. +
    3. Экспертное мнение команды дизайн-системы Prizm.
    4. +
    5. Популярность компонента в других системах
    6. +
    7. Подробное описание с понятными формулировками проблем или предложений.
    8. +
    9. Высокая активность пользователей.
    10. +
    + +

    7. Сроки реализации*

    +

    Сроки реализации тикетов зависят от категории и приоритета:

    +
      +
    1. + Если за реализацию берется команда Prizm, то сроки реализации будут соответствовать представленным в + таблице ниже. +
    2. +
    3. Если за реализацию берется внешняя команда, то сроки реализации могут отличаться.
    4. +
    5. + Если реализация задачи требует предварительного исследования или дизайна, то создается отдельная задача + с меткой research или design. +
    6. +
    + + + + + + + + + + + + + + + + + + +
    ПриоритетКатегорияРеализация
    {{ item.priority }}{{ item.name }}{{ item.description }}
    + +

    8. Актуализация бэклога

    +

    + Актуализация бэклога и пересмотр приоритетов всех тикетов происходит не более трёх раз в квартал. По + итогам пересмотра приоритет тикета может быть как поднят, так и понижен. +

    + +

    8.1 Причины закрытия тикетов

    +

    В рамках актуализации бэклога тикет может быть закрыт по следующим причинам:

    +
      +
    1. Дубликат.
    2. +
    3. Задача уже реализована.
    4. +
    5. Входит в другой тикет.
    6. +
    7. Задача потеряла актуальность.
    8. +
    9. Не получены ответы на уточняющие вопросы или неполное описание.
    10. +
    11. Обоснованный отказ команды Prizm.
    12. +
    + +

    9. Запросы на принятие изменений

    +

    + Изменения и доработки, предлагаемые контрибьютерами, 🔗оформляются в виде 🔗запросов на принятие изменений +

    +

    + При появлении нового PR/MR команда Prizm в течение двух рабочих дней проводит 🔗ревью + и, при отсутствии критичных замечаний, принимает PR/MR. +

    +

    + К мержу допускаются PR/MR, получившие не менее двух аппрувов. Изменения включаются в следующий релиз. + Релизы выпускаются раз в две недели. День недели будет определен похже опытным путём. +

    +
    diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less new file mode 100644 index 0000000000..50c944b544 --- /dev/null +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less @@ -0,0 +1,25 @@ +a { + color: rgb(0, 119, 255); +} + +.warning-agreement { + color: #ff6600; + font-style: italic; +} + +.addition { + color: #b1acb5; + font-style: italic; +} + +.disc { + li { + list-style-type: disc; + } +} + +.decimal { + li { + list-style-type: decimal; + } +} diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.spec.ts b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.spec.ts new file mode 100644 index 0000000000..c2168f4254 --- /dev/null +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ServiceLevelAgreementComponent } from './service-level-agreement.component'; + +describe('ServiceLevelAgreementComponent', () => { + let component: ServiceLevelAgreementComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ServiceLevelAgreementComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ServiceLevelAgreementComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.ts b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.ts new file mode 100644 index 0000000000..432c9900e6 --- /dev/null +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.ts @@ -0,0 +1,206 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +export interface ITableProduct { + name: string; + description: string; + priority: string | null; + children?: ITableProduct[]; +} + +@Component({ + selector: 'prizm-service-level-agreement', + templateUrl: './service-level-agreement.component.html', + styleUrls: ['./service-level-agreement.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ServiceLevelAgreementComponent { + public columns: string[] = ['code', 'name', 'description']; + + public labelTypes: ITableProduct[] = TABLE_LABEL_TYPES; + public browserVersions: ITableProduct[] = TABLE_BROWSER_VERSIONS; + public implementationTimeline: ITableProduct[] = TABLE_IMPLEMENTATION_TIMELINE; +} + +const TABLE_LABEL_TYPES: ITableProduct[] = [ + { + name: 'bug', + description: 'Дефект', + priority: null, + }, + { + name: 'design', + description: 'Задача на дизайн', + priority: null, + }, + { + name: 'docs', + description: 'Доработка или добавление документации', + priority: null, + }, + { + name: 'feature', + description: 'Новый функционал', + priority: null, + }, + { + name: 'improvement', + description: 'Улучшение', + priority: null, + }, + { + name: 'question', + description: 'Вопрос', + priority: null, + }, + { + name: 'research', + description: 'Исследование или анализ', + priority: null, + }, + { + name: 'test', + description: 'Задачи на тестирование или покрытие тестами', + priority: null, + }, + { + name: 'charts', + description: 'Задача относится к библиотеке графиков', + priority: null, + }, + { + name: 'widgets', + description: 'Задача относится к библиотеке виджетов', + priority: null, + }, + { + name: 'duplicate', + description: 'Дублирующаяся задача', + priority: null, + }, +]; + +const TABLE_BROWSER_VERSIONS: ITableProduct[] = [ + { + name: 'Chrome', + description: 'последняя и предыдущая стабильная версия', + priority: null, + }, + { + name: 'Firefox', + description: 'последняя и расширенная поддержка (ESR)', + priority: null, + }, + { + name: 'Edge', + description: '2 последние основные версии', + priority: null, + }, + { + name: 'Safari', + description: '2 последние основные версии', + priority: null, + }, + { + name: 'iOS', + description: '2 последние основные версии', + priority: null, + }, + { + name: 'android', + description: '2 последние основные версии', + priority: null, + }, +]; + +const TABLE_IMPLEMENTATION_TIMELINE: ITableProduct[] = [ + { + name: 'bug', + description: '10 рабочих дней', + priority: 'Высокий', + }, + { + name: 'feature', + description: '30 рабочих дней', + priority: 'Высокий', + }, + { + name: 'improvement', + description: '30 рабочих дней', + priority: 'Высокий', + }, + { + name: 'docs', + description: '30 рабочих дней', + priority: 'Высокий', + }, + { + name: 'design', + description: '30 рабочих дней', + priority: 'Высокий', + }, + { + name: 'question', + description: '3 рабочих дня', + priority: 'Высокий', + }, + { + name: 'bug', + description: '20 рабочих дней', + priority: 'Средний', + }, + { + name: 'feature', + description: '60 рабочих дней', + priority: 'Средний', + }, + { + name: 'improvement', + description: '60 рабочих дней', + priority: 'Средний', + }, + { + name: 'docs', + description: '60 рабочих дней', + priority: 'Средний', + }, + { + name: 'design', + description: '60 рабочих дней', + priority: 'Средний', + }, + { + name: 'question', + description: '5 рабочих дней', + priority: 'Средний', + }, + { + name: 'bug', + description: '3 месяца', + priority: 'Низкий', + }, + { + name: 'feature', + description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', + priority: 'Низкий', + }, + { + name: 'improvement', + description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', + priority: 'Низкий', + }, + { + name: 'docs', + description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', + priority: 'Низкий', + }, + { + name: 'design', + description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', + priority: 'Низкий', + }, + { + name: 'question', + description: '5 рабочих дней', + priority: 'Низкий', + }, +]; diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.module.ts b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.module.ts new file mode 100644 index 0000000000..9414b9cc25 --- /dev/null +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAccordionModule, PrizmTableModule } from '@prizm-ui/components'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { ServiceLevelAgreementComponent } from './service-level-agreement.component'; + +@NgModule({ + exports: [ServiceLevelAgreementComponent], + declarations: [ServiceLevelAgreementComponent], + imports: [ + PrizmAddonDocModule, + PrizmTableModule, + PrizmAccordionModule, + RouterModule.forChild(prizmDocGenerateRoutes(ServiceLevelAgreementComponent)), + ], +}) +export class ServiceLevelAgreementModule {} diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 8ede48b921..806536ca42 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -32,6 +32,7 @@ import { DesignSystemModule } from './about-prizm/design-system/design-system.mo import { ForDevelopersModule } from './how-to-work/for-developers/for-developers.module'; import { GettingStartedModule } from './documentation/getting-started/getting-started.module'; import { ReleasePolicyModule } from './about-prizm/release-policy/release-policy.module'; +import { ServiceLevelAgreementModule } from './about-prizm/service-level-agreement/service-level-agreement.module'; registerLocaleData(localeRu); @NgModule({ @@ -63,6 +64,7 @@ registerLocaleData(localeRu); ContactsModule, GettingStartedModule, ReleasePolicyModule, + ServiceLevelAgreementModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index 390cb3c664..a79c5bbd0f 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -45,6 +45,16 @@ export const ROUTES: Routes = [ title: 'Contacts', }, }, + { + path: 'service-level-agreement', + loadChildren: (): Promise => + import('./about-prizm/service-level-agreement/service-level-agreement.module').then( + i => i.ServiceLevelAgreementModule + ), + data: { + title: 'Contacts', + }, + }, { path: 'changelog', loadChildren: (): Promise => diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index 6a0e2bd3e6..2288bfecfb 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -43,6 +43,13 @@ export const pages: PrizmOrderedDocPage = [ route: 'about-prizm/release-policy', order: 5, }, + { + section: SectionNameEnum.allAboutPrizm, + title: 'Соглашение об уровне услуг (SLA)', + keywords: 'соглашение, уровень, услуга, service, level, agreement, sla', + route: 'about-prizm/service-level-agreement', + order: 6, + }, { section: SectionNameEnum.allAboutPrizm, title: 'Журнал изменений (changelog)', From f2571271b985c5895204e76398a969e2cff335f5 Mon Sep 17 00:00:00 2001 From: Yakov Date: Sat, 4 Mar 2023 16:34:12 +0300 Subject: [PATCH 11/32] build: added page Roadmap --- .../roadmap/roadmap.component.html | 6 +++++ .../roadmap/roadmap.component.less | 3 +++ .../roadmap/roadmap.component.spec.ts | 24 +++++++++++++++++++ .../about-prizm/roadmap/roadmap.component.ts | 9 +++++++ .../app/about-prizm/roadmap/roadmap.module.ts | 11 +++++++++ apps/doc/src/app/app.module.ts | 2 ++ apps/doc/src/app/app.routes.ts | 12 ++++++++-- apps/doc/src/app/pages.ts | 7 ++++++ 8 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 apps/doc/src/app/about-prizm/roadmap/roadmap.component.html create mode 100644 apps/doc/src/app/about-prizm/roadmap/roadmap.component.less create mode 100644 apps/doc/src/app/about-prizm/roadmap/roadmap.component.spec.ts create mode 100644 apps/doc/src/app/about-prizm/roadmap/roadmap.component.ts create mode 100644 apps/doc/src/app/about-prizm/roadmap/roadmap.module.ts diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html new file mode 100644 index 0000000000..279dcfa5b6 --- /dev/null +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html @@ -0,0 +1,6 @@ + +

    + Сейчас мы работаем над интеграцией github и jira. После завершения работы в GitHub будет доступна дорожная + карта по этой ссылке. +

    +
    diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less new file mode 100644 index 0000000000..79ab412c3a --- /dev/null +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less @@ -0,0 +1,3 @@ +a { + color: rgb(0, 119, 255); +} diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.spec.ts b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.spec.ts new file mode 100644 index 0000000000..49c6d65973 --- /dev/null +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RoadmapComponent } from './roadmap.component'; + +describe('RoadmapComponent', () => { + let component: RoadmapComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [RoadmapComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(RoadmapComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.ts b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.ts new file mode 100644 index 0000000000..44ebe784a2 --- /dev/null +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.ts @@ -0,0 +1,9 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-roadmap', + templateUrl: './roadmap.component.html', + styleUrls: ['./roadmap.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class RoadmapComponent {} diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.module.ts b/apps/doc/src/app/about-prizm/roadmap/roadmap.module.ts new file mode 100644 index 0000000000..e7c3f32749 --- /dev/null +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { RoadmapComponent } from './roadmap.component'; + +@NgModule({ + exports: [RoadmapComponent], + declarations: [RoadmapComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(RoadmapComponent))], +}) +export class RoadmapModule {} diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 806536ca42..b9bf119f02 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -33,6 +33,7 @@ import { ForDevelopersModule } from './how-to-work/for-developers/for-developers import { GettingStartedModule } from './documentation/getting-started/getting-started.module'; import { ReleasePolicyModule } from './about-prizm/release-policy/release-policy.module'; import { ServiceLevelAgreementModule } from './about-prizm/service-level-agreement/service-level-agreement.module'; +import { RoadmapModule } from './about-prizm/roadmap/roadmap.module'; registerLocaleData(localeRu); @NgModule({ @@ -65,6 +66,7 @@ registerLocaleData(localeRu); GettingStartedModule, ReleasePolicyModule, ServiceLevelAgreementModule, + RoadmapModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index a79c5bbd0f..dffe97d98f 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -42,7 +42,7 @@ export const ROUTES: Routes = [ loadChildren: (): Promise => import('./about-prizm/release-policy/release-policy.module').then(i => i.ReleasePolicyModule), data: { - title: 'Contacts', + title: 'Release policy', }, }, { @@ -52,7 +52,15 @@ export const ROUTES: Routes = [ i => i.ServiceLevelAgreementModule ), data: { - title: 'Contacts', + title: 'Service level agreement', + }, + }, + { + path: 'roadmap', + loadChildren: (): Promise => + import('./about-prizm/roadmap/roadmap.module').then(i => i.RoadmapModule), + data: { + title: 'Roadmap', }, }, { diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index 2288bfecfb..8a31b70eb6 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -50,6 +50,13 @@ export const pages: PrizmOrderedDocPage = [ route: 'about-prizm/service-level-agreement', order: 6, }, + { + section: SectionNameEnum.allAboutPrizm, + title: 'Дорожная карта и задачи', + keywords: 'дорожная, карта, задачи, roadmap, tasks', + route: 'about-prizm/roadmap', + order: 7, + }, { section: SectionNameEnum.allAboutPrizm, title: 'Журнал изменений (changelog)', From c7699895e33e6f2569f5dcbb9dc8c29ed2dd96b2 Mon Sep 17 00:00:00 2001 From: Yakov Date: Sat, 4 Mar 2023 16:45:12 +0300 Subject: [PATCH 12/32] build: added page Technology list --- .../technology-list.component.html | 3 +++ .../technology-list.component.less | 0 .../technology-list.component.spec.ts | 24 +++++++++++++++++++ .../technology-list.component.ts | 9 +++++++ .../technology-list/technology-list.module.ts | 11 +++++++++ apps/doc/src/app/app.module.ts | 3 +++ apps/doc/src/app/app.routes.ts | 8 +++++++ apps/doc/src/app/pages.ts | 7 ++++++ 8 files changed, 65 insertions(+) create mode 100644 apps/doc/src/app/about-prizm/technology-list/technology-list.component.html create mode 100644 apps/doc/src/app/about-prizm/technology-list/technology-list.component.less create mode 100644 apps/doc/src/app/about-prizm/technology-list/technology-list.component.spec.ts create mode 100644 apps/doc/src/app/about-prizm/technology-list/technology-list.component.ts create mode 100644 apps/doc/src/app/about-prizm/technology-list/technology-list.module.ts diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html new file mode 100644 index 0000000000..8cf7875a9a --- /dev/null +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html @@ -0,0 +1,3 @@ + +

    Эта страница сейчас в работе

    +
    diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.spec.ts b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.spec.ts new file mode 100644 index 0000000000..a843609d99 --- /dev/null +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TechnologyListComponent } from './technology-list.component'; + +describe('TechnologyListComponent', () => { + let component: TechnologyListComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [TechnologyListComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(TechnologyListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.ts b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.ts new file mode 100644 index 0000000000..13d314b1e0 --- /dev/null +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.ts @@ -0,0 +1,9 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-technology-list', + templateUrl: './technology-list.component.html', + styleUrls: ['./technology-list.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class TechnologyListComponent {} diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.module.ts b/apps/doc/src/app/about-prizm/technology-list/technology-list.module.ts new file mode 100644 index 0000000000..eea84a5747 --- /dev/null +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { TechnologyListComponent } from './technology-list.component'; + +@NgModule({ + exports: [TechnologyListComponent], + declarations: [TechnologyListComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(TechnologyListComponent))], +}) +export class TechnologyListModule {} diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index b9bf119f02..77c3daa947 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -34,6 +34,8 @@ import { GettingStartedModule } from './documentation/getting-started/getting-st import { ReleasePolicyModule } from './about-prizm/release-policy/release-policy.module'; import { ServiceLevelAgreementModule } from './about-prizm/service-level-agreement/service-level-agreement.module'; import { RoadmapModule } from './about-prizm/roadmap/roadmap.module'; +import { TechnologyListComponent } from './about-prizm/technology-list/technology-list.component'; +import { TechnologyListModule } from './about-prizm/technology-list/technology-list.module'; registerLocaleData(localeRu); @NgModule({ @@ -67,6 +69,7 @@ registerLocaleData(localeRu); ReleasePolicyModule, ServiceLevelAgreementModule, RoadmapModule, + TechnologyListModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index dffe97d98f..f5d8255539 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -71,6 +71,14 @@ export const ROUTES: Routes = [ title: 'Changelog', }, }, + { + path: 'technology-list', + loadChildren: (): Promise => + import('./about-prizm/technology-list/technology-list.module').then(i => i.TechnologyListModule), + data: { + title: 'Technology list', + }, + }, ], }, //How to work diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index 8a31b70eb6..15cbb85da0 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -64,6 +64,13 @@ export const pages: PrizmOrderedDocPage = [ route: 'about-prizm/changelog', order: 8, }, + { + section: SectionNameEnum.allAboutPrizm, + title: 'Список технологий', + keywords: 'список, технология, technology, list', + route: 'about-prizm/technology-list', + order: 9, + }, //How to work { section: SectionNameEnum.howToWork, From f12492d25e23594bb0a70538f67b6e3eb4fece1d Mon Sep 17 00:00:00 2001 From: Yakov Date: Sat, 4 Mar 2023 17:18:22 +0300 Subject: [PATCH 13/32] build: added page Transition --- apps/doc/src/app/app.module.ts | 4 +- apps/doc/src/app/app.routes.ts | 8 ++ .../transition/transition.component.html | 81 +++++++++++++++++++ .../transition/transition.component.less | 9 +++ .../transition/transition.component.spec.ts | 24 ++++++ .../transition/transition.component.ts | 12 +++ .../transition/transition.module.ts | 11 +++ apps/doc/src/app/pages.ts | 11 ++- 8 files changed, 156 insertions(+), 4 deletions(-) create mode 100644 apps/doc/src/app/how-to-work/transition/transition.component.html create mode 100644 apps/doc/src/app/how-to-work/transition/transition.component.less create mode 100644 apps/doc/src/app/how-to-work/transition/transition.component.spec.ts create mode 100644 apps/doc/src/app/how-to-work/transition/transition.component.ts create mode 100644 apps/doc/src/app/how-to-work/transition/transition.module.ts diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 77c3daa947..d81dde79e6 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -1,7 +1,6 @@ import { LOCALE_ID, NgModule, SecurityContext } from '@angular/core'; import { PrizmAddonDocModule, PrizmDocMainModule } from '@prizm-ui/doc'; import { AppComponent } from './app.component'; -import { GettingStartedComponent } from './documentation/getting-started/getting-started.component'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutes } from './app.routes'; @@ -34,8 +33,8 @@ import { GettingStartedModule } from './documentation/getting-started/getting-st import { ReleasePolicyModule } from './about-prizm/release-policy/release-policy.module'; import { ServiceLevelAgreementModule } from './about-prizm/service-level-agreement/service-level-agreement.module'; import { RoadmapModule } from './about-prizm/roadmap/roadmap.module'; -import { TechnologyListComponent } from './about-prizm/technology-list/technology-list.component'; import { TechnologyListModule } from './about-prizm/technology-list/technology-list.module'; +import { TransitionModule } from './how-to-work/transition/transition.module'; registerLocaleData(localeRu); @NgModule({ @@ -70,6 +69,7 @@ registerLocaleData(localeRu); ServiceLevelAgreementModule, RoadmapModule, TechnologyListModule, + TransitionModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index f5d8255539..02a0c3a2af 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -93,6 +93,14 @@ export const ROUTES: Routes = [ title: 'For developers', }, }, + { + path: 'transition', + loadChildren: (): Promise => + import('./how-to-work/transition/transition.module').then(i => i.TransitionModule), + data: { + title: 'Transition', + }, + }, { path: 'contributing', loadChildren: (): Promise => diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.html b/apps/doc/src/app/how-to-work/transition/transition.component.html new file mode 100644 index 0000000000..f5c40518e6 --- /dev/null +++ b/apps/doc/src/app/how-to-work/transition/transition.component.html @@ -0,0 +1,81 @@ + +

    Подключите библиотеки

    + Как работать с Prizm (быстрый старт) + +

    Посмотрите, каких компонентов вам не хватает

    +

    + В дизайн-системе есть самые основные компоненты для разработки интерфейсов. Скорее всего, вам понадобится + несколько уникальных компонентов или доработок. Должно быть примерно так: +

    +
      +
    1. 80% — компоненты из дизайн-системы,
    2. +
    3. 20% — новые компоненты и доработки.
    4. +
    +

    + Посмотрите заранее, что уже есть, а что вам может понадобиться. Где смотреть: Статья «Репозитории» +

    +

    + Если что-то не нашлось, проверьте, может быть, задача на доработки, которые нужны вам, уже запланирована + или в работе. +

    +
      +
    1. + Дорожная карта и задачи +
        +
      1. + Со временем дорожная карта будет в GitHub: + ссылка +
      2. +
      3. + Доска и активный спринт +
      4. +
      5. + Бэклог спринтов и продукта +
      6. +
      7. + Песочница бэклога + Backlog. Stage III +
      8. +
      +
    2. +
    +

    + Если нужных компонентов нигде нет, что ж. Некоторые компоненты мы берём в работу, но что-то вам придётся + добавить самостоятельно. +

    + +

    Отправьте запрос на доработку дизайн-системы

    +

    Когда стоит это делать

    +
      +
    1. Вы нашли ошибку в работе наших компонентов.
    2. +
    3. Ваша доработка или улучшение компонента будет полезна многим.
    4. +
    5. + Новый компонент часто используется в проектировании интерфейсов (во всех дизайн-системах есть, а у нас + нет). +
    6. +
    +

    Как отправить запрос на доработку

    +

    + Статья «Связь с командой Prizm» (Confluence) / Связаться с командой ответит + на все вопросы. +

    + +

    Для контрибьюторов

    +

    + Статья «Связь с командой Prizm» (Confluence) / Сontributing (сайт) + ответит на все вопросы. +

    +
    diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.less b/apps/doc/src/app/how-to-work/transition/transition.component.less new file mode 100644 index 0000000000..4a5c830e98 --- /dev/null +++ b/apps/doc/src/app/how-to-work/transition/transition.component.less @@ -0,0 +1,9 @@ +a { + color: rgb(0, 119, 255); +} + +.disc { + li { + list-style-type: disc; + } +} diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.spec.ts b/apps/doc/src/app/how-to-work/transition/transition.component.spec.ts new file mode 100644 index 0000000000..ccace29fbe --- /dev/null +++ b/apps/doc/src/app/how-to-work/transition/transition.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TransitionComponent } from './transition.component'; + +describe('TransitionComponent', () => { + let component: TransitionComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [TransitionComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(TransitionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.ts b/apps/doc/src/app/how-to-work/transition/transition.component.ts new file mode 100644 index 0000000000..c290f75740 --- /dev/null +++ b/apps/doc/src/app/how-to-work/transition/transition.component.ts @@ -0,0 +1,12 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { environment } from 'apps/doc/src/environments/environment'; + +@Component({ + selector: 'prizm-transition', + templateUrl: './transition.component.html', + styleUrls: ['./transition.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class TransitionComponent { + public storybookBaseUrl = environment.storybookBaseUrl; +} diff --git a/apps/doc/src/app/how-to-work/transition/transition.module.ts b/apps/doc/src/app/how-to-work/transition/transition.module.ts new file mode 100644 index 0000000000..11a35a4afc --- /dev/null +++ b/apps/doc/src/app/how-to-work/transition/transition.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { TransitionComponent } from './transition.component'; + +@NgModule({ + exports: [TransitionComponent], + declarations: [TransitionComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(TransitionComponent))], +}) +export class TransitionModule {} diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index 15cbb85da0..e22a19d645 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -79,19 +79,26 @@ export const pages: PrizmOrderedDocPage = [ route: 'how-to-work/for-developers', order: 1, }, + { + section: SectionNameEnum.howToWork, + title: `Как перейти`, + keywords: 'переход, как, transition, how', + route: 'how-to-work/transition', + order: 2, + }, { section: SectionNameEnum.howToWork, title: 'Contributing', keywords: 'contributing', route: 'how-to-work/contributing', - order: 2, + order: 5, }, { section: SectionNameEnum.howToWork, title: 'CodeStyle', keywords: 'code, codestyle', route: 'how-to-work/codestyle', - order: 4, + order: 6, }, //For ZIIoT { From 2f496342154a81a05914d3fd0dba5f29125319d9 Mon Sep 17 00:00:00 2001 From: Yakov Date: Sat, 4 Mar 2023 18:12:55 +0300 Subject: [PATCH 14/32] build: added page Add component --- apps/doc/src/app/app.module.ts | 2 + apps/doc/src/app/app.routes.ts | 8 ++ .../add-component.component.html | 106 ++++++++++++++++++ .../add-component.component.less | 19 ++++ .../add-component.component.spec.ts | 24 ++++ .../add-component/add-component.component.ts | 12 ++ .../add-component/add-component.module.ts | 11 ++ apps/doc/src/app/pages.ts | 7 ++ 8 files changed, 189 insertions(+) create mode 100644 apps/doc/src/app/how-to-work/add-component/add-component.component.html create mode 100644 apps/doc/src/app/how-to-work/add-component/add-component.component.less create mode 100644 apps/doc/src/app/how-to-work/add-component/add-component.component.spec.ts create mode 100644 apps/doc/src/app/how-to-work/add-component/add-component.component.ts create mode 100644 apps/doc/src/app/how-to-work/add-component/add-component.module.ts diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index d81dde79e6..82e41ca8c8 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -35,6 +35,7 @@ import { ServiceLevelAgreementModule } from './about-prizm/service-level-agreeme import { RoadmapModule } from './about-prizm/roadmap/roadmap.module'; import { TechnologyListModule } from './about-prizm/technology-list/technology-list.module'; import { TransitionModule } from './how-to-work/transition/transition.module'; +import { AddComponentModule } from './how-to-work/add-component/add-component.module'; registerLocaleData(localeRu); @NgModule({ @@ -70,6 +71,7 @@ registerLocaleData(localeRu); RoadmapModule, TechnologyListModule, TransitionModule, + AddComponentModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index 02a0c3a2af..9800336057 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -101,6 +101,14 @@ export const ROUTES: Routes = [ title: 'Transition', }, }, + { + path: 'add-component', + loadChildren: (): Promise => + import('./how-to-work/add-component/add-component.module').then(i => i.AddComponentModule), + data: { + title: 'Add component', + }, + }, { path: 'contributing', loadChildren: (): Promise => diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.html b/apps/doc/src/app/how-to-work/add-component/add-component.component.html new file mode 100644 index 0000000000..38da2d2a02 --- /dev/null +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.html @@ -0,0 +1,106 @@ + +

    + Дизайн-система Prizm постоянно развивается, появляются новые компоненты. Вы можете внести свой вклад и + познакомить других участников со своими наработками, предложить добавить новый компонент. Отправьте нам + предложение, мы его рассмотрим и примем решение. +

    + +

    Зачем это нужно

    +

    + Только вместе можно сделать хорошо. Нет смысла ждать когда всё будет готово. К этому времени всё устареет. +

    + +

    Как отправить предложение

    +

    Это зависит от состояния, в котором находится новый компонент.

    +
      +
    1. Есть только идея — поставьте задачу.
    2. +
    3. Готов дизайн — отправьте ссылку на макет, в задаче или на почту.
    4. +
    5. Готов код компонента — отправьте PR.
    6. +
    +

    + Напишите нам. В статье «Способы связи с командой Prizm» (Confluence) / Связаться с командой есть + варианты как это сделать. +

    + +

    Кто разрабатывает новые компоненты

    +
      +
    1. Команда Prizm может взять разработку на себя.
    2. +
    3. Ваша команда может самостоятельно разработать компонент и передаёт его в Prizm.
    4. +
    +

    + Кто будет заниматься разработкой, договариваемся в процессе согласования — когда уже решено, что компонент + войдёт в дизайн-систему Prizm. Всё зависит от загрузки, приоритетов, востребованности. +

    + +

    Как проходит согласование

    +
      +
    1. + Вы отправляете информацию, напишите нам, в статье «Способы связи с командой Prizm» (Confluence) / Связаться с командой есть + варианты как это сделать. +
    2. +
    3. Мы обсуждаем, даём обратную связь (дизайн, код и так далее).
    4. +
    5. Успех.
    6. +
    + +

    Примерный план

    + +

    ЭТАП 1

    +

    Принимаем решение

    +
      +
    1. Оцениваем популярность компонента: смотрим, есть ли еще запросы на его разработку.
    2. +
    3. + Составляем описание API и описываем, как компонент будет использоваться — на примерах, чтобы лучше + понимать, как всё работает и зачем это нужно. +
    4. +
    5. + Смотрим, что уже готово: если вы прислали PR, проверяем его, смотрим, есть ли в нём примеры + использования и тесты. +
    6. +
    +

    + После этого этапа становится понятно, что это за компонент и нужно ли его добавлять в дизайн-систему. + Договариваемся, кто его разрабатывает — вы или команда Prizm. +

    + +

    ЭТАП 2

    +

    Разрабатываем и обсуждаем новый компонент

    +
      +
    1. Разрабатываем компонент в дизайне и в коде.
    2. +
    3. Приглашаем сообщество к обсуждению.
    4. +
    + +

    ЭТАП 3

    +

    Проверяем готовый компонент и проводим ревью

    +
      +
    1. Проводим ревью кода и устраняем все замечания.
    2. +
    3. Команда дизайн-системы подтверждает, что компонент можно включить в состав основной библиотеки.
    4. +
    + +

    ЭТАП 4

    +

    Публикуем релиз

    +
      +
    1. Собираем релизный пакет для выкладки.
    2. +
    3. Публикуем информацию о релизе.
    4. +
    +

    Готово! Компонент включён в библиотеку, можно использовать.

    + +

    Зачем нужно согласование

    +

    + Мы хотим сделать понятную процедуру с чёткими этапами, чтобы все участники разработки компонентов + понимали, что происходит и что будет дальше. А заодно: +

    +
      +
    1. Получаем качественный код и документацию.
    2. +
    3. Поддерживаем семантическое версионирование всех изменений.
    4. +
    5. Контролируем время на разработку новых предложений.
    6. +
    7. Следим за тем, кто и чем пользуется.
    8. +
    9. Храним все предложения о разработке новых компонентов в одном месте.
    10. +
    11. Снижаем количество уровней принятия решений.
    12. +
    +

    Со временем у нас появится инструкция с необходимыми шагами и комментариями.

    +
    diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.less b/apps/doc/src/app/how-to-work/add-component/add-component.component.less new file mode 100644 index 0000000000..5476ac9d13 --- /dev/null +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.less @@ -0,0 +1,19 @@ +a { + color: rgb(0, 119, 255); +} + +.disc { + li { + list-style-type: disc; + } +} + +.decimal { + li { + list-style-type: decimal; + } +} + +.italic { + font-style: italic; +} diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.spec.ts b/apps/doc/src/app/how-to-work/add-component/add-component.component.spec.ts new file mode 100644 index 0000000000..9ca40bfa76 --- /dev/null +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AddComponentComponent } from './add-component.component'; + +describe('AddComponentComponent', () => { + let component: AddComponentComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [AddComponentComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AddComponentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.ts b/apps/doc/src/app/how-to-work/add-component/add-component.component.ts new file mode 100644 index 0000000000..c11c1475f6 --- /dev/null +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.ts @@ -0,0 +1,12 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { environment } from 'apps/doc/src/environments/environment'; + +@Component({ + selector: 'prizm-add-component', + templateUrl: './add-component.component.html', + styleUrls: ['./add-component.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AddComponentComponent { + public storybookBaseUrl = environment.storybookBaseUrl; +} diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.module.ts b/apps/doc/src/app/how-to-work/add-component/add-component.module.ts new file mode 100644 index 0000000000..1cc01a3255 --- /dev/null +++ b/apps/doc/src/app/how-to-work/add-component/add-component.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { AddComponentComponent } from './add-component.component'; + +@NgModule({ + exports: [AddComponentComponent], + declarations: [AddComponentComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(AddComponentComponent))], +}) +export class AddComponentModule {} diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index e22a19d645..e26b412753 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -86,6 +86,13 @@ export const pages: PrizmOrderedDocPage = [ route: 'how-to-work/transition', order: 2, }, + { + section: SectionNameEnum.howToWork, + title: `Как добавить компонент`, + keywords: 'добавить, компонент, как, add, component, how', + route: 'how-to-work/add-component', + order: 3, + }, { section: SectionNameEnum.howToWork, title: 'Contributing', From b98b46b70ab765bb854ee61b6bf407922643c298 Mon Sep 17 00:00:00 2001 From: Yakov Date: Mon, 6 Mar 2023 10:35:42 +0300 Subject: [PATCH 15/32] fix: fix contacts --- apps/doc/src/app/about-prizm/contacts/contacts.component.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.component.ts b/apps/doc/src/app/about-prizm/contacts/contacts.component.ts index d44756a46b..eb519e8f09 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.component.ts +++ b/apps/doc/src/app/about-prizm/contacts/contacts.component.ts @@ -15,6 +15,8 @@ export interface ITableProduct { changeDetection: ChangeDetectionStrategy.OnPush, }) export class ContactsComponent { + public storybookBaseUrl = environment.storybookBaseUrl; + public columns: string[] = ['code', 'name', 'description']; public labelTypes: ITableProduct[] = TABLE_LABEL_TYPES; From 2fcbc9330388188115d7af3462f3fc9fd7e54a9d Mon Sep 17 00:00:00 2001 From: Yakov Date: Mon, 6 Mar 2023 10:47:10 +0300 Subject: [PATCH 16/32] fix: fix path --- apps/doc/src/app/about-prizm/contacts/contacts.component.ts | 2 +- .../app/about-prizm/design-system/design-system.component.ts | 2 +- .../app/how-to-work/add-component/add-component.component.ts | 2 +- apps/doc/src/app/how-to-work/transition/transition.component.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.component.ts b/apps/doc/src/app/about-prizm/contacts/contacts.component.ts index eb519e8f09..5b0d33dd4f 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.component.ts +++ b/apps/doc/src/app/about-prizm/contacts/contacts.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { environment } from 'apps/doc/src/environments/environment'; +import { environment } from './../../../environments/environment'; export interface ITableProduct { name: string; diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.ts b/apps/doc/src/app/about-prizm/design-system/design-system.component.ts index ff72e32875..dd2731a781 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.ts +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { environment } from 'apps/doc/src/environments/environment'; +import { environment } from './../../../environments/environment'; @Component({ selector: 'prizm-design-system', diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.ts b/apps/doc/src/app/how-to-work/add-component/add-component.component.ts index c11c1475f6..e8ad759fa7 100644 --- a/apps/doc/src/app/how-to-work/add-component/add-component.component.ts +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.ts @@ -1,5 +1,5 @@ import { Component, ChangeDetectionStrategy } from '@angular/core'; -import { environment } from 'apps/doc/src/environments/environment'; +import { environment } from './../../../environments/environment'; @Component({ selector: 'prizm-add-component', diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.ts b/apps/doc/src/app/how-to-work/transition/transition.component.ts index c290f75740..4228304a70 100644 --- a/apps/doc/src/app/how-to-work/transition/transition.component.ts +++ b/apps/doc/src/app/how-to-work/transition/transition.component.ts @@ -1,5 +1,5 @@ import { Component, ChangeDetectionStrategy } from '@angular/core'; -import { environment } from 'apps/doc/src/environments/environment'; +import { environment } from './../../../environments/environment'; @Component({ selector: 'prizm-transition', From bd08bfb032e5af181d3a2bbf610f7009ee543e55 Mon Sep 17 00:00:00 2001 From: Yakov Date: Mon, 6 Mar 2023 12:04:13 +0300 Subject: [PATCH 17/32] build: delete 'Get started' module --- apps/doc/src/app/app.module.ts | 2 - .../getting-started.component.html | 72 ------------------- .../getting-started.component.less | 19 ----- .../getting-started.component.spec.ts | 24 ------- .../getting-started.component.ts | 42 ----------- .../getting-started/getting-started.module.ts | 16 ----- 6 files changed, 175 deletions(-) delete mode 100644 apps/doc/src/app/documentation/getting-started/getting-started.component.html delete mode 100644 apps/doc/src/app/documentation/getting-started/getting-started.component.less delete mode 100644 apps/doc/src/app/documentation/getting-started/getting-started.component.spec.ts delete mode 100644 apps/doc/src/app/documentation/getting-started/getting-started.component.ts delete mode 100644 apps/doc/src/app/documentation/getting-started/getting-started.module.ts diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 82e41ca8c8..a21ce4c472 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -29,7 +29,6 @@ import { PrizmThemeService } from '@prizm-ui/theme'; import { ContactsModule } from './about-prizm/contacts/contacts.module'; import { DesignSystemModule } from './about-prizm/design-system/design-system.module'; import { ForDevelopersModule } from './how-to-work/for-developers/for-developers.module'; -import { GettingStartedModule } from './documentation/getting-started/getting-started.module'; import { ReleasePolicyModule } from './about-prizm/release-policy/release-policy.module'; import { ServiceLevelAgreementModule } from './about-prizm/service-level-agreement/service-level-agreement.module'; import { RoadmapModule } from './about-prizm/roadmap/roadmap.module'; @@ -65,7 +64,6 @@ registerLocaleData(localeRu); DesignSystemModule, ForDevelopersModule, ContactsModule, - GettingStartedModule, ReleasePolicyModule, ServiceLevelAgreementModule, RoadmapModule, diff --git a/apps/doc/src/app/documentation/getting-started/getting-started.component.html b/apps/doc/src/app/documentation/getting-started/getting-started.component.html deleted file mode 100644 index b06645ee38..0000000000 --- a/apps/doc/src/app/documentation/getting-started/getting-started.component.html +++ /dev/null @@ -1,72 +0,0 @@ -

    Default install:

    - -

    - You can easily install Prizm UI using Angular CLI by running the following command: -

    - - - -

    Manual install:

    -
    -

    - Required - > Install theme and core: -

    - - - -
    - -
    -

    - Optional - > Install helpers: -

    - - -
    - -
    -

    - Optional - > Install components: -

    - - -
    - -
    -

    - Optional - > Install charts library: -

    - - -
    - - - - -

    Add our styles to angular config:

    - -
    -

    Or you can add to your root styles.less

    - -
    -
    -
    - - - - -

    To use our icons as svg, please install our library

    - -

    - But if you want to use fonts not only as svg, and also as font, please add to your angular config -

    - - or you can only import to your root styles.less - -
    -
    -
    diff --git a/apps/doc/src/app/documentation/getting-started/getting-started.component.less b/apps/doc/src/app/documentation/getting-started/getting-started.component.less deleted file mode 100644 index 3cd9fd1ccc..0000000000 --- a/apps/doc/src/app/documentation/getting-started/getting-started.component.less +++ /dev/null @@ -1,19 +0,0 @@ -:host { - padding: 3.75rem; -} - -prizm-accordion { - margin-top: 16px; -} - -prizm-doc-code { - margin-bottom: 1rem; -} - -.required { - color: var(--prizm-index-danger); -} - -.optional { - color: var(--prizm-index-warning); -} diff --git a/apps/doc/src/app/documentation/getting-started/getting-started.component.spec.ts b/apps/doc/src/app/documentation/getting-started/getting-started.component.spec.ts deleted file mode 100644 index 0926166ee1..0000000000 --- a/apps/doc/src/app/documentation/getting-started/getting-started.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { GettingStartedComponent } from './getting-started.component'; - -xdescribe('GettingStartedComponent', () => { - let component: GettingStartedComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [GettingStartedComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(GettingStartedComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/apps/doc/src/app/documentation/getting-started/getting-started.component.ts b/apps/doc/src/app/documentation/getting-started/getting-started.component.ts deleted file mode 100644 index e5ff7b453b..0000000000 --- a/apps/doc/src/app/documentation/getting-started/getting-started.component.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; - -@Component({ - selector: 'prizm-getting-started', - templateUrl: './getting-started.component.html', - styleUrls: ['./getting-started.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class GettingStartedComponent { - public readonly joinSvgFonts = ` - "styles": [ - ... - "@prizm-ui/icons/base/src/styles/styles.less" - ],"; - `; - public readonly joinSvgFontsForImport = `@import "~@prizm-ui/icons/base/src/styles/styles.less"; - `; - public readonly updateAngularStylesFileCode = ` -// (Required) Add for use our theme -@import "~@prizm-ui/theme/src/styles/styles.less"; -// (Optional) Add only for use our components library -@import "~@prizm-ui/components/src/styles/styles.less"; - -// (Optional) Add only for use our old icon set (deprecated) -@import "~@prizm-ui/components/src/styles/icons/icons.less"; -@import "~@prizm-ui/components/src/styles/icons-16/icons-16.less"; - `; - public readonly updateAngularStylesCode = ` - "assets": [ - // .... - ], - "styles": [ - // (Required) Add for use our theme - "node_modules/@prizm-ui/theme/src/styles/styles.less", - // (Optional) Add for use our components - "node_modules/@prizm-ui/components/src/styles/styles.less", - // (Optional) Add only for use our old icon set (deprecated) - "node_modules/@prizm-ui/components/src/styles/icons/icons.less", - "node_modules/@prizm-ui/components/src/styles/icons-16/icons-16.less" - ], - `; -} diff --git a/apps/doc/src/app/documentation/getting-started/getting-started.module.ts b/apps/doc/src/app/documentation/getting-started/getting-started.module.ts deleted file mode 100644 index 024fcfc56b..0000000000 --- a/apps/doc/src/app/documentation/getting-started/getting-started.module.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAccordionModule } from '@prizm-ui/components'; -import { PrizmAddonDocModule, PrizmDocCodeModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { GettingStartedComponent } from './getting-started.component'; - -@NgModule({ - exports: [GettingStartedComponent], - declarations: [GettingStartedComponent], - imports: [ - PrizmAddonDocModule, - PrizmAccordionModule, - RouterModule.forChild(prizmDocGenerateRoutes(GettingStartedComponent)), - ], -}) -export class GettingStartedModule {} From e9f392c9624031ee2a4372b54ab385cd6d7d8ade Mon Sep 17 00:00:00 2001 From: Yakov Date: Mon, 6 Mar 2023 12:14:02 +0300 Subject: [PATCH 18/32] fix: fix text; fix link; delete sla from contacts page --- .../contacts/contacts.component.html | 253 +----------------- 1 file changed, 5 insertions(+), 248 deletions(-) diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.component.html b/apps/doc/src/app/about-prizm/contacts/contacts.component.html index c406c27594..1d53273237 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.component.html +++ b/apps/doc/src/app/about-prizm/contacts/contacts.component.html @@ -11,11 +11,14 @@

    Способы связи

  • С помощью Issue - способ описан на странице - Сontributing + Сontributing
  • - Скорость реакции и сроки реакции указаны в пункте "SLA – соглашение об уровне услуг" (См. ниже). + Скорость реакции и сроки реакции указаны на странице + "SLA – соглашение об уровне услуг".

    Регистрация запросов производится круглосуточно. Рабочее время 9.00 до 18.00 (время московское), @@ -136,251 +139,5 @@

    Способы связи

    - - -

    - Настоящее соглашение определяет политику взаимоотношений при использовании дизайн-системы Prizm. -

    -

    Ссылки в скором времени будут актуализированы

    - -

    1. Лицензия

    -

    - Дизайн-система Prizm и часть* её зависимых компонентов распространяются под открытой - лицензией MIT, текст лицензионного соглашения дублируется непосредственно в самих - репозиториях. -

    -

    - * некоторые части дизайн-системы Prizm, например, картографический виджет, виджет управления - наряд-заказами и другие, могут лицензироваться самостоятельно и отсутствовать в публичном доступе. -

    - -

    2. Стратегия версионирования

    -

    2.1 Схема версионирования

    -

    - Во всех зависимых компонентах экосистемы Цифры применяется стратегия - [RFC] Prizm Версионирование. -

    -

    - Использование дополнительных постфиксов для предварительных релизов и сборок с мета-обозначениями - допускается, но сохранение в них обратной совместимости не гарантируется, поскольку эти версии не - являются конечными. -

    - -

    2.2 Жизненный цикл версий

    -

    - Основной фокус делается на поддержку и стабилизацию крайней major-версии, а пересмотр предложений, - которые потенциально нарушают обратную совместимость, допускается не чаще чем раз в полгода для - отдельно взятого компонента. Отчетный период начинается с даты последнего релиза. -

    - -

    2.3 Механизм оповещений

    -

    - 2.3.1 Для оперативного информирования о новых версиях ведется - канал в Telegram. -

    -

    - 2.3.2 Для получения сводной информации обо всех изменениях в программном коде рекомендуется - использовать механизм 🔗наблюдения за проектом. -

    -

    - 2.3.3 В случаях, когда сохранение обратной совместимости невозможно в силу наличия потенциальных - уязвимостей или серьезных проблем с производительностью применяется механизм 🔗 - deprecated. -

    - -

    2.4 История версий

    -

    - Полная история изменений по всем версиям продуктов доступна на 🔗страницах с - релизами. -

    - -

    3. Доступность и поддержка

    -

    Направления, за которые отвечает команда Prizm:

    -
      -
    1. Исправление критических дефектов.
    2. -
    3. Стратегическое планирование.
    4. -
    5. - Поддержка и развитие информационных ресурсов -
        -
      1. Основной информационный ресурс
      2. -
      3. Витрина компонентов
      4. -
      5. - Библиотека компонентов в Figma Community -
      6. -
      7. Исходный код библиотеки компонентов
      8. -
      9. Информационный канал в Telegram
      10. -
      -
    6. -
    -

    - Задачи информационного наполнения, расширения функциональности и исправления незначительных дефектов - мы стараемся раздеделять с нашими контрибьюторами. -

    - -

    4. Системные ограничения

    -

    4.1 Браузеры

    -

    - Ориентируйтесь на то, что все основные компоненты дизайн-системы протестированы и корректно - отображаются в браузерах, которые поддерживает Angular. Это включает в себя следующие конкретные - версии браузеров: -

    - - - - - - - - - - - - - - - - -
    БраузерПоддреживаемые версии
    {{ item.name }}{{ item.description }}
    - -

    4.2 Разрешения экранов

    -

    - Разрешение экранов, которые смело можно учитывать при проектировании интерфейсов для полноразмерных - устройств: 1280×720, 1366×768, 1440×900, 1920×1080. -

    - -

    5. Типы тикетов и порядок их заведения

    -

    - Дефекты, запросы на новую функциональность или вопросы оформляются в виде 🔗тикета на GitHub - или письмом на prizm@zyfra.com. -

    -

    Возможные типы тикетов:

    - - - - - - - - - - - - - - - - -
    Тип тикетаРасшифровка
    {{ item.name }}{{ item.description }}
    -

    - 🔗 - Рекомендации оформления - тикетов: -

    -
      -
    1. - При создании тикетов с типом bug необходимо использовать шаблон оформления баг-репорта (Bug - report). -
    2. -
    3. - При создании тикетов с типами feature или improvement необходимо использовать шаблон запроса фичи - или улучшения (Feature request). -
    4. -
    - -

    6. Время реагирования

    -

    В течение 5 рабочих дней с момента появления нового тикета применяется следующий алгоритм:

    -
      -
    1. Если тикет понятен, и вопросов нет, ему присваивается тип и приоритет.
    2. -
    3. - Если для правильной категоризации тикета требуются уточнения (обсуждение происходит в - комментариях), то тип и приоритет присваиваются после получения ответов. -
    4. -
    - -

    6.1 Как определяется приоритет

    -

    На приоритет тикета влияют следующие факторы:

    -
      -
    1. - Потребность проектов Цифровой индустриальной платформы (совместное предприятие ГЦ «Цифра» и ПАО - «Газпром нефть»). -
    2. -
    3. Экспертное мнение команды дизайн-системы Prizm.
    4. -
    5. Популярность компонента в других системах
    6. -
    7. Подробное описание с понятными формулировками проблем или предложений.
    8. -
    9. Высокая активность пользователей.
    10. -
    - -

    7. Сроки реализации*

    -

    Сроки реализации тикетов зависят от категории и приоритета:

    -
      -
    1. - Если за реализацию берется команда Prizm, то сроки реализации будут соответствовать представленным - в таблице ниже. -
    2. -
    3. Если за реализацию берется внешняя команда, то сроки реализации могут отличаться.
    4. -
    5. - Если реализация задачи требует предварительного исследования или дизайна, то создается отдельная - задача с меткой research или design. -
    6. -
    - - - - - - - - - - - - - - - - - - -
    ПриоритетКатегорияРеализация
    {{ item.priority }}{{ item.name }}{{ item.description }}
    - -

    8. Актуализация бэклога

    -

    - Актуализация бэклога и пересмотр приоритетов всех тикетов происходит не более трёх раз в квартал. По - итогам пересмотра приоритет тикета может быть как поднят, так и понижен. -

    - -

    8.1 Причины закрытия тикетов

    -

    В рамках актуализации бэклога тикет может быть закрыт по следующим причинам:

    -
      -
    1. Дубликат.
    2. -
    3. Задача уже реализована.
    4. -
    5. Входит в другой тикет.
    6. -
    7. Задача потеряла актуальность.
    8. -
    9. Не получены ответы на уточняющие вопросы или неполное описание.
    10. -
    11. Обоснованный отказ команды Prizm.
    12. -
    - -

    9. Запросы на принятие изменений

    -

    - Изменения и доработки, предлагаемые контрибьютерами, 🔗оформляются в виде 🔗запросов на принятие изменений -

    -

    - При появлении нового PR/MR команда Prizm в течение двух рабочих дней проводит 🔗ревью - и, при отсутствии критичных замечаний, принимает PR/MR. -

    -

    - К мержу допускаются PR/MR, получившие не менее двух аппрувов. Изменения включаются в следующий - релиз. Релизы выпускаются раз в две недели. День недели будет определен похже опытным путём. -

    -
    -
    From b6c31bc90f1c53dad42b9e431fdf123288b79c3a Mon Sep 17 00:00:00 2001 From: Yakov Date: Mon, 6 Mar 2023 12:37:33 +0300 Subject: [PATCH 19/32] build: added page 'Set task' --- apps/doc/src/app/app.module.ts | 2 ++ apps/doc/src/app/app.routes.ts | 8 +++++ .../set-task/set-task.component.html | 34 +++++++++++++++++++ .../set-task/set-task.component.less | 19 +++++++++++ .../set-task/set-task.component.spec.ts | 24 +++++++++++++ .../set-task/set-task.component.ts | 12 +++++++ .../how-to-work/set-task/set-task.module.ts | 11 ++++++ apps/doc/src/app/pages.ts | 7 ++++ 8 files changed, 117 insertions(+) create mode 100644 apps/doc/src/app/how-to-work/set-task/set-task.component.html create mode 100644 apps/doc/src/app/how-to-work/set-task/set-task.component.less create mode 100644 apps/doc/src/app/how-to-work/set-task/set-task.component.spec.ts create mode 100644 apps/doc/src/app/how-to-work/set-task/set-task.component.ts create mode 100644 apps/doc/src/app/how-to-work/set-task/set-task.module.ts diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index a21ce4c472..9de087dce5 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -35,6 +35,7 @@ import { RoadmapModule } from './about-prizm/roadmap/roadmap.module'; import { TechnologyListModule } from './about-prizm/technology-list/technology-list.module'; import { TransitionModule } from './how-to-work/transition/transition.module'; import { AddComponentModule } from './how-to-work/add-component/add-component.module'; +import { SetTaskModule } from './how-to-work/set-task/set-task.module'; registerLocaleData(localeRu); @NgModule({ @@ -70,6 +71,7 @@ registerLocaleData(localeRu); TechnologyListModule, TransitionModule, AddComponentModule, + SetTaskModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index 9800336057..06331325a3 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -109,6 +109,14 @@ export const ROUTES: Routes = [ title: 'Add component', }, }, + { + path: 'set-task', + loadChildren: (): Promise => + import('./how-to-work/set-task/set-task.module').then(i => i.SetTaskModule), + data: { + title: 'Set task', + }, + }, { path: 'contributing', loadChildren: (): Promise => diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.html b/apps/doc/src/app/how-to-work/set-task/set-task.component.html new file mode 100644 index 0000000000..d4e376dd3b --- /dev/null +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.html @@ -0,0 +1,34 @@ + +

    + В статье «Способы связи с командой Prizm» (Confluence) / Связаться с командой мы + описали возможные варианты: +

    +
      +
    1. + С помощью отправки письма на электронный почтовый ящик – + prizm@zyfra.com +
    2. +
    3. + С помощью Issue (способ описан на странице + Сontributing) +
    4. +
    +

    + Поставить задачу на изменение можно (issue) в нашем репозитории. Пожалуйста, когда ставите задачу, следите + за форматом: так мы быстрее поймём, в чём дело, и сможем передать задачу нужному человеку. +

    + +

    Комментарий

    +

    Обязательно напишите комментарий. Мы будем рады:

    +
      +
    1. подробному описанию задачи
    2. +
    3. скриншотам и любым другим изображениям
    4. +
    +

    Если изображения не прикрепляются к задаче, прикрепите архив или поставьте ссылку на облако.

    +

    + Объём любой, главное — понятно и по-человечески. Хочется, чтобы в любой момент и автору, и исполнителю + было понятно, что делать. +

    +
    diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.less b/apps/doc/src/app/how-to-work/set-task/set-task.component.less new file mode 100644 index 0000000000..5476ac9d13 --- /dev/null +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.less @@ -0,0 +1,19 @@ +a { + color: rgb(0, 119, 255); +} + +.disc { + li { + list-style-type: disc; + } +} + +.decimal { + li { + list-style-type: decimal; + } +} + +.italic { + font-style: italic; +} diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.spec.ts b/apps/doc/src/app/how-to-work/set-task/set-task.component.spec.ts new file mode 100644 index 0000000000..3dfb340069 --- /dev/null +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SetTaskComponent } from './set-task.component'; + +describe('SetTaskComponent', () => { + let component: SetTaskComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SetTaskComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SetTaskComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.ts b/apps/doc/src/app/how-to-work/set-task/set-task.component.ts new file mode 100644 index 0000000000..ee9e1a70c4 --- /dev/null +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.ts @@ -0,0 +1,12 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { environment } from './../../../environments/environment'; + +@Component({ + selector: 'prizm-set-task', + templateUrl: './set-task.component.html', + styleUrls: ['./set-task.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class SetTaskComponent { + public storybookBaseUrl = environment.storybookBaseUrl; +} diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.module.ts b/apps/doc/src/app/how-to-work/set-task/set-task.module.ts new file mode 100644 index 0000000000..d598168675 --- /dev/null +++ b/apps/doc/src/app/how-to-work/set-task/set-task.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { SetTaskComponent } from './set-task.component'; + +@NgModule({ + exports: [SetTaskComponent], + declarations: [SetTaskComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(SetTaskComponent))], +}) +export class SetTaskModule {} diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index e26b412753..50ff3e5700 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -93,6 +93,13 @@ export const pages: PrizmOrderedDocPage = [ route: 'how-to-work/add-component', order: 3, }, + { + section: SectionNameEnum.howToWork, + title: `Как поставить задачу`, + keywords: 'поставить, задача, как, set, task, how', + route: 'how-to-work/set-task', + order: 4, + }, { section: SectionNameEnum.howToWork, title: 'Contributing', From fd6312f6b5ad4cd9f601d2665a1b6b0bed9a5aa5 Mon Sep 17 00:00:00 2001 From: Yakov Date: Mon, 6 Mar 2023 13:08:51 +0300 Subject: [PATCH 20/32] build: add page 'Introduction' --- apps/doc/src/app/app.module.ts | 2 + apps/doc/src/app/app.routes.ts | 8 ++++ .../introduction/introduction.component.html | 32 +++++++++++++++ .../introduction/introduction.component.less | 0 .../introduction.component.spec.ts | 24 ++++++++++++ .../introduction/introduction.component.ts | 39 +++++++++++++++++++ .../introduction/introduction.module.ts | 11 ++++++ apps/doc/src/app/pages.ts | 9 ++++- 8 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 apps/doc/src/app/forZIIoT/introduction/introduction.component.html create mode 100644 apps/doc/src/app/forZIIoT/introduction/introduction.component.less create mode 100644 apps/doc/src/app/forZIIoT/introduction/introduction.component.spec.ts create mode 100644 apps/doc/src/app/forZIIoT/introduction/introduction.component.ts create mode 100644 apps/doc/src/app/forZIIoT/introduction/introduction.module.ts diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 9de087dce5..34529d7aff 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -36,6 +36,7 @@ import { TechnologyListModule } from './about-prizm/technology-list/technology-l import { TransitionModule } from './how-to-work/transition/transition.module'; import { AddComponentModule } from './how-to-work/add-component/add-component.module'; import { SetTaskModule } from './how-to-work/set-task/set-task.module'; +import { IntroductionModule } from './forZIIoT/introduction/introduction.module'; registerLocaleData(localeRu); @NgModule({ @@ -72,6 +73,7 @@ registerLocaleData(localeRu); TransitionModule, AddComponentModule, SetTaskModule, + IntroductionModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index 06331325a3..ea47de0f43 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -143,6 +143,14 @@ export const ROUTES: Routes = [ { path: 'forZIIoT', children: [ + { + path: 'introduction', + loadChildren: (): Promise => + import('./forZIIoT/introduction/introduction.module').then(i => i.IntroductionModule), + data: { + title: 'Introduction', + }, + }, { path: 'migration', loadChildren: (): Promise => diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.html b/apps/doc/src/app/forZIIoT/introduction/introduction.component.html new file mode 100644 index 0000000000..8fd0a1a849 --- /dev/null +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.html @@ -0,0 +1,32 @@ + +

    Установка

    +

    + Следуйте ручной установке: + http://doc.prizm.zyfra.com/how-to-start/for-developers +

    + +

    Особенность для ZIIoT приложения

    +

    + Ресурсы которые не доступны необходимо переопределить согласно вашему baseHref приложения.
    + Проблема описана в [RFC] КБ Предоставление стилей для иконочных шрифтов
    + Например: +

    + + +

    Runtime

    +

    CSS переменные

    +

    + Если есть потребность изменить переменную, делайте это
    + ✅ на уровне своего приложения.
    + ❌ менять в рут ничего нельзя! +

    + +

    Темизация

    +

    + Для подписки от AppShell на темы следует подписаться на соответствующее событие из ShellPropertiesCore и + обновить тему в самом Prizm. Например так: +

    + +
    diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.less b/apps/doc/src/app/forZIIoT/introduction/introduction.component.less new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.spec.ts b/apps/doc/src/app/forZIIoT/introduction/introduction.component.spec.ts new file mode 100644 index 0000000000..fbcdcaf05b --- /dev/null +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { IntroductionComponent } from './introduction.component'; + +describe('IntroductionComponent', () => { + let component: IntroductionComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [IntroductionComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(IntroductionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.ts b/apps/doc/src/app/forZIIoT/introduction/introduction.component.ts new file mode 100644 index 0000000000..fd6e0437c5 --- /dev/null +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.ts @@ -0,0 +1,39 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { environment } from './../../../environments/environment'; + +@Component({ + selector: 'prizm-introduction', + templateUrl: './introduction.component.html', + styleUrls: ['./introduction.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class IntroductionComponent { + public storybookBaseUrl = environment.storybookBaseUrl; + public readonly featuresForZIIoT = ` + @font-face { + font-family: 'PrizmIcons'; + src: local('Prizm Icons'),url('/hostDtdrto/Prizm.woff2') format('woff2'),url('/hostDtdrto/Prizm.woff') format('woff'),url('/hostDtdrto/Prizm.ttf') format('truetype'); + font-weight: 400; + font-style: normal; + } + - добавляют дополнительно baseHref где лежит ресурс: + /hostDtdrto + `; + public readonly themization = ` + private readonly themeService: PrizmThemeService, + + this.shellPropertiesCore + .getProperty(ShellProperty.Theme) + .pipe(takeUntil(this.destroy$)) + .subscribe((theme) => { + if(theme) { + if (theme.className === 'light-theme') { + this.themeService.update('light'); + } + if (theme.className === 'dark-theme') { + this.themeService.update('dark'); + } + } + }); + `; +} diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.module.ts b/apps/doc/src/app/forZIIoT/introduction/introduction.module.ts new file mode 100644 index 0000000000..47fba048df --- /dev/null +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { IntroductionComponent } from './introduction.component'; + +@NgModule({ + exports: [IntroductionComponent], + declarations: [IntroductionComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(IntroductionComponent))], +}) +export class IntroductionModule {} diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index 50ff3e5700..94d4a7cbb2 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -115,10 +115,17 @@ export const pages: PrizmOrderedDocPage = [ order: 6, }, //For ZIIoT + { + section: SectionNameEnum.forZIIoT, + title: `Введение`, + keywords: 'введение, introduction', + route: 'forZIIoT/introduction', + order: 1, + }, { section: SectionNameEnum.forZIIoT, title: `Миграция`, - keywords: 'Миграция, migration', + keywords: 'миграция, migration', route: 'forZIIoT/migration', order: 3, }, From 586f05268624409b02c7688e31979a8b87168cf7 Mon Sep 17 00:00:00 2001 From: Yakov Date: Mon, 6 Mar 2023 13:18:15 +0300 Subject: [PATCH 21/32] fix: fix styles on 'introduction' page --- .../src/app/forZIIoT/introduction/introduction.component.less | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.less b/apps/doc/src/app/forZIIoT/introduction/introduction.component.less index e69de29bb2..79ab412c3a 100644 --- a/apps/doc/src/app/forZIIoT/introduction/introduction.component.less +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.less @@ -0,0 +1,3 @@ +a { + color: rgb(0, 119, 255); +} From bf81cde7df726259edaad27cc7a2f3c68ba797d1 Mon Sep 17 00:00:00 2001 From: Yakov Date: Mon, 6 Mar 2023 17:18:34 +0300 Subject: [PATCH 22/32] build: add page 'Library requirements' --- apps/doc/src/app/app.module.ts | 2 + apps/doc/src/app/app.routes.ts | 10 +++ .../library-requirements.component.html | 89 +++++++++++++++++++ .../library-requirements.component.less | 9 ++ .../library-requirements.component.spec.ts | 24 +++++ .../library-requirements.component.ts | 9 ++ .../library-requirements.module.ts | 11 +++ apps/doc/src/app/pages.ts | 7 ++ 8 files changed, 161 insertions(+) create mode 100644 apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html create mode 100644 apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less create mode 100644 apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.spec.ts create mode 100644 apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.ts create mode 100644 apps/doc/src/app/forZIIoT/library-requirements/library-requirements.module.ts diff --git a/apps/doc/src/app/app.module.ts b/apps/doc/src/app/app.module.ts index 34529d7aff..0cbb9207d7 100644 --- a/apps/doc/src/app/app.module.ts +++ b/apps/doc/src/app/app.module.ts @@ -37,6 +37,7 @@ import { TransitionModule } from './how-to-work/transition/transition.module'; import { AddComponentModule } from './how-to-work/add-component/add-component.module'; import { SetTaskModule } from './how-to-work/set-task/set-task.module'; import { IntroductionModule } from './forZIIoT/introduction/introduction.module'; +import { LibraryRequirementsModule } from './forZIIoT/library-requirements/library-requirements.module'; registerLocaleData(localeRu); @NgModule({ @@ -74,6 +75,7 @@ registerLocaleData(localeRu); AddComponentModule, SetTaskModule, IntroductionModule, + LibraryRequirementsModule, MarkdownModule.forRoot({ loader: HttpClient, sanitize: SecurityContext.NONE, diff --git a/apps/doc/src/app/app.routes.ts b/apps/doc/src/app/app.routes.ts index ea47de0f43..b5a1d6e2a7 100644 --- a/apps/doc/src/app/app.routes.ts +++ b/apps/doc/src/app/app.routes.ts @@ -151,6 +151,16 @@ export const ROUTES: Routes = [ title: 'Introduction', }, }, + { + path: 'library-requirements', + loadChildren: (): Promise => + import('./forZIIoT/library-requirements/library-requirements.module').then( + i => i.LibraryRequirementsModule + ), + data: { + title: 'Library requirements', + }, + }, { path: 'migration', loadChildren: (): Promise => diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html new file mode 100644 index 0000000000..17a9d62e1e --- /dev/null +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html @@ -0,0 +1,89 @@ + +

    + Требования которые необходимо соблюдать при вводе общих библиотек в платформу. Все требования основаны на + том что у нас один контекст, одно окружение, одни общие ресурсы, один экран браузера. +

    +
      +
    1. Изолированный контекст выполнений функции
    2. +
    3. Изолированные ресурсы (шрифты, css, img)
    4. +
    5. Общие ресурсы должны быть под версиями и не влиять на общий scope.
    6. +
    +

    Какие фреймворки/библиотеки/решения предоставляют из коробки, и пытаются решить эти требования:

    + +

    Angular

    +
      +
    1. + ViewEncapsulation.Emulated по + умолчанию +
    2. +
    3. изоляция scope компонентов
    4. +
    5. Нужно вводить ограничения чтобы не декларировать в глобальные области видимости ресурсы
    6. +
    + +

    React

    +
      +
    1. CSS in JS
    2. +
    3. изоляция scope компонентов
    4. +
    5. Много подходов для написание стилей и холиваров по ним
    6. +
    7. Ресурсы берутся всегда по разному, кучу loader по разному регистрируют свои ресурсы по разному
    8. +
    9. -Нужно вводить ограничения чтобы не декларировать в глобальные области видимости ресурсы
    10. +
    + +

    Vue

    +
      +
    1. Scoped css
    2. +
    3. изоляция scope компонентов
    4. +
    5. +/- приходят к стандартизации и изоляции на своих собственных сборщиках
    6. +
    7. Нужно вводить ограничения чтобы не декларировать в глобальные области видимости ресурсы
    8. +
    + +

    Custom Elements, Shadow dom (lit-element, stencil, …)

    +
      +
    1. Styles по дефолту изолированы из коробки
    2. +
    3. можно писать на любом фреймворке и использовать их
    4. +
    5. + декларирует элементы в глобальном скоупе, и мы лишаемся версионирования и жестко привязываем версию либы + ко всей платформе +
    6. +
    7. легко написать функцию в глобальной области видимости.
    8. +
    9. + в 2 раза медленее работают + https://nolanlawson.com/2021/08/15/does-shadow-dom-improve-style-performance/ +
    10. +
    11. сложно тестировать, доступ до элементов в e2e усложняется
    12. +
    + +

    Angular elements

    +
      +
    1. Можно перевести КБ на кастомные элементы и начать юзать во всех фреймворках
    2. +
    3. много весят
    4. +
    5. проблемы из Custom Elements
    6. +
    + +

    Краткий обзор по разным КБ, фреймворкам:

    +
      +
    1. Angular Material - хорош в плане изоляции стилей и легок для изменения.
    2. +
    3. + PrimeNG - был хорош для 2016, так как из JQuery слезали на него, но из за подхода + декларировать в глобальном скоупе стили, имеет более 500 issue в GitHub, которые в принципе не будут + исправлять. В платформе часто возникали вопросы про темизацию, и как все мешали друг другу. +
    4. +
    5. + TaigaUI -с овременная UI библиотека на Angular, изоляция контекста и стилей на уровне. +
    6. +
    7. + Stencil - фреймворк, продукт Ionic, которые решали свою проблему по созданию приложений + на мобилку под разные фреймворки, отсюда и игнорирование ограничений. +
    8. +
    9. + Clarity - UI библиотека на Angular, делает упор на Html+css first, отсюда и проблемы + разных версии. +
    10. +
    11. + Prizm - современная UI библиотека на Angular, учитывающий требования к платформе, под + нашу дизайн-систему +
    12. +
    +
    diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less new file mode 100644 index 0000000000..4a5c830e98 --- /dev/null +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less @@ -0,0 +1,9 @@ +a { + color: rgb(0, 119, 255); +} + +.disc { + li { + list-style-type: disc; + } +} diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.spec.ts b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.spec.ts new file mode 100644 index 0000000000..45a65b0be6 --- /dev/null +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LibraryRequirementsComponent } from './library-requirements.component'; + +describe('LibraryRequirementsComponent', () => { + let component: LibraryRequirementsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [LibraryRequirementsComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(LibraryRequirementsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.ts b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.ts new file mode 100644 index 0000000000..d4dfb6700f --- /dev/null +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.ts @@ -0,0 +1,9 @@ +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-library-requirements', + templateUrl: './library-requirements.component.html', + styleUrls: ['./library-requirements.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class LibraryRequirementsComponent {} diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.module.ts b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.module.ts new file mode 100644 index 0000000000..a6b8c9598b --- /dev/null +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { LibraryRequirementsComponent } from './library-requirements.component'; + +@NgModule({ + exports: [LibraryRequirementsComponent], + declarations: [LibraryRequirementsComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(LibraryRequirementsComponent))], +}) +export class LibraryRequirementsModule {} diff --git a/apps/doc/src/app/pages.ts b/apps/doc/src/app/pages.ts index 94d4a7cbb2..e63d7519c5 100644 --- a/apps/doc/src/app/pages.ts +++ b/apps/doc/src/app/pages.ts @@ -122,6 +122,13 @@ export const pages: PrizmOrderedDocPage = [ route: 'forZIIoT/introduction', order: 1, }, + { + section: SectionNameEnum.forZIIoT, + title: `Требования к UI библиотекам для ZIIoT`, + keywords: 'требования, библиотеки, requirements, ui, libraries, ziiot', + route: 'forZIIoT/library-requirements', + order: 2, + }, { section: SectionNameEnum.forZIIoT, title: `Миграция`, From d1ddd511d166527b9bcb683474f1ccd58f56a6f1 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 10 Mar 2023 13:21:01 +0300 Subject: [PATCH 23/32] fix: fix line-height in header prizm-doc-page --- libs/doc/base/src/lib/components/page/page.style.less | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/doc/base/src/lib/components/page/page.style.less b/libs/doc/base/src/lib/components/page/page.style.less index a2b60934de..b2a894163f 100644 --- a/libs/doc/base/src/lib/components/page/page.style.less +++ b/libs/doc/base/src/lib/components/page/page.style.less @@ -19,6 +19,7 @@ box-sizing: border-box; flex-shrink: 0; margin: 0 ~'min(10vw, 8.75rem)'; + line-height: 200%; :host-context(tui-root._mobile) & { font: var(--tui-font-heading-4); From 8fe1cd533653f0bcf572b38b2067e6ff4e96a973 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 10 Mar 2023 13:26:01 +0300 Subject: [PATCH 24/32] fix: typos fixed; fixed name of class --- .../design-system.component.html | 4 +- .../repositories/repositories.component.html | 163 ++++++++++-------- 2 files changed, 90 insertions(+), 77 deletions(-) diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.html b/apps/doc/src/app/about-prizm/design-system/design-system.component.html index d3c9a60d2a..8b5d96eed4 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.html +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.html @@ -31,10 +31,10 @@

    Из чего состоит дизайн-система

  • Библиотека интерфейсных компонентов
  • Библиотке компонентов в Figma
  • Правила, рекомендации, гайдлайны, патерны, шаблоны, витрина компонентов.
  • -
  • Философия к дизану, разработке, поддержке.
  • +
  • Философия к дизайну, разработке, поддержке.
  • Команда Prizm.
  • -
    +

    ЦЕЛЬ СОЗДАНИЯ

      diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.html b/apps/doc/src/app/about-prizm/repositories/repositories.component.html index e77160fc66..c85a313006 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.html +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.html @@ -3,90 +3,103 @@ Библиотеки дизайн-системы Prizm для разработчиков написаны на Angular и хранятся в репозиториях на GitHub — в открытом доступе.

      -
      +

      Репозитории

        +
      1. http://github.com/zyfra/Prizm - репозиторий
      2. - http://github.com/zyfra/Prizm - репозиторий + https://gitlab.idp.yc.ziiot.ru/public-group/zui-sdk + - репозиторий +
      3. +
      +
      + - -
      -

      Главные ссылки

      -
        -
      1. - prizm.zyfra.com – главная страница Prizm -
      2. -
      3. - doc.prizm.zyfra.com – витрина. Примеры работающих компонентов -
      4. -
      5. - github.com/zyfra/Prizm – репозиторий -
      6. -
      7. - Телеграм-канал с новостями и релизами -
      8. -
      9. - https://ziiot-dev-11.kube01.yc.ziiot.ru – внутренний полигон -
      10. -
      11. Figma: - Prizm design system -
          -
        1. Проект: — - Prizm design system -
        2. -
        -
      12. -
      -
      -
      -

      О релизах

      -

      https://github.com/zyfra/Prizm/releases – подпишитесь на страницу

      -
      +

      Figma Zyfra Organization

      +
        +
      1. + Prizm. Компоненты +
      2. +
      3. + Prizm. Описания +
      4. +
      5. + Prizm. Icon for designer +
      6. +
      7. + 🎨 Dark theme 4.0 +
      8. +
      9. + 🎨 Light theme 4.0 +
      10. +
      +
      +
      +

      Главные ссылки

      +
        +
      1. prizm.zyfra.com – главная страница Prizm
      2. +
      3. + doc.prizm.zyfra.com – витрина. Примеры работающих + компонентов +
      4. +
      5. github.com/zyfra/Prizm – репозиторий
      6. +
      7. Телеграм-канал с новостями и релизами
      8. +
      9. + https://ziiot-dev-11.kube01.yc.ziiot.ru – + внутренний полигон +
      10. +
      11. + Figma: + Prizm design system +
          +
        1. + Проект: — + Prizm design system +
        2. +
        +
      12. +
      +
      +
      +

      О релизах

      +

      + https://github.com/zyfra/Prizm/releases – + подпишитесь на страницу +

      +
      - From 8c04a193a87f5b956b9d4b8c25ce748aacf165a5 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 10 Mar 2023 13:28:42 +0300 Subject: [PATCH 25/32] build: preparing files to add general page style; added border to table --- .../changelog/changelog.component.less | 1 + .../contacts/contacts.component.less | 25 +---------- .../design-system.component.less | 26 +----------- .../license/license.component.less | 1 + .../repositories/repositories.component.less | 21 ++-------- .../roadmap/roadmap.component.less | 4 +- .../service-level-agreement.component.less | 26 +----------- .../technology-list.component.less | 1 + apps/doc/src/app/doc-style.less | 42 +++++++++++++++++++ .../introduction/introduction.component.less | 4 +- .../library-requirements.component.less | 10 +---- .../migration/migration.component.less | 1 + .../add-component.component.less | 20 +-------- .../codestyle/codestyle.component.less | 1 + .../contributing/contributing.component.less | 1 + .../for-developers.component.less | 1 + .../set-task/set-task.component.less | 20 +-------- .../transition/transition.component.less | 10 +---- 18 files changed, 62 insertions(+), 153 deletions(-) create mode 100644 apps/doc/src/app/doc-style.less diff --git a/apps/doc/src/app/about-prizm/changelog/changelog.component.less b/apps/doc/src/app/about-prizm/changelog/changelog.component.less index 7c3cd2e8cd..96626147ce 100644 --- a/apps/doc/src/app/about-prizm/changelog/changelog.component.less +++ b/apps/doc/src/app/about-prizm/changelog/changelog.component.less @@ -1,3 +1,4 @@ +@import '../../doc-style.less'; /* stylelint-disable selector-type-no-unknown */ markdown { & > :nth-child(1), diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.component.less b/apps/doc/src/app/about-prizm/contacts/contacts.component.less index 9154827477..f30e751589 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.component.less +++ b/apps/doc/src/app/about-prizm/contacts/contacts.component.less @@ -1,6 +1,4 @@ -a { - color: rgb(0, 119, 255); -} +@import '../../doc-style.less'; .examleLinks { a { @@ -13,24 +11,3 @@ a { border-radius: 5px; padding: 10px; } -.warning-agreement { - color: #ff6600; - font-style: italic; -} - -.addition { - color: #b1acb5; - font-style: italic; -} - -.disc { - li { - list-style-type: disc; - } -} - -.decimal { - li { - list-style-type: decimal; - } -} diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.less b/apps/doc/src/app/about-prizm/design-system/design-system.component.less index 8770968ae5..8c30bed333 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.less +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.less @@ -1,25 +1 @@ -a { - color: rgb(0, 119, 255); -} - -.disc { - li { - list-style-type: disc; - } -} - -.decimal { - li { - list-style-type: decimal; - } -} - -.table { - display: flex; - flex-wrap: wrap; - gap: 1rem; -} - -.cell { - flex: 1 1 calc((100% / 3) - 2rem); -} +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/about-prizm/license/license.component.less b/apps/doc/src/app/about-prizm/license/license.component.less index e69de29bb2..8c30bed333 100644 --- a/apps/doc/src/app/about-prizm/license/license.component.less +++ b/apps/doc/src/app/about-prizm/license/license.component.less @@ -0,0 +1 @@ +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.less b/apps/doc/src/app/about-prizm/repositories/repositories.component.less index 4759ffecf6..05849e4bfb 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.less +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.less @@ -1,23 +1,11 @@ -a { - color: rgb(0, 119, 255); -} - -.disc { - li { - list-style-type: disc; - } -} +@import '../../doc-style.less'; -.table { - display: flex; - flex-wrap: wrap; - gap: 1rem; +h4 { + padding: 0; + margin: 0; } .cell { - border: 1px solid #aab8c6; - border-radius: 5px; - padding: 10px; flex-basis: 100%; } @@ -25,4 +13,3 @@ a { flex-basis: 50%; flex: 1 1 calc((100% / 2) - 2rem); } - diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less index 79ab412c3a..8c30bed333 100644 --- a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less @@ -1,3 +1 @@ -a { - color: rgb(0, 119, 255); -} +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less index 50c944b544..8c30bed333 100644 --- a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less @@ -1,25 +1 @@ -a { - color: rgb(0, 119, 255); -} - -.warning-agreement { - color: #ff6600; - font-style: italic; -} - -.addition { - color: #b1acb5; - font-style: italic; -} - -.disc { - li { - list-style-type: disc; - } -} - -.decimal { - li { - list-style-type: decimal; - } -} +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less index e69de29bb2..8c30bed333 100644 --- a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less @@ -0,0 +1 @@ +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/doc-style.less b/apps/doc/src/app/doc-style.less new file mode 100644 index 0000000000..67077f8572 --- /dev/null +++ b/apps/doc/src/app/doc-style.less @@ -0,0 +1,42 @@ +a { + color: rgb(0, 119, 255); +} + +.italic { + font-style: italic; +} + +.warning-agreement { + color: #ff6600; + font-style: italic; +} + +.addition { + color: #b1acb5; + font-style: italic; +} + +.doc-table { + display: flex; + flex-wrap: wrap; + gap: 1rem; +} + +.cell { + border: 1px solid #aab8c6; + border-radius: 5px; + padding: 10px; + flex: 1 1 calc((100% / 3) - 2rem); +} + +.disc { + li { + list-style-type: disc; + } +} + +.decimal { + li { + list-style-type: decimal; + } +} diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.less b/apps/doc/src/app/forZIIoT/introduction/introduction.component.less index 79ab412c3a..8c30bed333 100644 --- a/apps/doc/src/app/forZIIoT/introduction/introduction.component.less +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.less @@ -1,3 +1 @@ -a { - color: rgb(0, 119, 255); -} +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less index 4a5c830e98..8c30bed333 100644 --- a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less @@ -1,9 +1 @@ -a { - color: rgb(0, 119, 255); -} - -.disc { - li { - list-style-type: disc; - } -} +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/forZIIoT/migration/migration.component.less b/apps/doc/src/app/forZIIoT/migration/migration.component.less index e69de29bb2..8c30bed333 100644 --- a/apps/doc/src/app/forZIIoT/migration/migration.component.less +++ b/apps/doc/src/app/forZIIoT/migration/migration.component.less @@ -0,0 +1 @@ +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.less b/apps/doc/src/app/how-to-work/add-component/add-component.component.less index 5476ac9d13..8c30bed333 100644 --- a/apps/doc/src/app/how-to-work/add-component/add-component.component.less +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.less @@ -1,19 +1 @@ -a { - color: rgb(0, 119, 255); -} - -.disc { - li { - list-style-type: disc; - } -} - -.decimal { - li { - list-style-type: decimal; - } -} - -.italic { - font-style: italic; -} +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less index 0c148a8180..e307e148eb 100644 --- a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less @@ -1,3 +1,4 @@ +@import '../../doc-style.less'; /* stylelint-disable selector-type-no-unknown */ markdown { & > :nth-child(1), diff --git a/apps/doc/src/app/how-to-work/contributing/contributing.component.less b/apps/doc/src/app/how-to-work/contributing/contributing.component.less index 0c148a8180..e307e148eb 100644 --- a/apps/doc/src/app/how-to-work/contributing/contributing.component.less +++ b/apps/doc/src/app/how-to-work/contributing/contributing.component.less @@ -1,3 +1,4 @@ +@import '../../doc-style.less'; /* stylelint-disable selector-type-no-unknown */ markdown { & > :nth-child(1), diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less index a0589029dd..dee8f4901e 100644 --- a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less @@ -1,3 +1,4 @@ +@import '../../doc-style.less'; prizm-accordion { margin-top: 16px; } diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.less b/apps/doc/src/app/how-to-work/set-task/set-task.component.less index 5476ac9d13..8c30bed333 100644 --- a/apps/doc/src/app/how-to-work/set-task/set-task.component.less +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.less @@ -1,19 +1 @@ -a { - color: rgb(0, 119, 255); -} - -.disc { - li { - list-style-type: disc; - } -} - -.decimal { - li { - list-style-type: decimal; - } -} - -.italic { - font-style: italic; -} +@import '../../doc-style.less'; diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.less b/apps/doc/src/app/how-to-work/transition/transition.component.less index 4a5c830e98..8c30bed333 100644 --- a/apps/doc/src/app/how-to-work/transition/transition.component.less +++ b/apps/doc/src/app/how-to-work/transition/transition.component.less @@ -1,9 +1 @@ -a { - color: rgb(0, 119, 255); -} - -.disc { - li { - list-style-type: disc; - } -} +@import '../../doc-style.less'; From 873a619556085da3104699cbbbb09cdecc64ba0c Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 10 Mar 2023 14:05:26 +0300 Subject: [PATCH 26/32] fix: delete extra files and links --- .../changelog/changelog.component.less | 1 - .../contacts/contacts.component.less | 2 - .../design-system.component.less | 1 - .../license/license.component.less | 1 - .../repositories/repositories.component.less | 2 - .../roadmap/roadmap.component.less | 1 - .../service-level-agreement.component.less | 1 - .../technology-list.component.less | 1 - apps/doc/src/app/doc-style.less | 42 ------------------- .../introduction/introduction.component.less | 1 - .../library-requirements.component.less | 1 - .../migration/migration.component.less | 1 - .../add-component.component.less | 1 - .../codestyle/codestyle.component.less | 1 - .../contributing/contributing.component.less | 1 - .../for-developers.component.less | 1 - .../set-task/set-task.component.less | 1 - .../transition/transition.component.less | 1 - 18 files changed, 61 deletions(-) delete mode 100644 apps/doc/src/app/doc-style.less diff --git a/apps/doc/src/app/about-prizm/changelog/changelog.component.less b/apps/doc/src/app/about-prizm/changelog/changelog.component.less index 96626147ce..7c3cd2e8cd 100644 --- a/apps/doc/src/app/about-prizm/changelog/changelog.component.less +++ b/apps/doc/src/app/about-prizm/changelog/changelog.component.less @@ -1,4 +1,3 @@ -@import '../../doc-style.less'; /* stylelint-disable selector-type-no-unknown */ markdown { & > :nth-child(1), diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.component.less b/apps/doc/src/app/about-prizm/contacts/contacts.component.less index f30e751589..744f2e63d6 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.component.less +++ b/apps/doc/src/app/about-prizm/contacts/contacts.component.less @@ -1,5 +1,3 @@ -@import '../../doc-style.less'; - .examleLinks { a { pointer-events: none; diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.less b/apps/doc/src/app/about-prizm/design-system/design-system.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.less +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/about-prizm/license/license.component.less b/apps/doc/src/app/about-prizm/license/license.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/about-prizm/license/license.component.less +++ b/apps/doc/src/app/about-prizm/license/license.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.less b/apps/doc/src/app/about-prizm/repositories/repositories.component.less index 05849e4bfb..fe2753d2b6 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.less +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.less @@ -1,5 +1,3 @@ -@import '../../doc-style.less'; - h4 { padding: 0; margin: 0; diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/doc-style.less b/apps/doc/src/app/doc-style.less deleted file mode 100644 index 67077f8572..0000000000 --- a/apps/doc/src/app/doc-style.less +++ /dev/null @@ -1,42 +0,0 @@ -a { - color: rgb(0, 119, 255); -} - -.italic { - font-style: italic; -} - -.warning-agreement { - color: #ff6600; - font-style: italic; -} - -.addition { - color: #b1acb5; - font-style: italic; -} - -.doc-table { - display: flex; - flex-wrap: wrap; - gap: 1rem; -} - -.cell { - border: 1px solid #aab8c6; - border-radius: 5px; - padding: 10px; - flex: 1 1 calc((100% / 3) - 2rem); -} - -.disc { - li { - list-style-type: disc; - } -} - -.decimal { - li { - list-style-type: decimal; - } -} diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.less b/apps/doc/src/app/forZIIoT/introduction/introduction.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/forZIIoT/introduction/introduction.component.less +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/forZIIoT/migration/migration.component.less b/apps/doc/src/app/forZIIoT/migration/migration.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/forZIIoT/migration/migration.component.less +++ b/apps/doc/src/app/forZIIoT/migration/migration.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.less b/apps/doc/src/app/how-to-work/add-component/add-component.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/how-to-work/add-component/add-component.component.less +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less index e307e148eb..0c148a8180 100644 --- a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less @@ -1,4 +1,3 @@ -@import '../../doc-style.less'; /* stylelint-disable selector-type-no-unknown */ markdown { & > :nth-child(1), diff --git a/apps/doc/src/app/how-to-work/contributing/contributing.component.less b/apps/doc/src/app/how-to-work/contributing/contributing.component.less index e307e148eb..0c148a8180 100644 --- a/apps/doc/src/app/how-to-work/contributing/contributing.component.less +++ b/apps/doc/src/app/how-to-work/contributing/contributing.component.less @@ -1,4 +1,3 @@ -@import '../../doc-style.less'; /* stylelint-disable selector-type-no-unknown */ markdown { & > :nth-child(1), diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less index dee8f4901e..a0589029dd 100644 --- a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less @@ -1,4 +1,3 @@ -@import '../../doc-style.less'; prizm-accordion { margin-top: 16px; } diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.less b/apps/doc/src/app/how-to-work/set-task/set-task.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/how-to-work/set-task/set-task.component.less +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.less b/apps/doc/src/app/how-to-work/transition/transition.component.less index 8c30bed333..e69de29bb2 100644 --- a/apps/doc/src/app/how-to-work/transition/transition.component.less +++ b/apps/doc/src/app/how-to-work/transition/transition.component.less @@ -1 +0,0 @@ -@import '../../doc-style.less'; From edfe9a97acfed8992cc4a4711846f3c846e2fde0 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 10 Mar 2023 14:21:17 +0300 Subject: [PATCH 27/32] build: added styles for info pages; renamed classes --- .../design-system.component.html | 12 +-- .../repositories/repositories.component.html | 10 +-- apps/doc/src/styles.less | 74 +++++++++++++++++++ 3 files changed, 85 insertions(+), 11 deletions(-) diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.html b/apps/doc/src/app/about-prizm/design-system/design-system.component.html index 8b5d96eed4..3f1c676350 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.html +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.html @@ -35,7 +35,7 @@

      Из чего состоит дизайн-система

    1. Команда Prizm.
    -
    +

    ЦЕЛЬ СОЗДАНИЯ

    1. Снижение стоимости разработки
    2. @@ -43,7 +43,7 @@

      ЦЕЛЬ СОЗДАНИЯ

    3. Унификация множества интерфейсов
    -
    +

    ПРИЧИНА СОЗДАНИЯ

    1. Разрозненность решений
    2. @@ -51,7 +51,7 @@

      ПРИЧИНА СОЗДАНИЯ

    3. Поиски лучших решений в каждом проекте
    -
    +

    ЗАДАЧИ ДИЗАЙН-СИСТЕМЫ

    1. Стандартизация решений
    2. @@ -61,7 +61,7 @@

      ЗАДАЧИ ДИЗАЙН-СИСТЕМЫ

    3. Повышает узнаваемость бренда
    -
    +

    ПОЧЕМУ В ЭТОМ ЕСТЬ ЦЕННОСТЬ

    1. Экономит время на дизайн / разработку
    2. @@ -71,7 +71,7 @@

      ПОЧЕМУ В ЭТОМ ЕСТЬ ЦЕННОСТЬ

    3. Легко масштабируется
    -
    +

    ПРИНЦИПЫ

    1. Единый UX в продуктах
    2. @@ -83,7 +83,7 @@

      ПРИНЦИПЫ

    3. Универсальность
    -
    +

    КАКИЕ ПРЕИМУЩЕСТВА ПОЛУЧАЕМ

    1. Обучаемость пользователей
    2. diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.html b/apps/doc/src/app/about-prizm/repositories/repositories.component.html index c85a313006..c441ef0b09 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.html +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.html @@ -4,7 +4,7 @@ — в открытом доступе.

      -
      +

      Репозитории

      1. http://github.com/zyfra/Prizm - репозиторий
      2. @@ -16,7 +16,7 @@

        Репозитории

      -
      +

      Figma Community

      1. @@ -36,7 +36,7 @@

        Figma Community

      -
      +

      Figma Zyfra Organization

      1. @@ -68,7 +68,7 @@

        Figma Zyfra Organization

      -
      +

      Главные ссылки

      1. prizm.zyfra.com – главная страница Prizm
      2. @@ -94,7 +94,7 @@

        Главные ссылки

      -
      +

      О релизах

      https://github.com/zyfra/Prizm/releases – diff --git a/apps/doc/src/styles.less b/apps/doc/src/styles.less index 77978634f5..e68b0e0cb5 100644 --- a/apps/doc/src/styles.less +++ b/apps/doc/src/styles.less @@ -110,3 +110,77 @@ prizm-doc-page, .t-content prizm-doc-example:first-child { padding-top: 20px; } +//for page with info +prizm-doc-page.info-page { + font-family: 'Inter'; + font-weight: 400; + font-size: 18px; + line-height: 27px; + + h1 { + font-weight: 700; + font-size: 32px; + line-height: 38px; + } + + h2 { + font-weight: 700; + font-size: 24px; + line-height: 32px; + } + + h3 { + font-weight: 600; + font-size: 2px; + line-height: 24px; + } + + ol { + line-height: 36px; + } + + a { + color: rgb(0, 119, 255); + } + + .italic { + font-style: italic; + } + + .warning-agreement { + color: #ff6600; + font-style: italic; + } + + .addition { + color: #b1acb5; + font-style: italic; + } + + .doc { + &-table { + display: flex; + flex-wrap: wrap; + gap: 1rem; + } + + &-cell { + border: 1px solid #aab8c6; + border-radius: 5px; + padding: 10px; + flex: 1 1 calc((100% / 3) - 2rem); + } + } + + .disc { + li { + list-style-type: disc; + } + } + + .decimal { + li { + list-style-type: decimal; + } + } +} From 1149b8b5011b16d3c4ddd25dbba8502ae34b0064 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 10 Mar 2023 14:36:39 +0300 Subject: [PATCH 28/32] fix: delete accordion from 'contacts'; added styles 'info-page' --- .../contacts/contacts.component.html | 268 +++++++++--------- .../about-prizm/contacts/contacts.module.ts | 5 +- 2 files changed, 130 insertions(+), 143 deletions(-) diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.component.html b/apps/doc/src/app/about-prizm/contacts/contacts.component.html index 1d53273237..68cf953765 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.component.html +++ b/apps/doc/src/app/about-prizm/contacts/contacts.component.html @@ -1,143 +1,131 @@ - +

      Способы связи

      - - - -

      Для связи с командой Prizm можно воспользоваться следующими способами:

      -
        -
      1. - С помощью отправки письма на электронный почтовый ящик – - prizm@zyfra.com -
      2. -
      3. - С помощью Issue - способ описан на странице - Сontributing -
      4. -
      -

      - Скорость реакции и сроки реакции указаны на странице - "SLA – соглашение об уровне услуг". -

      -

      - Регистрация запросов производится круглосуточно. Рабочее время 9.00 до 18.00 (время московское), - перерыв с 12.00 до 13.00, в рабочие дни. Запросы, поступившие в нерабочее время, обрабатываются в - следующий рабочий день. -

      -
      -

      Важно!

      -

      На каждую задачу – свое письмо.

      -
      -
      -
      - - -

      - При получении письма на prizm@zyfra.com срабатывает процесс: -

      -
        -
      1. Создаётся задача в Jira
      2. -
      3. В зависимости от первого слова в теме письма тикет получает свой тип (bug, feature и т.д.)
      4. -
      5. Задача в Jira назначается на исполнителя
      6. -
      7. Новая задача линкуется к эпику в Jira
      8. -
      9. - Минимум один раз в три рабочих дня мы проверяем и разбираем новые задачи, которые поступают нам - через почту и issue из репозитория -
      10. -
      11. - После разбора задач, каждой задачи присваивает статус, которая команда считает верным, задача - планируется в работу. -
      12. -
      -
      -
      - - -

      Правильное заполнение темы и содержимого повышает скорость обработки.

      -
        -
      1. Тему нужно начинать с одного из типа тикетов.
      2. -
      3. Писать тип этикета в теме нужно на англиском языке.
      4. -
      5. Остальную часть темы можно на русском.
      6. -
      7. В теме важно отразить суть.
      8. -
      9. Используйте здравый смысл и критическое мышление.
      10. -
      11. Если есть сложности с определением типа тикета, то выбирайте «question».
      12. -
      13. - Обязательно укажите как с вами связаться. Оптимальнее всего указать электронную почту и telegram. -
      14. -
      - - - - - - - - - - - - - - - -
      Тип тикетаРасшифровка
      {{ item.name }}{{ item.description }}
      -
      -
      - - -

      - Пример темы: question. У нас есть самописная диаграмма Санкея. Хотим её передать - вам на поддержку. -

      -

      Содержимое письма

      -
        -
      1. - Статус (по вашему мнению) -
          -
        1. 🔴 Высокий
        2. -
        3. 🟠 Средний
        4. -
        5. 🟡 Низкий
        6. -
        -
      2. -
      3. - Описание проблемы -
          -
        1. - Мы использовали свою диаграмму Санкея. Разработали её. Сейчас нет возможности её поддерживать. - Она соответствует вашим требованиям к компоненту. Узнали, что такие же требования к самой - диаграмме есть у других команд. -
        2. -
        -
      4. -
      5. - Предложение решения (если есть) -
          -
        1. Мы хотим передать её вам на поддержку. Сможете её принять?
        2. -
        -
      6. -
      7. - Контакты -
          -
        1. name@name.com
        2. -
        3. @telegram
        4. -
        -
      8. -
      9. - Дополнительная информация и ссылки - -
      10. -
      -
      -
      -
      +

      Введение

      + +

      Для связи с командой Prizm можно воспользоваться следующими способами:

      +
        +
      1. + С помощью отправки письма на электронный почтовый ящик – + prizm@zyfra.com +
      2. +
      3. + С помощью Issue - способ описан на странице + Сontributing +
      4. +
      +

      + Скорость реакции и сроки реакции указаны на странице + "SLA – соглашение об уровне услуг". +

      +

      + Регистрация запросов производится круглосуточно. Рабочее время 9.00 до 18.00 (время московское), перерыв с + 12.00 до 13.00, в рабочие дни. Запросы, поступившие в нерабочее время, обрабатываются в следующий рабочий + день. +

      +
      +

      Важно!

      +

      На каждую задачу – свое письмо.

      +
      + +

      Как это работает

      + +

      При получении письма на prizm@zyfra.com срабатывает процесс:

      +
        +
      1. Создаётся задача в Jira
      2. +
      3. В зависимости от первого слова в теме письма тикет получает свой тип (bug, feature и т.д.)
      4. +
      5. Задача в Jira назначается на исполнителя
      6. +
      7. Новая задача линкуется к эпику в Jira
      8. +
      9. + Минимум один раз в три рабочих дня мы проверяем и разбираем новые задачи, которые поступают нам через + почту и issue из репозитория +
      10. +
      11. + После разбора задач, каждой задачи присваивает статус, которая команда считает верным, задача + планируется в работу. +
      12. +
      + +

      Шаблон письма

      + +

      Правильное заполнение темы и содержимого повышает скорость обработки.

      +
        +
      1. Тему нужно начинать с одного из типа тикетов.
      2. +
      3. Писать тип этикета в теме нужно на англиском языке.
      4. +
      5. Остальную часть темы можно на русском.
      6. +
      7. В теме важно отразить суть.
      8. +
      9. Используйте здравый смысл и критическое мышление.
      10. +
      11. Если есть сложности с определением типа тикета, то выбирайте «question».
      12. +
      13. Обязательно укажите как с вами связаться. Оптимальнее всего указать электронную почту и telegram.
      14. +
      + + + + + + + + + + + + + + + + +
      Тип тикетаРасшифровка
      {{ item.name }}{{ item.description }}
      + +

      Пример письма

      + +

      + Пример темы: question. У нас есть самописная диаграмма Санкея. Хотим её передать вам на + поддержку. +

      +

      Содержимое письма

      +
        +
      1. + Статус (по вашему мнению) +
          +
        1. 🔴 Высокий
        2. +
        3. 🟠 Средний
        4. +
        5. 🟡 Низкий
        6. +
        +
      2. +
      3. + Описание проблемы +
          +
        1. + Мы использовали свою диаграмму Санкея. Разработали её. Сейчас нет возможности её поддерживать. Она + соответствует вашим требованиям к компоненту. Узнали, что такие же требования к самой диаграмме есть + у других команд. +
        2. +
        +
      4. +
      5. + Предложение решения (если есть) +
          +
        1. Мы хотим передать её вам на поддержку. Сможете её принять?
        2. +
        +
      6. +
      7. + Контакты +
          +
        1. name@name.com
        2. +
        3. @telegram
        4. +
        +
      8. +
      9. + Дополнительная информация и ссылки + +
      10. +
      diff --git a/apps/doc/src/app/about-prizm/contacts/contacts.module.ts b/apps/doc/src/app/about-prizm/contacts/contacts.module.ts index 6ef31ab51c..6063f77392 100644 --- a/apps/doc/src/app/about-prizm/contacts/contacts.module.ts +++ b/apps/doc/src/app/about-prizm/contacts/contacts.module.ts @@ -7,9 +7,8 @@ import { ContactsComponent } from './contacts.component'; @NgModule({ exports: [ContactsComponent], declarations: [ContactsComponent], - imports: [ - PrizmTableModule, - PrizmAccordionModule, + imports: [ + PrizmTableModule, PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(ContactsComponent)), ], From fce0887e8527e1b2050c9269e07c8de4673b1c59 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 10 Mar 2023 14:46:03 +0300 Subject: [PATCH 29/32] fix: fix font-size for h3 --- apps/doc/src/styles.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/doc/src/styles.less b/apps/doc/src/styles.less index e68b0e0cb5..3bbabd8464 100644 --- a/apps/doc/src/styles.less +++ b/apps/doc/src/styles.less @@ -131,7 +131,7 @@ prizm-doc-page.info-page { h3 { font-weight: 600; - font-size: 2px; + font-size: 20px; line-height: 24px; } From 6237d5af8cdb8f46cc657f2ed5b96681984e07e4 Mon Sep 17 00:00:00 2001 From: Yakov Date: Fri, 10 Mar 2023 15:06:56 +0300 Subject: [PATCH 30/32] build: added basic style for 'info page': design-system, repositories, release policy, SLA,... (etc) --- .../changelog/changelog.component.html | 2 +- .../design-system.component.html | 2 +- .../release-policy.component.html | 2 +- .../repositories/repositories.component.html | 2 +- .../repositories/repositories.component.less | 20 ++++++++++--------- .../roadmap/roadmap.component.html | 2 +- .../service-level-agreement.component.html | 2 +- .../technology-list.component.html | 2 +- .../introduction/introduction.component.html | 2 +- .../library-requirements.component.html | 2 +- .../migration/migration.component.html | 4 ++-- .../add-component.component.html | 4 ++-- .../codestyle/codestyle.component.html | 2 +- .../contributing/contributing.component.html | 2 +- .../for-developers.component.html | 2 +- .../set-task/set-task.component.html | 2 +- .../transition/transition.component.html | 2 +- 17 files changed, 29 insertions(+), 27 deletions(-) diff --git a/apps/doc/src/app/about-prizm/changelog/changelog.component.html b/apps/doc/src/app/about-prizm/changelog/changelog.component.html index 21745086c7..f4d600662c 100644 --- a/apps/doc/src/app/about-prizm/changelog/changelog.component.html +++ b/apps/doc/src/app/about-prizm/changelog/changelog.component.html @@ -1,3 +1,3 @@ - + diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.html b/apps/doc/src/app/about-prizm/design-system/design-system.component.html index 3f1c676350..b21c238e6e 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.html +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.html @@ -1,4 +1,4 @@ - +

      Дизайн-система «PRIZM» представляет собой симбиоз дизайн-системы Spectr (ГПН БЛПС) и дизайн-системы ZIIoT design system 3.0, учитывает специфику промышленности, где представлена платформа, diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html index fb42e956ab..5b115ae38b 100644 --- a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html +++ b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html @@ -1,3 +1,3 @@ - +

      Эта страница сейчас в работе

      diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.html b/apps/doc/src/app/about-prizm/repositories/repositories.component.html index c441ef0b09..47931e077e 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.html +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.html @@ -1,4 +1,4 @@ - +

      Библиотеки дизайн-системы Prizm для разработчиков написаны на Angular и хранятся в репозиториях на GitHub — в открытом доступе. diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.less b/apps/doc/src/app/about-prizm/repositories/repositories.component.less index fe2753d2b6..35b86bc311 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.less +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.less @@ -1,13 +1,15 @@ -h4 { - padding: 0; - margin: 0; -} +prizm-doc-page.info-page { + .doc-cell { + flex-basis: 100%; + } -.cell { - flex-basis: 100%; + .halfSize { + flex-basis: 50%; + flex: 1 1 calc((100% / 2) - 2rem); + } } -.halfSize { - flex-basis: 50%; - flex: 1 1 calc((100% / 2) - 2rem); +h4 { + padding: 0; + margin: 0; } diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html index 279dcfa5b6..8631f9f461 100644 --- a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html @@ -1,4 +1,4 @@ - +

      Сейчас мы работаем над интеграцией github и jira. После завершения работы в GitHub будет доступна дорожная карта по этой ссылке. diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html index 1ed04cb68a..f6b113cb48 100644 --- a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html @@ -1,4 +1,4 @@ - +

      Настоящее соглашение определяет политику взаимоотношений при использовании дизайн-системы Prizm.

      Ссылки в скором времени будут актуализированы

      diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html index 8cf7875a9a..9550386c50 100644 --- a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html @@ -1,3 +1,3 @@ - +

      Эта страница сейчас в работе

      diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.html b/apps/doc/src/app/forZIIoT/introduction/introduction.component.html index 8fd0a1a849..c202ee18ce 100644 --- a/apps/doc/src/app/forZIIoT/introduction/introduction.component.html +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.html @@ -1,4 +1,4 @@ - +

      Установка

      Следуйте ручной установке: diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html index 17a9d62e1e..49079878b6 100644 --- a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html @@ -1,4 +1,4 @@ - +

      Требования которые необходимо соблюдать при вводе общих библиотек в платформу. Все требования основаны на том что у нас один контекст, одно окружение, одни общие ресурсы, один экран браузера. diff --git a/apps/doc/src/app/forZIIoT/migration/migration.component.html b/apps/doc/src/app/forZIIoT/migration/migration.component.html index 5ad6497518..3ae44690f8 100644 --- a/apps/doc/src/app/forZIIoT/migration/migration.component.html +++ b/apps/doc/src/app/forZIIoT/migration/migration.component.html @@ -1,4 +1,4 @@ - + We later add migration guides from previous ui library to Prizm.
      Please wait for a while. -
      \ No newline at end of file +
      diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.html b/apps/doc/src/app/how-to-work/add-component/add-component.component.html index 38da2d2a02..3b80f978c1 100644 --- a/apps/doc/src/app/how-to-work/add-component/add-component.component.html +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.html @@ -1,4 +1,4 @@ - +

      Дизайн-система Prizm постоянно развивается, появляются новые компоненты. Вы можете внести свой вклад и познакомить других участников со своими наработками, предложить добавить новый компонент. Отправьте нам @@ -47,7 +47,7 @@

      Как проходит согласование

    3. Успех.
    -

    Примерный план

    +

    Примерный план

    ЭТАП 1

    Принимаем решение

    diff --git a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html index b2184f1eaa..d87fe03d3d 100644 --- a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html @@ -1,3 +1,3 @@ - + diff --git a/apps/doc/src/app/how-to-work/contributing/contributing.component.html b/apps/doc/src/app/how-to-work/contributing/contributing.component.html index 240369126c..b9427df29f 100644 --- a/apps/doc/src/app/how-to-work/contributing/contributing.component.html +++ b/apps/doc/src/app/how-to-work/contributing/contributing.component.html @@ -1,3 +1,3 @@ - + diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html index a158cc960d..912b49e286 100644 --- a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html @@ -1,4 +1,4 @@ - +

    Default install:

    diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.html b/apps/doc/src/app/how-to-work/set-task/set-task.component.html index d4e376dd3b..64731ae5a0 100644 --- a/apps/doc/src/app/how-to-work/set-task/set-task.component.html +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.html @@ -1,4 +1,4 @@ - +

    В статье «Способы связи с командой Prizm +

    Подключите библиотеки

    Как работать с Prizm (быстрый старт) From 73340ee136f2dd1c163902010300e7139499668e Mon Sep 17 00:00:00 2001 From: Yakov Date: Tue, 14 Mar 2023 20:59:21 +0300 Subject: [PATCH 31/32] fix: fix header line-height; fix margin --- .../app/about-prizm/design-system/design-system.component.less | 3 +++ libs/doc/base/src/lib/components/page/page.style.less | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.less b/apps/doc/src/app/about-prizm/design-system/design-system.component.less index e69de29bb2..a20252c8fd 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.less +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.less @@ -0,0 +1,3 @@ +h4 { + margin-top: 0; +} diff --git a/libs/doc/base/src/lib/components/page/page.style.less b/libs/doc/base/src/lib/components/page/page.style.less index b2a894163f..e377ebb9db 100644 --- a/libs/doc/base/src/lib/components/page/page.style.less +++ b/libs/doc/base/src/lib/components/page/page.style.less @@ -19,7 +19,7 @@ box-sizing: border-box; flex-shrink: 0; margin: 0 ~'min(10vw, 8.75rem)'; - line-height: 200%; + line-height: 300%; :host-context(tui-root._mobile) & { font: var(--tui-font-heading-4); From ca2d21e9c0ffb902184b2c9ae6e342827bebad8b Mon Sep 17 00:00:00 2001 From: Zurab Developer <75216044+ZurabDev@users.noreply.github.com> Date: Fri, 17 Mar 2023 17:05:13 +0300 Subject: [PATCH 32/32] chore: fix lint error --- .../design-system.component.html | 196 ++++---- .../design-system.component.less | 6 +- .../design-system/design-system.module.ts | 25 +- .../release-policy.component.html | 6 +- .../release-policy.component.spec.ts | 48 +- .../release-policy.component.ts | 18 +- .../release-policy/release-policy.module.ts | 22 +- .../repositories/repositories.component.html | 210 ++++---- .../repositories/repositories.component.less | 30 +- .../repositories.component.spec.ts | 49 +- .../repositories/repositories.component.ts | 18 +- .../repositories/repositories.module.ts | 25 +- .../roadmap/roadmap.component.html | 12 +- .../roadmap/roadmap.component.spec.ts | 48 +- .../about-prizm/roadmap/roadmap.component.ts | 18 +- .../app/about-prizm/roadmap/roadmap.module.ts | 22 +- .../service-level-agreement.component.html | 472 +++++++++--------- .../service-level-agreement.component.spec.ts | 48 +- .../service-level-agreement.component.ts | 412 +++++++-------- .../service-level-agreement.module.ts | 34 +- .../technology-list.component.html | 6 +- .../technology-list.component.spec.ts | 48 +- .../technology-list.component.ts | 18 +- .../technology-list/technology-list.module.ts | 22 +- .../components/table/table-example.const.ts | 368 +++++++------- .../app/documentation/about/about.module.ts | 18 +- .../introduction/introduction.component.html | 64 +-- .../introduction.component.spec.ts | 48 +- .../introduction/introduction.component.ts | 78 +-- .../introduction/introduction.module.ts | 22 +- .../library-requirements.component.html | 178 +++---- .../library-requirements.component.spec.ts | 48 +- .../library-requirements.component.ts | 18 +- .../library-requirements.module.ts | 22 +- .../migration/migration.component.html | 8 +- .../migration/migration.component.spec.ts | 52 +- .../forZIIoT/migration/migration.component.ts | 18 +- .../forZIIoT/migration/migration.module.ts | 25 +- .../add-component.component.html | 212 ++++---- .../add-component.component.spec.ts | 48 +- .../add-component/add-component.component.ts | 24 +- .../add-component/add-component.module.ts | 22 +- .../codestyle/codestyle.component.html | 6 +- .../codestyle/codestyle.component.less | 176 +++---- .../codestyle/codestyle.component.ts | 30 +- .../how-to-work/codestyle/codestyle.module.ts | 36 +- .../contributing/contributing.component.html | 6 +- .../contributing/contributing.component.less | 176 +++---- .../contributing/contributing.component.ts | 30 +- .../contributing/contributing.module.ts | 36 +- .../for-developers.component.html | 148 +++--- .../for-developers.component.less | 30 +- .../for-developers.component.spec.ts | 48 +- .../for-developers.component.ts | 84 ++-- .../for-developers/for-developers.module.ts | 32 +- .../set-task/set-task.component.html | 68 +-- .../set-task/set-task.component.spec.ts | 48 +- .../set-task/set-task.component.ts | 24 +- .../how-to-work/set-task/set-task.module.ts | 22 +- .../transition/transition.component.html | 162 +++--- .../transition/transition.component.spec.ts | 48 +- .../transition/transition.component.ts | 24 +- .../transition/transition.module.ts | 22 +- .../dialogs/dialog/dialog.component.less | 138 ++--- .../src/lib/components/table/table.module.ts | 124 ++--- .../src/lib/components/table/tr/tr.style.less | 82 +-- .../lib/components/table/tr/tr.template.html | 8 +- 67 files changed, 2342 insertions(+), 2352 deletions(-) diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.html b/apps/doc/src/app/about-prizm/design-system/design-system.component.html index b21c238e6e..ba33f72228 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.html +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.html @@ -1,98 +1,98 @@ - -

    - Дизайн-система «PRIZM» представляет собой симбиоз дизайн-системы Spectr (ГПН БЛПС) и - дизайн-системы ZIIoT design system 3.0, учитывает специфику промышленности, где представлена платформа, - наш прошлый опыт и рынок, куда мы хотим попасть. Prizm распространяется по типу - лицензии MIT и подходит для создания цифровых - продуктов, включая бизнес-приложения поверх платформы ZIIoT. По сути, это единый визуальный язык и его - техническое отражение в виде библиотеки компонентов в одном общем хранилище. Он не имеет отношения к - back-end, а скорее представляет собой документ, объединяющий в себе информацию о решениях и требованиях, - которые должны быть использованы при разработке и обновлении частей платформы и прикладных решений на - ZIIoT. На него необходимо будет ссылаться при разработке технических заданий, руководств пользователя и - прочих документов. -

    - -

    Для кого

    - -
      -
    1. Аналитиков
    2. -
    3. Руководителей проектов
    4. -
    5. Проектировщиков
    6. -
    7. Владельцев продуктов
    8. -
    9. Дизайнеров
    10. -
    11. Тестировщиков
    12. -
    13. Разработчиков
    14. -
    15. Технических писателей
    16. -
    - -

    Из чего состоит дизайн-система

    - -
      -
    1. Библиотека интерфейсных компонентов
    2. -
    3. Библиотке компонентов в Figma
    4. -
    5. Правила, рекомендации, гайдлайны, патерны, шаблоны, витрина компонентов.
    6. -
    7. Философия к дизайну, разработке, поддержке.
    8. -
    9. Команда Prizm.
    10. -
    -
    -
    -

    ЦЕЛЬ СОЗДАНИЯ

    -
      -
    1. Снижение стоимости разработки
    2. -
    3. Снижение стоимости дизайна
    4. -
    5. Унификация множества интерфейсов
    6. -
    -
    -
    -

    ПРИЧИНА СОЗДАНИЯ

    -
      -
    1. Разрозненность решений
    2. -
    3. Отсутствие единого источника правды
    4. -
    5. Поиски лучших решений в каждом проекте
    6. -
    -
    -
    -

    ЗАДАЧИ ДИЗАЙН-СИСТЕМЫ

    -
      -
    1. Стандартизация решений
    2. -
    3. Независимость проектов от состава команд
    4. -
    5. Упрощение передачи продукта по стадиям «исследование – дизайн – разработка»
    6. -
    7. Снижение затрат на поддержку, развитие и запуск продуктов
    8. -
    9. Повышает узнаваемость бренда
    10. -
    -
    -
    -

    ПОЧЕМУ В ЭТОМ ЕСТЬ ЦЕННОСТЬ

    -
      -
    1. Экономит время на дизайн / разработку
    2. -
    3. Динамична и легко обновляемая
    4. -
    5. Стандартизирует интерфейсы и минимизирует баги
    6. -
    7. Служит готовым конструктором
    8. -
    9. Легко масштабируется
    10. -
    -
    -
    -

    ПРИНЦИПЫ

    -
      -
    1. Единый UX в продуктах
    2. -
    3. Масштабируемость
    4. -
    5. Дизайн на основе данных
    6. -
    7. Локализация
    8. -
    9. Сохранение интересов продукта
    10. -
    11. Развитие и потенциал для эволюции
    12. -
    13. Универсальность
    14. -
    -
    -
    -

    КАКИЕ ПРЕИМУЩЕСТВА ПОЛУЧАЕМ

    -
      -
    1. Обучаемость пользователей
    2. -
    3. Переиспользование графических элементов, паттернов
    4. -
    5. Единообразие компонентов
    6. -
    7. Удешевление тестирования
    8. -
    9. Переиспользование кода / единые компоненты на технологическом уровне
    10. -
    11. Структурированность
    12. -
    -
    -
    -
    + +

    + Дизайн-система «PRIZM» представляет собой симбиоз дизайн-системы Spectr (ГПН БЛПС) и + дизайн-системы ZIIoT design system 3.0, учитывает специфику промышленности, где представлена платформа, + наш прошлый опыт и рынок, куда мы хотим попасть. Prizm распространяется по типу + лицензии MIT и подходит для создания цифровых + продуктов, включая бизнес-приложения поверх платформы ZIIoT. По сути, это единый визуальный язык и его + техническое отражение в виде библиотеки компонентов в одном общем хранилище. Он не имеет отношения к + back-end, а скорее представляет собой документ, объединяющий в себе информацию о решениях и требованиях, + которые должны быть использованы при разработке и обновлении частей платформы и прикладных решений на + ZIIoT. На него необходимо будет ссылаться при разработке технических заданий, руководств пользователя и + прочих документов. +

    + +

    Для кого

    + +
      +
    1. Аналитиков
    2. +
    3. Руководителей проектов
    4. +
    5. Проектировщиков
    6. +
    7. Владельцев продуктов
    8. +
    9. Дизайнеров
    10. +
    11. Тестировщиков
    12. +
    13. Разработчиков
    14. +
    15. Технических писателей
    16. +
    + +

    Из чего состоит дизайн-система

    + +
      +
    1. Библиотека интерфейсных компонентов
    2. +
    3. Библиотке компонентов в Figma
    4. +
    5. Правила, рекомендации, гайдлайны, патерны, шаблоны, витрина компонентов.
    6. +
    7. Философия к дизайну, разработке, поддержке.
    8. +
    9. Команда Prizm.
    10. +
    +
    +
    +

    ЦЕЛЬ СОЗДАНИЯ

    +
      +
    1. Снижение стоимости разработки
    2. +
    3. Снижение стоимости дизайна
    4. +
    5. Унификация множества интерфейсов
    6. +
    +
    +
    +

    ПРИЧИНА СОЗДАНИЯ

    +
      +
    1. Разрозненность решений
    2. +
    3. Отсутствие единого источника правды
    4. +
    5. Поиски лучших решений в каждом проекте
    6. +
    +
    +
    +

    ЗАДАЧИ ДИЗАЙН-СИСТЕМЫ

    +
      +
    1. Стандартизация решений
    2. +
    3. Независимость проектов от состава команд
    4. +
    5. Упрощение передачи продукта по стадиям «исследование – дизайн – разработка»
    6. +
    7. Снижение затрат на поддержку, развитие и запуск продуктов
    8. +
    9. Повышает узнаваемость бренда
    10. +
    +
    +
    +

    ПОЧЕМУ В ЭТОМ ЕСТЬ ЦЕННОСТЬ

    +
      +
    1. Экономит время на дизайн / разработку
    2. +
    3. Динамична и легко обновляемая
    4. +
    5. Стандартизирует интерфейсы и минимизирует баги
    6. +
    7. Служит готовым конструктором
    8. +
    9. Легко масштабируется
    10. +
    +
    +
    +

    ПРИНЦИПЫ

    +
      +
    1. Единый UX в продуктах
    2. +
    3. Масштабируемость
    4. +
    5. Дизайн на основе данных
    6. +
    7. Локализация
    8. +
    9. Сохранение интересов продукта
    10. +
    11. Развитие и потенциал для эволюции
    12. +
    13. Универсальность
    14. +
    +
    +
    +

    КАКИЕ ПРЕИМУЩЕСТВА ПОЛУЧАЕМ

    +
      +
    1. Обучаемость пользователей
    2. +
    3. Переиспользование графических элементов, паттернов
    4. +
    5. Единообразие компонентов
    6. +
    7. Удешевление тестирования
    8. +
    9. Переиспользование кода / единые компоненты на технологическом уровне
    10. +
    11. Структурированность
    12. +
    +
    +
    +
    diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.component.less b/apps/doc/src/app/about-prizm/design-system/design-system.component.less index a20252c8fd..6a7c6a5278 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.component.less +++ b/apps/doc/src/app/about-prizm/design-system/design-system.component.less @@ -1,3 +1,3 @@ -h4 { - margin-top: 0; -} +h4 { + margin-top: 0; +} diff --git a/apps/doc/src/app/about-prizm/design-system/design-system.module.ts b/apps/doc/src/app/about-prizm/design-system/design-system.module.ts index 86a1851674..038bd76272 100644 --- a/apps/doc/src/app/about-prizm/design-system/design-system.module.ts +++ b/apps/doc/src/app/about-prizm/design-system/design-system.module.ts @@ -1,14 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { DesignSystemComponent } from './design-system.component'; - -@NgModule({ - exports: [DesignSystemComponent], - declarations: [DesignSystemComponent], - imports: [ - PrizmAddonDocModule, - RouterModule.forChild(prizmDocGenerateRoutes(DesignSystemComponent)), - ], -}) -export class DesignSystemModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { DesignSystemComponent } from './design-system.component'; + +@NgModule({ + exports: [DesignSystemComponent], + declarations: [DesignSystemComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(DesignSystemComponent))], +}) +export class DesignSystemModule {} diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html index 5b115ae38b..a1aea239ae 100644 --- a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html +++ b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.html @@ -1,3 +1,3 @@ - -

    Эта страница сейчас в работе

    -
    + +

    Эта страница сейчас в работе

    +
    diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.spec.ts b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.spec.ts index 7fffc42d15..a4e664a340 100644 --- a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.spec.ts +++ b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ReleasePolicyComponent } from './release-policy.component'; - -describe('ReleasePolicyComponent', () => { - let component: ReleasePolicyComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ReleasePolicyComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ReleasePolicyComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ReleasePolicyComponent } from './release-policy.component'; + +describe('ReleasePolicyComponent', () => { + let component: ReleasePolicyComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ReleasePolicyComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ReleasePolicyComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.ts b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.ts index 8dc52e4d45..afffdedb93 100644 --- a/apps/doc/src/app/about-prizm/release-policy/release-policy.component.ts +++ b/apps/doc/src/app/about-prizm/release-policy/release-policy.component.ts @@ -1,9 +1,9 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-release-policy', - templateUrl: './release-policy.component.html', - styleUrls: ['./release-policy.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class ReleasePolicyComponent {} +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-release-policy', + templateUrl: './release-policy.component.html', + styleUrls: ['./release-policy.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ReleasePolicyComponent {} diff --git a/apps/doc/src/app/about-prizm/release-policy/release-policy.module.ts b/apps/doc/src/app/about-prizm/release-policy/release-policy.module.ts index 94a11f8e5a..216f31b8d6 100644 --- a/apps/doc/src/app/about-prizm/release-policy/release-policy.module.ts +++ b/apps/doc/src/app/about-prizm/release-policy/release-policy.module.ts @@ -1,11 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { ReleasePolicyComponent } from './release-policy.component'; - -@NgModule({ - exports: [ReleasePolicyComponent], - declarations: [ReleasePolicyComponent], - imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(ReleasePolicyComponent))], -}) -export class ReleasePolicyModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { ReleasePolicyComponent } from './release-policy.component'; + +@NgModule({ + exports: [ReleasePolicyComponent], + declarations: [ReleasePolicyComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(ReleasePolicyComponent))], +}) +export class ReleasePolicyModule {} diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.html b/apps/doc/src/app/about-prizm/repositories/repositories.component.html index 47931e077e..66fab8d241 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.html +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.html @@ -1,105 +1,105 @@ - -

    - Библиотеки дизайн-системы Prizm для разработчиков написаны на Angular и хранятся в репозиториях на GitHub - — в открытом доступе. -

    -
    -
    -

    Репозитории

    -
      -
    1. http://github.com/zyfra/Prizm - репозиторий
    2. -
    3. - https://gitlab.idp.yc.ziiot.ru/public-group/zui-sdk - - репозиторий -
    4. -
    -
    - - -
    -

    Главные ссылки

    -
      -
    1. prizm.zyfra.com – главная страница Prizm
    2. -
    3. - doc.prizm.zyfra.com – витрина. Примеры работающих - компонентов -
    4. -
    5. github.com/zyfra/Prizm – репозиторий
    6. -
    7. Телеграм-канал с новостями и релизами
    8. -
    9. - https://ziiot-dev-11.kube01.yc.ziiot.ru – - внутренний полигон -
    10. -
    11. - Figma: - Prizm design system -
        -
      1. - Проект: — - Prizm design system -
      2. -
      -
    12. -
    -
    -
    -

    О релизах

    -

    - https://github.com/zyfra/Prizm/releases – - подпишитесь на страницу -

    -
    -
    -
    + +

    + Библиотеки дизайн-системы Prizm для разработчиков написаны на Angular и хранятся в репозиториях на GitHub + — в открытом доступе. +

    +
    +
    +

    Репозитории

    +
      +
    1. http://github.com/zyfra/Prizm - репозиторий
    2. +
    3. + https://gitlab.idp.yc.ziiot.ru/public-group/zui-sdk + - репозиторий +
    4. +
    +
    + + +
    +

    Главные ссылки

    +
      +
    1. prizm.zyfra.com – главная страница Prizm
    2. +
    3. + doc.prizm.zyfra.com – витрина. Примеры работающих + компонентов +
    4. +
    5. github.com/zyfra/Prizm – репозиторий
    6. +
    7. Телеграм-канал с новостями и релизами
    8. +
    9. + https://ziiot-dev-11.kube01.yc.ziiot.ru – + внутренний полигон +
    10. +
    11. + Figma: + Prizm design system +
        +
      1. + Проект: — + Prizm design system +
      2. +
      +
    12. +
    +
    +
    +

    О релизах

    +

    + https://github.com/zyfra/Prizm/releases – + подпишитесь на страницу +

    +
    +
    +
    diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.less b/apps/doc/src/app/about-prizm/repositories/repositories.component.less index 35b86bc311..1c00b3fdf5 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.less +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.less @@ -1,15 +1,15 @@ -prizm-doc-page.info-page { - .doc-cell { - flex-basis: 100%; - } - - .halfSize { - flex-basis: 50%; - flex: 1 1 calc((100% / 2) - 2rem); - } -} - -h4 { - padding: 0; - margin: 0; -} +prizm-doc-page.info-page { + .doc-cell { + flex-basis: 100%; + } + + .halfSize { + flex-basis: 50%; + flex: 1 1 calc((100% / 2) - 2rem); + } +} + +h4 { + padding: 0; + margin: 0; +} diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.spec.ts b/apps/doc/src/app/about-prizm/repositories/repositories.component.spec.ts index ada2a07e13..e762a69001 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.spec.ts +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.spec.ts @@ -1,25 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { RepositoriesComponent } from './repositories.component'; - -describe('RepositoriesComponent', () => { - let component: RepositoriesComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ RepositoriesComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(RepositoriesComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RepositoriesComponent } from './repositories.component'; + +describe('RepositoriesComponent', () => { + let component: RepositoriesComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [RepositoriesComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(RepositoriesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.component.ts b/apps/doc/src/app/about-prizm/repositories/repositories.component.ts index 6d5c6791f0..351e9e24f0 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.component.ts +++ b/apps/doc/src/app/about-prizm/repositories/repositories.component.ts @@ -1,9 +1,9 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-repositories', - templateUrl: './repositories.component.html', - styleUrls: ['./repositories.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush -}) -export class RepositoriesComponent {} +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-repositories', + templateUrl: './repositories.component.html', + styleUrls: ['./repositories.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class RepositoriesComponent {} diff --git a/apps/doc/src/app/about-prizm/repositories/repositories.module.ts b/apps/doc/src/app/about-prizm/repositories/repositories.module.ts index a298bcfca8..3b81e65679 100644 --- a/apps/doc/src/app/about-prizm/repositories/repositories.module.ts +++ b/apps/doc/src/app/about-prizm/repositories/repositories.module.ts @@ -1,14 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { RepositoriesComponent } from './repositories.component'; - -@NgModule({ - exports: [RepositoriesComponent], - declarations: [RepositoriesComponent], - imports: [ - PrizmAddonDocModule, - RouterModule.forChild(prizmDocGenerateRoutes(RepositoriesComponent)), - ], -}) -export class RepositoriesModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { RepositoriesComponent } from './repositories.component'; + +@NgModule({ + exports: [RepositoriesComponent], + declarations: [RepositoriesComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(RepositoriesComponent))], +}) +export class RepositoriesModule {} diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html index 8631f9f461..4dccfad557 100644 --- a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.html @@ -1,6 +1,6 @@ - -

    - Сейчас мы работаем над интеграцией github и jira. После завершения работы в GitHub будет доступна дорожная - карта по этой ссылке. -

    -
    + +

    + Сейчас мы работаем над интеграцией github и jira. После завершения работы в GitHub будет доступна дорожная + карта по этой ссылке. +

    +
    diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.spec.ts b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.spec.ts index 49c6d65973..7fa1d337c1 100644 --- a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.spec.ts +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { RoadmapComponent } from './roadmap.component'; - -describe('RoadmapComponent', () => { - let component: RoadmapComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [RoadmapComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(RoadmapComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { RoadmapComponent } from './roadmap.component'; + +describe('RoadmapComponent', () => { + let component: RoadmapComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [RoadmapComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(RoadmapComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.ts b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.ts index 44ebe784a2..13caa9723e 100644 --- a/apps/doc/src/app/about-prizm/roadmap/roadmap.component.ts +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.component.ts @@ -1,9 +1,9 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-roadmap', - templateUrl: './roadmap.component.html', - styleUrls: ['./roadmap.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class RoadmapComponent {} +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-roadmap', + templateUrl: './roadmap.component.html', + styleUrls: ['./roadmap.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class RoadmapComponent {} diff --git a/apps/doc/src/app/about-prizm/roadmap/roadmap.module.ts b/apps/doc/src/app/about-prizm/roadmap/roadmap.module.ts index e7c3f32749..b739d5ebb5 100644 --- a/apps/doc/src/app/about-prizm/roadmap/roadmap.module.ts +++ b/apps/doc/src/app/about-prizm/roadmap/roadmap.module.ts @@ -1,11 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { RoadmapComponent } from './roadmap.component'; - -@NgModule({ - exports: [RoadmapComponent], - declarations: [RoadmapComponent], - imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(RoadmapComponent))], -}) -export class RoadmapModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { RoadmapComponent } from './roadmap.component'; + +@NgModule({ + exports: [RoadmapComponent], + declarations: [RoadmapComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(RoadmapComponent))], +}) +export class RoadmapModule {} diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html index f6b113cb48..6bcbddd4c8 100644 --- a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.html @@ -1,236 +1,236 @@ - -

    Настоящее соглашение определяет политику взаимоотношений при использовании дизайн-системы Prizm.

    -

    Ссылки в скором времени будут актуализированы

    - -

    1. Лицензия

    -

    - Дизайн-система Prizm и часть* её зависимых компонентов распространяются под открытой - лицензией MIT, текст лицензионного соглашения дублируется непосредственно в самих - репозиториях. -

    -

    - * некоторые части дизайн-системы Prizm, например, картографический виджет, виджет управления - наряд-заказами и другие, могут лицензироваться самостоятельно и отсутствовать в публичном доступе. -

    - -

    2. Стратегия версионирования

    -

    2.1 Схема версионирования

    -

    - Во всех зависимых компонентах экосистемы Цифры применяется стратегия - [RFC] Prizm Версионирование. -

    -

    - Использование дополнительных постфиксов для предварительных релизов и сборок с мета-обозначениями - допускается, но сохранение в них обратной совместимости не гарантируется, поскольку эти версии не являются - конечными. -

    - -

    2.2 Жизненный цикл версий

    -

    - Основной фокус делается на поддержку и стабилизацию крайней major-версии, а пересмотр предложений, которые - потенциально нарушают обратную совместимость, допускается не чаще чем раз в полгода для отдельно взятого - компонента. Отчетный период начинается с даты последнего релиза. -

    - -

    2.3 Механизм оповещений

    -

    - 2.3.1 Для оперативного информирования о новых версиях ведется - канал в Telegram. -

    -

    - 2.3.2 Для получения сводной информации обо всех изменениях в программном коде рекомендуется использовать - механизм 🔗наблюдения за проектом. -

    -

    - 2.3.3 В случаях, когда сохранение обратной совместимости невозможно в силу наличия потенциальных - уязвимостей или серьезных проблем с производительностью применяется механизм 🔗 - deprecated. -

    - -

    2.4 История версий

    -

    Полная история изменений по всем версиям продуктов доступна на 🔗страницах с релизами.

    - -

    3. Доступность и поддержка

    -

    Направления, за которые отвечает команда Prizm:

    -
      -
    1. Исправление критических дефектов.
    2. -
    3. Стратегическое планирование.
    4. -
    5. - Поддержка и развитие информационных ресурсов -
        -
      1. Основной информационный ресурс
      2. -
      3. Витрина компонентов
      4. -
      5. - Библиотека компонентов в Figma Community -
      6. -
      7. Исходный код библиотеки компонентов
      8. -
      9. Информационный канал в Telegram
      10. -
      -
    6. -
    -

    - Задачи информационного наполнения, расширения функциональности и исправления незначительных дефектов мы - стараемся раздеделять с нашими контрибьюторами. -

    - -

    4. Системные ограничения

    -

    4.1 Браузеры

    -

    - Ориентируйтесь на то, что все основные компоненты дизайн-системы протестированы и корректно отображаются в - браузерах, которые поддерживает Angular. Это включает в себя следующие конкретные версии браузеров: -

    - - - - - - - - - - - - - - - - -
    БраузерПоддреживаемые версии
    {{ item.name }}{{ item.description }}
    - -

    4.2 Разрешения экранов

    -

    - Разрешение экранов, которые смело можно учитывать при проектировании интерфейсов для полноразмерных - устройств: 1280×720, 1366×768, 1440×900, 1920×1080. -

    - -

    5. Типы тикетов и порядок их заведения

    -

    - Дефекты, запросы на новую функциональность или вопросы оформляются в виде 🔗тикета на GitHub - или письмом на prizm@zyfra.com. -

    -

    Возможные типы тикетов:

    - - - - - - - - - - - - - - - - -
    Тип тикетаРасшифровка
    {{ item.name }}{{ item.description }}
    -

    - 🔗 - Рекомендации оформления - тикетов: -

    -
      -
    1. - При создании тикетов с типом bug необходимо использовать шаблон оформления баг-репорта (Bug report). -
    2. -
    3. - При создании тикетов с типами feature или improvement необходимо использовать шаблон запроса фичи или - улучшения (Feature request). -
    4. -
    - -

    6. Время реагирования

    -

    В течение 5 рабочих дней с момента появления нового тикета применяется следующий алгоритм:

    -
      -
    1. Если тикет понятен, и вопросов нет, ему присваивается тип и приоритет.
    2. -
    3. - Если для правильной категоризации тикета требуются уточнения (обсуждение происходит в комментариях), то - тип и приоритет присваиваются после получения ответов. -
    4. -
    - -

    6.1 Как определяется приоритет

    -

    На приоритет тикета влияют следующие факторы:

    -
      -
    1. - Потребность проектов Цифровой индустриальной платформы (совместное предприятие ГЦ «Цифра» и ПАО «Газпром - нефть»). -
    2. -
    3. Экспертное мнение команды дизайн-системы Prizm.
    4. -
    5. Популярность компонента в других системах
    6. -
    7. Подробное описание с понятными формулировками проблем или предложений.
    8. -
    9. Высокая активность пользователей.
    10. -
    - -

    7. Сроки реализации*

    -

    Сроки реализации тикетов зависят от категории и приоритета:

    -
      -
    1. - Если за реализацию берется команда Prizm, то сроки реализации будут соответствовать представленным в - таблице ниже. -
    2. -
    3. Если за реализацию берется внешняя команда, то сроки реализации могут отличаться.
    4. -
    5. - Если реализация задачи требует предварительного исследования или дизайна, то создается отдельная задача - с меткой research или design. -
    6. -
    - - - - - - - - - - - - - - - - - - -
    ПриоритетКатегорияРеализация
    {{ item.priority }}{{ item.name }}{{ item.description }}
    - -

    8. Актуализация бэклога

    -

    - Актуализация бэклога и пересмотр приоритетов всех тикетов происходит не более трёх раз в квартал. По - итогам пересмотра приоритет тикета может быть как поднят, так и понижен. -

    - -

    8.1 Причины закрытия тикетов

    -

    В рамках актуализации бэклога тикет может быть закрыт по следующим причинам:

    -
      -
    1. Дубликат.
    2. -
    3. Задача уже реализована.
    4. -
    5. Входит в другой тикет.
    6. -
    7. Задача потеряла актуальность.
    8. -
    9. Не получены ответы на уточняющие вопросы или неполное описание.
    10. -
    11. Обоснованный отказ команды Prizm.
    12. -
    - -

    9. Запросы на принятие изменений

    -

    - Изменения и доработки, предлагаемые контрибьютерами, 🔗оформляются в виде 🔗запросов на принятие изменений -

    -

    - При появлении нового PR/MR команда Prizm в течение двух рабочих дней проводит 🔗ревью - и, при отсутствии критичных замечаний, принимает PR/MR. -

    -

    - К мержу допускаются PR/MR, получившие не менее двух аппрувов. Изменения включаются в следующий релиз. - Релизы выпускаются раз в две недели. День недели будет определен похже опытным путём. -

    -
    + +

    Настоящее соглашение определяет политику взаимоотношений при использовании дизайн-системы Prizm.

    +

    Ссылки в скором времени будут актуализированы

    + +

    1. Лицензия

    +

    + Дизайн-система Prizm и часть* её зависимых компонентов распространяются под открытой + лицензией MIT, текст лицензионного соглашения дублируется непосредственно в самих + репозиториях. +

    +

    + * некоторые части дизайн-системы Prizm, например, картографический виджет, виджет управления + наряд-заказами и другие, могут лицензироваться самостоятельно и отсутствовать в публичном доступе. +

    + +

    2. Стратегия версионирования

    +

    2.1 Схема версионирования

    +

    + Во всех зависимых компонентах экосистемы Цифры применяется стратегия + [RFC] Prizm Версионирование. +

    +

    + Использование дополнительных постфиксов для предварительных релизов и сборок с мета-обозначениями + допускается, но сохранение в них обратной совместимости не гарантируется, поскольку эти версии не являются + конечными. +

    + +

    2.2 Жизненный цикл версий

    +

    + Основной фокус делается на поддержку и стабилизацию крайней major-версии, а пересмотр предложений, которые + потенциально нарушают обратную совместимость, допускается не чаще чем раз в полгода для отдельно взятого + компонента. Отчетный период начинается с даты последнего релиза. +

    + +

    2.3 Механизм оповещений

    +

    + 2.3.1 Для оперативного информирования о новых версиях ведется + канал в Telegram. +

    +

    + 2.3.2 Для получения сводной информации обо всех изменениях в программном коде рекомендуется использовать + механизм 🔗наблюдения за проектом. +

    +

    + 2.3.3 В случаях, когда сохранение обратной совместимости невозможно в силу наличия потенциальных + уязвимостей или серьезных проблем с производительностью применяется механизм 🔗 + deprecated. +

    + +

    2.4 История версий

    +

    Полная история изменений по всем версиям продуктов доступна на 🔗страницах с релизами.

    + +

    3. Доступность и поддержка

    +

    Направления, за которые отвечает команда Prizm:

    +
      +
    1. Исправление критических дефектов.
    2. +
    3. Стратегическое планирование.
    4. +
    5. + Поддержка и развитие информационных ресурсов +
        +
      1. Основной информационный ресурс
      2. +
      3. Витрина компонентов
      4. +
      5. + Библиотека компонентов в Figma Community +
      6. +
      7. Исходный код библиотеки компонентов
      8. +
      9. Информационный канал в Telegram
      10. +
      +
    6. +
    +

    + Задачи информационного наполнения, расширения функциональности и исправления незначительных дефектов мы + стараемся раздеделять с нашими контрибьюторами. +

    + +

    4. Системные ограничения

    +

    4.1 Браузеры

    +

    + Ориентируйтесь на то, что все основные компоненты дизайн-системы протестированы и корректно отображаются в + браузерах, которые поддерживает Angular. Это включает в себя следующие конкретные версии браузеров: +

    + + + + + + + + + + + + + + + + +
    БраузерПоддреживаемые версии
    {{ item.name }}{{ item.description }}
    + +

    4.2 Разрешения экранов

    +

    + Разрешение экранов, которые смело можно учитывать при проектировании интерфейсов для полноразмерных + устройств: 1280×720, 1366×768, 1440×900, 1920×1080. +

    + +

    5. Типы тикетов и порядок их заведения

    +

    + Дефекты, запросы на новую функциональность или вопросы оформляются в виде 🔗тикета на GitHub + или письмом на prizm@zyfra.com. +

    +

    Возможные типы тикетов:

    + + + + + + + + + + + + + + + + +
    Тип тикетаРасшифровка
    {{ item.name }}{{ item.description }}
    +

    + 🔗 + Рекомендации оформления + тикетов: +

    +
      +
    1. + При создании тикетов с типом bug необходимо использовать шаблон оформления баг-репорта (Bug report). +
    2. +
    3. + При создании тикетов с типами feature или improvement необходимо использовать шаблон запроса фичи или + улучшения (Feature request). +
    4. +
    + +

    6. Время реагирования

    +

    В течение 5 рабочих дней с момента появления нового тикета применяется следующий алгоритм:

    +
      +
    1. Если тикет понятен, и вопросов нет, ему присваивается тип и приоритет.
    2. +
    3. + Если для правильной категоризации тикета требуются уточнения (обсуждение происходит в комментариях), то + тип и приоритет присваиваются после получения ответов. +
    4. +
    + +

    6.1 Как определяется приоритет

    +

    На приоритет тикета влияют следующие факторы:

    +
      +
    1. + Потребность проектов Цифровой индустриальной платформы (совместное предприятие ГЦ «Цифра» и ПАО «Газпром + нефть»). +
    2. +
    3. Экспертное мнение команды дизайн-системы Prizm.
    4. +
    5. Популярность компонента в других системах
    6. +
    7. Подробное описание с понятными формулировками проблем или предложений.
    8. +
    9. Высокая активность пользователей.
    10. +
    + +

    7. Сроки реализации*

    +

    Сроки реализации тикетов зависят от категории и приоритета:

    +
      +
    1. + Если за реализацию берется команда Prizm, то сроки реализации будут соответствовать представленным в + таблице ниже. +
    2. +
    3. Если за реализацию берется внешняя команда, то сроки реализации могут отличаться.
    4. +
    5. + Если реализация задачи требует предварительного исследования или дизайна, то создается отдельная задача + с меткой research или design. +
    6. +
    + + + + + + + + + + + + + + + + + + +
    ПриоритетКатегорияРеализация
    {{ item.priority }}{{ item.name }}{{ item.description }}
    + +

    8. Актуализация бэклога

    +

    + Актуализация бэклога и пересмотр приоритетов всех тикетов происходит не более трёх раз в квартал. По + итогам пересмотра приоритет тикета может быть как поднят, так и понижен. +

    + +

    8.1 Причины закрытия тикетов

    +

    В рамках актуализации бэклога тикет может быть закрыт по следующим причинам:

    +
      +
    1. Дубликат.
    2. +
    3. Задача уже реализована.
    4. +
    5. Входит в другой тикет.
    6. +
    7. Задача потеряла актуальность.
    8. +
    9. Не получены ответы на уточняющие вопросы или неполное описание.
    10. +
    11. Обоснованный отказ команды Prizm.
    12. +
    + +

    9. Запросы на принятие изменений

    +

    + Изменения и доработки, предлагаемые контрибьютерами, 🔗оформляются в виде 🔗запросов на принятие изменений +

    +

    + При появлении нового PR/MR команда Prizm в течение двух рабочих дней проводит 🔗ревью + и, при отсутствии критичных замечаний, принимает PR/MR. +

    +

    + К мержу допускаются PR/MR, получившие не менее двух аппрувов. Изменения включаются в следующий релиз. + Релизы выпускаются раз в две недели. День недели будет определен похже опытным путём. +

    +
    diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.spec.ts b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.spec.ts index c2168f4254..02d71963ca 100644 --- a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.spec.ts +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ServiceLevelAgreementComponent } from './service-level-agreement.component'; - -describe('ServiceLevelAgreementComponent', () => { - let component: ServiceLevelAgreementComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ServiceLevelAgreementComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ServiceLevelAgreementComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ServiceLevelAgreementComponent } from './service-level-agreement.component'; + +describe('ServiceLevelAgreementComponent', () => { + let component: ServiceLevelAgreementComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ServiceLevelAgreementComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ServiceLevelAgreementComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.ts b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.ts index 432c9900e6..12f18f1809 100644 --- a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.ts +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.component.ts @@ -1,206 +1,206 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; - -export interface ITableProduct { - name: string; - description: string; - priority: string | null; - children?: ITableProduct[]; -} - -@Component({ - selector: 'prizm-service-level-agreement', - templateUrl: './service-level-agreement.component.html', - styleUrls: ['./service-level-agreement.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class ServiceLevelAgreementComponent { - public columns: string[] = ['code', 'name', 'description']; - - public labelTypes: ITableProduct[] = TABLE_LABEL_TYPES; - public browserVersions: ITableProduct[] = TABLE_BROWSER_VERSIONS; - public implementationTimeline: ITableProduct[] = TABLE_IMPLEMENTATION_TIMELINE; -} - -const TABLE_LABEL_TYPES: ITableProduct[] = [ - { - name: 'bug', - description: 'Дефект', - priority: null, - }, - { - name: 'design', - description: 'Задача на дизайн', - priority: null, - }, - { - name: 'docs', - description: 'Доработка или добавление документации', - priority: null, - }, - { - name: 'feature', - description: 'Новый функционал', - priority: null, - }, - { - name: 'improvement', - description: 'Улучшение', - priority: null, - }, - { - name: 'question', - description: 'Вопрос', - priority: null, - }, - { - name: 'research', - description: 'Исследование или анализ', - priority: null, - }, - { - name: 'test', - description: 'Задачи на тестирование или покрытие тестами', - priority: null, - }, - { - name: 'charts', - description: 'Задача относится к библиотеке графиков', - priority: null, - }, - { - name: 'widgets', - description: 'Задача относится к библиотеке виджетов', - priority: null, - }, - { - name: 'duplicate', - description: 'Дублирующаяся задача', - priority: null, - }, -]; - -const TABLE_BROWSER_VERSIONS: ITableProduct[] = [ - { - name: 'Chrome', - description: 'последняя и предыдущая стабильная версия', - priority: null, - }, - { - name: 'Firefox', - description: 'последняя и расширенная поддержка (ESR)', - priority: null, - }, - { - name: 'Edge', - description: '2 последние основные версии', - priority: null, - }, - { - name: 'Safari', - description: '2 последние основные версии', - priority: null, - }, - { - name: 'iOS', - description: '2 последние основные версии', - priority: null, - }, - { - name: 'android', - description: '2 последние основные версии', - priority: null, - }, -]; - -const TABLE_IMPLEMENTATION_TIMELINE: ITableProduct[] = [ - { - name: 'bug', - description: '10 рабочих дней', - priority: 'Высокий', - }, - { - name: 'feature', - description: '30 рабочих дней', - priority: 'Высокий', - }, - { - name: 'improvement', - description: '30 рабочих дней', - priority: 'Высокий', - }, - { - name: 'docs', - description: '30 рабочих дней', - priority: 'Высокий', - }, - { - name: 'design', - description: '30 рабочих дней', - priority: 'Высокий', - }, - { - name: 'question', - description: '3 рабочих дня', - priority: 'Высокий', - }, - { - name: 'bug', - description: '20 рабочих дней', - priority: 'Средний', - }, - { - name: 'feature', - description: '60 рабочих дней', - priority: 'Средний', - }, - { - name: 'improvement', - description: '60 рабочих дней', - priority: 'Средний', - }, - { - name: 'docs', - description: '60 рабочих дней', - priority: 'Средний', - }, - { - name: 'design', - description: '60 рабочих дней', - priority: 'Средний', - }, - { - name: 'question', - description: '5 рабочих дней', - priority: 'Средний', - }, - { - name: 'bug', - description: '3 месяца', - priority: 'Низкий', - }, - { - name: 'feature', - description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', - priority: 'Низкий', - }, - { - name: 'improvement', - description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', - priority: 'Низкий', - }, - { - name: 'docs', - description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', - priority: 'Низкий', - }, - { - name: 'design', - description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', - priority: 'Низкий', - }, - { - name: 'question', - description: '5 рабочих дней', - priority: 'Низкий', - }, -]; +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +export interface ITableProduct { + name: string; + description: string; + priority: string | null; + children?: ITableProduct[]; +} + +@Component({ + selector: 'prizm-service-level-agreement', + templateUrl: './service-level-agreement.component.html', + styleUrls: ['./service-level-agreement.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ServiceLevelAgreementComponent { + public columns: string[] = ['code', 'name', 'description']; + + public labelTypes: ITableProduct[] = TABLE_LABEL_TYPES; + public browserVersions: ITableProduct[] = TABLE_BROWSER_VERSIONS; + public implementationTimeline: ITableProduct[] = TABLE_IMPLEMENTATION_TIMELINE; +} + +const TABLE_LABEL_TYPES: ITableProduct[] = [ + { + name: 'bug', + description: 'Дефект', + priority: null, + }, + { + name: 'design', + description: 'Задача на дизайн', + priority: null, + }, + { + name: 'docs', + description: 'Доработка или добавление документации', + priority: null, + }, + { + name: 'feature', + description: 'Новый функционал', + priority: null, + }, + { + name: 'improvement', + description: 'Улучшение', + priority: null, + }, + { + name: 'question', + description: 'Вопрос', + priority: null, + }, + { + name: 'research', + description: 'Исследование или анализ', + priority: null, + }, + { + name: 'test', + description: 'Задачи на тестирование или покрытие тестами', + priority: null, + }, + { + name: 'charts', + description: 'Задача относится к библиотеке графиков', + priority: null, + }, + { + name: 'widgets', + description: 'Задача относится к библиотеке виджетов', + priority: null, + }, + { + name: 'duplicate', + description: 'Дублирующаяся задача', + priority: null, + }, +]; + +const TABLE_BROWSER_VERSIONS: ITableProduct[] = [ + { + name: 'Chrome', + description: 'последняя и предыдущая стабильная версия', + priority: null, + }, + { + name: 'Firefox', + description: 'последняя и расширенная поддержка (ESR)', + priority: null, + }, + { + name: 'Edge', + description: '2 последние основные версии', + priority: null, + }, + { + name: 'Safari', + description: '2 последние основные версии', + priority: null, + }, + { + name: 'iOS', + description: '2 последние основные версии', + priority: null, + }, + { + name: 'android', + description: '2 последние основные версии', + priority: null, + }, +]; + +const TABLE_IMPLEMENTATION_TIMELINE: ITableProduct[] = [ + { + name: 'bug', + description: '10 рабочих дней', + priority: 'Высокий', + }, + { + name: 'feature', + description: '30 рабочих дней', + priority: 'Высокий', + }, + { + name: 'improvement', + description: '30 рабочих дней', + priority: 'Высокий', + }, + { + name: 'docs', + description: '30 рабочих дней', + priority: 'Высокий', + }, + { + name: 'design', + description: '30 рабочих дней', + priority: 'Высокий', + }, + { + name: 'question', + description: '3 рабочих дня', + priority: 'Высокий', + }, + { + name: 'bug', + description: '20 рабочих дней', + priority: 'Средний', + }, + { + name: 'feature', + description: '60 рабочих дней', + priority: 'Средний', + }, + { + name: 'improvement', + description: '60 рабочих дней', + priority: 'Средний', + }, + { + name: 'docs', + description: '60 рабочих дней', + priority: 'Средний', + }, + { + name: 'design', + description: '60 рабочих дней', + priority: 'Средний', + }, + { + name: 'question', + description: '5 рабочих дней', + priority: 'Средний', + }, + { + name: 'bug', + description: '3 месяца', + priority: 'Низкий', + }, + { + name: 'feature', + description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', + priority: 'Низкий', + }, + { + name: 'improvement', + description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', + priority: 'Низкий', + }, + { + name: 'docs', + description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', + priority: 'Низкий', + }, + { + name: 'design', + description: 'неопределенное время (пересмотр приоритета 1 раз в квартал)', + priority: 'Низкий', + }, + { + name: 'question', + description: '5 рабочих дней', + priority: 'Низкий', + }, +]; diff --git a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.module.ts b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.module.ts index 9414b9cc25..31a436c81a 100644 --- a/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.module.ts +++ b/apps/doc/src/app/about-prizm/service-level-agreement/service-level-agreement.module.ts @@ -1,17 +1,17 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAccordionModule, PrizmTableModule } from '@prizm-ui/components'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { ServiceLevelAgreementComponent } from './service-level-agreement.component'; - -@NgModule({ - exports: [ServiceLevelAgreementComponent], - declarations: [ServiceLevelAgreementComponent], - imports: [ - PrizmAddonDocModule, - PrizmTableModule, - PrizmAccordionModule, - RouterModule.forChild(prizmDocGenerateRoutes(ServiceLevelAgreementComponent)), - ], -}) -export class ServiceLevelAgreementModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAccordionModule, PrizmTableModule } from '@prizm-ui/components'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { ServiceLevelAgreementComponent } from './service-level-agreement.component'; + +@NgModule({ + exports: [ServiceLevelAgreementComponent], + declarations: [ServiceLevelAgreementComponent], + imports: [ + PrizmAddonDocModule, + PrizmTableModule, + PrizmAccordionModule, + RouterModule.forChild(prizmDocGenerateRoutes(ServiceLevelAgreementComponent)), + ], +}) +export class ServiceLevelAgreementModule {} diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html index 9550386c50..90cdd42846 100644 --- a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.html @@ -1,3 +1,3 @@ - -

    Эта страница сейчас в работе

    -
    + +

    Эта страница сейчас в работе

    +
    diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.spec.ts b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.spec.ts index a843609d99..4de572e488 100644 --- a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.spec.ts +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { TechnologyListComponent } from './technology-list.component'; - -describe('TechnologyListComponent', () => { - let component: TechnologyListComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [TechnologyListComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(TechnologyListComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TechnologyListComponent } from './technology-list.component'; + +describe('TechnologyListComponent', () => { + let component: TechnologyListComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [TechnologyListComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(TechnologyListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.ts b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.ts index 13d314b1e0..1e2c00942c 100644 --- a/apps/doc/src/app/about-prizm/technology-list/technology-list.component.ts +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.component.ts @@ -1,9 +1,9 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-technology-list', - templateUrl: './technology-list.component.html', - styleUrls: ['./technology-list.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class TechnologyListComponent {} +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-technology-list', + templateUrl: './technology-list.component.html', + styleUrls: ['./technology-list.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class TechnologyListComponent {} diff --git a/apps/doc/src/app/about-prizm/technology-list/technology-list.module.ts b/apps/doc/src/app/about-prizm/technology-list/technology-list.module.ts index eea84a5747..f286df5fd6 100644 --- a/apps/doc/src/app/about-prizm/technology-list/technology-list.module.ts +++ b/apps/doc/src/app/about-prizm/technology-list/technology-list.module.ts @@ -1,11 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { TechnologyListComponent } from './technology-list.component'; - -@NgModule({ - exports: [TechnologyListComponent], - declarations: [TechnologyListComponent], - imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(TechnologyListComponent))], -}) -export class TechnologyListModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { TechnologyListComponent } from './technology-list.component'; + +@NgModule({ + exports: [TechnologyListComponent], + declarations: [TechnologyListComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(TechnologyListComponent))], +}) +export class TechnologyListModule {} diff --git a/apps/doc/src/app/components/table/table-example.const.ts b/apps/doc/src/app/components/table/table-example.const.ts index 801ef4231e..c0ab8335c6 100644 --- a/apps/doc/src/app/components/table/table-example.const.ts +++ b/apps/doc/src/app/components/table/table-example.const.ts @@ -1,184 +1,184 @@ -import { ITableProduct } from './examples/table-basic-example/table-basic-example.component'; - -export const TABLE_EXAMPLE_DATA_1: ITableProduct[] = [ - { - code: '1', - name: 'Name 1', - category: 'Premium', - count: 3000, - }, - { - code: '2', - name: 'Name 2', - category: 'Active', - count: 123, - status: 'success', - }, - { - code: '3', - name: 'Name 3', - category: 'Sport', - count: 56000, - status: 'success', - }, - { - code: '4', - name: 'Name 4', - category: 'Sport+', - count: 539, - }, - { - code: '5', - name: 'Name 5', - category: 'Premium', - count: 23, - status: 'danger', - }, - { - code: '6', - name: 'Name 6', - category: 'Premium', - count: 99, - }, - { - code: '7', - name: 'Name 7', - category: 'Premium', - count: 23, - status: 'warning', - }, - { - code: '8', - name: 'Name 8 that will be the longest name ever', - category: 'Premium', - count: 99, - }, - { - code: '9', - name: 'Name 5', - category: 'Premium', - count: 23, - }, - { - code: '10', - name: 'Name 6', - category: 'Premium', - count: 99, - }, -]; - -export const TABLE_EXAMPLE_DATA_2: ITableProduct[] = [ - { - code: '12143', - name: 'Name 1', - category: 'Premium', - count: 3000, - }, - { - code: '452346', - name: 'Name 2', - category: 'Active', - count: 123, - }, - { - code: '78292', - name: 'Name 2', - category: 'Sport', - count: 500, - status: 'danger', - }, - { - code: '1532254', - name: 'Name 4', - category: 'Sport+', - count: 579, - status: 'danger', - }, - { - code: '16704', - name: 'Name 523', - category: 'Premium', - count: 213, - status: 'danger', - }, - { - code: '3482', - name: 'Name 623', - category: 'Premium', - count: 199, - }, - { - code: '123412', - name: 'Name 89839', - category: 'Premium', - count: 231, - status: 'warning', - }, -]; - -export const TABLE_EXAMPLE_DATA_SEARCH: ITableProduct[] = [ - { - code: '8', - name: 'Углексилый газ', - category: 'Premium', - count: 99, - }, - { - code: '1', - name: 'Полиуретан', - category: 'Premium', - count: 3000, - }, - { - code: '2', - name: 'Полиэстер', - category: 'Active', - count: 123, - status: 'success', - }, - { - code: '3', - name: 'Эпоксидная смола', - category: 'Sport', - count: 56000, - status: 'success', - }, - { - code: '4', - name: 'Пропант', - category: 'Sport+', - count: 539, - }, - { - code: '5', - name: 'Полибетон', - category: 'Premium', - count: 23, - status: 'danger', - }, - { - code: '6', - name: 'Полиуретан', - category: 'Premium', - count: 99, - }, - { - code: '7', - name: 'Пропант', - category: 'Premium', - count: 23, - status: 'warning', - }, - { - code: '9', - name: 'Водород', - category: 'Premium', - count: 23, - }, - { - code: '10', - name: 'Компаунд', - category: 'Premium', - count: 99, - }, -]; +import { ITableProduct } from './examples/table-basic-example/table-basic-example.component'; + +export const TABLE_EXAMPLE_DATA_1: ITableProduct[] = [ + { + code: '1', + name: 'Name 1', + category: 'Premium', + count: 3000, + }, + { + code: '2', + name: 'Name 2', + category: 'Active', + count: 123, + status: 'success', + }, + { + code: '3', + name: 'Name 3', + category: 'Sport', + count: 56000, + status: 'success', + }, + { + code: '4', + name: 'Name 4', + category: 'Sport+', + count: 539, + }, + { + code: '5', + name: 'Name 5', + category: 'Premium', + count: 23, + status: 'danger', + }, + { + code: '6', + name: 'Name 6', + category: 'Premium', + count: 99, + }, + { + code: '7', + name: 'Name 7', + category: 'Premium', + count: 23, + status: 'warning', + }, + { + code: '8', + name: 'Name 8 that will be the longest name ever', + category: 'Premium', + count: 99, + }, + { + code: '9', + name: 'Name 5', + category: 'Premium', + count: 23, + }, + { + code: '10', + name: 'Name 6', + category: 'Premium', + count: 99, + }, +]; + +export const TABLE_EXAMPLE_DATA_2: ITableProduct[] = [ + { + code: '12143', + name: 'Name 1', + category: 'Premium', + count: 3000, + }, + { + code: '452346', + name: 'Name 2', + category: 'Active', + count: 123, + }, + { + code: '78292', + name: 'Name 2', + category: 'Sport', + count: 500, + status: 'danger', + }, + { + code: '1532254', + name: 'Name 4', + category: 'Sport+', + count: 579, + status: 'danger', + }, + { + code: '16704', + name: 'Name 523', + category: 'Premium', + count: 213, + status: 'danger', + }, + { + code: '3482', + name: 'Name 623', + category: 'Premium', + count: 199, + }, + { + code: '123412', + name: 'Name 89839', + category: 'Premium', + count: 231, + status: 'warning', + }, +]; + +export const TABLE_EXAMPLE_DATA_SEARCH: ITableProduct[] = [ + { + code: '8', + name: 'Углексилый газ', + category: 'Premium', + count: 99, + }, + { + code: '1', + name: 'Полиуретан', + category: 'Premium', + count: 3000, + }, + { + code: '2', + name: 'Полиэстер', + category: 'Active', + count: 123, + status: 'success', + }, + { + code: '3', + name: 'Эпоксидная смола', + category: 'Sport', + count: 56000, + status: 'success', + }, + { + code: '4', + name: 'Пропант', + category: 'Sport+', + count: 539, + }, + { + code: '5', + name: 'Полибетон', + category: 'Premium', + count: 23, + status: 'danger', + }, + { + code: '6', + name: 'Полиуретан', + category: 'Premium', + count: 99, + }, + { + code: '7', + name: 'Пропант', + category: 'Premium', + count: 23, + status: 'warning', + }, + { + code: '9', + name: 'Водород', + category: 'Premium', + count: 23, + }, + { + code: '10', + name: 'Компаунд', + category: 'Premium', + count: 99, + }, +]; diff --git a/apps/doc/src/app/documentation/about/about.module.ts b/apps/doc/src/app/documentation/about/about.module.ts index 1e4ab0accd..56059d4bf7 100644 --- a/apps/doc/src/app/documentation/about/about.module.ts +++ b/apps/doc/src/app/documentation/about/about.module.ts @@ -1,9 +1,9 @@ -import { NgModule } from '@angular/core'; -import { AboutComponent } from './about.component'; - -@NgModule({ - exports: [AboutComponent], - declarations: [AboutComponent], - imports: [], -}) -export class AboutModule {} +import { NgModule } from '@angular/core'; +import { AboutComponent } from './about.component'; + +@NgModule({ + exports: [AboutComponent], + declarations: [AboutComponent], + imports: [], +}) +export class AboutModule {} diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.html b/apps/doc/src/app/forZIIoT/introduction/introduction.component.html index c202ee18ce..e701ac9145 100644 --- a/apps/doc/src/app/forZIIoT/introduction/introduction.component.html +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.html @@ -1,32 +1,32 @@ - -

    Установка

    -

    - Следуйте ручной установке: - http://doc.prizm.zyfra.com/how-to-start/for-developers -

    - -

    Особенность для ZIIoT приложения

    -

    - Ресурсы которые не доступны необходимо переопределить согласно вашему baseHref приложения.
    - Проблема описана в [RFC] КБ Предоставление стилей для иконочных шрифтов
    - Например: -

    - - -

    Runtime

    -

    CSS переменные

    -

    - Если есть потребность изменить переменную, делайте это
    - ✅ на уровне своего приложения.
    - ❌ менять в рут ничего нельзя! -

    - -

    Темизация

    -

    - Для подписки от AppShell на темы следует подписаться на соответствующее событие из ShellPropertiesCore и - обновить тему в самом Prizm. Например так: -

    - -
    + +

    Установка

    +

    + Следуйте ручной установке: + http://doc.prizm.zyfra.com/how-to-start/for-developers +

    + +

    Особенность для ZIIoT приложения

    +

    + Ресурсы которые не доступны необходимо переопределить согласно вашему baseHref приложения.
    + Проблема описана в [RFC] КБ Предоставление стилей для иконочных шрифтов
    + Например: +

    + + +

    Runtime

    +

    CSS переменные

    +

    + Если есть потребность изменить переменную, делайте это
    + ✅ на уровне своего приложения.
    + ❌ менять в рут ничего нельзя! +

    + +

    Темизация

    +

    + Для подписки от AppShell на темы следует подписаться на соответствующее событие из ShellPropertiesCore и + обновить тему в самом Prizm. Например так: +

    + +
    diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.spec.ts b/apps/doc/src/app/forZIIoT/introduction/introduction.component.spec.ts index fbcdcaf05b..97b092c929 100644 --- a/apps/doc/src/app/forZIIoT/introduction/introduction.component.spec.ts +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { IntroductionComponent } from './introduction.component'; - -describe('IntroductionComponent', () => { - let component: IntroductionComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [IntroductionComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(IntroductionComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { IntroductionComponent } from './introduction.component'; + +describe('IntroductionComponent', () => { + let component: IntroductionComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [IntroductionComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(IntroductionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.component.ts b/apps/doc/src/app/forZIIoT/introduction/introduction.component.ts index fd6e0437c5..31c6268ecc 100644 --- a/apps/doc/src/app/forZIIoT/introduction/introduction.component.ts +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.component.ts @@ -1,39 +1,39 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; -import { environment } from './../../../environments/environment'; - -@Component({ - selector: 'prizm-introduction', - templateUrl: './introduction.component.html', - styleUrls: ['./introduction.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class IntroductionComponent { - public storybookBaseUrl = environment.storybookBaseUrl; - public readonly featuresForZIIoT = ` - @font-face { - font-family: 'PrizmIcons'; - src: local('Prizm Icons'),url('/hostDtdrto/Prizm.woff2') format('woff2'),url('/hostDtdrto/Prizm.woff') format('woff'),url('/hostDtdrto/Prizm.ttf') format('truetype'); - font-weight: 400; - font-style: normal; - } - - добавляют дополнительно baseHref где лежит ресурс: - /hostDtdrto - `; - public readonly themization = ` - private readonly themeService: PrizmThemeService, - - this.shellPropertiesCore - .getProperty(ShellProperty.Theme) - .pipe(takeUntil(this.destroy$)) - .subscribe((theme) => { - if(theme) { - if (theme.className === 'light-theme') { - this.themeService.update('light'); - } - if (theme.className === 'dark-theme') { - this.themeService.update('dark'); - } - } - }); - `; -} +import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { environment } from './../../../environments/environment'; + +@Component({ + selector: 'prizm-introduction', + templateUrl: './introduction.component.html', + styleUrls: ['./introduction.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class IntroductionComponent { + public storybookBaseUrl = environment.storybookBaseUrl; + public readonly featuresForZIIoT = ` + @font-face { + font-family: 'PrizmIcons'; + src: local('Prizm Icons'),url('/hostDtdrto/Prizm.woff2') format('woff2'),url('/hostDtdrto/Prizm.woff') format('woff'),url('/hostDtdrto/Prizm.ttf') format('truetype'); + font-weight: 400; + font-style: normal; + } + - добавляют дополнительно baseHref где лежит ресурс: + /hostDtdrto + `; + public readonly themization = ` + private readonly themeService: PrizmThemeService, + + this.shellPropertiesCore + .getProperty(ShellProperty.Theme) + .pipe(takeUntil(this.destroy$)) + .subscribe((theme) => { + if(theme) { + if (theme.className === 'light-theme') { + this.themeService.update('light'); + } + if (theme.className === 'dark-theme') { + this.themeService.update('dark'); + } + } + }); + `; +} diff --git a/apps/doc/src/app/forZIIoT/introduction/introduction.module.ts b/apps/doc/src/app/forZIIoT/introduction/introduction.module.ts index 47fba048df..fd276904f1 100644 --- a/apps/doc/src/app/forZIIoT/introduction/introduction.module.ts +++ b/apps/doc/src/app/forZIIoT/introduction/introduction.module.ts @@ -1,11 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { IntroductionComponent } from './introduction.component'; - -@NgModule({ - exports: [IntroductionComponent], - declarations: [IntroductionComponent], - imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(IntroductionComponent))], -}) -export class IntroductionModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { IntroductionComponent } from './introduction.component'; + +@NgModule({ + exports: [IntroductionComponent], + declarations: [IntroductionComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(IntroductionComponent))], +}) +export class IntroductionModule {} diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html index 49079878b6..f9bd632af5 100644 --- a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.html @@ -1,89 +1,89 @@ - -

    - Требования которые необходимо соблюдать при вводе общих библиотек в платформу. Все требования основаны на - том что у нас один контекст, одно окружение, одни общие ресурсы, один экран браузера. -

    -
      -
    1. Изолированный контекст выполнений функции
    2. -
    3. Изолированные ресурсы (шрифты, css, img)
    4. -
    5. Общие ресурсы должны быть под версиями и не влиять на общий scope.
    6. -
    -

    Какие фреймворки/библиотеки/решения предоставляют из коробки, и пытаются решить эти требования:

    - -

    Angular

    -
      -
    1. - ViewEncapsulation.Emulated по - умолчанию -
    2. -
    3. изоляция scope компонентов
    4. -
    5. Нужно вводить ограничения чтобы не декларировать в глобальные области видимости ресурсы
    6. -
    - -

    React

    -
      -
    1. CSS in JS
    2. -
    3. изоляция scope компонентов
    4. -
    5. Много подходов для написание стилей и холиваров по ним
    6. -
    7. Ресурсы берутся всегда по разному, кучу loader по разному регистрируют свои ресурсы по разному
    8. -
    9. -Нужно вводить ограничения чтобы не декларировать в глобальные области видимости ресурсы
    10. -
    - -

    Vue

    -
      -
    1. Scoped css
    2. -
    3. изоляция scope компонентов
    4. -
    5. +/- приходят к стандартизации и изоляции на своих собственных сборщиках
    6. -
    7. Нужно вводить ограничения чтобы не декларировать в глобальные области видимости ресурсы
    8. -
    - -

    Custom Elements, Shadow dom (lit-element, stencil, …)

    -
      -
    1. Styles по дефолту изолированы из коробки
    2. -
    3. можно писать на любом фреймворке и использовать их
    4. -
    5. - декларирует элементы в глобальном скоупе, и мы лишаемся версионирования и жестко привязываем версию либы - ко всей платформе -
    6. -
    7. легко написать функцию в глобальной области видимости.
    8. -
    9. - в 2 раза медленее работают - https://nolanlawson.com/2021/08/15/does-shadow-dom-improve-style-performance/ -
    10. -
    11. сложно тестировать, доступ до элементов в e2e усложняется
    12. -
    - -

    Angular elements

    -
      -
    1. Можно перевести КБ на кастомные элементы и начать юзать во всех фреймворках
    2. -
    3. много весят
    4. -
    5. проблемы из Custom Elements
    6. -
    - -

    Краткий обзор по разным КБ, фреймворкам:

    -
      -
    1. Angular Material - хорош в плане изоляции стилей и легок для изменения.
    2. -
    3. - PrimeNG - был хорош для 2016, так как из JQuery слезали на него, но из за подхода - декларировать в глобальном скоупе стили, имеет более 500 issue в GitHub, которые в принципе не будут - исправлять. В платформе часто возникали вопросы про темизацию, и как все мешали друг другу. -
    4. -
    5. - TaigaUI -с овременная UI библиотека на Angular, изоляция контекста и стилей на уровне. -
    6. -
    7. - Stencil - фреймворк, продукт Ionic, которые решали свою проблему по созданию приложений - на мобилку под разные фреймворки, отсюда и игнорирование ограничений. -
    8. -
    9. - Clarity - UI библиотека на Angular, делает упор на Html+css first, отсюда и проблемы - разных версии. -
    10. -
    11. - Prizm - современная UI библиотека на Angular, учитывающий требования к платформе, под - нашу дизайн-систему -
    12. -
    -
    + +

    + Требования которые необходимо соблюдать при вводе общих библиотек в платформу. Все требования основаны на + том что у нас один контекст, одно окружение, одни общие ресурсы, один экран браузера. +

    +
      +
    1. Изолированный контекст выполнений функции
    2. +
    3. Изолированные ресурсы (шрифты, css, img)
    4. +
    5. Общие ресурсы должны быть под версиями и не влиять на общий scope.
    6. +
    +

    Какие фреймворки/библиотеки/решения предоставляют из коробки, и пытаются решить эти требования:

    + +

    Angular

    +
      +
    1. + ViewEncapsulation.Emulated по + умолчанию +
    2. +
    3. изоляция scope компонентов
    4. +
    5. Нужно вводить ограничения чтобы не декларировать в глобальные области видимости ресурсы
    6. +
    + +

    React

    +
      +
    1. CSS in JS
    2. +
    3. изоляция scope компонентов
    4. +
    5. Много подходов для написание стилей и холиваров по ним
    6. +
    7. Ресурсы берутся всегда по разному, кучу loader по разному регистрируют свои ресурсы по разному
    8. +
    9. -Нужно вводить ограничения чтобы не декларировать в глобальные области видимости ресурсы
    10. +
    + +

    Vue

    +
      +
    1. Scoped css
    2. +
    3. изоляция scope компонентов
    4. +
    5. +/- приходят к стандартизации и изоляции на своих собственных сборщиках
    6. +
    7. Нужно вводить ограничения чтобы не декларировать в глобальные области видимости ресурсы
    8. +
    + +

    Custom Elements, Shadow dom (lit-element, stencil, …)

    +
      +
    1. Styles по дефолту изолированы из коробки
    2. +
    3. можно писать на любом фреймворке и использовать их
    4. +
    5. + декларирует элементы в глобальном скоупе, и мы лишаемся версионирования и жестко привязываем версию либы + ко всей платформе +
    6. +
    7. легко написать функцию в глобальной области видимости.
    8. +
    9. + в 2 раза медленее работают + https://nolanlawson.com/2021/08/15/does-shadow-dom-improve-style-performance/ +
    10. +
    11. сложно тестировать, доступ до элементов в e2e усложняется
    12. +
    + +

    Angular elements

    +
      +
    1. Можно перевести КБ на кастомные элементы и начать юзать во всех фреймворках
    2. +
    3. много весят
    4. +
    5. проблемы из Custom Elements
    6. +
    + +

    Краткий обзор по разным КБ, фреймворкам:

    +
      +
    1. Angular Material - хорош в плане изоляции стилей и легок для изменения.
    2. +
    3. + PrimeNG - был хорош для 2016, так как из JQuery слезали на него, но из за подхода + декларировать в глобальном скоупе стили, имеет более 500 issue в GitHub, которые в принципе не будут + исправлять. В платформе часто возникали вопросы про темизацию, и как все мешали друг другу. +
    4. +
    5. + TaigaUI -с овременная UI библиотека на Angular, изоляция контекста и стилей на уровне. +
    6. +
    7. + Stencil - фреймворк, продукт Ionic, которые решали свою проблему по созданию приложений + на мобилку под разные фреймворки, отсюда и игнорирование ограничений. +
    8. +
    9. + Clarity - UI библиотека на Angular, делает упор на Html+css first, отсюда и проблемы + разных версии. +
    10. +
    11. + Prizm - современная UI библиотека на Angular, учитывающий требования к платформе, под + нашу дизайн-систему +
    12. +
    +
    diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.spec.ts b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.spec.ts index 45a65b0be6..250f35493f 100644 --- a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.spec.ts +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { LibraryRequirementsComponent } from './library-requirements.component'; - -describe('LibraryRequirementsComponent', () => { - let component: LibraryRequirementsComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [LibraryRequirementsComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(LibraryRequirementsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LibraryRequirementsComponent } from './library-requirements.component'; + +describe('LibraryRequirementsComponent', () => { + let component: LibraryRequirementsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [LibraryRequirementsComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(LibraryRequirementsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.ts b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.ts index d4dfb6700f..a0bbd4c06e 100644 --- a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.ts +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.component.ts @@ -1,9 +1,9 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-library-requirements', - templateUrl: './library-requirements.component.html', - styleUrls: ['./library-requirements.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class LibraryRequirementsComponent {} +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-library-requirements', + templateUrl: './library-requirements.component.html', + styleUrls: ['./library-requirements.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class LibraryRequirementsComponent {} diff --git a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.module.ts b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.module.ts index a6b8c9598b..bd6c6a3294 100644 --- a/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.module.ts +++ b/apps/doc/src/app/forZIIoT/library-requirements/library-requirements.module.ts @@ -1,11 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { LibraryRequirementsComponent } from './library-requirements.component'; - -@NgModule({ - exports: [LibraryRequirementsComponent], - declarations: [LibraryRequirementsComponent], - imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(LibraryRequirementsComponent))], -}) -export class LibraryRequirementsModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { LibraryRequirementsComponent } from './library-requirements.component'; + +@NgModule({ + exports: [LibraryRequirementsComponent], + declarations: [LibraryRequirementsComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(LibraryRequirementsComponent))], +}) +export class LibraryRequirementsModule {} diff --git a/apps/doc/src/app/forZIIoT/migration/migration.component.html b/apps/doc/src/app/forZIIoT/migration/migration.component.html index 3ae44690f8..f32dbc3235 100644 --- a/apps/doc/src/app/forZIIoT/migration/migration.component.html +++ b/apps/doc/src/app/forZIIoT/migration/migration.component.html @@ -1,4 +1,4 @@ - - We later add migration guides from previous ui library to Prizm.
    - Please wait for a while. -
    + + We later add migration guides from previous ui library to Prizm.
    + Please wait for a while. +
    diff --git a/apps/doc/src/app/forZIIoT/migration/migration.component.spec.ts b/apps/doc/src/app/forZIIoT/migration/migration.component.spec.ts index a170fced97..f6ba1e3942 100644 --- a/apps/doc/src/app/forZIIoT/migration/migration.component.spec.ts +++ b/apps/doc/src/app/forZIIoT/migration/migration.component.spec.ts @@ -1,26 +1,26 @@ -import { NO_ERRORS_SCHEMA } from '@angular/core'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { MigrationComponent } from './migration.component'; - -describe('MigrationComponent', () => { - let component: MigrationComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [MigrationComponent], - schemas: [NO_ERRORS_SCHEMA], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(MigrationComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { NO_ERRORS_SCHEMA } from '@angular/core'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MigrationComponent } from './migration.component'; + +describe('MigrationComponent', () => { + let component: MigrationComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [MigrationComponent], + schemas: [NO_ERRORS_SCHEMA], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(MigrationComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/forZIIoT/migration/migration.component.ts b/apps/doc/src/app/forZIIoT/migration/migration.component.ts index e832a40087..427b4b8fe1 100644 --- a/apps/doc/src/app/forZIIoT/migration/migration.component.ts +++ b/apps/doc/src/app/forZIIoT/migration/migration.component.ts @@ -1,9 +1,9 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-migration', - templateUrl: './migration.component.html', - styleUrls: ['./migration.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class MigrationComponent {} +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-migration', + templateUrl: './migration.component.html', + styleUrls: ['./migration.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class MigrationComponent {} diff --git a/apps/doc/src/app/forZIIoT/migration/migration.module.ts b/apps/doc/src/app/forZIIoT/migration/migration.module.ts index de1e0e12f0..8953e41b64 100644 --- a/apps/doc/src/app/forZIIoT/migration/migration.module.ts +++ b/apps/doc/src/app/forZIIoT/migration/migration.module.ts @@ -1,14 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { MigrationComponent } from './migration.component'; - -@NgModule({ - exports: [MigrationComponent], - declarations: [MigrationComponent], - imports: [ - PrizmAddonDocModule, - RouterModule.forChild(prizmDocGenerateRoutes(MigrationComponent)), - ], -}) -export class MigrationModule {} \ No newline at end of file +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { MigrationComponent } from './migration.component'; + +@NgModule({ + exports: [MigrationComponent], + declarations: [MigrationComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(MigrationComponent))], +}) +export class MigrationModule {} diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.html b/apps/doc/src/app/how-to-work/add-component/add-component.component.html index 3b80f978c1..773f322e3f 100644 --- a/apps/doc/src/app/how-to-work/add-component/add-component.component.html +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.html @@ -1,106 +1,106 @@ - -

    - Дизайн-система Prizm постоянно развивается, появляются новые компоненты. Вы можете внести свой вклад и - познакомить других участников со своими наработками, предложить добавить новый компонент. Отправьте нам - предложение, мы его рассмотрим и примем решение. -

    - -

    Зачем это нужно

    -

    - Только вместе можно сделать хорошо. Нет смысла ждать когда всё будет готово. К этому времени всё устареет. -

    - -

    Как отправить предложение

    -

    Это зависит от состояния, в котором находится новый компонент.

    -
      -
    1. Есть только идея — поставьте задачу.
    2. -
    3. Готов дизайн — отправьте ссылку на макет, в задаче или на почту.
    4. -
    5. Готов код компонента — отправьте PR.
    6. -
    -

    - Напишите нам. В статье «Способы связи с командой Prizm» (Confluence) / Связаться с командой есть - варианты как это сделать. -

    - -

    Кто разрабатывает новые компоненты

    -
      -
    1. Команда Prizm может взять разработку на себя.
    2. -
    3. Ваша команда может самостоятельно разработать компонент и передаёт его в Prizm.
    4. -
    -

    - Кто будет заниматься разработкой, договариваемся в процессе согласования — когда уже решено, что компонент - войдёт в дизайн-систему Prizm. Всё зависит от загрузки, приоритетов, востребованности. -

    - -

    Как проходит согласование

    -
      -
    1. - Вы отправляете информацию, напишите нам, в статье «Способы связи с командой Prizm» (Confluence) / Связаться с командой есть - варианты как это сделать. -
    2. -
    3. Мы обсуждаем, даём обратную связь (дизайн, код и так далее).
    4. -
    5. Успех.
    6. -
    - -

    Примерный план

    - -

    ЭТАП 1

    -

    Принимаем решение

    -
      -
    1. Оцениваем популярность компонента: смотрим, есть ли еще запросы на его разработку.
    2. -
    3. - Составляем описание API и описываем, как компонент будет использоваться — на примерах, чтобы лучше - понимать, как всё работает и зачем это нужно. -
    4. -
    5. - Смотрим, что уже готово: если вы прислали PR, проверяем его, смотрим, есть ли в нём примеры - использования и тесты. -
    6. -
    -

    - После этого этапа становится понятно, что это за компонент и нужно ли его добавлять в дизайн-систему. - Договариваемся, кто его разрабатывает — вы или команда Prizm. -

    - -

    ЭТАП 2

    -

    Разрабатываем и обсуждаем новый компонент

    -
      -
    1. Разрабатываем компонент в дизайне и в коде.
    2. -
    3. Приглашаем сообщество к обсуждению.
    4. -
    - -

    ЭТАП 3

    -

    Проверяем готовый компонент и проводим ревью

    -
      -
    1. Проводим ревью кода и устраняем все замечания.
    2. -
    3. Команда дизайн-системы подтверждает, что компонент можно включить в состав основной библиотеки.
    4. -
    - -

    ЭТАП 4

    -

    Публикуем релиз

    -
      -
    1. Собираем релизный пакет для выкладки.
    2. -
    3. Публикуем информацию о релизе.
    4. -
    -

    Готово! Компонент включён в библиотеку, можно использовать.

    - -

    Зачем нужно согласование

    -

    - Мы хотим сделать понятную процедуру с чёткими этапами, чтобы все участники разработки компонентов - понимали, что происходит и что будет дальше. А заодно: -

    -
      -
    1. Получаем качественный код и документацию.
    2. -
    3. Поддерживаем семантическое версионирование всех изменений.
    4. -
    5. Контролируем время на разработку новых предложений.
    6. -
    7. Следим за тем, кто и чем пользуется.
    8. -
    9. Храним все предложения о разработке новых компонентов в одном месте.
    10. -
    11. Снижаем количество уровней принятия решений.
    12. -
    -

    Со временем у нас появится инструкция с необходимыми шагами и комментариями.

    -
    + +

    + Дизайн-система Prizm постоянно развивается, появляются новые компоненты. Вы можете внести свой вклад и + познакомить других участников со своими наработками, предложить добавить новый компонент. Отправьте нам + предложение, мы его рассмотрим и примем решение. +

    + +

    Зачем это нужно

    +

    + Только вместе можно сделать хорошо. Нет смысла ждать когда всё будет готово. К этому времени всё устареет. +

    + +

    Как отправить предложение

    +

    Это зависит от состояния, в котором находится новый компонент.

    +
      +
    1. Есть только идея — поставьте задачу.
    2. +
    3. Готов дизайн — отправьте ссылку на макет, в задаче или на почту.
    4. +
    5. Готов код компонента — отправьте PR.
    6. +
    +

    + Напишите нам. В статье «Способы связи с командой Prizm» (Confluence) / Связаться с командой есть + варианты как это сделать. +

    + +

    Кто разрабатывает новые компоненты

    +
      +
    1. Команда Prizm может взять разработку на себя.
    2. +
    3. Ваша команда может самостоятельно разработать компонент и передаёт его в Prizm.
    4. +
    +

    + Кто будет заниматься разработкой, договариваемся в процессе согласования — когда уже решено, что компонент + войдёт в дизайн-систему Prizm. Всё зависит от загрузки, приоритетов, востребованности. +

    + +

    Как проходит согласование

    +
      +
    1. + Вы отправляете информацию, напишите нам, в статье «Способы связи с командой Prizm» (Confluence) / Связаться с командой есть + варианты как это сделать. +
    2. +
    3. Мы обсуждаем, даём обратную связь (дизайн, код и так далее).
    4. +
    5. Успех.
    6. +
    + +

    Примерный план

    + +

    ЭТАП 1

    +

    Принимаем решение

    +
      +
    1. Оцениваем популярность компонента: смотрим, есть ли еще запросы на его разработку.
    2. +
    3. + Составляем описание API и описываем, как компонент будет использоваться — на примерах, чтобы лучше + понимать, как всё работает и зачем это нужно. +
    4. +
    5. + Смотрим, что уже готово: если вы прислали PR, проверяем его, смотрим, есть ли в нём примеры + использования и тесты. +
    6. +
    +

    + После этого этапа становится понятно, что это за компонент и нужно ли его добавлять в дизайн-систему. + Договариваемся, кто его разрабатывает — вы или команда Prizm. +

    + +

    ЭТАП 2

    +

    Разрабатываем и обсуждаем новый компонент

    +
      +
    1. Разрабатываем компонент в дизайне и в коде.
    2. +
    3. Приглашаем сообщество к обсуждению.
    4. +
    + +

    ЭТАП 3

    +

    Проверяем готовый компонент и проводим ревью

    +
      +
    1. Проводим ревью кода и устраняем все замечания.
    2. +
    3. Команда дизайн-системы подтверждает, что компонент можно включить в состав основной библиотеки.
    4. +
    + +

    ЭТАП 4

    +

    Публикуем релиз

    +
      +
    1. Собираем релизный пакет для выкладки.
    2. +
    3. Публикуем информацию о релизе.
    4. +
    +

    Готово! Компонент включён в библиотеку, можно использовать.

    + +

    Зачем нужно согласование

    +

    + Мы хотим сделать понятную процедуру с чёткими этапами, чтобы все участники разработки компонентов + понимали, что происходит и что будет дальше. А заодно: +

    +
      +
    1. Получаем качественный код и документацию.
    2. +
    3. Поддерживаем семантическое версионирование всех изменений.
    4. +
    5. Контролируем время на разработку новых предложений.
    6. +
    7. Следим за тем, кто и чем пользуется.
    8. +
    9. Храним все предложения о разработке новых компонентов в одном месте.
    10. +
    11. Снижаем количество уровней принятия решений.
    12. +
    +

    Со временем у нас появится инструкция с необходимыми шагами и комментариями.

    +
    diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.spec.ts b/apps/doc/src/app/how-to-work/add-component/add-component.component.spec.ts index 9ca40bfa76..0303fe58ee 100644 --- a/apps/doc/src/app/how-to-work/add-component/add-component.component.spec.ts +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AddComponentComponent } from './add-component.component'; - -describe('AddComponentComponent', () => { - let component: AddComponentComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [AddComponentComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(AddComponentComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AddComponentComponent } from './add-component.component'; + +describe('AddComponentComponent', () => { + let component: AddComponentComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [AddComponentComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(AddComponentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.component.ts b/apps/doc/src/app/how-to-work/add-component/add-component.component.ts index e8ad759fa7..8571a68c22 100644 --- a/apps/doc/src/app/how-to-work/add-component/add-component.component.ts +++ b/apps/doc/src/app/how-to-work/add-component/add-component.component.ts @@ -1,12 +1,12 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; -import { environment } from './../../../environments/environment'; - -@Component({ - selector: 'prizm-add-component', - templateUrl: './add-component.component.html', - styleUrls: ['./add-component.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class AddComponentComponent { - public storybookBaseUrl = environment.storybookBaseUrl; -} +import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { environment } from './../../../environments/environment'; + +@Component({ + selector: 'prizm-add-component', + templateUrl: './add-component.component.html', + styleUrls: ['./add-component.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class AddComponentComponent { + public storybookBaseUrl = environment.storybookBaseUrl; +} diff --git a/apps/doc/src/app/how-to-work/add-component/add-component.module.ts b/apps/doc/src/app/how-to-work/add-component/add-component.module.ts index 1cc01a3255..23a50cd4dd 100644 --- a/apps/doc/src/app/how-to-work/add-component/add-component.module.ts +++ b/apps/doc/src/app/how-to-work/add-component/add-component.module.ts @@ -1,11 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { AddComponentComponent } from './add-component.component'; - -@NgModule({ - exports: [AddComponentComponent], - declarations: [AddComponentComponent], - imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(AddComponentComponent))], -}) -export class AddComponentModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { AddComponentComponent } from './add-component.component'; + +@NgModule({ + exports: [AddComponentComponent], + declarations: [AddComponentComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(AddComponentComponent))], +}) +export class AddComponentModule {} diff --git a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html index d87fe03d3d..d1b520e55c 100644 --- a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.html @@ -1,3 +1,3 @@ - - - + + + diff --git a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less index 0c148a8180..7c3cd2e8cd 100644 --- a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.less @@ -1,88 +1,88 @@ -/* stylelint-disable selector-type-no-unknown */ -markdown { - & > :nth-child(1), - & > :nth-child(2) { - display: none; - } - - > * { - margin-left: 1.25rem; - } - - & a { - text-decoration: none; - color: var(--prizm-link); - - &:hover, - &:active { - color: var(--prizm-link-hover); - } - } - - & h2 { - font-size: 2em; - padding-bottom: 0.5em; - margin-left: 0; - margin-top: 4rem; - border-bottom: 1px solid var(--prizm-base-03); - } - - & h3 { - text-transform: uppercase; - font-weight: normal; - font-size: 1.5rem; - margin: 1rem 0; - } - - & h3:not([id^='feat']):not([id^='bug']):not([id^='deprecations']) { - font-size: 1.75rem; - padding-bottom: 0.5em; - margin: 2rem 0 0 0; - border-bottom: 1px solid var(--prizm-base-03); - } - - & h3[id^='breaking'] { - margin-left: 1.25rem; - color: var(--prizm-error-fill); - } - - & code { - color: #d45d8c; - } - - & h3[id^='feat']:before { - content: '🚀'; - } - - & h3[id^='bug']:before { - content: '🐞'; - } - - & h3[id^='deprecations']:before { - content: '⚠️'; - } - - & h3[id^='feat']:before, - & h3[id^='bug']:before, - & h3[id^='deprecations']:before { - margin-right: 0.5rem; - } - - & li { - position: relative; - padding-left: 1.5rem; - word-wrap: break-word; - margin-top: 0.75rem; - - &:before { - content: ''; - position: absolute; - left: 0; - top: 0.5rem; - width: 0.5rem; - height: 0.5rem; - border-radius: 100%; - background-color: var(--prizm-index-plan); - } - } -} +/* stylelint-disable selector-type-no-unknown */ +markdown { + & > :nth-child(1), + & > :nth-child(2) { + display: none; + } + + > * { + margin-left: 1.25rem; + } + + & a { + text-decoration: none; + color: var(--prizm-link); + + &:hover, + &:active { + color: var(--prizm-link-hover); + } + } + + & h2 { + font-size: 2em; + padding-bottom: 0.5em; + margin-left: 0; + margin-top: 4rem; + border-bottom: 1px solid var(--prizm-base-03); + } + + & h3 { + text-transform: uppercase; + font-weight: normal; + font-size: 1.5rem; + margin: 1rem 0; + } + + & h3:not([id^='feat']):not([id^='bug']):not([id^='deprecations']) { + font-size: 1.75rem; + padding-bottom: 0.5em; + margin: 2rem 0 0 0; + border-bottom: 1px solid var(--prizm-base-03); + } + + & h3[id^='breaking'] { + margin-left: 1.25rem; + color: var(--prizm-error-fill); + } + + & code { + color: #d45d8c; + } + + & h3[id^='feat']:before { + content: '🚀'; + } + + & h3[id^='bug']:before { + content: '🐞'; + } + + & h3[id^='deprecations']:before { + content: '⚠️'; + } + + & h3[id^='feat']:before, + & h3[id^='bug']:before, + & h3[id^='deprecations']:before { + margin-right: 0.5rem; + } + + & li { + position: relative; + padding-left: 1.5rem; + word-wrap: break-word; + margin-top: 0.75rem; + + &:before { + content: ''; + position: absolute; + left: 0; + top: 0.5rem; + width: 0.5rem; + height: 0.5rem; + border-radius: 100%; + background-color: var(--prizm-index-plan); + } + } +} diff --git a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.ts b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.ts index 1ba36ad603..715818611b 100644 --- a/apps/doc/src/app/how-to-work/codestyle/codestyle.component.ts +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.component.ts @@ -1,15 +1,15 @@ -import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; -import { of } from 'rxjs'; -import { switchMap } from 'rxjs/operators'; -import { prizmRawLoad } from '@prizm-ui/doc'; - -@Component({ - selector: `prizm-codestyle`, - templateUrl: `codestyle.component.html`, - styleUrls: [`./codestyle.component.less`], - encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class CodestyleComponent { - readonly text = of(import(`../../../../../../CODESTYLE.md?raw`)).pipe(switchMap(prizmRawLoad)); -} +import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; +import { of } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; +import { prizmRawLoad } from '@prizm-ui/doc'; + +@Component({ + selector: `prizm-codestyle`, + templateUrl: `codestyle.component.html`, + styleUrls: [`./codestyle.component.less`], + encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class CodestyleComponent { + readonly text = of(import(`../../../../../../CODESTYLE.md?raw`)).pipe(switchMap(prizmRawLoad)); +} diff --git a/apps/doc/src/app/how-to-work/codestyle/codestyle.module.ts b/apps/doc/src/app/how-to-work/codestyle/codestyle.module.ts index 43a586a9d4..36b6edcd08 100644 --- a/apps/doc/src/app/how-to-work/codestyle/codestyle.module.ts +++ b/apps/doc/src/app/how-to-work/codestyle/codestyle.module.ts @@ -1,18 +1,18 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { prizmDocGenerateRoutes, PrizmAddonDocModule } from '@prizm-ui/doc'; -import { MarkdownModule } from 'ngx-markdown'; -import { CodestyleComponent } from './codestyle.component'; - -@NgModule({ - imports: [ - CommonModule, - MarkdownModule, - PrizmAddonDocModule, - RouterModule.forChild(prizmDocGenerateRoutes(CodestyleComponent)), - ], - declarations: [CodestyleComponent], - exports: [CodestyleComponent], -}) -export class CodestyleModule {} +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { prizmDocGenerateRoutes, PrizmAddonDocModule } from '@prizm-ui/doc'; +import { MarkdownModule } from 'ngx-markdown'; +import { CodestyleComponent } from './codestyle.component'; + +@NgModule({ + imports: [ + CommonModule, + MarkdownModule, + PrizmAddonDocModule, + RouterModule.forChild(prizmDocGenerateRoutes(CodestyleComponent)), + ], + declarations: [CodestyleComponent], + exports: [CodestyleComponent], +}) +export class CodestyleModule {} diff --git a/apps/doc/src/app/how-to-work/contributing/contributing.component.html b/apps/doc/src/app/how-to-work/contributing/contributing.component.html index b9427df29f..106e12b79e 100644 --- a/apps/doc/src/app/how-to-work/contributing/contributing.component.html +++ b/apps/doc/src/app/how-to-work/contributing/contributing.component.html @@ -1,3 +1,3 @@ - - - + + + diff --git a/apps/doc/src/app/how-to-work/contributing/contributing.component.less b/apps/doc/src/app/how-to-work/contributing/contributing.component.less index 0c148a8180..7c3cd2e8cd 100644 --- a/apps/doc/src/app/how-to-work/contributing/contributing.component.less +++ b/apps/doc/src/app/how-to-work/contributing/contributing.component.less @@ -1,88 +1,88 @@ -/* stylelint-disable selector-type-no-unknown */ -markdown { - & > :nth-child(1), - & > :nth-child(2) { - display: none; - } - - > * { - margin-left: 1.25rem; - } - - & a { - text-decoration: none; - color: var(--prizm-link); - - &:hover, - &:active { - color: var(--prizm-link-hover); - } - } - - & h2 { - font-size: 2em; - padding-bottom: 0.5em; - margin-left: 0; - margin-top: 4rem; - border-bottom: 1px solid var(--prizm-base-03); - } - - & h3 { - text-transform: uppercase; - font-weight: normal; - font-size: 1.5rem; - margin: 1rem 0; - } - - & h3:not([id^='feat']):not([id^='bug']):not([id^='deprecations']) { - font-size: 1.75rem; - padding-bottom: 0.5em; - margin: 2rem 0 0 0; - border-bottom: 1px solid var(--prizm-base-03); - } - - & h3[id^='breaking'] { - margin-left: 1.25rem; - color: var(--prizm-error-fill); - } - - & code { - color: #d45d8c; - } - - & h3[id^='feat']:before { - content: '🚀'; - } - - & h3[id^='bug']:before { - content: '🐞'; - } - - & h3[id^='deprecations']:before { - content: '⚠️'; - } - - & h3[id^='feat']:before, - & h3[id^='bug']:before, - & h3[id^='deprecations']:before { - margin-right: 0.5rem; - } - - & li { - position: relative; - padding-left: 1.5rem; - word-wrap: break-word; - margin-top: 0.75rem; - - &:before { - content: ''; - position: absolute; - left: 0; - top: 0.5rem; - width: 0.5rem; - height: 0.5rem; - border-radius: 100%; - background-color: var(--prizm-index-plan); - } - } -} +/* stylelint-disable selector-type-no-unknown */ +markdown { + & > :nth-child(1), + & > :nth-child(2) { + display: none; + } + + > * { + margin-left: 1.25rem; + } + + & a { + text-decoration: none; + color: var(--prizm-link); + + &:hover, + &:active { + color: var(--prizm-link-hover); + } + } + + & h2 { + font-size: 2em; + padding-bottom: 0.5em; + margin-left: 0; + margin-top: 4rem; + border-bottom: 1px solid var(--prizm-base-03); + } + + & h3 { + text-transform: uppercase; + font-weight: normal; + font-size: 1.5rem; + margin: 1rem 0; + } + + & h3:not([id^='feat']):not([id^='bug']):not([id^='deprecations']) { + font-size: 1.75rem; + padding-bottom: 0.5em; + margin: 2rem 0 0 0; + border-bottom: 1px solid var(--prizm-base-03); + } + + & h3[id^='breaking'] { + margin-left: 1.25rem; + color: var(--prizm-error-fill); + } + + & code { + color: #d45d8c; + } + + & h3[id^='feat']:before { + content: '🚀'; + } + + & h3[id^='bug']:before { + content: '🐞'; + } + + & h3[id^='deprecations']:before { + content: '⚠️'; + } + + & h3[id^='feat']:before, + & h3[id^='bug']:before, + & h3[id^='deprecations']:before { + margin-right: 0.5rem; + } + + & li { + position: relative; + padding-left: 1.5rem; + word-wrap: break-word; + margin-top: 0.75rem; + + &:before { + content: ''; + position: absolute; + left: 0; + top: 0.5rem; + width: 0.5rem; + height: 0.5rem; + border-radius: 100%; + background-color: var(--prizm-index-plan); + } + } +} diff --git a/apps/doc/src/app/how-to-work/contributing/contributing.component.ts b/apps/doc/src/app/how-to-work/contributing/contributing.component.ts index b5d88b24c1..964a6a9ed5 100644 --- a/apps/doc/src/app/how-to-work/contributing/contributing.component.ts +++ b/apps/doc/src/app/how-to-work/contributing/contributing.component.ts @@ -1,15 +1,15 @@ -import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; -import { of } from 'rxjs'; -import { switchMap } from 'rxjs/operators'; -import { prizmRawLoad } from '@prizm-ui/doc'; - -@Component({ - selector: `prizm-codestyle`, - templateUrl: `contributing.component.html`, - styleUrls: [`./contributing.component.less`], - encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class ContributingComponent { - readonly text = of(import(`../../../../../../CONTRIBUTING.md?raw`)).pipe(switchMap(prizmRawLoad)); -} +import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; +import { of } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; +import { prizmRawLoad } from '@prizm-ui/doc'; + +@Component({ + selector: `prizm-codestyle`, + templateUrl: `contributing.component.html`, + styleUrls: [`./contributing.component.less`], + encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ContributingComponent { + readonly text = of(import(`../../../../../../CONTRIBUTING.md?raw`)).pipe(switchMap(prizmRawLoad)); +} diff --git a/apps/doc/src/app/how-to-work/contributing/contributing.module.ts b/apps/doc/src/app/how-to-work/contributing/contributing.module.ts index b55473fc17..bd00cd055c 100644 --- a/apps/doc/src/app/how-to-work/contributing/contributing.module.ts +++ b/apps/doc/src/app/how-to-work/contributing/contributing.module.ts @@ -1,18 +1,18 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { MarkdownModule } from 'ngx-markdown'; -import { ContributingComponent } from './contributing.component'; - -@NgModule({ - imports: [ - CommonModule, - MarkdownModule, - PrizmAddonDocModule, - RouterModule.forChild(prizmDocGenerateRoutes(ContributingComponent)), - ], - declarations: [ContributingComponent], - exports: [ContributingComponent], -}) -export class ContributingModule {} +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { MarkdownModule } from 'ngx-markdown'; +import { ContributingComponent } from './contributing.component'; + +@NgModule({ + imports: [ + CommonModule, + MarkdownModule, + PrizmAddonDocModule, + RouterModule.forChild(prizmDocGenerateRoutes(ContributingComponent)), + ], + declarations: [ContributingComponent], + exports: [ContributingComponent], +}) +export class ContributingModule {} diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html index 912b49e286..a1a5af1251 100644 --- a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.html @@ -1,74 +1,74 @@ - -

    Default install:

    - -

    - You can easily install Prizm UI using Angular CLI by running the following command: -

    - - - -

    Manual install:

    -
    -

    - Required - > Install theme and core: -

    - - - -
    - -
    -

    - Optional - > Install helpers: -

    - - -
    - -
    -

    - Optional - > Install components: -

    - - -
    - -
    -

    - Optional - > Install charts library: -

    - - -
    - - - - -

    Add our styles to angular config:

    - -
    -

    Or you can add to your root styles.less

    - -
    -
    -
    - - - - -

    To use our icons as svg, please install our library

    - -

    - But if you want to use fonts not only as svg, and also as font, please add to your angular config -

    - - or you can only import to your root styles.less - -
    -
    -
    -
    + +

    Default install:

    + +

    + You can easily install Prizm UI using Angular CLI by running the following command: +

    + + + +

    Manual install:

    +
    +

    + Required + > Install theme and core: +

    + + + +
    + +
    +

    + Optional + > Install helpers: +

    + + +
    + +
    +

    + Optional + > Install components: +

    + + +
    + +
    +

    + Optional + > Install charts library: +

    + + +
    + + + + +

    Add our styles to angular config:

    + +
    +

    Or you can add to your root styles.less

    + +
    +
    +
    + + + + +

    To use our icons as svg, please install our library

    + +

    + But if you want to use fonts not only as svg, and also as font, please add to your angular config +

    + + or you can only import to your root styles.less + +
    +
    +
    +
    diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less index a0589029dd..32eb289d08 100644 --- a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.less @@ -1,15 +1,15 @@ -prizm-accordion { - margin-top: 16px; -} - -prizm-doc-code { - margin-bottom: 10px; -} - -.required { - color: var(--prizm-index-danger); -} - -.optional { - color: var(--prizm-index-warning); -} +prizm-accordion { + margin-top: 16px; +} + +prizm-doc-code { + margin-bottom: 10px; +} + +.required { + color: var(--prizm-index-danger); +} + +.optional { + color: var(--prizm-index-warning); +} diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.spec.ts b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.spec.ts index 1af2414120..1ef024833c 100644 --- a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.spec.ts +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ForDevelopersComponent } from './for-developers.component'; - -describe('ForDevelopersComponent', () => { - let component: ForDevelopersComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ForDevelopersComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(ForDevelopersComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ForDevelopersComponent } from './for-developers.component'; + +describe('ForDevelopersComponent', () => { + let component: ForDevelopersComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ForDevelopersComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ForDevelopersComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.ts b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.ts index 0c11ff38ee..00d33b6ff9 100644 --- a/apps/doc/src/app/how-to-work/for-developers/for-developers.component.ts +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.component.ts @@ -1,42 +1,42 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; - -@Component({ - selector: 'prizm-for-developers', - templateUrl: './for-developers.component.html', - styleUrls: ['./for-developers.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class ForDevelopersComponent { - public readonly joinSvgFonts = ` - "styles": [ - ... - "@prizm-ui/icons/base/src/styles/styles.less" - ],"; - `; - public readonly joinSvgFontsForImport = `@import "~@prizm-ui/icons/base/src/styles/styles.less"; - `; - public readonly updateAngularStylesFileCode = ` - // (Required) Add for use our theme - @import "~@prizm-ui/theme/src/styles/styles.less"; - // (Optional) Add only for use our components library - @import "~@prizm-ui/components/src/styles/styles.less"; - - // (Optional) Add only for use our old icon set (deprecated) - @import "~@prizm-ui/components/src/styles/icons/icons.less"; - @import "~@prizm-ui/components/src/styles/icons-16/icons-16.less"; - `; - public readonly updateAngularStylesCode = ` - "assets": [ - // .... - ], - "styles": [ - // (Required) Add for use our theme - "node_modules/@prizm-ui/theme/src/styles/styles.less", - // (Optional) Add for use our components - "node_modules/@prizm-ui/components/src/styles/styles.less", - // (Optional) Add only for use our old icon set (deprecated) - "node_modules/@prizm-ui/components/src/styles/icons/icons.less", - "node_modules/@prizm-ui/components/src/styles/icons-16/icons-16.less" - ], - `; -} +import { Component, ChangeDetectionStrategy } from '@angular/core'; + +@Component({ + selector: 'prizm-for-developers', + templateUrl: './for-developers.component.html', + styleUrls: ['./for-developers.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class ForDevelopersComponent { + public readonly joinSvgFonts = ` + "styles": [ + ... + "@prizm-ui/icons/base/src/styles/styles.less" + ],"; + `; + public readonly joinSvgFontsForImport = `@import "~@prizm-ui/icons/base/src/styles/styles.less"; + `; + public readonly updateAngularStylesFileCode = ` + // (Required) Add for use our theme + @import "~@prizm-ui/theme/src/styles/styles.less"; + // (Optional) Add only for use our components library + @import "~@prizm-ui/components/src/styles/styles.less"; + + // (Optional) Add only for use our old icon set (deprecated) + @import "~@prizm-ui/components/src/styles/icons/icons.less"; + @import "~@prizm-ui/components/src/styles/icons-16/icons-16.less"; + `; + public readonly updateAngularStylesCode = ` + "assets": [ + // .... + ], + "styles": [ + // (Required) Add for use our theme + "node_modules/@prizm-ui/theme/src/styles/styles.less", + // (Optional) Add for use our components + "node_modules/@prizm-ui/components/src/styles/styles.less", + // (Optional) Add only for use our old icon set (deprecated) + "node_modules/@prizm-ui/components/src/styles/icons/icons.less", + "node_modules/@prizm-ui/components/src/styles/icons-16/icons-16.less" + ], + `; +} diff --git a/apps/doc/src/app/how-to-work/for-developers/for-developers.module.ts b/apps/doc/src/app/how-to-work/for-developers/for-developers.module.ts index 924e62c8ab..cd0084b522 100644 --- a/apps/doc/src/app/how-to-work/for-developers/for-developers.module.ts +++ b/apps/doc/src/app/how-to-work/for-developers/for-developers.module.ts @@ -1,16 +1,16 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAccordionModule } from '@prizm-ui/components'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { ForDevelopersComponent } from './for-developers.component'; - -@NgModule({ - exports: [ForDevelopersComponent], - declarations: [ForDevelopersComponent], - imports: [ - PrizmAddonDocModule, - PrizmAccordionModule, - RouterModule.forChild(prizmDocGenerateRoutes(ForDevelopersComponent)), - ], -}) -export class ForDevelopersModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAccordionModule } from '@prizm-ui/components'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { ForDevelopersComponent } from './for-developers.component'; + +@NgModule({ + exports: [ForDevelopersComponent], + declarations: [ForDevelopersComponent], + imports: [ + PrizmAddonDocModule, + PrizmAccordionModule, + RouterModule.forChild(prizmDocGenerateRoutes(ForDevelopersComponent)), + ], +}) +export class ForDevelopersModule {} diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.html b/apps/doc/src/app/how-to-work/set-task/set-task.component.html index 64731ae5a0..a913e9bea9 100644 --- a/apps/doc/src/app/how-to-work/set-task/set-task.component.html +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.html @@ -1,34 +1,34 @@ - -

    - В статье «Способы связи с командой Prizm» (Confluence) / Связаться с командой мы - описали возможные варианты: -

    -
      -
    1. - С помощью отправки письма на электронный почтовый ящик – - prizm@zyfra.com -
    2. -
    3. - С помощью Issue (способ описан на странице - Сontributing) -
    4. -
    -

    - Поставить задачу на изменение можно (issue) в нашем репозитории. Пожалуйста, когда ставите задачу, следите - за форматом: так мы быстрее поймём, в чём дело, и сможем передать задачу нужному человеку. -

    - -

    Комментарий

    -

    Обязательно напишите комментарий. Мы будем рады:

    -
      -
    1. подробному описанию задачи
    2. -
    3. скриншотам и любым другим изображениям
    4. -
    -

    Если изображения не прикрепляются к задаче, прикрепите архив или поставьте ссылку на облако.

    -

    - Объём любой, главное — понятно и по-человечески. Хочется, чтобы в любой момент и автору, и исполнителю - было понятно, что делать. -

    -
    + +

    + В статье «Способы связи с командой Prizm» (Confluence) / Связаться с командой мы + описали возможные варианты: +

    +
      +
    1. + С помощью отправки письма на электронный почтовый ящик – + prizm@zyfra.com +
    2. +
    3. + С помощью Issue (способ описан на странице + Сontributing) +
    4. +
    +

    + Поставить задачу на изменение можно (issue) в нашем репозитории. Пожалуйста, когда ставите задачу, следите + за форматом: так мы быстрее поймём, в чём дело, и сможем передать задачу нужному человеку. +

    + +

    Комментарий

    +

    Обязательно напишите комментарий. Мы будем рады:

    +
      +
    1. подробному описанию задачи
    2. +
    3. скриншотам и любым другим изображениям
    4. +
    +

    Если изображения не прикрепляются к задаче, прикрепите архив или поставьте ссылку на облако.

    +

    + Объём любой, главное — понятно и по-человечески. Хочется, чтобы в любой момент и автору, и исполнителю + было понятно, что делать. +

    +
    diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.spec.ts b/apps/doc/src/app/how-to-work/set-task/set-task.component.spec.ts index 3dfb340069..b222d7892f 100644 --- a/apps/doc/src/app/how-to-work/set-task/set-task.component.spec.ts +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { SetTaskComponent } from './set-task.component'; - -describe('SetTaskComponent', () => { - let component: SetTaskComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [SetTaskComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(SetTaskComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SetTaskComponent } from './set-task.component'; + +describe('SetTaskComponent', () => { + let component: SetTaskComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SetTaskComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SetTaskComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.component.ts b/apps/doc/src/app/how-to-work/set-task/set-task.component.ts index ee9e1a70c4..0aedc293f6 100644 --- a/apps/doc/src/app/how-to-work/set-task/set-task.component.ts +++ b/apps/doc/src/app/how-to-work/set-task/set-task.component.ts @@ -1,12 +1,12 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; -import { environment } from './../../../environments/environment'; - -@Component({ - selector: 'prizm-set-task', - templateUrl: './set-task.component.html', - styleUrls: ['./set-task.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class SetTaskComponent { - public storybookBaseUrl = environment.storybookBaseUrl; -} +import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { environment } from './../../../environments/environment'; + +@Component({ + selector: 'prizm-set-task', + templateUrl: './set-task.component.html', + styleUrls: ['./set-task.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class SetTaskComponent { + public storybookBaseUrl = environment.storybookBaseUrl; +} diff --git a/apps/doc/src/app/how-to-work/set-task/set-task.module.ts b/apps/doc/src/app/how-to-work/set-task/set-task.module.ts index d598168675..8ea9ceb0ff 100644 --- a/apps/doc/src/app/how-to-work/set-task/set-task.module.ts +++ b/apps/doc/src/app/how-to-work/set-task/set-task.module.ts @@ -1,11 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { SetTaskComponent } from './set-task.component'; - -@NgModule({ - exports: [SetTaskComponent], - declarations: [SetTaskComponent], - imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(SetTaskComponent))], -}) -export class SetTaskModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { SetTaskComponent } from './set-task.component'; + +@NgModule({ + exports: [SetTaskComponent], + declarations: [SetTaskComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(SetTaskComponent))], +}) +export class SetTaskModule {} diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.html b/apps/doc/src/app/how-to-work/transition/transition.component.html index 669c625794..5f65b79dc6 100644 --- a/apps/doc/src/app/how-to-work/transition/transition.component.html +++ b/apps/doc/src/app/how-to-work/transition/transition.component.html @@ -1,81 +1,81 @@ - -

    Подключите библиотеки

    - Как работать с Prizm (быстрый старт) - -

    Посмотрите, каких компонентов вам не хватает

    -

    - В дизайн-системе есть самые основные компоненты для разработки интерфейсов. Скорее всего, вам понадобится - несколько уникальных компонентов или доработок. Должно быть примерно так: -

    -
      -
    1. 80% — компоненты из дизайн-системы,
    2. -
    3. 20% — новые компоненты и доработки.
    4. -
    -

    - Посмотрите заранее, что уже есть, а что вам может понадобиться. Где смотреть: Статья «Репозитории» -

    -

    - Если что-то не нашлось, проверьте, может быть, задача на доработки, которые нужны вам, уже запланирована - или в работе. -

    -
      -
    1. - Дорожная карта и задачи -
        -
      1. - Со временем дорожная карта будет в GitHub: - ссылка -
      2. -
      3. - Доска и активный спринт -
      4. -
      5. - Бэклог спринтов и продукта -
      6. -
      7. - Песочница бэклога - Backlog. Stage III -
      8. -
      -
    2. -
    -

    - Если нужных компонентов нигде нет, что ж. Некоторые компоненты мы берём в работу, но что-то вам придётся - добавить самостоятельно. -

    - -

    Отправьте запрос на доработку дизайн-системы

    -

    Когда стоит это делать

    -
      -
    1. Вы нашли ошибку в работе наших компонентов.
    2. -
    3. Ваша доработка или улучшение компонента будет полезна многим.
    4. -
    5. - Новый компонент часто используется в проектировании интерфейсов (во всех дизайн-системах есть, а у нас - нет). -
    6. -
    -

    Как отправить запрос на доработку

    -

    - Статья «Связь с командой Prizm» (Confluence) / Связаться с командой ответит - на все вопросы. -

    - -

    Для контрибьюторов

    -

    - Статья «Связь с командой Prizm» (Confluence) / Сontributing (сайт) - ответит на все вопросы. -

    -
    + +

    Подключите библиотеки

    + Как работать с Prizm (быстрый старт) + +

    Посмотрите, каких компонентов вам не хватает

    +

    + В дизайн-системе есть самые основные компоненты для разработки интерфейсов. Скорее всего, вам понадобится + несколько уникальных компонентов или доработок. Должно быть примерно так: +

    +
      +
    1. 80% — компоненты из дизайн-системы,
    2. +
    3. 20% — новые компоненты и доработки.
    4. +
    +

    + Посмотрите заранее, что уже есть, а что вам может понадобиться. Где смотреть: Статья «Репозитории» +

    +

    + Если что-то не нашлось, проверьте, может быть, задача на доработки, которые нужны вам, уже запланирована + или в работе. +

    +
      +
    1. + Дорожная карта и задачи +
        +
      1. + Со временем дорожная карта будет в GitHub: + ссылка +
      2. +
      3. + Доска и активный спринт +
      4. +
      5. + Бэклог спринтов и продукта +
      6. +
      7. + Песочница бэклога + Backlog. Stage III +
      8. +
      +
    2. +
    +

    + Если нужных компонентов нигде нет, что ж. Некоторые компоненты мы берём в работу, но что-то вам придётся + добавить самостоятельно. +

    + +

    Отправьте запрос на доработку дизайн-системы

    +

    Когда стоит это делать

    +
      +
    1. Вы нашли ошибку в работе наших компонентов.
    2. +
    3. Ваша доработка или улучшение компонента будет полезна многим.
    4. +
    5. + Новый компонент часто используется в проектировании интерфейсов (во всех дизайн-системах есть, а у нас + нет). +
    6. +
    +

    Как отправить запрос на доработку

    +

    + Статья «Связь с командой Prizm» (Confluence) / Связаться с командой ответит + на все вопросы. +

    + +

    Для контрибьюторов

    +

    + Статья «Связь с командой Prizm» (Confluence) / Сontributing (сайт) + ответит на все вопросы. +

    +
    diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.spec.ts b/apps/doc/src/app/how-to-work/transition/transition.component.spec.ts index ccace29fbe..6dac8a4fa5 100644 --- a/apps/doc/src/app/how-to-work/transition/transition.component.spec.ts +++ b/apps/doc/src/app/how-to-work/transition/transition.component.spec.ts @@ -1,24 +1,24 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { TransitionComponent } from './transition.component'; - -describe('TransitionComponent', () => { - let component: TransitionComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [TransitionComponent], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(TransitionComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TransitionComponent } from './transition.component'; + +describe('TransitionComponent', () => { + let component: TransitionComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [TransitionComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(TransitionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/apps/doc/src/app/how-to-work/transition/transition.component.ts b/apps/doc/src/app/how-to-work/transition/transition.component.ts index 4228304a70..3a04f6b7bf 100644 --- a/apps/doc/src/app/how-to-work/transition/transition.component.ts +++ b/apps/doc/src/app/how-to-work/transition/transition.component.ts @@ -1,12 +1,12 @@ -import { Component, ChangeDetectionStrategy } from '@angular/core'; -import { environment } from './../../../environments/environment'; - -@Component({ - selector: 'prizm-transition', - templateUrl: './transition.component.html', - styleUrls: ['./transition.component.less'], - changeDetection: ChangeDetectionStrategy.OnPush, -}) -export class TransitionComponent { - public storybookBaseUrl = environment.storybookBaseUrl; -} +import { Component, ChangeDetectionStrategy } from '@angular/core'; +import { environment } from './../../../environments/environment'; + +@Component({ + selector: 'prizm-transition', + templateUrl: './transition.component.html', + styleUrls: ['./transition.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class TransitionComponent { + public storybookBaseUrl = environment.storybookBaseUrl; +} diff --git a/apps/doc/src/app/how-to-work/transition/transition.module.ts b/apps/doc/src/app/how-to-work/transition/transition.module.ts index 11a35a4afc..87da53c587 100644 --- a/apps/doc/src/app/how-to-work/transition/transition.module.ts +++ b/apps/doc/src/app/how-to-work/transition/transition.module.ts @@ -1,11 +1,11 @@ -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; -import { TransitionComponent } from './transition.component'; - -@NgModule({ - exports: [TransitionComponent], - declarations: [TransitionComponent], - imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(TransitionComponent))], -}) -export class TransitionModule {} +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { PrizmAddonDocModule, prizmDocGenerateRoutes } from '@prizm-ui/doc'; +import { TransitionComponent } from './transition.component'; + +@NgModule({ + exports: [TransitionComponent], + declarations: [TransitionComponent], + imports: [PrizmAddonDocModule, RouterModule.forChild(prizmDocGenerateRoutes(TransitionComponent))], +}) +export class TransitionModule {} diff --git a/libs/components/src/lib/components/dialogs/dialog/dialog.component.less b/libs/components/src/lib/components/dialogs/dialog/dialog.component.less index b8dbfd4a8c..b854d95840 100644 --- a/libs/components/src/lib/components/dialogs/dialog/dialog.component.less +++ b/libs/components/src/lib/components/dialogs/dialog/dialog.component.less @@ -1,69 +1,69 @@ -@import '../../../../styles/ui-local'; - -:host { - display: block; - background: var(--prizm-dialog-background, var(--prizm-bg-body)); - border: 1px solid var(--prizm-border-widget); - border-radius: var(--prizm-dialog-border-radius, 2px); - margin: var(--prizm-dialog-margin, 16px); - pointer-events: all; -} - -.content { - .ellipsis(); - padding: var(--prizm-dialog-padding, 32px 16px); - color: var(--prizm-text-main); - max-width: 100%; -} - -.header { - border-bottom: 1px solid var(--prizm-border-widget); - padding: var(--prizm-dialog-padding, 14px 16px); - display: flex; - justify-content: space-between; - - font-style: normal; - font-weight: 600; - font-size: var(--prizm-dialog-font-size, 14px); - color: var(--prizm-text-contrast); - - .title { - .ellipsis(); - max-width: 90%; - display: flex; - align-items: center; - } - - .icon { - color: var(--prizm-border-icon); - font-weight: 300; - cursor: pointer; - margin-left: 16px; - } -} - -.footer { - .ellipsis(); - border-top: 1px solid var(--prizm-border-widget); - padding: var(--prizm-dialog-padding, 14px 16px); - max-width: 100%; - - .buttons { - display: flex; - justify-content: flex-end; - gap: 8px; - overflow: hidden; - } -} - -.scrollbar { - max-height: var(--prizm-dialog-max-scrollbar-height, 60vh); -} - -*:focus-visible { - outline: none; -} - -[prizmInputIconButton] { - width: unset; -} +@import '../../../../styles/ui-local'; + +:host { + display: block; + background: var(--prizm-dialog-background, var(--prizm-bg-body)); + border: 1px solid var(--prizm-border-widget); + border-radius: var(--prizm-dialog-border-radius, 2px); + margin: var(--prizm-dialog-margin, 16px); + pointer-events: all; +} + +.content { + .ellipsis(); + padding: var(--prizm-dialog-padding, 32px 16px); + color: var(--prizm-text-main); + max-width: 100%; +} + +.header { + border-bottom: 1px solid var(--prizm-border-widget); + padding: var(--prizm-dialog-padding, 14px 16px); + display: flex; + justify-content: space-between; + + font-style: normal; + font-weight: 600; + font-size: var(--prizm-dialog-font-size, 14px); + color: var(--prizm-text-contrast); + + .title { + .ellipsis(); + max-width: 90%; + display: flex; + align-items: center; + } + + .icon { + color: var(--prizm-border-icon); + font-weight: 300; + cursor: pointer; + margin-left: 16px; + } +} + +.footer { + .ellipsis(); + border-top: 1px solid var(--prizm-border-widget); + padding: var(--prizm-dialog-padding, 14px 16px); + max-width: 100%; + + .buttons { + display: flex; + justify-content: flex-end; + gap: 8px; + overflow: hidden; + } +} + +.scrollbar { + max-height: var(--prizm-dialog-max-scrollbar-height, 60vh); +} + +*:focus-visible { + outline: none; +} + +[prizmInputIconButton] { + width: unset; +} diff --git a/libs/components/src/lib/components/table/table.module.ts b/libs/components/src/lib/components/table/table.module.ts index aa19f939c7..1b32f42bdd 100644 --- a/libs/components/src/lib/components/table/table.module.ts +++ b/libs/components/src/lib/components/table/table.module.ts @@ -1,62 +1,62 @@ -import { CommonModule, DecimalPipe } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { PrizmCellDirective } from './directives/cell.directive'; -import { PrizmHeadDirective } from './directives/head.directive'; -import { PrizmResizedDirective } from './directives/resized.directive'; -import { PrizmRowDirective } from './directives/row.directive'; -import { PrizmSortByDirective } from './directives/sort-by.directive'; -import { PrizmSortableDirective } from './directives/sortable.directive'; -import { PrizmTableDirective } from './directives/table.directive'; -import { PrizmTheadDirective } from './directives/thead.directive'; -import { PrizmTableSortPipe } from './pipes/table-sort.pipe'; -import { PrizmTbodyComponent } from './tbody/tbody.component'; -import { PrizmTdComponent } from './td/td.component'; -import { PrizmThComponent } from './th/th.component'; -import { PrizmThGroupComponent } from './th-group/th-group.component'; -import { PrizmTrComponent } from './tr/tr.component'; -import { PrizmMapperPipeModule } from '../../pipes'; -import { PolymorphModule } from '../../directives'; -import { PrizmIconModule } from '../icon'; -import { SearchableContentComponent } from './components/searchable-content/searchable-content.component'; -import { SpaceNumberPipe } from './pipes/space-number.pipe'; - -@NgModule({ - imports: [CommonModule, PrizmMapperPipeModule, PolymorphModule, PrizmIconModule], - declarations: [ - PrizmTableDirective, - PrizmTbodyComponent, - PrizmThGroupComponent, - PrizmThComponent, - PrizmTdComponent, - PrizmTrComponent, - PrizmCellDirective, - PrizmHeadDirective, - PrizmRowDirective, - PrizmSortByDirective, - PrizmSortableDirective, - PrizmTheadDirective, - PrizmResizedDirective, - PrizmTableSortPipe, - SearchableContentComponent, - SpaceNumberPipe, - ], - exports: [ - PrizmTableDirective, - PrizmTbodyComponent, - PrizmThGroupComponent, - PrizmThComponent, - PrizmTdComponent, - PrizmTrComponent, - PrizmCellDirective, - PrizmHeadDirective, - PrizmRowDirective, - PrizmSortByDirective, - PrizmSortableDirective, - PrizmTheadDirective, - PrizmTableSortPipe, - SearchableContentComponent, - SpaceNumberPipe, - ], - providers: [DecimalPipe], -}) -export class PrizmTableModule {} +import { CommonModule, DecimalPipe } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { PrizmCellDirective } from './directives/cell.directive'; +import { PrizmHeadDirective } from './directives/head.directive'; +import { PrizmResizedDirective } from './directives/resized.directive'; +import { PrizmRowDirective } from './directives/row.directive'; +import { PrizmSortByDirective } from './directives/sort-by.directive'; +import { PrizmSortableDirective } from './directives/sortable.directive'; +import { PrizmTableDirective } from './directives/table.directive'; +import { PrizmTheadDirective } from './directives/thead.directive'; +import { PrizmTableSortPipe } from './pipes/table-sort.pipe'; +import { PrizmTbodyComponent } from './tbody/tbody.component'; +import { PrizmTdComponent } from './td/td.component'; +import { PrizmThComponent } from './th/th.component'; +import { PrizmThGroupComponent } from './th-group/th-group.component'; +import { PrizmTrComponent } from './tr/tr.component'; +import { PrizmMapperPipeModule } from '../../pipes'; +import { PolymorphModule } from '../../directives'; +import { PrizmIconModule } from '../icon'; +import { SearchableContentComponent } from './components/searchable-content/searchable-content.component'; +import { SpaceNumberPipe } from './pipes/space-number.pipe'; + +@NgModule({ + imports: [CommonModule, PrizmMapperPipeModule, PolymorphModule, PrizmIconModule], + declarations: [ + PrizmTableDirective, + PrizmTbodyComponent, + PrizmThGroupComponent, + PrizmThComponent, + PrizmTdComponent, + PrizmTrComponent, + PrizmCellDirective, + PrizmHeadDirective, + PrizmRowDirective, + PrizmSortByDirective, + PrizmSortableDirective, + PrizmTheadDirective, + PrizmResizedDirective, + PrizmTableSortPipe, + SearchableContentComponent, + SpaceNumberPipe, + ], + exports: [ + PrizmTableDirective, + PrizmTbodyComponent, + PrizmThGroupComponent, + PrizmThComponent, + PrizmTdComponent, + PrizmTrComponent, + PrizmCellDirective, + PrizmHeadDirective, + PrizmRowDirective, + PrizmSortByDirective, + PrizmSortableDirective, + PrizmTheadDirective, + PrizmTableSortPipe, + SearchableContentComponent, + SpaceNumberPipe, + ], + providers: [DecimalPipe], +}) +export class PrizmTableModule {} diff --git a/libs/components/src/lib/components/table/tr/tr.style.less b/libs/components/src/lib/components/table/tr/tr.style.less index bbf7b3b690..e4a94b6e5c 100644 --- a/libs/components/src/lib/components/table/tr/tr.style.less +++ b/libs/components/src/lib/components/table/tr/tr.style.less @@ -1,41 +1,41 @@ -[prizmTbody] tr[prizmTr] { - cursor: pointer; - - background: var(--prizm-v2-table-background-default); - color: var(--prizm-v2-table-text-default); - - &:nth-child(odd) { - background: var(--prizm-v2-table-zebra); - } - - &:hover { - background: var(--prizm-v2-table-background-default-hover); - } - - &[status='success'] { - background: var(--prizm-v2-table-background-success); - color: var(--prizm-v2-table-text-success); - - &:hover { - background: var(--prizm-v2-table-background-success-hover); - } - } - - &[status='warning'] { - background: var(--prizm-v2-table-background-warning); - color: var(--prizm-v2-table-text-warning); - - &:hover { - background: var(--prizm-v2-table-background-warning-hover); - } - } - - &[status='danger'] { - background: var(--prizm-v2-table-background-danger); - color: var(--prizm-v2-table-text-danger); - - &:hover { - background: var(--prizm-v2-table-background-danger-hover); - } - } -} +[prizmTbody] tr[prizmTr] { + cursor: pointer; + + background: var(--prizm-v2-table-background-default); + color: var(--prizm-v2-table-text-default); + + &:nth-child(odd) { + background: var(--prizm-v2-table-zebra); + } + + &:hover { + background: var(--prizm-v2-table-background-default-hover); + } + + &[status='success'] { + background: var(--prizm-v2-table-background-success); + color: var(--prizm-v2-table-text-success); + + &:hover { + background: var(--prizm-v2-table-background-success-hover); + } + } + + &[status='warning'] { + background: var(--prizm-v2-table-background-warning); + color: var(--prizm-v2-table-text-warning); + + &:hover { + background: var(--prizm-v2-table-background-warning-hover); + } + } + + &[status='danger'] { + background: var(--prizm-v2-table-background-danger); + color: var(--prizm-v2-table-text-danger); + + &:hover { + background: var(--prizm-v2-table-background-danger-hover); + } + } +} diff --git a/libs/components/src/lib/components/table/tr/tr.template.html b/libs/components/src/lib/components/table/tr/tr.template.html index 15616a0db2..7cd8dd8bae 100644 --- a/libs/components/src/lib/components/table/tr/tr.template.html +++ b/libs/components/src/lib/components/table/tr/tr.template.html @@ -1,4 +1,4 @@ - - - - + + + +