@phila/phila-ui-app-header 0.3.0 → 1.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,33 +1,32 @@
1
- import { defineComponent as g, useSlots as ve, computed as _, createElementBlock as u, openBlock as o, Fragment as z, createElementVNode as s, createCommentVNode as p, unref as n, createTextVNode as N, createVNode as h, renderSlot as f, createBlock as b, withCtx as v, resolveDynamicComponent as I, normalizeClass as L, renderList as V, toDisplayString as y, withKeys as me, mergeProps as C, useTemplateRef as q, ref as B, watch as pe, onMounted as be, onUnmounted as X, normalizeStyle as Y, createSlots as Z, useId as he, withModifiers as ye, nextTick as ge, normalizeProps as T, guardReactiveProps as S } from "vue";
2
- import { FontAwesomeIcon as w } from "@fortawesome/vue-fontawesome";
3
- import { useCollapse as J, debounce as ke, Icon as _e, cn as O, BaseLink as P, ActionContent as E } from "@phila/phila-ui-core";
4
- import { CollapsePanel as H } from "@phila/phila-ui-collapse-panel";
1
+ import { defineComponent as _, useSlots as he, useTemplateRef as S, computed as B, watch as Y, nextTick as Z, createElementBlock as c, openBlock as n, Fragment as T, createElementVNode as s, createCommentVNode as y, unref as i, mergeProps as C, createTextVNode as A, createVNode as p, renderSlot as v, ref as z, onMounted as me, onUnmounted as J, normalizeStyle as ee, normalizeClass as I, toDisplayString as w, onBeforeMount as ge, renderList as Q, createBlock as k, withModifiers as te, withCtx as m, resolveDynamicComponent as ie, createSlots as K, normalizeProps as E, useId as ye, guardReactiveProps as D } from "vue";
2
+ import { FontAwesomeIcon as L } from "@fortawesome/vue-fontawesome";
3
+ import { useVisibility as H, debounce as _e, Icon as $e, FocusTrap as ae, cn as R, BaseLink as se, ActionContent as P } from "@phila/phila-ui-core";
5
4
  import { Logo as xe } from "@phila/phila-ui-logo";
