From dc53589e7dd3f6068f2b59aee4e68cfc8049f3c9 Mon Sep 17 00:00:00 2001 From: Arnaud Delcasse Date: Sun, 6 Nov 2022 18:44:29 +0100 Subject: [PATCH] Remove themes from this repo --- .gitignore | 1 + Dockerfile | 4 +- go.mod | 9 +- go.sum | 7 +- themes/default/README.md | 24 - themes/default/config.yaml | 208 -- .../emails/auth/retrieve-password.html | 5 - themes/default/emails/layout.html | 62 - .../onboarding/existing-administrator.html | 4 - .../emails/onboarding/existing-member.html | 4 - .../emails/onboarding/new-administrator.html | 5 - .../default/emails/onboarding/new-member.html | 5 - .../emails/onboarding/support_emailing.html | 4 - themes/default/web/assets/css/main.css | 19 - themes/default/web/assets/js/main.js | 6 - themes/default/web/fonts/bitter.ttf | Bin 90628 -> 0 bytes .../_partials/address_autocomplete.html | 48 - .../web/layouts/_partials/files_list.html | 31 - .../web/layouts/_partials/mainmenu.html | 19 - .../_partials/group_members.html | 47 - .../_partials/groups_admins.html | 49 - .../layouts/administration/create_group.html | 142 - .../layouts/administration/display_group.html | 140 - .../web/layouts/administration/home.html | 124 - .../web/layouts/agenda/create-event.html | 217 -- .../web/layouts/agenda/display-event.html | 140 - themes/default/web/layouts/agenda/home.html | 114 - themes/default/web/layouts/auth/groups.html | 40 - .../web/layouts/auth/lost-password-init.html | 40 - .../auth/lost-password-recover-ko.html | 26 - .../layouts/auth/lost-password-recover.html | 41 - .../web/layouts/auth/onboarding-ko.html | 26 - .../default/web/layouts/auth/onboarding.html | 54 - .../_partials/beneficiary-events.html | 4 - .../_partials/beneficiary-files.html | 135 - .../_partials/beneficiary-journeys.html | 38 - .../_partials/beneficiary-notes.html | 108 - .../_partials/beneficiary-vehicles.html | 39 - .../web/layouts/beneficiaries/create.html | 184 - .../web/layouts/beneficiaries/display.html | 152 - .../web/layouts/beneficiaries/list.html | 166 - .../web/layouts/beneficiaries/update.html | 184 - .../dashboard/_partials/agenda-widget.html | 29 - .../_partials/beneficiaries-widget.html | 31 - .../web/layouts/dashboard/dashboard.html | 77 - .../default/web/layouts/directory/home.html | 23 - .../default/web/layouts/group/settings.html | 129 - .../journeys/_partials/journeys-all.html | 105 - .../journeys/_partials/journeys-carpool.html | 56 - .../journeys/_partials/journeys-others.html | 38 - .../_partials/journeys-public-transit.html | 81 - .../default/web/layouts/journeys/search.html | 120 - themes/default/web/layouts/layout.html | 178 - .../default/web/layouts/support/support.html | 27 - .../web/layouts/vehicles/booking-display.html | 201 -- .../web/layouts/vehicles/bookings-list.html | 68 - .../default/web/layouts/vehicles/search.html | 237 -- .../_partials/bookings-list.html | 77 - .../_partials/calendar.html | 259 -- .../_partials/vehicle-type-select.html | 105 - .../_partials/vehicles-list.html | 56 - .../vehicles_management/booking-display.html | 276 -- .../vehicles_management/bookings-list.html | 25 - .../vehicles_management/fleet-add.html | 106 - .../vehicles_management/fleet-display.html | 90 - .../vehicles_management/fleet-update.html | 106 - .../layouts/vehicles_management/overview.html | 45 - themes/default/web/public/css/main.css | 2889 ---------------- .../default/web/public/images/main_logo.svg | 1 - .../images/parcoursmob_logo_bluered.svg | 1 - .../images/parcoursmob_logo_whitered.svg | 1 - themes/default/web/public/js/main.js | 2995 ----------------- themes/default/web/tailwind.config.js | 23 - themes/spie06/README.md | 24 - themes/spie06/config.yaml | 208 -- .../spie06/emails/auth/retrieve-password.html | 5 - themes/spie06/emails/layout.html | 62 - .../onboarding/existing-administrator.html | 4 - .../emails/onboarding/existing-member.html | 4 - .../emails/onboarding/new-administrator.html | 5 - .../spie06/emails/onboarding/new-member.html | 5 - .../emails/onboarding/support_emailing.html | 4 - themes/spie06/web/assets/css/main.css | 19 - themes/spie06/web/assets/js/main.js | 6 - themes/spie06/web/fonts/bitter.ttf | Bin 90628 -> 0 bytes .../_partials/address_autocomplete.html | 48 - .../web/layouts/_partials/files_list.html | 31 - .../web/layouts/_partials/mainmenu.html | 19 - .../_partials/group_members.html | 47 - .../_partials/groups_admins.html | 49 - .../layouts/administration/create_group.html | 142 - .../layouts/administration/display_group.html | 140 - .../web/layouts/administration/home.html | 124 - .../web/layouts/agenda/create-event.html | 217 -- .../web/layouts/agenda/display-event.html | 140 - themes/spie06/web/layouts/agenda/home.html | 114 - themes/spie06/web/layouts/auth/groups.html | 40 - .../web/layouts/auth/lost-password-init.html | 40 - .../auth/lost-password-recover-ko.html | 26 - .../layouts/auth/lost-password-recover.html | 41 - .../web/layouts/auth/onboarding-ko.html | 26 - .../spie06/web/layouts/auth/onboarding.html | 54 - .../_partials/beneficiary-events.html | 4 - .../_partials/beneficiary-files.html | 135 - .../_partials/beneficiary-journeys.html | 38 - .../_partials/beneficiary-notes.html | 108 - .../_partials/beneficiary-vehicles.html | 39 - .../web/layouts/beneficiaries/create.html | 184 - .../web/layouts/beneficiaries/display.html | 152 - .../web/layouts/beneficiaries/list.html | 166 - .../web/layouts/beneficiaries/update.html | 184 - .../dashboard/_partials/agenda-widget.html | 29 - .../_partials/beneficiaries-widget.html | 31 - .../web/layouts/dashboard/dashboard.html | 77 - themes/spie06/web/layouts/directory/home.html | 23 - themes/spie06/web/layouts/group/settings.html | 129 - .../journeys/_partials/journeys-all.html | 105 - .../journeys/_partials/journeys-carpool.html | 56 - .../journeys/_partials/journeys-others.html | 38 - .../_partials/journeys-public-transit.html | 81 - .../spie06/web/layouts/journeys/search.html | 120 - themes/spie06/web/layouts/layout.html | 180 - .../spie06/web/layouts/support/support.html | 27 - .../web/layouts/vehicles/booking-display.html | 201 -- .../web/layouts/vehicles/bookings-list.html | 68 - .../spie06/web/layouts/vehicles/search.html | 237 -- .../_partials/bookings-list.html | 77 - .../_partials/calendar.html | 259 -- .../_partials/vehicle-type-select.html | 105 - .../_partials/vehicles-list.html | 56 - .../vehicles_management/booking-display.html | 276 -- .../vehicles_management/bookings-list.html | 25 - .../vehicles_management/fleet-add.html | 106 - .../vehicles_management/fleet-display.html | 90 - .../vehicles_management/fleet-update.html | 106 - .../layouts/vehicles_management/overview.html | 45 - themes/spie06/web/public/css/main.css | 2877 ---------------- ...6 - Positionner sur un permis accéléré.pdf | Bin 177509 -> 0 bytes .../web/public/images/departement06.png | Bin 58738 -> 0 bytes themes/spie06/web/public/images/main_logo.svg | 91 - .../images/parcoursmob_logo_bluered.svg | 1 - .../images/parcoursmob_logo_whitered.svg | 1 - themes/spie06/web/public/js/main.js | 2995 ----------------- themes/spie06/web/tailwind.config.js | 23 - utils/identification/oidc.go | 6 +- utils/storage/etcd.go | 14 + utils/storage/sessions.go | 13 + 147 files changed, 42 insertions(+), 22310 deletions(-) delete mode 100644 themes/default/README.md delete mode 100644 themes/default/config.yaml delete mode 100644 themes/default/emails/auth/retrieve-password.html delete mode 100644 themes/default/emails/layout.html delete mode 100644 themes/default/emails/onboarding/existing-administrator.html delete mode 100644 themes/default/emails/onboarding/existing-member.html delete mode 100644 themes/default/emails/onboarding/new-administrator.html delete mode 100644 themes/default/emails/onboarding/new-member.html delete mode 100644 themes/default/emails/onboarding/support_emailing.html delete mode 100644 themes/default/web/assets/css/main.css delete mode 100644 themes/default/web/assets/js/main.js delete mode 100644 themes/default/web/fonts/bitter.ttf delete mode 100644 themes/default/web/layouts/_partials/address_autocomplete.html delete mode 100644 themes/default/web/layouts/_partials/files_list.html delete mode 100644 themes/default/web/layouts/_partials/mainmenu.html delete mode 100644 themes/default/web/layouts/administration/_partials/group_members.html delete mode 100644 themes/default/web/layouts/administration/_partials/groups_admins.html delete mode 100644 themes/default/web/layouts/administration/create_group.html delete mode 100644 themes/default/web/layouts/administration/display_group.html delete mode 100644 themes/default/web/layouts/administration/home.html delete mode 100644 themes/default/web/layouts/agenda/create-event.html delete mode 100644 themes/default/web/layouts/agenda/display-event.html delete mode 100644 themes/default/web/layouts/agenda/home.html delete mode 100644 themes/default/web/layouts/auth/groups.html delete mode 100644 themes/default/web/layouts/auth/lost-password-init.html delete mode 100644 themes/default/web/layouts/auth/lost-password-recover-ko.html delete mode 100644 themes/default/web/layouts/auth/lost-password-recover.html delete mode 100644 themes/default/web/layouts/auth/onboarding-ko.html delete mode 100644 themes/default/web/layouts/auth/onboarding.html delete mode 100644 themes/default/web/layouts/beneficiaries/_partials/beneficiary-events.html delete mode 100644 themes/default/web/layouts/beneficiaries/_partials/beneficiary-files.html delete mode 100644 themes/default/web/layouts/beneficiaries/_partials/beneficiary-journeys.html delete mode 100644 themes/default/web/layouts/beneficiaries/_partials/beneficiary-notes.html delete mode 100644 themes/default/web/layouts/beneficiaries/_partials/beneficiary-vehicles.html delete mode 100644 themes/default/web/layouts/beneficiaries/create.html delete mode 100644 themes/default/web/layouts/beneficiaries/display.html delete mode 100644 themes/default/web/layouts/beneficiaries/list.html delete mode 100644 themes/default/web/layouts/beneficiaries/update.html delete mode 100644 themes/default/web/layouts/dashboard/_partials/agenda-widget.html delete mode 100644 themes/default/web/layouts/dashboard/_partials/beneficiaries-widget.html delete mode 100644 themes/default/web/layouts/dashboard/dashboard.html delete mode 100644 themes/default/web/layouts/directory/home.html delete mode 100644 themes/default/web/layouts/group/settings.html delete mode 100644 themes/default/web/layouts/journeys/_partials/journeys-all.html delete mode 100644 themes/default/web/layouts/journeys/_partials/journeys-carpool.html delete mode 100644 themes/default/web/layouts/journeys/_partials/journeys-others.html delete mode 100644 themes/default/web/layouts/journeys/_partials/journeys-public-transit.html delete mode 100644 themes/default/web/layouts/journeys/search.html delete mode 100644 themes/default/web/layouts/layout.html delete mode 100644 themes/default/web/layouts/support/support.html delete mode 100644 themes/default/web/layouts/vehicles/booking-display.html delete mode 100644 themes/default/web/layouts/vehicles/bookings-list.html delete mode 100644 themes/default/web/layouts/vehicles/search.html delete mode 100644 themes/default/web/layouts/vehicles_management/_partials/bookings-list.html delete mode 100644 themes/default/web/layouts/vehicles_management/_partials/calendar.html delete mode 100644 themes/default/web/layouts/vehicles_management/_partials/vehicle-type-select.html delete mode 100644 themes/default/web/layouts/vehicles_management/_partials/vehicles-list.html delete mode 100644 themes/default/web/layouts/vehicles_management/booking-display.html delete mode 100644 themes/default/web/layouts/vehicles_management/bookings-list.html delete mode 100644 themes/default/web/layouts/vehicles_management/fleet-add.html delete mode 100644 themes/default/web/layouts/vehicles_management/fleet-display.html delete mode 100644 themes/default/web/layouts/vehicles_management/fleet-update.html delete mode 100644 themes/default/web/layouts/vehicles_management/overview.html delete mode 100644 themes/default/web/public/css/main.css delete mode 100644 themes/default/web/public/images/main_logo.svg delete mode 100644 themes/default/web/public/images/parcoursmob_logo_bluered.svg delete mode 100644 themes/default/web/public/images/parcoursmob_logo_whitered.svg delete mode 100644 themes/default/web/public/js/main.js delete mode 100644 themes/default/web/tailwind.config.js delete mode 100644 themes/spie06/README.md delete mode 100644 themes/spie06/config.yaml delete mode 100644 themes/spie06/emails/auth/retrieve-password.html delete mode 100644 themes/spie06/emails/layout.html delete mode 100644 themes/spie06/emails/onboarding/existing-administrator.html delete mode 100644 themes/spie06/emails/onboarding/existing-member.html delete mode 100644 themes/spie06/emails/onboarding/new-administrator.html delete mode 100644 themes/spie06/emails/onboarding/new-member.html delete mode 100644 themes/spie06/emails/onboarding/support_emailing.html delete mode 100644 themes/spie06/web/assets/css/main.css delete mode 100644 themes/spie06/web/assets/js/main.js delete mode 100644 themes/spie06/web/fonts/bitter.ttf delete mode 100644 themes/spie06/web/layouts/_partials/address_autocomplete.html delete mode 100644 themes/spie06/web/layouts/_partials/files_list.html delete mode 100644 themes/spie06/web/layouts/_partials/mainmenu.html delete mode 100644 themes/spie06/web/layouts/administration/_partials/group_members.html delete mode 100644 themes/spie06/web/layouts/administration/_partials/groups_admins.html delete mode 100644 themes/spie06/web/layouts/administration/create_group.html delete mode 100644 themes/spie06/web/layouts/administration/display_group.html delete mode 100644 themes/spie06/web/layouts/administration/home.html delete mode 100644 themes/spie06/web/layouts/agenda/create-event.html delete mode 100644 themes/spie06/web/layouts/agenda/display-event.html delete mode 100644 themes/spie06/web/layouts/agenda/home.html delete mode 100644 themes/spie06/web/layouts/auth/groups.html delete mode 100644 themes/spie06/web/layouts/auth/lost-password-init.html delete mode 100644 themes/spie06/web/layouts/auth/lost-password-recover-ko.html delete mode 100644 themes/spie06/web/layouts/auth/lost-password-recover.html delete mode 100644 themes/spie06/web/layouts/auth/onboarding-ko.html delete mode 100644 themes/spie06/web/layouts/auth/onboarding.html delete mode 100644 themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-events.html delete mode 100644 themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-files.html delete mode 100644 themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-journeys.html delete mode 100644 themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-notes.html delete mode 100644 themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-vehicles.html delete mode 100644 themes/spie06/web/layouts/beneficiaries/create.html delete mode 100644 themes/spie06/web/layouts/beneficiaries/display.html delete mode 100644 themes/spie06/web/layouts/beneficiaries/list.html delete mode 100644 themes/spie06/web/layouts/beneficiaries/update.html delete mode 100644 themes/spie06/web/layouts/dashboard/_partials/agenda-widget.html delete mode 100644 themes/spie06/web/layouts/dashboard/_partials/beneficiaries-widget.html delete mode 100644 themes/spie06/web/layouts/dashboard/dashboard.html delete mode 100644 themes/spie06/web/layouts/directory/home.html delete mode 100644 themes/spie06/web/layouts/group/settings.html delete mode 100644 themes/spie06/web/layouts/journeys/_partials/journeys-all.html delete mode 100644 themes/spie06/web/layouts/journeys/_partials/journeys-carpool.html delete mode 100644 themes/spie06/web/layouts/journeys/_partials/journeys-others.html delete mode 100644 themes/spie06/web/layouts/journeys/_partials/journeys-public-transit.html delete mode 100644 themes/spie06/web/layouts/journeys/search.html delete mode 100644 themes/spie06/web/layouts/layout.html delete mode 100644 themes/spie06/web/layouts/support/support.html delete mode 100644 themes/spie06/web/layouts/vehicles/booking-display.html delete mode 100644 themes/spie06/web/layouts/vehicles/bookings-list.html delete mode 100644 themes/spie06/web/layouts/vehicles/search.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/_partials/bookings-list.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/_partials/calendar.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/_partials/vehicle-type-select.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/_partials/vehicles-list.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/booking-display.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/bookings-list.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/fleet-add.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/fleet-display.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/fleet-update.html delete mode 100644 themes/spie06/web/layouts/vehicles_management/overview.html delete mode 100644 themes/spie06/web/public/css/main.css delete mode 100644 themes/spie06/web/public/images/Tutoriel SPIE06 - Positionner sur un permis accéléré.pdf delete mode 100644 themes/spie06/web/public/images/departement06.png delete mode 100644 themes/spie06/web/public/images/main_logo.svg delete mode 100644 themes/spie06/web/public/images/parcoursmob_logo_bluered.svg delete mode 100644 themes/spie06/web/public/images/parcoursmob_logo_whitered.svg delete mode 100644 themes/spie06/web/public/js/main.js delete mode 100644 themes/spie06/web/tailwind.config.js diff --git a/.gitignore b/.gitignore index 3346355..fa74cfc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /config.yaml +themes/* .vscode __debug_bin \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index c80c207..bb7c0c6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,8 @@ WORKDIR / # Create a netrc file using the credentials specified using --build-arg RUN printf "machine git.coopgo.io\n\ login ${ACCESS_TOKEN_USR}\n\ - password ${ACCESS_TOKEN_PWD}\n"\ + password ${ACCESS_TOKEN_PWD}\n\ + \n"\ >> ~/.netrc RUN chmod 600 ~/.netrc @@ -21,6 +22,7 @@ RUN go mod download && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /server FROM scratch COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo +COPY --from=builder /themes/ /themes/ COPY --from=builder /server / EXPOSE 8080 diff --git a/go.mod b/go.mod index d453e3c..7f6a52c 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ go 1.18 // replace git.coopgo.io/coopgo-platform/groups-management => ../../coopgo-platform/groups-management/ -replace git.coopgo.io/coopgo-platform/fleets => ../../coopgo-platform/fleets/ +// replace git.coopgo.io/coopgo-platform/fleets => ../../coopgo-platform/fleets/ // replace git.coopgo.io/coopgo-platform/agenda => ../../coopgo-platform/agenda/ @@ -32,9 +32,11 @@ require ( require ( git.coopgo.io/coopgo-platform/agenda v0.0.0-20221017030035-4a26fc791c5b git.coopgo.io/coopgo-platform/emailing v0.0.0-20221017030337-c71888d90c15 - git.coopgo.io/coopgo-platform/fleets v0.0.0-20220905052643-be9ee8372fdd + git.coopgo.io/coopgo-platform/fleets v0.0.0-20221101232521-da16c90fc3ba git.coopgo.io/coopgo-platform/groups-management v0.0.0-20221017025751-671dc9a2c544 git.coopgo.io/coopgo-platform/mobility-accounts v0.0.0-20220906130339-b9a32e41bffe + github.com/gorilla/securecookie v1.1.1 + github.com/minio/minio-go/v7 v7.0.43 ) require ( @@ -42,14 +44,12 @@ require ( github.com/coreos/go-systemd/v22 v22.3.2 // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/fsnotify/fsnotify v1.5.4 // indirect - github.com/go-mail/mail v2.3.1+incompatible // indirect github.com/go-playground/locales v0.14.0 // indirect github.com/go-playground/universal-translator v0.18.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/golang/snappy v0.0.1 // indirect - github.com/gorilla/securecookie v1.1.1 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.15.9 // indirect @@ -58,7 +58,6 @@ require ( github.com/magiconair/properties v1.8.6 // indirect github.com/mb0/wkt v0.0.0-20170420051526-a30afd545ee1 // indirect github.com/minio/md5-simd v1.1.2 // indirect - github.com/minio/minio-go/v7 v7.0.43 // indirect github.com/minio/sha256-simd v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect diff --git a/go.sum b/go.sum index 59dc913..99e7601 100644 --- a/go.sum +++ b/go.sum @@ -40,8 +40,8 @@ git.coopgo.io/coopgo-platform/agenda v0.0.0-20221017030035-4a26fc791c5b h1:7kLW1 git.coopgo.io/coopgo-platform/agenda v0.0.0-20221017030035-4a26fc791c5b/go.mod h1:wqPvfYmzGF2cfXbs8XE1P2j5UYqZwp/La0llkl7dUkc= git.coopgo.io/coopgo-platform/emailing v0.0.0-20221017030337-c71888d90c15 h1:+ZI4nGE6mqZ6pc7N/BizheEPRXn6Z84Sj7ikwfP2ZcU= git.coopgo.io/coopgo-platform/emailing v0.0.0-20221017030337-c71888d90c15/go.mod h1:rmbqiHVkONcECOoPlsXlxZnD315Tiz2oRnn1M7646Kg= -git.coopgo.io/coopgo-platform/fleets v0.0.0-20220905052643-be9ee8372fdd h1:7k5QMwMm6JQ0S2bNqXEe7Ouh8N9N3yAvcWB2GRcIZLk= -git.coopgo.io/coopgo-platform/fleets v0.0.0-20220905052643-be9ee8372fdd/go.mod h1:s9OIFCNcjBAbBzRNHwoCTYV6kAntPG9CpT3GVweGdTY= +git.coopgo.io/coopgo-platform/fleets v0.0.0-20221101232521-da16c90fc3ba h1:clfkgihzYa3xWKSY/Sn6VUSydOReh7cpuihvYNkWjNk= +git.coopgo.io/coopgo-platform/fleets v0.0.0-20221101232521-da16c90fc3ba/go.mod h1:s9OIFCNcjBAbBzRNHwoCTYV6kAntPG9CpT3GVweGdTY= git.coopgo.io/coopgo-platform/groups-management v0.0.0-20221017025751-671dc9a2c544 h1:rMLP77uIEequVXXZ0X9G1iK2k+xvW/+58ggwxxI6gqY= git.coopgo.io/coopgo-platform/groups-management v0.0.0-20221017025751-671dc9a2c544/go.mod h1:lozSy6qlIIYhvKKXscZzz28HAtS0qBDUTv5nofLRmYA= git.coopgo.io/coopgo-platform/mobility-accounts v0.0.0-20220906130339-b9a32e41bffe h1:4OKwfKybR0VsIw2dSM9RtqGWveWPt+JjtiiMIBrg/w0= @@ -121,8 +121,6 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-mail/mail v2.3.1+incompatible h1:UzNOn0k5lpfVtO31cK3hn6I4VEVGhe3lX8AJBAxXExM= -github.com/go-mail/mail v2.3.1+incompatible/go.mod h1:VPWjmmNyRsWXQZHVHT3g0YbIINUkSmuKOiLIDkWbL6M= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= @@ -233,7 +231,6 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= diff --git a/themes/default/README.md b/themes/default/README.md deleted file mode 100644 index 0fb22b2..0000000 --- a/themes/default/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# PARCOURSMOB default template - -This theme uses : - -- [TailwindCSS](https://tailwindcss.com/) as CSS framework and [Tailwind UI components](https://tailwindui.com/) -- [AlpineJS](https://alpinejs.dev/) lightweight Javascript framework - -## TailwindCSS - -Look at the [Tailwind CSS docs](https://tailwindcss.com/docs/installation) to know how to install and use Tailwind. - -If you installed the Tailwind CLI, run this command from this repository while developing from the web/ directory. - -``` -npx tailwind -i ./assets/css/main.css -o public/css/main.css --watch -``` - -## Esbuild - -To bundle Javascript with esbuild : - -``` -npx esbuild assets/js/main.js --bundle --outfile=public/js/main.js -``` \ No newline at end of file diff --git a/themes/default/config.yaml b/themes/default/config.yaml deleted file mode 100644 index 4481431..0000000 --- a/themes/default/config.yaml +++ /dev/null @@ -1,208 +0,0 @@ -name: PARCOURSMOB - -views: - generic: - files: - - web/layouts/layout.html - - web/layouts/_partials/mainmenu.html - dashboard: - files: - - web/layouts/dashboard/_partials/agenda-widget.html - - web/layouts/dashboard/_partials/beneficiaries-widget.html - - web/layouts/dashboard/dashboard.html - beneficiaries: - list: - files: - - web/layouts/beneficiaries/list.html - create: - files: - - web/layouts/_partials/address_autocomplete.html - - web/layouts/beneficiaries/create.html - display: - files: - - web/layouts/_partials/address_autocomplete.html - - web/layouts/vehicles_management/_partials/vehicle-type-select.html - - web/layouts/beneficiaries/_partials/beneficiary-vehicles.html - - web/layouts/beneficiaries/_partials/beneficiary-notes.html - - web/layouts/beneficiaries/_partials/beneficiary-journeys.html - - web/layouts/beneficiaries/_partials/beneficiary-events.html - - web/layouts/beneficiaries/_partials/beneficiary-files.html - - web/layouts/beneficiaries/display.html - update: - files: - - web/layouts/_partials/address_autocomplete.html - - web/layouts/beneficiaries/update.html - - vehicles: - search: - files: - - web/layouts/_partials/address_autocomplete.html - - web/layouts/vehicles_management/_partials/vehicle-type-select.html - - web/layouts/vehicles/search.html - booking_display: - files: - - web/layouts/vehicles/booking-display.html - bookings_list: - files: - - web/layouts/vehicles_management/_partials/bookings-list.html - - web/layouts/vehicles/bookings-list.html - vehicles_management: - overview: - files: - - web/layouts/vehicles_management/_partials/bookings-list.html - - web/layouts/vehicles_management/_partials/vehicles-list.html - - web/layouts/vehicles_management/overview.html - bookings_list: - files: - - web/layouts/vehicles_management/_partials/bookings-list.html - - web/layouts/vehicles_management/bookings-list.html - fleet_add: - files: - - web/layouts/_partials/address_autocomplete.html - - web/layouts/vehicles_management/_partials/vehicle-type-select.html - - web/layouts/vehicles_management/fleet-add.html - fleet_display: - files: - - web/layouts/vehicles_management/_partials/calendar.html - - web/layouts/vehicles_management/fleet-display.html - fleet_update: - files: - - web/layouts/_partials/address_autocomplete.html - - web/layouts/vehicles_management/_partials/vehicle-type-select.html - - web/layouts/vehicles_management/fleet-update.html - booking_display: - files: - - web/layouts/vehicles_management/booking-display.html - agenda: - list: - files: - - web/layouts/agenda/home.html - display_event: - files: - - web/layouts/agenda/display-event.html - create_event: - files: - - web/layouts/_partials/address_autocomplete.html - - web/layouts/agenda/create-event.html - directory: - home: - files: - - web/layouts/directory/home.html - journeys: - search: - files: - - web/layouts/_partials/address_autocomplete.html - - web/layouts/journeys/_partials/journeys-all.html - - web/layouts/journeys/_partials/journeys-others.html - - web/layouts/journeys/_partials/journeys-carpool.html - - web/layouts/journeys/_partials/journeys-public-transit.html - - web/layouts/journeys/search.html - support: - request: - files: - - web/layouts/support/support.html - administration: - home: - files: - - web/layouts/administration/home.html - create_group: - files: - - web/layouts/administration/create_group.html - display_group: - files: - - web/layouts/administration/_partials/groups_admins.html - - web/layouts/administration/_partials/group_members.html - - web/layouts/administration/display_group.html - group: - settings: - files: - - web/layouts/administration/_partials/groups_admins.html - - web/layouts/administration/_partials/group_members.html - - web/layouts/group/settings.html - auth: - groups: - files: - - web/layouts/auth/groups.html - lost_password: - init: - files: - - web/layouts/auth/lost-password-init.html - recover: - form: - files: - - web/layouts/auth/lost-password-recover.html - ko: - files: - - web/layouts/auth/lost-password-recover-ko.html - onboarding: - form: - files: - - web/layouts/auth/onboarding.html - ko: - files: - - web/layouts/auth/onboarding-ko.html - -icons: - svg: - coopgo:parcoursmob/monogram: - hero:outline/briefcase: - hero:outline/support: - hero:outline/calendar: - hero:outline/chevron-right: - hero:outline/cog: - hero:outline/document-arrow-down: - hero:outline/document-text: - hero:outline/folder-plus: - hero:outline/home: - hero:outline/map: - hero:outline/office-building: - hero:outline/paper-clip: - hero:outline/plus-circle: - hero:outline/shield-check: - hero:outline/table-cells: - hero:outline/user-group: - hero:outline/x: - hero:solid/chevron-right: - hero:solid/question-mark-icon: - hero:solid/search: - hero:solid/selector: - img:profile-picture-placeholder: - tabler-icons:car: - tabler-icons:walk: - tabler-icons:bus: - -emails: - onboarding: - new_administrator: - subject: PARCOURSMOB - Vous avez été invité comme administrateur - files: - - emails/layout.html - - emails/onboarding/new-administrator.html - existing_administrator: - subject: PARCOURSMOB - Vous avez été invité comme administrateur - files: - - emails/layout.html - - emails/onboarding/existing-administrator.html - new_member: - subject: PARCOURSMOB - Vous avez été invité à rejoindre une organisation - files: - - emails/layout.html - - emails/onboarding/new-member.html - existing_member: - subject: PARCOURSMOB - Vous avez été invité à rejoindre une organisation - files: - - emails/layout.html - - emails/onboarding/existing-member.html - auth: - retrieve_password: - subject: PAROURSMOB - Réinitialisez votre mot de passe - files: - - emails/layout.html - - emails/auth/retrieve-password.html - support: - request: - subject: PARCOURMOB - Demande de support - files: - - emails/layout.html - - emails/onboarding/support_emailing.html - diff --git a/themes/default/emails/auth/retrieve-password.html b/themes/default/emails/auth/retrieve-password.html deleted file mode 100644 index 0bc2260..0000000 --- a/themes/default/emails/auth/retrieve-password.html +++ /dev/null @@ -1,5 +0,0 @@ -{{define "content"}} -

Bonjour,

-

Vous avez demandé à réinitialiser votre mot de passe pour {{.username}}

-

Pour créer votre nouveau mot de passe, cliquez sur le lien suivant : http://localhost:9000/auth/lost-password/recover?key={{.key}}

-{{end}} \ No newline at end of file diff --git a/themes/default/emails/layout.html b/themes/default/emails/layout.html deleted file mode 100644 index 6ac319a..0000000 --- a/themes/default/emails/layout.html +++ /dev/null @@ -1,62 +0,0 @@ -{{define "main"}} - - - - - -
- PARCOURSMOB -
-
- {{template "content" .}} -
- - -{{end}} \ No newline at end of file diff --git a/themes/default/emails/onboarding/existing-administrator.html b/themes/default/emails/onboarding/existing-administrator.html deleted file mode 100644 index ba0fe56..0000000 --- a/themes/default/emails/onboarding/existing-administrator.html +++ /dev/null @@ -1,4 +0,0 @@ -{{define "content"}} -

Vous avez été ajouté comme administrateur de l'organisation {{.group}} sur PARCOURSMOB.

-

Connectez vous sur http://localhost:9000 pour y accéder

-{{end}} \ No newline at end of file diff --git a/themes/default/emails/onboarding/existing-member.html b/themes/default/emails/onboarding/existing-member.html deleted file mode 100644 index f90cd72..0000000 --- a/themes/default/emails/onboarding/existing-member.html +++ /dev/null @@ -1,4 +0,0 @@ -{{define "content"}} -

Vous avez été ajouté à l'organisation {{.group}} sur PARCOURSMOB.

-

Connectez vous sur http://localhost:9000 pour y accéder

-{{end}} \ No newline at end of file diff --git a/themes/default/emails/onboarding/new-administrator.html b/themes/default/emails/onboarding/new-administrator.html deleted file mode 100644 index 53687a3..0000000 --- a/themes/default/emails/onboarding/new-administrator.html +++ /dev/null @@ -1,5 +0,0 @@ -{{define "content"}} -

Vous avez été ajouté comme administrateur de l'organisation {{.group}} sur PARCOURSMOB.

-

Vous devez créer votre compte pour y accéder.

-

Pour créer votre compte PARCOURSMOB, cliquez sur : http://localhost:9000/auth/onboarding?key={{.key}}

-{{end}} \ No newline at end of file diff --git a/themes/default/emails/onboarding/new-member.html b/themes/default/emails/onboarding/new-member.html deleted file mode 100644 index 3c230aa..0000000 --- a/themes/default/emails/onboarding/new-member.html +++ /dev/null @@ -1,5 +0,0 @@ -{{define "content"}} -

Vous avez été ajouté à l'organisation {{.group}} sur PARCOURSMOB.

-

Vous devez créer votre compte pour y accéder.

-

Pour créer votre compte PARCOURSMOB, cliquez sur : http://localhost:9000/auth/onboarding?key={{.key}}

-{{end}} \ No newline at end of file diff --git a/themes/default/emails/onboarding/support_emailing.html b/themes/default/emails/onboarding/support_emailing.html deleted file mode 100644 index 40ea8c7..0000000 --- a/themes/default/emails/onboarding/support_emailing.html +++ /dev/null @@ -1,4 +0,0 @@ -{{define "content"}} -

Vous avez reçu un commentaire sur PARCOURSMOB de la part de {{.user}}

-

{{.key}}

-{{end}} \ No newline at end of file diff --git a/themes/default/web/assets/css/main.css b/themes/default/web/assets/css/main.css deleted file mode 100644 index 15ab027..0000000 --- a/themes/default/web/assets/css/main.css +++ /dev/null @@ -1,19 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -@font-face { - font-family: "Manometer"; - src: url("https://coopgo.fr/fonts/manometer.woff2") format("woff2"), url("/fonts/manometer.woff") format("woff"); } - -@font-face { - font-family: "Bitter"; - font-style: normal; - src: url("https://coopgo.fr/fonts/Bitter-Regular.woff") format("woff"); } - - -@layer base { - html { - font-family: Bitter, serif; - } -} \ No newline at end of file diff --git a/themes/default/web/assets/js/main.js b/themes/default/web/assets/js/main.js deleted file mode 100644 index 0b0b059..0000000 --- a/themes/default/web/assets/js/main.js +++ /dev/null @@ -1,6 +0,0 @@ -import '@kingshott/iodine'; -import Alpine from 'alpinejs' - -window.Alpine = Alpine - -Alpine.start() \ No newline at end of file diff --git a/themes/default/web/fonts/bitter.ttf b/themes/default/web/fonts/bitter.ttf deleted file mode 100644 index 3b66905adfd60bb56d8abf34c21d6324f5b01222..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90628 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�dk|cH2cdcz(yKi`S-`cj$4OcC`wPK)Z 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 EAF(mv_W%F@ diff --git a/themes/default/web/layouts/_partials/address_autocomplete.html b/themes/default/web/layouts/_partials/address_autocomplete.html deleted file mode 100644 index 3ffd1b2..0000000 --- a/themes/default/web/layouts/_partials/address_autocomplete.html +++ /dev/null @@ -1,48 +0,0 @@ -{{ define "address_autocomplete" }} - - -
- - - - -
    - -
-
-{{ end }} \ No newline at end of file diff --git a/themes/default/web/layouts/_partials/files_list.html b/themes/default/web/layouts/_partials/files_list.html deleted file mode 100644 index 0f10791..0000000 --- a/themes/default/web/layouts/_partials/files_list.html +++ /dev/null @@ -1,31 +0,0 @@ -{{define "documents_list"}} -
- - - - - - - - - - - - - - - - - - -
Type - Actions -
-
- {{index $.ViewState.file_types_map .Metadata.Type}} -
-
{{.Metadata.Name}} - -
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/_partials/mainmenu.html b/themes/default/web/layouts/_partials/mainmenu.html deleted file mode 100644 index 94d2108..0000000 --- a/themes/default/web/layouts/_partials/mainmenu.html +++ /dev/null @@ -1,19 +0,0 @@ -{{define "mainmenu"}} - -{{range .LayoutState.MenuItems}} - -{{end}} - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/administration/_partials/group_members.html b/themes/default/web/layouts/administration/_partials/group_members.html deleted file mode 100644 index 6e03022..0000000 --- a/themes/default/web/layouts/administration/_partials/group_members.html +++ /dev/null @@ -1,47 +0,0 @@ -{{define "groups_members"}} -
- -

Membres de l'organisation

- -
- - {{range .ViewState.members}} - - {{end}} -
-
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/administration/_partials/groups_admins.html b/themes/default/web/layouts/administration/_partials/groups_admins.html deleted file mode 100644 index 3495123..0000000 --- a/themes/default/web/layouts/administration/_partials/groups_admins.html +++ /dev/null @@ -1,49 +0,0 @@ -{{define "groups_admins"}} -
- -

Administrateurs

- -
- - {{range .ViewState.admins}} - - {{end}} -
-
- - - - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/administration/create_group.html b/themes/default/web/layouts/administration/create_group.html deleted file mode 100644 index c5485ab..0000000 --- a/themes/default/web/layouts/administration/create_group.html +++ /dev/null @@ -1,142 +0,0 @@ -{{define "content"}} - - -
-

Administration > Créer une organisation

-
- -
-
-
-
-
-

Nouvelle organisation

-

Informations de base sur la nouvelle organisation à créer

-
-
-
-
- - -
-
-
-
-
-
-
-
-

Paramètres

-

Paramètres de configuration de l'organisation (modules - accessibles, ...)

-
-
- -
- Droits d'accès aux modules - -
-
-
- -
-
- -

Gestion des bénéficiaires assignés à sa propre organisation. -

-
-
-
-
- -
-
- -

Trouver des solutions et organiser les déplacements de ses bénéficiaires.

-
-
-
-
- -
-
- -

Trouver et réserver des véhicules pour ses bénéficiaires. -

-
-
-
-
- -
-
- -

Gérer les véhicules et réservations (pour les gestionnaires de flottes) -

-
-
-
-
- -
-
- -

Agenda des dispositifs pour les bénéficiaires (sessions permis, événements, ...) -

-
-
-
-
-
-
-
- -
-

Certains champs de sont pas valides.

- - - - -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/administration/display_group.html b/themes/default/web/layouts/administration/display_group.html deleted file mode 100644 index eece157..0000000 --- a/themes/default/web/layouts/administration/display_group.html +++ /dev/null @@ -1,140 +0,0 @@ -{{define "content"}} -
-
-
- -
-

{{.ViewState.group.Data.name}}

-
-
-
- -
-
-
-
-
-
-
-

- Paramètres de l'organisation

-

Paramètres généraux de l'organisation

-
- {{template "groups_admins" .}} -
-
-
- -
- - -
- -
- - {{template "groups_members" .}} -
-
-
- -
- - -
- -
-
-
-
-
-
-

Modules activés

- -
-
-
-
- -
-
- -

Gestion des bénéficiaires assignés à sa propre organisation. -

-
-
-
-
- -
-
- -

Trouver des solutions et organiser les déplacements de ses bénéficiaires.

-
-
-
-
- -
-
- -

Trouver et réserver des véhicules pour ses bénéficiaires. -

-
-
-
-
- -
-
- -

Gérer les véhicules et réservations (pour les gestionnaires de flottes) -

-
-
-
-
- -
-
- -

Agenda des dispositifs pour les bénéficiaires (sessions permis, événements, ...) -

-
-
-
-
- -
-
- -

Administration générale de la plateforme PARCOURSMOB. Créer, ajouter des organisations et administrateurs. -

-
-
-
-
-
- -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/administration/home.html b/themes/default/web/layouts/administration/home.html deleted file mode 100644 index 372307d..0000000 --- a/themes/default/web/layouts/administration/home.html +++ /dev/null @@ -1,124 +0,0 @@ -{{define "content"}} -
-

Administration

-
- -
-

Statistiques

-
    -
  • -
    - {{.IconSet.Icon "hero:outline/user-group" "h-6 w-6"}} -
    -
    -
    - Bénéficiaires -

    {{len (index .ViewState.groups 0).Members}} bénéficiaires

    -
    -
    -
  • - -
  • -
    - {{.IconSet.Icon "hero:outline/office-building" "h-6 w-6"}} -
    -
    -
    - Organisations -

    {{len .ViewState.groups}} organisations

    -
    -
    -
  • - -
  • -
    - {{.IconSet.Icon "hero:outline/briefcase" "h-6 w-6"}} -
    -
    -
    - Référents -

    1 membres

    -
    -
    -
  • - -
  • -
    - {{.IconSet.Icon "hero:outline/shield-check" "h-6 w-6"}} -
    -
    -
    - Accompagnement -

    0 actions réalisées

    -
    -
    -
  • -
-
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/agenda/create-event.html b/themes/default/web/layouts/agenda/create-event.html deleted file mode 100644 index c3af0c4..0000000 --- a/themes/default/web/layouts/agenda/create-event.html +++ /dev/null @@ -1,217 +0,0 @@ -{{ define "content" }} - -
-

Ajouter à l'agenda

-
- -
-
-
-
-
-

Informations sur le dispositif

-

Informations générales sur le dispositif d'accompagnement à ajouter à l'agenda

-
-
-
-
- - -
-
- - -
-
- -
- -
-
- - {{ $fieldName := "address" }} - {{ template "address_autocomplete" dict "FieldName" $fieldName }} -
-
-
-
- -
-
-
-

Planification

-

Dates et horaires de l'événement

-
-
-
- -
- - Toute la journée - - -
- -
-
-
- - -
-
- - -
- - -
-
- -
-
-
- - -
-
- - -
- - -
-
- - -
- -
-
-
- -
-
-
-

Paramètres

-

Paramètres du dispositift (nombre de places disponibles, etc...)

-
-
-
-
- - -
-
-
-
-
- - - -
-

Certains champs de sont pas valides.

- - - - -
-
-
- -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/agenda/display-event.html b/themes/default/web/layouts/agenda/display-event.html deleted file mode 100644 index fcc31a7..0000000 --- a/themes/default/web/layouts/agenda/display-event.html +++ /dev/null @@ -1,140 +0,0 @@ -{{ define "content" }} -
-
-
-
-

{{.ViewState.event.Name}}

-

- {{if eq .ViewState.event.Startdate .ViewState.event.Enddate}} - Le {{(timeFrom .ViewState.event.Startdate).Format "02/01/2006"}} - {{else}} - Du {{(timeFrom .ViewState.event.Startdate).Format "02/01/2006"}} au {{(timeFrom .ViewState.event.Enddate).Format "02/01/2006"}} - {{end}} -

-
-
-
- -
-
-
-
-
-

Informations

-

Informations sur le dispositif.

-
-
-
- {{if .ViewState.event.Type}} -
-
Type
-
{{.ViewState.event.Type}}
-
- {{end}} - {{if .ViewState.group}} -
-
Structure gestionnaire
-
{{.ViewState.group.Data.name}}
-
- {{end}} - {{if .ViewState.event.MaxSubscribers}} -
-
Total places
-
{{.ViewState.event.MaxSubscribers}}
-
- {{end}} - {{if ne .ViewState.event.MaxSubscribers 0}} -
-
Places restantes
-
{{.ViewState.event.RemainingSubscriptions}}
-
- {{end}} - {{if .ViewState.event.Data.address}} -
-
Adresse
-
{{.ViewState.event.Data.address.properties.label}}
-
- {{end}} - {{if .ViewState.event.Description}} -
-
Description
-
{{.ViewState.event.Description}}
-
- {{end}} -
-
-
-
-
-
-
-

Inscrire un bénéficiaire

- {{if gt .ViewState.event.RemainingSubscriptions 0}} -
-
- - - - -
    - - -
- -
- -
- {{else}} -

Il n'y a plus de place disponible

- {{end}} - {{if .ViewState.subscribers}} -

Inscrits

-
- {{range .ViewState.subscribers}} - - {{end}} -
- {{end}} -
-
-
-
-{{ end }} \ No newline at end of file diff --git a/themes/default/web/layouts/agenda/home.html b/themes/default/web/layouts/agenda/home.html deleted file mode 100644 index 864f81c..0000000 --- a/themes/default/web/layouts/agenda/home.html +++ /dev/null @@ -1,114 +0,0 @@ -{{define "content"}} - - -
-
-
-
-
- - - - - - - - - - - - - - {{range .ViewState.events}} - - - - - - - - - - - - - - - {{end}} - - -
- Type de dispositif - - Structure - - Nom - - Lieu - - Dates - - Places disponibles - - Bénéficiaires positionnés - - Actions -
-
{{.Type}}
-
- -
- {{range .Owners}} - {{if (index $.ViewState.groups .)}} - {{(index $.ViewState.groups .).Data.name}} - {{end}} - {{end}} -
-
-
{{.Name}}
-
-
{{if .Data.address}}{{.Data.address.properties.label}}{{end}}
-
-
- {{if eq .Startdate .Enddate}} - Le {{(timeFrom .Startdate).Format "02/01/2006"}} - {{else}} - Du {{(timeFrom .Startdate).Format "02/01/2006"}}
Au {{(timeFrom .Enddate).Format "02/01/2006"}} - {{end}} -
-
- {{if ne .RemainingSubscriptions 999}} -
{{.RemainingSubscriptions}}
- {{end}} -
-
- {{range .Subscriptions}} - - {{end}} -
-
- Voir -
-
-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/auth/groups.html b/themes/default/web/layouts/auth/groups.html deleted file mode 100644 index e2aad30..0000000 --- a/themes/default/web/layouts/auth/groups.html +++ /dev/null @@ -1,40 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - - - - - - -
-
- {{.IconSet.Icon "coopgo:parcoursmob/monogram" "mx-auto h-16 w-auto"}} -

Connectez vous à votre organisation

-
- -
-
-
-
- Organisations - {{range .ViewState.groups}} -
- -
- {{end}} -
-
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/auth/lost-password-init.html b/themes/default/web/layouts/auth/lost-password-init.html deleted file mode 100644 index 996fcbd..0000000 --- a/themes/default/web/layouts/auth/lost-password-init.html +++ /dev/null @@ -1,40 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - -
- - - -
-
- -

Réinitialiser votre mot de passe PARCOURSMOB

-
- -
-
-
- -
- -
-
- -

Si votre compte existe, vous allez recevoir un mot de passe par email contenant un lien pour réinitialiser votre mot de passe. Celui-ci sera actif pendant 72h.

- -
- -
- - -
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/auth/lost-password-recover-ko.html b/themes/default/web/layouts/auth/lost-password-recover-ko.html deleted file mode 100644 index 90b6928..0000000 --- a/themes/default/web/layouts/auth/lost-password-recover-ko.html +++ /dev/null @@ -1,26 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - - - - -
-
- -

Réinitialiser votre mot de passe PARCOURSMOB

-

Ce lien de réinitialisation n'est plus actif. Vous l'avez déjà utilisé ou il a expiré. Vous pouvez redemander un nouveau mot de passe ou réessayer de vous connecter directement à PARCOURSMOB.

- -
- -
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/auth/lost-password-recover.html b/themes/default/web/layouts/auth/lost-password-recover.html deleted file mode 100644 index 4286fd5..0000000 --- a/themes/default/web/layouts/auth/lost-password-recover.html +++ /dev/null @@ -1,41 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - -
- - - -
-
- -

Réinitialisez votre mot de passe PARCOURSMOB

-
- -
-
- -

Vous avez demandé à réinitialiser votre mot de passe pour {{.ViewState.recover.username}}

- -
- -
- -
-
- -
- -
- - -
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/auth/onboarding-ko.html b/themes/default/web/layouts/auth/onboarding-ko.html deleted file mode 100644 index 12d3972..0000000 --- a/themes/default/web/layouts/auth/onboarding-ko.html +++ /dev/null @@ -1,26 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - - - - -
-
- -

Inscription à PARCOURSMOB

-

Ce lien d'inscription n'est plus actif. Vous avez peut être déjà créé votre compte. Si ce n'est pas le cas, le lien a pu expirer : veuillez en demander un nouveau à l'administrateur PARCOURSMOB de votre structure.

- -
- -
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/auth/onboarding.html b/themes/default/web/layouts/auth/onboarding.html deleted file mode 100644 index 3d18e6c..0000000 --- a/themes/default/web/layouts/auth/onboarding.html +++ /dev/null @@ -1,54 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - -
- - - -
-
- -

Créez votre compte PARCOURSMOB

-
- -
-
-
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- - - -
- -
- - -
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-events.html b/themes/default/web/layouts/beneficiaries/_partials/beneficiary-events.html deleted file mode 100644 index 684622f..0000000 --- a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-events.html +++ /dev/null @@ -1,4 +0,0 @@ -{{define "beneficiary_events"}} -
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-files.html b/themes/default/web/layouts/beneficiaries/_partials/beneficiary-files.html deleted file mode 100644 index b4a3de4..0000000 --- a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-files.html +++ /dev/null @@ -1,135 +0,0 @@ -{{define "beneficiary_files"}} -
- {{if eq (len .ViewState.documents) 0}} -

Aucun document

- {{end}} - - - {{if gt (len .ViewState.documents) 0}} - -
- - - - - - - - - - - {{range .ViewState.documents}} - - - - - - - {{end}} - - - - -
Type - Actions -
-
- {{index $.ViewState.file_types_map .Metadata.Type}} -
-
{{.Metadata.Name}}{{.LastModified.Format "02/01/2006"}} - - - -
-
- - {{end}} - -

Ajouter un document

-
-
-
- - -
-
- - -
-
- -
-
- {{.IconSet.Icon "hero:outline/folder-plus" "mx-auto h-12 w-12 text-gray-400"}} -
- - - - -
-

Jusqu'à 10MB

-

-
-
-
-
- -
- -
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-journeys.html b/themes/default/web/layouts/beneficiaries/_partials/beneficiary-journeys.html deleted file mode 100644 index 160a179..0000000 --- a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-journeys.html +++ /dev/null @@ -1,38 +0,0 @@ -{{define "beneficiary_journeys"}} -
-
- - {{ $departureField := "departure" }} - {{ $departureLabel := "Départ" }} - {{ template "address_autocomplete" dict "FieldName" $departureField "FieldLabel" $departureLabel }} - - {{ $destinationField := "destination" }} - {{ $destinationLabel := "Destination" }} - {{ template "address_autocomplete" dict "FieldName" $destinationField "FieldLabel" $destinationLabel }} - - -
-
- -
- -
-
-
- -
- -
-
- -
- - -
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-notes.html b/themes/default/web/layouts/beneficiaries/_partials/beneficiary-notes.html deleted file mode 100644 index a793a17..0000000 --- a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-notes.html +++ /dev/null @@ -1,108 +0,0 @@ -{{define "beneficiary_notes"}} -
-
    - -
-
- -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-vehicles.html b/themes/default/web/layouts/beneficiaries/_partials/beneficiary-vehicles.html deleted file mode 100644 index 897ade0..0000000 --- a/themes/default/web/layouts/beneficiaries/_partials/beneficiary-vehicles.html +++ /dev/null @@ -1,39 +0,0 @@ -{{define "beneficiary_vehicles"}} -
- {{if .ViewState.bookings}} -

Mises à disposition réalisées

-
    - {{range .ViewState.bookings}} -
  • Du {{(timeFrom .Startdate).Format "02/01/2006"}} au {{(timeFrom .Enddate).Format "02/01/2006"}}
  • - {{end}} -
- {{end}} -

Réserver un véhicule

-
- -
-
- -
- -
-
-
- -
- -
-
- -
- {{template "vehicle_type_select" .}} - - -
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/beneficiaries/create.html b/themes/default/web/layouts/beneficiaries/create.html deleted file mode 100644 index 36ba876..0000000 --- a/themes/default/web/layouts/beneficiaries/create.html +++ /dev/null @@ -1,184 +0,0 @@ -{{define "content"}} - -
-

Ajouter un bénéficiaire

-
- -
-
-
-
-
-

Informations obligatoires

-

Informations personnelles sur le bénéficiaire obligatoires - pour créer son profil dans PARCOURSMOB

-
-
-
-
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
-
-
-
-
- -
-
-
-

Informations optionnelles

-

Autres informations de profil optionnelles

-
-
-
- -
- - -
- -
- -
- -
-
- - - - -
-
-
-
-
-
-
-

Paramètres

-

Paramètres liés au bénéficiaire, utiles pour exploiter les fonctionnalités de PARCOURSMOB

-
-
- - {{ $fieldName := "address" }} - {{ template "address_autocomplete" dict "FieldName" $fieldName }} - - - -
-
-
- -
-

Certains champs de sont pas valides.

- - - - -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/beneficiaries/display.html b/themes/default/web/layouts/beneficiaries/display.html deleted file mode 100644 index 6829e5a..0000000 --- a/themes/default/web/layouts/beneficiaries/display.html +++ /dev/null @@ -1,152 +0,0 @@ -{{define "content"}} -
- -
-
-
-
- - -
-
-
-

{{.ViewState.beneficiary.Data.first_name}} - {{.ViewState.beneficiary.Data.last_name}}

-

{{if .ViewState.beneficiary.Metadata.created}}Ajouté le par - Conseiller 1{{end}} -

-
-
-
- - -
-
- -
-
-
-
-
-

- Informations personnelles

-

Informations générales sur le bénéficiaire.

-
-
-
- {{if .ViewState.beneficiary.Data.email}} -
-
Email
-
{{.ViewState.beneficiary.Data.email}}
-
- {{end}} - {{if .ViewState.beneficiary.Data.phone_number}} -
-
Téléphone
-
{{.ViewState.beneficiary.Data.phone_number}}
-
- {{end}} - {{if .ViewState.beneficiary.Data.birthdate}} -
-
Date de naissance
-
{{(timeFrom .ViewState.beneficiary.Data.birthdate).Format - "02/01/2006"}}
-
- {{end}} - {{if and .ViewState.beneficiary.Data.gender (ne .ViewState.beneficiary.Data.gender "0")}} -
-
Genre
-
{{genderISO5218 .ViewState.beneficiary.Data.gender}}
-
- {{end}} - {{if .ViewState.beneficiary.Data.address}} -
-
Adresse
-
{{.ViewState.beneficiary.Data.address.properties.label}}
-
- {{end}} -
-
-
-
- -
-
-
-
-
- - -
- -
- -
{{template "beneficiary_journeys" .}}
-
{{template "beneficiary_vehicles" .}}
-
{{template "beneficiary_events" .}}
-
{{template "beneficiary_files" .}}
-
{{template "beneficiary_notes" .}}
-
-
-
-
- -
-
-

Actions réalisées

-

Aucune action réalisée pour le moment

-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/beneficiaries/list.html b/themes/default/web/layouts/beneficiaries/list.html deleted file mode 100644 index da8bbad..0000000 --- a/themes/default/web/layouts/beneficiaries/list.html +++ /dev/null @@ -1,166 +0,0 @@ -{{define "content"}} - -
-
-
-
-
- - - - - - - - - - - - - - - -
- Nom - - Téléphone - - Adresse - - Labels - - Modifier -
-
- - -
-
-
- -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/beneficiaries/update.html b/themes/default/web/layouts/beneficiaries/update.html deleted file mode 100644 index da1b4c9..0000000 --- a/themes/default/web/layouts/beneficiaries/update.html +++ /dev/null @@ -1,184 +0,0 @@ -{{define "content"}} - -
-

Modifier un bénéficiaire

-
- -
-
-
-
-
-

Informations obligatoires

-

Informations personnelles sur le bénéficiaire obligatoires - pour créer son profil dans PARCOURSMOB

-
-
-
-
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
-
-
-
-
- -
-
-
-

Informations optionnelles

-

Autres informations de profil optionnelles

-
-
-
- -
- - -
- -
- -
- -
-
- - - - -
-
-
-
-
-
-
-

Paramètres

-

Paramètres liés au bénéficiaire, utiles pour exploiter les fonctionnalités de PARCOURSMOB

-
-
- - {{ $fieldName := "address" }} - {{ template "address_autocomplete" (dict "FieldName" $fieldName "Address" .ViewState.Data.address) }} - - -
-
-
- -
-

Certains champs de sont pas valides.

- - - - -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/dashboard/_partials/agenda-widget.html b/themes/default/web/layouts/dashboard/_partials/agenda-widget.html deleted file mode 100644 index c63ce4b..0000000 --- a/themes/default/web/layouts/dashboard/_partials/agenda-widget.html +++ /dev/null @@ -1,29 +0,0 @@ -{{define "agenda_widget"}} -
-
-
-

Prochains dispositifs

-
- -
- - - - - -
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/dashboard/_partials/beneficiaries-widget.html b/themes/default/web/layouts/dashboard/_partials/beneficiaries-widget.html deleted file mode 100644 index dcf45cc..0000000 --- a/themes/default/web/layouts/dashboard/_partials/beneficiaries-widget.html +++ /dev/null @@ -1,31 +0,0 @@ -{{define "beneficiaries_widget"}} -
-
-
-

Bénéficiaires

-

Derniers bénéficiaires ajoutés

-
- -
- - - - - -
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/dashboard/dashboard.html b/themes/default/web/layouts/dashboard/dashboard.html deleted file mode 100644 index 10c1e7f..0000000 --- a/themes/default/web/layouts/dashboard/dashboard.html +++ /dev/null @@ -1,77 +0,0 @@ -{{define "content"}} - -
-

Tableau de bord

-
-
-

Statistiques de votre organisation

-
    -
  • -
    - {{.IconSet.Icon "hero:outline/user-group" "h-6 w-6"}} -
    -
    -
    - Bénéficiaires -

    {{.ViewState.beneficiaries.count}} bénéficiaires

    -
    -
    -
  • - -
  • -
    - {{.IconSet.Icon "hero:outline/shield-check" "h-6 w-6"}} -
    -
    -
    - Accompagnement -

    0 actions réalisées

    -
    -
    -
  • - -
  • -
    - {{.IconSet.Icon "hero:outline/office-building" "h-6 w-6"}} -
    -
    -
    - Groupes -

    0 groupes créés

    -
    -
    -
  • - -
  • -
    - {{.IconSet.Icon "hero:outline/briefcase" "h-6 w-6"}} -
    -
    -
    - Référents -

    {{.ViewState.count_members}} membres

    -
    -
    -
  • -
-
- -
-
- - - {{template "beneficiaries_widget" .ViewState.beneficiaries}} - {{template "agenda_widget" .ViewState.events}} - - -
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/directory/home.html b/themes/default/web/layouts/directory/home.html deleted file mode 100644 index da927c1..0000000 --- a/themes/default/web/layouts/directory/home.html +++ /dev/null @@ -1,23 +0,0 @@ -{{define "content"}} -
-

Répertoire des solutions

- -
-
-

-
-
- -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/group/settings.html b/themes/default/web/layouts/group/settings.html deleted file mode 100644 index c693377..0000000 --- a/themes/default/web/layouts/group/settings.html +++ /dev/null @@ -1,129 +0,0 @@ -{{define "content"}} -
-
-
- -
-

{{.ViewState.group.Data.name}}

-
-
-
- -
-
-
-
-
-
-
-

- Paramètres de l'organisation

-

Paramètres généraux de l'organisation

-
- {{template "groups_members" .}} - -
-
-
- -
- - -
- -
- - {{template "groups_admins" .}} -
-
-
-
-
-

Modules activés

- -
-
-
-
- -
-
- -

Gestion des bénéficiaires assignés à sa propre organisation. -

-
-
-
-
- -
-
- -

Trouver des solutions et organiser les déplacements de ses bénéficiaires.

-
-
-
-
- -
-
- -

Trouver et réserver des véhicules pour ses bénéficiaires. -

-
-
-
-
- -
-
- -

Gérer les véhicules et réservations (pour les gestionnaires de flottes) -

-
-
-
-
- -
-
- -

Agenda des dispositifs pour les bénéficiaires (sessions permis, événements, ...) -

-
-
-
-
- -
-
- -

Administration générale de la plateforme PARCOURSMOB. Créer, ajouter des organisations et administrateurs. -

-
-
-
-
-
- -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/journeys/_partials/journeys-all.html b/themes/default/web/layouts/journeys/_partials/journeys-all.html deleted file mode 100644 index c340373..0000000 --- a/themes/default/web/layouts/journeys/_partials/journeys-all.html +++ /dev/null @@ -1,105 +0,0 @@ -{{define "journeys_all"}} -
- {{ if gt (len .ViewState.carpools) 0}} - {{$carpool := (index .ViewState.carpools 0)}} -
-
- {{.IconSet.Icon "tabler-icons:car" "h-6 w-6 inline-flex mr-4"}} Covoiturage - {{if $carpool.days.monday}} - entre {{$carpool.outward.monday.mintime}} et {{$carpool.outward.monday.maxtime}} - {{else if $carpool.days.tuesday}} - entre {{$carpool.outward.tuesday.mintime}} et {{$carpool.outward.tuesday.maxtime}} - {{else if $carpool.days.wednesday}} - entre {{$carpool.outward.wednesday.mintime}} et {{$carpool.outward.wednesday.maxtime}} - {{else if $carpool.days.thursday}} - entre {{$carpool.outward.thursday.mintime}} et {{$carpool.outward.thursday.maxtime}} - {{else if $carpool.days.friday}} - entre {{$carpool.outward.friday.mintime}} et {{$carpool.outward.friday.maxtime}} - {{else if $carpool.days.saturday}} - entre {{$carpool.outward.saturday.mintime}} et {{$carpool.outward.saturday.maxtime}} - {{else if $carpool.days.sunday}} - entre {{$carpool.outward.sunday.mintime}} et {{$carpool.outward.sunday.maxtime}} - {{end}} - (Temps trajet : {{divideFloat64 $carpool.duration 60.0 | printf "%.0f"}} Minutes) -
-
- - RIDYGO - -
-
- -
- - {{$carpool.from.address}}, {{$carpool.from.city}} - - {{$.IconSet.Icon "hero:outline/chevron-right" "h-3 w-3 stroke-gray-800 m-2"}} - - {{$carpool.to.address}}, {{$carpool.to.city}} - -
- -
- Conducteur : - - {{$carpool.driver.alias}} - -
- -
- -
- - - {{end}} - - {{ if gt (len .ViewState.journeys.Journeys) 0}} -
-
- {{.IconSet.Icon "tabler-icons:bus" "h-6 w-6 inline-flex mr-4"}} - {{(timeFrom (index .ViewState.journeys.Journeys 0).Departure).Format "15:04"}} - {{(timeFrom (index .ViewState.journeys.Journeys 0).Arrival).Format "15:04"}} - ({{(index .ViewState.journeys.Journeys 0).Duration.Minutes | printf "%.0f"}} Minutes) -
-
-
-
- {{$firstwalk := true}} - {{range (index .ViewState.journeys.Journeys 0).Sections}} - {{if eq .Type "street_network"}} - - {{$.IconSet.Icon "tabler-icons:walk" "h-4 w-4 stroke-gray-800"}} - - {{if $firstwalk}} - {{$firstwalk = false}} - {{$.IconSet.Icon "hero:outline/chevron-right" "h-3 w-3 stroke-gray-800 m-2"}} - {{end}} - {{end}} - {{if eq .Type "public_transport"}} - - {{if eq .Display.Network "Antibes - Envibus"}}Envibus{{else}}{{.Display.Network}}{{end}} Ligne {{.Display.Label}} - - {{$.IconSet.Icon "hero:outline/chevron-right" "h-3 w-3 stroke-gray-800 m-2"}} - {{end}} - {{end}} -
- -
-
- -
- - {{end}} - - -
-
- {{.IconSet.Icon "tabler-icons:car" "h-6 w-6 inline-flex mr-4"}} - {{len .ViewState.vehicles}} véhicules partagés disponibles ce jour là et la semaine suivante -
-
-
- -
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/journeys/_partials/journeys-carpool.html b/themes/default/web/layouts/journeys/_partials/journeys-carpool.html deleted file mode 100644 index 1a0a198..0000000 --- a/themes/default/web/layouts/journeys/_partials/journeys-carpool.html +++ /dev/null @@ -1,56 +0,0 @@ -{{define "journeys_carpool"}} - -{{ if eq (len .ViewState.carpools) 0}} -

Aucun covoiturage disponible pour ce trajet.

-{{end}} - -{{$first := true}} -{{range .ViewState.carpools}} -{{if $first}} -{{$first = false}} -
-{{else}} -
-{{end}} -
- {{if .days.monday}} -
Départ entre {{.outward.monday.mintime}} et {{.outward.monday.maxtime}}
- {{else if .days.tuesday}} -
Départ entre {{.outward.tuesday.mintime}} et {{.outward.tuesday.maxtime}}
- {{else if .days.wednesday}} -
Départ entre {{.outward.wednesday.mintime}} et {{.outward.wednesday.maxtime}}
- {{else if .days.thursday}} -
Départ entre {{.outward.thursday.mintime}} et {{.outward.thursday.maxtime}}
- {{else if .days.friday}} -
Départ entre {{.outward.friday.mintime}} et {{.outward.friday.maxtime}}
- {{else if .days.saturday}} -
Départ entre {{.outward.saturday.mintime}} et {{.outward.saturday.maxtime}}
- {{else if .days.sunday}} -
Départ entre {{.outward.sunday.mintime}} et {{.outward.sunday.maxtime}}
- {{end}} -
{{divideFloat64 .duration 60.0 | printf "%.0f"}} Minutes
-
-
- - {{.from.address}}, {{.from.city}} - - {{$.IconSet.Icon "hero:outline/chevron-right" "h-3 w-3 stroke-gray-800 m-2"}} - - {{.to.address}}, {{.to.city}} - -
- -
- Avec - - {{.driver.alias}} - - - sur l'application - - RIDYGO - -
-
-{{end}} -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/journeys/_partials/journeys-others.html b/themes/default/web/layouts/journeys/_partials/journeys-others.html deleted file mode 100644 index 39f2176..0000000 --- a/themes/default/web/layouts/journeys/_partials/journeys-others.html +++ /dev/null @@ -1,38 +0,0 @@ -{{define "journeys_others"}} - - -
-
- {{.IconSet.Icon "tabler-icons:car" "h-6 w-6 inline-flex mr-4"}} - {{len .ViewState.vehicles}} véhicules partagés disponibles ce jour là et la semaine suivante -
-
-
-
-
- - - - - - - - - - - {{range .ViewState.vehicles}} - - - - - - - {{end}} - -
VéhiculeNuméroGestionnaireLieu
{{.Data.name}}{{.Data.licence_plate}}COOPGO{{if .Data.address}}{{.Data.address.properties.label}}{{end}}
-
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/journeys/_partials/journeys-public-transit.html b/themes/default/web/layouts/journeys/_partials/journeys-public-transit.html deleted file mode 100644 index 59bbfab..0000000 --- a/themes/default/web/layouts/journeys/_partials/journeys-public-transit.html +++ /dev/null @@ -1,81 +0,0 @@ -{{define "journeys_public_transit"}} - -{{ if eq (len .ViewState.journeys.Journeys) 0}} -

Aucun transport en commun pour ce trajet.

-{{end}} - -{{$first := true}} -{{range .ViewState.journeys.Journeys}} -{{if $first}} -{{$first = false}} -
-{{else}} -
-{{end}} -
-
{{(timeFrom .Departure).Format "15:04"}} - {{(timeFrom .Arrival).Format "15:04"}}
-
{{.Duration.Minutes | printf "%.0f"}} Minutes
-
-
- - -
-
-{{end}} -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/journeys/search.html b/themes/default/web/layouts/journeys/search.html deleted file mode 100644 index bbe6f8f..0000000 --- a/themes/default/web/layouts/journeys/search.html +++ /dev/null @@ -1,120 +0,0 @@ -{{define "content"}} -
-

Déplacements

- - -
-
-
-

Chercher une solution

-
-
- - {{ $departureField := "departure" }} - {{ $departureLabel := "Départ" }} - {{ $departure := .ViewState.departure }} - {{ template "address_autocomplete" dict "FieldName" $departureField "FieldLabel" $departureLabel "Address" $departure }} - - {{ $destinationField := "destination" }} - {{ $destinationLabel := "Destination" }} - {{ $destination := .ViewState.destination }} - {{ template "address_autocomplete" dict "FieldName" $destinationField "FieldLabel" $destinationLabel "Address" $destination }} - - -
-
- -
- -
-
-
- -
- -
-
- -
- - -
-
-
-
-
- {{if .ViewState.searched}} -
-
-
-
-
- - -
- -
- -
{{template "journeys_all" .}}
-
{{template "journeys_carpool" .}}
-
{{template "journeys_public_transit" .}}
-
{{template "journeys_others" .}}
-
-
-
- {{end}} -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/layout.html b/themes/default/web/layouts/layout.html deleted file mode 100644 index 980f5c5..0000000 --- a/themes/default/web/layouts/layout.html +++ /dev/null @@ -1,178 +0,0 @@ -{{define "main"}} - - - - - PARCOURSMOB - - - - - - - - - - - -
-
- - -
- -
-
- {{ template "content" . }} -
-
-
-
- - - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/support/support.html b/themes/default/web/layouts/support/support.html deleted file mode 100644 index 224bd63..0000000 --- a/themes/default/web/layouts/support/support.html +++ /dev/null @@ -1,27 +0,0 @@ -{{define "content"}} - -
-

Demande de support technique

-
-

- Le support technique PARCOURSMOB est ouvert les jours ouvrés de 9h à 18h. Vous pouvez également nous joindre par email à support@parcoursmob.fr, par exemple pour nous envoyez des copies d'écran du problème que vous rencontrez. -

-
- -
-
- - - -
-
- -
-
- -
-
-
- {{end}} diff --git a/themes/default/web/layouts/vehicles/booking-display.html b/themes/default/web/layouts/vehicles/booking-display.html deleted file mode 100644 index 21d19c3..0000000 --- a/themes/default/web/layouts/vehicles/booking-display.html +++ /dev/null @@ -1,201 +0,0 @@ -{{define "content"}} -
-

Réservation de véhicule

- -
-
-

-
- -
-
-
-
-

Bénéficiaire

-
-
-
-
-
-
Nom
-
- {{.ViewState.beneficiary.Data.first_name}} - {{.ViewState.beneficiary.Data.last_name}}
-
-
-
Email
-
- {{.ViewState.beneficiary.Data.email}}
-
-
-
Téléphone
-
- {{.ViewState.beneficiary.Data.phone_number}}
-
- {{if .ViewState.Data.birthdate}} -
-
Date de naissance
-
{{(timeFrom - .ViewState.Data.birthdate).Format - "02/01/2006"}}
-
- {{end}} - {{if and .ViewState.Data.gender (ne .ViewState.Data.gender "0")}} -
-
Date de naissance
-
{{genderISO5218 - .ViewState.Data.gender}}
-
- {{end}} - {{if .ViewState.Data.address}} -
-
Adresse
-
- {{.ViewState.Data.address.properties.label}}
-
- {{end}} -
-
-
-
-
-
-
-
-
-
-
-

Réservation

-

Informations utiles sur la réservation.

-
-
- - -
-
-
-
-
-
-
-
-
Gestionnaire
-
- {{.ViewState.group.Data.name}} -
-
- {{if .ViewState.booking.Data.booked_by}} -
- -
Réservé par
-
- {{if .ViewState.booking.Data.booked_by.user}} - - - {{.ViewState.booking.Data.booked_by.user.display_name}} - - {{end}} -
-
- {{end}} -
-
Véhicule
-
- {{.ViewState.vehicle.Data.name}}
-
-
-
Immatriculation
-
- {{.ViewState.vehicle.Data.licence_plate}}
-
-
-
Type
-
- Voiture
-
- {{if .ViewState.vehicle.Data.address}} -
-
Lieu de récupération
-
{{.ViewState.vehicle.Data.address.properties.label}}
-
- {{end}} -
-
Date de récupération
-
{{(timeFrom .ViewState.booking.Startdate).Format - "02/01/2006"}}
-
-
-
Date de retour
-
{{(timeFrom .ViewState.booking.Enddate).Format - "02/01/2006"}}
-
-
-

Documents

- {{if eq (len .ViewState.documents) 0}} -

Aucun document

- {{end}} - - - {{if gt (len .ViewState.documents) 0}} - -
- - - - - - - - - - - {{range .ViewState.documents}} - - - - - - - {{end}} - - - - -
Type - Actions -
-
- {{index $.ViewState.file_types_map .Metadata.Type}} -
-
-

{{.Metadata.Name}}

-
{{.LastModified.Format "02/01/2006"}} - - - -
-
- - {{end}} -
-
-
-
-
-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles/bookings-list.html b/themes/default/web/layouts/vehicles/bookings-list.html deleted file mode 100644 index 5cc979c..0000000 --- a/themes/default/web/layouts/vehicles/bookings-list.html +++ /dev/null @@ -1,68 +0,0 @@ -{{define "content"}} -
-

Réservations

-
- -
-
-
-
-
- - - - - - - - - - - - - {{range .ViewState.bookings}} - - - - - - - - - {{end}} - - -
- Type - - Beneficiaire - - Dates - - Actions -
-
Voiture
-
-
-
-
Du {{(timeFrom .Startdate).Format "02/01/2006"}} au {{(timeFrom .Enddate).Format "02/01/2006"}}
-
- Voir -
-
-
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles/search.html b/themes/default/web/layouts/vehicles/search.html deleted file mode 100644 index b9d4845..0000000 --- a/themes/default/web/layouts/vehicles/search.html +++ /dev/null @@ -1,237 +0,0 @@ -{{define "content"}} -
-

Véhicules partagés

- - - -
-
-
-

Chercher un véhicule

-
-
- -
- - -
- - - - -
    - - - - -
-
-
- - - -
-
- -
- -
-
-
- -
- -
-
- -
- {{template "vehicle_type_select" .}} - - -
-
-
-
-
- {{if .ViewState.searched}} -
-

Véhicules disponibles

-
-
-
- - - - - - - - - - - - {{range .ViewState.search.vehicles}} - - - - - - - - {{end}} - -
VéhiculeNuméroGestionnaireLieu - Réserver -
{{.Data.name}}{{.Data.licence_plate}}COOPGO{{if .Data.address}}{{.Data.address.properties.label}}{{end}} - - Réserver pour {{$.ViewState.search.beneficiary.Data.first_name}} {{$.ViewState.search.beneficiary.Data.last_name}} - -
-
-
-
-
- {{end}} -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/_partials/bookings-list.html b/themes/default/web/layouts/vehicles_management/_partials/bookings-list.html deleted file mode 100644 index 77a477d..0000000 --- a/themes/default/web/layouts/vehicles_management/_partials/bookings-list.html +++ /dev/null @@ -1,77 +0,0 @@ -{{define "bookings_list"}} -
-
-
-
-
- - - - - - - - - - - - - {{range .ViewState.bookings}} - - - - - - - - - {{end}} - -
- Statut - - Type - - Numéro (Immat / Bicycode) - - Beneficiaire - - Dates - - Actions -
- {{if eq .Status 1 }} - - A venir - - {{end}} - {{if eq .Status 0 }} - - En cours - - {{end}} - {{if eq .Status -1 }} - - Terminé - - {{end}} - -
{{ (index $.ViewState.vehicles_map .Vehicleid).Type }}
-
-
{{ (index $.ViewState.vehicles_map .Vehicleid).Data.licence_plate }}
-
-
-
-
Du {{(timeFrom .Startdate).Format "02/01/2006"}} au {{(timeFrom .Enddate).Format "02/01/2006"}}
-
- Voir -
-
-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/_partials/calendar.html b/themes/default/web/layouts/vehicles_management/_partials/calendar.html deleted file mode 100644 index 5a6dbb5..0000000 --- a/themes/default/web/layouts/vehicles_management/_partials/calendar.html +++ /dev/null @@ -1,259 +0,0 @@ -{{define "calendar"}} -
-

Août 2022

- - -
-
-
L
-
M
-
M
-
J
-
V
-
S
-
D
-
-
-
- - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/_partials/vehicle-type-select.html b/themes/default/web/layouts/vehicles_management/_partials/vehicle-type-select.html deleted file mode 100644 index eaadfa0..0000000 --- a/themes/default/web/layouts/vehicles_management/_partials/vehicle-type-select.html +++ /dev/null @@ -1,105 +0,0 @@ -{{define "vehicle_type_select"}} -
- - -
- - -
    - -
  • - - Voiture - - - -
  • -
  • - - Voiture sans permis - - - -
  • -
  • - - Scooter - - - -
  • -
  • - - Trotinette - - - -
  • -
  • - - Vélo électrique - - - -
  • - - -
-
-
- -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/_partials/vehicles-list.html b/themes/default/web/layouts/vehicles_management/_partials/vehicles-list.html deleted file mode 100644 index c8840ae..0000000 --- a/themes/default/web/layouts/vehicles_management/_partials/vehicles-list.html +++ /dev/null @@ -1,56 +0,0 @@ -{{define "vehicles_list"}} -
-
-
-
-
- - - - - - - - - - - - {{range .ViewState.vehicles}} - - - - - - - - {{end}} - -
- Numéro (Immat / Bicycode) - - Type - - Modèle - - Lieu - - Actions -
-
{{.Data.licence_plate}}
-
-
{{if eq .Type "electric_bike"}}Vélo électrique{{else}}Voiture{{end}}
-
-
{{.Data.name}}
-
-
{{if .Data.address}}{{.Data.address.properties.label}}{{end}}
-
- Voir -
-
-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/booking-display.html b/themes/default/web/layouts/vehicles_management/booking-display.html deleted file mode 100644 index 2a767fd..0000000 --- a/themes/default/web/layouts/vehicles_management/booking-display.html +++ /dev/null @@ -1,276 +0,0 @@ -{{define "content"}} -
-

Réservation de véhicule

- -
-
-

-
- -
-
-
-
-

Bénéficiaire

-
-
-
-
-
-
Nom
-
- {{.ViewState.beneficiary.Data.first_name}} - {{.ViewState.beneficiary.Data.last_name}}
-
-
-
Email
-
- {{.ViewState.beneficiary.Data.email}}
-
-
-
Téléphone
-
- {{.ViewState.beneficiary.Data.phone_number}}
-
- {{if .ViewState.Data.birthdate}} -
-
Date de naissance
-
{{(timeFrom - .ViewState.Data.birthdate).Format - "02/01/2006"}}
-
- {{end}} - {{if and .ViewState.Data.gender (ne .ViewState.Data.gender "0")}} -
-
Date de naissance
-
{{genderISO5218 - .ViewState.Data.gender}}
-
- {{end}} - {{if .ViewState.Data.address}} -
-
Adresse
-
- {{.ViewState.Data.address.properties.label}} -
-
- {{end}} -
-
-
-
-
-
-
-
-
-
-
-

Réservation

-

Informations utiles sur la réservation.

-
-
- - - -
-
-
-
-
-
-
- - {{if .ViewState.booking.Data.booked_by}} - -
-
Prescripteur
-
- {{if .ViewState.booking.Data.booked_by.user}} - - - {{.ViewState.booking.Data.booked_by.user.display_name}} - - {{end}} - {{if .ViewState.booking.Data.booked_by.group}}{{.ViewState.booking.Data.booked_by.group.name}}{{end}} -
-
- {{end}} -
-
Véhicule
-
- {{.ViewState.vehicle.Data.name}}
-
-
-
Immatriculation
-
- {{.ViewState.vehicle.Data.licence_plate}}
-
-
-
Type
-
- Voiture
-
- {{if .ViewState.vehicle.Data.address}} -
-
Lieu de récupération
-
{{.ViewState.vehicle.Data.address.properties.label}}
-
- {{end}} -
-
Date de récupération
-
-
-
{{(timeFrom .ViewState.booking.Startdate).Format "02/01/2006"}}
- Modifier -
-
-
- -
- -
-
-
-
-
Date de retour
-
-
-
{{(timeFrom .ViewState.booking.Enddate).Format "02/01/2006"}}
- Modifier -
-
-
- -
- -
-
-
-
-
Indisponible à partir du
-
-
-
{{(timeFrom .ViewState.booking.Unavailablefrom).Format "02/01/2006"}}
- Modifier -
-
-
- -
- -
-
-
-
-
Sera à nouveau disponible le
-
-
-
{{(timeFrom .ViewState.booking.Unavailableto).Format "02/01/2006"}}
- Modifier -
-
-
- -
- -
-
-
-

Documents

- {{if eq (len .ViewState.documents) 0}} -

Aucun document

- {{end}} - - - {{if gt (len .ViewState.documents) 0}} - -
- - - - - - - - - - - {{range .ViewState.documents}} - - - - - - - {{end}} - - - - -
Type - Actions -
-
- {{index $.ViewState.file_types_map .Metadata.Type}} -
-
-

{{.Metadata.Name}}

-
{{.LastModified.Format "02/01/2006"}} - - - -
-
- - {{end}} -
-
-
-
-
-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/bookings-list.html b/themes/default/web/layouts/vehicles_management/bookings-list.html deleted file mode 100644 index 6bd90c0..0000000 --- a/themes/default/web/layouts/vehicles_management/bookings-list.html +++ /dev/null @@ -1,25 +0,0 @@ -{{define "content"}} -
-

Historique des réservations de véhicules

- - - -
- -{{template "bookings_list" .}} - -{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/fleet-add.html b/themes/default/web/layouts/vehicles_management/fleet-add.html deleted file mode 100644 index 55ae759..0000000 --- a/themes/default/web/layouts/vehicles_management/fleet-add.html +++ /dev/null @@ -1,106 +0,0 @@ -{{define "content"}} - - -
-

Ajouter un véhicule

-
- -
- -
-
-
-

Identité du véhicule

-

Informations de base sur le véhicule

-
-
-
-
- - -
-
- {{template "vehicle_type_select" .}} -
-
- - -
-
-
-
-
-
-
-
-

Informations pratiques

-

Informations pratiques pour la réservation

-
-
- {{ $fieldName := "address" }} - {{ template "address_autocomplete" dict "FieldName" $fieldName }} - -
- -
- -
-
-
-
-
- -
-

Certains champs de sont pas valides.

- - - - -
- -
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/fleet-display.html b/themes/default/web/layouts/vehicles_management/fleet-display.html deleted file mode 100644 index d786100..0000000 --- a/themes/default/web/layouts/vehicles_management/fleet-display.html +++ /dev/null @@ -1,90 +0,0 @@ -{{define "content"}} -
-
-
- -
-

{{.ViewState.vehicle.Data.name}}

-
-
-
- - -
-
-
-
-
-
-
-

Informations

-

Informations sur le véhicule

-
-
-
- {{if .ViewState.vehicle.Data.type}} -
-
Type
-
{{if eq .ViewState.vehicle.Data.type "electric_bike"}}Vélo électrique{{else}}Voiture{{end}}
-
- {{else}} -
-
Type
-
Voiture
-
- {{end}} - {{if .ViewState.vehicle.Data.licence_plate}} -
-
Numéro (Immatriculation, bicycode, ...)
-
{{.ViewState.vehicle.Data.licence_plate}}
-
- {{end}} - {{if .ViewState.vehicle.Data.address}} -
-
Lieu
-
{{.ViewState.vehicle.Data.address.properties.label}}
-
- {{end}} - {{if .ViewState.vehicle.Data.informations}} -
-
Informations pratiques pour le bénéficiaire
-
{{.ViewState.vehicle.Data.informations}}
-
- {{end}} - -
-
-
-
-
-
-

Réservations à venir

- {{if eq (len .ViewState.vehicle.Bookings) 0}} -

Aucune réservation à venir

- {{end}} - - {{template "calendar" .}} -
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/fleet-update.html b/themes/default/web/layouts/vehicles_management/fleet-update.html deleted file mode 100644 index 88b6770..0000000 --- a/themes/default/web/layouts/vehicles_management/fleet-update.html +++ /dev/null @@ -1,106 +0,0 @@ -{{define "content"}} - - -
-

Modifier un véhicule

-
- -
-
-
-
-
-

Identité du véhicule

-

Informations de base sur le véhicule

-
-
-
-
- - -
-
- {{template "vehicle_type_select" .}} -
-
- - -
-
-
-
-
-
-
-
-

Informations pratiques

-

Informations pratiques pour la réservation

-
-
- {{ $fieldName := "address" }} - {{ template "address_autocomplete" (dict "FieldName" $fieldName "Address" .ViewState.vehicle.Data.address) }} - -
- -
- -
-
-
-
-
- -
-

Certains champs de sont pas valides.

- - - - -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/default/web/layouts/vehicles_management/overview.html b/themes/default/web/layouts/vehicles_management/overview.html deleted file mode 100644 index 60fd3ab..0000000 --- a/themes/default/web/layouts/vehicles_management/overview.html +++ /dev/null @@ -1,45 +0,0 @@ -{{define "content"}} -
-

Gestion des véhicules et réservations

- - - -
- -{{template "bookings_list" .}} - - - -{{template "vehicles_list" .}} - -{{end}} \ No newline at end of file diff --git a/themes/default/web/public/css/main.css b/themes/default/web/public/css/main.css deleted file mode 100644 index 868f308..0000000 --- a/themes/default/web/public/css/main.css +++ /dev/null @@ -1,2889 +0,0 @@ -/* -! tailwindcss v3.1.6 | MIT License | https://tailwindcss.com -*/ - -/* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; - /* 1 */ - border-width: 0; - /* 2 */ - border-style: solid; - /* 2 */ - border-color: #e5e7eb; - /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -*/ - -html { - line-height: 1.5; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -moz-tab-size: 4; - /* 3 */ - -o-tab-size: 4; - tab-size: 4; - /* 3 */ - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - /* 4 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; - /* 1 */ - line-height: inherit; - /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; - /* 1 */ - color: inherit; - /* 2 */ - border-top-width: 1px; - /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font family by default. -2. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - /* 1 */ - font-size: 1em; - /* 2 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; - /* 1 */ - border-color: inherit; - /* 2 */ - border-collapse: collapse; - /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - font-weight: inherit; - /* 1 */ - line-height: inherit; - /* 1 */ - color: inherit; - /* 1 */ - margin: 0; - /* 2 */ - padding: 0; - /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -[type='button'], -[type='reset'], -[type='submit'] { - -webkit-appearance: button; - /* 1 */ - background-color: transparent; - /* 2 */ - background-image: none; - /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -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; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -input:-ms-input-placeholder, textarea:-ms-input-placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -input::placeholder, -textarea::placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ - -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; - /* 1 */ - vertical-align: middle; - /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - border-radius: 0px; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - line-height: 1.5rem; - --tw-shadow: 0 0 #0000; -} - -[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --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); - border-color: #2563eb; -} - -input::-moz-placeholder, textarea::-moz-placeholder { - color: #6b7280; - opacity: 1; -} - -input:-ms-input-placeholder, textarea:-ms-input-placeholder { - color: #6b7280; - opacity: 1; -} - -input::placeholder,textarea::placeholder { - color: #6b7280; - opacity: 1; -} - -::-webkit-datetime-edit-fields-wrapper { - padding: 0; -} - -::-webkit-date-and-time-value { - min-height: 1.5em; -} - -::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field { - padding-top: 0; - padding-bottom: 0; -} - -select { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); - background-position: right 0.5rem center; - background-repeat: no-repeat; - background-size: 1.5em 1.5em; - padding-right: 2.5rem; - -webkit-print-color-adjust: exact; - color-adjust: exact; - print-color-adjust: exact; -} - -[multiple] { - background-image: initial; - background-position: initial; - background-repeat: unset; - background-size: initial; - padding-right: 0.75rem; - -webkit-print-color-adjust: unset; - color-adjust: unset; - print-color-adjust: unset; -} - -[type='checkbox'],[type='radio'] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - padding: 0; - -webkit-print-color-adjust: exact; - color-adjust: exact; - print-color-adjust: exact; - display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - flex-shrink: 0; - height: 1rem; - width: 1rem; - color: #2563eb; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - --tw-shadow: 0 0 #0000; -} - -[type='checkbox'] { - border-radius: 0px; -} - -[type='radio'] { - border-radius: 100%; -} - -[type='checkbox']:focus,[type='radio']:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 2px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --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); -} - -[type='checkbox']:checked,[type='radio']:checked { - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -[type='checkbox']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); -} - -[type='radio']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); -} - -[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='checkbox']:indeterminate { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='file'] { - background: unset; - border-color: inherit; - border-width: 0; - border-radius: 0; - padding: 0; - font-size: unset; - line-height: inherit; -} - -[type='file']:focus { - outline: 1px solid ButtonText; - outline: 1px auto -webkit-focus-ring-color; -} - -html { - font-family: Bitter, serif; -} - -*, ::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-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 / 0.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: ; -} - -::-webkit-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-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 / 0.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: ; -} - -::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-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 / 0.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: ; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.pointer-events-none { - pointer-events: none; -} - -.visible { - visibility: visible; -} - -.fixed { - position: fixed; -} - -.absolute { - position: absolute; -} - -.relative { - position: relative; -} - -.sticky { - position: -webkit-sticky; - position: sticky; -} - -.inset-0 { - top: 0px; - right: 0px; - bottom: 0px; - left: 0px; -} - -.inset-y-0 { - top: 0px; - bottom: 0px; -} - -.top-0 { - top: 0px; -} - -.right-0 { - right: 0px; -} - -.left-0 { - left: 0px; -} - -.top-4 { - top: 1rem; -} - -.left-4 { - left: 1rem; -} - -.z-40 { - z-index: 40; -} - -.z-10 { - z-index: 10; -} - -.z-0 { - z-index: 0; -} - -.col-span-6 { - grid-column: span 6 / span 6; -} - -.col-span-1 { - grid-column: span 1 / span 1; -} - -.col-span-3 { - grid-column: span 3 / span 3; -} - -.col-span-5 { - grid-column: span 5 / span 5; -} - -.m-2 { - margin: 0.5rem; -} - -.m-4 { - margin: 1rem; -} - -.-mx-4 { - margin-left: -1rem; - margin-right: -1rem; -} - -.mx-auto { - margin-left: auto; - margin-right: auto; -} - -.-my-2 { - margin-top: -0.5rem; - margin-bottom: -0.5rem; -} - -.my-4 { - margin-top: 1rem; - margin-bottom: 1rem; -} - -.my-8 { - margin-top: 2rem; - margin-bottom: 2rem; -} - -.-my-1\.5 { - margin-top: -0.375rem; - margin-bottom: -0.375rem; -} - -.-my-1 { - margin-top: -0.25rem; - margin-bottom: -0.25rem; -} - -.-mr-12 { - margin-right: -3rem; -} - -.ml-1 { - margin-left: 0.25rem; -} - -.mt-5 { - margin-top: 1.25rem; -} - -.ml-4 { - margin-left: 1rem; -} - -.ml-3 { - margin-left: 0.75rem; -} - -.mt-2 { - margin-top: 0.5rem; -} - -.mt-1 { - margin-top: 0.25rem; -} - -.mt-10 { - margin-top: 2.5rem; -} - -.mr-2 { - margin-right: 0.5rem; -} - -.mr-4 { - margin-right: 1rem; -} - -.mt-8 { - margin-top: 2rem; -} - -.mt-4 { - margin-top: 1rem; -} - -.mt-6 { - margin-top: 1.5rem; -} - -.mt-3 { - margin-top: 0.75rem; -} - -.mr-3 { - margin-right: 0.75rem; -} - -.mr-1\.5 { - margin-right: 0.375rem; -} - -.mr-1 { - margin-right: 0.25rem; -} - -.ml-5 { - margin-left: 1.25rem; -} - -.ml-2 { - margin-left: 0.5rem; -} - -.mb-4 { - margin-bottom: 1rem; -} - -.ml-6 { - margin-left: 1.5rem; -} - -.-mb-px { - margin-bottom: -1px; -} - -.-ml-4 { - margin-left: -1rem; -} - -.-mt-4 { - margin-top: -1rem; -} - -.mb-10 { - margin-bottom: 2.5rem; -} - -.-mt-2 { - margin-top: -0.5rem; -} - -.-mb-8 { - margin-bottom: -2rem; -} - -.-ml-px { - margin-left: -1px; -} - -.ml-16 { - margin-left: 4rem; -} - -.-mr-1\.5 { - margin-right: -0.375rem; -} - -.-mr-1 { - margin-right: -0.25rem; -} - -.block { - display: block; -} - -.inline-block { - display: inline-block; -} - -.inline { - display: inline; -} - -.flex { - display: flex; -} - -.inline-flex { - display: inline-flex; -} - -.table { - display: table; -} - -.table-cell { - display: table-cell; -} - -.flow-root { - display: flow-root; -} - -.grid { - display: grid; -} - -.hidden { - display: none; -} - -.h-full { - height: 100%; -} - -.h-10 { - height: 2.5rem; -} - -.h-6 { - height: 1.5rem; -} - -.h-8 { - height: 2rem; -} - -.h-0 { - height: 0px; -} - -.h-16 { - height: 4rem; -} - -.h-5 { - height: 1.25rem; -} - -.h-4 { - height: 1rem; -} - -.h-12 { - height: 3rem; -} - -.h-3 { - height: 0.75rem; -} - -.max-h-60 { - max-height: 15rem; -} - -.min-h-full { - min-height: 100%; -} - -.w-full { - width: 100%; -} - -.w-10 { - width: 2.5rem; -} - -.w-6 { - width: 1.5rem; -} - -.w-auto { - width: auto; -} - -.w-14 { - width: 3.5rem; -} - -.w-5 { - width: 1.25rem; -} - -.w-48 { - width: 12rem; -} - -.w-8 { - width: 2rem; -} - -.w-4 { - width: 1rem; -} - -.w-16 { - width: 4rem; -} - -.w-11 { - width: 2.75rem; -} - -.w-12 { - width: 3rem; -} - -.w-3 { - width: 0.75rem; -} - -.w-0\.5 { - width: 0.125rem; -} - -.w-0 { - width: 0px; -} - -.w-20 { - width: 5rem; -} - -.min-w-full { - min-width: 100%; -} - -.min-w-0 { - min-width: 0px; -} - -.max-w-xs { - max-width: 20rem; -} - -.max-w-7xl { - max-width: 80rem; -} - -.max-w-3xl { - max-width: 48rem; -} - -.max-w-2xl { - max-width: 42rem; -} - -.max-w-lg { - max-width: 32rem; -} - -.max-w-sm { - max-width: 24rem; -} - -.max-w-full { - max-width: 100%; -} - -.flex-1 { - flex: 1 1 0%; -} - -.flex-auto { - flex: 1 1 auto; -} - -.flex-none { - flex: none; -} - -.flex-shrink-0 { - flex-shrink: 0; -} - -.shrink { - flex-shrink: 1; -} - -.flex-grow { - flex-grow: 1; -} - -.table-fixed { - table-layout: fixed; -} - -.origin-top-right { - transform-origin: top right; -} - -.-translate-x-full { - --tw-translate-x: -100%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-x-0 { - --tw-translate-x: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-x-5 { - --tw-translate-x: 1.25rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-y-4 { - --tw-translate-y: 1rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-y-0 { - --tw-translate-y: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.scale-95 { - --tw-scale-x: .95; - --tw-scale-y: .95; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.scale-100 { - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.cursor-default { - cursor: default; -} - -.cursor-pointer { - cursor: pointer; -} - -.select-none { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.resize-none { - resize: none; -} - -.appearance-none { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); -} - -.grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); -} - -.grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); -} - -.grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); -} - -.grid-cols-7 { - grid-template-columns: repeat(7, minmax(0, 1fr)); -} - -.flex-row { - flex-direction: row; -} - -.flex-col { - flex-direction: column; -} - -.flex-col-reverse { - flex-direction: column-reverse; -} - -.flex-wrap { - flex-wrap: wrap; -} - -.items-start { - align-items: flex-start; -} - -.items-end { - align-items: flex-end; -} - -.items-center { - align-items: center; -} - -.justify-end { - justify-content: flex-end; -} - -.justify-center { - justify-content: center; -} - -.justify-between { - justify-content: space-between; -} - -.gap-6 { - gap: 1.5rem; -} - -.gap-5 { - gap: 1.25rem; -} - -.gap-4 { - gap: 1rem; -} - -.gap-x-4 { - -moz-column-gap: 1rem; - column-gap: 1rem; -} - -.gap-y-8 { - row-gap: 2rem; -} - -.space-y-1 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); -} - -.space-y-6 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1.5rem * 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)); -} - -.space-x-5 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1.25rem * var(--tw-space-x-reverse)); - margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse))); -} - -.-space-x-1 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(-0.25rem * var(--tw-space-x-reverse)); - margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse))); -} - -.-space-y-px > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(-1px * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(-1px * var(--tw-space-y-reverse)); -} - -.space-x-8 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(2rem * var(--tw-space-x-reverse)); - margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse))); -} - -.-space-x-px > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(-1px * var(--tw-space-x-reverse)); - margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse))); -} - -.space-x-3 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.75rem * var(--tw-space-x-reverse)); - margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-y-8 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(2rem * var(--tw-space-y-reverse)); -} - -.space-x-2 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.5rem * var(--tw-space-x-reverse)); - margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-x-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1rem * var(--tw-space-x-reverse)); - margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-y-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 1; -} - -.divide-y > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); -} - -.divide-gray-300 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-divide-opacity)); -} - -.divide-gray-200 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-divide-opacity)); -} - -.overflow-auto { - overflow: auto; -} - -.overflow-hidden { - overflow: hidden; -} - -.overflow-x-auto { - overflow-x: auto; -} - -.overflow-y-auto { - overflow-y: auto; -} - -.truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.whitespace-nowrap { - white-space: nowrap; -} - -.rounded-full { - border-radius: 9999px; -} - -.rounded-2xl { - border-radius: 1rem; -} - -.rounded-md { - border-radius: 0.375rem; -} - -.rounded-co { - border-radius: 40%; -} - -.rounded-xl { - border-radius: 0.75rem; -} - -.rounded { - border-radius: 0.25rem; -} - -.rounded-3xl { - border-radius: 1.5rem; -} - -.rounded-lg { - border-radius: 0.5rem; -} - -.rounded-l-3xl { - border-top-left-radius: 1.5rem; - border-bottom-left-radius: 1.5rem; -} - -.rounded-r-3xl { - border-top-right-radius: 1.5rem; - border-bottom-right-radius: 1.5rem; -} - -.rounded-l-2xl { - border-top-left-radius: 1rem; - border-bottom-left-radius: 1rem; -} - -.rounded-r-2xl { - border-top-right-radius: 1rem; - border-bottom-right-radius: 1rem; -} - -.rounded-l-md { - border-top-left-radius: 0.375rem; - border-bottom-left-radius: 0.375rem; -} - -.rounded-r-md { - border-top-right-radius: 0.375rem; - border-bottom-right-radius: 0.375rem; -} - -.rounded-b-2xl { - border-bottom-right-radius: 1rem; - border-bottom-left-radius: 1rem; -} - -.border { - border-width: 1px; -} - -.border-2 { - border-width: 2px; -} - -.border-0 { - border-width: 0px; -} - -.border-r { - border-right-width: 1px; -} - -.border-t { - border-top-width: 1px; -} - -.border-b { - border-bottom-width: 1px; -} - -.border-b-2 { - border-bottom-width: 2px; -} - -.border-l-0 { - border-left-width: 0px; -} - -.border-t-2 { - border-top-width: 2px; -} - -.border-dashed { - border-style: dashed; -} - -.border-gray-200 { - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity)); -} - -.border-transparent { - border-color: transparent; -} - -.border-gray-300 { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} - -.border-co-red { - --tw-border-opacity: 1; - border-color: rgb(255 19 0 / var(--tw-border-opacity)); -} - -.border-indigo-500 { - --tw-border-opacity: 1; - border-color: rgb(99 102 241 / var(--tw-border-opacity)); -} - -.border-co-blue { - --tw-border-opacity: 1; - border-color: rgb(36 56 135 / var(--tw-border-opacity)); -} - -.bg-gray-100 { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} - -.bg-gray-600 { - --tw-bg-opacity: 1; - background-color: rgb(75 85 99 / var(--tw-bg-opacity)); -} - -.bg-co-blue { - --tw-bg-opacity: 1; - background-color: rgb(36 56 135 / var(--tw-bg-opacity)); -} - -.bg-white { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} - -.bg-co-green { - --tw-bg-opacity: 1; - background-color: rgb(108 193 31 / var(--tw-bg-opacity)); -} - -.bg-co-red { - --tw-bg-opacity: 1; - background-color: rgb(255 19 0 / var(--tw-bg-opacity)); -} - -.bg-co-yellow { - --tw-bg-opacity: 1; - background-color: rgb(255 221 0 / var(--tw-bg-opacity)); -} - -.bg-gray-200 { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); -} - -.bg-gray-50 { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity)); -} - -.bg-green-100 { - --tw-bg-opacity: 1; - background-color: rgb(220 252 231 / var(--tw-bg-opacity)); -} - -.bg-indigo-50 { - --tw-bg-opacity: 1; - background-color: rgb(238 242 255 / var(--tw-bg-opacity)); -} - -.bg-indigo-600 { - --tw-bg-opacity: 1; - background-color: rgb(79 70 229 / var(--tw-bg-opacity)); -} - -.bg-gray-900 { - --tw-bg-opacity: 1; - background-color: rgb(17 24 39 / var(--tw-bg-opacity)); -} - -.bg-opacity-75 { - --tw-bg-opacity: 0.75; -} - -.bg-opacity-30 { - --tw-bg-opacity: 0.3; -} - -.stroke-gray-800 { - stroke: #1f2937; -} - -.stroke-white { - stroke: #fff; -} - -.p-1 { - padding: 0.25rem; -} - -.p-12 { - padding: 3rem; -} - -.p-2 { - padding: 0.5rem; -} - -.p-4 { - padding: 1rem; -} - -.p-0 { - padding: 0px; -} - -.p-1\.5 { - padding: 0.375rem; -} - -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} - -.py-2 { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.py-1 { - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} - -.py-6 { - padding-top: 1.5rem; - padding-bottom: 1.5rem; -} - -.py-3\.5 { - padding-top: 0.875rem; - padding-bottom: 0.875rem; -} - -.py-3 { - padding-top: 0.75rem; - padding-bottom: 0.75rem; -} - -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.py-4 { - padding-top: 1rem; - padding-bottom: 1rem; -} - -.px-2 { - padding-left: 0.5rem; - padding-right: 0.5rem; -} - -.py-5 { - padding-top: 1.25rem; - padding-bottom: 1.25rem; -} - -.py-10 { - padding-top: 2.5rem; - padding-bottom: 2.5rem; -} - -.px-1 { - padding-left: 0.25rem; - padding-right: 0.25rem; -} - -.py-12 { - padding-top: 3rem; - padding-bottom: 3rem; -} - -.py-8 { - padding-top: 2rem; - padding-bottom: 2rem; -} - -.px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; -} - -.pt-5 { - padding-top: 1.25rem; -} - -.pb-4 { - padding-bottom: 1rem; -} - -.pt-2 { - padding-top: 0.5rem; -} - -.pl-8 { - padding-left: 2rem; -} - -.pr-3 { - padding-right: 0.75rem; -} - -.pl-3 { - padding-left: 0.75rem; -} - -.pr-9 { - padding-right: 2.25rem; -} - -.pl-4 { - padding-left: 1rem; -} - -.pr-4 { - padding-right: 1rem; -} - -.pr-2 { - padding-right: 0.5rem; -} - -.pr-12 { - padding-right: 3rem; -} - -.pl-1 { - padding-left: 0.25rem; -} - -.pr-10 { - padding-right: 2.5rem; -} - -.pb-2 { - padding-bottom: 0.5rem; -} - -.pt-8 { - padding-top: 2rem; -} - -.pb-6 { - padding-bottom: 1.5rem; -} - -.pt-4 { - padding-top: 1rem; -} - -.pb-8 { - padding-bottom: 2rem; -} - -.pt-16 { - padding-top: 4rem; -} - -.pt-1\.5 { - padding-top: 0.375rem; -} - -.pt-1 { - padding-top: 0.25rem; -} - -.pl-1\.5 { - padding-left: 0.375rem; -} - -.text-left { - text-align: left; -} - -.text-center { - text-align: center; -} - -.text-right { - text-align: right; -} - -.align-middle { - vertical-align: middle; -} - -.text-sm { - font-size: 0.875rem; - line-height: 1.25rem; -} - -.text-base { - font-size: 1rem; - line-height: 1.5rem; -} - -.text-xs { - font-size: 0.75rem; - line-height: 1rem; -} - -.text-2xl { - font-size: 1.5rem; - line-height: 2rem; -} - -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - -.text-xl { - font-size: 1.25rem; - line-height: 1.75rem; -} - -.text-3xl { - font-size: 1.875rem; - line-height: 2.25rem; -} - -.font-medium { - font-weight: 500; -} - -.font-normal { - font-weight: 400; -} - -.font-semibold { - font-weight: 600; -} - -.font-bold { - font-weight: 700; -} - -.font-extrabold { - font-weight: 800; -} - -.uppercase { - text-transform: uppercase; -} - -.capitalize { - text-transform: capitalize; -} - -.leading-4 { - line-height: 1rem; -} - -.leading-6 { - line-height: 1.5rem; -} - -.leading-5 { - line-height: 1.25rem; -} - -.tracking-wide { - letter-spacing: 0.025em; -} - -.tracking-tight { - letter-spacing: -0.025em; -} - -.text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} - -.text-gray-400 { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity)); -} - -.text-gray-900 { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity)); -} - -.text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.text-gray-700 { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} - -.text-co-blue { - --tw-text-opacity: 1; - color: rgb(36 56 135 / var(--tw-text-opacity)); -} - -.text-co-red { - --tw-text-opacity: 1; - color: rgb(255 19 0 / var(--tw-text-opacity)); -} - -.text-indigo-600 { - --tw-text-opacity: 1; - color: rgb(79 70 229 / var(--tw-text-opacity)); -} - -.text-green-800 { - --tw-text-opacity: 1; - color: rgb(22 101 52 / var(--tw-text-opacity)); -} - -.text-gray-600 { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); -} - -.text-co-green { - --tw-text-opacity: 1; - color: rgb(108 193 31 / var(--tw-text-opacity)); -} - -.text-black { - --tw-text-opacity: 1; - color: rgb(0 0 0 / var(--tw-text-opacity)); -} - -.placeholder-gray-500::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} - -.placeholder-gray-500:-ms-input-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} - -.placeholder-gray-500::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} - -.placeholder-gray-400::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} - -.placeholder-gray-400:-ms-input-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; -} - -.shadow { - --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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-lg { - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 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-sm { - --tw-shadow: 0 1px 2px 0 rgb(0 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); -} - -.shadow-inner { - --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: inset 0 2px 4px 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); -} - -.shadow-xl { - --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.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-2 { - --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); -} - -.ring-0 { - --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); -} - -.ring-8 { - --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(8px + 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-black { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity)); -} - -.ring-gray-300 { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity)); -} - -.ring-white { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity)); -} - -.ring-opacity-5 { - --tw-ring-opacity: 0.05; -} - -.blur { - --tw-blur: blur(8px); - 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); -} - -.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-opacity { - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition { - transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -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-text-decoration-color, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-colors { - transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-all { - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.duration-300 { - transition-duration: 300ms; -} - -.duration-100 { - transition-duration: 100ms; -} - -.duration-75 { - transition-duration: 75ms; -} - -.duration-200 { - transition-duration: 200ms; -} - -.ease-linear { - transition-timing-function: linear; -} - -.ease-in-out { - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -.ease-out { - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - -.ease-in { - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} - -@font-face { - font-family: "Manometer"; - - src: url("https://coopgo.fr/fonts/manometer.woff2") format("woff2"), url("/fonts/manometer.woff") format("woff"); -} - -@font-face { - font-family: "Bitter"; - - font-style: normal; - - src: url("https://coopgo.fr/fonts/Bitter-Regular.woff") format("woff"); -} - -.focus-within\:text-gray-600:focus-within { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); -} - -.focus-within\:outline-none:focus-within { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.focus-within\:ring-2:focus-within { - --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-within\:ring-co-blue:focus-within { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(36 56 135 / var(--tw-ring-opacity)); -} - -.focus-within\:ring-offset-2:focus-within { - --tw-ring-offset-width: 2px; -} - -.hover\:border-gray-300:hover { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} - -.hover\:bg-gray-50:hover { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity)); -} - -.hover\:bg-gray-200:hover { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); -} - -.hover\:bg-white:hover { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} - -.hover\:bg-co-blue:hover { - --tw-bg-opacity: 1; - background-color: rgb(36 56 135 / 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-blue-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(29 78 216 / var(--tw-bg-opacity)); -} - -.hover\:bg-opacity-5:hover { - --tw-bg-opacity: 0.05; -} - -.hover\:text-gray-600:hover { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); -} - -.hover\:text-co-blue:hover { - --tw-text-opacity: 1; - color: rgb(36 56 135 / var(--tw-text-opacity)); -} - -.hover\:text-white:hover { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.hover\:text-gray-700:hover { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} - -.hover\:text-gray-900:hover { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity)); -} - -.hover\:text-gray-500:hover { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} - -.hover\:text-inherit:hover { - color: inherit; -} - -.focus\:border-transparent:focus { - border-color: transparent; -} - -.focus\:border-co-blue:focus { - --tw-border-opacity: 1; - border-color: rgb(36 56 135 / var(--tw-border-opacity)); -} - -.focus\:border-indigo-500:focus { - --tw-border-opacity: 1; - border-color: rgb(99 102 241 / var(--tw-border-opacity)); -} - -.focus\:border-blue-500:focus { - --tw-border-opacity: 1; - border-color: rgb(59 130 246 / var(--tw-border-opacity)); -} - -.focus\:placeholder-gray-400:focus::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} - -.focus\:placeholder-gray-400:focus:-ms-input-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} - -.focus\:placeholder-gray-400:focus::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} - -.focus\:outline-none:focus { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.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-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-1: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(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); -} - -.focus\:ring-inset:focus { - --tw-ring-inset: inset; -} - -.focus\:ring-white:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity)); -} - -.focus\:ring-co-blue:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(36 56 135 / var(--tw-ring-opacity)); -} - -.focus\:ring-indigo-500:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity)); -} - -.focus\:ring-co-red:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(255 19 0 / 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-offset-2:focus { - --tw-ring-offset-width: 2px; -} - -.focus\:ring-offset-gray-100:focus { - --tw-ring-offset-color: #f3f4f6; -} - -.disabled\:cursor-not-allowed:disabled { - cursor: not-allowed; -} - -.disabled\:opacity-30:disabled { - opacity: 0.3; -} - -.group:hover .group-hover\:text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} - -@media (prefers-color-scheme: dark) { - .dark\:border-gray-600 { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-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)); - } -} - -@media (min-width: 640px) { - .sm\:col-span-3 { - grid-column: span 3 / span 3; - } - - .sm\:col-span-6 { - grid-column: span 6 / span 6; - } - - .sm\:col-span-1 { - grid-column: span 1 / span 1; - } - - .sm\:col-span-2 { - grid-column: span 2 / span 2; - } - - .sm\:col-span-4 { - grid-column: span 4 / span 4; - } - - .sm\:-mx-6 { - margin-left: -1.5rem; - margin-right: -1.5rem; - } - - .sm\:mx-auto { - margin-left: auto; - margin-right: auto; - } - - .sm\:my-8 { - margin-top: 2rem; - margin-bottom: 2rem; - } - - .sm\:mt-0 { - margin-top: 0px; - } - - .sm\:ml-16 { - margin-left: 4rem; - } - - .sm\:ml-5 { - margin-left: 1.25rem; - } - - .sm\:mt-5 { - margin-top: 1.25rem; - } - - .sm\:mt-6 { - margin-top: 1.5rem; - } - - .sm\:block { - display: block; - } - - .sm\:flex { - display: flex; - } - - .sm\:grid { - display: grid; - } - - .sm\:hidden { - display: none; - } - - .sm\:w-auto { - width: auto; - } - - .sm\:w-full { - width: 100%; - } - - .sm\:max-w-xs { - max-width: 20rem; - } - - .sm\:max-w-md { - max-width: 28rem; - } - - .sm\:max-w-sm { - max-width: 24rem; - } - - .sm\:flex-auto { - flex: 1 1 auto; - } - - .sm\:flex-none { - flex: none; - } - - .sm\:flex-1 { - flex: 1 1 0%; - } - - .sm\:translate-y-0 { - --tw-translate-y: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:scale-95 { - --tw-scale-x: .95; - --tw-scale-y: .95; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:scale-100 { - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .sm\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .sm\:flex-row-reverse { - flex-direction: row-reverse; - } - - .sm\:flex-nowrap { - flex-wrap: nowrap; - } - - .sm\:items-center { - align-items: center; - } - - .sm\:justify-end { - justify-content: flex-end; - } - - .sm\:justify-between { - justify-content: space-between; - } - - .sm\:gap-6 { - gap: 1.5rem; - } - - .sm\:gap-4 { - gap: 1rem; - } - - .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0px * var(--tw-space-y-reverse)); - } - - .sm\:space-x-3 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.75rem * var(--tw-space-x-reverse)); - margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); - } - - .sm\:space-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 1; - } - - .sm\:divide-y > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); - } - - .sm\:divide-gray-200 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-divide-opacity)); - } - - .sm\:overflow-hidden { - overflow: hidden; - } - - .sm\:rounded-lg { - border-radius: 0.5rem; - } - - .sm\:rounded-3xl { - border-radius: 1.5rem; - } - - .sm\:rounded-2xl { - border-radius: 1rem; - } - - .sm\:p-6 { - padding: 1.5rem; - } - - .sm\:p-0 { - padding: 0px; - } - - .sm\:px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - .sm\:px-10 { - padding-left: 2.5rem; - padding-right: 2.5rem; - } - - .sm\:py-5 { - padding-top: 1.25rem; - padding-bottom: 1.25rem; - } - - .sm\:pl-6 { - padding-left: 1.5rem; - } - - .sm\:pr-6 { - padding-right: 1.5rem; - } - - .sm\:pb-5 { - padding-bottom: 1.25rem; - } - - .sm\:text-sm { - font-size: 0.875rem; - line-height: 1.25rem; - } -} - -@media (min-width: 768px) { - .md\:fixed { - position: fixed; - } - - .md\:inset-y-0 { - top: 0px; - bottom: 0px; - } - - .md\:col-span-1 { - grid-column: span 1 / span 1; - } - - .md\:col-span-2 { - grid-column: span 2 / span 2; - } - - .md\:mx-0 { - margin-left: 0px; - margin-right: 0px; - } - - .md\:ml-0 { - margin-left: 0px; - } - - .md\:ml-6 { - margin-left: 1.5rem; - } - - .md\:mt-0 { - margin-top: 0px; - } - - .md\:flex { - display: flex; - } - - .md\:grid { - display: grid; - } - - .md\:hidden { - display: none; - } - - .md\:w-64 { - width: 16rem; - } - - .md\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .md\:grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); - } - - .md\:flex-row { - flex-direction: row; - } - - .md\:flex-col { - flex-direction: column; - } - - .md\:items-center { - align-items: center; - } - - .md\:justify-between { - justify-content: space-between; - } - - .md\:gap-6 { - gap: 1.5rem; - } - - .md\:space-x-5 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1.25rem * var(--tw-space-x-reverse)); - margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse))); - } - - .md\:space-x-3 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.75rem * var(--tw-space-x-reverse)); - margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); - } - - .md\:rounded-lg { - border-radius: 0.5rem; - } - - .md\:px-8 { - padding-left: 2rem; - padding-right: 2rem; - } - - .md\:px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - .md\:pl-64 { - padding-left: 16rem; - } - - .md\:pl-4 { - padding-left: 1rem; - } - - .md\:pr-6 { - padding-right: 1.5rem; - } - - .md\:pl-0 { - padding-left: 0px; - } - - .md\:pr-0 { - padding-right: 0px; - } - - .md\:text-right { - text-align: right; - } -} - -@media (min-width: 1024px) { - .lg\:col-span-2 { - grid-column: span 2 / span 2; - } - - .lg\:col-span-1 { - grid-column: span 1 / span 1; - } - - .lg\:col-start-1 { - grid-column-start: 1; - } - - .lg\:col-start-3 { - grid-column-start: 3; - } - - .lg\:col-start-2 { - grid-column-start: 2; - } - - .lg\:-mx-8 { - margin-left: -2rem; - margin-right: -2rem; - } - - .lg\:table-cell { - display: table-cell; - } - - .lg\:max-w-7xl { - max-width: 80rem; - } - - .lg\:grid-flow-col-dense { - grid-auto-flow: column dense; - } - - .lg\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .lg\:grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); - } - - .lg\:px-8 { - padding-left: 2rem; - padding-right: 2rem; - } -} \ No newline at end of file diff --git a/themes/default/web/public/images/main_logo.svg b/themes/default/web/public/images/main_logo.svg deleted file mode 100644 index d267bdd..0000000 --- a/themes/default/web/public/images/main_logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/themes/default/web/public/images/parcoursmob_logo_bluered.svg b/themes/default/web/public/images/parcoursmob_logo_bluered.svg deleted file mode 100644 index 092d2ef..0000000 --- a/themes/default/web/public/images/parcoursmob_logo_bluered.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/themes/default/web/public/images/parcoursmob_logo_whitered.svg b/themes/default/web/public/images/parcoursmob_logo_whitered.svg deleted file mode 100644 index d267bdd..0000000 --- a/themes/default/web/public/images/parcoursmob_logo_whitered.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/themes/default/web/public/js/main.js b/themes/default/web/public/js/main.js deleted file mode 100644 index c1c927c..0000000 --- a/themes/default/web/public/js/main.js +++ /dev/null @@ -1,2995 +0,0 @@ -(() => { - var __create = Object.create; - var __defProp = Object.defineProperty; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __getProtoOf = Object.getPrototypeOf; - var __hasOwnProp = Object.prototype.hasOwnProperty; - var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - }; - var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; - }; - var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod - )); - - // ../../../../../../node_modules/@kingshott/iodine/dist/iodine.min.js - var require_iodine_min = __commonJS({ - "../../../../../../node_modules/@kingshott/iodine/dist/iodine.min.js"(exports, module) { - var e = class { - constructor() { - this.locale = void 0, this.messages = { after: "The date must be after: '[PARAM]'", afterOrEqual: "The date must be after or equal to: '[PARAM]'", array: "[FIELD] must be an array", before: "The date must be before: '[PARAM]'", beforeOrEqual: "The date must be before or equal to: '[PARAM]'", boolean: "[FIELD] must be true or false", date: "[FIELD] must be a date", different: "[FIELD] must be different to '[PARAM]'", endsWith: "[FIELD] must end with '[PARAM]'", email: "[FIELD] must be a valid email address", falsy: "[FIELD] must be a falsy value (false, 'false', 0 or '0')", in: "[FIELD] must be one of the following options: [PARAM]", integer: "[FIELD] must be an integer", json: "[FIELD] must be a parsable JSON object string", max: "[FIELD] must be less than or equal to [PARAM]", min: "[FIELD] must be greater than or equal to [PARAM]", maxLength: "[FIELD] must not be greater than '[PARAM]' in character length", minLength: "[FIELD] must not be less than '[PARAM]' character length", notIn: "[FIELD] must not be one of the following options: [PARAM]", numeric: "[FIELD] must be numeric", optional: "[FIELD] is optional", regexMatch: "[FIELD] must satisify the regular expression: [PARAM]", required: "[FIELD] must be present", same: "[FIELD] must be '[PARAM]'", startsWith: "[FIELD] must start with '[PARAM]'", string: "[FIELD] must be a string", truthy: "[FIELD] must be a truthy value (true, 'true', 1 or '1')", url: "[FIELD] must be a valid url", uuid: "[FIELD] must be a valid UUID" }; - } - _compare(e2, t, r, s = false) { - return !!this.assertDate(e2) && !(!this.assertDate(t) && !this.assertInteger(t)) && (t = "number" == typeof t ? t : t.getTime(), "less" === r && s ? e2.getTime() <= t : "less" !== r || s ? "more" === r && s ? e2.getTime() >= t : "more" !== r || s ? void 0 : e2.getTime() > t : e2.getTime() < t); - } - _error(e2, t) { - let { param: r, field: s } = "object" == typeof t ? t : { param: t, field: void 0 }; - const a = e2.split(":"); - let i = a.shift(); - r = r || a.join(":"), ["after", "afterOrEqual", "before", "beforeOrEqual"].includes(i) && (r = new Date(parseInt(r)).toLocaleTimeString(this.locale, { year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "numeric", hour12: false })); - let n = [null, void 0, ""].includes(r) ? this.messages[i] : this.messages[i].replace("[PARAM]", r); - return [null, void 0, ""].includes(s) ? n.replace("[FIELD]", this.default_field_name ?? "Value") : n.replace("[FIELD]", s); - } - _missing() { - return { valid: false, rule: "None", error: "Rules exist, but no value was provided to check" }; - } - _prepare(e2, t = []) { - return t.length ? "optional" === t[0] && this.assertOptional(e2) ? [] : t.filter((e3) => "optional" !== e3).map((e3) => "string" == typeof e3 ? [e3, this._title(e3.split(":").shift()), e3.split(":").slice(1).join(":")] : [`${e3.rule}:${e3.param}`, this._title(e3.rule), e3.param]) : []; - } - _title(e2) { - return `${e2[0].toUpperCase()}${e2.slice(1)}`; - } - _validate(e2, t) { - for (let r in t = this._prepare(e2, t)) - if (!this[`assert${t[r][1]}`].apply(this, [e2, t[r][2]])) - return { valid: false, rule: t[r][0], error: this._error(t[r][0]) }; - return { valid: true, rule: "", error: "" }; - } - assert(e2, t) { - if (Array.isArray(t)) - return this._validate(e2, t); - let r = Object.keys(t), s = { valid: true, fields: {} }; - for (let a = 0; a < r.length; a++) - s.fields[r[a]] = e2.hasOwnProperty(r[a]) ? this._validate(e2[r[a]], t[r[a]]) : this._missing(), s.fields[r[a]].valid || (s.valid = false); - return s; - } - assertAfter(e2, t) { - return this._compare(e2, t, "more", false); - } - assertAfterOrEqual(e2, t) { - return this._compare(e2, t, "more", true); - } - assertArray(e2) { - return Array.isArray(e2); - } - assertBefore(e2, t) { - return this._compare(e2, t, "less", false); - } - assertBeforeOrEqual(e2, t) { - return this._compare(e2, t, "less", true); - } - assertBoolean(e2) { - return [true, false].includes(e2); - } - assertDate(e2) { - return e2 && "[object Date]" === Object.prototype.toString.call(e2) && !isNaN(e2); - } - assertDifferent(e2, t) { - return e2 != t; - } - assertEndsWith(e2, t) { - return this.assertString(e2) && e2.endsWith(t); - } - assertEmail(e2) { - return new RegExp("^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$").test(String(e2).toLowerCase()); - } - assertFalsy(e2) { - return [0, "0", false, "false"].includes(e2); - } - assertIn(e2, t) { - return ("string" == typeof t ? t.split(",") : t).includes(e2); - } - assertInteger(e2) { - return Number.isInteger(e2) && parseInt(e2).toString() === e2.toString(); - } - assertJson(e2) { - try { - return "object" == typeof JSON.parse(e2); - } catch (e3) { - return false; - } - } - assertMax(e2, t) { - return parseFloat(e2) <= t; - } - assertMin(e2, t) { - return parseFloat(e2) >= t; - } - assertMaxLength(e2, t) { - return "string" == typeof e2 && e2.length <= t; - } - assertMinLength(e2, t) { - return "string" == typeof e2 && e2.length >= t; - } - assertNotIn(e2, t) { - return !this.assertIn(e2, t); - } - assertNumeric(e2) { - return !isNaN(parseFloat(e2)) && isFinite(e2); - } - assertOptional(e2) { - return [null, void 0, ""].includes(e2); - } - assertRegexMatch(e2, t) { - return new RegExp(t).test(String(e2)); - } - assertRequired(e2) { - return !this.assertOptional(e2); - } - assertSame(e2, t) { - return e2 == t; - } - assertStartsWith(e2, t) { - return this.assertString(e2) && e2.startsWith(t); - } - assertString(e2) { - return "string" == typeof e2; - } - assertTruthy(e2) { - return [1, "1", true, "true"].includes(e2); - } - assertUrl(e2) { - return new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$").test(String(e2).toLowerCase()); - } - assertUuid(e2) { - return new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$").test(String(e2).toLowerCase()); - } - rule(t, r) { - e.prototype[`assert${this._title(t)}`] = r; - } - setErrorMessages(e2) { - this.messages = e2; - } - setErrorMessage(e2, t) { - this.messages[e2] = t; - } - setLocale(e2) { - this.locale = e2; - } - setDefaultFieldName(e2) { - this.default_field_name = e2; - } - }; - "undefined" != typeof window && (window.Iodine = new e()), module.exports = e; - } - }); - - // assets/js/main.js - var import_iodine = __toESM(require_iodine_min()); - - // ../../../../../../node_modules/alpinejs/dist/module.esm.js - var flushPending = false; - var flushing = false; - var queue = []; - function scheduler(callback) { - queueJob(callback); - } - function queueJob(job) { - if (!queue.includes(job)) - queue.push(job); - queueFlush(); - } - function dequeueJob(job) { - let index = queue.indexOf(job); - if (index !== -1) - queue.splice(index, 1); - } - function queueFlush() { - if (!flushing && !flushPending) { - flushPending = true; - queueMicrotask(flushJobs); - } - } - function flushJobs() { - flushPending = false; - flushing = true; - for (let i = 0; i < queue.length; i++) { - queue[i](); - } - queue.length = 0; - flushing = false; - } - var reactive; - var effect; - var release; - var raw; - var shouldSchedule = true; - function disableEffectScheduling(callback) { - shouldSchedule = false; - callback(); - shouldSchedule = true; - } - function setReactivityEngine(engine) { - reactive = engine.reactive; - release = engine.release; - effect = (callback) => engine.effect(callback, { scheduler: (task) => { - if (shouldSchedule) { - scheduler(task); - } else { - task(); - } - } }); - raw = engine.raw; - } - function overrideEffect(override) { - effect = override; - } - function elementBoundEffect(el) { - let cleanup2 = () => { - }; - let wrappedEffect = (callback) => { - let effectReference = effect(callback); - if (!el._x_effects) { - el._x_effects = /* @__PURE__ */ new Set(); - el._x_runEffects = () => { - el._x_effects.forEach((i) => i()); - }; - } - el._x_effects.add(effectReference); - cleanup2 = () => { - if (effectReference === void 0) - return; - el._x_effects.delete(effectReference); - release(effectReference); - }; - return effectReference; - }; - return [wrappedEffect, () => { - cleanup2(); - }]; - } - var onAttributeAddeds = []; - var onElRemoveds = []; - var onElAddeds = []; - function onElAdded(callback) { - onElAddeds.push(callback); - } - function onElRemoved(el, callback) { - if (typeof callback === "function") { - if (!el._x_cleanups) - el._x_cleanups = []; - el._x_cleanups.push(callback); - } else { - callback = el; - onElRemoveds.push(callback); - } - } - function onAttributesAdded(callback) { - onAttributeAddeds.push(callback); - } - function onAttributeRemoved(el, name, callback) { - if (!el._x_attributeCleanups) - el._x_attributeCleanups = {}; - if (!el._x_attributeCleanups[name]) - el._x_attributeCleanups[name] = []; - el._x_attributeCleanups[name].push(callback); - } - function cleanupAttributes(el, names) { - if (!el._x_attributeCleanups) - return; - Object.entries(el._x_attributeCleanups).forEach(([name, value]) => { - if (names === void 0 || names.includes(name)) { - value.forEach((i) => i()); - delete el._x_attributeCleanups[name]; - } - }); - } - var observer = new MutationObserver(onMutate); - var currentlyObserving = false; - function startObservingMutations() { - observer.observe(document, { subtree: true, childList: true, attributes: true, attributeOldValue: true }); - currentlyObserving = true; - } - function stopObservingMutations() { - flushObserver(); - observer.disconnect(); - currentlyObserving = false; - } - var recordQueue = []; - var willProcessRecordQueue = false; - function flushObserver() { - recordQueue = recordQueue.concat(observer.takeRecords()); - if (recordQueue.length && !willProcessRecordQueue) { - willProcessRecordQueue = true; - queueMicrotask(() => { - processRecordQueue(); - willProcessRecordQueue = false; - }); - } - } - function processRecordQueue() { - onMutate(recordQueue); - recordQueue.length = 0; - } - function mutateDom(callback) { - if (!currentlyObserving) - return callback(); - stopObservingMutations(); - let result = callback(); - startObservingMutations(); - return result; - } - var isCollecting = false; - var deferredMutations = []; - function deferMutations() { - isCollecting = true; - } - function flushAndStopDeferringMutations() { - isCollecting = false; - onMutate(deferredMutations); - deferredMutations = []; - } - function onMutate(mutations) { - if (isCollecting) { - deferredMutations = deferredMutations.concat(mutations); - return; - } - let addedNodes = []; - let removedNodes = []; - let addedAttributes = /* @__PURE__ */ new Map(); - let removedAttributes = /* @__PURE__ */ new Map(); - for (let i = 0; i < mutations.length; i++) { - if (mutations[i].target._x_ignoreMutationObserver) - continue; - if (mutations[i].type === "childList") { - mutations[i].addedNodes.forEach((node) => node.nodeType === 1 && addedNodes.push(node)); - mutations[i].removedNodes.forEach((node) => node.nodeType === 1 && removedNodes.push(node)); - } - if (mutations[i].type === "attributes") { - let el = mutations[i].target; - let name = mutations[i].attributeName; - let oldValue = mutations[i].oldValue; - let add2 = () => { - if (!addedAttributes.has(el)) - addedAttributes.set(el, []); - addedAttributes.get(el).push({ name, value: el.getAttribute(name) }); - }; - let remove = () => { - if (!removedAttributes.has(el)) - removedAttributes.set(el, []); - removedAttributes.get(el).push(name); - }; - if (el.hasAttribute(name) && oldValue === null) { - add2(); - } else if (el.hasAttribute(name)) { - remove(); - add2(); - } else { - remove(); - } - } - } - removedAttributes.forEach((attrs, el) => { - cleanupAttributes(el, attrs); - }); - addedAttributes.forEach((attrs, el) => { - onAttributeAddeds.forEach((i) => i(el, attrs)); - }); - for (let node of removedNodes) { - if (addedNodes.includes(node)) - continue; - onElRemoveds.forEach((i) => i(node)); - if (node._x_cleanups) { - while (node._x_cleanups.length) - node._x_cleanups.pop()(); - } - } - addedNodes.forEach((node) => { - node._x_ignoreSelf = true; - node._x_ignore = true; - }); - for (let node of addedNodes) { - if (removedNodes.includes(node)) - continue; - if (!node.isConnected) - continue; - delete node._x_ignoreSelf; - delete node._x_ignore; - onElAddeds.forEach((i) => i(node)); - node._x_ignore = true; - node._x_ignoreSelf = true; - } - addedNodes.forEach((node) => { - delete node._x_ignoreSelf; - delete node._x_ignore; - }); - addedNodes = null; - removedNodes = null; - addedAttributes = null; - removedAttributes = null; - } - function scope(node) { - return mergeProxies(closestDataStack(node)); - } - function addScopeToNode(node, data2, referenceNode) { - node._x_dataStack = [data2, ...closestDataStack(referenceNode || node)]; - return () => { - node._x_dataStack = node._x_dataStack.filter((i) => i !== data2); - }; - } - function refreshScope(element, scope2) { - let existingScope = element._x_dataStack[0]; - Object.entries(scope2).forEach(([key, value]) => { - existingScope[key] = value; - }); - } - function closestDataStack(node) { - if (node._x_dataStack) - return node._x_dataStack; - if (typeof ShadowRoot === "function" && node instanceof ShadowRoot) { - return closestDataStack(node.host); - } - if (!node.parentNode) { - return []; - } - return closestDataStack(node.parentNode); - } - function mergeProxies(objects) { - let thisProxy = new Proxy({}, { - ownKeys: () => { - return Array.from(new Set(objects.flatMap((i) => Object.keys(i)))); - }, - has: (target, name) => { - return objects.some((obj) => obj.hasOwnProperty(name)); - }, - get: (target, name) => { - return (objects.find((obj) => { - if (obj.hasOwnProperty(name)) { - let descriptor = Object.getOwnPropertyDescriptor(obj, name); - if (descriptor.get && descriptor.get._x_alreadyBound || descriptor.set && descriptor.set._x_alreadyBound) { - return true; - } - if ((descriptor.get || descriptor.set) && descriptor.enumerable) { - let getter = descriptor.get; - let setter = descriptor.set; - let property = descriptor; - getter = getter && getter.bind(thisProxy); - setter = setter && setter.bind(thisProxy); - if (getter) - getter._x_alreadyBound = true; - if (setter) - setter._x_alreadyBound = true; - Object.defineProperty(obj, name, { - ...property, - get: getter, - set: setter - }); - } - return true; - } - return false; - }) || {})[name]; - }, - set: (target, name, value) => { - let closestObjectWithKey = objects.find((obj) => obj.hasOwnProperty(name)); - if (closestObjectWithKey) { - closestObjectWithKey[name] = value; - } else { - objects[objects.length - 1][name] = value; - } - return true; - } - }); - return thisProxy; - } - function initInterceptors(data2) { - let isObject2 = (val) => typeof val === "object" && !Array.isArray(val) && val !== null; - let recurse = (obj, basePath = "") => { - Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value, enumerable }]) => { - if (enumerable === false || value === void 0) - return; - let path = basePath === "" ? key : `${basePath}.${key}`; - if (typeof value === "object" && value !== null && value._x_interceptor) { - obj[key] = value.initialize(data2, path, key); - } else { - if (isObject2(value) && value !== obj && !(value instanceof Element)) { - recurse(value, path); - } - } - }); - }; - return recurse(data2); - } - function interceptor(callback, mutateObj = () => { - }) { - let obj = { - initialValue: void 0, - _x_interceptor: true, - initialize(data2, path, key) { - return callback(this.initialValue, () => get(data2, path), (value) => set(data2, path, value), path, key); - } - }; - mutateObj(obj); - return (initialValue) => { - if (typeof initialValue === "object" && initialValue !== null && initialValue._x_interceptor) { - let initialize = obj.initialize.bind(obj); - obj.initialize = (data2, path, key) => { - let innerValue = initialValue.initialize(data2, path, key); - obj.initialValue = innerValue; - return initialize(data2, path, key); - }; - } else { - obj.initialValue = initialValue; - } - return obj; - }; - } - function get(obj, path) { - return path.split(".").reduce((carry, segment) => carry[segment], obj); - } - function set(obj, path, value) { - if (typeof path === "string") - path = path.split("."); - if (path.length === 1) - obj[path[0]] = value; - else if (path.length === 0) - throw error; - else { - if (obj[path[0]]) - return set(obj[path[0]], path.slice(1), value); - else { - obj[path[0]] = {}; - return set(obj[path[0]], path.slice(1), value); - } - } - } - var magics = {}; - function magic(name, callback) { - magics[name] = callback; - } - function injectMagics(obj, el) { - Object.entries(magics).forEach(([name, callback]) => { - Object.defineProperty(obj, `$${name}`, { - get() { - let [utilities, cleanup2] = getElementBoundUtilities(el); - utilities = { interceptor, ...utilities }; - onElRemoved(el, cleanup2); - return callback(el, utilities); - }, - enumerable: false - }); - }); - return obj; - } - function tryCatch(el, expression, callback, ...args) { - try { - return callback(...args); - } catch (e) { - handleError(e, el, expression); - } - } - function handleError(error2, el, expression = void 0) { - Object.assign(error2, { el, expression }); - console.warn(`Alpine Expression Error: ${error2.message} - -${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); - setTimeout(() => { - throw error2; - }, 0); - } - var shouldAutoEvaluateFunctions = true; - function dontAutoEvaluateFunctions(callback) { - let cache = shouldAutoEvaluateFunctions; - shouldAutoEvaluateFunctions = false; - callback(); - shouldAutoEvaluateFunctions = cache; - } - function evaluate(el, expression, extras = {}) { - let result; - evaluateLater(el, expression)((value) => result = value, extras); - return result; - } - function evaluateLater(...args) { - return theEvaluatorFunction(...args); - } - var theEvaluatorFunction = normalEvaluator; - function setEvaluator(newEvaluator) { - theEvaluatorFunction = newEvaluator; - } - function normalEvaluator(el, expression) { - let overriddenMagics = {}; - injectMagics(overriddenMagics, el); - let dataStack = [overriddenMagics, ...closestDataStack(el)]; - if (typeof expression === "function") { - return generateEvaluatorFromFunction(dataStack, expression); - } - let evaluator = generateEvaluatorFromString(dataStack, expression, el); - return tryCatch.bind(null, el, expression, evaluator); - } - function generateEvaluatorFromFunction(dataStack, func) { - return (receiver = () => { - }, { scope: scope2 = {}, params = [] } = {}) => { - let result = func.apply(mergeProxies([scope2, ...dataStack]), params); - runIfTypeOfFunction(receiver, result); - }; - } - var evaluatorMemo = {}; - function generateFunctionFromString(expression, el) { - if (evaluatorMemo[expression]) { - return evaluatorMemo[expression]; - } - let AsyncFunction = Object.getPrototypeOf(async function() { - }).constructor; - let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression) || /^(let|const)\s/.test(expression) ? `(() => { ${expression} })()` : expression; - const safeAsyncFunction = () => { - try { - return new AsyncFunction(["__self", "scope"], `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`); - } catch (error2) { - handleError(error2, el, expression); - return Promise.resolve(); - } - }; - let func = safeAsyncFunction(); - evaluatorMemo[expression] = func; - return func; - } - function generateEvaluatorFromString(dataStack, expression, el) { - let func = generateFunctionFromString(expression, el); - return (receiver = () => { - }, { scope: scope2 = {}, params = [] } = {}) => { - func.result = void 0; - func.finished = false; - let completeScope = mergeProxies([scope2, ...dataStack]); - if (typeof func === "function") { - let promise = func(func, completeScope).catch((error2) => handleError(error2, el, expression)); - if (func.finished) { - runIfTypeOfFunction(receiver, func.result, completeScope, params, el); - func.result = void 0; - } else { - promise.then((result) => { - runIfTypeOfFunction(receiver, result, completeScope, params, el); - }).catch((error2) => handleError(error2, el, expression)).finally(() => func.result = void 0); - } - } - }; - } - function runIfTypeOfFunction(receiver, value, scope2, params, el) { - if (shouldAutoEvaluateFunctions && typeof value === "function") { - let result = value.apply(scope2, params); - if (result instanceof Promise) { - result.then((i) => runIfTypeOfFunction(receiver, i, scope2, params)).catch((error2) => handleError(error2, el, value)); - } else { - receiver(result); - } - } else { - receiver(value); - } - } - var prefixAsString = "x-"; - function prefix(subject = "") { - return prefixAsString + subject; - } - function setPrefix(newPrefix) { - prefixAsString = newPrefix; - } - var directiveHandlers = {}; - function directive(name, callback) { - directiveHandlers[name] = callback; - } - function directives(el, attributes, originalAttributeOverride) { - attributes = Array.from(attributes); - if (el._x_virtualDirectives) { - let vAttributes = Object.entries(el._x_virtualDirectives).map(([name, value]) => ({ name, value })); - let staticAttributes = attributesOnly(vAttributes); - vAttributes = vAttributes.map((attribute) => { - if (staticAttributes.find((attr) => attr.name === attribute.name)) { - return { - name: `x-bind:${attribute.name}`, - value: `"${attribute.value}"` - }; - } - return attribute; - }); - attributes = attributes.concat(vAttributes); - } - let transformedAttributeMap = {}; - let directives2 = attributes.map(toTransformedAttributes((newName, oldName) => transformedAttributeMap[newName] = oldName)).filter(outNonAlpineAttributes).map(toParsedDirectives(transformedAttributeMap, originalAttributeOverride)).sort(byPriority); - return directives2.map((directive2) => { - return getDirectiveHandler(el, directive2); - }); - } - function attributesOnly(attributes) { - return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr)); - } - var isDeferringHandlers = false; - var directiveHandlerStacks = /* @__PURE__ */ new Map(); - var currentHandlerStackKey = Symbol(); - function deferHandlingDirectives(callback) { - isDeferringHandlers = true; - let key = Symbol(); - currentHandlerStackKey = key; - directiveHandlerStacks.set(key, []); - let flushHandlers = () => { - while (directiveHandlerStacks.get(key).length) - directiveHandlerStacks.get(key).shift()(); - directiveHandlerStacks.delete(key); - }; - let stopDeferring = () => { - isDeferringHandlers = false; - flushHandlers(); - }; - callback(flushHandlers); - stopDeferring(); - } - function getElementBoundUtilities(el) { - let cleanups = []; - let cleanup2 = (callback) => cleanups.push(callback); - let [effect3, cleanupEffect] = elementBoundEffect(el); - cleanups.push(cleanupEffect); - let utilities = { - Alpine: alpine_default, - effect: effect3, - cleanup: cleanup2, - evaluateLater: evaluateLater.bind(evaluateLater, el), - evaluate: evaluate.bind(evaluate, el) - }; - let doCleanup = () => cleanups.forEach((i) => i()); - return [utilities, doCleanup]; - } - function getDirectiveHandler(el, directive2) { - let noop = () => { - }; - let handler3 = directiveHandlers[directive2.type] || noop; - let [utilities, cleanup2] = getElementBoundUtilities(el); - onAttributeRemoved(el, directive2.original, cleanup2); - let fullHandler = () => { - if (el._x_ignore || el._x_ignoreSelf) - return; - handler3.inline && handler3.inline(el, directive2, utilities); - handler3 = handler3.bind(handler3, el, directive2, utilities); - isDeferringHandlers ? directiveHandlerStacks.get(currentHandlerStackKey).push(handler3) : handler3(); - }; - fullHandler.runCleanups = cleanup2; - return fullHandler; - } - var startingWith = (subject, replacement) => ({ name, value }) => { - if (name.startsWith(subject)) - name = name.replace(subject, replacement); - return { name, value }; - }; - var into = (i) => i; - function toTransformedAttributes(callback = () => { - }) { - return ({ name, value }) => { - let { name: newName, value: newValue } = attributeTransformers.reduce((carry, transform) => { - return transform(carry); - }, { name, value }); - if (newName !== name) - callback(newName, name); - return { name: newName, value: newValue }; - }; - } - var attributeTransformers = []; - function mapAttributes(callback) { - attributeTransformers.push(callback); - } - function outNonAlpineAttributes({ name }) { - return alpineAttributeRegex().test(name); - } - var alpineAttributeRegex = () => new RegExp(`^${prefixAsString}([^:^.]+)\\b`); - function toParsedDirectives(transformedAttributeMap, originalAttributeOverride) { - return ({ name, value }) => { - let typeMatch = name.match(alpineAttributeRegex()); - let valueMatch = name.match(/:([a-zA-Z0-9\-:]+)/); - let modifiers = name.match(/\.[^.\]]+(?=[^\]]*$)/g) || []; - let original = originalAttributeOverride || transformedAttributeMap[name] || name; - return { - type: typeMatch ? typeMatch[1] : null, - value: valueMatch ? valueMatch[1] : null, - modifiers: modifiers.map((i) => i.replace(".", "")), - expression: value, - original - }; - }; - } - var DEFAULT = "DEFAULT"; - var directiveOrder = [ - "ignore", - "ref", - "data", - "id", - "bind", - "init", - "for", - "mask", - "model", - "modelable", - "transition", - "show", - "if", - DEFAULT, - "teleport" - ]; - function byPriority(a, b) { - let typeA = directiveOrder.indexOf(a.type) === -1 ? DEFAULT : a.type; - let typeB = directiveOrder.indexOf(b.type) === -1 ? DEFAULT : b.type; - return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB); - } - function dispatch(el, name, detail = {}) { - el.dispatchEvent(new CustomEvent(name, { - detail, - bubbles: true, - composed: true, - cancelable: true - })); - } - var tickStack = []; - var isHolding = false; - function nextTick(callback = () => { - }) { - queueMicrotask(() => { - isHolding || setTimeout(() => { - releaseNextTicks(); - }); - }); - return new Promise((res) => { - tickStack.push(() => { - callback(); - res(); - }); - }); - } - function releaseNextTicks() { - isHolding = false; - while (tickStack.length) - tickStack.shift()(); - } - function holdNextTicks() { - isHolding = true; - } - function walk(el, callback) { - if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) { - Array.from(el.children).forEach((el2) => walk(el2, callback)); - return; - } - let skip = false; - callback(el, () => skip = true); - if (skip) - return; - let node = el.firstElementChild; - while (node) { - walk(node, callback, false); - node = node.nextElementSibling; - } - } - function warn(message, ...args) { - console.warn(`Alpine Warning: ${message}`, ...args); - } - function start() { - if (!document.body) - warn("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's ` - - - -
-
- {{.IconSet.Icon "coopgo:parcoursmob/monogram" "mx-auto h-16 w-auto"}} -

