diff --git a/event-plugin.sublime-project b/event-plugin.sublime-project new file mode 100644 index 0000000..24db303 --- /dev/null +++ b/event-plugin.sublime-project @@ -0,0 +1,8 @@ +{ + "folders": + [ + { + "path": "." + } + ] +} diff --git a/event-plugin.sublime-workspace b/event-plugin.sublime-workspace new file mode 100644 index 0000000..1ce4097 --- /dev/null +++ b/event-plugin.sublime-workspace @@ -0,0 +1,743 @@ +{ + "auto_complete": + { + "selected_items": + [ + [ + "con", + "console" + ], + [ + "cons", + "console" + ], + [ + "InterestPlu", + "InterestPluginRoutes" + ], + [ + "INterest", + "InterestPluginRoutes" + ], + [ + "file", + "fileURLToPath" + ], + [ + "re", + "retrievedObject" + ], + [ + "in", + "InterestBadge" + ], + [ + "fetchI", + "fetchInterestChildren" + ], + [ + "wiki", + "wikiPage" + ], + [ + "interes", + "interests" + ], + [ + "remove", + "removeInterest" + ], + [ + "w", + "WikiEdit" + ], + [ + "location", + "locationId" + ], + [ + "loca", + "locationId" + ], + [ + "findInter", + "findInterestById" + ], + [ + "flex", + "flex-col" + ], + [ + "Call", + "Callout" + ], + [ + "Ca", + "Callout" + ], + [ + "selet", + "selectedModel" + ], + [ + "inter", + "interestId" + ], + [ + "fl", + "flex-row" + ], + [ + "L", + "LocationBadge" + ], + [ + "cla", + "className" + ], + [ + "Profile", + "ProfileImage" + ], + [ + "update", + "updateUser" + ], + [ + "too", + "Tooltip" + ], + [ + "pro", + "ProfileImage" + ], + [ + "def", + "defaultLocation" + ], + [ + "ol-", + "ol-geolocation" + ], + [ + "create", + "createLocation" + ], + [ + "selecte", + "selectedImage" + ], + [ + "select", + "selectedOption" + ], + [ + "sele", + "selectedOption" + ], + [ + "pr", + "profile" + ], + [ + "crea", + "createProfile" + ], + [ + "Diamond", + "DiamondCard" + ], + [ + "find", + "findUnique" + ], + [ + "f", + "false" + ], + [ + "pri", + "priority" + ], + [ + "item", + "item_ids" + ], + [ + "Tab", + "TableCell" + ], + [ + "cost", + "cost_credits" + ], + [ + "po", + "points_type" + ], + [ + "ite", + "items-center" + ], + [ + "size", + "sizeStyle" + ], + [ + "convers", + "conversationId" + ], + [ + "user", + "userId2" + ], + [ + "co", + "conversationId" + ], + [ + "conver", + "conversationId" + ], + [ + "Chat", + "ChatMessage2" + ] + ] + }, + "buffers": + [ + { + "file": "server/prisma/schema.prisma", + "settings": + { + "buffer_size": 738, + "encoding": "UTF-8", + "line_ending": "Unix" + }, + "undo_stack": + [ + [ + 6, + 1, + "paste", + null, + "AgAAAIwCAAAAAAAAygIAAAAAAAAAAAAAygIAAAAAAADKAgAAAAAAACsAAABsb2NhdGlvbnMgICBTdHJpbmdbXQogIGludGVyZXN0cyAgIFN0cmluZ1td", + "CAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC3AgAAAAAAAIwCAAAAAAAAAAAAAAAA8L8" + ] + ] + }, + { + "file": ".env", + "settings": + { + "buffer_size": 68, + "encoding": "UTF-8", + "line_ending": "Unix" + }, + "undo_stack": + [ + [ + 3, + 1, + "paste", + null, + "AgAAADYAAAAAAAAAQQAAAAAAAAAAAAAAQQAAAAAAAABBAAAAAAAAAA4AAABsb2NhbGhvc3Q6MzAwMA", + "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAA2AAAAAAAAAEQAAAAAAAAAAAAAAAAA8L8" + ], + [ + 6, + 2, + "left_delete", + null, + "AgAAABEAAAAAAAAAEQAAAAAAAAAIAAAAb2NhbGhvc3QQAAAAAAAAABAAAAAAAAAAAQAAAGw", + "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAARAAAAAAAAABkAAAAAAAAAAAAAAAAA8L8" + ], + [ + 7, + 1, + "paste", + null, + "AQAAABAAAAAAAAAAGwAAAAAAAAAAAAAA", + "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAA8L8" + ] + ] + }, + { + "file": "server/index.js", + "settings": + { + "buffer_size": 1161, + "encoding": "UTF-8", + "line_ending": "Unix" + }, + "undo_stack": + [ + [ + 3, + 1, + "insert", + { + "characters": "\n" + }, + "AQAAALcAAAAAAAAAuAAAAAAAAAAAAAAA", + "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC3AAAAAAAAALcAAAAAAAAAAAAAAAAA8L8" + ], + [ + 4, + 1, + "paste", + null, + "AQAAALgAAAAAAAAA4gAAAAAAAAAAAAAA", + "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAC4AAAAAAAAALgAAAAAAAAAAAAAAAAA8L8" + ] + ] + }, + { + "file": "vite.config.ts", + "settings": + { + "buffer_size": 1363, + "encoding": "UTF-8", + "line_ending": "Unix" + }, + "undo_stack": + [ + [ + 3, + 1, + "insert", + { + "characters": "event" + }, + "BgAAAC8BAAAAAAAAMAEAAAAAAAAAAAAAMAEAAAAAAAAwAQAAAAAAAAQAAAB3aWtpMAEAAAAAAAAxAQAAAAAAAAAAAAAxAQAAAAAAADIBAAAAAAAAAAAAADIBAAAAAAAAMwEAAAAAAAAAAAAAMwEAAAAAAAA0AQAAAAAAAAAAAAA", + "AgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAEAAAAvAQAAAAAAADMBAAAAAAAAAAAAAAAA8L8" + ] + ] + } + ], + "build_system": "", + "build_system_choices": + [ + ], + "build_varint": "", + "command_palette": + { + "height": 0.0, + "last_filter": "", + "selected_items": + [ + [ + "rein", + "Indentation: Reindent Lines" + ], + [ + "", + "Code Folding: Fold Tag Attributes" + ] + ], + "width": 0.0 + }, + "console": + { + "height": 0.0, + "history": + [ + ] + }, + "distraction_free": + { + "menu_visible": true, + "show_minimap": false, + "show_open_files": false, + "show_tabs": false, + "side_bar_visible": false, + "status_bar_visible": false + }, + "expanded_folders": + [ + "/Users/yannik/js/toplocs/event-plugin", + "/Users/yannik/js/toplocs/event-plugin/server", + "/Users/yannik/js/toplocs/event-plugin/src", + "/Users/yannik/js/toplocs/event-plugin/src/components", + "/Users/yannik/js/toplocs/event-plugin/src/views" + ], + "file_history": + [ + "/Users/yannik/js/toplocs/event-plugin/server/.env", + "/Users/yannik/js/toplocs/event-plugin/.env", + "/Users/yannik/js/toplocs/event-plugin/src/views/EventCreateView.vue", + "/Users/yannik/js/toplocs/event-plugin/src/views/EventDetailView.vue", + "/Users/yannik/js/toplocs/event-plugin/src/views/EventListView.vue", + "/Users/yannik/js/toplocs/event-plugin/server/actions.js", + "/Users/yannik/js/toplocs/event-plugin/src/components/EventListItem.vue", + "/Users/yannik/js/toplocs/event-plugin/src/App.vue", + "/Users/yannik/js/toplocs/event-plugin/src/components/Search.vue", + "/Users/yannik/js/toplocs/event-plugin/src/components/AddLocations.vue", + "/Users/yannik/js/toplocs/event-plugin/src/components/AddInterests.vue", + "/Users/yannik/js/toplocs/event-plugin/server/index.js", + "/Users/yannik/js/toplocs/event-plugin/server/.env.default", + "/Users/yannik/js/tribelike/src/App.vue", + "/Users/yannik/js/tribelike/vite.config.ts", + "/Users/yannik/js/tribelike/src/router/index.ts", + "/Users/yannik/js/tribelike/server/.env.default", + "/Users/yannik/js/tribelike/src/views/ErrorView.vue", + "/Users/yannik/js/tribelike/src/router/plugins.ts", + "/Users/yannik/js/tribelike/src/components/NavBar.vue", + "/Users/yannik/js/tribelike/src/views/ProfileDetailView.vue", + "/Users/yannik/js/tribelike/src/components/SubNav.vue", + "/Users/yannik/js/tribelike/src/components/plugins/Plugins.vue", + "/Users/yannik/js/tribelike/src/components/plugins/MainPlugin.vue", + "/Users/yannik/js/tribelike/src/views/plugin/PluginView.vue", + "/Users/yannik/js/tribelike/server/prisma/schema.prisma", + "/Users/yannik/js/tribelike/src/components/MyProfileComponent.vue", + "/Users/yannik/js/tribelike/src/components/ProfileComponent.vue", + "/Users/yannik/js/tribelike/src/views/interest/ChatView.vue", + "/Users/yannik/js/tribelike/index.html", + "/Users/yannik/js/tribelike/src/components/SelectAvatar.vue", + "/Users/yannik/.Trash/dialog/AvatarDialog.vue", + "/Users/yannik/js/tribelike/src/components/common/Dialog.vue", + "/Users/yannik/js/tribelike/src/components/plugins/chat/Index.vue", + "/Users/yannik/js/tribelike/src/views/plugin", + "/Users/yannik/js/tribelike/src/components/plugins/Chat.vue", + "/Users/yannik/js/tribelike/src/views/TestView.vue", + "/Users/yannik/js/tribelike/server/src/api/auth.ts", + "/Users/yannik/js/tribelike/src/views/SettingsView.vue", + "/Users/yannik/js/tribelike/server/src/lib/auth.ts", + "/Users/yannik/js/tribelike/src/views/LandingView.vue", + "/Users/yannik/js/tribelike/src/utils/external-component.js", + "/Users/yannik/js/tribelike/src/main.ts", + "/Users/yannik/js/tribelike/dnode/src/app.js", + "/Users/yannik/js/tribelike/dnode/package.json", + "/Users/yannik/js/tribelike/dnode/src/components/test.vue", + "/Users/yannik/js/tribelike/src/assets/base.css", + "/Users/yannik/js/tribelike/dnode/src/app_orbit.js", + "/Users/yannik/js/tribelike/dnode/schema/profile.json", + "/Users/yannik/js/tribelike/dnode/schema/user.json", + "/Users/yannik/js/tribelike/js/package.json", + "/Users/yannik/js/tribelike/js/src/app.js", + "/Users/yannik/js/tribelike/js/src/config/libp2p.js", + "/Users/yannik/js/tribelike/decentral/package.json", + "/Users/yannik/js/tribelike/new/tsconfig.json", + "/Users/yannik/js/tribelike/new/nodemon.json", + "/Users/yannik/js/tribelike/new/package.json", + "/Users/yannik/js/tribelike/new/src/app.ts", + "/Users/yannik/js/tribelike/server/package.json", + "/Users/yannik/js/tribelike/.env", + "/Users/yannik/js/tribelike/server/tsconfig.json", + "/Users/yannik/js/tribelike/server/tsconfig_1.json", + "/Users/yannik/js/tribelike/src/views/InterestDetailView.vue", + "/Users/yannik/js/tribelike/new/src/config/libp2p.js", + "/Users/yannik/js/tribelike/server/src/actions/interest.ts", + "/Users/yannik/js/tribelike/server/src/actions/location.ts", + "/Users/yannik/js/tribelike/src/views/location/InfoView.vue", + "/Users/yannik/js/tribelike/src/views/interest/InfoView.vue", + "/Users/yannik/js/tribelike/src/components/list/ActivityListItem.vue", + "/Users/yannik/js/tribelike/src/views/ProfileListView.vue", + "/Users/yannik/js/tribelike/src/views/ProfileCreateView.vue", + "/Users/yannik/js/tribelike/src/components/list/ProfileListItem.vue", + "/Users/yannik/js/tribelike/src/components/search/Index.vue", + "/Users/yannik/js/tribelike/src/components/search/FindLocation.vue", + "/Users/yannik/js/tribelike/src/components/search/FindInterest.vue", + "/Users/yannik/js/tribelike/src/views/LocationDetailView.vue", + "/Users/yannik/js/tribelike/src/components/plugins/wiki/views/WikiPageView.vue", + "/Users/yannik/js/tribelike/src/views/location/WikiView.vue", + "/Users/yannik/js/tribelike/server/src/api/plugins/wiki.ts", + "/Users/yannik/js/tribelike/server/src/actions/wiki.ts", + "/Users/yannik/js/tribelike/src/components/common/IconButton.vue", + "/Users/yannik/js/tribelike/src/components/common/Divider.vue", + "/Users/yannik/js/tribelike/src/components/search/FindMixed.vue", + "/Users/yannik/js/tribelike/src/views/interest/WikiView.vue", + "/Users/yannik/js/tribelike/src/components/plugins/wiki/Index.vue", + "/Users/yannik/js/tribelike/src/components/plugins/wiki/WikiListItem.vue", + "/Users/yannik/js/tribelike/src/components/plugins/wiki/views/WikiCreateView.vue", + "/Users/yannik/js/tribelike/src/components/plugins/wiki/WikiEdit.vue", + "/Users/yannik/js/tribelike/src/components/plugins/wiki/views/WikiEditView.vue", + "/Users/yannik/js/tribelike/src/components/plugins/wiki/WikiCreate.vue", + "/Users/yannik/js/tribelike/src/components/dialog/ProfileAddDialog.vue", + "/Users/yannik/js/tribelike/src/components/common/Dropdown.vue", + "/Users/yannik/js/tribelike/server/src/app.ts", + "/Users/yannik/js/tribelike/src/views/InterestCreateView.vue", + "/Users/yannik/js/tribelike/src/components/AddInterestButton.vue", + "/Users/yannik/js/tribelike/src/views/LocationCreateView.vue", + "/Users/yannik/js/tribelike/server/src/actions/activity.ts", + "/Users/yannik/js/tribelike/server/src/actions/profile.ts", + "/Users/yannik/js/tribelike/server/src/actions/sql/profile.ts", + "/Users/yannik/js/tribelike/server/.env", + "/Users/yannik/js/tribelike/server/src/api/profile.ts", + "/Users/yannik/js/tribelike/server/src/api/interest.ts", + "/Users/yannik/js/tribelike/src/components/FindMixed.vue", + "/Users/yannik/js/tribelike/src/components/FindInterest.vue", + "/Users/yannik/js/tribelike/src/views/location/ActivityView.vue", + "/Users/yannik/js/tribelike/server/src/actions/ipfs/profile.ts", + "/Users/yannik/js/tribelike/server/storage/profiles/Yannik.json", + "/Users/yannik/js/tribelike/server/src/actions/files/profile.ts", + "/Users/yannik/js/tribelike/server/src/actions/filestorage/profile.ts", + "/Users/yannik/js/tribelike/server/src/actions/user.ts", + "/Users/yannik/js/tribelike/server/src/.env.default", + "/Users/yannik/js/tribelike/src/components/list/NotificationList.vue", + "/Users/yannik/js/tribelike/server/src/api/location.ts", + "/Users/yannik/js/tribelike/src/components/NotificationList.vue", + "/Users/yannik/js/tribelike/src/components/FindLocation.vue", + "/Users/yannik/js/tribelike/src/components/MapComponent.vue", + "/Users/yannik/js/tribelike/src/components/badges/LocationBadge.vue", + "/Users/yannik/js/tribelike/src/components/badges/InterestBadge.vue", + "/Users/yannik/js/tribelike/src/components/list/PluginListItem.vue", + "/Users/yannik/js/tribelike/src/components/common/BackButton.vue", + "/Users/yannik/js/tribelike/src/components/common/SelectInput.vue", + "/Users/yannik/js/tribelike/src/views/interest/ActivityView.vue", + "/Users/yannik/js/tribelike/server/src/api/activity.ts", + "/Users/yannik/js/tribelike/src/views/location/DiscussionView.vue", + "/Users/yannik/js/tribelike/src/views/interest/DiscussionView.vue", + "/Users/yannik/js/tribelike/src/views/location/ChatView.vue", + "/Users/yannik/js/tribelike/src/views/LoginView.vue", + "/Users/yannik/js/tribelike/src/views/profile/SettingsView.vue" + ], + "find": + { + "height": 27.0 + }, + "find_in_files": + { + "height": 101.0, + "where_history": + [ + ] + }, + "find_state": + { + "case_sensitive": true, + "find_history": + [ + "wiki" + ], + "highlight": true, + "in_selection": false, + "preserve_case": false, + "regex": false, + "replace_history": + [ + "event" + ], + "reverse": false, + "scrollbar_highlights": true, + "show_context": true, + "use_buffer2": true, + "use_gitignore": true, + "whole_word": false, + "wrap": true + }, + "groups": + [ + { + "sheets": + [ + { + "buffer": 0, + "file": "server/prisma/schema.prisma", + "semi_transient": false, + "settings": + { + "buffer_size": 738, + "regions": + { + }, + "selection": + [ + [ + 714, + 714 + ] + ], + "settings": + { + "syntax": "Packages/Text/Plain text.tmLanguage", + "tab_size": 2, + "translate_tabs_to_spaces": true + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "stack_index": 3, + "stack_multiselect": false, + "type": "text" + }, + { + "buffer": 1, + "file": ".env", + "selected": true, + "semi_transient": false, + "settings": + { + "buffer_size": 68, + "regions": + { + }, + "selection": + [ + [ + 27, + 27 + ] + ], + "settings": + { + "syntax": "Packages/Text/Plain text.tmLanguage" + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "stack_index": 0, + "stack_multiselect": false, + "type": "text" + }, + { + "buffer": 2, + "file": "server/index.js", + "semi_transient": false, + "settings": + { + "buffer_size": 1161, + "regions": + { + }, + "selection": + [ + [ + 226, + 226 + ] + ], + "settings": + { + "syntax": "Packages/JavaScript/JavaScript.sublime-syntax", + "tab_size": 2, + "translate_tabs_to_spaces": true + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "stack_index": 2, + "stack_multiselect": false, + "type": "text" + }, + { + "buffer": 3, + "file": "vite.config.ts", + "semi_transient": false, + "settings": + { + "buffer_size": 1363, + "regions": + { + }, + "selection": + [ + [ + 308, + 308 + ] + ], + "settings": + { + "syntax": "Packages/JavaScript/TypeScript.sublime-syntax", + "tab_size": 2, + "translate_tabs_to_spaces": true + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "stack_index": 1, + "stack_multiselect": false, + "type": "text" + } + ] + } + ], + "incremental_find": + { + "height": 27.0 + }, + "input": + { + "height": 39.0 + }, + "layout": + { + "cells": + [ + [ + 0, + 0, + 1, + 1 + ] + ], + "cols": + [ + 0.0, + 1.0 + ], + "rows": + [ + 0.0, + 1.0 + ] + }, + "menu_visible": true, + "output.find_results": + { + "height": 0.0 + }, + "pinned_build_system": "", + "project": "event-plugin.sublime-project", + "replace": + { + "height": 50.0 + }, + "save_all_on_build": true, + "select_file": + { + "height": 0.0, + "last_filter": "", + "selected_items": + [ + ], + "width": 0.0 + }, + "select_project": + { + "height": 0.0, + "last_filter": "", + "selected_items": + [ + ], + "width": 0.0 + }, + "select_symbol": + { + "height": 0.0, + "last_filter": "", + "selected_items": + [ + ], + "width": 0.0 + }, + "selected_group": 0, + "settings": + { + }, + "show_minimap": true, + "show_open_files": false, + "show_tabs": true, + "side_bar_visible": true, + "side_bar_width": 221.0, + "status_bar_visible": true, + "template_settings": + { + } +} diff --git a/index.ts b/index.ts index 1d34aaf..57fd470 100644 --- a/index.ts +++ b/index.ts @@ -1,17 +1,40 @@ +// Plugin Development Environment with error boundary import { createPluginDevelopmentEnvironment, type PluginDevConfig } from '@toplocs/plugin-sdk'; +import '@toplocs/plugin-sdk/style.css'; + +// Import plugin configuration and components import pluginConfig from './src/index'; -import SidebarComponent from './src/views/info/Sidebar.vue'; -import ContentComponent from './src/views/settings/Content.vue'; -import MainComponent from './src/views/info/Main.vue'; +import InfoContentComponent from './src/views/info/Main.vue'; +import InfoSidebarComponent from './src/views/info/Sidebar.vue'; +import SettingsContentComponent from './src/views/settings/Content.vue'; + +console.log('Plugin config:', pluginConfig); +// Create development environment with plugin configuration const devConfig: PluginDevConfig = { pluginConfig, components: { - Sidebar: SidebarComponent, - Content: ContentComponent, - Main: MainComponent + InfoContent: InfoContentComponent, + InfoSidebar: InfoSidebarComponent, + SettingsContent: SettingsContentComponent } }; -const app = createPluginDevelopmentEnvironment(devConfig); -app.mount('#plugin-dev'); \ No newline at end of file +try { + const app = createPluginDevelopmentEnvironment(devConfig); + + // Add global error handler + app.config.errorHandler = (err, instance, info) => { + console.error('Vue error:', err, info); + }; + + // Add unhandled rejection handler + window.addEventListener('unhandledrejection', (event) => { + console.error('Unhandled promise rejection:', event.reason); + // Don't prevent default to see if it helps with Suspense + }); + + app.mount('#plugin-dev'); +} catch (error) { + console.error('Failed to create plugin development environment:', error); +} \ No newline at end of file diff --git a/landing.html b/landing.html index c16460d..a6ab985 100644 --- a/landing.html +++ b/landing.html @@ -8,6 +8,6 @@
- + \ No newline at end of file diff --git a/package.json b/package.json index 3b090be..f96919c 100644 --- a/package.json +++ b/package.json @@ -16,11 +16,12 @@ "@heroicons/vue": "^2.2.0", "@toplocs/plugin-sdk": "^1.1.0", "gun": "^0.2020.1240", + "vite-plugin-top-level-await": "^1.4.4", "vue": "^3.5.12", "vue-router": "^4.4.5" }, "devDependencies": { - "@originjs/vite-plugin-federation": "^1.4.0", + "@originjs/vite-plugin-federation": "^1.3.6", "@tsconfig/node20": "^20.1.4", "@types/jsdom": "^21.1.7", "@types/node": "^20.16.11", @@ -39,9 +40,8 @@ "prettier": "^3.3.3", "tailwindcss": "^3.4.14", "typescript": "~5.5.4", - "vite": "^5.4.8", - "vite-plugin-top-level-await": "^1.4.4", - "vitest": "^2.1.2", + "vite": "^6.3.5", + "vitest": "^3.2.4", "vue-tsc": "^2.1.6" } } diff --git a/server/.env.default b/server/.env.default new file mode 100644 index 0000000..ec72216 --- /dev/null +++ b/server/.env.default @@ -0,0 +1,9 @@ +# This was inserted by `prisma init`: +# Environment variables declared in this file are automatically made available to Prisma. +# See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema + +# Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB. +# See the documentation for all the connection string options: https://pris.ly/d/connection-strings + +DATABASE_URL="postgresql://name:pw@localhost:5432/event-plugin" +PORT="3003" \ No newline at end of file diff --git a/server/event-plugin.zip b/server/event-plugin.zip new file mode 100644 index 0000000..3947245 Binary files /dev/null and b/server/event-plugin.zip differ diff --git a/server/views/assets/EventCreateView.vue_vue_type_script_setup_true_lang-CKvZ8aR5.js b/server/views/assets/EventCreateView.vue_vue_type_script_setup_true_lang-CKvZ8aR5.js new file mode 100644 index 0000000..323b46e --- /dev/null +++ b/server/views/assets/EventCreateView.vue_vue_type_script_setup_true_lang-CKvZ8aR5.js @@ -0,0 +1,2 @@ +import{importShared as M,__tla as Cu}from"./__federation_fn_import-ofDdBDNE.js";import{_ as Su,a as _u,b as Mu,__tla as Lu}from"./Title.vue_vue_type_script_setup_true_lang-By0ysY1L.js";import{_ as qu,a as Se,b as Pu,o as Uu,__tla as Nu}from"./InterestBadge.vue_vue_type_script_setup_true_lang-D9kVq5QA.js";let ia,Eu=Promise.all([(()=>{try{return Cu}catch{}})(),(()=>{try{return Lu}catch{}})(),(()=>{try{return Nu}catch{}})()]).then(async()=>{const{createElementVNode:oa,openBlock:ua,createElementBlock:la}=await M("vue");function sa(t,n){return ua(),la("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[oa("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m19.5 8.25-7.5 7.5-7.5-7.5"})])}const{createElementVNode:da,openBlock:ca,createElementBlock:ma}=await M("vue");function va(t,n){return ca(),ma("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[da("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"})])}function $(t){"@babel/helpers - typeof";return $=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},$(t)}function L(t){if(t===null||t===!0||t===!1)return NaN;var n=Number(t);return isNaN(n)?n:n<0?Math.ceil(n):Math.floor(n)}function w(t,n){if(n.length1?"s":"")+" required, but only "+n.length+" present")}function y(t){w(1,arguments);var n=Object.prototype.toString.call(t);return t instanceof Date||$(t)==="object"&&n==="[object Date]"?new Date(t.getTime()):typeof t=="number"||n==="[object Number]"?new Date(t):((typeof t=="string"||n==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function ga(t,n){w(2,arguments);var r=y(t),e=L(n);return isNaN(e)?new Date(NaN):(e&&r.setDate(r.getDate()+e),r)}function st(t,n){w(2,arguments);var r=y(t),e=L(n);if(isNaN(e))return new Date(NaN);if(!e)return r;var a=r.getDate(),i=new Date(r.getTime());i.setMonth(r.getMonth()+e+1,0);var o=i.getDate();return a>=o?i:(r.setFullYear(i.getFullYear(),i.getMonth(),a),r)}function pa(t,n){w(2,arguments);var r=y(t).getTime(),e=L(n);return new Date(r+e)}var fa={};function ne(){return fa}function ha(t,n){var r,e,a,i,o,u,l,s;w(1,arguments);var d=ne(),c=L((r=(e=(a=(i=n==null?void 0:n.weekStartsOn)!==null&&i!==void 0?i:n==null||(o=n.locale)===null||o===void 0||(u=o.options)===null||u===void 0?void 0:u.weekStartsOn)!==null&&a!==void 0?a:d.weekStartsOn)!==null&&e!==void 0?e:(l=d.locale)===null||l===void 0||(s=l.options)===null||s===void 0?void 0:s.weekStartsOn)!==null&&r!==void 0?r:0);if(!(c>=0&&c<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=y(t),p=h.getDay(),f=(pa||isNaN(a.getDate()))&&(r=a)}),r||new Date(NaN)}var ba=6e4,ka=36e5,xa=1e3;function mt(t,n){w(2,arguments);var r=dt(t),e=dt(n);return r.getTime()===e.getTime()}function Da(t){return w(1,arguments),t instanceof Date||$(t)==="object"&&Object.prototype.toString.call(t)==="[object Date]"}function Q(t){if(w(1,arguments),!Da(t)&&typeof t!="number")return!1;var n=y(t);return!isNaN(Number(n))}function Ta(t){w(1,arguments);var n=y(t);return n.setHours(23,59,59,999),n}function Ft(t){w(1,arguments);var n=y(t),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function Ca(t,n){var r;w(1,arguments);var e=t||{},a=y(e.start),i=y(e.end),o=i.getTime();if(!(a.getTime()<=o))throw new RangeError("Invalid interval");var u=[],l=a;l.setHours(0,0,0,0);var s=Number((r=void 0)!==null&&r!==void 0?r:1);if(s<1||isNaN(s))throw new RangeError("`options.step` must be a number greater than 1");for(;l.getTime()<=o;)u.push(y(l)),l.setDate(l.getDate()+s),l.setHours(0,0,0,0);return u}function Bt(t){w(1,arguments);var n=y(t);return n.setSeconds(0,0),n}function Sa(t){w(1,arguments);var n=t||{},r=y(n.start),e=y(n.end),a=e.getTime(),i=[];if(!(r.getTime()<=a))throw new RangeError("Invalid interval");var o=r;for(o.setHours(0,0,0,0),o.setDate(1);o.getTime()<=a;)i.push(y(o)),o.setMonth(o.getMonth()+1);return i}function Ht(t){w(1,arguments);var n=y(t);return n.setDate(1),n.setHours(0,0,0,0),n}function _a(t){w(1,arguments);var n=y(t),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function Ma(t){w(1,arguments);var n=y(t),r=new Date(0);return r.setFullYear(n.getFullYear(),0,1),r.setHours(0,0,0,0),r}function La(t){w(1,arguments);var n=t||{},r=y(n.start),e=y(n.end),a=e.getTime();if(!(r.getTime()<=a))throw new RangeError("Invalid interval");var i=[],o=r;for(o.setHours(0,0,0,0),o.setMonth(0,1);o.getTime()<=a;)i.push(y(o)),o.setFullYear(o.getFullYear()+1);return i}function qa(t){w(1,arguments);var n=y(t),r=n.getFullYear(),e=9+Math.floor(r/10)*10;return n.setFullYear(e,11,31),n.setHours(23,59,59,999),n}function Pa(t,n){var r,e,a,i,o,u,l,s;w(1,arguments);var d=ne(),c=L((r=(e=(a=(i=n==null?void 0:n.weekStartsOn)!==null&&i!==void 0?i:n==null||(o=n.locale)===null||o===void 0||(u=o.options)===null||u===void 0?void 0:u.weekStartsOn)!==null&&a!==void 0?a:d.weekStartsOn)!==null&&e!==void 0?e:(l=d.locale)===null||l===void 0||(s=l.options)===null||s===void 0?void 0:s.weekStartsOn)!==null&&r!==void 0?r:0);if(!(c>=0&&c<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=y(t),p=h.getDay(),f=(p=a.getTime()?r+1:n.getTime()>=o.getTime()?r:r-1}function Ea(t){w(1,arguments);var n=Rt(t),r=new Date(0);r.setUTCFullYear(n,0,4),r.setUTCHours(0,0,0,0);var e=ye(r);return e}var Oa=6048e5;function jt(t){w(1,arguments);var n=y(t),r=ye(n).getTime()-Ea(n).getTime();return Math.round(r/Oa)+1}function ce(t,n){var r,e,a,i,o,u,l,s;w(1,arguments);var d=ne(),c=L((r=(e=(a=(i=n==null?void 0:n.weekStartsOn)!==null&&i!==void 0?i:n==null||(o=n.locale)===null||o===void 0||(u=o.options)===null||u===void 0?void 0:u.weekStartsOn)!==null&&a!==void 0?a:d.weekStartsOn)!==null&&e!==void 0?e:(l=d.locale)===null||l===void 0||(s=l.options)===null||s===void 0?void 0:s.weekStartsOn)!==null&&r!==void 0?r:0);if(!(c>=0&&c<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var h=y(t),p=h.getUTCDay(),f=(p=1&&p<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var f=new Date(0);f.setUTCFullYear(c+1,0,p),f.setUTCHours(0,0,0,0);var m=ce(f,n),b=new Date(0);b.setUTCFullYear(c,0,p),b.setUTCHours(0,0,0,0);var U=ce(b,n);return d.getTime()>=m.getTime()?c+1:d.getTime()>=U.getTime()?c:c-1}function Va(t,n){var r,e,a,i,o,u,l,s;w(1,arguments);var d=ne(),c=L((r=(e=(a=(i=n==null?void 0:n.firstWeekContainsDate)!==null&&i!==void 0?i:n==null||(o=n.locale)===null||o===void 0||(u=o.options)===null||u===void 0?void 0:u.firstWeekContainsDate)!==null&&a!==void 0?a:d.firstWeekContainsDate)!==null&&e!==void 0?e:(l=d.locale)===null||l===void 0||(s=l.options)===null||s===void 0?void 0:s.firstWeekContainsDate)!==null&&r!==void 0?r:1),h=vt(t,n),p=new Date(0);p.setUTCFullYear(h,0,c),p.setUTCHours(0,0,0,0);var f=ce(p,n);return f}var Ya=6048e5;function It(t,n){w(1,arguments);var r=y(t),e=ce(r,n).getTime()-Va(r,n).getTime();return Math.round(e/Ya)+1}function q(t,n){for(var r=t<0?"-":"",e=Math.abs(t).toString();e.length0?r:1-r;return q(n==="yy"?e%100:e,n.length)},M:function(t,n){var r=t.getUTCMonth();return n==="M"?String(r+1):q(r+1,2)},d:function(t,n){return q(t.getUTCDate(),n.length)},a:function(t,n){var r=t.getUTCHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];case"aaaa":default:return r==="am"?"a.m.":"p.m."}},h:function(t,n){return q(t.getUTCHours()%12||12,n.length)},H:function(t,n){return q(t.getUTCHours(),n.length)},m:function(t,n){return q(t.getUTCMinutes(),n.length)},s:function(t,n){return q(t.getUTCSeconds(),n.length)},S:function(t,n){var r=n.length,e=t.getUTCMilliseconds(),a=Math.floor(e*Math.pow(10,r-3));return q(a,n.length)}},we={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Fa={G:function(t,n,r){var e=t.getUTCFullYear()>0?1:0;switch(n){case"G":case"GG":case"GGG":return r.era(e,{width:"abbreviated"});case"GGGGG":return r.era(e,{width:"narrow"});case"GGGG":default:return r.era(e,{width:"wide"})}},y:function(t,n,r){if(n==="yo"){var e=t.getUTCFullYear(),a=e>0?e:1-e;return r.ordinalNumber(a,{unit:"year"})}return oe.y(t,n)},Y:function(t,n,r,e){var a=vt(t,e),i=a>0?a:1-a;if(n==="YY"){var o=i%100;return q(o,2)}return n==="Yo"?r.ordinalNumber(i,{unit:"year"}):q(i,n.length)},R:function(t,n){var r=Rt(t);return q(r,n.length)},u:function(t,n){var r=t.getUTCFullYear();return q(r,n.length)},Q:function(t,n,r){var e=Math.ceil((t.getUTCMonth()+1)/3);switch(n){case"Q":return String(e);case"QQ":return q(e,2);case"Qo":return r.ordinalNumber(e,{unit:"quarter"});case"QQQ":return r.quarter(e,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQ":default:return r.quarter(e,{width:"wide",context:"formatting"})}},q:function(t,n,r){var e=Math.ceil((t.getUTCMonth()+1)/3);switch(n){case"q":return String(e);case"qq":return q(e,2);case"qo":return r.ordinalNumber(e,{unit:"quarter"});case"qqq":return r.quarter(e,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(e,{width:"narrow",context:"standalone"});case"qqqq":default:return r.quarter(e,{width:"wide",context:"standalone"})}},M:function(t,n,r){var e=t.getUTCMonth();switch(n){case"M":case"MM":return oe.M(t,n);case"Mo":return r.ordinalNumber(e+1,{unit:"month"});case"MMM":return r.month(e,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(e,{width:"narrow",context:"formatting"});case"MMMM":default:return r.month(e,{width:"wide",context:"formatting"})}},L:function(t,n,r){var e=t.getUTCMonth();switch(n){case"L":return String(e+1);case"LL":return q(e+1,2);case"Lo":return r.ordinalNumber(e+1,{unit:"month"});case"LLL":return r.month(e,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(e,{width:"narrow",context:"standalone"});case"LLLL":default:return r.month(e,{width:"wide",context:"standalone"})}},w:function(t,n,r,e){var a=It(t,e);return n==="wo"?r.ordinalNumber(a,{unit:"week"}):q(a,n.length)},I:function(t,n,r){var e=jt(t);return n==="Io"?r.ordinalNumber(e,{unit:"week"}):q(e,n.length)},d:function(t,n,r){return n==="do"?r.ordinalNumber(t.getUTCDate(),{unit:"date"}):oe.d(t,n)},D:function(t,n,r){var e=Na(t);return n==="Do"?r.ordinalNumber(e,{unit:"dayOfYear"}):q(e,n.length)},E:function(t,n,r){var e=t.getUTCDay();switch(n){case"E":case"EE":case"EEE":return r.day(e,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(e,{width:"short",context:"formatting"});case"EEEE":default:return r.day(e,{width:"wide",context:"formatting"})}},e:function(t,n,r,e){var a=t.getUTCDay(),i=(a-e.weekStartsOn+8)%7||7;switch(n){case"e":return String(i);case"ee":return q(i,2);case"eo":return r.ordinalNumber(i,{unit:"day"});case"eee":return r.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(a,{width:"short",context:"formatting"});case"eeee":default:return r.day(a,{width:"wide",context:"formatting"})}},c:function(t,n,r,e){var a=t.getUTCDay(),i=(a-e.weekStartsOn+8)%7||7;switch(n){case"c":return String(i);case"cc":return q(i,n.length);case"co":return r.ordinalNumber(i,{unit:"day"});case"ccc":return r.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(a,{width:"narrow",context:"standalone"});case"cccccc":return r.day(a,{width:"short",context:"standalone"});case"cccc":default:return r.day(a,{width:"wide",context:"standalone"})}},i:function(t,n,r){var e=t.getUTCDay(),a=e===0?7:e;switch(n){case"i":return String(a);case"ii":return q(a,n.length);case"io":return r.ordinalNumber(a,{unit:"day"});case"iii":return r.day(e,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(e,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(e,{width:"short",context:"formatting"});case"iiii":default:return r.day(e,{width:"wide",context:"formatting"})}},a:function(t,n,r){var e=t.getUTCHours(),a=e/12>=1?"pm":"am";switch(n){case"a":case"aa":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return r.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(t,n,r){var e=t.getUTCHours(),a;switch(e===12?a=we.noon:e===0?a=we.midnight:a=e/12>=1?"pm":"am",n){case"b":case"bb":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return r.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(t,n,r){var e=t.getUTCHours(),a;switch(e>=17?a=we.evening:e>=12?a=we.afternoon:e>=4?a=we.morning:a=we.night,n){case"B":case"BB":case"BBB":return r.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return r.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(t,n,r){if(n==="ho"){var e=t.getUTCHours()%12;return e===0&&(e=12),r.ordinalNumber(e,{unit:"hour"})}return oe.h(t,n)},H:function(t,n,r){return n==="Ho"?r.ordinalNumber(t.getUTCHours(),{unit:"hour"}):oe.H(t,n)},K:function(t,n,r){var e=t.getUTCHours()%12;return n==="Ko"?r.ordinalNumber(e,{unit:"hour"}):q(e,n.length)},k:function(t,n,r){var e=t.getUTCHours();return e===0&&(e=24),n==="ko"?r.ordinalNumber(e,{unit:"hour"}):q(e,n.length)},m:function(t,n,r){return n==="mo"?r.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):oe.m(t,n)},s:function(t,n,r){return n==="so"?r.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):oe.s(t,n)},S:function(t,n){return oe.S(t,n)},X:function(t,n,r,e){var a=e._originalDate||t,i=a.getTimezoneOffset();if(i===0)return"Z";switch(n){case"X":return Qt(i);case"XXXX":case"XX":return me(i);case"XXXXX":case"XXX":default:return me(i,":")}},x:function(t,n,r,e){var a=e._originalDate||t,i=a.getTimezoneOffset();switch(n){case"x":return Qt(i);case"xxxx":case"xx":return me(i);case"xxxxx":case"xxx":default:return me(i,":")}},O:function(t,n,r,e){var a=e._originalDate||t,i=a.getTimezoneOffset();switch(n){case"O":case"OO":case"OOO":return"GMT"+Wt(i,":");case"OOOO":default:return"GMT"+me(i,":")}},z:function(t,n,r,e){var a=e._originalDate||t,i=a.getTimezoneOffset();switch(n){case"z":case"zz":case"zzz":return"GMT"+Wt(i,":");case"zzzz":default:return"GMT"+me(i,":")}},t:function(t,n,r,e){var a=e._originalDate||t,i=Math.floor(a.getTime()/1e3);return q(i,n.length)},T:function(t,n,r,e){var a=e._originalDate||t,i=a.getTime();return q(i,n.length)}};function Wt(t,n){var r=t>0?"-":"+",e=Math.abs(t),a=Math.floor(e/60),i=e%60;if(i===0)return r+String(a);var o=n;return r+String(a)+o+q(i,2)}function Qt(t,n){if(t%60===0){var r=t>0?"-":"+";return r+q(Math.abs(t)/60,2)}return me(t,n)}function me(t,n){var r=n||"",e=t>0?"-":"+",a=Math.abs(t),i=q(Math.floor(a/60),2),o=q(a%60,2);return e+i+r+o}var zt=function(t,n){switch(t){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});case"PPPP":default:return n.date({width:"full"})}},$t=function(t,n){switch(t){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});case"pppp":default:return n.time({width:"full"})}},Ba=function(t,n){var r=t.match(/(P+)(p+)?/)||[],e=r[1],a=r[2];if(!a)return zt(t,n);var i;switch(e){case"P":i=n.dateTime({width:"short"});break;case"PP":i=n.dateTime({width:"medium"});break;case"PPP":i=n.dateTime({width:"long"});break;case"PPPP":default:i=n.dateTime({width:"full"});break}return i.replace("{{date}}",zt(e,n)).replace("{{time}}",$t(a,n))},gt={p:$t,P:Ba},Ha=["D","DD"],Aa=["YY","YYYY"];function Xt(t){return Ha.indexOf(t)!==-1}function Gt(t){return Aa.indexOf(t)!==-1}function Qe(t,n,r){if(t==="YYYY")throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(n,"`) for formatting years to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if(t==="YY")throw new RangeError("Use `yy` instead of `YY` (in `".concat(n,"`) for formatting years to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if(t==="D")throw new RangeError("Use `d` instead of `D` (in `".concat(n,"`) for formatting days of the month to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if(t==="DD")throw new RangeError("Use `dd` instead of `DD` (in `".concat(n,"`) for formatting days of the month to the input `").concat(r,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var Ra={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},ja=function(t,n,r){var e,a=Ra[t];return typeof a=="string"?e=a:n===1?e=a.one:e=a.other.replace("{{count}}",n.toString()),r!=null&&r.addSuffix?r.comparison&&r.comparison>0?"in "+e:e+" ago":e};function pt(t){return function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=n.width?String(n.width):t.defaultWidth,e=t.formats[r]||t.formats[t.defaultWidth];return e}}var Ia={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Wa={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Qa={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},za={date:pt({formats:Ia,defaultWidth:"full"}),time:pt({formats:Wa,defaultWidth:"full"}),dateTime:pt({formats:Qa,defaultWidth:"full"})},$a={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Xa=function(t,n,r,e){return $a[t]};function _e(t){return function(n,r){var e=r!=null&&r.context?String(r.context):"standalone",a;if(e==="formatting"&&t.formattingValues){var i=t.defaultFormattingWidth||t.defaultWidth,o=r!=null&&r.width?String(r.width):i;a=t.formattingValues[o]||t.formattingValues[i]}else{var u=t.defaultWidth,l=r!=null&&r.width?String(r.width):t.defaultWidth;a=t.values[l]||t.values[u]}var s=t.argumentCallback?t.argumentCallback(n):n;return a[s]}}var Ga={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Za={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Ja={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Ka={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},ei={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ti={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},ri=function(t,n){var r=Number(t),e=r%100;if(e>20||e<10)switch(e%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},ni={ordinalNumber:ri,era:_e({values:Ga,defaultWidth:"wide"}),quarter:_e({values:Za,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:_e({values:Ja,defaultWidth:"wide"}),day:_e({values:Ka,defaultWidth:"wide"}),dayPeriod:_e({values:ei,defaultWidth:"wide",formattingValues:ti,defaultFormattingWidth:"wide"})};function Me(t){return function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},e=r.width,a=e&&t.matchPatterns[e]||t.matchPatterns[t.defaultMatchWidth],i=n.match(a);if(!i)return null;var o=i[0],u=e&&t.parsePatterns[e]||t.parsePatterns[t.defaultParseWidth],l=Array.isArray(u)?ii(u,function(c){return c.test(o)}):ai(u,function(c){return c.test(o)}),s;s=t.valueCallback?t.valueCallback(l):l,s=r.valueCallback?r.valueCallback(s):s;var d=n.slice(o.length);return{value:s,rest:d}}}function ai(t,n){for(var r in t)if(t.hasOwnProperty(r)&&n(t[r]))return r}function ii(t,n){for(var r=0;r1&&arguments[1]!==void 0?arguments[1]:{},e=n.match(t.matchPattern);if(!e)return null;var a=e[0],i=n.match(t.parsePattern);if(!i)return null;var o=t.valueCallback?t.valueCallback(i[0]):i[0];o=r.valueCallback?r.valueCallback(o):o;var u=n.slice(a.length);return{value:o,rest:u}}}var ui=/^(\d+)(th|st|nd|rd)?/i,li=/\d+/i,si={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},di={any:[/^b/i,/^(a|c)/i]},ci={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},mi={any:[/1/i,/2/i,/3/i,/4/i]},vi={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},gi={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},pi={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},fi={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},hi={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},yi={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},wi={ordinalNumber:oi({matchPattern:ui,parsePattern:li,valueCallback:function(t){return parseInt(t,10)}}),era:Me({matchPatterns:si,defaultMatchWidth:"wide",parsePatterns:di,defaultParseWidth:"any"}),quarter:Me({matchPatterns:ci,defaultMatchWidth:"wide",parsePatterns:mi,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:Me({matchPatterns:vi,defaultMatchWidth:"wide",parsePatterns:gi,defaultParseWidth:"any"}),day:Me({matchPatterns:pi,defaultMatchWidth:"wide",parsePatterns:fi,defaultParseWidth:"any"}),dayPeriod:Me({matchPatterns:hi,defaultMatchWidth:"any",parsePatterns:yi,defaultParseWidth:"any"})},Zt={code:"en-US",formatDistance:ja,formatLong:za,formatRelative:Xa,localize:ni,match:wi,options:{weekStartsOn:0,firstWeekContainsDate:1}},bi=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ki=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,xi=/^'([^]*?)'?$/,Di=/''/g,Ti=/[a-zA-Z]/;function ze(t,n,r){var e,a,i,o,u,l,s,d,c,h,p,f,m,b,U,F,W,k;w(2,arguments);var I=String(n),H=ne(),te=(e=(a=r==null?void 0:r.locale)!==null&&a!==void 0?a:H.locale)!==null&&e!==void 0?e:Zt,ie=L((i=(o=(u=(l=r==null?void 0:r.firstWeekContainsDate)!==null&&l!==void 0?l:r==null||(s=r.locale)===null||s===void 0||(d=s.options)===null||d===void 0?void 0:d.firstWeekContainsDate)!==null&&u!==void 0?u:H.firstWeekContainsDate)!==null&&o!==void 0?o:(c=H.locale)===null||c===void 0||(h=c.options)===null||h===void 0?void 0:h.firstWeekContainsDate)!==null&&i!==void 0?i:1);if(!(ie>=1&&ie<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var se=L((p=(f=(m=(b=r==null?void 0:r.weekStartsOn)!==null&&b!==void 0?b:r==null||(U=r.locale)===null||U===void 0||(F=U.options)===null||F===void 0?void 0:F.weekStartsOn)!==null&&m!==void 0?m:H.weekStartsOn)!==null&&f!==void 0?f:(W=H.locale)===null||W===void 0||(k=W.options)===null||k===void 0?void 0:k.weekStartsOn)!==null&&p!==void 0?p:0);if(!(se>=0&&se<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!te.localize)throw new RangeError("locale must contain localize property");if(!te.formatLong)throw new RangeError("locale must contain formatLong property");var de=y(t);if(!Q(de))throw new RangeError("Invalid time value");var Re=Yt(de),je=At(de,Re),Ie={firstWeekContainsDate:ie,weekStartsOn:se,locale:te,_originalDate:de},Et=I.match(ki).map(function(A){var z=A[0];if(z==="p"||z==="P"){var he=gt[z];return he(A,te.formatLong)}return A}).join("").match(bi).map(function(A){if(A==="''")return"'";var z=A[0];if(z==="'")return Ci(A);var he=Fa[z];if(he)return!(r!=null&&r.useAdditionalWeekYearTokens)&&Gt(A)&&Qe(A,n,String(t)),!(r!=null&&r.useAdditionalDayOfYearTokens)&&Xt(A)&&Qe(A,n,String(t)),he(je,A,te.localize,Ie);if(z.match(Ti))throw new RangeError("Format string contains an unescaped latin alphabet character `"+z+"`");return A}).join("");return Et}function Ci(t){var n=t.match(xi);return n?n[1].replace(Di,"'"):t}function Si(t,n){if(t==null)throw new TypeError("assign requires that input parameter not be null or undefined");for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t}function _i(t){w(1,arguments);var n=y(t),r=n.getFullYear(),e=n.getMonth(),a=new Date(0);return a.setFullYear(r,e+1,0),a.setHours(0,0,0,0),a.getDate()}function $e(t){w(1,arguments);var n=y(t),r=n.getFullYear(),e=Math.floor(r/10)*10;return e}function X(t){return w(1,arguments),y(t).getFullYear()}function Le(t,n){w(2,arguments);var r=y(t),e=y(n);return r.getTime()>e.getTime()}function qe(t,n){w(2,arguments);var r=y(t),e=y(n);return r.getTime()t.length)&&(n=t.length);for(var r=0,e=Array(n);r=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(l){throw l},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,o=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return o=l.done,l},e:function(l){u=!0,i=l},f:function(){try{o||r.return==null||r.return()}finally{if(u)throw i}}}}function g(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function ft(t,n){return ft=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,e){return r.__proto__=e,r},ft(t,n)}function T(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(n&&n.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),n&&ft(t,n)}function Xe(t){return Xe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Xe(t)}function er(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(er=function(){return!!t})()}function Li(t,n){if(n&&($(n)=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return g(t)}function C(t){var n=er();return function(){var r,e=Xe(t);if(n){var a=Xe(this).constructor;r=Reflect.construct(e,arguments,a)}else r=e.apply(this,arguments);return Li(this,r)}}function x(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function qi(t,n){if($(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var e=r.call(t,n||"default");if($(e)!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(t)}function tr(t){var n=qi(t,"string");return $(n)=="symbol"?n:n+""}function Pi(t,n){for(var r=0;r0,e=r?n:1-n,a;if(e<=50)a=t||100;else{var i=e+50,o=Math.floor(i/100)*100,u=t>=i%100;a=t+o-(u?100:0)}return r?a:1-a}function or(t){return t%400===0||t%4===0&&t%100!==0}var Vi=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o0}},{key:"set",value:function(e,a,i){var o=e.getUTCFullYear();if(i.isTwoDigitYear){var u=ir(i.year,o);return e.setUTCFullYear(u,0,1),e.setUTCHours(0,0,0,0),e}var l=!("era"in a)||a.era===1?i.year:1-i.year;return e.setUTCFullYear(l,0,1),e.setUTCHours(0,0,0,0),e}}]),r}(_),Yi=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o0}},{key:"set",value:function(e,a,i,o){var u=vt(e,o);if(i.isTwoDigitYear){var l=ir(i.year,u);return e.setUTCFullYear(l,0,o.firstWeekContainsDate),e.setUTCHours(0,0,0,0),ce(e,o)}var s=!("era"in a)||a.era===1?i.year:1-i.year;return e.setUTCFullYear(s,0,o.firstWeekContainsDate),e.setUTCHours(0,0,0,0),ce(e,o)}}]),r}(_),Fi=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=1&&a<=4}},{key:"set",value:function(e,a,i){return e.setUTCMonth((i-1)*3,1),e.setUTCHours(0,0,0,0),e}}]),r}(_),Ai=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=1&&a<=4}},{key:"set",value:function(e,a,i){return e.setUTCMonth((i-1)*3,1),e.setUTCHours(0,0,0,0),e}}]),r}(_),Ri=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=0&&a<=11}},{key:"set",value:function(e,a,i){return e.setUTCMonth(i,1),e.setUTCHours(0,0,0,0),e}}]),r}(_),ji=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=0&&a<=11}},{key:"set",value:function(e,a,i){return e.setUTCMonth(i,1),e.setUTCHours(0,0,0,0),e}}]),r}(_);function Ii(t,n,r){w(2,arguments);var e=y(t),a=L(n),i=It(e,r)-a;return e.setUTCDate(e.getUTCDate()-i*7),e}var Wi=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=1&&a<=53}},{key:"set",value:function(e,a,i,o){return ce(Ii(e,i,o),o)}}]),r}(_);function Qi(t,n){w(2,arguments);var r=y(t),e=L(n),a=jt(r)-e;return r.setUTCDate(r.getUTCDate()-a*7),r}var zi=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=1&&a<=53}},{key:"set",value:function(e,a,i){return ye(Qi(e,i))}}]),r}(_),$i=[31,28,31,30,31,30,31,31,30,31,30,31],Xi=[31,29,31,30,31,30,31,31,30,31,30,31],Gi=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=1&&a<=Xi[u]:a>=1&&a<=$i[u]}},{key:"set",value:function(e,a,i){return e.setUTCDate(i),e.setUTCHours(0,0,0,0),e}}]),r}(_),Zi=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=1&&a<=366:a>=1&&a<=365}},{key:"set",value:function(e,a,i){return e.setUTCMonth(0,i),e.setUTCHours(0,0,0,0),e}}]),r}(_);function yt(t,n,r){var e,a,i,o,u,l,s,d;w(2,arguments);var c=ne(),h=L((e=(a=(i=(o=r==null?void 0:r.weekStartsOn)!==null&&o!==void 0?o:r==null||(u=r.locale)===null||u===void 0||(l=u.options)===null||l===void 0?void 0:l.weekStartsOn)!==null&&i!==void 0?i:c.weekStartsOn)!==null&&a!==void 0?a:(s=c.locale)===null||s===void 0||(d=s.options)===null||d===void 0?void 0:d.weekStartsOn)!==null&&e!==void 0?e:0);if(!(h>=0&&h<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var p=y(t),f=L(n),m=p.getUTCDay(),b=f%7,U=(b+7)%7,F=(U=0&&a<=6}},{key:"set",value:function(e,a,i,o){return e=yt(e,i,o),e.setUTCHours(0,0,0,0),e}}]),r}(_),Ki=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=0&&a<=6}},{key:"set",value:function(e,a,i,o){return e=yt(e,i,o),e.setUTCHours(0,0,0,0),e}}]),r}(_),eo=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=0&&a<=6}},{key:"set",value:function(e,a,i,o){return e=yt(e,i,o),e.setUTCHours(0,0,0,0),e}}]),r}(_);function to(t,n){w(2,arguments);var r=L(n);r%7===0&&(r=r-7);var e=1,a=y(t),i=a.getUTCDay(),o=r%7,u=(o+7)%7,l=(u=1&&a<=7}},{key:"set",value:function(e,a,i){return e=to(e,i),e.setUTCHours(0,0,0,0),e}}]),r}(_),no=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=1&&a<=12}},{key:"set",value:function(e,a,i){var o=e.getUTCHours()>=12;return o&&i<12?e.setUTCHours(i+12,0,0,0):!o&&i===12?e.setUTCHours(0,0,0,0):e.setUTCHours(i,0,0,0),e}}]),r}(_),uo=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=0&&a<=23}},{key:"set",value:function(e,a,i){return e.setUTCHours(i,0,0,0),e}}]),r}(_),lo=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=0&&a<=11}},{key:"set",value:function(e,a,i){var o=e.getUTCHours()>=12;return o&&i<12?e.setUTCHours(i+12,0,0,0):e.setUTCHours(i,0,0,0),e}}]),r}(_),so=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=1&&a<=24}},{key:"set",value:function(e,a,i){var o=i<=24?i%24:i;return e.setUTCHours(o,0,0,0),e}}]),r}(_),co=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=0&&a<=59}},{key:"set",value:function(e,a,i){return e.setUTCMinutes(i,0,0),e}}]),r}(_),mo=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=0&&a<=59}},{key:"set",value:function(e,a,i){return e.setUTCSeconds(i,0),e}}]),r}(_),vo=function(t){T(r,t);var n=C(r);function r(){var e;x(this,r);for(var a=arguments.length,i=new Array(a),o=0;o=1&&de<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var Re=L((f=(m=(b=(U=e==null?void 0:e.weekStartsOn)!==null&&U!==void 0?U:e==null||(F=e.locale)===null||F===void 0||(W=F.options)===null||W===void 0?void 0:W.weekStartsOn)!==null&&b!==void 0?b:ie.weekStartsOn)!==null&&m!==void 0?m:(k=ie.locale)===null||k===void 0||(I=k.options)===null||I===void 0?void 0:I.weekStartsOn)!==null&&f!==void 0?f:0);if(!(Re>=0&&Re<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(te==="")return H===""?y(r):new Date(NaN);var je={firstWeekContainsDate:de,weekStartsOn:Re,locale:se},Ie=[new Ei],Et=te.match(bo).map(function(S){var R=S[0];if(R in gt){var re=gt[R];return re(S,se.formatLong)}return S}).join("").match(wo),A=[],z=Kt(Et),he;try{var Du=function(){var S=he.value;!(e!=null&&e.useAdditionalWeekYearTokens)&&Gt(S)&&Qe(S,te,t),!(e!=null&&e.useAdditionalDayOfYearTokens)&&Xt(S)&&Qe(S,te,t);var R=S[0],re=yo[R];if(re){var ra=re.incompatibleTokens;if(Array.isArray(ra)){var na=A.find(function(aa){return ra.includes(aa.token)||aa.token===R});if(na)throw new RangeError("The format string mustn't contain `".concat(na.fullToken,"` and `").concat(S,"` at the same time"))}else if(re.incompatibleTokens==="*"&&A.length>0)throw new RangeError("The format string mustn't contain `".concat(S,"` and any other token at the same time"));A.push({token:R,fullToken:S});var Vt=re.run(H,S,se.match,je);if(!Vt)return{v:new Date(NaN)};Ie.push(Vt.setter),H=Vt.rest}else{if(R.match(To))throw new RangeError("Format string contains an unescaped latin alphabet character `"+R+"`");if(S==="''"?S="'":R==="'"&&(S=Co(S)),H.indexOf(S)===0)H=H.slice(S.length);else return{v:new Date(NaN)}}};for(z.s();!(he=z.n()).done;){var Jn=Du();if($(Jn)==="object")return Jn.v}}catch(S){z.e(S)}finally{z.f()}if(H.length>0&&Do.test(H))return new Date(NaN);var Tu=Ie.map(function(S){return S.priority}).sort(function(S,R){return R-S}).filter(function(S,R,re){return re.indexOf(S)===R}).map(function(S){return Ie.filter(function(R){return R.priority===S}).sort(function(R,re){return re.subPriority-R.subPriority})}).map(function(S){return S[0]}),Ot=y(r);if(isNaN(Ot.getTime()))return new Date(NaN);var We=At(Ot,Yt(Ot)),Kn={},ut=Kt(Tu),ea;try{for(ut.s();!(ea=ut.n()).done;){var ta=ea.value;if(!ta.validate(We,je))return new Date(NaN);var lt=ta.set(We,Kn,je);Array.isArray(lt)?(We=lt[0],Si(Kn,lt[1])):We=lt}}catch(S){ut.e(S)}finally{ut.f()}return We}function Co(t){return t.match(ko)[1].replace(xo,"'")}function lr(t){w(1,arguments);var n=y(t);return n.setMinutes(0,0,0),n}function So(t,n){w(2,arguments);var r=lr(t),e=lr(n);return r.getTime()===e.getTime()}function _o(t,n){w(2,arguments);var r=Bt(t),e=Bt(n);return r.getTime()===e.getTime()}function wt(t,n){w(2,arguments);var r=y(t),e=y(n);return r.getFullYear()===e.getFullYear()&&r.getMonth()===e.getMonth()}function sr(t,n){w(2,arguments);var r=y(t),e=y(n);return r.getFullYear()===e.getFullYear()}function Mo(t,n){w(2,arguments);var r=y(t).getTime(),e=y(n.start).getTime(),a=y(n.end).getTime();if(!(e<=a))throw new RangeError("Invalid interval");return r>=e&&r<=a}function Lo(t,n){w(2,arguments);var r=y(t),e=L(n),a=r.getFullYear(),i=r.getDate(),o=new Date(0);o.setFullYear(a,e,15),o.setHours(0,0,0,0);var u=_i(o);return r.setMonth(e,Math.min(i,u)),r}function dr(t,n){if(w(2,arguments),$(n)!=="object"||n===null)throw new RangeError("values parameter must be an object");var r=y(t);return isNaN(r.getTime())?new Date(NaN):(n.year!=null&&r.setFullYear(n.year),n.month!=null&&(r=Lo(r,n.month)),n.date!=null&&r.setDate(L(n.date)),n.hours!=null&&r.setHours(L(n.hours)),n.minutes!=null&&r.setMinutes(L(n.minutes)),n.seconds!=null&&r.setSeconds(L(n.seconds)),n.milliseconds!=null&&r.setMilliseconds(L(n.milliseconds)),r)}function qo(t,n,r){var e,a,i,o,u,l,s,d;w(2,arguments);var c=ne(),h=L((e=(a=(i=(o=r==null?void 0:r.weekStartsOn)!==null&&o!==void 0?o:r==null||(u=r.locale)===null||u===void 0||(l=u.options)===null||l===void 0?void 0:l.weekStartsOn)!==null&&i!==void 0?i:c.weekStartsOn)!==null&&a!==void 0?a:(s=c.locale)===null||s===void 0||(d=s.options)===null||d===void 0?void 0:d.weekStartsOn)!==null&&e!==void 0?e:0);if(!(h>=0&&h<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var p=y(t),f=L(n),m=p.getDay(),b=f%7,U=(b+7)%7,F=7-h,W=f<0||f>6?f-(m+F)%7:(U+F)%7-(m+F)%7;return ga(p,W)}function Po(t){w(1,arguments);var n=y(t),r=n.getFullYear(),e=Math.floor(r/10)*10;return n.setFullYear(e,0,1),n.setHours(0,0,0,0),n}function Uo(t,n){w(2,arguments);var r=L(n);return st(t,-r)}function cr(t,n){w(2,arguments);var r=L(n);return ct(t,-r)}(function(){try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".v3dp__popout[data-v-65eb861b]{z-index:10;position:absolute;text-align:center;width:17.5em;background-color:var(--popout-bg-color);box-shadow:var(--box-shadow);border-radius:var(--border-radius);padding:8px 0 1em;color:var(--text-color)}.v3dp__popout *[data-v-65eb861b]{color:inherit;font-size:inherit;font-weight:inherit}.v3dp__popout[data-v-65eb861b] button{background:none;border:none;outline:none}.v3dp__popout[data-v-65eb861b] button:not(:disabled){cursor:pointer}.v3dp__heading[data-v-65eb861b]{width:100%;display:flex;height:var(--heading-size);line-height:var(--heading-size);font-weight:var(--heading-weight)}.v3dp__heading__button[data-v-65eb861b]{background:none;border:none;padding:0;display:flex;justify-content:center;align-items:center;width:var(--heading-size)}button.v3dp__heading__center[data-v-65eb861b]:hover,.v3dp__heading__button[data-v-65eb861b]:not(:disabled):hover{background-color:var(--heading-hover-color)}.v3dp__heading__center[data-v-65eb861b]{flex:1}.v3dp__heading__icon[data-v-65eb861b]{height:12px;stroke:var(--arrow-color)}.v3dp__heading__button:disabled .v3dp__heading__icon[data-v-65eb861b]{stroke:var(--elem-disabled-color)}.v3dp__subheading[data-v-65eb861b],.v3dp__elements[data-v-65eb861b]{display:grid;grid-template-columns:var(--popout-column-definition);font-size:var(--elem-font-size)}.v3dp__subheading[data-v-65eb861b]{margin-top:1em}.v3dp__divider[data-v-65eb861b]{border:1px solid var(--divider-color);border-radius:3px}.v3dp__elements[data-v-65eb861b] button:disabled{color:var(--elem-disabled-color)}.v3dp__elements[data-v-65eb861b] button{padding:.3em .6em}.v3dp__elements[data-v-65eb861b] button span{display:block;line-height:1.9em;height:1.8em;border-radius:var(--elem-border-radius)}.v3dp__elements[data-v-65eb861b] button:not(:disabled):hover span{background-color:var(--elem-hover-bg-color);color:var(--elem-hover-color)}.v3dp__elements[data-v-65eb861b] button.selected span{background-color:var(--elem-selected-bg-color);color:var(--elem-selected-color)}.v3dp__elements[data-v-65eb861b] button.current span{font-weight:var(--elem-current-font-weight);outline:1px solid var(--elem-current-outline-color)}.v3dp__column[data-v-81ac698d]{display:flex;flex-direction:column;overflow-y:auto;height:190px}.v3dp__datepicker{--popout-bg-color: var(--vdp-bg-color, #fff);--box-shadow: var( --vdp-box-shadow, 0 4px 10px 0 rgba(128, 144, 160, .1), 0 0 1px 0 rgba(128, 144, 160, .81) );--text-color: var(--vdp-text-color, #000000);--border-radius: var(--vdp-border-radius, 3px);--heading-size: var(--vdp-heading-size, 2.5em);--heading-weight: var(--vdp-heading-weight, bold);--heading-hover-color: var(--vdp-heading-hover-color, #eeeeee);--arrow-color: var(--vdp-arrow-color, currentColor);--elem-color: var(--vdp-elem-color, currentColor);--elem-disabled-color: var(--vdp-disabled-color, #d5d9e0);--elem-hover-color: var(--vdp-hover-color, #fff);--elem-hover-bg-color: var(--vdp-hover-bg-color, #0baf74);--elem-selected-color: var(--vdp-selected-color, #fff);--elem-selected-bg-color: var(--vdp-selected-bg-color, #0baf74);--elem-current-outline-color: var(--vdp-current-date-outline-color, #888);--elem-current-font-weight: var(--vdp-current-date-font-weight, bold);--elem-font-size: var(--vdp-elem-font-size, .8em);--elem-border-radius: var(--vdp-elem-border-radius, 3px);--divider-color: var(--vdp-divider-color, var(--elem-disabled-color));position:relative}.v3dp__clearable{display:inline;position:relative;left:-15px;cursor:pointer}")),document.head.appendChild(t)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();const{defineComponent:be,openBlock:j,createElementBlock:G,normalizeClass:Pe,normalizeStyle:mr,withModifiers:ve,createElementVNode:N,renderSlot:ke,createBlock:Ue,resolveDynamicComponent:No,withCtx:ge,Fragment:Ne,createCommentVNode:Eo,renderList:Ge,toDisplayString:ae,pushScopeId:Oo,popScopeId:Vo,computed:P,resolveComponent:ue,createTextVNode:Ze,ref:Z,watch:vr,nextTick:Yo,watchEffect:bt,withDirectives:xe,mergeProps:Fo,vModelText:Bo,vShow:Ee,createVNode:Je}=await M("vue"),Ho=["year","month","day","time","custom"],Ao=be({emits:{elementClick:t=>Q(t),left:()=>!0,right:()=>!0,heading:()=>!0},props:{headingClickable:{type:Boolean,default:!1},leftDisabled:{type:Boolean,default:!1},rightDisabled:{type:Boolean,default:!1},columnCount:{type:Number,default:7},items:{type:Array,default:()=>[]},viewMode:{type:String,required:!0,validate:t=>typeof t=="string"&&Ho.includes(t)}}}),De=(t,n)=>{const r=t.__vccOpts||t;for(const[e,a]of n)r[e]=a;return r},kt=t=>(Oo("data-v-65eb861b"),t=t(),Vo(),t),Ro={class:"v3dp__heading"},jo=["disabled"],Io=kt(()=>N("svg",{class:"v3dp__heading__icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 6 8"},[N("g",{fill:"none","fill-rule":"evenodd"},[N("path",{stroke:"none",d:"M-9 16V-8h24v24z"}),N("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 0L1 4l4 4"})])],-1)),Wo=["disabled"],Qo=kt(()=>N("svg",{class:"v3dp__heading__icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 6 8"},[N("g",{fill:"none","fill-rule":"evenodd"},[N("path",{stroke:"none",d:"M15-8v24H-9V-8z"}),N("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M1 8l4-4-4-4"})])],-1)),zo={class:"v3dp__body"},$o={class:"v3dp__subheading"},Xo=kt(()=>N("hr",{class:"v3dp__divider"},null,-1)),Go={class:"v3dp__elements"},Zo=["disabled","onClick"];function Jo(t,n,r,e,a,i){return j(),G("div",{class:Pe(["v3dp__popout",`v3dp__popout-${t.viewMode}`]),style:mr({"--popout-column-definition":`repeat(${t.columnCount}, 1fr)`}),onMousedown:n[3]||(n[3]=ve(()=>{},["prevent"]))},[N("div",Ro,[N("button",{class:"v3dp__heading__button v3dp__heading__button__left",disabled:t.leftDisabled,onClick:n[0]||(n[0]=ve(o=>t.$emit("left"),["stop","prevent"]))},[ke(t.$slots,"arrow-left",{},()=>[Io],!0)],8,jo),(j(),Ue(No(t.headingClickable?"button":"span"),{class:"v3dp__heading__center",onClick:n[1]||(n[1]=ve(o=>t.$emit("heading"),["stop","prevent"]))},{default:ge(()=>[ke(t.$slots,"heading",{},void 0,!0)]),_:3})),N("button",{class:"v3dp__heading__button v3dp__heading__button__right",disabled:t.rightDisabled,onClick:n[2]||(n[2]=ve(o=>t.$emit("right"),["stop","prevent"]))},[ke(t.$slots,"arrow-right",{},()=>[Qo],!0)],8,Wo)]),N("div",zo,["subheading"in t.$slots?(j(),G(Ne,{key:0},[N("div",$o,[ke(t.$slots,"subheading",{},void 0,!0)]),Xo],64)):Eo("",!0),N("div",Go,[ke(t.$slots,"body",{},()=>[(j(!0),G(Ne,null,Ge(t.items,o=>(j(),G("button",{key:o.key,disabled:o.disabled,class:Pe([{selected:o.selected,current:o.current},`v3dp__element__button__${t.viewMode}`]),onClick:ve(u=>t.$emit("elementClick",o.value),["stop","prevent"])},[N("span",null,ae(o.display),1)],10,Zo))),128))],!0)])])],38)}const Ke=De(Ao,[["render",Jo],["__scopeId","data-v-65eb861b"]]),Ko=be({components:{PickerPopup:Ke},emits:{"update:pageDate":t=>Q(t),select:t=>Q(t)},props:{selected:{type:Date,required:!1},pageDate:{type:Date,required:!0},lowerLimit:{type:Date,required:!1},upperLimit:{type:Date,required:!1}},setup(t,{emit:n}){const r=P(()=>Po(t.pageDate)),e=P(()=>qa(t.pageDate)),a=(s,d,c)=>!d&&!c?!0:!(d&&X(s)X(c)),i=P(()=>La({start:r.value,end:e.value}).map(s=>({value:s,key:String(X(s)),display:X(s),selected:!!t.selected&&X(s)===X(t.selected),disabled:!a(s,t.lowerLimit,t.upperLimit)}))),o=P(()=>{const s=X(r.value),d=X(e.value);return`${s} - ${d}`}),u=P(()=>t.lowerLimit&&($e(t.lowerLimit)===$e(t.pageDate)||qe(t.pageDate,t.lowerLimit))),l=P(()=>t.upperLimit&&($e(t.upperLimit)===$e(t.pageDate)||Le(t.pageDate,t.upperLimit)));return{years:i,heading:o,leftDisabled:u,rightDisabled:l,previousPage:()=>n("update:pageDate",cr(t.pageDate,10)),nextPage:()=>n("update:pageDate",ct(t.pageDate,10))}}});function eu(t,n,r,e,a,i){const o=ue("picker-popup");return j(),Ue(o,{columnCount:3,leftDisabled:t.leftDisabled,rightDisabled:t.rightDisabled,items:t.years,viewMode:"year",onLeft:t.previousPage,onRight:t.nextPage,onElementClick:n[0]||(n[0]=u=>t.$emit("select",u))},{heading:ge(()=>[Ze(ae(t.heading),1)]),_:1},8,["leftDisabled","rightDisabled","items","onLeft","onRight"])}const tu=De(Ko,[["render",eu]]),ru=be({components:{PickerPopup:Ke},emits:{"update:pageDate":t=>Q(t),select:t=>Q(t),back:()=>!0},props:{selected:{type:Date,required:!1},pageDate:{type:Date,required:!0},format:{type:String,required:!1,default:"LLL"},locale:{type:Object,required:!1},lowerLimit:{type:Date,required:!1},upperLimit:{type:Date,required:!1}},setup(t,{emit:n}){const r=P(()=>Ma(t.pageDate)),e=P(()=>_a(t.pageDate)),a=P(()=>d=>ze(d,t.format,{locale:t.locale})),i=(d,c,h)=>!c&&!h?!0:!(c&&qe(d,Ht(c))||h&&Le(d,Ft(h))),o=P(()=>Sa({start:r.value,end:e.value}).map(d=>({value:d,display:a.value(d),key:a.value(d),selected:!!t.selected&&wt(t.selected,d),disabled:!i(d,t.lowerLimit,t.upperLimit)}))),u=P(()=>X(r.value)),l=P(()=>t.lowerLimit&&(sr(t.lowerLimit,t.pageDate)||qe(t.pageDate,t.lowerLimit))),s=P(()=>t.upperLimit&&(sr(t.upperLimit,t.pageDate)||Le(t.pageDate,t.upperLimit)));return{months:o,heading:u,leftDisabled:l,rightDisabled:s,previousPage:()=>n("update:pageDate",cr(t.pageDate,1)),nextPage:()=>n("update:pageDate",ct(t.pageDate,1))}}});function nu(t,n,r,e,a,i){const o=ue("picker-popup");return j(),Ue(o,{headingClickable:"",columnCount:3,items:t.months,leftDisabled:t.leftDisabled,rightDisabled:t.rightDisabled,viewMode:"month",onLeft:t.previousPage,onRight:t.nextPage,onHeading:n[0]||(n[0]=u=>t.$emit("back")),onElementClick:n[1]||(n[1]=u=>t.$emit("select",u))},{heading:ge(()=>[Ze(ae(t.heading),1)]),_:1},8,["items","leftDisabled","rightDisabled","onLeft","onRight"])}const au=De(ru,[["render",nu]]),iu=be({components:{PickerPopup:Ke},emits:{"update:pageDate":t=>Q(t),select:t=>Q(t),back:()=>!0},props:{selected:{type:Date,required:!1},pageDate:{type:Date,required:!0},format:{type:String,required:!1,default:"dd"},headingFormat:{type:String,required:!1,default:"LLLL yyyy"},weekdayFormat:{type:String,required:!1,default:"EE"},locale:{type:Object,required:!1},weekStartsOn:{type:Number,required:!1,default:1,validator:t=>typeof t=="number"&&Number.isInteger(t)&&t>=0&&t<=6},lowerLimit:{type:Date,required:!1},upperLimit:{type:Date,required:!1},disabledDates:{type:Object,required:!1},allowOutsideInterval:{type:Boolean,required:!1,default:!1}},setup(t,{emit:n}){const r=P(()=>p=>f=>ze(f,p,{locale:t.locale,weekStartsOn:t.weekStartsOn})),e=P(()=>Ht(t.pageDate)),a=P(()=>Ft(t.pageDate)),i=P(()=>({start:e.value,end:a.value})),o=P(()=>({start:ha(e.value,{weekStartsOn:t.weekStartsOn}),end:Pa(a.value,{weekStartsOn:t.weekStartsOn})})),u=P(()=>{const p=t.weekStartsOn,f=r.value(t.weekdayFormat);return Array.from(Array(7)).map((m,b)=>(p+b)%7).map(m=>qo(new Date,m,{weekStartsOn:t.weekStartsOn})).map(f)}),l=(p,f,m,b)=>{var U,F;return(U=b==null?void 0:b.dates)!=null&&U.some(W=>mt(p,W))||(F=b==null?void 0:b.predicate)!=null&&F.call(b,p)?!1:!f&&!m?!0:!(f&&qe(p,dt(f))||m&&Le(p,Ta(m)))},s=P(()=>{const p=new Date,f=r.value(t.format);return Ca(o.value).map(m=>({value:m,display:f(m),selected:!!t.selected&&mt(t.selected,m),current:mt(p,m),disabled:!t.allowOutsideInterval&&!Mo(m,i.value)||!l(m,t.lowerLimit,t.upperLimit,t.disabledDates),key:r.value("yyyy-MM-dd")(m)}))}),d=P(()=>r.value(t.headingFormat)(t.pageDate)),c=P(()=>t.lowerLimit&&(wt(t.lowerLimit,t.pageDate)||qe(t.pageDate,t.lowerLimit))),h=P(()=>t.upperLimit&&(wt(t.upperLimit,t.pageDate)||Le(t.pageDate,t.upperLimit)));return{weekDays:u,days:s,heading:d,leftDisabled:c,rightDisabled:h,previousPage:()=>n("update:pageDate",Uo(t.pageDate,1)),nextPage:()=>n("update:pageDate",st(t.pageDate,1))}}});function ou(t,n,r,e,a,i){const o=ue("picker-popup");return j(),Ue(o,{headingClickable:"",leftDisabled:t.leftDisabled,rightDisabled:t.rightDisabled,items:t.days,viewMode:"day",onLeft:t.previousPage,onRight:t.nextPage,onHeading:n[0]||(n[0]=u=>t.$emit("back")),onElementClick:n[1]||(n[1]=u=>t.$emit("select",u))},{heading:ge(()=>[Ze(ae(t.heading),1)]),subheading:ge(()=>[(j(!0),G(Ne,null,Ge(t.weekDays,(u,l)=>(j(),G("span",{key:u,class:Pe(`v3dp__subheading__weekday__${l}`)},ae(u),3))),128))]),_:1},8,["leftDisabled","rightDisabled","items","onLeft","onRight"])}const uu=De(iu,[["render",ou]]);function gr(t,n){const r=t.getBoundingClientRect(),e={height:t.clientHeight,width:t.clientWidth},a=n.getBoundingClientRect();if(!(a.top>=r.top&&a.bottom<=r.top+e.height)){const i=a.top-r.top,o=a.bottom-r.bottom;Math.abs(i)Q(t),back:()=>!0},props:{selected:{type:Date,required:!1},pageDate:{type:Date,required:!0},visible:{type:Boolean,required:!0},disabledTime:{type:Object,required:!1}},setup(t,{emit:n}){const r=Z(null),e=Z(null),a=P(()=>t.pageDate??t.selected),i=Z(a.value.getHours()),o=Z(a.value.getMinutes());vr(()=>t.selected,c=>{let h=0,p=0;c&&(h=c.getHours(),p=c.getMinutes()),i.value=h,o.value=p});const u=P(()=>[...Array(24).keys()].map(c=>({value:c,date:dr(new Date(a.value.getTime()),{hours:c,minutes:o.value,seconds:0}),selected:i.value===c,ref:Z(null)}))),l=P(()=>[...Array(60).keys()].map(c=>({value:c,date:dr(new Date(a.value.getTime()),{hours:i.value,minutes:c,seconds:0}),selected:o.value===c,ref:Z(null)}))),s=c=>{o.value=c.value,n("select",c.date)},d=()=>{const c=u.value.find(p=>{var f,m;return((m=(f=p.ref.value)==null?void 0:f.classList)==null?void 0:m.contains("selected"))??!1}),h=l.value.find(p=>{var f,m;return((m=(f=p.ref.value)==null?void 0:f.classList)==null?void 0:m.contains("selected"))??!1});c&&h&&(gr(r.value,c.ref.value),gr(e.value,h.ref.value))};return vr(()=>t.visible,c=>{c&&Yo(d)}),{hoursListRef:r,minutesListRef:e,hours:i,minutes:o,hoursList:u,minutesList:l,padStartZero:c=>`0${c}`.substr(-2),selectMinutes:s,isEnabled:c=>{var h,p,f,m;return!((p=(h=t.disabledTime)==null?void 0:h.dates)!=null&&p.some(b=>So(c,b)&&_o(c,b))||(m=(f=t.disabledTime)==null?void 0:f.predicate)!=null&&m.call(f,c))},scroll:d}}}),su={ref:"hoursListRef",class:"v3dp__column"},du=["disabled","onClick"],cu={ref:"minutesListRef",class:"v3dp__column"},mu=["disabled","onClick"];function vu(t,n,r,e,a,i){const o=ue("picker-popup");return j(),Ue(o,{headingClickable:"",columnCount:2,leftDisabled:!0,rightDisabled:!0,viewMode:"time",onHeading:n[0]||(n[0]=u=>t.$emit("back"))},{heading:ge(()=>[Ze(ae(t.padStartZero(t.hours))+":"+ae(t.padStartZero(t.minutes)),1)]),body:ge(()=>[N("div",su,[(j(!0),G(Ne,null,Ge(t.hoursList,u=>(j(),G("button",{key:u.value,ref_for:!0,ref:u.ref,class:Pe([{selected:u.selected},"v3dp__element_button__hour"]),disabled:!t.isEnabled(u.date),onClick:ve(l=>t.hours=u.value,["stop","prevent"])},[N("span",null,ae(t.padStartZero(u.value)),1)],10,du))),128))],512),N("div",cu,[(j(!0),G(Ne,null,Ge(t.minutesList,u=>(j(),G("button",{key:u.value,ref_for:!0,ref:u.ref,class:Pe([{selected:u.selected},"v3dp__element_button__minute"]),disabled:!t.isEnabled(u.date),onClick:ve(l=>t.selectMinutes(u),["stop","prevent"])},[N("span",null,ae(t.padStartZero(u.value)),1)],10,mu))),128))],512)]),_:1})}const gu=De(lu,[["render",vu],["__scopeId","data-v-81ac698d"]]),et=["time","day","month","year"],pu=(t,n,r=void 0)=>{let e=r||new Date;return t&&(e=ya([t,e])),n&&(e=wa([n,e])),e},fu=be({components:{YearPicker:tu,MonthPicker:au,DayPicker:uu,TimePicker:gu},inheritAttrs:!1,props:{placeholder:{type:String,default:""},modelValue:{type:Date,required:!1},disabledDates:{type:Object,required:!1},allowOutsideInterval:{type:Boolean,required:!1,default:!1},disabledTime:{type:Object,required:!1},upperLimit:{type:Date,required:!1},lowerLimit:{type:Date,required:!1},startingView:{type:String,required:!1,default:"day",validate:t=>typeof t=="string"&&et.includes(t)},startingViewDate:{type:Date,required:!1,default:()=>new Date},dayPickerHeadingFormat:{type:String,required:!1,default:"LLLL yyyy"},monthListFormat:{type:String,required:!1,default:"LLL"},weekdayFormat:{type:String,required:!1,default:"EE"},dayFormat:{type:String,required:!1,default:"dd"},inputFormat:{type:String,required:!1,default:"yyyy-MM-dd"},locale:{type:Object,required:!1},weekStartsOn:{type:Number,required:!1,default:1,validator:t=>[0,1,2,3,4,5,6].includes(t)},disabled:{type:Boolean,required:!1,default:!1},clearable:{type:Boolean,required:!1,default:!1},typeable:{type:Boolean,required:!1,default:!1},minimumView:{type:String,required:!1,default:"day",validate:t=>typeof t=="string"&&et.includes(t)}},emits:{"update:modelValue":t=>t==null||Q(t),decadePageChanged:t=>!0,yearPageChanged:t=>!0,monthPageChanged:t=>!0,opened:()=>!0,closed:()=>!0},setup(t,{emit:n,attrs:r}){const e=Z("none"),a=Z(t.startingViewDate),i=Z(null),o=Z(!1),u=Z("");bt(()=>{const k=ur(u.value,t.inputFormat,new Date,{locale:t.locale});Q(k)&&(a.value=k)}),bt(()=>u.value=t.modelValue&&Q(t.modelValue)?ze(t.modelValue,t.inputFormat,{locale:t.locale}):"");const l=(k="none")=>{t.disabled||(k!=="none"&&e.value==="none"&&(a.value=t.modelValue||pu(t.lowerLimit,t.upperLimit,a.value)),e.value=k,n(k!=="none"?"opened":"closed"))};bt(()=>{t.disabled&&(e.value="none")});const s=(k,I)=>{a.value=I,k==="year"?n("decadePageChanged",I):k==="month"?n("yearPageChanged",I):k==="day"&&n("monthPageChanged",I)},d=k=>{a.value=k,t.minimumView==="year"?(l("none"),n("update:modelValue",k)):e.value="month"},c=k=>{a.value=k,t.minimumView==="month"?(l("none"),n("update:modelValue",k)):e.value="day"},h=k=>{a.value=k,t.minimumView==="day"?(l("none"),n("update:modelValue",k)):e.value="time"},p=k=>{l("none"),n("update:modelValue",k)},f=()=>{t.clearable&&(l("none"),n("update:modelValue",null),a.value=t.startingViewDate)},m=()=>o.value=!0,b=()=>l(W.value),U=()=>{o.value=!1,l()},F=k=>{const I=k.keyCode?k.keyCode:k.which;if([27,13].includes(I)&&i.value.blur(),t.typeable){const H=ur(i.value.value,t.inputFormat,new Date,{locale:t.locale});Q(H)&&u.value===ze(H,t.inputFormat,{locale:t.locale})&&(u.value=i.value.value,n("update:modelValue",H))}},W=P(()=>{const k=et.indexOf(t.startingView),I=et.indexOf(t.minimumView);return kt.startingView==="time"&&t.minimumView==="time"?null:e.value="day",clearModelValue:f,initialView:W,log:k=>console.log(k),variables:k=>Object.fromEntries(Object.entries(k??{}).filter(([I,H])=>I.startsWith("--")))}}}),hu={class:"v3dp__input_wrapper"},yu=["readonly","placeholder","disabled","tabindex"],wu={class:"v3dp__clearable"};function bu(t,n,r,e,a,i){const o=ue("year-picker"),u=ue("month-picker"),l=ue("day-picker"),s=ue("time-picker");return j(),G("div",{class:"v3dp__datepicker",style:mr(t.variables(t.$attrs.style))},[N("div",hu,[xe(N("input",Fo({type:"text",ref:"inputRef",readonly:!t.typeable,"onUpdate:modelValue":n[0]||(n[0]=d=>t.input=d)},t.$attrs,{placeholder:t.placeholder,disabled:t.disabled,tabindex:t.disabled?-1:0,onKeyup:n[1]||(n[1]=(...d)=>t.keyUp&&t.keyUp(...d)),onBlur:n[2]||(n[2]=(...d)=>t.blur&&t.blur(...d)),onFocus:n[3]||(n[3]=(...d)=>t.focus&&t.focus(...d)),onClick:n[4]||(n[4]=(...d)=>t.click&&t.click(...d))}),null,16,yu),[[Bo,t.input]]),xe(N("div",wu,[ke(t.$slots,"clear",{onClear:t.clearModelValue},()=>[N("i",{onClick:n[5]||(n[5]=d=>t.clearModelValue())},"x")])],512),[[Ee,t.clearable&&t.modelValue]])]),xe(Je(o,{pageDate:t.pageDate,"onUpdate:pageDate":n[6]||(n[6]=d=>t.updatePageDate("year",d)),selected:t.modelValue,lowerLimit:t.lowerLimit,upperLimit:t.upperLimit,onSelect:t.selectYear},null,8,["pageDate","selected","lowerLimit","upperLimit","onSelect"]),[[Ee,t.viewShown==="year"]]),xe(Je(u,{pageDate:t.pageDate,"onUpdate:pageDate":n[7]||(n[7]=d=>t.updatePageDate("month",d)),selected:t.modelValue,onSelect:t.selectMonth,lowerLimit:t.lowerLimit,upperLimit:t.upperLimit,format:t.monthListFormat,locale:t.locale,onBack:n[8]||(n[8]=d=>t.viewShown="year")},null,8,["pageDate","selected","onSelect","lowerLimit","upperLimit","format","locale"]),[[Ee,t.viewShown==="month"]]),xe(Je(l,{pageDate:t.pageDate,"onUpdate:pageDate":n[9]||(n[9]=d=>t.updatePageDate("day",d)),selected:t.modelValue,weekStartsOn:t.weekStartsOn,lowerLimit:t.lowerLimit,upperLimit:t.upperLimit,headingFormat:t.dayPickerHeadingFormat,disabledDates:t.disabledDates,locale:t.locale,weekdayFormat:t.weekdayFormat,"allow-outside-interval":t.allowOutsideInterval,format:t.dayFormat,onSelect:t.selectDay,onBack:n[10]||(n[10]=d=>t.viewShown="month")},null,8,["pageDate","selected","weekStartsOn","lowerLimit","upperLimit","headingFormat","disabledDates","locale","weekdayFormat","allow-outside-interval","format","onSelect"]),[[Ee,t.viewShown==="day"]]),xe(Je(s,{pageDate:t.pageDate,visible:t.viewShown==="time",selected:t.modelValue,disabledTime:t.disabledTime,onSelect:t.selectTime,onBack:t.goBackFromTimepicker},null,8,["pageDate","visible","selected","disabledTime","onSelect","onBack"]),[[Ee,t.viewShown==="time"]])],4)}const ku=De(fu,[["render",bu]]);await M("vue"),await M("vue"),await M("vue");let pr,fr,xt,Dt,hr,Tt,yr,wr,br,kr,xr,Dr,Ct,Tr,Cr,Sr,_r,Mr,Lr,qr,Pr,Ur,Nr,Er,Or,Vr,Yr,Fr,Oe,St,Br,Hr,Ar,Rr,Ve,Ye,jr,Ir,Wr,Qr,zr,tt,$r,Xr,Gr,Zr,Jr,Kr,en,tn,rn,nn,an,on,un,Fe,ln,sn,dn,cn,mn,pe,fe,_t,Be,vn,gn,pn,fn,hn,yn,wn,bn,Te,kn,xn,Dn,Mt,Tn,Cn,Sn,Lt,He,rt,_n,Mn,Ln,qn,Pn,Un,Nn,En,qt,Ae,nt,On,Vn,Yn,Fn,Bn,Hn,at,Ce,ee,Pt,it,ot,Ut,B,Nt,An,Rn,jn,In,Wn,Qn,zn,$n,Xn,Gn,le,xu,Zn;({defineComponent:pr}=await M("vue")),{toDisplayString:fr,openBlock:xt,createElementBlock:Dt,createCommentVNode:hr,createElementVNode:Tt,renderSlot:yr,normalizeClass:wr}=await M("vue"),br={class:"flex items-start"},kr={key:0,class:"font-semibold"},xr={class:"overflow-y-auto text-xs"},{computed:Dr}=await M("vue"),Ct=pr({__name:"Callout",props:{title:{type:String,required:!1},color:{type:String,default:"red",validator:t=>["red","green"].includes(t)}},setup(t){const n=t,r=Dr(()=>{const e="flex flex-col overflow-hidden rounded-lg border-l-4 p-4 mb-2 opacity-75",a=n.color==="red"?"bg-red-100 border-red-500 text-red-700":"bg-green-100 border-green-500 text-green-700";return`${e} ${a}`});return(e,a)=>(xt(),Dt("div",{class:wr(r.value)},[Tt("div",br,[t.title?(xt(),Dt("h4",kr,fr(t.title),1)):hr("",!0)]),Tt("p",xr,[yr(e.$slots,"default")])],2))}}),{defineComponent:Tr}=await M("vue"),{createElementVNode:Cr,openBlock:Sr,createElementBlock:_r}=await M("vue"),Mr={class:"relative w-full flex items-center min-w-[100px] outline-none rounded-md transition duration-100 border bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 text-gray-900 dark:text-white border-gray-300 dark:border-gray-600"},Lr=["id","type","name","placeholder","disabled","value"],qr=Tr({__name:"TextInput",props:{id:{type:String,required:!1},type:{type:String,default:"text"},name:{type:String,required:!1},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},modelValue:{type:String,default:""}},emits:["update:modelValue"],setup(t,{emit:n}){return(r,e)=>(Sr(),_r("div",Mr,[Cr("input",{id:t.id,type:t.type,name:t.name,placeholder:t.placeholder,disabled:t.disabled,value:t.modelValue,onInput:e[0]||(e[0]=a=>r.$emit("update:modelValue",a.target.value)),class:"w-full bg-transparent focus:outline-none focus:ring-0 border-none text-sm rounded-lg transition duration-100 py-2 text-gray-900 dark:text-white pr-3 pl-3 placeholder-gray-400 dark:placeholder-gray-500 [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"},null,40,Lr)]))}}),{defineComponent:Pr}=await M("vue"),{createElementVNode:Ur,openBlock:Nr,createElementBlock:Er}=await M("vue"),Or={class:"relative w-full flex items-center min-w-[100px] outline-none rounded-md transition duration-100 border bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 text-gray-900 dark:text-white border-gray-300 dark:border-gray-600"},Vr=["id","name","placeholder","disabled","value","min","max","step"],Yr=Pr({__name:"NumberInput",props:{id:{type:String,required:!1},name:{type:String,required:!1},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},modelValue:{type:Number,default:0},min:{type:Number,required:!1},max:{type:Number,required:!1},step:{type:Number,default:1}},emits:["update:modelValue"],setup(t,{emit:n}){const r=n;function e(i){const o=parseFloat(i.target.value);isNaN(o)?r("update:modelValue",0):r("update:modelValue",o)}function a(i){["Backspace","Delete","ArrowLeft","ArrowRight","Tab"].includes(i.key)||i.key==="."&&!i.target.value.includes(".")||/^[0-9]$/.test(i.key)||i.preventDefault()}return(i,o)=>(Nr(),Er("div",Or,[Ur("input",{id:t.id,type:"number",name:t.name,placeholder:t.placeholder,disabled:t.disabled,value:t.modelValue,min:t.min,max:t.max,step:t.step,onInput:e,onKeydown:a,class:"w-full bg-transparent focus:outline-none focus:ring-0 border-none text-sm rounded-lg transition duration-100 py-2 text-gray-900 dark:text-white pr-3 pl-3 placeholder-gray-400 dark:placeholder-gray-500 [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"},null,40,Vr)]))}}),{defineComponent:Fr}=await M("vue"),{createElementVNode:Oe,toDisplayString:St,unref:Br,createVNode:Hr,renderList:Ar,Fragment:Rr,openBlock:Ve,createElementBlock:Ye,createCommentVNode:jr}=await M("vue"),Ir=["name","value"],Wr={key:0,class:"absolute z-10 w-full mt-2 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-700 rounded-md shadow-lg",id:"select-options"},Qr={class:"max-h-60 overflow-y-auto"},zr=["onClick"],{ref:tt,onMounted:$r,onUnmounted:Xr,watchEffect:Gr}=await M("vue"),Zr=Fr({__name:"SelectInput",props:{options:{type:Array,required:!0},placeholder:{type:String,default:"Select"},name:{type:String,required:!0},modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup(t,{emit:n}){const r=t,e=n,a=tt(!1),i=tt(null),o=tt(null),u=()=>{a.value=!a.value},l=d=>{e("update:modelValue",d),i.value=d,a.value=!1},s=d=>{o.value&&!o.value.contains(d.target)&&(a.value=!1)};return Gr(()=>{i.value=r.modelValue}),$r(()=>{document.addEventListener("mousedown",s)}),Xr(()=>{document.removeEventListener("mousedown",s)}),(d,c)=>{var h;return Ve(),Ye("div",{class:"relative",ref_key:"selectContainer",ref:o},[Oe("input",{type:"hidden",name:t.name,value:i.value},null,8,Ir),Oe("button",{type:"button","aria-controls":"select-options","aria-expanded":"isOpen.toString()","aria-autocomplete":"none",onClick:u,class:"group flex w-full items-center justify-between gap-2 truncate rounded-md border px-3 py-2 shadow-sm outline-none transition sm:text-sm border-gray-300 dark:border-gray-800 text-gray-900 dark:text-gray-50 bg-white dark:bg-gray-900 hover:bg-gray-50 dark:hover:bg-gray-900/50 focus:ring-2 focus:ring-blue-200 focus:border-blue-500 dark:focus:ring-blue-700 dark:focus:border-blue-700"},[Oe("span",null,St(((h=t.options.find(p=>p.id===i.value))==null?void 0:h.label)||t.placeholder),1),Hr(Br(sa),{class:"w-4 h-4"})]),a.value?(Ve(),Ye("div",Wr,[Oe("ul",Qr,[(Ve(!0),Ye(Rr,null,Ar(t.options,p=>(Ve(),Ye("li",{key:p.id,onClick:f=>l(p.id),class:"cursor-pointer px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-900 dark:text-gray-100"},St(p.label),9,zr))),128))])])):jr("",!0)],512)}}}),{defineComponent:Jr}=await M("vue"),{createElementVNode:Kr,openBlock:en,createElementBlock:tn}=await M("vue"),rn={class:"relative w-full flex items-center min-w-[100px] outline-none rounded-md transition duration-100 border bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 text-gray-900 dark:text-white border-gray-300 dark:border-gray-600"},nn=["id","name","placeholder","disabled","value"],an=Jr({__name:"TextArea",props:{id:{type:String,required:!1},name:{type:String,required:!1},placeholder:{type:String,default:""},disabled:{type:Boolean,default:!1},modelValue:{type:String,default:""}},emits:["update:modelValue"],setup(t,{emit:n}){return(r,e)=>(en(),tn("div",rn,[Kr("textarea",{id:t.id,name:t.name,placeholder:t.placeholder,disabled:t.disabled,value:t.modelValue,onInput:e[0]||(e[0]=a=>r.$emit("update:modelValue",a.target.value)),class:"w-full bg-transparent focus:outline-none focus:ring-0 border-none text-sm rounded-lg transition duration-100 py-2 text-gray-900 dark:text-white pr-3 pl-3 placeholder-gray-400 dark:placeholder-gray-500 resize-none",rows:"4"},null,40,nn)]))}}),{defineComponent:on}=await M("vue"),{vModelText:un,createElementVNode:Fe,withDirectives:ln,unref:sn,createVNode:dn,renderList:cn,Fragment:mn,openBlock:pe,createElementBlock:fe,toDisplayString:_t,createCommentVNode:Be,renderSlot:vn}=await M("vue"),gn=["name","placeholder"],pn={class:"absolute inset-y-0 right-0 flex gap-2 items-center pr-2"},fn={key:0,class:"absolute z-10 w-full mt-2 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-700 rounded-md shadow-lg",id:"select-options"},hn={class:"max-h-60 overflow-y-auto"},yn=["onClick"],wn={key:0},bn={key:0,class:"px-4 py-2 text-gray-500"},{ref:Te,onMounted:kn,onUnmounted:xn,watch:Dn}=await M("vue"),Mt=on({__name:"Search",props:{findOptions:{type:Function,required:!0},placeholder:{type:String,default:"Search"},name:{type:String,required:!0},modelValue:{type:[String,Object],default:""}},emits:["update:modelValue","selected"],setup(t,{emit:n}){const r=t,e=Te(""),a=Te(null),i=Te(!1),o=Te([]),u=Te(null),l=n,s=async()=>{if(e.value.length<3)return o.value=[];o.value=await r.findOptions(e.value)},d=()=>{i.value=!0},c=()=>{i.value=!1},h=()=>{d()},p=m=>{a.value=m,e.value="",l("update:modelValue",m),l("selected",m),c()},f=m=>{u.value&&!u.value.contains(m.target)&&c()};return kn(()=>{document.addEventListener("mousedown",f)}),xn(()=>{document.removeEventListener("mousedown",f)}),Dn(e,()=>{s()}),(m,b)=>(pe(),fe("div",{class:"relative w-full",ref_key:"selectContainer",ref:u},[ln(Fe("input",{"onUpdate:modelValue":b[0]||(b[0]=U=>e.value=U),type:"text",name:t.name,placeholder:t.placeholder,onFocus:d,onInput:h,class:"w-full rounded-md border p-2 shadow-sm outline-none transition sm:text-sm border-gray-300 dark:border-gray-800 text-gray-900 dark:text-gray-50 bg-white dark:bg-gray-950 hover:bg-gray-50 dark:hover:bg-gray-950/50 focus:ring-2 focus:ring-blue-200 focus:border-blue-500 dark:focus:ring-blue-700 dark:focus:border-blue-700"},null,40,gn),[[un,e.value]]),Fe("div",pn,[dn(sn(va),{class:"size-4 text-gray-400"})]),i.value?(pe(),fe("div",fn,[Fe("ul",hn,[(pe(!0),fe(mn,null,cn(o.value,U=>{var F;return pe(),fe("li",{key:U.id,onClick:W=>p(U),class:"cursor-pointer px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-900 dark:text-gray-100"},[Fe("span",null,_t(U.title),1),U.parent?(pe(),fe("span",wn," ("+_t((F=U.parent)==null?void 0:F.title)+") ",1)):Be("",!0)],8,yn)}),128)),o.value.length===0?(pe(),fe("li",bn," No search results ")):Be("",!0),o.value.length===0?vn(m.$slots,"default",{key:1}):Be("",!0)])])):Be("",!0)],512))}}),{defineComponent:Tn}=await M("vue"),{createVNode:Cn,renderList:Sn,Fragment:Lt,openBlock:He,createElementBlock:rt,createBlock:_n,createElementVNode:Mn}=await M("vue"),Ln={class:"mt-2 space-x-1 space-y-1"},{ref:qn}=await M("vue"),Pn=Tn({__name:"AddInterests",props:{modelValue:{type:Array,required:!0}},emits:["update:modelValue"],setup(t,{emit:n}){const r=t,e=n,a="//toplocs.com",i=qn(r.modelValue),o=async s=>{try{return(await Se.get(`${a}/api/interest?title=${s}`)).data}catch(d){console.error(d)}},u=s=>{i.value.includes(s)||(i.value.push(s),e("update:modelValue",i.value))},l=s=>{i.value=i.value.filter(d=>d!=s),e("update:modelValue",i.value)};return(s,d)=>(He(),rt(Lt,null,[Cn(Mt,{placeholder:"Add some interests ...",name:"selectedItem",findOptions:o,onSelected:u}),Mn("div",Ln,[(He(!0),rt(Lt,null,Sn(i.value,c=>(He(),rt("span",null,[(He(),_n(qu,{key:c.id,title:c.title,remove:()=>l(c)},null,8,["title","remove"]))]))),256))])],64))}}),{defineComponent:Un}=await M("vue"),{createVNode:Nn,renderList:En,Fragment:qt,openBlock:Ae,createElementBlock:nt,createBlock:On,createElementVNode:Vn}=await M("vue"),Yn={class:"mt-2 space-x-1 space-y-1"},{ref:Fn}=await M("vue"),Bn=Un({__name:"AddLocations",props:{modelValue:{type:Array,required:!0}},emits:["update:modelValue"],setup(t,{emit:n}){const r=t,e=n,a="//toplocs.com",i=Fn(r.modelValue),o=async s=>{try{return(await Se.get(`${a}/api/location?title=${s}`)).data}catch(d){console.error(d)}},u=s=>{i.value.includes(s)||(i.value.push(s),e("update:modelValue",i.value))},l=s=>{i.value=i.value.filter(d=>d!=s),e("update:modelValue",i.value)};return(s,d)=>(Ae(),nt(qt,null,[Nn(Mt,{placeholder:"Add some locations ...",name:"selectedItem",findOptions:o,onSelected:u}),Vn("div",Yn,[(Ae(!0),nt(qt,null,En(i.value,c=>(Ae(),nt("span",null,[(Ae(),On(Pu,{key:c.id,title:c.title,remove:()=>l(c)},null,8,["title","remove"]))]))),256))])],64))}}),{defineComponent:Hn}=await M("vue"),{createTextVNode:at,withCtx:Ce,createVNode:ee,toDisplayString:Pt,openBlock:it,createBlock:ot,createCommentVNode:Ut,createElementVNode:B,unref:Nt,withModifiers:An}=await M("vue"),Rn={class:"w-full"},jn={className:"mb-2"},In={class:"relative p-2 w-full flex items-center min-w-[100px] outline-none rounded-md transition duration-100 border bg-white dark:bg-gray-800 text-gray-900 dark:text-white border-gray-300 dark:border-gray-600"},Wn={className:"mb-2"},Qn={className:"mb-2"},zn={class:"mb-2"},$n={class:"mb-2"},Xn={class:"mb-2 max-w-[50%]"},Gn={className:"mb-2 max-w-[50%]"},{ref:le,inject:xu,onMounted:Zn}=await M("vue"),ia=Hn({__name:"EventCreateView",props:{interest:{type:String,default:""},location:{type:String,default:""}},setup(t){const n=t,r="//toplocs.com:3003",e="//toplocs.com",a=le(null),i=le([]),o=le([]),u=le(new Date),l=le(1),s=le(""),d=le(""),c=async f=>{try{return(await Se.get(`${e}/api/interest/byId/${f}`)).data}catch(m){console.error(m)}},h=async f=>{try{return(await Se.get(`${e}/api/location/byId/${f}`)).data}catch(m){console.error(m)}},p=async()=>{try{if(s.value.length)return;const f=new FormData(a.value??void 0);f.set("date",u.value),f.append("interests",JSON.stringify(i.value)),f.append("locations",JSON.stringify(o.value));const m=await Se.post("/api/event",f);return s.value="The event was created successfully!",m.data}catch(f){console.error(f),d.value=f.response.data}};return Zn(async()=>{n.interest.length&&i.value.push(await c(n.interest)),n.location.length&&o.value.push(await h(n.location))}),Se.defaults.baseURL=r,(f,m)=>(it(),ot(Su,null,{default:Ce(()=>[B("div",Rn,[ee(_u,{className:"space-y-4"},{default:Ce(()=>[ee(Mu,null,{default:Ce(()=>m[4]||(m[4]=[at(" Creating a new event: ")])),_:1}),B("form",{ref_key:"form",ref:a,onSubmit:An(p,["prevent"])},[s.value?(it(),ot(Ct,{key:0,color:"green"},{default:Ce(()=>[at(Pt(s.value),1)]),_:1})):Ut("",!0),d.value?(it(),ot(Ct,{key:1,color:"red"},{default:Ce(()=>[at(Pt(d.value),1)]),_:1})):Ut("",!0),B("div",jn,[m[5]||(m[5]=B("label",{for:"date",class:"block text-gray-900 dark:text-gray-100 font-medium text-sm mb-2"}," Event Date ",-1)),B("div",In,[ee(Nt(ku),{name:"date",modelValue:u.value,"onUpdate:modelValue":m[0]||(m[0]=b=>u.value=b),minimumView:"time",inputFormat:"dd-MM-yyyy' at 'HH:mm",lowerLimit:new Date(Date.now())},null,8,["modelValue","lowerLimit"])])]),B("div",Wn,[m[6]||(m[6]=B("label",{for:"title",class:"block text-gray-900 dark:text-gray-100 font-medium text-sm mb-2"}," Event Title ",-1)),ee(qr,{type:"text",id:"title",name:"title",autoComplete:"title",placeholder:"The event title"})]),B("div",Qn,[m[7]||(m[7]=B("label",{for:"description",class:"block text-gray-900 dark:text-gray-100 font-medium text-sm mb-2"}," Event Description ",-1)),ee(an,{type:"text",id:"description",name:"description",autoComplete:"description",placeholder:"The event description"})]),B("div",zn,[m[8]||(m[8]=B("label",{for:"interests",class:"block text-gray-900 dark:text-gray-100 font-medium text-sm mb-2"}," Interests ",-1)),ee(Pn,{modelValue:i.value,"onUpdate:modelValue":m[1]||(m[1]=b=>i.value=b)},null,8,["modelValue"])]),B("div",$n,[m[9]||(m[9]=B("label",{for:"locations",class:"block text-gray-900 dark:text-gray-100 font-medium text-sm mb-2"}," Locations ",-1)),ee(Bn,{modelValue:o.value,"onUpdate:modelValue":m[2]||(m[2]=b=>o.value=b)},null,8,["modelValue"])]),B("div",Xn,[m[10]||(m[10]=B("label",{for:"limit",class:"block text-gray-900 dark:text-gray-100 font-medium text-sm mb-2"}," Max Participants ",-1)),ee(Yr,{id:"limit",name:"limit",autoComplete:"limit",min:0})]),B("div",Gn,[m[11]||(m[11]=B("label",{for:"recurring",class:"block text-gray-900 dark:text-gray-100 font-medium text-sm mb-2"}," Happening ",-1)),ee(Zr,{name:"recurring",placeholder:"When is this happening?",options:Nt(Uu),modelValue:l.value,"onUpdate:modelValue":m[3]||(m[3]=b=>l.value=b)},null,8,["options","modelValue"])]),m[12]||(m[12]=B("div",{class:"mt-2 space-x-2"},[B("button",{type:"submit",class:"px-4 py-2 rounded font-semibold transition-colors duration-200 bg-green-500 hover:bg-green-600 text-white"}," Create ")],-1))],544)]),_:1})])]),_:1}))}})});export{ia as _,Eu as __tla}; diff --git a/server/views/assets/EventDetailView.vue_vue_type_script_setup_true_lang-3XPO_pQ-.js b/server/views/assets/EventDetailView.vue_vue_type_script_setup_true_lang-3XPO_pQ-.js new file mode 100644 index 0000000..12ac0e3 --- /dev/null +++ b/server/views/assets/EventDetailView.vue_vue_type_script_setup_true_lang-3XPO_pQ-.js @@ -0,0 +1 @@ +import{importShared as p,__tla as Se}from"./__federation_fn_import-ofDdBDNE.js";import{_ as Te,a as Ee,__tla as $e}from"./Title.vue_vue_type_script_setup_true_lang-By0ysY1L.js";import{a as k,g as De,_ as Me,b as Le,__tla as Ve}from"./InterestBadge.vue_vue_type_script_setup_true_lang-D9kVq5QA.js";import{_ as Re,a as Fe,__tla as Ie}from"./ProfileImage.vue_vue_type_script_setup_true_lang-BPmeCRZu.js";import{_ as se,__tla as Je}from"./IconButton.vue_vue_type_script_setup_true_lang-C-Q21x5E.js";let ie,Ae=Promise.all([(()=>{try{return Se}catch{}})(),(()=>{try{return $e}catch{}})(),(()=>{try{return Ve}catch{}})(),(()=>{try{return Ie}catch{}})(),(()=>{try{return Je}catch{}})()]).then(async()=>{const{getCurrentInstance:Oe,inject:ce,onUnmounted:Pe,onDeactivated:Ue,onActivated:Ze,computed:ze,unref:qe,watchEffect:Ke,defineComponent:Ge,reactive:He,h:Qe,provide:We,ref:Xe,watch:Ye,shallowRef:et,shallowReactive:tt,nextTick:at}=await p("vue");var C;(function(o){o.pop="pop",o.push="push"})(C||(C={}));var N;(function(o){o.back="back",o.forward="forward",o.unknown=""})(N||(N={}));var j;(function(o){o[o.aborted=4]="aborted",o[o.cancelled=8]="cancelled",o[o.duplicated=16]="duplicated"})(j||(j={}));const ue=Symbol("");function de(o){return ce(ue)}const{createElementVNode:ve,openBlock:pe,createElementBlock:fe}=await p("vue");function me(o,b){return pe(),fe("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[ve("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 12h14"})])}const{createElementVNode:he,openBlock:xe,createElementBlock:ge}=await p("vue");function we(o,b){return xe(),ge("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[he("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z"})])}let S,d,t,g,f,r,v,m,w,y,c,T,_,E,$,D,M,L,V,R,F,I,J,A,O,P,U,Z,z,q,K,G,H,Q,W,X,u,Y;({defineComponent:S}=await p("vue")),{toDisplayString:d,createElementVNode:t,unref:g,createVNode:f,openBlock:r,createBlock:v,createCommentVNode:m,renderList:w,Fragment:y,createElementBlock:c,resolveComponent:T,withCtx:_}=await p("vue"),E={class:"w-full"},$={class:"flex"},D={class:"space-y-1"},M={class:"w-16 h-16 flex-shrink-0 flex flex-col justify-center items-center border-2 rounded-md mr-4 dark:text-gray-300"},L={class:"text-2xl font-bold"},V={class:"text-sm font-medium"},R={class:"w-16 flex-shrink-0 flex justify-center border-2 rounded-md"},F={class:"text-sm font-medium"},I={class:"flex-1"},J={class:"flex flrex-row justify-between items-center"},A={class:"text-4xl font-bold text-gray-900 mb-4"},O={class:"space-x-2"},P={class:"text-gray-700 mb-6"},U={class:"mb-8"},Z={key:0,class:"mb-8"},z={class:"flex flex-wrap gap-2"},q={key:1,class:"mb-8"},K={class:"flex flex-wrap gap-2"},G={class:"mb-8"},H={class:"flex flex-wrap gap-2"},Q={class:"mt-6"},{ref:W,inject:X,computed:u,onMounted:Y}=await p("vue"),ie=S({__name:"EventDetailView",props:{id:{type:String,default:""}},setup(o){const b=o,ye="//toplocs.com:3003";de();const l=W(null),h=X("profile"),B=u(()=>{var e;return new Date((e=l.value)==null?void 0:e.date)}),_e=u(()=>{var e;return(e=B.value)==null?void 0:e.getDate()}),ke=u(()=>{var e;return(e=B.value)==null?void 0:e.toLocaleString("default",{month:"short"})}),be=u(()=>{var e;return(e=B.value)==null?void 0:e.toLocaleTimeString("default",{hour:"2-digit",minute:"2-digit"})}),ee=u(()=>{var e;return(e=l.value)==null?void 0:e.profiles.some(a=>{var n;return a.id===((n=h.value)==null?void 0:n.id)})}),Be=u(()=>{var e,a,n,s;return(e=l.value)!=null&&e.limit?`${(a=l.value)==null?void 0:a.profiles.length} / ${(n=l.value)==null?void 0:n.limit}`:`${(s=l.value)==null?void 0:s.profiles.length}`}),Ce=async()=>{var e,a;try{const n=new FormData;n.append("profile",JSON.stringify(h.value));const s=await k.post(`/api/event/join/${(e=l.value)==null?void 0:e.id}`,n);return(a=l.value)==null||a.profiles.push(h.value),s.data}catch(n){console.error(n)}},Ne=async()=>{var e;try{const a=new FormData;a.append("profile",JSON.stringify(h.value));const n=await k.post(`/api/event/leave/${(e=l.value)==null?void 0:e.id}`,a);return l.value.profiles=l.value.profiles.filter(s=>{var x;return s.id!=((x=h.value)==null?void 0:x.id)}),n.data}catch(a){console.error(a)}},je=async e=>{try{return(await k.get(`/api/event/byId/${e}`)).data}catch(a){console.error(a)}};return Y(async()=>{l.value=await je(b.id)}),k.defaults.baseURL=ye,(e,a)=>{const n=T("router-link");return r(),v(Te,null,{default:_(()=>[t("div",E,[f(Ee,{className:"space-y-4"},{default:_(()=>{var s,x,te,ae,le,oe,ne,re;return[t("div",$,[t("div",D,[t("div",M,[t("span",L,d(_e.value),1),t("span",V,d(ke.value),1)]),t("div",R,[t("span",F,d(be.value),1)])]),t("div",I,[t("div",J,[t("h1",A,d((s=l.value)==null?void 0:s.title),1),t("div",O,[f(se,{icon:g(we),tooltipText:Be.value},null,8,["icon","tooltipText"]),ee.value?(r(),v(se,{key:0,icon:g(me),tooltipText:"Leave the event",className:"text-red-500 dark:text-red-400",onClick:Ne},null,8,["icon"])):m("",!0)])]),t("p",P,d((x=l.value)==null?void 0:x.description),1),t("div",U,[a[0]||(a[0]=t("h2",{class:"text-lg font-semibold text-gray-900 mb-2"}," This event is happening: ",-1)),f(Re,{title:g(De)((te=l.value)==null?void 0:te.recurring)},null,8,["title"])]),(ae=l.value)!=null&&ae.interests.length?(r(),c("div",Z,[a[1]||(a[1]=t("h2",{class:"text-lg font-semibold text-gray-900 mb-2"}," Relevant interests: ",-1)),t("div",z,[(r(!0),c(y,null,w((le=l.value)==null?void 0:le.interests,i=>(r(),v(Me,{key:i.id,title:i.title},null,8,["title"]))),128))])])):m("",!0),(oe=l.value)!=null&&oe.locations.length?(r(),c("div",q,[a[2]||(a[2]=t("h2",{class:"text-lg font-semibold text-gray-900 mb-2"}," Included locations: ",-1)),t("div",K,[(r(!0),c(y,null,w((ne=l.value)==null?void 0:ne.locations,i=>(r(),v(Le,{key:i.id,title:i.title},null,8,["title"]))),128))])])):m("",!0),t("div",G,[a[3]||(a[3]=t("h2",{class:"text-lg font-semibold text-gray-900 mb-2"}," People who already joined: ",-1)),t("div",H,[(r(!0),c(y,null,w((re=l.value)==null?void 0:re.profiles,i=>(r(),v(n,{to:`/profile/${i.id}`,class:"cursor-pointer"},{default:_(()=>[f(Fe,{size:"medium",src:i.image,tooltipText:i.username},null,8,["src","tooltipText"])]),_:2},1032,["to"]))),256))])]),t("div",Q,[ee.value?m("",!0):(r(),c("button",{key:0,class:"p-4 rounded font-semibold transition-colors duration-200 bg-green-500 hover:bg-green-600 text-white",onClick:Ce}," Join the event "))])])])]}),_:1})])]),_:1})}}})});export{ie as _,Ae as __tla}; diff --git a/server/views/assets/EventListView.vue_vue_type_script_setup_true_lang-Cf5rNcMg.js b/server/views/assets/EventListView.vue_vue_type_script_setup_true_lang-Cf5rNcMg.js new file mode 100644 index 0000000..6876dec --- /dev/null +++ b/server/views/assets/EventListView.vue_vue_type_script_setup_true_lang-Cf5rNcMg.js @@ -0,0 +1 @@ +import{importShared as l,__tla as M}from"./__federation_fn_import-ofDdBDNE.js";import{_ as R,a as T,b as $,__tla as P}from"./Title.vue_vue_type_script_setup_true_lang-By0ysY1L.js";import{a as g,__tla as F}from"./InterestBadge.vue_vue_type_script_setup_true_lang-D9kVq5QA.js";import{_ as q,__tla as z}from"./IconButton.vue_vue_type_script_setup_true_lang-C-Q21x5E.js";import{_ as A,__tla as D}from"./Main.vue_vue_type_script_setup_true_lang-COZM_-Eq.js";let b,G=Promise.all([(()=>{try{return M}catch{}})(),(()=>{try{return P}catch{}})(),(()=>{try{return F}catch{}})(),(()=>{try{return z}catch{}})(),(()=>{try{return D}catch{}})()]).then(async()=>{const{createElementVNode:B,openBlock:C,createElementBlock:E}=await l("vue");function N(V,y){return C(),E("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[B("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4.5v15m7.5-7.5h-15"})])}let u,_,r,a,i,p,d,v,m,f,w,n,h,x;({defineComponent:u}=await l("vue")),{createTextVNode:_,withCtx:r,createVNode:a,unref:i,resolveComponent:p,createElementVNode:d,openBlock:v,createBlock:m}=await l("vue"),f={class:"px-4 mb-2 flex flex-row justify-between"},{ref:w,inject:n,computed:h,onMounted:x}=await l("vue"),b=u({__name:"EventListView",setup(V){const y="//toplocs.com:3003",s=n("interest"),c=n("location"),S=n("profile"),j=n("tab"),k=w([]),L=h(()=>{var t,o;const e=new URLSearchParams;return s.value&&e.append("interest",(t=s.value)==null?void 0:t.id),c.value&&e.append("location",(o=c.value)==null?void 0:o.id),`/event/create${e.toString()?"?"+e.toString():""}`}),U=async e=>{try{return(await g.get(`/api/event/pages/${e}`)).data}catch(t){console.error(t)}};return x(async()=>{var e,t;k.value=await U(((e=s.value)==null?void 0:e.id)||((t=c.value)==null?void 0:t.id)),j.value="Events"}),g.defaults.baseURL=y,(e,t)=>{const o=p("router-link");return v(),m(R,null,{default:r(()=>[a(T,{className:"px-0"},{default:r(()=>[d("div",f,[a($,null,{default:r(()=>t[0]||(t[0]=[_("Upcoming events:")])),_:1}),a(o,{to:L.value},{default:r(()=>[a(q,{icon:i(N),tooltipText:"Create a new event"},null,8,["icon"])]),_:1},8,["to"])]),a(A,{events:k.value,profile:i(S)},null,8,["events","profile"])]),_:1})]),_:1})}}})});export{b as _,G as __tla}; diff --git a/server/views/assets/Main.vue_vue_type_script_setup_true_lang-COZM_-Eq.js b/server/views/assets/Main.vue_vue_type_script_setup_true_lang-COZM_-Eq.js new file mode 100644 index 0000000..62ca481 --- /dev/null +++ b/server/views/assets/Main.vue_vue_type_script_setup_true_lang-COZM_-Eq.js @@ -0,0 +1 @@ +import{importShared as s,__tla as X}from"./__federation_fn_import-ofDdBDNE.js";import{g as Y,_ as Z,b as ee,a as te,__tla as re}from"./InterestBadge.vue_vue_type_script_setup_true_lang-D9kVq5QA.js";import{_ as ae,a as ne,__tla as le}from"./ProfileImage.vue_vue_type_script_setup_true_lang-BPmeCRZu.js";let k,oe=Promise.all([(()=>{try{return X}catch{}})(),(()=>{try{return re}catch{}})(),(()=>{try{return le}catch{}})()]).then(async()=>{const{defineComponent:b}=await s("vue"),{toDisplayString:i,createElementVNode:t,unref:w,createVNode:C,renderList:g,Fragment:y,openBlock:a,createElementBlock:o,createBlock:x,createCommentVNode:j}=await s("vue"),B={class:"flex items-center p-4 w-full border-t border-gray-100 dark:border-gray-700 hover:bg-gray-100 dark:hover:bg-gray-800 transition duration-150 ease-in-out cursor-pointer"},N={class:"space-y-1"},L={class:"w-16 h-16 flex-shrink-0 flex flex-col justify-center items-center border-2 rounded-md mr-4 dark:text-gray-300"},S={class:"text-2xl font-bold"},V={class:"text-sm font-medium"},D={class:"w-16 flex-shrink-0 flex justify-center border-2 rounded-md"},E={class:"text-sm font-medium"},O={class:"flex-1"},T={class:"text-lg font-semibold text-gray-900 dark:text-gray-100"},q={class:"text-sm text-gray-600 dark:text-gray-400"},F={class:"mt-4 flex flex-wrap gap-2"},J={class:"mt-2 flex flex-wrap gap-1"},$={class:"flex-2"},{ref:se,computed:c}=await s("vue"),z=b({__name:"EventListItem",props:{event:{type:Object,required:!0},profile:{type:Object,required:!0}},setup(r){const n=r,v=c(()=>new Date(n.event.date)),_=c(()=>{var e;return(e=v.value)==null?void 0:e.getDate()}),u=c(()=>{var e;return(e=v.value)==null?void 0:e.toLocaleString("default",{month:"short"})}),R=c(()=>{var e;return(e=v.value)==null?void 0:e.toLocaleTimeString("default",{hour:"2-digit",minute:"2-digit"})}),U=c(()=>{var e;return(e=n.event.profiles)==null?void 0:e.some(f=>{var p;return f.id===((p=n.profile)==null?void 0:p.id)})}),W=async()=>{try{const e=new FormData;e.append("profile",JSON.stringify(n.profile));const f=await te.post(`/api/event/join/${n.event.id}`,e);return n.event.profiles.push(n.profile),f.data}catch(e){console.error(e)}};return(e,f)=>{var p;return a(),o("div",B,[t("div",N,[t("div",L,[t("span",S,i(_.value),1),t("span",V,i(u.value),1)]),t("div",D,[t("span",E,i(R.value),1)])]),t("div",O,[t("div",T,i(r.event.title),1),t("div",q,i(r.event.description),1),t("div",F,[C(ae,{title:w(Y)((p=r.event)==null?void 0:p.recurring)},null,8,["title"]),(a(!0),o(y,null,g(r.event.interests,l=>(a(),o("span",null,[(a(),x(Z,{key:l.id,title:l.title},null,8,["title"]))]))),256)),(a(!0),o(y,null,g(r.event.locations,l=>(a(),o("span",null,[(a(),x(ee,{key:l.id,title:l.title},null,8,["title"]))]))),256))]),t("span",J,[(a(!0),o(y,null,g(r.event.profiles,l=>(a(),x(ne,{src:l.image,tooltipText:l.username,size:"small"},null,8,["src","tooltipText"]))),256))])]),t("div",$,[U.value?j("",!0):(a(),o("button",{key:0,class:"p-4 rounded font-semibold transition-colors duration-200 bg-green-500 hover:bg-green-600 text-white",onClick:W}," Join "))])])}}}),{defineComponent:A}=await s("vue"),{renderList:I,Fragment:h,openBlock:d,createElementBlock:m,createBlock:M,resolveComponent:P,withCtx:G,createVNode:H,createCommentVNode:K}=await s("vue"),Q={key:0,class:"px-4"};await s("vue"),k=A({__name:"Main",props:{events:{type:Array,default:[]},profile:{type:Object,required:!0}},setup(r){return(n,v)=>{const _=P("router-link");return d(),m(h,null,[(d(!0),m(h,null,I(r.events,u=>(d(),m("div",null,[H(_,{to:`/event/${u.id}`},{default:G(()=>[(d(),M(z,{key:u.id,event:u,profile:r.profile},null,8,["event","profile"]))]),_:2},1032,["to"])]))),256)),r.events.length?K("",!0):(d(),m("span",Q," There are currently no events happening "))],64)}}})});export{k as _,oe as __tla}; diff --git a/server/views/assets/Title-BCJwmywC.css b/server/views/assets/Title-BCJwmywC.css new file mode 100644 index 0000000..38ee462 --- /dev/null +++ b/server/views/assets/Title-BCJwmywC.css @@ -0,0 +1 @@ +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-2{top:.5rem}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-auto{margin-top:auto;margin-bottom:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-1{margin-right:.25rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-full{height:100%}.h-px{height:1px}.max-h-60{max-height:15rem}.max-h-80{max-height:20rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[400px\]{width:400px}.w-full{width:100%}.w-px{width:1px}.min-w-\[100px\]{min-width:100px}.min-w-\[200px\]{min-width:200px}.max-w-\[50\%\]{max-width:50%}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity: .5}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-10{padding-bottom:2.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.text-left{text-align:left}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-orange-900{--tw-text-opacity: 1;color:rgb(124 45 18 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-blue-500\/30{--tw-ring-color: rgb(59 130 246 / .3)}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.ring-orange-500\/30{--tw-ring-color: rgb(249 115 22 / .3)}.ring-red-500\/30{--tw-ring-color: rgb(239 68 68 / .3)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}@media (min-width: 640px){.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (prefers-color-scheme: dark){.dark\:border-blue-400{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity))}.dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.dark\:border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.dark\:border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.dark\:bg-blue-400\/10{background-color:#60a5fa1a}.dark\:bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.dark\:bg-gray-950{--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity))}.dark\:bg-orange-400\/10{background-color:#fb923c1a}.dark\:bg-red-400\/10{background-color:#f871711a}.dark\:text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.dark\:text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity))}.dark\:text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-gray-50{--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity))}.dark\:text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity))}.dark\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity))}.dark\:placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity))}.dark\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.dark\:ring-blue-400\/30{--tw-ring-color: rgb(96 165 250 / .3)}.dark\:ring-gray-700{--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity))}.dark\:ring-orange-400\/30{--tw-ring-color: rgb(251 146 60 / .3)}.dark\:ring-red-400\/30{--tw-ring-color: rgb(248 113 113 / .3)}.dark\:hover\:bg-blue-900:hover{--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity))}.dark\:hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:hover\:bg-gray-900\/50:hover{background-color:#11182780}.dark\:hover\:bg-gray-950\/50:hover{background-color:#03071280}.dark\:focus\:border-blue-700:focus{--tw-border-opacity: 1;border-color:rgb(29 78 216 / var(--tw-border-opacity))}.dark\:focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity))}.dark\:focus\:ring-blue-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(29 78 216 / var(--tw-ring-opacity))}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none} diff --git a/server/views/assets/Title.vue_vue_type_script_setup_true_lang-By0ysY1L.js b/server/views/assets/Title.vue_vue_type_script_setup_true_lang-By0ysY1L.js new file mode 100644 index 0000000..02a9015 --- /dev/null +++ b/server/views/assets/Title.vue_vue_type_script_setup_true_lang-By0ysY1L.js @@ -0,0 +1,2 @@ +import{importShared as e,__tla as $}from"./__federation_fn_import-ofDdBDNE.js";let x,C,S,b=Promise.all([(()=>{try{return $}catch{}})()]).then(async()=>{let o,n,s,i,d,u,p,m,c,f,g,v,w,_,k,y,h;({defineComponent:o}=await e("vue")),{renderSlot:n,normalizeClass:s,openBlock:i,createElementBlock:d}=await e("vue"),{computed:u}=await e("vue"),x=o({__name:"Container",props:{className:{type:String,default:""}},setup(a){const t=a,r=u(()=>`relative inline-flex w-full p-4 ${t.className}`);return(l,B)=>(i(),d("div",{class:s(r.value)},[n(l.$slots,"default")],2))}}),{defineComponent:p}=await e("vue"),{renderSlot:m,normalizeClass:c,openBlock:f,createElementBlock:g}=await e("vue"),{computed:v}=await e("vue"),C=p({__name:"Card",props:{className:{type:String,default:""}},setup(a){const t=a,r=v(()=>`relative w-full text-left ring-1 rounded-lg p-6 bg-white dark:bg-gray-800 ring-gray-300 dark:ring-gray-700 shadow-md dark:shadow-lg border-transparent dark:border-gray-600 dark:text-white ${t.className} +`);return(l,B)=>(f(),g("div",{class:c(r.value)},[m(l.$slots,"default")],2))}}),{defineComponent:w}=await e("vue"),{renderSlot:_,normalizeClass:k,openBlock:y,createElementBlock:h}=await e("vue"),S=w({__name:"Title",props:{float:{type:String,default:"left",required:!1}},setup(a){return(t,r)=>(y(),h("h3",{class:k(`my-auto text-${a.float} text-lg text-gray-800 dark:text-gray-100 font-semibold`)},[_(t.$slots,"default")],2))}})});export{x as _,b as __tla,C as a,S as b}; diff --git a/server/views/assets/__federation_expose_EventCreateView-D9fwX4yZ.js b/server/views/assets/__federation_expose_EventCreateView-D9fwX4yZ.js new file mode 100644 index 0000000..3224eea --- /dev/null +++ b/server/views/assets/__federation_expose_EventCreateView-D9fwX4yZ.js @@ -0,0 +1 @@ +import{_ as t,__tla as a}from"./EventCreateView.vue_vue_type_script_setup_true_lang-CKvZ8aR5.js";let _=Promise.all([(()=>{try{return a}catch{}})()]).then(async()=>{});export{_ as __tla,t as default}; diff --git a/server/views/assets/__federation_expose_EventDetailView-BuEtTJ7i.js b/server/views/assets/__federation_expose_EventDetailView-BuEtTJ7i.js new file mode 100644 index 0000000..503f59b --- /dev/null +++ b/server/views/assets/__federation_expose_EventDetailView-BuEtTJ7i.js @@ -0,0 +1 @@ +import{_ as t,__tla as a}from"./EventDetailView.vue_vue_type_script_setup_true_lang-3XPO_pQ-.js";let _=Promise.all([(()=>{try{return a}catch{}})()]).then(async()=>{});export{_ as __tla,t as default}; diff --git a/server/views/assets/__federation_expose_EventListView-CQcmSQL0.js b/server/views/assets/__federation_expose_EventListView-CQcmSQL0.js new file mode 100644 index 0000000..8bb23fc --- /dev/null +++ b/server/views/assets/__federation_expose_EventListView-CQcmSQL0.js @@ -0,0 +1 @@ +import{_ as t,__tla as a}from"./EventListView.vue_vue_type_script_setup_true_lang-Cf5rNcMg.js";let _=Promise.all([(()=>{try{return a}catch{}})()]).then(async()=>{});export{_ as __tla,t as default}; diff --git a/server/views/assets/__federation_expose_Main-BDynrhUB.js b/server/views/assets/__federation_expose_Main-BDynrhUB.js new file mode 100644 index 0000000..1eb6a31 --- /dev/null +++ b/server/views/assets/__federation_expose_Main-BDynrhUB.js @@ -0,0 +1 @@ +import{_ as t,__tla as a}from"./Main.vue_vue_type_script_setup_true_lang-COZM_-Eq.js";let _=Promise.all([(()=>{try{return a}catch{}})()]).then(async()=>{});export{_ as __tla,t as default}; diff --git a/server/views/assets/index-C5YJyzlA.js b/server/views/assets/index-C5YJyzlA.js new file mode 100644 index 0000000..d29c0eb --- /dev/null +++ b/server/views/assets/index-C5YJyzlA.js @@ -0,0 +1 @@ +import{importShared as l,__tla as y}from"./__federation_fn_import-ofDdBDNE.js";import{__tla as g}from"./Title.vue_vue_type_script_setup_true_lang-By0ysY1L.js";import{a as h,__tla as v}from"./InterestBadge.vue_vue_type_script_setup_true_lang-D9kVq5QA.js";import{_ as b,__tla as L}from"./EventListView.vue_vue_type_script_setup_true_lang-Cf5rNcMg.js";import{_ as k,__tla as w}from"./EventDetailView.vue_vue_type_script_setup_true_lang-3XPO_pQ-.js";import{_ as N,__tla as O}from"./EventCreateView.vue_vue_type_script_setup_true_lang-CKvZ8aR5.js";Promise.all([(()=>{try{return y}catch{}})(),(()=>{try{return g}catch{}})(),(()=>{try{return v}catch{}})(),(()=>{try{return L}catch{}})(),(()=>{try{return w}catch{}})(),(()=>{try{return O}catch{}})()]).then(async()=>{(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))i(t);new MutationObserver(t=>{for(const e of t)if(e.type==="childList")for(const r of e.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function c(t){const e={};return t.integrity&&(e.integrity=t.integrity),t.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?e.credentials="include":t.crossOrigin==="anonymous"?e.credentials="omit":e.credentials="same-origin",e}function i(t){if(t.ep)return;t.ep=!0;const e=c(t);fetch(t.href,e)}})();const{defineComponent:u}=await l("vue"),{createVNode:s,Fragment:_,openBlock:m,createElementBlock:f}=await l("vue"),{ref:a,inject:P,provide:o}=await l("vue"),p=u({__name:"App",setup(n){const c="//toplocs.com:3003",i=a("Events"),t=a({id:"9138e908-b6e3-4bfa-b34f-960a0e703500",title:"Test"}),e=a(null),r=a({id:"test",username:"Yannik",image:"/images/default.jpeg"});return o("tab",i),o("interest",t),o("location",e),o("profile",r),h.defaults.baseURL=c,(E,j)=>(m(),f(_,null,[s(b),s(k),s(N)],64))}}),{createApp:d}=await l("vue");d(p).mount("#event-plugin")}); diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..e626cf5 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,97 @@ + + + \ No newline at end of file diff --git a/src/assets/base.css b/src/assets/base.css new file mode 100644 index 0000000..b14732f --- /dev/null +++ b/src/assets/base.css @@ -0,0 +1,16 @@ +/* Base styles for the event plugin */ +@tailwind base; +@tailwind components; +@tailwind utilities; + +/* Custom base styles */ +* { + box-sizing: border-box; +} + +body { + margin: 0; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; + background-color: white; + color: #1a1a1a; +} \ No newline at end of file diff --git a/src/assets/main.css b/src/assets/main.css new file mode 100644 index 0000000..a1e1556 --- /dev/null +++ b/src/assets/main.css @@ -0,0 +1 @@ +@import './base.css'; \ No newline at end of file diff --git a/src/components/EventCreateInline.vue b/src/components/EventCreateInline.vue new file mode 100644 index 0000000..d210c3c --- /dev/null +++ b/src/components/EventCreateInline.vue @@ -0,0 +1,336 @@ + + + + + \ No newline at end of file diff --git a/src/components/EventListItem.vue b/src/components/EventListItem.vue index 4e4560d..3857d5c 100644 --- a/src/components/EventListItem.vue +++ b/src/components/EventListItem.vue @@ -1,62 +1,143 @@ + + \ No newline at end of file diff --git a/src/components/GroupCreateModal.vue b/src/components/GroupCreateModal.vue new file mode 100644 index 0000000..52feac2 --- /dev/null +++ b/src/components/GroupCreateModal.vue @@ -0,0 +1,312 @@ + + + \ No newline at end of file diff --git a/src/components/GroupsView.vue b/src/components/GroupsView.vue new file mode 100644 index 0000000..0c2e805 --- /dev/null +++ b/src/components/GroupsView.vue @@ -0,0 +1,304 @@ + + + \ No newline at end of file diff --git a/src/components/Main.vue b/src/components/Main.vue index d712bbd..608c753 100644 --- a/src/components/Main.vue +++ b/src/components/Main.vue @@ -8,7 +8,7 @@
- @@ -21,11 +21,11 @@
- -

No events found

- +
@@ -37,6 +37,7 @@ @click="selectEvent(event)" @join="joinEvent(event)" @leave="leaveEvent(event)" + @rsvp="handleRSVP" />
@@ -46,8 +47,8 @@ :event="selectedEvent" :currentUser="currentUser" @close="selectedEvent = null" - @update="updateEvent" - @delete="deleteEvent" + @update="handleUpdateEvent" + @delete="handleDeleteEvent" @join="joinEvent" @leave="leaveEvent" /> @@ -55,8 +56,6 @@ + + +
+

๐Ÿงช Event Plugin Router Test

+ +
+

Navigation Test

+

Current Path: {{ currentPath }}

+

Current Route: {{ currentRoute?.name || 'None' }}

+
+ +
+
+ +
+

URL Building Test

+ +
{{ urlTestResults }}
+
+ +
+

Navigation History Test

+
+ + + +
+
{{ historyTestResults }}
+
+ +
+

Full Test Suite

+ +
{{ fullTestResults }}
+
+ +
+

Query Parameters Test

+ +
{{ queryTestResults }}
+
+
+ + + + \ No newline at end of file diff --git a/test-system.html b/test-system.html new file mode 100644 index 0000000..ab7f5dc --- /dev/null +++ b/test-system.html @@ -0,0 +1,609 @@ + + + + + + TopLocs Event Plugin - Full System Test + + + + + +
+
+

+ ๐Ÿ—๏ธ TopLocs Event Plugin System Test +

+

+ Testing the Meetup.com-like features: Groups, Events, RSVP, and Real-time sync +

+
+ + +
+

๐Ÿ“Š System Architecture Overview

+
+
+

๐Ÿ”— Router System

+

Query-param based routing with {{ routes.length }} routes

+
+
+ {{ route.meta?.icon }} {{ route.path }} +
+
+{{ routes.length - 4 }} more
+
+
+ +
+

๐Ÿ‘ฅ Groups System

+

{{ mockGroups.length }} mock groups with {{ categories.length }} categories

+
+
+ {{ cat.icon }} {{ cat.name }} +
+
+
+ +
+

๐Ÿ“… Events System

+

{{ mockEvents.length }} mock events with RSVP tracking

+
+
โ€ข Real-time RSVP updates
+
โ€ข Waitlist management
+
โ€ข Event status tracking
+
+
+ +
+

๐Ÿ”„ P2P Integration

+

Gun.js data patterns ready

+
+
โ€ข Distributed data storage
+
โ€ข Real-time synchronization
+
โ€ข Offline-first architecture
+
+
+
+
+ + +
+

๐Ÿงญ Navigation & Routing Test

+
+ +
+
+ Current Route: {{ currentRoute }} + + Query: {{ JSON.stringify(currentQuery) }} + +
+
+ + +
+

๐Ÿ‘ฅ Groups Management Test

+
+
+
+ {{ getCategoryIcon(group.category) }} +
+

{{ group.name }}

+

{{ group.location.city }}

+
+
+

{{ group.description }}

+
+ {{ group.memberCount }} members + + {{ group.privacy === 'private' ? '๐Ÿ”’ Private' : '๐ŸŒ Public' }} + +
+
+
+ + +
+ + +
+

๐Ÿ“… Events & RSVP System Test

+
+
+
+
+
+

{{ event.title }}

+ + {{ getGroupName(event.groupId) }} + +
+

{{ event.description }}

+
+ ๐Ÿ“… {{ formatDate(event.date) }} + ๐Ÿ‘ฅ {{ getEventAttending(event) }} attending + ๐Ÿ“‹ {{ event.limit }} max + + โณ {{ getEventWaitlist(event) }} waiting + +
+
+ +
+ + +
+
+
+
+ + +
+ + +
+

๐Ÿ”„ Real-time Data Sync Simulation

+
+
+

Gun.js Data Patterns

+
+
groups.{space}.{groupId}
+
events.{space}.{eventId}
+
users.{userPub}.eventHistory
+
events.{space}.{eventId}.attendees
+
events.{space}.{eventId}.waitlist
+
+
+ +
+

Sync Status

+
+
+ + Groups: {{ mockGroups.length }} loaded +
+
+ + Events: {{ mockEvents.length }} loaded +
+
+ + Real-time updates: Active +
+
+
+
+ +
+ + +
+
+ + +
+

๐Ÿงช Test Results

+
+
+

โœ… Completed Features

+
    +
  • โ€ข Query-param routing system
  • +
  • โ€ข Group management & categories
  • +
  • โ€ข Enhanced event system
  • +
  • โ€ข Real-time RSVP with waitlists
  • +
  • โ€ข Tailwind UI components
  • +
  • โ€ข Gun.js data patterns
  • +
+
+ +
+

๐Ÿ”„ In Progress

+
    +
  • โ€ข Location-based discovery
  • +
  • โ€ข Advanced search & filters
  • +
  • โ€ข Mobile responsiveness
  • +
  • โ€ข Performance optimization
  • +
+
+ +
+

โณ Next Phase

+
    +
  • โ€ข Discussion threads
  • +
  • โ€ข Photo sharing
  • +
  • โ€ข Push notifications
  • +
  • โ€ข Analytics dashboard
  • +
  • โ€ข Mobile app integration
  • +
+
+
+
+ + +
+

๐Ÿ“ Activity Log

+
+
+ {{ formatTime(log.timestamp) }} + {{ log.message }} +
+
+ No activity yet. Try interacting with the system above. +
+
+
+
+ + + + \ No newline at end of file diff --git a/tsconfig.app.json b/tsconfig.app.json index 78b6130..96ae168 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,6 +1,6 @@ { "extends": "@vue/tsconfig/tsconfig.dom.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "index.ts"], "exclude": ["src/**/__tests__/*"], "compilerOptions": { "composite": true, diff --git a/tsconfig.node.json b/tsconfig.node.json index ff36f5f..f094063 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -5,8 +5,7 @@ "vitest.config.*", "cypress.config.*", "nightwatch.conf.*", - "playwright.config.*", - "index.ts" + "playwright.config.*" ], "compilerOptions": { "composite": true, diff --git a/vite.config.ts b/vite.config.ts index 3eb7707..7d404f5 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -43,7 +43,6 @@ export default defineConfig({ resolve: { alias: { '@': path.resolve(__dirname, './src'), - '@dev': path.resolve(__dirname, './dev'), }, },