pdap-design-system 2.7.0-beta.2 → 2.7.0-beta.3

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 CHANGED
@@ -1,15 +1,11 @@
1
1
  # PDAP Design System
2
- _A `Vue` component library, styling system, and image asset repository for PDAP-branded client apps._
3
2
 
4
- [![Current npm release](https://img.shields.io/npm/v/pdap-design-system?style=for-the-badge)](https://www.npmjs.com/package/pdap-design-system)
5
- ![Build status](https://img.shields.io/github/actions/workflow/status/Police-Data-Accessibility-Project/design-system/build.yaml?branch=main&style=for-the-badge)
6
- ![Coverage Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/joshuagraber/f3a173e87a763056b73438f503680993/raw/ff7d81845d17020e8a2bc01481d3cda512a15698/pdap-design-system__heads_main.json)
7
- ![License](https://img.shields.io/github/license/Police-Data-Accessibility-Project/design-system.svg?style=for-the-badge&color=green)
3
+ _A `Vue` component library, styling system, and image asset repository for PDAP-branded client apps._
8
4
 
5
+ [![Current npm release](https://img.shields.io/npm/v/pdap-design-system?style=for-the-badge)](https://www.npmjs.com/package/pdap-design-system) ![Build status](https://img.shields.io/github/actions/workflow/status/Police-Data-Accessibility-Project/design-system/build.yaml?branch=main&style=for-the-badge) ![Coverage Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/joshuagraber/f3a173e87a763056b73438f503680993/raw/pdap-design-system__heads_main.json) ![License](https://img.shields.io/github/license/Police-Data-Accessibility-Project/design-system.svg?style=for-the-badge&color=green)
9
6
 
10
7
  [![Discord](https://img.shields.io/discord/828274060034965575?logo=discord&style=for-the-badge&color=blue)](https://discord.gg/vKhDv7nC8B)
11
8
 
12
-
13
9
  ## Usage
14
10
 
15
11
  1. Install the package
@@ -18,7 +14,7 @@ _A `Vue` component library, styling system, and image asset repository for PDAP-
18
14
  npm install pdap-design-system
19
15
  ```
20
16
 
21
- 2. Import the stylesheet in the app's entrypoint (usually `index.js` or `main.js`, at the root of your project)
17
+ 1. Import the stylesheet in the app's entrypoint (usually `index.js` or `main.js`, at the root of your project)
22
18
 
23
19
  ```
24
20
  // index.js | main.js
@@ -26,27 +22,25 @@ npm install pdap-design-system
26
22
  import 'pdap-design-system/styles';
27
23
  ```
28
24
 
29
- 3. Import and use the components
25
+ 1. Import and use the components
30
26
 
31
27
  ```
32
28
  import { Button, Form } from 'pdap-design-system';
33
29
  ```
34
30
 
35
- 1. Extend the `es-lint` config, for consistency in linting between client apps:
36
- First `npm install --save-dev @pdap-design-system/eslint-config`, then, in `eslintrc`:
31
+ 1. Extend the `es-lint` config, for consistency in linting between client apps: First `npm install --save-dev @pdap-design-system/eslint-config`, then, in `eslintrc`:
37
32
 
38
33
  ```
39
34
  {
40
35
  ...,
41
- extends: [
42
- "@pdap-design-system/eslint-config",
36
+ extends: [
37
+ "@pdap-design-system/eslint-config",
43
38
  ...
44
- ],
39
+ ],
45
40
  }
46
41
  ```
47
42
 
48
-
49
- 5. (Optional) Import the tailwind config if you need to use additional tailwind styles.
43
+ 1. (Optional) Import the tailwind config if you need to use additional tailwind styles.
50
44
 
51
45
  ```
52
46
  // tailwind.config.js
@@ -62,17 +56,16 @@ module.exports = {
62
56
  "./src/**/*.{vue,js,css}",
63
57
  ],
64
58
  }
65
-
66
59
  ```
67
60
 
68
- 6. If the project is using `TypeScript`, the component props definitions and other types are exposed for import as well.
69
- _n.b. This can be particularly useful for composing `Form` schemas, where `Input` schema objects are defined differently depending on the `type` of input desired._
61
+ 1. If the project is using `TypeScript`, the component props definitions and other types are exposed for import as well.<br>
62
+ _n.b. This can be particularly useful for composing `Form` schemas, where `Input` schema objects are defined differently depending on the `type` of input desired._
70
63
 
71
64
  ```
72
65
  import { PdapInputTypes } from 'pdap-design-system';
73
66
  ```
74
67
 
75
- 6. See [the component documentation](./docs/components.md) for details on each component's API.
68
+ 1. See [the component documentation](./docs/components.md) for details on each component's API.
76
69
 
77
70
  ### About images
78
71
 
@@ -96,16 +89,16 @@ import `pdap-design-system/images`;
96
89
  gh repo clone Police-Data-Accessibility-Project/design-system
97
90
  ```
98
91
 
99
- 2. CD into the project directory and install dependencies
92
+ 1. CD into the project directory and install dependencies
100
93
 
101
94
  ```
102
95
  cd design-system
103
96
  npm i
104
97
  ```
105
98
 
106
- 3. Step 2 should result in the `build` script being run after packages are installed. Check the `dist` directory for changes. You then may want to take one or both of the following steps:
99
+ 1. Step 2 should result in the `build` script being run after packages are installed. Check the `dist` directory for changes. You then may want to take one or both of the following steps:
107
100
 
108
- - If `build` wasn't called when you installed deps, build styles and images to the `dist` directory:
101
+ 2. If `build` wasn't called when you installed deps, build styles and images to the `dist` directory:
109
102
 
110
103
  ```
111
104
  npm run build
@@ -117,39 +110,37 @@ npm run build
117
110
  npm run build:watch
118
111
  ```
119
112
 
120
- 4. If you use VS Code as your editor, you may want to install the [tailwind VS Code extension](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss), which helps with intellisense and the custom at-rules used by TailwindCSS.
113
+ 1. If you use VS Code as your editor, you may want to install the [tailwind VS Code extension](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss), which helps with intellisense and the custom at-rules used by TailwindCSS.
121
114
 
122
- 5. Read the [contributing guide](./CONTRIBUTING.md) for development requirements and tips.
115
+ 2. Read the [contributing guide](./CONTRIBUTING.md) for development requirements and tips.
123
116
 
124
117
  ## Assets
125
118
 
126
- Use these [brand assets](https://docs.pdap.io/meta/about/staff/brand-assets).
127
- Use this [terminology](https://docs.pdap.io/activities/terms-and-definitions).
119
+ Use these [brand assets](https://docs.pdap.io/meta/about/staff/brand-assets). Use this [terminology](https://docs.pdap.io/activities/terms-and-definitions).
128
120
 
129
121
  ## Scripts reference
130
122
 
131
- | Script | What it does |
132
- | -------------- | -------------------------------------------------------- |
133
- | `_commit` | Create conventional commits |
134
- | `build` | Builds the library |
135
- | `build:watch` | Builds the library and watches for file changes |
136
- | `ci` | Remove all generated files and re-installs deps |
137
- | `clean` | Remove all generated files (except `package-lock.json`) |
138
- | `clean:deps` | Remove node_modules directory |
139
- | `clean:build` | Remove dist directory |
140
- | `clean:test` | Remove testing coverage reports |
141
- | `lint` | Lint everything |
142
- | `lint:es` | Lint `ts` and `vue` with `eslint` |
143
- | `lint:css` | Lint `css` and `vue` with `stylelint` |
144
- | `lint:ts` | Lint `ts` with `tsc` |
145
- | `test` | Run all test suites |
146
- | `test:changed` | Run only test suites affected by changed files |
147
- | `typecheck` | Run type check on all `ts` and `vue` files |
148
- | `dev` | Run demo app to check visual changes to components |
149
-
123
+ Script | What it does
124
+ -------------- | -------------------------------------------------------
125
+ `_commit` | Create conventional commits
126
+ `build` | Builds the library
127
+ `build:watch` | Builds the library and watches for file changes
128
+ `ci` | Remove all generated files and re-installs deps
129
+ `clean` | Remove all generated files (except `package-lock.json`)
130
+ `clean:deps` | Remove node_modules directory
131
+ `clean:build` | Remove dist directory
132
+ `clean:test` | Remove testing coverage reports
133
+ `lint` | Lint everything
134
+ `lint:es` | Lint `ts` and `vue` with `eslint`
135
+ `lint:css` | Lint `css` and `vue` with `stylelint`
136
+ `lint:ts` | Lint `ts` with `tsc`
137
+ `test` | Run all test suites
138
+ `test:changed` | Run only test suites affected by changed files
139
+ `typecheck` | Run type check on all `ts` and `vue` files
140
+ `dev` | Run demo app to check visual changes to components
150
141
 
151
142
  _n.b. There are some other scripts defined in the `package.json` `"scripts"` field, but they are mostly for CI or cleanup post-build, etc. You shouldn't need them._
152
143
 
153
144
  ## Releasing
154
- Incremental updates can be added to `main` directly via a PR.
155
- For more significant updates, the `beta` branch can be used for releasing incremental beta releases to test the bigger feature without releasing to production.
145
+
146
+ Incremental updates can be added to `main` directly via a PR. For more significant updates, the `beta` branch can be used for releasing incremental beta releases to test the bigger feature without releasing to production.
@@ -0,0 +1,46 @@
1
+ import { PdapDropdownProps, PdapDropdownTriggerType } from './types';
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PdapDropdownProps>, {
3
+ defaultOpen: boolean;
4
+ disabled: boolean;
5
+ triggerOn: PdapDropdownTriggerType;
6
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ press: (...args: any[]) => void;
8
+ "update:open": (...args: any[]) => void;
9
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PdapDropdownProps>, {
10
+ defaultOpen: boolean;
11
+ disabled: boolean;
12
+ triggerOn: PdapDropdownTriggerType;
13
+ }>>> & {
14
+ onPress?: ((...args: any[]) => any) | undefined;
15
+ "onUpdate:open"?: ((...args: any[]) => any) | undefined;
16
+ }, {
17
+ defaultOpen: boolean;
18
+ disabled: boolean;
19
+ triggerOn: PdapDropdownTriggerType;
20
+ }, {}>, {
21
+ trigger?(_: {}): any;
22
+ content?(_: {}): any;
23
+ }>;
24
+ export default _default;
25
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
26
+ type __VLS_TypePropsToRuntimeProps<T> = {
27
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
28
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
29
+ } : {
30
+ type: import('vue').PropType<T[K]>;
31
+ required: true;
32
+ };
33
+ };
34
+ type __VLS_WithDefaults<P, D> = {
35
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
36
+ default: D[K];
37
+ }> : P[K];
38
+ };
39
+ type __VLS_Prettify<T> = {
40
+ [K in keyof T]: T[K];
41
+ } & {};
42
+ type __VLS_WithTemplateSlots<T, S> = T & {
43
+ new (): {
44
+ $slots: S;
45
+ };
46
+ };
@@ -0,0 +1 @@
1
+ export { default as Dropdown } from './PdapDropdown.vue';
@@ -0,0 +1,9 @@
1
+ export declare enum PdapDropdownTriggerType {
2
+ PRESS = "press",
3
+ HOVER = "hover"
4
+ }
5
+ export interface PdapDropdownProps {
6
+ defaultOpen?: boolean;
7
+ disabled?: boolean;
8
+ triggerOn?: PdapDropdownTriggerType;
9
+ }
@@ -9,4 +9,5 @@ export { Header } from './Header';
9
9
  export { Nav } from './Nav';
10
10
  export { QuickSearchForm } from './QuickSearchForm';
11
11
  export { TileIcon } from './TileIcon';
12
+ export { Dropdown } from './Dropdown';
12
13
  export { Breadcrumbs } from './Breadcrumbs';
@@ -0,0 +1,16 @@
1
+ import { DirectiveBinding } from 'vue';
2
+ type ElementWithClickOutside = Element & {
3
+ clickOutsideEvent: (event: Event) => void;
4
+ };
5
+ /**
6
+ * # Click outside directive
7
+ *
8
+ * Runs a callback on a click outside of the element to which the directive is applied
9
+ * @param el Element
10
+ * @param binding DirectiveBinding
11
+ */
12
+ declare const _default: {
13
+ beforeMount(el: Element, binding: DirectiveBinding): void;
14
+ unmounted(element: ElementWithClickOutside): void;
15
+ };
16
+ export default _default;
@@ -0,0 +1 @@
1
+ export { default as vOnClickOutside } from './click-outside';
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),z=require("vue-router"),Le=e.defineComponent({__name:"PdapButton",props:{intent:{default:"primary"},isLoading:{type:Boolean,default:!1}},setup(t){const r=t,n=e.reactive({"pdap-button":!0,[`pdap-button-${r.intent}`]:!!r.intent,"pdap-button-loading":r.isLoading});return(a,s)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(n)},[e.renderSlot(a.$slots,"default")],2))}});const Ie={name:"FlexContainer"},Se=e.defineComponent({...Ie,props:{alignment:{default:"start"},component:{default:"div"}},setup(t){const r=t,n=e.reactive({"pdap-flex-container":!0,[`pdap-flex-container-${r.alignment}`]:!0});return(a,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.component),{class:e.normalizeClass(n)},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["class"]))}}),ze="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMTMuOCA4Ni4xIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMTMuOCA4Ni4xOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik0wLDgwLjlMMjEuNSwyLjZoNS4xTDUuMSw4MC45SDB6Ii8+Cjxwb2x5Z29uIHBvaW50cz0iNzguOCwyMC40IDYxLjgsMjAuNCA3NSw3LjIgNzEuMSwzLjIgNTguNCwxNS44IDU4LjQsMCA1Mi44LDAgNTIuOCwxNS44IDQwLjIsMy4yIDM2LjIsNy4yIDQ5LjUsMjAuNCAzMi41LDIwLjQgCgkzMi41LDI2IDQ4LjMsMjYgMzYuMiwzOCA0MC4yLDQyIDUyLjgsMjkuMyA1Mi44LDQ2LjMgNTguNCw0Ni4zIDU4LjQsMjkuMyA3MS4xLDQyIDc1LDM4IDYzLDI2IDc4LjgsMjYgIi8+CjxwYXRoIGQ9Ik00Mi4xLDcxLjFoLTIuNnY5LjFoLTVWNTcuM2g3LjZjNS4xLDAsOC40LDIuNCw4LjQsNi43UzQ3LjMsNzEuMSw0Mi4xLDcxLjF6IE00Mi4xLDYxLjVoLTIuNnY1LjNoMi42CgljMi4zLDAsMy4zLTAuOSwzLjMtMi43UzQ0LjMsNjEuNSw0Mi4xLDYxLjV6Ii8+CjxwYXRoIGQ9Ik02MC41LDgwLjFoLTYuOVY1Ny4zaDYuOWM2LjUsMCwxMS45LDQsMTEuOSwxMS40QzcyLjQsNzYuMiw2Ni42LDgwLjEsNjAuNSw4MC4xeiBNNjAuNSw2MS41aC0xLjl2MTQuNGgxLjkKCWM0LjMsMCw2LjctMy40LDYuNy03LjJTNjQuNSw2MS41LDYwLjUsNjEuNXoiLz4KPHBhdGggZD0iTTg4LjcsODAuMUw4Nyw3NC40aC03bC0xLjgsNS44aC01LjNsOC4yLTIyLjloNC44bDguMywyMi45aC01LjVWODAuMXogTTg0LDY0LjZjLTAuMi0wLjctMC41LTEuNi0wLjUtMS44CgljMCwwLjEtMC4yLDEtMC41LDEuOGwtMS43LDUuNmg0LjRMODQsNjQuNnoiLz4KPHBhdGggZD0iTTEwNC43LDcxLjFoLTIuNnY5LjFoLTVWNTcuM2g3LjZjNS4xLDAsOC40LDIuNCw4LjQsNi43UzEwOS44LDcxLjEsMTA0LjcsNzEuMXogTTEwNC43LDYxLjVoLTIuNnY1LjNoMi42CgljMi4zLDAsMy4zLTAuOSwzLjMtMi43UzEwNi45LDYxLjUsMTA0LjcsNjEuNXoiLz4KPC9zdmc+Cg==",Oe={class:"pdap-footer"},be={class:"pdap-flex-container-center"},ke={class:"pdap-footer-social-links"},_e=["href"],Ae={class:"pdap-footer-copyright"},Ye=e.createElementVNode("br",null,null,-1),Pe=e.createElementVNode("p",{class:"pdap-footer-copyright"},[e.createTextVNode(" PDAP is a non-profit. EIN: 85-4207132. "),e.createElementVNode("a",{href:"https://docs.pdap.io/meta/policy/pdap-privacy-policy",alt:"Privacy Policy",target:"_blank"},[e.createElementVNode("br"),e.createTextVNode(" Privacy Policy "),e.createElementVNode("i",{class:"fa fa-external-link"})]),e.createElementVNode("br"),e.createElementVNode("a",{href:"mailto:contact@pdap.io"},"contact@pdap.io")],-1),Be={class:"pdap-footer-widget-links"},Qe=e.createElementVNode("a",{href:"https://www.guidestar.org/profile/85-4207132",target:"_blank"},[e.createElementVNode("img",{src:"https://widgets.guidestar.org/gximage2?o=9973356&l=v4"})],-1),Ve=["href"],Re=["src"],Ue=["src"],Fe=e.defineComponent({__name:"PdapFooter",props:{logoImageSrc:{default:ze},logoImageAnchorPath:{default:"/"}},setup(t){const r=t,n=e.inject("footerLinks",[{href:"https://github.com/orgs/Police-Data-Accessibility-Project",text:"Github"},{href:"https://discord.gg/wMqex8nKZJ",text:"Discord"},{href:"https://www.linkedin.com/company/pdap",text:"LinkedIn"},{path:"/jobs",text:"Jobs"}]),a=r.logoImageAnchorPath.startsWith("/");return(s,o)=>{const i=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("footer",Oe,[e.createElementVNode("div",be,[e.createElementVNode("ul",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),c=>(e.openBlock(),e.createElementBlock("li",{key:c.text,class:"pdap-footer-link-container"},[c.href?(e.openBlock(),e.createElementBlock("a",{key:0,class:"pdap-footer-social-link",href:c.href,target:"_blank",referrerpolicy:"no-referrer"},e.toDisplayString(c.text),9,_e)):e.createCommentVNode("",!0),c.path?(e.openBlock(),e.createBlock(i,{key:1,"active-class":"pdap-footer-social-link-current","exact-active-class":"pdap-footer-social-link-current-exact",class:"pdap-footer-social-link",to:c.path},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.text),1)]),_:2},1032,["to"])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("p",Ae,[e.createTextVNode(" © "+e.toDisplayString(new Date().getFullYear())+" Police Data Accessibility Project",1),Ye]),Pe,e.createElementVNode("div",Be,[Qe,e.unref(a)?(e.openBlock(),e.createBlock(i,{key:1,to:s.logoImageAnchorPath,class:"pdap-footer-logo"},{default:e.withCtx(()=>[e.createElementVNode("img",{src:s.logoImageSrc,loading:"lazy",width:"250",alt:"Police Data Accessibility Project Logo"},null,8,Ue)]),_:1},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:0,href:s.logoImageAnchorPath,class:"pdap-footer-logo"},[e.createElementVNode("img",{src:s.logoImageSrc,loading:"lazy",width:"250",alt:"Police Data Accessibility Project Logo"},null,8,Re)],8,Ve))])])])}}});function q(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);r&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,a)}return n}function v(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?q(Object(n),!0).forEach(function(a){Ge(t,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(n,a))})}return t}function Ge(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function ee(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return Object.keys(t).reduce((n,a)=>(r.includes(a)||(n[a]=e.unref(t[a])),n),{})}function B(t){return typeof t=="function"}function We(t){return e.isReactive(t)||e.isReadonly(t)}function Me(t,r,n){let a=t;const s=r.split(".");for(let o=0;o<s.length;o++){if(!a[s[o]])return n;a=a[s[o]]}return a}function G(t,r,n){return e.computed(()=>t.some(a=>Me(r,a,{[n]:!1})[n]))}function te(t,r,n){return e.computed(()=>t.reduce((a,s)=>{const o=Me(r,s,{[n]:!1})[n]||[];return a.concat(o)},[]))}function me(t,r,n,a){return t.call(a,e.unref(r),e.unref(n),a)}function pe(t){return t.$valid!==void 0?!t.$valid:!t}function Ze(t,r,n,a,s,o,i){let{$lazy:c,$rewardEarly:l}=s,d=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[],M=arguments.length>8?arguments[8]:void 0,g=arguments.length>9?arguments[9]:void 0,f=arguments.length>10?arguments[10]:void 0;const m=e.ref(!!a.value),u=e.ref(0);n.value=!1;const L=e.watch([r,a].concat(d,f),()=>{if(c&&!a.value||l&&!g.value&&!n.value)return;let p;try{p=me(t,r,M,i)}catch(j){p=Promise.reject(j)}u.value++,n.value=!!u.value,m.value=!1,Promise.resolve(p).then(j=>{u.value--,n.value=!!u.value,o.value=j,m.value=pe(j)}).catch(j=>{u.value--,n.value=!!u.value,o.value=j,m.value=!0})},{immediate:!0,deep:typeof r=="object"});return{$invalid:m,$unwatch:L}}function He(t,r,n,a,s,o,i,c){let{$lazy:l,$rewardEarly:d}=a;const M=()=>({}),g=e.computed(()=>{if(l&&!n.value||d&&!c.value)return!1;let f=!0;try{const m=me(t,r,i,o);s.value=m,f=pe(m)}catch(m){s.value=m}return f});return{$unwatch:M,$invalid:g}}function Je(t,r,n,a,s,o,i,c,l,d,M){const g=e.ref(!1),f=t.$params||{},m=e.ref(null);let u,L;t.$async?{$invalid:u,$unwatch:L}=Ze(t.$validator,r,g,n,a,m,s,t.$watchTargets,l,d,M):{$invalid:u,$unwatch:L}=He(t.$validator,r,n,a,m,s,l,d);const p=t.$message;return{$message:B(p)?e.computed(()=>p(ee({$pending:g,$invalid:u,$params:ee(f),$model:r,$response:m,$validator:o,$propertyPath:c,$property:i}))):p||"",$params:f,$pending:g,$invalid:u,$response:m,$unwatch:L}}function Xe(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const r=e.unref(t),n=Object.keys(r),a={},s={},o={};let i=null;return n.forEach(c=>{const l=r[c];switch(!0){case B(l.$validator):a[c]=l;break;case B(l):a[c]={$validator:l};break;case c==="$validationGroups":i=l;break;case c.startsWith("$"):o[c]=l;break;default:s[c]=l}}),{rules:a,nestedValidators:s,config:o,validationGroups:i}}const Ke="__root";function qe(t,r,n,a,s,o,i,c,l){const d=Object.keys(t),M=a.get(s,t),g=e.ref(!1),f=e.ref(!1),m=e.ref(0);if(M){if(!M.$partial)return M;M.$unwatch(),g.value=M.$dirty.value}const u={$dirty:g,$path:s,$touch:()=>{g.value||(g.value=!0)},$reset:()=>{g.value&&(g.value=!1)},$commit:()=>{}};return d.length?(d.forEach(L=>{u[L]=Je(t[L],r,u.$dirty,o,i,L,n,s,l,f,m)}),u.$externalResults=e.computed(()=>c.value?[].concat(c.value).map((L,p)=>({$propertyPath:s,$property:n,$validator:"$externalResults",$uid:`${s}-externalResult-${p}`,$message:L,$params:{},$response:null,$pending:!1})):[]),u.$invalid=e.computed(()=>{const L=d.some(p=>e.unref(u[p].$invalid));return f.value=L,!!u.$externalResults.value.length||L}),u.$pending=e.computed(()=>d.some(L=>e.unref(u[L].$pending))),u.$error=e.computed(()=>u.$dirty.value?u.$pending.value||u.$invalid.value:!1),u.$silentErrors=e.computed(()=>d.filter(L=>e.unref(u[L].$invalid)).map(L=>{const p=u[L];return e.reactive({$propertyPath:s,$property:n,$validator:L,$uid:`${s}-${L}`,$message:p.$message,$params:p.$params,$response:p.$response,$pending:p.$pending})}).concat(u.$externalResults.value)),u.$errors=e.computed(()=>u.$dirty.value?u.$silentErrors.value:[]),u.$unwatch=()=>d.forEach(L=>{u[L].$unwatch()}),u.$commit=()=>{f.value=!0,m.value=Date.now()},a.set(s,t,u),u):(M&&a.set(s,t,u),u)}function et(t,r,n,a,s,o,i){const c=Object.keys(t);return c.length?c.reduce((l,d)=>(l[d]=W({validations:t[d],state:r,key:d,parentKey:n,resultsCache:a,globalConfig:s,instance:o,externalResults:i}),l),{}):{}}function tt(t,r,n){const a=e.computed(()=>[r,n].filter(u=>u).reduce((u,L)=>u.concat(Object.values(e.unref(L))),[])),s=e.computed({get(){return t.$dirty.value||(a.value.length?a.value.every(u=>u.$dirty):!1)},set(u){t.$dirty.value=u}}),o=e.computed(()=>{const u=e.unref(t.$silentErrors)||[],L=a.value.filter(p=>(e.unref(p).$silentErrors||[]).length).reduce((p,j)=>p.concat(...j.$silentErrors),[]);return u.concat(L)}),i=e.computed(()=>{const u=e.unref(t.$errors)||[],L=a.value.filter(p=>(e.unref(p).$errors||[]).length).reduce((p,j)=>p.concat(...j.$errors),[]);return u.concat(L)}),c=e.computed(()=>a.value.some(u=>u.$invalid)||e.unref(t.$invalid)||!1),l=e.computed(()=>a.value.some(u=>e.unref(u.$pending))||e.unref(t.$pending)||!1),d=e.computed(()=>a.value.some(u=>u.$dirty)||a.value.some(u=>u.$anyDirty)||s.value),M=e.computed(()=>s.value?l.value||c.value:!1),g=()=>{t.$touch(),a.value.forEach(u=>{u.$touch()})},f=()=>{t.$commit(),a.value.forEach(u=>{u.$commit()})},m=()=>{t.$reset(),a.value.forEach(u=>{u.$reset()})};return a.value.length&&a.value.every(u=>u.$dirty)&&g(),{$dirty:s,$errors:i,$invalid:c,$anyDirty:d,$error:M,$pending:l,$touch:g,$reset:m,$silentErrors:o,$commit:f}}function W(t){let{validations:r,state:n,key:a,parentKey:s,childResults:o,resultsCache:i,globalConfig:c={},instance:l,externalResults:d}=t;const M=s?`${s}.${a}`:a,{rules:g,nestedValidators:f,config:m,validationGroups:u}=Xe(r),L=v(v({},c),m),p=a?e.computed(()=>{const y=e.unref(n);return y?e.unref(y[a]):void 0}):n,j=v({},e.unref(d)||{}),$=e.computed(()=>{const y=e.unref(d);return a?y?e.unref(y[a]):void 0:y}),k=qe(g,p,a,i,M,L,l,$,n),h=et(f,p,M,i,L,l,$),E={};u&&Object.entries(u).forEach(y=>{let[I,D]=y;E[I]={$invalid:G(D,h,"$invalid"),$error:G(D,h,"$error"),$pending:G(D,h,"$pending"),$errors:te(D,h,"$errors"),$silentErrors:te(D,h,"$silentErrors")}});const{$dirty:C,$errors:Y,$invalid:R,$anyDirty:Ne,$error:$e,$pending:U,$touch:F,$reset:Ce,$silentErrors:De,$commit:K}=tt(k,h,o),ve=a?e.computed({get:()=>e.unref(p),set:y=>{C.value=!0;const I=e.unref(n),D=e.unref(d);D&&(D[a]=j[a]),e.isRef(I[a])?I[a].value=y:I[a]=y}}):null;a&&L.$autoDirty&&e.watch(p,()=>{C.value||F();const y=e.unref(d);y&&(y[a]=j[a])},{flush:"sync"});async function Te(){return F(),L.$rewardEarly&&(K(),await e.nextTick()),await e.nextTick(),new Promise(y=>{if(!U.value)return y(!R.value);const I=e.watch(U,()=>{y(!R.value),I()})})}function xe(y){return(o.value||{})[y]}function Ee(){e.isRef(d)?d.value=j:Object.keys(j).length===0?Object.keys(d).forEach(y=>{delete d[y]}):Object.assign(d,j)}return e.reactive(v(v(v({},k),{},{$model:ve,$dirty:C,$error:$e,$errors:Y,$invalid:R,$anyDirty:Ne,$pending:U,$touch:F,$reset:Ce,$path:M||Ke,$silentErrors:De,$validate:Te,$commit:K},o&&{$getResultsForChild:xe,$clearExternalResults:Ee,$validationGroups:E}),h))}class rt{constructor(){this.storage=new Map}set(r,n,a){this.storage.set(r,{rules:n,result:a})}checkRulesValidity(r,n,a){const s=Object.keys(a),o=Object.keys(n);return o.length!==s.length||!o.every(c=>s.includes(c))?!1:o.every(c=>n[c].$params?Object.keys(n[c].$params).every(l=>e.unref(a[c].$params[l])===e.unref(n[c].$params[l])):!0)}get(r,n){const a=this.storage.get(r);if(!a)return;const{rules:s,result:o}=a,i=this.checkRulesValidity(r,n,s),c=o.$unwatch?o.$unwatch:()=>({});return i?o:{$dirty:o.$dirty,$partial:!0,$unwatch:c}}}const P={COLLECT_ALL:!0,COLLECT_NONE:!1},re=Symbol("vuelidate#injectChildResults"),ne=Symbol("vuelidate#removeChildResults");function nt(t){let{$scope:r,instance:n}=t;const a={},s=e.ref([]),o=e.computed(()=>s.value.reduce((M,g)=>(M[g]=e.unref(a[g]),M),{}));function i(M,g){let{$registerAs:f,$scope:m,$stopPropagation:u}=g;u||r===P.COLLECT_NONE||m===P.COLLECT_NONE||r!==P.COLLECT_ALL&&r!==m||(a[f]=M,s.value.push(f))}n.__vuelidateInjectInstances=[].concat(n.__vuelidateInjectInstances||[],i);function c(M){s.value=s.value.filter(g=>g!==M),delete a[M]}n.__vuelidateRemoveInstances=[].concat(n.__vuelidateRemoveInstances||[],c);const l=e.inject(re,[]);e.provide(re,n.__vuelidateInjectInstances);const d=e.inject(ne,[]);return e.provide(ne,n.__vuelidateRemoveInstances),{childResults:o,sendValidationResultsToParent:l,removeValidationResultsFromParent:d}}function ge(t){return new Proxy(t,{get(r,n){return typeof r[n]=="object"?ge(r[n]):e.computed(()=>r[n])}})}let ae=0;function at(t,r){var n;let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};arguments.length===1&&(a=t,t=void 0,r=void 0);let{$registerAs:s,$scope:o=P.COLLECT_ALL,$stopPropagation:i,$externalResults:c,currentVueInstance:l}=a;const d=l||((n=e.getCurrentInstance())===null||n===void 0?void 0:n.proxy),M=d?d.$options:{};s||(ae+=1,s=`_vuelidate_${ae}`);const g=e.ref({}),f=new rt,{childResults:m,sendValidationResultsToParent:u,removeValidationResultsFromParent:L}=d?nt({$scope:o,instance:d}):{childResults:e.ref({})};if(!t&&M.validations){const p=M.validations;r=e.ref({}),e.onBeforeMount(()=>{r.value=d,e.watch(()=>B(p)?p.call(r.value,new ge(r.value)):p,j=>{g.value=W({validations:j,state:r,childResults:m,resultsCache:f,globalConfig:a,instance:d,externalResults:c||d.vuelidateExternalResults})},{immediate:!0})}),a=M.validationsConfig||a}else{const p=e.isRef(t)||We(t)?t:e.reactive(t||{});e.watch(p,j=>{g.value=W({validations:j,state:r,childResults:m,resultsCache:f,globalConfig:a,instance:d??{},externalResults:c})},{immediate:!0})}return d&&(u.forEach(p=>p(g,{$registerAs:s,$scope:o,$stopPropagation:i})),e.onBeforeUnmount(()=>L.forEach(p=>p(s)))),e.computed(()=>v(v({},e.unref(g.value)),m.value))}var N=(t=>(t.CHECKBOX="checkbox",t.TEXT="text",t.PASSWORD="password",t))(N||{});const st=["id","type","name","placeholder","value"],ot=e.defineComponent({__name:"InputText",props:{type:{},error:{},id:{},label:{},name:{},placeholder:{},value:{}},emits:["change","input"],setup(t,{emit:r}){const n=r,a=o=>{n("change",o)},s=o=>{n("input",o)};return(o,i)=>(e.openBlock(),e.createElementBlock("input",e.mergeProps({id:o.id,type:o.type,name:o.name,placeholder:o.placeholder,value:o.value},o.$attrs,{onChange:a,onInput:s}),null,16,st))}}),ut=["id","name","checked","value"],it=e.defineComponent({__name:"InputCheckbox",props:{defaultChecked:{type:Boolean},type:{},error:{},id:{},label:{},name:{},placeholder:{},value:{}},emits:["change"],setup(t,{emit:r}){const n=r,a=s=>{n("change",s)};return(s,o)=>(e.openBlock(),e.createElementBlock("input",e.mergeProps({id:s.id,name:s.name,checked:s.value==="true",value:s.value,class:"pdap-input-checkbox",type:"checkbox"},s.$attrs,{onChange:a}),null,16,ut))}}),ct=["id"],lt=["for"],fe=e.defineComponent({__name:"PdapInput",props:{type:{},error:{},id:{},label:{},name:{},placeholder:{},value:{},defaultChecked:{type:Boolean}},setup(t){const r=t,n=e.computed(()=>`pdap-${r.name}-input-error`);return(a,s)=>{var o;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"pdap-input":!0,[`pdap-input-${a.type}`]:!0,[`pdap-input-${a.type}-checked`]:a.type===e.unref(N).CHECKBOX&&a.value==="true","pdap-input-error":Number((o=a.error)==null?void 0:o.length)>=1})},[a.type===e.unref(N).CHECKBOX?(e.openBlock(),e.createBlock(it,e.mergeProps({key:0,class:"pdap-input-checkbox"},{...a.$attrs,...r}),null,16)):(e.openBlock(),e.createBlock(ot,e.normalizeProps(e.mergeProps({key:1},{...a.$attrs,...a.$props})),null,16)),a.error?(e.openBlock(),e.createElementBlock("div",{key:2,id:n.value,class:"pdap-input-error-message"},e.toDisplayString(a.error),9,ct)):e.createCommentVNode("",!0),e.createElementVNode("label",{class:"pdap-input-label",for:a.id},e.toDisplayString(a.label),9,lt)],2)}}});function se(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);r&&(a=a.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,a)}return n}function O(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?se(Object(n),!0).forEach(function(a){dt(t,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):se(Object(n)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(n,a))})}return t}function dt(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function _(t){return typeof t=="function"}function Q(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function V(t){return _(t.$validator)?O({},t):{$validator:t}}function Lt(t){return Q(t)&&_(t.then)}function T(t){return typeof t=="object"?t.$valid:t}function S(t){return t.$validator||t}function Z(t,r){if(!Q(t))throw new Error(`[@vuelidate/validators]: First parameter to "withParams" should be an object, provided ${typeof t}`);if(!Q(r)&&!_(r))throw new Error("[@vuelidate/validators]: Validator must be a function or object with $validator parameter");const n=V(r);return n.$params=O(O({},n.$params||{}),t),n}function A(t,r){if(!_(t)&&typeof e.unref(t)!="string")throw new Error(`[@vuelidate/validators]: First parameter to "withMessage" should be string or a function returning a string, provided ${typeof t}`);if(!Q(r)&&!_(r))throw new Error("[@vuelidate/validators]: Validator must be a function or object with $validator parameter");const n=V(r);return n.$message=t,n}function Mt(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];const n=V(t);return O(O({},n),{},{$async:!0,$watchTargets:r})}function mt(t){return{$validator(r){for(var n=arguments.length,a=new Array(n>1?n-1:0),s=1;s<n;s++)a[s-1]=arguments[s];return e.unref(r).reduce((o,i,c)=>{const l=Object.entries(i).reduce((d,M)=>{let[g,f]=M;const m=t[g]||{},u=Object.entries(m).reduce((L,p)=>{let[j,$]=p;const h=S($).call(this,f,i,c,...a),E=T(h);if(L.$data[j]=h,L.$data.$invalid=!E||!!L.$data.$invalid,L.$data.$error=L.$data.$invalid,!E){let C=$.$message||"";const Y=$.$params||{};typeof C=="function"&&(C=C({$pending:!1,$invalid:!E,$params:Y,$model:f,$response:h})),L.$errors.push({$property:g,$message:C,$params:Y,$response:h,$model:f,$pending:!1,$validator:j})}return{$valid:L.$valid&&E,$data:L.$data,$errors:L.$errors}},{$valid:!0,$data:{},$errors:[]});return d.$data[g]=u.$data,d.$errors[g]=u.$errors,{$valid:d.$valid&&u.$valid,$data:d.$data,$errors:d.$errors}},{$valid:!0,$data:{},$errors:{}});return{$valid:o.$valid&&l.$valid,$data:o.$data.concat(l.$data),$errors:o.$errors.concat(l.$errors)}},{$valid:!0,$data:[],$errors:[]})},$message:r=>{let{$response:n}=r;return n?n.$errors.map(a=>Object.values(a).map(s=>s.map(o=>o.$message)).reduce((s,o)=>s.concat(o),[])):[]}}}const w=t=>{if(t=e.unref(t),Array.isArray(t))return!!t.length;if(t==null)return!1;if(t===!1)return!0;if(t instanceof Date)return!isNaN(t.getTime());if(typeof t=="object"){for(let r in t)return!0;return!1}return!!String(t).length},H=t=>(t=e.unref(t),Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:String(t).length);function x(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return a=>(a=e.unref(a),!w(a)||r.every(s=>(s.lastIndex=0,s.test(a))))}var b=Object.freeze({__proto__:null,forEach:mt,len:H,normalizeValidatorObject:V,regex:x,req:w,unwrap:e.unref,unwrapNormalizedValidator:S,unwrapValidatorResponse:T,withAsync:Mt,withMessage:A,withParams:Z}),pt=x(/^[a-zA-Z]*$/),gt={$validator:pt,$message:"The value is not alphabetical",$params:{type:"alpha"}},ft=x(/^[a-zA-Z0-9]*$/),jt={$validator:ft,$message:"The value must be alpha-numeric",$params:{type:"alphaNum"}},yt=x(/^\d*(\.\d+)?$/),wt={$validator:yt,$message:"Value must be numeric",$params:{type:"numeric"}};function ht(t,r){return n=>!w(n)||(!/\s/.test(n)||n instanceof Date)&&+e.unref(t)<=+n&&+e.unref(r)>=+n}function Nt(t,r){return{$validator:ht(t,r),$message:n=>{let{$params:a}=n;return`The value must be between ${a.min} and ${a.max}`},$params:{min:t,max:r,type:"between"}}}const $t=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;var Ct=x($t),J={$validator:Ct,$message:"Value is not a valid email address",$params:{type:"email"}};function Dt(t){if(!w(t))return!0;if(typeof t!="string")return!1;const r=t.split(".");return r.length===4&&r.every(vt)}const vt=t=>{if(t.length>3||t.length===0||t[0]==="0"&&t!=="0"||!t.match(/^\d+$/))return!1;const r=+t|0;return r>=0&&r<=255};var Tt={$validator:Dt,$message:"The value is not a valid IP address",$params:{type:"ipAddress"}};function xt(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:":";return r=>{if(t=e.unref(t),!w(r))return!0;if(typeof r!="string")return!1;const n=typeof t=="string"&&t!==""?r.split(t):r.length===12||r.length===16?r.match(/.{2}/g):null;return n!==null&&(n.length===6||n.length===8)&&n.every(Et)}}const Et=t=>t.toLowerCase().match(/^[0-9a-f]{2}$/);function It(t){return{$validator:xt(t),$message:"The value is not a valid MAC Address",$params:{type:"macAddress"}}}function St(t){return r=>!w(r)||H(r)<=e.unref(t)}function zt(t){return{$validator:St(t),$message:r=>{let{$params:n}=r;return`The maximum length allowed is ${n.max}`},$params:{max:t,type:"maxLength"}}}function Ot(t){return r=>!w(r)||H(r)>=e.unref(t)}function bt(t){return{$validator:Ot(t),$message:r=>{let{$params:n}=r;return`This field should be at least ${n.min} characters long`},$params:{min:t,type:"minLength"}}}function kt(t){return typeof t=="string"&&(t=t.trim()),w(t)}var X={$validator:kt,$message:"Value is required",$params:{type:"required"}};const oe=(t,r)=>t?w(typeof r=="string"?r.trim():r):!0;function _t(t){return function(r,n){if(typeof t!="function")return oe(e.unref(t),r);const a=t.call(this,r,n);return oe(a,r)}}function At(t){return{$validator:_t(t),$message:"The value is required",$params:{type:"requiredIf",prop:t}}}const ue=(t,r)=>t?!0:w(typeof r=="string"?r.trim():r);function Yt(t){return function(r,n){if(typeof t!="function")return ue(e.unref(t),r);const a=t.call(this,r,n);return ue(a,r)}}function Pt(t){return{$validator:Yt(t),$message:"The value is required",$params:{type:"requiredUnless",prop:t}}}function Bt(t){return r=>e.unref(r)===e.unref(t)}function Qt(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"other";return{$validator:Bt(t),$message:n=>`The value must be equal to the ${r} value`,$params:{equalTo:t,otherName:r,type:"sameAs"}}}const Vt=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i;var Rt=x(Vt),Ut={$validator:Rt,$message:"The value is not a valid URL address",$params:{type:"url"}};function Ft(t){return function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return t.reduce((s,o)=>T(s)?s:S(o).apply(this,n),!1)}}function Gt(t){return function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return t.reduce(async(s,o)=>{const i=await s;return T(i)?i:S(o).apply(this,n)},Promise.resolve(!1))}}function Wt(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];const a=r.some(i=>i.$async),s=r.reduce((i,c)=>c.$watchTargets?i.concat(c.$watchTargets):i,[]);let o=()=>!1;return r.length&&(o=a?Gt(r):Ft(r)),{$async:a,$validator:o,$watchTargets:s}}function Zt(){return Z({type:"or"},A("The value does not match any of the provided validators",Wt(...arguments)))}function Ht(t){return function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return t.reduce((s,o)=>T(s)?S(o).apply(this,n):s,!0)}}function Jt(t){return function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return t.reduce(async(s,o)=>{const i=await s;return T(i)?S(o).apply(this,n):i},Promise.resolve(!0))}}function Xt(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];const a=r.some(i=>i.$async),s=r.reduce((i,c)=>c.$watchTargets?i.concat(c.$watchTargets):i,[]);let o=()=>!1;return r.length&&(o=a?Jt(r):Ht(r)),{$async:a,$validator:o,$watchTargets:s}}function Kt(){return Z({type:"and"},A("The value does not match all of the provided validators",Xt(...arguments)))}function qt(t){return function(r,n){if(!w(r))return!0;const a=S(t).call(this,r,n);return Lt(a)?a.then(s=>!T(s)):!T(a)}}function er(t){return{$validator:qt(t),$message:"The value does not match the provided validator",$params:{type:"not"}}}function tr(t){return r=>!w(r)||(!/\s/.test(r)||r instanceof Date)&&+r>=+e.unref(t)}function rr(t){return{$validator:tr(t),$message:r=>{let{$params:n}=r;return`The minimum value allowed is ${n.min}`},$params:{min:t,type:"minValue"}}}function nr(t){return r=>!w(r)||(!/\s/.test(r)||r instanceof Date)&&+r<=+e.unref(t)}var ar=t=>({$validator:nr(t),$message:r=>{let{$params:n}=r;return`The maximum value allowed is ${n.max}`},$params:{max:t,type:"maxValue"}}),sr=x(/(^[0-9]*$)|(^-[0-9]+$)/),or={$validator:sr,$message:"Value is not an integer",$params:{type:"integer"}},ur=x(/^[-]?\d*(\.\d+)?$/),ir={$validator:ur,$message:"Value must be decimal",$params:{type:"decimal"}};function cr(t){let{t:r,messagePath:n=s=>{let{$validator:o}=s;return`validations.${o}`},messageParams:a=s=>s}=t;return function(o){let{withArguments:i=!1,messagePath:c=n,messageParams:l=a}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};function d(M){return r(c(M),l(O({model:M.$model,property:M.$property,pending:M.$pending,invalid:M.$invalid,response:M.$response,validator:M.$validator,propertyPath:M.$propertyPath},M.$params)))}return i&&typeof o=="function"?function(){return A(d,o(...arguments))}:A(d,o)}}const je=Object.freeze(Object.defineProperty({__proto__:null,alpha:gt,alphaNum:jt,and:Kt,between:Nt,createI18nMessage:cr,decimal:ir,email:J,helpers:b,integer:or,ipAddress:Tt,macAddress:It,maxLength:zt,maxValue:ar,minLength:bt,minValue:rr,not:er,numeric:wt,or:Zt,required:X,requiredIf:At,requiredUnless:Pt,sameAs:Qt,url:Ut},Symbol.toStringTag,{value:"Module"})),ye=b.regex(/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/);function ie(t){return["maxLength","minLength"].includes(t)}function ce(t){return t==="required"}function le(t){return t==="email"}function de(t){return t==="password"}function lr(t,r){return{[t]:je[t](r)}}function dr(t,r,n){return{[t]:b.withMessage(n,je[t](r))}}function Lr(){return{required:X}}function Mr(t){return{required:b.withMessage(t,X)}}function mr(){return{email:J}}function pr(t){return{email:b.withMessage(t,J)}}function gr(){return{password:ye}}function fr(t){return{password:b.withMessage(t,ye)}}function jr(t,r){if(ie(t)&&typeof r.message=="string"&&typeof r.value=="number")return dr(t,r.value,r.message);if(ie(t)&&typeof r.message>"u"&&typeof r.value=="number")return lr(t,r.value);if(le(t)&&typeof r.message=="string")return pr(r.message);if(le(t)&&typeof r.message>"u")return mr();if(de(t)&&typeof r.message=="string")return fr(r.message);if(de(t)&&typeof r.message>"u")return gr();if(ce(t)&&typeof r.message=="string")return Mr(r.message);if(ce(t)&&typeof r.message>"u")return Lr();throw new Error("No valid rule detected")}const yr=["id","name"],wr={key:0,class:"pdap-form-error-message"},we=e.defineComponent({__name:"PdapForm",props:{error:{default:null},id:{},name:{},schema:{}},emits:["submit","change"],setup(t,{emit:r}){const n=t,a=r,s=e.computed(()=>n.schema.map(f=>{const m={...f};return delete m.validators,m})),o=e.ref(s.value.reduce((f,m)=>{switch(m.type){case N.CHECKBOX:return{...f,[m.name]:String(m.defaultChecked)};case N.TEXT:case N.PASSWORD:default:return{...f,[m.name]:m.value}}},{})),i=n.schema.reduce((f,m)=>{const u=Object.entries(m.validators??{}).reduce((L,[p,j])=>({...L,...jr(p,j)}),{});return{...f,[m.name]:{...u}}},{}),c=at(i,o,{$autoDirty:!1,$lazy:!0}),l=e.ref(n.error);function d(f,m){const u=m.target,L=u.type===N.CHECKBOX&&typeof u.checked=="boolean"?u.checked.toString():u.value;o.value[f]=L,M()}e.watchEffect(()=>{n.error?l.value=n.error:l.value&&c.value.$errors.length===0?l.value=null:!l.value&&c.value.$errors.length>0&&(l.value="Please update this form to correct the errors")}),e.watchEffect(()=>{});function M(){a("change",{...o.value})}async function g(f){if(await c.value.$validate()){a("submit",{...o.value}),c.value.$reset(),f.target.reset(),o.value=Object.entries(o).reduce((L,[p])=>({...L,[p]:""}),{});return}}return(f,m)=>(e.openBlock(),e.createElementBlock("form",{id:f.id,name:f.name,class:"pdap-form",onChange:M,onSubmit:m[0]||(m[0]=e.withModifiers(u=>g(u),["prevent"]))},[typeof l.value=="string"?(e.openBlock(),e.createElementBlock("div",wr,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,u=>{var L,p,j,$;return e.openBlock(),e.createBlock(fe,e.mergeProps(u,{key:u.name,error:(L=e.unref(c)[u.name])!=null&&L.$error?($=(j=(p=e.unref(c)[u.name])==null?void 0:p.$errors)==null?void 0:j[0])==null?void 0:$.$message:"",value:o.value[u.name],onChange:k=>d(u.name,k)}),null,16,["error","value","onChange"])}),128)),e.renderSlot(f.$slots,"default")],40,yr))}});const hr={name:"GridContainer"},Nr=e.defineComponent({...hr,props:{columns:{default:"auto"},component:{default:"div"},rows:{default:"auto"},templateColumns:{},templateRows:{}},setup(t){const r=t,n=e.reactive({"pdap-grid-container":!0,[`pdap-grid-container-column-${r.columns}`]:r.columns!=="auto"}),a=r.templateRows||typeof r.rows=="number",s=r.templateRows??`repeat(${r.rows}, minmax(0, 1fr))`,o=e.reactive({...a&&{gridTemplateRows:s},...r.templateColumns&&{gridTemplateColumns:r.templateColumns}});return(i,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.component),{class:e.normalizeClass(n),style:e.normalizeStyle(o)},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class","style"]))}}),$r={name:"GridItem"},Cr=e.defineComponent({...$r,props:{component:{default:"div"},spanColumn:{default:1},spanRow:{default:1}},setup(t){const r=t,n=e.reactive({"pdap-grid-item":!0,[`pdap-grid-item-span-column-${r.spanColumn}`]:r.spanColumn>1}),a=e.reactive({...r.spanRow>1&&{gridRow:`span ${r.spanRow} / span ${r.spanRow}`}});return(s,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.component),{class:e.normalizeClass(n),style:e.normalizeStyle(a)},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},8,["class","style"]))}});const Dr=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},[e.createElementVNode("path",{d:"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"})],-1),vr=[Dr],Tr=["aria-expanded"],xr=["href"],he=e.defineComponent({__name:"PdapNav",props:{topPosition:{}},setup(t){let r=e.inject("navLinks");typeof r>"u"&&(r=[],console.error(`Hey, PDAP developer
2
- `,"Did you forget to inject some linkData for the Nav component?"));const n=e.reactive({isExpanded:!1,isMobile:!0}),a=e.reactive({"pdap-nav":!0});e.onBeforeMount(()=>{s(),window.addEventListener("resize",s)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",s)});async function s(){window.innerWidth<=1024?n.isMobile=!0:n.isMobile=!1,await e.nextTick()}async function o(){var c,l;const i=document.querySelector("body");!n.isExpanded&&n.isMobile?(n.isExpanded=!0,i!=null&&i.classList.contains("lock-scroll")||(c=document.querySelector("body"))==null||c.classList.add("lock-scroll")):n.isExpanded&&n.isMobile&&(n.isExpanded=!1,(l=document.querySelector("body"))==null||l.classList.remove("lock-scroll")),await e.nextTick()}return(i,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{"aria-controls":"nav",class:"pdap-nav-open-button",role:"button",onClick:o},vr),e.createElementVNode("nav",{id:"nav","aria-expanded":n.isMobile&&n.isExpanded||!n.isMobile,class:e.normalizeClass(a),style:e.normalizeStyle(n.isMobile?{top:`${i.topPosition}px`}:{})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),l=>(e.openBlock(),e.createElementBlock("li",{key:l.text,class:"pdap-nav-link-container"},[l.href?(e.openBlock(),e.createElementBlock("a",{key:0,class:"pdap-nav-link",href:l.href,target:"_blank",referrerpolicy:"no-referrer",onClick:o},e.toDisplayString(l.text),9,xr)):e.createCommentVNode("",!0),l.path?(e.openBlock(),e.createBlock(e.unref(z.RouterLink),{key:1,"active-class":"pdap-nav-link-current","exact-active-class":"pdap-nav-link-current-exact",class:"pdap-nav-link",to:l.path,onClick:o},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.text),1)]),_:2},1032,["to"])):e.createCommentVNode("",!0)]))),128))],14,Tr)],64))}});const Er="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MDkuNCAxMTEuNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTA5LjQgMTExLjc7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBhdGggZD0iTTAsMTAwLjhMMjYuOCwzLjJoOS4zTDkuNCwxMDAuOEgweiIvPgo8cGF0aCBkPSJNMTIzLjIsMjdoLTQuN3YxNi42aC05LjFWMS45aDEzLjhjOS4zLDAsMTUuMiw0LjUsMTUuMiwxMi4zUzEzMi43LDI3LDEyMy4yLDI3eiBNMTIzLjIsOS42aC00Ljd2OS43aDQuNwoJYzQuMSwwLDYuMS0xLjYsNi4xLTVTMTI3LjMsOS42LDEyMy4yLDkuNkwxMjMuMiw5LjZ6Ii8+CjxwYXRoIGQ9Ik0xNTEuNCw0NC4zYy03LjIsMC0xMy01LjgtMTMtMTNzNS44LTEzLDEzLTEzczEzLjMsNS40LDEzLjMsMTIuOUMxNjQuNiwzOC40LDE1OC43LDQ0LjMsMTUxLjQsNDQuM3ogTTE1MS40LDI1LjMKCWMtMywwLTQuNiwzLjEtNC42LDUuOXMxLjYsNiw0LjcsNnM0LjYtMy4yLDQuNi02UzE1NC42LDI1LjMsMTUxLjQsMjUuM0wxNTEuNCwyNS4zeiIvPgo8cGF0aCBkPSJNMTY5LDQzLjZWMS45aDguOXY0MS43QzE3Ny45LDQzLjYsMTY5LDQzLjYsMTY5LDQzLjZ6Ii8+CjxwYXRoIGQ9Ik0xODMuNSwxNVY2LjhoOC45VjE1SDE4My41eiBNMTgzLjUsNDMuNlYxOWg4Ljl2MjQuNkgxODMuNXoiLz4KPHBhdGggZD0iTTIxMC4yLDQ0LjNjLTcuOCwwLTEzLjUtNS42LTEzLjUtMTIuOWMwLTcuMSw1LjctMTMuMSwxMy41LTEzLjFjMy45LTAuMiw3LjYsMS41LDEwLDQuNmwtNS4xLDQuN2MtMS4yLTEuNC0zLTIuMy00LjktMi4zCgljLTMuMSwwLTUuMywyLjYtNS4zLDYuMWMwLDMsMi4xLDUuOSw1LjMsNS45YzIuMywwLDMuNS0wLjksNC45LTIuNUwyMjEsMzlDMjE4LDQyLjcsMjE1LDQ0LjMsMjEwLjIsNDQuM3oiLz4KPHBhdGggZD0iTTIzNi45LDQ0LjNjLTcuMiwwLTEzLjgtMy44LTEzLjgtMTMuMmMwLTguMiw1LjUtMTIuOCwxMi40LTEyLjhjNy44LDAsMTMuMSw1LjUsMTMuMSwxNC41aC0xNy4yYzAuMywyLjksMiw1LjIsNS41LDUuMgoJYzMuOCwwLDYuMS0wLjksOC4yLTIuNmwzLjgsNC44QzI0NS41LDQzLDI0MS4zLDQ0LjQsMjM2LjksNDQuM3ogTTIzNS4zLDI0Yy0yLjUsMC0zLjUsMS44LTQsNC4xaDguMUMyMzkuMywyNS42LDIzNy43LDI0LDIzNS4zLDI0egoJIi8+CjxwYXRoIGQ9Ik0yODAuMiw0My42aC0xMi42VjEuOWgxMi42YzExLjksMCwyMS43LDcuMywyMS43LDIwLjhDMzAxLjksMzYuNCwyOTEuMyw0My42LDI4MC4yLDQzLjZ6IE0yODAuMiw5LjZoLTMuNXYyNi4zaDMuNQoJYzcuOCwwLDEyLjMtNi4yLDEyLjMtMTMuMkMyOTIuNSwxNS40LDI4Ny41LDkuNiwyODAuMiw5LjZMMjgwLjIsOS42eiIvPgo8cGF0aCBkPSJNMzIyLjEsNDMuNnYtMS45Yy0yLjcsMS45LTQuMiwyLjYtOC41LDIuNmMtNC43LDAtOC45LTMtOC45LTcuN2MwLTcuNyw5LjQtOS4xLDE3LjQtOS41di0wLjljMC0xLjctMS4xLTIuMy0zLjYtMi4zCgljLTMuMSwwLTYuMSwwLjctOC44LDIuMWwtMi43LTUuM2MzLjMtMS44LDcuNC0yLjUsMTEuOC0yLjVjOC4yLDAsMTIuMiwyLjYsMTIuMiw5Ljd2MTUuN0gzMjIuMXogTTMyMi4xLDMyLjFjLTMuOCwwLTgsMC44LTgsMy42CgljMCwxLjQsMS40LDIuMywyLjksMi4zYzEuOSwwLjEsMy43LTAuNSw1LjEtMS44VjMyLjF6Ii8+CjxwYXRoIGQ9Ik0zNDUuOSw0My42Yy01LDAtOC4yLTMuOC04LjItOXYtOWgtMy4xVjE5aDMuMVY4LjdoOC45VjE5aDQuMnY2LjZoLTQuMlYzM2MwLDEuOSwxLDMuMiwyLjcsMy4yaDIuMnY3LjRMMzQ1LjksNDMuNnoiLz4KPHBhdGggZD0iTTM3Mi4yLDQzLjZ2LTEuOWMtMi43LDEuOS00LjIsMi42LTguNSwyLjZjLTQuNywwLTguOS0zLTguOS03LjdjMC03LjcsOS40LTkuMSwxNy40LTkuNXYtMC45YzAtMS43LTEuMS0yLjMtMy43LTIuMwoJYy0zLjEsMC02LjEsMC43LTguOCwyLjFsLTIuOC01LjNjMy4zLTEuOCw3LjQtMi41LDExLjgtMi41YzguMiwwLDEyLjIsMi42LDEyLjIsOS43djE1LjdIMzcyLjJ6IE0zNzIuMiwzMi4xYy0zLjgsMC04LDAuOC04LDMuNgoJYzAsMS40LDEuNCwyLjMsMi45LDIuM2MxLjksMC4xLDMuNy0wLjUsNS4xLTEuOFYzMi4xeiIvPgo8cGF0aCBkPSJNNTYuNCwxMDAuOGwtMy4yLTEwLjVINDAuNWwtMy4zLDEwLjVoLTkuN2wxNC45LTQxLjdoOC44bDE1LjEsNDEuN0g1Ni40eiBNNDcuOCw3Mi40Yy0wLjQtMS4zLTAuOS0zLTAuOS0zLjMKCWMwLDAuMi0wLjUsMS45LTAuOCwzLjNMNDMsODIuNmg4TDQ3LjgsNzIuNHoiLz4KPHBhdGggZD0iTTgxLjYsMTAxLjVjLTcuOCwwLTEzLjUtNS42LTEzLjUtMTIuOWMwLTcuMSw1LjctMTMuMSwxMy41LTEzLjFjMy45LTAuMiw3LjYsMS41LDEwLDQuNmwtNS4xLDQuN2MtMS4yLTEuNC0zLTIuMy00LjktMi4zCgljLTMuMiwwLTUuMywyLjYtNS4zLDYuMWMwLDMsMi4xLDUuOSw1LjMsNS45YzIuMywwLDMuNS0wLjksNC44LTIuNWw1LjksNC4yQzg5LjQsOTkuOSw4Ni4zLDEwMS41LDgxLjYsMTAxLjV6Ii8+CjxwYXRoIGQ9Ik0xMDgsMTAxLjVjLTcuOCwwLTEzLjUtNS42LTEzLjUtMTIuOWMwLTcuMSw1LjctMTMuMSwxMy41LTEzLjFjMy45LTAuMiw3LjYsMS41LDEwLDQuNWwtNS4xLDQuN2MtMS4yLTEuNC0zLTIuMi00LjktMi4yCgljLTMuMSwwLTUuMywyLjYtNS4zLDYuMWMwLDMsMi4xLDUuOSw1LjMsNS45YzIuMywwLDMuNS0wLjksNC44LTIuNWw2LDQuMkMxMTUuOCw5OS45LDExMi44LDEwMS41LDEwOCwxMDEuNXoiLz4KPHBhdGggZD0iTTEzNC42LDEwMS41Yy03LjIsMC0xMy44LTMuOC0xMy44LTEzLjJjMC04LjIsNS41LTEyLjgsMTIuNC0xMi44YzcuOCwwLDEzLjEsNS41LDEzLjEsMTQuNWgtMTcuMmMwLjMsMi44LDIsNS4yLDUuNSw1LjIKCWMzLjgsMCw2LjEtMC44LDguMi0yLjZsMy44LDQuOEMxNDMuMywxMDAuMiwxMzksMTAxLjYsMTM0LjYsMTAxLjV6IE0xMzMuMSw4MS4yYy0yLjUsMC0zLjUsMS44LTMuOSw0LjFoOC4xCglDMTM3LDgyLjgsMTM1LjQsODEuMiwxMzMuMSw4MS4yeiIvPgo8cGF0aCBkPSJNMTYwLDEwMS41Yy0zLjgsMC04LTAuOS0xMC42LTIuOGwyLjktNS42YzEuOSwxLjMsNC4yLDIsNi41LDIuMWMxLjksMCwyLjktMC42LDIuOS0xLjRjMC0xLjMtMS41LTEuOS0zLjUtMi42CgljLTMuMy0xLjMtNy44LTIuOC03LjgtOC4yYzAtNC45LDQuMi03LjUsMTAuMy03LjVjMy4yLTAuMSw2LjMsMC43LDksMi4zbC0yLjUsNS41Yy0xLjktMS4xLTQuMS0xLjYtNi4zLTEuNmMtMS40LDAtMi43LDAuMi0yLjcsMS4zCgljMCwwLjksMiwxLjUsNC40LDIuNGMzLjYsMS4zLDgsMy40LDgsOC4zQzE3MC40LDk5LjMsMTY1LjQsMTAxLjUsMTYwLDEwMS41eiIvPgo8cGF0aCBkPSJNMTgzLjEsMTAxLjVjLTMuOCwwLTgtMC45LTEwLjYtMi44bDIuOS01LjZjMS45LDEuMyw0LjIsMiw2LjUsMi4xYzEuOSwwLDIuOS0wLjYsMi45LTEuNGMwLTEuMy0xLjUtMS45LTMuNS0yLjYKCWMtMy4zLTEuMy03LjgtMi44LTcuOC04LjJjMC00LjksNC4yLTcuNSwxMC4zLTcuNWMzLjItMC4xLDYuMywwLjcsOSwyLjNsLTIuNSw1LjVjLTEuOS0xLjEtNC4xLTEuNi02LjMtMS42Yy0xLjQsMC0yLjcsMC4yLTIuNywxLjMKCWMwLDAuOSwyLDEuNSw0LjQsMi40YzMuNiwxLjMsOCwzLjQsOCw4LjNDMTkzLjUsOTkuMywxODguNSwxMDEuNSwxODMuMSwxMDEuNXoiLz4KPHBhdGggZD0iTTE5Ny44LDcyLjJWNjRoOC45djguMUwxOTcuOCw3Mi4yeiBNMTk3LjgsMTAwLjhWNzYuMmg4Ljl2MjQuNkMyMDYuNywxMDAuOCwxOTcuOCwxMDAuOCwxOTcuOCwxMDAuOHoiLz4KPHBhdGggZD0iTTIyOC43LDEwMS41Yy0zLDAtNi4xLTEuMy03LjQtMy4ydjIuNWgtOC45VjU5LjFoOC45djE5LjZjMS40LTEuOSw0LjUtMy4yLDcuNC0zLjJjNi45LDAsMTEuNSw2LjMsMTEuNSwxMwoJQzI0MC4yLDk1LjQsMjM1LjYsMTAxLjUsMjI4LjcsMTAxLjV6IE0yMjYuMyw4Mi43Yy0zLDAtNS4xLDIuMy01LjEsNS43czIsNS44LDUuMSw1LjhjMi45LDAsNS0yLjQsNS01LjhTMjI5LjIsODIuNywyMjYuMyw4Mi43eiIvPgo8cGF0aCBkPSJNMjQ0LjUsNzIuMlY2NGg4Ljl2OC4xTDI0NC41LDcyLjJ6IE0yNDQuNSwxMDAuOFY3Ni4yaDguOXYyNC42QzI1My40LDEwMC44LDI0NC41LDEwMC44LDI0NC41LDEwMC44eiIvPgo8cGF0aCBkPSJNMjU5LDEwMC44VjU5LjFoOC45djQxLjdIMjU5eiIvPgo8cGF0aCBkPSJNMjczLjYsNzIuMlY2NGg4Ljl2OC4xTDI3My42LDcyLjJ6IE0yNzMuNiwxMDAuOFY3Ni4yaDguOXYyNC42QzI4Mi41LDEwMC44LDI3My42LDEwMC44LDI3My42LDEwMC44eiIvPgo8cGF0aCBkPSJNMjk3LjYsMTAwLjhjLTUsMC04LjItMy44LTguMi05di05aC0zLjF2LTYuNmgzLjFWNjUuOWg4Ljl2MTAuMmg0LjJ2Ni42aC00LjJ2Ny40YzAsMS45LDEsMy4yLDIuNywzLjJoMi4ydjcuNGgtNS42VjEwMC44egoJIi8+CjxwYXRoIGQ9Ik0zMjEuNiwxMDYuM2MtMS4xLDMuMi0zLjIsNS40LTcsNS40aC01LjF2LTcuMmgxLjljMS43LDAsMy40LTEsMy40LTIuNWMwLTEuMi0wLjItMi4zLTAuNy0zLjRsLTguNS0yMi40aDkuM2wzLjQsMTEuMgoJYzAuNSwxLjQsMC44LDMuMSwwLjgsMy4xczAuNC0xLjYsMC44LTMuMWwyLjktMTEuMmg5LjJMMzIxLjYsMTA2LjN6Ii8+CjxwYXRoIGQ9Ik0zNjIsODQuMmgtNC43djE2LjZoLTkuMVY1OS4xSDM2MmM5LjMsMCwxNS4zLDQuNSwxNS4zLDEyLjNTMzcxLjUsODQuMiwzNjIsODQuMnogTTM2Miw2Ni44aC00Ljd2OS43aDQuNwoJYzQuMSwwLDYuMS0xLjYsNi4xLTVTMzY2LjEsNjYuOCwzNjIsNjYuOHoiLz4KPHBhdGggZD0iTTM5NS44LDg1LjNjLTEuMS0xLTIuNS0xLjUtMy45LTEuNWMtMi45LDAtNC4xLDIuMy00LjEsNC45djEyLjFoLTguOVY3Ni4yaDguOXYzLjNjMS4zLTIuNCwzLjctMy44LDYuNC0zLjkKCWMyLjItMC4xLDQuNCwwLjgsNS45LDIuM0wzOTUuOCw4NS4zeiIvPgo8cGF0aCBkPSJNNDEyLjgsMTAxLjVjLTcuMiwwLTEzLTUuOC0xMy0xM3M1LjgtMTMsMTMtMTNzMTMuMyw1LjQsMTMuMywxMi45QzQyNi4xLDk1LjYsNDIwLjEsMTAxLjUsNDEyLjgsMTAxLjV6IE00MTIuOCw4Mi41CgljLTMsMC00LjYsMy4xLTQuNiw1LjlzMS42LDYsNC43LDZzNC42LTMuMiw0LjYtNi4xUzQxNiw4Mi41LDQxMi44LDgyLjVMNDEyLjgsODIuNXoiLz4KPHBhdGggZD0iTTQzMC42LDExMWgtNS40di03LjRoMi4yYzEuMiwwLDEuNS0xLjEsMS41LTIuOFY3Ni4yaDguOXYyNy4yQzQzNy44LDEwOCw0MzUuNCwxMTEsNDMwLjYsMTExeiBNNDI5LDcyLjJWNjRoOC45djguMQoJTDQyOSw3Mi4yeiIvPgo8cGF0aCBkPSJNNDU0LjUsMTAxLjVjLTcuMiwwLTEzLjgtMy44LTEzLjgtMTMuMmMwLTguMiw1LjUtMTIuOCwxMi40LTEyLjhjNy44LDAsMTMuMSw1LjUsMTMuMSwxNC41SDQ0OWMwLjMsMi44LDIuMSw1LjIsNS41LDUuMgoJYzMuOCwwLDYuMS0wLjgsOC4yLTIuNmwzLjgsNC44QzQ2My4yLDEwMC4yLDQ1OC45LDEwMS42LDQ1NC41LDEwMS41eiBNNDUzLDgxLjJjLTIuNSwwLTMuNSwxLjgtMy45LDQuMWg4LjEKCUM0NTYuOSw4Mi44LDQ1NS4zLDgxLjIsNDUzLDgxLjJ6Ii8+CjxwYXRoIGQ9Ik00ODEuNiwxMDEuNWMtNy44LDAtMTMuNS01LjYtMTMuNS0xMi45YzAtNy4xLDUuNy0xMy4xLDEzLjUtMTMuMWMzLjktMC4yLDcuNiwxLjUsMTAsNC42bC01LjEsNC43Yy0xLjItMS40LTMtMi4zLTQuOS0yLjMKCWMtMy4xLDAtNS4zLDIuNi01LjMsNi4xYzAsMywyLjEsNS45LDUuMyw1LjljMi4zLDAsMy41LTAuOSw0LjktMi41bDUuOSw0LjJDNDg5LjQsOTkuOSw0ODYuNCwxMDEuNSw0ODEuNiwxMDEuNXoiLz4KPHBhdGggZD0iTTUwMy45LDEwMC44Yy01LDAtOC4yLTMuOC04LjItOXYtOWgtMy4xdi02LjZoMy4xVjY1LjloOC45djEwLjJoNC4ydjYuNmgtNC4ydjcuNGMwLDEuOSwxLDMuMiwyLjcsMy4yaDIuMnY3LjRoLTUuNlYxMDAuOHoKCSIvPgo8cG9seWdvbiBwb2ludHM9IjkxLjcsMjAuMiA3Ni4yLDIwLjIgODguNCw4IDgzLjEsMi43IDcxLjUsMTQuMyA3MS41LDAgNjQsMCA2NCwxNC4zIDUyLjMsMi43IDQ3LDggNTkuMiwyMC4yIDQzLjcsMjAuMiA0My43LDI3LjggCgk1OC4xLDI3LjggNDcsMzguOCA1Mi4zLDQ0LjEgNjQsMzIuNSA2NCw0OCA3MS41LDQ4IDcxLjUsMzIuNSA4My4xLDQ0LjEgODguNCwzOC44IDc3LjQsMjcuOCA5MS43LDI3LjggIi8+Cjwvc3ZnPgo=",Ir=["href"],Sr=["src"],zr=["src"],Or=e.defineComponent({__name:"PdapHeader",props:{logoImageSrc:{default:Er},logoImageAnchorPath:{default:"/"}},setup(t){const r=t,n=e.ref(),a=e.ref(null),s=r.logoImageAnchorPath.startsWith("/");e.onMounted(()=>{o(),window.addEventListener("resize",o)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",o)});function o(){a.value&&(n.value=a.value.offsetHeight)}return(i,c)=>(e.openBlock(),e.createElementBlock("header",{ref_key:"el",ref:a,class:"pdap-header"},[e.unref(s)?(e.openBlock(),e.createBlock(e.unref(z.RouterLink),{key:1,to:i.logoImageAnchorPath,class:"logo"},{default:e.withCtx(()=>[e.createElementVNode("img",{src:i.logoImageSrc,loading:"lazy",width:"250",alt:"Police Data Accessibility Project Logo"},null,8,zr)]),_:1},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:0,href:i.logoImageAnchorPath,class:"logo"},[e.createElementVNode("img",{src:i.logoImageSrc,loading:"lazy",width:"250",alt:"Police Data Accessibility Project Logo"},null,8,Sr)],8,Ir)),e.createVNode(he,{"top-position":n.value},null,8,["top-position"])],512))}});const br=e.createElementVNode("div",{class:"pdap-flex-container"},[e.createElementVNode("h2",{class:"mt-0"},"Search our database"),e.createElementVNode("p",{class:"pb-4 md:pb-8"},[e.createTextVNode(" If you are looking for something specific, we may already be tracking it. "),e.createElementVNode("a",{href:"https://pdap.io/data"},"Learn more about the data here.")])],-1),kr={class:"pdap-quick-search-form h-full max-h-[75-vh] justify-start p-0"},_r={class:"max-w-[unset] text-med"},Ar=["href"],Yr=["href"],Pr=e.defineComponent({__name:"QuickSearchForm",props:{baseUrlForRedirect:{default:"https://data-sources.pdap.io"}},setup(t){const r=z.useRouter(),n=t,a=[{id:"search-term",name:"searchTerm",label:"What are you looking for?",type:N.TEXT,placeholder:"Enter a keyword, or 'all'",value:""},{id:"location",name:"location",label:"From where?",type:N.TEXT,placeholder:"Enter a place, or 'all'",value:""}],s=e.ref(void 0),o=r.getRoutes().some(l=>l.path.includes("/search/"));function i(l){s.value&&Object.values(l).some(Boolean)&&(s.value=void 0)}function c(l){if(Object.values(l).every(g=>!g)){s.value="Either a search term or a location is required.";return}let{location:d,searchTerm:M}=l;d=d&&d.length>0?d:"all",M=M&&M.length>0?M:"all",o?r.push(`/search/${M}/${d}`):window.location.assign(`${n.baseUrlForRedirect}/search/${M}/${d}`)}return(l,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[br,e.createElementVNode("div",kr,[e.createVNode(we,{id:"quick-search-form",class:"flex flex-wrap gap-x-4",error:s.value,schema:a,name:"quickSearchForm",onChange:i,onSubmit:c},{default:e.withCtx(()=>[e.createVNode(Le,{type:"submit",class:"flex-grow-0 flex-shrink-0 basis-full max-w-[unset] mt-4"},{default:e.withCtx(()=>[e.createTextVNode("Search Data Sources")]),_:1})]),_:1},8,["error"]),e.createElementVNode("p",_r,[e.createTextVNode(" For example, you could search for "),e.unref(o)?(e.openBlock(),e.createBlock(e.unref(z.RouterLink),{key:0,to:"/search/stops/pittsburgh"},{default:e.withCtx(()=>[e.createTextVNode(" stops in Pittsburgh ")]),_:1})):(e.openBlock(),e.createElementBlock("a",{key:1,target:"_blank",rel:"noreferrer",href:`${n.baseUrlForRedirect}/search/stops/pittsburgh`}," stops in Pittsburgh ",8,Ar)),e.createTextVNode(" or "),e.unref(o)?(e.openBlock(),e.createBlock(e.unref(z.RouterLink),{key:2,to:"/search/complaints/all"},{default:e.withCtx(()=>[e.createTextVNode(" complaints everywhere ")]),_:1})):(e.openBlock(),e.createElementBlock("a",{key:3,target:"_blank",rel:"noreferrer",href:`${n.baseUrlForRedirect}/search/complaints/all`}," complaints everywhere ",8,Yr)),e.createTextVNode(" . ")])])],64))}});const Br=["alt","src"],Qr=e.defineComponent({__name:"TileIcon",props:{imgAltText:{},imgSrc:{}},setup(t){return(r,n)=>(e.openBlock(),e.createElementBlock("img",{class:"pdap-tile-icon",alt:r.imgAltText,src:r.imgSrc},null,8,Br))}});function Vr(t){const r=[];for(const n of t.matched){const{name:a,path:s,meta:o}=n,i=o.breadcrumbText??a;i&&r.push({text:i,path:s,active:!1})}return r.length>0&&(r[r.length-1].active=!0),r}const Rr={"aria-label":"Breadcrumb"},Ur={key:1},Fr=e.defineComponent({__name:"PdapBreadcrumbs",setup(t){const r=z.useRoute(),n=e.computed(()=>Vr(r));return(a,s)=>{const o=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("nav",Rr,[e.createVNode(e.TransitionGroup,{class:"pdap-breadcrumbs",name:"pdap-breadcrumbs",tag:"ul"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,i=>(e.openBlock(),e.createElementBlock("li",{key:i.text,class:e.normalizeClass({"is-active":i.active})},[i.active?(e.openBlock(),e.createElementBlock("span",Ur,e.toDisplayString(i.text),1)):(e.openBlock(),e.createBlock(o,{key:0,to:i.path},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.text),1)]),_:2},1032,["to"]))],2))),128))]),_:1})])}}});const Gr=(t,r)=>{const n=t.__vccOpts||t;for(const[a,s]of r)n[a]=s;return n},Wr=Gr(Fr,[["__scopeId","data-v-91ca33c0"]]);const Zr={content:["./src/**/*.vue","./src/**/*.css"],theme:{extend:{colors:{brand:{blue:{light:"rgba(var(--color-brand-blue-light)/<alpha-value>)",medium:"rgba(var(--color-brand-blue-medium)/<alpha-value>)"},gold:"rgba(var(--color-brand-gold)/<alpha-value>)",wine:"rgba(var(--color-brand-wine)/<alpha-value>)"},neutral:{50:"rgba(var(--color-neutral-50)/<alpha-value>)",100:"rgba(var(--color-neutral-100)/<alpha-value>)",200:"rgba(var(--color-neutral-200)/<alpha-value>)",300:"rgba(var(--color-neutral-300)/<alpha-value>)",400:"rgba(var(--color-neutral-400)/<alpha-value>)",500:"rgba(var(--color-neutral-500)/<alpha-value>)",600:"rgba(var(--color-neutral-600)/<alpha-value>)",700:"rgba(var(--color-neutral-700)/<alpha-value>)",800:"rgba(var(--color-neutral-800)/<alpha-value>)",900:"rgba(var(--color-neutral-900)/<alpha-value>)",950:"rgba(var(--color-neutral-950)/<alpha-value>)"}},brightness:{85:".85"},maxWidth:{"4xl":"59rem"},screens:{xs:"500px"}},fontFamily:{sans:['"Libre Franklin"',"ui-sans-serif","system-ui","-apple-system","BlinkMacSystemFont",'"Segoe UI"',"Roboto","Oxygen","Ubuntu","Cantarell",'"Fira Sans"','"Droid Sans"','"Helvetica Neue"',"sans-serif"],serif:["ui-serif","Georgia"],mono:['"Source Code Pro"',"monospace","ui-monospace","SFMono-Regular"]},fontSize:{xs:"0.75rem",sm:"0.875rem",med:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.75rem","4xl":"2rem","5xl":"2.625rem","6xl":"3rem"}}};exports.Breadcrumbs=Wr;exports.Button=Le;exports.FlexContainer=Se;exports.Footer=Fe;exports.Form=we;exports.GridContainer=Nr;exports.GridItem=Cr;exports.Header=Or;exports.Input=fe;exports.Nav=he;exports.PdapInputTypes=N;exports.QuickSearchForm=Pr;exports.TileIcon=Qr;exports.tailwindConfig=Zr;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),z=require("vue-router"),Z=e.defineComponent({__name:"PdapButton",props:{intent:{default:"primary"},isLoading:{type:Boolean,default:!1}},setup(t){const r=t,n=e.reactive({"pdap-button":!0,[`pdap-button-${r.intent}`]:!!r.intent,"pdap-button-loading":r.isLoading});return(a,o)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(n)},[e.renderSlot(a.$slots,"default")],2))}});const Oe={name:"FlexContainer"},ke=e.defineComponent({...Oe,props:{alignment:{default:"start"},component:{default:"div"}},setup(t){const r=t,n=e.reactive({"pdap-flex-container":!0,[`pdap-flex-container-${r.alignment}`]:!0});return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.component),{class:e.normalizeClass(n)},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["class"]))}}),be="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMTMuOCA4Ni4xIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMTMuOCA4Ni4xOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik0wLDgwLjlMMjEuNSwyLjZoNS4xTDUuMSw4MC45SDB6Ii8+Cjxwb2x5Z29uIHBvaW50cz0iNzguOCwyMC40IDYxLjgsMjAuNCA3NSw3LjIgNzEuMSwzLjIgNTguNCwxNS44IDU4LjQsMCA1Mi44LDAgNTIuOCwxNS44IDQwLjIsMy4yIDM2LjIsNy4yIDQ5LjUsMjAuNCAzMi41LDIwLjQgCgkzMi41LDI2IDQ4LjMsMjYgMzYuMiwzOCA0MC4yLDQyIDUyLjgsMjkuMyA1Mi44LDQ2LjMgNTguNCw0Ni4zIDU4LjQsMjkuMyA3MS4xLDQyIDc1LDM4IDYzLDI2IDc4LjgsMjYgIi8+CjxwYXRoIGQ9Ik00Mi4xLDcxLjFoLTIuNnY5LjFoLTVWNTcuM2g3LjZjNS4xLDAsOC40LDIuNCw4LjQsNi43UzQ3LjMsNzEuMSw0Mi4xLDcxLjF6IE00Mi4xLDYxLjVoLTIuNnY1LjNoMi42CgljMi4zLDAsMy4zLTAuOSwzLjMtMi43UzQ0LjMsNjEuNSw0Mi4xLDYxLjV6Ii8+CjxwYXRoIGQ9Ik02MC41LDgwLjFoLTYuOVY1Ny4zaDYuOWM2LjUsMCwxMS45LDQsMTEuOSwxMS40QzcyLjQsNzYuMiw2Ni42LDgwLjEsNjAuNSw4MC4xeiBNNjAuNSw2MS41aC0xLjl2MTQuNGgxLjkKCWM0LjMsMCw2LjctMy40LDYuNy03LjJTNjQuNSw2MS41LDYwLjUsNjEuNXoiLz4KPHBhdGggZD0iTTg4LjcsODAuMUw4Nyw3NC40aC03bC0xLjgsNS44aC01LjNsOC4yLTIyLjloNC44bDguMywyMi45aC01LjVWODAuMXogTTg0LDY0LjZjLTAuMi0wLjctMC41LTEuNi0wLjUtMS44CgljMCwwLjEtMC4yLDEtMC41LDEuOGwtMS43LDUuNmg0LjRMODQsNjQuNnoiLz4KPHBhdGggZD0iTTEwNC43LDcxLjFoLTIuNnY5LjFoLTVWNTcuM2g3LjZjNS4xLDAsOC40LDIuNCw4LjQsNi43UzEwOS44LDcxLjEsMTA0LjcsNzEuMXogTTEwNC43LDYxLjVoLTIuNnY1LjNoMi42CgljMi4zLDAsMy4zLTAuOSwzLjMtMi43UzEwNi45LDYxLjUsMTA0LjcsNjEuNXoiLz4KPC9zdmc+Cg==",_e={class:"pdap-footer"},Ae={class:"pdap-flex-container-center"},Pe={class:"pdap-footer-social-links"},Ye=["href"],Be={class:"pdap-footer-copyright"},Ve=e.createElementVNode("br",null,null,-1),Qe=e.createElementVNode("p",{class:"pdap-footer-copyright"},[e.createTextVNode(" PDAP is a non-profit. EIN: 85-4207132. "),e.createElementVNode("a",{href:"https://docs.pdap.io/meta/policy/pdap-privacy-policy",alt:"Privacy Policy",target:"_blank"},[e.createElementVNode("br"),e.createTextVNode(" Privacy Policy "),e.createElementVNode("i",{class:"fa fa-external-link"})]),e.createElementVNode("br"),e.createElementVNode("a",{href:"mailto:contact@pdap.io"},"contact@pdap.io")],-1),Re={class:"pdap-footer-widget-links"},Ue=e.createElementVNode("a",{href:"https://www.guidestar.org/profile/85-4207132",target:"_blank"},[e.createElementVNode("img",{src:"https://widgets.guidestar.org/gximage2?o=9973356&l=v4"})],-1),Fe=["href"],Ge=["src"],We=["src"],He=e.defineComponent({__name:"PdapFooter",props:{logoImageSrc:{default:be},logoImageAnchorPath:{default:"/"}},setup(t){const r=t,n=e.inject("footerLinks",[{href:"https://github.com/orgs/Police-Data-Accessibility-Project",text:"Github"},{href:"https://discord.gg/wMqex8nKZJ",text:"Discord"},{href:"https://www.linkedin.com/company/pdap",text:"LinkedIn"},{path:"/jobs",text:"Jobs"}]),a=r.logoImageAnchorPath.startsWith("/");return(o,s)=>{const i=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("footer",_e,[e.createElementVNode("div",Ae,[e.createElementVNode("ul",Pe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),c=>(e.openBlock(),e.createElementBlock("li",{key:c.text,class:"pdap-footer-link-container"},[c.href?(e.openBlock(),e.createElementBlock("a",{key:0,class:"pdap-footer-social-link",href:c.href,target:"_blank",referrerpolicy:"no-referrer"},e.toDisplayString(c.text),9,Ye)):e.createCommentVNode("",!0),c.path?(e.openBlock(),e.createBlock(i,{key:1,"active-class":"pdap-footer-social-link-current","exact-active-class":"pdap-footer-social-link-current-exact",class:"pdap-footer-social-link",to:c.path},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.text),1)]),_:2},1032,["to"])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("p",Be,[e.createTextVNode(" © "+e.toDisplayString(new Date().getFullYear())+" Police Data Accessibility Project",1),Ve]),Qe,e.createElementVNode("div",Re,[Ue,e.unref(a)?(e.openBlock(),e.createBlock(i,{key:1,to:o.logoImageAnchorPath,class:"pdap-footer-logo"},{default:e.withCtx(()=>[e.createElementVNode("img",{src:o.logoImageSrc,loading:"lazy",width:"250",alt:"Police Data Accessibility Project Logo"},null,8,We)]),_:1},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:0,href:o.logoImageAnchorPath,class:"pdap-footer-logo"},[e.createElementVNode("img",{src:o.logoImageSrc,loading:"lazy",width:"250",alt:"Police Data Accessibility Project Logo"},null,8,Ge)],8,Fe))])])])}}});function te(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);r&&(a=a.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,a)}return n}function D(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?te(Object(n),!0).forEach(function(a){Ze(t,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):te(Object(n)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(n,a))})}return t}function Ze(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function re(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return Object.keys(t).reduce((n,a)=>(r.includes(a)||(n[a]=e.unref(t[a])),n),{})}function V(t){return typeof t=="function"}function Je(t){return e.isReactive(t)||e.isReadonly(t)}function me(t,r,n){let a=t;const o=r.split(".");for(let s=0;s<o.length;s++){if(!a[o[s]])return n;a=a[o[s]]}return a}function W(t,r,n){return e.computed(()=>t.some(a=>me(r,a,{[n]:!1})[n]))}function ne(t,r,n){return e.computed(()=>t.reduce((a,o)=>{const s=me(r,o,{[n]:!1})[n]||[];return a.concat(s)},[]))}function ge(t,r,n,a){return t.call(a,e.unref(r),e.unref(n),a)}function fe(t){return t.$valid!==void 0?!t.$valid:!t}function Xe(t,r,n,a,o,s,i){let{$lazy:c,$rewardEarly:l}=o,d=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[],M=arguments.length>8?arguments[8]:void 0,g=arguments.length>9?arguments[9]:void 0,f=arguments.length>10?arguments[10]:void 0;const m=e.ref(!!a.value),u=e.ref(0);n.value=!1;const L=e.watch([r,a].concat(d,f),()=>{if(c&&!a.value||l&&!g.value&&!n.value)return;let p;try{p=ge(t,r,M,i)}catch(j){p=Promise.reject(j)}u.value++,n.value=!!u.value,m.value=!1,Promise.resolve(p).then(j=>{u.value--,n.value=!!u.value,s.value=j,m.value=fe(j)}).catch(j=>{u.value--,n.value=!!u.value,s.value=j,m.value=!0})},{immediate:!0,deep:typeof r=="object"});return{$invalid:m,$unwatch:L}}function Ke(t,r,n,a,o,s,i,c){let{$lazy:l,$rewardEarly:d}=a;const M=()=>({}),g=e.computed(()=>{if(l&&!n.value||d&&!c.value)return!1;let f=!0;try{const m=ge(t,r,i,s);o.value=m,f=fe(m)}catch(m){o.value=m}return f});return{$unwatch:M,$invalid:g}}function qe(t,r,n,a,o,s,i,c,l,d,M){const g=e.ref(!1),f=t.$params||{},m=e.ref(null);let u,L;t.$async?{$invalid:u,$unwatch:L}=Xe(t.$validator,r,g,n,a,m,o,t.$watchTargets,l,d,M):{$invalid:u,$unwatch:L}=Ke(t.$validator,r,n,a,m,o,l,d);const p=t.$message;return{$message:V(p)?e.computed(()=>p(re({$pending:g,$invalid:u,$params:re(f),$model:r,$response:m,$validator:s,$propertyPath:c,$property:i}))):p||"",$params:f,$pending:g,$invalid:u,$response:m,$unwatch:L}}function et(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const r=e.unref(t),n=Object.keys(r),a={},o={},s={};let i=null;return n.forEach(c=>{const l=r[c];switch(!0){case V(l.$validator):a[c]=l;break;case V(l):a[c]={$validator:l};break;case c==="$validationGroups":i=l;break;case c.startsWith("$"):s[c]=l;break;default:o[c]=l}}),{rules:a,nestedValidators:o,config:s,validationGroups:i}}const tt="__root";function rt(t,r,n,a,o,s,i,c,l){const d=Object.keys(t),M=a.get(o,t),g=e.ref(!1),f=e.ref(!1),m=e.ref(0);if(M){if(!M.$partial)return M;M.$unwatch(),g.value=M.$dirty.value}const u={$dirty:g,$path:o,$touch:()=>{g.value||(g.value=!0)},$reset:()=>{g.value&&(g.value=!1)},$commit:()=>{}};return d.length?(d.forEach(L=>{u[L]=qe(t[L],r,u.$dirty,s,i,L,n,o,l,f,m)}),u.$externalResults=e.computed(()=>c.value?[].concat(c.value).map((L,p)=>({$propertyPath:o,$property:n,$validator:"$externalResults",$uid:`${o}-externalResult-${p}`,$message:L,$params:{},$response:null,$pending:!1})):[]),u.$invalid=e.computed(()=>{const L=d.some(p=>e.unref(u[p].$invalid));return f.value=L,!!u.$externalResults.value.length||L}),u.$pending=e.computed(()=>d.some(L=>e.unref(u[L].$pending))),u.$error=e.computed(()=>u.$dirty.value?u.$pending.value||u.$invalid.value:!1),u.$silentErrors=e.computed(()=>d.filter(L=>e.unref(u[L].$invalid)).map(L=>{const p=u[L];return e.reactive({$propertyPath:o,$property:n,$validator:L,$uid:`${o}-${L}`,$message:p.$message,$params:p.$params,$response:p.$response,$pending:p.$pending})}).concat(u.$externalResults.value)),u.$errors=e.computed(()=>u.$dirty.value?u.$silentErrors.value:[]),u.$unwatch=()=>d.forEach(L=>{u[L].$unwatch()}),u.$commit=()=>{f.value=!0,m.value=Date.now()},a.set(o,t,u),u):(M&&a.set(o,t,u),u)}function nt(t,r,n,a,o,s,i){const c=Object.keys(t);return c.length?c.reduce((l,d)=>(l[d]=H({validations:t[d],state:r,key:d,parentKey:n,resultsCache:a,globalConfig:o,instance:s,externalResults:i}),l),{}):{}}function at(t,r,n){const a=e.computed(()=>[r,n].filter(u=>u).reduce((u,L)=>u.concat(Object.values(e.unref(L))),[])),o=e.computed({get(){return t.$dirty.value||(a.value.length?a.value.every(u=>u.$dirty):!1)},set(u){t.$dirty.value=u}}),s=e.computed(()=>{const u=e.unref(t.$silentErrors)||[],L=a.value.filter(p=>(e.unref(p).$silentErrors||[]).length).reduce((p,j)=>p.concat(...j.$silentErrors),[]);return u.concat(L)}),i=e.computed(()=>{const u=e.unref(t.$errors)||[],L=a.value.filter(p=>(e.unref(p).$errors||[]).length).reduce((p,j)=>p.concat(...j.$errors),[]);return u.concat(L)}),c=e.computed(()=>a.value.some(u=>u.$invalid)||e.unref(t.$invalid)||!1),l=e.computed(()=>a.value.some(u=>e.unref(u.$pending))||e.unref(t.$pending)||!1),d=e.computed(()=>a.value.some(u=>u.$dirty)||a.value.some(u=>u.$anyDirty)||o.value),M=e.computed(()=>o.value?l.value||c.value:!1),g=()=>{t.$touch(),a.value.forEach(u=>{u.$touch()})},f=()=>{t.$commit(),a.value.forEach(u=>{u.$commit()})},m=()=>{t.$reset(),a.value.forEach(u=>{u.$reset()})};return a.value.length&&a.value.every(u=>u.$dirty)&&g(),{$dirty:o,$errors:i,$invalid:c,$anyDirty:d,$error:M,$pending:l,$touch:g,$reset:m,$silentErrors:s,$commit:f}}function H(t){let{validations:r,state:n,key:a,parentKey:o,childResults:s,resultsCache:i,globalConfig:c={},instance:l,externalResults:d}=t;const M=o?`${o}.${a}`:a,{rules:g,nestedValidators:f,config:m,validationGroups:u}=et(r),L=D(D({},c),m),p=a?e.computed(()=>{const y=e.unref(n);return y?e.unref(y[a]):void 0}):n,j=D({},e.unref(d)||{}),h=e.computed(()=>{const y=e.unref(d);return a?y?e.unref(y[a]):void 0:y}),b=rt(g,p,a,i,M,L,l,h,n),N=nt(f,p,M,i,L,l,h),E={};u&&Object.entries(u).forEach(y=>{let[S,C]=y;E[S]={$invalid:W(C,N,"$invalid"),$error:W(C,N,"$error"),$pending:W(C,N,"$pending"),$errors:ne(C,N,"$errors"),$silentErrors:ne(C,N,"$silentErrors")}});const{$dirty:$,$errors:Y,$invalid:U,$anyDirty:Ce,$error:De,$pending:F,$touch:G,$reset:Te,$silentErrors:xe,$commit:ee}=at(b,N,s),Ee=a?e.computed({get:()=>e.unref(p),set:y=>{$.value=!0;const S=e.unref(n),C=e.unref(d);C&&(C[a]=j[a]),e.isRef(S[a])?S[a].value=y:S[a]=y}}):null;a&&L.$autoDirty&&e.watch(p,()=>{$.value||G();const y=e.unref(d);y&&(y[a]=j[a])},{flush:"sync"});async function Se(){return G(),L.$rewardEarly&&(ee(),await e.nextTick()),await e.nextTick(),new Promise(y=>{if(!F.value)return y(!U.value);const S=e.watch(F,()=>{y(!U.value),S()})})}function Ie(y){return(s.value||{})[y]}function ze(){e.isRef(d)?d.value=j:Object.keys(j).length===0?Object.keys(d).forEach(y=>{delete d[y]}):Object.assign(d,j)}return e.reactive(D(D(D({},b),{},{$model:Ee,$dirty:$,$error:De,$errors:Y,$invalid:U,$anyDirty:Ce,$pending:F,$touch:G,$reset:Te,$path:M||tt,$silentErrors:xe,$validate:Se,$commit:ee},s&&{$getResultsForChild:Ie,$clearExternalResults:ze,$validationGroups:E}),N))}class ot{constructor(){this.storage=new Map}set(r,n,a){this.storage.set(r,{rules:n,result:a})}checkRulesValidity(r,n,a){const o=Object.keys(a),s=Object.keys(n);return s.length!==o.length||!s.every(c=>o.includes(c))?!1:s.every(c=>n[c].$params?Object.keys(n[c].$params).every(l=>e.unref(a[c].$params[l])===e.unref(n[c].$params[l])):!0)}get(r,n){const a=this.storage.get(r);if(!a)return;const{rules:o,result:s}=a,i=this.checkRulesValidity(r,n,o),c=s.$unwatch?s.$unwatch:()=>({});return i?s:{$dirty:s.$dirty,$partial:!0,$unwatch:c}}}const B={COLLECT_ALL:!0,COLLECT_NONE:!1},ae=Symbol("vuelidate#injectChildResults"),oe=Symbol("vuelidate#removeChildResults");function st(t){let{$scope:r,instance:n}=t;const a={},o=e.ref([]),s=e.computed(()=>o.value.reduce((M,g)=>(M[g]=e.unref(a[g]),M),{}));function i(M,g){let{$registerAs:f,$scope:m,$stopPropagation:u}=g;u||r===B.COLLECT_NONE||m===B.COLLECT_NONE||r!==B.COLLECT_ALL&&r!==m||(a[f]=M,o.value.push(f))}n.__vuelidateInjectInstances=[].concat(n.__vuelidateInjectInstances||[],i);function c(M){o.value=o.value.filter(g=>g!==M),delete a[M]}n.__vuelidateRemoveInstances=[].concat(n.__vuelidateRemoveInstances||[],c);const l=e.inject(ae,[]);e.provide(ae,n.__vuelidateInjectInstances);const d=e.inject(oe,[]);return e.provide(oe,n.__vuelidateRemoveInstances),{childResults:s,sendValidationResultsToParent:l,removeValidationResultsFromParent:d}}function je(t){return new Proxy(t,{get(r,n){return typeof r[n]=="object"?je(r[n]):e.computed(()=>r[n])}})}let se=0;function ut(t,r){var n;let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};arguments.length===1&&(a=t,t=void 0,r=void 0);let{$registerAs:o,$scope:s=B.COLLECT_ALL,$stopPropagation:i,$externalResults:c,currentVueInstance:l}=a;const d=l||((n=e.getCurrentInstance())===null||n===void 0?void 0:n.proxy),M=d?d.$options:{};o||(se+=1,o=`_vuelidate_${se}`);const g=e.ref({}),f=new ot,{childResults:m,sendValidationResultsToParent:u,removeValidationResultsFromParent:L}=d?st({$scope:s,instance:d}):{childResults:e.ref({})};if(!t&&M.validations){const p=M.validations;r=e.ref({}),e.onBeforeMount(()=>{r.value=d,e.watch(()=>V(p)?p.call(r.value,new je(r.value)):p,j=>{g.value=H({validations:j,state:r,childResults:m,resultsCache:f,globalConfig:a,instance:d,externalResults:c||d.vuelidateExternalResults})},{immediate:!0})}),a=M.validationsConfig||a}else{const p=e.isRef(t)||Je(t)?t:e.reactive(t||{});e.watch(p,j=>{g.value=H({validations:j,state:r,childResults:m,resultsCache:f,globalConfig:a,instance:d??{},externalResults:c})},{immediate:!0})}return d&&(u.forEach(p=>p(g,{$registerAs:o,$scope:s,$stopPropagation:i})),e.onBeforeUnmount(()=>L.forEach(p=>p(o)))),e.computed(()=>D(D({},e.unref(g.value)),m.value))}var v=(t=>(t.CHECKBOX="checkbox",t.TEXT="text",t.PASSWORD="password",t))(v||{});const it=["id","type","name","placeholder","value"],ct=e.defineComponent({__name:"InputText",props:{type:{},error:{},id:{},label:{},name:{},placeholder:{},value:{}},emits:["change","input"],setup(t,{emit:r}){const n=r,a=s=>{n("change",s)},o=s=>{n("input",s)};return(s,i)=>(e.openBlock(),e.createElementBlock("input",e.mergeProps({id:s.id,type:s.type,name:s.name,placeholder:s.placeholder,value:s.value},s.$attrs,{onChange:a,onInput:o}),null,16,it))}}),lt=["id","name","checked","value"],dt=e.defineComponent({__name:"InputCheckbox",props:{defaultChecked:{type:Boolean},type:{},error:{},id:{},label:{},name:{},placeholder:{},value:{}},emits:["change"],setup(t,{emit:r}){const n=r,a=o=>{n("change",o)};return(o,s)=>(e.openBlock(),e.createElementBlock("input",e.mergeProps({id:o.id,name:o.name,checked:o.value==="true",value:o.value,class:"pdap-input-checkbox",type:"checkbox"},o.$attrs,{onChange:a}),null,16,lt))}}),Lt=["id"],Mt=["for"],ye=e.defineComponent({__name:"PdapInput",props:{type:{},error:{},id:{},label:{},name:{},placeholder:{},value:{},defaultChecked:{type:Boolean}},setup(t){const r=t,n=e.computed(()=>`pdap-${r.name}-input-error`);return(a,o)=>{var s;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"pdap-input":!0,[`pdap-input-${a.type}`]:!0,[`pdap-input-${a.type}-checked`]:a.type===e.unref(v).CHECKBOX&&a.value==="true","pdap-input-error":Number((s=a.error)==null?void 0:s.length)>=1})},[a.type===e.unref(v).CHECKBOX?(e.openBlock(),e.createBlock(dt,e.mergeProps({key:0,class:"pdap-input-checkbox"},{...a.$attrs,...r}),null,16)):(e.openBlock(),e.createBlock(ct,e.normalizeProps(e.mergeProps({key:1},{...a.$attrs,...a.$props})),null,16)),a.error?(e.openBlock(),e.createElementBlock("div",{key:2,id:n.value,class:"pdap-input-error-message"},e.toDisplayString(a.error),9,Lt)):e.createCommentVNode("",!0),e.createElementVNode("label",{class:"pdap-input-label",for:a.id},e.toDisplayString(a.label),9,Mt)],2)}}});function ue(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);r&&(a=a.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,a)}return n}function O(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?ue(Object(n),!0).forEach(function(a){pt(t,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ue(Object(n)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(n,a))})}return t}function pt(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function A(t){return typeof t=="function"}function Q(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function R(t){return A(t.$validator)?O({},t):{$validator:t}}function mt(t){return Q(t)&&A(t.then)}function T(t){return typeof t=="object"?t.$valid:t}function I(t){return t.$validator||t}function J(t,r){if(!Q(t))throw new Error(`[@vuelidate/validators]: First parameter to "withParams" should be an object, provided ${typeof t}`);if(!Q(r)&&!A(r))throw new Error("[@vuelidate/validators]: Validator must be a function or object with $validator parameter");const n=R(r);return n.$params=O(O({},n.$params||{}),t),n}function P(t,r){if(!A(t)&&typeof e.unref(t)!="string")throw new Error(`[@vuelidate/validators]: First parameter to "withMessage" should be string or a function returning a string, provided ${typeof t}`);if(!Q(r)&&!A(r))throw new Error("[@vuelidate/validators]: Validator must be a function or object with $validator parameter");const n=R(r);return n.$message=t,n}function gt(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];const n=R(t);return O(O({},n),{},{$async:!0,$watchTargets:r})}function ft(t){return{$validator(r){for(var n=arguments.length,a=new Array(n>1?n-1:0),o=1;o<n;o++)a[o-1]=arguments[o];return e.unref(r).reduce((s,i,c)=>{const l=Object.entries(i).reduce((d,M)=>{let[g,f]=M;const m=t[g]||{},u=Object.entries(m).reduce((L,p)=>{let[j,h]=p;const N=I(h).call(this,f,i,c,...a),E=T(N);if(L.$data[j]=N,L.$data.$invalid=!E||!!L.$data.$invalid,L.$data.$error=L.$data.$invalid,!E){let $=h.$message||"";const Y=h.$params||{};typeof $=="function"&&($=$({$pending:!1,$invalid:!E,$params:Y,$model:f,$response:N})),L.$errors.push({$property:g,$message:$,$params:Y,$response:N,$model:f,$pending:!1,$validator:j})}return{$valid:L.$valid&&E,$data:L.$data,$errors:L.$errors}},{$valid:!0,$data:{},$errors:[]});return d.$data[g]=u.$data,d.$errors[g]=u.$errors,{$valid:d.$valid&&u.$valid,$data:d.$data,$errors:d.$errors}},{$valid:!0,$data:{},$errors:{}});return{$valid:s.$valid&&l.$valid,$data:s.$data.concat(l.$data),$errors:s.$errors.concat(l.$errors)}},{$valid:!0,$data:[],$errors:[]})},$message:r=>{let{$response:n}=r;return n?n.$errors.map(a=>Object.values(a).map(o=>o.map(s=>s.$message)).reduce((o,s)=>o.concat(s),[])):[]}}}const w=t=>{if(t=e.unref(t),Array.isArray(t))return!!t.length;if(t==null)return!1;if(t===!1)return!0;if(t instanceof Date)return!isNaN(t.getTime());if(typeof t=="object"){for(let r in t)return!0;return!1}return!!String(t).length},X=t=>(t=e.unref(t),Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:String(t).length);function x(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return a=>(a=e.unref(a),!w(a)||r.every(o=>(o.lastIndex=0,o.test(a))))}var k=Object.freeze({__proto__:null,forEach:ft,len:X,normalizeValidatorObject:R,regex:x,req:w,unwrap:e.unref,unwrapNormalizedValidator:I,unwrapValidatorResponse:T,withAsync:gt,withMessage:P,withParams:J}),jt=x(/^[a-zA-Z]*$/),yt={$validator:jt,$message:"The value is not alphabetical",$params:{type:"alpha"}},wt=x(/^[a-zA-Z0-9]*$/),ht={$validator:wt,$message:"The value must be alpha-numeric",$params:{type:"alphaNum"}},Nt=x(/^\d*(\.\d+)?$/),vt={$validator:Nt,$message:"Value must be numeric",$params:{type:"numeric"}};function $t(t,r){return n=>!w(n)||(!/\s/.test(n)||n instanceof Date)&&+e.unref(t)<=+n&&+e.unref(r)>=+n}function Ct(t,r){return{$validator:$t(t,r),$message:n=>{let{$params:a}=n;return`The value must be between ${a.min} and ${a.max}`},$params:{min:t,max:r,type:"between"}}}const Dt=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;var Tt=x(Dt),K={$validator:Tt,$message:"Value is not a valid email address",$params:{type:"email"}};function xt(t){if(!w(t))return!0;if(typeof t!="string")return!1;const r=t.split(".");return r.length===4&&r.every(Et)}const Et=t=>{if(t.length>3||t.length===0||t[0]==="0"&&t!=="0"||!t.match(/^\d+$/))return!1;const r=+t|0;return r>=0&&r<=255};var St={$validator:xt,$message:"The value is not a valid IP address",$params:{type:"ipAddress"}};function It(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:":";return r=>{if(t=e.unref(t),!w(r))return!0;if(typeof r!="string")return!1;const n=typeof t=="string"&&t!==""?r.split(t):r.length===12||r.length===16?r.match(/.{2}/g):null;return n!==null&&(n.length===6||n.length===8)&&n.every(zt)}}const zt=t=>t.toLowerCase().match(/^[0-9a-f]{2}$/);function Ot(t){return{$validator:It(t),$message:"The value is not a valid MAC Address",$params:{type:"macAddress"}}}function kt(t){return r=>!w(r)||X(r)<=e.unref(t)}function bt(t){return{$validator:kt(t),$message:r=>{let{$params:n}=r;return`The maximum length allowed is ${n.max}`},$params:{max:t,type:"maxLength"}}}function _t(t){return r=>!w(r)||X(r)>=e.unref(t)}function At(t){return{$validator:_t(t),$message:r=>{let{$params:n}=r;return`This field should be at least ${n.min} characters long`},$params:{min:t,type:"minLength"}}}function Pt(t){return typeof t=="string"&&(t=t.trim()),w(t)}var q={$validator:Pt,$message:"Value is required",$params:{type:"required"}};const ie=(t,r)=>t?w(typeof r=="string"?r.trim():r):!0;function Yt(t){return function(r,n){if(typeof t!="function")return ie(e.unref(t),r);const a=t.call(this,r,n);return ie(a,r)}}function Bt(t){return{$validator:Yt(t),$message:"The value is required",$params:{type:"requiredIf",prop:t}}}const ce=(t,r)=>t?!0:w(typeof r=="string"?r.trim():r);function Vt(t){return function(r,n){if(typeof t!="function")return ce(e.unref(t),r);const a=t.call(this,r,n);return ce(a,r)}}function Qt(t){return{$validator:Vt(t),$message:"The value is required",$params:{type:"requiredUnless",prop:t}}}function Rt(t){return r=>e.unref(r)===e.unref(t)}function Ut(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"other";return{$validator:Rt(t),$message:n=>`The value must be equal to the ${r} value`,$params:{equalTo:t,otherName:r,type:"sameAs"}}}const Ft=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i;var Gt=x(Ft),Wt={$validator:Gt,$message:"The value is not a valid URL address",$params:{type:"url"}};function Ht(t){return function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return t.reduce((o,s)=>T(o)?o:I(s).apply(this,n),!1)}}function Zt(t){return function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return t.reduce(async(o,s)=>{const i=await o;return T(i)?i:I(s).apply(this,n)},Promise.resolve(!1))}}function Jt(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];const a=r.some(i=>i.$async),o=r.reduce((i,c)=>c.$watchTargets?i.concat(c.$watchTargets):i,[]);let s=()=>!1;return r.length&&(s=a?Zt(r):Ht(r)),{$async:a,$validator:s,$watchTargets:o}}function Xt(){return J({type:"or"},P("The value does not match any of the provided validators",Jt(...arguments)))}function Kt(t){return function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return t.reduce((o,s)=>T(o)?I(s).apply(this,n):o,!0)}}function qt(t){return function(){for(var r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return t.reduce(async(o,s)=>{const i=await o;return T(i)?I(s).apply(this,n):i},Promise.resolve(!0))}}function er(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];const a=r.some(i=>i.$async),o=r.reduce((i,c)=>c.$watchTargets?i.concat(c.$watchTargets):i,[]);let s=()=>!1;return r.length&&(s=a?qt(r):Kt(r)),{$async:a,$validator:s,$watchTargets:o}}function tr(){return J({type:"and"},P("The value does not match all of the provided validators",er(...arguments)))}function rr(t){return function(r,n){if(!w(r))return!0;const a=I(t).call(this,r,n);return mt(a)?a.then(o=>!T(o)):!T(a)}}function nr(t){return{$validator:rr(t),$message:"The value does not match the provided validator",$params:{type:"not"}}}function ar(t){return r=>!w(r)||(!/\s/.test(r)||r instanceof Date)&&+r>=+e.unref(t)}function or(t){return{$validator:ar(t),$message:r=>{let{$params:n}=r;return`The minimum value allowed is ${n.min}`},$params:{min:t,type:"minValue"}}}function sr(t){return r=>!w(r)||(!/\s/.test(r)||r instanceof Date)&&+r<=+e.unref(t)}var ur=t=>({$validator:sr(t),$message:r=>{let{$params:n}=r;return`The maximum value allowed is ${n.max}`},$params:{max:t,type:"maxValue"}}),ir=x(/(^[0-9]*$)|(^-[0-9]+$)/),cr={$validator:ir,$message:"Value is not an integer",$params:{type:"integer"}},lr=x(/^[-]?\d*(\.\d+)?$/),dr={$validator:lr,$message:"Value must be decimal",$params:{type:"decimal"}};function Lr(t){let{t:r,messagePath:n=o=>{let{$validator:s}=o;return`validations.${s}`},messageParams:a=o=>o}=t;return function(s){let{withArguments:i=!1,messagePath:c=n,messageParams:l=a}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};function d(M){return r(c(M),l(O({model:M.$model,property:M.$property,pending:M.$pending,invalid:M.$invalid,response:M.$response,validator:M.$validator,propertyPath:M.$propertyPath},M.$params)))}return i&&typeof s=="function"?function(){return P(d,s(...arguments))}:P(d,s)}}const we=Object.freeze(Object.defineProperty({__proto__:null,alpha:yt,alphaNum:ht,and:tr,between:Ct,createI18nMessage:Lr,decimal:dr,email:K,helpers:k,integer:cr,ipAddress:St,macAddress:Ot,maxLength:bt,maxValue:ur,minLength:At,minValue:or,not:nr,numeric:vt,or:Xt,required:q,requiredIf:Bt,requiredUnless:Qt,sameAs:Ut,url:Wt},Symbol.toStringTag,{value:"Module"})),he=k.regex(/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/);function le(t){return["maxLength","minLength"].includes(t)}function de(t){return t==="required"}function Le(t){return t==="email"}function Me(t){return t==="password"}function Mr(t,r){return{[t]:we[t](r)}}function pr(t,r,n){return{[t]:k.withMessage(n,we[t](r))}}function mr(){return{required:q}}function gr(t){return{required:k.withMessage(t,q)}}function fr(){return{email:K}}function jr(t){return{email:k.withMessage(t,K)}}function yr(){return{password:he}}function wr(t){return{password:k.withMessage(t,he)}}function hr(t,r){if(le(t)&&typeof r.message=="string"&&typeof r.value=="number")return pr(t,r.value,r.message);if(le(t)&&typeof r.message>"u"&&typeof r.value=="number")return Mr(t,r.value);if(Le(t)&&typeof r.message=="string")return jr(r.message);if(Le(t)&&typeof r.message>"u")return fr();if(Me(t)&&typeof r.message=="string")return wr(r.message);if(Me(t)&&typeof r.message>"u")return yr();if(de(t)&&typeof r.message=="string")return gr(r.message);if(de(t)&&typeof r.message>"u")return mr();throw new Error("No valid rule detected")}const Nr=["id","name"],vr={key:0,class:"pdap-form-error-message"},Ne=e.defineComponent({__name:"PdapForm",props:{error:{default:null},id:{},name:{},schema:{}},emits:["submit","change"],setup(t,{emit:r}){const n=t,a=r,o=e.computed(()=>n.schema.map(f=>{const m={...f};return delete m.validators,m})),s=e.ref(o.value.reduce((f,m)=>{switch(m.type){case v.CHECKBOX:return{...f,[m.name]:String(m.defaultChecked)};case v.TEXT:case v.PASSWORD:default:return{...f,[m.name]:m.value}}},{})),i=n.schema.reduce((f,m)=>{const u=Object.entries(m.validators??{}).reduce((L,[p,j])=>({...L,...hr(p,j)}),{});return{...f,[m.name]:{...u}}},{}),c=ut(i,s,{$autoDirty:!1,$lazy:!0}),l=e.ref(n.error);function d(f,m){const u=m.target,L=u.type===v.CHECKBOX&&typeof u.checked=="boolean"?u.checked.toString():u.value;s.value[f]=L,M()}e.watchEffect(()=>{n.error?l.value=n.error:l.value&&c.value.$errors.length===0?l.value=null:!l.value&&c.value.$errors.length>0&&(l.value="Please update this form to correct the errors")}),e.watchEffect(()=>{});function M(){a("change",{...s.value})}async function g(f){if(await c.value.$validate()){a("submit",{...s.value}),c.value.$reset(),f.target.reset(),s.value=Object.entries(s).reduce((L,[p])=>({...L,[p]:""}),{});return}}return(f,m)=>(e.openBlock(),e.createElementBlock("form",{id:f.id,name:f.name,class:"pdap-form",onChange:M,onSubmit:m[0]||(m[0]=e.withModifiers(u=>g(u),["prevent"]))},[typeof l.value=="string"?(e.openBlock(),e.createElementBlock("div",vr,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,u=>{var L,p,j,h;return e.openBlock(),e.createBlock(ye,e.mergeProps(u,{key:u.name,error:(L=e.unref(c)[u.name])!=null&&L.$error?(h=(j=(p=e.unref(c)[u.name])==null?void 0:p.$errors)==null?void 0:j[0])==null?void 0:h.$message:"",value:s.value[u.name],onChange:b=>d(u.name,b)}),null,16,["error","value","onChange"])}),128)),e.renderSlot(f.$slots,"default")],40,Nr))}});const $r={name:"GridContainer"},Cr=e.defineComponent({...$r,props:{columns:{default:"auto"},component:{default:"div"},rows:{default:"auto"},templateColumns:{},templateRows:{}},setup(t){const r=t,n=e.reactive({"pdap-grid-container":!0,[`pdap-grid-container-column-${r.columns}`]:r.columns!=="auto"}),a=r.templateRows||typeof r.rows=="number",o=r.templateRows??`repeat(${r.rows}, minmax(0, 1fr))`,s=e.reactive({...a&&{gridTemplateRows:o},...r.templateColumns&&{gridTemplateColumns:r.templateColumns}});return(i,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.component),{class:e.normalizeClass(n),style:e.normalizeStyle(s)},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class","style"]))}}),Dr={name:"GridItem"},Tr=e.defineComponent({...Dr,props:{component:{default:"div"},spanColumn:{default:1},spanRow:{default:1}},setup(t){const r=t,n=e.reactive({"pdap-grid-item":!0,[`pdap-grid-item-span-column-${r.spanColumn}`]:r.spanColumn>1}),a=e.reactive({...r.spanRow>1&&{gridRow:`span ${r.spanRow} / span ${r.spanRow}`}});return(o,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),{class:e.normalizeClass(n),style:e.normalizeStyle(a)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class","style"]))}});const xr=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},[e.createElementVNode("path",{d:"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"})],-1),Er=[xr],Sr=["aria-expanded"],Ir=["href"],ve=e.defineComponent({__name:"PdapNav",props:{topPosition:{}},setup(t){let r=e.inject("navLinks");typeof r>"u"&&(r=[],console.error(`Hey, PDAP developer
2
+ `,"Did you forget to inject some linkData for the Nav component?"));const n=e.reactive({isExpanded:!1,isMobile:!0}),a=e.reactive({"pdap-nav":!0});e.onBeforeMount(()=>{o(),window.addEventListener("resize",o)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",o)});async function o(){window.innerWidth<=1024?n.isMobile=!0:n.isMobile=!1,await e.nextTick()}async function s(){var c,l;const i=document.querySelector("body");!n.isExpanded&&n.isMobile?(n.isExpanded=!0,i!=null&&i.classList.contains("lock-scroll")||(c=document.querySelector("body"))==null||c.classList.add("lock-scroll")):n.isExpanded&&n.isMobile&&(n.isExpanded=!1,(l=document.querySelector("body"))==null||l.classList.remove("lock-scroll")),await e.nextTick()}return(i,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{"aria-controls":"nav",class:"pdap-nav-open-button",role:"button",onClick:s},Er),e.createElementVNode("nav",{id:"nav","aria-expanded":n.isMobile&&n.isExpanded||!n.isMobile,class:e.normalizeClass(a),style:e.normalizeStyle(n.isMobile?{top:`${i.topPosition}px`}:{})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),l=>(e.openBlock(),e.createElementBlock("li",{key:l.text,class:"pdap-nav-link-container"},[l.href?(e.openBlock(),e.createElementBlock("a",{key:0,class:"pdap-nav-link",href:l.href,target:"_blank",referrerpolicy:"no-referrer",onClick:s},e.toDisplayString(l.text),9,Ir)):e.createCommentVNode("",!0),l.path?(e.openBlock(),e.createBlock(e.unref(z.RouterLink),{key:1,"active-class":"pdap-nav-link-current","exact-active-class":"pdap-nav-link-current-exact",class:"pdap-nav-link",to:l.path,onClick:s},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.text),1)]),_:2},1032,["to"])):e.createCommentVNode("",!0)]))),128))],14,Sr)],64))}});const zr="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MDkuNCAxMTEuNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTA5LjQgMTExLjc7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBhdGggZD0iTTAsMTAwLjhMMjYuOCwzLjJoOS4zTDkuNCwxMDAuOEgweiIvPgo8cGF0aCBkPSJNMTIzLjIsMjdoLTQuN3YxNi42aC05LjFWMS45aDEzLjhjOS4zLDAsMTUuMiw0LjUsMTUuMiwxMi4zUzEzMi43LDI3LDEyMy4yLDI3eiBNMTIzLjIsOS42aC00Ljd2OS43aDQuNwoJYzQuMSwwLDYuMS0xLjYsNi4xLTVTMTI3LjMsOS42LDEyMy4yLDkuNkwxMjMuMiw5LjZ6Ii8+CjxwYXRoIGQ9Ik0xNTEuNCw0NC4zYy03LjIsMC0xMy01LjgtMTMtMTNzNS44LTEzLDEzLTEzczEzLjMsNS40LDEzLjMsMTIuOUMxNjQuNiwzOC40LDE1OC43LDQ0LjMsMTUxLjQsNDQuM3ogTTE1MS40LDI1LjMKCWMtMywwLTQuNiwzLjEtNC42LDUuOXMxLjYsNiw0LjcsNnM0LjYtMy4yLDQuNi02UzE1NC42LDI1LjMsMTUxLjQsMjUuM0wxNTEuNCwyNS4zeiIvPgo8cGF0aCBkPSJNMTY5LDQzLjZWMS45aDguOXY0MS43QzE3Ny45LDQzLjYsMTY5LDQzLjYsMTY5LDQzLjZ6Ii8+CjxwYXRoIGQ9Ik0xODMuNSwxNVY2LjhoOC45VjE1SDE4My41eiBNMTgzLjUsNDMuNlYxOWg4Ljl2MjQuNkgxODMuNXoiLz4KPHBhdGggZD0iTTIxMC4yLDQ0LjNjLTcuOCwwLTEzLjUtNS42LTEzLjUtMTIuOWMwLTcuMSw1LjctMTMuMSwxMy41LTEzLjFjMy45LTAuMiw3LjYsMS41LDEwLDQuNmwtNS4xLDQuN2MtMS4yLTEuNC0zLTIuMy00LjktMi4zCgljLTMuMSwwLTUuMywyLjYtNS4zLDYuMWMwLDMsMi4xLDUuOSw1LjMsNS45YzIuMywwLDMuNS0wLjksNC45LTIuNUwyMjEsMzlDMjE4LDQyLjcsMjE1LDQ0LjMsMjEwLjIsNDQuM3oiLz4KPHBhdGggZD0iTTIzNi45LDQ0LjNjLTcuMiwwLTEzLjgtMy44LTEzLjgtMTMuMmMwLTguMiw1LjUtMTIuOCwxMi40LTEyLjhjNy44LDAsMTMuMSw1LjUsMTMuMSwxNC41aC0xNy4yYzAuMywyLjksMiw1LjIsNS41LDUuMgoJYzMuOCwwLDYuMS0wLjksOC4yLTIuNmwzLjgsNC44QzI0NS41LDQzLDI0MS4zLDQ0LjQsMjM2LjksNDQuM3ogTTIzNS4zLDI0Yy0yLjUsMC0zLjUsMS44LTQsNC4xaDguMUMyMzkuMywyNS42LDIzNy43LDI0LDIzNS4zLDI0egoJIi8+CjxwYXRoIGQ9Ik0yODAuMiw0My42aC0xMi42VjEuOWgxMi42YzExLjksMCwyMS43LDcuMywyMS43LDIwLjhDMzAxLjksMzYuNCwyOTEuMyw0My42LDI4MC4yLDQzLjZ6IE0yODAuMiw5LjZoLTMuNXYyNi4zaDMuNQoJYzcuOCwwLDEyLjMtNi4yLDEyLjMtMTMuMkMyOTIuNSwxNS40LDI4Ny41LDkuNiwyODAuMiw5LjZMMjgwLjIsOS42eiIvPgo8cGF0aCBkPSJNMzIyLjEsNDMuNnYtMS45Yy0yLjcsMS45LTQuMiwyLjYtOC41LDIuNmMtNC43LDAtOC45LTMtOC45LTcuN2MwLTcuNyw5LjQtOS4xLDE3LjQtOS41di0wLjljMC0xLjctMS4xLTIuMy0zLjYtMi4zCgljLTMuMSwwLTYuMSwwLjctOC44LDIuMWwtMi43LTUuM2MzLjMtMS44LDcuNC0yLjUsMTEuOC0yLjVjOC4yLDAsMTIuMiwyLjYsMTIuMiw5Ljd2MTUuN0gzMjIuMXogTTMyMi4xLDMyLjFjLTMuOCwwLTgsMC44LTgsMy42CgljMCwxLjQsMS40LDIuMywyLjksMi4zYzEuOSwwLjEsMy43LTAuNSw1LjEtMS44VjMyLjF6Ii8+CjxwYXRoIGQ9Ik0zNDUuOSw0My42Yy01LDAtOC4yLTMuOC04LjItOXYtOWgtMy4xVjE5aDMuMVY4LjdoOC45VjE5aDQuMnY2LjZoLTQuMlYzM2MwLDEuOSwxLDMuMiwyLjcsMy4yaDIuMnY3LjRMMzQ1LjksNDMuNnoiLz4KPHBhdGggZD0iTTM3Mi4yLDQzLjZ2LTEuOWMtMi43LDEuOS00LjIsMi42LTguNSwyLjZjLTQuNywwLTguOS0zLTguOS03LjdjMC03LjcsOS40LTkuMSwxNy40LTkuNXYtMC45YzAtMS43LTEuMS0yLjMtMy43LTIuMwoJYy0zLjEsMC02LjEsMC43LTguOCwyLjFsLTIuOC01LjNjMy4zLTEuOCw3LjQtMi41LDExLjgtMi41YzguMiwwLDEyLjIsMi42LDEyLjIsOS43djE1LjdIMzcyLjJ6IE0zNzIuMiwzMi4xYy0zLjgsMC04LDAuOC04LDMuNgoJYzAsMS40LDEuNCwyLjMsMi45LDIuM2MxLjksMC4xLDMuNy0wLjUsNS4xLTEuOFYzMi4xeiIvPgo8cGF0aCBkPSJNNTYuNCwxMDAuOGwtMy4yLTEwLjVINDAuNWwtMy4zLDEwLjVoLTkuN2wxNC45LTQxLjdoOC44bDE1LjEsNDEuN0g1Ni40eiBNNDcuOCw3Mi40Yy0wLjQtMS4zLTAuOS0zLTAuOS0zLjMKCWMwLDAuMi0wLjUsMS45LTAuOCwzLjNMNDMsODIuNmg4TDQ3LjgsNzIuNHoiLz4KPHBhdGggZD0iTTgxLjYsMTAxLjVjLTcuOCwwLTEzLjUtNS42LTEzLjUtMTIuOWMwLTcuMSw1LjctMTMuMSwxMy41LTEzLjFjMy45LTAuMiw3LjYsMS41LDEwLDQuNmwtNS4xLDQuN2MtMS4yLTEuNC0zLTIuMy00LjktMi4zCgljLTMuMiwwLTUuMywyLjYtNS4zLDYuMWMwLDMsMi4xLDUuOSw1LjMsNS45YzIuMywwLDMuNS0wLjksNC44LTIuNWw1LjksNC4yQzg5LjQsOTkuOSw4Ni4zLDEwMS41LDgxLjYsMTAxLjV6Ii8+CjxwYXRoIGQ9Ik0xMDgsMTAxLjVjLTcuOCwwLTEzLjUtNS42LTEzLjUtMTIuOWMwLTcuMSw1LjctMTMuMSwxMy41LTEzLjFjMy45LTAuMiw3LjYsMS41LDEwLDQuNWwtNS4xLDQuN2MtMS4yLTEuNC0zLTIuMi00LjktMi4yCgljLTMuMSwwLTUuMywyLjYtNS4zLDYuMWMwLDMsMi4xLDUuOSw1LjMsNS45YzIuMywwLDMuNS0wLjksNC44LTIuNWw2LDQuMkMxMTUuOCw5OS45LDExMi44LDEwMS41LDEwOCwxMDEuNXoiLz4KPHBhdGggZD0iTTEzNC42LDEwMS41Yy03LjIsMC0xMy44LTMuOC0xMy44LTEzLjJjMC04LjIsNS41LTEyLjgsMTIuNC0xMi44YzcuOCwwLDEzLjEsNS41LDEzLjEsMTQuNWgtMTcuMmMwLjMsMi44LDIsNS4yLDUuNSw1LjIKCWMzLjgsMCw2LjEtMC44LDguMi0yLjZsMy44LDQuOEMxNDMuMywxMDAuMiwxMzksMTAxLjYsMTM0LjYsMTAxLjV6IE0xMzMuMSw4MS4yYy0yLjUsMC0zLjUsMS44LTMuOSw0LjFoOC4xCglDMTM3LDgyLjgsMTM1LjQsODEuMiwxMzMuMSw4MS4yeiIvPgo8cGF0aCBkPSJNMTYwLDEwMS41Yy0zLjgsMC04LTAuOS0xMC42LTIuOGwyLjktNS42YzEuOSwxLjMsNC4yLDIsNi41LDIuMWMxLjksMCwyLjktMC42LDIuOS0xLjRjMC0xLjMtMS41LTEuOS0zLjUtMi42CgljLTMuMy0xLjMtNy44LTIuOC03LjgtOC4yYzAtNC45LDQuMi03LjUsMTAuMy03LjVjMy4yLTAuMSw2LjMsMC43LDksMi4zbC0yLjUsNS41Yy0xLjktMS4xLTQuMS0xLjYtNi4zLTEuNmMtMS40LDAtMi43LDAuMi0yLjcsMS4zCgljMCwwLjksMiwxLjUsNC40LDIuNGMzLjYsMS4zLDgsMy40LDgsOC4zQzE3MC40LDk5LjMsMTY1LjQsMTAxLjUsMTYwLDEwMS41eiIvPgo8cGF0aCBkPSJNMTgzLjEsMTAxLjVjLTMuOCwwLTgtMC45LTEwLjYtMi44bDIuOS01LjZjMS45LDEuMyw0LjIsMiw2LjUsMi4xYzEuOSwwLDIuOS0wLjYsMi45LTEuNGMwLTEuMy0xLjUtMS45LTMuNS0yLjYKCWMtMy4zLTEuMy03LjgtMi44LTcuOC04LjJjMC00LjksNC4yLTcuNSwxMC4zLTcuNWMzLjItMC4xLDYuMywwLjcsOSwyLjNsLTIuNSw1LjVjLTEuOS0xLjEtNC4xLTEuNi02LjMtMS42Yy0xLjQsMC0yLjcsMC4yLTIuNywxLjMKCWMwLDAuOSwyLDEuNSw0LjQsMi40YzMuNiwxLjMsOCwzLjQsOCw4LjNDMTkzLjUsOTkuMywxODguNSwxMDEuNSwxODMuMSwxMDEuNXoiLz4KPHBhdGggZD0iTTE5Ny44LDcyLjJWNjRoOC45djguMUwxOTcuOCw3Mi4yeiBNMTk3LjgsMTAwLjhWNzYuMmg4Ljl2MjQuNkMyMDYuNywxMDAuOCwxOTcuOCwxMDAuOCwxOTcuOCwxMDAuOHoiLz4KPHBhdGggZD0iTTIyOC43LDEwMS41Yy0zLDAtNi4xLTEuMy03LjQtMy4ydjIuNWgtOC45VjU5LjFoOC45djE5LjZjMS40LTEuOSw0LjUtMy4yLDcuNC0zLjJjNi45LDAsMTEuNSw2LjMsMTEuNSwxMwoJQzI0MC4yLDk1LjQsMjM1LjYsMTAxLjUsMjI4LjcsMTAxLjV6IE0yMjYuMyw4Mi43Yy0zLDAtNS4xLDIuMy01LjEsNS43czIsNS44LDUuMSw1LjhjMi45LDAsNS0yLjQsNS01LjhTMjI5LjIsODIuNywyMjYuMyw4Mi43eiIvPgo8cGF0aCBkPSJNMjQ0LjUsNzIuMlY2NGg4Ljl2OC4xTDI0NC41LDcyLjJ6IE0yNDQuNSwxMDAuOFY3Ni4yaDguOXYyNC42QzI1My40LDEwMC44LDI0NC41LDEwMC44LDI0NC41LDEwMC44eiIvPgo8cGF0aCBkPSJNMjU5LDEwMC44VjU5LjFoOC45djQxLjdIMjU5eiIvPgo8cGF0aCBkPSJNMjczLjYsNzIuMlY2NGg4Ljl2OC4xTDI3My42LDcyLjJ6IE0yNzMuNiwxMDAuOFY3Ni4yaDguOXYyNC42QzI4Mi41LDEwMC44LDI3My42LDEwMC44LDI3My42LDEwMC44eiIvPgo8cGF0aCBkPSJNMjk3LjYsMTAwLjhjLTUsMC04LjItMy44LTguMi05di05aC0zLjF2LTYuNmgzLjFWNjUuOWg4Ljl2MTAuMmg0LjJ2Ni42aC00LjJ2Ny40YzAsMS45LDEsMy4yLDIuNywzLjJoMi4ydjcuNGgtNS42VjEwMC44egoJIi8+CjxwYXRoIGQ9Ik0zMjEuNiwxMDYuM2MtMS4xLDMuMi0zLjIsNS40LTcsNS40aC01LjF2LTcuMmgxLjljMS43LDAsMy40LTEsMy40LTIuNWMwLTEuMi0wLjItMi4zLTAuNy0zLjRsLTguNS0yMi40aDkuM2wzLjQsMTEuMgoJYzAuNSwxLjQsMC44LDMuMSwwLjgsMy4xczAuNC0xLjYsMC44LTMuMWwyLjktMTEuMmg5LjJMMzIxLjYsMTA2LjN6Ii8+CjxwYXRoIGQ9Ik0zNjIsODQuMmgtNC43djE2LjZoLTkuMVY1OS4xSDM2MmM5LjMsMCwxNS4zLDQuNSwxNS4zLDEyLjNTMzcxLjUsODQuMiwzNjIsODQuMnogTTM2Miw2Ni44aC00Ljd2OS43aDQuNwoJYzQuMSwwLDYuMS0xLjYsNi4xLTVTMzY2LjEsNjYuOCwzNjIsNjYuOHoiLz4KPHBhdGggZD0iTTM5NS44LDg1LjNjLTEuMS0xLTIuNS0xLjUtMy45LTEuNWMtMi45LDAtNC4xLDIuMy00LjEsNC45djEyLjFoLTguOVY3Ni4yaDguOXYzLjNjMS4zLTIuNCwzLjctMy44LDYuNC0zLjkKCWMyLjItMC4xLDQuNCwwLjgsNS45LDIuM0wzOTUuOCw4NS4zeiIvPgo8cGF0aCBkPSJNNDEyLjgsMTAxLjVjLTcuMiwwLTEzLTUuOC0xMy0xM3M1LjgtMTMsMTMtMTNzMTMuMyw1LjQsMTMuMywxMi45QzQyNi4xLDk1LjYsNDIwLjEsMTAxLjUsNDEyLjgsMTAxLjV6IE00MTIuOCw4Mi41CgljLTMsMC00LjYsMy4xLTQuNiw1LjlzMS42LDYsNC43LDZzNC42LTMuMiw0LjYtNi4xUzQxNiw4Mi41LDQxMi44LDgyLjVMNDEyLjgsODIuNXoiLz4KPHBhdGggZD0iTTQzMC42LDExMWgtNS40di03LjRoMi4yYzEuMiwwLDEuNS0xLjEsMS41LTIuOFY3Ni4yaDguOXYyNy4yQzQzNy44LDEwOCw0MzUuNCwxMTEsNDMwLjYsMTExeiBNNDI5LDcyLjJWNjRoOC45djguMQoJTDQyOSw3Mi4yeiIvPgo8cGF0aCBkPSJNNDU0LjUsMTAxLjVjLTcuMiwwLTEzLjgtMy44LTEzLjgtMTMuMmMwLTguMiw1LjUtMTIuOCwxMi40LTEyLjhjNy44LDAsMTMuMSw1LjUsMTMuMSwxNC41SDQ0OWMwLjMsMi44LDIuMSw1LjIsNS41LDUuMgoJYzMuOCwwLDYuMS0wLjgsOC4yLTIuNmwzLjgsNC44QzQ2My4yLDEwMC4yLDQ1OC45LDEwMS42LDQ1NC41LDEwMS41eiBNNDUzLDgxLjJjLTIuNSwwLTMuNSwxLjgtMy45LDQuMWg4LjEKCUM0NTYuOSw4Mi44LDQ1NS4zLDgxLjIsNDUzLDgxLjJ6Ii8+CjxwYXRoIGQ9Ik00ODEuNiwxMDEuNWMtNy44LDAtMTMuNS01LjYtMTMuNS0xMi45YzAtNy4xLDUuNy0xMy4xLDEzLjUtMTMuMWMzLjktMC4yLDcuNiwxLjUsMTAsNC42bC01LjEsNC43Yy0xLjItMS40LTMtMi4zLTQuOS0yLjMKCWMtMy4xLDAtNS4zLDIuNi01LjMsNi4xYzAsMywyLjEsNS45LDUuMyw1LjljMi4zLDAsMy41LTAuOSw0LjktMi41bDUuOSw0LjJDNDg5LjQsOTkuOSw0ODYuNCwxMDEuNSw0ODEuNiwxMDEuNXoiLz4KPHBhdGggZD0iTTUwMy45LDEwMC44Yy01LDAtOC4yLTMuOC04LjItOXYtOWgtMy4xdi02LjZoMy4xVjY1LjloOC45djEwLjJoNC4ydjYuNmgtNC4ydjcuNGMwLDEuOSwxLDMuMiwyLjcsMy4yaDIuMnY3LjRoLTUuNlYxMDAuOHoKCSIvPgo8cG9seWdvbiBwb2ludHM9IjkxLjcsMjAuMiA3Ni4yLDIwLjIgODguNCw4IDgzLjEsMi43IDcxLjUsMTQuMyA3MS41LDAgNjQsMCA2NCwxNC4zIDUyLjMsMi43IDQ3LDggNTkuMiwyMC4yIDQzLjcsMjAuMiA0My43LDI3LjggCgk1OC4xLDI3LjggNDcsMzguOCA1Mi4zLDQ0LjEgNjQsMzIuNSA2NCw0OCA3MS41LDQ4IDcxLjUsMzIuNSA4My4xLDQ0LjEgODguNCwzOC44IDc3LjQsMjcuOCA5MS43LDI3LjggIi8+Cjwvc3ZnPgo=",Or=["href"],kr=["src"],br=["src"],_r=e.defineComponent({__name:"PdapHeader",props:{logoImageSrc:{default:zr},logoImageAnchorPath:{default:"/"}},setup(t){const r=t,n=e.ref(),a=e.ref(null),o=r.logoImageAnchorPath.startsWith("/");e.onMounted(()=>{s(),window.addEventListener("resize",s)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",s)});function s(){a.value&&(n.value=a.value.offsetHeight)}return(i,c)=>(e.openBlock(),e.createElementBlock("header",{ref_key:"el",ref:a,class:"pdap-header"},[e.unref(o)?(e.openBlock(),e.createBlock(e.unref(z.RouterLink),{key:1,to:i.logoImageAnchorPath,class:"logo"},{default:e.withCtx(()=>[e.createElementVNode("img",{src:i.logoImageSrc,loading:"lazy",width:"250",alt:"Police Data Accessibility Project Logo"},null,8,br)]),_:1},8,["to"])):(e.openBlock(),e.createElementBlock("a",{key:0,href:i.logoImageAnchorPath,class:"logo"},[e.createElementVNode("img",{src:i.logoImageSrc,loading:"lazy",width:"250",alt:"Police Data Accessibility Project Logo"},null,8,kr)],8,Or)),e.createVNode(ve,{"top-position":n.value},null,8,["top-position"])],512))}});const Ar=e.createElementVNode("div",{class:"pdap-flex-container"},[e.createElementVNode("h2",{class:"mt-0"},"Search our database"),e.createElementVNode("p",{class:"pb-4 md:pb-8"},[e.createTextVNode(" If you are looking for something specific, we may already be tracking it. "),e.createElementVNode("a",{href:"https://pdap.io/data"},"Learn more about the data here.")])],-1),Pr={class:"pdap-quick-search-form h-full max-h-[75-vh] justify-start p-0"},Yr={class:"max-w-[unset] text-med"},Br=["href"],Vr=["href"],Qr=e.defineComponent({__name:"QuickSearchForm",props:{baseUrlForRedirect:{default:"https://data-sources.pdap.io"}},setup(t){const r=z.useRouter(),n=t,a=[{id:"search-term",name:"searchTerm",label:"What are you looking for?",type:v.TEXT,placeholder:"Enter a keyword, or 'all'",value:""},{id:"location",name:"location",label:"From where?",type:v.TEXT,placeholder:"Enter a place, or 'all'",value:""}],o=e.ref(void 0),s=r.getRoutes().some(l=>l.path.includes("/search/"));function i(l){o.value&&Object.values(l).some(Boolean)&&(o.value=void 0)}function c(l){if(Object.values(l).every(g=>!g)){o.value="Either a search term or a location is required.";return}let{location:d,searchTerm:M}=l;d=d&&d.length>0?d:"all",M=M&&M.length>0?M:"all",s?r.push(`/search/${M}/${d}`):window.location.assign(`${n.baseUrlForRedirect}/search/${M}/${d}`)}return(l,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[Ar,e.createElementVNode("div",Pr,[e.createVNode(Ne,{id:"quick-search-form",class:"flex flex-wrap gap-x-4",error:o.value,schema:a,name:"quickSearchForm",onChange:i,onSubmit:c},{default:e.withCtx(()=>[e.createVNode(Z,{type:"submit",class:"flex-grow-0 flex-shrink-0 basis-full max-w-[unset] mt-4"},{default:e.withCtx(()=>[e.createTextVNode("Search Data Sources")]),_:1})]),_:1},8,["error"]),e.createElementVNode("p",Yr,[e.createTextVNode(" For example, you could search for "),e.unref(s)?(e.openBlock(),e.createBlock(e.unref(z.RouterLink),{key:0,to:"/search/stops/pittsburgh"},{default:e.withCtx(()=>[e.createTextVNode(" stops in Pittsburgh ")]),_:1})):(e.openBlock(),e.createElementBlock("a",{key:1,target:"_blank",rel:"noreferrer",href:`${n.baseUrlForRedirect}/search/stops/pittsburgh`}," stops in Pittsburgh ",8,Br)),e.createTextVNode(" or "),e.unref(s)?(e.openBlock(),e.createBlock(e.unref(z.RouterLink),{key:2,to:"/search/complaints/all"},{default:e.withCtx(()=>[e.createTextVNode(" complaints everywhere ")]),_:1})):(e.openBlock(),e.createElementBlock("a",{key:3,target:"_blank",rel:"noreferrer",href:`${n.baseUrlForRedirect}/search/complaints/all`}," complaints everywhere ",8,Vr)),e.createTextVNode(" . ")])])],64))}});const Rr=["alt","src"],Ur=e.defineComponent({__name:"TileIcon",props:{imgAltText:{},imgSrc:{}},setup(t){return(r,n)=>(e.openBlock(),e.createElementBlock("img",{class:"pdap-tile-icon",alt:r.imgAltText,src:r.imgSrc},null,8,Rr))}});var _=(t=>(t.PRESS="press",t.HOVER="hover",t))(_||{});const $e={beforeMount(t,r){const n=t;n.clickOutsideEvent=function(o){t===o.target||n.contains(o.target)||r.value(o)},document.addEventListener("click",n.clickOutsideEvent),document.addEventListener("keyup",n.clickOutsideEvent)},unmounted(t){t.clickOutsideEvent&&(document.removeEventListener("click",t.clickOutsideEvent),document.removeEventListener("keyup",t.clickOutsideEvent))}},Fr=["onKeydown"],Gr=["aria-hidden"],pe="pdap-dropdown",Wr=e.defineComponent({__name:"PdapDropdown",props:{defaultOpen:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},triggerOn:{default:_.PRESS}},emits:["update:open","press"],setup(t,{emit:r}){const n=t,a=r,o=e.ref(null),s=e.ref(null),i=e.ref(n.defaultOpen),c=e.computed(()=>n.triggerOn===_.HOVER);function l(u){a("press",u),n.triggerOn===_.PRESS&&d()}const d=()=>{n.disabled||(i.value=!i.value,a("update:open",i.value))};function M(){i.value=!0,a("update:open",!0)}function g(){i.value=!1,a("update:open",!1)}function f(){var j,h;if(!o.value)return;o.value.style.display="flex",o.value.style.setProperty("max-height","max-content");const u=o.value.scrollHeight;o.value.style.display="none",o.value.style.removeProperty("max-height");const L=document==null?void 0:document.querySelector(":root"),p=(j=L==null?void 0:L.style)==null?void 0:j.getPropertyValue("--dropdown-content-max-height");Number((h=p==null?void 0:p.match(/\d+/))==null?void 0:h.join(""))>=u||o.value&&L&&L.style.setProperty("--dropdown-content-max-height",`${u+16}px`)}const m={mouseenter:c.value?M:void 0,focus:c.value?M:void 0,focusin:c.value?M:void 0,focusout:c.value?g:void 0,mouseleave:c.value?g:void 0,blur:c.value?g:void 0};return e.onMounted(()=>{f()}),(u,L)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"dropdownRef",ref:s,class:"pdap-dropdown",onKeydown:e.withKeys(g,["escape"])},e.toHandlers(m,!0)),[e.createVNode(e.unref(Z),{"aria-controls":pe,"aria-expanded":i.value,disabled:u.disabled,"aria-haspopup":"true",intent:"tertiary",class:e.normalizeClass({"pdap-dropdown-trigger":!0,"pointer-events-none":u.disabled,"cursor-not-allowed":u.disabled}),"data-test":"dropdown-trigger",onClick:e.withModifiers(l,["prevent","stop"]),onKeydown:e.withKeys(e.withModifiers(l,["prevent","stop"]),["enter","space"])},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"trigger")]),_:3},8,["aria-expanded","disabled","class","onClick","onKeydown"]),e.createVNode(e.Transition,{name:"dropdown",appear:""},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{id:pe,ref_key:"contentRef",ref:o,"aria-hidden":!i.value,class:"pdap-dropdown-content","data-test":"dropdown-content",role:"menu"},[e.renderSlot(u.$slots,"content")],8,Gr),[[e.vShow,i.value]])]),_:3})],16,Fr)),[[e.unref($e),g]])}});function Hr(t){const r=[];for(const n of t.matched){const{name:a,path:o,meta:s}=n,i=s.breadcrumbText??a;i&&r.push({text:i,path:o,active:!1})}return r.length>0&&(r[r.length-1].active=!0),r}const Zr={"aria-label":"Breadcrumb"},Jr={key:1},Xr=e.defineComponent({__name:"PdapBreadcrumbs",setup(t){const r=z.useRoute(),n=e.computed(()=>Hr(r));return(a,o)=>{const s=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("nav",Zr,[e.createVNode(e.TransitionGroup,{class:"pdap-breadcrumbs",name:"pdap-breadcrumbs",tag:"ul"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,i=>(e.openBlock(),e.createElementBlock("li",{key:i.text,class:e.normalizeClass({"is-active":i.active})},[i.active?(e.openBlock(),e.createElementBlock("span",Jr,e.toDisplayString(i.text),1)):(e.openBlock(),e.createBlock(s,{key:0,to:i.path},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.text),1)]),_:2},1032,["to"]))],2))),128))]),_:1})])}}});const Kr=(t,r)=>{const n=t.__vccOpts||t;for(const[a,o]of r)n[a]=o;return n},qr=Kr(Xr,[["__scopeId","data-v-91ca33c0"]]);const en={content:["./src/**/*.vue","./src/**/*.css"],theme:{extend:{colors:{brand:{blue:{light:"rgba(var(--color-brand-blue-light)/<alpha-value>)",medium:"rgba(var(--color-brand-blue-medium)/<alpha-value>)"},gold:"rgba(var(--color-brand-gold)/<alpha-value>)",wine:"rgba(var(--color-brand-wine)/<alpha-value>)"},neutral:{50:"rgba(var(--color-neutral-50)/<alpha-value>)",100:"rgba(var(--color-neutral-100)/<alpha-value>)",200:"rgba(var(--color-neutral-200)/<alpha-value>)",300:"rgba(var(--color-neutral-300)/<alpha-value>)",400:"rgba(var(--color-neutral-400)/<alpha-value>)",500:"rgba(var(--color-neutral-500)/<alpha-value>)",600:"rgba(var(--color-neutral-600)/<alpha-value>)",700:"rgba(var(--color-neutral-700)/<alpha-value>)",800:"rgba(var(--color-neutral-800)/<alpha-value>)",900:"rgba(var(--color-neutral-900)/<alpha-value>)",950:"rgba(var(--color-neutral-950)/<alpha-value>)"}},brightness:{85:".85"},maxWidth:{"4xl":"59rem"},screens:{xs:"500px"}},fontFamily:{sans:['"Libre Franklin"',"ui-sans-serif","system-ui","-apple-system","BlinkMacSystemFont",'"Segoe UI"',"Roboto","Oxygen","Ubuntu","Cantarell",'"Fira Sans"','"Droid Sans"','"Helvetica Neue"',"sans-serif"],serif:["ui-serif","Georgia"],mono:['"Source Code Pro"',"monospace","ui-monospace","SFMono-Regular"]},fontSize:{xs:"0.75rem",sm:"0.875rem",med:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.75rem","4xl":"2rem","5xl":"2.625rem","6xl":"3rem"}}};exports.Breadcrumbs=qr;exports.Button=Z;exports.Dropdown=Wr;exports.FlexContainer=ke;exports.Footer=He;exports.Form=Ne;exports.GridContainer=Cr;exports.GridItem=Tr;exports.Header=_r;exports.Input=ye;exports.Nav=ve;exports.PdapDropdownTriggerType=_;exports.PdapInputTypes=v;exports.QuickSearchForm=Qr;exports.TileIcon=Ur;exports.tailwindConfig=en;exports.vOnClickOutside=$e;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './components';
2
2
  import './styles/styles.css';
3
3
  export * from './components/Button/types';
4
+ export * from './components/Dropdown/types';
4
5
  export * from './components/FlexContainer/types';
5
6
  export * from './components/Footer/types';
6
7
  export * from './components/Form/types';
@@ -11,3 +12,4 @@ export * from './components/Input/types';
11
12
  export * from './components/Nav/types';
12
13
  export * from './components/TileIcon/types';
13
14
  export * from './config';
15
+ export * from './directives';