Connectez vous à votre organisation

-
- -
-
-
-
- Organisations - {{range .ViewState.groups}} -
- -
- {{end}} -
-
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/auth/lost-password-init.html b/themes/spie06/web/layouts/auth/lost-password-init.html deleted file mode 100644 index 996fcbd..0000000 --- a/themes/spie06/web/layouts/auth/lost-password-init.html +++ /dev/null @@ -1,40 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - -
- - - -
-
- -

Réinitialiser votre mot de passe PARCOURSMOB

-
- -
-
-
- -
- -
-
- -

Si votre compte existe, vous allez recevoir un mot de passe par email contenant un lien pour réinitialiser votre mot de passe. Celui-ci sera actif pendant 72h.

- -
- -
- - -
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/auth/lost-password-recover-ko.html b/themes/spie06/web/layouts/auth/lost-password-recover-ko.html deleted file mode 100644 index 90b6928..0000000 --- a/themes/spie06/web/layouts/auth/lost-password-recover-ko.html +++ /dev/null @@ -1,26 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - - - - -
-
- -

Réinitialiser votre mot de passe PARCOURSMOB

-

Ce lien de réinitialisation n'est plus actif. Vous l'avez déjà utilisé ou il a expiré. Vous pouvez redemander un nouveau mot de passe ou réessayer de vous connecter directement à PARCOURSMOB.

