@semplice-studio/pa-design-system 0.2.0 → 0.3.0

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 (114) hide show
  1. package/dist/components/PaAccordion/PaAccordion.vue.d.ts +0 -1
  2. package/dist/components/PaAccordion/PaAccordion.vue.js +3 -5
  3. package/dist/components/PaAccordion/PaAccordion.vue.js.map +1 -1
  4. package/dist/components/PaAccordion/PaAccordion.vue2.js +24 -30
  5. package/dist/components/PaAccordion/PaAccordion.vue2.js.map +1 -1
  6. package/dist/components/PaBanner/PaBanner.vue.js +6 -6
  7. package/dist/components/PaBanner/PaBanner.vue2.js +26 -28
  8. package/dist/components/PaBanner/PaBanner.vue2.js.map +1 -1
  9. package/dist/components/PaCard/PaCard.vue.d.ts +17 -14
  10. package/dist/components/PaCard/PaCard.vue.js +2 -2
  11. package/dist/components/PaCard/PaCard.vue2.js +37 -42
  12. package/dist/components/PaCard/PaCard.vue2.js.map +1 -1
  13. package/dist/components/PaCheckbox/PaCheckbox.vue.d.ts +5 -6
  14. package/dist/components/PaCheckbox/PaCheckbox.vue.js +2 -4
  15. package/dist/components/PaCheckbox/PaCheckbox.vue.js.map +1 -1
  16. package/dist/components/PaCheckbox/PaCheckbox.vue2.js +20 -26
  17. package/dist/components/PaCheckbox/PaCheckbox.vue2.js.map +1 -1
  18. package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue.d.ts +5 -6
  19. package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue.js +2 -4
  20. package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue.js.map +1 -1
  21. package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue2.js +25 -31
  22. package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue2.js.map +1 -1
  23. package/dist/components/PaDatePicker/PaDatePicker.vue.d.ts +13 -26
  24. package/dist/components/PaDatePicker/PaDatePicker.vue.js +4 -6
  25. package/dist/components/PaDatePicker/PaDatePicker.vue.js.map +1 -1
  26. package/dist/components/PaDatePicker/PaDatePicker.vue2.js +52 -58
  27. package/dist/components/PaDatePicker/PaDatePicker.vue2.js.map +1 -1
  28. package/dist/components/PaDrawer/PaDrawer.vue.js +2 -2
  29. package/dist/components/PaDrawer/PaDrawer.vue2.js +37 -41
  30. package/dist/components/PaDrawer/PaDrawer.vue2.js.map +1 -1
  31. package/dist/components/PaFileUpload/PaFileUpload.vue.d.ts +0 -1
  32. package/dist/components/PaFileUpload/PaFileUpload.vue.js +3 -5
  33. package/dist/components/PaFileUpload/PaFileUpload.vue.js.map +1 -1
  34. package/dist/components/PaFileUpload/PaFileUpload.vue2.js +22 -28
  35. package/dist/components/PaFileUpload/PaFileUpload.vue2.js.map +1 -1
  36. package/dist/components/PaFooter/PaFooter.vue.js +1 -1
  37. package/dist/components/PaFooter/PaFooter.vue2.js +43 -48
  38. package/dist/components/PaFooter/PaFooter.vue2.js.map +1 -1
  39. package/dist/components/PaHeaderDesktop/PaHeaderDesktop.vue.js +1 -1
  40. package/dist/components/PaHeaderDesktop/PaHeaderDesktop.vue2.js +61 -66
  41. package/dist/components/PaHeaderDesktop/PaHeaderDesktop.vue2.js.map +1 -1
  42. package/dist/components/PaHeaderMobile/PaHeaderMobile.vue.js +2 -2
  43. package/dist/components/PaHeaderMobile/PaHeaderMobile.vue2.js +69 -74
  44. package/dist/components/PaHeaderMobile/PaHeaderMobile.vue2.js.map +1 -1
  45. package/dist/components/PaHero/PaHero.vue.d.ts +15 -12
  46. package/dist/components/PaHero/PaHero.vue.js +2 -2
  47. package/dist/components/PaHero/PaHero.vue2.js +36 -41
  48. package/dist/components/PaHero/PaHero.vue2.js.map +1 -1
  49. package/dist/components/PaInput/PaInput.vue.d.ts +15 -13
  50. package/dist/components/PaInput/PaInput.vue.js +4 -6
  51. package/dist/components/PaInput/PaInput.vue.js.map +1 -1
  52. package/dist/components/PaInput/PaInput.vue2.js +27 -33
  53. package/dist/components/PaInput/PaInput.vue2.js.map +1 -1
  54. package/dist/components/PaModal/PaModal.vue.d.ts +14 -11
  55. package/dist/components/PaModal/PaModal.vue.js +3 -3
  56. package/dist/components/PaModal/PaModal.vue2.js +41 -46
  57. package/dist/components/PaModal/PaModal.vue2.js.map +1 -1
  58. package/dist/components/PaMonthPicker/PaMonthPicker.vue.d.ts +13 -26
  59. package/dist/components/PaMonthPicker/PaMonthPicker.vue.js +2 -4
  60. package/dist/components/PaMonthPicker/PaMonthPicker.vue.js.map +1 -1
  61. package/dist/components/PaMonthPicker/PaMonthPicker.vue2.js +64 -70
  62. package/dist/components/PaMonthPicker/PaMonthPicker.vue2.js.map +1 -1
  63. package/dist/components/PaPagination/PaPagination.vue.js +2 -2
  64. package/dist/components/PaPagination/PaPagination.vue2.js +41 -46
  65. package/dist/components/PaPagination/PaPagination.vue2.js.map +1 -1
  66. package/dist/components/PaRadioGroup/PaRadioGroup.vue.d.ts +5 -6
  67. package/dist/components/PaRadioGroup/PaRadioGroup.vue.js +2 -4
  68. package/dist/components/PaRadioGroup/PaRadioGroup.vue.js.map +1 -1
  69. package/dist/components/PaRadioGroup/PaRadioGroup.vue2.js +22 -28
  70. package/dist/components/PaRadioGroup/PaRadioGroup.vue2.js.map +1 -1
  71. package/dist/components/PaRangePicker/PaRangePicker.vue.d.ts +0 -1
  72. package/dist/components/PaRangePicker/PaRangePicker.vue.js +4 -6
  73. package/dist/components/PaRangePicker/PaRangePicker.vue.js.map +1 -1
  74. package/dist/components/PaRangePicker/PaRangePicker.vue2.js +75 -81
  75. package/dist/components/PaRangePicker/PaRangePicker.vue2.js.map +1 -1
  76. package/dist/components/PaSearchBar/PaSearchBar.vue.d.ts +0 -1
  77. package/dist/components/PaSearchBar/PaSearchBar.vue.js +3 -5
  78. package/dist/components/PaSearchBar/PaSearchBar.vue.js.map +1 -1
  79. package/dist/components/PaSearchBar/PaSearchBar.vue2.js +55 -61
  80. package/dist/components/PaSearchBar/PaSearchBar.vue2.js.map +1 -1
  81. package/dist/components/PaSelect/PaSelect.vue.d.ts +5 -6
  82. package/dist/components/PaSelect/PaSelect.vue.js +4 -6
  83. package/dist/components/PaSelect/PaSelect.vue.js.map +1 -1
  84. package/dist/components/PaSelect/PaSelect.vue2.js +25 -31
  85. package/dist/components/PaSelect/PaSelect.vue2.js.map +1 -1
  86. package/dist/components/PaTabs/PaTabs.vue.js +1 -1
  87. package/dist/components/PaTabs/PaTabs.vue2.js +17 -19
  88. package/dist/components/PaTabs/PaTabs.vue2.js.map +1 -1
  89. package/dist/components/PaTextarea/PaTextarea.vue.d.ts +5 -6
  90. package/dist/components/PaTextarea/PaTextarea.vue.js +4 -6
  91. package/dist/components/PaTextarea/PaTextarea.vue.js.map +1 -1
  92. package/dist/components/PaTextarea/PaTextarea.vue2.js +16 -22
  93. package/dist/components/PaTextarea/PaTextarea.vue2.js.map +1 -1
  94. package/dist/components/PaTimePicker/PaTimePicker.vue.d.ts +0 -1
  95. package/dist/components/PaTimePicker/PaTimePicker.vue.js +2 -4
  96. package/dist/components/PaTimePicker/PaTimePicker.vue.js.map +1 -1
  97. package/dist/components/PaTimePicker/PaTimePicker.vue2.js +44 -50
  98. package/dist/components/PaTimePicker/PaTimePicker.vue2.js.map +1 -1
  99. package/dist/components/PaTitleBar/PaTitleBar.vue.d.ts +12 -9
  100. package/dist/components/PaTitleBar/PaTitleBar.vue.js +2 -2
  101. package/dist/components/PaTitleBar/PaTitleBar.vue2.js +34 -39
  102. package/dist/components/PaTitleBar/PaTitleBar.vue2.js.map +1 -1
  103. package/dist/components/PaToggle/PaToggle.vue.d.ts +0 -1
  104. package/dist/components/PaToggle/PaToggle.vue.js +2 -4
  105. package/dist/components/PaToggle/PaToggle.vue.js.map +1 -1
  106. package/dist/components/PaToggle/PaToggle.vue2.js +20 -26
  107. package/dist/components/PaToggle/PaToggle.vue2.js.map +1 -1
  108. package/dist/components/PaYearPicker/PaYearPicker.vue.d.ts +13 -26
  109. package/dist/components/PaYearPicker/PaYearPicker.vue.js +4 -6
  110. package/dist/components/PaYearPicker/PaYearPicker.vue.js.map +1 -1
  111. package/dist/components/PaYearPicker/PaYearPicker.vue2.js +70 -76
  112. package/dist/components/PaYearPicker/PaYearPicker.vue2.js.map +1 -1
  113. package/dist/style.css +1 -1
  114. package/package.json +3 -3
