@phila/phila-ui-app-footer 0.0.31 → 1.0.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.
- package/README.md +126 -21
- package/dist/AppFooter.vue.d.ts +20 -1
- package/dist/AppFooter.vue.d.ts.map +1 -1
- package/dist/DefaultContent/FirstNavSlotContent.vue.d.ts +3 -0
- package/dist/DefaultContent/FirstNavSlotContent.vue.d.ts.map +1 -0
- package/dist/DefaultContent/SecondNavSlotContent.vue.d.ts +3 -0
- package/dist/DefaultContent/SecondNavSlotContent.vue.d.ts.map +1 -0
- package/dist/DefaultContent/ThirdNavSlotContent.vue.d.ts +3 -0
- package/dist/DefaultContent/ThirdNavSlotContent.vue.d.ts.map +1 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +191 -15
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -1,48 +1,140 @@
|
|
|
1
|
-
# AppFooter Component
|
|
1
|
+
# Phila AppFooter Component
|
|
2
2
|
|
|
3
|
-
A
|
|
4
|
-
A footer vue component for site info and related links.
|
|
3
|
+
A Vue component for displaying site footer information with navigation links, social media icons, and legal links.
|
|
5
4
|
|
|
6
5
|
## Features
|
|
7
6
|
|
|
7
|
+
- 🎨 Three customizable navigation sections with default content
|
|
8
|
+
- 📱 Responsive design with mobile breakpoint
|
|
9
|
+
- 🔗 Social media icons with FontAwesome integration
|
|
8
10
|
- 🎯 TypeScript support with full type definitions
|
|
11
|
+
- ♿ Accessibility features: semantic HTML, proper link structure
|
|
12
|
+
- 🔄 Flexible slots for custom content
|
|
9
13
|
|
|
10
14
|
## Installation
|
|
11
15
|
|
|
12
16
|
```bash
|
|
13
17
|
npm install @phila/phila-ui-app-footer
|
|
14
18
|
# or
|
|
15
|
-
yarn add @phila/phila-ui-app-footer
|
|
16
|
-
# or
|
|
17
19
|
pnpm add @phila/phila-ui-app-footer
|
|
18
20
|
```
|
|
19
21
|
|
|
22
|
+
Import core styles in your main entry file (e.g., `main.js|ts`):
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import "@phila/core/styles/template-light.css";
|
|
26
|
+
```
|
|
27
|
+
|
|
20
28
|
## Usage
|
|
21
29
|
|
|
30
|
+
### Basic Usage
|
|
31
|
+
|
|
32
|
+
Use the `AppFooter` component with default content:
|
|
33
|
+
|
|
34
|
+
```vue
|
|
35
|
+
<template>
|
|
36
|
+
<AppFooter />
|
|
37
|
+
</template>
|
|
38
|
+
|
|
39
|
+
<script setup lang="ts">
|
|
40
|
+
import { AppFooter } from "@phila/phila-ui-app-footer";
|
|
41
|
+
</script>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Custom Content with Slots
|
|
45
|
+
|
|
46
|
+
Customize any section using named slots:
|
|
47
|
+
|
|
22
48
|
```vue
|
|
49
|
+
<template>
|
|
50
|
+
<AppFooter>
|
|
51
|
+
<template #firstNavSlot>
|
|
52
|
+
<div>
|
|
53
|
+
<h4>Custom Section</h4>
|
|
54
|
+
<ul>
|
|
55
|
+
<li><a href="/about">About Us</a></li>
|
|
56
|
+
<li><a href="/contact">Contact</a></li>
|
|
57
|
+
</ul>
|
|
58
|
+
</div>
|
|
59
|
+
</template>
|
|
60
|
+
|
|
61
|
+
<template #secondNavSlot>
|
|
62
|
+
<div>
|
|
63
|
+
<h4>Resources</h4>
|
|
64
|
+
<ul>
|
|
65
|
+
<li><a href="/docs">Documentation</a></li>
|
|
66
|
+
<li><a href="/help">Help Center</a></li>
|
|
67
|
+
</ul>
|
|
68
|
+
</div>
|
|
69
|
+
</template>
|
|
70
|
+
|
|
71
|
+
<template #thirdNavSlot>
|
|
72
|
+
<div>
|
|
73
|
+
<h4>Connect</h4>
|
|
74
|
+
<!-- Custom social media links -->
|
|
75
|
+
</div>
|
|
76
|
+
</template>
|
|
77
|
+
</AppFooter>
|
|
78
|
+
</template>
|
|
79
|
+
|
|
80
|
+
<script setup lang="ts">
|
|
81
|
+
import { AppFooter } from "@phila/phila-ui-app-footer";
|
|
82
|
+
</script>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Sub-Footer Only
|
|
86
|
+
|
|
87
|
+
Display only the legal links section:
|
|
88
|
+
|
|
89
|
+
```vue
|
|
90
|
+
<template>
|
|
91
|
+
<AppFooter :subFooterOnly="true" />
|
|
92
|
+
</template>
|
|
93
|
+
|
|
23
94
|
<script setup lang="ts">
|
|
24
95
|
import { AppFooter } from "@phila/phila-ui-app-footer";
|
|
25
96
|
</script>
|
|
26
|
-
<template>...Add basic component template here...</template>
|
|
27
97
|
```
|
|
28
98
|
|
|
29
99
|
## Props
|
|
30
100
|
|
|
31
|
-
| Prop
|
|
32
|
-
|
|
|
101
|
+
| Prop | Type | Default | Description |
|
|
102
|
+
| --------------- | ------- | ------- | -------------------------------------------------------- |
|
|
103
|
+
| `subFooterOnly` | boolean | `false` | When true, only displays the sub-footer with legal links |
|
|
104
|
+
| `className` | string | `""` | Additional CSS classes to apply to the footer |
|
|
33
105
|
|
|
34
|
-
|
|
106
|
+
## Slots
|
|
35
107
|
|
|
36
|
-
|
|
108
|
+
| Slot Name | Description |
|
|
109
|
+
| --------------- | ------------------------------------------------------- |
|
|
110
|
+
| `firstNavSlot` | First navigation section (default: City services links) |
|
|
111
|
+
| `secondNavSlot` | Second navigation section (default: Government links) |
|
|
112
|
+
| `thirdNavSlot` | Third navigation section (default: Social media icons) |
|
|
37
113
|
|
|
38
|
-
|
|
39
|
-
| ----- | ------- | ----------- |
|
|
114
|
+
## Default Content
|
|
40
115
|
|
|
41
|
-
|
|
116
|
+
The component includes default content for all three navigation sections:
|
|
42
117
|
|
|
43
|
-
|
|
118
|
+
- **First Section**: Links to SEPTA and Visit Philadelphia
|
|
119
|
+
- **Second Section**: Government and city service links
|
|
120
|
+
- **Third Section**: Social media icons (Facebook, Twitter, Instagram, GovTV, YouTube, Flickr, GitHub, LinkedIn)
|
|
44
121
|
|
|
45
|
-
|
|
122
|
+
The sub-footer always displays links to Terms of Use, Right to Know, Privacy Policy, and Accessibility.
|
|
123
|
+
|
|
124
|
+
## Responsive Behavior
|
|
125
|
+
|
|
126
|
+
- **Desktop (>X)**: Three columns displayed horizontally with vertical dividers
|
|
127
|
+
- **Mobile (<X))**: Stacked layout with horizontal dividers between sections
|
|
128
|
+
|
|
129
|
+
## FontAwesome Icons
|
|
130
|
+
|
|
131
|
+
The footer uses FontAwesome icons for social media links. The component requires:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
pnpm add @fortawesome/vue-fontawesome @fortawesome/free-brands-svg-icons
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
These are listed as peer dependencies and should be installed in your application.
|
|
46
138
|
|
|
47
139
|
## Development
|
|
48
140
|
|
|
@@ -52,24 +144,37 @@ import { AppFooter } from "@phila/phila-ui-app-footer";
|
|
|
52
144
|
pnpm install
|
|
53
145
|
```
|
|
54
146
|
|
|
55
|
-
### Run
|
|
147
|
+
### Run Storybook demo
|
|
56
148
|
|
|
57
149
|
```bash
|
|
58
|
-
|
|
150
|
+
npm run storybook
|
|
59
151
|
```
|
|
60
152
|
|
|
61
|
-
###
|
|
153
|
+
### Run lint
|
|
62
154
|
|
|
63
155
|
```bash
|
|
64
|
-
|
|
156
|
+
npm run lint
|
|
65
157
|
```
|
|
66
158
|
|
|
67
|
-
###
|
|
159
|
+
### Create Production Build
|
|
68
160
|
|
|
69
161
|
```bash
|
|
70
|
-
|
|
162
|
+
npm run build
|
|
71
163
|
```
|
|
72
164
|
|
|
165
|
+
## Test locally in your development environment
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
npm pack
|
|
169
|
+
cp ./dist/*.tgz ~/path/to/your/local/npm/repo
|
|
170
|
+
cd ~/path/to/your/local/npm/repo
|
|
171
|
+
npm install *.tgz
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Publishing to NPM
|
|
175
|
+
|
|
176
|
+
Follow the [release instructions](../../RELEASE.md) using changesets.
|
|
177
|
+
|
|
73
178
|
## License
|
|
74
179
|
|
|
75
180
|
MIT
|
package/dist/AppFooter.vue.d.ts
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { AppFooterProps } from './index';
|
|
2
|
-
declare
|
|
2
|
+
declare function __VLS_template(): {
|
|
3
|
+
attrs: Partial<{}>;
|
|
4
|
+
slots: {
|
|
5
|
+
firstNavSlot?(_: {}): any;
|
|
6
|
+
secondNavSlot?(_: {}): any;
|
|
7
|
+
thirdNavSlot?(_: {}): any;
|
|
8
|
+
};
|
|
9
|
+
refs: {};
|
|
10
|
+
rootEl: HTMLElement;
|
|
11
|
+
};
|
|
12
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
13
|
+
declare const __VLS_component: import('vue').DefineComponent<AppFooterProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<AppFooterProps> & Readonly<{}>, {
|
|
14
|
+
subFooterOnly: boolean;
|
|
15
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
|
|
16
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
3
17
|
export default _default;
|
|
18
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
19
|
+
new (): {
|
|
20
|
+
$slots: S;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
4
23
|
//# sourceMappingURL=AppFooter.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppFooter.vue.d.ts","sourceRoot":"","sources":["../src/AppFooter.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AppFooter.vue.d.ts","sourceRoot":"","sources":["../src/AppFooter.vue"],"names":[],"mappings":"AAyHA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAmB9C,iBAAS,cAAc;WAqGT,OAAO,IAA6B;;8BAZhB,GAAG;+BACF,GAAG;8BACH,GAAG;;;;EAerC;AAaD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;qFAQnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=FirstNavSlotContent.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FirstNavSlotContent.vue.d.ts","sourceRoot":"","sources":["../../src/DefaultContent/FirstNavSlotContent.vue"],"names":[],"mappings":"AAiBA;;AAyGA,wBAMG"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=SecondNavSlotContent.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecondNavSlotContent.vue.d.ts","sourceRoot":"","sources":["../../src/DefaultContent/SecondNavSlotContent.vue"],"names":[],"mappings":"AA2BA;;AAmHA,wBAMG"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=ThirdNavSlotContent.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThirdNavSlotContent.vue.d.ts","sourceRoot":"","sources":["../../src/DefaultContent/ThirdNavSlotContent.vue"],"names":[],"mappings":";AAuUA,wBAMG"}
|
package/dist/index.css
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.phila-footer-icon-list[data-v-7e4a39f7]{display:flex;flex-wrap:wrap;gap:.5rem}.phila-footer-icon-list li a[data-v-7e4a39f7]{display:flex;align-items:center;justify-content:center}.phila-footer[data-v-14406884],.phila-footer [data-v-14406884] a{color:var(--Schemes-On-Primary-Container)}.phila-footer [data-v-14406884] ul{list-style:none;padding:0}.phila-footer [data-v-14406884] li{margin-bottom:var(--scale-small)}.phila-main-footer[data-v-14406884]{display:flex;justify-content:center;padding:var(--spacing-3xl);background-color:var(--Schemes-Primary-Container)}.phila-main-footer-content[data-v-14406884]{display:flex;max-width:60rem;gap:var(--spacing-3xl)}.phila-main-footer-slot[data-v-14406884]{display:flex;min-width:6.25rem;flex:1 0 0}[data-v-14406884]:root{--phila-main-footer-divider-size: .0625rem}.phila-main-footer-divider[data-v-14406884]{width:var(--phila-main-footer-divider-size);background-color:var(--Schemes-On-Primary-Container)}@media (max-width: 40rem){.phila-main-footer-content[data-v-14406884]{flex-direction:column}.phila-footer-divider[data-v-14406884]{height:var(--phila-footer-divider-size);width:100%}}.phila-sub-footer[data-v-14406884]{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--scale-small);padding:var(--spacing-l);background-color:var(--Schemes-On-Surface)}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,cAAe,SAAQ,SAAS;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const e=require("vue"),n=require("@phila/phila-ui-core"),a=e.defineComponent({__name:"AppFooter",props:{className:{}},setup(o,{emit:c}){const t=o,s=e.computed(()=>n.cn("default-class",t.className));return(r,u)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(s.value)}," Hello world! I am AppFooter ",2))}}),p=(o,c)=>{const t=o.__vccOpts||o;for(const[s,r]of c)t[s]=r;return t},l=p(a,[["__scopeId","data-v-f636e62c"]]);exports.AppFooter=l;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./index.css');const e=require("vue"),c=require("@phila/phila-ui-core"),n=require("@fortawesome/vue-fontawesome"),r=e.defineComponent({__name:"FirstNavSlotContent",setup(a){return(l,t)=>(e.openBlock(),e.createElementBlock("div",null,t[0]||(t[0]=[e.createStaticVNode('<h4>Elected officials</h4><nav><ul><li><a href="https://www.phila.gov/departments/mayor/">Mayor</a></li><li><a href="http://phlcouncil.com/">City Council</a></li><li><a href="http://www.courts.phila.gov/">Courts</a></li><li><a href="https://phillyda.org/">District Attorney</a></li><li><a href="https://controller.phila.gov/">City Controller</a></li><li><a href="https://phillysheriff.com/">Sheriff</a></li><li><a href="https://vote.phila.gov/">City Commissioners</a></li><li><a href="https://www.phila.gov/departments/register-of-wills/">Register of Wills</a></li></ul></nav>',2)])))}}),d=e.defineComponent({__name:"SecondNavSlotContent",setup(a){return(l,t)=>(e.openBlock(),e.createElementBlock("div",null,t[0]||(t[0]=[e.createStaticVNode('<h4>Open government</h4><nav><ul><li><a href="https://codelibrary.amlegal.com/codes/philadelphia/latest/overview">Philadelphia Code & Charter</a></li><li><a href="https://www.phila.gov/departments/department-of-records/">City records</a></li><li><a href="https://www.phila.gov/departments/department-of-records/proposed-regulations/#/">City agency regulations</a></li><li><a href="https://www.phila.gov/departments/mayor/executive-orders/">Executive orders</a></li><li><a href="https://www.phila.gov/programs/integrity-works/">Honesty in government</a></li><li><a href="https://vote.phila.gov/">Voting & elections</a></li><li><a href="https://www.phila.gov/programs/open-data-program/">Open data</a></li><li><a href="https://www.phila.gov/documents/city-of-philadelphia-organization-chart/">City organization chart</a></li></ul></nav>',2)])))}});var p={prefix:"fab",iconName:"facebook-f",icon:[320,512,[],"f39e","M80 299.3l0 212.7 116 0 0-212.7 86.5 0 18-97.8-104.5 0 0-34.6c0-51.7 20.3-71.5 72.7-71.5 16.3 0 29.4 .4 37 1.2l0-88.7C291.4 4 256.4 0 236.2 0 129.3 0 80 50.5 80 159.4l0 42.1-66 0 0 97.8 66 0z"]},h={prefix:"fab",iconName:"youtube",icon:[576,512,[61802],"f167","M549.7 124.1C543.5 100.4 524.9 81.8 501.4 75.5 458.9 64 288.1 64 288.1 64S117.3 64 74.7 75.5C51.2 81.8 32.7 100.4 26.4 124.1 15 167 15 256.4 15 256.4s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8 42.6 11.5 213.4 11.5 213.4 11.5s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zM232.2 337.6l0-162.4 142.7 81.2-142.7 81.2z"]},m={prefix:"fab",iconName:"github",icon:[512,512,[],"f09b","M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM252.8 8c-138.7 0-244.8 105.3-244.8 244 0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1 100-33.2 167.8-128.1 167.8-239 0-138.7-112.5-244-251.2-244zM105.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"]},u={prefix:"fab",iconName:"flickr",icon:[448,512,[],"f16e","M400 32L48 32C21.5 32 0 53.5 0 80L0 432c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48zM144.5 192a63.5 63.5 0 1 1 0 127 63.5 63.5 0 1 1 0-127zm159 0a63.5 63.5 0 1 1 0 127 63.5 63.5 0 1 1 0-127z"]},f={prefix:"fab",iconName:"instagram",icon:[448,512,[],"f16d","M224.3 141a115 115 0 1 0 -.6 230 115 115 0 1 0 .6-230zm-.6 40.4a74.6 74.6 0 1 1 .6 149.2 74.6 74.6 0 1 1 -.6-149.2zm93.4-45.1a26.8 26.8 0 1 1 53.6 0 26.8 26.8 0 1 1 -53.6 0zm129.7 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM399 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"]},v={prefix:"fab",iconName:"x-twitter",icon:[448,512,[],"e61b","M357.2 48L427.8 48 273.6 224.2 455 464 313 464 201.7 318.6 74.5 464 3.8 464 168.7 275.5-5.2 48 140.4 48 240.9 180.9 357.2 48zM332.4 421.8l39.1 0-252.4-333.8-42 0 255.3 333.8z"]},w={prefix:"fab",iconName:"linkedin-in",icon:[448,512,[],"f0e1","M100.3 448l-92.9 0 0-299.1 92.9 0 0 299.1zM53.8 108.1C24.1 108.1 0 83.5 0 53.8 0 39.5 5.7 25.9 15.8 15.8s23.8-15.8 38-15.8 27.9 5.7 38 15.8 15.8 23.8 15.8 38c0 29.7-24.1 54.3-53.8 54.3zM447.9 448l-92.7 0 0-145.6c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7l0 148.1-92.8 0 0-299.1 89.1 0 0 40.8 1.3 0c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3l0 164.3-.1 0z"]};const C="data:image/svg+xml,%3csvg%20width='31'%20height='25'%20viewBox='0%200%2031%2025'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_745_1378)'%3e%3cpath%20d='M28%203.125H3.1V17H28V3.125ZM0%2017.1875V3.125C0%201.40137%201.39016%200%203.1%200H27.9C29.6098%200%2031%201.40137%2031%203.125V17.1875C31%2018.9111%2029.6098%2020.3125%2027.9%2020H3.1C1.39016%2020.3125%200%2018.9111%200%2017.1875ZM4.65%2023.4375C4.65%2022.5732%205.34266%2021.875%206.2%2021.875H24.8C25.6573%2021.875%2026.35%2022.5732%2026.35%2023.4375C26.35%2024.3018%2025.6573%2025%2024.8%2025H6.2C5.34266%2025%204.65%2024.3018%204.65%2023.4375Z'%20fill='%23ECFDFF'/%3e%3cpath%20d='M8.76074%2010.4209V9.69727H10.6299V11.4082C10.4482%2011.584%2010.1846%2011.7393%209.83887%2011.874C9.49512%2012.0068%209.14648%2012.0732%208.79297%2012.0732C8.34375%2012.0732%207.95215%2011.9795%207.61816%2011.792C7.28418%2011.6025%207.0332%2011.333%206.86523%2010.9834C6.69727%2010.6318%206.61328%2010.25%206.61328%209.83789C6.61328%209.39062%206.70703%208.99316%206.89453%208.64551C7.08203%208.29785%207.35645%208.03125%207.71777%207.8457C7.99316%207.70312%208.33594%207.63184%208.74609%207.63184C9.2793%207.63184%209.69531%207.74414%209.99414%207.96875C10.2949%208.19141%2010.4883%208.5%2010.5742%208.89453L9.71289%209.05566C9.65234%208.84473%209.53809%208.67871%209.37012%208.55762C9.2041%208.43457%208.99609%208.37305%208.74609%208.37305C8.36719%208.37305%208.06543%208.49316%207.84082%208.7334C7.61816%208.97363%207.50684%209.33008%207.50684%209.80273C7.50684%2010.3125%207.62012%2010.6953%207.84668%2010.9512C8.07324%2011.2051%208.37012%2011.332%208.7373%2011.332C8.91895%2011.332%209.10059%2011.2969%209.28223%2011.2266C9.46582%2011.1543%209.62305%2011.0674%209.75391%2010.9658V10.4209H8.76074ZM11.2363%2010.4004C11.2363%2010.127%2011.3037%209.8623%2011.4385%209.60645C11.5732%209.35059%2011.7637%209.15527%2012.0098%209.02051C12.2578%208.88574%2012.5342%208.81836%2012.8389%208.81836C13.3096%208.81836%2013.6953%208.97168%2013.9961%209.27832C14.2969%209.58301%2014.4473%209.96875%2014.4473%2010.4355C14.4473%2010.9062%2014.2949%2011.2969%2013.9902%2011.6074C13.6875%2011.916%2013.3057%2012.0703%2012.8447%2012.0703C12.5596%2012.0703%2012.2871%2012.0059%2012.0273%2011.877C11.7695%2011.748%2011.5732%2011.5596%2011.4385%2011.3115C11.3037%2011.0615%2011.2363%2010.7578%2011.2363%2010.4004ZM12.0801%2010.4443C12.0801%2010.7529%2012.1533%2010.9893%2012.2998%2011.1533C12.4463%2011.3174%2012.627%2011.3994%2012.8418%2011.3994C13.0566%2011.3994%2013.2363%2011.3174%2013.3809%2011.1533C13.5273%2010.9893%2013.6006%2010.751%2013.6006%2010.4385C13.6006%2010.1338%2013.5273%209.89941%2013.3809%209.73535C13.2363%209.57129%2013.0566%209.48926%2012.8418%209.48926C12.627%209.48926%2012.4463%209.57129%2012.2998%209.73535C12.1533%209.89941%2012.0801%2010.1357%2012.0801%2010.4443ZM15.9502%2012L14.6963%208.88867H15.5605L16.1465%2010.4766L16.3164%2011.0068C16.3613%2010.8721%2016.3896%2010.7832%2016.4014%2010.7402C16.4287%2010.6523%2016.458%2010.5645%2016.4893%2010.4766L17.0811%208.88867H17.9277L16.6914%2012H15.9502ZM19.4072%2012V8.43164H18.1328V7.70508H21.5459V8.43164H20.2744V12H19.4072ZM23.2041%2012L21.6689%207.70508H22.6094L23.6963%2010.8838L24.748%207.70508H25.668L24.1299%2012H23.2041Z'%20fill='%23ECFDFF'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_745_1378'%3e%3crect%20width='31'%20height='25'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",N={class:"phila-footer-icon-list"},V={class:"phila-button phila-button--standard icon-button is-medium",href:"https://www.facebook.com/cityofphiladelphia"},_={class:"icon"},g={class:"phila-button phila-button--standard icon-button is-medium",href:"https://twitter.com/PhiladelphiaGov"},b={class:"icon"},E={class:"phila-button phila-button--standard icon-button is-medium",href:"https://www.instagram.com/cityofphiladelphia/"},y={class:"icon"},z={class:"phila-button phila-button--standard icon-button is-medium",href:"https://www.phila.gov/departments/office-of-innovation-and-technology/phlgovtv/"},M=["src"],F={class:"phila-button phila-button--standard icon-button is-medium",href:"https://www.youtube.com/user/PhilaGov"},k={class:"icon"},H={class:"phila-button phila-button--standard icon-button is-medium",href:"https://www.flickr.com/photos/phillycityrep"},S={class:"icon"},x={class:"phila-button phila-button--standard icon-button is-medium",href:"https://github.com/CityOfPhiladelphia"},L={class:"icon"},A={class:"phila-button phila-button--standard icon-button is-medium",href:"https://www.linkedin.com/showcase/phlcitycareers"},B={class:"icon"},I=e.defineComponent({__name:"ThirdNavSlotContent",setup(a){return(l,t)=>(e.openBlock(),e.createElementBlock("div",null,[t[0]||(t[0]=e.createElementVNode("h4",null,"Explore Philadelphia",-1)),t[1]||(t[1]=e.createElementVNode("nav",null,[e.createElementVNode("ul",null,[e.createElementVNode("li",null,[e.createElementVNode("a",{href:"https://www.septa.org/"},"SEPTA")]),e.createElementVNode("li",null,[e.createElementVNode("a",{href:"https://www.visitphilly.com/"},"Visit Philadelphia")])])],-1)),e.createElementVNode("nav",null,[e.createElementVNode("ul",N,[e.createElementVNode("li",null,[e.createElementVNode("a",V,[e.createElementVNode("span",_,[e.createVNode(e.unref(n.FontAwesomeIcon),{icon:e.unref(p)},null,8,["icon"])])])]),e.createElementVNode("li",null,[e.createElementVNode("a",g,[e.createElementVNode("span",b,[e.createVNode(e.unref(n.FontAwesomeIcon),{icon:e.unref(v)},null,8,["icon"])])])]),e.createElementVNode("li",null,[e.createElementVNode("a",E,[e.createElementVNode("span",y,[e.createVNode(e.unref(n.FontAwesomeIcon),{icon:e.unref(f)},null,8,["icon"])])])]),e.createElementVNode("li",null,[e.createElementVNode("a",z,[e.createElementVNode("img",{src:e.unref(C),alt:"GovTV",class:"icon"},null,8,M)])]),e.createElementVNode("li",null,[e.createElementVNode("a",F,[e.createElementVNode("span",k,[e.createVNode(e.unref(n.FontAwesomeIcon),{icon:e.unref(h)},null,8,["icon"])])])]),e.createElementVNode("li",null,[e.createElementVNode("a",H,[e.createElementVNode("span",S,[e.createVNode(e.unref(n.FontAwesomeIcon),{icon:e.unref(u)},null,8,["icon"])])])]),e.createElementVNode("li",null,[e.createElementVNode("a",x,[e.createElementVNode("span",L,[e.createVNode(e.unref(n.FontAwesomeIcon),{icon:e.unref(m)},null,8,["icon"])])])]),e.createElementVNode("li",null,[e.createElementVNode("a",A,[e.createElementVNode("span",B,[e.createVNode(e.unref(n.FontAwesomeIcon),{icon:e.unref(w)},null,8,["icon"])])])])])])]))}}),s=(a,l)=>{const t=a.__vccOpts||a;for(const[i,o]of l)t[i]=o;return t},P=s(I,[["__scopeId","data-v-7e4a39f7"]]),$={key:0,id:"mainFooter",class:"phila-main-footer"},Z={class:"phila-main-footer-content"},T={class:"phila-main-footer-slot"},O={class:"phila-main-footer-slot"},G={class:"phila-main-footer-slot"},q=e.defineComponent({__name:"AppFooter",props:{subFooterOnly:{type:Boolean,default:!1},className:{}},setup(a){const l=a,t=e.computed(()=>c.cn("phila-footer content",l.className));return(i,o)=>(e.openBlock(),e.createElementBlock("footer",{class:e.normalizeClass(t.value)},[i.subFooterOnly?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",$,[e.createElementVNode("div",Z,[e.createElementVNode("nav",T,[e.renderSlot(i.$slots,"firstNavSlot",{},()=>[e.createVNode(r)],!0)]),o[0]||(o[0]=e.createElementVNode("div",{class:"phila-footer-divider"},null,-1)),e.createElementVNode("nav",O,[e.renderSlot(i.$slots,"secondNavSlot",{},()=>[e.createVNode(d)],!0)]),o[1]||(o[1]=e.createElementVNode("div",{class:"phila-footer-divider"},null,-1)),e.createElementVNode("nav",G,[e.renderSlot(i.$slots,"thirdNavSlot",{},()=>[e.createVNode(P)],!0)])])])),o[2]||(o[2]=e.createStaticVNode('<div id="subFooter" class="phila-sub-footer" data-v-14406884><a href="https://www.phila.gov/terms-of-use/" data-v-14406884>Terms of use</a><a href="https://www.phila.gov/open-records-policy/" data-v-14406884>Right to know</a><a href="https://www.phila.gov/privacypolicy/" data-v-14406884>Privacy Policy</a><a href="https://www.phila.gov/accessibility-policy/" data-v-14406884>Accessibility</a></div>',1))],2))}}),D=s(q,[["__scopeId","data-v-14406884"]]);exports.AppFooter=D;
|
package/dist/index.mjs
CHANGED
|
@@ -1,22 +1,198 @@
|
|
|
1
|
-
import { defineComponent as r,
|
|
2
|
-
import { cn as
|
|
3
|
-
import
|
|
1
|
+
import { defineComponent as p, createElementBlock as r, openBlock as h, createStaticVNode as f, createElementVNode as t, createVNode as a, unref as i, computed as m, normalizeClass as v, createCommentVNode as w, renderSlot as d } from "vue";
|
|
2
|
+
import { cn as C } from "@phila/phila-ui-core";
|
|
3
|
+
import { FontAwesomeIcon as s } from "@fortawesome/vue-fontawesome";
|
|
4
|
+
import './index.css';const _ = /* @__PURE__ */ p({
|
|
5
|
+
__name: "FirstNavSlotContent",
|
|
6
|
+
setup(e) {
|
|
7
|
+
return (n, o) => (h(), r("div", null, o[0] || (o[0] = [
|
|
8
|
+
f('<h4>Elected officials</h4><nav><ul><li><a href="https://www.phila.gov/departments/mayor/">Mayor</a></li><li><a href="http://phlcouncil.com/">City Council</a></li><li><a href="http://www.courts.phila.gov/">Courts</a></li><li><a href="https://phillyda.org/">District Attorney</a></li><li><a href="https://controller.phila.gov/">City Controller</a></li><li><a href="https://phillysheriff.com/">Sheriff</a></li><li><a href="https://vote.phila.gov/">City Commissioners</a></li><li><a href="https://www.phila.gov/departments/register-of-wills/">Register of Wills</a></li></ul></nav>', 2)
|
|
9
|
+
])));
|
|
10
|
+
}
|
|
11
|
+
}), g = /* @__PURE__ */ p({
|
|
12
|
+
__name: "SecondNavSlotContent",
|
|
13
|
+
setup(e) {
|
|
14
|
+
return (n, o) => (h(), r("div", null, o[0] || (o[0] = [
|
|
15
|
+
f('<h4>Open government</h4><nav><ul><li><a href="https://codelibrary.amlegal.com/codes/philadelphia/latest/overview">Philadelphia Code & Charter</a></li><li><a href="https://www.phila.gov/departments/department-of-records/">City records</a></li><li><a href="https://www.phila.gov/departments/department-of-records/proposed-regulations/#/">City agency regulations</a></li><li><a href="https://www.phila.gov/departments/mayor/executive-orders/">Executive orders</a></li><li><a href="https://www.phila.gov/programs/integrity-works/">Honesty in government</a></li><li><a href="https://vote.phila.gov/">Voting & elections</a></li><li><a href="https://www.phila.gov/programs/open-data-program/">Open data</a></li><li><a href="https://www.phila.gov/documents/city-of-philadelphia-organization-chart/">City organization chart</a></li></ul></nav>', 2)
|
|
16
|
+
])));
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var b = {
|
|
20
|
+
prefix: "fab",
|
|
21
|
+
iconName: "facebook-f",
|
|
22
|
+
icon: [320, 512, [], "f39e", "M80 299.3l0 212.7 116 0 0-212.7 86.5 0 18-97.8-104.5 0 0-34.6c0-51.7 20.3-71.5 72.7-71.5 16.3 0 29.4 .4 37 1.2l0-88.7C291.4 4 256.4 0 236.2 0 129.3 0 80 50.5 80 159.4l0 42.1-66 0 0 97.8 66 0z"]
|
|
23
|
+
}, y = {
|
|
24
|
+
prefix: "fab",
|
|
25
|
+
iconName: "youtube",
|
|
26
|
+
icon: [576, 512, [61802], "f167", "M549.7 124.1C543.5 100.4 524.9 81.8 501.4 75.5 458.9 64 288.1 64 288.1 64S117.3 64 74.7 75.5C51.2 81.8 32.7 100.4 26.4 124.1 15 167 15 256.4 15 256.4s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8 42.6 11.5 213.4 11.5 213.4 11.5s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zM232.2 337.6l0-162.4 142.7 81.2-142.7 81.2z"]
|
|
27
|
+
}, z = {
|
|
28
|
+
prefix: "fab",
|
|
29
|
+
iconName: "github",
|
|
30
|
+
icon: [512, 512, [], "f09b", "M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM252.8 8c-138.7 0-244.8 105.3-244.8 244 0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1 100-33.2 167.8-128.1 167.8-239 0-138.7-112.5-244-251.2-244zM105.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"]
|
|
31
|
+
}, M = {
|
|
32
|
+
prefix: "fab",
|
|
33
|
+
iconName: "flickr",
|
|
34
|
+
icon: [448, 512, [], "f16e", "M400 32L48 32C21.5 32 0 53.5 0 80L0 432c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48zM144.5 192a63.5 63.5 0 1 1 0 127 63.5 63.5 0 1 1 0-127zm159 0a63.5 63.5 0 1 1 0 127 63.5 63.5 0 1 1 0-127z"]
|
|
35
|
+
}, N = {
|
|
36
|
+
prefix: "fab",
|
|
37
|
+
iconName: "instagram",
|
|
38
|
+
icon: [448, 512, [], "f16d", "M224.3 141a115 115 0 1 0 -.6 230 115 115 0 1 0 .6-230zm-.6 40.4a74.6 74.6 0 1 1 .6 149.2 74.6 74.6 0 1 1 -.6-149.2zm93.4-45.1a26.8 26.8 0 1 1 53.6 0 26.8 26.8 0 1 1 -53.6 0zm129.7 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM399 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"]
|
|
39
|
+
}, H = {
|
|
40
|
+
prefix: "fab",
|
|
41
|
+
iconName: "x-twitter",
|
|
42
|
+
icon: [448, 512, [], "e61b", "M357.2 48L427.8 48 273.6 224.2 455 464 313 464 201.7 318.6 74.5 464 3.8 464 168.7 275.5-5.2 48 140.4 48 240.9 180.9 357.2 48zM332.4 421.8l39.1 0-252.4-333.8-42 0 255.3 333.8z"]
|
|
43
|
+
}, V = {
|
|
44
|
+
prefix: "fab",
|
|
45
|
+
iconName: "linkedin-in",
|
|
46
|
+
icon: [448, 512, [], "f0e1", "M100.3 448l-92.9 0 0-299.1 92.9 0 0 299.1zM53.8 108.1C24.1 108.1 0 83.5 0 53.8 0 39.5 5.7 25.9 15.8 15.8s23.8-15.8 38-15.8 27.9 5.7 38 15.8 15.8 23.8 15.8 38c0 29.7-24.1 54.3-53.8 54.3zM447.9 448l-92.7 0 0-145.6c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7l0 148.1-92.8 0 0-299.1 89.1 0 0 40.8 1.3 0c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3l0 164.3-.1 0z"]
|
|
47
|
+
};
|
|
48
|
+
const F = "data:image/svg+xml,%3csvg%20width='31'%20height='25'%20viewBox='0%200%2031%2025'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_745_1378)'%3e%3cpath%20d='M28%203.125H3.1V17H28V3.125ZM0%2017.1875V3.125C0%201.40137%201.39016%200%203.1%200H27.9C29.6098%200%2031%201.40137%2031%203.125V17.1875C31%2018.9111%2029.6098%2020.3125%2027.9%2020H3.1C1.39016%2020.3125%200%2018.9111%200%2017.1875ZM4.65%2023.4375C4.65%2022.5732%205.34266%2021.875%206.2%2021.875H24.8C25.6573%2021.875%2026.35%2022.5732%2026.35%2023.4375C26.35%2024.3018%2025.6573%2025%2024.8%2025H6.2C5.34266%2025%204.65%2024.3018%204.65%2023.4375Z'%20fill='%23ECFDFF'/%3e%3cpath%20d='M8.76074%2010.4209V9.69727H10.6299V11.4082C10.4482%2011.584%2010.1846%2011.7393%209.83887%2011.874C9.49512%2012.0068%209.14648%2012.0732%208.79297%2012.0732C8.34375%2012.0732%207.95215%2011.9795%207.61816%2011.792C7.28418%2011.6025%207.0332%2011.333%206.86523%2010.9834C6.69727%2010.6318%206.61328%2010.25%206.61328%209.83789C6.61328%209.39062%206.70703%208.99316%206.89453%208.64551C7.08203%208.29785%207.35645%208.03125%207.71777%207.8457C7.99316%207.70312%208.33594%207.63184%208.74609%207.63184C9.2793%207.63184%209.69531%207.74414%209.99414%207.96875C10.2949%208.19141%2010.4883%208.5%2010.5742%208.89453L9.71289%209.05566C9.65234%208.84473%209.53809%208.67871%209.37012%208.55762C9.2041%208.43457%208.99609%208.37305%208.74609%208.37305C8.36719%208.37305%208.06543%208.49316%207.84082%208.7334C7.61816%208.97363%207.50684%209.33008%207.50684%209.80273C7.50684%2010.3125%207.62012%2010.6953%207.84668%2010.9512C8.07324%2011.2051%208.37012%2011.332%208.7373%2011.332C8.91895%2011.332%209.10059%2011.2969%209.28223%2011.2266C9.46582%2011.1543%209.62305%2011.0674%209.75391%2010.9658V10.4209H8.76074ZM11.2363%2010.4004C11.2363%2010.127%2011.3037%209.8623%2011.4385%209.60645C11.5732%209.35059%2011.7637%209.15527%2012.0098%209.02051C12.2578%208.88574%2012.5342%208.81836%2012.8389%208.81836C13.3096%208.81836%2013.6953%208.97168%2013.9961%209.27832C14.2969%209.58301%2014.4473%209.96875%2014.4473%2010.4355C14.4473%2010.9062%2014.2949%2011.2969%2013.9902%2011.6074C13.6875%2011.916%2013.3057%2012.0703%2012.8447%2012.0703C12.5596%2012.0703%2012.2871%2012.0059%2012.0273%2011.877C11.7695%2011.748%2011.5732%2011.5596%2011.4385%2011.3115C11.3037%2011.0615%2011.2363%2010.7578%2011.2363%2010.4004ZM12.0801%2010.4443C12.0801%2010.7529%2012.1533%2010.9893%2012.2998%2011.1533C12.4463%2011.3174%2012.627%2011.3994%2012.8418%2011.3994C13.0566%2011.3994%2013.2363%2011.3174%2013.3809%2011.1533C13.5273%2010.9893%2013.6006%2010.751%2013.6006%2010.4385C13.6006%2010.1338%2013.5273%209.89941%2013.3809%209.73535C13.2363%209.57129%2013.0566%209.48926%2012.8418%209.48926C12.627%209.48926%2012.4463%209.57129%2012.2998%209.73535C12.1533%209.89941%2012.0801%2010.1357%2012.0801%2010.4443ZM15.9502%2012L14.6963%208.88867H15.5605L16.1465%2010.4766L16.3164%2011.0068C16.3613%2010.8721%2016.3896%2010.7832%2016.4014%2010.7402C16.4287%2010.6523%2016.458%2010.5645%2016.4893%2010.4766L17.0811%208.88867H17.9277L16.6914%2012H15.9502ZM19.4072%2012V8.43164H18.1328V7.70508H21.5459V8.43164H20.2744V12H19.4072ZM23.2041%2012L21.6689%207.70508H22.6094L23.6963%2010.8838L24.748%207.70508H25.668L24.1299%2012H23.2041Z'%20fill='%23ECFDFF'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_745_1378'%3e%3crect%20width='31'%20height='25'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", x = { class: "phila-footer-icon-list" }, k = {
|
|
49
|
+
class: "phila-button phila-button--standard icon-button is-medium",
|
|
50
|
+
href: "https://www.facebook.com/cityofphiladelphia"
|
|
51
|
+
}, L = { class: "icon" }, S = {
|
|
52
|
+
class: "phila-button phila-button--standard icon-button is-medium",
|
|
53
|
+
href: "https://twitter.com/PhiladelphiaGov"
|
|
54
|
+
}, P = { class: "icon" }, $ = {
|
|
55
|
+
class: "phila-button phila-button--standard icon-button is-medium",
|
|
56
|
+
href: "https://www.instagram.com/cityofphiladelphia/"
|
|
57
|
+
}, Z = { class: "icon" }, E = {
|
|
58
|
+
class: "phila-button phila-button--standard icon-button is-medium",
|
|
59
|
+
href: "https://www.phila.gov/departments/office-of-innovation-and-technology/phlgovtv/"
|
|
60
|
+
}, T = ["src"], A = {
|
|
61
|
+
class: "phila-button phila-button--standard icon-button is-medium",
|
|
62
|
+
href: "https://www.youtube.com/user/PhilaGov"
|
|
63
|
+
}, I = { class: "icon" }, O = {
|
|
64
|
+
class: "phila-button phila-button--standard icon-button is-medium",
|
|
65
|
+
href: "https://www.flickr.com/photos/phillycityrep"
|
|
66
|
+
}, G = { class: "icon" }, B = {
|
|
67
|
+
class: "phila-button phila-button--standard icon-button is-medium",
|
|
68
|
+
href: "https://github.com/CityOfPhiladelphia"
|
|
69
|
+
}, D = { class: "icon" }, R = {
|
|
70
|
+
class: "phila-button phila-button--standard icon-button is-medium",
|
|
71
|
+
href: "https://www.linkedin.com/showcase/phlcitycareers"
|
|
72
|
+
}, W = { class: "icon" }, X = /* @__PURE__ */ p({
|
|
73
|
+
__name: "ThirdNavSlotContent",
|
|
74
|
+
setup(e) {
|
|
75
|
+
return (n, o) => (h(), r("div", null, [
|
|
76
|
+
o[0] || (o[0] = t("h4", null, "Explore Philadelphia", -1)),
|
|
77
|
+
o[1] || (o[1] = t("nav", null, [
|
|
78
|
+
t("ul", null, [
|
|
79
|
+
t("li", null, [
|
|
80
|
+
t("a", { href: "https://www.septa.org/" }, "SEPTA")
|
|
81
|
+
]),
|
|
82
|
+
t("li", null, [
|
|
83
|
+
t("a", { href: "https://www.visitphilly.com/" }, "Visit Philadelphia")
|
|
84
|
+
])
|
|
85
|
+
])
|
|
86
|
+
], -1)),
|
|
87
|
+
t("nav", null, [
|
|
88
|
+
t("ul", x, [
|
|
89
|
+
t("li", null, [
|
|
90
|
+
t("a", k, [
|
|
91
|
+
t("span", L, [
|
|
92
|
+
a(i(s), { icon: i(b) }, null, 8, ["icon"])
|
|
93
|
+
])
|
|
94
|
+
])
|
|
95
|
+
]),
|
|
96
|
+
t("li", null, [
|
|
97
|
+
t("a", S, [
|
|
98
|
+
t("span", P, [
|
|
99
|
+
a(i(s), { icon: i(H) }, null, 8, ["icon"])
|
|
100
|
+
])
|
|
101
|
+
])
|
|
102
|
+
]),
|
|
103
|
+
t("li", null, [
|
|
104
|
+
t("a", $, [
|
|
105
|
+
t("span", Z, [
|
|
106
|
+
a(i(s), { icon: i(N) }, null, 8, ["icon"])
|
|
107
|
+
])
|
|
108
|
+
])
|
|
109
|
+
]),
|
|
110
|
+
t("li", null, [
|
|
111
|
+
t("a", E, [
|
|
112
|
+
t("img", {
|
|
113
|
+
src: i(F),
|
|
114
|
+
alt: "GovTV",
|
|
115
|
+
class: "icon"
|
|
116
|
+
}, null, 8, T)
|
|
117
|
+
])
|
|
118
|
+
]),
|
|
119
|
+
t("li", null, [
|
|
120
|
+
t("a", A, [
|
|
121
|
+
t("span", I, [
|
|
122
|
+
a(i(s), { icon: i(y) }, null, 8, ["icon"])
|
|
123
|
+
])
|
|
124
|
+
])
|
|
125
|
+
]),
|
|
126
|
+
t("li", null, [
|
|
127
|
+
t("a", O, [
|
|
128
|
+
t("span", G, [
|
|
129
|
+
a(i(s), { icon: i(M) }, null, 8, ["icon"])
|
|
130
|
+
])
|
|
131
|
+
])
|
|
132
|
+
]),
|
|
133
|
+
t("li", null, [
|
|
134
|
+
t("a", B, [
|
|
135
|
+
t("span", D, [
|
|
136
|
+
a(i(s), { icon: i(z) }, null, 8, ["icon"])
|
|
137
|
+
])
|
|
138
|
+
])
|
|
139
|
+
]),
|
|
140
|
+
t("li", null, [
|
|
141
|
+
t("a", R, [
|
|
142
|
+
t("span", W, [
|
|
143
|
+
a(i(s), { icon: i(V) }, null, 8, ["icon"])
|
|
144
|
+
])
|
|
145
|
+
])
|
|
146
|
+
])
|
|
147
|
+
])
|
|
148
|
+
])
|
|
149
|
+
]));
|
|
150
|
+
}
|
|
151
|
+
}), u = (e, n) => {
|
|
152
|
+
const o = e.__vccOpts || e;
|
|
153
|
+
for (const [c, l] of n)
|
|
154
|
+
o[c] = l;
|
|
155
|
+
return o;
|
|
156
|
+
}, Y = /* @__PURE__ */ u(X, [["__scopeId", "data-v-7e4a39f7"]]), j = {
|
|
157
|
+
key: 0,
|
|
158
|
+
id: "mainFooter",
|
|
159
|
+
class: "phila-main-footer"
|
|
160
|
+
}, q = { class: "phila-main-footer-content" }, J = { class: "phila-main-footer-slot" }, K = { class: "phila-main-footer-slot" }, Q = { class: "phila-main-footer-slot" }, U = /* @__PURE__ */ p({
|
|
4
161
|
__name: "AppFooter",
|
|
5
162
|
props: {
|
|
163
|
+
subFooterOnly: { type: Boolean, default: !1 },
|
|
6
164
|
className: {}
|
|
7
165
|
},
|
|
8
|
-
setup(e
|
|
9
|
-
const
|
|
10
|
-
return (c,
|
|
11
|
-
class:
|
|
12
|
-
},
|
|
166
|
+
setup(e) {
|
|
167
|
+
const n = e, o = m(() => C("phila-footer content", n.className));
|
|
168
|
+
return (c, l) => (h(), r("footer", {
|
|
169
|
+
class: v(o.value)
|
|
170
|
+
}, [
|
|
171
|
+
c.subFooterOnly ? w("", !0) : (h(), r("div", j, [
|
|
172
|
+
t("div", q, [
|
|
173
|
+
t("nav", J, [
|
|
174
|
+
d(c.$slots, "firstNavSlot", {}, () => [
|
|
175
|
+
a(_)
|
|
176
|
+
], !0)
|
|
177
|
+
]),
|
|
178
|
+
l[0] || (l[0] = t("div", { class: "phila-footer-divider" }, null, -1)),
|
|
179
|
+
t("nav", K, [
|
|
180
|
+
d(c.$slots, "secondNavSlot", {}, () => [
|
|
181
|
+
a(g)
|
|
182
|
+
], !0)
|
|
183
|
+
]),
|
|
184
|
+
l[1] || (l[1] = t("div", { class: "phila-footer-divider" }, null, -1)),
|
|
185
|
+
t("nav", Q, [
|
|
186
|
+
d(c.$slots, "thirdNavSlot", {}, () => [
|
|
187
|
+
a(Y)
|
|
188
|
+
], !0)
|
|
189
|
+
])
|
|
190
|
+
])
|
|
191
|
+
])),
|
|
192
|
+
l[2] || (l[2] = f('<div id="subFooter" class="phila-sub-footer" data-v-14406884><a href="https://www.phila.gov/terms-of-use/" data-v-14406884>Terms of use</a><a href="https://www.phila.gov/open-records-policy/" data-v-14406884>Right to know</a><a href="https://www.phila.gov/privacypolicy/" data-v-14406884>Privacy Policy</a><a href="https://www.phila.gov/accessibility-policy/" data-v-14406884>Accessibility</a></div>', 1))
|
|
193
|
+
], 2));
|
|
13
194
|
}
|
|
14
|
-
}),
|
|
15
|
-
const o = e.__vccOpts || e;
|
|
16
|
-
for (const [t, c] of s)
|
|
17
|
-
o[t] = c;
|
|
18
|
-
return o;
|
|
19
|
-
}, v = /* @__PURE__ */ f(_, [["__scopeId", "data-v-f636e62c"]]);
|
|
195
|
+
}), a2 = /* @__PURE__ */ u(U, [["__scopeId", "data-v-14406884"]]);
|
|
20
196
|
export {
|
|
21
|
-
|
|
197
|
+
a2 as AppFooter
|
|
22
198
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@phila/phila-ui-app-footer",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A footer vue component for site info and related links.",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,10 +25,12 @@
|
|
|
25
25
|
"author": "",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"peerDependencies": {
|
|
28
|
+
"@fortawesome/vue-fontawesome": "^3.1.2",
|
|
28
29
|
"vue": "^3.0.0"
|
|
29
30
|
},
|
|
30
31
|
"dependencies": {
|
|
31
|
-
"@
|
|
32
|
+
"@fortawesome/free-brands-svg-icons": "^7.1.0",
|
|
33
|
+
"@phila/phila-ui-core": "2.1.2"
|
|
32
34
|
},
|
|
33
35
|
"devDependencies": {
|
|
34
36
|
"@types/node": "^24.0.0",
|