- -
- -
- - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/auth/lost-password-recover.html b/themes/spie06/web/layouts/auth/lost-password-recover.html deleted file mode 100644 index 4286fd5..0000000 --- a/themes/spie06/web/layouts/auth/lost-password-recover.html +++ /dev/null @@ -1,41 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - -
- - - -
-
- -

Réinitialisez votre mot de passe PARCOURSMOB

-
- -
-
- -

Vous avez demandé à réinitialiser votre mot de passe pour {{.ViewState.recover.username}}

- -
- -
- -
-
- -
- -
- - -
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/auth/onboarding-ko.html b/themes/spie06/web/layouts/auth/onboarding-ko.html deleted file mode 100644 index 12d3972..0000000 --- a/themes/spie06/web/layouts/auth/onboarding-ko.html +++ /dev/null @@ -1,26 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - - - - -
-
- -

Inscription à PARCOURSMOB

-

Ce lien d'inscription n'est plus actif. Vous avez peut être déjà créé votre compte. Si ce n'est pas le cas, le lien a pu expirer : veuillez en demander un nouveau à l'administrateur PARCOURSMOB de votre structure.

- -
- -
- - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/auth/onboarding.html b/themes/spie06/web/layouts/auth/onboarding.html deleted file mode 100644 index 3d18e6c..0000000 --- a/themes/spie06/web/layouts/auth/onboarding.html +++ /dev/null @@ -1,54 +0,0 @@ -{{define "main"}} - - - PARCOURSMOB - Identification - - - -
- - - -
-
- -