@@ -1,27 +1,22 @@
1
- import { defineComponent as J, ref as E, computed as g, watch as Q, nextTick as X, onBeforeUnmount as Y, openBlock as n, createElementBlock as t, toDisplayString as h, createCommentVNode as c, createElementVNode as l, renderSlot as f, Fragment as p, renderList as _, normalizeClass as T, createVNode as v, Transition as Z, withCtx as x } from "vue";
1
+ import { defineComponent as J, useId as Q, ref as E, computed as k, watch as X, nextTick as Y, onBeforeUnmount as Z, openBlock as n, createElementBlock as t, toDisplayString as h, createCommentVNode as c, createElementVNode as l, renderSlot as f, Fragment as p, renderList as _, normalizeClass as T, createVNode as v, Transition as x, withCtx as ee } from "vue";
2
2
  import y from "../PaIcon/PaIcon.vue.js";
3
- import ee from "../PaSearchBar/PaSearchBar.vue.js";
4
- const ae = ["href"], ne = { class: "pa-header-desktop__secondary" }, te = { class: "pa-header-desktop__secondary-content" }, le = {
3
+ import ae from "../PaSearchBar/PaSearchBar.vue.js";
4
+ const ne = ["href"], te = { class: "pa-header-desktop__secondary" }, le = { class: "pa-header-desktop__secondary-content" }, se = {
5
5
  key: 0,
6
6
  class: "pa-header-desktop__utility-links"
7
- }, se = { class: "pa-header-desktop__secondary-right" }, oe = ["aria-label"], re = ["aria-pressed", "onClick"], ie = {
7
+ }, oe = { class: "pa-header-desktop__secondary-right" }, re = ["aria-label"], ie = ["aria-pressed", "onClick"], ue = {
8
8
  key: 1,
9
9
  class: "pa-header-desktop__utility-icons"
10
- }, ue = {
10
+ }, de = {
11
11
  key: 2,
12
12
  class: "pa-header-desktop__user"
13
- }, de = ["href"], ce = { class: "pa-header-desktop__login-cta-label" }, he = { class: "pa-header-desktop__primary" }, fe = { class: "pa-header-desktop__primary-content" }, pe = {
13
+ }, ce = ["href"], he = { class: "pa-header-desktop__login-cta-label" }, fe = { class: "pa-header-desktop__primary" }, pe = { class: "pa-header-desktop__primary-content" }, ve = {
14
14
  key: 0,
15
15
  class: "pa-header-desktop__search"
16
- }, ve = ["aria-label"], ke = ["href", "aria-current", "onClick"], ge = ["aria-expanded", "id", "onClick"], me = { class: "pa-header-desktop__mega-menu-inner" }, _e = { class: "pa-header-desktop__mega-column pa-header-desktop__mega-column--left" }, ye = { class: "pa-header-desktop__mega-links" }, be = ["href"], Le = ["href"], we = { class: "pa-header-desktop__mega-column pa-header-desktop__mega-column--center" }, $e = {
16
+ }, ge = ["aria-label"], ke = ["href", "aria-current", "onClick"], me = ["aria-expanded", "id", "onClick"], _e = { class: "pa-header-desktop__mega-menu-inner" }, ye = { class: "pa-header-desktop__mega-column pa-header-desktop__mega-column--left" }, be = { class: "pa-header-desktop__mega-links" }, Le = ["href"], we = ["href"], $e = { class: "pa-header-desktop__mega-column pa-header-desktop__mega-column--center" }, Ce = {
17
17
  key: 0,
18
18
  class: "pa-header-desktop__mega-links"
19
- }, Ce = ["href"], Ee = { class: "pa-header-desktop__mega-column pa-header-desktop__mega-column--right" }, Oe = { class: "pa-header-desktop__mega-column-header" }, Be = { class: "pa-header-desktop__mega-column-heading" }, De = { class: "pa-header-desktop__mega-links" }, Ne = ["href"];
20
- let ze = 0;
21
- function Ie() {
22
- return ++ze;
23
- }
24
- const Re = /* @__PURE__ */ J({
19
+ }, Ee = ["href"], Oe = { class: "pa-header-desktop__mega-column pa-header-desktop__mega-column--right" }, Be = { class: "pa-header-desktop__mega-column-header" }, Ne = { class: "pa-header-desktop__mega-column-heading" }, De = { class: "pa-header-desktop__mega-links" }, ze = ["href"], Me = /* @__PURE__ */ J({
25
20
  __name: "PaHeaderDesktop",
26
21
  props: {
27
22
  loggedIn: { type: Boolean, default: !1 },
@@ -43,13 +38,13 @@ const Re = /* @__PURE__ */ J({
43
38
  },
44
39
  emits: ["update:menuOpen", "search", "language-change", "navigate"],
45
40
  setup(s, { emit: M }) {
46
- const u = s, b = M, O = `pa-header-desktop-mega-${Ie()}`, N = `${O}-trigger`, z = E(null), d = g(
41
+ const u = s, b = M, O = `pa-header-desktop-mega-${Q()}`, D = `${O}-trigger`, z = E(null), d = k(
47
42
  () => u.menuOpen !== void 0 ? u.menuOpen : z.value
48
43
  );
49
44
  function L(a) {
50
45
  u.menuOpen === void 0 && (z.value = a), b("update:menuOpen", a);
51
46
  }
52
- const w = g(() => d.value ? u.mainNav.find((a) => a.label === d.value) ?? null : null), i = g(() => {
47
+ const w = k(() => d.value ? u.mainNav.find((a) => a.label === d.value) ?? null : null), i = k(() => {
53
48
  if (!w.value || !w.value.children) return [void 0, void 0, void 0];
54
49
  const a = w.value.children;
55
50
  return [a[0], a[1], a[2]];
@@ -57,7 +52,7 @@ const Re = /* @__PURE__ */ J({
57
52
  function V(a, r) {
58
53
  B.value[a] = r ?? null;
59
54
  }
60
- let D = null, $ = !1, C = !1;
55
+ let N = null, $ = !1, C = !1;
61
56
  function I(a) {
62
57
  a.key === "Escape" && d.value && (a.preventDefault(), L(null));
63
58
  }
@@ -74,11 +69,11 @@ const Re = /* @__PURE__ */ J({
74
69
  function S() {
75
70
  typeof window > "u" || ($ && (window.removeEventListener("keydown", I), $ = !1), C && (document.removeEventListener("mousedown", P), C = !1));
76
71
  }
77
- Q(
72
+ X(
78
73
  d,
79
74
  async (a, r) => {
80
75
  if (a && !r) {
81
- if (typeof document < "u" && (D = document.activeElement), H(), await X(), m.value) {
76
+ if (typeof document < "u" && (N = document.activeElement), H(), await Y(), m.value) {
82
77
  const e = m.value.querySelector(
83
78
  "a, button:not([disabled])"
84
79
  );
@@ -86,22 +81,22 @@ const Re = /* @__PURE__ */ J({
86
81
  }
87
82
  } else if (!a && r) {
88
83
  S();
89
- const e = D ?? B.value[r] ?? null;
90
- e && typeof document < "u" && document.contains(e) && e.focus({ preventScroll: !0 }), D = null;
84
+ const e = N ?? B.value[r] ?? null;
85
+ e && typeof document < "u" && document.contains(e) && e.focus({ preventScroll: !0 }), N = null;
91
86
  }
92
87
  },
93
88
  { flush: "post", immediate: !0 }
94
- ), Y(() => {
89
+ ), Z(() => {
95
90
  S();
96
91
  });
97
92
  function j(a) {
98
93
  d.value === a.label ? L(null) : L(a.label);
99
94
  }
100
- const A = g(() => u.skipLink !== !1), F = g(() => typeof u.skipLink == "object" && u.skipLink !== null ? u.skipLink.label ?? "Vai al contenuto" : "Vai al contenuto"), G = g(() => typeof u.skipLink == "object" && u.skipLink !== null ? u.skipLink.target ?? "#main" : "#main");
101
- function U(a) {
95
+ const A = k(() => u.skipLink !== !1), F = k(() => typeof u.skipLink == "object" && u.skipLink !== null ? u.skipLink.label ?? "Vai al contenuto" : "Vai al contenuto"), G = k(() => typeof u.skipLink == "object" && u.skipLink !== null ? u.skipLink.target ?? "#main" : "#main");
96
+ function q(a) {
102
97
  return !!(a.children && a.children.length > 0);
103
98
  }
104
- function q(a, r) {
99
+ function K(a, r) {
105
100
  let e = !1;
106
101
  const o = {
107
102
  language: r,
@@ -113,7 +108,7 @@ const Re = /* @__PURE__ */ J({
113
108
  };
114
109
  b("language-change", o), !e && r.href && typeof window < "u" && window.location.assign(r.href);
115
110
  }
116
- function K(a, r) {
111
+ function U(a, r) {
117
112
  let e = !1;
118
113
  const o = {
119
114
  item: r,
@@ -138,13 +133,13 @@ const Re = /* @__PURE__ */ J({
138
133
  key: 0,
139
134
  class: "pa-header-desktop__skip",
140
135
  href: G.value
141
- }, h(F.value), 9, ae)) : c("", !0),
142
- l("div", ne, [
143
- l("div", te, [
144
- a.$slots["utility-links"] ? (n(), t("div", le, [
136
+ }, h(F.value), 9, ne)) : c("", !0),
137
+ l("div", te, [
138
+ l("div", le, [
139
+ a.$slots["utility-links"] ? (n(), t("div", se, [
145
140
  f(a.$slots, "utility-links", {}, void 0, !0)
146
141
  ])) : c("", !0),
147
- l("div", se, [
142
+ l("div", oe, [
148
143
  a.$slots.language || s.languages.length > 0 ? (n(), t("div", {
149
144
  key: 0,
150
145
  class: "pa-header-desktop__language",
@@ -159,14 +154,14 @@ const Re = /* @__PURE__ */ J({
159
154
  "pa-header-desktop__language-pill--active": e.code === s.currentLanguage
160
155
  }]),
161
156
  "aria-pressed": e.code === s.currentLanguage,
162
- onClick: (o) => q(o, e)
163
- }, h(e.label), 11, re))), 128))
157
+ onClick: (o) => K(o, e)
158
+ }, h(e.label), 11, ie))), 128))
164
159
  ], !0)
165
- ], 8, oe)) : c("", !0),
166
- a.$slots["utility-icons"] ? (n(), t("div", ie, [
160
+ ], 8, re)) : c("", !0),
161
+ a.$slots["utility-icons"] ? (n(), t("div", ue, [
167
162
  f(a.$slots, "utility-icons", {}, void 0, !0)
168
163
  ])) : c("", !0),
169
- s.loggedIn ? (n(), t("div", ue, [
164
+ s.loggedIn ? (n(), t("div", de, [
170
165
  f(a.$slots, "user", {}, () => [
171
166
  v(y, {
172
167
  name: "user-fill",
@@ -178,20 +173,20 @@ const Re = /* @__PURE__ */ J({
178
173
  class: "pa-header-desktop__login-cta",
179
174
  href: s.loginHref
180
175
  }, [
181
- l("span", ce, h(s.loginLabel), 1),
176
+ l("span", he, h(s.loginLabel), 1),
182
177
  v(y, {
183
178
  name: "user",
184
179
  size: "sm"
185
180
  })
186
- ], 8, de))
181
+ ], 8, ce))
187
182
  ])
188
183
  ])
189
184
  ]),
190
- l("div", he, [
191
- l("div", fe, [
192
- s.searchEnabled || a.$slots.search ? (n(), t("div", pe, [
185
+ l("div", fe, [
186
+ l("div", pe, [
187
+ s.searchEnabled || a.$slots.search ? (n(), t("div", ve, [
193
188
  f(a.$slots, "search", {}, () => [
194
- v(ee, {
189
+ v(ae, {
195
190
  placeholder: s.searchPlaceholder,
196
191
  "search-label": s.searchButtonLabel,
197
192
  options: s.searchOptions,
@@ -208,10 +203,10 @@ const Re = /* @__PURE__ */ J({
208
203
  (n(!0), t(p, null, _(s.mainNav, (e, o) => (n(), t(p, {
209
204
  key: `nav-${o}-${e.label}`
210
205
  }, [
211
- U(e) ? (n(), t("button", {
206
+ q(e) ? (n(), t("button", {
212
207
  key: 1,
213
208
  ref_for: !0,
214
- ref: (k) => V(e.label, k),
209
+ ref: (g) => V(e.label, g),
215
210
  type: "button",
216
211
  class: T(["pa-header-desktop__nav-trigger", {
217
212
  "pa-header-desktop__nav-trigger--open": d.value === e.label
@@ -219,26 +214,26 @@ const Re = /* @__PURE__ */ J({
219
214
  "aria-expanded": d.value === e.label,
220
215
  "aria-haspopup": !0,
221
216
  "aria-controls": O,
222
- id: d.value === e.label ? N : void 0,
223
- onClick: (k) => j(e)
217
+ id: d.value === e.label ? D : void 0,
218
+ onClick: (g) => j(e)
224
219
  }, [
225
220
  l("span", null, h(e.label), 1),
226
221
  v(y, {
227
222
  name: "caret-down",
228
223
  size: "sm"
229
224
  })
230
- ], 10, ge)) : (n(), t("a", {
225
+ ], 10, me)) : (n(), t("a", {
231
226
  key: 0,
232
227
  class: "pa-header-desktop__nav-link",
233
228
  href: e.href,
234
229
  "aria-current": e.href !== void 0 && e.href === s.currentHref ? "page" : void 0,
235
- onClick: (k) => K(k, e)
230
+ onClick: (g) => U(g, e)
236
231
  }, h(e.label), 9, ke))
237
232
  ], 64))), 128))
238
- ], 8, ve)) : c("", !0)
233
+ ], 8, ge)) : c("", !0)
239
234
  ]),
240
- v(Z, { name: "pa-mega-menu" }, {
241
- default: x(() => [
235
+ v(x, { name: "pa-mega-menu" }, {
236
+ default: ee(() => [
242
237
  d.value && w.value ? (n(), t("div", {
243
238
  key: 0,
244
239
  id: O,
@@ -246,22 +241,22 @@ const Re = /* @__PURE__ */ J({
246
241
  ref: m,
247
242
  class: "pa-header-desktop__mega-menu",
248
243
  role: "region",
249
- "aria-labelledby": N
244
+ "aria-labelledby": D
250
245
  }, [
251
- l("div", me, [
252
- l("div", _e, [
246
+ l("div", _e, [
247
+ l("div", ye, [
253
248
  f(a.$slots, "mega-column-0", {
254
249
  column: i.value[0]
255
250
  }, () => [
256
251
  i.value[0] ? (n(), t(p, { key: 0 }, [
257
- l("ul", ye, [
252
+ l("ul", be, [
258
253
  (n(!0), t(p, null, _(i.value[0].children ?? [], (e, o) => (n(), t("li", {
259
254
  key: `m0-${o}-${e.label}`
260
255
  }, [
261
256
  l("a", {
262
257
  class: "pa-header-desktop__mega-link",
263
258
  href: e.href
264
- }, h(e.label), 9, be)
259
+ }, h(e.label), 9, Le)
265
260
  ]))), 128))
266
261
  ]),
267
262
  i.value[0].href ? (n(), t("a", {
@@ -274,48 +269,48 @@ const Re = /* @__PURE__ */ J({
274
269
  name: "arrow-right",
275
270
  size: "sm"
276
271
  })
277
- ], 8, Le)) : c("", !0)
272
+ ], 8, we)) : c("", !0)
278
273
  ], 64)) : c("", !0)
279
274
  ], !0)
280
275
  ]),
281
- l("div", we, [
276
+ l("div", $e, [
282
277
  f(a.$slots, "mega-column-1", {
283
278
  column: i.value[1]
284
279
  }, () => [
285
- i.value[1] ? (n(), t("ul", $e, [
280
+ i.value[1] ? (n(), t("ul", Ce, [
286
281
  (n(!0), t(p, null, _(i.value[1].children ?? [], (e, o) => (n(), t("li", {
287
282
  key: `m1-${o}-${e.label}`
288
283
  }, [
289
284
  l("a", {
290
285
  class: "pa-header-desktop__mega-link",
291
286
  href: e.href
292
- }, h(e.label), 9, Ce)
287
+ }, h(e.label), 9, Ee)
293
288
  ]))), 128))
294
289
  ])) : c("", !0)
295
290
  ], !0)
296
291
  ]),
297
- l("div", Ee, [
292
+ l("div", Oe, [
298
293
  f(a.$slots, "mega-column-2", {
299
294
  column: i.value[2]
300
295
  }, () => {
301
296
  var e;
302
297
  return [
303
298
  i.value[2] ? (n(), t(p, { key: 0 }, [
304
- l("div", Oe, [
299
+ l("div", Be, [
305
300
  v(y, {
306
301
  name: ((e = i.value[2].tools) == null ? void 0 : e.icon) ?? "wrench",
307
302
  size: "md"
308
303
  }, null, 8, ["name"]),
309
- l("h3", Be, h(i.value[2].label), 1)
304
+ l("h3", Ne, h(i.value[2].label), 1)
310
305
  ]),
311
306
  l("ul", De, [
312
- (n(!0), t(p, null, _(i.value[2].children ?? [], (o, k) => (n(), t("li", {
313
- key: `m2-${k}-${o.label}`
307
+ (n(!0), t(p, null, _(i.value[2].children ?? [], (o, g) => (n(), t("li", {
308
+ key: `m2-${g}-${o.label}`
314
309
  }, [
315
310
  l("a", {
316
311
  class: "pa-header-desktop__mega-link",
317
312
  href: o.href
318
- }, h(o.label), 9, Ne)
313
+ }, h(o.label), 9, ze)
319
314
  ]))), 128))
320
315
  ])
321
316
  ], 64)) : c("", !0)
@@ -332,6 +327,6 @@ const Re = /* @__PURE__ */ J({
332
327
  }
333
328
  });
334
329
  export {
335
- Re as default
330
+ Me as default
336
331
  };
337
332
  //# sourceMappingURL=PaHeaderDesktop.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaHeaderDesktop.vue2.js","sources":["../../../src/components/PaHeaderDesktop/PaHeaderDesktop.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n PaHeaderLink,\n PaHeaderTools,\n PaHeaderNavItem,\n PaHeaderLanguage,\n PaHeaderSkipLinkConfig,\n PaHeaderNavigateEventPayload,\n PaHeaderLanguageChangeEventPayload,\n} from '../PaHeaderShared/types'\nimport type { PaSearchBarOption } from '../PaSearchBar/PaSearchBar.vue'\n\nexport type {\n PaHeaderLink,\n PaHeaderTools,\n PaHeaderNavItem,\n PaHeaderLanguage,\n PaHeaderSkipLinkConfig,\n PaHeaderNavigateEventPayload,\n PaHeaderLanguageChangeEventPayload,\n}\n\nlet desktopUid = 0\nfunction nextDesktopId() {\n return ++desktopUid\n}\n\nexport interface PaHeaderDesktopProps {\n loggedIn?: boolean\n mainNav?: PaHeaderNavItem[]\n languages?: PaHeaderLanguage[]\n currentLanguage?: string\n currentHref?: string\n menuOpen?: string | null\n searchEnabled?: boolean\n searchPlaceholder?: string\n searchButtonLabel?: string\n searchOptions?: PaSearchBarOption[]\n searchValue?: string\n loginLabel?: string\n loginHref?: string\n mainNavLabel?: string\n languageGroupLabel?: string\n skipLink?: boolean | PaHeaderSkipLinkConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, ref, watch } from 'vue'\nimport PaIcon from '../PaIcon/PaIcon.vue'\nimport PaSearchBar from '../PaSearchBar/PaSearchBar.vue'\n\nconst props = withDefaults(defineProps<PaHeaderDesktopProps>(), {\n loggedIn: false,\n mainNav: () => [],\n languages: () => [],\n currentLanguage: undefined,\n currentHref: undefined,\n menuOpen: undefined,\n searchEnabled: true,\n searchPlaceholder: 'Cerca',\n searchButtonLabel: 'Ricerca',\n searchOptions: () => [],\n searchValue: undefined,\n loginLabel: 'Accedi',\n loginHref: '/login',\n mainNavLabel: 'Navigazione principale',\n languageGroupLabel: 'Seleziona la lingua',\n skipLink: true,\n})\n\nconst emit = defineEmits<{\n 'update:menuOpen': [string | null]\n search: [value: string]\n 'language-change': [PaHeaderLanguageChangeEventPayload]\n navigate: [PaHeaderNavigateEventPayload]\n}>()\n\ndefineSlots<{\n 'utility-links'?: () => unknown\n 'utility-icons'?: () => unknown\n language?: () => unknown\n user?: () => unknown\n search?: () => unknown\n 'mega-column-0'?: (scope: { column?: PaHeaderNavItem }) => unknown\n 'mega-column-1'?: (scope: { column?: PaHeaderNavItem }) => unknown\n 'mega-column-2'?: (scope: { column?: PaHeaderNavItem }) => unknown\n}>()\n\nconst componentId = nextDesktopId()\nconst megaMenuId = `pa-header-desktop-mega-${componentId}`\nconst megaMenuTriggerId = `${megaMenuId}-trigger`\n\n// Controlled / uncontrolled menuOpen — same pattern as PaHeaderMobile but with\n// `string | null` (the open trigger's label).\nconst internalMenuOpen = ref<string | null>(null)\nconst openTrigger = computed(() =>\n props.menuOpen !== undefined ? props.menuOpen : internalMenuOpen.value,\n)\n\nfunction setMenuOpen(next: string | null) {\n if (props.menuOpen === undefined) {\n internalMenuOpen.value = next\n }\n emit('update:menuOpen', next)\n}\n\nconst openItem = computed<PaHeaderNavItem | null>(() => {\n if (!openTrigger.value) return null\n return props.mainNav.find((item) => item.label === openTrigger.value) ?? null\n})\n\nconst megaColumns = computed<Array<PaHeaderNavItem | undefined>>(() => {\n if (!openItem.value || !openItem.value.children) return [undefined, undefined, undefined]\n const children = openItem.value.children\n return [children[0], children[1], children[2]]\n})\n\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst megaMenuRef = ref<HTMLElement | null>(null)\nconst triggerRefs = ref<Record<string, HTMLButtonElement | null>>({})\n\nfunction setTriggerRef(label: string, el: unknown) {\n triggerRefs.value[label] = (el as HTMLButtonElement | null) ?? null\n}\n\nlet previouslyFocusedElement: HTMLElement | null = null\nlet escListenerAttached = false\nlet outsideClickListenerAttached = false\n\nfunction onWindowKeydownEsc(event: KeyboardEvent) {\n if (event.key === 'Escape' && openTrigger.value) {\n event.preventDefault()\n setMenuOpen(null)\n }\n}\n\nfunction onDocumentMousedown(event: MouseEvent) {\n if (!openTrigger.value) return\n const target = event.target as Node | null\n if (!target) return\n if (megaMenuRef.value && megaMenuRef.value.contains(target)) return\n const trigger = triggerRefs.value[openTrigger.value]\n if (trigger && trigger.contains(target)) return\n setMenuOpen(null)\n}\n\nfunction attachDismissListeners() {\n if (typeof window === 'undefined') return\n if (!escListenerAttached) {\n window.addEventListener('keydown', onWindowKeydownEsc)\n escListenerAttached = true\n }\n if (!outsideClickListenerAttached) {\n document.addEventListener('mousedown', onDocumentMousedown)\n outsideClickListenerAttached = true\n }\n}\n\nfunction detachDismissListeners() {\n if (typeof window === 'undefined') return\n if (escListenerAttached) {\n window.removeEventListener('keydown', onWindowKeydownEsc)\n escListenerAttached = false\n }\n if (outsideClickListenerAttached) {\n document.removeEventListener('mousedown', onDocumentMousedown)\n outsideClickListenerAttached = false\n }\n}\n\nwatch(\n openTrigger,\n async (next, prev) => {\n if (next && !prev) {\n if (typeof document !== 'undefined') {\n previouslyFocusedElement = document.activeElement as HTMLElement | null\n }\n attachDismissListeners()\n await nextTick()\n if (megaMenuRef.value) {\n const focusable = megaMenuRef.value.querySelector<HTMLElement>(\n 'a, button:not([disabled])',\n )\n if (focusable) focusable.focus({ preventScroll: true })\n }\n } else if (!next && prev) {\n detachDismissListeners()\n const restoreTo =\n previouslyFocusedElement ?? triggerRefs.value[prev] ?? null\n if (\n restoreTo &&\n typeof document !== 'undefined' &&\n document.contains(restoreTo)\n ) {\n restoreTo.focus({ preventScroll: true })\n }\n previouslyFocusedElement = null\n }\n },\n { flush: 'post', immediate: true },\n)\n\nonBeforeUnmount(() => {\n detachDismissListeners()\n})\n\nfunction onTriggerClick(item: PaHeaderNavItem) {\n if (openTrigger.value === item.label) {\n setMenuOpen(null)\n } else {\n setMenuOpen(item.label)\n }\n}\n\nconst skipLinkEnabled = computed(() => props.skipLink !== false)\nconst skipLinkLabel = computed(() => {\n if (typeof props.skipLink === 'object' && props.skipLink !== null) {\n return props.skipLink.label ?? 'Vai al contenuto'\n }\n return 'Vai al contenuto'\n})\nconst skipLinkTarget = computed(() => {\n if (typeof props.skipLink === 'object' && props.skipLink !== null) {\n return props.skipLink.target ?? '#main'\n }\n return '#main'\n})\n\nfunction hasChildren(item: PaHeaderNavItem): boolean {\n return Boolean(item.children && item.children.length > 0)\n}\n\nfunction handleLanguageClick(event: MouseEvent, language: PaHeaderLanguage) {\n let prevented = false\n const payload: PaHeaderLanguageChangeEventPayload = {\n language,\n originalEvent: event,\n preventDefault: () => {\n prevented = true\n payload.defaultPrevented = true\n },\n defaultPrevented: false,\n }\n emit('language-change', payload)\n if (!prevented && language.href && typeof window !== 'undefined') {\n window.location.assign(language.href)\n }\n}\n\nfunction handleLeafClick(event: MouseEvent, item: PaHeaderNavItem) {\n let prevented = false\n const payload: PaHeaderNavigateEventPayload = {\n item,\n originalEvent: event,\n preventDefault: () => {\n prevented = true\n payload.defaultPrevented = true\n },\n defaultPrevented: false,\n }\n emit('navigate', payload)\n if (prevented) {\n event.preventDefault()\n }\n}\n\nfunction onSearch(value: string) {\n emit('search', value)\n}\n</script>\n\n<template>\n <header ref=\"wrapperRef\"\n class=\"pa-header-desktop\"\n role=\"banner\">\n <a v-if=\"skipLinkEnabled\"\n class=\"pa-header-desktop__skip\"\n :href=\"skipLinkTarget\">\n {{ skipLinkLabel }}\n </a>\n\n <div class=\"pa-header-desktop__secondary\">\n <div class=\"pa-header-desktop__secondary-content\">\n <div v-if=\"$slots['utility-links']\"\n class=\"pa-header-desktop__utility-links\">\n <slot name=\"utility-links\" />\n </div>\n\n <div class=\"pa-header-desktop__secondary-right\">\n <div v-if=\"$slots.language || languages.length > 0\"\n class=\"pa-header-desktop__language\"\n role=\"group\"\n :aria-label=\"languageGroupLabel\">\n <slot name=\"language\">\n <button v-for=\"lang in languages\"\n :key=\"lang.code\"\n type=\"button\"\n class=\"pa-header-desktop__language-pill\"\n :class=\"{\n 'pa-header-desktop__language-pill--active':\n lang.code === currentLanguage,\n }\"\n :aria-pressed=\"lang.code === currentLanguage\"\n @click=\"(event) => handleLanguageClick(event, lang)\">\n {{ lang.label }}\n </button>\n </slot>\n </div>\n\n <div v-if=\"$slots['utility-icons']\"\n class=\"pa-header-desktop__utility-icons\">\n <slot name=\"utility-icons\" />\n </div>\n\n <template v-if=\"loggedIn\">\n <div class=\"pa-header-desktop__user\">\n <slot name=\"user\">\n <PaIcon name=\"user-fill\"\n size=\"sm\" />\n </slot>\n </div>\n </template>\n <template v-else>\n <a class=\"pa-header-desktop__login-cta\"\n :href=\"loginHref\">\n <span class=\"pa-header-desktop__login-cta-label\">{{ loginLabel }}</span>\n <PaIcon name=\"user\"\n size=\"sm\" />\n </a>\n </template>\n </div>\n </div>\n </div>\n\n <div class=\"pa-header-desktop__primary\">\n <div class=\"pa-header-desktop__primary-content\">\n <div v-if=\"searchEnabled || $slots.search\"\n class=\"pa-header-desktop__search\">\n <slot name=\"search\">\n <PaSearchBar :placeholder=\"searchPlaceholder\"\n :search-label=\"searchButtonLabel\"\n :options=\"searchOptions\"\n :value=\"searchValue ?? ''\"\n @search=\"onSearch\" />\n </slot>\n </div>\n\n <nav v-if=\"mainNav.length > 0\"\n class=\"pa-header-desktop__main-nav\"\n :aria-label=\"mainNavLabel\">\n <template v-for=\"(item, idx) in mainNav\"\n :key=\"`nav-${idx}-${item.label}`\">\n <a v-if=\"!hasChildren(item)\"\n class=\"pa-header-desktop__nav-link\"\n :href=\"item.href\"\n :aria-current=\"item.href !== undefined && item.href === currentHref ? 'page' : undefined\"\n @click=\"(event) => handleLeafClick(event, item)\">\n {{ item.label }}\n </a>\n <button v-else\n :ref=\"(el) => setTriggerRef(item.label, el)\"\n type=\"button\"\n class=\"pa-header-desktop__nav-trigger\"\n :class=\"{\n 'pa-header-desktop__nav-trigger--open':\n openTrigger === item.label,\n }\"\n :aria-expanded=\"openTrigger === item.label\"\n :aria-haspopup=\"true\"\n :aria-controls=\"megaMenuId\"\n :id=\"openTrigger === item.label ? megaMenuTriggerId : undefined\"\n @click=\"onTriggerClick(item)\">\n <span>{{ item.label }}</span>\n <PaIcon name=\"caret-down\"\n size=\"sm\" />\n </button>\n </template>\n </nav>\n </div>\n\n <Transition name=\"pa-mega-menu\">\n <div v-if=\"openTrigger && openItem\"\n :id=\"megaMenuId\"\n ref=\"megaMenuRef\"\n class=\"pa-header-desktop__mega-menu\"\n role=\"region\"\n :aria-labelledby=\"megaMenuTriggerId\">\n <div class=\"pa-header-desktop__mega-menu-inner\">\n <div class=\"pa-header-desktop__mega-column pa-header-desktop__mega-column--left\">\n <slot name=\"mega-column-0\"\n :column=\"megaColumns[0]\">\n <template v-if=\"megaColumns[0]\">\n <ul class=\"pa-header-desktop__mega-links\">\n <li v-for=\"(link, idx) in megaColumns[0].children ?? []\"\n :key=\"`m0-${idx}-${link.label}`\">\n <a class=\"pa-header-desktop__mega-link\"\n :href=\"link.href\">{{ link.label }}</a>\n </li>\n </ul>\n <a v-if=\"megaColumns[0].href\"\n class=\"pa-header-desktop__mega-action\"\n :href=\"megaColumns[0].href\">\n <span>Esplora {{ megaColumns[0].label }}</span>\n <PaIcon name=\"arrow-right\"\n size=\"sm\" />\n </a>\n </template>\n </slot>\n </div>\n\n <div class=\"pa-header-desktop__mega-column pa-header-desktop__mega-column--center\">\n <slot name=\"mega-column-1\"\n :column=\"megaColumns[1]\">\n <template v-if=\"megaColumns[1]\">\n <ul class=\"pa-header-desktop__mega-links\">\n <li v-for=\"(link, idx) in megaColumns[1].children ?? []\"\n :key=\"`m1-${idx}-${link.label}`\">\n <a class=\"pa-header-desktop__mega-link\"\n :href=\"link.href\">{{ link.label }}</a>\n </li>\n </ul>\n </template>\n </slot>\n </div>\n\n <div class=\"pa-header-desktop__mega-column pa-header-desktop__mega-column--right\">\n <slot name=\"mega-column-2\"\n :column=\"megaColumns[2]\">\n <template v-if=\"megaColumns[2]\">\n <div class=\"pa-header-desktop__mega-column-header\">\n <PaIcon :name=\"megaColumns[2].tools?.icon ?? 'wrench'\"\n size=\"md\" />\n <h3 class=\"pa-header-desktop__mega-column-heading\">\n {{ megaColumns[2].label }}\n </h3>\n </div>\n <ul class=\"pa-header-desktop__mega-links\">\n <li v-for=\"(link, idx) in megaColumns[2].children ?? []\"\n :key=\"`m2-${idx}-${link.label}`\">\n <a class=\"pa-header-desktop__mega-link\"\n :href=\"link.href\">{{ link.label }}</a>\n </li>\n </ul>\n </template>\n </slot>\n </div>\n </div>\n </div>\n </Transition>\n </div>\n </header>\n</template>\n\n<style scoped>\n.pa-header-desktop {\n position: relative;\n width: 100%;\n background: #ffffff;\n font-family: var(--pa-font-family-base, 'Inter', sans-serif);\n}\n\n.pa-header-desktop__skip {\n position: absolute;\n left: -9999px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n background: #ffffff;\n color: var(--pa-color-text-dark-blue);\n padding: var(--pa-space-xs) var(--pa-space-sm);\n border-radius: var(--pa-radius-smooth);\n text-decoration: none;\n font-size: var(--pa-font-label-sm-size);\n font-weight: var(--pa-font-label-sm-weight);\n line-height: var(--pa-font-label-sm-line-height);\n z-index: 9999;\n}\n\n.pa-header-desktop__skip:focus-visible {\n position: fixed;\n left: var(--pa-space-xs);\n top: var(--pa-space-xs);\n width: auto;\n height: auto;\n overflow: visible;\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n box-shadow: 0 0 16px 0 #e3e5e8;\n}\n\n/* Top secondary row */\n\n.pa-header-desktop__secondary {\n height: 48px;\n background: #ffffff;\n border-bottom: var(--pa-border-xs) solid var(--pa-color-bg-primary-light-50);\n}\n\n.pa-header-desktop__secondary-content {\n max-width: 1172px;\n margin: 0 auto;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--pa-space-md);\n}\n\n.pa-header-desktop__utility-links {\n display: flex;\n align-items: center;\n gap: var(--pa-space-md);\n font-size: 16px;\n line-height: 20px;\n color: var(--pa-color-neutral-gray);\n}\n\n.pa-header-desktop__utility-links :deep(a) {\n color: var(--pa-color-neutral-gray);\n text-decoration: none;\n}\n\n.pa-header-desktop__utility-links :deep(a:hover) {\n text-decoration: underline;\n}\n\n.pa-header-desktop__utility-links :deep(a:focus-visible) {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n.pa-header-desktop__secondary-right {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.pa-header-desktop__language {\n display: flex;\n align-items: stretch;\n height: 100%;\n}\n\n.pa-header-desktop__language-pill {\n height: 48px;\n min-width: 48px;\n padding: 0 12px;\n background: transparent;\n border: 0;\n font-family: inherit;\n font-size: 16px;\n line-height: 20px;\n color: var(--pa-color-neutral-gray);\n cursor: pointer;\n border-bottom: 4px solid transparent;\n}\n\n.pa-header-desktop__language-pill--active {\n color: #000000;\n border-bottom-color: #000000;\n}\n\n.pa-header-desktop__language-pill:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: -2px;\n}\n\n.pa-header-desktop__utility-icons {\n display: flex;\n align-items: stretch;\n height: 100%;\n}\n\n.pa-header-desktop__utility-icons :deep(button),\n.pa-header-desktop__utility-icons :deep(a) {\n width: 48px;\n height: 48px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--pa-color-bg-primary-light-40);\n border: 0;\n padding: 0;\n cursor: pointer;\n color: var(--pa-color-neutral-gray);\n text-decoration: none;\n}\n\n.pa-header-desktop__utility-icons :deep(button:focus-visible),\n.pa-header-desktop__utility-icons :deep(a:focus-visible) {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: -2px;\n}\n\n.pa-header-desktop__login-cta {\n display: inline-flex;\n align-items: center;\n gap: var(--pa-space-sm);\n padding: 12px var(--pa-space-md);\n background: var(--pa-color-bg-primary-light-40);\n border-radius: 4px;\n text-decoration: none;\n color: var(--pa-color-primary);\n}\n\n.pa-header-desktop__login-cta-label {\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n text-decoration: underline;\n color: var(--pa-color-primary);\n}\n\n.pa-header-desktop__login-cta:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n}\n\n.pa-header-desktop__user {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--pa-space-md);\n height: 48px;\n color: var(--pa-color-primary);\n}\n\n/* Primary row */\n\n.pa-header-desktop__primary {\n position: relative;\n background: #ffffff;\n padding: var(--pa-space-sm) 0;\n}\n\n.pa-header-desktop__primary-content {\n max-width: 1172px;\n margin: 0 auto;\n padding: 0 var(--pa-space-md);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--pa-space-sm);\n}\n\n.pa-header-desktop__search {\n width: 100%;\n max-width: 970px;\n}\n\n.pa-header-desktop__main-nav {\n display: flex;\n gap: var(--pa-space-md);\n align-items: center;\n justify-content: center;\n}\n\n.pa-header-desktop__nav-link,\n.pa-header-desktop__nav-trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--pa-space-xs);\n padding: 4px var(--pa-space-xs);\n background: transparent;\n border: 0;\n border-radius: 4px;\n font-family: inherit;\n font-size: var(--pa-font-h6-size);\n line-height: var(--pa-font-h6-line-height);\n font-weight: var(--pa-font-h6-weight);\n color: var(--pa-color-neutral-gray);\n text-decoration: none;\n border-bottom: 4px solid transparent;\n cursor: pointer;\n}\n\n.pa-header-desktop__nav-link:hover,\n.pa-header-desktop__nav-link[aria-current='page'],\n.pa-header-desktop__nav-trigger:hover:not([disabled]) {\n border-bottom-color: var(--pa-color-text-dark-blue);\n}\n\n.pa-header-desktop__nav-link:focus-visible,\n.pa-header-desktop__nav-trigger:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n}\n\n.pa-header-desktop__nav-trigger[disabled] {\n cursor: default;\n}\n\n.pa-header-desktop__nav-trigger--open {\n border-bottom-color: var(--pa-color-text-dark-blue);\n}\n\n/* Mega menu overlay */\n\n.pa-header-desktop__mega-menu {\n position: absolute;\n left: 0;\n right: 0;\n top: 100%;\n z-index: 50;\n background: #ffffff;\n border-radius: 4px;\n box-shadow: var(--pa-shadow-elevation-01, 0 0 16px 0 #e3e5e8);\n}\n\n.pa-header-desktop__mega-menu-inner {\n max-width: 1172px;\n margin: 0 auto;\n padding: 32px var(--pa-space-md);\n display: flex;\n gap: var(--pa-space-md);\n}\n\n.pa-header-desktop__mega-column {\n flex: 1 1 0;\n display: flex;\n flex-direction: column;\n gap: var(--pa-space-md);\n padding: 0 var(--pa-space-md);\n}\n\n.pa-header-desktop__mega-column--right {\n background: var(--pa-color-bg-primary-light-40);\n padding: 32px var(--pa-space-md);\n border-radius: 4px;\n}\n\n.pa-header-desktop__mega-column-header {\n display: flex;\n align-items: center;\n gap: 10px;\n color: var(--pa-color-neutral-gray);\n}\n\n.pa-header-desktop__mega-column-heading {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n letter-spacing: -0.5px;\n font-weight: 700;\n color: var(--pa-color-neutral-gray);\n}\n\n.pa-header-desktop__mega-links {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--pa-space-sm);\n}\n\n.pa-header-desktop__mega-link {\n display: inline-block;\n font-size: 16px;\n line-height: 24px;\n font-weight: 700;\n color: var(--pa-color-primary);\n text-decoration: underline;\n border-radius: 4px;\n}\n\n.pa-header-desktop__mega-link:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n}\n\n.pa-header-desktop__mega-action {\n display: inline-flex;\n align-items: center;\n gap: var(--pa-space-xs);\n padding-top: var(--pa-space-sm);\n border-top: var(--pa-border-xs) solid var(--pa-color-bg-primary-light-50);\n font-size: 16px;\n line-height: 24px;\n font-weight: 700;\n color: var(--pa-color-primary);\n text-decoration: underline;\n}\n\n.pa-header-desktop__mega-action:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Mega menu transition (150 ms; honors reduced-motion) */\n\n.pa-mega-menu-enter-active,\n.pa-mega-menu-leave-active {\n transition:\n opacity 150ms ease,\n transform 150ms ease;\n}\n\n.pa-mega-menu-enter-from,\n.pa-mega-menu-leave-to {\n opacity: 0;\n transform: translateY(-4px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\n .pa-mega-menu-enter-active,\n .pa-mega-menu-leave-active {\n transition-duration: 0ms;\n }\n\n .pa-mega-menu-enter-from,\n .pa-mega-menu-leave-to {\n transform: none;\n }\n}\n</style>\n"],"names":["desktopUid","nextDesktopId","props","__props","emit","__emit","megaMenuId","megaMenuTriggerId","internalMenuOpen","ref","openTrigger","computed","setMenuOpen","next","openItem","item","megaColumns","children","wrapperRef","megaMenuRef","triggerRefs","setTriggerRef","label","el","previouslyFocusedElement","escListenerAttached","outsideClickListenerAttached","onWindowKeydownEsc","event","onDocumentMousedown","target","trigger","attachDismissListeners","detachDismissListeners","watch","prev","nextTick","focusable","restoreTo","onBeforeUnmount","onTriggerClick","skipLinkEnabled","skipLinkLabel","skipLinkTarget","hasChildren","handleLanguageClick","language","prevented","payload","handleLeafClick","onSearch","value","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","$slots","_openBlock","_hoisted_4","_renderSlot","_ctx","_hoisted_5","_Fragment","_renderList","lang","_toDisplayString","_hoisted_7","_hoisted_8","_hoisted_9","_createVNode","PaIcon","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","PaSearchBar","idx","$event","_hoisted_16","_Transition","_hoisted_18","_hoisted_19","_hoisted_20","link","_hoisted_21","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_a","_hoisted_28","_hoisted_29","_hoisted_30"],"mappings":"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"}
1
+ {"version":3,"file":"PaHeaderDesktop.vue2.js","sources":["../../../src/components/PaHeaderDesktop/PaHeaderDesktop.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n PaHeaderLink,\n PaHeaderTools,\n PaHeaderNavItem,\n PaHeaderLanguage,\n PaHeaderSkipLinkConfig,\n PaHeaderNavigateEventPayload,\n PaHeaderLanguageChangeEventPayload,\n} from '../PaHeaderShared/types'\nimport type { PaSearchBarOption } from '../PaSearchBar/PaSearchBar.vue'\n\nexport type {\n PaHeaderLink,\n PaHeaderTools,\n PaHeaderNavItem,\n PaHeaderLanguage,\n PaHeaderSkipLinkConfig,\n PaHeaderNavigateEventPayload,\n PaHeaderLanguageChangeEventPayload,\n}\n\nexport interface PaHeaderDesktopProps {\n loggedIn?: boolean\n mainNav?: PaHeaderNavItem[]\n languages?: PaHeaderLanguage[]\n currentLanguage?: string\n currentHref?: string\n menuOpen?: string | null\n searchEnabled?: boolean\n searchPlaceholder?: string\n searchButtonLabel?: string\n searchOptions?: PaSearchBarOption[]\n searchValue?: string\n loginLabel?: string\n loginHref?: string\n mainNavLabel?: string\n languageGroupLabel?: string\n skipLink?: boolean | PaHeaderSkipLinkConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, ref, useId, watch } from 'vue'\nimport PaIcon from '../PaIcon/PaIcon.vue'\nimport PaSearchBar from '../PaSearchBar/PaSearchBar.vue'\n\nconst props = withDefaults(defineProps<PaHeaderDesktopProps>(), {\n loggedIn: false,\n mainNav: () => [],\n languages: () => [],\n currentLanguage: undefined,\n currentHref: undefined,\n menuOpen: undefined,\n searchEnabled: true,\n searchPlaceholder: 'Cerca',\n searchButtonLabel: 'Ricerca',\n searchOptions: () => [],\n searchValue: undefined,\n loginLabel: 'Accedi',\n loginHref: '/login',\n mainNavLabel: 'Navigazione principale',\n languageGroupLabel: 'Seleziona la lingua',\n skipLink: true,\n})\n\nconst emit = defineEmits<{\n 'update:menuOpen': [string | null]\n search: [value: string]\n 'language-change': [PaHeaderLanguageChangeEventPayload]\n navigate: [PaHeaderNavigateEventPayload]\n}>()\n\ndefineSlots<{\n 'utility-links'?: () => unknown\n 'utility-icons'?: () => unknown\n language?: () => unknown\n user?: () => unknown\n search?: () => unknown\n 'mega-column-0'?: (scope: { column?: PaHeaderNavItem }) => unknown\n 'mega-column-1'?: (scope: { column?: PaHeaderNavItem }) => unknown\n 'mega-column-2'?: (scope: { column?: PaHeaderNavItem }) => unknown\n}>()\n\nconst componentId = useId()\nconst megaMenuId = `pa-header-desktop-mega-${componentId}`\nconst megaMenuTriggerId = `${megaMenuId}-trigger`\n\n// Controlled / uncontrolled menuOpen — same pattern as PaHeaderMobile but with\n// `string | null` (the open trigger's label).\nconst internalMenuOpen = ref<string | null>(null)\nconst openTrigger = computed(() =>\n props.menuOpen !== undefined ? props.menuOpen : internalMenuOpen.value,\n)\n\nfunction setMenuOpen(next: string | null) {\n if (props.menuOpen === undefined) {\n internalMenuOpen.value = next\n }\n emit('update:menuOpen', next)\n}\n\nconst openItem = computed<PaHeaderNavItem | null>(() => {\n if (!openTrigger.value) return null\n return props.mainNav.find((item) => item.label === openTrigger.value) ?? null\n})\n\nconst megaColumns = computed<Array<PaHeaderNavItem | undefined>>(() => {\n if (!openItem.value || !openItem.value.children) return [undefined, undefined, undefined]\n const children = openItem.value.children\n return [children[0], children[1], children[2]]\n})\n\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst megaMenuRef = ref<HTMLElement | null>(null)\nconst triggerRefs = ref<Record<string, HTMLButtonElement | null>>({})\n\nfunction setTriggerRef(label: string, el: unknown) {\n triggerRefs.value[label] = (el as HTMLButtonElement | null) ?? null\n}\n\nlet previouslyFocusedElement: HTMLElement | null = null\nlet escListenerAttached = false\nlet outsideClickListenerAttached = false\n\nfunction onWindowKeydownEsc(event: KeyboardEvent) {\n if (event.key === 'Escape' && openTrigger.value) {\n event.preventDefault()\n setMenuOpen(null)\n }\n}\n\nfunction onDocumentMousedown(event: MouseEvent) {\n if (!openTrigger.value) return\n const target = event.target as Node | null\n if (!target) return\n if (megaMenuRef.value && megaMenuRef.value.contains(target)) return\n const trigger = triggerRefs.value[openTrigger.value]\n if (trigger && trigger.contains(target)) return\n setMenuOpen(null)\n}\n\nfunction attachDismissListeners() {\n if (typeof window === 'undefined') return\n if (!escListenerAttached) {\n window.addEventListener('keydown', onWindowKeydownEsc)\n escListenerAttached = true\n }\n if (!outsideClickListenerAttached) {\n document.addEventListener('mousedown', onDocumentMousedown)\n outsideClickListenerAttached = true\n }\n}\n\nfunction detachDismissListeners() {\n if (typeof window === 'undefined') return\n if (escListenerAttached) {\n window.removeEventListener('keydown', onWindowKeydownEsc)\n escListenerAttached = false\n }\n if (outsideClickListenerAttached) {\n document.removeEventListener('mousedown', onDocumentMousedown)\n outsideClickListenerAttached = false\n }\n}\n\nwatch(\n openTrigger,\n async (next, prev) => {\n if (next && !prev) {\n if (typeof document !== 'undefined') {\n previouslyFocusedElement = document.activeElement as HTMLElement | null\n }\n attachDismissListeners()\n await nextTick()\n if (megaMenuRef.value) {\n const focusable = megaMenuRef.value.querySelector<HTMLElement>(\n 'a, button:not([disabled])',\n )\n if (focusable) focusable.focus({ preventScroll: true })\n }\n } else if (!next && prev) {\n detachDismissListeners()\n const restoreTo =\n previouslyFocusedElement ?? triggerRefs.value[prev] ?? null\n if (\n restoreTo &&\n typeof document !== 'undefined' &&\n document.contains(restoreTo)\n ) {\n restoreTo.focus({ preventScroll: true })\n }\n previouslyFocusedElement = null\n }\n },\n { flush: 'post', immediate: true },\n)\n\nonBeforeUnmount(() => {\n detachDismissListeners()\n})\n\nfunction onTriggerClick(item: PaHeaderNavItem) {\n if (openTrigger.value === item.label) {\n setMenuOpen(null)\n } else {\n setMenuOpen(item.label)\n }\n}\n\nconst skipLinkEnabled = computed(() => props.skipLink !== false)\nconst skipLinkLabel = computed(() => {\n if (typeof props.skipLink === 'object' && props.skipLink !== null) {\n return props.skipLink.label ?? 'Vai al contenuto'\n }\n return 'Vai al contenuto'\n})\nconst skipLinkTarget = computed(() => {\n if (typeof props.skipLink === 'object' && props.skipLink !== null) {\n return props.skipLink.target ?? '#main'\n }\n return '#main'\n})\n\nfunction hasChildren(item: PaHeaderNavItem): boolean {\n return Boolean(item.children && item.children.length > 0)\n}\n\nfunction handleLanguageClick(event: MouseEvent, language: PaHeaderLanguage) {\n let prevented = false\n const payload: PaHeaderLanguageChangeEventPayload = {\n language,\n originalEvent: event,\n preventDefault: () => {\n prevented = true\n payload.defaultPrevented = true\n },\n defaultPrevented: false,\n }\n emit('language-change', payload)\n if (!prevented && language.href && typeof window !== 'undefined') {\n window.location.assign(language.href)\n }\n}\n\nfunction handleLeafClick(event: MouseEvent, item: PaHeaderNavItem) {\n let prevented = false\n const payload: PaHeaderNavigateEventPayload = {\n item,\n originalEvent: event,\n preventDefault: () => {\n prevented = true\n payload.defaultPrevented = true\n },\n defaultPrevented: false,\n }\n emit('navigate', payload)\n if (prevented) {\n event.preventDefault()\n }\n}\n\nfunction onSearch(value: string) {\n emit('search', value)\n}\n</script>\n\n<template>\n <header ref=\"wrapperRef\"\n class=\"pa-header-desktop\"\n role=\"banner\">\n <a v-if=\"skipLinkEnabled\"\n class=\"pa-header-desktop__skip\"\n :href=\"skipLinkTarget\">\n {{ skipLinkLabel }}\n </a>\n\n <div class=\"pa-header-desktop__secondary\">\n <div class=\"pa-header-desktop__secondary-content\">\n <div v-if=\"$slots['utility-links']\"\n class=\"pa-header-desktop__utility-links\">\n <slot name=\"utility-links\" />\n </div>\n\n <div class=\"pa-header-desktop__secondary-right\">\n <div v-if=\"$slots.language || languages.length > 0\"\n class=\"pa-header-desktop__language\"\n role=\"group\"\n :aria-label=\"languageGroupLabel\">\n <slot name=\"language\">\n <button v-for=\"lang in languages\"\n :key=\"lang.code\"\n type=\"button\"\n class=\"pa-header-desktop__language-pill\"\n :class=\"{\n 'pa-header-desktop__language-pill--active':\n lang.code === currentLanguage,\n }\"\n :aria-pressed=\"lang.code === currentLanguage\"\n @click=\"(event) => handleLanguageClick(event, lang)\">\n {{ lang.label }}\n </button>\n </slot>\n </div>\n\n <div v-if=\"$slots['utility-icons']\"\n class=\"pa-header-desktop__utility-icons\">\n <slot name=\"utility-icons\" />\n </div>\n\n <template v-if=\"loggedIn\">\n <div class=\"pa-header-desktop__user\">\n <slot name=\"user\">\n <PaIcon name=\"user-fill\"\n size=\"sm\" />\n </slot>\n </div>\n </template>\n <template v-else>\n <a class=\"pa-header-desktop__login-cta\"\n :href=\"loginHref\">\n <span class=\"pa-header-desktop__login-cta-label\">{{ loginLabel }}</span>\n <PaIcon name=\"user\"\n size=\"sm\" />\n </a>\n </template>\n </div>\n </div>\n </div>\n\n <div class=\"pa-header-desktop__primary\">\n <div class=\"pa-header-desktop__primary-content\">\n <div v-if=\"searchEnabled || $slots.search\"\n class=\"pa-header-desktop__search\">\n <slot name=\"search\">\n <PaSearchBar :placeholder=\"searchPlaceholder\"\n :search-label=\"searchButtonLabel\"\n :options=\"searchOptions\"\n :value=\"searchValue ?? ''\"\n @search=\"onSearch\" />\n </slot>\n </div>\n\n <nav v-if=\"mainNav.length > 0\"\n class=\"pa-header-desktop__main-nav\"\n :aria-label=\"mainNavLabel\">\n <template v-for=\"(item, idx) in mainNav\"\n :key=\"`nav-${idx}-${item.label}`\">\n <a v-if=\"!hasChildren(item)\"\n class=\"pa-header-desktop__nav-link\"\n :href=\"item.href\"\n :aria-current=\"item.href !== undefined && item.href === currentHref ? 'page' : undefined\"\n @click=\"(event) => handleLeafClick(event, item)\">\n {{ item.label }}\n </a>\n <button v-else\n :ref=\"(el) => setTriggerRef(item.label, el)\"\n type=\"button\"\n class=\"pa-header-desktop__nav-trigger\"\n :class=\"{\n 'pa-header-desktop__nav-trigger--open':\n openTrigger === item.label,\n }\"\n :aria-expanded=\"openTrigger === item.label\"\n :aria-haspopup=\"true\"\n :aria-controls=\"megaMenuId\"\n :id=\"openTrigger === item.label ? megaMenuTriggerId : undefined\"\n @click=\"onTriggerClick(item)\">\n <span>{{ item.label }}</span>\n <PaIcon name=\"caret-down\"\n size=\"sm\" />\n </button>\n </template>\n </nav>\n </div>\n\n <Transition name=\"pa-mega-menu\">\n <div v-if=\"openTrigger && openItem\"\n :id=\"megaMenuId\"\n ref=\"megaMenuRef\"\n class=\"pa-header-desktop__mega-menu\"\n role=\"region\"\n :aria-labelledby=\"megaMenuTriggerId\">\n <div class=\"pa-header-desktop__mega-menu-inner\">\n <div class=\"pa-header-desktop__mega-column pa-header-desktop__mega-column--left\">\n <slot name=\"mega-column-0\"\n :column=\"megaColumns[0]\">\n <template v-if=\"megaColumns[0]\">\n <ul class=\"pa-header-desktop__mega-links\">\n <li v-for=\"(link, idx) in megaColumns[0].children ?? []\"\n :key=\"`m0-${idx}-${link.label}`\">\n <a class=\"pa-header-desktop__mega-link\"\n :href=\"link.href\">{{ link.label }}</a>\n </li>\n </ul>\n <a v-if=\"megaColumns[0].href\"\n class=\"pa-header-desktop__mega-action\"\n :href=\"megaColumns[0].href\">\n <span>Esplora {{ megaColumns[0].label }}</span>\n <PaIcon name=\"arrow-right\"\n size=\"sm\" />\n </a>\n </template>\n </slot>\n </div>\n\n <div class=\"pa-header-desktop__mega-column pa-header-desktop__mega-column--center\">\n <slot name=\"mega-column-1\"\n :column=\"megaColumns[1]\">\n <template v-if=\"megaColumns[1]\">\n <ul class=\"pa-header-desktop__mega-links\">\n <li v-for=\"(link, idx) in megaColumns[1].children ?? []\"\n :key=\"`m1-${idx}-${link.label}`\">\n <a class=\"pa-header-desktop__mega-link\"\n :href=\"link.href\">{{ link.label }}</a>\n </li>\n </ul>\n </template>\n </slot>\n </div>\n\n <div class=\"pa-header-desktop__mega-column pa-header-desktop__mega-column--right\">\n <slot name=\"mega-column-2\"\n :column=\"megaColumns[2]\">\n <template v-if=\"megaColumns[2]\">\n <div class=\"pa-header-desktop__mega-column-header\">\n <PaIcon :name=\"megaColumns[2].tools?.icon ?? 'wrench'\"\n size=\"md\" />\n <h3 class=\"pa-header-desktop__mega-column-heading\">\n {{ megaColumns[2].label }}\n </h3>\n </div>\n <ul class=\"pa-header-desktop__mega-links\">\n <li v-for=\"(link, idx) in megaColumns[2].children ?? []\"\n :key=\"`m2-${idx}-${link.label}`\">\n <a class=\"pa-header-desktop__mega-link\"\n :href=\"link.href\">{{ link.label }}</a>\n </li>\n </ul>\n </template>\n </slot>\n </div>\n </div>\n </div>\n </Transition>\n </div>\n </header>\n</template>\n\n<style scoped>\n.pa-header-desktop {\n position: relative;\n width: 100%;\n background: #ffffff;\n font-family: var(--pa-font-family-base, 'Inter', sans-serif);\n}\n\n.pa-header-desktop__skip {\n position: absolute;\n left: -9999px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n background: #ffffff;\n color: var(--pa-color-text-dark-blue);\n padding: var(--pa-space-xs) var(--pa-space-sm);\n border-radius: var(--pa-radius-smooth);\n text-decoration: none;\n font-size: var(--pa-font-label-sm-size);\n font-weight: var(--pa-font-label-sm-weight);\n line-height: var(--pa-font-label-sm-line-height);\n z-index: 9999;\n}\n\n.pa-header-desktop__skip:focus-visible {\n position: fixed;\n left: var(--pa-space-xs);\n top: var(--pa-space-xs);\n width: auto;\n height: auto;\n overflow: visible;\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n box-shadow: 0 0 16px 0 #e3e5e8;\n}\n\n/* Top secondary row */\n\n.pa-header-desktop__secondary {\n height: 48px;\n background: #ffffff;\n border-bottom: var(--pa-border-xs) solid var(--pa-color-bg-primary-light-50);\n}\n\n.pa-header-desktop__secondary-content {\n max-width: 1172px;\n margin: 0 auto;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--pa-space-md);\n}\n\n.pa-header-desktop__utility-links {\n display: flex;\n align-items: center;\n gap: var(--pa-space-md);\n font-size: 16px;\n line-height: 20px;\n color: var(--pa-color-neutral-gray);\n}\n\n.pa-header-desktop__utility-links :deep(a) {\n color: var(--pa-color-neutral-gray);\n text-decoration: none;\n}\n\n.pa-header-desktop__utility-links :deep(a:hover) {\n text-decoration: underline;\n}\n\n.pa-header-desktop__utility-links :deep(a:focus-visible) {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n.pa-header-desktop__secondary-right {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.pa-header-desktop__language {\n display: flex;\n align-items: stretch;\n height: 100%;\n}\n\n.pa-header-desktop__language-pill {\n height: 48px;\n min-width: 48px;\n padding: 0 12px;\n background: transparent;\n border: 0;\n font-family: inherit;\n font-size: 16px;\n line-height: 20px;\n color: var(--pa-color-neutral-gray);\n cursor: pointer;\n border-bottom: 4px solid transparent;\n}\n\n.pa-header-desktop__language-pill--active {\n color: #000000;\n border-bottom-color: #000000;\n}\n\n.pa-header-desktop__language-pill:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: -2px;\n}\n\n.pa-header-desktop__utility-icons {\n display: flex;\n align-items: stretch;\n height: 100%;\n}\n\n.pa-header-desktop__utility-icons :deep(button),\n.pa-header-desktop__utility-icons :deep(a) {\n width: 48px;\n height: 48px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--pa-color-bg-primary-light-40);\n border: 0;\n padding: 0;\n cursor: pointer;\n color: var(--pa-color-neutral-gray);\n text-decoration: none;\n}\n\n.pa-header-desktop__utility-icons :deep(button:focus-visible),\n.pa-header-desktop__utility-icons :deep(a:focus-visible) {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: -2px;\n}\n\n.pa-header-desktop__login-cta {\n display: inline-flex;\n align-items: center;\n gap: var(--pa-space-sm);\n padding: 12px var(--pa-space-md);\n background: var(--pa-color-bg-primary-light-40);\n border-radius: 4px;\n text-decoration: none;\n color: var(--pa-color-primary);\n}\n\n.pa-header-desktop__login-cta-label {\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n text-decoration: underline;\n color: var(--pa-color-primary);\n}\n\n.pa-header-desktop__login-cta:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n}\n\n.pa-header-desktop__user {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--pa-space-md);\n height: 48px;\n color: var(--pa-color-primary);\n}\n\n/* Primary row */\n\n.pa-header-desktop__primary {\n position: relative;\n background: #ffffff;\n padding: var(--pa-space-sm) 0;\n}\n\n.pa-header-desktop__primary-content {\n max-width: 1172px;\n margin: 0 auto;\n padding: 0 var(--pa-space-md);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--pa-space-sm);\n}\n\n.pa-header-desktop__search {\n width: 100%;\n max-width: 970px;\n}\n\n.pa-header-desktop__main-nav {\n display: flex;\n gap: var(--pa-space-md);\n align-items: center;\n justify-content: center;\n}\n\n.pa-header-desktop__nav-link,\n.pa-header-desktop__nav-trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--pa-space-xs);\n padding: 4px var(--pa-space-xs);\n background: transparent;\n border: 0;\n border-radius: 4px;\n font-family: inherit;\n font-size: var(--pa-font-h6-size);\n line-height: var(--pa-font-h6-line-height);\n font-weight: var(--pa-font-h6-weight);\n color: var(--pa-color-neutral-gray);\n text-decoration: none;\n border-bottom: 4px solid transparent;\n cursor: pointer;\n}\n\n.pa-header-desktop__nav-link:hover,\n.pa-header-desktop__nav-link[aria-current='page'],\n.pa-header-desktop__nav-trigger:hover:not([disabled]) {\n border-bottom-color: var(--pa-color-text-dark-blue);\n}\n\n.pa-header-desktop__nav-link:focus-visible,\n.pa-header-desktop__nav-trigger:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n}\n\n.pa-header-desktop__nav-trigger[disabled] {\n cursor: default;\n}\n\n.pa-header-desktop__nav-trigger--open {\n border-bottom-color: var(--pa-color-text-dark-blue);\n}\n\n/* Mega menu overlay */\n\n.pa-header-desktop__mega-menu {\n position: absolute;\n left: 0;\n right: 0;\n top: 100%;\n z-index: 50;\n background: #ffffff;\n border-radius: 4px;\n box-shadow: var(--pa-shadow-elevation-01, 0 0 16px 0 #e3e5e8);\n}\n\n.pa-header-desktop__mega-menu-inner {\n max-width: 1172px;\n margin: 0 auto;\n padding: 32px var(--pa-space-md);\n display: flex;\n gap: var(--pa-space-md);\n}\n\n.pa-header-desktop__mega-column {\n flex: 1 1 0;\n display: flex;\n flex-direction: column;\n gap: var(--pa-space-md);\n padding: 0 var(--pa-space-md);\n}\n\n.pa-header-desktop__mega-column--right {\n background: var(--pa-color-bg-primary-light-40);\n padding: 32px var(--pa-space-md);\n border-radius: 4px;\n}\n\n.pa-header-desktop__mega-column-header {\n display: flex;\n align-items: center;\n gap: 10px;\n color: var(--pa-color-neutral-gray);\n}\n\n.pa-header-desktop__mega-column-heading {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n letter-spacing: -0.5px;\n font-weight: 700;\n color: var(--pa-color-neutral-gray);\n}\n\n.pa-header-desktop__mega-links {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--pa-space-sm);\n}\n\n.pa-header-desktop__mega-link {\n display: inline-block;\n font-size: 16px;\n line-height: 24px;\n font-weight: 700;\n color: var(--pa-color-primary);\n text-decoration: underline;\n border-radius: 4px;\n}\n\n.pa-header-desktop__mega-link:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n}\n\n.pa-header-desktop__mega-action {\n display: inline-flex;\n align-items: center;\n gap: var(--pa-space-xs);\n padding-top: var(--pa-space-sm);\n border-top: var(--pa-border-xs) solid var(--pa-color-bg-primary-light-50);\n font-size: 16px;\n line-height: 24px;\n font-weight: 700;\n color: var(--pa-color-primary);\n text-decoration: underline;\n}\n\n.pa-header-desktop__mega-action:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Mega menu transition (150 ms; honors reduced-motion) */\n\n.pa-mega-menu-enter-active,\n.pa-mega-menu-leave-active {\n transition:\n opacity 150ms ease,\n transform 150ms ease;\n}\n\n.pa-mega-menu-enter-from,\n.pa-mega-menu-leave-to {\n opacity: 0;\n transform: translateY(-4px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\n .pa-mega-menu-enter-active,\n .pa-mega-menu-leave-active {\n transition-duration: 0ms;\n }\n\n .pa-mega-menu-enter-from,\n .pa-mega-menu-leave-to {\n transform: none;\n }\n}\n</style>\n"],"names":["props","__props","emit","__emit","megaMenuId","useId","megaMenuTriggerId","internalMenuOpen","ref","openTrigger","computed","setMenuOpen","next","openItem","item","megaColumns","children","wrapperRef","megaMenuRef","triggerRefs","setTriggerRef","label","el","previouslyFocusedElement","escListenerAttached","outsideClickListenerAttached","onWindowKeydownEsc","event","onDocumentMousedown","target","trigger","attachDismissListeners","detachDismissListeners","watch","prev","nextTick","focusable","restoreTo","onBeforeUnmount","onTriggerClick","skipLinkEnabled","skipLinkLabel","skipLinkTarget","hasChildren","handleLanguageClick","language","prevented","payload","handleLeafClick","onSearch","value","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","$slots","_openBlock","_hoisted_4","_renderSlot","_ctx","_hoisted_5","_Fragment","_renderList","lang","_toDisplayString","_hoisted_7","_hoisted_8","_hoisted_9","_createVNode","PaIcon","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","PaSearchBar","idx","$event","_hoisted_16","_Transition","_hoisted_18","_hoisted_19","_hoisted_20","link","_hoisted_21","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_a","_hoisted_28","_hoisted_29","_hoisted_30"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import o from "./PaHeaderMobile.vue2.js";
2
2
  /* empty css */
3
3
  import e from "../../_virtual/_plugin-vue_export-helper.js";
4
- const c = /* @__PURE__ */ e(o, [["__scopeId", "data-v-9fcce019"]]);
4
+ const f = /* @__PURE__ */ e(o, [["__scopeId", "data-v-9e69f052"]]);
5
5
  export {
6
- c as default
6
+ f as default
7
7
  };
8
8
  //# sourceMappingURL=PaHeaderMobile.vue.js.map