6
- import './index.css';var $e = {
5
+ import './index.css';var ke = {
7
6
  prefix: "fas",
8
7
  iconName: "magnifying-glass",
9
8
  icon: [512, 512, [128269, "search"], "f002", "M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]
10
- }, we = $e, Ce = {
9
+ }, we = ke, Be = {
11
10
  prefix: "fas",
12
11
  iconName: "circle-exclamation",
13
12
  icon: [512, 512, ["exclamation-circle"], "f06a", "M256 512a256 256 0 1 1 0-512 256 256 0 1 1 0 512zm0-192a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-192c-18.2 0-32.7 15.5-31.4 33.7l7.4 104c.9 12.6 11.4 22.3 23.9 22.3 12.6 0 23-9.7 23.9-22.3l7.4-104c1.3-18.2-13.1-33.7-31.4-33.7z"]
14
- }, ee = {
13
+ }, ne = {
15
14
  prefix: "fas",
16
15
  iconName: "xmark",
17
16
  icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"]
18
- }, Be = ee, te = ee, Ne = {
17
+ }, Ce = ne, oe = ne, Ne = {
19
18
  prefix: "fas",
20
19
  iconName: "lock",
21
20
  icon: [384, 512, [128274], "f023", "M128 96l0 64 128 0 0-64c0-35.3-28.7-64-64-64s-64 28.7-64 64zM64 160l0-64C64 25.3 121.3-32 192-32S320 25.3 320 96l0 64c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 224c0-35.3 28.7-64 64-64z"]
22
- }, ae = {
21
+ }, le = {
23
22
  prefix: "fas",
24
23
  iconName: "caret-up",
25
24
  icon: [320, 512, [], "f0d8", "M140.3 135.2c12.6-10.3 31.1-9.5 42.8 2.2l128 128c9.2 9.2 11.9 22.9 6.9 34.9S301.4 320 288.5 320l-256 0c-12.9 0-24.6-7.8-29.6-19.8S.7 274.5 9.9 265.4l128-128 2.4-2.2z"]
26
- }, ie = {
25
+ }, re = {
27
26
  prefix: "fas",
28
27
  iconName: "caret-down",
29
28
  icon: [320, 512, [], "f0d7", "M140.3 376.8c12.6 10.2 31.1 9.5 42.8-2.2l128-128c9.2-9.2 11.9-22.9 6.9-34.9S301.4 192 288.5 192l-256 0c-12.9 0-24.6 7.8-29.6 19.8S.7 237.5 9.9 246.6l128 128 2.4 2.2z"]
30
- }, ze = {
29
+ }, Me = {
31
30
  prefix: "fas",
32
31
  iconName: "building-columns",
33
32
  icon: [512, 512, ["bank", "institution", "museum", "university"], "f19c", "M271.9 20.2c-9.8-5.6-21.9-5.6-31.8 0l-224 128c-12.6 7.2-18.8 22-15.1 36S17.5 208 32 208l32 0 0 208 0 0-51.2 38.4C4.7 460.4 0 469.9 0 480 0 497.7 14.3 512 32 512l448 0c17.7 0 32-14.3 32-32 0-10.1-4.7-19.6-12.8-25.6l-51.2-38.4 0-208 32 0c14.5 0 27.2-9.8 30.9-23.8s-2.5-28.8-15.1-36l-224-128zM400 208l0 208-64 0 0-208 64 0zm-112 0l0 208-64 0 0-208 64 0zm-112 0l0 208-64 0 0-208 64 0zM256 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]
@@ -35,247 +34,331 @@ import './index.css';var $e = {
35
34
  prefix: "fas",
36
35
  iconName: "bars",
37
36
  icon: [448, 512, ["navicon"], "f0c9", "M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"]
38
- }, Ae = {
37
+ }, ze = {
39
38
  prefix: "fas",
40
39
  iconName: "circle-info",
41
40
  icon: [512, 512, ["info-circle"], "f05a", "M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM224 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-8 64l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"]
42
- }, ne = Ae;
43
- const Me = "data:image/svg+xml,%3csvg%20width='16'%20height='11'%20viewBox='0%200%2016%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3crect%20width='16'%20height='11'%20fill='url(%23pattern0_61022_1867)'/%3e%3cdefs%3e%3cpattern%20id='pattern0_61022_1867'%20patternContentUnits='objectBoundingBox'%20width='1'%20height='1'%3e%3cuse%20xlink:href='%23image0_61022_1867'%20transform='scale(0.0625%200.0909091)'/%3e%3c/pattern%3e%3cimage%20id='image0_61022_1867'%20width='16'%20height='11'%20preserveAspectRatio='none'%20xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAMAAABBPP0LAAAAG1BMVEUdM7EeNLIeM7HgQCDaPh/bPh/bPx/////bPyBEby41AAAAUElEQVQI123MNw4CABDEwD3jC/9/MQ1BQrgeOSkIqYe2o2FZtthXgQLgbHVMZdlsfUQFQnHtjP1+8BUhBDKOqtmfot6ojqPzR7TjdU+f6vkED+IDPhTBcMAAAAAASUVORK5CYII='/%3e%3c/defs%3e%3c/svg%3e", Te = {
41
+ }, ce = ze;
42
+ const Ae = "data:image/svg+xml,%3csvg%20width='16'%20height='11'%20viewBox='0%200%2016%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3crect%20width='16'%20height='11'%20fill='url(%23pattern0_61022_1867)'/%3e%3cdefs%3e%3cpattern%20id='pattern0_61022_1867'%20patternContentUnits='objectBoundingBox'%20width='1'%20height='1'%3e%3cuse%20xlink:href='%23image0_61022_1867'%20transform='scale(0.0625%200.0909091)'/%3e%3c/pattern%3e%3cimage%20id='image0_61022_1867'%20width='16'%20height='11'%20preserveAspectRatio='none'%20xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAMAAABBPP0LAAAAG1BMVEUdM7EeNLIeM7HgQCDaPh/bPh/bPx/////bPyBEby41AAAAUElEQVQI123MNw4CABDEwD3jC/9/MQ1BQrgeOSkIqYe2o2FZtthXgQLgbHVMZdlsfUQFQnHtjP1+8BUhBDKOqtmfot6ojqPzR7TjdU+f6vkED+IDPhTBcMAAAAAASUVORK5CYII='/%3e%3c/defs%3e%3c/svg%3e", Te = {
44
43
  id: "trusted-site",
45
44
  class: "is-flex is-justify-space-between"
46
- }, Se = { class: "trusted-wrap" }, Ee = { class: "hidden-tablet trusted-toggle is-flex is-align-center" }, Ie = ["src"], Oe = ["aria-label", "aria-expanded"], De = {
45
+ }, Se = { class: "trusted-wrap" }, Ee = { class: "hidden-tablet trusted-toggle is-flex is-align-center" }, Ie = ["src"], He = ["aria-label", "aria-expanded"], Oe = {
47
46
  class: "icon",
48
47
  "aria-hidden": "true"
49
- }, Re = { class: "hidden-desktop trusted-toggle is-flex is-align-center" }, He = ["aria-label", "aria-expanded"], Ue = {
48
+ }, Ge = { class: "hidden-desktop trusted-toggle is-flex is-align-center" }, De = ["aria-label", "aria-expanded"], Pe = {
50
49
  class: "icon",
51
50
  "aria-hidden": "true"
52
- }, je = {
51
+ }, Re = {
53
52
  key: 0,
54
53
  class: "trusted-translation is-flex is-align-center"
55
- }, Ge = ["hidden"], Fe = { class: "trusted-site-info-content content has-text-body-small is-flex is-justify-space-between" }, Ve = { class: "info-item-wrap is-flex" }, Qe = { class: "info-item is-flex is-12-mobile is-align-flex-start is-flex-1 my-4" }, Ke = { class: "trusted-icon is-flex is-flex-column has-text-center" }, We = { class: "icon circle-icon p-3 mb-2" }, qe = { class: "info-item is-flex is-12-mobile is-align-flex-start is-flex-1 my-4" }, Xe = { class: "trusted-icon is-flex is-flex-column has-text-center" }, Ye = { class: "icon circle-icon p-3 mb-2" }, Ze = { class: "info-content-close mt-4" }, Je = /* @__PURE__ */ g({
54
+ }, Ve = ["hidden"], Ue = { class: "trusted-site-info-content content has-text-body-small is-flex is-justify-space-between" }, je = { class: "info-item-wrap is-flex" }, Fe = { class: "info-item is-flex is-12-mobile is-align-flex-start is-flex-1 my-4" }, Qe = { class: "trusted-icon is-flex is-flex-column has-text-center" }, Ke = { class: "icon circle-icon p-3 mb-2" }, We = { class: "info-item is-flex is-12-mobile is-align-flex-start is-flex-1 my-4" }, qe = { class: "trusted-icon is-flex is-flex-column has-text-center" }, Xe = { class: "icon circle-icon p-3 mb-2" }, Ye = { class: "info-content-close mt-4" }, Ze = /* @__PURE__ */ _({
56
55
  __name: "TrustedSite",
57
56
  setup(t) {
58
- const e = ve(), { isCollapsed: l, onClickToggle: a } = J({
57
+ const e = he(), { isVisible: a, setVisibility: o, toggleProps: r } = H({
59
58
  id: "trusted-site-info",
60
- escapeKeyClose: !0
61
- }), c = _(() => l("trusted-site-info"));
62
- return (d, i) => (o(), u(z, null, [
59
+ escapeKeyHide: !0
60
+ }), d = S("infoToggle"), l = S("closeInfoToggle"), $ = S("infoToggleMobile"), f = B(() => a());
61
+ return Y(
62
+ () => f.value,
63
+ (g) => {
64
+ g ? Z(() => {
65
+ l.value?.focus();
66
+ }) : (d.value?.focus(), $.value?.focus());
67
+ }
68
+ ), (g, b) => (n(), c(T, null, [
63
69
  s("div", Te, [
64
70
  s("div", Se, [
65
71
  s("div", Ee, [
66
72
  s("img", {
67
- src: n(Me),
73
+ src: i(Ae),
68
74
  alt: "",
69
75
  class: "icon"
70
76
  }, null, 8, Ie),
71
- i[4] || (i[4] = s("div", { class: "content mx-2" }, "An official website of the City of Philadelphia government", -1)),
72
- s("button", {
77
+ b[2] || (b[2] = s("div", { class: "content mx-2" }, "An official website of the City of Philadelphia government", -1)),
78
+ s("button", C({
79
+ ref_key: "infoToggle",
80
+ ref: d,
73
81
  class: "phila-button is-extra-small",
74
- "aria-label": `${c.value ? "Close" : "Open"} Trusted Site information panel`,
82
+ "aria-label": `${f.value ? "Close" : "Open"} Trusted Site information panel`,
75
83
  "aria-controls": "trusted-site-info",
76
- "aria-expanded": c.value,
77
- onClick: i[0] || (i[0] = //@ts-ignore
78
- (...r) => n(a) && n(a)(...r))
79
- }, [
80
- i[3] || (i[3] = N(" Here's how you know ", -1)),
81
- s("span", De, [
82
- h(n(w), {
83
- icon: c.value ? n(ae) : n(ie)
84
+ "aria-expanded": f.value
85
+ }, i(r)), [
86
+ b[1] || (b[1] = A(" Here's how you know ", -1)),
87
+ s("span", Oe, [
88
+ p(i(L), {
89
+ icon: f.value ? i(le) : i(re)
84
90
  }, null, 8, ["icon"])
85
91
  ])
86
- ], 8, Oe)
92
+ ], 16, He)
87
93
  ]),
88
- s("div", Re, [
89
- s("button", {
94
+ s("div", Ge, [
95
+ s("button", C({
96
+ ref_key: "infoToggleMobile",
97
+ ref: $,
90
98
  class: "phila-button is-extra-small",
91
- "aria-label": `${c.value ? "Close" : "Open"} Trusted Site information panel`,
99
+ "aria-label": `${f.value ? "Close" : "Open"} Trusted Site information panel`,
92
100
  "aria-controls": "trusted-site-info",
93
- "aria-expanded": c.value,
94
- onClick: i[1] || (i[1] = //@ts-ignore
95
- (...r) => n(a) && n(a)(...r))
96
- }, [
97
- i[5] || (i[5] = N(" An official website ", -1)),
98
- s("span", Ue, [
99
- h(n(w), { icon: n(ne) }, null, 8, ["icon"])
101
+ "aria-expanded": f.value
102
+ }, i(r)), [
103
+ b[3] || (b[3] = A(" An official website ", -1)),
104
+ s("span", Pe, [
105
+ p(i(L), { icon: i(ce) }, null, 8, ["icon"])
100
106
  ])
101
- ], 8, He)
107
+ ], 16, De)
102
108
  ])
103
109
  ]),
104
- n(e).translation ? (o(), u("div", je, [
105
- f(d.$slots, "translation", {}, void 0, !0)
106
- ])) : p("", !0)
110
+ i(e).translation ? (n(), c("div", Re, [
111
+ v(g.$slots, "translation", {}, void 0, !0)
112
+ ])) : y("", !0)
107
113
  ]),
108
114
  s("div", {
109
115
  id: "trusted-site-info",
110
116
  class: "px-6",
111
- hidden: !c.value
117
+ hidden: !f.value
112
118
  }, [
113
- s("div", Fe, [
114
- s("div", Ve, [
115
- s("div", Qe, [
116
- s("div", Ke, [
117
- s("span", We, [
118
- h(n(w), { icon: n(ze) }, null, 8, ["icon"])
119
+ s("div", Ue, [
120
+ s("div", je, [
121
+ s("div", Fe, [
122
+ s("div", Qe, [
123
+ s("span", Ke, [
124
+ p(i(L), { icon: i(Me) }, null, 8, ["icon"])
119
125
  ]),
120
- i[6] || (i[6] = s("span", { class: "has-text-bold" }, ".gov", -1))
126
+ b[4] || (b[4] = s("span", { class: "has-text-bold" }, ".gov", -1))
121
127
  ]),
122
- i[7] || (i[7] = s("div", { class: "trusted-text m-4" }, "Only government entities in the U.S. can end in .gov", -1))
128
+ b[5] || (b[5] = s("div", { class: "trusted-text m-4" }, "Only government entities in the U.S. can end in .gov", -1))
123
129
  ]),
124
- s("div", qe, [
125
- s("div", Xe, [
126
- s("div", Ye, [
127
- h(n(w), { icon: n(Ne) }, null, 8, ["icon"])
130
+ s("div", We, [
131
+ s("div", qe, [
132
+ s("div", Xe, [
133
+ p(i(L), { icon: i(Ne) }, null, 8, ["icon"])
128
134
  ]),
129
- i[8] || (i[8] = s("span", { class: "has-text-bold" }, "https://", -1))
135
+ b[6] || (b[6] = s("span", { class: "has-text-bold" }, "https://", -1))
130
136
  ]),
131
- i[9] || (i[9] = s("div", { class: "trusted-text m-4" }, " The https:// in the address bar means your information is encrypted and can not be accessed by anyone else ", -1))
137
+ b[7] || (b[7] = s("div", { class: "trusted-text m-4" }, " The https:// in the address bar means your information is encrypted and can not be accessed by anyone else ", -1))
132
138
  ])
133
139
  ]),
134
- s("div", Ze, [
140
+ s("div", Ye, [
135
141
  s("button", {
142
+ ref_key: "closeInfoToggle",
143
+ ref: l,
136
144
  class: "phila-button phila-button--primary icon-button is-extra-small",
137
145
  "aria-label": "Close Trusted Site information panel",
138
- onClick: i[2] || (i[2] = //@ts-ignore
139
- (...r) => n(a) && n(a)(...r))
146
+ onClick: b[0] || (b[0] = (u) => i(o)(!1))
140
147
  }, [
141
- h(n(w), { icon: n(Be) }, null, 8, ["icon"])
142
- ])
148
+ p(i(L), { icon: i(Ce) }, null, 8, ["icon"])
149
+ ], 512)
143
150
  ])
144
151
  ])
145
- ], 8, Ge)
152
+ ], 8, Ve)
146
153
  ], 64));
147
154
  }
148
- }), D = (t, e) => {
149
- const l = t.__vccOpts || t;
150
- for (const [a, c] of e)
151
- l[a] = c;
152
- return l;
153
- }, Pe = /* @__PURE__ */ D(Je, [["__scopeId", "data-v-3fc90bb2"]]), et = ["aria-controls", "aria-expanded", "aria-label", "onClick"], tt = { class: "icon" }, at = ["id", "hidden"], it = /* @__PURE__ */ g({
154
- __name: "NavbarBurger",
155
+ }), V = (t, e) => {
156
+ const a = t.__vccOpts || t;
157
+ for (const [o, r] of e)
158
+ a[o] = r;
159
+ return a;
160
+ }, Je = /* @__PURE__ */ V(Ze, [["__scopeId", "data-v-adf7cbee"]]), et = {
161
+ key: 0,
162
+ class: "phila-navbar-end"
163
+ }, W = "5rem", tt = /* @__PURE__ */ _({
164
+ __name: "index",
155
165
  props: {
166
+ id: {},
167
+ sticky: { type: Boolean },
168
+ navbarBrand: {},
156
169
  mobileNav: {},
157
- collapseGroup: {}
170
+ visibilityGroup: {},
171
+ search: {},
172
+ links: { default: () => [{ text: "Home", href: "#" }] }
158
173
  },
159
174
  setup(t) {
160
- return (e, l) => (o(), b(n(H), {
161
- id: "mobile-nav",
162
- group: t.collapseGroup,
163
- "outside-click-close": "",
164
- "escape-key-close": "",
165
- "blur-close": "",
166
- "open-single": ""
167
- }, {
168
- toggle: v((a) => [
169
- s("button", {
170
- class: L(["phila-navbar-burger phila-button icon-button", { "phila-navbar-item-flyout-active": a.open }]),
171
- "aria-controls": a.ariaControls,
172
- "aria-expanded": a.open,
173
- "aria-label": `${a.open ? "Close" : "Open"} mobile navigation panel`,
174
- onClick: a.onClick
175
- }, [
176
- s("span", tt, [
177
- h(n(w), {
178
- icon: a.open ? n(te) : n(Le)
179
- }, null, 8, ["icon"])
180
- ])
181
- ], 10, et)
182
- ]),
183
- default: v((a) => [
184
- s("div", {
185
- id: a.id,
186
- class: "phila-mobile-nav",
187
- hidden: !a.open
188
- }, [
189
- f(e.$slots, "mobile-nav", {}, () => [
190
- (o(), b(I(t.mobileNav)))
191
- ])
192
- ], 8, at)
193
- ]),
194
- _: 3
195
- }, 8, ["group"]));
175
+ const e = t, { visibilityState: a } = H({ group: "app-header" }), o = S("navBarElement"), r = z(W), d = z(0), l = _e(() => {
176
+ const f = (o.value?.offsetTop || 0) + (o.value?.offsetHeight || 0), g = typeof window < "u" ? window.innerWidth : 1024;
177
+ r.value = !e.sticky || g < 1024 ? f + "px" : W, d.value = f;
178
+ }, 100), $ = B(() => a.value?.appHeader);
179
+ return Y(() => $.value, l, { deep: !0, immediate: !0 }), me(() => {
180
+ window.addEventListener("resize", l);
181
+ }), J(() => {
182
+ window.removeEventListener("resize", l);
183
+ }), (f, g) => (n(), c("nav", {
184
+ ref_key: "navBarElement",
185
+ ref: o,
186
+ class: I(["phila-navbar has-links-on-primary", { "is-sticky-desktop": t.sticky }]),
187
+ "aria-label": "Main navigation",
188
+ style: ee(`--nav-height:${r.value};--nav-bottom:${d.value}px`)
189
+ }, [
190
+ v(f.$slots, "navbar-toggle", {}, void 0, !0),
191
+ v(f.$slots, "navbar-left", {}, void 0, !0),
192
+ v(f.$slots, "navbar-right", {}, void 0, !0),
193
+ f.$slots["navbar-end"] ? (n(), c("div", et, [
194
+ v(f.$slots, "navbar-end", {}, void 0, !0)
195
+ ])) : y("", !0)
196
+ ], 6));
197
+ }
198
+ }), it = /* @__PURE__ */ V(tt, [["__scopeId", "data-v-23ed37fb"]]), at = { class: "site-wide-alert content" }, st = { class: "alert-content" }, nt = { class: "content-text" }, ot = { class: "title" }, lt = { class: "body" }, rt = /* @__PURE__ */ _({
199
+ __name: "AlertBanner",
200
+ props: {
201
+ bannerTitle: {},
202
+ bannerMessage: {}
203
+ },
204
+ setup(t) {
205
+ const e = t;
206
+ return (a, o) => (n(), c("div", at, [
207
+ s("div", st, [
208
+ p(i($e), {
209
+ "icon-definition": i(Be),
210
+ size: "small",
211
+ decorative: !0
212
+ }, null, 8, ["icon-definition"]),
213
+ s("div", nt, [
214
+ s("h6", ot, w(e.bannerTitle), 1),
215
+ s("div", lt, w(e.bannerMessage), 1)
216
+ ])
217
+ ])
218
+ ]));
196
219
  }
197
- }), nt = ["href"], st = ["href", "aria-controls", "aria-expanded", "onKeypress", "onTouchend", "onClick"], ot = ["id", "hidden"], lt = {
220
+ }), ct = { class: "phila-navbar-item phila-navbar-list is-flex is-align-center is-justify-space-between content has-text-label-default hidden-tablet" }, dt = ["href"], ut = ["id", "onMouseenter", "onMouseleave"], vt = ["href", "aria-controls", "aria-expanded", "data-toggle", "onTouchend", "onClick"], ft = {
198
221
  key: 0,
199
222
  class: "content nav-flyout has-background-ghost-gray px-6 py-4",
200
223
  tabindex: "-1"
201
- }, rt = {
224
+ }, bt = {
202
225
  class: "is-flex is-flex-column is-flex-wrap-wrap",
203
226
  style: { gap: "var(--spacing-4xl)" }
204
- }, ct = ["href"], dt = /* @__PURE__ */ g({
227
+ }, pt = ["href"], ht = /* @__PURE__ */ _({
205
228
  __name: "NavbarLinks",
206
229
  props: {
207
230
  links: {},
208
- collapseGroup: {}
231
+ visibilityGroup: {}
209
232
  },
210
233
  setup(t) {
211
- const e = (a) => !!(a.subLinks || a.subNav), l = (a) => `main-nav-${a.text.split(" ").join("-").toLowerCase().replace(/[^a-z0-9-]/g, "")}`;
212
- return (a, c) => (o(!0), u(z, null, V(t.links, (d, i) => (o(), u(z, null, [
213
- e(d) ? (o(), b(n(H), {
214
- id: l(d),
215
- key: `collapse-${i}`,
216
- group: t.collapseGroup,
217
- "outside-click-close": "",
218
- "escape-key-close": "",
219
- "blur-close": "",
220
- "mouse-over-toggle": "",
221
- "open-single": "",
222
- class: "phila-navbar-link-list-item"
223
- }, {
224
- toggle: v((r) => [
234
+ const e = (g) => !!(g.subLinks || g.subNav), a = (g) => `main-nav-${g.text.split(" ").join("-").toLowerCase().replace(/[^a-z0-9-]/g, "")}`, o = t, { setVisibility: r, create: d, isVisible: l, onMouseEnter: $, onMouseLeave: f } = H({
235
+ group: o.visibilityGroup,
236
+ outsideClickHide: !0,
237
+ escapeKeyHide: !0,
238
+ mouseOverToggle: !0,
239
+ blurHide: !0,
240
+ showSingle: !0
241
+ });
242
+ return ge(() => {
243
+ o.links?.forEach((g) => {
244
+ if (e(g)) {
245
+ const b = a(g);
246
+ d(b);
247
+ }
248
+ });
249
+ }), (g, b) => (n(), c("div", ct, [
250
+ (n(!0), c(T, null, Q(t.links, (u, O) => (n(), c(T, null, [
251
+ e(u) ? (n(), c("div", {
252
+ id: `${o.visibilityGroup}-item-${a(u)}`,
253
+ key: `navbar-link-${O}`,
254
+ class: "phila-navbar-link-list-item",
255
+ onMouseenter: (x) => i($)(a(u)),
256
+ onMouseleave: (x) => i(f)(a(u))
257
+ }, [
225
258
  s("a", {
226
- href: d.href,
227
- class: L(["phila-navbar-link px-4", { "phila-navbar-item-flyout-active": r.open }]),
228
- "aria-controls": r.ariaControls,
229
- "aria-expanded": r.open,
259
+ href: u.href,
260
+ class: I(["phila-navbar-link px-4", { "phila-navbar-item-flyout-active": i(l)(a(u)) }]),
261
+ "aria-controls": a(u),
262
+ "aria-expanded": i(l)(a(u)),
263
+ "data-toggle": `visibility-${a(u)}`,
230
264
  tabindex: "0",
231
- onKeypress: me(r.onClick, ["enter"]),
232
- onTouchend: r.onClick,
233
- onClick: r.onClick
265
+ onTouchend: (x) => i(r)(!i(l)(a(u)), a(u)),
266
+ onClick: te((x) => i(r)(!i(l)(a(u)), a(u)), ["prevent"])
234
267
  }, [
235
- N(y(d.text) + " ", 1),
236
- h(n(w), {
268
+ A(w(u.text) + " ", 1),
269
+ p(i(L), {
237
270
  class: "ml-1",
238
- icon: r.open ? n(ae) : n(ie)
271
+ icon: i(l)(a(u)) ? i(le) : i(re)
239
272
  }, null, 8, ["icon"])
240
- ], 42, st)
241
- ]),
242
- default: v((r) => [
243
- (o(), u("div", {
244
- id: r.id,
245
- key: d.text,
246
- hidden: !r.open
273
+ ], 42, vt),
274
+ (n(), k(i(ae), {
275
+ id: a(u),
276
+ key: u.text,
277
+ "allow-escape": "",
278
+ hidden: !i(l)(a(u)),
279
+ onEscape: (x) => i(r)(!1, a(u))
280
+ }, {
281
+ default: m(() => [
282
+ u.subLinks ? (n(), c("div", ft, [
283
+ s("ul", bt, [
284
+ (n(!0), c(T, null, Q(u.subLinks, (x) => (n(), c("li", {
285
+ key: x.text,
286
+ class: "sub-nav-link is-flex is-align-center",
287
+ style: { width: "150px" }
288
+ }, [
289
+ s("a", {
290
+ href: x.href,
291
+ class: "has-text-link has-text-weight-medium",
292
+ tabindex: "0"
293
+ }, w(x.text), 9, pt)
294
+ ]))), 128))
295
+ ])
296
+ ])) : (n(), k(ie(u.subNav), { key: 1 }))
297
+ ]),
298
+ _: 2
299
+ }, 1032, ["id", "hidden", "onEscape"]))
300
+ ], 40, ut)) : (n(), c("div", {
301
+ key: `link-${O}`,
302
+ class: "phila-navbar-link-list-item"
303
+ }, [
304
+ s("a", {
305
+ href: u.href,
306
+ class: "phila-navbar-link px-4",
307
+ tabindex: "0"
308
+ }, w(u.text), 9, dt)
309
+ ]))
310
+ ], 64))), 256))
311
+ ]));
312
+ }
313
+ }), mt = { class: "phila-navbar-search is-flex" }, gt = { id: "navbar-search" }, yt = { class: "pr-4" }, _t = ["aria-controls", "data-toggle", "aria-expanded", "aria-label"], $t = { class: "icon" }, xt = /* @__PURE__ */ _({
314
+ __name: "NavbarSearch",
315
+ props: {
316
+ search: {},
317
+ visibilityGroup: {}
318
+ },
319
+ setup(t) {
320
+ const e = t, { setVisibility: a, isVisible: o } = H({
321
+ id: `${e.visibilityGroup}-flyout-navbar-search`,
322
+ group: e.visibilityGroup,
323
+ outsideClickHide: !0,
324
+ escapeKeyHide: !0,
325
+ blurHide: !0,
326
+ showSingle: !0
327
+ });
328
+ return (r, d) => (n(), c("div", mt, [
329
+ s("div", gt, [
330
+ s("div", yt, [
331
+ s("button", {
332
+ class: I(["phila-button phila-button--primary icon-button is-small", { "phila-navbar-item-flyout-active": i(o)() }]),
333
+ "aria-controls": `${e.visibilityGroup}-flyout-navbar-search`,
334
+ "data-toggle": `visibility-${e.visibilityGroup}-flyout-navbar-search`,
335
+ "aria-expanded": i(o)(),
336
+ "aria-label": `${i(o)() ? "Close" : "Open"} search panel`,
337
+ onClick: d[0] || (d[0] = (l) => i(a)(!i(o)()))
247
338
  }, [
248
- d.subLinks ? (o(), u("div", lt, [
249
- s("ul", rt, [
250
- (o(!0), u(z, null, V(d.subLinks, (k) => (o(), u("li", {
251
- key: k.text,
252
- class: "sub-nav-link is-flex is-align-center",
253
- style: { width: "150px" }
254
- }, [
255
- s("a", {
256
- href: k.href,
257
- class: "has-text-link has-text-weight-medium",
258
- tabindex: "0"
259
- }, y(k.text), 9, ct)
260
- ]))), 128))
261
- ])
262
- ])) : (o(), b(I(d.subNav), { key: 1 }))
263
- ], 8, ot))
339
+ s("span", $t, [
340
+ p(i(L), {
341
+ icon: i(o)() ? i(oe) : i(we)
342
+ }, null, 8, ["icon"])
343
+ ])
344
+ ], 10, _t)
345
+ ])
346
+ ]),
347
+ p(i(ae), {
348
+ id: `${e.visibilityGroup}-flyout-navbar-search`,
349
+ "allow-escape": "",
350
+ class: "nav-flyout is-12",
351
+ hidden: !i(o)(),
352
+ onEscape: d[1] || (d[1] = (l) => i(a)(!1, `${e.visibilityGroup}-flyout-navbar-search`))
353
+ }, {
354
+ default: m(() => [
355
+ v(r.$slots, "search-panel")
264
356
  ]),
265
- _: 2
266
- }, 1032, ["id", "group"])) : (o(), u("div", {
267
- key: `link-${i}`,
268
- class: "phila-navbar-link-list-item"
269
- }, [
270
- s("a", {
271
- href: d.href,
272
- class: "phila-navbar-link px-4",
273
- tabindex: "0"
274
- }, y(d.text), 9, nt)
275
- ]))
276
- ], 64))), 256));
357
+ _: 3
358
+ }, 8, ["id", "hidden"])
359
+ ]));
277
360
  }
278
- }), ut = /* @__PURE__ */ g({
361
+ }), kt = /* @__PURE__ */ _({
279
362
  __name: "NavbarBrandLogo",
280
363
  props: {
281
364
  logo: {},
@@ -284,176 +367,84 @@ const Me = "data:image/svg+xml,%3csvg%20width='16'%20height='11'%20viewBox='0%20
284
367
  altText: {}
285
368
  },
286
369
  setup(t) {
287
- const e = t, l = _(() => ({
370
+ const e = t, a = B(() => ({
288
371
  variant: "city",
289
372
  layout: "stacked",
290
373
  colorScheme: "on-primary",
291
374
  href: e.href,
292
375
  ...e.logo
293
376
  }));
294
- return (a, c) => (o(), b(n(xe), C(l.value, { class: "phila-navbar-logo" }), null, 16));
295
- }
296
- }), ft = /* @__PURE__ */ D(ut, [["__scopeId", "data-v-3011c249"]]), vt = { class: "pr-4" }, mt = ["aria-controls", "aria-expanded", "aria-label", "onClick"], pt = { class: "icon" }, bt = ["id", "hidden"], ht = /* @__PURE__ */ g({
297
- __name: "NavbarSearch",
298
- props: {
299
- search: {},
300
- collapseGroup: {}
301
- },
302
- setup(t) {
303
- return (e, l) => (o(), b(n(H), {
304
- id: "navbar-search",
305
- group: t.collapseGroup,
306
- "outside-click-close": "",
307
- "escape-key-close": "",
308
- "blur-close": "",
309
- "open-single": ""
310
- }, {
311
- toggle: v((a) => [
312
- s("div", vt, [
313
- s("button", {
314
- class: L(["phila-button phila-button--primary icon-button is-small", { "phila-navbar-item-flyout-active": a.open }]),
315
- "aria-controls": a.ariaControls,
316
- "aria-expanded": a.open,
317
- "aria-label": `${a.open ? "Close" : "Open"} search panel`,
318
- onClick: a.onClick
319
- }, [
320
- s("span", pt, [
321
- h(n(w), {
322
- icon: a.open ? n(te) : n(we)
323
- }, null, 8, ["icon"])
324
- ])
325
- ], 10, mt)
326
- ])
327
- ]),
328
- default: v((a) => [
329
- s("div", {
330
- id: a.id,
331
- class: "nav-flyout is-12",
332
- hidden: !a.open
333
- }, [
334
- f(e.$slots, "default", {}, () => [
335
- t.search && a.open ? (o(), b(I(t.search), { key: 0 })) : p("", !0)
336
- ])
337
- ], 8, bt)
338
- ]),
339
- _: 3
340
- }, 8, ["group"]));
377
+ return (o, r) => (n(), k(i(xe), C(a.value, { class: "phila-navbar-logo" }), null, 16));
341
378
  }
342
- }), yt = { class: "phila-navbar-brand" }, gt = {
379
+ }), wt = /* @__PURE__ */ V(kt, [["__scopeId", "data-v-3011c249"]]), Bt = { class: "phila-navbar-brand is-flex" }, Ct = {
343
380
  key: 0,
344
381
  class: "phila-navbar-item phila-navbar-brand-link hidden-tablet"
345
- }, kt = {
382
+ }, Nt = {
346
383
  key: 0,
347
384
  class: "content"
348
- }, _t = ["href"], xt = { class: "phila-navbar-item phila-navbar-list is-flex is-align-center is-justify-space-between content has-text-label-default hidden-tablet" }, $t = { class: "phila-navbar-search" }, wt = {
349
- key: 0,
350
- class: "phila-navbar-end"
351
- }, Q = "5rem", Ct = /* @__PURE__ */ g({
352
- __name: "index",
385
+ }, Mt = ["href"], Lt = /* @__PURE__ */ _({
386
+ __name: "NavbarBrand",
353
387
  props: {
354
- id: {},
355
- sticky: { type: Boolean },
356
- navbarBrand: {},
357
- mobileNav: {},
358
- collapseGroup: {},
359
- search: {},
360
- links: { default: () => [{ text: "Home", href: "#" }] }
388
+ brandingImage: {},
389
+ brandingLink: {},
390
+ logo: {}
361
391
  },
362
392
  setup(t) {
363
- const e = t, { state: l } = J(), a = q("navBarElement"), c = B(Q), d = B(0), i = ke(() => {
364
- const r = (a.value?.offsetTop || 0) + (a.value?.offsetHeight || 0), k = typeof window < "u" ? window.innerWidth : 1024;
365
- c.value = !e.sticky || k < 1024 ? r + "px" : Q, d.value = r;
366
- }, 100);
367
- return pe(() => l.value, i, { deep: !0, immediate: !0 }), be(() => {
368
- window.addEventListener("resize", i);
369
- }), X(() => {
370
- window.removeEventListener("resize", i);
371
- }), (r, k) => (o(), u("nav", {
372
- ref_key: "navBarElement",
373
- ref: a,
374
- class: L(["phila-navbar has-links-on-primary", { "is-sticky-desktop": t.sticky }]),
375
- "aria-label": "Main navigation",
376
- style: Y(`--nav-height:${c.value};--nav-bottom:${d.value}px`)
377
- }, [
378
- f(r.$slots, "navbar-burger", {}, () => [
379
- t.mobileNav || r.$slots["mobile-nav"] ? (o(), b(it, {
380
- key: 0,
381
- "mobile-nav": t.mobileNav,
382
- "collapse-group": t.id
383
- }, Z({ _: 2 }, [
384
- r.$slots["mobile-nav"] ? {
385
- name: "mobile-nav",
386
- fn: v(() => [
387
- f(r.$slots, "mobile-nav", {}, void 0, !0)
388
- ]),
389
- key: "0"
390
- } : void 0
391
- ]), 1032, ["mobile-nav", "collapse-group"])) : p("", !0)
392
- ], !0),
393
- s("div", yt, [
394
- f(r.$slots, "navbar-logo", {}, () => [
395
- t.navbarBrand?.brandingImage ? (o(), b(ft, C({ key: 0 }, t.navbarBrand.brandingImage, {
396
- logo: t.navbarBrand?.logo
397
- }), null, 16, ["logo"])) : p("", !0)
398
- ], !0),
399
- r.$slots["navbar-brand-link"] || t.navbarBrand?.brandingLink ? (o(), u("div", gt, [
400
- f(r.$slots, "navbar-brand-link", {}, () => [
401
- t.navbarBrand?.brandingLink ? (o(), u("div", kt, [
402
- s("a", {
403
- tabindex: "0",
404
- href: t.navbarBrand.brandingLink.href,
405
- class: "has-text-underline"
406
- }, y(t.navbarBrand.brandingLink.text), 9, _t)
407
- ])) : p("", !0)
408
- ], !0)
409
- ])) : p("", !0)
393
+ return (e, a) => (n(), c("div", Bt, [
394
+ v(e.$slots, "navbar-logo", {}, () => [
395
+ t.brandingImage ? (n(), k(wt, C({ key: 0 }, t.brandingImage, { logo: t.logo }), null, 16, ["logo"])) : y("", !0)
410
396
  ]),
411
- s("div", xt, [
412
- f(r.$slots, "navbar-links", {}, () => [
413
- t.links ? (o(), b(dt, {
414
- key: 0,
415
- links: t.links,
416
- "collapse-group": t.id
417
- }, null, 8, ["links", "collapse-group"])) : p("", !0)
418
- ], !0)
419
- ]),
420
- s("div", $t, [
421
- f(r.$slots, "navbar-search", {}, () => [
422
- t.search ? (o(), b(ht, {
423
- key: 0,
424
- search: t.search,
425
- "collapse-group": t.id
426
- }, null, 8, ["search", "collapse-group"])) : p("", !0)
427
- ], !0)
428
- ]),
429
- r.$slots["navbar-end"] ? (o(), u("div", wt, [
430
- f(r.$slots, "navbar-end", {}, void 0, !0)
431
- ])) : p("", !0)
432
- ], 6));
397
+ e.$slots["navbar-brand-link"] || t.brandingLink ? (n(), c("div", Ct, [
398
+ v(e.$slots, "navbar-brand-link", {}, () => [
399
+ t.brandingLink ? (n(), c("div", Nt, [
400
+ s("a", {
401
+ tabindex: "0",
402
+ href: t.brandingLink.href,
403
+ class: "has-text-underline"
404
+ }, w(t.brandingLink.text), 9, Mt)
405
+ ])) : y("", !0)
406
+ ])
407
+ ])) : y("", !0)
408
+ ]));
433
409
  }
434
- }), Bt = /* @__PURE__ */ D(Ct, [["__scopeId", "data-v-caf52a6d"]]), Nt = { class: "site-wide-alert content" }, zt = { class: "alert-content" }, Lt = { class: "content-text" }, At = { class: "title" }, Mt = { class: "body" }, Tt = /* @__PURE__ */ g({
435
- __name: "AlertBanner",
410
+ }), zt = { id: "mobile-nav" }, At = ["aria-controls", "aria-expanded", "aria-label"], Tt = { class: "icon" }, St = ["id", "hidden"], Et = /* @__PURE__ */ _({
411
+ __name: "NavbarBurger",
436
412
  props: {
437
- bannerTitle: {},
438
- bannerMessage: {}
413
+ mobileNav: {},
414
+ visibilityGroup: {}
439
415
  },
440
416
  setup(t) {
441
- const e = t;
442
- return (l, a) => (o(), u("div", Nt, [
443
- s("div", zt, [
444
- h(n(_e), {
445
- "icon-definition": n(Ce),
446
- size: "small",
447
- decorative: !0
448
- }, null, 8, ["icon-definition"]),
449
- s("div", Lt, [
450
- s("h6", At, y(e.bannerTitle), 1),
451
- s("div", Mt, y(e.bannerMessage), 1)
417
+ const e = t, { isVisible: a, toggleProps: o } = H({
418
+ id: "mobile-nav",
419
+ group: e.visibilityGroup,
420
+ outsideClickHide: !0,
421
+ escapeKeyHide: !0,
422
+ blurHide: !1,
423
+ showSingle: !0
424
+ }), r = B(() => a("mobile-nav"));
425
+ return (d, l) => (n(), c("div", zt, [
426
+ s("button", C({
427
+ class: ["phila-navbar-burger phila-button icon-button", { "phila-navbar-item-flyout-active": r.value }],
428
+ "aria-controls": `navbar-burger-flyout-${e.visibilityGroup}`,
429
+ "aria-expanded": r.value,
430
+ "aria-label": `${r.value ? "Close" : "Open"} mobile navigation panel`
431
+ }, i(o)), [
432
+ s("span", Tt, [
433
+ p(i(L), {
434
+ icon: r.value ? i(oe) : i(Le)
435
+ }, null, 8, ["icon"])
452
436
  ])
453
- ])
437
+ ], 16, At),
438
+ s("div", {
439
+ id: `navbar-burger-flyout-${e.visibilityGroup}`,
440
+ class: "phila-mobile-nav",
441
+ hidden: !r.value
442
+ }, [
443
+ v(d.$slots, "mobile-nav")
444
+ ], 8, St)
454
445
  ]));
455
446
  }
456
- }), ta = /* @__PURE__ */ g({
447
+ }), ii = /* @__PURE__ */ _({
457
448
  __name: "AppHeader",
458
449
  props: {
459
450
  showTrustedSite: { type: Boolean, default: !0 },
@@ -462,54 +453,84 @@ const Me = "data:image/svg+xml,%3csvg%20width='16'%20height='11'%20viewBox='0%20
462
453
  id: { default: "main-nav" },
463
454
  sticky: { type: Boolean, default: !0 },
464
455
  navbarBrand: { default: void 0 },
465
- mobileNav: { default: void 0 },
466
- collapseGroup: {},
467
- search: { default: void 0 },
456
+ mobileNav: {},
457
+ visibilityGroup: {},
458
+ search: {},
468
459
  links: { default: void 0 },
469
460
  bannerTitle: { default: void 0 },
470
461
  bannerMessage: { default: void 0 }
471
462
  },
472
463
  setup(t) {
473
- return (e, l) => (o(), u(z, null, [
474
- t.showTrustedSite ? (o(), b(Pe, { key: 0 }, {
475
- translation: v(() => [
476
- f(e.$slots, "translations", {}, () => [
477
- t.translations ? (o(), b(I(t.translations), { key: 0 })) : p("", !0)
464
+ return (e, a) => (n(), c(T, null, [
465
+ t.showTrustedSite ? (n(), k(Je, { key: 0 }, {
466
+ translation: m(() => [
467
+ v(e.$slots, "translations", {}, () => [
468
+ t.translations ? (n(), k(ie(t.translations), { key: 0 })) : y("", !0)
478
469
  ])
479
470
  ]),
480
471
  _: 3
481
- })) : p("", !0),
482
- h(Bt, {
472
+ })) : y("", !0),
473
+ p(it, {
483
474
  id: t.id,
484
- sticky: t.sticky,
485
- "mobile-nav": t.mobileNav,
486
- links: t.links,
487
- "navbar-brand": t.navbarBrand,
488
- search: t.search
489
- }, Z({ _: 2 }, [
490
- e.$slots["mobile-nav"] ? {
491
- name: "mobile-nav",
492
- fn: v(() => [
493
- f(e.$slots, "mobile-nav")
494
- ]),
495
- key: "0"
496
- } : void 0,
475
+ sticky: t.sticky
476
+ }, K({
477
+ "navbar-toggle": m(() => [
478
+ v(e.$slots, "navbar-toggle", {}, () => [
479
+ p(Et, { "visibility-group": t.id }, K({ _: 2 }, [
480
+ e.$slots["mobile-nav"] ? {
481
+ name: "mobile-nav",
482
+ fn: m(() => [
483
+ v(e.$slots, "mobile-nav")
484
+ ]),
485
+ key: "0"
486
+ } : void 0
487
+ ]), 1032, ["visibility-group"])
488
+ ])
489
+ ]),
490
+ "navbar-left": m(() => [
491
+ v(e.$slots, "navbar-left", {}, () => [
492
+ v(e.$slots, "navbar-brand", {}, () => [
493
+ t.navbarBrand ? (n(), k(Lt, E(C({ key: 0 }, t.navbarBrand)), null, 16)) : y("", !0)
494
+ ])
495
+ ])
496
+ ]),
497
+ "navbar-right": m(() => [
498
+ v(e.$slots, "navbar-right", {}, () => [
499
+ v(e.$slots, "navbar-links", {}, () => [
500
+ t.links ? (n(), k(ht, {
501
+ key: 0,
502
+ links: t.links,
503
+ "visibility-group": t.id
504
+ }, null, 8, ["links", "visibility-group"])) : y("", !0)
505
+ ]),
506
+ v(e.$slots, "navbar-search", {}, () => [
507
+ p(xt, { "visibility-group": t.id }, {
508
+ "search-panel": m(() => [
509
+ v(e.$slots, "search-panel")
510
+ ]),
511
+ _: 3
512
+ }, 8, ["visibility-group"])
513
+ ])
514
+ ])
515
+ ]),
516
+ _: 2
517
+ }, [
497
518
  e.$slots["navbar-end"] ? {
498
519
  name: "navbar-end",
499
- fn: v(() => [
500
- f(e.$slots, "navbar-end")
520
+ fn: m(() => [
521
+ v(e.$slots, "navbar-end")
501
522
  ]),
502
- key: "1"
523
+ key: "0"
503
524
  } : void 0
504
- ]), 1032, ["id", "sticky", "mobile-nav", "links", "navbar-brand", "search"]),
505
- t.bannerTitle || t.bannerMessage ? (o(), b(Tt, {
525
+ ]), 1032, ["id", "sticky"]),
526
+ t.bannerTitle || t.bannerMessage ? (n(), k(rt, {
506
527
  key: 1,
507
528
  "banner-title": t.bannerTitle,
508
529
  "banner-message": t.bannerMessage
509
- }, null, 8, ["banner-title", "banner-message"])) : p("", !0)
530
+ }, null, 8, ["banner-title", "banner-message"])) : y("", !0)
510
531
  ], 64));
511
532
  }
512
- }), St = ["disabled"], K = /* @__PURE__ */ g({
533
+ }), It = ["disabled"], q = /* @__PURE__ */ _({
513
534
  inheritAttrs: !1,
514
535
  __name: "PhlButton",
515
536
  props: {
@@ -531,24 +552,24 @@ const Me = "data:image/svg+xml,%3csvg%20width='16'%20height='11'%20viewBox='0%20
531
552
  svgRaw: {}
532
553
  },
533
554
  setup(t) {
534
- const e = t, l = (i) => "href" in i && i.href !== void 0 || "to" in i && i.to !== void 0, a = _(() => O(
555
+ const e = t, a = (l) => "href" in l && l.href !== void 0 || "to" in l && l.to !== void 0, o = B(() => R(
535
556
  "phila-button",
536
557
  `phila-button--${e.variant}`,
537
558
  e.size && `is-${e.size}`,
538
559
  e.iconOnly && "icon-button",
539
560
  e.iconOnly && e.variant === "standard" && "icon-button--standard",
540
561
  e.className
541
- )), c = _(() => l(e) ? "to" in e && e.to !== void 0 ? {
562
+ )), r = B(() => a(e) ? "to" in e && e.to !== void 0 ? {
542
563
  to: e.to,
543
564
  disabled: e.disabled,
544
- className: a.value
565
+ className: o.value
545
566
  } : {
546
567
  href: e.href,
547
568
  target: e.target,
548
569
  rel: e.rel,
549
570
  disabled: e.disabled,
550
- className: a.value
551
- } : {}), d = _(
571
+ className: o.value
572
+ } : {}), d = B(
552
573
  () => ({
553
574
  iconDefinition: e.iconDefinition,
554
575
  iconClass: e.iconClass,
@@ -559,51 +580,51 @@ const Me = "data:image/svg+xml,%3csvg%20width='16'%20height='11'%20viewBox='0%20
559
580
  size: e.size
560
581
  })
561
582
  );
562
- return (i, r) => l(e) ? (o(), b(n(P), C({ key: 0 }, { ...c.value, ...i.$attrs }, { role: "button" }), {
563
- default: v(() => [
564
- h(n(E), T(S(d.value)), {
565
- default: v(() => [
566
- f(i.$slots, "default", {}, () => [
567
- N(y(e.text), 1)
583
+ return (l, $) => a(e) ? (n(), k(i(se), C({ key: 0 }, { ...r.value, ...l.$attrs }, { role: "button" }), {
584
+ default: m(() => [
585
+ p(i(P), E(D(d.value)), {
586
+ default: m(() => [
587
+ v(l.$slots, "default", {}, () => [
588
+ A(w(e.text), 1)
568
589
  ])
569
590
  ]),
570
591
  _: 3
571
592
  }, 16)
572
593
  ]),
573
594
  _: 3
574
- }, 16)) : (o(), u("button", C({
595
+ }, 16)) : (n(), c("button", C({
575
596
  key: 1,
576
597
  type: "button",
577
598
  disabled: e.disabled,
578
- class: a.value
579
- }, i.$attrs), [
580
- h(n(E), T(S(d.value)), {
581
- default: v(() => [
582
- f(i.$slots, "default", {}, () => [
583
- N(y(e.text), 1)
599
+ class: o.value
600
+ }, l.$attrs), [
601
+ p(i(P), E(D(d.value)), {
602
+ default: m(() => [
603
+ v(l.$slots, "default", {}, () => [
604
+ A(w(e.text), 1)
584
605
  ])
585
606
  ]),
586
607
  _: 3
587
608
  }, 16)
588
- ], 16, St));
609
+ ], 16, It));
589
610
  }
590
611
  });
591
- var W = {
612
+ var X = {
592
613
  prefix: "fas",
593
614
  iconName: "xmark",
594
615
  icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"]
595
616
  };
596
- const Et = ["id"], It = {
617
+ const Ht = ["id"], Ot = {
597
618
  key: 0,
598
619
  class: "tooltip__tail",
599
620
  "aria-hidden": "true"
600
- }, Ot = {
621
+ }, Gt = {
601
622
  key: 1,
602
623
  class: "tooltip__plain-row has-text-body-small"
603
624
  }, Dt = {
604
625
  key: 0,
605
626
  class: "tooltip__title-row"
606
- }, Rt = { key: 0 }, Ht = /* @__PURE__ */ g({
627
+ }, Pt = { key: 0 }, Rt = /* @__PURE__ */ _({
607
628
  __name: "TooltipBubble",
608
629
  props: {
609
630
  id: {},
@@ -617,8 +638,8 @@ const Et = ["id"], It = {
617
638
  },
618
639
  emits: ["dismiss"],
619
640
  setup(t) {
620
- const e = t, l = _(
621
- () => O(
641
+ const e = t, a = B(
642
+ () => R(
622
643
  "tooltip",
623
644
  "content",
624
645
  "resets-link-colors",
@@ -628,48 +649,48 @@ const Et = ["id"], It = {
628
649
  e.className
629
650
  )
630
651
  );
631
- return (a, c) => (o(), u("div", {
652
+ return (o, r) => (n(), c("div", {
632
653
  id: t.id,
633
- class: L(l.value),
654
+ class: I(a.value),
634
655
  role: "tooltip"
635
656
  }, [
636
- t.tail ? (o(), u("div", It)) : p("", !0),
637
- t.type === "plain" ? (o(), u("div", Ot, [
638
- f(a.$slots, "default", {}, void 0, !0),
639
- t.dismissable ? (o(), b(n(K), {
657
+ t.tail ? (n(), c("div", Ot)) : y("", !0),
658
+ t.type === "plain" ? (n(), c("div", Gt, [
659
+ v(o.$slots, "default", {}, void 0, !0),
660
+ t.dismissable ? (n(), k(i(q), {
640
661
  key: 0,
641
662
  class: "tooltip__dismiss",
642
663
  variant: "standard",
643
664
  size: "extra-small",
644
665
  "icon-only": !0,
645
- "icon-definition": n(W),
666
+ "icon-definition": i(X),
646
667
  "aria-label": "Dismiss tooltip",
647
- onClick: c[0] || (c[0] = (d) => a.$emit("dismiss"))
648
- }, null, 8, ["icon-definition"])) : p("", !0)
649
- ])) : (o(), u(z, { key: 2 }, [
650
- t.title || t.dismissable ? (o(), u("div", Dt, [
651
- t.title ? (o(), u("h6", Rt, y(t.title), 1)) : p("", !0),
652
- t.dismissable ? (o(), b(n(K), {
668
+ onClick: r[0] || (r[0] = (d) => o.$emit("dismiss"))
669
+ }, null, 8, ["icon-definition"])) : y("", !0)
670
+ ])) : (n(), c(T, { key: 2 }, [
671
+ t.title || t.dismissable ? (n(), c("div", Dt, [
672
+ t.title ? (n(), c("h6", Pt, w(t.title), 1)) : y("", !0),
673
+ t.dismissable ? (n(), k(i(q), {
653
674
  key: 1,
654
675
  class: "tooltip__dismiss",
655
676
  variant: "standard",
656
677
  size: "extra-small",
657
678
  "icon-only": !0,
658
- "icon-definition": n(W),
679
+ "icon-definition": i(X),
659
680
  "aria-label": "Dismiss tooltip",
660
- onClick: c[1] || (c[1] = (d) => a.$emit("dismiss"))
661
- }, null, 8, ["icon-definition"])) : p("", !0)
662
- ])) : p("", !0),
663
- f(a.$slots, "default", {}, void 0, !0)
681
+ onClick: r[1] || (r[1] = (d) => o.$emit("dismiss"))
682
+ }, null, 8, ["icon-definition"])) : y("", !0)
683
+ ])) : y("", !0),
684
+ v(o.$slots, "default", {}, void 0, !0)
664
685
  ], 64))
665
- ], 10, Et));
686
+ ], 10, Ht));
666
687
  }
667
- }), se = (t, e) => {
668
- const l = t.__vccOpts || t;
669
- for (const [a, c] of e)
670
- l[a] = c;
671
- return l;
672
- }, Ut = /* @__PURE__ */ se(Ht, [["__scopeId", "data-v-7ccd7c7d"]]), jt = /* @__PURE__ */ g({
688
+ }), de = (t, e) => {
689
+ const a = t.__vccOpts || t;
690
+ for (const [o, r] of e)
691
+ a[o] = r;
692
+ return a;
693
+ }, Vt = /* @__PURE__ */ de(Rt, [["__scopeId", "data-v-7ccd7c7d"]]), Ut = /* @__PURE__ */ _({
673
694
  __name: "Tooltip",
674
695
  props: {
675
696
  trigger: { default: "hover" },
@@ -682,75 +703,75 @@ const Et = ["id"], It = {
682
703
  className: {}
683
704
  },
684
705
  setup(t, { expose: e }) {
685
- const l = t, a = he(), c = B(!1), d = B(null), i = B(null), r = B("top-center"), k = B(0), oe = () => {
686
- const m = d.value?.getBoundingClientRect();
687
- if (!m) return "top-center";
688
- const { innerWidth: $, innerHeight: R } = window, M = m.top, de = R - m.bottom, G = i.value?.firstElementChild?.getBoundingClientRect().height ?? 0, ue = (G > 0 ? M >= G : M >= de) ? "top" : "bottom", F = m.left + m.width / 2, fe = F < $ / 3 ? "left" : F > $ * 2 / 3 ? "right" : "center";
689
- return `${ue}-${fe}`;
690
- }, U = (m) => {
691
- m.key === "Escape" && x();
692
- }, j = (m) => {
693
- d.value && !d.value.contains(m.target) && x();
706
+ const a = t, o = ye(), r = z(!1), d = z(null), l = z(null), $ = z("top-center"), f = z(0), g = () => {
707
+ const h = d.value?.getBoundingClientRect();
708
+ if (!h) return "top-center";
709
+ const { innerWidth: M, innerHeight: U } = window, G = h.top, fe = U - h.bottom, j = l.value?.firstElementChild?.getBoundingClientRect().height ?? 0, be = (j > 0 ? G >= j : G >= fe) ? "top" : "bottom", F = h.left + h.width / 2, pe = F < M / 3 ? "left" : F > M * 2 / 3 ? "right" : "center";
710
+ return `${be}-${pe}`;
711
+ }, b = (h) => {
712
+ h.key === "Escape" && N();
713
+ }, u = (h) => {
714
+ d.value && !d.value.contains(h.target) && N();
694
715
  };
695
- function le() {
696
- const m = i.value?.firstElementChild?.getBoundingClientRect();
697
- if (!m) return;
698
- const $ = 8, R = m.right - (window.innerWidth - $), M = $ - m.left;
699
- R <= 0 && M <= 0 || (k.value = window.innerWidth / 2 - (m.left + m.width / 2));
716
+ function O() {
717
+ const h = l.value?.firstElementChild?.getBoundingClientRect();
718
+ if (!h) return;
719
+ const M = 8, U = h.right - (window.innerWidth - M), G = M - h.left;
720
+ U <= 0 && G <= 0 || (f.value = window.innerWidth / 2 - (h.left + h.width / 2));
700
721
  }
701
- const A = async () => {
702
- l.placement === "auto" ? r.value = oe() : r.value = l.placement, k.value = 0, c.value = !0, document.addEventListener("keydown", U), l.trigger === "click" && document.addEventListener("click", j), await ge(), le();
703
- }, x = () => {
704
- c.value = !1, document.removeEventListener("keydown", U), document.removeEventListener("click", j);
705
- }, re = () => {
706
- c.value ? x() : A();
722
+ const x = async () => {
723
+ a.placement === "auto" ? $.value = g() : $.value = a.placement, f.value = 0, r.value = !0, document.addEventListener("keydown", b), a.trigger === "click" && document.addEventListener("click", u), await Z(), O();
724
+ }, N = () => {
725
+ r.value = !1, document.removeEventListener("keydown", b), document.removeEventListener("click", u);
726
+ }, ue = () => {
727
+ r.value ? N() : x();
707
728
  };
708
- X(x), e({ show: A, hide: x });
709
- const ce = _(() => ({
710
- type: l.type,
711
- color: l.color,
712
- tail: l.tail,
713
- placement: r.value,
714
- title: l.title,
715
- dismissable: l.dismissable
729
+ J(N), e({ show: x, hide: N });
730
+ const ve = B(() => ({
731
+ type: a.type,
732
+ color: a.color,
733
+ tail: a.tail,
734
+ placement: $.value,
735
+ title: a.title,
736
+ dismissable: a.dismissable
716
737
  }));
717
- return (m, $) => (o(), u("span", C(
738
+ return (h, M) => (n(), c("span", C(
718
739
  {
719
740
  ref_key: "wrapperEl",
720
741
  ref: d,
721
- class: n(O)("tooltip-trigger", l.className)
742
+ class: i(R)("tooltip-trigger", a.className)
722
743
  },
723
- t.trigger === "click" ? { onClick: re } : { onMouseenter: A, onMouseleave: x, onFocusin: A, onFocusout: x }
744
+ t.trigger === "click" ? { onClick: ue } : { onMouseenter: x, onMouseleave: N, onFocusin: x, onFocusout: N }
724
745
  ), [
725
- f(m.$slots, "default", {
726
- tooltipId: n(a),
727
- isOpen: c.value
746
+ v(h.$slots, "default", {
747
+ tooltipId: i(o),
748
+ isOpen: r.value
728
749
  }, void 0, !0),
729
750
  s("span", {
730
751
  ref_key: "positionerEl",
731
- ref: i,
732
- class: L(["tooltip-trigger__positioner", `tooltip-trigger__positioner--${r.value}`]),
733
- style: Y({
734
- visibility: c.value ? "visible" : "hidden",
752
+ ref: l,
753
+ class: I(["tooltip-trigger__positioner", `tooltip-trigger__positioner--${$.value}`]),
754
+ style: ee({
755
+ visibility: r.value ? "visible" : "hidden",
735
756
  "--positioner-gap": t.tail ? "var(--spacing-l)" : "0.5rem",
736
- "--adjust-x": `${k.value}px`
757
+ "--adjust-x": `${f.value}px`
737
758
  }),
738
- onClick: $[0] || ($[0] = ye(() => {
759
+ onClick: M[0] || (M[0] = te(() => {
739
760
  }, ["stop"]))
740
761
  }, [
741
- h(Ut, C(ce.value, {
742
- id: n(a),
743
- onDismiss: x
762
+ p(Vt, C(ve.value, {
763
+ id: i(o),
764
+ onDismiss: N
744
765
  }), {
745
- default: v(() => [
746
- f(m.$slots, "body", {}, void 0, !0)
766
+ default: m(() => [
767
+ v(h.$slots, "body", {}, void 0, !0)
747
768
  ]),
748
769
  _: 3
749
770
  }, 16, ["id"])
750
771
  ], 6)
751
772
  ], 16));
752
773
  }
753
- }), Gt = /* @__PURE__ */ se(jt, [["__scopeId", "data-v-b3f93b8c"]]), Ft = ["disabled"], Vt = /* @__PURE__ */ g({
774
+ }), jt = /* @__PURE__ */ de(Ut, [["__scopeId", "data-v-b3f93b8c"]]), Ft = ["disabled"], Qt = /* @__PURE__ */ _({
754
775
  inheritAttrs: !1,
755
776
  __name: "PhlButton",
756
777
  props: {
@@ -772,24 +793,24 @@ const Et = ["id"], It = {
772
793
  svgRaw: {}
773
794
  },
774
795
  setup(t) {
775
- const e = t, l = (i) => "href" in i && i.href !== void 0 || "to" in i && i.to !== void 0, a = _(() => O(
796
+ const e = t, a = (l) => "href" in l && l.href !== void 0 || "to" in l && l.to !== void 0, o = B(() => R(
776
797
  "phila-button",
777
798
  `phila-button--${e.variant}`,
778
799
  e.size && `is-${e.size}`,
779
800
  e.iconOnly && "icon-button",
780
801
  e.iconOnly && e.variant === "standard" && "icon-button--standard",
781
802
  e.className
782
- )), c = _(() => l(e) ? "to" in e && e.to !== void 0 ? {
803
+ )), r = B(() => a(e) ? "to" in e && e.to !== void 0 ? {
783
804
  to: e.to,
784
805
  disabled: e.disabled,
785
- className: a.value
806
+ className: o.value
786
807
  } : {
787
808
  href: e.href,
788
809
  target: e.target,
789
810
  rel: e.rel,
790
811
  disabled: e.disabled,
791
- className: a.value
792
- } : {}), d = _(
812
+ className: o.value
813
+ } : {}), d = B(
793
814
  () => ({
794
815
  iconDefinition: e.iconDefinition,
795
816
  iconClass: e.iconClass,
@@ -800,39 +821,39 @@ const Et = ["id"], It = {
800
821
  size: e.size
801
822
  })
802
823
  );
803
- return (i, r) => l(e) ? (o(), b(n(P), C({ key: 0 }, { ...c.value, ...i.$attrs }, { role: "button" }), {
804
- default: v(() => [
805
- h(n(E), T(S(d.value)), {
806
- default: v(() => [
807
- f(i.$slots, "default", {}, () => [
808
- N(y(e.text), 1)
824
+ return (l, $) => a(e) ? (n(), k(i(se), C({ key: 0 }, { ...r.value, ...l.$attrs }, { role: "button" }), {
825
+ default: m(() => [
826
+ p(i(P), E(D(d.value)), {
827
+ default: m(() => [
828
+ v(l.$slots, "default", {}, () => [
829
+ A(w(e.text), 1)
809
830
  ])
810
831
  ]),
811
832
  _: 3
812
833
  }, 16)
813
834
  ]),
814
835
  _: 3
815
- }, 16)) : (o(), u("button", C({
836
+ }, 16)) : (n(), c("button", C({
816
837
  key: 1,
817
838
  type: "button",
818
839
  disabled: e.disabled,
819
- class: a.value
820
- }, i.$attrs), [
821
- h(n(E), T(S(d.value)), {
822
- default: v(() => [
823
- f(i.$slots, "default", {}, () => [
824
- N(y(e.text), 1)
840
+ class: o.value
841
+ }, l.$attrs), [
842
+ p(i(P), E(D(d.value)), {
843
+ default: m(() => [
844
+ v(l.$slots, "default", {}, () => [
845
+ A(w(e.text), 1)
825
846
  ])
826
847
  ]),
827
848
  _: 3
828
849
  }, 16)
829
850
  ], 16, Ft));
830
851
  }
831
- }), Qt = { class: "navbar-info" }, Kt = { class: "navbar-info__group" }, Wt = {
852
+ }), Kt = { class: "navbar-info" }, Wt = { class: "navbar-info__group" }, qt = {
832
853
  key: 0,
833
854
  class: "navbar-info__label has-text-body-default hidden-tablet",
834
855
  "aria-hidden": "true"
835
- }, qt = { class: "has-text-body-small" }, Xt = /* @__PURE__ */ g({
856
+ }, Xt = { class: "has-text-body-small" }, Yt = /* @__PURE__ */ _({
836
857
  __name: "NavbarInfo",
837
858
  props: {
838
859
  infoTitle: {},
@@ -840,45 +861,53 @@ const Et = ["id"], It = {
840
861
  label: {}
841
862
  },
842
863
  setup(t, { expose: e }) {
843
- const l = q("tooltip");
864
+ const a = S("tooltip");
844
865
  return e({
845
- show: () => l.value?.show(),
846
- hide: () => l.value?.hide()
847
- }), (a, c) => (o(), u("div", Qt, [
848
- h(n(Gt), {
866
+ show: () => a.value?.show(),
867
+ hide: () => a.value?.hide()
868
+ }), (o, r) => (n(), c("div", Kt, [
869
+ p(i(jt), {
849
870
  ref_key: "tooltip",
850
- ref: l,
871
+ ref: a,
851
872
  type: "rich",
852
873
  title: t.infoTitle,
853
874
  trigger: "click",
854
875
  dismissable: !0
855
876
  }, {
856
- default: v(({ tooltipId: d, isOpen: i }) => [
857
- s("span", Kt, [
858
- h(n(Vt), {
877
+ default: m(({ tooltipId: d, isOpen: l }) => [
878
+ s("span", Wt, [
879
+ p(i(Qt), {
859
880
  class: "navbar-info__trigger",
860
881
  variant: "standard",
861
882
  size: "small",
862
883
  "icon-only": !0,
863
- "icon-definition": n(ne),
884
+ "icon-definition": i(ce),
864
885
  "aria-label": "More information",
865
886
  "aria-describedby": d,
866
- "aria-pressed": i
887
+ "aria-pressed": l
867
888
  }, null, 8, ["icon-definition", "aria-describedby", "aria-pressed"]),
868
- t.label ? (o(), u("span", Wt, y(t.label), 1)) : p("", !0)
889
+ t.label ? (n(), c("span", qt, w(t.label), 1)) : y("", !0)
869
890
  ])
870
891
  ]),
871
- body: v(() => [
872
- f(a.$slots, "default", {}, () => [
873
- s("div", qt, y(t.infoMessage), 1)
892
+ body: m(() => [
893
+ v(o.$slots, "default", {}, () => [
894
+ s("div", Xt, w(t.infoMessage), 1)
874
895
  ], !0)
875
896
  ]),
876
897
  _: 3
877
898
  }, 8, ["title"])
878
899
  ]));
879
900
  }
880
- }), aa = /* @__PURE__ */ D(Xt, [["__scopeId", "data-v-c3989251"]]);
901
+ }), ai = /* @__PURE__ */ V(Yt, [["__scopeId", "data-v-c3989251"]]);
881
902
  export {
882
- ta as AppHeader,
883
- aa as NavbarInfo
903
+ rt as AlertBanner,
904
+ ii as AppHeader,
905
+ it as NavBar,
906
+ Lt as NavbarBrand,
907
+ wt as NavbarBrandLogo,
908
+ Et as NavbarBurger,
909
+ ai as NavbarInfo,
910
+ ht as NavbarLinks,
911
+ xt as NavbarSearch,
912
+ Je as TrustedSite
884
913
  };