Créez votre compte PARCOURSMOB

-
- -
-
-
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- - - -
- -
- - -
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-events.html b/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-events.html deleted file mode 100644 index 684622f..0000000 --- a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-events.html +++ /dev/null @@ -1,4 +0,0 @@ -{{define "beneficiary_events"}} -
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-files.html b/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-files.html deleted file mode 100644 index b4a3de4..0000000 --- a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-files.html +++ /dev/null @@ -1,135 +0,0 @@ -{{define "beneficiary_files"}} -
- {{if eq (len .ViewState.documents) 0}} -

Aucun document

- {{end}} - - - {{if gt (len .ViewState.documents) 0}} - -
- - - - - - - - - - - {{range .ViewState.documents}} - - - - - - - {{end}} - - - - -
Type - Actions -
-
- {{index $.ViewState.file_types_map .Metadata.Type}} -
-
{{.Metadata.Name}}{{.LastModified.Format "02/01/2006"}} - - - -
-
- - {{end}} - -

Ajouter un document

-
-
-
- - -
-
- - -
-
- -
-
- {{.IconSet.Icon "hero:outline/folder-plus" "mx-auto h-12 w-12 text-gray-400"}} -
- - - - -
-

Jusqu'à 10MB

-

-
-
-
-
- -
- -
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-journeys.html b/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-journeys.html deleted file mode 100644 index 160a179..0000000 --- a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-journeys.html +++ /dev/null @@ -1,38 +0,0 @@ -{{define "beneficiary_journeys"}} -
-
- - {{ $departureField := "departure" }} - {{ $departureLabel := "Départ" }} - {{ template "address_autocomplete" dict "FieldName" $departureField "FieldLabel" $departureLabel }} - - {{ $destinationField := "destination" }} - {{ $destinationLabel := "Destination" }} - {{ template "address_autocomplete" dict "FieldName" $destinationField "FieldLabel" $destinationLabel }} - - -
-
- -
- -
-
-
- -
- -
-
- -
- - -
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-notes.html b/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-notes.html deleted file mode 100644 index a793a17..0000000 --- a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-notes.html +++ /dev/null @@ -1,108 +0,0 @@ -{{define "beneficiary_notes"}} -
-
    - -
