@kaizen/components 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,9 +25,9 @@ var styles = {
25
25
  "subtitle": "TitleBlock-module_subtitle__AI9tj",
26
26
  "subtitleText": "TitleBlock-module_subtitleText__gpXET",
27
27
  "sectionTitleContainer": "TitleBlock-module_sectionTitleContainer__LrDPV",
28
+ "sectionTitle": "TitleBlock-module_sectionTitle__b8daw",
28
29
  "sectionTitleInner": "TitleBlock-module_sectionTitleInner__nJfOP",
29
30
  "sectionTitleOverride": "TitleBlock-module_sectionTitleOverride__XcD8g",
30
- "sectionTitle": "TitleBlock-module_sectionTitle__b8daw",
31
31
  "sectionTitleDescription": "TitleBlock-module_sectionTitleDescription__wuVwm",
32
32
  "dark": "TitleBlock-module_dark__KJexf",
33
33
  "rowBelowSeparatorInnerContent": "TitleBlock-module_rowBelowSeparatorInnerContent__g5H9w",
@@ -1,8 +1,6 @@
1
1
  'use strict';
2
2
 
3
3
  var styles = {
4
- "toolbar": "Toolbar-module_toolbar__8T-NB",
5
- "toolbarItem": "Toolbar-module_toolbarItem__-l3QZ",
6
- "noGap": "Toolbar-module_noGap__X-W59"
4
+ "toolbar": "Toolbar-module_toolbar__8T-NB"
7
5
  };
8
6
  module.exports = styles;
@@ -23,9 +23,9 @@ var styles = {
23
23
  "subtitle": "TitleBlock-module_subtitle__AI9tj",
24
24
  "subtitleText": "TitleBlock-module_subtitleText__gpXET",
25
25
  "sectionTitleContainer": "TitleBlock-module_sectionTitleContainer__LrDPV",
26
+ "sectionTitle": "TitleBlock-module_sectionTitle__b8daw",
26
27
  "sectionTitleInner": "TitleBlock-module_sectionTitleInner__nJfOP",
27
28
  "sectionTitleOverride": "TitleBlock-module_sectionTitleOverride__XcD8g",
28
- "sectionTitle": "TitleBlock-module_sectionTitle__b8daw",
29
29
  "sectionTitleDescription": "TitleBlock-module_sectionTitleDescription__wuVwm",
30
30
  "dark": "TitleBlock-module_dark__KJexf",
31
31
  "rowBelowSeparatorInnerContent": "TitleBlock-module_rowBelowSeparatorInnerContent__g5H9w",
@@ -1,6 +1,4 @@
1
1
  var styles = {
2
- "toolbar": "Toolbar-module_toolbar__8T-NB",
3
- "toolbarItem": "Toolbar-module_toolbarItem__-l3QZ",
4
- "noGap": "Toolbar-module_noGap__X-W59"
2
+ "toolbar": "Toolbar-module_toolbar__8T-NB"
5
3
  };
6
4
  export { styles as default };
package/dist/styles.css CHANGED
@@ -9240,7 +9240,7 @@
9240
9240
  border-bottom: 0;
9241
9241
  border-top-left-radius: var(--border-borderless-border-radius);
9242
9242
  border-top-right-radius: var(--border-borderless-border-radius);
9243
- background: var(--color-white);
9243
+ background: transparent;
9244
9244
  white-space: nowrap;
9245
9245
  text-decoration: none;
9246
9246
  padding: var(--spacing-md) var(--spacing-md);
@@ -9954,43 +9954,7 @@
9954
9954
  .Toolbar-module_toolbar__8T-NB {
9955
9955
  display: flex;
9956
9956
  align-items: center;
9957
- }
9958
- .Toolbar-module_toolbar__8T-NB .Toolbar-module_toolbarItem__-l3QZ {
9959
- margin: 0 calc(1.5rem / 4);
9960
- }
9961
- @container (max-width: 1023px) {
9962
- .Toolbar-module_toolbar__8T-NB .Toolbar-module_toolbarItem__-l3QZ {
9963
- margin: 0 calc(1.5rem / 8);
9964
- }
9965
- }
9966
- .Toolbar-module_toolbar__8T-NB .Toolbar-module_toolbarItem__-l3QZ.Toolbar-module_noGap__X-W59 {
9967
- margin: 0;
9968
- }
9969
- .Toolbar-module_toolbar__8T-NB .Toolbar-module_toolbarItem__-l3QZ:first-of-type {
9970
- margin-inline-end: calc(1.5rem / 4);
9971
- margin-inline-start: 0;
9972
- }
9973
- @container (max-width: 1023px) {
9974
- .Toolbar-module_toolbar__8T-NB .Toolbar-module_toolbarItem__-l3QZ:first-of-type {
9975
- margin-inline-end: calc(1.5rem / 8);
9976
- margin-inline-start: 0;
9977
- }
9978
- }
9979
- .Toolbar-module_toolbar__8T-NB .Toolbar-module_toolbarItem__-l3QZ:first-of-type.Toolbar-module_noGap__X-W59 {
9980
- margin: 0;
9981
- }
9982
- .Toolbar-module_toolbar__8T-NB .Toolbar-module_toolbarItem__-l3QZ:last-of-type {
9983
- margin-inline-end: 0;
9984
- margin-inline-start: calc(1.5rem / 4);
9985
- }
9986
- @container (max-width: 1023px) {
9987
- .Toolbar-module_toolbar__8T-NB .Toolbar-module_toolbarItem__-l3QZ:last-of-type {
9988
- margin-inline-end: 0;
9989
- margin-inline-start: calc(1.5rem / 8);
9990
- }
9991
- }
9992
- .Toolbar-module_toolbar__8T-NB .Toolbar-module_toolbarItem__-l3QZ:last-of-type.Toolbar-module_noGap__X-W59 {
9993
- margin: 0;
9957
+ gap: inherit;
9994
9958
  }
9995
9959
  }
9996
9960
  /* stylelint-disable scss/at-if-no-null, declaration-block-no-redundant-longhand-properties */
@@ -10011,39 +9975,29 @@
10011
9975
  @layer kz-components {
10012
9976
  .MainActions-module_mainActionsContainer__pk-78 {
10013
9977
  display: flex;
10014
- align-items: center;
10015
- justify-content: flex-end;
10016
- flex-grow: 1;
9978
+ align-self: flex-start;
10017
9979
  flex-shrink: 0;
10018
- margin-inline-end: 0;
10019
- margin-inline-start: calc(1.5rem / 2);
9980
+ gap: 4px;
9981
+ }
9982
+ @container (max-width: 576px) {
9983
+ .MainActions-module_mainActionsContainer__pk-78 {
9984
+ justify-content: flex-start;
9985
+ margin-inline-start: 48px;
9986
+ }
10020
9987
  }
10021
9988
  .MainActions-module_mainActionsContainer__pk-78 .MainActions-module_defaultActionButtonMinimized__XePRS {
10022
9989
  display: none;
10023
- margin-inline-end: 0;
10024
9990
  }
10025
- @container (max-width: 511px) {
9991
+ @media (max-width: 360px) {
10026
9992
  .MainActions-module_mainActionsContainer__pk-78 {
10027
- padding-top: 12px;
10028
- justify-content: flex-start;
10029
- padding-left: 1.25rem;
9993
+ gap: 0;
10030
9994
  }
10031
- @media (max-width: 511px) {
10032
- .MainActions-module_mainActionsContainer__pk-78 {
10033
- padding-top: 0;
10034
- padding-left: 3.375rem;
10035
- }
9995
+ .MainActions-module_mainActionsContainer__pk-78 .MainActions-module_defaultActionButton__VbER1 {
9996
+ display: none;
10036
9997
  }
10037
- @media (max-width: 360px) {
10038
- .MainActions-module_mainActionsContainer__pk-78 .MainActions-module_defaultActionButton__VbER1 {
10039
- display: none;
10040
- margin-inline-end: 0;
10041
- }
10042
- .MainActions-module_mainActionsContainer__pk-78 .MainActions-module_defaultActionButtonMinimized__XePRS {
10043
- display: flex;
10044
- margin-inline-end: 3px;
10045
- margin-left: -0.5rem;
10046
- }
9998
+ .MainActions-module_mainActionsContainer__pk-78 .MainActions-module_defaultActionButtonMinimized__XePRS {
9999
+ display: flex;
10000
+ margin-inline-end: 8px;
10047
10001
  }
10048
10002
  }
10049
10003
  }
@@ -10093,49 +10047,72 @@
10093
10047
  display: none;
10094
10048
  }
10095
10049
  }
10096
- .TitleBlock-module_titleRow__Ifqiu,
10050
+ .TitleBlock-module_titleRow__Ifqiu {
10051
+ box-sizing: border-box;
10052
+ display: flex;
10053
+ width: 100%;
10054
+ justify-content: center;
10055
+ }
10097
10056
  .TitleBlock-module_rowBelowSeparator__H4E63 {
10098
10057
  display: flex;
10099
10058
  width: 100%;
10100
10059
  justify-content: center;
10101
10060
  }
10061
+ @container (max-width: calc(768px - 1px)) {
10062
+ .TitleBlock-module_rowBelowSeparator__H4E63 {
10063
+ height: 3.75rem;
10064
+ }
10065
+ }
10102
10066
  .TitleBlock-module_lightVariant__1EeLV .TitleBlock-module_titleRow__Ifqiu {
10103
10067
  background-color: var(--color-white, #ffffff);
10104
- margin-bottom: 3px;
10068
+ margin-bottom: 0.063rem;
10105
10069
  }
10106
10070
  .TitleBlock-module_adminVariant__s95nS .TitleBlock-module_titleRow__Ifqiu {
10107
10071
  background-color: var(--color-white, #ffffff);
10108
- margin-bottom: 3px;
10072
+ margin-bottom: 0.063rem;
10109
10073
  }
10110
10074
  .TitleBlock-module_rowBelowSeparatorInner__3gNec, .TitleBlock-module_titleRowInner__SlArS {
10075
+ box-sizing: border-box;
10111
10076
  max-width: 1392px;
10112
- margin: 0 72px;
10113
10077
  display: flex;
10114
10078
  flex-direction: column;
10115
10079
  width: 100%;
10116
10080
  min-width: 0;
10081
+ padding: 0 20px 0 0;
10117
10082
  }
10118
- @container (max-width: calc(1080px - 1px)) {
10083
+ @media (min-width: 1080px) {
10119
10084
  .TitleBlock-module_rowBelowSeparatorInner__3gNec, .TitleBlock-module_titleRowInner__SlArS {
10120
- margin: 0 12px;
10085
+ padding: 0;
10086
+ margin-inline: 24px;
10121
10087
  }
10122
10088
  }
10123
10089
  .TitleBlock-module_lightVariant__1EeLV .TitleBlock-module_titleRowInner__SlArS {
10124
10090
  border-bottom: 1px solid var(--color-gray-300, #eaeaec);
10125
10091
  }
10126
- @container (max-width: 511px) {
10127
- .TitleBlock-module_lightVariant__1EeLV .TitleBlock-module_titleRowInner__SlArS {
10128
- padding-bottom: 12px;
10092
+ .TitleBlock-module_rowBelowSeparatorInner__3gNec {
10093
+ padding: 0 4px 0 12px;
10094
+ }
10095
+ @media (min-width: 1080px) {
10096
+ .TitleBlock-module_rowBelowSeparatorInner__3gNec {
10097
+ padding: 0;
10098
+ margin-inline: 24px;
10099
+ }
10100
+ }
10101
+ @container (max-width: calc(768px - 1px)) {
10102
+ .TitleBlock-module_rowBelowSeparatorInner__3gNec {
10103
+ height: 3.75rem;
10129
10104
  }
10130
10105
  }
10131
10106
  .TitleBlock-module_titleRowInnerContent__NhTHV {
10107
+ box-sizing: border-box;
10132
10108
  position: relative;
10133
10109
  display: flex;
10134
10110
  width: 100%;
10135
10111
  align-items: center;
10136
- min-height: 5.25rem;
10112
+ gap: 12px;
10113
+ padding-block: 20px 19px;
10137
10114
  justify-content: space-between;
10138
- border-bottom: 0.1875rem solid rgba(var(--color-white-rgb, 255, 255, 255), 0.1);
10115
+ border-bottom: 0.063rem solid rgba(var(--color-white-rgb, 255, 255, 255), 0.1);
10139
10116
  }
10140
10117
  .TitleBlock-module_educationVariant__YvpWa .TitleBlock-module_titleRowInnerContent__NhTHV {
10141
10118
  border-bottom-color: rgba(var(--color-purple-700-rgb, 74, 35, 77), 0.2);
@@ -10148,15 +10125,21 @@
10148
10125
  border-bottom: none;
10149
10126
  }
10150
10127
  }
10151
- @container (max-width: 511px) {
10128
+ @container (max-width: 576px) {
10152
10129
  .TitleBlock-module_titleRowInnerContent__NhTHV {
10153
10130
  flex-wrap: wrap;
10131
+ gap: 4px;
10154
10132
  }
10155
10133
  }
10156
10134
  .TitleBlock-module_title__c5JWR {
10157
- display: flex;
10158
10135
  align-items: center;
10159
10136
  min-width: 0;
10137
+ overflow: hidden;
10138
+ text-overflow: ellipsis;
10139
+ display: -webkit-box;
10140
+ line-clamp: 3;
10141
+ -webkit-line-clamp: 3;
10142
+ -webkit-box-orient: vertical;
10160
10143
  }
10161
10144
  @container (max-width: 1365px) {
10162
10145
  .TitleBlock-module_title__c5JWR {
@@ -10171,7 +10154,7 @@
10171
10154
  }
10172
10155
  @container (max-width: 1365px) {
10173
10156
  .TitleBlock-module_hasSubtitle__DQWKd .TitleBlock-module_titleAndSubtitle__-kLSn {
10174
- transform: translateY(-0.3833em);
10157
+ transform: translateY(-12px);
10175
10158
  }
10176
10159
  }
10177
10160
  .TitleBlock-module_titleAndSubtitleInner__TX8xw {
@@ -10215,34 +10198,65 @@
10215
10198
  }
10216
10199
  }
10217
10200
  .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10218
- padding: 4px 0;
10201
+ font-size: var(--typography-heading-3-font-size, 1.375rem);
10202
+ line-height: var(--typography-heading-3-line-height, 1.875rem);
10203
+ letter-spacing: var(--typography-heading-3-letter-spacing, normal);
10204
+ margin: 8px 0;
10219
10205
  }
10220
- @container (max-width: 1365px) {
10206
+ .TitleBlock-module_hasSubtitle__DQWKd .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10207
+ margin-bottom: 0;
10208
+ }
10209
+ @media (min-width: 1080px) and (max-width: 1095px) {
10210
+ @container (min-width: 1065px) {
10211
+ .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10212
+ font-size: var(--typography-heading-2-font-size, 1.75rem);
10213
+ line-height: var(--typography-heading-2-line-height, 2.25rem);
10214
+ letter-spacing: var(--typography-heading-2-letter-spacing, normal);
10215
+ margin: 2px 0;
10216
+ }
10217
+ .TitleBlock-module_hasSubtitle__DQWKd .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10218
+ margin-bottom: 0;
10219
+ }
10220
+ }
10221
+ }
10222
+ @container (min-width: 1080px) {
10221
10223
  .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10222
10224
  font-size: var(--typography-heading-2-font-size, 1.75rem);
10223
10225
  line-height: var(--typography-heading-2-line-height, 2.25rem);
10224
10226
  letter-spacing: var(--typography-heading-2-letter-spacing, normal);
10225
- padding: 2px 0;
10227
+ margin: 2px 0;
10228
+ }
10229
+ .TitleBlock-module_hasSubtitle__DQWKd .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10230
+ margin-bottom: 0;
10226
10231
  }
10227
10232
  }
10228
- @container (max-width: 1365px) {
10229
- .TitleBlock-module_hasLongTitle__L-6FV .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10230
- font-size: var(--typography-heading-3-font-size, 1.375rem);
10231
- line-height: var(--typography-heading-3-line-height, 1.875rem);
10232
- letter-spacing: var(--typography-heading-3-letter-spacing, normal);
10233
- padding: 2px 0;
10233
+ @media (min-width: 1080px) and (max-width: 1095px) {
10234
+ @container (min-width: 1065px) {
10235
+ .TitleBlock-module_hasLongTitle__L-6FV .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10236
+ font-size: var(--typography-heading-3-font-size, 1.375rem);
10237
+ line-height: var(--typography-heading-3-line-height, 1.875rem);
10238
+ letter-spacing: var(--typography-heading-3-letter-spacing, normal);
10239
+ margin: 2px 0;
10240
+ }
10241
+ .TitleBlock-module_hasSubtitle__DQWKd .TitleBlock-module_hasLongTitle__L-6FV .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10242
+ margin-bottom: 0;
10243
+ }
10234
10244
  }
10235
10245
  }
10236
- @container (max-width: calc(1080px - 1px)) {
10237
- .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10246
+ @container (min-width: 1080px) and (max-width: 1365px) {
10247
+ .TitleBlock-module_hasLongTitle__L-6FV .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10238
10248
  font-size: var(--typography-heading-3-font-size, 1.375rem);
10239
10249
  line-height: var(--typography-heading-3-line-height, 1.875rem);
10240
10250
  letter-spacing: var(--typography-heading-3-letter-spacing, normal);
10241
- padding: 8px 0;
10251
+ margin: 2px 0;
10252
+ }
10253
+ .TitleBlock-module_hasSubtitle__DQWKd .TitleBlock-module_hasLongTitle__L-6FV .TitleBlock-module_titleTextOverride__VhhQU.TitleBlock-module_titleTextOverride__VhhQU {
10254
+ margin-bottom: 0;
10242
10255
  }
10243
10256
  }
10244
10257
  .TitleBlock-module_avatar__mEjJ8 {
10245
10258
  display: none;
10259
+ align-self: self-start;
10246
10260
  box-sizing: border-box;
10247
10261
  overflow: hidden;
10248
10262
  height: 3rem;
@@ -10253,11 +10267,6 @@
10253
10267
  .TitleBlock-module_avatar__mEjJ8 > * {
10254
10268
  max-width: 100%;
10255
10269
  }
10256
- @container (min-width: 1080px) {
10257
- .TitleBlock-module_avatar__mEjJ8 {
10258
- display: block;
10259
- }
10260
- }
10261
10270
  .TitleBlock-module_avatar__mEjJ8.TitleBlock-module_withBorder__D8Mz2 {
10262
10271
  border: 3px solid var(--color-white, #ffffff);
10263
10272
  border-radius: 50%;
@@ -10265,14 +10274,25 @@
10265
10274
  .TitleBlock-module_hasLongTitle__L-6FV .TitleBlock-module_avatar__mEjJ8 {
10266
10275
  display: none;
10267
10276
  }
10277
+ @media (min-width: 1080px) and (max-width: 1095px) {
10278
+ @container (min-width: 1065px) {
10279
+ .TitleBlock-module_avatar__mEjJ8 {
10280
+ display: block;
10281
+ }
10282
+ }
10283
+ }
10284
+ @container (min-width: 1080px) {
10285
+ .TitleBlock-module_avatar__mEjJ8 {
10286
+ display: block;
10287
+ }
10288
+ }
10268
10289
  .TitleBlock-module_hamburger__qe4R0 {
10269
- display: none;
10270
- margin-inline-end: var(--spacing-xs, 0.375rem);
10271
- margin-inline-start: 0;
10290
+ display: flex;
10291
+ align-self: self-start;
10272
10292
  }
10273
- @container (max-width: calc(1080px - 1px)) {
10293
+ @media (min-width: 1080px) {
10274
10294
  .TitleBlock-module_hamburger__qe4R0 {
10275
- display: flex;
10295
+ display: none;
10276
10296
  }
10277
10297
  }
10278
10298
  .TitleBlock-module_subtitle__AI9tj {
@@ -10318,15 +10338,24 @@
10318
10338
  .TitleBlock-module_sectionTitleContainer__LrDPV {
10319
10339
  display: flex;
10320
10340
  align-items: center;
10321
- padding: calc(1.5rem * 3 / 4) 0;
10341
+ padding-inline-end: 8px;
10342
+ }
10343
+ .TitleBlock-module_sectionTitle__b8daw {
10344
+ display: block;
10322
10345
  }
10323
10346
  .TitleBlock-module_sectionTitleInner__nJfOP {
10324
10347
  display: flex;
10325
10348
  flex-direction: column;
10326
10349
  }
10350
+ @container (min-width: 1080px) {
10351
+ .TitleBlock-module_sectionTitleInner__nJfOP {
10352
+ flex-direction: row;
10353
+ align-items: center;
10354
+ column-gap: 12px;
10355
+ }
10356
+ }
10327
10357
  .TitleBlock-module_sectionTitleOverride__XcD8g.TitleBlock-module_sectionTitleOverride__XcD8g {
10328
10358
  white-space: nowrap;
10329
- margin-inline: 0 var(--spacing-24);
10330
10359
  font-family: var(--typography-heading-2-font-family, "Inter", "Noto Sans", Helvetica, Arial, sans-serif);
10331
10360
  font-weight: var(--typography-heading-2-font-weight, 600);
10332
10361
  font-size: var(--typography-heading-2-font-size, 1.75rem);
@@ -10351,9 +10380,6 @@
10351
10380
  letter-spacing: var(--typography-heading-4-letter-spacing, normal);
10352
10381
  }
10353
10382
  }
10354
- .TitleBlock-module_sectionTitle__b8daw {
10355
- display: block;
10356
- }
10357
10383
  .TitleBlock-module_sectionTitleDescription__wuVwm {
10358
10384
  color: var(--color-white, #ffffff);
10359
10385
  max-width: 780px;
@@ -10363,16 +10389,13 @@
10363
10389
  line-height: var(--typography-paragraph-small-line-height, 1.125rem);
10364
10390
  letter-spacing: var(--typography-paragraph-small-letter-spacing, normal);
10365
10391
  }
10366
- .TitleBlock-module_sectionTitle__b8daw + .TitleBlock-module_sectionTitleDescription__wuVwm {
10367
- margin-top: var(--spacing-6);
10368
- }
10369
10392
  .TitleBlock-module_sectionTitleDescription__wuVwm.TitleBlock-module_dark__KJexf {
10370
10393
  color: rgba(var(--color-purple-800-rgb, 47, 36, 56), 0.7);
10371
10394
  }
10372
10395
  .TitleBlock-module_rowBelowSeparatorInnerContent__g5H9w {
10373
10396
  display: flex;
10374
10397
  width: 100%;
10375
- margin-top: -0.1875rem;
10398
+ margin-top: -0.063rem;
10376
10399
  justify-content: space-between;
10377
10400
  }
10378
10401
  .TitleBlock-module_titleAndAdjacent__Q7W-m {
@@ -10389,13 +10412,20 @@
10389
10412
  opacity: 0%;
10390
10413
  }
10391
10414
  .TitleBlock-module_tag__GDzmQ {
10392
- display: flex;
10415
+ display: none;
10393
10416
  align-items: center;
10394
10417
  margin-inline: var(--spacing-12) 0;
10395
10418
  }
10396
- @container (max-width: calc(1080px - 1px)) {
10419
+ @media (min-width: 1080px) and (max-width: 1095px) {
10420
+ @container (min-width: 1065px) {
10421
+ .TitleBlock-module_tag__GDzmQ {
10422
+ display: flex;
10423
+ }
10424
+ }
10425
+ }
10426
+ @container (min-width: 1080px) {
10397
10427
  .TitleBlock-module_tag__GDzmQ {
10398
- display: none;
10428
+ display: flex;
10399
10429
  }
10400
10430
  }
10401
10431
  .TitleBlock-module_tag__GDzmQ + .TitleBlock-module_pageSwitcherSelectNextToTitle__KZ0Uc {
@@ -10428,6 +10458,8 @@
10428
10458
  }
10429
10459
  @container (max-width: calc(768px - 1px)) {
10430
10460
  .TitleBlock-module_hasNavigationTabs__v09jL .TitleBlock-module_navigationTabScrollerContainer__o234q {
10461
+ margin-top: 0.063rem;
10462
+ height: 3.75rem;
10431
10463
  display: block;
10432
10464
  overflow-x: scroll;
10433
10465
  scrollbar-width: none;
@@ -10455,7 +10487,7 @@
10455
10487
  .TitleBlock-module_navigationTabEdgeShadowRight__xkIWc, .TitleBlock-module_navigationTabEdgeShadowLeft__9pGhR {
10456
10488
  display: block;
10457
10489
  position: absolute;
10458
- top: 3.5625rem;
10490
+ top: 3.687rem;
10459
10491
  width: 3.75rem;
10460
10492
  height: 3.75rem;
10461
10493
  background: linear-gradient(0deg, var(--color-purple-600, #5f3361), rgba(var(--color-purple-600-rgb, 95, 51, 97), 0));
@@ -10499,11 +10531,6 @@
10499
10531
  }
10500
10532
  .TitleBlock-module_secondaryActionsContainer__-4q0l {
10501
10533
  display: flex;
10502
- align-items: flex-start;
10503
- justify-content: flex-end;
10504
- padding: calc(1.5rem / 2) 0;
10505
- margin-inline-end: 0;
10506
- margin-inline-start: 2.25rem;
10507
10534
  }
10508
10535
  .TitleBlock-module_lightVariant__1EeLV .TitleBlock-module_secondaryActionsContainer__-4q0l, .TitleBlock-module_educationVariant__YvpWa .TitleBlock-module_secondaryActionsContainer__-4q0l, .TitleBlock-module_adminVariant__s95nS .TitleBlock-module_secondaryActionsContainer__-4q0l {
10509
10536
  color: var(--color-blue-500, #0168b3);
@@ -10530,7 +10557,6 @@
10530
10557
  padding: 0;
10531
10558
  border: none;
10532
10559
  cursor: pointer;
10533
- display: flex;
10534
10560
  position: absolute;
10535
10561
  align-items: center;
10536
10562
  top: 50%;
@@ -10538,7 +10564,8 @@
10538
10564
  text-decoration: none;
10539
10565
  inset-inline-end: auto;
10540
10566
  inset-inline-start: calc(-48px - 1.5rem);
10541
- align-self: normal;
10567
+ align-self: self-start;
10568
+ display: none;
10542
10569
  }
10543
10570
  .TitleBlock-module_breadcrumb__lVNKz:hover .TitleBlock-module_breadcrumbTextLink__ngx82 {
10544
10571
  text-decoration: underline;
@@ -10556,9 +10583,10 @@
10556
10583
  border-style: var(--border-focus-ring-border-style, solid);
10557
10584
  inset: calc(-2 * var(--border-focus-ring-border-width, 2px) - var(--border-focus-ring-border-width, 2px));
10558
10585
  }
10559
- @media only screen {
10560
- @container (max-width: 1644px) {
10586
+ @media (min-width: 1080px) and (max-width: 1095px) {
10587
+ @container (min-width: 1065px) {
10561
10588
  .TitleBlock-module_breadcrumb__lVNKz {
10589
+ display: flex;
10562
10590
  position: relative;
10563
10591
  transform: translateY(0);
10564
10592
  margin-inline: 0 var(--spacing-12);
@@ -10567,6 +10595,16 @@
10567
10595
  }
10568
10596
  }
10569
10597
  }
10598
+ @container (min-width: 1080px) {
10599
+ .TitleBlock-module_breadcrumb__lVNKz {
10600
+ display: flex;
10601
+ position: relative;
10602
+ transform: translateY(0);
10603
+ margin-inline: 0 var(--spacing-12);
10604
+ inset-inline-end: auto;
10605
+ inset-inline-start: 0;
10606
+ }
10607
+ }
10570
10608
  .TitleBlock-module_breadcrumbTextLink__ngx82 {
10571
10609
  clip-path: rect(0 0 0 0);
10572
10610
  height: 1px;
@@ -10660,11 +10698,6 @@
10660
10698
  color: var(--color-blue-500, #0168b3);
10661
10699
  background-color: rgba(var(--color-blue-500-rgb, 1, 104, 179), 0.1);
10662
10700
  }
10663
- @container (max-width: calc(1080px - 1px)) {
10664
- .TitleBlock-module_circle__68z-T {
10665
- display: none;
10666
- }
10667
- }
10668
10701
  /* stylelint-enable no-descending-specificity */
10669
10702
  }
10670
10703
  @keyframes TitleBlock-module_slide-fade__o5TnP {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaizen/components",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "Kaizen component library",
5
5
  "author": "Geoffrey Chong <geoff.chong@cultureamp.com>",
6
6
  "homepage": "https://cultureamp.design",
@@ -6,7 +6,7 @@
6
6
  border-bottom: 0;
7
7
  border-top-left-radius: var(--border-borderless-border-radius);
8
8
  border-top-right-radius: var(--border-borderless-border-radius);
9
- background: var(--color-white);
9
+ background: transparent;
10
10
  white-space: nowrap;
11
11
  text-decoration: none;
12
12
  padding: var(--spacing-md) var(--spacing-md);
@@ -10,11 +10,13 @@
10
10
  @import './variables';
11
11
 
12
12
  @layer kz-components {
13
- $title-block-margin-width-on-medium-and-small: 12px;
13
+ $title-block-spacing-default: 20px;
14
+ $title-block-spacing-above-1080: 24px;
15
+ $title-block-gap-default: 12px;
14
16
  $breadcrumb-circle-width: 48px;
15
17
  $breadcrumb-breakpoint-width: $layout-content-max-width + $layout-content-side-margin * 2 +
16
18
  $breadcrumb-circle-width * 2.25;
17
- $title-block-separator-height: 0.1875rem;
19
+ $title-block-separator-height: 0.063rem;
18
20
  $tab-container-height-default: $ca-grid * 3;
19
21
  $tab-container-height-small: $ca-grid * 2.5;
20
22
  $tab-container-height-default-collapsed: 0;
@@ -48,33 +50,45 @@
48
50
  }
49
51
  }
50
52
 
51
- .titleRow,
53
+ .titleRow {
54
+ box-sizing: border-box;
55
+ display: flex;
56
+ width: 100%;
57
+ justify-content: center;
58
+ }
59
+
52
60
  .rowBelowSeparator {
53
61
  display: flex;
54
62
  width: 100%;
55
63
  justify-content: center;
64
+
65
+ @include title-block-small {
66
+ height: $tab-container-height-small;
67
+ }
56
68
  }
57
69
 
58
70
  .lightVariant .titleRow {
59
71
  background-color: $color-white;
60
- margin-bottom: 3px; // needed to correctly position the active tab label :after element
72
+ margin-bottom: $title-block-separator-height;
61
73
  }
62
74
 
63
75
  .adminVariant .titleRow {
64
76
  background-color: $color-white;
65
- margin-bottom: 3px; // needed to correctly position the active tab label :after element
77
+ margin-bottom: $title-block-separator-height;
66
78
  }
67
79
 
68
80
  %titleBlockInner {
81
+ box-sizing: border-box;
69
82
  max-width: $layout-content-max-width;
70
- margin: 0 $layout-content-side-margin;
71
83
  display: flex;
72
84
  flex-direction: column;
73
85
  width: 100%;
74
86
  min-width: 0; // this is an important trick to prevent flexbox items from overflowing
87
+ padding: 0 $title-block-spacing-default 0 0;
75
88
 
76
- @include title-block-medium-and-small {
77
- margin: 0 $title-block-margin-width-on-medium-and-small;
89
+ @include title-block-min-media-1080 {
90
+ padding: 0;
91
+ margin-inline: $title-block-spacing-above-1080;
78
92
  }
79
93
  }
80
94
 
@@ -84,22 +98,34 @@
84
98
 
85
99
  .lightVariant .titleRowInner {
86
100
  border-bottom: 1px solid $color-gray-300;
101
+ }
87
102
 
88
- @include title-block-xsmall {
89
- padding-bottom: 12px;
103
+ %rowBelowSeparatorInnerMarginOverride {
104
+ padding: 0 4px 0 12px;
105
+
106
+ @include title-block-min-media-1080 {
107
+ padding: 0;
108
+ margin-inline: $title-block-spacing-above-1080;
90
109
  }
91
110
  }
92
111
 
93
112
  .rowBelowSeparatorInner {
94
113
  @extend %titleBlockInner;
114
+ @extend %rowBelowSeparatorInnerMarginOverride;
115
+
116
+ @include title-block-small {
117
+ height: $tab-container-height-small;
118
+ }
95
119
  }
96
120
 
97
121
  .titleRowInnerContent {
122
+ box-sizing: border-box;
98
123
  position: relative;
99
124
  display: flex;
100
125
  width: 100%;
101
126
  align-items: center;
102
- min-height: $ca-grid * 3.5;
127
+ gap: $title-block-gap-default;
128
+ padding-block: $title-block-spacing-default 19px;
103
129
  justify-content: space-between;
104
130
  border-bottom: $title-block-separator-height solid rgba($color-white-rgb, 0.1);
105
131
 
@@ -117,16 +143,24 @@
117
143
  border-bottom: none;
118
144
  }
119
145
 
120
- @include title-block-xsmall {
146
+ @include title-block-under-576 {
121
147
  flex-wrap: wrap;
148
+ gap: 4px;
122
149
  }
123
150
  }
124
151
 
125
152
  .title {
126
- display: flex;
127
153
  align-items: center;
128
154
  min-width: 0; // this is an important trick to prevent flexbox items from overflowing
129
155
 
156
+ // truncation
157
+ overflow: hidden;
158
+ text-overflow: ellipsis;
159
+ display: -webkit-box;
160
+ line-clamp: 3;
161
+ -webkit-line-clamp: 3;
162
+ -webkit-box-orient: vertical;
163
+
130
164
  // Applying width 100% when the title is *not* long and is followed by a subtitle
131
165
  // causes misalignment of both.
132
166
  @include title-block-under-1366 {
@@ -142,7 +176,7 @@
142
176
 
143
177
  .hasSubtitle & {
144
178
  @include title-block-under-1366 {
145
- transform: translateY(-0.3833em);
179
+ transform: translateY(-12px);
146
180
  }
147
181
  }
148
182
  }
@@ -191,34 +225,65 @@
191
225
  }
192
226
 
193
227
  .titleTextOverride.titleTextOverride {
194
- padding: 4px 0;
228
+ font-size: $typography-heading-3-font-size;
229
+ line-height: $typography-heading-3-line-height;
230
+ letter-spacing: $typography-heading-3-letter-spacing;
231
+ margin: 8px 0;
195
232
 
196
- @include title-block-under-1366 {
233
+ .hasSubtitle & {
234
+ margin-bottom: 0;
235
+ }
236
+
237
+ @include title-block-media-mixed-width {
197
238
  font-size: $typography-heading-2-font-size;
198
239
  line-height: $typography-heading-2-line-height;
199
240
  letter-spacing: $typography-heading-2-letter-spacing;
200
- padding: 2px 0;
241
+ margin: 2px 0;
242
+
243
+ .hasSubtitle & {
244
+ margin-bottom: 0;
245
+ }
246
+ }
247
+
248
+ @include title-block-min-container-1080 {
249
+ font-size: $typography-heading-2-font-size;
250
+ line-height: $typography-heading-2-line-height;
251
+ letter-spacing: $typography-heading-2-letter-spacing;
252
+ margin: 2px 0;
253
+
254
+ .hasSubtitle & {
255
+ margin-bottom: 0;
256
+ }
201
257
  }
202
258
 
203
259
  .hasLongTitle & {
204
- @include title-block-under-1366 {
260
+ @include title-block-media-mixed-width {
205
261
  font-size: $typography-heading-3-font-size;
206
262
  line-height: $typography-heading-3-line-height;
207
263
  letter-spacing: $typography-heading-3-letter-spacing;
208
- padding: 2px 0;
264
+ margin: 2px 0;
265
+
266
+ .hasSubtitle & {
267
+ margin-bottom: 0;
268
+ }
209
269
  }
210
- }
211
270
 
212
- @include title-block-medium-and-small {
213
- font-size: $typography-heading-3-font-size;
214
- line-height: $typography-heading-3-line-height;
215
- letter-spacing: $typography-heading-3-letter-spacing;
216
- padding: 8px 0;
271
+ @container (min-width: #{$layout-breakpoints-large}) and (max-width: 1365px) {
272
+ font-size: $typography-heading-3-font-size;
273
+ line-height: $typography-heading-3-line-height;
274
+ letter-spacing: $typography-heading-3-letter-spacing;
275
+ margin: 2px 0;
276
+
277
+ .hasSubtitle & {
278
+ margin-bottom: 0;
279
+ }
280
+ }
217
281
  }
218
282
  }
219
283
 
220
284
  .avatar {
221
285
  display: none;
286
+ align-self: self-start;
222
287
  box-sizing: border-box;
223
288
  overflow: hidden;
224
289
  height: $ca-grid * 2;
@@ -230,10 +295,6 @@
230
295
  max-width: 100%;
231
296
  }
232
297
 
233
- @container (min-width: #{$layout-breakpoints-large}) {
234
- display: block;
235
- }
236
-
237
298
  &.withBorder {
238
299
  border: 3px solid $color-white;
239
300
  border-radius: 50%;
@@ -242,15 +303,22 @@
242
303
  .hasLongTitle & {
243
304
  display: none;
244
305
  }
306
+
307
+ @include title-block-media-mixed-width {
308
+ display: block;
309
+ }
310
+
311
+ @include title-block-min-container-1080 {
312
+ display: block;
313
+ }
245
314
  }
246
315
 
247
316
  .hamburger {
248
- display: none;
249
-
250
- @include ca-margin($end: $spacing-xs);
317
+ display: flex;
318
+ align-self: self-start;
251
319
 
252
- @include title-block-medium-and-small {
253
- display: flex;
320
+ @include title-block-min-media-1080 {
321
+ display: none;
254
322
  }
255
323
  }
256
324
 
@@ -299,17 +367,26 @@
299
367
  .sectionTitleContainer {
300
368
  display: flex;
301
369
  align-items: center;
302
- padding: calc(#{$ca-grid} * 3 / 4) 0;
370
+ padding-inline-end: 8px; // 20 take 12 result in 8 extra padding needed in section versus tabs UI
371
+ }
372
+
373
+ .sectionTitle {
374
+ display: block;
303
375
  }
304
376
 
305
377
  .sectionTitleInner {
306
378
  display: flex;
307
379
  flex-direction: column;
380
+
381
+ @include title-block-min-container-1080 {
382
+ flex-direction: row;
383
+ align-items: center;
384
+ column-gap: $title-block-gap-default;
385
+ }
308
386
  }
309
387
 
310
388
  .sectionTitleOverride.sectionTitleOverride {
311
389
  white-space: nowrap;
312
- margin-inline: 0 var(--spacing-24);
313
390
  font-family: $typography-heading-2-font-family;
314
391
  font-weight: $typography-heading-2-font-weight;
315
392
  font-size: $typography-heading-2-font-size;
@@ -333,10 +410,6 @@
333
410
  }
334
411
  }
335
412
 
336
- .sectionTitle {
337
- display: block;
338
- }
339
-
340
413
  .sectionTitleDescription {
341
414
  color: $color-white;
342
415
  max-width: 780px;
@@ -346,10 +419,6 @@
346
419
  line-height: $typography-paragraph-small-line-height;
347
420
  letter-spacing: $typography-paragraph-small-letter-spacing;
348
421
 
349
- .sectionTitle + & {
350
- margin-top: var(--spacing-6);
351
- }
352
-
353
422
  &.dark {
354
423
  color: rgba($color-purple-800-rgb, 0.7);
355
424
  }
@@ -382,12 +451,16 @@
382
451
  }
383
452
 
384
453
  .tag {
385
- display: flex;
454
+ display: none;
386
455
  align-items: center;
387
456
  margin-inline: var(--spacing-12) 0;
388
457
 
389
- @include title-block-medium-and-small {
390
- display: none;
458
+ @include title-block-media-mixed-width {
459
+ display: flex;
460
+ }
461
+
462
+ @include title-block-min-container-1080 {
463
+ display: flex;
391
464
  }
392
465
 
393
466
  + .pageSwitcherSelectNextToTitle {
@@ -425,6 +498,8 @@
425
498
  .navigationTabScrollerContainer {
426
499
  .hasNavigationTabs & {
427
500
  @include title-block-small {
501
+ margin-top: $title-block-separator-height;
502
+ height: $tab-container-height-small;
428
503
  display: block;
429
504
  overflow-x: scroll;
430
505
  scrollbar-width: none;
@@ -510,11 +585,6 @@
510
585
  // but the variants prevent us from breaking this out.
511
586
  .secondaryActionsContainer {
512
587
  display: flex;
513
- align-items: flex-start;
514
- justify-content: flex-end;
515
- padding: (calc(#{$ca-grid} / 2)) 0;
516
-
517
- @include ca-margin($start: $ca-grid * 1.5);
518
588
 
519
589
  // To be removed eventually – the Dropdown does not
520
590
  // currently set its own color, and we want it
@@ -545,7 +615,6 @@
545
615
  @include button-reset;
546
616
 
547
617
  cursor: pointer;
548
- display: flex;
549
618
  position: absolute;
550
619
  align-items: center;
551
620
  top: 50%;
@@ -554,7 +623,7 @@
554
623
 
555
624
  @include ca-position($start: calc(-#{$breadcrumb-circle-width} - #{$ca-grid}));
556
625
 
557
- align-self: normal;
626
+ align-self: self-start;
558
627
 
559
628
  &:hover .breadcrumbTextLink {
560
629
  text-decoration: underline;
@@ -579,14 +648,24 @@
579
648
  }
580
649
  }
581
650
 
582
- @media only screen {
583
- @container (max-width: #{$breadcrumb-breakpoint-width}) {
584
- position: relative;
585
- transform: translateY(0);
586
- margin-inline: 0 var(--spacing-12);
651
+ display: none;
587
652
 
588
- @include ca-position($start: 0);
589
- }
653
+ @include title-block-media-mixed-width {
654
+ display: flex;
655
+ position: relative;
656
+ transform: translateY(0);
657
+ margin-inline: 0 var(--spacing-12);
658
+
659
+ @include ca-position($start: 0);
660
+ }
661
+
662
+ @include title-block-min-container-1080 {
663
+ display: flex;
664
+ position: relative;
665
+ transform: translateY(0);
666
+ margin-inline: 0 var(--spacing-12);
667
+
668
+ @include ca-position($start: 0);
590
669
  }
591
670
  }
592
671
 
@@ -710,10 +789,6 @@
710
789
  color: $color-blue-500;
711
790
  background-color: rgba($color-blue-500-rgb, 0.1);
712
791
  }
713
-
714
- @include title-block-medium-and-small {
715
- display: none;
716
- }
717
792
  }
718
793
  /* stylelint-enable no-descending-specificity */
719
794
  }
@@ -1,5 +1,6 @@
1
1
  import React from 'react'
2
2
  import { type Meta, type StoryObj } from '@storybook/react'
3
+ import { expect, waitFor, within } from '@storybook/test'
3
4
  import { Icon } from '~components/Icon'
4
5
  import { assetUrl } from '~components/utils/hostedAssets'
5
6
  import { StickerSheet } from '~storybook/components/StickerSheet'
@@ -26,6 +27,47 @@ const SECONDARY_ACTIONS = [
26
27
  },
27
28
  ]
28
29
 
30
+ const viewports = {
31
+ viewports: {
32
+ default: {
33
+ name: 'desktop (above or equal to 1366)',
34
+ styles: { width: '1366px', height: '800px' },
35
+ type: 'desktop',
36
+ },
37
+ desktopSm: {
38
+ name: 'desktop-sm (1024 - 1365)',
39
+ styles: { width: '1365px', height: '800px' },
40
+ type: 'desktop',
41
+ },
42
+ tablet: {
43
+ name: 'tablet (672 - 1023)',
44
+ styles: { width: '1023px', height: '800px' },
45
+ type: 'desktop',
46
+ },
47
+ mobileResponsive: {
48
+ name: 'mobile-responsive (512 - 671)',
49
+ styles: { width: '671px', height: '800px' },
50
+ type: 'desktop',
51
+ },
52
+ mobile: {
53
+ name: 'mobile (361 - 512)',
54
+ styles: { width: '511px', height: '800px' },
55
+ type: 'desktop',
56
+ },
57
+ mobileXs: {
58
+ name: 'mobile (under 360)',
59
+ styles: { width: '360px', height: '800px' },
60
+ type: 'desktop',
61
+ },
62
+ },
63
+ defaultViewport: 'default',
64
+ }
65
+
66
+ const chromaticViewports = {
67
+ disable: false,
68
+ viewports: [1366, 1365, 1079, 360, 320],
69
+ }
70
+
29
71
  const meta = {
30
72
  title: 'Components/TitleBlock',
31
73
  component: TitleBlock,
@@ -94,54 +136,41 @@ export const Playground: Story = {
94
136
 
95
137
  export const Viewports: Story = {
96
138
  parameters: {
97
- viewport: {
98
- viewports: {
99
- default: {
100
- name: 'Above or equal to 1366',
101
- styles: { width: '1366px', height: '800px' },
102
- type: 'desktop',
103
- },
104
- under1366: {
105
- name: 'Under 1366',
106
- styles: { width: '1365px', height: '800px' },
107
- type: 'desktop',
108
- },
109
- mediumSmall: {
110
- name: 'Medium and small',
111
- styles: { width: '1079px', height: '800px' },
112
- type: 'desktop',
113
- },
114
- },
115
- defaultViewport: 'default',
116
- },
117
- chromatic: {
118
- disable: false,
119
- viewports: [1079, 1365, 1366, 360, 320],
120
- },
139
+ viewport: viewports,
140
+ chromatic: chromaticViewports,
141
+ },
142
+ }
143
+ export const WithTabNavigation: Story = {
144
+ parameters: {
145
+ viewport: viewports,
146
+ chromatic: chromaticViewports,
147
+ },
148
+ play: async ({ canvasElement, step }) => {
149
+ const canvas = within(canvasElement.parentElement!)
150
+
151
+ const TabNavigation = await canvas.findByRole('navigation', {
152
+ name: 'Page title',
153
+ })
154
+
155
+ await step('Navigation Tab is present', async () => {
156
+ await waitFor(() => expect(TabNavigation).toBeInTheDocument())
157
+ })
158
+
159
+ await step('Navigation is focusable', async () => {
160
+ const NavigationList = canvas.getByRole('list')
161
+ const listItems = within(NavigationList).getAllByRole('listitem')
162
+
163
+ const thirdNavigationLink = within(listItems[2]).getByRole('link')
164
+ thirdNavigationLink.focus()
165
+ expect(thirdNavigationLink).toHaveFocus()
166
+ })
121
167
  },
122
168
  }
123
169
 
124
170
  export const HasLongTitle: Story = {
125
171
  parameters: {
126
- viewport: {
127
- viewports: {
128
- default: {
129
- name: 'Above or equal to 1366',
130
- styles: { width: '1366px', height: '800px' },
131
- type: 'desktop',
132
- },
133
- under1366: {
134
- name: 'Under 1366',
135
- styles: { width: '1365px', height: '800px' },
136
- type: 'desktop',
137
- },
138
- },
139
- defaultViewport: 'default',
140
- },
141
- chromatic: {
142
- disable: false,
143
- viewports: [1365, 1366],
144
- },
172
+ viewport: viewports,
173
+ chromatic: chromaticViewports,
145
174
  },
146
175
  args: { title: 'A long title with over thirty characters' },
147
176
  }
@@ -153,45 +182,8 @@ export const LightVariant: Story = {
153
182
  sourceState: 'shown',
154
183
  },
155
184
  },
156
- viewport: {
157
- viewports: {
158
- default: {
159
- name: 'desktop (above or equal to 1366)',
160
- styles: { width: '1366px', height: '800px' },
161
- type: 'desktop',
162
- },
163
- desktopSm: {
164
- name: 'desktop-sm (1024 - 1365)',
165
- styles: { width: '1365px', height: '800px' },
166
- type: 'desktop',
167
- },
168
- tablet: {
169
- name: 'tablet (672 - 1023)',
170
- styles: { width: '1023px', height: '800px' },
171
- type: 'desktop',
172
- },
173
- mobileResponsive: {
174
- name: 'mobile-responsive (512 - 671)',
175
- styles: { width: '671px', height: '800px' },
176
- type: 'desktop',
177
- },
178
- mobile: {
179
- name: 'mobile (361 - 512)',
180
- styles: { width: '511px', height: '800px' },
181
- type: 'desktop',
182
- },
183
- mobileXs: {
184
- name: 'mobile (under 360)',
185
- styles: { width: '360px', height: '800px' },
186
- type: 'desktop',
187
- },
188
- },
189
- defaultViewport: 'default',
190
- },
191
- chromatic: {
192
- disable: false,
193
- viewports: [1079, 1365, 1366, 360, 320],
194
- },
185
+ viewport: viewports,
186
+ chromatic: chromaticViewports,
195
187
  },
196
188
  args: {
197
189
  variant: 'light',
@@ -209,25 +201,8 @@ export const LightVariant: Story = {
209
201
 
210
202
  export const AdminVariant: Story = {
211
203
  parameters: {
212
- viewport: {
213
- viewports: {
214
- default: {
215
- name: 'Above or equal to 1366',
216
- styles: { width: '1366px', height: '800px' },
217
- type: 'desktop',
218
- },
219
- under1366: {
220
- name: 'Under 1366',
221
- styles: { width: '1365px', height: '800px' },
222
- type: 'desktop',
223
- },
224
- },
225
- defaultViewport: 'default',
226
- },
227
- chromatic: {
228
- disable: false,
229
- viewports: [1365, 1366],
230
- },
204
+ viewport: viewports,
205
+ chromatic: chromaticViewports,
231
206
  },
232
207
  args: {
233
208
  variant: 'admin',
@@ -244,25 +219,8 @@ export const AdminVariant: Story = {
244
219
 
245
220
  export const EducationVariant: Story = {
246
221
  parameters: {
247
- viewport: {
248
- viewports: {
249
- default: {
250
- name: 'Above or equal to 1366',
251
- styles: { width: '1366px', height: '800px' },
252
- type: 'desktop',
253
- },
254
- under1366: {
255
- name: 'Under 1366',
256
- styles: { width: '1365px', height: '800px' },
257
- type: 'desktop',
258
- },
259
- },
260
- defaultViewport: 'default',
261
- },
262
- chromatic: {
263
- disable: false,
264
- viewports: [1365, 1366],
265
- },
222
+ viewport: viewports,
223
+ chromatic: chromaticViewports,
266
224
  },
267
225
  args: {
268
226
  variant: 'education',
@@ -476,3 +434,18 @@ export const StickerSheetSurveyStatus: Story = {
476
434
  </StickerSheet>
477
435
  ),
478
436
  }
437
+
438
+ export const WithSection: Story = {
439
+ parameters: {
440
+ viewport: viewports,
441
+ chromatic: chromaticViewports,
442
+ },
443
+ args: {
444
+ title: 'A extra long title with over thirty characters so it truncates in a mobile viewport',
445
+ variant: 'light',
446
+ sectionTitle: 'Section title',
447
+ sectionTitleDescription: 'Description of section can go here',
448
+ navigationTabs: undefined,
449
+ surveyStatus: undefined,
450
+ },
451
+ }
@@ -41,3 +41,32 @@
41
41
  @content;
42
42
  }
43
43
  }
44
+
45
+ @mixin title-block-min-media-1080 {
46
+ @media (min-width: #{$layout-breakpoints-large}) {
47
+ @content;
48
+ }
49
+ }
50
+
51
+ @mixin title-block-min-container-1080 {
52
+ @container (min-width: #{$layout-breakpoints-large}) {
53
+ @content;
54
+ }
55
+ }
56
+
57
+ @mixin title-block-media-mixed-width {
58
+ // 1080
59
+ @media (min-width: #{$layout-breakpoints-large}) and (max-width: 1095px) {
60
+ // Note: There is a diff of 15px between the media and container query
61
+ @container (min-width: 1065px) {
62
+ @content;
63
+ }
64
+ }
65
+ }
66
+
67
+ // 576 is the specified breakpoint from design to wrap the primary actions
68
+ @mixin title-block-under-576 {
69
+ @container (max-width: 576px) {
70
+ @content;
71
+ }
72
+ }
@@ -4,39 +4,32 @@
4
4
  @layer kz-components {
5
5
  .mainActionsContainer {
6
6
  display: flex;
7
- align-items: center;
8
- justify-content: flex-end;
9
- flex-grow: 1;
7
+ align-self: flex-start;
10
8
  flex-shrink: 0;
9
+ // 8px gap between default and primary actions
10
+ // 4px needs to applied as 3rd empty div for minimized default action has gap applied also
11
+ gap: 4px;
12
+
13
+ @include title-block-under-576 {
14
+ justify-content: flex-start;
15
+ // offset: hamburger menu button is 48px wide
16
+ margin-inline-start: 48px;
17
+ }
11
18
 
12
19
  .defaultActionButtonMinimized {
13
20
  display: none;
14
- margin-inline-end: 0;
15
21
  }
16
22
 
17
- @include ca-margin($start: calc(#{$ca-grid} / 2));
23
+ @media (max-width: 360px) {
24
+ gap: 0;
18
25
 
19
- @include title-block-xsmall {
20
- padding-top: 12px;
21
- justify-content: flex-start;
22
- padding-left: 1.25rem;
23
-
24
- @media (max-width: 511px) {
25
- padding-top: 0;
26
- padding-left: 3.375rem;
26
+ .defaultActionButton {
27
+ display: none;
27
28
  }
28
29
 
29
- @media (max-width: 360px) {
30
- .defaultActionButton {
31
- display: none;
32
- margin-inline-end: 0;
33
- }
34
-
35
- .defaultActionButtonMinimized {
36
- display: flex;
37
- margin-inline-end: 3px;
38
- margin-left: -0.5rem;
39
- }
30
+ .defaultActionButtonMinimized {
31
+ display: flex;
32
+ margin-inline-end: 8px;
40
33
  }
41
34
  }
42
35
  }
@@ -6,41 +6,9 @@
6
6
  .toolbar {
7
7
  display: flex;
8
8
  align-items: center;
9
-
10
- .toolbarItem {
11
- margin: 0 calc(#{$ca-grid} / 4);
12
-
13
- @include title-block-under-1024 {
14
- margin: 0 calc(#{$ca-grid} / 8);
15
- }
16
-
17
- &.noGap {
18
- margin: 0;
19
- }
20
- }
21
-
22
- .toolbarItem:first-of-type {
23
- @include ca-margin($start: 0, $end: calc(#{$ca-grid} / 4));
24
-
25
- @include title-block-under-1024 {
26
- @include ca-margin($start: 0, $end: calc(#{$ca-grid} / 8));
27
- }
28
-
29
- &.noGap {
30
- margin: 0;
31
- }
32
- }
33
-
34
- .toolbarItem:last-of-type {
35
- @include ca-margin($start: calc(#{$ca-grid} / 4), $end: 0);
36
-
37
- @include title-block-under-1024 {
38
- @include ca-margin($start: calc(#{$ca-grid} / 8), $end: 0);
39
- }
40
-
41
- &.noGap {
42
- margin: 0;
43
- }
44
- }
9
+ // gap sizing needs to be applied on parent container
10
+ // the toolbar is used accross mutiple subcomponents within Titleblock,
11
+ // spacing in now the responsibility of the parent.
12
+ gap: inherit;
45
13
  }
46
14
  }