@oslokommune/punkt-css 13.22.0 → 14.0.1

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/css/components/header-service-mobile.css +185 -0
  3. package/dist/css/components/header-service-mobile.min.css +1 -0
  4. package/dist/css/components/header-service.css +413 -0
  5. package/dist/css/components/header-service.min.css +1 -0
  6. package/dist/css/components/header-user-menu.css +128 -0
  7. package/dist/css/components/header-user-menu.min.css +1 -0
  8. package/dist/css/components/textinput.css +1 -1
  9. package/dist/css/components/textinput.min.css +1 -1
  10. package/dist/css/elements/checkbox-radio.css +3 -3
  11. package/dist/css/elements/checkbox-radio.min.css +1 -1
  12. package/dist/css/elements/input.css +1 -1
  13. package/dist/css/elements/input.min.css +1 -1
  14. package/dist/css/elements/select.css +1 -1
  15. package/dist/css/elements/select.min.css +1 -1
  16. package/dist/css/pkt-base.css +7 -2
  17. package/dist/css/pkt-base.min.css +1 -1
  18. package/dist/css/pkt-components.css +730 -1
  19. package/dist/css/pkt-components.min.css +1 -1
  20. package/dist/css/pkt-docs.css +740 -6
  21. package/dist/css/pkt-docs.min.css +1 -1
  22. package/dist/css/pkt-elements.css +4 -4
  23. package/dist/css/pkt-elements.min.css +1 -1
  24. package/dist/css/pkt.css +740 -6
  25. package/dist/css/pkt.min.css +1 -1
  26. package/dist/scss/abstracts/mixins/_container-queries.scss +37 -0
  27. package/dist/scss/abstracts/mixins/_index.scss +1 -0
  28. package/dist/scss/abstracts/variables/_index.scss +1 -1
  29. package/dist/scss/base/_typography.scss +4 -1
  30. package/dist/scss/components/_header-service-mobile.scss +212 -0
  31. package/dist/scss/components/_header-service.scss +378 -0
  32. package/dist/scss/components/_header-user-menu.scss +127 -0
  33. package/dist/scss/components/_index.scss +3 -0
  34. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -5,6 +5,68 @@ og skriver commits ca etter [Conventional Commits](https://conventionalcommits.o
5
5
 
6
6
  ---
7
7
 
8
+ ## [14.0.1](https://github.com/oslokommune/punkt/compare/14.0.0...14.0.1) (2026-02-02)
9
+
10
+ ### ⚠ BREAKING CHANGES
11
+ Ingen
12
+
13
+ ### Features
14
+ Ingen
15
+
16
+ ### Bug Fixes
17
+ * Header – z-index-bug i brukermenyen (#3210).
18
+
19
+
20
+ ### Chores
21
+ Ingen
22
+
23
+ ---
24
+
25
+
26
+ ## [14.0.0](https://github.com/oslokommune/punkt/compare/13.22.0...14.0.0) (2026-02-02)
27
+
28
+ ### ⚠ BREAKING CHANGES
29
+ * Header (Service) (#3192) Nå også som custom element!. BREAKING CHANGE: Fjernet 'logIn' event (kun 'logOut' støttes nå)
30
+ BREAKING CHANGE: Erstattet 'fixed' prop med 'position' (verdier: 'fixed' | 'relative', default: 'fixed')
31
+ BREAKING CHANGE: Erstattet 'scrollToHide' prop med 'scrollBehavior' (verdier: 'hide' | 'none', default: 'hide')
32
+ BREAKING CHANGE: Erstattet 'showLogOutButton' med 'logOutButtonPlacement' (verdier: 'userMenu' | 'header' | 'both' | 'none', default: 'none')
33
+ BREAKING CHANGE: Fjernet 'showMenuButton' prop
34
+ BREAKING CHANGE: Fjernet 'user.shortname' fra user-objektet
35
+ BREAKING CHANGE: Fjernet 'representing.shortname' fra representing-objektet
36
+ BREAKING CHANGE: Endret 'userMenu.items.target' type fra 'string' til 'string | function'
37
+ BREAKING CHANGE: Utdatert 'userMenuFooter' og 'userOptions' props (bruk 'userMenu' i stedet)
38
+ BREAKING CHANGE: Fjernet default verdi for 'logoLink' (var `https://www.oslo.kommune.no/`)
39
+
40
+ NYE FEATURES:
41
+ - Lagt til søkefunksjonalitet med props: 'showSearch', 'searchPlaceholder', 'searchValue'
42
+ - Nye events: 'onSearch' og 'onSearchChange' for søkeinteraksjon
43
+ - Nye events: 'logoClick' og 'serviceClick' for klikkhåndtering
44
+ - Nye React-props: 'logoClick' og 'serviceClick' callbacks
45
+ - Lagt til 'serviceLink' prop for tjenestenavnlenke
46
+ - Lagt til 'hideLogo' prop for å skjule Oslo-logoen
47
+ - Lagt til 'compact' prop for kompakt header-høyde
48
+ - Lagt til 'mobileBreakpoint' prop (default: 768px) for mobil-layout
49
+ - Lagt til 'tabletBreakpoint' prop (default: 1280px) for tablet-layout
50
+ - Lagt til 'openedMenu' prop for å kontrollere hvilken meny som er åpen ved oppstart
51
+
52
+ FUNKSJONELLE ENDRINGER:
53
+ - Alle events har nå 'attribute' felt for custom element-støtte
54
+ - Forbedret type-dokumentasjon for 'user.lastLoggedIn' (string | Date)
55
+ - Forbedret type-dokumentasjon for 'representing.orgNumber' (string | number)
56
+
57
+
58
+ ### Features
59
+ Ingen
60
+
61
+ ### Bug Fixes
62
+ Ingen
63
+
64
+ ### Chores
65
+ Ingen
66
+
67
+ ---
68
+
69
+
8
70
  ## [13.22.0](https://github.com/oslokommune/punkt/compare/13.21.0...13.22.0) (2026-01-30)
9
71
 
10
72
  ### ⚠ BREAKING CHANGES
@@ -0,0 +1,185 @@
1
+ .pkt-header-service.pkt-header-service--mobile {
2
+ grid-template-rows: 4rem auto;
3
+ grid-template-columns: 1fr auto;
4
+ }
5
+ @media screen and (min-width: 80rem) {
6
+ .pkt-header-service.pkt-header-service--mobile {
7
+ grid-template-rows: 4.5rem auto;
8
+ }
9
+ }
10
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service--compact {
11
+ grid-template-rows: 4rem auto;
12
+ }
13
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__logo-area, .pkt-header-service.pkt-header-service--mobile .pkt-header-service__content, .pkt-header-service.pkt-header-service--mobile .pkt-header-service__user {
14
+ column-gap: 1rem;
15
+ }
16
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__logo-area {
17
+ grid-column: 1;
18
+ grid-row: 1;
19
+ }
20
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__content {
21
+ grid-column: 2;
22
+ grid-row: 1;
23
+ padding-right: 1rem;
24
+ }
25
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__user {
26
+ grid-column: 1/-1;
27
+ grid-row: 2;
28
+ justify-self: stretch;
29
+ padding: 0;
30
+ }
31
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__logo svg {
32
+ height: 2rem;
33
+ }
34
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__service-name {
35
+ letter-spacing: -0.2px;
36
+ font-weight: 500;
37
+ font-size: 1rem;
38
+ line-height: 1.5rem;
39
+ }
40
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__mobile-menu {
41
+ background-color: var(--pkt-color-background-default);
42
+ }
43
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-container {
44
+ background-color: var(--pkt-color-background-default);
45
+ height: 3.5rem;
46
+ width: 100%;
47
+ z-index: 100;
48
+ }
49
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-button:is(button), .pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-button button {
50
+ height: 100%;
51
+ padding: 0 1.5rem;
52
+ width: 100%;
53
+ max-width: 100%;
54
+ border: none;
55
+ border-top: 1px solid var(--pkt-color-border-subtle, #f2f2f2);
56
+ border-bottom: 1px solid var(--pkt-color-border-subtle, #f2f2f2);
57
+ }
58
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-button:not(button) {
59
+ display: contents;
60
+ }
61
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-menu {
62
+ max-width: 100%;
63
+ position: unset;
64
+ }
65
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-content {
66
+ display: none;
67
+ }
68
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content {
69
+ position: absolute;
70
+ top: 4rem;
71
+ left: 0;
72
+ right: 0;
73
+ max-width: 100vw;
74
+ }
75
+ @media screen and (min-width: 80rem) {
76
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content {
77
+ top: 4.5rem;
78
+ }
79
+ }
80
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu {
81
+ position: absolute;
82
+ top: 4rem;
83
+ left: 0;
84
+ right: 0;
85
+ }
86
+ @media screen and (min-width: 80rem) {
87
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu {
88
+ top: 4.5rem;
89
+ }
90
+ }
91
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-input {
92
+ padding: 1rem;
93
+ }
94
+
95
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content, .pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu, .pkt-header-service.pkt-header-service--mobile .pkt-header-service__mobile-menu.is-open,
96
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,
97
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu,
98
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__mobile-menu.is-open {
99
+ background-color: var(--pkt-color-background-default);
100
+ z-index: 100;
101
+ border-top: 1px solid var(--pkt-color-border-subtle, #f2f2f2);
102
+ border-bottom: 1px solid var(--pkt-color-border-subtle, #f2f2f2);
103
+ }
104
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content::after, .pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu::after, .pkt-header-service.pkt-header-service--mobile .pkt-header-service__mobile-menu.is-open::after,
105
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content::after,
106
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu::after,
107
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__mobile-menu.is-open::after {
108
+ content: "";
109
+ position: absolute;
110
+ bottom: 0;
111
+ left: 0;
112
+ right: 0;
113
+ height: 1.25rem;
114
+ pointer-events: none;
115
+ background: linear-gradient(to top, transparent, rgba(0, 0, 0, 0.06));
116
+ transform: translateY(100%);
117
+ z-index: 101;
118
+ }
119
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,
120
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content {
121
+ height: max-content;
122
+ max-height: calc(100dvh - var(--pkt-header-height));
123
+ overflow: visible;
124
+ }
125
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content, .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents,
126
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,
127
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents {
128
+ display: flex;
129
+ flex-direction: column;
130
+ align-items: stretch;
131
+ }
132
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,
133
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > ul, .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents,
134
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents > ul,
135
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,
136
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > ul,
137
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents,
138
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents > ul {
139
+ margin-left: 0;
140
+ gap: 1.5rem;
141
+ }
142
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > *,
143
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > ul > *, .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents > *,
144
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents > ul > *,
145
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > *,
146
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > ul > *,
147
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents > *,
148
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content > .pkt-contents > ul > * {
149
+ margin-left: 0;
150
+ }
151
+ .pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content .pkt-contents,
152
+ .pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content .pkt-contents {
153
+ padding: 2rem;
154
+ overflow-y: auto;
155
+ -webkit-overflow-scrolling: touch;
156
+ }
157
+
158
+ .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-content {
159
+ display: none;
160
+ }
161
+ .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container, .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container {
162
+ position: relative;
163
+ }
164
+ .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,
165
+ .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container.is-open .pkt-header-service__mobile-menu, .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container.is-open .pkt-header-service__slot-content,
166
+ .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu {
167
+ display: block;
168
+ position: absolute;
169
+ top: 100%;
170
+ left: 0;
171
+ min-width: 19rem;
172
+ width: fit-content;
173
+ max-width: 100%;
174
+ right: auto;
175
+ border: 2px solid var(--pkt-color-border-subtle);
176
+ }
177
+ .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content.align-right,
178
+ .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container.is-open .pkt-header-service__mobile-menu.align-right, .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container.is-open .pkt-header-service__slot-content.align-right,
179
+ .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu.align-right {
180
+ left: auto;
181
+ right: 0;
182
+ }
183
+ .pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-input {
184
+ padding: 1rem;
185
+ }
@@ -0,0 +1 @@
1
+ .pkt-header-service.pkt-header-service--mobile{grid-template-rows:4rem auto;grid-template-columns:1fr auto}@media screen and (min-width: 80rem){.pkt-header-service.pkt-header-service--mobile{grid-template-rows:4.5rem auto}}.pkt-header-service.pkt-header-service--mobile .pkt-header-service--compact{grid-template-rows:4rem auto}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__logo-area,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__content,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__user{column-gap:1rem}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__logo-area{grid-column:1;grid-row:1}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__content{grid-column:2;grid-row:1;padding-right:1rem}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__user{grid-column:1/-1;grid-row:2;justify-self:stretch;padding:0}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__logo svg{height:2rem}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__service-name{letter-spacing:-0.2px;font-weight:500;font-size:1rem;line-height:1.5rem}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__mobile-menu{background-color:var(--pkt-color-background-default)}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-container{background-color:var(--pkt-color-background-default);height:3.5rem;width:100%;z-index:100}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-button:is(button),.pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-button button{height:100%;padding:0 1.5rem;width:100%;max-width:100%;border:none;border-top:1px solid var(--pkt-color-border-subtle, #f2f2f2);border-bottom:1px solid var(--pkt-color-border-subtle, #f2f2f2)}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-button:not(button){display:contents}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__user-menu{max-width:100%;position:unset}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-content{display:none}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content{position:absolute;top:4rem;left:0;right:0;max-width:100vw}@media screen and (min-width: 80rem){.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content{top:4.5rem}}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu{position:absolute;top:4rem;left:0;right:0}@media screen and (min-width: 80rem){.pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu{top:4.5rem}}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-input{padding:1rem}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__mobile-menu.is-open,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__mobile-menu.is-open{background-color:var(--pkt-color-background-default);z-index:100;border-top:1px solid var(--pkt-color-border-subtle, #f2f2f2);border-bottom:1px solid var(--pkt-color-border-subtle, #f2f2f2)}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content::after,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu::after,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__mobile-menu.is-open::after,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content::after,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu::after,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__mobile-menu.is-open::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1.25rem;pointer-events:none;background:linear-gradient(to top, transparent, rgba(0, 0, 0, 0.06));transform:translateY(100%);z-index:101}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content{height:max-content;max-height:calc(100dvh - var(--pkt-header-height));overflow:visible}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents{display:flex;flex-direction:column;align-items:stretch}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>ul,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents>ul,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>ul,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents>ul{margin-left:0;gap:1.5rem}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>*,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>ul>*,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents>*,.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents>ul>*,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>*,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>ul>*,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents>*,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content>.pkt-contents>ul>*{margin-left:0}.pkt-header-service.pkt-header-service--mobile .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content .pkt-contents,.pkt-header-service.pkt-header-service--tablet .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content .pkt-contents{padding:2rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-content{display:none}.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container,.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container{position:relative}.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content,.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container.is-open .pkt-header-service__mobile-menu,.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container.is-open .pkt-header-service__slot-content,.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu{display:block;position:absolute;top:100%;left:0;min-width:19rem;width:fit-content;max-width:100%;right:auto;border:2px solid var(--pkt-color-border-subtle)}.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container.is-open .pkt-header-service__slot-content.align-right,.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__slot-container.is-open .pkt-header-service__mobile-menu.align-right,.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container.is-open .pkt-header-service__slot-content.align-right,.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-container.is-open .pkt-header-service__mobile-menu.align-right{left:auto;right:0}.pkt-header-service.pkt-header-service--tablet:not(.pkt-header-service--mobile) .pkt-header-service__search-input{padding:1rem}
@@ -0,0 +1,413 @@
1
+ /*
2
+ * HeaderService component
3
+ * Uses container queries with media query fallback for responsive behavior
4
+ */
5
+ .pkt-header-service-spacer {
6
+ height: 80px;
7
+ }
8
+ @media screen and (min-width: 48rem) {
9
+ .pkt-header-service-spacer {
10
+ height: 5.5rem;
11
+ }
12
+ }
13
+ @container header-service (min-width: 48rem) {
14
+ .pkt-header-service-spacer {
15
+ height: 5.5rem;
16
+ }
17
+ }
18
+ @media screen and (min-width: 80rem) {
19
+ .pkt-header-service-spacer {
20
+ height: 6.5rem;
21
+ }
22
+ }
23
+ @container header-service (min-width: 80rem) {
24
+ .pkt-header-service-spacer {
25
+ height: 6.5rem;
26
+ }
27
+ }
28
+ .pkt-header-service-spacer--mobile {
29
+ height: 80px;
30
+ }
31
+ .pkt-header-service-spacer--has-user {
32
+ height: 128px;
33
+ }
34
+ @media screen and (min-width: 48rem) {
35
+ .pkt-header-service-spacer--has-user {
36
+ height: 5.5rem;
37
+ }
38
+ }
39
+ @container header-service (min-width: 48rem) {
40
+ .pkt-header-service-spacer--has-user {
41
+ height: 5.5rem;
42
+ }
43
+ }
44
+ @media screen and (min-width: 80rem) {
45
+ .pkt-header-service-spacer--has-user {
46
+ height: 6.5rem;
47
+ }
48
+ }
49
+ @container header-service (min-width: 80rem) {
50
+ .pkt-header-service-spacer--has-user {
51
+ height: 6.5rem;
52
+ }
53
+ }
54
+ .pkt-header-service-spacer--has-user.pkt-header-service-spacer--mobile {
55
+ height: 128px;
56
+ }
57
+ .pkt-header-service-spacer--compact {
58
+ height: 4rem;
59
+ }
60
+ @media screen and (min-width: 48rem) {
61
+ .pkt-header-service-spacer--compact {
62
+ height: 4rem;
63
+ }
64
+ }
65
+ @container header-service (min-width: 48rem) {
66
+ .pkt-header-service-spacer--compact {
67
+ height: 4rem;
68
+ }
69
+ }
70
+ @media screen and (min-width: 80rem) {
71
+ .pkt-header-service-spacer--compact {
72
+ height: 4.5rem;
73
+ }
74
+ }
75
+ @container header-service (min-width: 80rem) {
76
+ .pkt-header-service-spacer--compact {
77
+ height: 4.5rem;
78
+ }
79
+ }
80
+ .pkt-header-service-spacer--compact.pkt-header-service-spacer--mobile {
81
+ height: 4rem;
82
+ }
83
+ .pkt-header-service-spacer--compact.pkt-header-service-spacer--has-user {
84
+ height: 104px;
85
+ }
86
+ @media screen and (min-width: 48rem) {
87
+ .pkt-header-service-spacer--compact.pkt-header-service-spacer--has-user {
88
+ height: 4rem;
89
+ }
90
+ }
91
+ @container header-service (min-width: 48rem) {
92
+ .pkt-header-service-spacer--compact.pkt-header-service-spacer--has-user {
93
+ height: 4rem;
94
+ }
95
+ }
96
+ @media screen and (min-width: 80rem) {
97
+ .pkt-header-service-spacer--compact.pkt-header-service-spacer--has-user {
98
+ height: 4.5rem;
99
+ }
100
+ }
101
+ @container header-service (min-width: 80rem) {
102
+ .pkt-header-service-spacer--compact.pkt-header-service-spacer--has-user {
103
+ height: 4.5rem;
104
+ }
105
+ }
106
+ .pkt-header-service-spacer--compact.pkt-header-service-spacer--has-user.pkt-header-service-spacer--mobile {
107
+ height: 104px;
108
+ }
109
+
110
+ .pkt-header-service {
111
+ --pkt-header-height: 4.5rem;
112
+ position: relative;
113
+ }
114
+ @media screen and (min-width: 48rem) {
115
+ .pkt-header-service {
116
+ --pkt-header-height: 5.5rem;
117
+ }
118
+ }
119
+ @container header-service (min-width: 48rem) {
120
+ .pkt-header-service {
121
+ --pkt-header-height: 5.5rem;
122
+ }
123
+ }
124
+ @media screen and (min-width: 80rem) {
125
+ .pkt-header-service {
126
+ --pkt-header-height: 6.5rem;
127
+ }
128
+ }
129
+ @container header-service (min-width: 80rem) {
130
+ .pkt-header-service {
131
+ --pkt-header-height: 6.5rem;
132
+ }
133
+ }
134
+ .pkt-header-service--compact {
135
+ --pkt-header-height: 4rem;
136
+ }
137
+ @media screen and (min-width: 80rem) {
138
+ .pkt-header-service--compact {
139
+ --pkt-header-height: 4.5rem;
140
+ }
141
+ }
142
+ @container header-service (min-width: 80rem) {
143
+ .pkt-header-service--compact {
144
+ --pkt-header-height: 4.5rem;
145
+ }
146
+ }
147
+ .pkt-header-service--mobile {
148
+ --pkt-header-height: 4rem;
149
+ }
150
+ @media screen and (min-width: 80rem) {
151
+ .pkt-header-service--mobile {
152
+ --pkt-header-height: 4.5rem;
153
+ }
154
+ }
155
+ .pkt-header-service {
156
+ background-color: var(--pkt-color-background-default);
157
+ container-type: inline-size;
158
+ container-name: header-service;
159
+ display: grid;
160
+ align-items: center;
161
+ grid-template-columns: 1fr auto auto;
162
+ grid-template-rows: 4.5rem auto;
163
+ column-gap: 1rem;
164
+ }
165
+ @media screen and (min-width: 48rem) {
166
+ .pkt-header-service {
167
+ grid-template-rows: 5.5rem auto;
168
+ column-gap: 1.5rem;
169
+ }
170
+ }
171
+ @container header-service (min-width: 48rem) {
172
+ .pkt-header-service {
173
+ grid-template-rows: 5.5rem auto;
174
+ column-gap: 1.5rem;
175
+ }
176
+ }
177
+ @media screen and (min-width: 80rem) {
178
+ .pkt-header-service {
179
+ grid-template-rows: 6.5rem auto;
180
+ column-gap: 2rem;
181
+ }
182
+ }
183
+ @container header-service (min-width: 80rem) {
184
+ .pkt-header-service {
185
+ grid-template-rows: 6.5rem auto;
186
+ column-gap: 2rem;
187
+ }
188
+ }
189
+ .pkt-header-service--compact {
190
+ grid-template-rows: 4.5rem auto;
191
+ }
192
+ .pkt-header-service--fixed {
193
+ width: 100vw;
194
+ position: fixed;
195
+ top: 0;
196
+ left: 0;
197
+ z-index: 10;
198
+ }
199
+ .pkt-header-service--scroll-to-hide {
200
+ transform: translate3d(0, 0, 0);
201
+ transition: 0.5s transform ease-in-out;
202
+ }
203
+ .pkt-header-service--hidden {
204
+ transform: translate3d(0, -100%, 0);
205
+ }
206
+ .pkt-header-service__logo-area, .pkt-header-service__content, .pkt-header-service__user {
207
+ display: inline-flex;
208
+ column-gap: 1.5rem;
209
+ min-width: 0;
210
+ }
211
+ @media screen and (min-width: 80rem) {
212
+ .pkt-header-service__logo-area, .pkt-header-service__content, .pkt-header-service__user {
213
+ column-gap: 2rem;
214
+ }
215
+ }
216
+ @container header-service (min-width: 80rem) {
217
+ .pkt-header-service__logo-area, .pkt-header-service__content, .pkt-header-service__user {
218
+ column-gap: 2rem;
219
+ }
220
+ }
221
+ .pkt-header-service__logo-area {
222
+ grid-column: 1;
223
+ grid-row: 1;
224
+ align-items: center;
225
+ display: inline-flex;
226
+ padding-left: 1rem;
227
+ }
228
+ @media screen and (min-width: 80rem) {
229
+ .pkt-header-service__logo-area {
230
+ padding-left: 2rem;
231
+ }
232
+ }
233
+ @container header-service (min-width: 80rem) {
234
+ .pkt-header-service__logo-area {
235
+ padding-left: 2rem;
236
+ }
237
+ }
238
+ .pkt-header-service__content, .pkt-header-service__user {
239
+ grid-row: 1;
240
+ align-items: center;
241
+ }
242
+ .pkt-header-service__content .pkt-header-service__user-button .pkt-btn__text, .pkt-header-service__user .pkt-header-service__user-button .pkt-btn__text {
243
+ min-width: 0;
244
+ overflow: hidden;
245
+ text-overflow: ellipsis;
246
+ white-space: nowrap;
247
+ }
248
+ .pkt-header-service__content .pkt-link, .pkt-header-service__user .pkt-link {
249
+ letter-spacing: -0.2px;
250
+ font-weight: 500;
251
+ font-size: 1.125rem;
252
+ line-height: 1.75rem;
253
+ }
254
+ .pkt-header-service__content {
255
+ grid-column: 2;
256
+ }
257
+ .pkt-header-service__user {
258
+ grid-column: 3;
259
+ justify-self: end;
260
+ padding-right: 1rem;
261
+ }
262
+ @media screen and (min-width: 80rem) {
263
+ .pkt-header-service__user {
264
+ padding-right: 2rem;
265
+ }
266
+ }
267
+ @container header-service (min-width: 80rem) {
268
+ .pkt-header-service__user {
269
+ padding-right: 2rem;
270
+ }
271
+ }
272
+ .pkt-header-service__logo {
273
+ --fg-color: var(--pkt-color-text-body-default);
274
+ flex: 0 0 auto;
275
+ display: flex;
276
+ align-items: center;
277
+ gap: 0.5rem;
278
+ }
279
+ .pkt-header-service__logo a,
280
+ .pkt-header-service__logo button {
281
+ display: flex;
282
+ align-items: center;
283
+ }
284
+ .pkt-header-service__logo svg {
285
+ height: 2.5rem;
286
+ }
287
+ .pkt-header-service__logo-area--without-service .pkt-header-service__logo svg {
288
+ height: 4rem;
289
+ }
290
+ .pkt-header-service__service-name {
291
+ letter-spacing: -0.2px;
292
+ font-weight: 500;
293
+ font-size: 1.375rem;
294
+ line-height: 2.125rem;
295
+ padding-top: 4px;
296
+ white-space: normal;
297
+ display: -webkit-box;
298
+ -webkit-box-orient: vertical;
299
+ -webkit-line-clamp: 2;
300
+ overflow: hidden;
301
+ text-overflow: ellipsis;
302
+ min-width: 0;
303
+ text-wrap: balance;
304
+ }
305
+ .pkt-header-service__service-link {
306
+ color: var(--pkt-color-text-body-default);
307
+ }
308
+ .pkt-header-service__service-link .pkt-link {
309
+ text-decoration: none;
310
+ }
311
+ .pkt-header-service .pkt-link {
312
+ text-decoration: none;
313
+ }
314
+ .pkt-header-service .pkt-link--active {
315
+ text-decoration: underline;
316
+ text-underline-position: from-font;
317
+ }
318
+ .pkt-header-service .pkt-link:active {
319
+ text-decoration: underline;
320
+ text-underline-position: from-font;
321
+ }
322
+ .pkt-header-service .pkt-link:hover {
323
+ text-decoration: underline;
324
+ text-underline-position: from-font;
325
+ }
326
+ .pkt-header-service .pkt-link.pkt-header-service--mobile {
327
+ letter-spacing: -0.2px;
328
+ font-weight: 500;
329
+ font-size: 1rem;
330
+ line-height: 1.5rem;
331
+ }
332
+ .pkt-header-service__search-input {
333
+ background-color: var(--pkt-color-background-default);
334
+ }
335
+ .pkt-header-service__search-input .pkt-input-icon:not(button) svg {
336
+ margin-left: 0;
337
+ }
338
+ .pkt-header-service__slot-container, .pkt-header-service__search-container {
339
+ display: flex;
340
+ flex-direction: row;
341
+ align-items: baseline;
342
+ }
343
+ .pkt-header-service__slot-container, .pkt-header-service__slot-container .pkt-contents {
344
+ display: flex;
345
+ flex-direction: row;
346
+ align-items: center;
347
+ }
348
+ .pkt-header-service__slot-container > * + *, .pkt-header-service__slot-container .pkt-contents > * + * {
349
+ margin-left: 2rem;
350
+ }
351
+ .pkt-header-service__slot-container > .pkt-link + .pkt-link,
352
+ .pkt-header-service__slot-container > pkt-link + pkt-link,
353
+ .pkt-header-service__slot-container > a + a, .pkt-header-service__slot-container .pkt-contents > .pkt-link + .pkt-link,
354
+ .pkt-header-service__slot-container .pkt-contents > pkt-link + pkt-link,
355
+ .pkt-header-service__slot-container .pkt-contents > a + a {
356
+ margin-left: 1.5rem;
357
+ }
358
+ .pkt-header-service__user-container.is-open, .pkt-header-service__search-container.is-open, .pkt-header-service__slot-container.is-open, .pkt-header-service__user-menu.is-open, .pkt-header-service__mobile-menu.is-open {
359
+ z-index: 100;
360
+ }
361
+ .pkt-header-service__user-container {
362
+ position: relative;
363
+ }
364
+ .pkt-header-service__user-button {
365
+ max-width: 28.5rem;
366
+ }
367
+ .pkt-header-service__user-button .pkt-btn__text {
368
+ overflow: hidden;
369
+ text-overflow: ellipsis;
370
+ white-space: nowrap;
371
+ min-width: 0;
372
+ flex: 1 1 auto;
373
+ }
374
+ .pkt-header-service__user-menu, .pkt-header-service__slot-menu {
375
+ position: absolute;
376
+ right: 0;
377
+ width: max(15.5rem, 100%);
378
+ max-width: min(32rem, 90vw);
379
+ }
380
+ .pkt-header-service__logout-button {
381
+ flex: 0 0 auto;
382
+ }
383
+ .pkt-header-service__mobile-menu-container {
384
+ grid-column: 1/-1;
385
+ grid-row: 2;
386
+ }
387
+ .pkt-header-service__mobile-menu {
388
+ overflow: hidden;
389
+ max-height: 0;
390
+ opacity: 0;
391
+ transform: translateY(-6px);
392
+ transition: max-height 200ms ease, opacity 150ms ease, transform 200ms ease;
393
+ will-change: max-height, transform;
394
+ pointer-events: none;
395
+ }
396
+ .pkt-header-service__mobile-menu.is-open {
397
+ max-height: calc(100dvh - var(--pkt-header-height) - 3.5rem);
398
+ opacity: 1;
399
+ overflow: visible;
400
+ pointer-events: auto;
401
+ transform: translateY(0);
402
+ }
403
+ .pkt-header-service__mobile-menu.is-open > * {
404
+ max-height: calc(100dvh - var(--pkt-header-height) - 3.5rem);
405
+ overflow-y: auto;
406
+ -webkit-overflow-scrolling: touch;
407
+ }
408
+ @media (prefers-reduced-motion: reduce) {
409
+ .pkt-header-service__mobile-menu {
410
+ transition: none;
411
+ transform: none;
412
+ }
413
+ }