-
- -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-vehicles.html b/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-vehicles.html deleted file mode 100644 index 897ade0..0000000 --- a/themes/spie06/web/layouts/beneficiaries/_partials/beneficiary-vehicles.html +++ /dev/null @@ -1,39 +0,0 @@ -{{define "beneficiary_vehicles"}} -
- {{if .ViewState.bookings}} -

Mises à disposition réalisées

-
    - {{range .ViewState.bookings}} -
  • Du {{(timeFrom .Startdate).Format "02/01/2006"}} au {{(timeFrom .Enddate).Format "02/01/2006"}}
  • - {{end}} -
- {{end}} -

Réserver un véhicule

-
- -
-
- -
- -
-
-
- -
- -
-
- -
- {{template "vehicle_type_select" .}} - - -
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/beneficiaries/create.html b/themes/spie06/web/layouts/beneficiaries/create.html deleted file mode 100644 index 36ba876..0000000 --- a/themes/spie06/web/layouts/beneficiaries/create.html +++ /dev/null @@ -1,184 +0,0 @@ -{{define "content"}} - -
-

Ajouter un bénéficiaire

-
- -
-
-
-
-
-

Informations obligatoires

-

Informations personnelles sur le bénéficiaire obligatoires - pour créer son profil dans PARCOURSMOB

-
-
-
-
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
-
-
-
-
- -
-
-
-

Informations optionnelles

-

Autres informations de profil optionnelles

-
-
-
- -
- - -
- -
- -
- -
-
- - - - -
-
-
-
-
-
-
-

Paramètres

-

Paramètres liés au bénéficiaire, utiles pour exploiter les fonctionnalités de PARCOURSMOB

-
-
- - {{ $fieldName := "address" }} - {{ template "address_autocomplete" dict "FieldName" $fieldName }} - - - -
-
-
- -
-

Certains champs de sont pas valides.

- - - - -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/beneficiaries/display.html b/themes/spie06/web/layouts/beneficiaries/display.html deleted file mode 100644 index 6829e5a..0000000 --- a/themes/spie06/web/layouts/beneficiaries/display.html +++ /dev/null @@ -1,152 +0,0 @@ -{{define "content"}} -
- -
-
-
-
- - -
-
-
-

{{.ViewState.beneficiary.Data.first_name}} - {{.ViewState.beneficiary.Data.last_name}}

-

{{if .ViewState.beneficiary.Metadata.created}}Ajouté le par - Conseiller 1{{end}} -

-
-
-
- - -
-
- -
-
-
-
-
-

- Informations personnelles

-

Informations générales sur le bénéficiaire.

-
-
-
- {{if .ViewState.beneficiary.Data.email}} -
-
Email
-
{{.ViewState.beneficiary.Data.email}}
-
- {{end}} - {{if .ViewState.beneficiary.Data.phone_number}} -
-
Téléphone
-
{{.ViewState.beneficiary.Data.phone_number}}
-
- {{end}} - {{if .ViewState.beneficiary.Data.birthdate}} -
-
Date de naissance
-
{{(timeFrom .ViewState.beneficiary.Data.birthdate).Format - "02/01/2006"}}
-
- {{end}} - {{if and .ViewState.beneficiary.Data.gender (ne .ViewState.beneficiary.Data.gender "0")}} -
-
Genre
-
{{genderISO5218 .ViewState.beneficiary.Data.gender}}
-
- {{end}} - {{if .ViewState.beneficiary.Data.address}} -
-
Adresse
-
{{.ViewState.beneficiary.Data.address.properties.label}}
-
- {{end}} -
-
-
-
- -
-
-
-
-
- - -
- -
- -
{{template "beneficiary_journeys" .}}
-
{{template "beneficiary_vehicles" .}}
-
{{template "beneficiary_events" .}}
-
{{template "beneficiary_files" .}}
-
{{template "beneficiary_notes" .}}
-
-
-
-
- -
-
-

Actions réalisées

-

Aucune action réalisée pour le moment

-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/beneficiaries/list.html b/themes/spie06/web/layouts/beneficiaries/list.html deleted file mode 100644 index da8bbad..0000000 --- a/themes/spie06/web/layouts/beneficiaries/list.html +++ /dev/null @@ -1,166 +0,0 @@ -{{define "content"}} - -
-
-
-
-
- - - - - - - - - - - - - - - -
- Nom - - Téléphone - - Adresse - - Labels - - Modifier -
-
- - -
-
-
- -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/beneficiaries/update.html b/themes/spie06/web/layouts/beneficiaries/update.html deleted file mode 100644 index da1b4c9..0000000 --- a/themes/spie06/web/layouts/beneficiaries/update.html +++ /dev/null @@ -1,184 +0,0 @@ -{{define "content"}} - -
-

Modifier un bénéficiaire

-
- -
-
-
-
-
-

Informations obligatoires

-

Informations personnelles sur le bénéficiaire obligatoires - pour créer son profil dans PARCOURSMOB

-
-
-
-
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
-
-
-
-
- -
-
-
-

Informations optionnelles

-

Autres informations de profil optionnelles

-
-
-
- -
- - -
- -
- -
- -
-
- - - - -
-
-
-
-
-
-
-

