@hh.ru/magritte-ui-nav-bar 1.3.25 → 1.3.26

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.
package/index.css CHANGED
@@ -1,90 +1,102 @@
1
1
  :root{
2
2
  --magritte-color-background-body-v24-7-0:#ffffff;
3
+ --magritte-color-text-primary-v24-7-0:#000000;
4
+ --magritte-color-text-secondary-v24-7-0:#768694;
3
5
  }
4
6
 
5
7
  .magritte-night-theme{
6
8
  --magritte-color-background-body-v24-7-0:#000000;
9
+ --magritte-color-text-primary-v24-7-0:#ffffff;
10
+ --magritte-color-text-secondary-v24-7-0:#ABABAB;
7
11
  }
8
- .magritte-actions-container___CBgYW_1-3-25{
12
+ .magritte-actions-container___CBgYW_1-3-26{
9
13
  display:flex;
10
14
  flex-direction:row;
11
15
  gap:12px;
12
16
  min-height:40px;
13
17
  }
14
- .magritte-actions-no-children___rgJUl_1-3-25{
18
+ .magritte-actions-no-children___rgJUl_1-3-26{
15
19
  justify-content:space-between;
16
20
  }
17
- .magritte-actions-left-slot___DNOj0_1-3-25,
18
- .magritte-actions-right-slot___aodtj_1-3-25{
21
+ .magritte-actions-left-slot___DNOj0_1-3-26,
22
+ .magritte-actions-right-slot___aodtj_1-3-26{
19
23
  display:grid;
20
24
  flex:0 0 auto;
21
25
  --magritte-ui-icon-margin-not-transparent:var(--magritte-ui-navbar-actions-icon-margin-not-transparent-override, -8px);
22
26
  --magritte-ui-icon-margin-transparent:var(--magritte-ui-navbar-actions-icon-margin-transparent-override, 0);
23
27
  --magritte-ui-icon-margin-delta:calc(var(--magritte-ui-icon-margin-not-transparent) - var(--magritte-ui-icon-margin-transparent));
24
28
  }
25
- .magritte-navbar-transparent-end___6KqLR_1-3-25 .magritte-actions-start-stage___MJ67a_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child,
26
- .magritte-navbar-transparent-start___wysv0_1-3-25 .magritte-actions-end-stage___qHtTV_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child,
27
- .magritte-navbar-not-transparent___5KZNp_1-3-25 .magritte-actions-start-stage___MJ67a_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child,
28
- .magritte-navbar-not-transparent___5KZNp_1-3-25 .magritte-actions-end-stage___qHtTV_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child{
29
+ .magritte-navbar-transparent-end___6KqLR_1-3-26 .magritte-actions-start-stage___MJ67a_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child,
30
+ .magritte-navbar-transparent-start___wysv0_1-3-26 .magritte-actions-end-stage___qHtTV_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child,
31
+ .magritte-navbar-not-transparent___5KZNp_1-3-26 .magritte-actions-start-stage___MJ67a_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child,
32
+ .magritte-navbar-not-transparent___5KZNp_1-3-26 .magritte-actions-end-stage___qHtTV_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child{
29
33
  margin-left:var(--magritte-ui-icon-margin-not-transparent);
30
34
  }
31
- .magritte-navbar-transparent-end___6KqLR_1-3-25 .magritte-actions-start-stage___MJ67a_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child,
32
- .magritte-navbar-transparent-start___wysv0_1-3-25 .magritte-actions-end-stage___qHtTV_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child,
33
- .magritte-navbar-not-transparent___5KZNp_1-3-25 .magritte-actions-start-stage___MJ67a_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child,
34
- .magritte-navbar-not-transparent___5KZNp_1-3-25 .magritte-actions-end-stage___qHtTV_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child{
35
+ .magritte-navbar-transparent-end___6KqLR_1-3-26 .magritte-actions-start-stage___MJ67a_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child,
36
+ .magritte-navbar-transparent-start___wysv0_1-3-26 .magritte-actions-end-stage___qHtTV_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child,
37
+ .magritte-navbar-not-transparent___5KZNp_1-3-26 .magritte-actions-start-stage___MJ67a_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child,
38
+ .magritte-navbar-not-transparent___5KZNp_1-3-26 .magritte-actions-end-stage___qHtTV_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child{
35
39
  margin-right:var(--magritte-ui-icon-margin-not-transparent);
36
40
  }
37
- .magritte-navbar-transparent-end___6KqLR_1-3-25 .magritte-actions-end-stage___qHtTV_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child,
38
- .magritte-navbar-transparent-start___wysv0_1-3-25 .magritte-actions-start-stage___MJ67a_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child,
39
- .magritte-navbar-transparent___ULEh8_1-3-25 .magritte-actions-start-stage___MJ67a_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child,
40
- .magritte-navbar-transparent___ULEh8_1-3-25 .magritte-actions-end-stage___qHtTV_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child{
41
+ .magritte-navbar-transparent-end___6KqLR_1-3-26 .magritte-actions-end-stage___qHtTV_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child,
42
+ .magritte-navbar-transparent-start___wysv0_1-3-26 .magritte-actions-start-stage___MJ67a_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child,
43
+ .magritte-navbar-transparent___ULEh8_1-3-26 .magritte-actions-start-stage___MJ67a_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child,
44
+ .magritte-navbar-transparent___ULEh8_1-3-26 .magritte-actions-end-stage___qHtTV_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child{
41
45
  margin-left:var(--magritte-ui-icon-margin-transparent);
42
46
  }
43
- .magritte-navbar-transparent-end___6KqLR_1-3-25 .magritte-actions-end-stage___qHtTV_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child,
44
- .magritte-navbar-transparent-start___wysv0_1-3-25 .magritte-actions-start-stage___MJ67a_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child,
45
- .magritte-navbar-transparent___ULEh8_1-3-25 .magritte-actions-start-stage___MJ67a_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child,
46
- .magritte-navbar-transparent___ULEh8_1-3-25 .magritte-actions-end-stage___qHtTV_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child{
47
+ .magritte-navbar-transparent-end___6KqLR_1-3-26 .magritte-actions-end-stage___qHtTV_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child,
48
+ .magritte-navbar-transparent-start___wysv0_1-3-26 .magritte-actions-start-stage___MJ67a_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child,
49
+ .magritte-navbar-transparent___ULEh8_1-3-26 .magritte-actions-start-stage___MJ67a_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child,
50
+ .magritte-navbar-transparent___ULEh8_1-3-26 .magritte-actions-end-stage___qHtTV_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child{
47
51
  margin-right:var(--magritte-ui-icon-margin-transparent);
48
52
  }
49
- .magritte-navbar-transparent-start___wysv0_1-3-25 .magritte-actions-only-stage___cg10A_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child,
50
- .magritte-navbar-transparent-start___wysv0_1-3-25 .magritte-actions-only-stage___cg10A_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content-clone___jDxVm_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child{
53
+ .magritte-navbar-transparent-start___wysv0_1-3-26 .magritte-actions-only-stage___cg10A_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child,
54
+ .magritte-navbar-transparent-start___wysv0_1-3-26 .magritte-actions-only-stage___cg10A_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content-clone___jDxVm_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child{
51
55
  margin-left:calc(var(--magritte-ui-icon-margin-transparent) + (var(--magritte-ui-icon-margin-delta) * var(--magritte-ui-navbar-animation-progress)));
52
56
  }
53
- .magritte-navbar-transparent-start___wysv0_1-3-25 .magritte-actions-only-stage___cg10A_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child,
54
- .magritte-navbar-transparent-start___wysv0_1-3-25 .magritte-actions-only-stage___cg10A_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content-clone___jDxVm_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child{
57
+ .magritte-navbar-transparent-start___wysv0_1-3-26 .magritte-actions-only-stage___cg10A_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child,
58
+ .magritte-navbar-transparent-start___wysv0_1-3-26 .magritte-actions-only-stage___cg10A_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content-clone___jDxVm_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child{
55
59
  margin-right:calc(var(--magritte-ui-icon-margin-transparent) + (var(--magritte-ui-icon-margin-delta) * var(--magritte-ui-navbar-animation-progress)));
56
60
  }
57
- .magritte-navbar-transparent-end___6KqLR_1-3-25 .magritte-actions-only-stage___cg10A_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child,
58
- .magritte-navbar-transparent-end___6KqLR_1-3-25 .magritte-actions-only-stage___cg10A_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content-clone___jDxVm_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:first-child{
61
+ .magritte-navbar-transparent-end___6KqLR_1-3-26 .magritte-actions-only-stage___cg10A_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child,
62
+ .magritte-navbar-transparent-end___6KqLR_1-3-26 .magritte-actions-only-stage___cg10A_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content-clone___jDxVm_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:first-child{
59
63
  margin-left:calc(var(--magritte-ui-icon-margin-not-transparent) - (var(--magritte-ui-icon-margin-delta) * var(--magritte-ui-navbar-animation-progress)));
60
64
  }
61
- .magritte-navbar-transparent-end___6KqLR_1-3-25 .magritte-actions-only-stage___cg10A_1-3-25 .magritte-actions-right-slot___aodtj_1-3-25 .magritte-actions-side-slot-content___TlHrX_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child,
62
- .magritte-navbar-transparent-end___6KqLR_1-3-25 .magritte-actions-only-stage___cg10A_1-3-25 .magritte-actions-left-slot___DNOj0_1-3-25 .magritte-actions-side-slot-content-clone___jDxVm_1-3-25 > .magritte-actions-icon-morph___-nNgW_1-3-25:last-child{
65
+ .magritte-navbar-transparent-end___6KqLR_1-3-26 .magritte-actions-only-stage___cg10A_1-3-26 .magritte-actions-right-slot___aodtj_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child,
66
+ .magritte-navbar-transparent-end___6KqLR_1-3-26 .magritte-actions-only-stage___cg10A_1-3-26 .magritte-actions-left-slot___DNOj0_1-3-26 .magritte-actions-side-slot-content-clone___jDxVm_1-3-26 > .magritte-actions-icon-morph___-nNgW_1-3-26:last-child{
63
67
  margin-right:calc(var(--magritte-ui-icon-margin-not-transparent) - (var(--magritte-ui-icon-margin-delta) * var(--magritte-ui-navbar-animation-progress)));
64
68
  }
65
- .magritte-actions-center-slot___hLAy6_1-3-25{
69
+ .magritte-actions-center-slot___hLAy6_1-3-26{
66
70
  display:flex;
67
71
  flex:1 1 auto;
68
72
  min-width:0;
69
73
  }
70
- .magritte-actions-center-slot___hLAy6_1-3-25.magritte-actions-center-slot-centered___merXQ_1-3-25{
74
+ .magritte-actions-center-slot___hLAy6_1-3-26.magritte-actions-center-slot-centered___merXQ_1-3-26{
71
75
  justify-content:center;
72
76
  }
73
- .magritte-actions-side-slot-content___TlHrX_1-3-25,
74
- .magritte-actions-side-slot-content-clone___jDxVm_1-3-25{
77
+ .magritte-actions-side-slot-content___TlHrX_1-3-26,
78
+ .magritte-actions-side-slot-content-clone___jDxVm_1-3-26{
75
79
  grid-area:1 / 1;
76
80
  display:flex;
77
81
  align-items:center;
78
82
  gap:4px;
79
83
  }
80
- .magritte-actions-side-slot-content-clone___jDxVm_1-3-25{
84
+ .magritte-align-top___-QSFW_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26,
85
+ .magritte-align-top___-QSFW_1-3-26 .magritte-actions-side-slot-content-clone___jDxVm_1-3-26{
86
+ align-items:start;
87
+ }
88
+ .magritte-align-bottom___FliHI_1-3-26 .magritte-actions-side-slot-content___TlHrX_1-3-26,
89
+ .magritte-align-bottom___FliHI_1-3-26 .magritte-actions-side-slot-content-clone___jDxVm_1-3-26{
90
+ align-items:end;
91
+ }
92
+ .magritte-actions-side-slot-content-clone___jDxVm_1-3-26{
81
93
  visibility:hidden;
82
94
  z-index:0;
83
95
  pointer-events:none;
84
96
  user-select:none;
85
97
  contain:style layout;
86
98
  }
87
- .magritte-title-container-wrapper___DQUcj_1-3-25{
99
+ .magritte-title-container-wrapper___DQUcj_1-3-26{
88
100
  display:flex;
89
101
  flex-direction:row;
90
102
  align-items:center;
@@ -92,45 +104,94 @@
92
104
  min-width:0;
93
105
  gap:12px;
94
106
  }
95
- .magritte-title-main-part___npoHN_1-3-25{
107
+ .magritte-title-main-part___npoHN_1-3-26{
96
108
  display:flex;
97
109
  flex-direction:column;
98
110
  flex:0 1 auto;
99
111
  min-width:0;
100
112
  }
101
- .magritte-title-left-slot___HTE7h_1-3-25{
113
+ .magritte-title-left-slot___HTE7h_1-3-26{
102
114
  display:flex;
103
115
  align-items:center;
104
116
  flex:0 0 auto;
105
117
  }
106
- .magritte-title-container___y9AIx_1-3-25{
118
+ .magritte-title-container___y9AIx_1-3-26{
107
119
  display:flex;
108
120
  flex-direction:row;
109
121
  align-items:center;
110
122
  gap:5px;
123
+ min-height:var(--magritte-ui-navbar-title-container-min-height-small-override, 0);
111
124
  }
112
- .magritte-subtitle-container___nVUBu_1-3-25{
125
+ .magritte-subtitle-container___nVUBu_1-3-26{
113
126
  display:flex;
114
127
  }
115
- .magritte-centered___Y2mlP_1-3-25 .magritte-subtitle-container___nVUBu_1-3-25,
116
- .magritte-centered___Y2mlP_1-3-25 .magritte-title-container___y9AIx_1-3-25{
128
+ .magritte-subtitle-container___nVUBu_1-3-26 .magritte-text-morph-item___-vXru_1-3-26{
129
+ color:var(--magritte-color-text-secondary-v24-7-0);
130
+ font-family:"hh sans";
131
+ font-weight:400;
132
+ line-height:18px;
133
+ font-size:12px;
134
+ letter-spacing:0.01em;
135
+ text-indent:0px;
136
+ text-transform:none;
137
+ text-decoration:none;
138
+ }
139
+ .magritte-centered___Y2mlP_1-3-26 .magritte-subtitle-container___nVUBu_1-3-26,
140
+ .magritte-centered___Y2mlP_1-3-26 .magritte-title-container___y9AIx_1-3-26{
117
141
  justify-content:center;
118
142
  }
119
- .magritte-title-morph-item___t7Wf3_1-3-25{
143
+ .magritte-title-morph-item___t7Wf3_1-3-26{
120
144
  display:flex;
121
145
  min-width:0;
122
146
  }
123
- .magritte-title___ZbLgP_1-3-25{
147
+ .magritte-title___ZbLgP_1-3-26{
124
148
  display:flex;
125
149
  flex:0 1 auto;
126
150
  min-width:0;
127
151
  }
128
- .magritte-pane-content___UVmC6_1-3-25{
152
+ .magritte-title___ZbLgP_1-3-26 .magritte-text-morph-item___-vXru_1-3-26{
153
+ color:var(--magritte-color-text-primary-v24-7-0);
154
+ font-family:"hh sans";
155
+ font-weight:500;
156
+ line-height:22px;
157
+ font-size:16px;
158
+ letter-spacing:0em;
159
+ text-indent:0px;
160
+ text-transform:none;
161
+ text-decoration:none;
162
+ }
163
+ .magritte-size-large___ISXfH_1-3-26 .magritte-title-main-part___npoHN_1-3-26{
164
+ gap:4px;
165
+ }
166
+ .magritte-size-large___ISXfH_1-3-26 .magritte-title-container___y9AIx_1-3-26{
167
+ min-height:var(--magritte-ui-navbar-title-container-min-height-large-override, 0);
168
+ }
169
+ .magritte-size-large___ISXfH_1-3-26 .magritte-title___ZbLgP_1-3-26 .magritte-text-morph-item___-vXru_1-3-26{
170
+ font-family:"hh sans";
171
+ font-weight:500;
172
+ line-height:32px;
173
+ font-size:22px;
174
+ letter-spacing:-0.0075em;
175
+ text-indent:0px;
176
+ text-transform:none;
177
+ text-decoration:none;
178
+ }
179
+ .magritte-size-large___ISXfH_1-3-26 .magritte-subtitle-container___nVUBu_1-3-26 .magritte-text-morph-item___-vXru_1-3-26{
180
+ font-family:"hh sans";
181
+ font-weight:400;
182
+ line-height:22px;
183
+ font-size:16px;
184
+ letter-spacing:0em;
185
+ text-indent:0px;
186
+ text-transform:none;
187
+ text-decoration:none;
188
+ }
189
+ .magritte-pane-content___UVmC6_1-3-26{
129
190
  position:relative;
130
191
  pointer-events:none;
131
192
  z-index:2;
132
193
  }
133
- .magritte-pane-background___PDZAX_1-3-25{
194
+ .magritte-pane-background___PDZAX_1-3-26{
134
195
  position:absolute;
135
196
  background-color:var(--magritte-ui-nav-bar-background-color-override, var(--magritte-ui-container-background-color-override, var(--magritte-color-background-body-v24-7-0)));
136
197
  opacity:0;
@@ -138,43 +199,43 @@
138
199
  z-index:-1;
139
200
  transform-origin:0 0;
140
201
  }
141
- .magritte-navbar-transparent-start___wysv0_1-3-25 .magritte-pane-background___PDZAX_1-3-25{
202
+ .magritte-navbar-transparent-start___wysv0_1-3-26 .magritte-pane-background___PDZAX_1-3-26{
142
203
  opacity:calc(var(--magritte-ui-navbar-animation-progress) * 0.95);
143
204
  }
144
- .magritte-navbar-transparent-end___6KqLR_1-3-25 .magritte-pane-background___PDZAX_1-3-25{
205
+ .magritte-navbar-transparent-end___6KqLR_1-3-26 .magritte-pane-background___PDZAX_1-3-26{
145
206
  opacity:calc((1 - var(--magritte-ui-navbar-animation-progress)) * 0.95);
146
207
  }
147
- .magritte-navbar-not-transparent___5KZNp_1-3-25 .magritte-pane-background___PDZAX_1-3-25{
208
+ .magritte-navbar-not-transparent___5KZNp_1-3-26 .magritte-pane-background___PDZAX_1-3-26{
148
209
  opacity:0.95;
149
210
  }
150
- .magritte-morph-item___8kF46_1-3-25{
211
+ .magritte-morph-item___8kF46_1-3-26{
151
212
  line-height:0;
152
213
  transform-origin:var(--magritte-ui-morph-item-transform-origin-x, center) var(--magritte-ui-morph-item-transform-origin-y, center);
153
214
  }
154
- .magritte-morph-item-top___WPEkn_1-3-25{
215
+ .magritte-morph-item-top___WPEkn_1-3-26{
155
216
  --magritte-ui-morph-item-transform-origin-y:top;
156
217
  }
157
- .magritte-morph-item-bottom___zNbsF_1-3-25{
218
+ .magritte-morph-item-bottom___zNbsF_1-3-26{
158
219
  --magritte-ui-morph-item-transform-origin-y:bottom;
159
220
  }
160
- .magritte-morph-item-left___T6AMW_1-3-25{
221
+ .magritte-morph-item-left___T6AMW_1-3-26{
161
222
  --magritte-ui-morph-item-transform-origin-x:left;
162
223
  }
163
- .magritte-morph-item-right___EuT1E_1-3-25{
224
+ .magritte-morph-item-right___EuT1E_1-3-26{
164
225
  --magritte-ui-morph-item-transform-origin-x:right;
165
226
  }
166
- .magritte-pane___f8eFC_1-3-25{
227
+ .magritte-pane___f8eFC_1-3-26{
167
228
  position:relative;
168
229
  overflow:hidden;
169
230
  pointer-events:none;
170
231
  }
171
- .magritte-start-state-container___giBVb_1-3-25{
232
+ .magritte-start-state-container___giBVb_1-3-26{
172
233
  position:relative;
173
234
  z-index:1;
174
235
  box-sizing:border-box;
175
236
  pointer-events:auto;
176
237
  }
177
- .magritte-end-state-container___uiW8Q_1-3-25{
238
+ .magritte-end-state-container___uiW8Q_1-3-26{
178
239
  position:absolute;
179
240
  z-index:0;
180
241
  top:0;
@@ -183,66 +244,66 @@
183
244
  pointer-events:none;
184
245
  opacity:0;
185
246
  }
186
- .magritte-content-container___7s7vv_1-3-25{
247
+ .magritte-content-container___7s7vv_1-3-26{
187
248
  box-sizing:border-box;
188
249
  }
189
- .magritte-next-pane___H2oxQ_1-3-25{
250
+ .magritte-next-pane___H2oxQ_1-3-26{
190
251
  position:relative;
191
252
  }
192
- .magritte-nav-bar___RRGe0_1-3-25{
253
+ .magritte-nav-bar___RRGe0_1-3-26{
193
254
  top:0;
194
255
  position:sticky;
195
256
  pointer-events:none;
196
257
  overflow-anchor:none;
197
258
  z-index:10;
198
259
  }
199
- .magritte-nav-bar-overlay___Mq5ZD_1-3-25 .magritte-nav-bar-overlay-wrapper___y1VpY_1-3-25{
260
+ .magritte-nav-bar-overlay___Mq5ZD_1-3-26 .magritte-nav-bar-overlay-wrapper___y1VpY_1-3-26{
200
261
  position:absolute;
201
262
  inset:0;
202
263
  }
203
- .magritte-nav-bar-content-container___H-WMO_1-3-25{
264
+ .magritte-nav-bar-content-container___H-WMO_1-3-26{
204
265
  display:grid;
205
266
  position:relative;
206
267
  }
207
- .magritte-nav-bar-panes-container___5ZDLa_1-3-25{
268
+ .magritte-nav-bar-panes-container___5ZDLa_1-3-26{
208
269
  position:relative;
209
270
  z-index:1;
210
271
  grid-area:1 / 1;
211
272
  min-width:0;
212
273
  }
213
- .magritte-nav-bar-progressive-blur___qyeUV_1-3-25{
274
+ .magritte-nav-bar-progressive-blur___qyeUV_1-3-26{
214
275
  position:relative;
215
276
  z-index:0;
216
277
  transform-origin:0 0;
217
278
  grid-area:1 / 1;
218
279
  min-width:0;
219
280
  }
220
- .magritte-nav-bar-content-container___H-WMO_1-3-25 .magritte-nav-bar-stage___amDz7_1-3-25,
221
- .magritte-nav-bar-content-container___H-WMO_1-3-25 .nav-bar-layout-animation-stage-start,
222
- .magritte-nav-bar-content-container___H-WMO_1-3-25 .nav-bar-layout-animation-stage-end{
281
+ .magritte-nav-bar-content-container___H-WMO_1-3-26 .magritte-nav-bar-stage___amDz7_1-3-26,
282
+ .magritte-nav-bar-content-container___H-WMO_1-3-26 .nav-bar-layout-animation-stage-start,
283
+ .magritte-nav-bar-content-container___H-WMO_1-3-26 .nav-bar-layout-animation-stage-end{
223
284
  padding-top:calc(8px + var(--magritte-ui-nav-bar-padding-top-override, 0px));
224
285
  }
225
- .magritte-nav-bar-content-container___H-WMO_1-3-25 .magritte-next-pane___H2oxQ_1-3-25 .magritte-nav-bar-stage___amDz7_1-3-25,
226
- .magritte-nav-bar-content-container___H-WMO_1-3-25 .magritte-next-pane___H2oxQ_1-3-25 .nav-bar-layout-animation-stage-start,
227
- .magritte-nav-bar-content-container___H-WMO_1-3-25 .magritte-next-pane___H2oxQ_1-3-25 .nav-bar-layout-animation-stage-end{
286
+ .magritte-nav-bar-content-container___H-WMO_1-3-26 .magritte-next-pane___H2oxQ_1-3-26 .magritte-nav-bar-stage___amDz7_1-3-26,
287
+ .magritte-nav-bar-content-container___H-WMO_1-3-26 .magritte-next-pane___H2oxQ_1-3-26 .nav-bar-layout-animation-stage-start,
288
+ .magritte-nav-bar-content-container___H-WMO_1-3-26 .magritte-next-pane___H2oxQ_1-3-26 .nav-bar-layout-animation-stage-end{
228
289
  padding-top:8px;
229
290
  }
230
- .magritte-last-pane___Hf2No_1-3-25 .magritte-nav-bar-stage___amDz7_1-3-25,
231
- .magritte-last-pane___Hf2No_1-3-25 .nav-bar-layout-animation-stage-start,
232
- .magritte-last-pane___Hf2No_1-3-25 .nav-bar-layout-animation-stage-end{
291
+ .magritte-last-pane___Hf2No_1-3-26 .magritte-nav-bar-stage___amDz7_1-3-26,
292
+ .magritte-last-pane___Hf2No_1-3-26 .nav-bar-layout-animation-stage-start,
293
+ .magritte-last-pane___Hf2No_1-3-26 .nav-bar-layout-animation-stage-end{
233
294
  padding-bottom:var(--magritte-ui-nav-bar-stage-padding-bottom-override, 8px);
234
295
  }
235
- .magritte-next-pane___H2oxQ_1-3-25 .magritte-last-pane___Hf2No_1-3-25 .magritte-nav-bar-stage___amDz7_1-3-25,
236
- .magritte-next-pane___H2oxQ_1-3-25 .magritte-last-pane___Hf2No_1-3-25 .nav-bar-layout-animation-stage-start,
237
- .magritte-next-pane___H2oxQ_1-3-25 .magritte-last-pane___Hf2No_1-3-25 .nav-bar-layout-animation-stage-end{
296
+ .magritte-next-pane___H2oxQ_1-3-26 .magritte-last-pane___Hf2No_1-3-26 .magritte-nav-bar-stage___amDz7_1-3-26,
297
+ .magritte-next-pane___H2oxQ_1-3-26 .magritte-last-pane___Hf2No_1-3-26 .nav-bar-layout-animation-stage-start,
298
+ .magritte-next-pane___H2oxQ_1-3-26 .magritte-last-pane___Hf2No_1-3-26 .nav-bar-layout-animation-stage-end{
238
299
  padding-bottom:var(--magritte-ui-nav-bar-stage-padding-bottom-override, 16px);
239
300
  }
240
- .magritte-nav-bar-stage___amDz7_1-3-25{
301
+ .magritte-nav-bar-stage___amDz7_1-3-26{
241
302
  padding:8px var(--magritte-ui-nav-bar-stage-horizontal-padding-override, 16px);
242
303
  }
243
- .magritte-metrics-mode___h38aX_1-3-25 .magritte-morph-item___8kF46_1-3-25,
244
- .magritte-metrics-mode___h38aX_1-3-25 .magritte-pane___f8eFC_1-3-25,
245
- .magritte-metrics-mode___h38aX_1-3-25 .magritte-next-pane___H2oxQ_1-3-25{
304
+ .magritte-metrics-mode___h38aX_1-3-26 .magritte-morph-item___8kF46_1-3-26,
305
+ .magritte-metrics-mode___h38aX_1-3-26 .magritte-pane___f8eFC_1-3-26,
306
+ .magritte-metrics-mode___h38aX_1-3-26 .magritte-next-pane___H2oxQ_1-3-26{
246
307
  transform:none !important;
247
308
  }
248
309
  .nav-bar-layout-animation-stage-end,
@@ -253,41 +314,41 @@
253
314
  height:auto !important;
254
315
  transform:none !important;
255
316
  }
256
- .nav-bar-layout-animation-stage-end .magritte-layout-morph___I3SPy_1-3-25,
257
- .nav-bar-layout-animation-stage-start .magritte-layout-morph___I3SPy_1-3-25{
317
+ .nav-bar-layout-animation-stage-end .magritte-layout-morph___I3SPy_1-3-26,
318
+ .nav-bar-layout-animation-stage-start .magritte-layout-morph___I3SPy_1-3-26{
258
319
  position:static !important;
259
320
  width:auto !important;
260
321
  height:auto !important;
261
322
  transform:none !important;
262
323
  }
263
- .magritte-layout-morph___I3SPy_1-3-25{
324
+ .magritte-layout-morph___I3SPy_1-3-26{
264
325
  display:block;
265
326
  position:absolute;
266
327
  transform-origin:var(--magritte-ui-morph-item-transform-origin-x, center) var(--magritte-ui-morph-item-transform-origin-y, center);
267
328
  z-index:3;
268
329
  }
269
- .magritte-animation-stage-progress___5FthT_1-3-25 .magritte-layout-morph___I3SPy_1-3-25 > *{
330
+ .magritte-animation-stage-progress___5FthT_1-3-26 .magritte-layout-morph___I3SPy_1-3-26 > *{
270
331
  margin:0 !important;
271
332
  }
272
- .magritte-layout-morph-start___9-krP_1-3-25{
333
+ .magritte-layout-morph-start___9-krP_1-3-26{
273
334
  z-index:2;
274
335
  }
275
- .magritte-layout-morph-end___LIg4d_1-3-25{
336
+ .magritte-layout-morph-end___LIg4d_1-3-26{
276
337
  z-index:1;
277
338
  }
278
- .nav-bar-layout-animation-stage-start .magritte-layout-morph___I3SPy_1-3-25{
339
+ .nav-bar-layout-animation-stage-start .magritte-layout-morph___I3SPy_1-3-26{
279
340
  display:contents;
280
341
  }
281
- .nav-bar-layout-animation-stage-start .magritte-layout-morph-end___LIg4d_1-3-25{
342
+ .nav-bar-layout-animation-stage-start .magritte-layout-morph-end___LIg4d_1-3-26{
282
343
  display:none;
283
344
  }
284
- .nav-bar-layout-animation-stage-end .magritte-layout-morph___I3SPy_1-3-25{
345
+ .nav-bar-layout-animation-stage-end .magritte-layout-morph___I3SPy_1-3-26{
285
346
  display:contents;
286
347
  }
287
- .nav-bar-layout-animation-stage-end .magritte-layout-morph-start___9-krP_1-3-25{
348
+ .nav-bar-layout-animation-stage-end .magritte-layout-morph-start___9-krP_1-3-26{
288
349
  display:none;
289
350
  }
290
- .magritte-divider-container___-NdWi_1-3-25{
351
+ .magritte-divider-container___-NdWi_1-3-26{
291
352
  position:absolute;
292
353
  width:100%;
293
354
  bottom:0;
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Actions, type ActionsProps } from '@hh.ru/magritte-ui-nav-bar/public/Actions';
2
+ export { NavBarDefaultPropsContext, type NavBarDefaultPropsContextProps, } from '@hh.ru/magritte-ui-nav-bar/public/defaultProps';
2
3
  export { NavBar, type NavBarProps } from '@hh.ru/magritte-ui-nav-bar/public/NavBar';
3
4
  export { ExternalPane as Pane, type ExternalPaneProps as PaneProps } from '@hh.ru/magritte-ui-nav-bar/public/Pane';
4
5
  export { ExternalStage as Stage } from '@hh.ru/magritte-ui-nav-bar/public/Stage';
package/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import './index.css';
2
2
  export { Actions } from './public/Actions.js';
3
+ export { NavBarDefaultPropsContext } from './public/defaultProps.js';
3
4
  export { NavBar } from './public/NavBar.js';
4
5
  export { ExternalPane as Pane } from './public/Pane.js';
5
6
  export { ExternalStage as Stage } from './public/Stage.js';
@@ -12,7 +13,8 @@ import 'react/jsx-runtime';
12
13
  import 'react';
13
14
  import 'classnames';
14
15
  import '@hh.ru/magritte-ui-icon';
15
- import './nav-bar-DEFIZlLr.js';
16
+ import './nav-bar-CmjjkPy6.js';
17
+ import '@hh.ru/magritte-internal-default-props-context';
16
18
  import 'motion/react';
17
19
  import '@hh.ru/magritte-ui-divider';
18
20
  import '@hh.ru/magritte-ui-layer';
@@ -32,6 +34,7 @@ import './internal/MorphStore.js';
32
34
  import './internal/KeyedSubscriptions.js';
33
35
  import './internal/PaneStore.js';
34
36
  import './internal/useInert.js';
37
+ import '@hh.ru/magritte-ui-typography';
35
38
  import '@hh.ru/magritte-common-use-when-font-loaded';
36
39
  import '@hh.ru/magritte-common-use-multiple-refs';
37
40
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import './index.css';
2
+ var styles = {"actions-container":"magritte-actions-container___CBgYW_1-3-26","actionsContainer":"magritte-actions-container___CBgYW_1-3-26","actions-no-children":"magritte-actions-no-children___rgJUl_1-3-26","actionsNoChildren":"magritte-actions-no-children___rgJUl_1-3-26","actions-left-slot":"magritte-actions-left-slot___DNOj0_1-3-26","actionsLeftSlot":"magritte-actions-left-slot___DNOj0_1-3-26","actions-right-slot":"magritte-actions-right-slot___aodtj_1-3-26","actionsRightSlot":"magritte-actions-right-slot___aodtj_1-3-26","navbar-transparent-end":"magritte-navbar-transparent-end___6KqLR_1-3-26","navbarTransparentEnd":"magritte-navbar-transparent-end___6KqLR_1-3-26","actions-start-stage":"magritte-actions-start-stage___MJ67a_1-3-26","actionsStartStage":"magritte-actions-start-stage___MJ67a_1-3-26","actions-side-slot-content":"magritte-actions-side-slot-content___TlHrX_1-3-26","actionsSideSlotContent":"magritte-actions-side-slot-content___TlHrX_1-3-26","actions-icon-morph":"magritte-actions-icon-morph___-nNgW_1-3-26","actionsIconMorph":"magritte-actions-icon-morph___-nNgW_1-3-26","navbar-transparent-start":"magritte-navbar-transparent-start___wysv0_1-3-26","navbarTransparentStart":"magritte-navbar-transparent-start___wysv0_1-3-26","actions-end-stage":"magritte-actions-end-stage___qHtTV_1-3-26","actionsEndStage":"magritte-actions-end-stage___qHtTV_1-3-26","navbar-not-transparent":"magritte-navbar-not-transparent___5KZNp_1-3-26","navbarNotTransparent":"magritte-navbar-not-transparent___5KZNp_1-3-26","navbar-transparent":"magritte-navbar-transparent___ULEh8_1-3-26","navbarTransparent":"magritte-navbar-transparent___ULEh8_1-3-26","actions-only-stage":"magritte-actions-only-stage___cg10A_1-3-26","actionsOnlyStage":"magritte-actions-only-stage___cg10A_1-3-26","actions-side-slot-content-clone":"magritte-actions-side-slot-content-clone___jDxVm_1-3-26","actionsSideSlotContentClone":"magritte-actions-side-slot-content-clone___jDxVm_1-3-26","actions-center-slot":"magritte-actions-center-slot___hLAy6_1-3-26","actionsCenterSlot":"magritte-actions-center-slot___hLAy6_1-3-26","actions-center-slot-centered":"magritte-actions-center-slot-centered___merXQ_1-3-26","actionsCenterSlotCentered":"magritte-actions-center-slot-centered___merXQ_1-3-26","align-top":"magritte-align-top___-QSFW_1-3-26","alignTop":"magritte-align-top___-QSFW_1-3-26","align-bottom":"magritte-align-bottom___FliHI_1-3-26","alignBottom":"magritte-align-bottom___FliHI_1-3-26","title-container-wrapper":"magritte-title-container-wrapper___DQUcj_1-3-26","titleContainerWrapper":"magritte-title-container-wrapper___DQUcj_1-3-26","title-main-part":"magritte-title-main-part___npoHN_1-3-26","titleMainPart":"magritte-title-main-part___npoHN_1-3-26","title-left-slot":"magritte-title-left-slot___HTE7h_1-3-26","titleLeftSlot":"magritte-title-left-slot___HTE7h_1-3-26","title-container":"magritte-title-container___y9AIx_1-3-26","titleContainer":"magritte-title-container___y9AIx_1-3-26","subtitle-container":"magritte-subtitle-container___nVUBu_1-3-26","subtitleContainer":"magritte-subtitle-container___nVUBu_1-3-26","text-morph-item":"magritte-text-morph-item___-vXru_1-3-26","textMorphItem":"magritte-text-morph-item___-vXru_1-3-26","centered":"magritte-centered___Y2mlP_1-3-26","title-morph-item":"magritte-title-morph-item___t7Wf3_1-3-26","titleMorphItem":"magritte-title-morph-item___t7Wf3_1-3-26","title":"magritte-title___ZbLgP_1-3-26","size-large":"magritte-size-large___ISXfH_1-3-26","sizeLarge":"magritte-size-large___ISXfH_1-3-26","pane-content":"magritte-pane-content___UVmC6_1-3-26","paneContent":"magritte-pane-content___UVmC6_1-3-26","pane-background":"magritte-pane-background___PDZAX_1-3-26","paneBackground":"magritte-pane-background___PDZAX_1-3-26","morph-item":"magritte-morph-item___8kF46_1-3-26","morphItem":"magritte-morph-item___8kF46_1-3-26","morph-item-top":"magritte-morph-item-top___WPEkn_1-3-26","morphItemTop":"magritte-morph-item-top___WPEkn_1-3-26","morph-item-bottom":"magritte-morph-item-bottom___zNbsF_1-3-26","morphItemBottom":"magritte-morph-item-bottom___zNbsF_1-3-26","morph-item-left":"magritte-morph-item-left___T6AMW_1-3-26","morphItemLeft":"magritte-morph-item-left___T6AMW_1-3-26","morph-item-right":"magritte-morph-item-right___EuT1E_1-3-26","morphItemRight":"magritte-morph-item-right___EuT1E_1-3-26","pane":"magritte-pane___f8eFC_1-3-26","start-state-container":"magritte-start-state-container___giBVb_1-3-26","startStateContainer":"magritte-start-state-container___giBVb_1-3-26","end-state-container":"magritte-end-state-container___uiW8Q_1-3-26","endStateContainer":"magritte-end-state-container___uiW8Q_1-3-26","content-container":"magritte-content-container___7s7vv_1-3-26","contentContainer":"magritte-content-container___7s7vv_1-3-26","next-pane":"magritte-next-pane___H2oxQ_1-3-26","nextPane":"magritte-next-pane___H2oxQ_1-3-26","nav-bar":"magritte-nav-bar___RRGe0_1-3-26","navBar":"magritte-nav-bar___RRGe0_1-3-26","nav-bar-overlay":"magritte-nav-bar-overlay___Mq5ZD_1-3-26","navBarOverlay":"magritte-nav-bar-overlay___Mq5ZD_1-3-26","nav-bar-overlay-wrapper":"magritte-nav-bar-overlay-wrapper___y1VpY_1-3-26","navBarOverlayWrapper":"magritte-nav-bar-overlay-wrapper___y1VpY_1-3-26","nav-bar-content-container":"magritte-nav-bar-content-container___H-WMO_1-3-26","navBarContentContainer":"magritte-nav-bar-content-container___H-WMO_1-3-26","nav-bar-panes-container":"magritte-nav-bar-panes-container___5ZDLa_1-3-26","navBarPanesContainer":"magritte-nav-bar-panes-container___5ZDLa_1-3-26","nav-bar-progressive-blur":"magritte-nav-bar-progressive-blur___qyeUV_1-3-26","navBarProgressiveBlur":"magritte-nav-bar-progressive-blur___qyeUV_1-3-26","nav-bar-stage":"magritte-nav-bar-stage___amDz7_1-3-26","navBarStage":"magritte-nav-bar-stage___amDz7_1-3-26","last-pane":"magritte-last-pane___Hf2No_1-3-26","lastPane":"magritte-last-pane___Hf2No_1-3-26","metrics-mode":"magritte-metrics-mode___h38aX_1-3-26","metricsMode":"magritte-metrics-mode___h38aX_1-3-26","layout-morph":"magritte-layout-morph___I3SPy_1-3-26","layoutMorph":"magritte-layout-morph___I3SPy_1-3-26","animation-stage-progress":"magritte-animation-stage-progress___5FthT_1-3-26","animationStageProgress":"magritte-animation-stage-progress___5FthT_1-3-26","layout-morph-start":"magritte-layout-morph-start___9-krP_1-3-26","layoutMorphStart":"magritte-layout-morph-start___9-krP_1-3-26","layout-morph-end":"magritte-layout-morph-end___LIg4d_1-3-26","layoutMorphEnd":"magritte-layout-morph-end___LIg4d_1-3-26","divider-container":"magritte-divider-container___-NdWi_1-3-26","dividerContainer":"magritte-divider-container___-NdWi_1-3-26"};
3
+
4
+ export { styles as s };
5
+ //# sourceMappingURL=nav-bar-CmjjkPy6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-bar-CmjjkPy6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-ui-nav-bar",
3
- "version": "1.3.25",
3
+ "version": "1.3.26",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -31,10 +31,12 @@
31
31
  "@hh.ru/magritte-common-use-when-font-loaded": "1.0.14",
32
32
  "@hh.ru/magritte-design-tokens": "24.7.0",
33
33
  "@hh.ru/magritte-internal-custom-scroll": "2.1.1",
34
+ "@hh.ru/magritte-internal-default-props-context": "1.0.1",
34
35
  "@hh.ru/magritte-ui-divider": "3.1.3",
35
- "@hh.ru/magritte-ui-icon": "14.2.7",
36
+ "@hh.ru/magritte-ui-icon": "14.2.8",
36
37
  "@hh.ru/magritte-ui-layer": "3.2.4",
37
- "@hh.ru/magritte-ui-mock-component": "1.1.7"
38
+ "@hh.ru/magritte-ui-mock-component": "1.1.7",
39
+ "@hh.ru/magritte-ui-typography": "5.3.2"
38
40
  },
39
- "gitHead": "bb1e633205115ba4a178ce0a83953e09e3e40bc6"
41
+ "gitHead": "fa01b9128d8cb502e80c61cd964d7a8a3a279957"
40
42
  }
@@ -14,13 +14,19 @@ export interface ActionsProps {
14
14
  children?: ReactNode;
15
15
  /**
16
16
  * Включает центрирование контента центрального слота относительно всего компонента.
17
+ * @default false
17
18
  */
18
19
  centered?: boolean;
19
20
  /**
20
21
  * Управляет автоматическим оборачиванием всего контента в компоненты <Morph />.
21
22
  * По умолчанию включен, но может быть отключен если требуется более сложное описание анимации
22
23
  * чем используется по умолчанию.
24
+ * @default true
23
25
  */
24
26
  autoMorph?: boolean;
27
+ /**
28
+ * @default center
29
+ */
30
+ verticalAlign?: 'top' | 'center' | 'bottom';
25
31
  }
26
32
  export declare const Actions: FC<PropsWithChildren<ActionsProps>>;
package/public/Actions.js CHANGED
@@ -1,12 +1,13 @@
1
1
  import './../index.css';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
- import { Children, isValidElement, Fragment } from 'react';
3
+ import { useMemo, Children, isValidElement, Fragment } from 'react';
4
4
  import classNames from 'classnames';
5
- import { isIconElement } from '@hh.ru/magritte-ui-icon';
5
+ import { IconDefaultPropsContext, isIconElement } from '@hh.ru/magritte-ui-icon';
6
6
  import { EnvironmentFingerprintNode } from './EnvironmentFingerprintNode.js';
7
7
  import { Morph } from './Morph.js';
8
8
  import { useAnimationStage } from './Stage.js';
9
- import { s as styles } from '../nav-bar-DEFIZlLr.js';
9
+ import { useActionsDefaultProps, useActionsIconsDefaultProps } from './defaultProps.js';
10
+ import { s as styles } from '../nav-bar-CmjjkPy6.js';
10
11
  import '../internal/MetricsProvider.js';
11
12
  import '../internal/utils.js';
12
13
  import 'motion';
@@ -16,8 +17,19 @@ import '../internal/KeyedSubscriptions.js';
16
17
  import '../internal/PaneStore.js';
17
18
  import '../internal/NavBarContext.js';
18
19
  import '../internal/useInert.js';
20
+ import '@hh.ru/magritte-internal-default-props-context';
19
21
 
20
22
  const isFragmentElement = (node) => isValidElement(node) && node.type === Fragment;
23
+ /**
24
+ * Базовые дефолтные пропсы иконок в боковых слотах `Actions`. Через `NavBarDefaultPropsContext`
25
+ * (ключ `actionsIcons`) их можно переопределить; на иконки центрального слота не распространяются.
26
+ */
27
+ const SIDE_SLOT_ICON_DEFAULT_PROPS = {
28
+ padding: 8,
29
+ initialColor: 'primary',
30
+ backgroundStyle: 'overlay-action',
31
+ borderRadius: 'halfHeight',
32
+ };
21
33
  const wrapToMorph = (node, isRight) => {
22
34
  const arr = isFragmentElement(node) ? Children.toArray(node.props.children) : Children.toArray(node);
23
35
  return arr.map((node, index) => (jsx(Morph, { className: isIconElement(node) ? styles.actionsIconMorph : '', id: `actions-component-${isRight ? 'right' : 'left'}-slot-item-${isRight ? arr.length - index : index}`, children: node }, index)));
@@ -26,14 +38,24 @@ const wrapToDiv = (node) => {
26
38
  const arr = isFragmentElement(node) ? Children.toArray(node.props.children) : Children.toArray(node);
27
39
  return arr.map((node, index) => (jsx("div", { className: isIconElement(node) ? styles.actionsIconMorph : '', children: node }, index)));
28
40
  };
29
- const Actions = ({ children, left, right, centered = false, autoMorph = true, }) => {
41
+ const Actions = (props) => {
42
+ const defaultProps = useActionsDefaultProps();
43
+ const { children, left, right, centered = false, autoMorph = true, verticalAlign = 'center', } = { ...defaultProps, ...props };
44
+ const actionsIconsOverride = useActionsIconsDefaultProps();
45
+ const sideSlotIconProps = useMemo(
46
+ // Каст: спред union-типа `IconProps` (ветки styled/hexed с взаимоисключающими `initialColor`/`hex`)
47
+ // TS не сводит обратно к `Partial<IconProps>`, хотя мёрж семантически корректен.
48
+ () => ({ ...SIDE_SLOT_ICON_DEFAULT_PROPS, ...actionsIconsOverride }), [actionsIconsOverride]);
30
49
  const stage = useAnimationStage();
31
50
  return (jsxs("div", { className: classNames(styles.actionsContainer, {
32
51
  [styles.actionsStartStage]: stage === 'start',
33
52
  [styles.actionsEndStage]: stage === 'end',
34
53
  [styles.actionsOnlyStage]: stage === 'only',
35
54
  [styles.actionsNoChildren]: !children,
36
- }), children: [(!!left || (!!right && centered)) && (jsxs("div", { className: styles.actionsLeftSlot, children: [!!left && (jsx(EnvironmentFingerprintNode, { className: styles.actionsSideSlotContent, children: autoMorph && stage !== 'only' ? wrapToMorph(left, false) : wrapToDiv(left) })), centered && !!right && (jsx("div", { className: styles.actionsSideSlotContentClone, "aria-hidden": "true", "data-qa": "actions-duplicate-container", inert: 'true', children: wrapToDiv(right) }))] })), (!!children || !left || !right) && (jsx("div", { className: classNames(styles.actionsCenterSlot, { [styles.actionsCenterSlotCentered]: centered }), children: children })), (!!right || (!!left && centered)) && (jsxs("div", { className: styles.actionsRightSlot, children: [!!right && (jsx(EnvironmentFingerprintNode, { className: styles.actionsSideSlotContent, children: autoMorph && stage !== 'only' ? wrapToMorph(right, true) : wrapToDiv(right) })), centered && !!left && (jsx("div", { className: styles.actionsSideSlotContentClone, "aria-hidden": "true", "data-qa": "actions-duplicate-container", inert: 'true', children: wrapToDiv(left) }))] }))] }));
55
+ [styles.alignTop]: verticalAlign === 'top',
56
+ [styles.alignCenter]: verticalAlign === 'center',
57
+ [styles.alignBottom]: verticalAlign === 'bottom',
58
+ }), children: [(!!left || (!!right && centered)) && (jsx(IconDefaultPropsContext, { props: sideSlotIconProps, children: jsxs("div", { className: styles.actionsLeftSlot, children: [!!left && (jsx(EnvironmentFingerprintNode, { className: styles.actionsSideSlotContent, children: autoMorph && stage !== 'only' ? wrapToMorph(left, false) : wrapToDiv(left) })), centered && !!right && (jsx("div", { className: styles.actionsSideSlotContentClone, "aria-hidden": "true", "data-qa": "actions-duplicate-container", inert: 'true', children: wrapToDiv(right) }))] }) })), (!!children || !left || !right) && (jsx("div", { className: classNames(styles.actionsCenterSlot, { [styles.actionsCenterSlotCentered]: centered }), children: children })), (!!right || (!!left && centered)) && (jsx(IconDefaultPropsContext, { props: sideSlotIconProps, children: jsxs("div", { className: styles.actionsRightSlot, children: [!!right && (jsx(EnvironmentFingerprintNode, { className: styles.actionsSideSlotContent, children: autoMorph && stage !== 'only' ? wrapToMorph(right, true) : wrapToDiv(right) })), centered && !!left && (jsx("div", { className: styles.actionsSideSlotContentClone, "aria-hidden": "true", "data-qa": "actions-duplicate-container", inert: 'true', children: wrapToDiv(left) }))] }) }))] }));
37
59
  };
38
60
 
39
61
  export { Actions };
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sources":["src/public/Actions.tsx"],"sourcesContent":["import {\n Children,\n Fragment,\n isValidElement,\n type JSXElementConstructor,\n type PropsWithChildren,\n type ReactElement,\n type FC,\n type ReactNode,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { isIconElement } from '@hh.ru/magritte-ui-icon';\nimport { EnvironmentFingerprintNode } from '@hh.ru/magritte-ui-nav-bar/public/EnvironmentFingerprintNode';\nimport { Morph } from '@hh.ru/magritte-ui-nav-bar/public/Morph';\nimport { useAnimationStage } from '@hh.ru/magritte-ui-nav-bar/public/Stage';\n\nimport styles from './nav-bar.less';\n\nexport interface ActionsProps {\n /**\n * Контент левого слота\n */\n left?: ReactNode | ReactNode[];\n /**\n * Контент правого слота\n */\n right?: ReactNode | ReactNode[];\n /**\n * Контент центрального слота\n */\n children?: ReactNode;\n /**\n * Включает центрирование контента центрального слота относительно всего компонента.\n */\n centered?: boolean;\n /**\n * Управляет автоматическим оборачиванием всего контента в компоненты <Morph />.\n * По умолчанию включен, но может быть отключен если требуется более сложное описание анимации\n * чем используется по умолчанию.\n */\n autoMorph?: boolean;\n}\n\nconst isFragmentElement = (\n node: ReactNode\n): node is ReactElement<PropsWithChildren, JSXElementConstructor<PropsWithChildren>> =>\n isValidElement(node) && node.type === Fragment;\n\nconst wrapToMorph = (node: ReactNode | ReactNode[], isRight: boolean) => {\n const arr = isFragmentElement(node) ? Children.toArray(node.props.children) : Children.toArray(node);\n\n return arr.map((node, index) => (\n <Morph\n className={isIconElement(node) ? styles.actionsIconMorph : ''}\n id={`actions-component-${isRight ? 'right' : 'left'}-slot-item-${isRight ? arr.length - index : index}`}\n key={index}\n >\n {node}\n </Morph>\n ));\n};\n\nconst wrapToDiv = (node: ReactNode | ReactNode[]) => {\n const arr = isFragmentElement(node) ? Children.toArray(node.props.children) : Children.toArray(node);\n\n return arr.map((node, index) => (\n <div className={isIconElement(node) ? styles.actionsIconMorph : ''} key={index}>\n {node}\n </div>\n ));\n};\n\nexport const Actions: FC<PropsWithChildren<ActionsProps>> = ({\n children,\n left,\n right,\n centered = false,\n autoMorph = true,\n}) => {\n const stage = useAnimationStage();\n return (\n <div\n className={classNames(styles.actionsContainer, {\n [styles.actionsStartStage]: stage === 'start',\n [styles.actionsEndStage]: stage === 'end',\n [styles.actionsOnlyStage]: stage === 'only',\n [styles.actionsNoChildren]: !children,\n })}\n >\n {(!!left || (!!right && centered)) && (\n <div className={styles.actionsLeftSlot}>\n {!!left && (\n <EnvironmentFingerprintNode className={styles.actionsSideSlotContent}>\n {autoMorph && stage !== 'only' ? wrapToMorph(left, false) : wrapToDiv(left)}\n </EnvironmentFingerprintNode>\n )}\n {centered && !!right && (\n <div\n className={styles.actionsSideSlotContentClone}\n aria-hidden=\"true\"\n data-qa=\"actions-duplicate-container\"\n // атрибут не завезли в типы react 18, только с 19го\n {...{ inert: 'true' }}\n >\n {wrapToDiv(right)}\n </div>\n )}\n </div>\n )}\n\n {(!!children || !left || !right) && (\n <div className={classNames(styles.actionsCenterSlot, { [styles.actionsCenterSlotCentered]: centered })}>\n {children}\n </div>\n )}\n\n {(!!right || (!!left && centered)) && (\n <div className={styles.actionsRightSlot}>\n {!!right && (\n <EnvironmentFingerprintNode className={styles.actionsSideSlotContent}>\n {autoMorph && stage !== 'only' ? wrapToMorph(right, true) : wrapToDiv(right)}\n </EnvironmentFingerprintNode>\n )}\n {centered && !!left && (\n <div\n className={styles.actionsSideSlotContentClone}\n aria-hidden=\"true\"\n data-qa=\"actions-duplicate-container\"\n {...{ inert: 'true' }}\n >\n {wrapToDiv(left)}\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Actions.js","sources":["src/public/Actions.tsx"],"sourcesContent":["import {\n Children,\n Fragment,\n isValidElement,\n useMemo,\n type JSXElementConstructor,\n type PropsWithChildren,\n type ReactElement,\n type FC,\n type ReactNode,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { isIconElement, IconDefaultPropsContext } from '@hh.ru/magritte-ui-icon';\nimport type { IconProps } from '@hh.ru/magritte-ui-icon/types';\nimport { EnvironmentFingerprintNode } from '@hh.ru/magritte-ui-nav-bar/public/EnvironmentFingerprintNode';\nimport { Morph } from '@hh.ru/magritte-ui-nav-bar/public/Morph';\nimport { useAnimationStage } from '@hh.ru/magritte-ui-nav-bar/public/Stage';\nimport { useActionsDefaultProps, useActionsIconsDefaultProps } from '@hh.ru/magritte-ui-nav-bar/public/defaultProps';\n\nimport styles from './nav-bar.less';\n\nexport interface ActionsProps {\n /**\n * Контент левого слота\n */\n left?: ReactNode | ReactNode[];\n /**\n * Контент правого слота\n */\n right?: ReactNode | ReactNode[];\n /**\n * Контент центрального слота\n */\n children?: ReactNode;\n /**\n * Включает центрирование контента центрального слота относительно всего компонента.\n * @default false\n */\n centered?: boolean;\n /**\n * Управляет автоматическим оборачиванием всего контента в компоненты <Morph />.\n * По умолчанию включен, но может быть отключен если требуется более сложное описание анимации\n * чем используется по умолчанию.\n * @default true\n */\n autoMorph?: boolean;\n /**\n * @default center\n */\n verticalAlign?: 'top' | 'center' | 'bottom';\n}\n\nconst isFragmentElement = (\n node: ReactNode\n): node is ReactElement<PropsWithChildren, JSXElementConstructor<PropsWithChildren>> =>\n isValidElement(node) && node.type === Fragment;\n/**\n * Базовые дефолтные пропсы иконок в боковых слотах `Actions`. Через `NavBarDefaultPropsContext`\n * (ключ `actionsIcons`) их можно переопределить; на иконки центрального слота не распространяются.\n */\nconst SIDE_SLOT_ICON_DEFAULT_PROPS: Partial<IconProps> = {\n padding: 8,\n initialColor: 'primary',\n backgroundStyle: 'overlay-action',\n borderRadius: 'halfHeight',\n};\n\nconst wrapToMorph = (node: ReactNode | ReactNode[], isRight: boolean) => {\n const arr = isFragmentElement(node) ? Children.toArray(node.props.children) : Children.toArray(node);\n\n return arr.map((node, index) => (\n <Morph\n className={isIconElement(node) ? styles.actionsIconMorph : ''}\n id={`actions-component-${isRight ? 'right' : 'left'}-slot-item-${isRight ? arr.length - index : index}`}\n key={index}\n >\n {node}\n </Morph>\n ));\n};\n\nconst wrapToDiv = (node: ReactNode | ReactNode[]) => {\n const arr = isFragmentElement(node) ? Children.toArray(node.props.children) : Children.toArray(node);\n\n return arr.map((node, index) => (\n <div className={isIconElement(node) ? styles.actionsIconMorph : ''} key={index}>\n {node}\n </div>\n ));\n};\n\nexport const Actions: FC<PropsWithChildren<ActionsProps>> = (props) => {\n const defaultProps = useActionsDefaultProps();\n const {\n children,\n left,\n right,\n centered = false,\n autoMorph = true,\n verticalAlign = 'center',\n } = { ...defaultProps, ...props };\n const actionsIconsOverride = useActionsIconsDefaultProps();\n const sideSlotIconProps = useMemo(\n // Каст: спред union-типа `IconProps` (ветки styled/hexed с взаимоисключающими `initialColor`/`hex`)\n // TS не сводит обратно к `Partial<IconProps>`, хотя мёрж семантически корректен.\n () => ({ ...SIDE_SLOT_ICON_DEFAULT_PROPS, ...actionsIconsOverride }) as Partial<IconProps>,\n [actionsIconsOverride]\n );\n const stage = useAnimationStage();\n return (\n <div\n className={classNames(styles.actionsContainer, {\n [styles.actionsStartStage]: stage === 'start',\n [styles.actionsEndStage]: stage === 'end',\n [styles.actionsOnlyStage]: stage === 'only',\n [styles.actionsNoChildren]: !children,\n [styles.alignTop]: verticalAlign === 'top',\n [styles.alignCenter]: verticalAlign === 'center',\n [styles.alignBottom]: verticalAlign === 'bottom',\n })}\n >\n {(!!left || (!!right && centered)) && (\n <IconDefaultPropsContext props={sideSlotIconProps}>\n <div className={styles.actionsLeftSlot}>\n {!!left && (\n <EnvironmentFingerprintNode className={styles.actionsSideSlotContent}>\n {autoMorph && stage !== 'only' ? wrapToMorph(left, false) : wrapToDiv(left)}\n </EnvironmentFingerprintNode>\n )}\n {centered && !!right && (\n <div\n className={styles.actionsSideSlotContentClone}\n aria-hidden=\"true\"\n data-qa=\"actions-duplicate-container\"\n // атрибут не завезли в типы react 18, только с 19го\n {...{ inert: 'true' }}\n >\n {wrapToDiv(right)}\n </div>\n )}\n </div>\n </IconDefaultPropsContext>\n )}\n\n {(!!children || !left || !right) && (\n <div className={classNames(styles.actionsCenterSlot, { [styles.actionsCenterSlotCentered]: centered })}>\n {children}\n </div>\n )}\n\n {(!!right || (!!left && centered)) && (\n <IconDefaultPropsContext props={sideSlotIconProps}>\n <div className={styles.actionsRightSlot}>\n {!!right && (\n <EnvironmentFingerprintNode className={styles.actionsSideSlotContent}>\n {autoMorph && stage !== 'only' ? wrapToMorph(right, true) : wrapToDiv(right)}\n </EnvironmentFingerprintNode>\n )}\n {centered && !!left && (\n <div\n className={styles.actionsSideSlotContentClone}\n aria-hidden=\"true\"\n data-qa=\"actions-duplicate-container\"\n {...{ inert: 'true' }}\n >\n {wrapToDiv(left)}\n </div>\n )}\n </div>\n </IconDefaultPropsContext>\n )}\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -10,7 +10,7 @@ import { usePaneStore } from '../internal/PaneStore.js';
10
10
  import { useInert } from '../internal/useInert.js';
11
11
  import { useActualRef, useStoreSyncedTransform, lerp, calcMorphParams } from '../internal/utils.js';
12
12
  import { AnimationStageContext } from './LayoutStage.js';
13
- import { s as styles } from '../nav-bar-DEFIZlLr.js';
13
+ import { s as styles } from '../nav-bar-CmjjkPy6.js';
14
14
  import '../internal/KeyedSubscriptions.js';
15
15
  import 'motion';
16
16
  import '../internal/NavBarContext.js';
@@ -9,7 +9,7 @@ import { MorphStoreProvider, useMorphStore } from '../internal/MorphStore.js';
9
9
  import { usePaneStore } from '../internal/PaneStore.js';
10
10
  import { useInitOnce } from '../internal/utils.js';
11
11
  import { EnvironmentFingerprintNode, useEnvironmentFingerprint } from './EnvironmentFingerprintNode.js';
12
- import { s as styles } from '../nav-bar-DEFIZlLr.js';
12
+ import { s as styles } from '../nav-bar-CmjjkPy6.js';
13
13
  import '../internal/KeyedSubscriptions.js';
14
14
  import 'motion';
15
15
  import '../internal/NavBarContext.js';
package/public/Morph.js CHANGED
@@ -9,7 +9,7 @@ import { usePaneStore } from '../internal/PaneStore.js';
9
9
  import { useStoreSyncedTransform, calcMorphParams, lerp } from '../internal/utils.js';
10
10
  import { useEnvironmentFingerprint } from './EnvironmentFingerprintNode.js';
11
11
  import { useAnimationStage } from './Stage.js';
12
- import { s as styles } from '../nav-bar-DEFIZlLr.js';
12
+ import { s as styles } from '../nav-bar-CmjjkPy6.js';
13
13
  import '../internal/KeyedSubscriptions.js';
14
14
  import 'motion';
15
15
  import '../internal/NavBarContext.js';
@@ -13,10 +13,12 @@ export interface NavBarProps {
13
13
  * -- Прозрачный всегда (`true`)
14
14
  * -- Прозрачный в начале анимации (`start`)
15
15
  * -- Прозрачный в конце анимации (`end`)
16
+ * @default false
16
17
  */
17
18
  transparent?: 'start' | 'end' | boolean;
18
19
  /**
19
20
  * Управляет позицией триггера начала анимации
21
+ * @default start
20
22
  */
21
23
  startTriggerPosition?: 'start' | 'full-area' | RefObject<HTMLElement | null>;
22
24
  /**
@@ -27,10 +29,12 @@ export interface NavBarProps {
27
29
  endTriggerPosition?: RefObject<HTMLElement | null> | number;
28
30
  /**
29
31
  * Включает режим когда NavBar не занимает место в лейауте и контент располагается под ним.
32
+ * @default false
30
33
  */
31
34
  overlay?: boolean;
32
35
  /**
33
36
  * Управляет режимом автодоскролла. По умолчанию включен.
37
+ * @default true
34
38
  */
35
39
  snapScroll?: boolean;
36
40
  /**
@@ -38,6 +42,7 @@ export interface NavBarProps {
38
42
  * - `false` дивайдер отключен
39
43
  * - `always` дивайдер отображается постоянно
40
44
  * - `with-scroll` дивайдер отображается только когда контент подскроллен под NavBar
45
+ * @default false
41
46
  */
42
47
  showDivider?: ShowDivider;
43
48
  /**
package/public/NavBar.js CHANGED
@@ -16,7 +16,8 @@ import { useSnapScroll } from '../internal/useSnapScroll.js';
16
16
  import { useSyncMotionValue } from '../internal/useSyncMotionValue.js';
17
17
  import { useInitOnce, scheduleMicro, scheduleMacro, remap } from '../internal/utils.js';
18
18
  import { isPaneElement, ExternalPane } from './Pane.js';
19
- import { s as styles } from '../nav-bar-DEFIZlLr.js';
19
+ import { useNavBarRootDefaultProps } from './defaultProps.js';
20
+ import { s as styles } from '../nav-bar-CmjjkPy6.js';
20
21
  import '@hh.ru/magritte-internal-custom-scroll';
21
22
  import 'motion';
22
23
  import '../internal/MorphStore.js';
@@ -27,8 +28,11 @@ import './LayoutStage.js';
27
28
  import '@hh.ru/magritte-common-use-when-font-loaded';
28
29
  import './Stage.js';
29
30
  import '../internal/useInert.js';
31
+ import '@hh.ru/magritte-internal-default-props-context';
30
32
 
31
- const NavBar = ({ children, transparent = false, startTriggerPosition = 'start', endTriggerPosition, overlay = false, snapScroll: scrollSnapping = true, showDivider = false, animationProgress, }) => {
33
+ const NavBar = (props) => {
34
+ const defaultProps = useNavBarRootDefaultProps();
35
+ const { children, transparent = false, startTriggerPosition = 'start', endTriggerPosition, overlay = false, snapScroll: scrollSnapping = true, showDivider = false, animationProgress, } = { ...defaultProps, ...props };
32
36
  const paneStoreRegistry = useInitOnce(() => new Set());
33
37
  const prevFullHeight = useRef(0);
34
38
  const rootRef = useRef(null);
@@ -1 +1 @@
1
- {"version":3,"file":"NavBar.js","sources":["src/public/NavBar.tsx"],"sourcesContent":["import React, { Children, type ReactNode, type RefObject, useLayoutEffect, useRef, type FC } from 'react';\nimport classNames from 'classnames';\nimport { motion, type MotionStyle, MotionValue, frame } from 'motion/react';\n\nimport { Divider, type ShowDivider } from '@hh.ru/magritte-ui-divider';\nimport { Layer } from '@hh.ru/magritte-ui-layer';\nimport { MetricsProvider } from '@hh.ru/magritte-ui-nav-bar/internal/MetricsProvider';\nimport { NavBarContext } from '@hh.ru/magritte-ui-nav-bar/internal/NavBarContext';\nimport { PaneStore } from '@hh.ru/magritte-ui-nav-bar/internal/PaneStore';\nimport { useAnimationRanges } from '@hh.ru/magritte-ui-nav-bar/internal/useAnimationRanges';\nimport { useBindScrollToAnimationProgress } from '@hh.ru/magritte-ui-nav-bar/internal/useBindScrollToAnimationProgress';\nimport { useNavBarMetrics } from '@hh.ru/magritte-ui-nav-bar/internal/useNavBarMetrics';\nimport { useResetFocus } from '@hh.ru/magritte-ui-nav-bar/internal/useResetFocus';\nimport { useScrollAdapter } from '@hh.ru/magritte-ui-nav-bar/internal/useScrollAdapter';\nimport { useSnapScroll } from '@hh.ru/magritte-ui-nav-bar/internal/useSnapScroll';\nimport { useSyncMotionValue } from '@hh.ru/magritte-ui-nav-bar/internal/useSyncMotionValue';\nimport { remap, scheduleMicro, scheduleMacro, useInitOnce } from '@hh.ru/magritte-ui-nav-bar/internal/utils';\nimport {\n type PaneElement,\n type InternalPaneProps,\n ExternalPane,\n isPaneElement,\n} from '@hh.ru/magritte-ui-nav-bar/public/Pane';\n\nimport styles from './nav-bar.less';\n\nexport interface NavBarProps {\n /**\n * В качестве потомков могут передаваться компоненты <Pane /> или произвольные элементы,\n * которые будут автоматически обёрнуты в <Pane />.\n */\n children: ReactNode;\n /**\n * Управляет режимом прозрачности:\n * -- Прозрачность отключена (`false`)\n * -- Прозрачный всегда (`true`)\n * -- Прозрачный в начале анимации (`start`)\n * -- Прозрачный в конце анимации (`end`)\n */\n transparent?: 'start' | 'end' | boolean;\n /**\n * Управляет позицией триггера начала анимации\n */\n startTriggerPosition?: 'start' | 'full-area' | RefObject<HTMLElement | null>;\n /**\n * Управляет позицией триггера конца анимации. Если не передан вычисляется автоматически на основе изменения\n * высоты навбара в процессе анимации и позиции триггера начала анмиации. Если передано число, то интерпретируется\n * как отступ в пикселях от позиции триггера старта анимации.\n */\n endTriggerPosition?: RefObject<HTMLElement | null> | number;\n /**\n * Включает режим когда NavBar не занимает место в лейауте и контент располагается под ним.\n */\n overlay?: boolean;\n /**\n * Управляет режимом автодоскролла. По умолчанию включен.\n */\n snapScroll?: boolean;\n /**\n * Управляет режимом отображения дивайдера:\n * - `false` дивайдер отключен\n * - `always` дивайдер отображается постоянно\n * - `with-scroll` дивайдер отображается только когда контент подскроллен под NavBar\n */\n showDivider?: ShowDivider;\n /**\n * Принимает MotionValue значение которого будет обновляться синхронно с анимацией всего NavBar.\n * Прогресс анимации представляется в виде числа 0..1\n * Предназначен для синхронизации внешних анимаций с анимациями NavBar.\n */\n animationProgress?: MotionValue<number>;\n}\n\nexport const NavBar: FC<NavBarProps> = ({\n children,\n transparent = false,\n startTriggerPosition = 'start',\n endTriggerPosition,\n overlay = false,\n snapScroll: scrollSnapping = true,\n showDivider = false,\n animationProgress,\n}) => {\n const paneStoreRegistry = useInitOnce(() => new Set<PaneStore>());\n const prevFullHeight = useRef<null | number>(0);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [scrollAdapter, scrollPosition] = useScrollAdapter(rootRef);\n const [getMetrics, invalidateMetrics] = useNavBarMetrics(paneStoreRegistry, rootRef, scrollAdapter);\n const [getAnimationRanges, invalidateAnimationRanges] = useAnimationRanges(paneStoreRegistry, getMetrics);\n const [bindScrollToAnimation, getClosestStops, totalAnimationProgress, dividerStyle] =\n useBindScrollToAnimationProgress(\n scrollPosition,\n getMetrics,\n getAnimationRanges,\n scrollAdapter,\n startTriggerPosition,\n endTriggerPosition\n );\n const snapScroll = useSnapScroll(\n scrollPosition,\n totalAnimationProgress,\n scrollAdapter,\n getClosestStops,\n scrollSnapping\n );\n\n // При получении размеров важно дождаться применения MotionValue к DOM, поэтому используем frame.render\n const bindScrollToAnimationScheduled = useInitOnce(() => scheduleMicro(() => frame.render(bindScrollToAnimation)));\n useResetFocus(rootRef, totalAnimationProgress);\n useSyncMotionValue(totalAnimationProgress, animationProgress);\n\n const dividerVisibility =\n // eslint-disable-next-line no-nested-ternary\n showDivider === 'with-scroll' ? dividerStyle.visibility : showDivider ? 'visible' : 'hidden';\n\n const registerPaneStore = useInitOnce(() => {\n const subscriptions: VoidFunction[] = [];\n\n const updateAnimationParams = () => {\n subscriptions.length = 0;\n invalidateMetrics();\n invalidateAnimationRanges();\n bindScrollToAnimationScheduled();\n const navBarMetrics = getMetrics();\n const fullPanesStartHeight = navBarMetrics.bottom - navBarMetrics.top;\n\n let scroll = scrollAdapter.getScrollTop();\n if (prevFullHeight.current !== null && scroll !== 0) {\n const heightDelta = fullPanesStartHeight - prevFullHeight.current;\n scroll += heightDelta;\n\n requestAnimationFrame(() => {\n scrollPosition.jump(scrollAdapter.getScrollTop() - 1);\n scrollPosition.jump(scrollAdapter.getScrollTop());\n });\n }\n\n const animationRanges = getAnimationRanges();\n [...paneStoreRegistry.values()].forEach((paneStore) => {\n const range = animationRanges.get(paneStore.get('id'));\n if (!range) {\n return;\n }\n const remapFn = remap(\n range[0] === 0 && range[1] === 0\n ? [0, 1]\n : [range[0] / navBarMetrics.animationHeight, range[1] / navBarMetrics.animationHeight],\n [0, 1]\n );\n const motionValue = paneStore.get('motionValue');\n motionValue.set(remapFn(totalAnimationProgress.get()));\n subscriptions.push(totalAnimationProgress.on('change', (value) => motionValue.set(remapFn(value))));\n });\n\n prevFullHeight.current = fullPanesStartHeight;\n };\n\n // основной триггер запуска updateAnimationParams это изменения размеров, обработка которых происходит\n // в очереди микрозадач, поэтому откладываем запуск функции до перехдоа к макрозадачам, чтобы сократить\n // количество вызовов при массовых изменениях\n const onChange = scheduleMacro(updateAnimationParams);\n\n return (paneStore: PaneStore) => {\n const unsubscribe = paneStore.onChange(\n ['startHeight', 'endHeight', 'top', 'foldable', 'animated'],\n onChange\n );\n paneStoreRegistry.add(paneStore);\n return () => {\n paneStoreRegistry.delete(paneStore);\n unsubscribe();\n };\n };\n });\n\n useLayoutEffect(() => {\n bindScrollToAnimation();\n snapScroll();\n if (!rootRef.current || (typeof startTriggerPosition === 'string' && !endTriggerPosition)) {\n return void 0;\n }\n return scrollAdapter.onResize(bindScrollToAnimationScheduled);\n }, [\n startTriggerPosition,\n endTriggerPosition,\n bindScrollToAnimation,\n bindScrollToAnimationScheduled,\n snapScroll,\n scrollAdapter,\n ]);\n\n // Оборачиваем потомков, не являющихся Pane, в Pane и вкладываем панели друг в друга через проп nextPane\n const childrenArray = Children.toArray(children);\n const nested = isPaneElement(childrenArray[0]) ? (\n childrenArray.reduceRight<PaneElement | null>((acc, child) => {\n if (!isPaneElement(child)) {\n return acc;\n }\n // cloneElement сужает конструктор до InternalPaneProps, поэтому возвращаем к PaneElement\n return React.cloneElement<InternalPaneProps>(child, {\n ...child.props,\n nextPane: acc,\n }) as PaneElement;\n }, null)\n ) : (\n <ExternalPane>{children}</ExternalPane>\n );\n\n return (\n <Layer layer=\"navigation-bar\">\n <MetricsProvider\n className={classNames(styles.navBar, {\n [styles.navbarTransparentStart]: transparent === 'start',\n [styles.navbarTransparentEnd]: transparent === 'end',\n [styles.navbarNotTransparent]: !transparent,\n [styles.navbarTransparent]: transparent === true,\n [styles.navBarOverlay]: overlay,\n })}\n ref={rootRef}\n measureClassName={styles.metricsMode}\n >\n <div className={styles.navBarOverlayWrapper}>\n <div className={styles.navBarContentContainer}>\n <motion.div\n style={{ '--magritte-ui-navbar-animation-progress': totalAnimationProgress } as MotionStyle}\n className={styles.navBarPanesContainer}\n >\n <NavBarContext.Provider value={registerPaneStore}>{nested}</NavBarContext.Provider>\n </motion.div>\n <motion.div\n className={styles.dividerContainer}\n style={{ ...dividerStyle, visibility: dividerVisibility }}\n >\n <Divider />\n </motion.div>\n </div>\n </div>\n </MetricsProvider>\n </Layer>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"NavBar.js","sources":["src/public/NavBar.tsx"],"sourcesContent":["import React, { Children, type ReactNode, type RefObject, useLayoutEffect, useRef, type FC } from 'react';\nimport classNames from 'classnames';\nimport { motion, type MotionStyle, MotionValue, frame } from 'motion/react';\n\nimport { Divider, type ShowDivider } from '@hh.ru/magritte-ui-divider';\nimport { Layer } from '@hh.ru/magritte-ui-layer';\nimport { MetricsProvider } from '@hh.ru/magritte-ui-nav-bar/internal/MetricsProvider';\nimport { NavBarContext } from '@hh.ru/magritte-ui-nav-bar/internal/NavBarContext';\nimport { PaneStore } from '@hh.ru/magritte-ui-nav-bar/internal/PaneStore';\nimport { useAnimationRanges } from '@hh.ru/magritte-ui-nav-bar/internal/useAnimationRanges';\nimport { useBindScrollToAnimationProgress } from '@hh.ru/magritte-ui-nav-bar/internal/useBindScrollToAnimationProgress';\nimport { useNavBarMetrics } from '@hh.ru/magritte-ui-nav-bar/internal/useNavBarMetrics';\nimport { useResetFocus } from '@hh.ru/magritte-ui-nav-bar/internal/useResetFocus';\nimport { useScrollAdapter } from '@hh.ru/magritte-ui-nav-bar/internal/useScrollAdapter';\nimport { useSnapScroll } from '@hh.ru/magritte-ui-nav-bar/internal/useSnapScroll';\nimport { useSyncMotionValue } from '@hh.ru/magritte-ui-nav-bar/internal/useSyncMotionValue';\nimport { remap, scheduleMicro, scheduleMacro, useInitOnce } from '@hh.ru/magritte-ui-nav-bar/internal/utils';\nimport {\n type PaneElement,\n type InternalPaneProps,\n ExternalPane,\n isPaneElement,\n} from '@hh.ru/magritte-ui-nav-bar/public/Pane';\nimport { useNavBarRootDefaultProps } from '@hh.ru/magritte-ui-nav-bar/public/defaultProps';\n\nimport styles from './nav-bar.less';\n\nexport interface NavBarProps {\n /**\n * В качестве потомков могут передаваться компоненты <Pane /> или произвольные элементы,\n * которые будут автоматически обёрнуты в <Pane />.\n */\n children: ReactNode;\n /**\n * Управляет режимом прозрачности:\n * -- Прозрачность отключена (`false`)\n * -- Прозрачный всегда (`true`)\n * -- Прозрачный в начале анимации (`start`)\n * -- Прозрачный в конце анимации (`end`)\n * @default false\n */\n transparent?: 'start' | 'end' | boolean;\n /**\n * Управляет позицией триггера начала анимации\n * @default start\n */\n startTriggerPosition?: 'start' | 'full-area' | RefObject<HTMLElement | null>;\n /**\n * Управляет позицией триггера конца анимации. Если не передан вычисляется автоматически на основе изменения\n * высоты навбара в процессе анимации и позиции триггера начала анмиации. Если передано число, то интерпретируется\n * как отступ в пикселях от позиции триггера старта анимации.\n */\n endTriggerPosition?: RefObject<HTMLElement | null> | number;\n /**\n * Включает режим когда NavBar не занимает место в лейауте и контент располагается под ним.\n * @default false\n */\n overlay?: boolean;\n /**\n * Управляет режимом автодоскролла. По умолчанию включен.\n * @default true\n */\n snapScroll?: boolean;\n /**\n * Управляет режимом отображения дивайдера:\n * - `false` дивайдер отключен\n * - `always` дивайдер отображается постоянно\n * - `with-scroll` дивайдер отображается только когда контент подскроллен под NavBar\n * @default false\n */\n showDivider?: ShowDivider;\n /**\n * Принимает MotionValue значение которого будет обновляться синхронно с анимацией всего NavBar.\n * Прогресс анимации представляется в виде числа 0..1\n * Предназначен для синхронизации внешних анимаций с анимациями NavBar.\n */\n animationProgress?: MotionValue<number>;\n}\n\nexport const NavBar: FC<NavBarProps> = (props) => {\n const defaultProps = useNavBarRootDefaultProps();\n const {\n children,\n transparent = false,\n startTriggerPosition = 'start',\n endTriggerPosition,\n overlay = false,\n snapScroll: scrollSnapping = true,\n showDivider = false,\n animationProgress,\n } = { ...defaultProps, ...props };\n const paneStoreRegistry = useInitOnce(() => new Set<PaneStore>());\n const prevFullHeight = useRef<null | number>(0);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const [scrollAdapter, scrollPosition] = useScrollAdapter(rootRef);\n const [getMetrics, invalidateMetrics] = useNavBarMetrics(paneStoreRegistry, rootRef, scrollAdapter);\n const [getAnimationRanges, invalidateAnimationRanges] = useAnimationRanges(paneStoreRegistry, getMetrics);\n const [bindScrollToAnimation, getClosestStops, totalAnimationProgress, dividerStyle] =\n useBindScrollToAnimationProgress(\n scrollPosition,\n getMetrics,\n getAnimationRanges,\n scrollAdapter,\n startTriggerPosition,\n endTriggerPosition\n );\n const snapScroll = useSnapScroll(\n scrollPosition,\n totalAnimationProgress,\n scrollAdapter,\n getClosestStops,\n scrollSnapping\n );\n\n // При получении размеров важно дождаться применения MotionValue к DOM, поэтому используем frame.render\n const bindScrollToAnimationScheduled = useInitOnce(() => scheduleMicro(() => frame.render(bindScrollToAnimation)));\n useResetFocus(rootRef, totalAnimationProgress);\n useSyncMotionValue(totalAnimationProgress, animationProgress);\n\n const dividerVisibility =\n // eslint-disable-next-line no-nested-ternary\n showDivider === 'with-scroll' ? dividerStyle.visibility : showDivider ? 'visible' : 'hidden';\n\n const registerPaneStore = useInitOnce(() => {\n const subscriptions: VoidFunction[] = [];\n\n const updateAnimationParams = () => {\n subscriptions.length = 0;\n invalidateMetrics();\n invalidateAnimationRanges();\n bindScrollToAnimationScheduled();\n const navBarMetrics = getMetrics();\n const fullPanesStartHeight = navBarMetrics.bottom - navBarMetrics.top;\n\n let scroll = scrollAdapter.getScrollTop();\n if (prevFullHeight.current !== null && scroll !== 0) {\n const heightDelta = fullPanesStartHeight - prevFullHeight.current;\n scroll += heightDelta;\n\n requestAnimationFrame(() => {\n scrollPosition.jump(scrollAdapter.getScrollTop() - 1);\n scrollPosition.jump(scrollAdapter.getScrollTop());\n });\n }\n\n const animationRanges = getAnimationRanges();\n [...paneStoreRegistry.values()].forEach((paneStore) => {\n const range = animationRanges.get(paneStore.get('id'));\n if (!range) {\n return;\n }\n const remapFn = remap(\n range[0] === 0 && range[1] === 0\n ? [0, 1]\n : [range[0] / navBarMetrics.animationHeight, range[1] / navBarMetrics.animationHeight],\n [0, 1]\n );\n const motionValue = paneStore.get('motionValue');\n motionValue.set(remapFn(totalAnimationProgress.get()));\n subscriptions.push(totalAnimationProgress.on('change', (value) => motionValue.set(remapFn(value))));\n });\n\n prevFullHeight.current = fullPanesStartHeight;\n };\n\n // основной триггер запуска updateAnimationParams это изменения размеров, обработка которых происходит\n // в очереди микрозадач, поэтому откладываем запуск функции до перехдоа к макрозадачам, чтобы сократить\n // количество вызовов при массовых изменениях\n const onChange = scheduleMacro(updateAnimationParams);\n\n return (paneStore: PaneStore) => {\n const unsubscribe = paneStore.onChange(\n ['startHeight', 'endHeight', 'top', 'foldable', 'animated'],\n onChange\n );\n paneStoreRegistry.add(paneStore);\n return () => {\n paneStoreRegistry.delete(paneStore);\n unsubscribe();\n };\n };\n });\n\n useLayoutEffect(() => {\n bindScrollToAnimation();\n snapScroll();\n if (!rootRef.current || (typeof startTriggerPosition === 'string' && !endTriggerPosition)) {\n return void 0;\n }\n return scrollAdapter.onResize(bindScrollToAnimationScheduled);\n }, [\n startTriggerPosition,\n endTriggerPosition,\n bindScrollToAnimation,\n bindScrollToAnimationScheduled,\n snapScroll,\n scrollAdapter,\n ]);\n\n // Оборачиваем потомков, не являющихся Pane, в Pane и вкладываем панели друг в друга через проп nextPane\n const childrenArray = Children.toArray(children);\n const nested = isPaneElement(childrenArray[0]) ? (\n childrenArray.reduceRight<PaneElement | null>((acc, child) => {\n if (!isPaneElement(child)) {\n return acc;\n }\n // cloneElement сужает конструктор до InternalPaneProps, поэтому возвращаем к PaneElement\n return React.cloneElement<InternalPaneProps>(child, {\n ...child.props,\n nextPane: acc,\n }) as PaneElement;\n }, null)\n ) : (\n <ExternalPane>{children}</ExternalPane>\n );\n\n return (\n <Layer layer=\"navigation-bar\">\n <MetricsProvider\n className={classNames(styles.navBar, {\n [styles.navbarTransparentStart]: transparent === 'start',\n [styles.navbarTransparentEnd]: transparent === 'end',\n [styles.navbarNotTransparent]: !transparent,\n [styles.navbarTransparent]: transparent === true,\n [styles.navBarOverlay]: overlay,\n })}\n ref={rootRef}\n measureClassName={styles.metricsMode}\n >\n <div className={styles.navBarOverlayWrapper}>\n <div className={styles.navBarContentContainer}>\n <motion.div\n style={{ '--magritte-ui-navbar-animation-progress': totalAnimationProgress } as MotionStyle}\n className={styles.navBarPanesContainer}\n >\n <NavBarContext.Provider value={registerPaneStore}>{nested}</NavBarContext.Provider>\n </motion.div>\n <motion.div\n className={styles.dividerContainer}\n style={{ ...dividerStyle, visibility: dividerVisibility }}\n >\n <Divider />\n </motion.div>\n </div>\n </div>\n </MetricsProvider>\n </Layer>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+Ea,MAAA,MAAM,GAAoB,CAAC,KAAK,KAAI;AAC7C,IAAA,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAC;AACjD,IAAA,MAAM,EACF,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,oBAAoB,GAAG,OAAO,EAC9B,kBAAkB,EAClB,OAAO,GAAG,KAAK,EACf,UAAU,EAAE,cAAc,GAAG,IAAI,EACjC,WAAW,GAAG,KAAK,EACnB,iBAAiB,GACpB,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;IAClC,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,IAAI,GAAG,EAAa,CAAC,CAAC;AAClE,IAAA,MAAM,cAAc,GAAG,MAAM,CAAgB,CAAC,CAAC,CAAC;AAChD,IAAA,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7C,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAClE,IAAA,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACpG,IAAA,MAAM,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,GAAG,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC1G,MAAM,CAAC,qBAAqB,EAAE,eAAe,EAAE,sBAAsB,EAAE,YAAY,CAAC,GAChF,gCAAgC,CAC5B,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,CACrB,CAAC;AACN,IAAA,MAAM,UAAU,GAAG,aAAa,CAC5B,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,cAAc,CACjB,CAAC;;IAGF,MAAM,8BAA8B,GAAG,WAAW,CAAC,MAAM,aAAa,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACnH,IAAA,aAAa,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;AAC/C,IAAA,kBAAkB,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;AAE9D,IAAA,MAAM,iBAAiB;;IAEnB,WAAW,KAAK,aAAa,GAAG,YAAY,CAAC,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjG,IAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAK;QACvC,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,MAAM,qBAAqB,GAAG,MAAK;AAC/B,YAAA,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AACzB,YAAA,iBAAiB,EAAE,CAAC;AACpB,YAAA,yBAAyB,EAAE,CAAC;AAC5B,YAAA,8BAA8B,EAAE,CAAC;AACjC,YAAA,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC;YACnC,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC;AAEtE,YAAA,IAAI,MAAM,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;YAC1C,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,CAAC,EAAE;AACjD,gBAAA,MAAM,WAAW,GAAG,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC;gBAClE,MAAM,IAAI,WAAW,CAAC;gBAEtB,qBAAqB,CAAC,MAAK;oBACvB,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;oBACtD,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;AACtD,iBAAC,CAAC,CAAC;aACN;AAED,YAAA,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;AAC7C,YAAA,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AAClD,gBAAA,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC,KAAK,EAAE;oBACR,OAAO;iBACV;AACD,gBAAA,MAAM,OAAO,GAAG,KAAK,CACjB,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5B,sBAAE,CAAC,CAAC,EAAE,CAAC,CAAC;sBACN,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,EAC1F,CAAC,CAAC,EAAE,CAAC,CAAC,CACT,CAAC;gBACF,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACjD,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACvD,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxG,aAAC,CAAC,CAAC;AAEH,YAAA,cAAc,CAAC,OAAO,GAAG,oBAAoB,CAAC;AAClD,SAAC,CAAC;;;;AAKF,QAAA,MAAM,QAAQ,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAEtD,OAAO,CAAC,SAAoB,KAAI;YAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAClC,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,EAC3D,QAAQ,CACX,CAAC;AACF,YAAA,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,YAAA,OAAO,MAAK;AACR,gBAAA,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACpC,gBAAA,WAAW,EAAE,CAAC;AAClB,aAAC,CAAC;AACN,SAAC,CAAC;AACN,KAAC,CAAC,CAAC;IAEH,eAAe,CAAC,MAAK;AACjB,QAAA,qBAAqB,EAAE,CAAC;AACxB,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,oBAAoB,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACvF,OAAO,KAAK,CAAC,CAAC;SACjB;AACD,QAAA,OAAO,aAAa,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;AAClE,KAAC,EAAE;QACC,oBAAoB;QACpB,kBAAkB;QAClB,qBAAqB;QACrB,8BAA8B;QAC9B,UAAU;QACV,aAAa;AAChB,KAAA,CAAC,CAAC;;IAGH,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAC1C,aAAa,CAAC,WAAW,CAAqB,CAAC,GAAG,EAAE,KAAK,KAAI;AACzD,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;AACvB,YAAA,OAAO,GAAG,CAAC;SACd;;AAED,QAAA,OAAO,KAAK,CAAC,YAAY,CAAoB,KAAK,EAAE;YAChD,GAAG,KAAK,CAAC,KAAK;AACd,YAAA,QAAQ,EAAE,GAAG;AAChB,SAAA,CAAgB,CAAC;AACtB,KAAC,EAAE,IAAI,CAAC,KAERA,GAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAgB,CAC1C,CAAC;AAEF,IAAA,QACIA,GAAC,CAAA,KAAK,IAAC,KAAK,EAAC,gBAAgB,EACzB,QAAA,EAAAA,GAAA,CAAC,eAAe,EAAA,EACZ,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,gBAAA,CAAC,MAAM,CAAC,sBAAsB,GAAG,WAAW,KAAK,OAAO;AACxD,gBAAA,CAAC,MAAM,CAAC,oBAAoB,GAAG,WAAW,KAAK,KAAK;AACpD,gBAAA,CAAC,MAAM,CAAC,oBAAoB,GAAG,CAAC,WAAW;AAC3C,gBAAA,CAAC,MAAM,CAAC,iBAAiB,GAAG,WAAW,KAAK,IAAI;AAChD,gBAAA,CAAC,MAAM,CAAC,aAAa,GAAG,OAAO;AAClC,aAAA,CAAC,EACF,GAAG,EAAE,OAAO,EACZ,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAEpC,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,oBAAoB,EAAA,QAAA,EACvCC,cAAK,SAAS,EAAE,MAAM,CAAC,sBAAsB,EACzC,QAAA,EAAA,CAAAD,GAAA,CAAC,MAAM,CAAC,GAAG,IACP,KAAK,EAAE,EAAE,yCAAyC,EAAE,sBAAsB,EAAiB,EAC3F,SAAS,EAAE,MAAM,CAAC,oBAAoB,EAAA,QAAA,EAEtCA,GAAC,CAAA,aAAa,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,iBAAiB,YAAG,MAAM,EAAA,CAA0B,GAC1E,EACbA,GAAA,CAAC,MAAM,CAAC,GAAG,IACP,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAClC,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAEzDA,GAAC,CAAA,OAAO,KAAG,EACF,CAAA,CAAA,EAAA,CACX,GACJ,EACQ,CAAA,EAAA,CACd,EACV;AACN;;;;"}
package/public/Pane.js CHANGED
@@ -10,7 +10,7 @@ import { useInitOnce, useStoreSyncedTransform, lerp } from '../internal/utils.js
10
10
  import { EnvironmentFingerprintProvider } from './EnvironmentFingerprintNode.js';
11
11
  import { LayoutStage } from './LayoutStage.js';
12
12
  import { Stage } from './Stage.js';
13
- import { s as styles } from '../nav-bar-DEFIZlLr.js';
13
+ import { s as styles } from '../nav-bar-CmjjkPy6.js';
14
14
  import '../internal/KeyedSubscriptions.js';
15
15
  import 'motion';
16
16
  import '../internal/NavBarContext.js';
package/public/Stage.js CHANGED
@@ -7,7 +7,7 @@ import { useMeasureAuto } from '../internal/MetricsProvider.js';
7
7
  import { usePaneStore } from '../internal/PaneStore.js';
8
8
  import { useInert } from '../internal/useInert.js';
9
9
  import { EnvironmentFingerprintNode } from './EnvironmentFingerprintNode.js';
10
- import { s as styles } from '../nav-bar-DEFIZlLr.js';
10
+ import { s as styles } from '../nav-bar-CmjjkPy6.js';
11
11
  import '../internal/utils.js';
12
12
  import 'motion';
13
13
  import '../internal/KeyedSubscriptions.js';
@@ -20,5 +20,6 @@ export interface TitleContainerProps {
20
20
  * Позволяет выровнять по горизонтали контент слотов для заголовка и подзаголовка
21
21
  */
22
22
  centered?: boolean;
23
+ size?: 'large' | 'small';
23
24
  }
24
25
  export declare const TitleContainer: FC<TitleContainerProps>;
@@ -2,7 +2,8 @@ import './../index.css';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import classNames from 'classnames';
4
4
  import { Morph } from './Morph.js';
5
- import { s as styles } from '../nav-bar-DEFIZlLr.js';
5
+ import { TextDefaultPropsContext } from '@hh.ru/magritte-ui-typography';
6
+ import { s as styles } from '../nav-bar-CmjjkPy6.js';
6
7
  import 'react';
7
8
  import 'motion/react';
8
9
  import '../internal/MetricsProvider.js';
@@ -16,8 +17,30 @@ import './EnvironmentFingerprintNode.js';
16
17
  import './Stage.js';
17
18
  import '../internal/useInert.js';
18
19
 
19
- const TitleContainer = ({ left, title, icon, subtitle, centered = false }) => {
20
- return (jsxs("div", { className: styles.titleContainerWrapper, children: [!!left && (jsx("div", { className: styles.titleLeftSlot, children: jsx(Morph, { id: "title-component-left-slot", className: styles.titleMorphItem, children: left }) })), jsxs("div", { className: classNames(styles.titleMainPart, { [styles.centered]: centered }), children: [jsxs("div", { className: styles.titleContainer, children: [jsx("div", { className: styles.title, children: !!title && (jsx(Morph, { id: "title-component-title", className: styles.titleMorphItem, horizontalPositionAlign: "left", children: title })) }), jsx("div", { className: styles.titleInlineContainer, children: !!icon && (jsx(Morph, { id: "title-component-inline-slot", className: styles.titleMorphItem, children: icon })) })] }), jsx("div", { className: styles.subtitleContainer, children: !!subtitle && (jsx(Morph, { id: "title-component-subtitle", className: styles.titleMorphItem, horizontalPositionAlign: "left", children: subtitle })) })] })] }));
20
+ const TEXT_DEFAULT_PROPS_TITLE = {
21
+ small: {
22
+ typography: 'subtitle-1-semibold',
23
+ style: 'primary',
24
+ },
25
+ large: {
26
+ typography: 'title-4-semibold',
27
+ style: 'primary',
28
+ },
29
+ };
30
+ const TEXT_DEFAULT_PROPS_SUBTITLE = {
31
+ small: {
32
+ typography: 'label-4-regular',
33
+ style: 'secondary',
34
+ },
35
+ large: {
36
+ typography: 'label-2-regular',
37
+ style: 'secondary',
38
+ },
39
+ };
40
+ const TitleContainer = ({ left, title, icon, subtitle, size = 'small', centered = false, }) => {
41
+ return (jsxs("div", { className: classNames(styles.titleContainerWrapper, {
42
+ [styles.sizeLarge]: size === 'large',
43
+ }), children: [!!left && (jsx("div", { className: styles.titleLeftSlot, children: jsx(Morph, { id: "title-component-left-slot", className: styles.titleMorphItem, children: left }) })), jsxs("div", { className: classNames(styles.titleMainPart, { [styles.centered]: centered }), children: [jsxs("div", { className: styles.titleContainer, children: [jsx("div", { className: styles.title, children: !!title && (jsx(TextDefaultPropsContext, { props: TEXT_DEFAULT_PROPS_TITLE[size], children: jsx(Morph, { id: "title-component-title", className: classNames(styles.titleMorphItem, styles.textMorphItem), horizontalPositionAlign: "left", children: title }) })) }), jsx("div", { className: styles.titleInlineContainer, children: !!icon && (jsx(Morph, { id: "title-component-inline-slot", className: styles.titleMorphItem, children: icon })) })] }), jsx("div", { className: styles.subtitleContainer, children: !!subtitle && (jsx(TextDefaultPropsContext, { props: TEXT_DEFAULT_PROPS_SUBTITLE[size], children: jsx(Morph, { id: "title-component-subtitle", className: classNames(styles.titleMorphItem, styles.textMorphItem), horizontalPositionAlign: "left", children: subtitle }) })) })] })] }));
21
44
  };
22
45
 
23
46
  export { TitleContainer };
@@ -1 +1 @@
1
- {"version":3,"file":"TitleContainer.js","sources":["src/public/TitleContainer.tsx"],"sourcesContent":["import { type FC, type ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport { Morph } from '@hh.ru/magritte-ui-nav-bar/public/Morph';\n\nimport styles from './nav-bar.less';\n\nexport interface TitleContainerProps {\n /**\n * Контент левого слота\n */\n left?: ReactNode;\n /**\n * Контент слота для заголовка\n */\n title?: ReactNode;\n /**\n * Контент слота для подзаголовка\n */\n subtitle?: ReactNode;\n /**\n * Контент слота справа от заголовка\n */\n icon?: ReactNode;\n /**\n * Позволяет выровнять по горизонтали контент слотов для заголовка и подзаголовка\n */\n centered?: boolean;\n}\n\nexport const TitleContainer: FC<TitleContainerProps> = ({ left, title, icon, subtitle, centered = false }) => {\n return (\n <div className={styles.titleContainerWrapper}>\n {!!left && (\n <div className={styles.titleLeftSlot}>\n <Morph id=\"title-component-left-slot\" className={styles.titleMorphItem}>\n {left}\n </Morph>\n </div>\n )}\n <div className={classNames(styles.titleMainPart, { [styles.centered]: centered })}>\n <div className={styles.titleContainer}>\n <div className={styles.title}>\n {!!title && (\n <Morph\n id=\"title-component-title\"\n className={styles.titleMorphItem}\n horizontalPositionAlign=\"left\"\n >\n {title}\n </Morph>\n )}\n </div>\n <div className={styles.titleInlineContainer}>\n {!!icon && (\n <Morph id=\"title-component-inline-slot\" className={styles.titleMorphItem}>\n {icon}\n </Morph>\n )}\n </div>\n </div>\n <div className={styles.subtitleContainer}>\n {!!subtitle && (\n <Morph\n id=\"title-component-subtitle\"\n className={styles.titleMorphItem}\n horizontalPositionAlign=\"left\"\n >\n {subtitle}\n </Morph>\n )}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;AA8Ba,MAAA,cAAc,GAA4B,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAI;AACzG,IAAA,QACIA,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,qBAAqB,EAAA,QAAA,EAAA,CACvC,CAAC,CAAC,IAAI,KACHC,aAAK,SAAS,EAAE,MAAM,CAAC,aAAa,EAChC,QAAA,EAAAA,GAAA,CAAC,KAAK,EAAC,EAAA,EAAE,EAAC,2BAA2B,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,EACjE,QAAA,EAAA,IAAI,GACD,EACN,CAAA,CACT,EACDD,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAA,QAAA,EAAA,CAC7EA,cAAK,SAAS,EAAE,MAAM,CAAC,cAAc,EACjC,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,KAAK,EAAA,QAAA,EACvB,CAAC,CAAC,KAAK,KACJA,IAAC,KAAK,EAAA,EACF,EAAE,EAAC,uBAAuB,EAC1B,SAAS,EAAE,MAAM,CAAC,cAAc,EAChC,uBAAuB,EAAC,MAAM,EAE7B,QAAA,EAAA,KAAK,GACF,CACX,EAAA,CACC,EACNA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,oBAAoB,EAAA,QAAA,EACtC,CAAC,CAAC,IAAI,KACHA,IAAC,KAAK,EAAA,EAAC,EAAE,EAAC,6BAA6B,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,EACnE,QAAA,EAAA,IAAI,EACD,CAAA,CACX,GACC,CACJ,EAAA,CAAA,EACNA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAA,QAAA,EACnC,CAAC,CAAC,QAAQ,KACPA,GAAA,CAAC,KAAK,EACF,EAAA,EAAE,EAAC,0BAA0B,EAC7B,SAAS,EAAE,MAAM,CAAC,cAAc,EAChC,uBAAuB,EAAC,MAAM,EAAA,QAAA,EAE7B,QAAQ,EACL,CAAA,CACX,GACC,CACJ,EAAA,CAAA,CAAA,EAAA,CACJ,EACR;AACN;;;;"}
1
+ {"version":3,"file":"TitleContainer.js","sources":["src/public/TitleContainer.tsx"],"sourcesContent":["import { type FC, type ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport { Morph } from '@hh.ru/magritte-ui-nav-bar/public/Morph';\nimport { TextDefaultPropsContext } from '@hh.ru/magritte-ui-typography';\n\nimport styles from './nav-bar.less';\n\nconst TEXT_DEFAULT_PROPS_TITLE = {\n small: {\n typography: 'subtitle-1-semibold',\n style: 'primary',\n },\n large: {\n typography: 'title-4-semibold',\n style: 'primary',\n },\n} as const;\n\nconst TEXT_DEFAULT_PROPS_SUBTITLE = {\n small: {\n typography: 'label-4-regular',\n style: 'secondary',\n },\n large: {\n typography: 'label-2-regular',\n style: 'secondary',\n },\n} as const;\n\nexport interface TitleContainerProps {\n /**\n * Контент левого слота\n */\n left?: ReactNode;\n /**\n * Контент слота для заголовка\n */\n title?: ReactNode;\n /**\n * Контент слота для подзаголовка\n */\n subtitle?: ReactNode;\n /**\n * Контент слота справа от заголовка\n */\n icon?: ReactNode;\n /**\n * Позволяет выровнять по горизонтали контент слотов для заголовка и подзаголовка\n */\n centered?: boolean;\n size?: 'large' | 'small';\n}\n\nexport const TitleContainer: FC<TitleContainerProps> = ({\n left,\n title,\n icon,\n subtitle,\n size = 'small',\n centered = false,\n}) => {\n return (\n <div\n className={classNames(styles.titleContainerWrapper, {\n [styles.sizeLarge]: size === 'large',\n })}\n >\n {!!left && (\n <div className={styles.titleLeftSlot}>\n <Morph id=\"title-component-left-slot\" className={styles.titleMorphItem}>\n {left}\n </Morph>\n </div>\n )}\n <div className={classNames(styles.titleMainPart, { [styles.centered]: centered })}>\n <div className={styles.titleContainer}>\n <div className={styles.title}>\n {!!title && (\n <TextDefaultPropsContext props={TEXT_DEFAULT_PROPS_TITLE[size]}>\n <Morph\n id=\"title-component-title\"\n className={classNames(styles.titleMorphItem, styles.textMorphItem)}\n horizontalPositionAlign=\"left\"\n >\n {title}\n </Morph>\n </TextDefaultPropsContext>\n )}\n </div>\n <div className={styles.titleInlineContainer}>\n {!!icon && (\n <Morph id=\"title-component-inline-slot\" className={styles.titleMorphItem}>\n {icon}\n </Morph>\n )}\n </div>\n </div>\n <div className={styles.subtitleContainer}>\n {!!subtitle && (\n <TextDefaultPropsContext props={TEXT_DEFAULT_PROPS_SUBTITLE[size]}>\n <Morph\n id=\"title-component-subtitle\"\n className={classNames(styles.titleMorphItem, styles.textMorphItem)}\n horizontalPositionAlign=\"left\"\n >\n {subtitle}\n </Morph>\n </TextDefaultPropsContext>\n )}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;AAQA,MAAM,wBAAwB,GAAG;AAC7B,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE,qBAAqB;AACjC,QAAA,KAAK,EAAE,SAAS;AACnB,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE,kBAAkB;AAC9B,QAAA,KAAK,EAAE,SAAS;AACnB,KAAA;CACK,CAAC;AAEX,MAAM,2BAA2B,GAAG;AAChC,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,KAAK,EAAE,WAAW;AACrB,KAAA;AACD,IAAA,KAAK,EAAE;AACH,QAAA,UAAU,EAAE,iBAAiB;AAC7B,QAAA,KAAK,EAAE,WAAW;AACrB,KAAA;CACK,CAAC;MA0BE,cAAc,GAA4B,CAAC,EACpD,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,IAAI,GAAG,OAAO,EACd,QAAQ,GAAG,KAAK,GACnB,KAAI;IACD,QACIA,cACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE;AAChD,YAAA,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,KAAK,OAAO;SACvC,CAAC,EAAA,QAAA,EAAA,CAED,CAAC,CAAC,IAAI,KACHC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,aAAa,EAAA,QAAA,EAChCA,IAAC,KAAK,EAAA,EAAC,EAAE,EAAC,2BAA2B,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,YACjE,IAAI,EAAA,CACD,GACN,CACT,EACDD,cAAK,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,aAC7EA,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,cAAc,EACjC,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,KAAK,EAAA,QAAA,EACvB,CAAC,CAAC,KAAK,KACJA,GAAC,CAAA,uBAAuB,IAAC,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAC1D,QAAA,EAAAA,GAAA,CAAC,KAAK,EACF,EAAA,EAAE,EAAC,uBAAuB,EAC1B,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,EAClE,uBAAuB,EAAC,MAAM,YAE7B,KAAK,EAAA,CACF,GACc,CAC7B,EAAA,CACC,EACNA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,oBAAoB,EACtC,QAAA,EAAA,CAAC,CAAC,IAAI,KACHA,IAAC,KAAK,EAAA,EAAC,EAAE,EAAC,6BAA6B,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,YACnE,IAAI,EAAA,CACD,CACX,EACC,CAAA,CAAA,EAAA,CACJ,EACNA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,iBAAiB,YACnC,CAAC,CAAC,QAAQ,KACPA,IAAC,uBAAuB,EAAA,EAAC,KAAK,EAAE,2BAA2B,CAAC,IAAI,CAAC,YAC7DA,GAAC,CAAA,KAAK,IACF,EAAE,EAAC,0BAA0B,EAC7B,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,EAClE,uBAAuB,EAAC,MAAM,EAAA,QAAA,EAE7B,QAAQ,EACL,CAAA,EAAA,CACc,CAC7B,EACC,CAAA,CAAA,EAAA,CACJ,CACJ,EAAA,CAAA,EACR;AACN;;;;"}
@@ -0,0 +1,40 @@
1
+ import { type FC, type ReactNode } from 'react';
2
+ import type { IconProps } from '@hh.ru/magritte-ui-icon/types';
3
+ import type { ActionsProps } from '@hh.ru/magritte-ui-nav-bar/public/Actions';
4
+ import type { NavBarProps } from '@hh.ru/magritte-ui-nav-bar/public/NavBar';
5
+ /** Внутренний хук чтения дефолтов корневых пропсов `NavBar` из ближайшего `NavBarDefaultPropsContext`. */
6
+ export declare const useNavBarRootDefaultProps: () => Partial<NavBarProps>;
7
+ /** Внутренний хук чтения дефолтов `Actions` из ближайшего `NavBarDefaultPropsContext`. */
8
+ export declare const useActionsDefaultProps: () => Partial<ActionsProps>;
9
+ /** Внутренний хук чтения переопределений дефолтов иконок боковых слотов `Actions`. */
10
+ export declare const useActionsIconsDefaultProps: () => Partial<IconProps>;
11
+ export interface NavBarDefaultPropsContextProps {
12
+ /**
13
+ * Дефолтные пропсы для самого `NavBar` в поддереве (например `startTriggerPosition` /
14
+ * `endTriggerPosition`) — явные пропсы на самом `NavBar` побеждают.
15
+ */
16
+ rootProps?: Partial<NavBarProps>;
17
+ /** Дефолтные пропсы для всех `Actions` в поддереве — явные пропсы на самом `Actions` побеждают. */
18
+ actionsProps?: Partial<ActionsProps>;
19
+ /**
20
+ * Переопределение дефолтных пропсов иконок в боковых слотах `Actions` (`left` / `right`).
21
+ * Мёржится поверх базовых дефолтов боковых иконок; на иконки центрального слота не влияет.
22
+ */
23
+ actionsIconsProps?: Partial<IconProps>;
24
+ /**
25
+ * Если `true`, заданные здесь дефолты форсируются: по пересекающимся ключам они побеждают
26
+ * любой вложенный (внутренний) провайдер, а не наоборот. Явные пропсы на самом компоненте
27
+ * по-прежнему перекрывают любой дефолт. Применяется ко всем слотам.
28
+ * @default false
29
+ */
30
+ important?: boolean;
31
+ children?: ReactNode;
32
+ }
33
+ /**
34
+ * Провайдер дефолтных пропсов для подкомпонентов NavBar в поддереве.
35
+ *
36
+ * Под капотом раскладывает пропсы по изолированным, типизированным контекстам каждого подкомпонента
37
+ * (`actions` → контекст `Actions` и т.д.), а подкомпоненты читают свои дефолты через собственные хуки.
38
+ * Добавление поддержки нового подкомпонента = новое поле-слот здесь + чтение в этом подкомпоненте.
39
+ */
40
+ export declare const NavBarDefaultPropsContext: FC<NavBarDefaultPropsContextProps>;
@@ -0,0 +1,36 @@
1
+ import './../index.css';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { createDefaultPropsContext } from '@hh.ru/magritte-internal-default-props-context';
4
+
5
+ /**
6
+ * Стабильные ссылки на пустые дефолты для незаданных слотов. Объявлены на уровне модуля,
7
+ * чтобы не создавать новый объект на каждый рендер composite-провайдера — иначе внутренний
8
+ * провайдер слота пересчитывал бы свёртку дефолтов вхолостую на каждый рендер.
9
+ */
10
+ const EMPTY_ACTIONS_PROPS = {};
11
+ const EMPTY_ICON_PROPS = {};
12
+ const EMPTY_ROOT_PROPS = {};
13
+ const rootContext = createDefaultPropsContext('NavBarRoot');
14
+ const actionsContext = createDefaultPropsContext('NavBarActions');
15
+ const actionsIconsContext = createDefaultPropsContext('NavBarActionsIcons');
16
+ const RootDefaultPropsContext = rootContext.DefaultPropsContext;
17
+ const ActionsDefaultPropsContext = actionsContext.DefaultPropsContext;
18
+ const ActionsIconsDefaultPropsContext = actionsIconsContext.DefaultPropsContext;
19
+ /** Внутренний хук чтения дефолтов корневых пропсов `NavBar` из ближайшего `NavBarDefaultPropsContext`. */
20
+ const useNavBarRootDefaultProps = rootContext.useDefaultProps;
21
+ /** Внутренний хук чтения дефолтов `Actions` из ближайшего `NavBarDefaultPropsContext`. */
22
+ const useActionsDefaultProps = actionsContext.useDefaultProps;
23
+ /** Внутренний хук чтения переопределений дефолтов иконок боковых слотов `Actions`. */
24
+ const useActionsIconsDefaultProps = actionsIconsContext.useDefaultProps;
25
+ /**
26
+ * Провайдер дефолтных пропсов для подкомпонентов NavBar в поддереве.
27
+ *
28
+ * Под капотом раскладывает пропсы по изолированным, типизированным контекстам каждого подкомпонента
29
+ * (`actions` → контекст `Actions` и т.д.), а подкомпоненты читают свои дефолты через собственные хуки.
30
+ * Добавление поддержки нового подкомпонента = новое поле-слот здесь + чтение в этом подкомпоненте.
31
+ */
32
+ const NavBarDefaultPropsContext = ({ rootProps: root = EMPTY_ROOT_PROPS, actionsProps: actions = EMPTY_ACTIONS_PROPS, actionsIconsProps: actionsIcons = EMPTY_ICON_PROPS, important = false, children, }) => (jsx(RootDefaultPropsContext, { props: root, important: important, children: jsx(ActionsDefaultPropsContext, { props: actions, important: important, children: jsx(ActionsIconsDefaultPropsContext, { props: actionsIcons, important: important, children: children }) }) }));
33
+ NavBarDefaultPropsContext.displayName = 'NavBarDefaultPropsContext';
34
+
35
+ export { NavBarDefaultPropsContext, useActionsDefaultProps, useActionsIconsDefaultProps, useNavBarRootDefaultProps };
36
+ //# sourceMappingURL=defaultProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultProps.js","sources":["src/public/defaultProps.tsx"],"sourcesContent":["import { type FC, type ReactNode } from 'react';\n\nimport { createDefaultPropsContext } from '@hh.ru/magritte-internal-default-props-context';\nimport type { IconProps } from '@hh.ru/magritte-ui-icon/types';\nimport type { ActionsProps } from '@hh.ru/magritte-ui-nav-bar/public/Actions';\nimport type { NavBarProps } from '@hh.ru/magritte-ui-nav-bar/public/NavBar';\n\n/**\n * Стабильные ссылки на пустые дефолты для незаданных слотов. Объявлены на уровне модуля,\n * чтобы не создавать новый объект на каждый рендер composite-провайдера — иначе внутренний\n * провайдер слота пересчитывал бы свёртку дефолтов вхолостую на каждый рендер.\n */\nconst EMPTY_ACTIONS_PROPS: Partial<ActionsProps> = {};\nconst EMPTY_ICON_PROPS: Partial<IconProps> = {};\nconst EMPTY_ROOT_PROPS: Partial<NavBarProps> = {};\n\nconst rootContext = createDefaultPropsContext<NavBarProps>('NavBarRoot');\nconst actionsContext = createDefaultPropsContext<ActionsProps>('NavBarActions');\nconst actionsIconsContext = createDefaultPropsContext<IconProps>('NavBarActionsIcons');\n\nconst RootDefaultPropsContext = rootContext.DefaultPropsContext;\nconst ActionsDefaultPropsContext = actionsContext.DefaultPropsContext;\nconst ActionsIconsDefaultPropsContext = actionsIconsContext.DefaultPropsContext;\n\n/** Внутренний хук чтения дефолтов корневых пропсов `NavBar` из ближайшего `NavBarDefaultPropsContext`. */\nexport const useNavBarRootDefaultProps = rootContext.useDefaultProps;\n\n/** Внутренний хук чтения дефолтов `Actions` из ближайшего `NavBarDefaultPropsContext`. */\nexport const useActionsDefaultProps = actionsContext.useDefaultProps;\n\n/** Внутренний хук чтения переопределений дефолтов иконок боковых слотов `Actions`. */\nexport const useActionsIconsDefaultProps = actionsIconsContext.useDefaultProps;\n\nexport interface NavBarDefaultPropsContextProps {\n /**\n * Дефолтные пропсы для самого `NavBar` в поддереве (например `startTriggerPosition` /\n * `endTriggerPosition`) — явные пропсы на самом `NavBar` побеждают.\n */\n rootProps?: Partial<NavBarProps>;\n /** Дефолтные пропсы для всех `Actions` в поддереве — явные пропсы на самом `Actions` побеждают. */\n actionsProps?: Partial<ActionsProps>;\n /**\n * Переопределение дефолтных пропсов иконок в боковых слотах `Actions` (`left` / `right`).\n * Мёржится поверх базовых дефолтов боковых иконок; на иконки центрального слота не влияет.\n */\n actionsIconsProps?: Partial<IconProps>;\n /**\n * Если `true`, заданные здесь дефолты форсируются: по пересекающимся ключам они побеждают\n * любой вложенный (внутренний) провайдер, а не наоборот. Явные пропсы на самом компоненте\n * по-прежнему перекрывают любой дефолт. Применяется ко всем слотам.\n * @default false\n */\n important?: boolean;\n children?: ReactNode;\n}\n\n/**\n * Провайдер дефолтных пропсов для подкомпонентов NavBar в поддереве.\n *\n * Под капотом раскладывает пропсы по изолированным, типизированным контекстам каждого подкомпонента\n * (`actions` → контекст `Actions` и т.д.), а подкомпоненты читают свои дефолты через собственные хуки.\n * Добавление поддержки нового подкомпонента = новое поле-слот здесь + чтение в этом подкомпоненте.\n */\nexport const NavBarDefaultPropsContext: FC<NavBarDefaultPropsContextProps> = ({\n rootProps: root = EMPTY_ROOT_PROPS,\n actionsProps: actions = EMPTY_ACTIONS_PROPS,\n actionsIconsProps: actionsIcons = EMPTY_ICON_PROPS,\n important = false,\n children,\n}) => (\n <RootDefaultPropsContext props={root} important={important}>\n <ActionsDefaultPropsContext props={actions} important={important}>\n <ActionsIconsDefaultPropsContext props={actionsIcons} important={important}>\n {children}\n </ActionsIconsDefaultPropsContext>\n </ActionsDefaultPropsContext>\n </RootDefaultPropsContext>\n);\n\nNavBarDefaultPropsContext.displayName = 'NavBarDefaultPropsContext';\n"],"names":["_jsx"],"mappings":";;;AAOA;;;;AAIG;AACH,MAAM,mBAAmB,GAA0B,EAAE,CAAC;AACtD,MAAM,gBAAgB,GAAuB,EAAE,CAAC;AAChD,MAAM,gBAAgB,GAAyB,EAAE,CAAC;AAElD,MAAM,WAAW,GAAG,yBAAyB,CAAc,YAAY,CAAC,CAAC;AACzE,MAAM,cAAc,GAAG,yBAAyB,CAAe,eAAe,CAAC,CAAC;AAChF,MAAM,mBAAmB,GAAG,yBAAyB,CAAY,oBAAoB,CAAC,CAAC;AAEvF,MAAM,uBAAuB,GAAG,WAAW,CAAC,mBAAmB,CAAC;AAChE,MAAM,0BAA0B,GAAG,cAAc,CAAC,mBAAmB,CAAC;AACtE,MAAM,+BAA+B,GAAG,mBAAmB,CAAC,mBAAmB,CAAC;AAEhF;AACa,MAAA,yBAAyB,GAAG,WAAW,CAAC,gBAAgB;AAErE;AACa,MAAA,sBAAsB,GAAG,cAAc,CAAC,gBAAgB;AAErE;AACa,MAAA,2BAA2B,GAAG,mBAAmB,CAAC,gBAAgB;AAyB/E;;;;;;AAMG;AACI,MAAM,yBAAyB,GAAuC,CAAC,EAC1E,SAAS,EAAE,IAAI,GAAG,gBAAgB,EAClC,YAAY,EAAE,OAAO,GAAG,mBAAmB,EAC3C,iBAAiB,EAAE,YAAY,GAAG,gBAAgB,EAClD,SAAS,GAAG,KAAK,EACjB,QAAQ,GACX,MACGA,GAAC,CAAA,uBAAuB,EAAC,EAAA,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAA,QAAA,EACtDA,GAAC,CAAA,0BAA0B,IAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAC5D,QAAA,EAAAA,GAAA,CAAC,+BAA+B,EAAA,EAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,YACrE,QAAQ,EAAA,CACqB,EACT,CAAA,EAAA,CACP,EAC5B;AAEF,yBAAyB,CAAC,WAAW,GAAG,2BAA2B;;;;"}
@@ -1,5 +0,0 @@
1
- import './index.css';
2
- var styles = {"actions-container":"magritte-actions-container___CBgYW_1-3-25","actionsContainer":"magritte-actions-container___CBgYW_1-3-25","actions-no-children":"magritte-actions-no-children___rgJUl_1-3-25","actionsNoChildren":"magritte-actions-no-children___rgJUl_1-3-25","actions-left-slot":"magritte-actions-left-slot___DNOj0_1-3-25","actionsLeftSlot":"magritte-actions-left-slot___DNOj0_1-3-25","actions-right-slot":"magritte-actions-right-slot___aodtj_1-3-25","actionsRightSlot":"magritte-actions-right-slot___aodtj_1-3-25","navbar-transparent-end":"magritte-navbar-transparent-end___6KqLR_1-3-25","navbarTransparentEnd":"magritte-navbar-transparent-end___6KqLR_1-3-25","actions-start-stage":"magritte-actions-start-stage___MJ67a_1-3-25","actionsStartStage":"magritte-actions-start-stage___MJ67a_1-3-25","actions-side-slot-content":"magritte-actions-side-slot-content___TlHrX_1-3-25","actionsSideSlotContent":"magritte-actions-side-slot-content___TlHrX_1-3-25","actions-icon-morph":"magritte-actions-icon-morph___-nNgW_1-3-25","actionsIconMorph":"magritte-actions-icon-morph___-nNgW_1-3-25","navbar-transparent-start":"magritte-navbar-transparent-start___wysv0_1-3-25","navbarTransparentStart":"magritte-navbar-transparent-start___wysv0_1-3-25","actions-end-stage":"magritte-actions-end-stage___qHtTV_1-3-25","actionsEndStage":"magritte-actions-end-stage___qHtTV_1-3-25","navbar-not-transparent":"magritte-navbar-not-transparent___5KZNp_1-3-25","navbarNotTransparent":"magritte-navbar-not-transparent___5KZNp_1-3-25","navbar-transparent":"magritte-navbar-transparent___ULEh8_1-3-25","navbarTransparent":"magritte-navbar-transparent___ULEh8_1-3-25","actions-only-stage":"magritte-actions-only-stage___cg10A_1-3-25","actionsOnlyStage":"magritte-actions-only-stage___cg10A_1-3-25","actions-side-slot-content-clone":"magritte-actions-side-slot-content-clone___jDxVm_1-3-25","actionsSideSlotContentClone":"magritte-actions-side-slot-content-clone___jDxVm_1-3-25","actions-center-slot":"magritte-actions-center-slot___hLAy6_1-3-25","actionsCenterSlot":"magritte-actions-center-slot___hLAy6_1-3-25","actions-center-slot-centered":"magritte-actions-center-slot-centered___merXQ_1-3-25","actionsCenterSlotCentered":"magritte-actions-center-slot-centered___merXQ_1-3-25","title-container-wrapper":"magritte-title-container-wrapper___DQUcj_1-3-25","titleContainerWrapper":"magritte-title-container-wrapper___DQUcj_1-3-25","title-main-part":"magritte-title-main-part___npoHN_1-3-25","titleMainPart":"magritte-title-main-part___npoHN_1-3-25","title-left-slot":"magritte-title-left-slot___HTE7h_1-3-25","titleLeftSlot":"magritte-title-left-slot___HTE7h_1-3-25","title-container":"magritte-title-container___y9AIx_1-3-25","titleContainer":"magritte-title-container___y9AIx_1-3-25","subtitle-container":"magritte-subtitle-container___nVUBu_1-3-25","subtitleContainer":"magritte-subtitle-container___nVUBu_1-3-25","centered":"magritte-centered___Y2mlP_1-3-25","title-morph-item":"magritte-title-morph-item___t7Wf3_1-3-25","titleMorphItem":"magritte-title-morph-item___t7Wf3_1-3-25","title":"magritte-title___ZbLgP_1-3-25","pane-content":"magritte-pane-content___UVmC6_1-3-25","paneContent":"magritte-pane-content___UVmC6_1-3-25","pane-background":"magritte-pane-background___PDZAX_1-3-25","paneBackground":"magritte-pane-background___PDZAX_1-3-25","morph-item":"magritte-morph-item___8kF46_1-3-25","morphItem":"magritte-morph-item___8kF46_1-3-25","morph-item-top":"magritte-morph-item-top___WPEkn_1-3-25","morphItemTop":"magritte-morph-item-top___WPEkn_1-3-25","morph-item-bottom":"magritte-morph-item-bottom___zNbsF_1-3-25","morphItemBottom":"magritte-morph-item-bottom___zNbsF_1-3-25","morph-item-left":"magritte-morph-item-left___T6AMW_1-3-25","morphItemLeft":"magritte-morph-item-left___T6AMW_1-3-25","morph-item-right":"magritte-morph-item-right___EuT1E_1-3-25","morphItemRight":"magritte-morph-item-right___EuT1E_1-3-25","pane":"magritte-pane___f8eFC_1-3-25","start-state-container":"magritte-start-state-container___giBVb_1-3-25","startStateContainer":"magritte-start-state-container___giBVb_1-3-25","end-state-container":"magritte-end-state-container___uiW8Q_1-3-25","endStateContainer":"magritte-end-state-container___uiW8Q_1-3-25","content-container":"magritte-content-container___7s7vv_1-3-25","contentContainer":"magritte-content-container___7s7vv_1-3-25","next-pane":"magritte-next-pane___H2oxQ_1-3-25","nextPane":"magritte-next-pane___H2oxQ_1-3-25","nav-bar":"magritte-nav-bar___RRGe0_1-3-25","navBar":"magritte-nav-bar___RRGe0_1-3-25","nav-bar-overlay":"magritte-nav-bar-overlay___Mq5ZD_1-3-25","navBarOverlay":"magritte-nav-bar-overlay___Mq5ZD_1-3-25","nav-bar-overlay-wrapper":"magritte-nav-bar-overlay-wrapper___y1VpY_1-3-25","navBarOverlayWrapper":"magritte-nav-bar-overlay-wrapper___y1VpY_1-3-25","nav-bar-content-container":"magritte-nav-bar-content-container___H-WMO_1-3-25","navBarContentContainer":"magritte-nav-bar-content-container___H-WMO_1-3-25","nav-bar-panes-container":"magritte-nav-bar-panes-container___5ZDLa_1-3-25","navBarPanesContainer":"magritte-nav-bar-panes-container___5ZDLa_1-3-25","nav-bar-progressive-blur":"magritte-nav-bar-progressive-blur___qyeUV_1-3-25","navBarProgressiveBlur":"magritte-nav-bar-progressive-blur___qyeUV_1-3-25","nav-bar-stage":"magritte-nav-bar-stage___amDz7_1-3-25","navBarStage":"magritte-nav-bar-stage___amDz7_1-3-25","last-pane":"magritte-last-pane___Hf2No_1-3-25","lastPane":"magritte-last-pane___Hf2No_1-3-25","metrics-mode":"magritte-metrics-mode___h38aX_1-3-25","metricsMode":"magritte-metrics-mode___h38aX_1-3-25","layout-morph":"magritte-layout-morph___I3SPy_1-3-25","layoutMorph":"magritte-layout-morph___I3SPy_1-3-25","animation-stage-progress":"magritte-animation-stage-progress___5FthT_1-3-25","animationStageProgress":"magritte-animation-stage-progress___5FthT_1-3-25","layout-morph-start":"magritte-layout-morph-start___9-krP_1-3-25","layoutMorphStart":"magritte-layout-morph-start___9-krP_1-3-25","layout-morph-end":"magritte-layout-morph-end___LIg4d_1-3-25","layoutMorphEnd":"magritte-layout-morph-end___LIg4d_1-3-25","divider-container":"magritte-divider-container___-NdWi_1-3-25","dividerContainer":"magritte-divider-container___-NdWi_1-3-25"};
3
-
4
- export { styles as s };
5
- //# sourceMappingURL=nav-bar-DEFIZlLr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nav-bar-DEFIZlLr.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}