+
Shadow
+
+
+
+
Shadow color
+
+
Light:
+
rgba(191, 198, 215, 0.5)
Dark:
-
alias: Gray/300
+
rgba(0, 0, 0, 0.5)
-
Token: --prizm-v3-chart-axis-default
+
Token: --prizm-v3-shadow-color
diff --git a/apps/doc/src/app/guidelines/theme/components/theme-for-designers/theme-for-designers.component.ts b/apps/doc/src/app/guidelines/theme/components/theme-for-designers/theme-for-designers.component.ts
index 04fab242fe..4f5392b133 100644
--- a/apps/doc/src/app/guidelines/theme/components/theme-for-designers/theme-for-designers.component.ts
+++ b/apps/doc/src/app/guidelines/theme/components/theme-for-designers/theme-for-designers.component.ts
@@ -459,6 +459,52 @@ export class ThemeForDesignersComponent {
description: 'Заблокированная кнопка',
variable: '--prizm-v3-button-disable',
},
+ {
+ groupName: 'Shadow',
+ name: 'Shadow',
+ description: 'Цвет теней',
+ variable: '--prizm-v3-shadow-color',
+ },
+ {
+ name: 'Shadow-Big-Top',
+ description: 'Большая тень сверху',
+ variable: '--prizm-v3-shadow-big-top',
+ },
+ {
+ name: 'Shadow-Big-Right',
+ description: 'Большая тень справа',
+ variable: '--prizm-v3-shadow-big-right',
+ },
+ {
+ name: 'Shadow-Big-Left',
+ description: 'Большая тень слева',
+ variable: '--prizm-v3-shadow-big-left',
+ },
+ {
+ name: 'Shadow-Big-Bottom',
+ description: 'Большая тень снизу',
+ variable: '--prizm-v3-shadow-big-bottom',
+ },
+ {
+ name: 'Shadow-Mini-Top',
+ description: 'Маленькая тень сверху',
+ variable: '--prizm-v3-shadow-mini-top',
+ },
+ {
+ name: 'Shadow-Mini-Right',
+ description: 'Маленькая тень справа',
+ variable: '--prizm-v3-shadow-mini-right',
+ },
+ {
+ name: 'Shadow-Mini-Left',
+ description: 'Маленькая тень слева',
+ variable: '--prizm-v3-shadow-mini-left',
+ },
+ {
+ name: 'Shadow-Mini-Bottom',
+ description: 'Маленькая тень снизу',
+ variable: '--prizm-v3-shadow-mini-bottom',
+ },
];
constructor(
diff --git a/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.css b/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.css
index 356c7bf5d7..ea84fd1db3 100644
--- a/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.css
+++ b/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.css
@@ -1,34 +1,15 @@
:host {
display: contents;
}
-.frame4-frame4 {
- min-width: 1150px;
+.frame-paragraph {
height: auto;
display: flex;
- padding: 56px;
position: relative;
align-self: stretch;
- box-shadow: 0px 8px 32px 0px rgba(191, 198, 215, 0.5);
align-items: flex-start;
- border-color: rgba(191, 198, 215, 1);
- border-style: solid;
- border-width: 1px;
- border-radius: 2px;
flex-direction: column;
- background-color: var(--dl-color-bg-body);
}
-.frame4-text {
- font-size: 26px;
- font-weight: 800;
- color: rgba(51, 125, 254, 1);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 32px;
- margin-right: 0;
- margin-bottom: 40px;
-}
-.frame4-frame5 {
+.frame4-content {
display: flex;
position: relative;
align-self: stretch;
@@ -37,19 +18,22 @@
margin-bottom: 40px;
flex-direction: column;
}
-.frame4-text002 {
- font-size: 20px;
- font-weight: 600;
- color: rgba(51, 125, 254, 1);
- height: auto;
- align-self: auto;
- text-align: center;
- line-height: 24px;
- margin-right: 0;
- margin-bottom: 8px;
-}
-.frame4-text004 {
- color: var(--dl-color-text-main);
+.frame4-info-table {
+ width: 100%;
+ .frame4-column-group {
+ th:nth-child(1),
+ th:nth-child(2) {
+ width: 12%;
+ }
+
+ th:nth-child(3),
+ th:nth-child(4),
+ th:nth-child(5) {
+ width: 13%;
+ }
+ }
+}
+.frame4-description {
height: auto;
font-size: 18px;
align-self: stretch;
@@ -63,3585 +47,107 @@
margin-bottom: 8px;
text-decoration: none;
}
-.frame4-frame25885 {
- width: 1056px;
+.frame4-frame25899 {
display: flex;
position: relative;
- align-self: stretch;
align-items: flex-start;
border-color: transparent;
+ margin-bottom: 40px;
flex-direction: column;
}
-.frame4-frame25887 {
+.frame4-frame25900 {
display: flex;
position: relative;
- align-self: stretch;
align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame4-table-header {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text006 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header01 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container01 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text008 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header02 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container02 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
border-color: transparent;
+ margin-bottom: 24px;
+ flex-direction: column;
}
-.frame4-text010 {
+.frame4-text066 {
font-size: 12px;
- font-weight: 500;
- color: #20222b;
+ font-weight: 700;
height: auto;
- flex-grow: 1;
align-self: auto;
- text-align: center;
+ text-align: left;
line-height: 16px;
margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header03 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container03 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
+ margin-bottom: 4px;
}
-.frame4-text012 {
- font-size: 12px;
+.frame4-text068 {
+ font-size: 10px;
font-weight: 500;
- color: #20222b;
height: auto;
- flex-grow: 1;
align-self: auto;
- text-align: center;
- line-height: 16px;
+ text-align: left;
+ line-height: 12px;
margin-right: 0;
margin-bottom: 0;
}
-.frame4-table-header04 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container04 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame4-text014 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
+.frame4-text070 {
+ font-size: 14px;
+ font-weight: 400;
height: auto;
- flex-grow: 1;
align-self: auto;
- text-align: center;
- line-height: 16px;
+ text-align: left;
+ line-height: 20px;
margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header05 {
- width: 396px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container05 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
+ margin-bottom: 24px;
}
-.frame4-text016 {
+.frame4-text072 {
font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame25888 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame4-table-cell {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container06 {
- width: var(--dl-size-size-large);
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text018 {
- color: var(--dl-color-text-contrast);
+ font-weight: 400;
height: auto;
- flex-grow: 1;
- font-size: 14px;
align-self: auto;
- font-style: Medium;
text-align: left;
- font-family: Inter;
- font-weight: 500;
line-height: 16px;
- font-stretch: normal;
margin-right: 0;
margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell01 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
}
-.frame4-text-container07 {
+.frame4-frame25898 {
display: flex;
- padding: 4px;
position: relative;
- flex-grow: 1;
align-items: flex-start;
border-color: transparent;
+ margin-bottom: 40px;
+ flex-direction: column;
}
-.frame4-text020 {
- color: var(--dl-color-text-contrast);
+.frame4-text143 {
+ font-size: 26px;
+ font-weight: 800;
height: auto;
- font-size: 14px;
align-self: auto;
- font-style: Regular;
text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
+ line-height: 32px;
margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell02 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container08 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
+ margin-bottom: 24px;
}
-.frame4-text022 {
- color: var(--dl-color-text-contrast);
+.frame4-text145 {
+ font-size: 20px;
+ font-weight: 800;
height: auto;
- font-size: 14px;
align-self: auto;
- font-style: Regular;
text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
+ line-height: 24px;
margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell03 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container09 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
+ margin-bottom: 24px;
}
-.frame4-text024 {
- color: var(--dl-color-text-contrast);
+.frame4-text147 {
+ font-size: 16px;
+ font-weight: 800;
height: auto;
- font-size: 14px;
align-self: auto;
- font-style: Regular;
text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
+ line-height: 20px;
margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell04 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container10 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
+ margin-bottom: 24px;
}
-.frame4-text026 {
- color: var(--dl-color-text-contrast);
- height: auto;
+.frame4-text149 {
font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell05 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container11 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text028 {
- color: var(--dl-color-text-contrast);
+ font-weight: 800;
height: auto;
align-self: auto;
text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame25881 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame4-table-cell06 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container12 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text030 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell07 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container13 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text032 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell08 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container14 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text034 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell09 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container15 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text036 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell10 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container16 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text038 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell11 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container17 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text040 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame25889 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame4-table-cell12 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container18 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text042 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell13 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container19 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text044 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell14 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container20 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text046 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell15 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container21 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text048 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell16 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container22 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text050 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell17 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container23 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text052 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame25890 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame4-table-cell18 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container24 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text054 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell19 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container25 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text056 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell20 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container26 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text058 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell21 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container27 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text060 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell22 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container28 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text062 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell23 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container29 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text064 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame25899 {
- display: flex;
- position: relative;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 40px;
- flex-direction: column;
-}
-.frame4-frame25900 {
- display: flex;
- position: relative;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 24px;
- flex-direction: column;
-}
-.frame4-text066 {
- font-size: 12px;
- font-weight: 700;
- color: var(--dl-color-text-main);
- width: 1056px;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 4px;
-}
-.frame4-text068 {
- font-size: 10px;
- font-weight: 500;
- color: var(--dl-color-text-main);
- width: 1056px;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 12px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-text070 {
- font-size: 14px;
- font-weight: 400;
- color: var(--dl-color-text-main);
- width: 1056px;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 20px;
- margin-right: 0;
- margin-bottom: 24px;
-}
-.frame4-text072 {
- font-size: 12px;
- font-weight: 400;
- color: var(--dl-color-text-main);
- width: 1056px;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame25886 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 40px;
- flex-direction: column;
-}
-.frame4-text074 {
- font-size: 20px;
- font-weight: 600;
- color: rgba(51, 125, 254, 1);
- height: auto;
- align-self: auto;
- text-align: center;
- line-height: 24px;
- margin-right: 0;
- margin-bottom: 8px;
-}
-.frame4-text076 {
- color: var(--dl-color-text-main);
- height: auto;
- font-size: 18px;
- align-self: stretch;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 30px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-frame258871 {
- width: 1056px;
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 40px;
- flex-direction: column;
-}
-.frame4-frame258872 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame4-table-header06 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container30 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text083 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header07 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container31 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text085 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header08 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container32 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text087 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header09 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- padding-right: 4px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container33 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text089 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header10 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container34 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame4-text091 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header11 {
- width: 396px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container35 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame4-text093 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame258811 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame4-table-cell24 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container36 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text095 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell25 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container37 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text097 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell26 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container38 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text099 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell27 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container39 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text101 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell28 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container40 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text103 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell29 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container41 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text105 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame258881 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame4-table-cell30 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container42 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text107 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell31 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container43 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text109 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell32 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container44 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text111 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell33 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container45 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text113 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell34 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container46 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text115 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell35 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container47 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text117 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame258891 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame4-table-cell36 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container48 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text119 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell37 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container49 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text121 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell38 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container50 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text123 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell39 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container51 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text125 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell40 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container52 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text127 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell41 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container53 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text129 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame258901 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame4-table-cell42 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container54 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text131 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell43 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container55 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text133 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell44 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container56 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text135 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell45 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container57 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text137 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell46 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container58 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text139 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell47 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container59 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text141 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame25898 {
- display: flex;
- position: relative;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 40px;
- flex-direction: column;
-}
-.frame4-text143 {
- font-size: 26px;
- font-weight: 800;
- color: #50546b;
- width: 1056px;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 32px;
- margin-right: 0;
- margin-bottom: 24px;
-}
-.frame4-text145 {
- font-size: 20px;
- font-weight: 800;
- color: #50546b;
- width: 1056px;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 24px;
- margin-right: 0;
- margin-bottom: 24px;
-}
-.frame4-text147 {
- font-size: 16px;
- font-weight: 800;
- color: #50546b;
- width: 1056px;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 20px;
- margin-right: 0;
- margin-bottom: 24px;
-}
-.frame4-text149 {
- font-size: 14px;
- font-weight: 800;
- color: #50546b;
- width: 1056px;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 20px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame259001 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 40px;
- flex-direction: column;
-}
-.frame4-text151 {
- font-size: 20px;
- font-weight: 600;
- color: rgba(51, 125, 254, 1);
- height: auto;
- align-self: auto;
- text-align: center;
- line-height: 24px;
- margin-right: 0;
- margin-bottom: 8px;
-}
-.frame4-text153 {
- color: var(--dl-color-text-main);
- height: auto;
- font-size: 18px;
- align-self: stretch;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 30px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-frame25901 {
- width: 1056px;
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 40px;
- flex-direction: column;
-}
-.frame4-frame258873 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame4-table-header12 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container60 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text160 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header13 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container61 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text162 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header14 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container62 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text164 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header15 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container63 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame4-text166 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header16 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container64 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame4-text168 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-table-header17 {
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame4-text-container65 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame4-text170 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame258812 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame4-table-cell48 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container66 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text172 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell49 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container67 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text174 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell50 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container68 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text176 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell51 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container69 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text178 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell52 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container70 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text180 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell53 {
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container71 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text182 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame258882 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame4-table-cell54 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container72 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text184 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell55 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container73 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text186 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell56 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container74 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text188 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell57 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container75 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text190 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell58 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container76 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text192 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell59 {
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container77 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text194 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame258892 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame4-table-cell60 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container78 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text196 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell61 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container79 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text198 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell62 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container80 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text200 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell63 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container81 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text202 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell64 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container82 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text204 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell65 {
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container83 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text206 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame4-frame258902 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame4-table-cell66 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container84 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text208 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell67 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container85 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text210 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell68 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container86 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text212 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell69 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container87 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text214 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell70 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame4-text-container88 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text216 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame4-table-cell71 {
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame4-text-container89 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame4-text218 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
+ line-height: 20px;
margin-right: 0;
margin-bottom: 0;
}
@@ -3655,8 +161,6 @@
.frame4-text220 {
font-size: 26px;
font-weight: 600;
- color: #50546b;
- width: 1056px;
height: auto;
align-self: auto;
text-align: left;
@@ -3667,8 +171,6 @@
.frame4-text222 {
font-size: 20px;
font-weight: 600;
- color: #50546b;
- width: 1056px;
height: auto;
align-self: auto;
text-align: left;
@@ -3679,8 +181,6 @@
.frame4-text224 {
font-size: 16px;
font-weight: 600;
- color: #50546b;
- width: 1056px;
height: auto;
align-self: auto;
text-align: left;
@@ -3691,8 +191,6 @@
.frame4-text226 {
font-size: 14px;
font-weight: 600;
- color: #50546b;
- width: 1056px;
height: auto;
align-self: auto;
text-align: left;
diff --git a/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.html b/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.html
index 3b13253691..a7dcc78ecb 100644
--- a/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.html
+++ b/apps/doc/src/app/guidelines/typography/components/frame4/frame4.component.html
@@ -1,195 +1,57 @@
-
-
- Шрифты для дизайнеров
-
-
-
Main
-
+ Шрифты для дизайнеров
+ Main
+
+
+
Типографика для основного текста
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Основной текст
-
-
-
-
-
-
-
-
-
-
-
-
-
- Основной текст
-
-
-
-
-
-
-
-
-
-
-
-
-
- Акцентные подзаголовки
-
-
-
-
-
-
+
+
+
+ Название
+ Шрифт
+ Начертание
+ Размер
+ Высота
+ Описание
+
+
+
+
+ Body-text 14
+ Inter
+ Regular
+ 12
+ 20
+ Основной текст
+
+
+ Body-text 12
+ Inter
+ Regular
+ 12
+ 16
+ Основной текст
+
+
+ Subtitle
+ Inter
+ Bold
+ 12
+ 16
+ Акцентные подзаголовки
+
+
+ Subscription
+ Inter
+ Medium
+ 10
+ 12
+ Подписи
+
+
+
@@ -219,11 +81,12 @@
-
-
- Dynamic title
-
-
+
+
+
Dynamic title
+
+
+
Динамические заголовки используются для сущностей, у которых заголовок меняется в зависимости от
@@ -240,186 +103,52 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Заголовок 1 уровня
-
-
-
-
-
-
-
-
-
-
-
-
-
- Заголовок 2 уровня
-
-
-
-
-
-
-
-
-
-
-
-
-
- Заголовок 3 уровня
-
-
-
-
-
-
-
-
-
-
-
-
-
- Заголовок 4 уровня
-
-
-
-
+
+
+
+ Название
+ Шрифт
+ Начертание
+ Размер
+ Высота
+ Описание
+
+
+
+
+ H1
+ Inter
+ Extra Bold
+ 26
+ 32
+ Заголовок 1 уровня
+
+
+ H2
+ Inter
+ Extra Bold
+ 20
+ 24
+ Заголовок 2 уровня
+
+
+ H3
+ Inter
+ Extra Bold
+ 16
+ 20
+ Заголовок 3 уровня
+
+
+ H4
+ Inter
+ Extra Bold
+ 14
+ 20
+ Заголовок 4 уровня
+
+
+
@@ -435,11 +164,12 @@
H4: Динамический заголовок 4 уровня
-
-
- Static title
-
-
+
+
+
Static title
+
+
+
Статичный стиль применяется для статичных заголовоков.
@@ -452,186 +182,52 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Заголовок 1 уровня
-
-
-
-
-
-
-
-
-
-
-
-
-
- Заголовок 2 уровня
-
-
-
-
-
-
-
-
-
-
-
-
-
- Заголовок 3 уровня
-
-
-
-
-
-
-
-
-
-
-
-
-
- Заголовок 4 уровня
-
-
-
-
+
+
+
+ Название
+ Шрифт
+ Начертание
+ Размер
+ Высота
+ Описание
+
+
+
+
+ H1
+ Inter
+ Semi Bold
+ 26
+ 32
+ Заголовок 1 уровня
+
+
+ H2
+ Inter
+ Semi Bold
+ 20
+ 24
+ Заголовок 2 уровня
+
+
+ H3
+ Inter
+ Semi Bold
+ 16
+ 20
+ Заголовок 3 уровня
+
+
+ H4
+ Inter
+ Semi Bold
+ 14
+ 20
+ Заголовок 4 уровня
+
+
+
diff --git a/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.css b/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.css
index d26ed7e3a8..bf88138f81 100644
--- a/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.css
+++ b/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.css
@@ -1,540 +1,129 @@
:host {
display: contents;
}
-.frame9-frame9 {
- min-width: 1150px;
- height: auto;
- display: flex;
- padding: 56px;
- position: relative;
- align-self: stretch;
- box-shadow: 0px 8px 32px 0px rgba(191, 198, 215, 0.5);
- align-items: flex-start;
- border-color: rgba(191, 198, 215, 1);
- border-style: solid;
- border-width: 1px;
- border-radius: 2px;
- flex-direction: column;
- background-color: var(--dl-color-bg-body);
-}
-.frame9-text {
- font-size: 26px;
- font-weight: 800;
- color: rgba(51, 125, 254, 1);
+.frame9-text026 {
+ font-size: 14px;
+ font-weight: 600;
height: auto;
align-self: auto;
text-align: left;
- line-height: 32px;
- margin-right: 0;
- margin-bottom: 40px;
-}
-.frame9-frame5 {
- width: 1056px;
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 40px;
- flex-direction: column;
-}
-.frame9-frame25885 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- flex-direction: column;
-}
-.frame9-frame25887 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame9-table-header {
- width: 1056px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text002 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
line-height: 16px;
margin-right: 0;
margin-bottom: 0;
}
-.frame9-frame25891 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame9-table-header01 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container001 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text004 {
+.frame9-text038 {
font-size: 12px;
- font-weight: 500;
- color: #20222b;
+ font-weight: 600;
height: auto;
- flex-grow: 1;
align-self: auto;
- text-align: center;
+ text-align: left;
line-height: 16px;
margin-right: 0;
margin-bottom: 0;
}
-.frame9-table-header02 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container002 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text006 {
- font-size: 12px;
+.frame9-text050 {
+ font-size: 14px;
font-weight: 500;
- color: #20222b;
+ text-decoration: underline;
height: auto;
- flex-grow: 1;
align-self: auto;
- text-align: center;
- line-height: 16px;
+ text-align: left;
+ line-height: 24px;
margin-right: 0;
margin-bottom: 0;
}
-.frame9-table-header03 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container003 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text008 {
+.frame9-text062 {
font-size: 12px;
font-weight: 500;
- color: #20222b;
+ text-decoration: underline;
height: auto;
- flex-grow: 1;
align-self: auto;
- text-align: center;
+ text-align: left;
line-height: 16px;
margin-right: 0;
margin-bottom: 0;
}
-.frame9-table-header04 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container004 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text010 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
+.frame9-text088 {
+ font-size: 14px;
+ font-weight: 400;
height: auto;
- flex-grow: 1;
align-self: auto;
- text-align: center;
+ text-align: left;
line-height: 16px;
margin-right: 0;
margin-bottom: 0;
}
-.frame9-table-header05 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container005 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text012 {
+.frame9-text100 {
font-size: 12px;
- font-weight: 500;
- color: #20222b;
+ font-weight: 400;
height: auto;
- flex-grow: 1;
align-self: auto;
- text-align: center;
+ text-align: left;
line-height: 16px;
margin-right: 0;
margin-bottom: 0;
}
-.frame9-table-header06 {
- width: 396px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container006 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text014 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
+.frame9-text112 {
+ font-size: 14px;
+ font-weight: 400;
height: auto;
- flex-grow: 1;
align-self: auto;
- text-align: center;
- line-height: 16px;
+ text-align: left;
+ line-height: 20px;
margin-right: 0;
margin-bottom: 0;
}
-.frame9-frame25888 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame9-table-cell {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container007 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text016 {
- color: var(--dl-color-text-contrast);
+.frame9-text124 {
+ font-size: 12px;
+ font-weight: 600;
height: auto;
- flex-grow: 1;
- font-size: 14px;
align-self: auto;
- font-style: Medium;
text-align: left;
- font-family: Inter;
- font-weight: 500;
line-height: 16px;
- font-stretch: normal;
margin-right: 0;
margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell01 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container008 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
}
-.frame9-text018 {
- color: var(--dl-color-text-contrast);
+.frame9-text136 {
+ font-size: 10px;
+ font-weight: 500;
height: auto;
- font-size: 14px;
align-self: auto;
- font-style: Regular;
text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
+ line-height: 12px;
margin-right: 0;
margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell02 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
}
-.frame9-text-container009 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text020 {
- color: var(--dl-color-text-contrast);
+.frame9-text162 {
+ font-size: 12px;
+ font-weight: 500;
height: auto;
- font-size: 14px;
align-self: auto;
- font-style: Regular;
text-align: left;
- font-family: Inter;
- font-weight: 400;
line-height: 16px;
- font-stretch: normal;
margin-right: 0;
margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell03 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container010 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
}
-.frame9-text022 {
- color: var(--dl-color-text-contrast);
- height: auto;
+.frame9-text174 {
font-size: 14px;
+ font-weight: 400;
+ height: auto;
align-self: auto;
- font-style: Regular;
text-align: left;
- font-family: Inter;
- font-weight: 400;
line-height: 16px;
- font-stretch: normal;
margin-right: 0;
margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell04 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container011 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
}
-.frame9-text024 {
- color: var(--dl-color-text-contrast);
+.frame9-text186 {
+ font-size: 12px;
+ font-weight: 400;
height: auto;
- font-size: 14px;
align-self: auto;
- font-style: Regular;
text-align: left;
- font-family: Inter;
- font-weight: 400;
line-height: 16px;
- font-stretch: normal;
margin-right: 0;
margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell05 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container012 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
}
-.frame9-text026 {
- font-size: 14px;
- font-weight: 600;
- color: #20222b;
+.frame9-text212 {
height: auto;
align-self: auto;
text-align: left;
@@ -542,3569 +131,35 @@
margin-right: 0;
margin-bottom: 0;
}
-.frame9-frame25881 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame9-table-cell06 {
- width: 120px;
+.frame9-frame9 {
+ height: auto;
display: flex;
- padding: 8px 10px;
- overflow: hidden;
position: relative;
align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container013 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
+ flex-direction: column;
}
-.frame9-text028 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
+.frame9-info-table {
+ width: 100%;
+
+ .frame9-column-group {
+ th:nth-child(1),
+ th:nth-child(2) {
+ width: 12%;
+ }
+
+ th:nth-child(3),
+ th:nth-child(4),
+ th:nth-child(5) {
+ width: 13%;
+ }
+ }
}
-.frame9-table-cell07 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container014 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text030 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell08 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container015 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text032 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell09 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container016 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text034 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell10 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container017 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text036 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell11 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container018 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text038 {
- font-size: 12px;
- font-weight: 600;
- color: #20222b;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame25889 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame9-table-cell12 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container019 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text040 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell13 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container020 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text042 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell14 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container021 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text044 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell15 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container022 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text046 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell16 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container023 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text048 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell17 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container024 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text050 {
- font-size: 14px;
- font-weight: 500;
- color: #20222b;
- text-decoration: underline;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 24px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame25890 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-table-cell18 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container025 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text052 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell19 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container026 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text054 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell20 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container027 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text056 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell21 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container028 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text058 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell22 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container029 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text060 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell23 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container030 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text062 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- text-decoration: underline;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame6 {
- width: 1056px;
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 40px;
- flex-direction: column;
-}
-.frame9-frame258851 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- flex-direction: column;
-}
-.frame9-frame258871 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame9-table-header07 {
- width: 1056px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container031 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text064 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258911 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame9-table-header08 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container032 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text066 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header09 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container033 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text068 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header10 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container034 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text070 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header11 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container035 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text072 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header12 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container036 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text074 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header13 {
- width: 396px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container037 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text076 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258881 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame9-table-cell24 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container038 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text078 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell25 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container039 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text080 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell26 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container040 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text082 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell27 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container041 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text084 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell28 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container042 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text086 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell29 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container043 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text088 {
- font-size: 14px;
- font-weight: 400;
- color: #20222b;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258811 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame9-table-cell30 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container044 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text090 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell31 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container045 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text092 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell32 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container046 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text094 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell33 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container047 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text096 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell34 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container048 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text098 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell35 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container049 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text100 {
- font-size: 12px;
- font-weight: 400;
- color: #20222b;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258891 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame9-table-cell36 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container050 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text102 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell37 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container051 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text104 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell38 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container052 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text106 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell39 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container053 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text108 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell40 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container054 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text110 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell41 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container055 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text112 {
- font-size: 14px;
- font-weight: 400;
- color: #20222b;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 20px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame25892 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame9-table-cell42 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container056 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text114 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell43 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container057 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text116 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell44 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container058 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text118 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell45 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container059 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text120 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell46 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container060 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text122 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell47 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container061 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text124 {
- font-size: 12px;
- font-weight: 600;
- color: #20222b;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258901 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-table-cell48 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container062 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text126 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell49 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container063 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text128 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell50 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container064 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text130 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell51 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container065 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text132 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell52 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container066 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text134 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell53 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container067 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text136 {
- font-size: 10px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 12px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame7 {
- width: 1056px;
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- margin-bottom: 40px;
- flex-direction: column;
-}
-.frame9-frame258852 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- flex-direction: column;
-}
-.frame9-frame258872 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame9-table-header14 {
- width: 1056px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container068 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text138 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258912 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame9-table-header15 {
- width: 128px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container069 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text140 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header16 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container070 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text142 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header17 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container071 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text144 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header18 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container072 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text146 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header19 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container073 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text148 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header20 {
- width: 388px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container074 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text150 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258882 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame9-table-cell54 {
- width: 128px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container075 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text152 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell55 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container076 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text154 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell56 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container077 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text156 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell57 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container078 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text158 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell58 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container079 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text160 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell59 {
- width: 388px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container080 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text162 {
- font-size: 12px;
- font-weight: 500;
- color: #20222b;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258812 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
-}
-.frame9-table-cell60 {
- width: 128px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container081 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text164 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell61 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container082 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text166 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell62 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container083 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text168 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell63 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container084 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text170 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell64 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container085 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text172 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell65 {
- width: 388px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container086 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text174 {
- font-size: 14px;
- font-weight: 400;
- color: #20222b;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258892 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-table-cell66 {
- width: 128px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container087 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text176 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell67 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container088 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text178 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell68 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container089 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text180 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell69 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container090 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text182 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell70 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container091 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text184 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell71 {
- width: 388px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container092 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text186 {
- font-size: 12px;
- font-weight: 400;
- color: #20222b;
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame8 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- border-color: transparent;
- flex-direction: column;
- width: 1056px;
-}
-.frame9-frame258853 {
+.frame9-table-container {
display: flex;
position: relative;
align-self: stretch;
align-items: flex-start;
border-color: transparent;
+ margin-bottom: 40px;
flex-direction: column;
}
-.frame9-frame258873 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame9-table-header21 {
- width: 1056px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container093 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text188 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258913 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
- margin-bottom: 0px;
- background-color: #f4f6fb;
-}
-.frame9-table-header22 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container094 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text190 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header23 {
- width: 120px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container095 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text192 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header24 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container096 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text194 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header25 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container097 {
- display: flex;
- padding: 0 4px;
- position: relative;
- flex-grow: 1;
- align-items: center;
- border-color: transparent;
-}
-.frame9-text196 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header26 {
- width: 140px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: center;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container098 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text198 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-table-header27 {
- width: 396px;
- display: flex;
- padding: 4px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: center;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- justify-content: center;
- background-color: var(--dl-color-grey-g12g2);
-}
-.frame9-text-container099 {
- width: 232px;
- display: flex;
- padding: 0 4px;
- position: relative;
- align-items: center;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-text200 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- align-self: auto;
- text-align: center;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
-.frame9-frame258883 {
- display: flex;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: transparent;
-}
-.frame9-table-cell72 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container100 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text202 {
- color: var(--dl-color-text-contrast);
- height: auto;
- flex-grow: 1;
- font-size: 14px;
- align-self: auto;
- font-style: Medium;
- text-align: left;
- font-family: Inter;
- font-weight: 500;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell73 {
- width: 120px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container101 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text204 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell74 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container102 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text206 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell75 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container103 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text208 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell76 {
- width: 140px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- align-self: stretch;
- align-items: flex-start;
- flex-shrink: 0;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
- margin-right: 0px;
-}
-.frame9-text-container104 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text210 {
- color: var(--dl-color-text-contrast);
- height: auto;
- font-size: 14px;
- align-self: auto;
- font-style: Regular;
- text-align: left;
- font-family: Inter;
- font-weight: 400;
- line-height: 16px;
- font-stretch: normal;
- margin-right: 0;
- margin-bottom: 0;
- text-decoration: none;
-}
-.frame9-table-cell77 {
- width: 396px;
- display: flex;
- padding: 8px 10px;
- overflow: hidden;
- position: relative;
- flex-grow: 1;
- align-self: stretch;
- align-items: flex-start;
- border-color: rgba(214, 219, 231, 1);
- border-style: solid;
- border-width: 0.5px;
-}
-.frame9-text-container105 {
- display: flex;
- padding: 4px;
- position: relative;
- flex-grow: 1;
- align-items: flex-start;
- border-color: transparent;
-}
-.frame9-text212 {
- color: var(--dl-color-text-contrast);
- height: auto;
- align-self: auto;
- text-align: left;
- line-height: 16px;
- margin-right: 0;
- margin-bottom: 0;
-}
diff --git a/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.html b/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.html
index b478c5c000..ef9e5f4281 100644
--- a/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.html
+++ b/apps/doc/src/app/guidelines/typography/components/frame9/frame9.component.html
@@ -1,683 +1,185 @@
+
Шрифты для компонентов
-
- Шрифты для компонентов
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Для всех кнопок кроме 24рх
-
-
-
-
-
-
-
-
-
-
-
-
-
- Для кнопок высотой 24рх
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cсылка, подчеркнутая
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cсылка, подчеркнутая
-
-
-
-
-
+
+
+
+
+ Buttons & Links
+
+
+ Название
+ Шрифт
+ Начертание
+ Размер
+ Высота
+ Описание
+
+
+
+
+ btn-14
+ Inter
+ Semibold
+ 14
+ 16
+ Для всех кнопок кроме 24рх
+
+
+ btn-12
+ Inter
+ Semibold
+ 16
+ 16
+ Для кнопок высотой 24рх
+
+
+ link-14
+ Inter
+ Medium
+ 14
+ 16
+ Cсылка, подчеркнутая
+
+
+ link-12
+ Inter
+ Medium
+ 12
+ 16
+ Cсылка, подчеркнутая
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Введенные / выбранные данные
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Введенные / выбранные данные
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Введенные данные в Text-area
-
-
-
-
-
-
-
-
-
-
-
-
-
- Заголовок формы ввода
-
-
-
-
-
-
-
-
-
-
-
-
-
- Текст пояснения / подсказки
-
-
-
-
-
+
+
+
+
+ Input
+
+
+ Название
+ Шрифт
+ Начертание
+ Размер
+ Высота
+ Описание
+
+
+
+
+ text-14
+ Inter
+ Regular
+ 14
+ 16
+ Введенные / выбранные данные
+
+
+ text-12
+ Inter
+ Regular
+ 12
+ 16
+ Введенные / выбранные данные
+
+
+ area
+ Inter
+ Regular
+ 14
+ 20
+ Введенные данные в Text-area
+
+
+ label
+ Inter
+ Semibold
+ 12
+ 16
+ Заголовок формы ввода
+
+
+ helper
+ Inter
+ Medium
+ 10
+ 12
+ Текст пояснения / подсказки
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Основной текст
-
-
-
-
-
-
-
-
-
-
-
-
-
- Основной текст
-
-
-
-
-
-
-
-
-
-
-
-
-
- Акцентные подзаголовки
-
-
-
-
-
+
+
+
+
+ Table
+
+
+ Название
+ Шрифт
+ Начертание
+ Размер
+ Высота
+ Описание
+
+
+
+
+ table-heading
+ Inter
+ Medium
+ 12
+ 16
+ Основной текст
+
+
+ table-text-14
+ Inter
+ Regular
+ 14
+ 16
+ Основной текст
+
+
+ table-text-12
+ Inter
+ Regular
+ 12
+ 16
+ Акцентные подзаголовки
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Основной текст
-
-
-
-
-
+
+
+
+
+ Общие
+
+
+ Название
+ Шрифт
+ Начертание
+ Размер
+ Высота
+ Описание
+
+
+
+
+ Chips-text
+ Inter
+ Regular
+ 14
+ 16
+ Основной текст
+
+
+
diff --git a/apps/doc/src/app/guidelines/typography/typography.component.html b/apps/doc/src/app/guidelines/typography/typography.component.html
index 9c8a08c782..0b9399a5ca 100644
--- a/apps/doc/src/app/guidelines/typography/typography.component.html
+++ b/apps/doc/src/app/guidelines/typography/typography.component.html
@@ -1,8 +1,6 @@
-
-
-
+
+
+
diff --git a/apps/doc/src/app/guidelines/typography/typography.module.ts b/apps/doc/src/app/guidelines/typography/typography.module.ts
index f004841796..a3782981b9 100644
--- a/apps/doc/src/app/guidelines/typography/typography.module.ts
+++ b/apps/doc/src/app/guidelines/typography/typography.module.ts
@@ -5,6 +5,7 @@ import { Frame4Component } from './components/frame4/frame4.component';
import { Frame9Component } from './components/frame9/frame9.component';
import { TypographyComponent } from './typography.component';
import { PrizmAddonDocModule } from '@prizm-ui/doc';
+import { PrizmTableModule } from '@prizm-ui/components';
const routes: Routes = [
{
@@ -15,7 +16,7 @@ const routes: Routes = [
@NgModule({
bootstrap: [],
- imports: [CommonModule, PrizmAddonDocModule, RouterModule.forChild(routes)],
+ imports: [CommonModule, PrizmAddonDocModule, RouterModule.forChild(routes), PrizmTableModule],
declarations: [TypographyComponent, Frame4Component, Frame9Component],
exports: [RouterModule],
})
diff --git a/apps/doc/src/app/how-to-work/internationalization/examples/language-switcher/language-switcher-example.component.ts b/apps/doc/src/app/how-to-work/internationalization/examples/language-switcher/language-switcher-example.component.ts
index f232eb92a4..2c5df99ad1 100644
--- a/apps/doc/src/app/how-to-work/internationalization/examples/language-switcher/language-switcher-example.component.ts
+++ b/apps/doc/src/app/how-to-work/internationalization/examples/language-switcher/language-switcher-example.component.ts
@@ -53,7 +53,7 @@ export class PrizmLanguageSwitcherExampleComponent {
}
}
- public onfilesValidationErrors(errors: PrizmFileValidationErrors): void {
+ public onfilesValidationErrors(errors: { [key: string]: PrizmFileValidationErrors }): void {
for (const filename of Object.keys(errors)) {
this.toastService.create(JSON.stringify(errors[filename]), {
title: `Файл ${filename} не прошел валидацию`,
diff --git a/apps/doc/src/app/tools/ast/examples/accordion/accordion.component.ts b/apps/doc/src/app/tools/ast/examples/accordion/accordion.component.ts
index 950e5e1388..2fd57ede14 100644
--- a/apps/doc/src/app/tools/ast/examples/accordion/accordion.component.ts
+++ b/apps/doc/src/app/tools/ast/examples/accordion/accordion.component.ts
@@ -91,8 +91,7 @@ export class PrizmAstAccordionExampleComponent implements OnInit {
// }
// }
// ];
- readonly zyfraAccordionHtml = `
-
diff --git a/apps/doc/src/app/tools/ast/examples/breadcrumb/breadcrumb.component.ts b/apps/doc/src/app/tools/ast/examples/breadcrumb/breadcrumb.component.ts
index 3089eaf22a..1ffaa9ea02 100644
--- a/apps/doc/src/app/tools/ast/examples/breadcrumb/breadcrumb.component.ts
+++ b/apps/doc/src/app/tools/ast/examples/breadcrumb/breadcrumb.component.ts
@@ -52,8 +52,7 @@ export class PrizmAstBreadcrumbExampleComponent implements OnInit {
// },
//
// ];
- readonly html = `
-
- Test
+ readonly zyfraButtonHtml = `
+Test
`;
resultZyfraButtonHtml!: string;
diff --git a/apps/doc/src/app/tools/ast/examples/checkbox/checkbox.component.ts b/apps/doc/src/app/tools/ast/examples/checkbox/checkbox.component.ts
index 4e6ea47663..14dea25ce4 100644
--- a/apps/doc/src/app/tools/ast/examples/checkbox/checkbox.component.ts
+++ b/apps/doc/src/app/tools/ast/examples/checkbox/checkbox.component.ts
@@ -62,9 +62,7 @@ export class PrizmAstCheckboxExampleComponent implements OnInit {
// },
//
// ];
- readonly html = `
- >
-`;
+ readonly html = ` `;
result!: string;
public ngOnInit(): void {
diff --git a/apps/doc/src/app/tools/ast/examples/chips/chips.component.ts b/apps/doc/src/app/tools/ast/examples/chips/chips.component.ts
index c35247502f..0cb06ff15a 100644
--- a/apps/doc/src/app/tools/ast/examples/chips/chips.component.ts
+++ b/apps/doc/src/app/tools/ast/examples/chips/chips.component.ts
@@ -57,9 +57,7 @@ export class PrizmAstChipsExampleComponent implements OnInit {
// },
//
// ];
- readonly html = `
-
-`;
+ readonly html = ` `;
result!: string;
public ngOnInit(): void {
diff --git a/apps/doc/src/app/tools/ast/examples/dropdown/dropdown.component.ts b/apps/doc/src/app/tools/ast/examples/dropdown/dropdown.component.ts
index 85da7996fb..4ba7e53619 100644
--- a/apps/doc/src/app/tools/ast/examples/dropdown/dropdown.component.ts
+++ b/apps/doc/src/app/tools/ast/examples/dropdown/dropdown.component.ts
@@ -103,8 +103,7 @@ export class PrizmAstDropdownExampleComponent implements OnInit {
// },
//
// ];
- readonly html = `
-Show me
+ readonly html = `
Show me
- [version.link, ...version.otherLinks].find(
+ [version.link(), ...version.otherLinks].find(
i => this.locationRef.hostname === i.hostname || version.cb?.(this.locationRef.hostname, version)
)
) ?? null;
@@ -44,7 +44,7 @@ export class VersionManagerComponent {
if (version.baseHref) {
return `${this.locationRef.origin}/${version.baseHref}${this.router.url}${this.locationRef.search}`;
} else {
- return version.link?.href;
+ return version.link?.().href;
}
}
}
diff --git a/apps/doc/src/app/version-manager/versions.constants.ts b/apps/doc/src/app/version-manager/versions.constants.ts
index 1470db81b0..3976e768de 100644
--- a/apps/doc/src/app/version-manager/versions.constants.ts
+++ b/apps/doc/src/app/version-manager/versions.constants.ts
@@ -1,6 +1,8 @@
+import { getDocSite } from './util';
+
export interface PrizmVersionMeta {
label: string;
- link: URL;
+ link: () => URL;
stackblitz: string | null;
otherLinks: URL[];
version?: string;
@@ -10,75 +12,44 @@ export interface PrizmVersionMeta {
export const PRIZM_VERSIONS_META: readonly PrizmVersionMeta[] = [
{
- label: '3.10.0 (ng16)',
- version: '3.10.0',
+ label: '4.3.6 (ng17)',
+ version: '4.3.6',
+ stackblitz: 'https://stackblitz.com/edit/prizm-v4-demo',
+ link: getDocSite.bind(null, 'https://doc.prizm.zyfra.com', 'http://prizm.site'),
+
+ otherLinks: [new URL('https://prizm-v4.web.app')],
+ cb: (hostName: string, current: PrizmVersionMeta) => {
+ return hostName.startsWith('prizm-v4--');
+ },
+ },
+ {
+ label: '3.15.0 (ng16)',
+ version: '3.15.0',
stackblitz: 'https://stackblitz.com/edit/prizm-v3-demo',
- link: new URL('http://prizm.site'),
+ link: getDocSite.bind(null, 'http://3.15.0.doc.prizm.site', 'https://prizm-v3.web.app'),
otherLinks: [new URL('https://prizm-v3.web.app')],
cb: (hostName: string, current: PrizmVersionMeta) => {
return hostName.startsWith('prizm-v3--');
},
},
{
- label: '2.11.0 (ng15)',
- version: '2.11.0',
+ label: '2.16.0 (ng15)',
+ version: '2.16.0',
stackblitz: 'https://stackblitz.com/edit/prizm-v2-demo',
- link: new URL('https://prizm-v2.web.app'),
+ link: getDocSite.bind(null, 'http://2.14.2.doc.prizm.site', 'https://prizm-v2.web.app'),
otherLinks: [],
cb: (hostName: string, current: PrizmVersionMeta) => {
return hostName.startsWith('prizm-v2--');
},
},
{
- label: '1.14.0 (ng14)',
- version: '1.14.0',
+ label: '1.19.0 (ng14)',
+ version: '1.19.0',
stackblitz: 'https://stackblitz.com/edit/prizm-v1-demo',
- link: new URL('https://prizm-v1.web.app'),
+ link: getDocSite.bind(null, 'http://1.17.2.doc.prizm.site', 'https://prizm-v1.web.app'),
otherLinks: [],
cb: (hostName: string, current: PrizmVersionMeta) => {
return hostName.startsWith('prizm-v1--');
},
},
- {
- label: '3.10.0-next (ng16)',
- version: '3.10.0-next',
- stackblitz: 'https://stackblitz.com/edit/prizm-v3-next-demo',
- link: new URL('https://prizm-v3-next.web.app'),
- otherLinks: [],
- },
- {
- label: '2.11.0-next (ng15)',
- stackblitz: 'https://stackblitz.com/edit/prizm-v2-next-demo',
- version: '2.11.0-next',
- link: new URL('https://prizm-v2-next.web.app'),
- otherLinks: [],
- },
- {
- label: '1.14.0-next (ng14)',
- version: '1.14.0-next',
- stackblitz: 'https://stackblitz.com/edit/prizm-v1-next-demo',
- link: new URL('https://prizm-v1-next.web.app'),
- otherLinks: [],
- },
- {
- label: '3.10.0-beta (ng16)',
- version: '3.10.0-beta',
- stackblitz: 'https://stackblitz.com/edit/prizm-v3-beta-demo',
- link: new URL('https://prizm-v3-beta.web.app'),
- otherLinks: [],
- },
- {
- label: '2.11.0-beta (ng15)',
- version: '2.11.0-beta',
- stackblitz: 'https://stackblitz.com/edit/prizm-v2-beta-demo',
- link: new URL('https://prizm-v2-beta.web.app'),
- otherLinks: [],
- },
- {
- label: '1.14.0-beta (ng14)',
- version: '1.14.0-beta',
- stackblitz: 'https://stackblitz.com/edit/prizm-v1-beta-demo',
- link: new URL('https://prizm-v1-beta.web.app'),
- otherLinks: [],
- },
];
diff --git a/libs/ast/package.json b/libs/ast/package.json
index 13b2af52bb..dd52cd82fc 100644
--- a/libs/ast/package.json
+++ b/libs/ast/package.json
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/ast",
- "version": "3.10.0",
+ "version": "3.12.0",
"private": false,
"publishConfig": {
"access": "public",
diff --git a/libs/ast/package.json.ng14 b/libs/ast/package.json.ng14
index ea0efe8172..ff0ab7f4cd 100644
--- a/libs/ast/package.json.ng14
+++ b/libs/ast/package.json.ng14
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/ast",
- "version": "1.14.0",
+ "version": "1.19.0",
"private": false,
"publishConfig": {
"access": "public",
diff --git a/libs/ast/package.json.ng15 b/libs/ast/package.json.ng15
index abd77bb58f..e73b0a01e1 100644
--- a/libs/ast/package.json.ng15
+++ b/libs/ast/package.json.ng15
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/ast",
- "version": "2.11.0",
+ "version": "2.16.0",
"private": false,
"publishConfig": {
"access": "public",
diff --git a/libs/ast/package.json.ng16 b/libs/ast/package.json.ng16
index 13b2af52bb..4b5bd23bb2 100644
--- a/libs/ast/package.json.ng16
+++ b/libs/ast/package.json.ng16
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/ast",
- "version": "3.10.0",
+ "version": "3.15.0",
"private": false,
"publishConfig": {
"access": "public",
diff --git a/libs/charts/base/package.json b/libs/charts/base/package.json
index e449c06dc0..d97deb49cd 100644
--- a/libs/charts/base/package.json
+++ b/libs/charts/base/package.json
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/charts",
- "version": "3.10.0",
+ "version": "3.13.0",
"license": "MIT",
"private": false,
"publishConfig": {
@@ -11,8 +11,8 @@
"lodash-es": "^4.17.21",
"@angular/common": "^16.1.0 || ^16.2.0",
"@angular/core": "^16.1.0 || ^16.2.0",
- "@prizm-ui/theme": "^3.10.0",
- "@prizm-ui/helpers": "^3.10.0",
+ "@prizm-ui/theme": "^3.13.0",
+ "@prizm-ui/helpers": "^3.13.0",
"@antv/g2plot": "^2.4.22"
},
"dependencies": {
diff --git a/libs/charts/base/package.json.ng14 b/libs/charts/base/package.json.ng14
index c3774d869a..373b392452 100644
--- a/libs/charts/base/package.json.ng14
+++ b/libs/charts/base/package.json.ng14
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/charts",
- "version": "1.14.0",
+ "version": "1.19.0",
"license": "MIT",
"private": false,
"publishConfig": {
@@ -11,8 +11,8 @@
"lodash-es": "^4.17.21",
"@angular/common": "^14.2.0",
"@angular/core": "^14.2.0",
- "@prizm-ui/theme": "^1.14.0",
- "@prizm-ui/helpers": "^1.14.0",
+ "@prizm-ui/theme": "^1.19.0",
+ "@prizm-ui/helpers": "^1.19.0",
"@antv/g2plot": "^2.4.22"
},
"dependencies": {
diff --git a/libs/charts/base/package.json.ng15 b/libs/charts/base/package.json.ng15
index 97c9175a86..d291e9f678 100644
--- a/libs/charts/base/package.json.ng15
+++ b/libs/charts/base/package.json.ng15
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/charts",
- "version": "2.11.0",
+ "version": "2.16.0",
"license": "MIT",
"private": false,
"publishConfig": {
@@ -11,8 +11,8 @@
"lodash-es": "^4.17.21",
"@angular/common": "^15.2.0",
"@angular/core": "^15.2.0",
- "@prizm-ui/theme": "^2.11.0",
- "@prizm-ui/helpers": "^2.11.0",
+ "@prizm-ui/theme": "^2.16.0",
+ "@prizm-ui/helpers": "^2.16.0",
"@antv/g2plot": "^2.4.22"
},
"dependencies": {
diff --git a/libs/charts/base/package.json.ng16 b/libs/charts/base/package.json.ng16
index e449c06dc0..1a4186debd 100644
--- a/libs/charts/base/package.json.ng16
+++ b/libs/charts/base/package.json.ng16
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/charts",
- "version": "3.10.0",
+ "version": "3.15.0",
"license": "MIT",
"private": false,
"publishConfig": {
@@ -11,8 +11,8 @@
"lodash-es": "^4.17.21",
"@angular/common": "^16.1.0 || ^16.2.0",
"@angular/core": "^16.1.0 || ^16.2.0",
- "@prizm-ui/theme": "^3.10.0",
- "@prizm-ui/helpers": "^3.10.0",
+ "@prizm-ui/theme": "^3.15.0",
+ "@prizm-ui/helpers": "^3.15.0",
"@antv/g2plot": "^2.4.22"
},
"dependencies": {
diff --git a/libs/charts/base/src/lib/components/line/prizm-charts-line.component.ts b/libs/charts/base/src/lib/components/line/prizm-charts-line.component.ts
index a2792df3a1..8b3d95ddb5 100644
--- a/libs/charts/base/src/lib/components/line/prizm-charts-line.component.ts
+++ b/libs/charts/base/src/lib/components/line/prizm-charts-line.component.ts
@@ -43,6 +43,14 @@ export class PrizmChartsLineComponent extends PrizmChartsAbstractCo
return this.options.yField as string;
}
+ @Input()
+ public set seriesField(value: string) {
+ this.updateOptions({ seriesField: value });
+ }
+ public get seriesField(): string {
+ return this.options.seriesField as string;
+ }
+
@Input()
set data(value: PrizmChartsLineItem[]) {
this.updateOptions({
diff --git a/libs/charts/base/src/lib/theme/base-options.const.ts b/libs/charts/base/src/lib/theme/base-options.const.ts
new file mode 100644
index 0000000000..1a491071a2
--- /dev/null
+++ b/libs/charts/base/src/lib/theme/base-options.const.ts
@@ -0,0 +1,609 @@
+import { PrizmChartBaseOptions } from './types';
+
+export const PRIZM_DEFAULT_AXIS_OPTIONS = {
+ minTickInterval: 10,
+ range: [0, 1],
+};
+
+export const PRIZM_CHART_BASE_OPTIONS: PrizmChartBaseOptions = {
+ prizm: {
+ components: {
+ bar: {
+ xAxis: PRIZM_DEFAULT_AXIS_OPTIONS,
+ barStyle: {
+ fillOpacity: 1,
+ },
+ },
+ column: {
+ columnStyle: {
+ fillOpacity: 1,
+ },
+ },
+ area: {
+ xAxis: PRIZM_DEFAULT_AXIS_OPTIONS,
+ yAxis: PRIZM_DEFAULT_AXIS_OPTIONS,
+ areaStyle: {
+ lineOpacity: 1,
+ },
+ },
+ scatter: {
+ xAxis: PRIZM_DEFAULT_AXIS_OPTIONS,
+ yAxis: PRIZM_DEFAULT_AXIS_OPTIONS,
+ pointStyle: {
+ stroke: null,
+ },
+ },
+ waterfall: {
+ interactions: [{ type: 'element-active' }],
+ state: {
+ active: {
+ animate: { duration: 100, easing: 'easeLinear' },
+ },
+ },
+ waterfallStyle: {
+ fillOpacity: 1,
+ },
+ },
+ pie: {
+ interactions: [{ type: 'element-active' }],
+ state: {
+ active: {
+ animate: { duration: 100, easing: 'easeLinear' },
+ },
+ },
+ pieStyle: {
+ lineWidth: 1,
+ fillOpacity: 1,
+ },
+ },
+ 'radial-bar': {
+ interactions: [{ type: 'element-active' }],
+ state: {
+ active: {
+ animate: { duration: 100, easing: 'easeLinear' },
+ },
+ },
+ barStyle: {
+ fillOpacity: 1,
+ },
+ },
+ treemap: {
+ interactions: [{ type: 'element-active' }],
+ state: {
+ active: {
+ animate: { duration: 100, easing: 'easeLinear' },
+ },
+ },
+ rectStyle: {
+ fillOpacity: 1,
+ },
+ },
+ },
+ },
+ padding: 'auto',
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ columnWidthRatio: 0.5,
+ maxColumnWidth: null,
+ minColumnWidth: null,
+ roseWidthRatio: 0.9999999,
+ multiplePieWidthRatio: 0.7692307692307692,
+ shapes: {
+ point: [
+ 'hollow-circle',
+ 'hollow-square',
+ 'hollow-bowtie',
+ 'hollow-diamond',
+ 'hollow-hexagon',
+ 'hollow-triangle',
+ 'hollow-triangle-down',
+ 'circle',
+ 'square',
+ 'bowtie',
+ 'diamond',
+ 'hexagon',
+ 'triangle',
+ 'triangle-down',
+ 'cross',
+ 'tick',
+ 'plus',
+ 'hyphen',
+ 'line',
+ ],
+ line: ['line', 'dash', 'dot', 'smooth'],
+ area: ['area', 'smooth', 'line', 'smooth-line'],
+ interval: ['rect', 'hollow-rect', 'line', 'tick'],
+ },
+ sizes: [1, 10],
+ components: {
+ axis: {
+ common: {
+ title: {
+ autoRotate: true,
+ position: 'center',
+ spacing: 12,
+ style: {
+ fontSize: 12,
+ lineHeight: 12,
+ textBaseline: 'middle',
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ },
+ },
+ label: {
+ autoRotate: false,
+ autoEllipsis: false,
+ autoHide: {
+ type: 'equidistance',
+ cfg: {
+ minGap: 6,
+ },
+ },
+ offset: 8,
+ style: {
+ fontSize: 12,
+ lineHeight: 12,
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ },
+ },
+ line: {
+ style: {
+ lineWidth: 1,
+ },
+ },
+ grid: {
+ line: {
+ type: 'line',
+ style: {
+ lineWidth: 1,
+ lineDash: null,
+ },
+ },
+ alignTick: true,
+ animate: true,
+ },
+ tickLine: null,
+ subTickLine: null,
+ animate: true,
+ },
+ top: {
+ position: 'top',
+ grid: null,
+ title: {
+ style: {
+ fontSize: 12,
+ },
+ },
+ verticalLimitLength: 0.5,
+ },
+ bottom: {
+ position: 'bottom',
+ grid: null,
+ title: {
+ style: {
+ fontSize: 12,
+ },
+ },
+ verticalLimitLength: 0.5,
+ },
+ left: {
+ position: 'left',
+ title: {
+ style: {
+ fontSize: 12,
+ },
+ },
+ line: null,
+ tickLine: null,
+ verticalLimitLength: 0.3333333333333333,
+ },
+ right: {
+ position: 'right',
+ title: {
+ style: {
+ fontSize: 12,
+ },
+ },
+ line: null,
+ tickLine: null,
+ verticalLimitLength: 0.3333333333333333,
+ },
+ circle: {
+ title: null,
+ grid: {
+ line: {
+ type: 'line',
+ style: {
+ lineWidth: 1,
+ lineDash: null,
+ },
+ },
+ alignTick: true,
+ animate: true,
+ },
+ line: {
+ style: {
+ lineWidth: 0,
+ },
+ },
+ },
+ radius: {
+ title: {
+ style: {
+ fontSize: 0,
+ },
+ },
+ grid: {
+ line: {
+ type: 'circle',
+ style: {
+ lineWidth: 1,
+ lineDash: null,
+ },
+ },
+ alignTick: true,
+ animate: true,
+ },
+ },
+ },
+ legend: {
+ common: {
+ title: null,
+ marker: {
+ symbol: 'circle',
+ spacing: 4,
+ style: {
+ r: 4,
+ },
+ },
+ itemName: {
+ spacing: 5,
+ style: {
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ fontSize: 12,
+ lineHeight: 12,
+ fontWeight: 'normal',
+ textAlign: 'start',
+ textBaseline: 'middle',
+ },
+ },
+ itemStates: {
+ active: {
+ nameStyle: {
+ opacity: 0.8,
+ },
+ },
+ inactive: {
+ markerStyle: {
+ opacity: 0.2,
+ },
+ },
+ },
+ flipPage: true,
+ pageNavigator: {
+ marker: {
+ style: {
+ size: 12,
+ inactiveOpacity: 12,
+ opacity: 1,
+ },
+ },
+ text: {
+ style: {
+ fontSize: 12,
+ },
+ },
+ },
+ animate: false,
+ maxItemWidth: 200,
+ itemSpacing: 16,
+ itemMarginBottom: 12,
+ padding: [8, 8, 8, 8],
+ legendItemMarginBottom: 16,
+ },
+ right: {
+ layout: 'vertical',
+ padding: [0, 8, 0, 8],
+ },
+ left: {
+ layout: 'vertical',
+ padding: [0, 8, 0, 8],
+ },
+ top: {
+ layout: 'horizontal',
+ padding: [8, 0, 8, 0],
+ },
+ bottom: {
+ layout: 'horizontal',
+ padding: [8, 0, 8, 0],
+ },
+ continuous: {
+ title: null,
+ background: null,
+ track: {},
+ rail: {
+ type: 'color',
+ size: 12,
+ defaultLength: 100,
+ style: {
+ stroke: null,
+ lineWidth: 0,
+ },
+ },
+ label: {
+ align: 'rail',
+ spacing: 12,
+ formatter: null,
+ style: {
+ fontSize: 12,
+ lineHeight: 16,
+ textBaseline: 'middle',
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ },
+ },
+ handler: {
+ size: 10,
+ },
+ slidable: true,
+ padding: [8, 8, 8, 8],
+ },
+ },
+ tooltip: {
+ showContent: true,
+ follow: true,
+ showCrosshairs: false,
+ showMarkers: true,
+ shared: false,
+ enterable: false,
+ position: 'auto',
+ marker: {
+ symbol: 'circle',
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowOffsetY: 0,
+ lineWidth: 1,
+ r: 4,
+ },
+ crosshairs: {
+ line: {
+ style: {
+ lineWidth: 1,
+ },
+ },
+ text: null,
+ textBackground: {
+ padding: 2,
+ style: {
+ lineWidth: 0,
+ stroke: null,
+ },
+ },
+ follow: false,
+ },
+ domStyles: {
+ 'g2-tooltip': {
+ position: 'absolute',
+ visibility: 'hidden',
+ zIndex: 8,
+ transition:
+ 'left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s',
+ backgroundColor: 'var(--prizm-v3-background-fill-overlay)',
+ color: 'var(--prizm-v3-text-icon-primary)',
+ fontFamily: 'Inter',
+ overflow: 'hidden',
+ opacity: 0.95,
+ boxShadow: 'var(--prizm-v3-shadow-big-bottom)',
+ borderRadius: '2px',
+ fontSize: 14,
+ lineHeight: '12px',
+ padding: '0 12px 0 12px',
+ },
+ 'g2-tooltip-title': {
+ marginBottom: '12px',
+ marginTop: '12px',
+ },
+ 'g2-tooltip-list': {
+ margin: 0,
+ listStyleType: 'none',
+ padding: 0,
+ },
+ 'g2-tooltip-list-item': {
+ listStyleType: 'none',
+ padding: 0,
+ marginBottom: '12px',
+ marginTop: '12px',
+ marginLeft: 0,
+ marginRight: 0,
+ color: 'var(--prizm-v3-text-icon-secondary)',
+ },
+ 'g2-tooltip-marker': {
+ width: '8px',
+ height: '8px',
+ borderRadius: '50%',
+ display: 'inline-block',
+ marginRight: '8px',
+ },
+ 'g2-tooltip-value': {
+ display: 'inline-block',
+ float: 'right',
+ marginLeft: '30px',
+ },
+ },
+ },
+ annotation: {
+ arc: {
+ style: {
+ lineWidth: 1,
+ },
+ animate: true,
+ },
+ line: {
+ style: {
+ lineDash: null,
+ lineWidth: 1,
+ },
+ text: {
+ position: 'start',
+ autoRotate: true,
+ style: {
+ stroke: null,
+ lineWidth: 0,
+ fontSize: 12,
+ textAlign: 'start',
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ textBaseline: 'bottom',
+ },
+ },
+ animate: true,
+ },
+ text: {
+ style: {
+ stroke: null,
+ lineWidth: 0,
+ fontSize: 12,
+ textBaseline: 'middle',
+ textAlign: 'start',
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ },
+ animate: true,
+ },
+ region: {
+ top: false,
+ style: {
+ lineWidth: 0,
+ stroke: null,
+ fillOpacity: 0.06,
+ },
+ animate: true,
+ },
+ image: {
+ top: false,
+ animate: true,
+ },
+ dataMarker: {
+ top: true,
+ point: {
+ style: {
+ r: 3,
+ lineWidth: 2,
+ },
+ },
+ line: {
+ style: {
+ lineWidth: 1,
+ },
+ length: 16,
+ },
+ text: {
+ style: {
+ textAlign: 'start',
+ stroke: null,
+ lineWidth: 0,
+ fontSize: 12,
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ },
+ },
+ direction: 'upward',
+ autoAdjust: true,
+ animate: true,
+ },
+ dataRegion: {
+ style: {
+ region: {
+ fillOpacity: 0.06,
+ },
+ text: {
+ textAlign: 'center',
+ textBaseline: 'bottom',
+ stroke: null,
+ lineWidth: 0,
+ fontSize: 12,
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ },
+ },
+ animate: true,
+ },
+ },
+ slider: {
+ common: {
+ padding: [8, 8, 8, 8],
+ backgroundStyle: {
+ opacity: 0.5,
+ },
+ foregroundStyle: {
+ opacity: 0.25,
+ },
+ handlerStyle: {
+ width: 8,
+ height: 24,
+ opacity: 1,
+ stroke: '#6e778c',
+ lineWidth: 1,
+ radius: 2,
+ highLightFill: '#FFF',
+ },
+ textStyle: {
+ opacity: 1,
+ fontSize: 12,
+ lineHeight: 12,
+ fontWeight: 'normal',
+ stroke: null,
+ lineWidth: 0,
+ },
+ },
+ },
+ scrollbar: {
+ common: {
+ padding: [8, 8, 8, 8],
+ },
+ },
+ },
+ labels: {
+ offset: 12,
+ style: {
+ fontSize: 12,
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ lineWidth: 0,
+ },
+ autoRotate: true,
+ },
+ innerLabels: {
+ style: {
+ fontSize: 12,
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ lineWidth: 0,
+ },
+ autoRotate: true,
+ },
+ overflowLabels: {
+ style: {
+ fontSize: 12,
+ fontFamily:
+ '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ stroke: null,
+ lineWidth: 1,
+ },
+ },
+ pieLabels: {
+ labelHeight: 14,
+ offset: 8,
+ labelLine: {
+ style: {
+ lineWidth: 1,
+ },
+ },
+ autoRotate: true,
+ },
+ 'bottom-axis-subTick-line': false,
+ 'circle-axis-subTick-line': false,
+ 'radius-axis-subTick-line': false,
+};
diff --git a/libs/charts/base/src/lib/theme/dark.const.ts b/libs/charts/base/src/lib/theme/dark.const.ts
index f535b7518b..eff603bfe1 100644
--- a/libs/charts/base/src/lib/theme/dark.const.ts
+++ b/libs/charts/base/src/lib/theme/dark.const.ts
@@ -1,109 +1,167 @@
+import { merge } from 'lodash';
+import { PRIZM_CHART_BASE_OPTIONS } from './base-options.const';
import { PrizmChartThemeObject } from './types';
-export const PRIZM_CHART_DARK_THEME: PrizmChartThemeObject = {
+export const PRIZM_CHART_DARK_THEME_DATA_COLORS = [
+ '#339999',
+ '#9966FF',
+ '#33CCFF',
+ '#8D91A4',
+ '#CC9933',
+ '#FF99CC',
+ '#99CC99',
+ '#CC66FF',
+ '#9999FF',
+ '#CC9999',
+ '#669900',
+];
+
+export const PRIZM_DARK_THEME_AXIS_COLOR = '#2c313d';
+
+export const PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY = '#a7acb8';
+
+export const PRIZM_DARK_THEME_TEXT_COLOR_DISABLE = '#545f77';
+
+export const PRIZM_DARK_THEME_BACKGROUND_COLOR_PRIMARY = '#1e222a';
+
+export const PRIZM_DARK_THEME_STROKE_HOVER_COLOR = '#ffffff';
+
+const PRIZM_CHART_DARK_THEME_COLOR_SCEME = {
prizm: {
components: {
bar: {
- color: ['#AD52BC', '#00BCD4', '#337EFF'],
xAxis: {
- minTickInterval: 10,
grid: {
line: {
style: {
- stroke: '#50546B',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
},
line: {
style: {
- stroke: '#50546b',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
- range: [0, 1],
},
},
- scatter: {
+ area: {
xAxis: {
- minTickInterval: 10,
grid: {
line: {
style: {
- stroke: '#50546B',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
},
line: {
style: {
- stroke: '#50546b',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
- range: [0, 1],
},
yAxis: {
- minTickInterval: 10,
grid: {
line: {
style: {
- stroke: '#50546B',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
},
line: {
style: {
- stroke: '#50546b',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
- range: [0, 1],
},
},
- area: {
+ scatter: {
xAxis: {
- minTickInterval: 10,
grid: {
line: {
style: {
- stroke: '#50546B',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
},
line: {
style: {
- stroke: '#50546b',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
- range: [0, 1],
},
yAxis: {
- minTickInterval: 10,
grid: {
line: {
style: {
- stroke: '#50546B',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
},
line: {
style: {
- stroke: '#50546b',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
+ },
+ },
+ },
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_DARK_THEME_STROKE_HOVER_COLOR,
+ },
+ },
+ },
+ },
+ waterfall: {
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_DARK_THEME_STROKE_HOVER_COLOR,
+ },
+ },
+ },
+ },
+ pie: {
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_DARK_THEME_STROKE_HOVER_COLOR,
+ },
+ },
+ },
+ pieStyle: {
+ stroke: PRIZM_DARK_THEME_BACKGROUND_COLOR_PRIMARY,
+ },
+ },
+ 'radial-bar': {
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_DARK_THEME_STROKE_HOVER_COLOR,
+ },
+ },
+ },
+ },
+ treemap: {
+ rectStyle: {
+ stroke: PRIZM_DARK_THEME_BACKGROUND_COLOR_PRIMARY,
+ },
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_DARK_THEME_STROKE_HOVER_COLOR,
},
},
- range: [0, 1],
},
},
},
},
- background: 'rgba(32, 34, 43, 1)',
+ background: PRIZM_DARK_THEME_BACKGROUND_COLOR_PRIMARY,
+ // TODO: reseacrh why this subColor here #dr
subColor: 'rgba(48, 51, 64, 1)',
- semanticRed: 'rgba(241, 65, 65, 1)',
- semanticGreen: 'rgba(73, 171, 77, 1)',
- padding: 'auto',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- columnWidthRatio: 0.5,
- maxColumnWidth: null,
- minColumnWidth: null,
- roseWidthRatio: 0.9999999,
- multiplePieWidthRatio: 0.7692307692307692,
+ semanticRed: '#FF0033',
+ semanticGreen: '#009900',
+ // TODO: reseacrh why this colors here #dr
sequenceColors: [
'#B8E1FF',
'#9AC5FF',
@@ -115,641 +173,257 @@ export const PRIZM_CHART_DARK_THEME: PrizmChartThemeObject = {
'#00318A',
'#001D70',
],
- shapes: {
- point: [
- 'hollow-circle',
- 'hollow-square',
- 'hollow-bowtie',
- 'hollow-diamond',
- 'hollow-hexagon',
- 'hollow-triangle',
- 'hollow-triangle-down',
- 'circle',
- 'square',
- 'bowtie',
- 'diamond',
- 'hexagon',
- 'triangle',
- 'triangle-down',
- 'cross',
- 'tick',
- 'plus',
- 'hyphen',
- 'line',
- ],
- line: ['line', 'dash', 'dot', 'smooth'],
- area: ['area', 'smooth', 'line', 'smooth-line'],
- interval: ['rect', 'hollow-rect', 'line', 'tick'],
- },
- sizes: [1, 10],
components: {
axis: {
common: {
title: {
- autoRotate: true,
- position: 'center',
- spacing: 12,
style: {
- fill: '#595959',
- fontSize: 12,
- lineHeight: 12,
- textBaseline: 'middle',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
label: {
- autoRotate: false,
- autoEllipsis: false,
- autoHide: {
- type: 'equidistance',
- cfg: {
- minGap: 6,
- },
- },
- offset: 8,
style: {
- fill: 'rgba(161, 165, 183, 1)',
- fontSize: 12,
- lineHeight: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
line: {
style: {
- lineWidth: 1,
- stroke: 'rgba(80, 84, 107, 1)',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
grid: {
line: {
- type: 'line',
style: {
- stroke: '#50546B',
- lineWidth: 1,
- lineDash: null,
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
- alignTick: true,
- animate: true,
- },
- tickLine: {
- style: {
- lineWidth: 1,
- stroke: 'rgba(80, 84, 107, 1)',
- },
- alignTick: true,
- length: 4,
},
- subTickLine: null,
- animate: true,
- },
- top: {
- position: 'top',
- grid: null,
- title: {
- style: {
- fontSize: 12,
- },
- },
- verticalLimitLength: 0.5,
- },
- bottom: {
- position: 'bottom',
- grid: null,
- title: {
- style: {
- fontSize: 12,
- },
- },
- verticalLimitLength: 0.5,
- },
- left: {
- position: 'left',
- title: {
- style: {
- fontSize: 12,
- },
- },
- line: null,
- tickLine: null,
- verticalLimitLength: 0.3333333333333333,
- },
- right: {
- position: 'right',
- title: {
- style: {
- fontSize: 12,
- },
- },
- line: null,
- tickLine: null,
- verticalLimitLength: 0.3333333333333333,
},
circle: {
- title: null,
grid: {
line: {
- type: 'line',
style: {
- stroke: 'rgba(161, 165, 183, 1)',
- lineWidth: 1,
- lineDash: null,
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
- alignTick: true,
- animate: true,
- },
- line: {
- style: {
- lineWidth: 0,
- },
},
tickLine: {
style: {
- stroke: 'rgba(161, 165, 183, 1)',
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
},
radius: {
title: {
style: {
- fontSize: 0,
- fill: 'rgba(161, 165, 183, 1)',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
grid: {
line: {
- type: 'circle',
style: {
- stroke: 'rgba(161, 165, 183, 1)',
- lineWidth: 1,
- lineDash: null,
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
},
- alignTick: true,
- animate: true,
},
label: {
style: {
- fill: 'rgba(161, 165, 183, 1)',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
},
},
legend: {
common: {
- title: null,
marker: {
- symbol: 'circle',
- spacing: 4,
style: {
- r: 4,
- fill: '#5B8FF9',
+ fill: '#4075FF',
},
},
itemName: {
- spacing: 5,
style: {
- fill: 'rgba(244, 246, 251, 1)',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- fontSize: 12,
- lineHeight: 12,
- fontWeight: 'normal',
- textAlign: 'start',
- textBaseline: 'middle',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
itemStates: {
- active: {
- nameStyle: {
- opacity: 0.8,
- },
- },
unchecked: {
nameStyle: {
- fill: '#D8D8D8',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_DISABLE,
},
markerStyle: {
- fill: '#D8D8D8',
- stroke: '#D8D8D8',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_DISABLE,
+ stroke: PRIZM_DARK_THEME_TEXT_COLOR_DISABLE,
},
},
inactive: {
nameStyle: {
- fill: '#D8D8D8',
- },
- markerStyle: {
- opacity: 0.2,
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_DISABLE,
},
},
},
- flipPage: true,
pageNavigator: {
marker: {
style: {
- size: 12,
- inactiveFill: 'rgba(119, 123, 146, 0.3)',
- inactiveOpacity: 12,
- fill: 'rgba(119, 123, 146, 1)',
- opacity: 1,
+ inactiveFill: '#2c313d',
+ fill: '#6e778c',
},
},
text: {
style: {
- fill: 'rgba(191, 198, 215, 1)',
- fontSize: 12,
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
},
- animate: false,
- maxItemWidth: 200,
- itemSpacing: 16,
- itemMarginBottom: 12,
- padding: [8, 8, 8, 8],
- legendItemMarginBottom: 16,
- },
- right: {
- layout: 'vertical',
- padding: [0, 8, 0, 8],
- },
- left: {
- layout: 'vertical',
- padding: [0, 8, 0, 8],
- },
- top: {
- layout: 'horizontal',
- padding: [8, 0, 8, 0],
- },
- bottom: {
- layout: 'horizontal',
- padding: [8, 0, 8, 0],
},
continuous: {
- title: null,
- background: null,
- track: {},
rail: {
- type: 'color',
- size: 12,
- defaultLength: 100,
style: {
- fill: 'rgba(191, 198, 215, 1)',
- stroke: null,
- lineWidth: 0,
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
label: {
- align: 'rail',
- spacing: 12,
- formatter: null,
style: {
- fill: 'rgba(191, 198, 215, 1)',
- fontSize: 12,
- lineHeight: 16,
- textBaseline: 'middle',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
handler: {
- size: 10,
style: {
- fill: 'rgba(191, 198, 215, 1)',
- stroke: 'rgba(191, 198, 215, 1)',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
+ stroke: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
- slidable: true,
- padding: [8, 8, 8, 8],
},
},
tooltip: {
- showContent: true,
- follow: true,
- showCrosshairs: false,
- showMarkers: true,
- shared: false,
- enterable: false,
- position: 'auto',
marker: {
- symbol: 'circle',
- stroke: 'rgba(244, 246, 251, 1)',
- shadowBlur: 10,
- shadowOffsetX: 0,
- shadowOffsetY: 0,
+ stroke: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
shadowColor: 'rgba(48, 51, 64, 1)',
- lineWidth: 1,
- r: 4,
},
crosshairs: {
line: {
style: {
stroke: 'rgba(244, 246, 251, 1)',
- lineWidth: 1,
},
},
- text: null,
textBackground: {
- padding: 2,
style: {
fill: 'rgba(0, 0, 0, 0.25)',
- lineWidth: 0,
- stroke: null,
},
},
- follow: false,
- },
- domStyles: {
- 'g2-tooltip': {
- position: 'absolute',
- visibility: 'hidden',
- zIndex: 8,
- transition:
- 'left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s',
- backgroundColor: 'var(--prizm-grey-g3-g11)',
- fontFamily: 'Inter',
- overflow: 'hidden',
- color: 'var(--prizm-grey-g12-g2)',
- opacity: 0.95,
- boxShadow: '0px -2px 4px var(--prizm-shadow)',
- borderRadius: '2px',
- fontSize: 14,
- lineHeight: '12px',
- padding: '0 12px 0 12px',
- },
- 'g2-tooltip-title': {
- marginBottom: '12px',
- marginTop: '12px',
- },
- 'g2-tooltip-list': {
- margin: 0,
- listStyleType: 'none',
- padding: 0,
- },
- 'g2-tooltip-list-item': {
- listStyleType: 'none',
- padding: 0,
- marginBottom: '12px',
- marginTop: '12px',
- marginLeft: 0,
- marginRight: 0,
- },
- 'g2-tooltip-marker': {
- width: '8px',
- height: '8px',
- borderRadius: '50%',
- display: 'inline-block',
- marginRight: '8px',
- },
- 'g2-tooltip-value': {
- display: 'inline-block',
- float: 'right',
- marginLeft: '30px',
- },
},
},
annotation: {
arc: {
style: {
- stroke: '#D9D9D9',
- lineWidth: 1,
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
- animate: true,
},
line: {
style: {
- stroke: '#BFBFBF',
- lineDash: null,
- lineWidth: 1,
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
text: {
- position: 'start',
- autoRotate: true,
style: {
- fill: '#595959',
- stroke: null,
- lineWidth: 0,
- fontSize: 12,
- textAlign: 'start',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- textBaseline: 'bottom',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
- animate: true,
},
text: {
style: {
- fill: '#595959',
- stroke: null,
- lineWidth: 0,
- fontSize: 12,
- textBaseline: 'middle',
- textAlign: 'start',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- },
- animate: true,
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
+ },
},
region: {
- top: false,
style: {
- lineWidth: 0,
- stroke: null,
fill: '#000',
- fillOpacity: 0.06,
},
- animate: true,
- },
- image: {
- top: false,
- animate: true,
},
dataMarker: {
- top: true,
point: {
style: {
- r: 3,
- stroke: '#5B8FF9',
- lineWidth: 2,
+ stroke: '#4075FF',
},
},
line: {
style: {
- stroke: '#BFBFBF',
- lineWidth: 1,
+ stroke: PRIZM_DARK_THEME_AXIS_COLOR,
},
- length: 16,
},
text: {
style: {
- textAlign: 'start',
- fill: '#595959',
- stroke: null,
- lineWidth: 0,
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- },
- },
- direction: 'upward',
- autoAdjust: true,
- animate: true,
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
+ },
+ },
},
dataRegion: {
style: {
region: {
fill: '#000',
- fillOpacity: 0.06,
},
text: {
- textAlign: 'center',
- textBaseline: 'bottom',
- fill: '#595959',
- stroke: null,
- lineWidth: 0,
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
- animate: true,
},
},
slider: {
common: {
- padding: [8, 8, 8, 8],
backgroundStyle: {
- fill: 'rgba(19, 21, 28, 1)',
- opacity: 0.5,
+ fill: PRIZM_DARK_THEME_BACKGROUND_COLOR_PRIMARY,
},
foregroundStyle: {
- fill: 'rgba(19, 21, 28, 1)',
- opacity: 0.25,
+ fill: PRIZM_DARK_THEME_BACKGROUND_COLOR_PRIMARY,
},
handlerStyle: {
- width: 8,
- height: 24,
- fill: 'rgba(19, 21, 28, 1)',
- opacity: 1,
- stroke: 'rgba(80, 84, 107, 1)',
- lineWidth: 1,
- radius: 2,
+ fill: PRIZM_DARK_THEME_BACKGROUND_COLOR_PRIMARY,
+ stroke: '#6e778c',
highLightFill: '#FFF',
},
textStyle: {
- fill: 'rgba(119, 123, 146, 1)',
- opacity: 1,
- fontSize: 12,
- lineHeight: 12,
- fontWeight: 'normal',
- stroke: null,
- lineWidth: 0,
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
},
},
scrollbar: {
- common: {
- padding: [8, 8, 8, 8],
- },
default: {
style: {
- trackColor: 'rgba(19, 21, 28, 1)',
- thumbColor: 'rgba(80, 84, 107, 1)',
+ trackColor: PRIZM_DARK_THEME_BACKGROUND_COLOR_PRIMARY,
+ thumbColor: '#545f77',
},
},
hover: {
style: {
- thumbColor: 'rgba(119, 123, 146, 1)',
+ thumbColor: '#7e8799',
},
},
},
},
labels: {
- offset: 12,
style: {
- fill: 'rgba(244, 246, 251, 1)',
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- stroke: 'rgba(19, 21, 28, 1)',
- lineWidth: 0,
+ fill: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
+ stroke: PRIZM_DARK_THEME_TEXT_COLOR_SECONDARY,
},
- fillColorDark: '#2c3542',
+ fillColorDark: '#ffffff',
fillColorLight: '#ffffff',
- autoRotate: true,
},
innerLabels: {
style: {
fill: '#FFFFFF',
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- stroke: null,
- lineWidth: 0,
},
- autoRotate: true,
},
overflowLabels: {
style: {
- fill: '#595959',
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- stroke: '#FFFFFF',
- lineWidth: 1,
- },
- },
- pieLabels: {
- labelHeight: 14,
- offset: 8,
- labelLine: {
- style: {
- lineWidth: 1,
- },
+ fill: '#FFFFFF',
},
- autoRotate: true,
},
- 'bottom-axis-subTick-line': false,
- 'circle-axis-subTick-line': false,
- 'radius-axis-subTick-line': false,
styleSheet: {
- brandColor: 'rgba(51, 126, 255, 1)',
- paletteQualitative10: [
- 'rgba(51, 126, 255, 1)',
- 'rgba(241, 65, 65, 1)',
- 'rgba(73, 171, 77, 1)',
- 'rgba(255, 124, 10, 1)',
- 'rgba(192, 90, 255, 1)',
- 'rgba(162, 226, 255, 1)',
- 'rgba(130, 253, 231, 1)',
- 'rgba(255, 208, 41, 1)',
- 'rgba(161, 165, 183, 1)',
- 'rgba(255, 140, 188, 1)',
- ],
- paletteQualitative20: [
- '#5B8FF9',
- '#CDDDFD',
- '#5AD8A6',
- '#CDF3E4',
- '#5D7092',
- '#CED4DE',
- '#F6BD16',
- '#FCEBB9',
- '#6F5EF9',
- '#D3CEFD',
- '#6DC8EC',
- '#D3EEF9',
- '#945FB9',
- '#DECFEA',
- '#FF9845',
- '#FFE0C7',
- '#1E9493',
- '#BBDEDE',
- '#FF99C3',
- '#FFE0ED',
- ],
+ brandColor: PRIZM_CHART_DARK_THEME_DATA_COLORS[0],
+ paletteQualitative10: PRIZM_CHART_DARK_THEME_DATA_COLORS,
+ paletteQualitative20: PRIZM_CHART_DARK_THEME_DATA_COLORS,
},
};
+
+export const PRIZM_CHART_DARK_THEME: PrizmChartThemeObject = merge(
+ PRIZM_CHART_DARK_THEME_COLOR_SCEME,
+ PRIZM_CHART_BASE_OPTIONS
+);
diff --git a/libs/charts/base/src/lib/theme/light.const.ts b/libs/charts/base/src/lib/theme/light.const.ts
index 9aebac318d..06588ff47f 100644
--- a/libs/charts/base/src/lib/theme/light.const.ts
+++ b/libs/charts/base/src/lib/theme/light.const.ts
@@ -1,102 +1,167 @@
import { PrizmChartThemeObject } from './types';
+import { PRIZM_CHART_BASE_OPTIONS } from './base-options.const';
+import { merge } from 'lodash';
-export const PRIZM_CHART_LIGHT_THEME: PrizmChartThemeObject = {
+export const PRIZM_CHART_LIGHT_THEME_DATA_COLORS = [
+ '#336666',
+ '#9933FF',
+ '#3366CC',
+ '#606580',
+ '#996600',
+ '#CC3366',
+ '#003300',
+ '#990099',
+ '#6633FF',
+ '#663333',
+ '#666600',
+];
+
+export const PRIZM_LIGHT_THEME_AXIS_COLOR = '#c3c7cf';
+
+export const PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY = '#3f4759';
+
+export const PRIZM_LIGHT_THEME_TEXT_COLOR_DISABLE = '#a7acb8';
+
+export const PRIZM_LIGHT_THEME_BACKGROUND_COLOR_PRIMARY = '#ffffff';
+
+export const PRIZM_LIGHT_THEME_STROKE_HOVER_COLOR = '#20222b';
+
+const PRIZM_CHART_LIGHT_THEME_COLOR_SCEME = {
prizm: {
components: {
bar: {
- color: ['#AD52BC', '#00BCD4', '#337EFF'],
xAxis: {
grid: {
line: {
style: {
- stroke: '#A1A5B7',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
},
+ line: {
+ style: {
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
+ },
+ },
},
},
area: {
xAxis: {
- minTickInterval: 10,
grid: {
line: {
style: {
- stroke: '#A1A5B7',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
},
line: {
style: {
- stroke: '#A1A5B7',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
- range: [0, 1],
},
yAxis: {
- minTickInterval: 10,
grid: {
line: {
style: {
- stroke: '#A1A5B7',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
},
line: {
style: {
- stroke: '#A1A5B7',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
- range: [0, 1],
},
},
scatter: {
xAxis: {
- minTickInterval: 10,
grid: {
line: {
style: {
- stroke: '#A1A5B7',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
},
line: {
style: {
- stroke: '#A1A5B7',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
- range: [0, 1],
},
yAxis: {
- minTickInterval: 10,
grid: {
line: {
style: {
- stroke: '#A1A5B7',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
},
line: {
style: {
- stroke: '#A1A5B7',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
+ },
+ },
+ },
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_LIGHT_THEME_STROKE_HOVER_COLOR,
+ },
+ },
+ },
+ },
+ waterfall: {
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_LIGHT_THEME_STROKE_HOVER_COLOR,
+ },
+ },
+ },
+ },
+ pie: {
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_LIGHT_THEME_STROKE_HOVER_COLOR,
+ },
+ },
+ },
+ pieStyle: {
+ stroke: PRIZM_LIGHT_THEME_BACKGROUND_COLOR_PRIMARY,
+ },
+ },
+ 'radial-bar': {
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_LIGHT_THEME_STROKE_HOVER_COLOR,
+ },
+ },
+ },
+ },
+ treemap: {
+ rectStyle: {
+ stroke: PRIZM_LIGHT_THEME_BACKGROUND_COLOR_PRIMARY,
+ },
+ state: {
+ active: {
+ style: {
+ stroke: PRIZM_LIGHT_THEME_STROKE_HOVER_COLOR,
},
},
- range: [0, 1],
},
},
},
},
- background: '#ffffff',
+ background: PRIZM_LIGHT_THEME_BACKGROUND_COLOR_PRIMARY,
+ // TODO: reseacrh why this subColor here #dr
subColor: 'rgba(214, 219, 231, 1)',
- semanticRed: 'rgba(241, 65, 65, 1)',
- semanticGreen: 'rgba(73, 171, 77, 1)',
- padding: 'auto',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- columnWidthRatio: 0.5,
- maxColumnWidth: null,
- minColumnWidth: null,
- roseWidthRatio: 0.9999999,
- multiplePieWidthRatio: 0.7692307692307692,
+ semanticRed: '#CC0000',
+ semanticGreen: '#006600',
+ // TODO: reseacrh why this colors here #dr
sequenceColors: [
'#B8E1FF',
'#9AC5FF',
@@ -108,629 +173,257 @@ export const PRIZM_CHART_LIGHT_THEME: PrizmChartThemeObject = {
'#00318A',
'#001D70',
],
- shapes: {
- point: [
- 'hollow-circle',
- 'hollow-square',
- 'hollow-bowtie',
- 'hollow-diamond',
- 'hollow-hexagon',
- 'hollow-triangle',
- 'hollow-triangle-down',
- 'circle',
- 'square',
- 'bowtie',
- 'diamond',
- 'hexagon',
- 'triangle',
- 'triangle-down',
- 'cross',
- 'tick',
- 'plus',
- 'hyphen',
- 'line',
- ],
- line: ['line', 'dash', 'dot', 'smooth'],
- area: ['area', 'smooth', 'line', 'smooth-line'],
- interval: ['rect', 'hollow-rect', 'line', 'tick'],
- },
- sizes: [1, 10],
components: {
axis: {
common: {
title: {
- autoRotate: true,
- position: 'center',
- spacing: 12,
style: {
- fill: '#595959',
- fontSize: 12,
- lineHeight: 12,
- textBaseline: 'middle',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
label: {
- autoRotate: false,
- autoEllipsis: false,
- autoHide: {
- type: 'equidistance',
- cfg: {
- minGap: 6,
- },
- },
- offset: 8,
style: {
- fill: 'rgba(80, 84, 107, 1)',
- fontSize: 12,
- lineHeight: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
line: {
style: {
- lineWidth: 1,
- stroke: 'rgba(191, 198, 215, 1)',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
grid: {
line: {
- type: 'line',
style: {
- stroke: '#A1A5B7',
- lineWidth: 1,
- lineDash: null,
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
- alignTick: true,
- animate: true,
- },
- tickLine: {
- style: {
- lineWidth: 1,
- stroke: 'rgba(191, 198, 215, 1)',
- },
- alignTick: true,
- length: 4,
},
- subTickLine: null,
- animate: true,
- },
- top: {
- position: 'top',
- grid: null,
- title: null,
- verticalLimitLength: 0.5,
- },
- bottom: {
- position: 'bottom',
- grid: null,
- title: {
- style: {
- fontSize: 12,
- },
- },
- verticalLimitLength: 0.5,
- },
- left: {
- position: 'left',
- title: null,
- line: null,
- tickLine: null,
- verticalLimitLength: 0.3333333333333333,
- },
- right: {
- position: 'right',
- title: null,
- line: null,
- tickLine: null,
- verticalLimitLength: 0.3333333333333333,
},
circle: {
- title: null,
grid: {
line: {
- type: 'line',
style: {
- stroke: 'rgba(80, 84, 107, 1)',
- lineWidth: 1,
- lineDash: null,
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
- alignTick: true,
- animate: true,
- },
- line: {
- style: {
- lineWidth: 0,
- },
},
tickLine: {
style: {
- stroke: 'rgba(80, 84, 107, 1)',
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
},
radius: {
title: {
style: {
- fontSize: 0,
- fill: 'rgba(80, 84, 107, 1)',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
grid: {
line: {
- type: 'circle',
style: {
- stroke: 'rgba(80, 84, 107, 1)',
- lineWidth: 1,
- lineDash: null,
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
},
- alignTick: true,
- animate: true,
},
label: {
style: {
- fill: 'rgba(80, 84, 107, 1)',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
},
},
legend: {
common: {
- title: null,
marker: {
- symbol: 'circle',
- spacing: 4,
style: {
- r: 4,
- fill: '#5B8FF9',
+ fill: '#4075FF',
},
},
itemName: {
- spacing: 5,
style: {
- fill: 'rgba(32, 34, 43, 1)',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- fontSize: 12,
- lineHeight: 12,
- fontWeight: 'normal',
- textAlign: 'start',
- textBaseline: 'middle',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
itemStates: {
- active: {
- nameStyle: {
- opacity: 0.8,
- },
- },
unchecked: {
nameStyle: {
- fill: '#D8D8D8',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_DISABLE,
},
markerStyle: {
- fill: '#D8D8D8',
- stroke: '#D8D8D8',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_DISABLE,
+ stroke: PRIZM_LIGHT_THEME_TEXT_COLOR_DISABLE,
},
},
inactive: {
nameStyle: {
- fill: '#D8D8D8',
- },
- markerStyle: {
- opacity: 0.2,
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_DISABLE,
},
},
},
- flipPage: true,
pageNavigator: {
marker: {
style: {
- size: 12,
- inactiveFill: 'rgba(119, 123, 146, 0.3)',
- inactiveOpacity: 12,
- fill: 'rgba(119, 123, 146, 1)',
- opacity: 1,
+ inactiveFill: '#f3f4f5',
+ fill: '#6e778c',
},
},
text: {
style: {
- fill: 'rgba(80, 84, 107, 1)',
- fontSize: 12,
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
},
- animate: false,
- maxItemWidth: 200,
- itemSpacing: 16,
- itemMarginBottom: 12,
- padding: [8, 8, 8, 8],
- legendItemMarginBottom: 16,
- },
- right: {
- layout: 'vertical',
- padding: [0, 8, 0, 8],
- },
- left: {
- layout: 'vertical',
- padding: [0, 8, 0, 8],
- },
- top: {
- layout: 'horizontal',
- padding: [8, 0, 8, 0],
- },
- bottom: {
- layout: 'horizontal',
- padding: [8, 0, 8, 0],
},
continuous: {
- title: null,
- background: null,
- track: {},
rail: {
- type: 'color',
- size: 12,
- defaultLength: 100,
style: {
- fill: 'rgba(80, 84, 107, 1)',
- stroke: null,
- lineWidth: 0,
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
label: {
- align: 'rail',
- spacing: 12,
- formatter: null,
style: {
- fill: 'rgba(80, 84, 107, 1)',
- fontSize: 12,
- lineHeight: 16,
- textBaseline: 'middle',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
handler: {
- size: 8,
style: {
- fill: 'rgba(80, 84, 107, 1)',
- stroke: 'rgba(80, 84, 107, 1)',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
+ stroke: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
- slidable: true,
- padding: [8, 8, 8, 8],
},
},
tooltip: {
- showContent: true,
- follow: true,
- showCrosshairs: false,
- showMarkers: true,
- shared: false,
- enterable: false,
- position: 'auto',
marker: {
- symbol: 'circle',
- stroke: 'rgba(19, 21, 28, 1)',
- shadowBlur: 10,
- shadowOffsetX: 0,
- shadowOffsetY: 0,
+ stroke: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
shadowColor: 'rgba(214, 219, 231, 1)',
- lineWidth: 1,
- r: 4,
},
crosshairs: {
line: {
style: {
stroke: '#1A1C24',
- lineWidth: 1,
},
},
- text: null,
textBackground: {
- padding: 2,
style: {
fill: 'rgba(0, 0, 0, 0.25)',
- lineWidth: 0,
- stroke: null,
},
},
- follow: false,
- },
- domStyles: {
- 'g2-tooltip': {
- position: 'absolute',
- visibility: 'hidden',
- zIndex: 8,
- boxShadow: '0px -2px 4px var(--prizm-shadow)',
- transition:
- 'left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s',
- backgroundColor: 'var(--prizm-grey-g3-g11)',
- color: 'var(--prizm-grey-g12-g2)',
- overflow: 'hidden',
- fontFamily: 'Inter',
- opacity: 0.95,
- borderRadius: '2px',
- fontSize: 14,
- lineHeight: '12px',
- padding: '0 12px 0 12px',
- },
- 'g2-tooltip-title': {
- marginBottom: '12px',
- marginTop: '12px',
- },
- 'g2-tooltip-list': {
- margin: 0,
- listStyleType: 'none',
- padding: 0,
- },
- 'g2-tooltip-list-item': {
- listStyleType: 'none',
- padding: 0,
- marginBottom: '12px',
- marginTop: '12px',
- marginLeft: 0,
- marginRight: 0,
- },
- 'g2-tooltip-marker': {
- width: '8px',
- height: '8px',
- borderRadius: '50%',
- display: 'inline-block',
- marginRight: '8px',
- },
- 'g2-tooltip-value': {
- display: 'inline-block',
- float: 'right',
- marginLeft: '30px',
- },
},
},
annotation: {
arc: {
style: {
- stroke: '#D9D9D9',
- lineWidth: 1,
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
- animate: true,
},
line: {
style: {
- stroke: '#BFBFBF',
- lineDash: null,
- lineWidth: 1,
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
text: {
- position: 'start',
- autoRotate: true,
style: {
- fill: '#595959',
- stroke: null,
- lineWidth: 0,
- fontSize: 12,
- textAlign: 'start',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- textBaseline: 'bottom',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
- animate: true,
},
text: {
style: {
- fill: '#595959',
- stroke: null,
- lineWidth: 0,
- fontSize: 12,
- textBaseline: 'middle',
- textAlign: 'start',
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- },
- animate: true,
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
+ },
},
region: {
- top: false,
style: {
- lineWidth: 0,
- stroke: null,
fill: '#000',
- fillOpacity: 0.06,
},
- animate: true,
- },
- image: {
- top: false,
- animate: true,
},
dataMarker: {
- top: true,
point: {
style: {
- r: 3,
- stroke: '#5B8FF9',
- lineWidth: 2,
+ stroke: '#4075FF',
},
},
line: {
style: {
- stroke: '#BFBFBF',
- lineWidth: 1,
+ stroke: PRIZM_LIGHT_THEME_AXIS_COLOR,
},
- length: 16,
},
text: {
style: {
- textAlign: 'start',
- fill: '#595959',
- stroke: null,
- lineWidth: 0,
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- },
- },
- direction: 'upward',
- autoAdjust: true,
- animate: true,
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
+ },
+ },
},
dataRegion: {
style: {
region: {
fill: '#000',
- fillOpacity: 0.06,
},
text: {
- textAlign: 'center',
- textBaseline: 'bottom',
- fill: '#595959',
- stroke: null,
- lineWidth: 0,
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
- animate: true,
},
},
slider: {
common: {
- padding: [8, 8, 8, 8],
backgroundStyle: {
- fill: 'rgba(244, 246, 251, 1)',
- opacity: 0.5,
+ fill: PRIZM_LIGHT_THEME_BACKGROUND_COLOR_PRIMARY,
},
foregroundStyle: {
- fill: 'rgba(244, 246, 251, 1)',
- opacity: 0.25,
+ fill: PRIZM_LIGHT_THEME_BACKGROUND_COLOR_PRIMARY,
},
handlerStyle: {
- width: 8,
- height: 24,
- fill: 'rgba(244, 246, 251, 1)',
- opacity: 1,
- stroke: 'rgba(191, 198, 215, 1)',
- lineWidth: 1,
- radius: 2,
+ fill: PRIZM_LIGHT_THEME_BACKGROUND_COLOR_PRIMARY,
+ stroke: '#6e778c',
highLightFill: '#FFF',
},
textStyle: {
- fill: 'rgba(119, 123, 146, 1)',
- opacity: 1,
- fontSize: 12,
- lineHeight: 12,
- fontWeight: 'normal',
- stroke: null,
- lineWidth: 0,
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
},
},
scrollbar: {
- common: {
- padding: [8, 8, 8, 8],
- },
default: {
style: {
- trackColor: 'rgba(244, 246, 251, 1)',
- thumbColor: 'rgba(191, 198, 215, 1)',
+ trackColor: PRIZM_LIGHT_THEME_BACKGROUND_COLOR_PRIMARY,
+ thumbColor: '#c3c7cf',
},
},
hover: {
style: {
- thumbColor: 'rgba(119, 123, 146, 1)',
+ thumbColor: '#9ba1af',
},
},
},
},
labels: {
- offset: 12,
style: {
- fill: 'rgba(19, 21, 28, 1)',
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- stroke: 'rgba(244, 246, 251, 1)',
- lineWidth: null,
+ fill: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
+ stroke: PRIZM_LIGHT_THEME_TEXT_COLOR_SECONDARY,
},
fillColorDark: '#2c3542',
fillColorLight: '#ffffff',
- autoRotate: true,
},
innerLabels: {
style: {
fill: '#FFFFFF',
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- stroke: null,
- lineWidth: 0,
},
- autoRotate: true,
},
overflowLabels: {
style: {
- fill: '#595959',
- fontSize: 12,
- fontFamily:
- '"Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',
- stroke: '#FFFFFF',
- lineWidth: 1,
- },
- },
- pieLabels: {
- labelHeight: 14,
- offset: 8,
- labelLine: {
- style: {
- lineWidth: 1,
- },
+ fill: '#FFFFFF',
},
- autoRotate: true,
},
- 'bottom-axis-subTick-line': false,
- 'circle-axis-subTick-line': false,
- 'radius-axis-subTick-line': false,
styleSheet: {
- brandColor: 'rgba(51, 126, 255, 1)',
- paletteQualitative10: [
- 'rgba(51, 126, 255, 1)',
- 'rgba(241, 65, 65, 1)',
- 'rgba(73, 171, 77, 1)',
- 'rgba(255, 124, 10, 1)',
- 'rgba(192, 90, 255, 1)',
- 'rgba(162, 226, 255, 1)',
- 'rgba(130, 253, 231, 1)',
- 'rgba(255, 208, 41, 1)',
- 'rgba(161, 165, 183, 1)',
- 'rgba(255, 140, 188, 1)',
- ],
- paletteQualitative20: [
- '#5B8FF9',
- '#CDDDFD',
- '#5AD8A6',
- '#CDF3E4',
- '#5D7092',
- '#CED4DE',
- '#F6BD16',
- '#FCEBB9',
- '#6F5EF9',
- '#D3CEFD',
- '#6DC8EC',
- '#D3EEF9',
- '#945FB9',
- '#DECFEA',
- '#FF9845',
- '#FFE0C7',
- '#1E9493',
- '#BBDEDE',
- '#FF99C3',
- '#FFE0ED',
- ],
+ brandColor: PRIZM_CHART_LIGHT_THEME_DATA_COLORS[0],
+ paletteQualitative10: PRIZM_CHART_LIGHT_THEME_DATA_COLORS,
+ paletteQualitative20: PRIZM_CHART_LIGHT_THEME_DATA_COLORS,
},
};
+
+export const PRIZM_CHART_LIGHT_THEME: PrizmChartThemeObject = merge(
+ PRIZM_CHART_LIGHT_THEME_COLOR_SCEME,
+ PRIZM_CHART_BASE_OPTIONS
+);
diff --git a/libs/charts/base/src/lib/theme/types.ts b/libs/charts/base/src/lib/theme/types.ts
index e152cec090..462369153a 100644
--- a/libs/charts/base/src/lib/theme/types.ts
+++ b/libs/charts/base/src/lib/theme/types.ts
@@ -8,3 +8,5 @@ export enum PrizmChartDefaultTheme {
export type PrizmChartTheme = string | PrizmTheme;
export type PrizmChartThemeObject = Record;
+
+export type PrizmChartBaseOptions = Record;
diff --git a/libs/components/package.json b/libs/components/package.json
index 884d475725..789902f526 100644
--- a/libs/components/package.json
+++ b/libs/components/package.json
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/components",
- "version": "3.10.0",
+ "version": "3.12.0",
"description": "Prizm UI system design components library http://prizm.zyfra.com",
"license": "MIT",
"private": false,
@@ -18,10 +18,10 @@
"@ng-web-apis/resize-observer": "^3.0.0",
"@ng-web-apis/intersection-observer": "^3.0.0",
"@ng-web-apis/mutation-observer": "^3.0.0",
- "@prizm-ui/helpers": "^3.10.0",
- "@prizm-ui/core": "^3.10.0",
- "@prizm-ui/i18n": "^3.10.0",
- "@prizm-ui/theme": "^3.10.0"
+ "@prizm-ui/helpers": "^3.12.0",
+ "@prizm-ui/core": "^3.12.0",
+ "@prizm-ui/i18n": "^3.12.0",
+ "@prizm-ui/theme": "^3.12.0"
},
"dependencies": {
"tslib": "^2.3.0"
diff --git a/libs/components/package.json.ng14 b/libs/components/package.json.ng14
index 6edcc443a7..f44bd15b98 100644
--- a/libs/components/package.json.ng14
+++ b/libs/components/package.json.ng14
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/components",
- "version": "1.14.0",
+ "version": "1.19.0",
"description": "Prizm UI system design components library http://prizm.zyfra.com",
"license": "MIT",
"private": false,
@@ -17,10 +17,10 @@
"@ng-web-apis/resize-observer": "2.0.0",
"@ng-web-apis/intersection-observer": "2.0.0",
"@ng-web-apis/mutation-observer": "2.0.0",
- "@prizm-ui/helpers": "^1.14.0",
- "@prizm-ui/core": "^1.14.0",
- "@prizm-ui/i18n": "^1.14.0",
- "@prizm-ui/theme": "^1.14.0"
+ "@prizm-ui/helpers": "^1.19.0",
+ "@prizm-ui/core": "^1.19.0",
+ "@prizm-ui/i18n": "^1.19.0",
+ "@prizm-ui/theme": "^1.19.0"
},
"dependencies": {
"tslib": "^2.3.0"
diff --git a/libs/components/package.json.ng15 b/libs/components/package.json.ng15
index 45fc9a1859..8d25fc9b38 100644
--- a/libs/components/package.json.ng15
+++ b/libs/components/package.json.ng15
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/components",
- "version": "2.11.0",
+ "version": "2.16.0",
"description": "Prizm UI system design components library http://prizm.zyfra.com",
"license": "MIT",
"private": false,
@@ -18,10 +18,10 @@
"@ng-web-apis/resize-observer": "2.0.0",
"@ng-web-apis/intersection-observer": "2.0.0",
"@ng-web-apis/mutation-observer": "2.0.0",
- "@prizm-ui/helpers": "^2.11.0",
- "@prizm-ui/core": "^2.11.0",
- "@prizm-ui/i18n": "^2.11.0",
- "@prizm-ui/theme": "^2.11.0"
+ "@prizm-ui/helpers": "^2.16.0",
+ "@prizm-ui/core": "^2.16.0",
+ "@prizm-ui/i18n": "^2.16.0",
+ "@prizm-ui/theme": "^2.16.0"
},
"dependencies": {
"tslib": "^2.3.0"
diff --git a/libs/components/package.json.ng16 b/libs/components/package.json.ng16
index 884d475725..38587db8b6 100644
--- a/libs/components/package.json.ng16
+++ b/libs/components/package.json.ng16
@@ -1,6 +1,6 @@
{
"name": "@prizm-ui/components",
- "version": "3.10.0",
+ "version": "3.15.0",
"description": "Prizm UI system design components library http://prizm.zyfra.com",
"license": "MIT",
"private": false,
@@ -18,10 +18,10 @@
"@ng-web-apis/resize-observer": "^3.0.0",
"@ng-web-apis/intersection-observer": "^3.0.0",
"@ng-web-apis/mutation-observer": "^3.0.0",
- "@prizm-ui/helpers": "^3.10.0",
- "@prizm-ui/core": "^3.10.0",
- "@prizm-ui/i18n": "^3.10.0",
- "@prizm-ui/theme": "^3.10.0"
+ "@prizm-ui/helpers": "^3.15.0",
+ "@prizm-ui/core": "^3.15.0",
+ "@prizm-ui/i18n": "^3.15.0",
+ "@prizm-ui/theme": "^3.15.0"
},
"dependencies": {
"tslib": "^2.3.0"
diff --git a/libs/components/src/lib/@core/date-time/day.ts b/libs/components/src/lib/@core/date-time/day.ts
index 7392afbeb2..aa04b28171 100644
--- a/libs/components/src/lib/@core/date-time/day.ts
+++ b/libs/components/src/lib/@core/date-time/day.ts
@@ -388,6 +388,14 @@ export class PrizmDay extends PrizmMonth {
return new Date(this.year, this.month, this.day);
}
+ public getTime(): number {
+ return this.toLocalNativeDate().getTime();
+ }
+
+ public copy(): PrizmDay {
+ return PrizmDay.fromLocalNativeDate(this.toLocalNativeDate());
+ }
+
/**
* Returns native {@link Date} based on UTC
*/
diff --git a/libs/components/src/lib/@core/date-time/index.ts b/libs/components/src/lib/@core/date-time/index.ts
index fdb6531738..85723fa8a0 100644
--- a/libs/components/src/lib/@core/date-time/index.ts
+++ b/libs/components/src/lib/@core/date-time/index.ts
@@ -14,3 +14,4 @@ export * from './time';
export * from './time-range';
export * from './year';
export * from './day-time-range';
+export * from './time-limit';
diff --git a/libs/components/src/lib/@core/date-time/time-limit.ts b/libs/components/src/lib/@core/date-time/time-limit.ts
new file mode 100644
index 0000000000..e67bfbb229
--- /dev/null
+++ b/libs/components/src/lib/@core/date-time/time-limit.ts
@@ -0,0 +1,42 @@
+import { PrizmDay } from './day';
+import { PrizmTime } from './time';
+
+export function prizmTimeLimitWithinRange(
+ date: PrizmDay,
+ time: PrizmTime | null,
+ dateMin: PrizmDay,
+ dateMax: PrizmDay,
+ timeMin: PrizmTime | null = null,
+ timeMax: PrizmTime | null = null
+) {
+ if (!date || !time || (!timeMin && !timeMax)) {
+ return time;
+ }
+
+ time = handleTimeLimit(date, time, dateMin, timeMin);
+ time = handleTimeLimit(date, time, dateMax, timeMax, false);
+
+ return time;
+}
+
+export const handleTimeLimit = (
+ date: PrizmDay,
+ time: PrizmTime,
+ limitDate: PrizmDay,
+ limitTime: PrizmTime | null,
+ isMin: boolean = true
+) => {
+ if (!limitTime || !limitDate || !limitDate.daySame(date)) {
+ return time;
+ }
+
+ const shouldSetTime = isMin
+ ? limitTime.toAbsoluteMilliseconds() > time.toAbsoluteMilliseconds()
+ : limitTime.toAbsoluteMilliseconds() < time.toAbsoluteMilliseconds();
+
+ if (shouldSetTime) {
+ time = time.timeLimit(isMin ? limitTime : null, isMin ? null : limitTime);
+ }
+
+ return time;
+};
diff --git a/libs/components/src/lib/@core/date-time/time.ts b/libs/components/src/lib/@core/date-time/time.ts
index 311586d7e3..6d61cc5ad5 100644
--- a/libs/components/src/lib/@core/date-time/time.ts
+++ b/libs/components/src/lib/@core/date-time/time.ts
@@ -10,6 +10,7 @@ import {
PRIZM_SECONDS_IN_MINUTE,
} from './date-time';
import { prizmAssert, prizmPadStart } from '@prizm-ui/core';
+import { PrizmDay } from './day';
/**
* Immutable time object with hours, minutes, seconds and ms
diff --git a/libs/components/src/lib/components/accordion/components/accordion-item/accordion-item.component.html b/libs/components/src/lib/components/accordion/components/accordion-item/accordion-item.component.html
index 9ebc6e1dcd..07ad3bb466 100644
--- a/libs/components/src/lib/components/accordion/components/accordion-item/accordion-item.component.html
+++ b/libs/components/src/lib/components/accordion/components/accordion-item/accordion-item.component.html
@@ -19,7 +19,7 @@
-
+
{{ content }}
diff --git a/libs/components/src/lib/components/accordion/components/accordion-item/accordion-item.component.ts b/libs/components/src/lib/components/accordion/components/accordion-item/accordion-item.component.ts
index 0eadfc2532..505048d5bf 100644
--- a/libs/components/src/lib/components/accordion/components/accordion-item/accordion-item.component.ts
+++ b/libs/components/src/lib/components/accordion/components/accordion-item/accordion-item.component.ts
@@ -13,17 +13,15 @@ import { PrizmAccordionContentDirective } from '../../directives/accordion-conte
import { AccordionToolsDirective } from '../../directives/accordion-tools.directive';
import { expandAnimation } from '../../accordion.animation';
import { Subject } from 'rxjs';
-import {
- PolymorphContent,
- PolymorphModule,
- PolymorphOutletDirective,
-} from '../../../../directives/polymorph';
+import { PolymorphContent, PolymorphOutletDirective } from '../../../../directives/polymorph';
import { PrizmAccordionItemData } from '../../model';
import { PrizmAbstractTestId } from '../../../../abstract/interactive';
import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';
import { CommonModule } from '@angular/common';
import { PrizmIconModule } from '../../../icon';
import { PrizmButtonComponent } from '../../../button';
+import { PrizmHintDirective } from '../../../../directives';
+import { prizmIsTextOverflow } from '../../../../util';
@Component({
selector: 'prizm-accordion-item',
@@ -31,7 +29,13 @@ import { PrizmButtonComponent } from '../../../button';
styleUrls: ['./accordion-item.component.less'],
animations: [expandAnimation],
standalone: true,
- imports: [CommonModule, PrizmIconModule, PolymorphOutletDirective, PrizmButtonComponent],
+ imports: [
+ CommonModule,
+ PrizmIconModule,
+ PolymorphOutletDirective,
+ PrizmButtonComponent,
+ PrizmHintDirective,
+ ],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class PrizmAccordionItemComponent extends PrizmAbstractTestId implements OnDestroy {
@@ -46,6 +50,8 @@ export class PrizmAccordionItemComponent extends PrizmAbstractTestId implements
set disabled(value: BooleanInput) {
this._disabled = coerceBooleanProperty(value);
}
+
+ public readonly prizmIsTextOverflow = prizmIsTextOverflow;
private _disabled = false;
@Output() isExpandedChange = new EventEmitter
();
diff --git a/libs/components/src/lib/components/breadcrumbs/breadcrumbs.component.less b/libs/components/src/lib/components/breadcrumbs/breadcrumbs.component.less
index 6be76d3a89..d3d6429459 100644
--- a/libs/components/src/lib/components/breadcrumbs/breadcrumbs.component.less
+++ b/libs/components/src/lib/components/breadcrumbs/breadcrumbs.component.less
@@ -53,7 +53,7 @@ span {
&__dots button {
&:hover,
- &:focus {
+ &:focus-visible {
color: var(--prizm-v3-button-primary-solid-hover);
}
}
@@ -105,7 +105,7 @@ span {
}
}
- &:focus:not(.breadcrumb_active) {
+ &:focus-visible:not(.breadcrumb_active) {
border-color: var(--prizm-v3-background-stroke-focus);
}
}
@@ -155,7 +155,7 @@ span {
}
&:hover,
- &:focus {
+ &:focus-visible {
background: var(--prizm-v3-table-fill-row-hover);
}
}
diff --git a/libs/components/src/lib/components/breadcrumbs/breadcrumbs.component.ts b/libs/components/src/lib/components/breadcrumbs/breadcrumbs.component.ts
index e46533a8ef..1dfdf7b964 100644
--- a/libs/components/src/lib/components/breadcrumbs/breadcrumbs.component.ts
+++ b/libs/components/src/lib/components/breadcrumbs/breadcrumbs.component.ts
@@ -15,7 +15,7 @@ import {
ViewChildren,
} from '@angular/core';
import { IBreadcrumb } from './breadcrumb.interface';
-import { animationFrameScheduler, BehaviorSubject, merge, Subject } from 'rxjs';
+import { animationFrameScheduler, asyncScheduler, BehaviorSubject, merge, Subject } from 'rxjs';
import { PrizmDestroyService, prizmEmptyQueryList } from '@prizm-ui/helpers';
import { debounceTime, observeOn, takeUntil, tap } from 'rxjs/operators';
import { PrizmAbstractTestId } from '../../abstract/interactive';
@@ -109,8 +109,10 @@ export class PrizmBreadcrumbsComponent
})
);
- merge($breadcrumbsChange, $mutation)
- .pipe(debounceTime(200), takeUntil(this.destroy))
+ const $templateChage = this.breadcrumbsItem.changes.pipe(observeOn(animationFrameScheduler));
+
+ merge($breadcrumbsChange, $mutation, $templateChage)
+ .pipe(observeOn(asyncScheduler), takeUntil(this.destroy))
.subscribe(() => this.cdRef.detectChanges());
}
diff --git a/libs/components/src/lib/components/button/button.component.less b/libs/components/src/lib/components/button/button.component.less
index 093d071879..1918640f40 100644
--- a/libs/components/src/lib/components/button/button.component.less
+++ b/libs/components/src/lib/components/button/button.component.less
@@ -13,7 +13,7 @@
// TODO 4.0.0: set default min-width 120px according to prizm button component description
min-width: var(--prizm-button-min-width, unset);
- &._focused {
+ &._focus-visible {
box-shadow: 0 0 0 2px var(--prizm-v3-background-stroke-focus);
transition: 0.3s;
}
diff --git a/libs/components/src/lib/components/calendar-month/calendar-month.component.html b/libs/components/src/lib/components/calendar-month/calendar-month.component.html
index d3ca2afc9e..0fc16adc2b 100644
--- a/libs/components/src/lib/components/calendar-month/calendar-month.component.html
+++ b/libs/components/src/lib/components/calendar-month/calendar-month.component.html
@@ -4,6 +4,10 @@
[max]="max"
[initialItem]="year"
[value]="value"
+ [intervalSupport]="true"
+ [style.--prizm-year-item-widtn]="'84px'"
+ [style.--prizm-year-item-height]="'44px'"
+ [style.--prizm-year-picker-widtn]="'256px'"
(yearClick)="onPickerYearClick($event)"
>
diff --git a/libs/components/src/lib/components/calendar-month/calendar-month.component.less b/libs/components/src/lib/components/calendar-month/calendar-month.component.less
index e2bbacf6dc..83ce61a2a7 100644
--- a/libs/components/src/lib/components/calendar-month/calendar-month.component.less
+++ b/libs/components/src/lib/components/calendar-month/calendar-month.component.less
@@ -1,12 +1,15 @@
@import '../../../styles/ui-local.less';
-.picker(3.6875rem);
+@itemWidth: 85px;
+@itemHeight: 45px;
+
+.picker(@itemWidth, @itemHeight);
:host {
display: block;
- height: 13.625rem;
- width: 15.75rem;
- padding: 1.125rem;
+ height: 222px;
+ width: 256px;
+ padding: 16px;
box-sizing: content-box;
.year-btn {
@@ -16,31 +19,22 @@
.z-row {
flex-wrap: wrap;
- margin-top: 1.4375rem;
+ justify-content: center;
}
.z-cell {
box-sizing: content-box;
- &:nth-child(n + 5) {
- margin-top: 1.75rem;
- }
-
&:not([data-range='start']):not([data-range='single']):not([data-range='end']):hover {
background-color: var(--prizm-v3-button-ghost-hover);
.z-item {
color: var(--prizm-v3-button-primary-solid-hover) !important;
+ border-color: var(--prizm-v3-button-ghost-hover);
}
}
}
-.z-cell_interval:nth-child(4n) {
- &:before {
- right: 0;
- }
-}
-
.z-scrollbar {
height: inherit;
width: inherit;
diff --git a/libs/components/src/lib/components/calendar-month/calendar-month.component.ts b/libs/components/src/lib/components/calendar-month/calendar-month.component.ts
index 7fc5c4af79..c0a24e4578 100644
--- a/libs/components/src/lib/components/calendar-month/calendar-month.component.ts
+++ b/libs/components/src/lib/components/calendar-month/calendar-month.component.ts
@@ -28,7 +28,6 @@ import { CommonModule } from '@angular/common';
import {
PrizmFocusableModule,
PrizmHoveredDirective,
- PrizmHoveredModule,
PrizmPressedModule,
PrizmStopPropagationModule,
} from '../../directives';
@@ -181,7 +180,7 @@ export class PrizmCalendarMonthComponent
}
if (!value.isSingleMonth) {
- return value.from.monthSameOrBefore(month) && value.to.monthAfter(month);
+ return value.from.monthSameOrBefore(month) && value.to.monthSameOrAfter(month);
}
if (hoveredItem === null) {
diff --git a/libs/components/src/lib/components/calendar/calendar.component.html b/libs/components/src/lib/components/calendar/calendar.component.html
index 8537212b84..b8fa14fc41 100644
--- a/libs/components/src/lib/components/calendar/calendar.component.html
+++ b/libs/components/src/lib/components/calendar/calendar.component.html
@@ -20,6 +20,7 @@
[max]="max"
[initialItem]="year"
[value]="value"
+ [rangeState]="rangeState"
(yearClick)="onPickerYearClick($event)"
automation-id="prizm-calendar__year"
>
@@ -30,6 +31,7 @@
[initialItem]="$any(clickedMonth)"
[value]="value"
[currentYear]="month.year"
+ [rangeState]="rangeState"
(monthClick)="onPickerMonthClick($event)"
automation-id="prizm-calendar__year"
>
diff --git a/libs/components/src/lib/components/calendar/calendar.component.less b/libs/components/src/lib/components/calendar/calendar.component.less
index 51e1781ef9..941a02a0e2 100644
--- a/libs/components/src/lib/components/calendar/calendar.component.less
+++ b/libs/components/src/lib/components/calendar/calendar.component.less
@@ -1,23 +1,17 @@
-@verticalSpace: 1rem;
-@horizontalSpace: 1.125rem;
-@itemSize: 2.25rem;
-@paginationSize: 1.5rem;
-@calendarSize: @itemSize * 7;
-@height: @paginationSize + @verticalSpace + @calendarSize;
+@paddings: 16px;
+@paginationHeight: 40px;
+@calendarWidth: 280px;
+@calendarHeight: 312px + @paginationHeight;
:host {
display: block;
- height: calc(@height + var(--prizm-calendar-footer-height, 0));
- width: @calendarSize;
- padding: 16px;
+ height: calc(@calendarHeight + var(--prizm-calendar-footer-height, 0));
+ width: @calendarWidth;
+ padding: @paddings;
box-sizing: content-box;
}
.z-scrollbar {
- height: @paginationSize + @verticalSpace + @calendarSize - 2rem;
- width: @calendarSize + @horizontalSpace;
-}
-
-.z-pagination {
- margin-bottom: @verticalSpace;
+ height: @calendarHeight - @paginationHeight - (@paddings * 2);
+ width: @calendarWidth + @paddings;
}
diff --git a/libs/components/src/lib/components/calendar/calendar.component.ts b/libs/components/src/lib/components/calendar/calendar.component.ts
index 5f9a6401fc..d928185285 100644
--- a/libs/components/src/lib/components/calendar/calendar.component.ts
+++ b/libs/components/src/lib/components/calendar/calendar.component.ts
@@ -1,4 +1,4 @@
-import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
+import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { PrizmDay } from '../../@core/date-time/day';
import { PrizmDayRange } from '../../@core/date-time/day-range';
import { PRIZM_FIRST_DAY, PRIZM_LAST_DAY } from '../../@core/date-time/days.const';
@@ -12,7 +12,7 @@ import { PrizmMapper } from '../../types/mapper';
import { PrizmMarkerHandler } from '../../types/marker-handler';
import { PrizmWithOptionalMinMax } from '../../types/with-optional-min-max';
import { prizmNullableSame } from '../../util/common/nullable-same';
-import { PrizmDayWithStatus } from '../../@core';
+import { PrizmDayWithStatus, PrizmRangeState } from '../../@core';
import { PrizmAbstractTestId } from '../../abstract/interactive';
import { CommonModule } from '@angular/common';
import { PrizmPrimitiveCalendarComponent } from '../internal/primitive-calendar';
@@ -21,6 +21,7 @@ import { PrizmMapperPipeModule } from '../../pipes';
import { PrizmPrimitiveYearMonthPaginationComponent } from '../internal/primitive-year-month-pagination/primitive-year-month-pagination.component';
import { PrizmPrimitiveMonthPickerComponent } from '../internal/primitive-month-picker/primitive-month-picker.component';
import { PrizmPrimitiveYearPickerComponent } from '../internal/primitive-year-picker/primitive-year-picker.component';
+import { prizmInRange } from '../../util/math/in-range';
@Component({
selector: `prizm-calendar`,
@@ -38,7 +39,10 @@ import { PrizmPrimitiveYearPickerComponent } from '../internal/primitive-year-pi
PrizmMapperPipeModule,
],
})
-export class PrizmCalendarComponent extends PrizmAbstractTestId implements PrizmWithOptionalMinMax {
+export class PrizmCalendarComponent
+ extends PrizmAbstractTestId
+ implements PrizmWithOptionalMinMax, OnInit
+{
@Input()
@prizmDefaultProp()
month: PrizmMonth = PrizmMonth.currentLocal();
@@ -83,6 +87,10 @@ export class PrizmCalendarComponent extends PrizmAbstractTestId implements Prizm
@prizmDefaultProp()
markerHandler: PrizmMarkerHandler = PRIZM_DEFAULT_MARKER_HANDLER;
+ @Input()
+ @prizmDefaultProp()
+ rangeState: PrizmRangeState = PrizmRangeState.Single;
+
@Output()
readonly dayClick = new EventEmitter();
@@ -113,6 +121,10 @@ export class PrizmCalendarComponent extends PrizmAbstractTestId implements Prizm
return this.maxViewedMonth.monthSameOrBefore(this.max) ? this.maxViewedMonth : this.max;
}
+ ngOnInit(): void {
+ this.doMonthCorrection();
+ }
+
public onPaginationYearClick(year: PrizmYear): void {
this.year = year;
this.clickedMonth = null;
@@ -162,4 +174,17 @@ export class PrizmCalendarComponent extends PrizmAbstractTestId implements Prizm
this.hoveredItem = day;
this.hoveredItemChange.emit(day);
}
+
+ private doMonthCorrection(): void {
+ if ((this.min || this.max) && !this.isMonthInRange(this.month, this.min, this.max)) {
+ const monthToDisplay = this.min ?? this.max;
+ this.month = new PrizmMonth(monthToDisplay.year, monthToDisplay.month);
+ }
+ }
+
+ private isMonthInRange(month: PrizmMonth, min: PrizmMonth | PrizmDay, max: PrizmMonth | PrizmDay): boolean {
+ return prizmInRange(month.year, min.year, max.year) && min.year === max.year
+ ? prizmInRange(month.month, min.month, max.month)
+ : true;
+ }
}
diff --git a/libs/components/src/lib/components/checkbox/checkbox.component.less b/libs/components/src/lib/components/checkbox/checkbox.component.less
index 171ad2388f..15cbcbc8d3 100644
--- a/libs/components/src/lib/components/checkbox/checkbox.component.less
+++ b/libs/components/src/lib/components/checkbox/checkbox.component.less
@@ -118,7 +118,7 @@
}
}
-:host:focus {
+:host:focus-visible {
.checkbox {
box-shadow: 0 0 0 2px var(--prizm-v3-background-stroke-focus);
diff --git a/libs/components/src/lib/components/chips/chips-item/chips-item.component.html b/libs/components/src/lib/components/chips/chips-item/chips-item.component.html
index 629fea78bc..c98fc0c54d 100644
--- a/libs/components/src/lib/components/chips/chips-item/chips-item.component.html
+++ b/libs/components/src/lib/components/chips/chips-item/chips-item.component.html
@@ -6,7 +6,7 @@
[prizmHintHost]="el.nativeElement"
[prizmHintDirection]="hintDirection"
[prizmHintCanShow]="
- $any(!!hintText && (div | prizmCallFunc : prizmIsTextOverflow$ : hintCanShow : null | async))
+ (!!hintText && (div | prizmCallFunc : prizmIsTextOverflow$ : hintCanShow : false : hintText | async))!
"
>
diff --git a/libs/components/src/lib/components/chips/chips-item/chips-item.component.less b/libs/components/src/lib/components/chips/chips-item/chips-item.component.less
index 71b8b1bd04..5fcfbc02a1 100644
--- a/libs/components/src/lib/components/chips/chips-item/chips-item.component.less
+++ b/libs/components/src/lib/components/chips/chips-item/chips-item.component.less
@@ -33,7 +33,7 @@ button {
&:not(:disabled) {
&:hover,
- &:focus {
+ &:focus-visible {
outline: var(--prizm-v3-background-stroke-focus) 1px solid;
}
}
@@ -55,7 +55,7 @@ button {
font-size: 16px;
color: var(--prizm-v3-status-none-primary-default);
- &:focus {
+ &:focus-visible {
color: var(--prizm-v3-background-stroke-focus);
}
}
diff --git a/libs/components/src/lib/components/chips/chips-item/chips-item.component.ts b/libs/components/src/lib/components/chips/chips-item/chips-item.component.ts
index 009ab6a5c0..49e46f279c 100644
--- a/libs/components/src/lib/components/chips/chips-item/chips-item.component.ts
+++ b/libs/components/src/lib/components/chips/chips-item/chips-item.component.ts
@@ -55,7 +55,9 @@ export class PrizmChipsItemComponent extends PrizmAbstractTestId {
readonly prizmIsTextOverflow$ = (
elem: HTMLElement,
hintCanShow: boolean,
- forceShowHint: boolean
+ forceShowHint: boolean,
+ // for clear memory
+ ..._: unknown[]
): Observable => {
return of(forceShowHint).pipe(
switchMap(val => {
diff --git a/libs/components/src/lib/components/chips/chips.component.html b/libs/components/src/lib/components/chips/chips.component.html
index 46bc467897..c88971f526 100644
--- a/libs/components/src/lib/components/chips/chips.component.html
+++ b/libs/components/src/lib/components/chips/chips.component.html
@@ -1,38 +1,40 @@
-
-
-
-
-
-
-
+
+
+
- ...
-
+
+
+
+
+ ...
+
+
-
-
+
+
-
- {{ cronI18n$ | async | prizmPluck : ['title'] }}
-
+
+
+ {{ title }}
+
+
{
return lang.shortName;
@@ -132,21 +146,16 @@ export class PrizmCronComponent extends PrizmAbstractTestId implements OnInit {
@Input()
set selected(selected: PrizmCronTabItem) {
- this.selectedSwitcherIdx = this.switchers.findIndex(i => i.id === selected);
+ this.selected$.next(selected);
}
@Input() specifiedList: PrizmCronTabSpecifiedList | null = null;
@Input() set tabs(tabs: PrizmCronTabItem[]) {
- this.switchers = this.switchers.map(i => {
- i.hide = !tabs.includes(i.id as any);
- return i;
- });
-
- if (tabs.length && !tabs.includes(this.selected)) {
- this.selectedChange.emit((this.selected = tabs[0]));
- }
+ this.tabs$.next(tabs);
}
+ private tabs$: BehaviorSubject = new BehaviorSubject([]);
+ private selected$: BehaviorSubject = new BehaviorSubject('second');
public switchers: PrizmSwitcherItem[] = [
{
title: 'Секунды',
@@ -210,6 +219,40 @@ export class PrizmCronComponent extends PrizmAbstractTestId implements OnInit {
this.cronUiMinuteState.init();
this.initEndDateStateChanger();
this.saveInitialValue();
+
+ this.tabs$
+ .pipe(
+ observeOn(asapScheduler),
+ tap(tabs => {
+ if (tabs.length) {
+ this.switchers = this.switchers.map(i => {
+ i.hide = !tabs.includes(i.id as any);
+ return i;
+ });
+ }
+ }),
+ tap(() => this.cdRef.markForCheck()),
+ takeUntil(this.destroy$)
+ )
+ .subscribe();
+
+ this.selected$
+ .pipe(
+ observeOn(asapScheduler),
+ tap(selected => {
+ this.selectedSwitcherIdx = this.switchers.findIndex(i => i.id === selected);
+
+ const tabs = this.tabs$.getValue();
+ if (tabs.length && !tabs.includes(selected)) {
+ this.selectedChange.emit(tabs[0]);
+ } else {
+ this.selectedChange.emit(selected);
+ }
+ }),
+ tap(() => this.cdRef.markForCheck()),
+ takeUntil(this.destroy$)
+ )
+ .subscribe();
}
private endDateStateCorrector(): void {
@@ -307,6 +350,6 @@ export class PrizmCronComponent extends PrizmAbstractTestId implements OnInit {
public indexChanged(index: number): void {
const selected = this.switchers.find((_, i) => i === index);
- this.selectedChange.emit((this.selected = selected?.id as any));
+ this.selected = selected?.id as any;
}
}
diff --git a/libs/components/src/lib/components/dropdowns/multi-select/input-multi-select.component.html b/libs/components/src/lib/components/dropdowns/multi-select/input-multi-select.component.html
index b3e2ef8c1d..f34da2d969 100644
--- a/libs/components/src/lib/components/dropdowns/multi-select/input-multi-select.component.html
+++ b/libs/components/src/lib/components/dropdowns/multi-select/input-multi-select.component.html
@@ -32,7 +32,8 @@
[style.--prizm-data-list-border]="0"
>
-
+
+
extends PrizmInputNgControl implements AfterViewInit {
@@ -218,6 +221,7 @@ export class PrizmInputMultiSelectComponent extends PrizmInputNgControl
return !this.value?.length;
}
constructor(
+ @Inject(PRIZM_SEARCH_TEXT) readonly searchLabelTranslation$: Observable,
@Inject(PRIZM_MULTI_SELECT_OPTIONS) private readonly options: PrizmMultiSelectOptions,
@Inject(Injector) injector: Injector
) {
diff --git a/libs/components/src/lib/components/dropdowns/select/input-select.component.html b/libs/components/src/lib/components/dropdowns/select/input-select.component.html
index a8ab52d17d..9de6511858 100644
--- a/libs/components/src/lib/components/dropdowns/select/input-select.component.html
+++ b/libs/components/src/lib/components/dropdowns/select/input-select.component.html
@@ -41,7 +41,6 @@
[placeholder]="placeholder"
[disabled]="disabled"
[tabIndex]="!disabled ? 0 : -1"
- [title]="val"
[readonly]="true"
[prizmHintDirection]="prizmHintDirection"
[prizmHintCanShow]="prizmHintCanShow"
@@ -105,7 +104,8 @@
[style.--prizm-data-list-border]="0"
>
-
{{ item.key }}
-
{{ item.value.file.size | prizmFileSize }}
+
+ {{ item.key | prizmFileName }}
+ {{ item.key | prizmFileExtension }}
+
+
+ {{ fileSize.value + ' ' }} {{ translations | prizmPluck : [fileSize.key] }}
+
diff --git a/libs/components/src/lib/components/file-upload/file-upload.component.less b/libs/components/src/lib/components/file-upload/file-upload.component.less
index 579626c919..55aeff7a60 100644
--- a/libs/components/src/lib/components/file-upload/file-upload.component.less
+++ b/libs/components/src/lib/components/file-upload/file-upload.component.less
@@ -59,7 +59,7 @@
.file {
display: grid;
- grid-template-columns: 44px 8px fit-content(60%) auto 24px 24px;
+ grid-template-columns: 44px 8px fit-content(60%) auto 24px 8px 24px;
grid-template-rows: 24px 20px;
align-items: end;
&:not(:last-child) {
@@ -94,22 +94,32 @@
grid-column-end: 4;
padding-right: 8px;
overflow: hidden;
- text-overflow: ellipsis;
display: flex;
- gap: 8px;
align-items: baseline;
}
- &__name {
+ &__full-name {
+ display: flex;
+ overflow: hidden;
+ }
+ &__name,
+ &__extension {
font-weight: 600;
font-size: 14px;
line-height: 20px;
color: var(--prizm-v3-text-icon-primary);
}
+ &__name {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
&__size {
+ margin-left: 8px;
font-size: 10px;
line-height: 12px;
color: var(--prizm-v3-text-icon-tertiary);
+ white-space: nowrap;
}
&__stage {
@@ -126,7 +136,7 @@
}
&__delete-btn {
- grid-column-start: 6;
+ grid-column-start: 7;
}
&__progress {
diff --git a/libs/components/src/lib/components/file-upload/file-upload.component.ts b/libs/components/src/lib/components/file-upload/file-upload.component.ts
index 17801b6eb9..acf827eb38 100644
--- a/libs/components/src/lib/components/file-upload/file-upload.component.ts
+++ b/libs/components/src/lib/components/file-upload/file-upload.component.ts
@@ -6,10 +6,12 @@ import {
EventEmitter,
Inject,
Input,
+ OnChanges,
OnDestroy,
Optional,
Output,
Renderer2,
+ SimpleChanges,
ViewChild,
} from '@angular/core';
@@ -37,7 +39,11 @@ import { PrizmButtonComponent } from '../button';
import { PrizmProgressBarComponent } from '../progress';
import { PrizmIconComponent } from '../icon';
import { PrizmUploadStatusPipe } from './pipes/upload-status.pipe';
+import { PrizmFileNamePipe } from './pipes/file-name.pipe';
+import { PrizmFileExtensionPipe } from './pipes/file-extension.pipe';
import { PrizmFileSizePipe } from './pipes/file-size.pipe';
+import { PrizmHintDirective } from '../../directives';
+import { prizmIsTextOverflow } from '../../util';
@Component({
selector: 'prizm-file-upload',
@@ -47,6 +53,8 @@ import { PrizmFileSizePipe } from './pipes/file-size.pipe';
imports: [
CommonModule,
PrizmUploadStatusPipe,
+ PrizmFileNamePipe,
+ PrizmFileExtensionPipe,
PrizmFileSizePipe,
PrizmSanitizerPipe,
PrizmPluckPipe,
@@ -54,14 +62,20 @@ import { PrizmFileSizePipe } from './pipes/file-size.pipe';
PrizmProgressBarComponent,
PrizmButtonComponent,
PrizmIconComponent,
+ PrizmHintDirective,
],
standalone: true,
providers: [PrizmDestroyService, ...prizmI18nInitWithKey(PRIZM_FILE_UPLOAD, 'fileUpload')],
})
-export class PrizmFileUploadComponent extends PrizmAbstractTestId implements AfterViewInit, OnDestroy {
+export class PrizmFileUploadComponent
+ extends PrizmAbstractTestId
+ implements OnChanges, AfterViewInit, OnDestroy
+{
@ViewChild('dropzone') dropzoneElementRef!: ElementRef
;
override readonly testId_ = 'ui_file_upload';
+ readonly prizmIsTextOverflow = prizmIsTextOverflow;
+ public calculatedMaxFilesCount = Number.MAX_SAFE_INTEGER;
options: PrizmFileUploadOptions = { ...prizmFileUploadDefaultOptions };
constructor(
@@ -77,10 +91,15 @@ export class PrizmFileUploadComponent extends PrizmAbstractTestId implements Aft
private validationErrors: { [filename: string]: PrizmFileValidationErrors } = {};
+ private _maxFilesCount = Number.MAX_SAFE_INTEGER;
+
@Input() accept = '';
@Input() multiple = false;
@Input() maxFileSize = Number.MAX_SAFE_INTEGER;
- @Input() maxFilesCount = Number.MAX_SAFE_INTEGER;
+ @Input() set maxFilesCount(value: number) {
+ this._maxFilesCount = value ?? Number.MAX_SAFE_INTEGER;
+ this.calculatedMaxFilesCount = this.multiple ? this._maxFilesCount : 1;
+ }
@Input()
get disabled() {
@@ -111,6 +130,16 @@ export class PrizmFileUploadComponent extends PrizmAbstractTestId implements Aft
return [...this.filesMap.entries()].map(([_, { file }]) => file);
}
+ ngOnChanges(changes: SimpleChanges): void {
+ if (changes.multiple || changes.maxFilesCount) {
+ this.calculatedMaxFilesCount = this.multiple ? this._maxFilesCount : 1;
+ }
+
+ if (this.files.length > this.calculatedMaxFilesCount) {
+ this.filesCountError.next(this.files.slice(this.calculatedMaxFilesCount).map(file => file.name));
+ }
+ }
+
public ngAfterViewInit(): void {
this.listeners.push(
this.renderer.listen(
@@ -226,14 +255,25 @@ export class PrizmFileUploadComponent extends PrizmAbstractTestId implements Aft
this.beforeFilesChange.next();
- if (filteredFiles.length > this.maxFilesCount) {
- this.filesCountError.next(filteredFiles.slice(this.maxFilesCount).map(file => file.name));
- filteredFiles.length = this.maxFilesCount;
+ if (this.multiple) {
+ const filesCountDelta = this.calculatedMaxFilesCount - this.files.length;
+
+ if (filteredFiles.length + this.files.length > this.calculatedMaxFilesCount) {
+ this.filesCountError.next(filteredFiles.slice(filesCountDelta).map(file => file.name));
+ filteredFiles.length = filesCountDelta;
+ }
}
- this.emitValidationErrors();
+ if (!this.multiple) {
+ if (filteredFiles.length > 1) {
+ this.filesCountError.next(filteredFiles.slice(1).map(file => file.name));
+ filteredFiles.length = 1;
+ }
- this.clearFiles({ emitEvent: false });
+ this.clearFiles({ emitEvent: false });
+ }
+
+ this.emitValidationErrors();
for (const file of filteredFiles) {
this.filesMap.set(file.name, {
diff --git a/libs/components/src/lib/components/file-upload/pipes/file-extension.pipe.ts b/libs/components/src/lib/components/file-upload/pipes/file-extension.pipe.ts
new file mode 100644
index 0000000000..af2025b067
--- /dev/null
+++ b/libs/components/src/lib/components/file-upload/pipes/file-extension.pipe.ts
@@ -0,0 +1,8 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+@Pipe({ name: 'prizmFileExtension', standalone: true })
+export class PrizmFileExtensionPipe implements PipeTransform {
+ public transform(fileFullName: string): string {
+ return `.${fileFullName.split('.').pop()}` || '';
+ }
+}
diff --git a/libs/components/src/lib/components/file-upload/pipes/file-name.pipe.ts b/libs/components/src/lib/components/file-upload/pipes/file-name.pipe.ts
new file mode 100644
index 0000000000..68ba244b57
--- /dev/null
+++ b/libs/components/src/lib/components/file-upload/pipes/file-name.pipe.ts
@@ -0,0 +1,8 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+@Pipe({ name: 'prizmFileName', standalone: true })
+export class PrizmFileNamePipe implements PipeTransform {
+ public transform(fileFullName: string): string {
+ return fileFullName.split('.').slice(0, -1).join('.');
+ }
+}
diff --git a/libs/components/src/lib/components/file-upload/pipes/file-size.pipe.ts b/libs/components/src/lib/components/file-upload/pipes/file-size.pipe.ts
index 20a5570e85..f8d97e6b94 100644
--- a/libs/components/src/lib/components/file-upload/pipes/file-size.pipe.ts
+++ b/libs/components/src/lib/components/file-upload/pipes/file-size.pipe.ts
@@ -2,15 +2,30 @@ import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'prizmFileSize', standalone: true })
export class PrizmFileSizePipe implements PipeTransform {
- public transform(size: number): string {
+ public transform(size: number): {
+ value: number | string;
+ key: 'file_size__byte' | 'file_size__kb' | 'file_size__mb' | null;
+ } {
if (size < 1024) {
- return size + 'bytes';
- } else if (size > 1024 && size < 1048576) {
- return (size / 1024).toFixed(1) + 'KB';
- } else if (size > 1048576) {
- return (size / 1048576).toFixed(1) + 'MB';
+ return {
+ value: size,
+ key: 'file_size__byte',
+ };
+ } else if (size >= 1024 && size < 1048576) {
+ return {
+ value: (size / 1024).toFixed(1),
+ key: 'file_size__kb',
+ };
+ } else if (size >= 1048576) {
+ return {
+ value: (size / 1048576).toFixed(1),
+ key: 'file_size__mb',
+ };
}
- return '';
+ return {
+ value: size,
+ key: null,
+ };
}
}
diff --git a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.html b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.html
index 5047b1bf5d..990e7ffb05 100644
--- a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.html
+++ b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.html
@@ -9,6 +9,8 @@
class="dropdown"
*ngIf="data.length > 0"
[class.dropdown_active]="openDropdown"
+ [prizmHint]="data[currentScreenIdx]?.title"
+ [prizmHintCanShow]="prizmIsTextOverflow(title)"
(click)="openDropdown = !openDropdown"
>
@@ -16,7 +18,9 @@
class="screen__icon"
[iconClass]="data[currentScreenIdx]?.icon || 'files-folder'"
>
- {{ data[currentScreenIdx]?.title }}
+
+ {{ data[currentScreenIdx]?.title }}
+
@@ -28,11 +32,15 @@
class="screen-list__item"
*ngFor="let item of data; let i = index"
[class.selected]="i === currentScreenIdx"
+ [prizmHint]="item?.title"
+ [prizmHintCanShow]="prizmIsTextOverflow(title)"
(click)="changeScreen(i)"
>
-
{{ item?.title }}
+
+ {{ item?.title }}
+
diff --git a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.less b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.less
index eec178040c..de4b7a2562 100644
--- a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.less
+++ b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.less
@@ -53,6 +53,8 @@
display: flex;
gap: 8px;
+ overflow: hidden;
+
&__icon {
color: var(--prizm-v3-status-info-primary-default);
}
diff --git a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.ts b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.ts
index 6c473a096a..1127ed15ea 100644
--- a/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.ts
+++ b/libs/components/src/lib/components/header/components/prizm-header-dropdown/prizm-header-dropdown.component.ts
@@ -7,6 +7,7 @@ import { PrizmDropdownHostModule } from '../../../dropdowns/dropdown-host';
import { PrizmDataListModule } from '../../../data-list';
import { PrizmButtonModule } from '../../../button';
import { PrizmHintModule } from '../../../../directives';
+import { prizmIsTextOverflow } from '../../../../util';
@Component({
selector: 'prizm-header-dropdown',
@@ -29,6 +30,8 @@ export class PrizmHeaderDropdownComponent {
@Input() public currentScreenIdx = 0;
@Output() screenIdxChange: EventEmitter = new EventEmitter();
+ readonly prizmIsTextOverflow = prizmIsTextOverflow;
+
public openDropdown = false;
public changeScreen(idx: number): void {
diff --git a/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-left.component.ts b/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-left.component.ts
index 6427db091e..2ea128fedd 100644
--- a/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-left.component.ts
+++ b/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-left.component.ts
@@ -26,6 +26,7 @@ import { PrizmInputCommonModule } from '../common';
:host {
display: flex;
align-items: center;
+ height: 100%;
}
`,
],
diff --git a/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-right.component.ts b/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-right.component.ts
index 62eb34cbbf..fbaad43f70 100644
--- a/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-right.component.ts
+++ b/libs/components/src/lib/components/input/carousel/input-carousel-auxiliary-right.component.ts
@@ -26,6 +26,7 @@ import { PrizmInputCommonModule } from '../common';
:host {
display: flex;
align-items: center;
+ height: 100%;
}
`,
],
diff --git a/libs/components/src/lib/components/input/common/input-hint/input-hint.directive.ts b/libs/components/src/lib/components/input/common/input-hint/input-hint.directive.ts
index ce8cdac6c2..acd82c712c 100644
--- a/libs/components/src/lib/components/input/common/input-hint/input-hint.directive.ts
+++ b/libs/components/src/lib/components/input/common/input-hint/input-hint.directive.ts
@@ -1,4 +1,4 @@
-import { Directive, ElementRef, HostBinding, inject, Input, Optional } from '@angular/core';
+import { Directive, ElementRef, HostBinding, inject, Input } from '@angular/core';
import { PrizmHintDirective } from '../../../../directives/hint';
import { PrizmOverlayOutsidePlacement } from '../../../../modules/overlay/models';
import { prizmIsTextOverflow } from '../../../../util/dom/is-textoverflow';
@@ -44,11 +44,11 @@ export class PrizmInputHintDirective {
}
public ngOnChanges(): void {
- this.prizmHint_.ngOnChanges();
+ this.hintSyncChanges();
}
private hintSyncChanges(): void {
- this.prizmHint_.ngOnChanges();
+ this.prizmHint_.drawHint();
}
public updateHint(): void {
diff --git a/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.less b/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.less
index 03c9bdbc9e..e9bc5f9eaa 100644
--- a/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.less
+++ b/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.less
@@ -26,11 +26,12 @@
color: var(--prizm-v3-button-primary-solid-hover);
}
- &:focus {
+ &:focus-visible {
color: var(--prizm-v3-button-primary-solid-hover);
}
cursor: pointer;
+ height: 100%;
}
color: var(--prizm-v3-button-secondary-solid-default);
diff --git a/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.ts b/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.ts
index a9880eaf64..8903813715 100644
--- a/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.ts
+++ b/libs/components/src/lib/components/input/common/input-icon-button/input-icon-button.component.ts
@@ -19,14 +19,19 @@ export class PrizmInputIconButtonComponent extends PrizmAbstractTestId {
@Input() prizmInputIconButton!: string;
@Input() interactive = false;
- @HostBinding('class.disabled')
+ @HostBinding('attr.disabled')
@Input()
get disabled() {
- return this._disabled;
+ return this._disabled || null;
}
set disabled(value: BooleanInput) {
this._disabled = coerceBooleanProperty(value);
}
+
+ @HostBinding('class.disabled')
+ get classDisabled() {
+ return this._disabled;
+ }
private _disabled = false;
@Input()
@HostBinding('attr.type')
diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout-hidden-control.component.less b/libs/components/src/lib/components/input/common/input-layout/input-layout-hidden-control.component.less
index f9f6c62b75..ff01ec5e6d 100644
--- a/libs/components/src/lib/components/input/common/input-layout/input-layout-hidden-control.component.less
+++ b/libs/components/src/lib/components/input/common/input-layout/input-layout-hidden-control.component.less
@@ -1,5 +1,5 @@
:host.has-hidden-control {
- .label-container {
+ .label-container:not(.label-container-outer) {
height: 16px;
margin-bottom: 2px;
diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout-textarea.component.less b/libs/components/src/lib/components/input/common/input-layout/input-layout-textarea.component.less
index 980da716ca..13fa5ae413 100644
--- a/libs/components/src/lib/components/input/common/input-layout/input-layout-textarea.component.less
+++ b/libs/components/src/lib/components/input/common/input-layout/input-layout-textarea.component.less
@@ -102,6 +102,10 @@
.prizm-input-button-default {
padding-top: 5px;
}
+
+ .prizm-input-form-status-button {
+ padding-top: 8px;
+ }
}
}
diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.html b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.html
index 9dac382b02..51fc88fbd5 100644
--- a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.html
+++ b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.html
@@ -104,6 +104,7 @@
class="prizm-input-label-clear-btn prizm-input-button-default clear-icon"
*ngSwitchCase="true"
[interactive]="true"
+ [class.alone]="!showStatusButton"
[disabled]="$.disabled"
[prizmInputIconButton]="$any(clearButton) ?? 'cancel-delete-content'"
(click)="onClearClick($event)"
diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.less b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.less
index 8376dfbef1..7e14bcf254 100644
--- a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.less
+++ b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.less
@@ -6,7 +6,10 @@
.prizm-input-form-status-button,
.prizm-input-button-default {
flex-shrink: 0;
- height: 100%;
+ }
+
+ .prizm-input-form-status-button {
+ align-self: center;
}
.prizm-input-button-default {
@@ -43,6 +46,7 @@
width: 100%;
display: flex;
gap: 4px;
+ margin-bottom: 4px;
&-required {
color: var(--prizm-v3-status-alarm-primary-default);
@@ -120,6 +124,11 @@
flex-grow: 1;
}
+ &:not(:has([prizm-input-bottom])):not(.prizm-input-form-textarea) &__first {
+ // Hack for height in percents for buttons inside controls
+ height: 1px;
+ }
+
&-body {
position: relative;
width: 100%;
@@ -204,11 +213,23 @@
&-inner {
min-height: 44px;
+ &:not(:has(prizm-chips > .chips-list)) {
+ max-height: 44px;
+ }
+
&[data-size='l'] {
min-height: 44px;
+
+ &:not(:has(prizm-chips > .chips-list)) {
+ max-height: 44px;
+ }
}
&[data-size='m'] {
min-height: 36px;
+
+ &:not(:has(prizm-chips > .chips-list)) {
+ max-height: 36px;
+ }
}
}
@@ -218,14 +239,30 @@
&-outer {
min-height: 32px;
+ &:not(:has(prizm-chips > .chips-list)) {
+ max-height: 32px;
+ }
+
&[data-size='l'] {
min-height: 40px;
+
+ &:not(:has(prizm-chips > .chips-list)) {
+ max-height: 40px;
+ }
}
&[data-size='m'] {
min-height: 32px;
+
+ &:not(:has(prizm-chips > .chips-list)) {
+ max-height: 32px;
+ }
}
&[data-size='s'] {
min-height: 24px;
+
+ &:not(:has(prizm-chips > .chips-list)) {
+ max-height: 24px;
+ }
}
}
@@ -236,10 +273,11 @@
position: absolute;
z-index: 100;
background-color: var(--prizm-v3-form-fill-default);
+ height: auto;
}
.prizm-input-button-default {
- right: 32px;
+ right: 24px;
&.alone {
right: 0;
diff --git a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.ts b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.ts
index 6870fb9d5f..230d7fd21b 100644
--- a/libs/components/src/lib/components/input/common/input-layout/input-layout.component.ts
+++ b/libs/components/src/lib/components/input/common/input-layout/input-layout.component.ts
@@ -20,7 +20,7 @@ import { PrizmInputControl } from '../base/input-control.class';
import { PrizmInputStatusTextDirective } from '../input-status-text/input-status-text.directive';
import { PrizmInputPosition, PrizmInputSize, PrizmInputStatus } from '../models/prizm-input.models';
import { debounceTime, map, startWith, takeUntil, tap } from 'rxjs/operators';
-import { isPolymorphPrimitive, PolymorphComponent, PolymorphContent } from '../../../../directives/polymorph';
+import { isPolymorphPrimitive, PolymorphContent } from '../../../../directives/polymorph';
import { Compare, filterTruthy, PrizmDestroyService, PrizmLetDirective } from '@prizm-ui/helpers';
import { PrizmAbstractTestId } from '../../../../abstract/interactive';
@@ -140,6 +140,7 @@ export class PrizmInputLayoutComponent
readonly onClearClick = (event: MouseEvent) => {
this.clear.next(event);
this.control.clear(event);
+ this.control.stateChanges.next();
this.actualizeStatusIcon();
};
diff --git a/libs/components/src/lib/components/input/common/input-status-text/input-status-text.directive.ts b/libs/components/src/lib/components/input/common/input-status-text/input-status-text.directive.ts
index 330b47d4db..2f39a57e82 100644
--- a/libs/components/src/lib/components/input/common/input-status-text/input-status-text.directive.ts
+++ b/libs/components/src/lib/components/input/common/input-status-text/input-status-text.directive.ts
@@ -23,11 +23,11 @@ export class PrizmInputStatusTextDirective extends DefaultInputInvalidTextClass
protected override setInvalidText(text: string): void {
super.setInvalidText(text);
-
this.changed.next();
}
public getStatusMessage(): PolymorphContent {
- return this.invalidText || this.templateRef;
+ const isTemplateEmpty = !this.templateRef.createEmbeddedView(null).rootNodes[0];
+ return isTemplateEmpty ? this.invalidText : this.templateRef;
}
}
diff --git a/libs/components/src/lib/components/input/input-date-range/input-layout-date-range.component.ts b/libs/components/src/lib/components/input/input-date-range/input-layout-date-range.component.ts
index 4c21a6e5bf..5f3fb26100 100644
--- a/libs/components/src/lib/components/input/input-date-range/input-layout-date-range.component.ts
+++ b/libs/components/src/lib/components/input/input-date-range/input-layout-date-range.component.ts
@@ -217,29 +217,58 @@ export class PrizmInputLayoutDateRangeComponent extends PrizmInputNgControl toValue.getTime()) {
+ if (isFromValue) {
+ fromValue = toValue.copy();
+ } else {
+ toValue = fromValue.copy();
+ }
+ }
+ return [fromValue, toValue];
}
public onRangeChange(range: PrizmDayRange | null): void {
diff --git a/libs/components/src/lib/components/input/input-date-relative/input-layout-date-relative.component.ts b/libs/components/src/lib/components/input/input-date-relative/input-layout-date-relative.component.ts
index c57fac95bb..7f53fd958b 100644
--- a/libs/components/src/lib/components/input/input-date-relative/input-layout-date-relative.component.ts
+++ b/libs/components/src/lib/components/input/input-date-relative/input-layout-date-relative.component.ts
@@ -6,7 +6,6 @@ import {
Inject,
Injector,
Input,
- OnDestroy,
OnInit,
ViewChild,
} from '@angular/core';
@@ -14,7 +13,7 @@ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/fo
import { prizmDefaultProp } from '@prizm-ui/core';
import { PrizmDestroyService, PrizmPluckPipe } from '@prizm-ui/helpers';
import { PrizmLanguageInputLayoutDateRelative } from '@prizm-ui/i18n';
-import { BehaviorSubject, Observable, Subscription } from 'rxjs';
+import { BehaviorSubject, Observable, takeUntil, tap } from 'rxjs';
import {
getDefaultRelativeDateMenuItems,
@@ -75,7 +74,7 @@ const MenuItems: RelativeDateMenuItems = getDefaultRelativeDateMenuItems();
})
export class PrizmInputLayoutDateRelativeComponent
extends PrizmInputNgControl
- implements OnInit, OnDestroy
+ implements OnInit
{
readonly nativeElementType = 'input-layout-date-relative';
readonly hasClearButton = true;
@@ -113,8 +112,6 @@ export class PrizmInputLayoutDateRelativeComponent
private activeNumber = '';
private activeWrongFormat = false;
- private readonly subscriptions = new Subscription();
-
public rightButtons$!: BehaviorSubject;
constructor(
@@ -131,6 +128,12 @@ export class PrizmInputLayoutDateRelativeComponent
public override ngOnInit(): void {
super.ngOnInit();
this.rightButtons$ = this.extraButtonInjector.get(PRIZM_DATE_RIGHT_BUTTONS);
+ this.ngControl.valueChanges
+ ?.pipe(
+ tap((value: string) => this.valueChange(value)),
+ takeUntil(this.destroy$)
+ )
+ .subscribe();
}
public valueChange(value: string) {
@@ -146,10 +149,6 @@ export class PrizmInputLayoutDateRelativeComponent
this.updateTouchedAndValue(value);
}
- public ngOnDestroy(): void {
- this.subscriptions.unsubscribe();
- }
-
public onMenuItemClick(event: MouseEvent, item: RelativeDateMenuItem): void {
event.stopImmediatePropagation();
switch (item.groupId) {
diff --git a/libs/components/src/lib/components/input/input-date-time-range/input-layout-date-time-range.component.ts b/libs/components/src/lib/components/input/input-date-time-range/input-layout-date-time-range.component.ts
index ba37e15770..3de0bd1a94 100644
--- a/libs/components/src/lib/components/input/input-date-time-range/input-layout-date-time-range.component.ts
+++ b/libs/components/src/lib/components/input/input-date-time-range/input-layout-date-time-range.component.ts
@@ -30,7 +30,7 @@ import { PrizmDialogService } from '../../dialogs/dialog/dialog.service';
import { PRIZM_DATE_FORMAT } from '../../../@core/date-time/date-format';
import { PrizmDateMode } from '../../../types/date-mode';
import { PRIZM_DATE_TEXTS, PRIZM_TIME_TEXTS } from '../../../tokens/i18n';
-import { PRIZM_DATE_RANGE_VALUE_TRANSFORMER } from '../../../tokens/date-inputs-value-transformers';
+import { PRIZM_DATE_TIME_RANGE_VALUE_TRANSFORMER } from '../../../tokens/date-inputs-value-transformers';
import { PrizmControlValueTransformer } from '../../../types/control-value-transformer';
import { prizmNullableSame } from '../../../util/common/nullable-same';
import { filterTruthy, PrizmDestroyService, PrizmLetDirective } from '@prizm-ui/helpers';
@@ -247,7 +247,7 @@ export class PrizmInputLayoutDateTimeRangeComponent
@Inject(PRIZM_DATE_TEXTS)
readonly dateTexts$: Observable>,
@Optional()
- @Inject(PRIZM_DATE_RANGE_VALUE_TRANSFORMER)
+ @Inject(PRIZM_DATE_TIME_RANGE_VALUE_TRANSFORMER)
override readonly valueTransformer: PrizmControlValueTransformer | null
) {
super(injector);
@@ -303,6 +303,7 @@ export class PrizmInputLayoutDateTimeRangeComponent
public onOpenChange(open: boolean): void {
this.open = open;
this.changeDetectorRef.markForCheck();
+ if (!open) this.completeDateIfAreNotPending();
}
private completeDateIfAreNotPending() {
@@ -369,10 +370,10 @@ export class PrizmInputLayoutDateTimeRangeComponent
if (!toTimeValue || toTimeValue.length !== this.computedTimeMask.length) return;
if (
- fromValue === this.value?.dayRange?.from.toString() &&
- fromTimeValue === this.value?.timeRange?.from.toString(this.timeMode) &&
- toValue === this.value?.dayRange?.to.toString() &&
- toTimeValue === this.value?.timeRange?.to.toString(this.timeMode)
+ fromValue === this.value?.dayRange?.from?.toString() &&
+ fromTimeValue === this.value?.timeRange?.from?.toString(this.timeMode) &&
+ toValue === this.value?.dayRange?.to?.toString() &&
+ toTimeValue === this.value?.timeRange?.to?.toString(this.timeMode)
) {
return;
}
@@ -517,7 +518,7 @@ export class PrizmInputLayoutDateTimeRangeComponent
}
public updateTimeTo(value: PrizmTime): void {
- // TODO: #mz add min max
+ // TODO: feature > safe add min max limiter
if (
value &&
this.value?.timeRange?.to instanceof PrizmTime &&
@@ -529,16 +530,14 @@ export class PrizmInputLayoutDateTimeRangeComponent
}
public updateTimeFrom(value: PrizmTime): void {
- // TODO: #mz add min max
+ // TODO: feature > safe add min max limiter
if (
value &&
this.value?.timeRange?.from instanceof PrizmTime &&
this.value?.timeRange?.from?.isSameTime(value)
)
return;
- // const range = PrizmDateTimeRange.safeUpdateTimeFrom(this.value, value);
- // this.updateValue(range?.copy());
- this.nativeValueTimeFrom$$.next(value.toString(this.timeMode));
+ this.nativeValueTimeFrom$$.next(value?.toString(this.timeMode) ?? '');
}
public referFocusToMain(referFocus = true) {
diff --git a/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.html b/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.html
index 7863346c0d..f108b4d5db 100644
--- a/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.html
+++ b/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.html
@@ -10,7 +10,6 @@
[closeByEsc]="true"
(isOpenChange)="onOpenChange($event); $event && prizmDropdownHostComponent.reCalculatePositions()"
>
- Ошибка! Неправильный формат
+
+
+ {{ dictionary$ | async | prizmPluck : 'wrongFormat' }}
+
diff --git a/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.ts b/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.ts
index 404330f2d0..fd63468c01 100644
--- a/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.ts
+++ b/libs/components/src/lib/components/input/input-date-time/input-layout-date-time.component.ts
@@ -23,7 +23,7 @@ import { PRIZM_ALWAYS_FALSE_HANDLER } from '../../../constants/always-false-hand
import { PRIZM_DATE_TIME_SEPARATOR } from '../../../constants/date-time-separator';
import { prizmDefaultProp, prizmPure } from '@prizm-ui/core';
import { PRIZM_DATE_TIME_VALUE_TRANSFORMER } from '../../../tokens/date-inputs-value-transformers';
-import { PRIZM_DATE_TEXTS, PRIZM_TIME_TEXTS } from '../../../tokens/i18n';
+import { PRIZM_DATE_TEXTS, PRIZM_INPUT_LAYOUT_DATE_TIME, PRIZM_TIME_TEXTS } from '../../../tokens/i18n';
import { PrizmContextWithImplicit } from '../../../types/context-with-implicit';
import { PrizmControlValueTransformer } from '../../../types/control-value-transformer';
import { PrizmDateMode } from '../../../types/date-mode';
@@ -36,8 +36,8 @@ import { prizmClamp } from '../../../util/math/clamp';
import { PRIZM_DATE_RIGHT_BUTTONS } from '../../../tokens/date-extra-buttons';
import { PrizmDateButton } from '../../../types/date-button';
import { PRIZM_STRICT_MATCHER } from '../../../constants';
-import { filterTruthy, PrizmDestroyService } from '@prizm-ui/helpers';
-import { PrizmInputControl, PrizmInputNgControl } from '../common';
+import { filterTruthy, PrizmDestroyService, PrizmPluckPipe } from '@prizm-ui/helpers';
+import { PrizmInputControl, PrizmInputNgControl, PrizmInputStatusTextDirective } from '../common';
import { PrizmInputZoneDirective, PrizmInputZoneModule } from '../../../directives/input-zone';
import { debounceTime, delay, map, takeUntil } from 'rxjs/operators';
import { PrizmLifecycleModule } from '../../../directives/lifecycle';
@@ -58,6 +58,8 @@ import { PrizmCalendarComponent } from '../../calendar';
import { PrizmLinkComponent } from '../../link';
import { PrizmValueAccessorModule } from '../../../directives/value-accessor/value-accessor.module';
import { PrizmListingItemComponent } from '../../listing-item';
+import { PrizmLanguageInputLayoutDateTime } from '@prizm-ui/i18n';
+import { prizmTimeLimitWithinRange } from '../../../@core/date-time/time-limit';
@Component({
selector: `prizm-input-layout-date-time`,
@@ -71,6 +73,7 @@ import { PrizmListingItemComponent } from '../../listing-item';
...prizmI18nInitWithKeys({
time: PRIZM_TIME_TEXTS,
dateTexts: PRIZM_DATE_TEXTS,
+ inputLayoutDateTime: PRIZM_INPUT_LAYOUT_DATE_TIME,
}),
...PRIZM_INPUT_DATE_TIME_PROVIDERS,
{
@@ -103,6 +106,7 @@ import { PrizmListingItemComponent } from '../../listing-item';
PrizmValueAccessorModule,
PrizmInputNativeValueModule,
PrizmListingItemComponent,
+ PrizmPluckPipe,
],
})
export class PrizmInputLayoutDateTimeComponent
@@ -118,6 +122,9 @@ export class PrizmInputLayoutDateTimeComponent
@ViewChild('focusableElementRef', { read: PrizmInputZoneDirective })
public override readonly focusableElement?: PrizmInputZoneDirective;
+ @ViewChild(PrizmInputStatusTextDirective, { static: true })
+ override statusText!: PrizmInputStatusTextDirective;
+
@Input()
@prizmDefaultProp()
timeItems: readonly PrizmTime[] = new Array(24).fill(null).map((_, i) => new PrizmTime(i, 0, 0, 0));
@@ -182,6 +189,8 @@ export class PrizmInputLayoutDateTimeComponent
injector: Injector,
@Inject(PRIZM_DATE_TEXTS)
readonly dateTexts$: Observable
>,
+ @Inject(PRIZM_INPUT_LAYOUT_DATE_TIME)
+ public readonly dictionary$: Observable,
@Optional()
@Inject(PRIZM_DATE_TIME_VALUE_TRANSFORMER)
valueTransformer: PrizmControlValueTransformer<[PrizmDay | null, PrizmTime | null] | null> | null
@@ -316,23 +325,25 @@ export class PrizmInputLayoutDateTimeComponent
private updateWithCorrectDateAndTime(value: [PrizmDay | null, PrizmTime | null]): void {
if (!value) return;
let [date, time] = value;
- // correct min max time
- if (date)
- date = date.dayLimit(
- this.min instanceof PrizmDay ? this.min : this.min && this.min[0],
- this.max instanceof PrizmDay ? this.max : this.max && this.max[0]
- );
-
- const timeMin = Array.isArray(this.min) && this.min[1] ? this.min[1] : null;
- const timeMax = Array.isArray(this.max) && this.max[1] ? this.max[1] : null;
- if (time && (timeMin || timeMax)) {
- time = time.timeLimit(timeMin, timeMax);
- }
+ if (date && !time) time = new PrizmTime(0, 0, 0);
+ const dateMin = this.min instanceof PrizmDay ? this.min : this.min && this.min[0];
+ const dateMax = this.max instanceof PrizmDay ? this.max : this.max && this.max[0];
- this.focusableElement?.updateNativeValues({
- idx: 0,
- value: date?.toString() ?? '',
- });
+ // correct min max time
+ if (date) date = date.dayLimit(dateMin, dateMax);
+
+ if (date) time = this.limitTime(date, time, dateMin, dateMax);
+
+ this.focusableElement?.updateNativeValues(
+ {
+ idx: 0,
+ value: date?.toString() ?? '',
+ },
+ {
+ idx: 1,
+ value: time?.toString() ?? '',
+ }
+ );
// force update native value
this.nativeValue$$.next([
@@ -343,6 +354,13 @@ export class PrizmInputLayoutDateTimeComponent
this.updateValue([date, time]);
}
+ private limitTime(date: PrizmDay, time: PrizmTime | null, dateMin: PrizmDay, dateMax: PrizmDay) {
+ const timeMin = Array.isArray(this.min) && this.min[1] ? this.min[1] : null;
+ const timeMax = Array.isArray(this.max) && this.max[1] ? this.max[1] : null;
+
+ return prizmTimeLimitWithinRange(date, time, dateMin, dateMax, timeMin, timeMax);
+ }
+
public onTimeValueChange(value: string): void {
if (value === this.computedTimeValue()) return;
this.nativeValue$$.next([this.nativeValue$$.value[0], value]);
@@ -411,6 +429,7 @@ export class PrizmInputLayoutDateTimeComponent
public onOpenChange(open: boolean): void {
this.open = open;
this.changeDetectorRef.markForCheck();
+ if (!open) this.completeDateIfAreNotPending();
}
public override writeValue(value: [PrizmDay | null, PrizmTime | null] | null): void {
diff --git a/libs/components/src/lib/components/input/input-number/input-number-auxiliary-controls.component.less b/libs/components/src/lib/components/input/input-number/input-number-auxiliary-controls.component.less
index e48e611c0c..90e2f4767f 100644
--- a/libs/components/src/lib/components/input/input-number/input-number-auxiliary-controls.component.less
+++ b/libs/components/src/lib/components/input/input-number/input-number-auxiliary-controls.component.less
@@ -1,6 +1,14 @@
+:host {
+ height: 100%;
+}
.container {
display: flex;
flex-direction: column;
+ height: 100%;
+
+ [prizmInputIconButton] {
+ height: 50%;
+ }
}
:host-context(.prizm-input-form-outer[data-size='m']) {
diff --git a/libs/components/src/lib/components/input/input-number/input-number.component.ts b/libs/components/src/lib/components/input/input-number/input-number.component.ts
index b8539f0f7d..4f9f9652ca 100644
--- a/libs/components/src/lib/components/input/input-number/input-number.component.ts
+++ b/libs/components/src/lib/components/input/input-number/input-number.component.ts
@@ -32,7 +32,7 @@ import { PrizmHintDirective } from '../../../directives';
export class PrizmInputNumberComponent extends PrizmInputControl implements OnInit {
private hasSymbol = false;
- destroy$ = inject(PrizmDestroyService);
+ readonly destroy$ = inject(PrizmDestroyService);
public get empty() {
return this.el.nativeElement.value == '' && !this.hasSymbol;
}
@@ -80,6 +80,10 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme
@HostBinding('attr.placeholder')
placeholder?: string;
+ @Input()
+ @HostBinding('attr.title')
+ title = '';
+
@Input() min: number | null = null;
@Input() max: number | null = null;
// TODO later create input with support zero postfix for number
@@ -111,7 +115,6 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme
@HostListener('input', ['$event.data'])
@HostListener('paste', ['$event.clipboardData.getData("Text")'])
public onInput(data: string) {
- this.validateMinMax();
this.input$$.next(data);
}
@@ -128,20 +131,6 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme
this.stateChanges.next();
}
- private validateMinMax() {
- if (this.max !== null && this.max < this.value) {
- this.el.nativeElement.value = this.max.toString();
- this.stateChanges.next();
- return;
- }
-
- if (this.min !== null && this.min > this.value) {
- this.el.nativeElement.value = this.min.toString();
- this.stateChanges.next();
- return;
- }
- }
-
public clear(ev: MouseEvent): void {
this.ngControl.control?.setValue(null);
this.markAsTouched();
@@ -209,6 +198,7 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme
// this.overrideSetValueMethod();
this.prizmHint_.ngOnInit();
this.inputHint?.updateHint();
+ this.initUpdateParentOnChangeStatus();
this.input$$
.pipe(
@@ -226,6 +216,17 @@ export class PrizmInputNumberComponent extends PrizmInputControl impleme
this.prizmHint_.ngOnDestroy();
}
+ private initUpdateParentOnChangeStatus() {
+ this.ngControl?.statusChanges
+ ?.pipe(
+ tap(() => {
+ this.stateChanges.next();
+ }),
+ takeUntil(this.destroy$)
+ )
+ .subscribe();
+ }
+
// TODO change overriding later
// private overrideSetValueMethod(): void {
// if (this.ngControl.control) {
diff --git a/libs/components/src/lib/components/input/input-text/input-block.component.ts b/libs/components/src/lib/components/input/input-text/input-block.component.ts
index 60eb85f986..017c509c75 100644
--- a/libs/components/src/lib/components/input/input-text/input-block.component.ts
+++ b/libs/components/src/lib/components/input/input-text/input-block.component.ts
@@ -1,4 +1,4 @@
-import { ChangeDetectorRef, Component, ElementRef, Optional, Self } from '@angular/core';
+import { ChangeDetectorRef, Component, ElementRef, Optional, Renderer2, Self } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { PrizmDestroyService } from '@prizm-ui/helpers';
import { PrizmInputControl } from '../common/base/input-control.class';
@@ -43,9 +43,10 @@ export class PrizmInputBlockComponent extends PrizmInputTextComponent implements
@Optional() @Self() public readonly ngControl_: NgControl,
public readonly elementRef_: ElementRef,
private readonly destroy_: PrizmDestroyService,
- private readonly cdr_: ChangeDetectorRef
+ private readonly cdr_: ChangeDetectorRef,
+ private readonly renderer_: Renderer2
) {
- super(ngControl_, elementRef_, destroy_, cdr_);
+ super(ngControl_, elementRef_, destroy_, cdr_, renderer_);
if (this.ngControl != null) {
this.ngControl.valueAccessor = this;
diff --git a/libs/components/src/lib/components/input/input-text/input-text.component.ts b/libs/components/src/lib/components/input/input-text/input-text.component.ts
index eddd77a411..b39486f1c7 100644
--- a/libs/components/src/lib/components/input/input-text/input-text.component.ts
+++ b/libs/components/src/lib/components/input/input-text/input-text.component.ts
@@ -12,6 +12,7 @@ import {
OnInit,
Optional,
Output,
+ Renderer2,
Self,
} from '@angular/core';
import { NgControl, NgModel, UntypedFormControl, Validators } from '@angular/forms';
@@ -113,7 +114,7 @@ export class PrizmInputTextComponent,
private readonly destroy: PrizmDestroyService,
- private readonly cdr: ChangeDetectorRef
+ private readonly cdr: ChangeDetectorRef,
+ private readonly renderer2_: Renderer2
) {
super();
this.nativeElementType = elementRef.nativeElement.type;
@@ -205,14 +207,6 @@ export class PrizmInputTextComponent,
private readonly destroy: PrizmDestroyService,
- private readonly cdr: ChangeDetectorRef
+ private readonly cdr: ChangeDetectorRef,
+ private readonly renderer2_: Renderer2,
) {
super();
this.nativeElementType = elementRef.nativeElement.type;
@@ -183,7 +190,7 @@ export class PrizmInputTextComponent {
- this.maybeMask, this.maybeMask?.writeValue(null as any);
+ this.maybeMask?.writeValue(null as any);
}),
takeUntil(this.destroy)
)
@@ -200,14 +207,6 @@ export class PrizmInputTextComponent,
private readonly destroy: PrizmDestroyService,
- private readonly cdr: ChangeDetectorRef
+ private readonly cdr: ChangeDetectorRef,
+ private readonly renderer2_: Renderer2,
) {
super();
this.nativeElementType = elementRef.nativeElement.type;
@@ -182,7 +189,7 @@ export class PrizmInputTextComponent {
- this.maybeMask, this.maybeMask?.writeValue(null as any);
+ this.maybeMask?.writeValue(null as any);
}),
takeUntil(this.destroy)
)
@@ -199,14 +206,6 @@ export class PrizmInputTextComponent,
private readonly destroy: PrizmDestroyService,
- private readonly cdr: ChangeDetectorRef
+ private readonly cdr: ChangeDetectorRef,
+ private readonly renderer2_: Renderer2,
) {
super();
this.nativeElementType = elementRef.nativeElement.type;
@@ -205,14 +207,6 @@ export class PrizmInputTextComponent
@@ -25,6 +26,7 @@
[value]="value"
[disabledItemHandler]="disabledItemHandler"
[showAdjacent]="false"
+ [rangeState]="rangeStates[1]"
(dayClick)="onDayClick($event)"
(monthChange)="onSectionSecondViewedMonth($event)"
>
diff --git a/libs/components/src/lib/components/internal/primitive-calendar-range/primitive-calendar-range.component.ts b/libs/components/src/lib/components/internal/primitive-calendar-range/primitive-calendar-range.component.ts
index c91e21dd95..62556e9fe2 100644
--- a/libs/components/src/lib/components/internal/primitive-calendar-range/primitive-calendar-range.component.ts
+++ b/libs/components/src/lib/components/internal/primitive-calendar-range/primitive-calendar-range.component.ts
@@ -24,6 +24,7 @@ import { PrizmBooleanHandler } from '../../../types/handler';
import { PrizmMapper } from '../../../types/mapper';
import { PrizmMarkerHandler } from '../../../types/marker-handler';
import { PrizmAbstractTestId } from '../../../abstract/interactive';
+import { PrizmRangeState } from '../../../@core/enums';
/**
* @internal
@@ -64,6 +65,8 @@ export class PrizmPrimitiveCalendarRangeComponent extends PrizmAbstractTestId im
@prizmDefaultProp()
value: PrizmDayRange | null = null;
+ readonly rangeStates = [PrizmRangeState.Start, PrizmRangeState.End];
+
@Output()
readonly dayClick = new EventEmitter();
diff --git a/libs/components/src/lib/components/internal/primitive-calendar/primitive-calendar.component.less b/libs/components/src/lib/components/internal/primitive-calendar/primitive-calendar.component.less
index c5dc62e132..05ca2557b1 100644
--- a/libs/components/src/lib/components/internal/primitive-calendar/primitive-calendar.component.less
+++ b/libs/components/src/lib/components/internal/primitive-calendar/primitive-calendar.component.less
@@ -1,11 +1,15 @@
@import '../../../../styles/ui-local.less';
-@itemSize: 2.25rem;
+@itemSize: 40px;
-.picker(@itemSize);
+.picker(@itemSize, @itemSize);
:host {
width: @itemSize * 7;
+
+ .footer:not(:empty) {
+ margin-top: 8px;
+ }
}
.z-item {
@@ -63,7 +67,6 @@
height: 4px;
width: 50%;
bottom: 4px;
- transform: translateX(50%);
border-radius: 2px;
background-color: var(--prizm-status-day-color);
@@ -89,3 +92,14 @@
);
}
}
+
+[data-range='single']:not([data-state='hovered']) {
+ .z-status {
+ &[data-prizm-status='index'] {
+ background-color: var(
+ --prizm-calendar-day-status-secondary-default,
+ var(--prizm-v3-status-info-secondary-default)
+ );
+ }
+ }
+}
diff --git a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.less b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.less
index a5c4b996b9..db470b58b0 100644
--- a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.less
+++ b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.less
@@ -1,27 +1,14 @@
@import '../../../../styles/ui-local.less';
-@itemSize: 3.9375rem;
+@itemWidth: 93px;
+@itemHeight: 70px;
-.picker(@itemSize);
+.picker(@itemWidth, @itemHeight);
:host {
- width: @itemSize * 4;
-}
-
-.z-row {
- margin: 16px 0;
- gap: 4px;
-
- &:first-child {
- margin-top: 0;
- }
-
- &:last-child {
- margin-bottom: 0;
- }
+ width: 280px;
}
.z-cell {
flex-grow: 1;
- width: 100%;
}
diff --git a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.ts b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.ts
index 40f9d83158..e1db3772f0 100644
--- a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.ts
+++ b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.component.ts
@@ -19,6 +19,7 @@ import { PrizmAbstractTestId } from '../../../abstract/interactive';
import { PrizmLetDirective } from '@prizm-ui/helpers';
import { CommonModule } from '@angular/common';
import { PrizmMonthPipeModule } from '../../../pipes';
+import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';
const ITEMS_IN_ROW = 3;
const ROWS = 4;
@@ -70,6 +71,17 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId {
@prizmDefaultProp()
disabledItemHandler: PrizmBooleanHandler = PRIZM_ALWAYS_FALSE_HANDLER;
+ @Input()
+ @prizmDefaultProp()
+ rangeState: PrizmRangeState = PrizmRangeState.Single;
+
+ @Input()
+ @prizmDefaultProp()
+ set intervalSupport(value: BooleanInput) {
+ this._intervalSupport = coerceBooleanProperty(value);
+ }
+ private _intervalSupport = false;
+
@Output()
readonly monthClick = new EventEmitter();
@@ -102,10 +114,11 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId {
}
public getItemState(item: number): PrizmInteractiveState | null {
- const { disabledItemHandler, max, pressedItem, hoveredItem } = this;
+ const { disabledItemHandler, max, min, pressedItem, hoveredItem } = this;
if (
(max.month < item && max.year <= this.currentYear) ||
+ (min.month > item && min.year >= this.currentYear) ||
(disabledItemHandler !== PRIZM_ALWAYS_FALSE_HANDLER && disabledItemHandler(item))
) {
return PrizmInteractiveState.Disabled;
@@ -123,7 +136,7 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId {
}
public getItemRange(item: number): PrizmRangeState | null {
- const { value, hoveredItem } = this;
+ const { value } = this;
if (value === null) {
return null;
@@ -133,51 +146,27 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId {
return value.month === item && value.year === this.currentYear ? PrizmRangeState.Single : null;
}
- if (
- this.value instanceof PrizmDayRange &&
- this.value.isMonthInRange(new PrizmMonth(this.currentYear, item))
- ) {
- return PrizmRangeState.Single;
+ if (this._intervalSupport) {
+ return value.from.month === item && value.from.year === this.currentYear
+ ? PrizmRangeState.Start
+ : value.to.month === item && value.from.year === this.currentYear
+ ? PrizmRangeState.End
+ : null;
}
- if (
- (value.from.month === item && !value.from.monthSame(value.to)) ||
- (hoveredItem !== null &&
- hoveredItem > value.from.month &&
- value.from.month === item &&
- value.from.monthSame(value.to)) ||
- (hoveredItem !== null &&
- hoveredItem === item &&
- hoveredItem === value.from.month &&
- value.from.monthSame(value.to))
- ) {
- return PrizmRangeState.Single;
+ if (this.rangeState === PrizmRangeState.Start && value.from.month === item) {
+ return PrizmRangeState.Start;
+ }
- // TODO finish it after add support intervals
- // return PrizmRangeState.Start;
+ if (this.rangeState === PrizmRangeState.End && value.to.month === item) {
+ return PrizmRangeState.End;
}
- // TODO finish it after add support intervals
- // if (
- // (value.to.month === item && !value.from.monthSame(value.to)) ||
- // (hoveredItem !== null &&
- // hoveredItem < value.from.month &&
- // value.from.month === item &&
- // value.from.monthSame(value.to)) ||
- // (hoveredItem !== null &&
- // hoveredItem === item &&
- // hoveredItem > value.from.month &&
- // value.from.monthSame(value.to))
- // ) {
- // return PrizmRangeState.Single;
- //
- //
- // // return PrizmRangeState.End;
- // }
-
- return value.from.monthSame(value.to) && value.from.month === item && value.from.year === this.currentYear
- ? PrizmRangeState.Single
- : null;
+ if (value.from.monthSame(value.to) && value.from.month === item && value.from.year === this.currentYear) {
+ return PrizmRangeState.Single;
+ }
+
+ return null;
}
public itemIsToday(item: number): boolean {
@@ -188,7 +177,7 @@ export class PrizmPrimitiveMonthPickerComponent extends PrizmAbstractTestId {
* not support interval
* */
public itemIsInterval(item: number): boolean {
- return false;
+ return this._intervalSupport ? this.itemIsIntervalNew(item) : false;
}
/**
diff --git a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.module.ts b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.module.ts
index db6d5031f5..6504db43b3 100644
--- a/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.module.ts
+++ b/libs/components/src/lib/components/internal/primitive-month-picker/primitive-month-picker.module.ts
@@ -1,12 +1,5 @@
import { NgModule } from '@angular/core';
import { PrizmPrimitiveMonthPickerComponent } from './primitive-month-picker.component';
-import { PrizmLetModule } from '@prizm-ui/helpers';
-import { PrizmRepeatTimesModule } from '../../../directives/repeat-times/repeat-times.module';
-import { PrizmHoveredModule } from '../../../directives/hovered/hovered.module';
-import { PrizmPressedModule } from '../../../directives/pressed/pressed.module';
-import { PrizmScrollIntoViewModule } from '../../../directives/scroll-into-view/scroll-into-view.module';
-import { PrizmMonthPipeModule } from '../../../pipes/month';
-import { CommonModule } from '@angular/common';
/**
* @deprecated
diff --git a/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.module.ts b/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.module.ts
index 1d00efa667..e2192d31e4 100644
--- a/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.module.ts
+++ b/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.module.ts
@@ -4,6 +4,7 @@ import {
PrizmFocusableModule,
PrizmFocusedModule,
PrizmFocusVisibleModule,
+ PrizmHintDirective,
PrizmPreventDefaultModule,
} from '../../../directives';
import { PrizmButtonModule } from '../../button/button.module';
@@ -18,6 +19,7 @@ import { PrizmPrimitiveSpinButtonComponent } from './primitive-spin-button.compo
PrizmFocusableModule,
PrizmPreventDefaultModule,
PrizmButtonModule,
+ PrizmHintDirective,
],
declarations: [PrizmPrimitiveSpinButtonComponent],
exports: [PrizmPrimitiveSpinButtonComponent],
diff --git a/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.template.html b/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.template.html
index eb4e7e54e8..62ef87ed1a 100644
--- a/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.template.html
+++ b/libs/components/src/lib/components/internal/primitive-spin-button/primitive-spin-button.template.html
@@ -19,7 +19,8 @@
icon="arrows-chevron-left"
appearance="secondary"
[class.z-arrow_hidden]="leftComputedDisabled"
- [title]="texts[0]"
+ [prizmHint]="texts[0]"
+ [prizmHintDirection]="'b'"
[focusable]="false"
(click)="onLeftClick()"
>
@@ -36,7 +37,8 @@
icon="arrows-chevron-right"
[appearanceType]="mode"
[class.z-arrow_hidden]="rightComputedDisabled"
- [title]="texts[1]"
+ [prizmHint]="texts[1]"
+ [prizmHintDirection]="'b'"
[focusable]="false"
(click)="onRightClick()"
>
diff --git a/libs/components/src/lib/components/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.html b/libs/components/src/lib/components/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.html
index 5c84a18cb7..251642493c 100644
--- a/libs/components/src/lib/components/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.html
+++ b/libs/components/src/lib/components/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.html
@@ -1,11 +1,34 @@
-
- {{ value | prizmMonth | async }}
+
+
-
- {{ value.formattedYear }}
+
+
@@ -20,37 +43,3 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.less b/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.less
index 0e840181af..b9917ae7d3 100644
--- a/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.less
+++ b/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.less
@@ -1,21 +1,14 @@
@import '../../../../styles/ui-local.less';
-@itemSize: 3.9375rem;
+@itemWidth: var(--prizm-year-item-widtn, 93px);
+@itemHeight: var(--prizm-year-item-height, 56px);
-.picker(@itemSize);
+.picker(@itemWidth, @itemHeight);
:host {
- width: @itemSize * 4;
+ width: var(--prizm-year-picker-widtn, 280px);
}
-.z-row {
- margin: 0.875rem 0;
-
- &:first-child {
- margin-top: 0;
- }
-
- &:last-child {
- margin-bottom: 0;
- }
+.z-cell {
+ flex-grow: 1;
}
diff --git a/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.ts b/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.ts
index 4b17f9705c..27680b90ef 100644
--- a/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.ts
+++ b/libs/components/src/lib/components/internal/primitive-year-picker/primitive-year-picker.component.ts
@@ -16,8 +16,10 @@ import {
import { PrizmRangeState } from '../../../@core/enums/range-state';
import { PrizmAbstractTestId } from '../../../abstract/interactive';
import { PrizmLetDirective } from '@prizm-ui/helpers';
+import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';
const LIMIT = 100;
+const MIN_ROW_COUNT = 5;
const ITEMS_IN_ROW = 3;
@Component({
@@ -59,6 +61,17 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId {
@prizmDefaultProp()
disabledItemHandler: PrizmBooleanHandler
= PRIZM_ALWAYS_FALSE_HANDLER;
+ @Input()
+ @prizmDefaultProp()
+ rangeState: PrizmRangeState = PrizmRangeState.Single;
+
+ @Input()
+ @prizmDefaultProp()
+ set intervalSupport(value: BooleanInput) {
+ this._intervalSupport = coerceBooleanProperty(value);
+ }
+ private _intervalSupport = false;
+
@Output()
readonly yearClick = new EventEmitter();
@@ -72,7 +85,8 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId {
override readonly testId_ = 'ui_primitive_year_picker';
get rows(): number {
- return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);
+ const calculatedRows = Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);
+ return calculatedRows < MIN_ROW_COUNT ? MIN_ROW_COUNT : calculatedRows;
}
get calculatedMin(): number {
@@ -121,7 +135,7 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId {
}
public getItemRange(item: number): PrizmRangeState | null {
- const { value, hoveredItem } = this;
+ const { value } = this;
if (value === null) {
return null;
@@ -131,48 +145,27 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId {
return value.year === item ? PrizmRangeState.Single : null;
}
- if (
- (value instanceof PrizmDayRange || value instanceof PrizmMonthRange) &&
- value.isYearInRange(new PrizmYear(item))
- ) {
- return PrizmRangeState.Single;
+ if (this._intervalSupport) {
+ return value.from.year === item
+ ? PrizmRangeState.Start
+ : value.to.year === item
+ ? PrizmRangeState.End
+ : null;
}
- if (
- (value.from.year === item && !value.from.yearSame(value.to)) ||
- (hoveredItem !== null &&
- hoveredItem > value.from.year &&
- value.from.year === item &&
- value.from.yearSame(value.to)) ||
- (hoveredItem !== null &&
- hoveredItem === item &&
- hoveredItem < value.from.year &&
- value.from.yearSame(value.to))
- ) {
- return PrizmRangeState.Single;
+ if (this.rangeState === PrizmRangeState.Start && value.from.year === item) {
+ return PrizmRangeState.Start;
+ }
- // TODO add after add support intervals
- // return PrizmRangeState.Start;
+ if (this.rangeState === PrizmRangeState.End && value.to.year === item) {
+ return PrizmRangeState.End;
}
- if (
- (value.to.year === item && !value.from.yearSame(value.to)) ||
- (hoveredItem !== null &&
- hoveredItem < value.from.year &&
- value.from.year === item &&
- value.from.yearSame(value.to)) ||
- (hoveredItem !== null &&
- hoveredItem === item &&
- hoveredItem > value.from.year &&
- value.from.yearSame(value.to))
- ) {
+ if (value.from.yearSame(value.to) && value.from.year === item) {
return PrizmRangeState.Single;
-
- // TODO add after add support intervals
- // return PrizmRangeState.End;
}
- return value.from.yearSame(value.to) && value.from.year === item ? PrizmRangeState.Single : null;
+ return null;
}
public itemIsToday(item: number): boolean {
@@ -183,11 +176,11 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId {
* not support interval
* */
public itemIsInterval(item: number): boolean {
- return false;
+ return this._intervalSupport ? this.itemIsIntervalNew(item) : false;
}
/**
- * TODO with support intervals
+ * with support intervals
* */
public itemIsIntervalNew(item: number): boolean {
const { value, hoveredItem } = this;
@@ -197,7 +190,7 @@ export class PrizmPrimitiveYearPickerComponent extends PrizmAbstractTestId {
}
if (!value.from.yearSame(value.to)) {
- return value.from.year <= item && value.to.year > item;
+ return value.from.year <= item && value.to.year >= item;
}
if (hoveredItem === null || value.from.year === hoveredItem) {
diff --git a/libs/components/src/lib/components/listing-item/listing-item.component.less b/libs/components/src/lib/components/listing-item/listing-item.component.less
index 2af7514d1b..56a53e9399 100644
--- a/libs/components/src/lib/components/listing-item/listing-item.component.less
+++ b/libs/components/src/lib/components/listing-item/listing-item.component.less
@@ -29,8 +29,8 @@
}
}
- &.item-container__selected:not(.item-container__disabled):has(.container-left:not(:empty)):hover {
- background-color: var(--prizm-listing-item-row-instruments-hover, var(--prizm-v3-table-fill-row-hover));
+ &.item-container__selected:not(.item-container__disabled):hover {
+ background-color: var(--prizm-listing-item-row-selected-hover, var(--prizm-v3-table-fill-row-active));
}
&:active,
diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-group/prizm-navigation-menu-group.component.less b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-group/prizm-navigation-menu-group.component.less
index b0b5afd0ad..da77bdf2ca 100644
--- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-group/prizm-navigation-menu-group.component.less
+++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-group/prizm-navigation-menu-group.component.less
@@ -6,7 +6,7 @@
.prizm-navigation-menu-group {
--prizm-empty-message__padding: 16px 32px;
- border-bottom: 1px solid var(--prizm-v3-background-stroke);
+ border-top: 1px solid var(--prizm-v3-background-stroke);
&_expanded:has(.empty-message) {
border-bottom: none;
diff --git a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.html b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.html
index eafea73b7d..582d93d747 100644
--- a/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.html
+++ b/libs/components/src/lib/components/navigation-menu/components/prizm-navigation-menu-item/prizm-navigation-menu-item.component.html
@@ -1,9 +1,12 @@