Paramètres

-

Paramètres liés au bénéficiaire, utiles pour exploiter les fonctionnalités de PARCOURSMOB

-
-
- - {{ $fieldName := "address" }} - {{ template "address_autocomplete" (dict "FieldName" $fieldName "Address" .ViewState.Data.address) }} - - -
-
-
- -
-

Certains champs de sont pas valides.

- - - - -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/dashboard/_partials/agenda-widget.html b/themes/spie06/web/layouts/dashboard/_partials/agenda-widget.html deleted file mode 100644 index c63ce4b..0000000 --- a/themes/spie06/web/layouts/dashboard/_partials/agenda-widget.html +++ /dev/null @@ -1,29 +0,0 @@ -{{define "agenda_widget"}} -
-
-
-

Prochains dispositifs

-
- -
- - - - - -
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/dashboard/_partials/beneficiaries-widget.html b/themes/spie06/web/layouts/dashboard/_partials/beneficiaries-widget.html deleted file mode 100644 index dcf45cc..0000000 --- a/themes/spie06/web/layouts/dashboard/_partials/beneficiaries-widget.html +++ /dev/null @@ -1,31 +0,0 @@ -{{define "beneficiaries_widget"}} -
-
-
-

Bénéficiaires

-

Derniers bénéficiaires ajoutés

-
- -
- - - - - -
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/dashboard/dashboard.html b/themes/spie06/web/layouts/dashboard/dashboard.html deleted file mode 100644 index 10c1e7f..0000000 --- a/themes/spie06/web/layouts/dashboard/dashboard.html +++ /dev/null @@ -1,77 +0,0 @@ -{{define "content"}} - -
-

Tableau de bord

-
-
-

Statistiques de votre organisation

-
    -
  • -
    - {{.IconSet.Icon "hero:outline/user-group" "h-6 w-6"}} -
    -
    -
    - Bénéficiaires -

    {{.ViewState.beneficiaries.count}} bénéficiaires

    -
    -
    -
  • - -
  • -
    - {{.IconSet.Icon "hero:outline/shield-check" "h-6 w-6"}} -
    -
    -
    - Accompagnement -

    0 actions réalisées

    -
    -
    -
  • - -
  • -
    - {{.IconSet.Icon "hero:outline/office-building" "h-6 w-6"}} -
    -
    -
    - Groupes -

    0 groupes créés

    -
    -
    -
  • - -
  • -
    - {{.IconSet.Icon "hero:outline/briefcase" "h-6 w-6"}} -
    -
    -
    - Référents -

    {{.ViewState.count_members}} membres

    -
    -
    -
  • -
-
- -
-
- - - {{template "beneficiaries_widget" .ViewState.beneficiaries}} - {{template "agenda_widget" .ViewState.events}} - - -
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/directory/home.html b/themes/spie06/web/layouts/directory/home.html deleted file mode 100644 index da927c1..0000000 --- a/themes/spie06/web/layouts/directory/home.html +++ /dev/null @@ -1,23 +0,0 @@ -{{define "content"}} -
-

Répertoire des solutions

- -
-
-

-
-
- -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/group/settings.html b/themes/spie06/web/layouts/group/settings.html deleted file mode 100644 index c693377..0000000 --- a/themes/spie06/web/layouts/group/settings.html +++ /dev/null @@ -1,129 +0,0 @@ -{{define "content"}} -
-
-
- -
-

{{.ViewState.group.Data.name}}

-
-
-
- -
-
-
-
-
-
-
-

- Paramètres de l'organisation

-

Paramètres généraux de l'organisation

-
- {{template "groups_members" .}} - -
-
-
- -
- - -
- -
- - {{template "groups_admins" .}} -
-
-
-
-
-

Modules activés

- -
-
-
-
- -
-
- -

Gestion des bénéficiaires assignés à sa propre organisation. -

-
-
-
-
- -
-
- -

Trouver des solutions et organiser les déplacements de ses bénéficiaires.

-
-
-
-
- -
-
- -

Trouver et réserver des véhicules pour ses bénéficiaires. -

-
-
-
-
- -
-
- -

Gérer les véhicules et réservations (pour les gestionnaires de flottes) -

-
-
-
-
- -
-
- -

Agenda des dispositifs pour les bénéficiaires (sessions permis, événements, ...) -

-
-
-
-
- -
-
- -

Administration générale de la plateforme PARCOURSMOB. Créer, ajouter des organisations et administrateurs. -

-
-
-
-
-
- -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/journeys/_partials/journeys-all.html b/themes/spie06/web/layouts/journeys/_partials/journeys-all.html deleted file mode 100644 index c340373..0000000 --- a/themes/spie06/web/layouts/journeys/_partials/journeys-all.html +++ /dev/null @@ -1,105 +0,0 @@ -{{define "journeys_all"}} -
- {{ if gt (len .ViewState.carpools) 0}} - {{$carpool := (index .ViewState.carpools 0)}} -
-
- {{.IconSet.Icon "tabler-icons:car" "h-6 w-6 inline-flex mr-4"}} Covoiturage - {{if $carpool.days.monday}} - entre {{$carpool.outward.monday.mintime}} et {{$carpool.outward.monday.maxtime}} - {{else if $carpool.days.tuesday}} - entre {{$carpool.outward.tuesday.mintime}} et {{$carpool.outward.tuesday.maxtime}} - {{else if $carpool.days.wednesday}} - entre {{$carpool.outward.wednesday.mintime}} et {{$carpool.outward.wednesday.maxtime}} - {{else if $carpool.days.thursday}} - entre {{$carpool.outward.thursday.mintime}} et {{$carpool.outward.thursday.maxtime}} - {{else if $carpool.days.friday}} - entre {{$carpool.outward.friday.mintime}} et {{$carpool.outward.friday.maxtime}} - {{else if $carpool.days.saturday}} - entre {{$carpool.outward.saturday.mintime}} et {{$carpool.outward.saturday.maxtime}} - {{else if $carpool.days.sunday}} - entre {{$carpool.outward.sunday.mintime}} et {{$carpool.outward.sunday.maxtime}} - {{end}} - (Temps trajet : {{divideFloat64 $carpool.duration 60.0 | printf "%.0f"}} Minutes) -
-
- - RIDYGO - -
-
- -
- - {{$carpool.from.address}}, {{$carpool.from.city}} - - {{$.IconSet.Icon "hero:outline/chevron-right" "h-3 w-3 stroke-gray-800 m-2"}} - - {{$carpool.to.address}}, {{$carpool.to.city}} - -
- -
- Conducteur : - - {{$carpool.driver.alias}} - -
- -
- -
- - - {{end}} - - {{ if gt (len .ViewState.journeys.Journeys) 0}} -
-
- {{.IconSet.Icon "tabler-icons:bus" "h-6 w-6 inline-flex mr-4"}} - {{(timeFrom (index .ViewState.journeys.Journeys 0).Departure).Format "15:04"}} - {{(timeFrom (index .ViewState.journeys.Journeys 0).Arrival).Format "15:04"}} - ({{(index .ViewState.journeys.Journeys 0).Duration.Minutes | printf "%.0f"}} Minutes) -
-
-
-
- {{$firstwalk := true}} - {{range (index .ViewState.journeys.Journeys 0).Sections}} - {{if eq .Type "street_network"}} - - {{$.IconSet.Icon "tabler-icons:walk" "h-4 w-4 stroke-gray-800"}} - - {{if $firstwalk}} - {{$firstwalk = false}} - {{$.IconSet.Icon "hero:outline/chevron-right" "h-3 w-3 stroke-gray-800 m-2"}} - {{end}} - {{end}} - {{if eq .Type "public_transport"}} - - {{if eq .Display.Network "Antibes - Envibus"}}Envibus{{else}}{{.Display.Network}}{{end}} Ligne {{.Display.Label}} - - {{$.IconSet.Icon "hero:outline/chevron-right" "h-3 w-3 stroke-gray-800 m-2"}} - {{end}} - {{end}} -
- -
-
- -
- - {{end}} - - -
-
- {{.IconSet.Icon "tabler-icons:car" "h-6 w-6 inline-flex mr-4"}} - {{len .ViewState.vehicles}} véhicules partagés disponibles ce jour là et la semaine suivante -
-
-
- -
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/journeys/_partials/journeys-carpool.html b/themes/spie06/web/layouts/journeys/_partials/journeys-carpool.html deleted file mode 100644 index 1a0a198..0000000 --- a/themes/spie06/web/layouts/journeys/_partials/journeys-carpool.html +++ /dev/null @@ -1,56 +0,0 @@ -{{define "journeys_carpool"}} - -{{ if eq (len .ViewState.carpools) 0}} -

Aucun covoiturage disponible pour ce trajet.

-{{end}} - -{{$first := true}} -{{range .ViewState.carpools}} -{{if $first}} -{{$first = false}} -
-{{else}} -
-{{end}} -
- {{if .days.monday}} -
Départ entre {{.outward.monday.mintime}} et {{.outward.monday.maxtime}}
- {{else if .days.tuesday}} -
Départ entre {{.outward.tuesday.mintime}} et {{.outward.tuesday.maxtime}}
- {{else if .days.wednesday}} -
Départ entre {{.outward.wednesday.mintime}} et {{.outward.wednesday.maxtime}}
- {{else if .days.thursday}} -
Départ entre {{.outward.thursday.mintime}} et {{.outward.thursday.maxtime}}
- {{else if .days.friday}} -
Départ entre {{.outward.friday.mintime}} et {{.outward.friday.maxtime}}
- {{else if .days.saturday}} -
Départ entre {{.outward.saturday.mintime}} et {{.outward.saturday.maxtime}}
- {{else if .days.sunday}} -
Départ entre {{.outward.sunday.mintime}} et {{.outward.sunday.maxtime}}
- {{end}} -
{{divideFloat64 .duration 60.0 | printf "%.0f"}} Minutes
-
-
- - {{.from.address}}, {{.from.city}} - - {{$.IconSet.Icon "hero:outline/chevron-right" "h-3 w-3 stroke-gray-800 m-2"}} - - {{.to.address}}, {{.to.city}} - -
- -
- Avec - - {{.driver.alias}} - - - sur l'application - - RIDYGO - -
-
-{{end}} -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/journeys/_partials/journeys-others.html b/themes/spie06/web/layouts/journeys/_partials/journeys-others.html deleted file mode 100644 index 39f2176..0000000 --- a/themes/spie06/web/layouts/journeys/_partials/journeys-others.html +++ /dev/null @@ -1,38 +0,0 @@ -{{define "journeys_others"}} - - -
-
- {{.IconSet.Icon "tabler-icons:car" "h-6 w-6 inline-flex mr-4"}} - {{len .ViewState.vehicles}} véhicules partagés disponibles ce jour là et la semaine suivante -
-
-
-
-
- - - - - - - - - - - {{range .ViewState.vehicles}} - - - - - - - {{end}} - -
VéhiculeNuméroGestionnaireLieu
{{.Data.name}}{{.Data.licence_plate}}COOPGO{{if .Data.address}}{{.Data.address.properties.label}}{{end}}
-
- - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/journeys/_partials/journeys-public-transit.html b/themes/spie06/web/layouts/journeys/_partials/journeys-public-transit.html deleted file mode 100644 index 59bbfab..0000000 --- a/themes/spie06/web/layouts/journeys/_partials/journeys-public-transit.html +++ /dev/null @@ -1,81 +0,0 @@ -{{define "journeys_public_transit"}} - -{{ if eq (len .ViewState.journeys.Journeys) 0}} -

Aucun transport en commun pour ce trajet.

-{{end}} - -{{$first := true}} -{{range .ViewState.journeys.Journeys}} -{{if $first}} -{{$first = false}} -
-{{else}} -
-{{end}} -
-
{{(timeFrom .Departure).Format "15:04"}} - {{(timeFrom .Arrival).Format "15:04"}}
-
{{.Duration.Minutes | printf "%.0f"}} Minutes
-
-
- - -
-
-{{end}} -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/journeys/search.html b/themes/spie06/web/layouts/journeys/search.html deleted file mode 100644 index bbe6f8f..0000000 --- a/themes/spie06/web/layouts/journeys/search.html +++ /dev/null @@ -1,120 +0,0 @@ -{{define "content"}} -
-

Déplacements

- - -
-
-
-

Chercher une solution

-
-
- - {{ $departureField := "departure" }} - {{ $departureLabel := "Départ" }} - {{ $departure := .ViewState.departure }} - {{ template "address_autocomplete" dict "FieldName" $departureField "FieldLabel" $departureLabel "Address" $departure }} - - {{ $destinationField := "destination" }} - {{ $destinationLabel := "Destination" }} - {{ $destination := .ViewState.destination }} - {{ template "address_autocomplete" dict "FieldName" $destinationField "FieldLabel" $destinationLabel "Address" $destination }} - - -
-
- -
- -
-
-
- -
- -
-
- -
- - -
-
-
-
-
- {{if .ViewState.searched}} -
-
-
-
-
- - -
- -
- -
{{template "journeys_all" .}}
-
{{template "journeys_carpool" .}}
-
{{template "journeys_public_transit" .}}
-
{{template "journeys_others" .}}
-
-
-
- {{end}} -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/layout.html b/themes/spie06/web/layouts/layout.html deleted file mode 100644 index 557ab71..0000000 --- a/themes/spie06/web/layouts/layout.html +++ /dev/null @@ -1,180 +0,0 @@ -{{define "main"}} - - - - - PARCOURSMOB - - - - - - - - - - - -
-
- - -
- -
-
- {{ template "content" . }} -
-
-
-
- - - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/support/support.html b/themes/spie06/web/layouts/support/support.html deleted file mode 100644 index 224bd63..0000000 --- a/themes/spie06/web/layouts/support/support.html +++ /dev/null @@ -1,27 +0,0 @@ -{{define "content"}} - -
-

Demande de support technique

-
-

- Le support technique PARCOURSMOB est ouvert les jours ouvrés de 9h à 18h. Vous pouvez également nous joindre par email à support@parcoursmob.fr, par exemple pour nous envoyez des copies d'écran du problème que vous rencontrez. -

-
- -
-
- - - -
-
- -
-
- -
-
-
- {{end}} diff --git a/themes/spie06/web/layouts/vehicles/booking-display.html b/themes/spie06/web/layouts/vehicles/booking-display.html deleted file mode 100644 index 21d19c3..0000000 --- a/themes/spie06/web/layouts/vehicles/booking-display.html +++ /dev/null @@ -1,201 +0,0 @@ -{{define "content"}} -
-

Réservation de véhicule

- -
-
-

-
- -
-
-
-
-

Bénéficiaire

-
-
-
-
-
-
Nom
-
- {{.ViewState.beneficiary.Data.first_name}} - {{.ViewState.beneficiary.Data.last_name}}
-
-
-
Email
-
- {{.ViewState.beneficiary.Data.email}}
-
-
-
Téléphone
-
- {{.ViewState.beneficiary.Data.phone_number}}
-
- {{if .ViewState.Data.birthdate}} -
-
Date de naissance
-
{{(timeFrom - .ViewState.Data.birthdate).Format - "02/01/2006"}}
-
- {{end}} - {{if and .ViewState.Data.gender (ne .ViewState.Data.gender "0")}} -
-
Date de naissance
-
{{genderISO5218 - .ViewState.Data.gender}}
-
- {{end}} - {{if .ViewState.Data.address}} -
-
Adresse
-
- {{.ViewState.Data.address.properties.label}}
-
- {{end}} -
-
-
-
-
-
-
-
-
-
-
-

Réservation

-

Informations utiles sur la réservation.

-
-
- - -
-
-
-
-
-
-
-
-
Gestionnaire
-
- {{.ViewState.group.Data.name}} -
-
- {{if .ViewState.booking.Data.booked_by}} -
- -
Réservé par
-
- {{if .ViewState.booking.Data.booked_by.user}} - - - {{.ViewState.booking.Data.booked_by.user.display_name}} - - {{end}} -
-
- {{end}} -
-
Véhicule
-
- {{.ViewState.vehicle.Data.name}}
-
-
-
Immatriculation
-
- {{.ViewState.vehicle.Data.licence_plate}}
-
-
-
Type
-
- Voiture
-
- {{if .ViewState.vehicle.Data.address}} -
-
Lieu de récupération
-
{{.ViewState.vehicle.Data.address.properties.label}}
-
- {{end}} -
-
Date de récupération
-
{{(timeFrom .ViewState.booking.Startdate).Format - "02/01/2006"}}
-
-
-
Date de retour
-
{{(timeFrom .ViewState.booking.Enddate).Format - "02/01/2006"}}
-
-
-

Documents

- {{if eq (len .ViewState.documents) 0}} -

Aucun document

- {{end}} - - - {{if gt (len .ViewState.documents) 0}} - -
- - - - - - - - - - - {{range .ViewState.documents}} - - - - - - - {{end}} - - - - -
Type - Actions -
-
- {{index $.ViewState.file_types_map .Metadata.Type}} -
-
-

{{.Metadata.Name}}

-
{{.LastModified.Format "02/01/2006"}} - - - -
-
- - {{end}} -
-
-
-
-
-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles/bookings-list.html b/themes/spie06/web/layouts/vehicles/bookings-list.html deleted file mode 100644 index 5cc979c..0000000 --- a/themes/spie06/web/layouts/vehicles/bookings-list.html +++ /dev/null @@ -1,68 +0,0 @@ -{{define "content"}} -
-

Réservations

-
- -
-
-
-
-
- - - - - - - - - - - - - {{range .ViewState.bookings}} - - - - - - - - - {{end}} - - -
- Type - - Beneficiaire - - Dates - - Actions -
-
Voiture
-
-
-
-
Du {{(timeFrom .Startdate).Format "02/01/2006"}} au {{(timeFrom .Enddate).Format "02/01/2006"}}
-
- Voir -
-
-
-
-
-
- - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles/search.html b/themes/spie06/web/layouts/vehicles/search.html deleted file mode 100644 index b9d4845..0000000 --- a/themes/spie06/web/layouts/vehicles/search.html +++ /dev/null @@ -1,237 +0,0 @@ -{{define "content"}} -
-

Véhicules partagés

- - - -
-
-
-

Chercher un véhicule

-
-
- -
- - -
- - - - -
    - - - - -
-
-
- - - -
-
- -
- -
-
-
- -
- -
-
- -
- {{template "vehicle_type_select" .}} - - -
-
-
-
-
- {{if .ViewState.searched}} -
-

Véhicules disponibles

-
-
-
- - - - - - - - - - - - {{range .ViewState.search.vehicles}} - - - - - - - - {{end}} - -
VéhiculeNuméroGestionnaireLieu - Réserver -
{{.Data.name}}{{.Data.licence_plate}}COOPGO{{if .Data.address}}{{.Data.address.properties.label}}{{end}} - - Réserver pour {{$.ViewState.search.beneficiary.Data.first_name}} {{$.ViewState.search.beneficiary.Data.last_name}} - -
-
-
-
-
- {{end}} -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/_partials/bookings-list.html b/themes/spie06/web/layouts/vehicles_management/_partials/bookings-list.html deleted file mode 100644 index 77a477d..0000000 --- a/themes/spie06/web/layouts/vehicles_management/_partials/bookings-list.html +++ /dev/null @@ -1,77 +0,0 @@ -{{define "bookings_list"}} -
-
-
-
-
- - - - - - - - - - - - - {{range .ViewState.bookings}} - - - - - - - - - {{end}} - -
- Statut - - Type - - Numéro (Immat / Bicycode) - - Beneficiaire - - Dates - - Actions -
- {{if eq .Status 1 }} - - A venir - - {{end}} - {{if eq .Status 0 }} - - En cours - - {{end}} - {{if eq .Status -1 }} - - Terminé - - {{end}} - -
{{ (index $.ViewState.vehicles_map .Vehicleid).Type }}
-
-
{{ (index $.ViewState.vehicles_map .Vehicleid).Data.licence_plate }}
-
-
-
-
Du {{(timeFrom .Startdate).Format "02/01/2006"}} au {{(timeFrom .Enddate).Format "02/01/2006"}}
-
- Voir -
-
-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/_partials/calendar.html b/themes/spie06/web/layouts/vehicles_management/_partials/calendar.html deleted file mode 100644 index 5a6dbb5..0000000 --- a/themes/spie06/web/layouts/vehicles_management/_partials/calendar.html +++ /dev/null @@ -1,259 +0,0 @@ -{{define "calendar"}} -
-

Août 2022

- - -
-
-
L
-
M
-
M
-
J
-
V
-
S
-
D
-
-
-
- - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/_partials/vehicle-type-select.html b/themes/spie06/web/layouts/vehicles_management/_partials/vehicle-type-select.html deleted file mode 100644 index eaadfa0..0000000 --- a/themes/spie06/web/layouts/vehicles_management/_partials/vehicle-type-select.html +++ /dev/null @@ -1,105 +0,0 @@ -{{define "vehicle_type_select"}} -
- - -
- - -
    - -
  • - - Voiture - - - -
  • -
  • - - Voiture sans permis - - - -
  • -
  • - - Scooter - - - -
  • -
  • - - Trotinette - - - -
  • -
  • - - Vélo électrique - - - -
  • - - -
-
-
- -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/_partials/vehicles-list.html b/themes/spie06/web/layouts/vehicles_management/_partials/vehicles-list.html deleted file mode 100644 index c8840ae..0000000 --- a/themes/spie06/web/layouts/vehicles_management/_partials/vehicles-list.html +++ /dev/null @@ -1,56 +0,0 @@ -{{define "vehicles_list"}} -
-
-
-
-
- - - - - - - - - - - - {{range .ViewState.vehicles}} - - - - - - - - {{end}} - -
- Numéro (Immat / Bicycode) - - Type - - Modèle - - Lieu - - Actions -
-
{{.Data.licence_plate}}
-
-
{{if eq .Type "electric_bike"}}Vélo électrique{{else}}Voiture{{end}}
-
-
{{.Data.name}}
-
-
{{if .Data.address}}{{.Data.address.properties.label}}{{end}}
-
- Voir -
-
-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/booking-display.html b/themes/spie06/web/layouts/vehicles_management/booking-display.html deleted file mode 100644 index 2a767fd..0000000 --- a/themes/spie06/web/layouts/vehicles_management/booking-display.html +++ /dev/null @@ -1,276 +0,0 @@ -{{define "content"}} -
-

Réservation de véhicule

- -
-
-

-
- -
-
-
-
-

Bénéficiaire

-
-
-
-
-
-
Nom
-
- {{.ViewState.beneficiary.Data.first_name}} - {{.ViewState.beneficiary.Data.last_name}}
-
-
-
Email
-
- {{.ViewState.beneficiary.Data.email}}
-
-
-
Téléphone
-
- {{.ViewState.beneficiary.Data.phone_number}}
-
- {{if .ViewState.Data.birthdate}} -
-
Date de naissance
-
{{(timeFrom - .ViewState.Data.birthdate).Format - "02/01/2006"}}
-
- {{end}} - {{if and .ViewState.Data.gender (ne .ViewState.Data.gender "0")}} -
-
Date de naissance
-
{{genderISO5218 - .ViewState.Data.gender}}
-
- {{end}} - {{if .ViewState.Data.address}} -
-
Adresse
-
- {{.ViewState.Data.address.properties.label}} -
-
- {{end}} -
-
-
-
-
-
-
-
-
-
-
-

Réservation

-

Informations utiles sur la réservation.

-
-
- - - -
-
-
-
-
-
-
- - {{if .ViewState.booking.Data.booked_by}} - -
-
Prescripteur
-
- {{if .ViewState.booking.Data.booked_by.user}} - - - {{.ViewState.booking.Data.booked_by.user.display_name}} - - {{end}} - {{if .ViewState.booking.Data.booked_by.group}}{{.ViewState.booking.Data.booked_by.group.name}}{{end}} -
-
- {{end}} -
-
Véhicule
-
- {{.ViewState.vehicle.Data.name}}
-
-
-
Immatriculation
-
- {{.ViewState.vehicle.Data.licence_plate}}
-
-
-
Type
-
- Voiture
-
- {{if .ViewState.vehicle.Data.address}} -
-
Lieu de récupération
-
{{.ViewState.vehicle.Data.address.properties.label}}
-
- {{end}} -
-
Date de récupération
-
-
-
{{(timeFrom .ViewState.booking.Startdate).Format "02/01/2006"}}
- Modifier -
-
-
- -
- -
-
-
-
-
Date de retour
-
-
-
{{(timeFrom .ViewState.booking.Enddate).Format "02/01/2006"}}
- Modifier -
-
-
- -
- -
-
-
-
-
Indisponible à partir du
-
-
-
{{(timeFrom .ViewState.booking.Unavailablefrom).Format "02/01/2006"}}
- Modifier -
-
-
- -
- -
-
-
-
-
Sera à nouveau disponible le
-
-
-
{{(timeFrom .ViewState.booking.Unavailableto).Format "02/01/2006"}}
- Modifier -
-
-
- -
- -
-
-
-

Documents

- {{if eq (len .ViewState.documents) 0}} -

Aucun document

- {{end}} - - - {{if gt (len .ViewState.documents) 0}} - -
- - - - - - - - - - - {{range .ViewState.documents}} - - - - - - - {{end}} - - - - -
Type - Actions -
-
- {{index $.ViewState.file_types_map .Metadata.Type}} -
-
-

{{.Metadata.Name}}

-
{{.LastModified.Format "02/01/2006"}} - - - -
-
- - {{end}} -
-
-
-
-
-
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/bookings-list.html b/themes/spie06/web/layouts/vehicles_management/bookings-list.html deleted file mode 100644 index 6bd90c0..0000000 --- a/themes/spie06/web/layouts/vehicles_management/bookings-list.html +++ /dev/null @@ -1,25 +0,0 @@ -{{define "content"}} -
-

Historique des réservations de véhicules

- - - -
- -{{template "bookings_list" .}} - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/fleet-add.html b/themes/spie06/web/layouts/vehicles_management/fleet-add.html deleted file mode 100644 index 55ae759..0000000 --- a/themes/spie06/web/layouts/vehicles_management/fleet-add.html +++ /dev/null @@ -1,106 +0,0 @@ -{{define "content"}} - - -
-

Ajouter un véhicule

-
- -
- -
-
-
-

Identité du véhicule

-

Informations de base sur le véhicule

-
-
-
-
- - -
-
- {{template "vehicle_type_select" .}} -
-
- - -
-
-
-
-
-
-
-
-

Informations pratiques

-

Informations pratiques pour la réservation

-
-
- {{ $fieldName := "address" }} - {{ template "address_autocomplete" dict "FieldName" $fieldName }} - -
- -
- -
-
-
-
-
- -
-

Certains champs de sont pas valides.

- - - - -
- -
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/fleet-display.html b/themes/spie06/web/layouts/vehicles_management/fleet-display.html deleted file mode 100644 index d786100..0000000 --- a/themes/spie06/web/layouts/vehicles_management/fleet-display.html +++ /dev/null @@ -1,90 +0,0 @@ -{{define "content"}} -
-
-
- -
-

{{.ViewState.vehicle.Data.name}}

-
-
-
- - -
-
-
-
-
-
-
-

Informations

-

Informations sur le véhicule

-
-
-
- {{if .ViewState.vehicle.Data.type}} -
-
Type
-
{{if eq .ViewState.vehicle.Data.type "electric_bike"}}Vélo électrique{{else}}Voiture{{end}}
-
- {{else}} -
-
Type
-
Voiture
-
- {{end}} - {{if .ViewState.vehicle.Data.licence_plate}} -
-
Numéro (Immatriculation, bicycode, ...)
-
{{.ViewState.vehicle.Data.licence_plate}}
-
- {{end}} - {{if .ViewState.vehicle.Data.address}} -
-
Lieu
-
{{.ViewState.vehicle.Data.address.properties.label}}
-
- {{end}} - {{if .ViewState.vehicle.Data.informations}} -
-
Informations pratiques pour le bénéficiaire
-
{{.ViewState.vehicle.Data.informations}}
-
- {{end}} - -
-
-
-
-
-
-

Réservations à venir

- {{if eq (len .ViewState.vehicle.Bookings) 0}} -

Aucune réservation à venir

- {{end}} - - {{template "calendar" .}} -
-
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/fleet-update.html b/themes/spie06/web/layouts/vehicles_management/fleet-update.html deleted file mode 100644 index 88b6770..0000000 --- a/themes/spie06/web/layouts/vehicles_management/fleet-update.html +++ /dev/null @@ -1,106 +0,0 @@ -{{define "content"}} - - -
-

Modifier un véhicule

-
- -
-
-
-
-
-

Identité du véhicule

-

Informations de base sur le véhicule

-
-
-
-
- - -
-
- {{template "vehicle_type_select" .}} -
-
- - -
-
-
-
-
-
-
-
-

Informations pratiques

-

Informations pratiques pour la réservation

-
-
- {{ $fieldName := "address" }} - {{ template "address_autocomplete" (dict "FieldName" $fieldName "Address" .ViewState.vehicle.Data.address) }} - -
- -
- -
-
-
-
-
- -
-

Certains champs de sont pas valides.

- - - - -
-
-
-{{end}} \ No newline at end of file diff --git a/themes/spie06/web/layouts/vehicles_management/overview.html b/themes/spie06/web/layouts/vehicles_management/overview.html deleted file mode 100644 index 60fd3ab..0000000 --- a/themes/spie06/web/layouts/vehicles_management/overview.html +++ /dev/null @@ -1,45 +0,0 @@ -{{define "content"}} -
-

Gestion des véhicules et réservations

- - - -
- -{{template "bookings_list" .}} - - - -{{template "vehicles_list" .}} - -{{end}} \ No newline at end of file diff --git a/themes/spie06/web/public/css/main.css b/themes/spie06/web/public/css/main.css deleted file mode 100644 index 768eb13..0000000 --- a/themes/spie06/web/public/css/main.css +++ /dev/null @@ -1,2877 +0,0 @@ -/* -! tailwindcss v3.1.6 | MIT License | https://tailwindcss.com -*/ - -/* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; - /* 1 */ - border-width: 0; - /* 2 */ - border-style: solid; - /* 2 */ - border-color: #e5e7eb; - /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -*/ - -html { - line-height: 1.5; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -moz-tab-size: 4; - /* 3 */ - -o-tab-size: 4; - tab-size: 4; - /* 3 */ - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - /* 4 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; - /* 1 */ - line-height: inherit; - /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; - /* 1 */ - color: inherit; - /* 2 */ - border-top-width: 1px; - /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font family by default. -2. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - /* 1 */ - font-size: 1em; - /* 2 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; - /* 1 */ - border-color: inherit; - /* 2 */ - border-collapse: collapse; - /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - font-weight: inherit; - /* 1 */ - line-height: inherit; - /* 1 */ - color: inherit; - /* 1 */ - margin: 0; - /* 2 */ - padding: 0; - /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -[type='button'], -[type='reset'], -[type='submit'] { - -webkit-appearance: button; - /* 1 */ - background-color: transparent; - /* 2 */ - background-image: none; - /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -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; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -input:-ms-input-placeholder, textarea:-ms-input-placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -input::placeholder, -textarea::placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ - -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; - /* 1 */ - vertical-align: middle; - /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - border-radius: 0px; - padding-top: 0.5rem; - padding-right: 0.75rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - font-size: 1rem; - line-height: 1.5rem; - --tw-shadow: 0 0 #0000; -} - -[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --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); - border-color: #2563eb; -} - -input::-moz-placeholder, textarea::-moz-placeholder { - color: #6b7280; - opacity: 1; -} - -input:-ms-input-placeholder, textarea:-ms-input-placeholder { - color: #6b7280; - opacity: 1; -} - -input::placeholder,textarea::placeholder { - color: #6b7280; - opacity: 1; -} - -::-webkit-datetime-edit-fields-wrapper { - padding: 0; -} - -::-webkit-date-and-time-value { - min-height: 1.5em; -} - -::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field { - padding-top: 0; - padding-bottom: 0; -} - -select { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); - background-position: right 0.5rem center; - background-repeat: no-repeat; - background-size: 1.5em 1.5em; - padding-right: 2.5rem; - -webkit-print-color-adjust: exact; - color-adjust: exact; - print-color-adjust: exact; -} - -[multiple] { - background-image: initial; - background-position: initial; - background-repeat: unset; - background-size: initial; - padding-right: 0.75rem; - -webkit-print-color-adjust: unset; - color-adjust: unset; - print-color-adjust: unset; -} - -[type='checkbox'],[type='radio'] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - padding: 0; - -webkit-print-color-adjust: exact; - color-adjust: exact; - print-color-adjust: exact; - display: inline-block; - vertical-align: middle; - background-origin: border-box; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - flex-shrink: 0; - height: 1rem; - width: 1rem; - color: #2563eb; - background-color: #fff; - border-color: #6b7280; - border-width: 1px; - --tw-shadow: 0 0 #0000; -} - -[type='checkbox'] { - border-radius: 0px; -} - -[type='radio'] { - border-radius: 100%; -} - -[type='checkbox']:focus,[type='radio']:focus { - outline: 2px solid transparent; - outline-offset: 2px; - --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); - --tw-ring-offset-width: 2px; - --tw-ring-offset-color: #fff; - --tw-ring-color: #2563eb; - --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); -} - -[type='checkbox']:checked,[type='radio']:checked { - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -[type='checkbox']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); -} - -[type='radio']:checked { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); -} - -[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='checkbox']:indeterminate { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); - border-color: transparent; - background-color: currentColor; - background-size: 100% 100%; - background-position: center; - background-repeat: no-repeat; -} - -[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { - border-color: transparent; - background-color: currentColor; -} - -[type='file'] { - background: unset; - border-color: inherit; - border-width: 0; - border-radius: 0; - padding: 0; - font-size: unset; - line-height: inherit; -} - -[type='file']:focus { - outline: 1px solid ButtonText; - outline: 1px auto -webkit-focus-ring-color; -} - -html { - font-family: Bitter, serif; -} - -*, ::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-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 / 0.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: ; -} - -::-webkit-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-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 / 0.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: ; -} - -::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-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 / 0.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: ; -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.pointer-events-none { - pointer-events: none; -} - -.visible { - visibility: visible; -} - -.fixed { - position: fixed; -} - -.absolute { - position: absolute; -} - -.relative { - position: relative; -} - -.sticky { - position: -webkit-sticky; - position: sticky; -} - -.inset-0 { - top: 0px; - right: 0px; - bottom: 0px; - left: 0px; -} - -.inset-y-0 { - top: 0px; - bottom: 0px; -} - -.top-0 { - top: 0px; -} - -.right-0 { - right: 0px; -} - -.left-0 { - left: 0px; -} - -.top-4 { - top: 1rem; -} - -.left-4 { - left: 1rem; -} - -.z-40 { - z-index: 40; -} - -.z-10 { - z-index: 10; -} - -.z-0 { - z-index: 0; -} - -.col-span-6 { - grid-column: span 6 / span 6; -} - -.col-span-1 { - grid-column: span 1 / span 1; -} - -.col-span-3 { - grid-column: span 3 / span 3; -} - -.col-span-5 { - grid-column: span 5 / span 5; -} - -.m-auto { - margin: auto; -} - -.m-2 { - margin: 0.5rem; -} - -.-mx-4 { - margin-left: -1rem; - margin-right: -1rem; -} - -.mx-auto { - margin-left: auto; - margin-right: auto; -} - -.-my-2 { - margin-top: -0.5rem; - margin-bottom: -0.5rem; -} - -.my-4 { - margin-top: 1rem; - margin-bottom: 1rem; -} - -.my-8 { - margin-top: 2rem; - margin-bottom: 2rem; -} - -.-my-1\.5 { - margin-top: -0.375rem; - margin-bottom: -0.375rem; -} - -.-my-1 { - margin-top: -0.25rem; - margin-bottom: -0.25rem; -} - -.-mr-12 { - margin-right: -3rem; -} - -.ml-1 { - margin-left: 0.25rem; -} - -.mt-5 { - margin-top: 1.25rem; -} - -.ml-4 { - margin-left: 1rem; -} - -.ml-3 { - margin-left: 0.75rem; -} - -.mt-2 { - margin-top: 0.5rem; -} - -.mt-1 { - margin-top: 0.25rem; -} - -.mt-10 { - margin-top: 2.5rem; -} - -.mr-2 { - margin-right: 0.5rem; -} - -.mr-4 { - margin-right: 1rem; -} - -.mt-8 { - margin-top: 2rem; -} - -.mt-4 { - margin-top: 1rem; -} - -.mt-6 { - margin-top: 1.5rem; -} - -.mt-3 { - margin-top: 0.75rem; -} - -.mr-3 { - margin-right: 0.75rem; -} - -.mr-1\.5 { - margin-right: 0.375rem; -} - -.mr-1 { - margin-right: 0.25rem; -} - -.ml-5 { - margin-left: 1.25rem; -} - -.ml-2 { - margin-left: 0.5rem; -} - -.mb-4 { - margin-bottom: 1rem; -} - -.ml-6 { - margin-left: 1.5rem; -} - -.-mb-px { - margin-bottom: -1px; -} - -.-ml-4 { - margin-left: -1rem; -} - -.-mt-4 { - margin-top: -1rem; -} - -.mb-10 { - margin-bottom: 2.5rem; -} - -.-mt-2 { - margin-top: -0.5rem; -} - -.-mb-8 { - margin-bottom: -2rem; -} - -.-ml-px { - margin-left: -1px; -} - -.ml-16 { - margin-left: 4rem; -} - -.-mr-1\.5 { - margin-right: -0.375rem; -} - -.-mr-1 { - margin-right: -0.25rem; -} - -.block { - display: block; -} - -.inline-block { - display: inline-block; -} - -.inline { - display: inline; -} - -.flex { - display: flex; -} - -.inline-flex { - display: inline-flex; -} - -.table { - display: table; -} - -.table-cell { - display: table-cell; -} - -.flow-root { - display: flow-root; -} - -.grid { - display: grid; -} - -.hidden { - display: none; -} - -.h-full { - height: 100%; -} - -.h-10 { - height: 2.5rem; -} - -.h-6 { - height: 1.5rem; -} - -.h-16 { - height: 4rem; -} - -.h-8 { - height: 2rem; -} - -.h-0 { - height: 0px; -} - -.h-5 { - height: 1.25rem; -} - -.h-4 { - height: 1rem; -} - -.h-12 { - height: 3rem; -} - -.h-3 { - height: 0.75rem; -} - -.max-h-60 { - max-height: 15rem; -} - -.min-h-full { - min-height: 100%; -} - -.w-full { - width: 100%; -} - -.w-10 { - width: 2.5rem; -} - -.w-6 { - width: 1.5rem; -} - -.w-auto { - width: auto; -} - -.w-14 { - width: 3.5rem; -} - -.w-5 { - width: 1.25rem; -} - -.w-48 { - width: 12rem; -} - -.w-8 { - width: 2rem; -} - -.w-4 { - width: 1rem; -} - -.w-16 { - width: 4rem; -} - -.w-11 { - width: 2.75rem; -} - -.w-12 { - width: 3rem; -} - -.w-3 { - width: 0.75rem; -} - -.w-0\.5 { - width: 0.125rem; -} - -.w-0 { - width: 0px; -} - -.min-w-full { - min-width: 100%; -} - -.min-w-0 { - min-width: 0px; -} - -.max-w-xs { - max-width: 20rem; -} - -.max-w-7xl { - max-width: 80rem; -} - -.max-w-3xl { - max-width: 48rem; -} - -.max-w-2xl { - max-width: 42rem; -} - -.max-w-lg { - max-width: 32rem; -} - -.flex-1 { - flex: 1 1 0%; -} - -.flex-auto { - flex: 1 1 auto; -} - -.flex-none { - flex: none; -} - -.flex-shrink-0 { - flex-shrink: 0; -} - -.shrink { - flex-shrink: 1; -} - -.flex-grow { - flex-grow: 1; -} - -.table-fixed { - table-layout: fixed; -} - -.origin-top-right { - transform-origin: top right; -} - -.-translate-x-full { - --tw-translate-x: -100%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-x-0 { - --tw-translate-x: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-x-5 { - --tw-translate-x: 1.25rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-y-4 { - --tw-translate-y: 1rem; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-y-0 { - --tw-translate-y: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.scale-95 { - --tw-scale-x: .95; - --tw-scale-y: .95; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.scale-100 { - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.cursor-default { - cursor: default; -} - -.cursor-pointer { - cursor: pointer; -} - -.select-none { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.resize-none { - resize: none; -} - -.appearance-none { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); -} - -.grid-cols-1 { - grid-template-columns: repeat(1, minmax(0, 1fr)); -} - -.grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); -} - -.grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); -} - -.grid-cols-7 { - grid-template-columns: repeat(7, minmax(0, 1fr)); -} - -.flex-row { - flex-direction: row; -} - -.flex-col { - flex-direction: column; -} - -.flex-col-reverse { - flex-direction: column-reverse; -} - -.flex-wrap { - flex-wrap: wrap; -} - -.items-start { - align-items: flex-start; -} - -.items-end { - align-items: flex-end; -} - -.items-center { - align-items: center; -} - -.justify-end { - justify-content: flex-end; -} - -.justify-center { - justify-content: center; -} - -.justify-between { - justify-content: space-between; -} - -.gap-6 { - gap: 1.5rem; -} - -.gap-5 { - gap: 1.25rem; -} - -.gap-4 { - gap: 1rem; -} - -.gap-x-4 { - -moz-column-gap: 1rem; - column-gap: 1rem; -} - -.gap-y-8 { - row-gap: 2rem; -} - -.space-y-1 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); -} - -.space-y-6 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(1.5rem * 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)); -} - -.space-x-5 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1.25rem * var(--tw-space-x-reverse)); - margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse))); -} - -.-space-x-1 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(-0.25rem * var(--tw-space-x-reverse)); - margin-left: calc(-0.25rem * calc(1 - var(--tw-space-x-reverse))); -} - -.-space-y-px > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(-1px * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(-1px * var(--tw-space-y-reverse)); -} - -.space-x-8 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(2rem * var(--tw-space-x-reverse)); - margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse))); -} - -.-space-x-px > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(-1px * var(--tw-space-x-reverse)); - margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse))); -} - -.space-x-3 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.75rem * var(--tw-space-x-reverse)); - margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-y-8 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(2rem * var(--tw-space-y-reverse)); -} - -.space-x-2 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.5rem * var(--tw-space-x-reverse)); - margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-x-4 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1rem * var(--tw-space-x-reverse)); - margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-y-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 1; -} - -.divide-y > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); -} - -.divide-gray-300 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-divide-opacity)); -} - -.divide-gray-200 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-divide-opacity)); -} - -.overflow-auto { - overflow: auto; -} - -.overflow-hidden { - overflow: hidden; -} - -.overflow-x-auto { - overflow-x: auto; -} - -.overflow-y-auto { - overflow-y: auto; -} - -.truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.whitespace-nowrap { - white-space: nowrap; -} - -.rounded-full { - border-radius: 9999px; -} - -.rounded-2xl { - border-radius: 1rem; -} - -.rounded-md { - border-radius: 0.375rem; -} - -.rounded-co { - border-radius: 40%; -} - -.rounded-xl { - border-radius: 0.75rem; -} - -.rounded { - border-radius: 0.25rem; -} - -.rounded-3xl { - border-radius: 1.5rem; -} - -.rounded-lg { - border-radius: 0.5rem; -} - -.rounded-l-3xl { - border-top-left-radius: 1.5rem; - border-bottom-left-radius: 1.5rem; -} - -.rounded-r-3xl { - border-top-right-radius: 1.5rem; - border-bottom-right-radius: 1.5rem; -} - -.rounded-l-2xl { - border-top-left-radius: 1rem; - border-bottom-left-radius: 1rem; -} - -.rounded-r-2xl { - border-top-right-radius: 1rem; - border-bottom-right-radius: 1rem; -} - -.rounded-l-md { - border-top-left-radius: 0.375rem; - border-bottom-left-radius: 0.375rem; -} - -.rounded-r-md { - border-top-right-radius: 0.375rem; - border-bottom-right-radius: 0.375rem; -} - -.rounded-b-2xl { - border-bottom-right-radius: 1rem; - border-bottom-left-radius: 1rem; -} - -.border { - border-width: 1px; -} - -.border-2 { - border-width: 2px; -} - -.border-0 { - border-width: 0px; -} - -.border-r { - border-right-width: 1px; -} - -.border-t { - border-top-width: 1px; -} - -.border-b { - border-bottom-width: 1px; -} - -.border-b-2 { - border-bottom-width: 2px; -} - -.border-l-0 { - border-left-width: 0px; -} - -.border-t-2 { - border-top-width: 2px; -} - -.border-dashed { - border-style: dashed; -} - -.border-gray-200 { - --tw-border-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-border-opacity)); -} - -.border-transparent { - border-color: transparent; -} - -.border-gray-300 { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} - -.border-co-red { - --tw-border-opacity: 1; - border-color: rgb(222 21 129 / var(--tw-border-opacity)); -} - -.border-indigo-500 { - --tw-border-opacity: 1; - border-color: rgb(99 102 241 / var(--tw-border-opacity)); -} - -.border-co-blue { - --tw-border-opacity: 1; - border-color: rgb(0 114 126 / var(--tw-border-opacity)); -} - -.bg-gray-100 { - --tw-bg-opacity: 1; - background-color: rgb(243 244 246 / var(--tw-bg-opacity)); -} - -.bg-gray-600 { - --tw-bg-opacity: 1; - background-color: rgb(75 85 99 / var(--tw-bg-opacity)); -} - -.bg-co-blue { - --tw-bg-opacity: 1; - background-color: rgb(0 114 126 / var(--tw-bg-opacity)); -} - -.bg-white { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} - -.bg-co-green { - --tw-bg-opacity: 1; - background-color: rgb(108 193 31 / var(--tw-bg-opacity)); -} - -.bg-co-red { - --tw-bg-opacity: 1; - background-color: rgb(222 21 129 / var(--tw-bg-opacity)); -} - -.bg-co-yellow { - --tw-bg-opacity: 1; - background-color: rgb(255 221 0 / var(--tw-bg-opacity)); -} - -.bg-gray-200 { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); -} - -.bg-gray-50 { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity)); -} - -.bg-green-100 { - --tw-bg-opacity: 1; - background-color: rgb(220 252 231 / var(--tw-bg-opacity)); -} - -.bg-indigo-50 { - --tw-bg-opacity: 1; - background-color: rgb(238 242 255 / var(--tw-bg-opacity)); -} - -.bg-indigo-600 { - --tw-bg-opacity: 1; - background-color: rgb(79 70 229 / var(--tw-bg-opacity)); -} - -.bg-gray-900 { - --tw-bg-opacity: 1; - background-color: rgb(17 24 39 / var(--tw-bg-opacity)); -} - -.bg-opacity-75 { - --tw-bg-opacity: 0.75; -} - -.bg-opacity-30 { - --tw-bg-opacity: 0.3; -} - -.stroke-gray-800 { - stroke: #1f2937; -} - -.stroke-white { - stroke: #fff; -} - -.p-1 { - padding: 0.25rem; -} - -.p-12 { - padding: 3rem; -} - -.p-2 { - padding: 0.5rem; -} - -.p-4 { - padding: 1rem; -} - -.p-0 { - padding: 0px; -} - -.p-1\.5 { - padding: 0.375rem; -} - -.px-4 { - padding-left: 1rem; - padding-right: 1rem; -} - -.py-2 { - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.py-1 { - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} - -.py-6 { - padding-top: 1.5rem; - padding-bottom: 1.5rem; -} - -.py-3\.5 { - padding-top: 0.875rem; - padding-bottom: 0.875rem; -} - -.py-3 { - padding-top: 0.75rem; - padding-bottom: 0.75rem; -} - -.px-3 { - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.py-4 { - padding-top: 1rem; - padding-bottom: 1rem; -} - -.px-2 { - padding-left: 0.5rem; - padding-right: 0.5rem; -} - -.py-5 { - padding-top: 1.25rem; - padding-bottom: 1.25rem; -} - -.py-10 { - padding-top: 2.5rem; - padding-bottom: 2.5rem; -} - -.px-1 { - padding-left: 0.25rem; - padding-right: 0.25rem; -} - -.py-12 { - padding-top: 3rem; - padding-bottom: 3rem; -} - -.py-8 { - padding-top: 2rem; - padding-bottom: 2rem; -} - -.px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; -} - -.pb-4 { - padding-bottom: 1rem; -} - -.pt-2 { - padding-top: 0.5rem; -} - -.pt-5 { - padding-top: 1.25rem; -} - -.pl-8 { - padding-left: 2rem; -} - -.pr-3 { - padding-right: 0.75rem; -} - -.pl-3 { - padding-left: 0.75rem; -} - -.pr-9 { - padding-right: 2.25rem; -} - -.pl-4 { - padding-left: 1rem; -} - -.pr-4 { - padding-right: 1rem; -} - -.pr-2 { - padding-right: 0.5rem; -} - -.pr-12 { - padding-right: 3rem; -} - -.pl-1 { - padding-left: 0.25rem; -} - -.pr-10 { - padding-right: 2.5rem; -} - -.pb-2 { - padding-bottom: 0.5rem; -} - -.pt-8 { - padding-top: 2rem; -} - -.pb-6 { - padding-bottom: 1.5rem; -} - -.pt-4 { - padding-top: 1rem; -} - -.pb-8 { - padding-bottom: 2rem; -} - -.pt-16 { - padding-top: 4rem; -} - -.pt-1\.5 { - padding-top: 0.375rem; -} - -.pt-1 { - padding-top: 0.25rem; -} - -.pl-1\.5 { - padding-left: 0.375rem; -} - -.text-left { - text-align: left; -} - -.text-center { - text-align: center; -} - -.text-right { - text-align: right; -} - -.align-middle { - vertical-align: middle; -} - -.text-sm { - font-size: 0.875rem; - line-height: 1.25rem; -} - -.text-base { - font-size: 1rem; - line-height: 1.5rem; -} - -.text-xs { - font-size: 0.75rem; - line-height: 1rem; -} - -.text-2xl { - font-size: 1.5rem; - line-height: 2rem; -} - -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - -.text-xl { - font-size: 1.25rem; - line-height: 1.75rem; -} - -.text-3xl { - font-size: 1.875rem; - line-height: 2.25rem; -} - -.font-medium { - font-weight: 500; -} - -.font-normal { - font-weight: 400; -} - -.font-semibold { - font-weight: 600; -} - -.font-bold { - font-weight: 700; -} - -.font-extrabold { - font-weight: 800; -} - -.uppercase { - text-transform: uppercase; -} - -.capitalize { - text-transform: capitalize; -} - -.leading-4 { - line-height: 1rem; -} - -.leading-6 { - line-height: 1.5rem; -} - -.leading-5 { - line-height: 1.25rem; -} - -.tracking-wide { - letter-spacing: 0.025em; -} - -.tracking-tight { - letter-spacing: -0.025em; -} - -.text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} - -.text-gray-400 { - --tw-text-opacity: 1; - color: rgb(156 163 175 / var(--tw-text-opacity)); -} - -.text-gray-900 { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity)); -} - -.text-white { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.text-gray-700 { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} - -.text-co-blue { - --tw-text-opacity: 1; - color: rgb(0 114 126 / var(--tw-text-opacity)); -} - -.text-co-red { - --tw-text-opacity: 1; - color: rgb(222 21 129 / var(--tw-text-opacity)); -} - -.text-indigo-600 { - --tw-text-opacity: 1; - color: rgb(79 70 229 / var(--tw-text-opacity)); -} - -.text-green-800 { - --tw-text-opacity: 1; - color: rgb(22 101 52 / var(--tw-text-opacity)); -} - -.text-gray-600 { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); -} - -.text-co-green { - --tw-text-opacity: 1; - color: rgb(108 193 31 / var(--tw-text-opacity)); -} - -.text-black { - --tw-text-opacity: 1; - color: rgb(0 0 0 / var(--tw-text-opacity)); -} - -.placeholder-gray-500::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} - -.placeholder-gray-500:-ms-input-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} - -.placeholder-gray-500::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(107 114 128 / var(--tw-placeholder-opacity)); -} - -.placeholder-gray-400::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} - -.placeholder-gray-400:-ms-input-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; -} - -.shadow { - --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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-lg { - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 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-sm { - --tw-shadow: 0 1px 2px 0 rgb(0 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); -} - -.shadow-inner { - --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05); - --tw-shadow-colored: inset 0 2px 4px 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); -} - -.shadow-xl { - --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.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-2 { - --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); -} - -.ring-0 { - --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); -} - -.ring-8 { - --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(8px + 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-black { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity)); -} - -.ring-gray-300 { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity)); -} - -.ring-white { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity)); -} - -.ring-opacity-5 { - --tw-ring-opacity: 0.05; -} - -.blur { - --tw-blur: blur(8px); - 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); -} - -.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-opacity { - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition { - transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -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-text-decoration-color, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-colors { - transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-all { - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.duration-300 { - transition-duration: 300ms; -} - -.duration-100 { - transition-duration: 100ms; -} - -.duration-75 { - transition-duration: 75ms; -} - -.duration-200 { - transition-duration: 200ms; -} - -.ease-linear { - transition-timing-function: linear; -} - -.ease-in-out { - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -.ease-out { - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - -.ease-in { - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} - -@font-face { - font-family: "Manometer"; - - src: url("https://coopgo.fr/fonts/manometer.woff2") format("woff2"), url("/fonts/manometer.woff") format("woff"); -} - -@font-face { - font-family: "Bitter"; - - font-style: normal; - - src: url("https://coopgo.fr/fonts/Bitter-Regular.woff") format("woff"); -} - -.focus-within\:text-gray-600:focus-within { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); -} - -.focus-within\:outline-none:focus-within { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.focus-within\:ring-2:focus-within { - --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-within\:ring-co-blue:focus-within { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(0 114 126 / var(--tw-ring-opacity)); -} - -.focus-within\:ring-offset-2:focus-within { - --tw-ring-offset-width: 2px; -} - -.hover\:border-gray-300:hover { - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} - -.hover\:bg-gray-50:hover { - --tw-bg-opacity: 1; - background-color: rgb(249 250 251 / var(--tw-bg-opacity)); -} - -.hover\:bg-gray-200:hover { - --tw-bg-opacity: 1; - background-color: rgb(229 231 235 / var(--tw-bg-opacity)); -} - -.hover\:bg-white:hover { - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} - -.hover\:bg-co-blue:hover { - --tw-bg-opacity: 1; - background-color: rgb(0 114 126 / 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-blue-700:hover { - --tw-bg-opacity: 1; - background-color: rgb(29 78 216 / var(--tw-bg-opacity)); -} - -.hover\:bg-opacity-5:hover { - --tw-bg-opacity: 0.05; -} - -.hover\:text-gray-600:hover { - --tw-text-opacity: 1; - color: rgb(75 85 99 / var(--tw-text-opacity)); -} - -.hover\:text-co-blue:hover { - --tw-text-opacity: 1; - color: rgb(0 114 126 / var(--tw-text-opacity)); -} - -.hover\:text-white:hover { - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.hover\:text-gray-700:hover { - --tw-text-opacity: 1; - color: rgb(55 65 81 / var(--tw-text-opacity)); -} - -.hover\:text-gray-900:hover { - --tw-text-opacity: 1; - color: rgb(17 24 39 / var(--tw-text-opacity)); -} - -.hover\:text-gray-500:hover { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} - -.hover\:text-inherit:hover { - color: inherit; -} - -.focus\:border-transparent:focus { - border-color: transparent; -} - -.focus\:border-co-blue:focus { - --tw-border-opacity: 1; - border-color: rgb(0 114 126 / var(--tw-border-opacity)); -} - -.focus\:border-indigo-500:focus { - --tw-border-opacity: 1; - border-color: rgb(99 102 241 / var(--tw-border-opacity)); -} - -.focus\:border-blue-500:focus { - --tw-border-opacity: 1; - border-color: rgb(59 130 246 / var(--tw-border-opacity)); -} - -.focus\:placeholder-gray-400:focus::-moz-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} - -.focus\:placeholder-gray-400:focus:-ms-input-placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} - -.focus\:placeholder-gray-400:focus::placeholder { - --tw-placeholder-opacity: 1; - color: rgb(156 163 175 / var(--tw-placeholder-opacity)); -} - -.focus\:outline-none:focus { - outline: 2px solid transparent; - outline-offset: 2px; -} - -.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-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-1: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(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); -} - -.focus\:ring-inset:focus { - --tw-ring-inset: inset; -} - -.focus\:ring-white:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity)); -} - -.focus\:ring-co-blue:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(0 114 126 / var(--tw-ring-opacity)); -} - -.focus\:ring-indigo-500:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity)); -} - -.focus\:ring-co-red:focus { - --tw-ring-opacity: 1; - --tw-ring-color: rgb(222 21 129 / 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-offset-2:focus { - --tw-ring-offset-width: 2px; -} - -.focus\:ring-offset-gray-100:focus { - --tw-ring-offset-color: #f3f4f6; -} - -.disabled\:cursor-not-allowed:disabled { - cursor: not-allowed; -} - -.disabled\:opacity-30:disabled { - opacity: 0.3; -} - -.group:hover .group-hover\:text-gray-500 { - --tw-text-opacity: 1; - color: rgb(107 114 128 / var(--tw-text-opacity)); -} - -@media (prefers-color-scheme: dark) { - .dark\:border-gray-600 { - --tw-border-opacity: 1; - border-color: rgb(75 85 99 / var(--tw-border-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)); - } -} - -@media (min-width: 640px) { - .sm\:col-span-3 { - grid-column: span 3 / span 3; - } - - .sm\:col-span-6 { - grid-column: span 6 / span 6; - } - - .sm\:col-span-1 { - grid-column: span 1 / span 1; - } - - .sm\:col-span-2 { - grid-column: span 2 / span 2; - } - - .sm\:col-span-4 { - grid-column: span 4 / span 4; - } - - .sm\:-mx-6 { - margin-left: -1.5rem; - margin-right: -1.5rem; - } - - .sm\:mx-auto { - margin-left: auto; - margin-right: auto; - } - - .sm\:my-8 { - margin-top: 2rem; - margin-bottom: 2rem; - } - - .sm\:mt-0 { - margin-top: 0px; - } - - .sm\:ml-16 { - margin-left: 4rem; - } - - .sm\:ml-5 { - margin-left: 1.25rem; - } - - .sm\:mt-5 { - margin-top: 1.25rem; - } - - .sm\:mt-6 { - margin-top: 1.5rem; - } - - .sm\:block { - display: block; - } - - .sm\:flex { - display: flex; - } - - .sm\:grid { - display: grid; - } - - .sm\:hidden { - display: none; - } - - .sm\:w-auto { - width: auto; - } - - .sm\:w-full { - width: 100%; - } - - .sm\:max-w-xs { - max-width: 20rem; - } - - .sm\:max-w-md { - max-width: 28rem; - } - - .sm\:max-w-sm { - max-width: 24rem; - } - - .sm\:flex-auto { - flex: 1 1 auto; - } - - .sm\:flex-none { - flex: none; - } - - .sm\:flex-1 { - flex: 1 1 0%; - } - - .sm\:translate-y-0 { - --tw-translate-y: 0px; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:scale-95 { - --tw-scale-x: .95; - --tw-scale-y: .95; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:scale-100 { - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); - } - - .sm\:grid-cols-2 { - grid-template-columns: repeat(2, minmax(0, 1fr)); - } - - .sm\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .sm\:flex-row-reverse { - flex-direction: row-reverse; - } - - .sm\:flex-nowrap { - flex-wrap: nowrap; - } - - .sm\:items-center { - align-items: center; - } - - .sm\:justify-end { - justify-content: flex-end; - } - - .sm\:justify-between { - justify-content: space-between; - } - - .sm\:gap-6 { - gap: 1.5rem; - } - - .sm\:gap-4 { - gap: 1rem; - } - - .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 0; - margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); - margin-bottom: calc(0px * var(--tw-space-y-reverse)); - } - - .sm\:space-x-3 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.75rem * var(--tw-space-x-reverse)); - margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); - } - - .sm\:space-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 1; - } - - .sm\:divide-y > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); - } - - .sm\:divide-gray-200 > :not([hidden]) ~ :not([hidden]) { - --tw-divide-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-divide-opacity)); - } - - .sm\:overflow-hidden { - overflow: hidden; - } - - .sm\:rounded-lg { - border-radius: 0.5rem; - } - - .sm\:rounded-3xl { - border-radius: 1.5rem; - } - - .sm\:rounded-2xl { - border-radius: 1rem; - } - - .sm\:p-6 { - padding: 1.5rem; - } - - .sm\:p-0 { - padding: 0px; - } - - .sm\:px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - .sm\:px-10 { - padding-left: 2.5rem; - padding-right: 2.5rem; - } - - .sm\:py-5 { - padding-top: 1.25rem; - padding-bottom: 1.25rem; - } - - .sm\:pl-6 { - padding-left: 1.5rem; - } - - .sm\:pr-6 { - padding-right: 1.5rem; - } - - .sm\:pb-5 { - padding-bottom: 1.25rem; - } - - .sm\:text-sm { - font-size: 0.875rem; - line-height: 1.25rem; - } -} - -@media (min-width: 768px) { - .md\:fixed { - position: fixed; - } - - .md\:inset-y-0 { - top: 0px; - bottom: 0px; - } - - .md\:col-span-1 { - grid-column: span 1 / span 1; - } - - .md\:col-span-2 { - grid-column: span 2 / span 2; - } - - .md\:mx-0 { - margin-left: 0px; - margin-right: 0px; - } - - .md\:ml-0 { - margin-left: 0px; - } - - .md\:ml-6 { - margin-left: 1.5rem; - } - - .md\:mt-0 { - margin-top: 0px; - } - - .md\:flex { - display: flex; - } - - .md\:grid { - display: grid; - } - - .md\:hidden { - display: none; - } - - .md\:w-64 { - width: 16rem; - } - - .md\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .md\:grid-cols-6 { - grid-template-columns: repeat(6, minmax(0, 1fr)); - } - - .md\:flex-row { - flex-direction: row; - } - - .md\:flex-col { - flex-direction: column; - } - - .md\:items-center { - align-items: center; - } - - .md\:justify-between { - justify-content: space-between; - } - - .md\:gap-6 { - gap: 1.5rem; - } - - .md\:space-x-5 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(1.25rem * var(--tw-space-x-reverse)); - margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse))); - } - - .md\:space-x-3 > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 0; - margin-right: calc(0.75rem * var(--tw-space-x-reverse)); - margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); - } - - .md\:rounded-lg { - border-radius: 0.5rem; - } - - .md\:px-8 { - padding-left: 2rem; - padding-right: 2rem; - } - - .md\:px-6 { - padding-left: 1.5rem; - padding-right: 1.5rem; - } - - .md\:pl-64 { - padding-left: 16rem; - } - - .md\:pl-4 { - padding-left: 1rem; - } - - .md\:pr-6 { - padding-right: 1.5rem; - } - - .md\:pl-0 { - padding-left: 0px; - } - - .md\:pr-0 { - padding-right: 0px; - } - - .md\:text-right { - text-align: right; - } -} - -@media (min-width: 1024px) { - .lg\:col-span-2 { - grid-column: span 2 / span 2; - } - - .lg\:col-span-1 { - grid-column: span 1 / span 1; - } - - .lg\:col-start-1 { - grid-column-start: 1; - } - - .lg\:col-start-3 { - grid-column-start: 3; - } - - .lg\:col-start-2 { - grid-column-start: 2; - } - - .lg\:-mx-8 { - margin-left: -2rem; - margin-right: -2rem; - } - - .lg\:table-cell { - display: table-cell; - } - - .lg\:max-w-7xl { - max-width: 80rem; - } - - .lg\:grid-flow-col-dense { - grid-auto-flow: column dense; - } - - .lg\:grid-cols-3 { - grid-template-columns: repeat(3, minmax(0, 1fr)); - } - - .lg\:grid-cols-4 { - grid-template-columns: repeat(4, minmax(0, 1fr)); - } - - .lg\:px-8 { - padding-left: 2rem; - padding-right: 2rem; - } -} \ No newline at end of file diff --git a/themes/spie06/web/public/images/Tutoriel SPIE06 - Positionner sur un permis accéléré.pdf b/themes/spie06/web/public/images/Tutoriel SPIE06 - Positionner sur un permis accéléré.pdf deleted file mode 100644 index c1497f7fbe4bd0864c50941aae7343994b820ebb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177509 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

HV{%uA+;rIo@QSWbtB|YGG8Sz7lOyxc4O*riF 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 c*P(Yf=0J#-Le*gdg diff --git a/themes/spie06/web/public/images/main_logo.svg b/themes/spie06/web/public/images/main_logo.svg deleted file mode 100644 index e098d7a..0000000 --- a/themes/spie06/web/public/images/main_logo.svg +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/spie06/web/public/images/parcoursmob_logo_bluered.svg b/themes/spie06/web/public/images/parcoursmob_logo_bluered.svg deleted file mode 100644 index 092d2ef..0000000 --- a/themes/spie06/web/public/images/parcoursmob_logo_bluered.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/themes/spie06/web/public/images/parcoursmob_logo_whitered.svg b/themes/spie06/web/public/images/parcoursmob_logo_whitered.svg deleted file mode 100644 index d267bdd..0000000 --- a/themes/spie06/web/public/images/parcoursmob_logo_whitered.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/themes/spie06/web/public/js/main.js b/themes/spie06/web/public/js/main.js deleted file mode 100644 index c1c927c..0000000 --- a/themes/spie06/web/public/js/main.js +++ /dev/null @@ -1,2995 +0,0 @@ -(() => { - var __create = Object.create; - var __defProp = Object.defineProperty; - var __getOwnPropDesc = Object.getOwnPropertyDescriptor; - var __getOwnPropNames = Object.getOwnPropertyNames; - var __getProtoOf = Object.getPrototypeOf; - var __hasOwnProp = Object.prototype.hasOwnProperty; - var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - }; - var __copyProps = (to, from, except, desc) => { - if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); - } - return to; - }; - var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod - )); - - // ../../../../../../node_modules/@kingshott/iodine/dist/iodine.min.js - var require_iodine_min = __commonJS({ - "../../../../../../node_modules/@kingshott/iodine/dist/iodine.min.js"(exports, module) { - var e = class { - constructor() { - this.locale = void 0, this.messages = { after: "The date must be after: '[PARAM]'", afterOrEqual: "The date must be after or equal to: '[PARAM]'", array: "[FIELD] must be an array", before: "The date must be before: '[PARAM]'", beforeOrEqual: "The date must be before or equal to: '[PARAM]'", boolean: "[FIELD] must be true or false", date: "[FIELD] must be a date", different: "[FIELD] must be different to '[PARAM]'", endsWith: "[FIELD] must end with '[PARAM]'", email: "[FIELD] must be a valid email address", falsy: "[FIELD] must be a falsy value (false, 'false', 0 or '0')", in: "[FIELD] must be one of the following options: [PARAM]", integer: "[FIELD] must be an integer", json: "[FIELD] must be a parsable JSON object string", max: "[FIELD] must be less than or equal to [PARAM]", min: "[FIELD] must be greater than or equal to [PARAM]", maxLength: "[FIELD] must not be greater than '[PARAM]' in character length", minLength: "[FIELD] must not be less than '[PARAM]' character length", notIn: "[FIELD] must not be one of the following options: [PARAM]", numeric: "[FIELD] must be numeric", optional: "[FIELD] is optional", regexMatch: "[FIELD] must satisify the regular expression: [PARAM]", required: "[FIELD] must be present", same: "[FIELD] must be '[PARAM]'", startsWith: "[FIELD] must start with '[PARAM]'", string: "[FIELD] must be a string", truthy: "[FIELD] must be a truthy value (true, 'true', 1 or '1')", url: "[FIELD] must be a valid url", uuid: "[FIELD] must be a valid UUID" }; - } - _compare(e2, t, r, s = false) { - return !!this.assertDate(e2) && !(!this.assertDate(t) && !this.assertInteger(t)) && (t = "number" == typeof t ? t : t.getTime(), "less" === r && s ? e2.getTime() <= t : "less" !== r || s ? "more" === r && s ? e2.getTime() >= t : "more" !== r || s ? void 0 : e2.getTime() > t : e2.getTime() < t); - } - _error(e2, t) { - let { param: r, field: s } = "object" == typeof t ? t : { param: t, field: void 0 }; - const a = e2.split(":"); - let i = a.shift(); - r = r || a.join(":"), ["after", "afterOrEqual", "before", "beforeOrEqual"].includes(i) && (r = new Date(parseInt(r)).toLocaleTimeString(this.locale, { year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "numeric", hour12: false })); - let n = [null, void 0, ""].includes(r) ? this.messages[i] : this.messages[i].replace("[PARAM]", r); - return [null, void 0, ""].includes(s) ? n.replace("[FIELD]", this.default_field_name ?? "Value") : n.replace("[FIELD]", s); - } - _missing() { - return { valid: false, rule: "None", error: "Rules exist, but no value was provided to check" }; - } - _prepare(e2, t = []) { - return t.length ? "optional" === t[0] && this.assertOptional(e2) ? [] : t.filter((e3) => "optional" !== e3).map((e3) => "string" == typeof e3 ? [e3, this._title(e3.split(":").shift()), e3.split(":").slice(1).join(":")] : [`${e3.rule}:${e3.param}`, this._title(e3.rule), e3.param]) : []; - } - _title(e2) { - return `${e2[0].toUpperCase()}${e2.slice(1)}`; - } - _validate(e2, t) { - for (let r in t = this._prepare(e2, t)) - if (!this[`assert${t[r][1]}`].apply(this, [e2, t[r][2]])) - return { valid: false, rule: t[r][0], error: this._error(t[r][0]) }; - return { valid: true, rule: "", error: "" }; - } - assert(e2, t) { - if (Array.isArray(t)) - return this._validate(e2, t); - let r = Object.keys(t), s = { valid: true, fields: {} }; - for (let a = 0; a < r.length; a++) - s.fields[r[a]] = e2.hasOwnProperty(r[a]) ? this._validate(e2[r[a]], t[r[a]]) : this._missing(), s.fields[r[a]].valid || (s.valid = false); - return s; - } - assertAfter(e2, t) { - return this._compare(e2, t, "more", false); - } - assertAfterOrEqual(e2, t) { - return this._compare(e2, t, "more", true); - } - assertArray(e2) { - return Array.isArray(e2); - } - assertBefore(e2, t) { - return this._compare(e2, t, "less", false); - } - assertBeforeOrEqual(e2, t) { - return this._compare(e2, t, "less", true); - } - assertBoolean(e2) { - return [true, false].includes(e2); - } - assertDate(e2) { - return e2 && "[object Date]" === Object.prototype.toString.call(e2) && !isNaN(e2); - } - assertDifferent(e2, t) { - return e2 != t; - } - assertEndsWith(e2, t) { - return this.assertString(e2) && e2.endsWith(t); - } - assertEmail(e2) { - return new RegExp("^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$").test(String(e2).toLowerCase()); - } - assertFalsy(e2) { - return [0, "0", false, "false"].includes(e2); - } - assertIn(e2, t) { - return ("string" == typeof t ? t.split(",") : t).includes(e2); - } - assertInteger(e2) { - return Number.isInteger(e2) && parseInt(e2).toString() === e2.toString(); - } - assertJson(e2) { - try { - return "object" == typeof JSON.parse(e2); - } catch (e3) { - return false; - } - } - assertMax(e2, t) { - return parseFloat(e2) <= t; - } - assertMin(e2, t) { - return parseFloat(e2) >= t; - } - assertMaxLength(e2, t) { - return "string" == typeof e2 && e2.length <= t; - } - assertMinLength(e2, t) { - return "string" == typeof e2 && e2.length >= t; - } - assertNotIn(e2, t) { - return !this.assertIn(e2, t); - } - assertNumeric(e2) { - return !isNaN(parseFloat(e2)) && isFinite(e2); - } - assertOptional(e2) { - return [null, void 0, ""].includes(e2); - } - assertRegexMatch(e2, t) { - return new RegExp(t).test(String(e2)); - } - assertRequired(e2) { - return !this.assertOptional(e2); - } - assertSame(e2, t) { - return e2 == t; - } - assertStartsWith(e2, t) { - return this.assertString(e2) && e2.startsWith(t); - } - assertString(e2) { - return "string" == typeof e2; - } - assertTruthy(e2) { - return [1, "1", true, "true"].includes(e2); - } - assertUrl(e2) { - return new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$").test(String(e2).toLowerCase()); - } - assertUuid(e2) { - return new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$").test(String(e2).toLowerCase()); - } - rule(t, r) { - e.prototype[`assert${this._title(t)}`] = r; - } - setErrorMessages(e2) { - this.messages = e2; - } - setErrorMessage(e2, t) { - this.messages[e2] = t; - } - setLocale(e2) { - this.locale = e2; - } - setDefaultFieldName(e2) { - this.default_field_name = e2; - } - }; - "undefined" != typeof window && (window.Iodine = new e()), module.exports = e; - } - }); - - // assets/js/main.js - var import_iodine = __toESM(require_iodine_min()); - - // ../../../../../../node_modules/alpinejs/dist/module.esm.js - var flushPending = false; - var flushing = false; - var queue = []; - function scheduler(callback) { - queueJob(callback); - } - function queueJob(job) { - if (!queue.includes(job)) - queue.push(job); - queueFlush(); - } - function dequeueJob(job) { - let index = queue.indexOf(job); - if (index !== -1) - queue.splice(index, 1); - } - function queueFlush() { - if (!flushing && !flushPending) { - flushPending = true; - queueMicrotask(flushJobs); - } - } - function flushJobs() { - flushPending = false; - flushing = true; - for (let i = 0; i < queue.length; i++) { - queue[i](); - } - queue.length = 0; - flushing = false; - } - var reactive; - var effect; - var release; - var raw; - var shouldSchedule = true; - function disableEffectScheduling(callback) { - shouldSchedule = false; - callback(); - shouldSchedule = true; - } - function setReactivityEngine(engine) { - reactive = engine.reactive; - release = engine.release; - effect = (callback) => engine.effect(callback, { scheduler: (task) => { - if (shouldSchedule) { - scheduler(task); - } else { - task(); - } - } }); - raw = engine.raw; - } - function overrideEffect(override) { - effect = override; - } - function elementBoundEffect(el) { - let cleanup2 = () => { - }; - let wrappedEffect = (callback) => { - let effectReference = effect(callback); - if (!el._x_effects) { - el._x_effects = /* @__PURE__ */ new Set(); - el._x_runEffects = () => { - el._x_effects.forEach((i) => i()); - }; - } - el._x_effects.add(effectReference); - cleanup2 = () => { - if (effectReference === void 0) - return; - el._x_effects.delete(effectReference); - release(effectReference); - }; - return effectReference; - }; - return [wrappedEffect, () => { - cleanup2(); - }]; - } - var onAttributeAddeds = []; - var onElRemoveds = []; - var onElAddeds = []; - function onElAdded(callback) { - onElAddeds.push(callback); - } - function onElRemoved(el, callback) { - if (typeof callback === "function") { - if (!el._x_cleanups) - el._x_cleanups = []; - el._x_cleanups.push(callback); - } else { - callback = el; - onElRemoveds.push(callback); - } - } - function onAttributesAdded(callback) { - onAttributeAddeds.push(callback); - } - function onAttributeRemoved(el, name, callback) { - if (!el._x_attributeCleanups) - el._x_attributeCleanups = {}; - if (!el._x_attributeCleanups[name]) - el._x_attributeCleanups[name] = []; - el._x_attributeCleanups[name].push(callback); - } - function cleanupAttributes(el, names) { - if (!el._x_attributeCleanups) - return; - Object.entries(el._x_attributeCleanups).forEach(([name, value]) => { - if (names === void 0 || names.includes(name)) { - value.forEach((i) => i()); - delete el._x_attributeCleanups[name]; - } - }); - } - var observer = new MutationObserver(onMutate); - var currentlyObserving = false; - function startObservingMutations() { - observer.observe(document, { subtree: true, childList: true, attributes: true, attributeOldValue: true }); - currentlyObserving = true; - } - function stopObservingMutations() { - flushObserver(); - observer.disconnect(); - currentlyObserving = false; - } - var recordQueue = []; - var willProcessRecordQueue = false; - function flushObserver() { - recordQueue = recordQueue.concat(observer.takeRecords()); - if (recordQueue.length && !willProcessRecordQueue) { - willProcessRecordQueue = true; - queueMicrotask(() => { - processRecordQueue(); - willProcessRecordQueue = false; - }); - } - } - function processRecordQueue() { - onMutate(recordQueue); - recordQueue.length = 0; - } - function mutateDom(callback) { - if (!currentlyObserving) - return callback(); - stopObservingMutations(); - let result = callback(); - startObservingMutations(); - return result; - } - var isCollecting = false; - var deferredMutations = []; - function deferMutations() { - isCollecting = true; - } - function flushAndStopDeferringMutations() { - isCollecting = false; - onMutate(deferredMutations); - deferredMutations = []; - } - function onMutate(mutations) { - if (isCollecting) { - deferredMutations = deferredMutations.concat(mutations); - return; - } - let addedNodes = []; - let removedNodes = []; - let addedAttributes = /* @__PURE__ */ new Map(); - let removedAttributes = /* @__PURE__ */ new Map(); - for (let i = 0; i < mutations.length; i++) { - if (mutations[i].target._x_ignoreMutationObserver) - continue; - if (mutations[i].type === "childList") { - mutations[i].addedNodes.forEach((node) => node.nodeType === 1 && addedNodes.push(node)); - mutations[i].removedNodes.forEach((node) => node.nodeType === 1 && removedNodes.push(node)); - } - if (mutations[i].type === "attributes") { - let el = mutations[i].target; - let name = mutations[i].attributeName; - let oldValue = mutations[i].oldValue; - let add2 = () => { - if (!addedAttributes.has(el)) - addedAttributes.set(el, []); - addedAttributes.get(el).push({ name, value: el.getAttribute(name) }); - }; - let remove = () => { - if (!removedAttributes.has(el)) - removedAttributes.set(el, []); - removedAttributes.get(el).push(name); - }; - if (el.hasAttribute(name) && oldValue === null) { - add2(); - } else if (el.hasAttribute(name)) { - remove(); - add2(); - } else { - remove(); - } - } - } - removedAttributes.forEach((attrs, el) => { - cleanupAttributes(el, attrs); - }); - addedAttributes.forEach((attrs, el) => { - onAttributeAddeds.forEach((i) => i(el, attrs)); - }); - for (let node of removedNodes) { - if (addedNodes.includes(node)) - continue; - onElRemoveds.forEach((i) => i(node)); - if (node._x_cleanups) { - while (node._x_cleanups.length) - node._x_cleanups.pop()(); - } - } - addedNodes.forEach((node) => { - node._x_ignoreSelf = true; - node._x_ignore = true; - }); - for (let node of addedNodes) { - if (removedNodes.includes(node)) - continue; - if (!node.isConnected) - continue; - delete node._x_ignoreSelf; - delete node._x_ignore; - onElAddeds.forEach((i) => i(node)); - node._x_ignore = true; - node._x_ignoreSelf = true; - } - addedNodes.forEach((node) => { - delete node._x_ignoreSelf; - delete node._x_ignore; - }); - addedNodes = null; - removedNodes = null; - addedAttributes = null; - removedAttributes = null; - } - function scope(node) { - return mergeProxies(closestDataStack(node)); - } - function addScopeToNode(node, data2, referenceNode) { - node._x_dataStack = [data2, ...closestDataStack(referenceNode || node)]; - return () => { - node._x_dataStack = node._x_dataStack.filter((i) => i !== data2); - }; - } - function refreshScope(element, scope2) { - let existingScope = element._x_dataStack[0]; - Object.entries(scope2).forEach(([key, value]) => { - existingScope[key] = value; - }); - } - function closestDataStack(node) { - if (node._x_dataStack) - return node._x_dataStack; - if (typeof ShadowRoot === "function" && node instanceof ShadowRoot) { - return closestDataStack(node.host); - } - if (!node.parentNode) { - return []; - } - return closestDataStack(node.parentNode); - } - function mergeProxies(objects) { - let thisProxy = new Proxy({}, { - ownKeys: () => { - return Array.from(new Set(objects.flatMap((i) => Object.keys(i)))); - }, - has: (target, name) => { - return objects.some((obj) => obj.hasOwnProperty(name)); - }, - get: (target, name) => { - return (objects.find((obj) => { - if (obj.hasOwnProperty(name)) { - let descriptor = Object.getOwnPropertyDescriptor(obj, name); - if (descriptor.get && descriptor.get._x_alreadyBound || descriptor.set && descriptor.set._x_alreadyBound) { - return true; - } - if ((descriptor.get || descriptor.set) && descriptor.enumerable) { - let getter = descriptor.get; - let setter = descriptor.set; - let property = descriptor; - getter = getter && getter.bind(thisProxy); - setter = setter && setter.bind(thisProxy); - if (getter) - getter._x_alreadyBound = true; - if (setter) - setter._x_alreadyBound = true; - Object.defineProperty(obj, name, { - ...property, - get: getter, - set: setter - }); - } - return true; - } - return false; - }) || {})[name]; - }, - set: (target, name, value) => { - let closestObjectWithKey = objects.find((obj) => obj.hasOwnProperty(name)); - if (closestObjectWithKey) { - closestObjectWithKey[name] = value; - } else { - objects[objects.length - 1][name] = value; - } - return true; - } - }); - return thisProxy; - } - function initInterceptors(data2) { - let isObject2 = (val) => typeof val === "object" && !Array.isArray(val) && val !== null; - let recurse = (obj, basePath = "") => { - Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value, enumerable }]) => { - if (enumerable === false || value === void 0) - return; - let path = basePath === "" ? key : `${basePath}.${key}`; - if (typeof value === "object" && value !== null && value._x_interceptor) { - obj[key] = value.initialize(data2, path, key); - } else { - if (isObject2(value) && value !== obj && !(value instanceof Element)) { - recurse(value, path); - } - } - }); - }; - return recurse(data2); - } - function interceptor(callback, mutateObj = () => { - }) { - let obj = { - initialValue: void 0, - _x_interceptor: true, - initialize(data2, path, key) { - return callback(this.initialValue, () => get(data2, path), (value) => set(data2, path, value), path, key); - } - }; - mutateObj(obj); - return (initialValue) => { - if (typeof initialValue === "object" && initialValue !== null && initialValue._x_interceptor) { - let initialize = obj.initialize.bind(obj); - obj.initialize = (data2, path, key) => { - let innerValue = initialValue.initialize(data2, path, key); - obj.initialValue = innerValue; - return initialize(data2, path, key); - }; - } else { - obj.initialValue = initialValue; - } - return obj; - }; - } - function get(obj, path) { - return path.split(".").reduce((carry, segment) => carry[segment], obj); - } - function set(obj, path, value) { - if (typeof path === "string") - path = path.split("."); - if (path.length === 1) - obj[path[0]] = value; - else if (path.length === 0) - throw error; - else { - if (obj[path[0]]) - return set(obj[path[0]], path.slice(1), value); - else { - obj[path[0]] = {}; - return set(obj[path[0]], path.slice(1), value); - } - } - } - var magics = {}; - function magic(name, callback) { - magics[name] = callback; - } - function injectMagics(obj, el) { - Object.entries(magics).forEach(([name, callback]) => { - Object.defineProperty(obj, `$${name}`, { - get() { - let [utilities, cleanup2] = getElementBoundUtilities(el); - utilities = { interceptor, ...utilities }; - onElRemoved(el, cleanup2); - return callback(el, utilities); - }, - enumerable: false - }); - }); - return obj; - } - function tryCatch(el, expression, callback, ...args) { - try { - return callback(...args); - } catch (e) { - handleError(e, el, expression); - } - } - function handleError(error2, el, expression = void 0) { - Object.assign(error2, { el, expression }); - console.warn(`Alpine Expression Error: ${error2.message} - -${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el); - setTimeout(() => { - throw error2; - }, 0); - } - var shouldAutoEvaluateFunctions = true; - function dontAutoEvaluateFunctions(callback) { - let cache = shouldAutoEvaluateFunctions; - shouldAutoEvaluateFunctions = false; - callback(); - shouldAutoEvaluateFunctions = cache; - } - function evaluate(el, expression, extras = {}) { - let result; - evaluateLater(el, expression)((value) => result = value, extras); - return result; - } - function evaluateLater(...args) { - return theEvaluatorFunction(...args); - } - var theEvaluatorFunction = normalEvaluator; - function setEvaluator(newEvaluator) { - theEvaluatorFunction = newEvaluator; - } - function normalEvaluator(el, expression) { - let overriddenMagics = {}; - injectMagics(overriddenMagics, el); - let dataStack = [overriddenMagics, ...closestDataStack(el)]; - if (typeof expression === "function") { - return generateEvaluatorFromFunction(dataStack, expression); - } - let evaluator = generateEvaluatorFromString(dataStack, expression, el); - return tryCatch.bind(null, el, expression, evaluator); - } - function generateEvaluatorFromFunction(dataStack, func) { - return (receiver = () => { - }, { scope: scope2 = {}, params = [] } = {}) => { - let result = func.apply(mergeProxies([scope2, ...dataStack]), params); - runIfTypeOfFunction(receiver, result); - }; - } - var evaluatorMemo = {}; - function generateFunctionFromString(expression, el) { - if (evaluatorMemo[expression]) { - return evaluatorMemo[expression]; - } - let AsyncFunction = Object.getPrototypeOf(async function() { - }).constructor; - let rightSideSafeExpression = /^[\n\s]*if.*\(.*\)/.test(expression) || /^(let|const)\s/.test(expression) ? `(() => { ${expression} })()` : expression; - const safeAsyncFunction = () => { - try { - return new AsyncFunction(["__self", "scope"], `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`); - } catch (error2) { - handleError(error2, el, expression); - return Promise.resolve(); - } - }; - let func = safeAsyncFunction(); - evaluatorMemo[expression] = func; - return func; - } - function generateEvaluatorFromString(dataStack, expression, el) { - let func = generateFunctionFromString(expression, el); - return (receiver = () => { - }, { scope: scope2 = {}, params = [] } = {}) => { - func.result = void 0; - func.finished = false; - let completeScope = mergeProxies([scope2, ...dataStack]); - if (typeof func === "function") { - let promise = func(func, completeScope).catch((error2) => handleError(error2, el, expression)); - if (func.finished) { - runIfTypeOfFunction(receiver, func.result, completeScope, params, el); - func.result = void 0; - } else { - promise.then((result) => { - runIfTypeOfFunction(receiver, result, completeScope, params, el); - }).catch((error2) => handleError(error2, el, expression)).finally(() => func.result = void 0); - } - } - }; - } - function runIfTypeOfFunction(receiver, value, scope2, params, el) { - if (shouldAutoEvaluateFunctions && typeof value === "function") { - let result = value.apply(scope2, params); - if (result instanceof Promise) { - result.then((i) => runIfTypeOfFunction(receiver, i, scope2, params)).catch((error2) => handleError(error2, el, value)); - } else { - receiver(result); - } - } else { - receiver(value); - } - } - var prefixAsString = "x-"; - function prefix(subject = "") { - return prefixAsString + subject; - } - function setPrefix(newPrefix) { - prefixAsString = newPrefix; - } - var directiveHandlers = {}; - function directive(name, callback) { - directiveHandlers[name] = callback; - } - function directives(el, attributes, originalAttributeOverride) { - attributes = Array.from(attributes); - if (el._x_virtualDirectives) { - let vAttributes = Object.entries(el._x_virtualDirectives).map(([name, value]) => ({ name, value })); - let staticAttributes = attributesOnly(vAttributes); - vAttributes = vAttributes.map((attribute) => { - if (staticAttributes.find((attr) => attr.name === attribute.name)) { - return { - name: `x-bind:${attribute.name}`, - value: `"${attribute.value}"` - }; - } - return attribute; - }); - attributes = attributes.concat(vAttributes); - } - let transformedAttributeMap = {}; - let directives2 = attributes.map(toTransformedAttributes((newName, oldName) => transformedAttributeMap[newName] = oldName)).filter(outNonAlpineAttributes).map(toParsedDirectives(transformedAttributeMap, originalAttributeOverride)).sort(byPriority); - return directives2.map((directive2) => { - return getDirectiveHandler(el, directive2); - }); - } - function attributesOnly(attributes) { - return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr)); - } - var isDeferringHandlers = false; - var directiveHandlerStacks = /* @__PURE__ */ new Map(); - var currentHandlerStackKey = Symbol(); - function deferHandlingDirectives(callback) { - isDeferringHandlers = true; - let key = Symbol(); - currentHandlerStackKey = key; - directiveHandlerStacks.set(key, []); - let flushHandlers = () => { - while (directiveHandlerStacks.get(key).length) - directiveHandlerStacks.get(key).shift()(); - directiveHandlerStacks.delete(key); - }; - let stopDeferring = () => { - isDeferringHandlers = false; - flushHandlers(); - }; - callback(flushHandlers); - stopDeferring(); - } - function getElementBoundUtilities(el) { - let cleanups = []; - let cleanup2 = (callback) => cleanups.push(callback); - let [effect3, cleanupEffect] = elementBoundEffect(el); - cleanups.push(cleanupEffect); - let utilities = { - Alpine: alpine_default, - effect: effect3, - cleanup: cleanup2, - evaluateLater: evaluateLater.bind(evaluateLater, el), - evaluate: evaluate.bind(evaluate, el) - }; - let doCleanup = () => cleanups.forEach((i) => i()); - return [utilities, doCleanup]; - } - function getDirectiveHandler(el, directive2) { - let noop = () => { - }; - let handler3 = directiveHandlers[directive2.type] || noop; - let [utilities, cleanup2] = getElementBoundUtilities(el); - onAttributeRemoved(el, directive2.original, cleanup2); - let fullHandler = () => { - if (el._x_ignore || el._x_ignoreSelf) - return; - handler3.inline && handler3.inline(el, directive2, utilities); - handler3 = handler3.bind(handler3, el, directive2, utilities); - isDeferringHandlers ? directiveHandlerStacks.get(currentHandlerStackKey).push(handler3) : handler3(); - }; - fullHandler.runCleanups = cleanup2; - return fullHandler; - } - var startingWith = (subject, replacement) => ({ name, value }) => { - if (name.startsWith(subject)) - name = name.replace(subject, replacement); - return { name, value }; - }; - var into = (i) => i; - function toTransformedAttributes(callback = () => { - }) { - return ({ name, value }) => { - let { name: newName, value: newValue } = attributeTransformers.reduce((carry, transform) => { - return transform(carry); - }, { name, value }); - if (newName !== name) - callback(newName, name); - return { name: newName, value: newValue }; - }; - } - var attributeTransformers = []; - function mapAttributes(callback) { - attributeTransformers.push(callback); - } - function outNonAlpineAttributes({ name }) { - return alpineAttributeRegex().test(name); - } - var alpineAttributeRegex = () => new RegExp(`^${prefixAsString}([^:^.]+)\\b`); - function toParsedDirectives(transformedAttributeMap, originalAttributeOverride) { - return ({ name, value }) => { - let typeMatch = name.match(alpineAttributeRegex()); - let valueMatch = name.match(/:([a-zA-Z0-9\-:]+)/); - let modifiers = name.match(/\.[^.\]]+(?=[^\]]*$)/g) || []; - let original = originalAttributeOverride || transformedAttributeMap[name] || name; - return { - type: typeMatch ? typeMatch[1] : null, - value: valueMatch ? valueMatch[1] : null, - modifiers: modifiers.map((i) => i.replace(".", "")), - expression: value, - original - }; - }; - } - var DEFAULT = "DEFAULT"; - var directiveOrder = [ - "ignore", - "ref", - "data", - "id", - "bind", - "init", - "for", - "mask", - "model", - "modelable", - "transition", - "show", - "if", - DEFAULT, - "teleport" - ]; - function byPriority(a, b) { - let typeA = directiveOrder.indexOf(a.type) === -1 ? DEFAULT : a.type; - let typeB = directiveOrder.indexOf(b.type) === -1 ? DEFAULT : b.type; - return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB); - } - function dispatch(el, name, detail = {}) { - el.dispatchEvent(new CustomEvent(name, { - detail, - bubbles: true, - composed: true, - cancelable: true - })); - } - var tickStack = []; - var isHolding = false; - function nextTick(callback = () => { - }) { - queueMicrotask(() => { - isHolding || setTimeout(() => { - releaseNextTicks(); - }); - }); - return new Promise((res) => { - tickStack.push(() => { - callback(); - res(); - }); - }); - } - function releaseNextTicks() { - isHolding = false; - while (tickStack.length) - tickStack.shift()(); - } - function holdNextTicks() { - isHolding = true; - } - function walk(el, callback) { - if (typeof ShadowRoot === "function" && el instanceof ShadowRoot) { - Array.from(el.children).forEach((el2) => walk(el2, callback)); - return; - } - let skip = false; - callback(el, () => skip = true); - if (skip) - return; - let node = el.firstElementChild; - while (node) { - walk(node, callback, false); - node = node.nextElementSibling; - } - } - function warn(message, ...args) { - console.warn(`Alpine Warning: ${message}`, ...args); - } - function start() { - if (!document.body) - warn("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `