From bc05edb0c4577a328f83002414e0648a59f71c42 Mon Sep 17 00:00:00 2001 From: FACorreiaa Date: Sat, 15 Jun 2024 14:51:53 +0100 Subject: [PATCH] change package json file and add pines ui --- Dockerfile | 59 +- app/static/css/fonts.css | 702 ++++ app/static/css/output.css | 4813 ++++++++++++++++++++++--- app/static/js/htmx.min.js | 3306 +---------------- app/view/airlines/AirlineTable.templ | 1 - app/view/airlines/AirplaneTable.templ | 16 +- app/view/airlines/TaxTable.templ | 16 +- app/view/components/layout.templ | 17 +- app/view/components/layout_templ.go | 2 +- app/view/components/nav_copy.templ | 46 + app/view/components/nav_copy_templ.go | 162 + app/view/components/navbar.templ | 84 +- app/view/components/navbar_templ.go | 52 +- app/view/components/paginator.templ | 1 - package-lock.json | 2087 +++++++++++ package.json | 34 + postcss.config.cjs | 12 + tailwind.config.js | 95 +- 18 files changed, 7513 insertions(+), 3992 deletions(-) create mode 100644 app/static/css/fonts.css create mode 100644 app/view/components/nav_copy.templ create mode 100644 app/view/components/nav_copy_templ.go create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.cjs diff --git a/Dockerfile b/Dockerfile index b760c96..7573315 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,39 +1,34 @@ -# syntax=docker/dockerfile:1 - -# Build. -FROM golang:1.22 AS build-stage - -LABEL Author="FC a11199" - +FROM node:latest as assets +WORKDIR /app +COPY package.json ./ +COPY package-lock.json ./ +COPY postcss.config.cjs ./ +COPY fonts.css ./ +RUN mkdir -p app/static/css app/static/fonts +RUN npm install --ci +RUN npm run fonts +RUN npm run tailwind-build + +# Define the "base" stage +FROM golang:latest as base WORKDIR /app -COPY go.mod go.sum ./ +COPY go.mod ./ +COPY go.sum ./ RUN go mod download -COPY . /app -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -gcflags "all=-N -l" -o /entrypoint ./*.go - -FROM build-stage AS app-dev -#we test -#RUN curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-linux-arm64 -#RUN chmod +x tailwindcss-linux-arm64 -#RUN mv tailwindcss-linux-arm64 tailwindcss +COPY . . +# Define the "dev" stage +FROM base as app-dev RUN curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(go env GOPATH)/bin -RUN GOOS=linux go install github.com/a-h/templ/cmd/templ@latest WORKDIR /app +RUN go install github.com/a-h/templ/cmd/templ@latest +RUN templ generate CMD ["air"] -FROM build-stage AS app-debug -RUN CGO_ENABLED=0 go install github.com/go-delve/delve/cmd/dlv@latest -WORKDIR /app - -# Deploy. -FROM gcr.io/distroless/static-debian11 AS release-stage -WORKDIR / -COPY --from=build-stage /entrypoint /entrypoint -COPY --from=build-stage /app/app/static /app/static - -COPY ./config /app/config -# COPY .env.compose . -EXPOSE 8080 -USER nonroot:nonroot -ENTRYPOINT ["/entrypoint"] +# Define the final stage +FROM base as final +COPY --from=assets /app/controller/static/css/* ./controller/static/css/ +COPY --from=assets /app/controller/static/fonts/* ./controller/static/fonts/ +RUN CGO_ENABLED=0 go build -o /app/server +EXPOSE 6969 +ENTRYPOINT ["/app/server"] diff --git a/app/static/css/fonts.css b/app/static/css/fonts.css new file mode 100644 index 0000000..352b08f --- /dev/null +++ b/app/static/css/fonts.css @@ -0,0 +1,702 @@ +/* titillium-web-latin-ext-400-normal */ +@font-face { + font-family: 'Titillium Web'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/4cb9732c.woff2) format('woff2'), url(../fonts/de76902a.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* titillium-web-latin-400-normal */ +@font-face { + font-family: 'Titillium Web'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/a0afe4f.woff2) format('woff2'), url(../fonts/5b3d13f1.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-serif-pro-cyrillic-ext-400-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/cfe77a6d.woff2) format('woff2'), url(../fonts/e8815fa4.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-serif-pro-cyrillic-400-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/37264d35.woff2) format('woff2'), url(../fonts/2ff0a59f.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-serif-pro-greek-400-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/a24c7973.woff2) format('woff2'), url(../fonts/2b89e83a.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-serif-pro-vietnamese-400-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/8fe55eb4.woff2) format('woff2'), url(../fonts/d90b5dd4.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-serif-pro-latin-ext-400-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/84480e86.woff2) format('woff2'), url(../fonts/f231f638.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-serif-pro-latin-400-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/53ba1faf.woff2) format('woff2'), url(../fonts/19b4e2a1.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-serif-pro-cyrillic-ext-700-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/ea9e23fc.woff2) format('woff2'), url(../fonts/bc718670.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-serif-pro-cyrillic-700-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/1fb026f6.woff2) format('woff2'), url(../fonts/476b9d6b.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-serif-pro-greek-700-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/e793f3a3.woff2) format('woff2'), url(../fonts/d5c4a552.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-serif-pro-vietnamese-700-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/3ec6ec3f.woff2) format('woff2'), url(../fonts/a19af411.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-serif-pro-latin-ext-700-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/f0f0ba8d.woff2) format('woff2'), url(../fonts/60edc7b9.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-serif-pro-latin-700-normal */ +@font-face { + font-family: 'Source Serif Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/d704bc19.woff2) format('woff2'), url(../fonts/ba4cd68a.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* merriweather-sans-cyrillic-ext-400-normal */ +@font-face { + font-family: 'Merriweather Sans'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/801a6919.woff2) format('woff2'), url(../fonts/8eaaee41.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* merriweather-sans-vietnamese-400-normal */ +@font-face { + font-family: 'Merriweather Sans'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/a0a26607.woff2) format('woff2'), url(../fonts/65ca49d5.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* merriweather-sans-latin-ext-400-normal */ +@font-face { + font-family: 'Merriweather Sans'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/8bcb4e9c.woff2) format('woff2'), url(../fonts/c0c0c56f.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* merriweather-sans-latin-400-normal */ +@font-face { + font-family: 'Merriweather Sans'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/8bddce92.woff2) format('woff2'), url(../fonts/c8991683.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* merriweather-sans-cyrillic-ext-700-normal */ +@font-face { + font-family: 'Merriweather Sans'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/12a5ed7e.woff2) format('woff2'), url(../fonts/40725b55.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* merriweather-sans-vietnamese-700-normal */ +@font-face { + font-family: 'Merriweather Sans'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/83234235.woff2) format('woff2'), url(../fonts/69bdf789.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* merriweather-sans-latin-ext-700-normal */ +@font-face { + font-family: 'Merriweather Sans'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/7aab40d6.woff2) format('woff2'), url(../fonts/533f8ad6.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* merriweather-sans-latin-700-normal */ +@font-face { + font-family: 'Merriweather Sans'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/8c38f099.woff2) format('woff2'), url(../fonts/4e8b90eb.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-sans-pro-cyrillic-ext-300-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 300; + src: url(../fonts/1e9696cd.woff2) format('woff2'), url(../fonts/8b8ef32a.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-sans-pro-cyrillic-300-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 300; + src: url(../fonts/be03d5eb.woff2) format('woff2'), url(../fonts/9a8a26e8.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-sans-pro-greek-ext-300-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 300; + src: url(../fonts/882a987c.woff2) format('woff2'), url(../fonts/8063f8d9.woff) format('woff'); + unicode-range: U+1F00-1FFF; +} +/* source-sans-pro-greek-300-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 300; + src: url(../fonts/f2b95e61.woff2) format('woff2'), url(../fonts/bcbf873c.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-sans-pro-vietnamese-300-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 300; + src: url(../fonts/2032f7.woff2) format('woff2'), url(../fonts/5ff72546.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-sans-pro-latin-ext-300-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 300; + src: url(../fonts/25b65cfa.woff2) format('woff2'), url(../fonts/7104054e.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-sans-pro-latin-300-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 300; + src: url(../fonts/4d657693.woff2) format('woff2'), url(../fonts/ea2694d2.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-sans-pro-cyrillic-ext-300-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 300; + src: url(../fonts/c647aeec.woff2) format('woff2'), url(../fonts/8e51ce47.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-sans-pro-cyrillic-300-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 300; + src: url(../fonts/bded317a.woff2) format('woff2'), url(../fonts/deada09e.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-sans-pro-greek-ext-300-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 300; + src: url(../fonts/f674a9c8.woff2) format('woff2'), url(../fonts/16e3248c.woff) format('woff'); + unicode-range: U+1F00-1FFF; +} +/* source-sans-pro-greek-300-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 300; + src: url(../fonts/86f39bf8.woff2) format('woff2'), url(../fonts/e2c5caf6.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-sans-pro-vietnamese-300-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 300; + src: url(../fonts/5bbe857a.woff2) format('woff2'), url(../fonts/a724ccb5.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-sans-pro-latin-ext-300-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 300; + src: url(../fonts/6f305993.woff2) format('woff2'), url(../fonts/afffbd91.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-sans-pro-latin-300-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 300; + src: url(../fonts/753279dd.woff2) format('woff2'), url(../fonts/88560b85.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-sans-pro-cyrillic-ext-400-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/3add0607.woff2) format('woff2'), url(../fonts/3202e363.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-sans-pro-cyrillic-400-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/64d3df0e.woff2) format('woff2'), url(../fonts/6353ed3.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-sans-pro-greek-ext-400-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/4c522a31.woff2) format('woff2'), url(../fonts/a45fc90a.woff) format('woff'); + unicode-range: U+1F00-1FFF; +} +/* source-sans-pro-greek-400-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/7c230f26.woff2) format('woff2'), url(../fonts/fcfd84ea.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-sans-pro-vietnamese-400-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/51442b31.woff2) format('woff2'), url(../fonts/1c0a3533.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-sans-pro-latin-ext-400-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/3159d889.woff2) format('woff2'), url(../fonts/d89d1321.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-sans-pro-latin-400-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(../fonts/3db3dbdb.woff2) format('woff2'), url(../fonts/c077ab0e.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-sans-pro-cyrillic-ext-400-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(../fonts/3d9dd35c.woff2) format('woff2'), url(../fonts/af730fb4.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-sans-pro-cyrillic-400-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(../fonts/14256f0f.woff2) format('woff2'), url(../fonts/49f0bbee.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-sans-pro-greek-ext-400-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(../fonts/b7ac9f10.woff2) format('woff2'), url(../fonts/13e7ff89.woff) format('woff'); + unicode-range: U+1F00-1FFF; +} +/* source-sans-pro-greek-400-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(../fonts/42bca6cf.woff2) format('woff2'), url(../fonts/8c4a76bc.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-sans-pro-vietnamese-400-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(../fonts/b7bd2e38.woff2) format('woff2'), url(../fonts/13c2f35a.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-sans-pro-latin-ext-400-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(../fonts/66a1fea5.woff2) format('woff2'), url(../fonts/466070a7.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-sans-pro-latin-400-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 400; + src: url(../fonts/a5f48e95.woff2) format('woff2'), url(../fonts/d7640314.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-sans-pro-cyrillic-ext-600-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 600; + src: url(../fonts/c426e001.woff2) format('woff2'), url(../fonts/baad6908.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-sans-pro-cyrillic-600-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 600; + src: url(../fonts/4f1d2b43.woff2) format('woff2'), url(../fonts/f621f87.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-sans-pro-greek-ext-600-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 600; + src: url(../fonts/f2fc975e.woff2) format('woff2'), url(../fonts/3750b3f2.woff) format('woff'); + unicode-range: U+1F00-1FFF; +} +/* source-sans-pro-greek-600-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 600; + src: url(../fonts/3fc988d9.woff2) format('woff2'), url(../fonts/be990114.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-sans-pro-vietnamese-600-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 600; + src: url(../fonts/5bb8c9c1.woff2) format('woff2'), url(../fonts/7bdfc26.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-sans-pro-latin-ext-600-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 600; + src: url(../fonts/a40ae3c4.woff2) format('woff2'), url(../fonts/54b21bbc.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-sans-pro-latin-600-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 600; + src: url(../fonts/745e59e.woff2) format('woff2'), url(../fonts/9f48aa4a.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-sans-pro-cyrillic-ext-600-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 600; + src: url(../fonts/6e390b53.woff2) format('woff2'), url(../fonts/74685a3.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-sans-pro-cyrillic-600-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 600; + src: url(../fonts/f3c84d67.woff2) format('woff2'), url(../fonts/9f36d57e.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-sans-pro-greek-ext-600-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 600; + src: url(../fonts/d172cbe.woff2) format('woff2'), url(../fonts/c9757f1f.woff) format('woff'); + unicode-range: U+1F00-1FFF; +} +/* source-sans-pro-greek-600-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 600; + src: url(../fonts/41daefec.woff2) format('woff2'), url(../fonts/9cedd51.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-sans-pro-vietnamese-600-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 600; + src: url(../fonts/66d4571e.woff2) format('woff2'), url(../fonts/31c0de52.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-sans-pro-latin-ext-600-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 600; + src: url(../fonts/b2207a2b.woff2) format('woff2'), url(../fonts/20565bb4.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-sans-pro-latin-600-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 600; + src: url(../fonts/5326d787.woff2) format('woff2'), url(../fonts/4049581f.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-sans-pro-cyrillic-ext-700-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/5a2cf302.woff2) format('woff2'), url(../fonts/dddb3cfd.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-sans-pro-cyrillic-700-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/6aa7812.woff2) format('woff2'), url(../fonts/9cabb909.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-sans-pro-greek-ext-700-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/b67e21aa.woff2) format('woff2'), url(../fonts/24e40226.woff) format('woff'); + unicode-range: U+1F00-1FFF; +} +/* source-sans-pro-greek-700-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/e0581733.woff2) format('woff2'), url(../fonts/df6f849f.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-sans-pro-vietnamese-700-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/56fa3082.woff2) format('woff2'), url(../fonts/9c125bca.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-sans-pro-latin-ext-700-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/bf741a6e.woff2) format('woff2'), url(../fonts/384aaf26.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-sans-pro-latin-700-normal */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(../fonts/e8f6bc83.woff2) format('woff2'), url(../fonts/fe53564e.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} +/* source-sans-pro-cyrillic-ext-700-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(../fonts/42a4f766.woff2) format('woff2'), url(../fonts/7b14348f.woff) format('woff'); + unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; +} +/* source-sans-pro-cyrillic-700-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(../fonts/d5fe2894.woff2) format('woff2'), url(../fonts/a772ae53.woff) format('woff'); + unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; +} +/* source-sans-pro-greek-ext-700-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(../fonts/91638d6a.woff2) format('woff2'), url(../fonts/53d3f56b.woff) format('woff'); + unicode-range: U+1F00-1FFF; +} +/* source-sans-pro-greek-700-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(../fonts/9d37d67.woff2) format('woff2'), url(../fonts/3aec314a.woff) format('woff'); + unicode-range: U+0370-03FF; +} +/* source-sans-pro-vietnamese-700-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(../fonts/70d21efb.woff2) format('woff2'), url(../fonts/2732381.woff) format('woff'); + unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; +} +/* source-sans-pro-latin-ext-700-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(../fonts/38a14514.woff2) format('woff2'), url(../fonts/5abd9861.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; +} +/* source-sans-pro-latin-700-italic */ +@font-face { + font-family: 'Source Sans Pro'; + font-style: italic; + font-display: swap; + font-weight: 700; + src: url(../fonts/ecd4dd6.woff2) format('woff2'), url(../fonts/f81ea281.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} diff --git a/app/static/css/output.css b/app/static/css/output.css index 563a610..ed35476 100644 --- a/app/static/css/output.css +++ b/app/static/css/output.css @@ -1,8 +1,6 @@ /* -! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com -*/ - -/* +! tailwindcss v3.4.4 | 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) */ @@ -10,14 +8,10 @@ *, ::before, ::after { - box-sizing: border-box; - /* 1 */ - border-width: 0; - /* 2 */ - border-style: solid; - /* 2 */ - border-color: currentColor; - /* 2 */ + box-sizing: border-box; /* 1 */ + border-width: 0; /* 2 */ + border-style: solid; /* 2 */ + border-color: currentColor; /* 2 */ } ::before, @@ -37,23 +31,15 @@ html, :host { - line-height: 1.5; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -moz-tab-size: 4; - /* 3 */ + 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: Graphik, sans-serif; - /* 4 */ - font-feature-settings: normal; - /* 5 */ - font-variation-settings: normal; - /* 6 */ - -webkit-tap-highlight-color: transparent; - /* 7 */ + tab-size: 4; /* 3 */ + font-family: Graphik, sans-serif; /* 4 */ + font-feature-settings: normal; /* 5 */ + font-variation-settings: normal; /* 6 */ + -webkit-tap-highlight-color: transparent; /* 7 */ } /* @@ -62,10 +48,8 @@ html, */ body { - margin: 0; - /* 1 */ - line-height: inherit; - /* 2 */ + margin: 0; /* 1 */ + line-height: inherit; /* 2 */ } /* @@ -75,12 +59,9 @@ body { */ hr { - height: 0; - /* 1 */ - color: inherit; - /* 2 */ - border-top-width: 1px; - /* 3 */ + height: 0; /* 1 */ + color: inherit; /* 2 */ + border-top-width: 1px; /* 3 */ } /* @@ -135,14 +116,10 @@ code, kbd, samp, pre { - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - /* 1 */ - font-feature-settings: normal; - /* 2 */ - font-variation-settings: normal; - /* 3 */ - font-size: 1em; - /* 4 */ + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ + font-feature-settings: normal; /* 2 */ + font-variation-settings: normal; /* 3 */ + font-size: 1em; /* 4 */ } /* @@ -180,12 +157,9 @@ sup { */ table { - text-indent: 0; - /* 1 */ - border-color: inherit; - /* 2 */ - border-collapse: collapse; - /* 3 */ + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ + border-collapse: collapse; /* 3 */ } /* @@ -199,26 +173,16 @@ input, optgroup, select, textarea { - font-family: inherit; - /* 1 */ - font-feature-settings: inherit; - /* 1 */ - font-variation-settings: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - font-weight: inherit; - /* 1 */ - line-height: inherit; - /* 1 */ - letter-spacing: inherit; - /* 1 */ - color: inherit; - /* 1 */ - margin: 0; - /* 2 */ - padding: 0; - /* 3 */ + font-family: inherit; /* 1 */ + font-feature-settings: inherit; /* 1 */ + font-variation-settings: inherit; /* 1 */ + font-size: 100%; /* 1 */ + font-weight: inherit; /* 1 */ + line-height: inherit; /* 1 */ + letter-spacing: inherit; /* 1 */ + color: inherit; /* 1 */ + margin: 0; /* 2 */ + padding: 0; /* 3 */ } /* @@ -239,12 +203,9 @@ button, input:where([type='button']), input:where([type='reset']), input:where([type='submit']) { - -webkit-appearance: button; - /* 1 */ - background-color: transparent; - /* 2 */ - background-image: none; - /* 2 */ + -webkit-appearance: button; /* 1 */ + background-color: transparent; /* 2 */ + background-image: none; /* 2 */ } /* @@ -286,10 +247,8 @@ Correct the cursor style of increment and decrement buttons in Safari. */ [type='search'] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ } /* @@ -306,10 +265,8 @@ Remove the inner padding in Chrome and Safari on macOS. */ ::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ } /* @@ -360,7 +317,6 @@ menu { /* Reset default styling for dialogs. */ - dialog { padding: 0; } @@ -379,18 +335,14 @@ textarea { */ input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ + opacity: 1; /* 1 */ + color: #9ca3af; /* 2 */ } input::placeholder, textarea::placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ + opacity: 1; /* 1 */ + color: #9ca3af; /* 2 */ } /* @@ -405,7 +357,6 @@ button, /* Make sure disabled buttons don't get the pointer cursor. */ - :disabled { cursor: default; } @@ -424,10 +375,8 @@ audio, iframe, embed, object { - display: block; - /* 1 */ - vertical-align: middle; - /* 2 */ + display: block; /* 1 */ + vertical-align: middle; /* 2 */ } /* @@ -441,12 +390,11 @@ video { } /* Make elements with the HTML hidden attribute stay hidden by default */ - [hidden] { display: none; } -[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 { +[type='text'],input:where(:not([type])),[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; @@ -463,7 +411,7 @@ video { --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 { +[type='text']:focus, input:where(:not([type])):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,/*!*/ /*!*/); @@ -492,6 +440,11 @@ input::placeholder,textarea::placeholder { ::-webkit-date-and-time-value { min-height: 1.5em; + text-align: inherit; +} + +::-webkit-datetime-edit { + display: inline-flex; } ::-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 { @@ -509,7 +462,7 @@ select { print-color-adjust: exact; } -[multiple] { +[multiple],[size]:where(select:not([size="1"])) { background-image: initial; background-position: initial; background-repeat: unset; @@ -574,10 +527,28 @@ select { 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"); } +@media (forced-colors: active) { + + [type='checkbox']:checked { + -webkit-appearance: auto; + -moz-appearance: auto; + appearance: auto; + } +} + [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"); } +@media (forced-colors: active) { + + [type='radio']:checked { + -webkit-appearance: auto; + -moz-appearance: auto; + appearance: auto; + } +} + [type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { border-color: transparent; background-color: currentColor; @@ -592,6 +563,15 @@ select { background-repeat: no-repeat; } +@media (forced-colors: active) { + + [type='checkbox']:indeterminate { + -webkit-appearance: auto; + -moz-appearance: auto; + appearance: auto; + } +} + [type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { border-color: transparent; background-color: currentColor; @@ -612,51 +592,547 @@ select { outline: 1px auto -webkit-focus-ring-color; } +:root, +[data-theme] { + background-color: var(--fallback-b1,oklch(var(--b1)/1)); + color: var(--fallback-bc,oklch(var(--bc)/1)); +} + +@supports not (color: oklch(0% 0 0)) { + + :root { + color-scheme: light; + --fallback-p: #491eff; + --fallback-pc: #d4dbff; + --fallback-s: #ff41c7; + --fallback-sc: #fff9fc; + --fallback-a: #00cfbd; + --fallback-ac: #00100d; + --fallback-n: #2b3440; + --fallback-nc: #d7dde4; + --fallback-b1: #ffffff; + --fallback-b2: #e5e6e6; + --fallback-b3: #e5e6e6; + --fallback-bc: #1f2937; + --fallback-in: #00b3f0; + --fallback-inc: #000000; + --fallback-su: #00ca92; + --fallback-suc: #000000; + --fallback-wa: #ffc22d; + --fallback-wac: #000000; + --fallback-er: #ff6f70; + --fallback-erc: #000000; + } + + @media (prefers-color-scheme: dark) { + + :root { + color-scheme: dark; + --fallback-p: #7582ff; + --fallback-pc: #050617; + --fallback-s: #ff71cf; + --fallback-sc: #190211; + --fallback-a: #00c7b5; + --fallback-ac: #000e0c; + --fallback-n: #2a323c; + --fallback-nc: #a6adbb; + --fallback-b1: #1d232a; + --fallback-b2: #191e24; + --fallback-b3: #15191e; + --fallback-bc: #a6adbb; + --fallback-in: #00b3f0; + --fallback-inc: #000000; + --fallback-su: #00ca92; + --fallback-suc: #000000; + --fallback-wa: #ffc22d; + --fallback-wac: #000000; + --fallback-er: #ff6f70; + --fallback-erc: #000000; + } + } +} + +html { + -webkit-tap-highlight-color: transparent; +} + +* { + scrollbar-color: currentColor transparent; +} + :root { - --background: 0 0% 100%; - --foreground: 240 10% 3.9%; - --card: 0 0% 100%; - --card-foreground: 240 10% 3.9%; - --popover: 0 0% 100%; - --popover-foreground: 240 10% 3.9%; - --primary: 240 5.9% 10%; - --primary-foreground: 0 0% 98%; - --secondary: 240 4.8% 95.9%; - --secondary-foreground: 240 5.9% 10%; - --muted: 240 4.8% 95.9%; - --muted-foreground: 240 3.8% 46.1%; - --accent: 240 4.8% 95.9%; - --accent-foreground: 240 5.9% 10%; - --destructive: 0 72.22% 50.59%; - --destructive-foreground: 0 0% 98%; - --border: 240 5.9% 90%; - --input: 240 5.9% 90%; - --ring: 240 5.9% 10%; - --radius: 0.5rem; -} - -.dark { - --background: 240 10% 3.9%; - --foreground: 0 0% 98%; - --card: 240 10% 3.9%; - --card-foreground: 0 0% 98%; - --popover: 240 10% 3.9%; - --popover-foreground: 0 0% 98%; - --primary: 0 0% 98%; - --primary-foreground: 240 5.9% 10%; - --secondary: 240 3.7% 15.9%; - --secondary-foreground: 0 0% 98%; - --muted: 240 3.7% 15.9%; - --muted-foreground: 240 5% 64.9%; - --accent: 240 3.7% 15.9%; - --accent-foreground: 0 0% 98%; - --destructive: 0 62.8% 30.6%; - --destructive-foreground: 0 0% 98%; - --border: 240 3.7% 15.9%; - --input: 240 3.7% 15.9%; - --ring: 240 4.9% 83.9%; + color-scheme: light; + --in: 72.06% 0.191 231.6; + --su: 64.8% 0.150 160; + --wa: 84.71% 0.199 83.87; + --er: 71.76% 0.221 22.18; + --pc: 89.824% 0.06192 275.75; + --ac: 15.352% 0.0368 183.61; + --inc: 0% 0 0; + --suc: 0% 0 0; + --wac: 0% 0 0; + --erc: 0% 0 0; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --p: 49.12% 0.3096 275.75; + --s: 69.71% 0.329 342.55; + --sc: 98.71% 0.0106 342.55; + --a: 76.76% 0.184 183.61; + --n: 32.1785% 0.02476 255.701624; + --nc: 89.4994% 0.011585 252.096176; + --b1: 100% 0 0; + --b2: 96.1151% 0 0; + --b3: 92.4169% 0.00108 197.137559; + --bc: 27.8078% 0.029596 256.847952; +} + +@media (prefers-color-scheme: dark) { + + :root { + color-scheme: dark; + --in: 72.06% 0.191 231.6; + --su: 64.8% 0.150 160; + --wa: 84.71% 0.199 83.87; + --er: 71.76% 0.221 22.18; + --pc: 13.138% 0.0392 275.75; + --sc: 14.96% 0.052 342.55; + --ac: 14.902% 0.0334 183.61; + --inc: 0% 0 0; + --suc: 0% 0 0; + --wac: 0% 0 0; + --erc: 0% 0 0; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --p: 65.69% 0.196 275.75; + --s: 74.8% 0.26 342.55; + --a: 74.51% 0.167 183.61; + --n: 31.3815% 0.021108 254.139175; + --nc: 74.6477% 0.0216 264.435964; + --b1: 25.3267% 0.015896 252.417568; + --b2: 23.2607% 0.013807 253.100675; + --b3: 21.1484% 0.01165 254.087939; + --bc: 74.6477% 0.0216 264.435964; + } } +[data-theme=light] { + color-scheme: light; + --in: 72.06% 0.191 231.6; + --su: 64.8% 0.150 160; + --wa: 84.71% 0.199 83.87; + --er: 71.76% 0.221 22.18; + --pc: 89.824% 0.06192 275.75; + --ac: 15.352% 0.0368 183.61; + --inc: 0% 0 0; + --suc: 0% 0 0; + --wac: 0% 0 0; + --erc: 0% 0 0; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --p: 49.12% 0.3096 275.75; + --s: 69.71% 0.329 342.55; + --sc: 98.71% 0.0106 342.55; + --a: 76.76% 0.184 183.61; + --n: 32.1785% 0.02476 255.701624; + --nc: 89.4994% 0.011585 252.096176; + --b1: 100% 0 0; + --b2: 96.1151% 0 0; + --b3: 92.4169% 0.00108 197.137559; + --bc: 27.8078% 0.029596 256.847952; +} + +[data-theme=dark] { + color-scheme: dark; + --in: 72.06% 0.191 231.6; + --su: 64.8% 0.150 160; + --wa: 84.71% 0.199 83.87; + --er: 71.76% 0.221 22.18; + --pc: 13.138% 0.0392 275.75; + --sc: 14.96% 0.052 342.55; + --ac: 14.902% 0.0334 183.61; + --inc: 0% 0 0; + --suc: 0% 0 0; + --wac: 0% 0 0; + --erc: 0% 0 0; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --p: 65.69% 0.196 275.75; + --s: 74.8% 0.26 342.55; + --a: 74.51% 0.167 183.61; + --n: 31.3815% 0.021108 254.139175; + --nc: 74.6477% 0.0216 264.435964; + --b1: 25.3267% 0.015896 252.417568; + --b2: 23.2607% 0.013807 253.100675; + --b3: 21.1484% 0.01165 254.087939; + --bc: 74.6477% 0.0216 264.435964; +} + +[data-theme=nord] { + color-scheme: light; + --pc: 11.8872% 0.015449 254.027774; + --sc: 13.9303% 0.011822 248.687186; + --ac: 15.4929% 0.01245 217.469017; + --inc: 13.8414% 0.012499 332.664922; + --suc: 15.3654% 0.01498 131.063061; + --wac: 17.0972% 0.017847 84.093335; + --erc: 12.122% 0.024119 15.341883; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --p: 59.4359% 0.077246 254.027774; + --s: 69.6516% 0.059108 248.687186; + --a: 77.4643% 0.062249 217.469017; + --n: 45.229% 0.035214 264.1312; + --nc: 89.9258% 0.016374 262.749256; + --b1: 95.1276% 0.007445 260.731539; + --b2: 93.2996% 0.010389 261.788485; + --b3: 89.9258% 0.016374 262.749256; + --bc: 32.4374% 0.022945 264.182036; + --in: 69.2072% 0.062496 332.664922; + --su: 76.827% 0.074899 131.063061; + --wa: 85.4862% 0.089234 84.093335; + --er: 60.61% 0.120594 15.341883; + --rounded-box: 0.4rem; + --rounded-btn: 0.2rem; + --rounded-badge: 0.4rem; + --tab-radius: 0.2rem; +} + +[data-theme=cyberpunk] { + color-scheme: light; + --b2: 87.8943% 0.16647 104.32; + --b3: 81.2786% 0.15394 104.32; + --in: 72.06% 0.191 231.6; + --su: 64.8% 0.150 160; + --wa: 84.71% 0.199 83.87; + --er: 71.76% 0.221 22.18; + --bc: 18.902% 0.0358 104.32; + --pc: 14.844% 0.0418 6.35; + --sc: 16.666% 0.0368 204.72; + --ac: 14.372% 0.04352 310.43; + --inc: 0% 0 0; + --suc: 0% 0 0; + --wac: 0% 0 0; + --erc: 0% 0 0; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace; + --p: 74.22% 0.209 6.35; + --s: 83.33% 0.184 204.72; + --a: 71.86% 0.2176 310.43; + --n: 23.04% 0.065 269.31; + --nc: 94.51% 0.179 104.32; + --b1: 94.51% 0.179 104.32; + --rounded-box: 0; + --rounded-btn: 0; + --rounded-badge: 0; + --tab-radius: 0; +} + +[data-theme=pastel] { + color-scheme: light; + --in: 72.06% 0.191 231.6; + --su: 64.8% 0.150 160; + --wa: 84.71% 0.199 83.87; + --er: 71.76% 0.221 22.18; + --bc: 20% 0 0; + --pc: 16.6166% 0.006979 316.8737; + --sc: 17.6153% 0.009839 8.688364; + --ac: 17.8419% 0.012056 170.923263; + --nc: 14.2681% 0.014702 228.183906; + --inc: 0% 0 0; + --suc: 0% 0 0; + --wac: 0% 0 0; + --erc: 0% 0 0; + --rounded-box: 1rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --p: 83.0828% 0.034896 316.8737; + --s: 88.0763% 0.049197 8.688364; + --a: 89.2096% 0.06028 170.923263; + --n: 71.3406% 0.07351 228.183906; + --b1: 100% 0 0; + --b2: 98.4625% 0.001706 247.838921; + --b3: 87.1681% 0.009339 258.338227; + --rounded-btn: 1.9rem; + --tab-radius: 0.7rem; +} + +[data-theme=cupcake] { + color-scheme: light; + --in: 72.06% 0.191 231.6; + --su: 64.8% 0.150 160; + --wa: 84.71% 0.199 83.87; + --er: 71.76% 0.221 22.18; + --pc: 15.2344% 0.017892 200.026556; + --sc: 15.787% 0.020249 356.29965; + --ac: 15.8762% 0.029206 78.618794; + --nc: 84.7148% 0.013247 313.189598; + --inc: 0% 0 0; + --suc: 0% 0 0; + --wac: 0% 0 0; + --erc: 0% 0 0; + --rounded-box: 1rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --p: 76.172% 0.089459 200.026556; + --s: 78.9351% 0.101246 356.29965; + --a: 79.3811% 0.146032 78.618794; + --n: 23.5742% 0.066235 313.189598; + --b1: 97.7882% 0.00418 56.375637; + --b2: 93.9822% 0.007638 61.449292; + --b3: 91.5861% 0.006811 53.440502; + --bc: 23.5742% 0.066235 313.189598; + --rounded-btn: 1.9rem; + --tab-border: 2px; + --tab-radius: 0.7rem; +} + +[data-theme=night] { + color-scheme: dark; + --b2: 19.3144% 0.037037 265.754874; + --b3: 17.8606% 0.034249 265.754874; + --bc: 84.1536% 0.007965 265.754874; + --pc: 15.0703% 0.027798 232.66148; + --sc: 13.6023% 0.031661 276.934902; + --ac: 14.4721% 0.035244 350.048739; + --nc: 85.5899% 0.00737 260.030984; + --suc: 15.6904% 0.026506 181.911977; + --wac: 16.6486% 0.027912 82.95003; + --erc: 14.3572% 0.034051 13.11834; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --p: 75.3513% 0.138989 232.66148; + --s: 68.0113% 0.158303 276.934902; + --a: 72.3603% 0.176218 350.048739; + --n: 27.9495% 0.036848 260.030984; + --b1: 20.7682% 0.039824 265.754874; + --in: 68.4553% 0.148062 237.25135; + --inc: 0% 0 0; + --su: 78.452% 0.132529 181.911977; + --wa: 83.2428% 0.139558 82.95003; + --er: 71.7858% 0.170255 13.11834; +} + +[data-theme=catppuccin-latte] { + --p: 55.8617% 0.225503 262.086649; + --b2: 89.0718% 0.005363 264.532118; + --b3: 82.3674% 0.004959 264.532118; + --bc: 19.1552% 0.001153 264.532118; + --pc: 91.1723% 0.045101 262.086649; + --sc: 14.5112% 0.034787 338.43335; + --ac: 12.0454% 0.019623 201.104736; + --nc: 18.1193% 0.002343 264.50709; + --inc: 12.9549% 0.021354 212.88927; + --suc: 12.5009% 0.035432 140.444831; + --wac: 14.2798% 0.029888 67.77666; + --erc: 91.0095% 0.043103 19.809469; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 72.556% 0.173933 338.43335; + --a: 60.2269% 0.098115 201.104736; + --n: 90.5965% 0.011716 264.50709; + --b1: 95.7761% 0.005767 264.532118; + --in: 64.7744% 0.106769 212.88927; + --su: 62.5044% 0.177158 140.444831; + --wa: 71.3992% 0.149442 67.77666; + --er: 55.0474% 0.215514 19.809469; +} + +[data-theme=catppuccin-frappe] { + --p: 74.201% 0.104444 265.663191; + --b2: 30.6039% 0.030124 274.758047; + --b3: 28.3004% 0.027857 274.758047; + --bc: 86.5815% 0.006478 274.758047; + --pc: 14.8402% 0.020889 265.663191; + --sc: 17.0074% 0.017848 336.263323; + --ac: 15.6596% 0.014592 184.64495; + --nc: 85.44% 0.005277 275.115406; + --inc: 15.5911% 0.014535 227.879675; + --suc: 16.2475% 0.021412 133.391909; + --wac: 16.8863% 0.015909 83.471653; + --erc: 14.342% 0.024874 19.385917; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 85.0369% 0.089242 336.263323; + --a: 78.298% 0.072961 184.64495; + --n: 27.2002% 0.026387 275.115406; + --b1: 32.9074% 0.032391 274.758047; + --in: 77.9553% 0.072675 227.879675; + --su: 81.2374% 0.107061 133.391909; + --wa: 84.4316% 0.079543 83.471653; + --er: 71.7099% 0.124368 19.385917; +} + +[data-theme=catppuccin-macchiato] { + --p: 74.9728% 0.110096 263.810327; + --b2: 25.9292% 0.032867 276.936817; + --b3: 23.9775% 0.030393 276.936817; + --bc: 85.5762% 0.007068 276.936817; + --pc: 14.9946% 0.022019 263.810327; + --sc: 17.2161% 0.016605 336.179912; + --ac: 16.4272% 0.015101 184.100005; + --nc: 84.3761% 0.005091 280.657239; + --inc: 15.7015% 0.016904 228.377962; + --suc: 16.6997% 0.021582 138.150316; + --wac: 17.5798% 0.014888 84.750978; + --erc: 14.74% 0.025031 11.194331; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 86.0804% 0.083027 336.179912; + --a: 82.1358% 0.075506 184.100005; + --n: 21.8806% 0.025457 280.657239; + --b1: 27.8808% 0.035341 276.936817; + --in: 78.5077% 0.084521 228.377962; + --su: 83.4985% 0.10791 138.150316; + --wa: 87.8989% 0.074442 84.750978; + --er: 73.7% 0.125156 11.194331; +} + +[data-theme=catppuccin-mocha] { + --p: 76.642% 0.111344 259.884973; + --b2: 22.5866% 0.028232 283.910973; + --b3: 20.8866% 0.026107 283.910973; + --bc: 84.8573% 0.006071 283.910973; + --pc: 15.3284% 0.022269 259.884973; + --sc: 17.4007% 0.015032 336.304106; + --ac: 17.1698% 0.015841 182.74949; + --nc: 83.6556% 0.004075 284.203852; + --inc: 15.813% 0.019298 228.652668; + --suc: 17.1541% 0.021846 142.715274; + --wac: 18.3861% 0.014083 86.528084; + --erc: 15.1118% 0.02594 2.764177; + --rounded-box: 1rem; + --rounded-btn: 0.5rem; + --rounded-badge: 1.9rem; + --animation-btn: 0.25s; + --animation-input: .2s; + --btn-focus-scale: 0.95; + --border-btn: 1px; + --tab-border: 1px; + --tab-radius: 0.5rem; + --s: 87.0033% 0.075158 336.304106; + --a: 85.8489% 0.079207 182.74949; + --n: 18.2782% 0.020375 284.203852; + --b1: 24.2867% 0.030357 283.910973; + --in: 79.065% 0.09649 228.652668; + --su: 85.7704% 0.109229 142.715274; + --wa: 91.9303% 0.070415 86.528084; + --er: 75.5592% 0.129702 2.764177; +} + :root { + --background: 0 0% 100%; + --foreground: 240 10% 3.9%; + --card: 0 0% 100%; + --card-foreground: 240 10% 3.9%; + --popover: 0 0% 100%;; + --popover-foreground: 240 10% 3.9%; + --primary: 240 5.9% 10%; + --primary-foreground: 0 0% 98%; + --secondary: 240 4.8% 95.9%; + --secondary-foreground: 240 5.9% 10%; + --muted: 240 4.8% 95.9%; + --muted-foreground: 240 3.8% 46.1%; + --accent: 240 4.8% 95.9%; + --accent-foreground: 240 5.9% 10%; + --destructive: 0 72.22% 50.59%; + --destructive-foreground: 0 0% 98%; + --border: 240 5.9% 90%; + --input: 240 5.9% 90%; + --ring: 240 5.9% 10%; + --radius: 0.5rem; + } + + .dark { + --background: 240 10% 3.9%; + --foreground: 0 0% 98%; + --card: 240 10% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 240 10% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 240 5.9% 10%; + --secondary: 240 3.7% 15.9%; + --secondary-foreground: 0 0% 98%; + --muted: 240 3.7% 15.9%; + --muted-foreground: 240 5% 64.9%; + --accent: 240 3.7% 15.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 240 3.7% 15.9%; + --input: 240 3.7% 15.9%; + --ring: 240 4.9% 83.9%; + } + *, ::before, ::after { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; @@ -764,7 +1240,6 @@ select { --tw-contain-paint: ; --tw-contain-style: ; } - .container { width: 100%; margin-right: auto; @@ -772,930 +1247,4042 @@ select { padding-right: 2rem; padding-left: 2rem; } - @media (min-width: 1400px) { + .container { max-width: 1400px; } } - -.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; +.alert { + display: grid; + width: 100%; + grid-auto-flow: row; + align-content: flex-start; + align-items: center; + justify-items: center; + gap: 1rem; + text-align: center; + border-radius: var(--rounded-box, 1rem); + border-width: 1px; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + padding: 1rem; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-b2,oklch(var(--b2)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); + background-color: var(--alert-bg); } +@media (min-width: 640px) { -.pointer-events-none { - pointer-events: none; + .alert { + grid-auto-flow: column; + grid-template-columns: auto minmax(auto,1fr); + justify-items: start; + text-align: start; + } } - -.visible { - visibility: visible; +.artboard { + width: 100%; } - -.collapse { - visibility: collapse; +.avatar { + position: relative; + display: inline-flex; } - -.fixed { - position: fixed; +.avatar > div { + display: block; + aspect-ratio: 1 / 1; + overflow: hidden; } - -.absolute { - position: absolute; +.avatar img { + height: 100%; + width: 100%; + -o-object-fit: cover; + object-fit: cover; } - -.relative { - position: relative; +.avatar.placeholder > div { + display: flex; + align-items: center; + justify-content: center; } - -.left-0 { - left: 0px; +.badge { + display: inline-flex; + align-items: center; + justify-content: center; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; + height: 1.25rem; + font-size: 0.875rem; + line-height: 1.25rem; + width: -moz-fit-content; + width: fit-content; + padding-left: 0.563rem; + padding-right: 0.563rem; + border-radius: var(--rounded-badge, 1.9rem); + border-width: 1px; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); } - -.left-2 { - left: 0.5rem; +.btm-nav { + position: fixed; + bottom: 0px; + left: 0px; + right: 0px; + display: flex; + width: 100%; + flex-direction: row; + align-items: center; + justify-content: space-around; + padding-bottom: env(safe-area-inset-bottom); + height: 4rem; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + color: currentColor; } - -.left-5 { - left: 1.25rem; +.btm-nav > * { + position: relative; + display: flex; + height: 100%; + flex-basis: 100%; + cursor: pointer; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 0.25rem; + border-color: currentColor; } +@media (hover:hover) { -.left-\[max\(-7rem\2c calc\(50\%-52rem\)\)\] { - left: max(-7rem,calc(50% - 52rem)); -} + .label a:hover { + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + } -.left-\[max\(45rem\2c calc\(50\%\+8rem\)\)\] { - left: max(45rem,calc(50% + 8rem)); -} + .menu li > *:not(ul, .menu-title, details, .btn):active, +.menu li > *:not(ul, .menu-title, details, .btn).active, +.menu li > details > summary:active { + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); + } -.right-0 { - right: 0px; -} + .tab:hover { + --tw-text-opacity: 1; + } -.right-5 { - right: 1.25rem; -} + .tabs-boxed :is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):hover, .tabs-boxed :is(input:checked):hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } -.top-0 { - top: 0px; -} + .table tr.hover:hover, + .table tr.hover:nth-child(even):hover { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + } -.top-1 { - top: 0.25rem; + .table-zebra tr.hover:hover, + .table-zebra tr.hover:nth-child(even):hover { + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } } - -.top-1\/2 { - top: 50%; +.btn { + display: inline-flex; + height: 3rem; + min-height: 3rem; + flex-shrink: 0; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + flex-wrap: wrap; + align-items: center; + justify-content: center; + border-radius: var(--rounded-btn, 0.5rem); + border-color: transparent; + border-color: oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity)); + padding-left: 1rem; + padding-right: 1rem; + text-align: center; + font-size: 0.875rem; + line-height: 1em; + gap: 0.5rem; + font-weight: 600; + text-decoration-line: none; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + border-width: var(--border-btn, 1px); + transition-property: color, background-color, border-color, opacity, box-shadow, transform; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --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); + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); + background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity)); + --tw-bg-opacity: 1; + --tw-border-opacity: 1; } - -.isolate { - isolation: isolate; +.btn-disabled, + .btn[disabled], + .btn:disabled { + pointer-events: none; } - -.-z-10 { - z-index: -10; +.btn-circle { + height: 3rem; + width: 3rem; + border-radius: 9999px; + padding: 0px; } - -.z-20 { - z-index: 20; +:where(.btn:is(input[type="checkbox"])), +:where(.btn:is(input[type="radio"])) { + width: auto; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } - -.z-40 { - z-index: 40; +.btn:is(input[type="checkbox"]):after, +.btn:is(input[type="radio"]):after { + --tw-content: attr(aria-label); + content: var(--tw-content); } - -.-m-3 { - margin: -0.75rem; +.card { + position: relative; + display: flex; + flex-direction: column; + border-radius: var(--rounded-box, 1rem); } - -.m-2 { - margin: 0.5rem; +.card:focus { + outline: 2px solid transparent; + outline-offset: 2px; } - -.mx-2 { - margin-left: 0.5rem; - margin-right: 0.5rem; +.card-body { + display: flex; + flex: 1 1 auto; + flex-direction: column; + padding: var(--padding-card, 2rem); + gap: 0.5rem; } - -.mx-auto { - margin-left: auto; - margin-right: auto; +.card-body :where(p) { + flex-grow: 1; } - -.my-12 { - margin-top: 3rem; - margin-bottom: 3rem; +.card figure { + display: flex; + align-items: center; + justify-content: center; } - -.my-24 { - margin-top: 6rem; - margin-bottom: 6rem; +.card.image-full { + display: grid; } - -.-ml-1 { - margin-left: -0.25rem; +.card.image-full:before { + position: relative; + content: ""; + z-index: 10; + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + opacity: 0.75; } - -.mb-0 { - margin-bottom: 0px; +.card.image-full:before, + .card.image-full > * { + grid-column-start: 1; + grid-row-start: 1; +} +.card.image-full > figure img { + height: 100%; + -o-object-fit: cover; + object-fit: cover; +} +.card.image-full > .card-body { + position: relative; + z-index: 20; + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); +} +.carousel { + display: inline-flex; + overflow-x: scroll; + scroll-snap-type: x mandatory; + scroll-behavior: smooth; + -ms-overflow-style: none; + scrollbar-width: none; +} +.carousel-item { + box-sizing: content-box; + display: flex; + flex: none; + scroll-snap-align: start; +} +.carousel-start .carousel-item { + scroll-snap-align: start; +} +.carousel-center .carousel-item { + scroll-snap-align: center; +} +.carousel-end .carousel-item { + scroll-snap-align: end; +} +.checkbox { + flex-shrink: 0; + --chkbg: var(--fallback-bc,oklch(var(--bc)/1)); + --chkfg: var(--fallback-b1,oklch(var(--b1)/1)); + height: 1.5rem; + width: 1.5rem; + cursor: pointer; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; +} +.collapse:not(td):not(tr):not(colgroup) { + visibility: visible; +} +.collapse { + position: relative; + display: grid; + overflow: hidden; + grid-template-rows: auto 0fr; + transition: grid-template-rows 0.2s; + width: 100%; + border-radius: var(--rounded-box, 1rem); +} +.collapse-title, +.collapse > input[type="checkbox"], +.collapse > input[type="radio"], +.collapse-content { + grid-column-start: 1; + grid-row-start: 1; +} +.collapse > input[type="checkbox"], +.collapse > input[type="radio"] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + opacity: 0; +} +.collapse-content { + visibility: hidden; + grid-column-start: 1; + grid-row-start: 2; + min-height: 0px; + transition: visibility 0.2s; + transition: padding 0.2s ease-out, + background-color 0.2s ease-out; + padding-left: 1rem; + padding-right: 1rem; + cursor: unset; +} +.collapse[open], +.collapse-open, +.collapse:focus:not(.collapse-close) { + grid-template-rows: auto 1fr; +} +.collapse:not(.collapse-close):has(> input[type="checkbox"]:checked), +.collapse:not(.collapse-close):has(> input[type="radio"]:checked) { + grid-template-rows: auto 1fr; +} +.collapse[open] > .collapse-content, +.collapse-open > .collapse-content, +.collapse:focus:not(.collapse-close) > .collapse-content, +.collapse:not(.collapse-close) > input[type="checkbox"]:checked ~ .collapse-content, +.collapse:not(.collapse-close) > input[type="radio"]:checked ~ .collapse-content { + visibility: visible; + min-height: -moz-fit-content; + min-height: fit-content; +} +.divider { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; + margin-top: 1rem; + margin-bottom: 1rem; + height: 1rem; + white-space: nowrap; +} +.divider:before, + .divider:after { + height: 0.125rem; + width: 100%; + flex-grow: 1; + --tw-content: ''; + content: var(--tw-content); + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); +} +.dropdown { + position: relative; + display: inline-block; +} +.dropdown > *:not(summary):focus { + outline: 2px solid transparent; + outline-offset: 2px; +} +.dropdown .dropdown-content { + position: absolute; +} +.dropdown:is(:not(details)) .dropdown-content { + visibility: hidden; + opacity: 0; + transform-origin: top; + --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)); + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; +} +.dropdown-end .dropdown-content { + inset-inline-end: 0px; +} +.dropdown-left .dropdown-content { + bottom: auto; + inset-inline-end: 100%; + top: 0px; + transform-origin: right; +} +.dropdown-right .dropdown-content { + bottom: auto; + inset-inline-start: 100%; + top: 0px; + transform-origin: left; +} +.dropdown-bottom .dropdown-content { + bottom: auto; + top: 100%; + transform-origin: top; +} +.dropdown-top .dropdown-content { + bottom: 100%; + top: auto; + transform-origin: bottom; +} +.dropdown-end.dropdown-right .dropdown-content { + bottom: 0px; + top: auto; +} +.dropdown-end.dropdown-left .dropdown-content { + bottom: 0px; + top: auto; +} +.dropdown.dropdown-open .dropdown-content, +.dropdown:not(.dropdown-hover):focus .dropdown-content, +.dropdown:focus-within .dropdown-content { + visibility: visible; + opacity: 1; +} +@media (hover: hover) { + + .dropdown.dropdown-hover:hover .dropdown-content { + visibility: visible; + opacity: 1; + } + + .btm-nav > *.disabled:hover, + .btm-nav > *[disabled]:hover { + pointer-events: none; + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } + + .btn:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .btn:hover { + background-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%, + black + ); + border-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%, + black + ); + } + } + + @supports not (color: oklch(0% 0 0)) { + + .btn:hover { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + } + + .btn.glass:hover { + --glass-opacity: 25%; + --glass-border-opacity: 15%; + } + + .btn-ghost:hover { + border-color: transparent; + } + + @supports (color: oklch(0% 0 0)) { + + .btn-ghost:hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + } + } + + .btn-link:hover { + border-color: transparent; + background-color: transparent; + text-decoration-line: underline; + } + + .btn-outline:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity))); + } + + .btn-outline.btn-primary:hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .btn-outline.btn-primary:hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .btn-outline.btn-secondary:hover { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .btn-outline.btn-secondary:hover { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + } + + .btn-outline.btn-accent:hover { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .btn-outline.btn-accent:hover { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + } + + .btn-outline.btn-success:hover { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .btn-outline.btn-success:hover { + background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + } + } + + .btn-outline.btn-info:hover { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .btn-outline.btn-info:hover { + background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + } + } + + .btn-outline.btn-warning:hover { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .btn-outline.btn-warning:hover { + background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + } + } + + .btn-outline.btn-error:hover { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .btn-outline.btn-error:hover { + background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + } + } + + .btn-disabled:hover, + .btn[disabled]:hover, + .btn:disabled:hover { + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.2; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } + + @supports (color: color-mix(in oklab, black, black)) { + + .btn:is(input[type="checkbox"]:checked):hover, .btn:is(input[type="radio"]:checked):hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .dropdown.dropdown-hover:hover .dropdown-content { + --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)); + } + + :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + cursor: pointer; + outline: 2px solid transparent; + outline-offset: 2px; + } + + @supports (color: oklch(0% 0 0)) { + + :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(.active, .btn):hover, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(.active, .btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); + } + } + + .tab[disabled], + .tab[disabled]:hover { + cursor: not-allowed; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } +} +.dropdown:is(details) summary::-webkit-details-marker { + display: none; +} +.footer { + display: grid; + width: 100%; + grid-auto-flow: row; + place-items: start; + -moz-column-gap: 1rem; + column-gap: 1rem; + row-gap: 2.5rem; + font-size: 0.875rem; + line-height: 1.25rem; +} +.footer > * { + display: grid; + place-items: start; + gap: 0.5rem; +} +.footer-center { + place-items: center; + text-align: center; +} +.footer-center > * { + place-items: center; +} +@media (min-width: 48rem) { + + .footer { + grid-auto-flow: column; + } + + .footer-center { + grid-auto-flow: row dense; + } +} +.form-control { + display: flex; + flex-direction: column; +} +.label { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + align-items: center; + justify-content: space-between; + padding-left: 0.25rem; + padding-right: 0.25rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.input { + flex-shrink: 1; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 3rem; + padding-left: 1rem; + padding-right: 1rem; + font-size: 1rem; + line-height: 2; + line-height: 1.5rem; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.input[type="number"]::-webkit-inner-spin-button, +.input-md[type="number"]::-webkit-inner-spin-button { + margin-top: -1rem; + margin-bottom: -1rem; + margin-inline-end: -1rem; +} +.input-sm[type="number"]::-webkit-inner-spin-button { + margin-top: 0px; + margin-bottom: 0px; + margin-inline-end: -0px; +} +.join { + display: inline-flex; + align-items: stretch; + border-radius: var(--rounded-btn, 0.5rem); +} +.join :where(.join-item) { + border-start-end-radius: 0; + border-end-end-radius: 0; + border-end-start-radius: 0; + border-start-start-radius: 0; +} +.join .join-item:not(:first-child):not(:last-child), + .join *:not(:first-child):not(:last-child) .join-item { + border-start-end-radius: 0; + border-end-end-radius: 0; + border-end-start-radius: 0; + border-start-start-radius: 0; +} +.join .join-item:first-child:not(:last-child), + .join *:first-child:not(:last-child) .join-item { + border-start-end-radius: 0; + border-end-end-radius: 0; +} +.join .dropdown .join-item:first-child:not(:last-child), + .join *:first-child:not(:last-child) .dropdown .join-item { + border-start-end-radius: inherit; + border-end-end-radius: inherit; +} +.join :where(.join-item:first-child:not(:last-child)), + .join :where(*:first-child:not(:last-child) .join-item) { + border-end-start-radius: inherit; + border-start-start-radius: inherit; +} +.join .join-item:last-child:not(:first-child), + .join *:last-child:not(:first-child) .join-item { + border-end-start-radius: 0; + border-start-start-radius: 0; +} +.join :where(.join-item:last-child:not(:first-child)), + .join :where(*:last-child:not(:first-child) .join-item) { + border-start-end-radius: inherit; + border-end-end-radius: inherit; +} +@supports not selector(:has(*)) { + + :where(.join *) { + border-radius: inherit; + } +} +@supports selector(:has(*)) { + + :where(.join *:has(.join-item)) { + border-radius: inherit; + } +} +.kbd { + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + padding-left: 0.5rem; + padding-right: 0.5rem; + border-bottom-width: 2px; + min-height: 2.2em; + min-width: 2.2em; +} +.link { + cursor: pointer; + text-decoration-line: underline; +} +.menu { + display: flex; + flex-direction: column; + flex-wrap: wrap; + font-size: 0.875rem; + line-height: 1.25rem; + padding: 0.5rem; +} +.menu :where(li ul) { + position: relative; + white-space: nowrap; + margin-inline-start: 1rem; + padding-inline-start: 0.5rem; +} +.menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), .menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + display: grid; + grid-auto-flow: column; + align-content: flex-start; + align-items: center; + gap: 0.5rem; + grid-auto-columns: minmax(auto, max-content) auto max-content; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.menu li.disabled { + cursor: not-allowed; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + color: var(--fallback-bc,oklch(var(--bc)/0.3)); +} +.menu :where(li > .menu-dropdown:not(.menu-dropdown-show)) { + display: none; +} +:where(.menu li) { + position: relative; + display: flex; + flex-shrink: 0; + flex-direction: column; + flex-wrap: wrap; + align-items: stretch; +} +:where(.menu li) .badge { + justify-self: end; +} +.mockup-browser { + position: relative; + overflow: hidden; + overflow-x: auto; + border-radius: var(--rounded-box, 1rem); +} +.mockup-browser pre[data-prefix]:before { + content: attr(data-prefix); + display: inline-block; + text-align: right; +} +.navbar { + display: flex; + align-items: center; + padding: var(--navbar-padding, 0.5rem); + min-height: 4rem; + width: 100%; +} +:where(.navbar > *:not(script, style)) { + display: inline-flex; + align-items: center; +} +.progress { + position: relative; + width: 100%; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + overflow: hidden; + height: 0.5rem; + border-radius: var(--rounded-box, 1rem); + background-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.radio { + flex-shrink: 0; + --chkbg: var(--bc); + height: 1.5rem; + width: 1.5rem; + cursor: pointer; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 9999px; + border-width: 1px; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; +} +.range { + height: 1.5rem; + width: 100%; + cursor: pointer; + -moz-appearance: none; + appearance: none; + -webkit-appearance: none; + --range-shdw: var(--fallback-bc,oklch(var(--bc)/1)); + overflow: hidden; + border-radius: var(--rounded-box, 1rem); + background-color: transparent; +} +.range:focus { + outline: none; +} +.select { + display: inline-flex; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 3rem; + min-height: 3rem; + padding-left: 1rem; + padding-right: 2.5rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), + linear-gradient(135deg, currentColor 50%, transparent 50%); + background-position: calc(100% - 20px) calc(1px + 50%), + calc(100% - 16.1px) calc(1px + 50%); + background-size: 4px 4px, + 4px 4px; + background-repeat: no-repeat; +} +.select[multiple] { + height: auto; +} +.stats { + display: inline-grid; + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} +:where(.stats) { + grid-auto-flow: column; + overflow-x: auto; +} +.stat { + display: inline-grid; + width: 100%; + grid-template-columns: repeat(1, 1fr); + -moz-column-gap: 1rem; + column-gap: 1rem; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.1; + padding-left: 1.5rem; + padding-right: 1.5rem; + padding-top: 1rem; + padding-bottom: 1rem; +} +.stat-figure { + grid-column-start: 2; + grid-row: span 3 / span 3; + grid-row-start: 1; + place-self: center; + justify-self: end; +} +.stat-title { + grid-column-start: 1; + white-space: nowrap; + color: var(--fallback-bc,oklch(var(--bc)/0.6)); +} +.stat-value { + grid-column-start: 1; + white-space: nowrap; + font-size: 2.25rem; + line-height: 2.5rem; + font-weight: 800; +} +.stat-desc { + grid-column-start: 1; + white-space: nowrap; + font-size: 0.75rem; + line-height: 1rem; + color: var(--fallback-bc,oklch(var(--bc)/0.6)); +} +.swap { + position: relative; + display: inline-grid; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + place-content: center; + cursor: pointer; +} +.swap > * { + grid-column-start: 1; + grid-row-start: 1; + transition-duration: 300ms; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-property: transform, opacity; +} +.swap input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.swap .swap-on, +.swap .swap-indeterminate, +.swap input:indeterminate ~ .swap-on { + opacity: 0; +} +.swap input:checked ~ .swap-off, +.swap-active .swap-off, +.swap input:indeterminate ~ .swap-off { + opacity: 0; +} +.swap input:checked ~ .swap-on, +.swap-active .swap-on, +.swap input:indeterminate ~ .swap-indeterminate { + opacity: 1; +} +.tabs-lifted:has(.tab-content[class^="rounded-"]) .tab:first-child:not(:is(.tab-active, [aria-selected="true"])), .tabs-lifted:has(.tab-content[class*=" rounded-"]) .tab:first-child:not(:is(.tab-active, [aria-selected="true"])) { + border-bottom-color: transparent; +} +.tab { + position: relative; + grid-row-start: 1; + display: inline-flex; + height: 2rem; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + flex-wrap: wrap; + align-items: center; + justify-content: center; + text-align: center; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + --tab-padding: 1rem; + --tw-text-opacity: 0.5; + --tab-color: var(--fallback-bc,oklch(var(--bc)/1)); + --tab-bg: var(--fallback-b1,oklch(var(--b1)/1)); + --tab-border-color: var(--fallback-b3,oklch(var(--b3)/1)); + color: var(--tab-color); + padding-inline-start: var(--tab-padding, 1rem); + padding-inline-end: var(--tab-padding, 1rem); +} +.tab:is(input[type="radio"]) { + width: auto; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; +} +.tab:is(input[type="radio"]):after { + --tw-content: attr(aria-label); + content: var(--tw-content); +} +.tab:not(input):empty { + cursor: default; + grid-column-start: span 9999; +} +.tab-content { + grid-column-start: 1; + grid-column-end: span 9999; + grid-row-start: 2; + margin-top: calc(var(--tab-border) * -1); + display: none; + border-color: transparent; + border-width: var(--tab-border, 0); +} +:checked + .tab-content:nth-child(2), + :is(.tab-active, [aria-selected="true"]) + .tab-content:nth-child(2) { + border-start-start-radius: 0px; +} +input.tab:checked + .tab-content, +:is(.tab-active, [aria-selected="true"]) + .tab-content { + display: block; +} +.table { + position: relative; + width: 100%; + border-radius: var(--rounded-box, 1rem); + text-align: left; + font-size: 0.875rem; + line-height: 1.25rem; +} +.table :where(.table-pin-rows thead tr) { + position: sticky; + top: 0px; + z-index: 1; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.table :where(.table-pin-rows tfoot tr) { + position: sticky; + bottom: 0px; + z-index: 1; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.table :where(.table-pin-cols tr th) { + position: sticky; + left: 0px; + right: 0px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.table-zebra tbody tr:nth-child(even) :where(.table-pin-cols tr th) { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); +} +.textarea { + min-height: 3rem; + flex-shrink: 1; + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.toggle { + flex-shrink: 0; + --tglbg: var(--fallback-b1,oklch(var(--b1)/1)); + --handleoffset: 1.5rem; + --handleoffsetcalculator: calc(var(--handleoffset) * -1); + --togglehandleborder: 0 0; + height: 1.5rem; + width: 3rem; + cursor: pointer; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: var(--rounded-badge, 1.9rem); + border-width: 1px; + border-color: currentColor; + background-color: currentColor; + color: var(--fallback-bc,oklch(var(--bc)/0.5)); + transition: background, + box-shadow var(--animation-input, 0.2s) ease-out; + box-shadow: var(--handleoffsetcalculator) 0 0 2px var(--tglbg) inset, + 0 0 0 2px var(--tglbg) inset, + var(--togglehandleborder); +} +.alert-success { + border-color: var(--fallback-su,oklch(var(--su)/0.2)); + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + --alert-bg: var(--fallback-su,oklch(var(--su)/1)); + --alert-bg-mix: var(--fallback-b1,oklch(var(--b1)/1)); +} +.avatar-group { + display: flex; + overflow: hidden; +} +.avatar-group :where(.avatar) { + overflow: hidden; + border-radius: 9999px; + border-width: 4px; + --tw-border-opacity: 1; + border-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-border-opacity))); +} +.btm-nav > *:not(.active) { + padding-top: 0.125rem; +} +.btm-nav > *:where(.active) { + border-top-width: 2px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.btm-nav > *.disabled, + .btm-nav > *[disabled] { + pointer-events: none; + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} +.btm-nav > * .label { + font-size: 1rem; + line-height: 1.5rem; +} +@media (prefers-reduced-motion: no-preference) { + + .btn { + animation: button-pop var(--animation-btn, 0.25s) ease-out; + } +} +.btn:active:hover, + .btn:active:focus { + animation: button-pop 0s ease-out; + transform: scale(var(--btn-focus-scale, 0.97)); +} +@supports not (color: oklch(0% 0 0)) { + + .btn { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + + .btn-primary { + --btn-color: var(--fallback-p); + } + + .btn-secondary { + --btn-color: var(--fallback-s); + } + + .btn-accent { + --btn-color: var(--fallback-a); + } + + .btn-info { + --btn-color: var(--fallback-in); + } + + .btn-success { + --btn-color: var(--fallback-su); + } + + .btn-warning { + --btn-color: var(--fallback-wa); + } + + .btn-error { + --btn-color: var(--fallback-er); + } +} +@supports (color: color-mix(in oklab, black, black)) { + + .btn-active { + background-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b3)) / var(--tw-bg-opacity, 1)) 90%, + black + ); + border-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b3)) / var(--tw-border-opacity, 1)) 90%, + black + ); + } + + .btn-outline.btn-primary.btn-active { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + + .btn-outline.btn-secondary.btn-active { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + + .btn-outline.btn-accent.btn-active { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + + .btn-outline.btn-success.btn-active { + background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + } + + .btn-outline.btn-info.btn-active { + background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + } + + .btn-outline.btn-warning.btn-active { + background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + } + + .btn-outline.btn-error.btn-active { + background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + } +} +.btn:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; +} +.btn-primary { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} +@supports (color: oklch(0% 0 0)) { + + .btn-primary { + --btn-color: var(--p); + } + + .btn-secondary { + --btn-color: var(--s); + } + + .btn-accent { + --btn-color: var(--a); + } + + .btn-info { + --btn-color: var(--in); + } + + .btn-success { + --btn-color: var(--su); + } + + .btn-warning { + --btn-color: var(--wa); + } + + .btn-error { + --btn-color: var(--er); + } +} +.btn-secondary { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + outline-color: var(--fallback-s,oklch(var(--s)/1)); +} +.btn-accent { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + outline-color: var(--fallback-a,oklch(var(--a)/1)); +} +.btn-info { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + outline-color: var(--fallback-in,oklch(var(--in)/1)); +} +.btn-success { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + outline-color: var(--fallback-su,oklch(var(--su)/1)); +} +.btn-warning { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + outline-color: var(--fallback-wa,oklch(var(--wa)/1)); +} +.btn-error { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + outline-color: var(--fallback-er,oklch(var(--er)/1)); +} +.btn.glass { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + outline-color: currentColor; +} +.btn.glass.btn-active { + --glass-opacity: 25%; + --glass-border-opacity: 15%; +} +.btn-ghost { + border-width: 1px; + border-color: transparent; + background-color: transparent; + color: currentColor; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + outline-color: currentColor; +} +.btn-ghost.btn-active { + border-color: transparent; + background-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.btn-link { + border-color: transparent; + background-color: transparent; + --tw-text-opacity: 1; + color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity))); + text-decoration-line: underline; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + outline-color: currentColor; +} +.btn-link.btn-active { + border-color: transparent; + background-color: transparent; + text-decoration-line: underline; +} +.btn-outline { + border-color: currentColor; + background-color: transparent; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.btn-outline.btn-active { + --tw-border-opacity: 1; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity))); +} +.btn-outline.btn-primary { + --tw-text-opacity: 1; + color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity))); +} +.btn-outline.btn-primary.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} +.btn-outline.btn-secondary { + --tw-text-opacity: 1; + color: var(--fallback-s,oklch(var(--s)/var(--tw-text-opacity))); +} +.btn-outline.btn-secondary.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); +} +.btn-outline.btn-accent { + --tw-text-opacity: 1; + color: var(--fallback-a,oklch(var(--a)/var(--tw-text-opacity))); +} +.btn-outline.btn-accent.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); +} +.btn-outline.btn-success { + --tw-text-opacity: 1; + color: var(--fallback-su,oklch(var(--su)/var(--tw-text-opacity))); +} +.btn-outline.btn-success.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); +} +.btn-outline.btn-info { + --tw-text-opacity: 1; + color: var(--fallback-in,oklch(var(--in)/var(--tw-text-opacity))); +} +.btn-outline.btn-info.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); +} +.btn-outline.btn-warning { + --tw-text-opacity: 1; + color: var(--fallback-wa,oklch(var(--wa)/var(--tw-text-opacity))); +} +.btn-outline.btn-warning.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); +} +.btn-outline.btn-error { + --tw-text-opacity: 1; + color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity))); +} +.btn-outline.btn-error.btn-active { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); +} +.btn.btn-disabled, + .btn[disabled], + .btn:disabled { + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.2; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} +.btn:is(input[type="checkbox"]:checked), +.btn:is(input[type="radio"]:checked) { + --tw-border-opacity: 1; + border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} +.btn:is(input[type="checkbox"]:checked):focus-visible, .btn:is(input[type="radio"]:checked):focus-visible { + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} +@keyframes button-pop { + + 0% { + transform: scale(var(--btn-focus-scale, 0.98)); + } + + 40% { + transform: scale(1.02); + } + + 100% { + transform: scale(1); + } +} +.card :where(figure:first-child) { + overflow: hidden; + border-start-start-radius: inherit; + border-start-end-radius: inherit; + border-end-start-radius: unset; + border-end-end-radius: unset; +} +.card :where(figure:last-child) { + overflow: hidden; + border-start-start-radius: unset; + border-start-end-radius: unset; + border-end-start-radius: inherit; + border-end-end-radius: inherit; +} +.card:focus-visible { + outline: 2px solid currentColor; + outline-offset: 2px; +} +.card.bordered { + border-width: 1px; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); +} +.card.compact .card-body { + padding: 1rem; + font-size: 0.875rem; + line-height: 1.25rem; +} +.card-title { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: 1.25rem; + line-height: 1.75rem; + font-weight: 600; +} +.card.image-full :where(figure) { + overflow: hidden; + border-radius: inherit; +} +.carousel::-webkit-scrollbar { + display: none; +} +.checkbox:focus { + box-shadow: none; +} +.checkbox:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); +} +.checkbox:disabled { + border-width: 0px; + cursor: not-allowed; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + opacity: 0.2; +} +.checkbox:checked, + .checkbox[aria-checked="true"] { + background-repeat: no-repeat; + animation: checkmark var(--animation-input, 0.2s) ease-out; + background-color: var(--chkbg); + background-image: linear-gradient(-45deg, transparent 65%, var(--chkbg) 65.99%), + linear-gradient(45deg, transparent 75%, var(--chkbg) 75.99%), + linear-gradient(-45deg, var(--chkbg) 40%, transparent 40.99%), + linear-gradient( + 45deg, + var(--chkbg) 30%, + var(--chkfg) 30.99%, + var(--chkfg) 40%, + transparent 40.99% + ), + linear-gradient(-45deg, var(--chkfg) 50%, var(--chkbg) 50.99%); +} +.checkbox:indeterminate { + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + background-repeat: no-repeat; + animation: checkmark var(--animation-input, 0.2s) ease-out; + background-image: linear-gradient(90deg, transparent 80%, var(--chkbg) 80%), + linear-gradient(-90deg, transparent 80%, var(--chkbg) 80%), + linear-gradient(0deg, var(--chkbg) 43%, var(--chkfg) 43%, var(--chkfg) 57%, var(--chkbg) 57%); +} +@keyframes checkmark { + + 0% { + background-position-y: 5px; + } + + 50% { + background-position-y: -2px; + } + + 100% { + background-position-y: 0; + } +} +details.collapse { + width: 100%; +} +details.collapse summary { + position: relative; + display: block; + outline: 2px solid transparent; + outline-offset: 2px; +} +details.collapse summary::-webkit-details-marker { + display: none; +} +.collapse:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); +} +.collapse:has(.collapse-title:focus-visible), +.collapse:has(> input[type="checkbox"]:focus-visible), +.collapse:has(> input[type="radio"]:focus-visible) { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); +} +.collapse-arrow > .collapse-title:after { + position: absolute; + display: block; + height: 0.5rem; + width: 0.5rem; + --tw-translate-y: -100%; + --tw-rotate: 45deg; + 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)); + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 150ms; + transition-duration: 0.2s; + top: 1.9rem; + inset-inline-end: 1.4rem; + content: ""; + transform-origin: 75% 75%; + box-shadow: 2px 2px; + pointer-events: none; +} +.collapse-plus > .collapse-title:after { + position: absolute; + display: block; + height: 0.5rem; + width: 0.5rem; + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 300ms; + top: 0.9rem; + inset-inline-end: 1.4rem; + content: "+"; + pointer-events: none; +} +.collapse:not(.collapse-open):not(.collapse-close) > input[type="checkbox"], +.collapse:not(.collapse-open):not(.collapse-close) > input[type="radio"]:not(:checked), +.collapse:not(.collapse-open):not(.collapse-close) > .collapse-title { + cursor: pointer; +} +.collapse:focus:not(.collapse-open):not(.collapse-close):not(.collapse[open]) > .collapse-title { + cursor: unset; +} +.collapse-title { + position: relative; +} +:where(.collapse > input[type="checkbox"]), +:where(.collapse > input[type="radio"]) { + z-index: 1; +} +.collapse-title, +:where(.collapse > input[type="checkbox"]), +:where(.collapse > input[type="radio"]) { + width: 100%; + padding: 1rem; + padding-inline-end: 3rem; + min-height: 3.75rem; + transition: background-color 0.2s ease-out; +} +.collapse[open] > :where(.collapse-content), +.collapse-open > :where(.collapse-content), +.collapse:focus:not(.collapse-close) > :where(.collapse-content), +.collapse:not(.collapse-close) > :where(input[type="checkbox"]:checked ~ .collapse-content), +.collapse:not(.collapse-close) > :where(input[type="radio"]:checked ~ .collapse-content) { + padding-bottom: 1rem; + transition: padding 0.2s ease-out, + background-color 0.2s ease-out; +} +.collapse[open].collapse-arrow > .collapse-title:after, +.collapse-open.collapse-arrow > .collapse-title:after, +.collapse-arrow:focus:not(.collapse-close) > .collapse-title:after, +.collapse-arrow:not(.collapse-close) > input[type="checkbox"]:checked ~ .collapse-title:after, +.collapse-arrow:not(.collapse-close) > input[type="radio"]:checked ~ .collapse-title:after { + --tw-translate-y: -50%; + --tw-rotate: 225deg; + 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)); +} +.collapse[open].collapse-plus > .collapse-title:after, +.collapse-open.collapse-plus > .collapse-title:after, +.collapse-plus:focus:not(.collapse-close) > .collapse-title:after, +.collapse-plus:not(.collapse-close) > input[type="checkbox"]:checked ~ .collapse-title:after, +.collapse-plus:not(.collapse-close) > input[type="radio"]:checked ~ .collapse-title:after { + content: "−"; +} +.divider:not(:empty) { + gap: 1rem; +} +.dropdown.dropdown-open .dropdown-content, +.dropdown:focus .dropdown-content, +.dropdown:focus-within .dropdown-content { + --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)); +} +.label-text { + font-size: 0.875rem; + line-height: 1.25rem; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} +.input input { + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + background-color: transparent; +} +.input input:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} +.input[list]::-webkit-calendar-picker-indicator { + line-height: 1em; +} +.input-bordered { + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.input:focus, + .input:focus-within { + box-shadow: none; + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.input:has(> input[disabled]), + .input-disabled, + .input:disabled, + .input[disabled] { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} +.input:has(> input[disabled])::-moz-placeholder, .input-disabled::-moz-placeholder, .input:disabled::-moz-placeholder, .input[disabled]::-moz-placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} +.input:has(> input[disabled])::placeholder, + .input-disabled::placeholder, + .input:disabled::placeholder, + .input[disabled]::placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} +.input:has(> input[disabled]) > input[disabled] { + cursor: not-allowed; +} +.input::-webkit-date-and-time-value { + text-align: inherit; +} +.join > :where(*:not(:first-child)) { + margin-top: 0px; + margin-bottom: 0px; + margin-inline-start: -1px; +} +.join-item:focus { + isolation: isolate; +} +.link:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} +.link:focus-visible { + outline: 2px solid currentColor; + outline-offset: 2px; +} +:where(.menu li:empty) { + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + opacity: 0.1; + margin: 0.5rem 1rem; + height: 1px; +} +.menu :where(li ul):before { + position: absolute; + bottom: 0.75rem; + inset-inline-start: 0px; + top: 0.75rem; + width: 1px; + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + opacity: 0.1; + content: ""; +} +.menu :where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), +.menu :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + border-radius: var(--rounded-btn, 0.5rem); + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + text-align: start; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; + text-wrap: balance; +} +:where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn).focus, :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):not(summary, .active, .btn):focus, :where(.menu li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title)):is(summary):not(.active, .btn):focus-visible, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn).focus, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):not(summary, .active, .btn):focus, :where(.menu li:not(.menu-title, .disabled) > details > summary:not(.menu-title)):is(summary):not(.active, .btn):focus-visible { + cursor: pointer; + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + outline: 2px solid transparent; + outline-offset: 2px; +} +.menu li > *:not(ul, .menu-title, details, .btn):active, +.menu li > *:not(ul, .menu-title, details, .btn).active, +.menu li > details > summary:active { + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); +} +.menu :where(li > details > summary)::-webkit-details-marker { + display: none; +} +.menu :where(li > details > summary):after, +.menu :where(li > .menu-dropdown-toggle):after { + justify-self: end; + display: block; + margin-top: -0.5rem; + height: 0.5rem; + width: 0.5rem; + transform: rotate(45deg); + transition-property: transform, margin-top; + transition-duration: 0.3s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + content: ""; + transform-origin: 75% 75%; + box-shadow: 2px 2px; + pointer-events: none; +} +.menu :where(li > details[open] > summary):after, +.menu :where(li > .menu-dropdown-toggle.menu-dropdown-show):after { + transform: rotate(225deg); + margin-top: 0; +} +.menu-title { + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 700; + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} +.mockup-phone { + display: inline-block; + border: 4px solid #444; + border-radius: 50px; + background-color: #000; + padding: 10px; + margin: 0 auto; + overflow: hidden; +} +.mockup-phone .camera { + position: relative; + top: 0px; + left: 0px; + background: #000; + height: 25px; + width: 150px; + margin: 0 auto; + border-bottom-left-radius: 17px; + border-bottom-right-radius: 17px; + z-index: 11; +} +.mockup-phone .camera:before { + content: ""; + position: absolute; + top: 35%; + left: 50%; + width: 50px; + height: 4px; + border-radius: 5px; + background-color: #0c0b0e; + transform: translate(-50%, -50%); +} +.mockup-phone .camera:after { + content: ""; + position: absolute; + top: 20%; + left: 70%; + width: 8px; + height: 8px; + border-radius: 5px; + background-color: #0f0b25; +} +.mockup-phone .display { + overflow: hidden; + border-radius: 40px; + margin-top: -25px; +} +.mockup-browser .mockup-browser-toolbar { + margin-top: 0.75rem; + margin-bottom: 0.75rem; + display: inline-flex; + width: 100%; + align-items: center; + padding-right: 1.4em; +} +:is([dir="rtl"] .mockup-browser .mockup-browser-toolbar) { + flex-direction: row-reverse; +} +.mockup-browser .mockup-browser-toolbar:before { + content: ""; + margin-right: 4.8rem; + display: inline-block; + aspect-ratio: 1 / 1; + height: 0.75rem; + border-radius: 9999px; + opacity: 0.3; + box-shadow: 1.4em 0, + 2.8em 0, + 4.2em 0; +} +.mockup-browser .mockup-browser-toolbar .input { + position: relative; + margin-left: auto; + margin-right: auto; + display: block; + height: 1.75rem; + width: 24rem; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + padding-left: 2rem; + direction: ltr; +} +.mockup-browser .mockup-browser-toolbar .input:before { + content: ""; + position: absolute; + left: 0.5rem; + top: 50%; + aspect-ratio: 1 / 1; + height: 0.75rem; + --tw-translate-y: -50%; + 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)); + border-radius: 9999px; + border-width: 2px; + border-color: currentColor; + opacity: 0.6; +} +.mockup-browser .mockup-browser-toolbar .input:after { + content: ""; + position: absolute; + left: 1.25rem; + top: 50%; + height: 0.5rem; + --tw-translate-y: 25%; + --tw-rotate: -45deg; + 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)); + border-radius: 9999px; + border-width: 1px; + border-color: currentColor; + opacity: 0.6; +} +@keyframes modal-pop { + + 0% { + opacity: 0; + } +} +.progress::-moz-progress-bar { + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); +} +.progress:indeterminate { + --progress-color: var(--fallback-bc,oklch(var(--bc)/1)); + background-image: repeating-linear-gradient( + 90deg, + var(--progress-color) -1%, + var(--progress-color) 10%, + transparent 10%, + transparent 90% + ); + background-size: 200%; + background-position-x: 15%; + animation: progress-loading 5s ease-in-out infinite; +} +.progress::-webkit-progress-bar { + border-radius: var(--rounded-box, 1rem); + background-color: transparent; +} +.progress::-webkit-progress-value { + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); +} +.progress:indeterminate::-moz-progress-bar { + background-color: transparent; + background-image: repeating-linear-gradient( + 90deg, + var(--progress-color) -1%, + var(--progress-color) 10%, + transparent 10%, + transparent 90% + ); + background-size: 200%; + background-position-x: 15%; + animation: progress-loading 5s ease-in-out infinite; +} +@keyframes progress-loading { + + 50% { + background-position-x: -115%; + } +} +.radio:focus { + box-shadow: none; +} +.radio:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); +} +.radio:checked, + .radio[aria-checked="true"] { + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + background-image: none; + animation: radiomark var(--animation-input, 0.2s) ease-out; + box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset; +} +.radio:disabled { + cursor: not-allowed; + opacity: 0.2; +} +@keyframes radiomark { + + 0% { + box-shadow: 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } + + 50% { + box-shadow: 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } + + 100% { + box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } +} +.range:focus-visible::-webkit-slider-thumb { + --focus-shadow: 0 0 0 6px var(--fallback-b1,oklch(var(--b1)/1)) inset, 0 0 0 2rem var(--range-shdw) inset; +} +.range:focus-visible::-moz-range-thumb { + --focus-shadow: 0 0 0 6px var(--fallback-b1,oklch(var(--b1)/1)) inset, 0 0 0 2rem var(--range-shdw) inset; +} +.range::-webkit-slider-runnable-track { + height: 0.5rem; + width: 100%; + border-radius: var(--rounded-box, 1rem); + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); +} +.range::-moz-range-track { + height: 0.5rem; + width: 100%; + border-radius: var(--rounded-box, 1rem); + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); +} +.range::-webkit-slider-thumb { + position: relative; + height: 1.5rem; + width: 1.5rem; + border-radius: var(--rounded-box, 1rem); + border-style: none; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + appearance: none; + -webkit-appearance: none; + top: 50%; + color: var(--range-shdw); + transform: translateY(-50%); + --filler-size: 100rem; + --filler-offset: 0.6rem; + box-shadow: 0 0 0 3px var(--range-shdw) inset, + var(--focus-shadow, 0 0), + calc(var(--filler-size) * -1 - var(--filler-offset)) 0 0 var(--filler-size); +} +.range::-moz-range-thumb { + position: relative; + height: 1.5rem; + width: 1.5rem; + border-radius: var(--rounded-box, 1rem); + border-style: none; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + top: 50%; + color: var(--range-shdw); + --filler-size: 100rem; + --filler-offset: 0.5rem; + box-shadow: 0 0 0 3px var(--range-shdw) inset, + var(--focus-shadow, 0 0), + calc(var(--filler-size) * -1 - var(--filler-offset)) 0 0 var(--filler-size); +} +@keyframes rating-pop { + + 0% { + transform: translateY(-0.125em); + } + + 40% { + transform: translateY(-0.125em); + } + + 100% { + transform: translateY(0); + } +} +.select:focus { + box-shadow: none; + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.select-disabled, + .select:disabled, + .select[disabled] { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} +.select-disabled::-moz-placeholder, .select:disabled::-moz-placeholder, .select[disabled]::-moz-placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} +.select-disabled::placeholder, + .select:disabled::placeholder, + .select[disabled]::placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} +.select-multiple, + .select[multiple], + .select[size].select:not([size="1"]) { + background-image: none; + padding-right: 1rem; +} +[dir="rtl"] .select { + background-position: calc(0% + 12px) calc(1px + 50%), + calc(0% + 16px) calc(1px + 50%); +} +.skeleton { + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + will-change: background-position; + animation: skeleton 1.8s ease-in-out infinite; + background-image: linear-gradient( + 105deg, + transparent 0%, + transparent 40%, + var(--fallback-b1,oklch(var(--b1)/1)) 50%, + transparent 60%, + transparent 100% + ); + background-size: 200% auto; + background-repeat: no-repeat; + background-position-x: -50%; +} +@media (prefers-reduced-motion) { + + .skeleton { + animation-duration: 15s; + } +} +@keyframes skeleton { + + from { + background-position: 150%; + } + + to { + background-position: -50%; + } +} +:where(.stats) > :not([hidden]) ~ :not([hidden]) { + --tw-divide-x-reverse: 0; + border-right-width: calc(1px * var(--tw-divide-x-reverse)); + border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); + --tw-divide-y-reverse: 0; + border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(0px * var(--tw-divide-y-reverse)); +} +:is([dir="rtl"] .stats > :not([hidden]) ~ :not([hidden])) { + --tw-divide-x-reverse: 1; +} +.swap-rotate .swap-on, +.swap-rotate .swap-indeterminate, +.swap-rotate input:indeterminate ~ .swap-on { + --tw-rotate: 45deg; + 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)); +} +.swap-rotate input:checked ~ .swap-off, +.swap-active:where(.swap-rotate) .swap-off, +.swap-rotate input:indeterminate ~ .swap-off { + --tw-rotate: -45deg; + 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)); +} +.swap-rotate input:checked ~ .swap-on, +.swap-active:where(.swap-rotate) .swap-on, +.swap-rotate input:indeterminate ~ .swap-indeterminate { + --tw-rotate: 0deg; + 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)); +} +.swap-flip { + transform-style: preserve-3d; + perspective: 16em; +} +.swap-flip .swap-on, +.swap-flip .swap-indeterminate, +.swap-flip input:indeterminate ~ .swap-on { + transform: rotateY(180deg); + backface-visibility: hidden; + opacity: 1; +} +.swap-flip input:checked ~ .swap-off, +.swap-active:where(.swap-flip) .swap-off, +.swap-flip input:indeterminate ~ .swap-off { + transform: rotateY(-180deg); + backface-visibility: hidden; + opacity: 1; +} +.swap-flip input:checked ~ .swap-on, +.swap-active:where(.swap-flip) .swap-on, +.swap-flip input:indeterminate ~ .swap-indeterminate { + transform: rotateY(0deg); +} +.tabs-lifted > .tab:focus-visible { + border-end-end-radius: 0; + border-end-start-radius: 0; +} +.tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]), .tab:is(input:checked) { + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 1; + --tw-text-opacity: 1; +} +.tab:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} +.tab:focus-visible { + outline: 2px solid currentColor; + outline-offset: -5px; +} +.tab-disabled, + .tab[disabled] { + cursor: not-allowed; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} +.tabs-bordered > .tab { + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; + border-style: solid; + border-bottom-width: calc(var(--tab-border, 1px) + 1px); +} +.tabs-lifted > .tab { + border: var(--tab-border, 1px) solid transparent; + border-width: 0 0 var(--tab-border, 1px) 0; + border-start-start-radius: var(--tab-radius, 0.5rem); + border-start-end-radius: var(--tab-radius, 0.5rem); + border-bottom-color: var(--tab-border-color); + padding-inline-start: var(--tab-padding, 1rem); + padding-inline-end: var(--tab-padding, 1rem); + padding-top: var(--tab-border, 1px); +} +.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]), .tabs-lifted > .tab:is(input:checked) { + background-color: var(--tab-bg); + border-width: var(--tab-border, 1px) var(--tab-border, 1px) 0 var(--tab-border, 1px); + border-inline-start-color: var(--tab-border-color); + border-inline-end-color: var(--tab-border-color); + border-top-color: var(--tab-border-color); + padding-inline-start: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px)); + padding-inline-end: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px)); + padding-bottom: var(--tab-border, 1px); + padding-top: 0; +} +.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):before, .tabs-lifted > .tab:is(input:checked):before { + z-index: 1; + content: ""; + display: block; + position: absolute; + width: calc(100% + var(--tab-radius, 0.5rem) * 2); + height: var(--tab-radius, 0.5rem); + bottom: 0; + background-size: var(--tab-radius, 0.5rem); + background-position: top left, + top right; + background-repeat: no-repeat; + --tab-grad: calc(69% - var(--tab-border, 1px)); + --radius-start: radial-gradient( + circle at top left, + transparent var(--tab-grad), + var(--tab-border-color) calc(var(--tab-grad) + 0.25px), + var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)), + var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px) + ); + --radius-end: radial-gradient( + circle at top right, + transparent var(--tab-grad), + var(--tab-border-color) calc(var(--tab-grad) + 0.25px), + var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)), + var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px) + ); + background-image: var(--radius-start), var(--radius-end); +} +.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):first-child:before, .tabs-lifted > .tab:is(input:checked):first-child:before { + background-image: var(--radius-end); + background-position: top right; +} +[dir="rtl"] .tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):first-child:before, [dir="rtl"] .tabs-lifted > .tab:is(input:checked):first-child:before { + background-image: var(--radius-start); + background-position: top left; +} +.tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):last-child:before, .tabs-lifted > .tab:is(input:checked):last-child:before { + background-image: var(--radius-start); + background-position: top left; +} +[dir="rtl"] .tabs-lifted > .tab:is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):last-child:before, [dir="rtl"] .tabs-lifted > .tab:is(input:checked):last-child:before { + background-image: var(--radius-end); + background-position: top right; +} +.tabs-lifted + > :is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]) + + .tabs-lifted + :is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]):before, .tabs-lifted > .tab:is(input:checked) + .tabs-lifted .tab:is(input:checked):before { + background-image: var(--radius-end); + background-position: top right; +} +.tabs-boxed { + border-radius: var(--rounded-btn, 0.5rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + padding: 0.25rem; +} +.tabs-boxed .tab { + border-radius: var(--rounded-btn, 0.5rem); +} +.tabs-boxed :is(.tab-active, [aria-selected="true"]):not(.tab-disabled):not([disabled]), .tabs-boxed :is(input:checked) { + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} +:is([dir="rtl"] .table) { + text-align: right; +} +.table :where(th, td) { + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + vertical-align: middle; +} +.table tr.active, + .table tr.active:nth-child(even), + .table-zebra tbody tr:nth-child(even) { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); +} +.table-zebra tr.active, + .table-zebra tr.active:nth-child(even), + .table-zebra-zebra tbody tr:nth-child(even) { + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); +} +.table :where(thead tr, tbody tr:not(:last-child),tbody tr:first-child:last-child) { + border-bottom-width: 1px; + --tw-border-opacity: 1; + border-bottom-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); +} +.table :where(thead, tfoot) { + white-space: nowrap; + font-size: 0.75rem; + line-height: 1rem; + font-weight: 700; + color: var(--fallback-bc,oklch(var(--bc)/0.6)); +} +.table :where(tfoot) { + border-top-width: 1px; + --tw-border-opacity: 1; + border-top-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); +} +.textarea:focus { + box-shadow: none; + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.textarea-disabled, + .textarea:disabled, + .textarea[disabled] { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} +.textarea-disabled::-moz-placeholder, .textarea:disabled::-moz-placeholder, .textarea[disabled]::-moz-placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} +.textarea-disabled::placeholder, + .textarea:disabled::placeholder, + .textarea[disabled]::placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} +@keyframes toast-pop { + + 0% { + transform: scale(0.9); + opacity: 0; + } + + 100% { + transform: scale(1); + opacity: 1; + } +} +[dir="rtl"] .toggle { + --handleoffsetcalculator: calc(var(--handleoffset) * 1); +} +.toggle:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.toggle:hover { + background-color: currentColor; +} +.toggle:checked, + .toggle[aria-checked="true"] { + background-image: none; + --handleoffsetcalculator: var(--handleoffset); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} +[dir="rtl"] .toggle:checked, [dir="rtl"] .toggle[aria-checked="true"] { + --handleoffsetcalculator: calc(var(--handleoffset) * -1); +} +.toggle:indeterminate { + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + box-shadow: calc(var(--handleoffset) / 2) 0 0 2px var(--tglbg) inset, + calc(var(--handleoffset) / -2) 0 0 2px var(--tglbg) inset, + 0 0 0 2px var(--tglbg) inset; +} +[dir="rtl"] .toggle:indeterminate { + box-shadow: calc(var(--handleoffset) / 2) 0 0 2px var(--tglbg) inset, + calc(var(--handleoffset) / -2) 0 0 2px var(--tglbg) inset, + 0 0 0 2px var(--tglbg) inset; +} +.toggle:disabled { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + background-color: transparent; + opacity: 0.3; + --togglehandleborder: 0 0 0 3px var(--fallback-bc,oklch(var(--bc)/1)) inset, + var(--handleoffsetcalculator) 0 0 3px var(--fallback-bc,oklch(var(--bc)/1)) inset; +} +.glass, + .glass.btn-active { + border: none; + -webkit-backdrop-filter: blur(var(--glass-blur, 40px)); + backdrop-filter: blur(var(--glass-blur, 40px)); + background-color: transparent; + background-image: linear-gradient( + 135deg, + rgb(255 255 255 / var(--glass-opacity, 30%)) 0%, + rgb(0 0 0 / 0%) 100% + ), + linear-gradient( + var(--glass-reflex-degree, 100deg), + rgb(255 255 255 / var(--glass-reflex-opacity, 10%)) 25%, + rgb(0 0 0 / 0%) 25% + ); + box-shadow: 0 0 0 1px rgb(255 255 255 / var(--glass-border-opacity, 10%)) inset, + 0 0 0 2px rgb(0 0 0 / 5%); + text-shadow: 0 1px rgb(0 0 0 / var(--glass-text-shadow-opacity, 5%)); +} +@media (hover: hover) { + + .glass.btn-active { + border: none; + -webkit-backdrop-filter: blur(var(--glass-blur, 40px)); + backdrop-filter: blur(var(--glass-blur, 40px)); + background-color: transparent; + background-image: linear-gradient( + 135deg, + rgb(255 255 255 / var(--glass-opacity, 30%)) 0%, + rgb(0 0 0 / 0%) 100% + ), + linear-gradient( + var(--glass-reflex-degree, 100deg), + rgb(255 255 255 / var(--glass-reflex-opacity, 10%)) 25%, + rgb(0 0 0 / 0%) 25% + ); + box-shadow: 0 0 0 1px rgb(255 255 255 / var(--glass-border-opacity, 10%)) inset, + 0 0 0 2px rgb(0 0 0 / 5%); + text-shadow: 0 1px rgb(0 0 0 / var(--glass-text-shadow-opacity, 5%)); + } +} +.artboard.phone { + width: 320px; +} +.artboard.phone-1 { + width: 320px; + height: 568px; +} +.artboard.phone-1.horizontal, + .artboard.phone-1.artboard-horizontal { + width: 568px; + height: 320px; +} +.artboard.phone-2 { + width: 375px; + height: 667px; +} +.artboard.phone-2.horizontal, + .artboard.phone-2.artboard-horizontal { + width: 667px; + height: 375px; +} +.artboard.phone-3 { + width: 414px; + height: 736px; +} +.artboard.phone-3.horizontal, + .artboard.phone-3.artboard-horizontal { + width: 736px; + height: 414px; +} +.artboard.phone-4 { + width: 375px; + height: 812px; +} +.artboard.phone-4.horizontal, + .artboard.phone-4.artboard-horizontal { + width: 812px; + height: 375px; +} +.artboard.phone-5 { + width: 414px; + height: 896px; +} +.artboard.phone-5.horizontal, + .artboard.phone-5.artboard-horizontal { + width: 896px; + height: 414px; +} +.artboard.phone-6 { + width: 320px; + height: 1024px; +} +.artboard.phone-6.horizontal, + .artboard.phone-6.artboard-horizontal { + width: 1024px; + height: 320px; +} +.badge-xs { + height: 0.75rem; + font-size: 0.75rem; + line-height: .75rem; + padding-left: 0.313rem; + padding-right: 0.313rem; +} +.btm-nav-xs { + height: 2.5rem; +} +.btm-nav-xs > *:where(.active) { + border-top-width: 1px; +} +.btm-nav-xs .btm-nav-label { + font-size: 0.75rem; + line-height: 1rem; +} +.btm-nav-sm { + height: 3rem; +} +.btm-nav-sm > *:where(.active) { + border-top-width: 2px; +} +.btm-nav-sm .btm-nav-label { + font-size: 0.75rem; + line-height: 1rem; +} +.btm-nav-md { + height: 4rem; +} +.btm-nav-md > *:where(.active) { + border-top-width: 2px; +} +.btm-nav-md .btm-nav-label { + font-size: 0.875rem; + line-height: 1.25rem; +} +.btm-nav-lg { + height: 5rem; +} +.btm-nav-lg > *:where(.active) { + border-top-width: 4px; +} +.btm-nav-lg .btm-nav-label { + font-size: 1rem; + line-height: 1.5rem; +} +.btn-xs { + height: 1.5rem; + min-height: 1.5rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + font-size: 0.75rem; +} +.btn-sm { + height: 2rem; + min-height: 2rem; + padding-left: 0.75rem; + padding-right: 0.75rem; + font-size: 0.875rem; +} +.btn-md { + height: 3rem; + min-height: 3rem; + padding-left: 1rem; + padding-right: 1rem; + font-size: 0.875rem; +} +.btn-lg { + height: 4rem; + min-height: 4rem; + padding-left: 1.5rem; + padding-right: 1.5rem; + font-size: 1.125rem; +} +.btn-square:where(.btn-xs) { + height: 1.5rem; + width: 1.5rem; + padding: 0px; +} +.btn-square:where(.btn-sm) { + height: 2rem; + width: 2rem; + padding: 0px; +} +.btn-square:where(.btn-md) { + height: 3rem; + width: 3rem; + padding: 0px; +} +.btn-square:where(.btn-lg) { + height: 4rem; + width: 4rem; + padding: 0px; +} +.btn-circle:where(.btn-xs) { + height: 1.5rem; + width: 1.5rem; + border-radius: 9999px; + padding: 0px; +} +.btn-circle:where(.btn-sm) { + height: 2rem; + width: 2rem; + border-radius: 9999px; + padding: 0px; +} +.btn-circle:where(.btn-md) { + height: 3rem; + width: 3rem; + border-radius: 9999px; + padding: 0px; +} +.btn-circle:where(.btn-lg) { + height: 4rem; + width: 4rem; + border-radius: 9999px; + padding: 0px; +} +.card-side { + align-items: stretch; + flex-direction: row; +} +.card-side :where(figure:first-child) { + overflow: hidden; + border-start-start-radius: inherit; + border-start-end-radius: unset; + border-end-start-radius: inherit; + border-end-end-radius: unset; +} +.card-side :where(figure:last-child) { + overflow: hidden; + border-start-start-radius: unset; + border-start-end-radius: inherit; + border-end-start-radius: unset; + border-end-end-radius: inherit; +} +.card-side figure > * { + max-width: unset; +} +:where(.card-side figure > *) { + width: 100%; + height: 100%; + -o-object-fit: cover; + object-fit: cover; +} +.divider-horizontal { + flex-direction: column; +} +.divider-horizontal:before { + height: 100%; + width: 0.125rem; +} +.divider-horizontal:after { + height: 100%; + width: 0.125rem; +} +.input-md { + height: 3rem; + padding-left: 1rem; + padding-right: 1rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; +} +.input-sm { + height: 2rem; + padding-left: 0.75rem; + padding-right: 0.75rem; + font-size: 0.875rem; + line-height: 2rem; +} +.join.join-vertical { + flex-direction: column; +} +.join.join-vertical .join-item:first-child:not(:last-child), + .join.join-vertical *:first-child:not(:last-child) .join-item { + border-end-start-radius: 0; + border-end-end-radius: 0; + border-start-start-radius: inherit; + border-start-end-radius: inherit; +} +.join.join-vertical .join-item:last-child:not(:first-child), + .join.join-vertical *:last-child:not(:first-child) .join-item { + border-start-start-radius: 0; + border-start-end-radius: 0; + border-end-start-radius: inherit; + border-end-end-radius: inherit; +} +.join.join-horizontal { + flex-direction: row; +} +.join.join-horizontal .join-item:first-child:not(:last-child), + .join.join-horizontal *:first-child:not(:last-child) .join-item { + border-end-end-radius: 0; + border-start-end-radius: 0; + border-end-start-radius: inherit; + border-start-start-radius: inherit; +} +.join.join-horizontal .join-item:last-child:not(:first-child), + .join.join-horizontal *:last-child:not(:first-child) .join-item { + border-end-start-radius: 0; + border-start-start-radius: 0; + border-end-end-radius: inherit; + border-start-end-radius: inherit; +} +.menu-horizontal { + display: inline-flex; + flex-direction: row; +} +.menu-horizontal > li:not(.menu-title) > details > ul { + position: absolute; +} +.range-xs { + height: 1rem; +} +.range-xs::-webkit-slider-runnable-track { + height: 0.25rem; +} +.range-xs::-moz-range-track { + height: 0.25rem; +} +.range-xs::-webkit-slider-thumb { + height: 1rem; + width: 1rem; + --filler-offset: 0.4rem; +} +.range-xs::-moz-range-thumb { + height: 1rem; + width: 1rem; + --filler-offset: 0.4rem; +} +.tabs-md :where(.tab) { + height: 2rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + --tab-padding: 1rem; +} +.tabs-lg :where(.tab) { + height: 3rem; + font-size: 1.125rem; + line-height: 1.75rem; + line-height: 2; + --tab-padding: 1.25rem; +} +.tabs-sm :where(.tab) { + height: 1.5rem; + font-size: 0.875rem; + line-height: .75rem; + --tab-padding: 0.75rem; +} +.tabs-xs :where(.tab) { + height: 1.25rem; + font-size: 0.75rem; + line-height: .75rem; + --tab-padding: 0.5rem; +} +.tooltip { + position: relative; + display: inline-block; + --tooltip-offset: calc(100% + 1px + var(--tooltip-tail, 0px)); +} +.tooltip:before { + position: absolute; + pointer-events: none; + z-index: 1; + content: var(--tw-content); + --tw-content: attr(data-tip); +} +.tooltip:before, .tooltip-top:before { + transform: translateX(-50%); + top: auto; + left: 50%; + right: auto; + bottom: var(--tooltip-offset); +} +.avatar.online:before { + content: ""; + position: absolute; + z-index: 10; + display: block; + border-radius: 9999px; + --tw-bg-opacity: 1; + background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity))); + outline-style: solid; + outline-width: 2px; + outline-color: var(--fallback-b1,oklch(var(--b1)/1)); + width: 15%; + height: 15%; + top: 7%; + right: 7%; +} +.avatar.offline:before { + content: ""; + position: absolute; + z-index: 10; + display: block; + border-radius: 9999px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + outline-style: solid; + outline-width: 2px; + outline-color: var(--fallback-b1,oklch(var(--b1)/1)); + width: 15%; + height: 15%; + top: 7%; + right: 7%; +} +.card-compact .card-body { + padding: 1rem; + font-size: 0.875rem; + line-height: 1.25rem; +} +.card-compact .card-title { + margin-bottom: 0.25rem; +} +.card-normal .card-body { + padding: var(--padding-card, 2rem); + font-size: 1rem; + line-height: 1.5rem; +} +.card-normal .card-title { + margin-bottom: 0.75rem; +} +.divider-horizontal { + margin-left: 1rem; + margin-right: 1rem; + margin-top: 0px; + margin-bottom: 0px; + height: auto; + width: 1rem; +} +.join.join-vertical > :where(*:not(:first-child)) { + margin-left: 0px; + margin-right: 0px; + margin-top: -1px; +} +.join.join-horizontal > :where(*:not(:first-child)) { + margin-top: 0px; + margin-bottom: 0px; + margin-inline-start: -1px; +} +.menu-horizontal > li:not(.menu-title) > details > ul { + margin-inline-start: 0px; + margin-top: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-inline-end: 0.5rem; +} +.menu-horizontal > li > details > ul:before { + content: none; +} +:where(.menu-horizontal > li:not(.menu-title) > details > ul) { + border-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + --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); +} +.menu-xs :where(li:not(.menu-title) > *:not(ul, details, .menu-title)), .menu-xs :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + border-radius: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.75rem; + line-height: 1rem; +} +.menu-xs .menu-title { + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.menu-sm :where(li:not(.menu-title) > *:not(ul, details, .menu-title)), .menu-sm :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + border-radius: var(--rounded-btn, 0.5rem); + padding-left: 0.75rem; + padding-right: 0.75rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.875rem; + line-height: 1.25rem; +} +.menu-sm .menu-title { + padding-left: 0.75rem; + padding-right: 0.75rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.menu-md :where(li:not(.menu-title) > *:not(ul, details, .menu-title)), .menu-md :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + border-radius: var(--rounded-btn, 0.5rem); + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + font-size: 0.875rem; + line-height: 1.25rem; +} +.menu-md .menu-title { + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.menu-lg :where(li:not(.menu-title) > *:not(ul, details, .menu-title)), .menu-lg :where(li:not(.menu-title) > details > summary:not(.menu-title)) { + border-radius: var(--rounded-btn, 0.5rem); + padding-left: 1.5rem; + padding-right: 1.5rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + font-size: 1.125rem; + line-height: 1.75rem; +} +.menu-lg .menu-title { + padding-left: 1.5rem; + padding-right: 1.5rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} +.table-xs :not(thead):not(tfoot) tr { + font-size: 0.75rem; + line-height: 1rem; +} +.table-xs :where(th, td) { + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.tooltip { + position: relative; + display: inline-block; + text-align: center; + --tooltip-tail: 0.1875rem; + --tooltip-color: var(--fallback-n,oklch(var(--n)/1)); + --tooltip-text-color: var(--fallback-nc,oklch(var(--nc)/1)); + --tooltip-tail-offset: calc(100% + 0.0625rem - var(--tooltip-tail)); +} +.tooltip:before, +.tooltip:after { + opacity: 0; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-delay: 100ms; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.tooltip:after { + position: absolute; + content: ""; + border-style: solid; + border-width: var(--tooltip-tail, 0); + width: 0; + height: 0; + display: block; +} +.tooltip:before { + max-width: 20rem; + border-radius: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.875rem; + line-height: 1.25rem; + background-color: var(--tooltip-color); + color: var(--tooltip-text-color); + width: -moz-max-content; + width: max-content; +} +.tooltip.tooltip-open:before { + opacity: 1; + transition-delay: 75ms; +} +.tooltip.tooltip-open:after { + opacity: 1; + transition-delay: 75ms; +} +.tooltip:hover:before { + opacity: 1; + transition-delay: 75ms; +} +.tooltip:hover:after { + opacity: 1; + transition-delay: 75ms; +} +.tooltip:has(:focus-visible):after, +.tooltip:has(:focus-visible):before { + opacity: 1; + transition-delay: 75ms; +} +.tooltip:not([data-tip]):hover:before, +.tooltip:not([data-tip]):hover:after { + visibility: hidden; + opacity: 0; +} +.tooltip:after, .tooltip-top:after { + transform: translateX(-50%); + border-color: var(--tooltip-color) transparent transparent transparent; + top: auto; + left: 50%; + right: auto; + bottom: var(--tooltip-tail-offset); +} +.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; +} +.collapse { + visibility: collapse; +} +.fixed { + position: fixed; +} +.absolute { + position: absolute; +} +.relative { + position: relative; +} +.sticky { + position: sticky; +} +.left-0 { + left: 0px; +} +.left-5 { + left: 1.25rem; +} +.left-\[max\(-7rem\2c calc\(50\%-52rem\)\)\] { + left: max(-7rem,calc(50% - 52rem)); +} +.left-\[max\(45rem\2c calc\(50\%\+8rem\)\)\] { + left: max(45rem,calc(50% + 8rem)); +} +.right-0 { + right: 0px; +} +.right-5 { + right: 1.25rem; +} +.top-0 { + top: 0px; +} +.top-1\/2 { + top: 50%; +} +.top-1 { + top: 0.25rem; +} +.bottom-0 { + bottom: 0px; +} +.left-1\/2 { + left: 50%; +} +.left-1 { + left: 0.25rem; +} +.isolate { + isolation: isolate; +} +.-z-10 { + z-index: -10; +} +.z-20 { + z-index: 20; +} +.z-40 { + z-index: 40; +} +.z-50 { + z-index: 50; +} +.-m-3 { + margin: -0.75rem; +} +.m-2 { + margin: 0.5rem; +} +.mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; +} +.mx-auto { + margin-left: auto; + margin-right: auto; +} +.my-12 { + margin-top: 3rem; + margin-bottom: 3rem; +} +.my-24 { + margin-top: 6rem; + margin-bottom: 6rem; +} +.mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; +} +.-ml-1 { + margin-left: -0.25rem; } - .mb-10 { margin-bottom: 2.5rem; } - .mb-2 { margin-bottom: 0.5rem; } - .mb-24 { margin-bottom: 6rem; } - .mb-3 { margin-bottom: 0.75rem; } - .mb-32 { margin-bottom: 8rem; } - .mb-5 { margin-bottom: 1.25rem; } - .me-2 { margin-inline-end: 0.5rem; } - .ml-10 { margin-left: 2.5rem; } - .ml-2 { margin-left: 0.5rem; } - .mr-10 { margin-right: 2.5rem; } - .mr-2 { margin-right: 0.5rem; } - .mr-5 { margin-right: 1.25rem; } - -.ms-3 { - margin-inline-start: 0.75rem; -} - -.mt-0 { - margin-top: 0px; -} - .mt-1 { margin-top: 0.25rem; } - .mt-10 { margin-top: 2.5rem; } - .mt-2 { margin-top: 0.5rem; } - .mt-3 { margin-top: 0.75rem; } - .mt-4 { margin-top: 1rem; } - .mt-5 { margin-top: 1.25rem; } - +.mb-0 { + margin-bottom: 0px; +} +.mt-0 { + margin-top: 0px; +} +.mr-0 { + margin-right: 0px; +} +.mr-4 { + margin-right: 1rem; +} +.mt-12 { + margin-top: 3rem; +} +.mt-6 { + margin-top: 1.5rem; +} +.mt-8 { + margin-top: 2rem; +} +.mr-1 { + margin-right: 0.25rem; +} +.mr-3 { + margin-right: 0.75rem; +} .block { display: block; } - .inline-block { display: inline-block; } - .inline { display: inline; } - .flex { display: flex; } - .inline-flex { display: inline-flex; } - .table { display: table; } - .grid { display: grid; } - .contents { display: contents; } - .hidden { display: none; } - .aspect-\[577\/310\] { aspect-ratio: 577/310; } - .h-0 { height: 0px; } - .h-0\.5 { height: 0.125rem; } - -.h-10 { - height: 2.5rem; -} - -.h-2 { - height: 0.5rem; -} - .h-20 { height: 5rem; } - .h-4 { height: 1rem; } - -.h-40 { - height: 10rem; -} - .h-5 { height: 1.25rem; } - .h-6 { height: 1.5rem; } - .h-60 { height: 15rem; } - .h-8 { height: 2rem; } - .h-96 { height: 24rem; } - -.h-auto { - height: auto; -} - .h-full { height: 100%; } - .h-screen { height: 100vh; } - +.h-auto { + height: auto; +} +.h-10 { + height: 2.5rem; +} +.h-12 { + height: 3rem; +} +.h-24 { + height: 6rem; +} +.h-px { + height: 1px; +} .w-0 { width: 0px; } - .w-0\.5 { width: 0.125rem; } - -.w-1 { - width: 0.25rem; -} - -.w-10 { - width: 2.5rem; -} - .w-10\/12 { width: 83.333333%; } - -.w-11 { - width: 2.75rem; -} - .w-11\/12 { width: 91.666667%; } - -.w-2 { - width: 0.5rem; -} - .w-2\/12 { width: 16.666667%; } - .w-2\/3 { width: 66.666667%; } - -.w-20 { - width: 5rem; -} - .w-28 { width: 7rem; } - .w-4 { width: 1rem; } - -.w-48 { - width: 12rem; -} - .w-5 { width: 1.25rem; } - .w-6 { width: 1.5rem; } - .w-8 { width: 2rem; } - .w-96 { width: 24rem; } - .w-\[36\.0625rem\] { width: 36.0625rem; } - .w-full { width: 100%; } - +.w-10 { + width: 2.5rem; +} +.w-11 { + width: 2.75rem; +} +.w-2 { + width: 0.5rem; +} +.w-48 { + width: 12rem; +} +.w-1\/4 { + width: 25%; +} +.w-32 { + width: 8rem; +} +.w-auto { + width: auto; +} +.w-1 { + width: 0.25rem; +} .max-w-lg { max-width: 32rem; } - .max-w-screen-xl { max-width: 1280px; } - .max-w-sm { max-width: 24rem; } - .max-w-xs { max-width: 20rem; } - +.max-w-7xl { + max-width: 80rem; +} +.max-w-md { + max-width: 28rem; +} +.max-w-xl { + max-width: 36rem; +} .flex-1 { flex: 1 1 0%; } - .flex-shrink { flex-shrink: 1; } - +.flex-shrink-0 { + flex-shrink: 0; +} .flex-grow { flex-grow: 1; } - .border-collapse { border-collapse: collapse; } - .-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-y-1 { - --tw-translate-y: -0.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-1\/2 { --tw-translate-y: -50%; 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-1 { + --tw-translate-y: -0.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-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-1\/2 { + --tw-translate-x: -50%; + 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-px { + --tw-translate-y: -1px; + 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-1 { + --tw-translate-y: 0.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-1\.5 { + --tw-translate-y: 0.375rem; + 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-px { + --tw-translate-y: 1px; + 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-1 { + --tw-translate-x: -0.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)); +} .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)); } - .transform-gpu { transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) 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-pointer { cursor: pointer; } - +.select-none { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} .resize { resize: both; } - .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } - .grid-cols-subgrid { grid-template-columns: subgrid; } - .grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)); } - .flex-row { flex-direction: row; } - .flex-col { flex-direction: column; } - .flex-wrap { flex-wrap: wrap; } - .place-items-center { place-items: center; } - .items-start { align-items: flex-start; } - .items-end { align-items: flex-end; } - .items-center { align-items: center; } - .justify-start { justify-content: flex-start; } - .justify-end { justify-content: flex-end; } - .justify-center { justify-content: center; } - .justify-between { justify-content: space-between; } - .justify-around { justify-content: space-around; } - -.gap-2 { - gap: 0.5rem; -} - .gap-4 { gap: 1rem; } - .gap-x-4 { -moz-column-gap: 1rem; column-gap: 1rem; } - .gap-x-6 { -moz-column-gap: 1.5rem; column-gap: 1.5rem; } - .gap-y-2 { row-gap: 0.5rem; } - .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-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-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); } - .self-center { align-self: center; } - .overflow-auto { overflow: auto; } - .overflow-hidden { overflow: hidden; } - .overflow-x-auto { overflow-x: auto; } - .whitespace-nowrap { white-space: nowrap; } - +.text-wrap { + text-wrap: wrap; +} .rounded { border-radius: 0.25rem; } - +.rounded-box { + border-radius: var(--rounded-box, 1rem); +} .rounded-lg { border-radius: 0.5rem; } - .rounded-none { border-radius: 0px; } - -.rounded-s-lg { - border-start-start-radius: 0.5rem; - border-end-start-radius: 0.5rem; +.rounded-full { + border-radius: 9999px; +} +.rounded-md { + border-radius: 0.375rem; } - .rounded-t-lg { border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem; } - +.rounded-s-lg { + border-start-start-radius: 0.5rem; + border-end-start-radius: 0.5rem; +} .border { border-width: 1px; } - .border-2 { border-width: 2px; } - +.border-0 { + border-width: 0px; +} .border-r-2 { border-right-width: 2px; } - .border-dashed { border-style: dashed; } - +.border-transparent { + border-color: transparent; +} +.bg-base-100 { + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.bg-base-300 { + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); +} .bg-blue { --tw-bg-opacity: 1; background-color: rgb(31 182 255 / var(--tw-bg-opacity)); } - .bg-gray-light { --tw-bg-opacity: 1; background-color: rgb(211 220 230 / var(--tw-bg-opacity)); } - +.bg-transparent { + background-color: transparent; +} +.bg-opacity-50 { + --tw-bg-opacity: 0.5; +} .bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); } - +.bg-gradient-to-br { + background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); +} .from-\[\#ff80b5\] { --tw-gradient-from: #ff80b5 var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 128 181 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); } - .to-\[\#9089fc\] { --tw-gradient-to: #9089fc var(--tw-gradient-to-position); } - +.fill-current { + fill: currentColor; +} +.stroke-current { + stroke: currentColor; +} .stroke-2 { stroke-width: 2; } - .object-cover { -o-object-fit: cover; object-fit: cover; } - -.p-0 { - padding: 0px; -} - -.p-10 { - padding: 2.5rem; -} - .p-2 { padding: 0.5rem; } - .p-2\.5 { padding: 0.625rem; } - .p-3 { padding: 0.75rem; } - .p-4 { padding: 1rem; } - -.px-0 { - padding-left: 0px; - padding-right: 0px; +.p-0 { + padding: 0px; } - .px-12 { padding-left: 3rem; padding-right: 3rem; } - -.px-2 { - padding-left: 0.5rem; - padding-right: 0.5rem; -} - .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; } - .px-5 { padding-left: 1.25rem; padding-right: 1.25rem; } - .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; } - .py-12 { padding-top: 3rem; padding-bottom: 3rem; } - .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; } - .py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; } - +.px-0 { + padding-left: 0px; + padding-right: 0px; +} +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} +.py-32 { + padding-top: 8rem; + padding-bottom: 8rem; +} +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} +.py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} +.py-0 { + padding-top: 0px; + padding-bottom: 0px; +} +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} .pb-0 { padding-bottom: 0px; } - .pb-2 { padding-bottom: 0.5rem; } - .pb-3 { padding-bottom: 0.75rem; } - .pb-3\.5 { padding-bottom: 0.875rem; } - .pl-2 { padding-left: 0.5rem; } - .pl-4 { padding-left: 1rem; } - -.pl-8 { - padding-left: 2rem; -} - .pr-0 { padding-right: 0px; } - .pr-8 { padding-right: 2rem; } - .pt-10 { padding-top: 2.5rem; } - .pt-2 { padding-top: 0.5rem; } - .pt-4 { padding-top: 1rem; } - +.pl-6 { + padding-left: 1.5rem; +} +.pr-4 { + padding-right: 1rem; +} +.pl-0 { + padding-left: 0px; +} .text-left { text-align: left; } - .text-center { text-align: center; } - -.text-right { - text-align: right; -} - .align-middle { vertical-align: middle; } - .font-lato { font-family: Lato, sans-serif; } - .text-2xl { font-size: 1.5rem; line-height: 2rem; } - .text-4xl { font-size: 2.25rem; line-height: 2.5rem; } - .text-5xl { font-size: 3rem; line-height: 1; } - .text-6xl { font-size: 3.75rem; line-height: 1; } - .text-lg { font-size: 1.125rem; line-height: 1.75rem; } - .text-sm { font-size: 0.875rem; line-height: 1.25rem; } - .text-xl { font-size: 1.25rem; line-height: 1.75rem; } - .text-xs { font-size: 0.75rem; line-height: 1rem; } - +.text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.text-7xl { + font-size: 4.5rem; + line-height: 1; +} .font-bold { font-weight: 700; } - .font-extrabold { font-weight: 800; } - .font-medium { font-weight: 500; } - .font-normal { font-weight: 400; } - .font-semibold { font-weight: 600; } - .uppercase { text-transform: uppercase; } - .italic { font-style: italic; } - .leading-6 { line-height: 1.5rem; } - .leading-normal { line-height: 1.5; } - +.leading-10 { + line-height: 2.5rem; +} +.leading-none { + line-height: 1; +} +.leading-tight { + line-height: 1.25; +} .tracking-tight { letter-spacing: -0.025em; } - .text-blue { --tw-text-opacity: 1; color: rgb(31 182 255 / var(--tw-text-opacity)); } - +.text-primary { + --tw-text-opacity: 1; + color: hsl(var(--primary) / var(--tw-text-opacity)); +} +.text-secondary { + --tw-text-opacity: 1; + color: hsl(var(--secondary) / var(--tw-text-opacity)); +} .underline { text-decoration-line: underline; } - +.antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} .opacity-30 { opacity: 0.3; } - .opacity-70 { opacity: 0.7; } - .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-\[0_4px_9px_-4px_\#3b71ca\] { --tw-shadow: 0 4px 9px -4px #3b71ca; --tw-shadow-colored: 0 4px 9px -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-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); } - .outline { outline-style: solid; } - +.blur-2xl { + --tw-blur: blur(40px); + 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); +} .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); } - -.blur-2xl { - --tw-blur: blur(40px); +.grayscale { + --tw-grayscale: grayscale(100%); 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); } - +.backdrop-blur-lg { + --tw-backdrop-blur: blur(16px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} +.backdrop-filter { + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} .transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; @@ -1703,92 +5290,127 @@ select { 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; } - .transition-transform { transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } - .duration-150 { transition-duration: 150ms; } - .duration-300 { transition-duration: 300ms; } - .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); +} .\[a-zA-Z\:\\-\\\.\] { a-z-a--z: \-\.; } +@media (hover:hover) { + + .table .hover\:hover:hovertr:hover, + .table .hover\:hover:hovertr:nth-child(even):hover { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + } + + .table-zebra .hover\:hover:hovertr:hover, + .table-zebra .hover\:hover:hovertr:nth-child(even):hover { + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } +} +@media (min-width: 1024px) { + + .lg\:divider-horizontal { + flex-direction: column; + } + + .lg\:divider-horizontal:before { + height: 100%; + width: 0.125rem; + } + + .lg\:divider-horizontal:after { + height: 100%; + width: 0.125rem; + } + .lg\:divider-horizontal { + margin-left: 1rem; + margin-right: 1rem; + margin-top: 0px; + margin-bottom: 0px; + height: auto; + width: 1rem; + } +} .hover\:bg-\[\#4285F4\]\/90:hover { background-color: rgb(66 133 244 / 0.9); } - +.hover\:bg-neutral-500:hover { + --tw-bg-opacity: 1; + background-color: rgb(115 115 115 / var(--tw-bg-opacity)); +} .hover\:bg-opacity-10:hover { --tw-bg-opacity: 0.1; } - .hover\:shadow-\[0_8px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.3\)\2c 0_4px_18px_0_rgba\(59\2c 113\2c 202\2c 0\.2\)\]:hover { --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2); --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 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); } - .focus\:text-purple:focus { --tw-text-opacity: 1; color: rgb(126 91 239 / var(--tw-text-opacity)); } - .focus\:shadow-\[0_8px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.3\)\2c 0_4px_18px_0_rgba\(59\2c 113\2c 202\2c 0\.2\)\]:focus { --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2); --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 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); } - .focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; } - .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-4: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(4px + 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-\[\#4285F4\]\/50:focus { --tw-ring-color: rgb(66 133 244 / 0.5); } - .focus-visible\:outline-offset-\[-4px\]:focus-visible { outline-offset: -4px; } - .active\:shadow-\[0_8px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.3\)\2c 0_4px_18px_0_rgba\(59\2c 113\2c 202\2c 0\.2\)\]:active { --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2); --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 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); } - +.group:hover .group-hover\:left-0 { + left: 0px; +} +.group:hover .group-hover\:w-full { + width: 100%; +} @media (min-width: 640px) { + .sm\:mt-0 { margin-top: 0px; } @@ -1817,13 +5439,27 @@ select { text-align: center; } + .sm\:text-5xl { + font-size: 3rem; + line-height: 1; + } + + .sm\:text-base { + font-size: 1rem; + line-height: 1.5rem; + } + .sm\:before\:flex-1::before { content: var(--tw-content); flex: 1 1 0%; } } - @media (min-width: 768px) { + + .md\:relative { + position: relative; + } + .md\:mb-0 { margin-bottom: 0px; } @@ -1832,18 +5468,58 @@ select { margin-right: 0.5rem; } + .md\:mr-1 { + margin-right: 0.25rem; + } + + .md\:mr-3 { + margin-right: 0.75rem; + } + + .md\:mt-12 { + margin-top: 3rem; + } + .md\:flex { display: flex; } + .md\:hidden { + display: none; + } + .md\:h-auto { height: auto; } + .md\:h-10 { + height: 2.5rem; + } + + .md\:h-24 { + height: 6rem; + } + .md\:w-48 { width: 12rem; } + .md\:w-auto { + width: auto; + } + + .md\:w-full { + width: 100%; + } + + .md\:max-w-md { + max-width: 28rem; + } + + .md\:max-w-xl { + max-width: 36rem; + } + .md\:flex-row { flex-direction: row; } @@ -1856,15 +5532,31 @@ select { justify-content: space-between; } + .md\:overflow-auto { + overflow: auto; + } + .md\:rounded-none { border-radius: 0px; } + .md\:rounded-full { + border-radius: 9999px; + } + .md\:rounded-s-lg { border-start-start-radius: 0.5rem; border-end-start-radius: 0.5rem; } + .md\:border { + border-width: 1px; + } + + .md\:bg-transparent { + background-color: transparent; + } + .md\:p-0 { padding: 0px; } @@ -1878,25 +5570,108 @@ select { padding-left: 1.5rem; padding-right: 1.5rem; } -} + .md\:px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + + .md\:px-4 { + padding-left: 1rem; + padding-right: 1rem; + } + + .md\:py-0 { + padding-top: 0px; + padding-bottom: 0px; + } + + .md\:py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + + .md\:py-1\.5 { + padding-top: 0.375rem; + padding-bottom: 0.375rem; + } + + .md\:py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + + .md\:py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + + .md\:pl-0 { + padding-left: 0px; + } + + .md\:text-center { + text-align: center; + } + + .md\:text-6xl { + font-size: 3.75rem; + line-height: 1; + } + + .md\:text-lg { + font-size: 1.125rem; + line-height: 1.75rem; + } +} @media (min-width: 1024px) { + + .lg\:mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; + } + + .lg\:mr-5 { + margin-right: 1.25rem; + } + .lg\:flex-row { flex-direction: row; } + + .lg\:px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; + } } +@media (min-width: 1280px) { + .xl\:text-7xl { + font-size: 4.5rem; + line-height: 1; + } + + .xl\:text-xl { + font-size: 1.25rem; + line-height: 1.75rem; + } +} .rtl\:space-x-reverse:where([dir="rtl"], [dir="rtl"] *) > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 1; } - @media (prefers-color-scheme: dark) { + .dark\:shadow-\[0_4px_9px_-4px_rgba\(59\2c 113\2c 202\2c 0\.5\)\] { --tw-shadow: 0 4px 9px -4px rgba(59,113,202,0.5); --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } + .dark\:hover\:bg-neutral-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(64 64 64 / var(--tw-bg-opacity)); + } + .dark\:hover\:bg-opacity-40:hover { --tw-bg-opacity: 0.4; } diff --git a/app/static/js/htmx.min.js b/app/static/js/htmx.min.js index 14e1d35..76010fd 100644 --- a/app/static/js/htmx.min.js +++ b/app/static/js/htmx.min.js @@ -1,3305 +1 @@ -(function (e, t) { - if (typeof define === 'function' && define.amd) { - define([], t); - } else if (typeof module === 'object' && module.exports) { - module.exports = t(); - } else { - e.htmx = e.htmx || t(); - } -})(typeof self !== 'undefined' ? self : this, function () { - return (function () { - 'use strict'; - var Y = { - onLoad: t, - process: Dt, - on: Z, - off: K, - trigger: fe, - ajax: Cr, - find: E, - findAll: f, - closest: d, - values: function (e, t) { - var r = or(e, t || 'post'); - return r.values; - }, - remove: B, - addClass: F, - removeClass: n, - toggleClass: V, - takeClass: j, - defineExtension: Ar, - removeExtension: Nr, - logAll: X, - logNone: U, - logger: null, - config: { - historyEnabled: true, - historyCacheSize: 10, - refreshOnHistoryMiss: false, - defaultSwapStyle: 'innerHTML', - defaultSwapDelay: 0, - defaultSettleDelay: 20, - includeIndicatorStyles: true, - indicatorClass: 'htmx-indicator', - requestClass: 'htmx-request', - addedClass: 'htmx-added', - settlingClass: 'htmx-settling', - swappingClass: 'htmx-swapping', - allowEval: true, - allowScriptTags: true, - inlineScriptNonce: '', - attributesToSettle: ['class', 'style', 'width', 'height'], - withCredentials: false, - timeout: 0, - wsReconnectDelay: 'full-jitter', - wsBinaryType: 'blob', - disableSelector: '[hx-disable], [data-hx-disable]', - useTemplateFragments: false, - scrollBehavior: 'smooth', - defaultFocusScroll: false, - getCacheBusterParam: false, - globalViewTransitions: false, - methodsThatUseUrlParams: ['get'], - selfRequestsOnly: false, - scrollIntoViewOnBoost: true, - }, - parseInterval: v, - _: e, - createEventSource: function (e) { - return new EventSource(e, { withCredentials: true }); - }, - createWebSocket: function (e) { - var t = new WebSocket(e, []); - t.binaryType = Y.config.wsBinaryType; - return t; - }, - version: '1.9.8', - }; - var r = { - addTriggerHandler: St, - bodyContains: oe, - canAccessLocalStorage: M, - findThisElement: ve, - filterValues: cr, - hasAttribute: o, - getAttributeValue: ee, - getClosestAttributeValue: re, - getClosestMatch: c, - getExpressionVars: wr, - getHeaders: fr, - getInputValues: or, - getInternalData: ie, - getSwapSpecification: dr, - getTriggerSpecs: Ze, - getTarget: ge, - makeFragment: l, - mergeObjects: se, - makeSettleInfo: T, - oobSwap: ye, - querySelectorExt: le, - selectAndSwap: Ue, - settleImmediately: Jt, - shouldCancel: tt, - triggerEvent: fe, - triggerErrorEvent: ue, - withExtensions: C, - }; - var b = ['get', 'post', 'put', 'delete', 'patch']; - var w = b - .map(function (e) { - return '[hx-' + e + '], [data-hx-' + e + ']'; - }) - .join(', '); - function v(e) { - if (e == undefined) { - return undefined; - } - if (e.slice(-2) == 'ms') { - return parseFloat(e.slice(0, -2)) || undefined; - } - if (e.slice(-1) == 's') { - return parseFloat(e.slice(0, -1)) * 1e3 || undefined; - } - if (e.slice(-1) == 'm') { - return parseFloat(e.slice(0, -1)) * 1e3 * 60 || undefined; - } - return parseFloat(e) || undefined; - } - function Q(e, t) { - return e.getAttribute && e.getAttribute(t); - } - function o(e, t) { - return ( - e.hasAttribute && (e.hasAttribute(t) || e.hasAttribute('data-' + t)) - ); - } - function ee(e, t) { - return Q(e, t) || Q(e, 'data-' + t); - } - function u(e) { - return e.parentElement; - } - function te() { - return document; - } - function c(e, t) { - while (e && !t(e)) { - e = u(e); - } - return e ? e : null; - } - function R(e, t, r) { - var n = ee(t, r); - var i = ee(t, 'hx-disinherit'); - if (e !== t && i && (i === '*' || i.split(' ').indexOf(r) >= 0)) { - return 'unset'; - } else { - return n; - } - } - function re(t, r) { - var n = null; - c(t, function (e) { - return (n = R(t, e, r)); - }); - if (n !== 'unset') { - return n; - } - } - function h(e, t) { - var r = - e.matches || - e.matchesSelector || - e.msMatchesSelector || - e.mozMatchesSelector || - e.webkitMatchesSelector || - e.oMatchesSelector; - return r && r.call(e, t); - } - function q(e) { - var t = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i; - var r = t.exec(e); - if (r) { - return r[1].toLowerCase(); - } else { - return ''; - } - } - function i(e, t) { - var r = new DOMParser(); - var n = r.parseFromString(e, 'text/view'); - var i = n.body; - while (t > 0) { - t--; - i = i.firstChild; - } - if (i == null) { - i = te().createDocumentFragment(); - } - return i; - } - function H(e) { - return e.match(/', 0); - return r.querySelector('template').content; - } else { - var n = q(e); - switch (n) { - case 'thead': - case 'tbody': - case 'tfoot': - case 'colgroup': - case 'caption': - return i('' + e + '
', 1); - case 'col': - return i('' + e + '
', 2); - case 'tr': - return i('' + e + '
', 2); - case 'td': - case 'th': - return i('' + e + '
', 3); - case 'script': - case 'style': - return i('
' + e + '
', 1); - default: - return i(e, 0); - } - } - } - function ne(e) { - if (e) { - e(); - } - } - function L(e, t) { - return Object.prototype.toString.call(e) === '[object ' + t + ']'; - } - function A(e) { - return L(e, 'Function'); - } - function N(e) { - return L(e, 'Object'); - } - function ie(e) { - var t = 'htmx-internal-data'; - var r = e[t]; - if (!r) { - r = e[t] = {}; - } - return r; - } - function I(e) { - var t = []; - if (e) { - for (var r = 0; r < e.length; r++) { - t.push(e[r]); - } - } - return t; - } - function ae(e, t) { - if (e) { - for (var r = 0; r < e.length; r++) { - t(e[r]); - } - } - } - function k(e) { - var t = e.getBoundingClientRect(); - var r = t.top; - var n = t.bottom; - return r < window.innerHeight && n >= 0; - } - function oe(e) { - if (e.getRootNode && e.getRootNode() instanceof window.ShadowRoot) { - return te().body.contains(e.getRootNode().host); - } else { - return te().body.contains(e); - } - } - function P(e) { - return e.trim().split(/\s+/); - } - function se(e, t) { - for (var r in t) { - if (t.hasOwnProperty(r)) { - e[r] = t[r]; - } - } - return e; - } - function S(e) { - try { - return JSON.parse(e); - } catch (e) { - y(e); - return null; - } - } - function M() { - var e = 'htmx:localStorageTest'; - try { - localStorage.setItem(e, e); - localStorage.removeItem(e); - return true; - } catch (e) { - return false; - } - } - function D(t) { - try { - var e = new URL(t); - if (e) { - t = e.pathname + e.search; - } - if (!t.match('^/$')) { - t = t.replace(/\/+$/, ''); - } - return t; - } catch (e) { - return t; - } - } - function e(e) { - return xr(te().body, function () { - return eval(e); - }); - } - function t(t) { - var e = Y.on('htmx:load', function (e) { - t(e.detail.elt); - }); - return e; - } - function X() { - Y.logger = function (e, t, r) { - if (console) { - console.log(t, e, r); - } - }; - } - function U() { - Y.logger = null; - } - function E(e, t) { - if (t) { - return e.querySelector(t); - } else { - return E(te(), e); - } - } - function f(e, t) { - if (t) { - return e.querySelectorAll(t); - } else { - return f(te(), e); - } - } - function B(e, t) { - e = s(e); - if (t) { - setTimeout(function () { - B(e); - e = null; - }, t); - } else { - e.parentElement.removeChild(e); - } - } - function F(e, t, r) { - e = s(e); - if (r) { - setTimeout(function () { - F(e, t); - e = null; - }, r); - } else { - e.classList && e.classList.add(t); - } - } - function n(e, t, r) { - e = s(e); - if (r) { - setTimeout(function () { - n(e, t); - e = null; - }, r); - } else { - if (e.classList) { - e.classList.remove(t); - if (e.classList.length === 0) { - e.removeAttribute('class'); - } - } - } - } - function V(e, t) { - e = s(e); - e.classList.toggle(t); - } - function j(e, t) { - e = s(e); - ae(e.parentElement.children, function (e) { - n(e, t); - }); - F(e, t); - } - function d(e, t) { - e = s(e); - if (e.closest) { - return e.closest(t); - } else { - do { - if (e == null || h(e, t)) { - return e; - } - } while ((e = e && u(e))); - return null; - } - } - function g(e, t) { - return e.substring(0, t.length) === t; - } - function _(e, t) { - return e.substring(e.length - t.length) === t; - } - function z(e) { - var t = e.trim(); - if (g(t, '<') && _(t, '/>')) { - return t.substring(1, t.length - 2); - } else { - return t; - } - } - function W(e, t) { - if (t.indexOf('closest ') === 0) { - return [d(e, z(t.substr(8)))]; - } else if (t.indexOf('find ') === 0) { - return [E(e, z(t.substr(5)))]; - } else if (t === 'next') { - return [e.nextElementSibling]; - } else if (t.indexOf('next ') === 0) { - return [$(e, z(t.substr(5)))]; - } else if (t === 'previous') { - return [e.previousElementSibling]; - } else if (t.indexOf('previous ') === 0) { - return [G(e, z(t.substr(9)))]; - } else if (t === 'document') { - return [document]; - } else if (t === 'window') { - return [window]; - } else if (t === 'body') { - return [document.body]; - } else { - return te().querySelectorAll(z(t)); - } - } - var $ = function (e, t) { - var r = te().querySelectorAll(t); - for (var n = 0; n < r.length; n++) { - var i = r[n]; - if (i.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_PRECEDING) { - return i; - } - } - }; - var G = function (e, t) { - var r = te().querySelectorAll(t); - for (var n = r.length - 1; n >= 0; n--) { - var i = r[n]; - if (i.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_FOLLOWING) { - return i; - } - } - }; - function le(e, t) { - if (t) { - return W(e, t)[0]; - } else { - return W(te().body, e)[0]; - } - } - function s(e) { - if (L(e, 'String')) { - return E(e); - } else { - return e; - } - } - function J(e, t, r) { - if (A(t)) { - return { target: te().body, event: e, listener: t }; - } else { - return { target: s(e), event: t, listener: r }; - } - } - function Z(t, r, n) { - Pr(function () { - var e = J(t, r, n); - e.target.addEventListener(e.event, e.listener); - }); - var e = A(r); - return e ? r : n; - } - function K(t, r, n) { - Pr(function () { - var e = J(t, r, n); - e.target.removeEventListener(e.event, e.listener); - }); - return A(r) ? r : n; - } - var he = te().createElement('output'); - function de(e, t) { - var r = re(e, t); - if (r) { - if (r === 'this') { - return [ve(e, t)]; - } else { - var n = W(e, r); - if (n.length === 0) { - y('The selector "' + r + '" on ' + t + ' returned no matches!'); - return [he]; - } else { - return n; - } - } - } - } - function ve(e, t) { - return c(e, function (e) { - return ee(e, t) != null; - }); - } - function ge(e) { - var t = re(e, 'hx-target'); - if (t) { - if (t === 'this') { - return ve(e, 'hx-target'); - } else { - return le(e, t); - } - } else { - var r = ie(e); - if (r.boosted) { - return te().body; - } else { - return e; - } - } - } - function me(e) { - var t = Y.config.attributesToSettle; - for (var r = 0; r < t.length; r++) { - if (e === t[r]) { - return true; - } - } - return false; - } - function pe(t, r) { - ae(t.attributes, function (e) { - if (!r.hasAttribute(e.name) && me(e.name)) { - t.removeAttribute(e.name); - } - }); - ae(r.attributes, function (e) { - if (me(e.name)) { - t.setAttribute(e.name, e.value); - } - }); - } - function xe(e, t) { - var r = Ir(t); - for (var n = 0; n < r.length; n++) { - var i = r[n]; - try { - if (i.isInlineSwap(e)) { - return true; - } - } catch (e) { - y(e); - } - } - return e === 'outerHTML'; - } - function ye(e, i, a) { - var t = '#' + Q(i, 'id'); - var o = 'outerHTML'; - if (e === 'true') { - } else if (e.indexOf(':') > 0) { - o = e.substr(0, e.indexOf(':')); - t = e.substr(e.indexOf(':') + 1, e.length); - } else { - o = e; - } - var r = te().querySelectorAll(t); - if (r) { - ae(r, function (e) { - var t; - var r = i.cloneNode(true); - t = te().createDocumentFragment(); - t.appendChild(r); - if (!xe(o, e)) { - t = r; - } - var n = { shouldSwap: true, target: e, fragment: t }; - if (!fe(e, 'htmx:oobBeforeSwap', n)) return; - e = n.target; - if (n['shouldSwap']) { - De(o, e, e, t, a); - } - ae(a.elts, function (e) { - fe(e, 'htmx:oobAfterSwap', n); - }); - }); - i.parentNode.removeChild(i); - } else { - i.parentNode.removeChild(i); - ue(te().body, 'htmx:oobErrorNoTarget', { content: i }); - } - return e; - } - function be(e, t, r) { - var n = re(e, 'hx-select-oob'); - if (n) { - var i = n.split(','); - for (let e = 0; e < i.length; e++) { - var a = i[e].split(':', 2); - var o = a[0].trim(); - if (o.indexOf('#') === 0) { - o = o.substring(1); - } - var s = a[1] || 'true'; - var l = t.querySelector('#' + o); - if (l) { - ye(s, l, r); - } - } - } - ae(f(t, '[hx-swap-oob], [data-hx-swap-oob]'), function (e) { - var t = ee(e, 'hx-swap-oob'); - if (t != null) { - ye(t, e, r); - } - }); - } - function we(e) { - ae(f(e, '[hx-preserve], [data-hx-preserve]'), function (e) { - var t = ee(e, 'id'); - var r = te().getElementById(t); - if (r != null) { - e.parentNode.replaceChild(r, e); - } - }); - } - function Se(o, e, s) { - ae(e.querySelectorAll('[id]'), function (e) { - var t = Q(e, 'id'); - if (t && t.length > 0) { - var r = t.replace("'", "\\'"); - var n = e.tagName.replace(':', '\\:'); - var i = o.querySelector(n + "[id='" + r + "']"); - if (i && i !== o) { - var a = e.cloneNode(); - pe(e, i); - s.tasks.push(function () { - pe(e, a); - }); - } - } - }); - } - function Ee(e) { - return function () { - n(e, Y.config.addedClass); - Dt(e); - Ct(e); - Ce(e); - fe(e, 'htmx:load'); - }; - } - function Ce(e) { - var t = '[autofocus]'; - var r = h(e, t) ? e : e.querySelector(t); - if (r != null) { - r.focus(); - } - } - function a(e, t, r, n) { - Se(e, r, n); - while (r.childNodes.length > 0) { - var i = r.firstChild; - F(i, Y.config.addedClass); - e.insertBefore(i, t); - if (i.nodeType !== Node.TEXT_NODE && i.nodeType !== Node.COMMENT_NODE) { - n.tasks.push(Ee(i)); - } - } - } - function Te(e, t) { - var r = 0; - while (r < e.length) { - t = ((t << 5) - t + e.charCodeAt(r++)) | 0; - } - return t; - } - function Oe(e) { - var t = 0; - if (e.attributes) { - for (var r = 0; r < e.attributes.length; r++) { - var n = e.attributes[r]; - if (n.value) { - t = Te(n.name, t); - t = Te(n.value, t); - } - } - } - return t; - } - function Re(t) { - var r = ie(t); - if (r.onHandlers) { - for (let e = 0; e < r.onHandlers.length; e++) { - const n = r.onHandlers[e]; - t.removeEventListener(n.event, n.listener); - } - delete r.onHandlers; - } - } - function qe(e) { - var t = ie(e); - if (t.timeout) { - clearTimeout(t.timeout); - } - if (t.webSocket) { - t.webSocket.close(); - } - if (t.sseEventSource) { - t.sseEventSource.close(); - } - if (t.listenerInfos) { - ae(t.listenerInfos, function (e) { - if (e.on) { - e.on.removeEventListener(e.trigger, e.listener); - } - }); - } - if (t.initHash) { - t.initHash = null; - } - Re(e); - } - function m(e) { - fe(e, 'htmx:beforeCleanupElement'); - qe(e); - if (e.children) { - ae(e.children, function (e) { - m(e); - }); - } - } - function He(t, e, r) { - if (t.tagName === 'BODY') { - return Pe(t, e, r); - } else { - var n; - var i = t.previousSibling; - a(u(t), t, e, r); - if (i == null) { - n = u(t).firstChild; - } else { - n = i.nextSibling; - } - ie(t).replacedWith = n; - r.elts = r.elts.filter(function (e) { - return e != t; - }); - while (n && n !== t) { - if (n.nodeType === Node.ELEMENT_NODE) { - r.elts.push(n); - } - n = n.nextElementSibling; - } - m(t); - u(t).removeChild(t); - } - } - function Le(e, t, r) { - return a(e, e.firstChild, t, r); - } - function Ae(e, t, r) { - return a(u(e), e, t, r); - } - function Ne(e, t, r) { - return a(e, null, t, r); - } - function Ie(e, t, r) { - return a(u(e), e.nextSibling, t, r); - } - function ke(e, t, r) { - m(e); - return u(e).removeChild(e); - } - function Pe(e, t, r) { - var n = e.firstChild; - a(e, n, t, r); - if (n) { - while (n.nextSibling) { - m(n.nextSibling); - e.removeChild(n.nextSibling); - } - m(n); - e.removeChild(n); - } - } - function Me(e, t, r) { - var n = r || re(e, 'hx-select'); - if (n) { - var i = te().createDocumentFragment(); - ae(t.querySelectorAll(n), function (e) { - i.appendChild(e); - }); - t = i; - } - return t; - } - function De(e, t, r, n, i) { - switch (e) { - case 'none': - return; - case 'outerHTML': - He(r, n, i); - return; - case 'afterbegin': - Le(r, n, i); - return; - case 'beforebegin': - Ae(r, n, i); - return; - case 'beforeend': - Ne(r, n, i); - return; - case 'afterend': - Ie(r, n, i); - return; - case 'delete': - ke(r, n, i); - return; - default: - var a = Ir(t); - for (var o = 0; o < a.length; o++) { - var s = a[o]; - try { - var l = s.handleSwap(e, r, n, i); - if (l) { - if (typeof l.length !== 'undefined') { - for (var u = 0; u < l.length; u++) { - var f = l[u]; - if ( - f.nodeType !== Node.TEXT_NODE && - f.nodeType !== Node.COMMENT_NODE - ) { - i.tasks.push(Ee(f)); - } - } - } - return; - } - } catch (e) { - y(e); - } - } - if (e === 'innerHTML') { - Pe(r, n, i); - } else { - De(Y.config.defaultSwapStyle, t, r, n, i); - } - } - } - function Xe(e) { - if (e.indexOf(' -1) { - var t = e.replace(/]*>|>)([\s\S]*?)<\/svg>/gim, ''); - var r = t.match(/]*>|>)([\s\S]*?)<\/title>/im); - if (r) { - return r[2]; - } - } - } - function Ue(e, t, r, n, i, a) { - i.title = Xe(n); - var o = l(n); - if (o) { - be(r, o, i); - o = Me(r, o, a); - we(o); - return De(e, r, t, o, i); - } - } - function Be(e, t, r) { - var n = e.getResponseHeader(t); - if (n.indexOf('{') === 0) { - var i = S(n); - for (var a in i) { - if (i.hasOwnProperty(a)) { - var o = i[a]; - if (!N(o)) { - o = { value: o }; - } - fe(r, a, o); - } - } - } else { - var s = n.split(','); - for (var l = 0; l < s.length; l++) { - fe(r, s[l].trim(), []); - } - } - } - var Fe = /\s/; - var p = /[\s,]/; - var Ve = /[_$a-zA-Z]/; - var je = /[_$a-zA-Z0-9]/; - var _e = ['"', "'", '/']; - var ze = /[^\s]/; - function We(e) { - var t = []; - var r = 0; - while (r < e.length) { - if (Ve.exec(e.charAt(r))) { - var n = r; - while (je.exec(e.charAt(r + 1))) { - r++; - } - t.push(e.substr(n, r - n + 1)); - } else if (_e.indexOf(e.charAt(r)) !== -1) { - var i = e.charAt(r); - var n = r; - r++; - while (r < e.length && e.charAt(r) !== i) { - if (e.charAt(r) === '\\') { - r++; - } - r++; - } - t.push(e.substr(n, r - n + 1)); - } else { - var a = e.charAt(r); - t.push(a); - } - r++; - } - return t; - } - function $e(e, t, r) { - return ( - Ve.exec(e.charAt(0)) && - e !== 'true' && - e !== 'false' && - e !== 'this' && - e !== r && - t !== '.' - ); - } - function Ge(e, t, r) { - if (t[0] === '[') { - t.shift(); - var n = 1; - var i = ' return (function(' + r + '){ return ('; - var a = null; - while (t.length > 0) { - var o = t[0]; - if (o === ']') { - n--; - if (n === 0) { - if (a === null) { - i = i + 'true'; - } - t.shift(); - i += ')})'; - try { - var s = xr( - e, - function () { - return Function(i)(); - }, - function () { - return true; - } - ); - s.source = i; - return s; - } catch (e) { - ue(te().body, 'htmx:syntax:error', { error: e, source: i }); - return null; - } - } - } else if (o === '[') { - n++; - } - if ($e(o, a, r)) { - i += - '((' + - r + - '.' + - o + - ') ? (' + - r + - '.' + - o + - ') : (window.' + - o + - '))'; - } else { - i = i + o; - } - a = t.shift(); - } - } - } - function x(e, t) { - var r = ''; - while (e.length > 0 && !e[0].match(t)) { - r += e.shift(); - } - return r; - } - var Je = 'input, textarea, select'; - function Ze(e) { - var t = ee(e, 'hx-trigger'); - var r = []; - if (t) { - var n = We(t); - do { - x(n, ze); - var i = n.length; - var a = x(n, /[,\[\s]/); - if (a !== '') { - if (a === 'every') { - var o = { trigger: 'every' }; - x(n, ze); - o.pollInterval = v(x(n, /[,\[\s]/)); - x(n, ze); - var s = Ge(e, n, 'event'); - if (s) { - o.eventFilter = s; - } - r.push(o); - } else if (a.indexOf('sse:') === 0) { - r.push({ trigger: 'sse', sseEvent: a.substr(4) }); - } else { - var l = { trigger: a }; - var s = Ge(e, n, 'event'); - if (s) { - l.eventFilter = s; - } - while (n.length > 0 && n[0] !== ',') { - x(n, ze); - var u = n.shift(); - if (u === 'changed') { - l.changed = true; - } else if (u === 'once') { - l.once = true; - } else if (u === 'consume') { - l.consume = true; - } else if (u === 'delay' && n[0] === ':') { - n.shift(); - l.delay = v(x(n, p)); - } else if (u === 'from' && n[0] === ':') { - n.shift(); - var f = x(n, p); - if ( - f === 'closest' || - f === 'find' || - f === 'next' || - f === 'previous' - ) { - n.shift(); - var c = x(n, p); - if (c.length > 0) { - f += ' ' + c; - } - } - l.from = f; - } else if (u === 'target' && n[0] === ':') { - n.shift(); - l.target = x(n, p); - } else if (u === 'throttle' && n[0] === ':') { - n.shift(); - l.throttle = v(x(n, p)); - } else if (u === 'queue' && n[0] === ':') { - n.shift(); - l.queue = x(n, p); - } else if ( - (u === 'root' || u === 'threshold') && - n[0] === ':' - ) { - n.shift(); - l[u] = x(n, p); - } else { - ue(e, 'htmx:syntax:error', { token: n.shift() }); - } - } - r.push(l); - } - } - if (n.length === i) { - ue(e, 'htmx:syntax:error', { token: n.shift() }); - } - x(n, ze); - } while (n[0] === ',' && n.shift()); - } - if (r.length > 0) { - return r; - } else if (h(e, 'form')) { - return [{ trigger: 'submit' }]; - } else if (h(e, 'input[type="button"], input[type="submit"]')) { - return [{ trigger: 'click' }]; - } else if (h(e, Je)) { - return [{ trigger: 'change' }]; - } else { - return [{ trigger: 'click' }]; - } - } - function Ke(e) { - ie(e).canceled = true; - } - function Ye(e, t, r) { - var n = ie(e); - n.timeout = setTimeout(function () { - if (oe(e) && n.canceled !== true) { - if (!nt(r, e, Ut('hx:poll:trigger', { triggerSpec: r, target: e }))) { - t(e); - } - Ye(e, t, r); - } - }, r.pollInterval); - } - function Qe(e) { - return ( - location.hostname === e.hostname && - Q(e, 'href') && - Q(e, 'href').indexOf('#') !== 0 - ); - } - function et(t, r, e) { - if ( - (t.tagName === 'A' && - Qe(t) && - (t.target === '' || t.target === '_self')) || - t.tagName === 'FORM' - ) { - r.boosted = true; - var n, i; - if (t.tagName === 'A') { - n = 'get'; - i = Q(t, 'href'); - } else { - var a = Q(t, 'method'); - n = a ? a.toLowerCase() : 'get'; - if (n === 'get') { - } - i = Q(t, 'action'); - } - e.forEach(function (e) { - it( - t, - function (e, t) { - if (d(e, Y.config.disableSelector)) { - m(e); - return; - } - ce(n, i, e, t); - }, - r, - e, - true - ); - }); - } - } - function tt(e, t) { - if (e.type === 'submit' || e.type === 'click') { - if (t.tagName === 'FORM') { - return true; - } - if (h(t, 'input[type="submit"], button') && d(t, 'form') !== null) { - return true; - } - if ( - t.tagName === 'A' && - t.href && - (t.getAttribute('href') === '#' || - t.getAttribute('href').indexOf('#') !== 0) - ) { - return true; - } - } - return false; - } - function rt(e, t) { - return ( - ie(e).boosted && - e.tagName === 'A' && - t.type === 'click' && - (t.ctrlKey || t.metaKey) - ); - } - function nt(e, t, r) { - var n = e.eventFilter; - if (n) { - try { - return n.call(t, r) !== true; - } catch (e) { - ue(te().body, 'htmx:eventFilter:error', { - error: e, - source: n.source, - }); - return true; - } - } - return false; - } - function it(a, o, e, s, l) { - var u = ie(a); - var t; - if (s.from) { - t = W(a, s.from); - } else { - t = [a]; - } - if (s.changed) { - t.forEach(function (e) { - var t = ie(e); - t.lastValue = e.value; - }); - } - ae(t, function (n) { - var i = function (e) { - if (!oe(a)) { - n.removeEventListener(s.trigger, i); - return; - } - if (rt(a, e)) { - return; - } - if (l || tt(e, a)) { - e.preventDefault(); - } - if (nt(s, a, e)) { - return; - } - var t = ie(e); - t.triggerSpec = s; - if (t.handledFor == null) { - t.handledFor = []; - } - if (t.handledFor.indexOf(a) < 0) { - t.handledFor.push(a); - if (s.consume) { - e.stopPropagation(); - } - if (s.target && e.target) { - if (!h(e.target, s.target)) { - return; - } - } - if (s.once) { - if (u.triggeredOnce) { - return; - } else { - u.triggeredOnce = true; - } - } - if (s.changed) { - var r = ie(n); - if (r.lastValue === n.value) { - return; - } - r.lastValue = n.value; - } - if (u.delayed) { - clearTimeout(u.delayed); - } - if (u.throttle) { - return; - } - if (s.throttle) { - if (!u.throttle) { - o(a, e); - u.throttle = setTimeout(function () { - u.throttle = null; - }, s.throttle); - } - } else if (s.delay) { - u.delayed = setTimeout(function () { - o(a, e); - }, s.delay); - } else { - fe(a, 'htmx:trigger'); - o(a, e); - } - } - }; - if (e.listenerInfos == null) { - e.listenerInfos = []; - } - e.listenerInfos.push({ trigger: s.trigger, listener: i, on: n }); - n.addEventListener(s.trigger, i); - }); - } - var at = false; - var ot = null; - function st() { - if (!ot) { - ot = function () { - at = true; - }; - window.addEventListener('scroll', ot); - setInterval(function () { - if (at) { - at = false; - ae( - te().querySelectorAll( - "[hx-trigger='revealed'],[data-hx-trigger='revealed']" - ), - function (e) { - lt(e); - } - ); - } - }, 200); - } - } - function lt(t) { - if (!o(t, 'data-hx-revealed') && k(t)) { - t.setAttribute('data-hx-revealed', 'true'); - var e = ie(t); - if (e.initHash) { - fe(t, 'revealed'); - } else { - t.addEventListener( - 'htmx:afterProcessNode', - function (e) { - fe(t, 'revealed'); - }, - { once: true } - ); - } - } - } - function ut(e, t, r) { - var n = P(r); - for (var i = 0; i < n.length; i++) { - var a = n[i].split(/:(.+)/); - if (a[0] === 'connect') { - ft(e, a[1], 0); - } - if (a[0] === 'send') { - ht(e); - } - } - } - function ft(s, r, n) { - if (!oe(s)) { - return; - } - if (r.indexOf('/') == 0) { - var e = location.hostname + (location.port ? ':' + location.port : ''); - if (location.protocol == 'https:') { - r = 'wss://' + e + r; - } else if (location.protocol == 'http:') { - r = 'ws://' + e + r; - } - } - var t = Y.createWebSocket(r); - t.onerror = function (e) { - ue(s, 'htmx:wsError', { error: e, socket: t }); - ct(s); - }; - t.onclose = function (e) { - if ([1006, 1012, 1013].indexOf(e.code) >= 0) { - var t = dt(n); - setTimeout(function () { - ft(s, r, n + 1); - }, t); - } - }; - t.onopen = function (e) { - n = 0; - }; - ie(s).webSocket = t; - t.addEventListener('message', function (e) { - if (ct(s)) { - return; - } - var t = e.data; - C(s, function (e) { - t = e.transformResponse(t, null, s); - }); - var r = T(s); - var n = l(t); - var i = I(n.children); - for (var a = 0; a < i.length; a++) { - var o = i[a]; - ye(ee(o, 'hx-swap-oob') || 'true', o, r); - } - Jt(r.tasks); - }); - } - function ct(e) { - if (!oe(e)) { - ie(e).webSocket.close(); - return true; - } - } - function ht(u) { - var f = c(u, function (e) { - return ie(e).webSocket != null; - }); - if (f) { - u.addEventListener(Ze(u)[0].trigger, function (e) { - var t = ie(f).webSocket; - var r = fr(u, f); - var n = or(u, 'post'); - var i = n.errors; - var a = n.values; - var o = wr(u); - var s = se(a, o); - var l = cr(s, u); - l['HEADERS'] = r; - if (i && i.length > 0) { - fe(u, 'htmx:validation:halted', i); - return; - } - t.send(JSON.stringify(l)); - if (tt(e, u)) { - e.preventDefault(); - } - }); - } else { - ue(u, 'htmx:noWebSocketSourceError'); - } - } - function dt(e) { - var t = Y.config.wsReconnectDelay; - if (typeof t === 'function') { - return t(e); - } - if (t === 'full-jitter') { - var r = Math.min(e, 6); - var n = 1e3 * Math.pow(2, r); - return n * Math.random(); - } - y( - 'htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"' - ); - } - function vt(e, t, r) { - var n = P(r); - for (var i = 0; i < n.length; i++) { - var a = n[i].split(/:(.+)/); - if (a[0] === 'connect') { - gt(e, a[1]); - } - if (a[0] === 'swap') { - mt(e, a[1]); - } - } - } - function gt(t, e) { - var r = Y.createEventSource(e); - r.onerror = function (e) { - ue(t, 'htmx:sseError', { error: e, source: r }); - xt(t); - }; - ie(t).sseEventSource = r; - } - function mt(a, o) { - var s = c(a, yt); - if (s) { - var l = ie(s).sseEventSource; - var u = function (e) { - if (xt(s)) { - return; - } - if (!oe(a)) { - l.removeEventListener(o, u); - return; - } - var t = e.data; - C(a, function (e) { - t = e.transformResponse(t, null, a); - }); - var r = dr(a); - var n = ge(a); - var i = T(a); - Ue(r.swapStyle, n, a, t, i); - Jt(i.tasks); - fe(a, 'htmx:sseMessage', e); - }; - ie(a).sseListener = u; - l.addEventListener(o, u); - } else { - ue(a, 'htmx:noSSESourceError'); - } - } - function pt(e, t, r) { - var n = c(e, yt); - if (n) { - var i = ie(n).sseEventSource; - var a = function () { - if (!xt(n)) { - if (oe(e)) { - t(e); - } else { - i.removeEventListener(r, a); - } - } - }; - ie(e).sseListener = a; - i.addEventListener(r, a); - } else { - ue(e, 'htmx:noSSESourceError'); - } - } - function xt(e) { - if (!oe(e)) { - ie(e).sseEventSource.close(); - return true; - } - } - function yt(e) { - return ie(e).sseEventSource != null; - } - function bt(e, t, r, n) { - var i = function () { - if (!r.loaded) { - r.loaded = true; - t(e); - } - }; - if (n) { - setTimeout(i, n); - } else { - i(); - } - } - function wt(t, i, e) { - var a = false; - ae(b, function (r) { - if (o(t, 'hx-' + r)) { - var n = ee(t, 'hx-' + r); - a = true; - i.path = n; - i.verb = r; - e.forEach(function (e) { - St(t, e, i, function (e, t) { - if (d(e, Y.config.disableSelector)) { - m(e); - return; - } - ce(r, n, e, t); - }); - }); - } - }); - return a; - } - function St(n, e, t, r) { - if (e.sseEvent) { - pt(n, r, e.sseEvent); - } else if (e.trigger === 'revealed') { - st(); - it(n, r, t, e); - lt(n); - } else if (e.trigger === 'intersect') { - var i = {}; - if (e.root) { - i.root = le(n, e.root); - } - if (e.threshold) { - i.threshold = parseFloat(e.threshold); - } - var a = new IntersectionObserver(function (e) { - for (var t = 0; t < e.length; t++) { - var r = e[t]; - if (r.isIntersecting) { - fe(n, 'intersect'); - break; - } - } - }, i); - a.observe(n); - it(n, r, t, e); - } else if (e.trigger === 'load') { - if (!nt(e, n, Ut('load', { elt: n }))) { - bt(n, r, t, e.delay); - } - } else if (e.pollInterval) { - t.polling = true; - Ye(n, r, e); - } else { - it(n, r, t, e); - } - } - function Et(e) { - if ( - Y.config.allowScriptTags && - (e.type === 'text/javascript' || e.type === 'module' || e.type === '') - ) { - var t = te().createElement('script'); - ae(e.attributes, function (e) { - t.setAttribute(e.name, e.value); - }); - t.textContent = e.textContent; - t.async = false; - if (Y.config.inlineScriptNonce) { - t.nonce = Y.config.inlineScriptNonce; - } - var r = e.parentElement; - try { - r.insertBefore(t, e); - } catch (e) { - y(e); - } finally { - if (e.parentElement) { - e.parentElement.removeChild(e); - } - } - } - } - function Ct(e) { - if (h(e, 'script')) { - Et(e); - } - ae(f(e, 'script'), function (e) { - Et(e); - }); - } - function Tt() { - return document.querySelector('[hx-boost], [data-hx-boost]'); - } - function Ot(e) { - var t = null; - var r = []; - if (document.evaluate) { - var n = document.evaluate( - '//*[@*[ starts-with(name(), "hx-on:") or starts-with(name(), "data-hx-on:") ]]', - e - ); - while ((t = n.iterateNext())) r.push(t); - } else { - var i = document.getElementsByTagName('*'); - for (var a = 0; a < i.length; a++) { - var o = i[a].attributes; - for (var s = 0; s < o.length; s++) { - var l = o[s].name; - if (g(l, 'hx-on:') || g(l, 'data-hx-on:')) { - r.push(i[a]); - } - } - } - } - return r; - } - function Rt(e) { - if (e.querySelectorAll) { - var t = Tt() ? ', a' : ''; - var r = e.querySelectorAll( - w + - t + - ", form, [type='submit'], [hx-sse], [data-hx-sse], [hx-ws]," + - ' [data-hx-ws], [hx-ext], [data-hx-ext], [hx-trigger], [data-hx-trigger], [hx-on], [data-hx-on]' - ); - return r; - } else { - return []; - } - } - function qt(e) { - var t = d(e.target, "button, input[type='submit']"); - var r = Lt(e); - if (r) { - r.lastButtonClicked = t; - } - } - function Ht(e) { - var t = Lt(e); - if (t) { - t.lastButtonClicked = null; - } - } - function Lt(e) { - var t = d(e.target, "button, input[type='submit']"); - if (!t) { - return; - } - var r = s('#' + Q(t, 'form')) || d(t, 'form'); - if (!r) { - return; - } - return ie(r); - } - function At(e) { - e.addEventListener('click', qt); - e.addEventListener('focusin', qt); - e.addEventListener('focusout', Ht); - } - function Nt(e) { - var t = We(e); - var r = 0; - for (let e = 0; e < t.length; e++) { - const n = t[e]; - if (n === '{') { - r++; - } else if (n === '}') { - r--; - } - } - return r; - } - function It(t, e, r) { - var n = ie(t); - if (!Array.isArray(n.onHandlers)) { - n.onHandlers = []; - } - var i; - var a = function (e) { - return xr(t, function () { - if (!i) { - i = new Function('event', r); - } - i.call(t, e); - }); - }; - t.addEventListener(e, a); - n.onHandlers.push({ event: e, listener: a }); - } - function kt(e) { - var t = ee(e, 'hx-on'); - if (t) { - var r = {}; - var n = t.split('\n'); - var i = null; - var a = 0; - while (n.length > 0) { - var o = n.shift(); - var s = o.match(/^\s*([a-zA-Z:\-\.]+:)(.*)/); - if (a === 0 && s) { - o.split(':'); - i = s[1].slice(0, -1); - r[i] = s[2]; - } else { - r[i] += o; - } - a += Nt(o); - } - for (var l in r) { - It(e, l, r[l]); - } - } - } - function Pt(t) { - Re(t); - for (var e = 0; e < t.attributes.length; e++) { - var r = t.attributes[e].name; - var n = t.attributes[e].value; - if (g(r, 'hx-on:') || g(r, 'data-hx-on:')) { - let e = r.slice(r.indexOf(':') + 1); - if (g(e, ':')) e = 'htmx' + e; - It(t, e, n); - } - } - } - function Mt(t) { - if (d(t, Y.config.disableSelector)) { - m(t); - return; - } - var r = ie(t); - if (r.initHash !== Oe(t)) { - qe(t); - r.initHash = Oe(t); - kt(t); - fe(t, 'htmx:beforeProcessNode'); - if (t.value) { - r.lastValue = t.value; - } - var e = Ze(t); - var n = wt(t, r, e); - if (!n) { - if (re(t, 'hx-boost') === 'true') { - et(t, r, e); - } else if (o(t, 'hx-trigger')) { - e.forEach(function (e) { - St(t, e, r, function () {}); - }); - } - } - if ( - t.tagName === 'FORM' || - (Q(t, 'type') === 'submit' && o(t, 'form')) - ) { - At(t); - } - var i = ee(t, 'hx-sse'); - if (i) { - vt(t, r, i); - } - var a = ee(t, 'hx-ws'); - if (a) { - ut(t, r, a); - } - fe(t, 'htmx:afterProcessNode'); - } - } - function Dt(e) { - e = s(e); - if (d(e, Y.config.disableSelector)) { - m(e); - return; - } - Mt(e); - ae(Rt(e), function (e) { - Mt(e); - }); - ae(Ot(e), Pt); - } - function Xt(e) { - return e.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase(); - } - function Ut(e, t) { - var r; - if (window.CustomEvent && typeof window.CustomEvent === 'function') { - r = new CustomEvent(e, { bubbles: true, cancelable: true, detail: t }); - } else { - r = te().createEvent('CustomEvent'); - r.initCustomEvent(e, true, true, t); - } - return r; - } - function ue(e, t, r) { - fe(e, t, se({ error: t }, r)); - } - function Bt(e) { - return e === 'htmx:afterProcessNode'; - } - function C(e, t) { - ae(Ir(e), function (e) { - try { - t(e); - } catch (e) { - y(e); - } - }); - } - function y(e) { - if (console.error) { - console.error(e); - } else if (console.log) { - console.log('ERROR: ', e); - } - } - function fe(e, t, r) { - e = s(e); - if (r == null) { - r = {}; - } - r['elt'] = e; - var n = Ut(t, r); - if (Y.logger && !Bt(t)) { - Y.logger(e, t, r); - } - if (r.error) { - y(r.error); - fe(e, 'htmx:error', { errorInfo: r }); - } - var i = e.dispatchEvent(n); - var a = Xt(t); - if (i && a !== t) { - var o = Ut(a, n.detail); - i = i && e.dispatchEvent(o); - } - C(e, function (e) { - i = i && e.onEvent(t, n) !== false && !n.defaultPrevented; - }); - return i; - } - var Ft = location.pathname + location.search; - function Vt() { - var e = te().querySelector('[hx-history-elt],[data-hx-history-elt]'); - return e || te().body; - } - function jt(e, t, r, n) { - if (!M()) { - return; - } - if (Y.config.historyCacheSize <= 0) { - localStorage.removeItem('htmx-history-cache'); - return; - } - e = D(e); - var i = S(localStorage.getItem('htmx-history-cache')) || []; - for (var a = 0; a < i.length; a++) { - if (i[a].url === e) { - i.splice(a, 1); - break; - } - } - var o = { url: e, content: t, title: r, scroll: n }; - fe(te().body, 'htmx:historyItemCreated', { item: o, cache: i }); - i.push(o); - while (i.length > Y.config.historyCacheSize) { - i.shift(); - } - while (i.length > 0) { - try { - localStorage.setItem('htmx-history-cache', JSON.stringify(i)); - break; - } catch (e) { - ue(te().body, 'htmx:historyCacheError', { cause: e, cache: i }); - i.shift(); - } - } - } - function _t(e) { - if (!M()) { - return null; - } - e = D(e); - var t = S(localStorage.getItem('htmx-history-cache')) || []; - for (var r = 0; r < t.length; r++) { - if (t[r].url === e) { - return t[r]; - } - } - return null; - } - function zt(e) { - var t = Y.config.requestClass; - var r = e.cloneNode(true); - ae(f(r, '.' + t), function (e) { - n(e, t); - }); - return r.innerHTML; - } - function Wt() { - var e = Vt(); - var t = Ft || location.pathname + location.search; - var r; - try { - r = te().querySelector( - '[hx-history="false" i],[data-hx-history="false" i]' - ); - } catch (e) { - r = te().querySelector( - '[hx-history="false"],[data-hx-history="false"]' - ); - } - if (!r) { - fe(te().body, 'htmx:beforeHistorySave', { path: t, historyElt: e }); - jt(t, zt(e), te().title, window.scrollY); - } - if (Y.config.historyEnabled) - history.replaceState({ htmx: true }, te().title, window.location.href); - } - function $t(e) { - if (Y.config.getCacheBusterParam) { - e = e.replace(/org\.htmx\.cache-buster=[^&]*&?/, ''); - if (_(e, '&') || _(e, '?')) { - e = e.slice(0, -1); - } - } - if (Y.config.historyEnabled) { - history.pushState({ htmx: true }, '', e); - } - Ft = e; - } - function Gt(e) { - if (Y.config.historyEnabled) history.replaceState({ htmx: true }, '', e); - Ft = e; - } - function Jt(e) { - ae(e, function (e) { - e.call(); - }); - } - function Zt(a) { - var e = new XMLHttpRequest(); - var o = { path: a, xhr: e }; - fe(te().body, 'htmx:historyCacheMiss', o); - e.open('GET', a, true); - e.setRequestHeader('HX-History-Restore-Request', 'true'); - e.onload = function () { - if (this.status >= 200 && this.status < 400) { - fe(te().body, 'htmx:historyCacheMissLoad', o); - var e = l(this.response); - e = e.querySelector('[hx-history-elt],[data-hx-history-elt]') || e; - var t = Vt(); - var r = T(t); - var n = Xe(this.response); - if (n) { - var i = E('title'); - if (i) { - i.innerHTML = n; - } else { - window.document.title = n; - } - } - Pe(t, e, r); - Jt(r.tasks); - Ft = a; - fe(te().body, 'htmx:historyRestore', { - path: a, - cacheMiss: true, - serverResponse: this.response, - }); - } else { - ue(te().body, 'htmx:historyCacheMissLoadError', o); - } - }; - e.send(); - } - function Kt(e) { - Wt(); - e = e || location.pathname + location.search; - var t = _t(e); - if (t) { - var r = l(t.content); - var n = Vt(); - var i = T(n); - Pe(n, r, i); - Jt(i.tasks); - document.title = t.title; - setTimeout(function () { - window.scrollTo(0, t.scroll); - }, 0); - Ft = e; - fe(te().body, 'htmx:historyRestore', { path: e, item: t }); - } else { - if (Y.config.refreshOnHistoryMiss) { - window.location.reload(true); - } else { - Zt(e); - } - } - } - function Yt(e) { - var t = de(e, 'hx-indicator'); - if (t == null) { - t = [e]; - } - ae(t, function (e) { - var t = ie(e); - t.requestCount = (t.requestCount || 0) + 1; - e.classList['add'].call(e.classList, Y.config.requestClass); - }); - return t; - } - function Qt(e) { - var t = de(e, 'hx-disabled-elt'); - if (t == null) { - t = []; - } - ae(t, function (e) { - var t = ie(e); - t.requestCount = (t.requestCount || 0) + 1; - e.setAttribute('disabled', ''); - }); - return t; - } - function er(e, t) { - ae(e, function (e) { - var t = ie(e); - t.requestCount = (t.requestCount || 0) - 1; - if (t.requestCount === 0) { - e.classList['remove'].call(e.classList, Y.config.requestClass); - } - }); - ae(t, function (e) { - var t = ie(e); - t.requestCount = (t.requestCount || 0) - 1; - if (t.requestCount === 0) { - e.removeAttribute('disabled'); - } - }); - } - function tr(e, t) { - for (var r = 0; r < e.length; r++) { - var n = e[r]; - if (n.isSameNode(t)) { - return true; - } - } - return false; - } - function rr(e) { - if (e.name === '' || e.name == null || e.disabled) { - return false; - } - if ( - e.type === 'button' || - e.type === 'submit' || - e.tagName === 'image' || - e.tagName === 'reset' || - e.tagName === 'file' - ) { - return false; - } - if (e.type === 'checkbox' || e.type === 'radio') { - return e.checked; - } - return true; - } - function nr(e, t, r) { - if (e != null && t != null) { - var n = r[e]; - if (n === undefined) { - r[e] = t; - } else if (Array.isArray(n)) { - if (Array.isArray(t)) { - r[e] = n.concat(t); - } else { - n.push(t); - } - } else { - if (Array.isArray(t)) { - r[e] = [n].concat(t); - } else { - r[e] = [n, t]; - } - } - } - } - function ir(t, r, n, e, i) { - if (e == null || tr(t, e)) { - return; - } else { - t.push(e); - } - if (rr(e)) { - var a = Q(e, 'name'); - var o = e.value; - if (e.multiple && e.tagName === 'SELECT') { - o = I(e.querySelectorAll('option:checked')).map(function (e) { - return e.value; - }); - } - if (e.files) { - o = I(e.files); - } - nr(a, o, r); - if (i) { - ar(e, n); - } - } - if (h(e, 'form')) { - var s = e.elements; - ae(s, function (e) { - ir(t, r, n, e, i); - }); - } - } - function ar(e, t) { - if (e.willValidate) { - fe(e, 'htmx:validation:validate'); - if (!e.checkValidity()) { - t.push({ - elt: e, - message: e.validationMessage, - validity: e.validity, - }); - fe(e, 'htmx:validation:failed', { - message: e.validationMessage, - validity: e.validity, - }); - } - } - } - function or(e, t) { - var r = []; - var n = {}; - var i = {}; - var a = []; - var o = ie(e); - if (o.lastButtonClicked && !oe(o.lastButtonClicked)) { - o.lastButtonClicked = null; - } - var s = - (h(e, 'form') && e.noValidate !== true) || - ee(e, 'hx-validate') === 'true'; - if (o.lastButtonClicked) { - s = s && o.lastButtonClicked.formNoValidate !== true; - } - if (t !== 'get') { - ir(r, i, a, d(e, 'form'), s); - } - ir(r, n, a, e, s); - if ( - o.lastButtonClicked || - e.tagName === 'BUTTON' || - (e.tagName === 'INPUT' && Q(e, 'type') === 'submit') - ) { - var l = o.lastButtonClicked || e; - var u = Q(l, 'name'); - nr(u, l.value, i); - } - var f = de(e, 'hx-include'); - ae(f, function (e) { - ir(r, n, a, e, s); - if (!h(e, 'form')) { - ae(e.querySelectorAll(Je), function (e) { - ir(r, n, a, e, s); - }); - } - }); - n = se(n, i); - return { errors: a, values: n }; - } - function sr(e, t, r) { - if (e !== '') { - e += '&'; - } - if (String(r) === '[object Object]') { - r = JSON.stringify(r); - } - var n = encodeURIComponent(r); - e += encodeURIComponent(t) + '=' + n; - return e; - } - function lr(e) { - var t = ''; - for (var r in e) { - if (e.hasOwnProperty(r)) { - var n = e[r]; - if (Array.isArray(n)) { - ae(n, function (e) { - t = sr(t, r, e); - }); - } else { - t = sr(t, r, n); - } - } - } - return t; - } - function ur(e) { - var t = new FormData(); - for (var r in e) { - if (e.hasOwnProperty(r)) { - var n = e[r]; - if (Array.isArray(n)) { - ae(n, function (e) { - t.append(r, e); - }); - } else { - t.append(r, n); - } - } - } - return t; - } - function fr(e, t, r) { - var n = { - 'HX-Request': 'true', - 'HX-Trigger': Q(e, 'id'), - 'HX-Trigger-Name': Q(e, 'name'), - 'HX-Target': ee(t, 'id'), - 'HX-Current-URL': te().location.href, - }; - pr(e, 'hx-headers', false, n); - if (r !== undefined) { - n['HX-Prompt'] = r; - } - if (ie(e).boosted) { - n['HX-Boosted'] = 'true'; - } - return n; - } - function cr(t, e) { - var r = re(e, 'hx-params'); - if (r) { - if (r === 'none') { - return {}; - } else if (r === '*') { - return t; - } else if (r.indexOf('not ') === 0) { - ae(r.substr(4).split(','), function (e) { - e = e.trim(); - delete t[e]; - }); - return t; - } else { - var n = {}; - ae(r.split(','), function (e) { - e = e.trim(); - n[e] = t[e]; - }); - return n; - } - } else { - return t; - } - } - function hr(e) { - return Q(e, 'href') && Q(e, 'href').indexOf('#') >= 0; - } - function dr(e, t) { - var r = t ? t : re(e, 'hx-swap'); - var n = { - swapStyle: ie(e).boosted ? 'innerHTML' : Y.config.defaultSwapStyle, - swapDelay: Y.config.defaultSwapDelay, - settleDelay: Y.config.defaultSettleDelay, - }; - if (Y.config.scrollIntoViewOnBoost && ie(e).boosted && !hr(e)) { - n['show'] = 'top'; - } - if (r) { - var i = P(r); - if (i.length > 0) { - for (var a = 0; a < i.length; a++) { - var o = i[a]; - if (o.indexOf('swap:') === 0) { - n['swapDelay'] = v(o.substr(5)); - } else if (o.indexOf('settle:') === 0) { - n['settleDelay'] = v(o.substr(7)); - } else if (o.indexOf('transition:') === 0) { - n['transition'] = o.substr(11) === 'true'; - } else if (o.indexOf('ignoreTitle:') === 0) { - n['ignoreTitle'] = o.substr(12) === 'true'; - } else if (o.indexOf('scroll:') === 0) { - var s = o.substr(7); - var l = s.split(':'); - var u = l.pop(); - var f = l.length > 0 ? l.join(':') : null; - n['scroll'] = u; - n['scrollTarget'] = f; - } else if (o.indexOf('show:') === 0) { - var c = o.substr(5); - var l = c.split(':'); - var h = l.pop(); - var f = l.length > 0 ? l.join(':') : null; - n['show'] = h; - n['showTarget'] = f; - } else if (o.indexOf('focus-scroll:') === 0) { - var d = o.substr('focus-scroll:'.length); - n['focusScroll'] = d == 'true'; - } else if (a == 0) { - n['swapStyle'] = o; - } else { - y('Unknown modifier in hx-swap: ' + o); - } - } - } - } - return n; - } - function vr(e) { - return ( - re(e, 'hx-encoding') === 'multipart/form-data' || - (h(e, 'form') && Q(e, 'enctype') === 'multipart/form-data') - ); - } - function gr(t, r, n) { - var i = null; - C(r, function (e) { - if (i == null) { - i = e.encodeParameters(t, n, r); - } - }); - if (i != null) { - return i; - } else { - if (vr(r)) { - return ur(n); - } else { - return lr(n); - } - } - } - function T(e) { - return { tasks: [], elts: [e] }; - } - function mr(e, t) { - var r = e[0]; - var n = e[e.length - 1]; - if (t.scroll) { - var i = null; - if (t.scrollTarget) { - i = le(r, t.scrollTarget); - } - if (t.scroll === 'top' && (r || i)) { - i = i || r; - i.scrollTop = 0; - } - if (t.scroll === 'bottom' && (n || i)) { - i = i || n; - i.scrollTop = i.scrollHeight; - } - } - if (t.show) { - var i = null; - if (t.showTarget) { - var a = t.showTarget; - if (t.showTarget === 'window') { - a = 'body'; - } - i = le(r, a); - } - if (t.show === 'top' && (r || i)) { - i = i || r; - i.scrollIntoView({ - block: 'start', - behavior: Y.config.scrollBehavior, - }); - } - if (t.show === 'bottom' && (n || i)) { - i = i || n; - i.scrollIntoView({ block: 'end', behavior: Y.config.scrollBehavior }); - } - } - } - function pr(e, t, r, n) { - if (n == null) { - n = {}; - } - if (e == null) { - return n; - } - var i = ee(e, t); - if (i) { - var a = i.trim(); - var o = r; - if (a === 'unset') { - return null; - } - if (a.indexOf('javascript:') === 0) { - a = a.substr(11); - o = true; - } else if (a.indexOf('js:') === 0) { - a = a.substr(3); - o = true; - } - if (a.indexOf('{') !== 0) { - a = '{' + a + '}'; - } - var s; - if (o) { - s = xr( - e, - function () { - return Function('return (' + a + ')')(); - }, - {} - ); - } else { - s = S(a); - } - for (var l in s) { - if (s.hasOwnProperty(l)) { - if (n[l] == null) { - n[l] = s[l]; - } - } - } - } - return pr(u(e), t, r, n); - } - function xr(e, t, r) { - if (Y.config.allowEval) { - return t(); - } else { - ue(e, 'htmx:evalDisallowedError'); - return r; - } - } - function yr(e, t) { - return pr(e, 'hx-vars', true, t); - } - function br(e, t) { - return pr(e, 'hx-vals', false, t); - } - function wr(e) { - return se(yr(e), br(e)); - } - function Sr(t, r, n) { - if (n !== null) { - try { - t.setRequestHeader(r, n); - } catch (e) { - t.setRequestHeader(r, encodeURIComponent(n)); - t.setRequestHeader(r + '-URI-AutoEncoded', 'true'); - } - } - } - function Er(t) { - if (t.responseURL && typeof URL !== 'undefined') { - try { - var e = new URL(t.responseURL); - return e.pathname + e.search; - } catch (e) { - ue(te().body, 'htmx:badResponseUrl', { url: t.responseURL }); - } - } - } - function O(e, t) { - return e.getAllResponseHeaders().match(t); - } - function Cr(e, t, r) { - e = e.toLowerCase(); - if (r) { - if (r instanceof Element || L(r, 'String')) { - return ce(e, t, null, null, { - targetOverride: s(r), - returnPromise: true, - }); - } else { - return ce(e, t, s(r.source), r.event, { - handler: r.handler, - headers: r.headers, - values: r.values, - targetOverride: s(r.target), - swapOverride: r.swap, - returnPromise: true, - }); - } - } else { - return ce(e, t, null, null, { returnPromise: true }); - } - } - function Tr(e) { - var t = []; - while (e) { - t.push(e); - e = e.parentElement; - } - return t; - } - function Or(e, t, r) { - var n; - var i; - if (typeof URL === 'function') { - i = new URL(t, document.location.href); - var a = document.location.origin; - n = a === i.origin; - } else { - i = t; - n = g(t, document.location.origin); - } - if (Y.config.selfRequestsOnly) { - if (!n) { - return false; - } - } - return fe(e, 'htmx:validateUrl', se({ url: i, sameHost: n }, r)); - } - function ce(t, r, n, i, a, e) { - var o = null; - var s = null; - a = a != null ? a : {}; - if (a.returnPromise && typeof Promise !== 'undefined') { - var l = new Promise(function (e, t) { - o = e; - s = t; - }); - } - if (n == null) { - n = te().body; - } - var M = a.handler || qr; - if (!oe(n)) { - ne(o); - return l; - } - var u = a.targetOverride || ge(n); - if (u == null || u == he) { - ue(n, 'htmx:targetError', { target: ee(n, 'hx-target') }); - ne(s); - return l; - } - var f = ie(n); - var c = f.lastButtonClicked; - if (c) { - var h = Q(c, 'formaction'); - if (h != null) { - r = h; - } - var d = Q(c, 'formmethod'); - if (d != null) { - if (d.toLowerCase() !== 'dialog') { - t = d; - } - } - } - var v = re(n, 'hx-confirm'); - if (e === undefined) { - var D = function (e) { - return ce(t, r, n, i, a, !!e); - }; - var X = { - target: u, - elt: n, - path: r, - verb: t, - triggeringEvent: i, - etc: a, - issueRequest: D, - question: v, - }; - if (fe(n, 'htmx:confirm', X) === false) { - ne(o); - return l; - } - } - var g = n; - var m = re(n, 'hx-sync'); - var p = null; - var x = false; - if (m) { - var U = m.split(':'); - var B = U[0].trim(); - if (B === 'this') { - g = ve(n, 'hx-sync'); - } else { - g = le(n, B); - } - m = (U[1] || 'drop').trim(); - f = ie(g); - if (m === 'drop' && f.xhr && f.abortable !== true) { - ne(o); - return l; - } else if (m === 'abort') { - if (f.xhr) { - ne(o); - return l; - } else { - x = true; - } - } else if (m === 'replace') { - fe(g, 'htmx:abort'); - } else if (m.indexOf('queue') === 0) { - var F = m.split(' '); - p = (F[1] || 'last').trim(); - } - } - if (f.xhr) { - if (f.abortable) { - fe(g, 'htmx:abort'); - } else { - if (p == null) { - if (i) { - var y = ie(i); - if (y && y.triggerSpec && y.triggerSpec.queue) { - p = y.triggerSpec.queue; - } - } - if (p == null) { - p = 'last'; - } - } - if (f.queuedRequests == null) { - f.queuedRequests = []; - } - if (p === 'first' && f.queuedRequests.length === 0) { - f.queuedRequests.push(function () { - ce(t, r, n, i, a); - }); - } else if (p === 'all') { - f.queuedRequests.push(function () { - ce(t, r, n, i, a); - }); - } else if (p === 'last') { - f.queuedRequests = []; - f.queuedRequests.push(function () { - ce(t, r, n, i, a); - }); - } - ne(o); - return l; - } - } - var b = new XMLHttpRequest(); - f.xhr = b; - f.abortable = x; - var w = function () { - f.xhr = null; - f.abortable = false; - if (f.queuedRequests != null && f.queuedRequests.length > 0) { - var e = f.queuedRequests.shift(); - e(); - } - }; - var V = re(n, 'hx-prompt'); - if (V) { - var S = prompt(V); - if (S === null || !fe(n, 'htmx:prompt', { prompt: S, target: u })) { - ne(o); - w(); - return l; - } - } - if (v && !e) { - if (!confirm(v)) { - ne(o); - w(); - return l; - } - } - var E = fr(n, u, S); - if (a.headers) { - E = se(E, a.headers); - } - var j = or(n, t); - var C = j.errors; - var T = j.values; - if (a.values) { - T = se(T, a.values); - } - var _ = wr(n); - var z = se(T, _); - var O = cr(z, n); - if (t !== 'get' && !vr(n)) { - E['Content-Type'] = 'application/x-www-form-urlencoded'; - } - if (Y.config.getCacheBusterParam && t === 'get') { - O['org.htmx.cache-buster'] = Q(u, 'id') || 'true'; - } - if (r == null || r === '') { - r = te().location.href; - } - var R = pr(n, 'hx-request'); - var W = ie(n).boosted; - var q = Y.config.methodsThatUseUrlParams.indexOf(t) >= 0; - var H = { - boosted: W, - useUrlParams: q, - parameters: O, - unfilteredParameters: z, - headers: E, - target: u, - verb: t, - errors: C, - withCredentials: - a.credentials || R.credentials || Y.config.withCredentials, - timeout: a.timeout || R.timeout || Y.config.timeout, - path: r, - triggeringEvent: i, - }; - if (!fe(n, 'htmx:configRequest', H)) { - ne(o); - w(); - return l; - } - r = H.path; - t = H.verb; - E = H.headers; - O = H.parameters; - C = H.errors; - q = H.useUrlParams; - if (C && C.length > 0) { - fe(n, 'htmx:validation:halted', H); - ne(o); - w(); - return l; - } - var $ = r.split('#'); - var G = $[0]; - var L = $[1]; - var A = r; - if (q) { - A = G; - var J = Object.keys(O).length !== 0; - if (J) { - if (A.indexOf('?') < 0) { - A += '?'; - } else { - A += '&'; - } - A += lr(O); - if (L) { - A += '#' + L; - } - } - } - if (!Or(n, A, H)) { - ue(n, 'htmx:invalidPath', H); - ne(s); - return l; - } - b.open(t.toUpperCase(), A, true); - b.overrideMimeType('text/view'); - b.withCredentials = H.withCredentials; - b.timeout = H.timeout; - if (R.noHeaders) { - } else { - for (var N in E) { - if (E.hasOwnProperty(N)) { - var Z = E[N]; - Sr(b, N, Z); - } - } - } - var I = { - xhr: b, - target: u, - requestConfig: H, - etc: a, - boosted: W, - pathInfo: { requestPath: r, finalRequestPath: A, anchor: L }, - }; - b.onload = function () { - try { - var e = Tr(n); - I.pathInfo.responsePath = Er(b); - M(n, I); - er(k, P); - fe(n, 'htmx:afterRequest', I); - fe(n, 'htmx:afterOnLoad', I); - if (!oe(n)) { - var t = null; - while (e.length > 0 && t == null) { - var r = e.shift(); - if (oe(r)) { - t = r; - } - } - if (t) { - fe(t, 'htmx:afterRequest', I); - fe(t, 'htmx:afterOnLoad', I); - } - } - ne(o); - w(); - } catch (e) { - ue(n, 'htmx:onLoadError', se({ error: e }, I)); - throw e; - } - }; - b.onerror = function () { - er(k, P); - ue(n, 'htmx:afterRequest', I); - ue(n, 'htmx:sendError', I); - ne(s); - w(); - }; - b.onabort = function () { - er(k, P); - ue(n, 'htmx:afterRequest', I); - ue(n, 'htmx:sendAbort', I); - ne(s); - w(); - }; - b.ontimeout = function () { - er(k, P); - ue(n, 'htmx:afterRequest', I); - ue(n, 'htmx:timeout', I); - ne(s); - w(); - }; - if (!fe(n, 'htmx:beforeRequest', I)) { - ne(o); - w(); - return l; - } - var k = Yt(n); - var P = Qt(n); - ae(['loadstart', 'loadend', 'progress', 'abort'], function (t) { - ae([b, b.upload], function (e) { - e.addEventListener(t, function (e) { - fe(n, 'htmx:xhr:' + t, { - lengthComputable: e.lengthComputable, - loaded: e.loaded, - total: e.total, - }); - }); - }); - }); - fe(n, 'htmx:beforeSend', I); - var K = q ? null : gr(b, n, O); - b.send(K); - return l; - } - function Rr(e, t) { - var r = t.xhr; - var n = null; - var i = null; - if (O(r, /HX-Push:/i)) { - n = r.getResponseHeader('HX-Push'); - i = 'push'; - } else if (O(r, /HX-Push-Url:/i)) { - n = r.getResponseHeader('HX-Push-Url'); - i = 'push'; - } else if (O(r, /HX-Replace-Url:/i)) { - n = r.getResponseHeader('HX-Replace-Url'); - i = 'replace'; - } - if (n) { - if (n === 'false') { - return {}; - } else { - return { type: i, path: n }; - } - } - var a = t.pathInfo.finalRequestPath; - var o = t.pathInfo.responsePath; - var s = re(e, 'hx-push-url'); - var l = re(e, 'hx-replace-url'); - var u = ie(e).boosted; - var f = null; - var c = null; - if (s) { - f = 'push'; - c = s; - } else if (l) { - f = 'replace'; - c = l; - } else if (u) { - f = 'push'; - c = o || a; - } - if (c) { - if (c === 'false') { - return {}; - } - if (c === 'true') { - c = o || a; - } - if (t.pathInfo.anchor && c.indexOf('#') === -1) { - c = c + '#' + t.pathInfo.anchor; - } - return { type: f, path: c }; - } else { - return {}; - } - } - function qr(l, u) { - var f = u.xhr; - var c = u.target; - var e = u.etc; - var t = u.requestConfig; - if (!fe(l, 'htmx:beforeOnLoad', u)) return; - if (O(f, /HX-Trigger:/i)) { - Be(f, 'HX-Trigger', l); - } - if (O(f, /HX-Location:/i)) { - Wt(); - var r = f.getResponseHeader('HX-Location'); - var h; - if (r.indexOf('{') === 0) { - h = S(r); - r = h['path']; - delete h['path']; - } - Cr('GET', r, h).then(function () { - $t(r); - }); - return; - } - var n = - O(f, /HX-Refresh:/i) && 'true' === f.getResponseHeader('HX-Refresh'); - if (O(f, /HX-Redirect:/i)) { - location.href = f.getResponseHeader('HX-Redirect'); - n && location.reload(); - return; - } - if (n) { - location.reload(); - return; - } - if (O(f, /HX-Retarget:/i)) { - u.target = te().querySelector(f.getResponseHeader('HX-Retarget')); - } - var d = Rr(l, u); - var i = f.status >= 200 && f.status < 400 && f.status !== 204; - var v = f.response; - var a = f.status >= 400; - var g = Y.config.ignoreTitle; - var o = se( - { shouldSwap: i, serverResponse: v, isError: a, ignoreTitle: g }, - u - ); - if (!fe(c, 'htmx:beforeSwap', o)) return; - c = o.target; - v = o.serverResponse; - a = o.isError; - g = o.ignoreTitle; - u.target = c; - u.failed = a; - u.successful = !a; - if (o.shouldSwap) { - if (f.status === 286) { - Ke(l); - } - C(l, function (e) { - v = e.transformResponse(v, f, l); - }); - if (d.type) { - Wt(); - } - var s = e.swapOverride; - if (O(f, /HX-Reswap:/i)) { - s = f.getResponseHeader('HX-Reswap'); - } - var h = dr(l, s); - if (h.hasOwnProperty('ignoreTitle')) { - g = h.ignoreTitle; - } - c.classList.add(Y.config.swappingClass); - var m = null; - var p = null; - var x = function () { - try { - var e = document.activeElement; - var t = {}; - try { - t = { - elt: e, - start: e ? e.selectionStart : null, - end: e ? e.selectionEnd : null, - }; - } catch (e) {} - var r; - if (O(f, /HX-Reselect:/i)) { - r = f.getResponseHeader('HX-Reselect'); - } - var n = T(c); - Ue(h.swapStyle, c, l, v, n, r); - if (t.elt && !oe(t.elt) && Q(t.elt, 'id')) { - var i = document.getElementById(Q(t.elt, 'id')); - var a = { - preventScroll: - h.focusScroll !== undefined - ? !h.focusScroll - : !Y.config.defaultFocusScroll, - }; - if (i) { - if (t.start && i.setSelectionRange) { - try { - i.setSelectionRange(t.start, t.end); - } catch (e) {} - } - i.focus(a); - } - } - c.classList.remove(Y.config.swappingClass); - ae(n.elts, function (e) { - if (e.classList) { - e.classList.add(Y.config.settlingClass); - } - fe(e, 'htmx:afterSwap', u); - }); - if (O(f, /HX-Trigger-After-Swap:/i)) { - var o = l; - if (!oe(l)) { - o = te().body; - } - Be(f, 'HX-Trigger-After-Swap', o); - } - var s = function () { - ae(n.tasks, function (e) { - e.call(); - }); - ae(n.elts, function (e) { - if (e.classList) { - e.classList.remove(Y.config.settlingClass); - } - fe(e, 'htmx:afterSettle', u); - }); - if (d.type) { - fe( - te().body, - 'htmx:beforeHistoryUpdate', - se({ history: d }, u) - ); - if (d.type === 'push') { - $t(d.path); - fe(te().body, 'htmx:pushedIntoHistory', { path: d.path }); - } else { - Gt(d.path); - fe(te().body, 'htmx:replacedInHistory', { path: d.path }); - } - } - if (u.pathInfo.anchor) { - var e = te().getElementById(u.pathInfo.anchor); - if (e) { - e.scrollIntoView({ block: 'start', behavior: 'auto' }); - } - } - if (n.title && !g) { - var t = E('title'); - if (t) { - t.innerHTML = n.title; - } else { - window.document.title = n.title; - } - } - mr(n.elts, h); - if (O(f, /HX-Trigger-After-Settle:/i)) { - var r = l; - if (!oe(l)) { - r = te().body; - } - Be(f, 'HX-Trigger-After-Settle', r); - } - ne(m); - }; - if (h.settleDelay > 0) { - setTimeout(s, h.settleDelay); - } else { - s(); - } - } catch (e) { - ue(l, 'htmx:swapError', u); - ne(p); - throw e; - } - }; - var y = Y.config.globalViewTransitions; - if (h.hasOwnProperty('transition')) { - y = h.transition; - } - if ( - y && - fe(l, 'htmx:beforeTransition', u) && - typeof Promise !== 'undefined' && - document.startViewTransition - ) { - var b = new Promise(function (e, t) { - m = e; - p = t; - }); - var w = x; - x = function () { - document.startViewTransition(function () { - w(); - return b; - }); - }; - } - if (h.swapDelay > 0) { - setTimeout(x, h.swapDelay); - } else { - x(); - } - } - if (a) { - ue( - l, - 'htmx:responseError', - se( - { - error: - 'Response Status Error Code ' + - f.status + - ' from ' + - u.pathInfo.requestPath, - }, - u - ) - ); - } - } - var Hr = {}; - function Lr() { - return { - init: function (e) { - return null; - }, - onEvent: function (e, t) { - return true; - }, - transformResponse: function (e, t, r) { - return e; - }, - isInlineSwap: function (e) { - return false; - }, - handleSwap: function (e, t, r, n) { - return false; - }, - encodeParameters: function (e, t, r) { - return null; - }, - }; - } - function Ar(e, t) { - if (t.init) { - t.init(r); - } - Hr[e] = se(Lr(), t); - } - function Nr(e) { - delete Hr[e]; - } - function Ir(e, r, n) { - if (e == undefined) { - return r; - } - if (r == undefined) { - r = []; - } - if (n == undefined) { - n = []; - } - var t = ee(e, 'hx-ext'); - if (t) { - ae(t.split(','), function (e) { - e = e.replace(/ /g, ''); - if (e.slice(0, 7) == 'ignore:') { - n.push(e.slice(7)); - return; - } - if (n.indexOf(e) < 0) { - var t = Hr[e]; - if (t && r.indexOf(t) < 0) { - r.push(t); - } - } - }); - } - return Ir(u(e), r, n); - } - var kr = false; - te().addEventListener('DOMContentLoaded', function () { - kr = true; - }); - function Pr(e) { - if (kr || te().readyState === 'complete') { - e(); - } else { - te().addEventListener('DOMContentLoaded', e); - } - } - function Mr() { - if (Y.config.includeIndicatorStyles !== false) { - te().head.insertAdjacentHTML( - 'beforeend', - '' - ); - } - } - function Dr() { - var e = te().querySelector('meta[name="htmx-config"]'); - if (e) { - return S(e.content); - } else { - return null; - } - } - function Xr() { - var e = Dr(); - if (e) { - Y.config = se(Y.config, e); - } - } - Pr(function () { - Xr(); - Mr(); - var e = te().body; - Dt(e); - var t = te().querySelectorAll( - "[hx-trigger='restored'],[data-hx-trigger='restored']" - ); - e.addEventListener('htmx:abort', function (e) { - var t = e.target; - var r = ie(t); - if (r && r.xhr) { - r.xhr.abort(); - } - }); - var r = window.onpopstate; - window.onpopstate = function (e) { - if (e.state && e.state.htmx) { - Kt(); - ae(t, function (e) { - fe(e, 'htmx:restored', { document: te(), triggerEvent: fe }); - }); - } else { - if (r) { - r(e); - } - } - }; - setTimeout(function () { - fe(e, 'htmx:load', {}); - e = null; - }, 0); - }); - return Y; - })(); -}); +(function(e,t){if(typeof define==="function"&&define.amd){define([],t)}else if(typeof module==="object"&&module.exports){module.exports=t()}else{e.htmx=e.htmx||t()}})(typeof self!=="undefined"?self:this,function(){return function(){"use strict";var Y={onLoad:t,process:Dt,on:Z,off:K,trigger:fe,ajax:Cr,find:E,findAll:f,closest:d,values:function(e,t){var r=or(e,t||"post");return r.values},remove:B,addClass:F,removeClass:n,toggleClass:V,takeClass:j,defineExtension:Ar,removeExtension:Nr,logAll:X,logNone:U,logger:null,config:{historyEnabled:true,historyCacheSize:10,refreshOnHistoryMiss:false,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:true,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:true,allowScriptTags:true,inlineScriptNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:false,timeout:0,wsReconnectDelay:"full-jitter",wsBinaryType:"blob",disableSelector:"[hx-disable], [data-hx-disable]",useTemplateFragments:false,scrollBehavior:"smooth",defaultFocusScroll:false,getCacheBusterParam:false,globalViewTransitions:false,methodsThatUseUrlParams:["get"],selfRequestsOnly:false,scrollIntoViewOnBoost:true},parseInterval:v,_:e,createEventSource:function(e){return new EventSource(e,{withCredentials:true})},createWebSocket:function(e){var t=new WebSocket(e,[]);t.binaryType=Y.config.wsBinaryType;return t},version:"1.9.8"};var r={addTriggerHandler:St,bodyContains:oe,canAccessLocalStorage:M,findThisElement:ve,filterValues:cr,hasAttribute:o,getAttributeValue:ee,getClosestAttributeValue:re,getClosestMatch:c,getExpressionVars:wr,getHeaders:fr,getInputValues:or,getInternalData:ie,getSwapSpecification:dr,getTriggerSpecs:Ze,getTarget:ge,makeFragment:l,mergeObjects:se,makeSettleInfo:T,oobSwap:ye,querySelectorExt:le,selectAndSwap:Ue,settleImmediately:Jt,shouldCancel:tt,triggerEvent:fe,triggerErrorEvent:ue,withExtensions:C};var b=["get","post","put","delete","patch"];var w=b.map(function(e){return"[hx-"+e+"], [data-hx-"+e+"]"}).join(", ");function v(e){if(e==undefined){return undefined}if(e.slice(-2)=="ms"){return parseFloat(e.slice(0,-2))||undefined}if(e.slice(-1)=="s"){return parseFloat(e.slice(0,-1))*1e3||undefined}if(e.slice(-1)=="m"){return parseFloat(e.slice(0,-1))*1e3*60||undefined}return parseFloat(e)||undefined}function Q(e,t){return e.getAttribute&&e.getAttribute(t)}function o(e,t){return e.hasAttribute&&(e.hasAttribute(t)||e.hasAttribute("data-"+t))}function ee(e,t){return Q(e,t)||Q(e,"data-"+t)}function u(e){return e.parentElement}function te(){return document}function c(e,t){while(e&&!t(e)){e=u(e)}return e?e:null}function R(e,t,r){var n=ee(t,r);var i=ee(t,"hx-disinherit");if(e!==t&&i&&(i==="*"||i.split(" ").indexOf(r)>=0)){return"unset"}else{return n}}function re(t,r){var n=null;c(t,function(e){return n=R(t,e,r)});if(n!=="unset"){return n}}function h(e,t){var r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector;return r&&r.call(e,t)}function q(e){var t=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i;var r=t.exec(e);if(r){return r[1].toLowerCase()}else{return""}}function i(e,t){var r=new DOMParser;var n=r.parseFromString(e,"text/html");var i=n.body;while(t>0){t--;i=i.firstChild}if(i==null){i=te().createDocumentFragment()}return i}function H(e){return e.match(/",0);return r.querySelector("template").content}else{var n=q(e);switch(n){case"thead":case"tbody":case"tfoot":case"colgroup":case"caption":return i(""+e+"
",1);case"col":return i(""+e+"
",2);case"tr":return i(""+e+"
",2);case"td":case"th":return i(""+e+"
",3);case"script":case"style":return i("
"+e+"
",1);default:return i(e,0)}}}function ne(e){if(e){e()}}function L(e,t){return Object.prototype.toString.call(e)==="[object "+t+"]"}function A(e){return L(e,"Function")}function N(e){return L(e,"Object")}function ie(e){var t="htmx-internal-data";var r=e[t];if(!r){r=e[t]={}}return r}function I(e){var t=[];if(e){for(var r=0;r=0}function oe(e){if(e.getRootNode&&e.getRootNode()instanceof window.ShadowRoot){return te().body.contains(e.getRootNode().host)}else{return te().body.contains(e)}}function P(e){return e.trim().split(/\s+/)}function se(e,t){for(var r in t){if(t.hasOwnProperty(r)){e[r]=t[r]}}return e}function S(e){try{return JSON.parse(e)}catch(e){y(e);return null}}function M(){var e="htmx:localStorageTest";try{localStorage.setItem(e,e);localStorage.removeItem(e);return true}catch(e){return false}}function D(t){try{var e=new URL(t);if(e){t=e.pathname+e.search}if(!t.match("^/$")){t=t.replace(/\/+$/,"")}return t}catch(e){return t}}function e(e){return xr(te().body,function(){return eval(e)})}function t(t){var e=Y.on("htmx:load",function(e){t(e.detail.elt)});return e}function X(){Y.logger=function(e,t,r){if(console){console.log(t,e,r)}}}function U(){Y.logger=null}function E(e,t){if(t){return e.querySelector(t)}else{return E(te(),e)}}function f(e,t){if(t){return e.querySelectorAll(t)}else{return f(te(),e)}}function B(e,t){e=s(e);if(t){setTimeout(function(){B(e);e=null},t)}else{e.parentElement.removeChild(e)}}function F(e,t,r){e=s(e);if(r){setTimeout(function(){F(e,t);e=null},r)}else{e.classList&&e.classList.add(t)}}function n(e,t,r){e=s(e);if(r){setTimeout(function(){n(e,t);e=null},r)}else{if(e.classList){e.classList.remove(t);if(e.classList.length===0){e.removeAttribute("class")}}}}function V(e,t){e=s(e);e.classList.toggle(t)}function j(e,t){e=s(e);ae(e.parentElement.children,function(e){n(e,t)});F(e,t)}function d(e,t){e=s(e);if(e.closest){return e.closest(t)}else{do{if(e==null||h(e,t)){return e}}while(e=e&&u(e));return null}}function g(e,t){return e.substring(0,t.length)===t}function _(e,t){return e.substring(e.length-t.length)===t}function z(e){var t=e.trim();if(g(t,"<")&&_(t,"/>")){return t.substring(1,t.length-2)}else{return t}}function W(e,t){if(t.indexOf("closest ")===0){return[d(e,z(t.substr(8)))]}else if(t.indexOf("find ")===0){return[E(e,z(t.substr(5)))]}else if(t==="next"){return[e.nextElementSibling]}else if(t.indexOf("next ")===0){return[$(e,z(t.substr(5)))]}else if(t==="previous"){return[e.previousElementSibling]}else if(t.indexOf("previous ")===0){return[G(e,z(t.substr(9)))]}else if(t==="document"){return[document]}else if(t==="window"){return[window]}else if(t==="body"){return[document.body]}else{return te().querySelectorAll(z(t))}}var $=function(e,t){var r=te().querySelectorAll(t);for(var n=0;n=0;n--){var i=r[n];if(i.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_FOLLOWING){return i}}};function le(e,t){if(t){return W(e,t)[0]}else{return W(te().body,e)[0]}}function s(e){if(L(e,"String")){return E(e)}else{return e}}function J(e,t,r){if(A(t)){return{target:te().body,event:e,listener:t}}else{return{target:s(e),event:t,listener:r}}}function Z(t,r,n){Pr(function(){var e=J(t,r,n);e.target.addEventListener(e.event,e.listener)});var e=A(r);return e?r:n}function K(t,r,n){Pr(function(){var e=J(t,r,n);e.target.removeEventListener(e.event,e.listener)});return A(r)?r:n}var he=te().createElement("output");function de(e,t){var r=re(e,t);if(r){if(r==="this"){return[ve(e,t)]}else{var n=W(e,r);if(n.length===0){y('The selector "'+r+'" on '+t+" returned no matches!");return[he]}else{return n}}}}function ve(e,t){return c(e,function(e){return ee(e,t)!=null})}function ge(e){var t=re(e,"hx-target");if(t){if(t==="this"){return ve(e,"hx-target")}else{return le(e,t)}}else{var r=ie(e);if(r.boosted){return te().body}else{return e}}}function me(e){var t=Y.config.attributesToSettle;for(var r=0;r0){o=e.substr(0,e.indexOf(":"));t=e.substr(e.indexOf(":")+1,e.length)}else{o=e}var r=te().querySelectorAll(t);if(r){ae(r,function(e){var t;var r=i.cloneNode(true);t=te().createDocumentFragment();t.appendChild(r);if(!xe(o,e)){t=r}var n={shouldSwap:true,target:e,fragment:t};if(!fe(e,"htmx:oobBeforeSwap",n))return;e=n.target;if(n["shouldSwap"]){De(o,e,e,t,a)}ae(a.elts,function(e){fe(e,"htmx:oobAfterSwap",n)})});i.parentNode.removeChild(i)}else{i.parentNode.removeChild(i);ue(te().body,"htmx:oobErrorNoTarget",{content:i})}return e}function be(e,t,r){var n=re(e,"hx-select-oob");if(n){var i=n.split(",");for(let e=0;e0){var r=t.replace("'","\\'");var n=e.tagName.replace(":","\\:");var i=o.querySelector(n+"[id='"+r+"']");if(i&&i!==o){var a=e.cloneNode();pe(e,i);s.tasks.push(function(){pe(e,a)})}}})}function Ee(e){return function(){n(e,Y.config.addedClass);Dt(e);Ct(e);Ce(e);fe(e,"htmx:load")}}function Ce(e){var t="[autofocus]";var r=h(e,t)?e:e.querySelector(t);if(r!=null){r.focus()}}function a(e,t,r,n){Se(e,r,n);while(r.childNodes.length>0){var i=r.firstChild;F(i,Y.config.addedClass);e.insertBefore(i,t);if(i.nodeType!==Node.TEXT_NODE&&i.nodeType!==Node.COMMENT_NODE){n.tasks.push(Ee(i))}}}function Te(e,t){var r=0;while(r-1){var t=e.replace(/]*>|>)([\s\S]*?)<\/svg>/gim,"");var r=t.match(/]*>|>)([\s\S]*?)<\/title>/im);if(r){return r[2]}}}function Ue(e,t,r,n,i,a){i.title=Xe(n);var o=l(n);if(o){be(r,o,i);o=Me(r,o,a);we(o);return De(e,r,t,o,i)}}function Be(e,t,r){var n=e.getResponseHeader(t);if(n.indexOf("{")===0){var i=S(n);for(var a in i){if(i.hasOwnProperty(a)){var o=i[a];if(!N(o)){o={value:o}}fe(r,a,o)}}}else{var s=n.split(",");for(var l=0;l0){var o=t[0];if(o==="]"){n--;if(n===0){if(a===null){i=i+"true"}t.shift();i+=")})";try{var s=xr(e,function(){return Function(i)()},function(){return true});s.source=i;return s}catch(e){ue(te().body,"htmx:syntax:error",{error:e,source:i});return null}}}else if(o==="["){n++}if($e(o,a,r)){i+="(("+r+"."+o+") ? ("+r+"."+o+") : (window."+o+"))"}else{i=i+o}a=t.shift()}}}function x(e,t){var r="";while(e.length>0&&!e[0].match(t)){r+=e.shift()}return r}var Je="input, textarea, select";function Ze(e){var t=ee(e,"hx-trigger");var r=[];if(t){var n=We(t);do{x(n,ze);var i=n.length;var a=x(n,/[,\[\s]/);if(a!==""){if(a==="every"){var o={trigger:"every"};x(n,ze);o.pollInterval=v(x(n,/[,\[\s]/));x(n,ze);var s=Ge(e,n,"event");if(s){o.eventFilter=s}r.push(o)}else if(a.indexOf("sse:")===0){r.push({trigger:"sse",sseEvent:a.substr(4)})}else{var l={trigger:a};var s=Ge(e,n,"event");if(s){l.eventFilter=s}while(n.length>0&&n[0]!==","){x(n,ze);var u=n.shift();if(u==="changed"){l.changed=true}else if(u==="once"){l.once=true}else if(u==="consume"){l.consume=true}else if(u==="delay"&&n[0]===":"){n.shift();l.delay=v(x(n,p))}else if(u==="from"&&n[0]===":"){n.shift();var f=x(n,p);if(f==="closest"||f==="find"||f==="next"||f==="previous"){n.shift();var c=x(n,p);if(c.length>0){f+=" "+c}}l.from=f}else if(u==="target"&&n[0]===":"){n.shift();l.target=x(n,p)}else if(u==="throttle"&&n[0]===":"){n.shift();l.throttle=v(x(n,p))}else if(u==="queue"&&n[0]===":"){n.shift();l.queue=x(n,p)}else if((u==="root"||u==="threshold")&&n[0]===":"){n.shift();l[u]=x(n,p)}else{ue(e,"htmx:syntax:error",{token:n.shift()})}}r.push(l)}}if(n.length===i){ue(e,"htmx:syntax:error",{token:n.shift()})}x(n,ze)}while(n[0]===","&&n.shift())}if(r.length>0){return r}else if(h(e,"form")){return[{trigger:"submit"}]}else if(h(e,'input[type="button"], input[type="submit"]')){return[{trigger:"click"}]}else if(h(e,Je)){return[{trigger:"change"}]}else{return[{trigger:"click"}]}}function Ke(e){ie(e).cancelled=true}function Ye(e,t,r){var n=ie(e);n.timeout=setTimeout(function(){if(oe(e)&&n.cancelled!==true){if(!nt(r,e,Ut("hx:poll:trigger",{triggerSpec:r,target:e}))){t(e)}Ye(e,t,r)}},r.pollInterval)}function Qe(e){return location.hostname===e.hostname&&Q(e,"href")&&Q(e,"href").indexOf("#")!==0}function et(t,r,e){if(t.tagName==="A"&&Qe(t)&&(t.target===""||t.target==="_self")||t.tagName==="FORM"){r.boosted=true;var n,i;if(t.tagName==="A"){n="get";i=Q(t,"href")}else{var a=Q(t,"method");n=a?a.toLowerCase():"get";if(n==="get"){}i=Q(t,"action")}e.forEach(function(e){it(t,function(e,t){if(d(e,Y.config.disableSelector)){m(e);return}ce(n,i,e,t)},r,e,true)})}}function tt(e,t){if(e.type==="submit"||e.type==="click"){if(t.tagName==="FORM"){return true}if(h(t,'input[type="submit"], button')&&d(t,"form")!==null){return true}if(t.tagName==="A"&&t.href&&(t.getAttribute("href")==="#"||t.getAttribute("href").indexOf("#")!==0)){return true}}return false}function rt(e,t){return ie(e).boosted&&e.tagName==="A"&&t.type==="click"&&(t.ctrlKey||t.metaKey)}function nt(e,t,r){var n=e.eventFilter;if(n){try{return n.call(t,r)!==true}catch(e){ue(te().body,"htmx:eventFilter:error",{error:e,source:n.source});return true}}return false}function it(a,o,e,s,l){var u=ie(a);var t;if(s.from){t=W(a,s.from)}else{t=[a]}if(s.changed){t.forEach(function(e){var t=ie(e);t.lastValue=e.value})}ae(t,function(n){var i=function(e){if(!oe(a)){n.removeEventListener(s.trigger,i);return}if(rt(a,e)){return}if(l||tt(e,a)){e.preventDefault()}if(nt(s,a,e)){return}var t=ie(e);t.triggerSpec=s;if(t.handledFor==null){t.handledFor=[]}if(t.handledFor.indexOf(a)<0){t.handledFor.push(a);if(s.consume){e.stopPropagation()}if(s.target&&e.target){if(!h(e.target,s.target)){return}}if(s.once){if(u.triggeredOnce){return}else{u.triggeredOnce=true}}if(s.changed){var r=ie(n);if(r.lastValue===n.value){return}r.lastValue=n.value}if(u.delayed){clearTimeout(u.delayed)}if(u.throttle){return}if(s.throttle){if(!u.throttle){o(a,e);u.throttle=setTimeout(function(){u.throttle=null},s.throttle)}}else if(s.delay){u.delayed=setTimeout(function(){o(a,e)},s.delay)}else{fe(a,"htmx:trigger");o(a,e)}}};if(e.listenerInfos==null){e.listenerInfos=[]}e.listenerInfos.push({trigger:s.trigger,listener:i,on:n});n.addEventListener(s.trigger,i)})}var at=false;var ot=null;function st(){if(!ot){ot=function(){at=true};window.addEventListener("scroll",ot);setInterval(function(){if(at){at=false;ae(te().querySelectorAll("[hx-trigger='revealed'],[data-hx-trigger='revealed']"),function(e){lt(e)})}},200)}}function lt(t){if(!o(t,"data-hx-revealed")&&k(t)){t.setAttribute("data-hx-revealed","true");var e=ie(t);if(e.initHash){fe(t,"revealed")}else{t.addEventListener("htmx:afterProcessNode",function(e){fe(t,"revealed")},{once:true})}}}function ut(e,t,r){var n=P(r);for(var i=0;i=0){var t=dt(n);setTimeout(function(){ft(s,r,n+1)},t)}};t.onopen=function(e){n=0};ie(s).webSocket=t;t.addEventListener("message",function(e){if(ct(s)){return}var t=e.data;C(s,function(e){t=e.transformResponse(t,null,s)});var r=T(s);var n=l(t);var i=I(n.children);for(var a=0;a0){fe(u,"htmx:validation:halted",i);return}t.send(JSON.stringify(l));if(tt(e,u)){e.preventDefault()}})}else{ue(u,"htmx:noWebSocketSourceError")}}function dt(e){var t=Y.config.wsReconnectDelay;if(typeof t==="function"){return t(e)}if(t==="full-jitter"){var r=Math.min(e,6);var n=1e3*Math.pow(2,r);return n*Math.random()}y('htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"')}function vt(e,t,r){var n=P(r);for(var i=0;i0){var o=n.shift();var s=o.match(/^\s*([a-zA-Z:\-\.]+:)(.*)/);if(a===0&&s){o.split(":");i=s[1].slice(0,-1);r[i]=s[2]}else{r[i]+=o}a+=Nt(o)}for(var l in r){It(e,l,r[l])}}}function Pt(t){Re(t);for(var e=0;eY.config.historyCacheSize){i.shift()}while(i.length>0){try{localStorage.setItem("htmx-history-cache",JSON.stringify(i));break}catch(e){ue(te().body,"htmx:historyCacheError",{cause:e,cache:i});i.shift()}}}function _t(e){if(!M()){return null}e=D(e);var t=S(localStorage.getItem("htmx-history-cache"))||[];for(var r=0;r=200&&this.status<400){fe(te().body,"htmx:historyCacheMissLoad",o);var e=l(this.response);e=e.querySelector("[hx-history-elt],[data-hx-history-elt]")||e;var t=Vt();var r=T(t);var n=Xe(this.response);if(n){var i=E("title");if(i){i.innerHTML=n}else{window.document.title=n}}Pe(t,e,r);Jt(r.tasks);Ft=a;fe(te().body,"htmx:historyRestore",{path:a,cacheMiss:true,serverResponse:this.response})}else{ue(te().body,"htmx:historyCacheMissLoadError",o)}};e.send()}function Kt(e){Wt();e=e||location.pathname+location.search;var t=_t(e);if(t){var r=l(t.content);var n=Vt();var i=T(n);Pe(n,r,i);Jt(i.tasks);document.title=t.title;setTimeout(function(){window.scrollTo(0,t.scroll)},0);Ft=e;fe(te().body,"htmx:historyRestore",{path:e,item:t})}else{if(Y.config.refreshOnHistoryMiss){window.location.reload(true)}else{Zt(e)}}}function Yt(e){var t=de(e,"hx-indicator");if(t==null){t=[e]}ae(t,function(e){var t=ie(e);t.requestCount=(t.requestCount||0)+1;e.classList["add"].call(e.classList,Y.config.requestClass)});return t}function Qt(e){var t=de(e,"hx-disabled-elt");if(t==null){t=[]}ae(t,function(e){var t=ie(e);t.requestCount=(t.requestCount||0)+1;e.setAttribute("disabled","")});return t}function er(e,t){ae(e,function(e){var t=ie(e);t.requestCount=(t.requestCount||0)-1;if(t.requestCount===0){e.classList["remove"].call(e.classList,Y.config.requestClass)}});ae(t,function(e){var t=ie(e);t.requestCount=(t.requestCount||0)-1;if(t.requestCount===0){e.removeAttribute("disabled")}})}function tr(e,t){for(var r=0;r=0}function dr(e,t){var r=t?t:re(e,"hx-swap");var n={swapStyle:ie(e).boosted?"innerHTML":Y.config.defaultSwapStyle,swapDelay:Y.config.defaultSwapDelay,settleDelay:Y.config.defaultSettleDelay};if(Y.config.scrollIntoViewOnBoost&&ie(e).boosted&&!hr(e)){n["show"]="top"}if(r){var i=P(r);if(i.length>0){for(var a=0;a0?l.join(":"):null;n["scroll"]=u;n["scrollTarget"]=f}else if(o.indexOf("show:")===0){var c=o.substr(5);var l=c.split(":");var h=l.pop();var f=l.length>0?l.join(":"):null;n["show"]=h;n["showTarget"]=f}else if(o.indexOf("focus-scroll:")===0){var d=o.substr("focus-scroll:".length);n["focusScroll"]=d=="true"}else if(a==0){n["swapStyle"]=o}else{y("Unknown modifier in hx-swap: "+o)}}}}return n}function vr(e){return re(e,"hx-encoding")==="multipart/form-data"||h(e,"form")&&Q(e,"enctype")==="multipart/form-data"}function gr(t,r,n){var i=null;C(r,function(e){if(i==null){i=e.encodeParameters(t,n,r)}});if(i!=null){return i}else{if(vr(r)){return ur(n)}else{return lr(n)}}}function T(e){return{tasks:[],elts:[e]}}function mr(e,t){var r=e[0];var n=e[e.length-1];if(t.scroll){var i=null;if(t.scrollTarget){i=le(r,t.scrollTarget)}if(t.scroll==="top"&&(r||i)){i=i||r;i.scrollTop=0}if(t.scroll==="bottom"&&(n||i)){i=i||n;i.scrollTop=i.scrollHeight}}if(t.show){var i=null;if(t.showTarget){var a=t.showTarget;if(t.showTarget==="window"){a="body"}i=le(r,a)}if(t.show==="top"&&(r||i)){i=i||r;i.scrollIntoView({block:"start",behavior:Y.config.scrollBehavior})}if(t.show==="bottom"&&(n||i)){i=i||n;i.scrollIntoView({block:"end",behavior:Y.config.scrollBehavior})}}}function pr(e,t,r,n){if(n==null){n={}}if(e==null){return n}var i=ee(e,t);if(i){var a=i.trim();var o=r;if(a==="unset"){return null}if(a.indexOf("javascript:")===0){a=a.substr(11);o=true}else if(a.indexOf("js:")===0){a=a.substr(3);o=true}if(a.indexOf("{")!==0){a="{"+a+"}"}var s;if(o){s=xr(e,function(){return Function("return ("+a+")")()},{})}else{s=S(a)}for(var l in s){if(s.hasOwnProperty(l)){if(n[l]==null){n[l]=s[l]}}}}return pr(u(e),t,r,n)}function xr(e,t,r){if(Y.config.allowEval){return t()}else{ue(e,"htmx:evalDisallowedError");return r}}function yr(e,t){return pr(e,"hx-vars",true,t)}function br(e,t){return pr(e,"hx-vals",false,t)}function wr(e){return se(yr(e),br(e))}function Sr(t,r,n){if(n!==null){try{t.setRequestHeader(r,n)}catch(e){t.setRequestHeader(r,encodeURIComponent(n));t.setRequestHeader(r+"-URI-AutoEncoded","true")}}}function Er(t){if(t.responseURL&&typeof URL!=="undefined"){try{var e=new URL(t.responseURL);return e.pathname+e.search}catch(e){ue(te().body,"htmx:badResponseUrl",{url:t.responseURL})}}}function O(e,t){return e.getAllResponseHeaders().match(t)}function Cr(e,t,r){e=e.toLowerCase();if(r){if(r instanceof Element||L(r,"String")){return ce(e,t,null,null,{targetOverride:s(r),returnPromise:true})}else{return ce(e,t,s(r.source),r.event,{handler:r.handler,headers:r.headers,values:r.values,targetOverride:s(r.target),swapOverride:r.swap,returnPromise:true})}}else{return ce(e,t,null,null,{returnPromise:true})}}function Tr(e){var t=[];while(e){t.push(e);e=e.parentElement}return t}function Or(e,t,r){var n;var i;if(typeof URL==="function"){i=new URL(t,document.location.href);var a=document.location.origin;n=a===i.origin}else{i=t;n=g(t,document.location.origin)}if(Y.config.selfRequestsOnly){if(!n){return false}}return fe(e,"htmx:validateUrl",se({url:i,sameHost:n},r))}function ce(t,r,n,i,a,e){var o=null;var s=null;a=a!=null?a:{};if(a.returnPromise&&typeof Promise!=="undefined"){var l=new Promise(function(e,t){o=e;s=t})}if(n==null){n=te().body}var M=a.handler||qr;if(!oe(n)){ne(o);return l}var u=a.targetOverride||ge(n);if(u==null||u==he){ue(n,"htmx:targetError",{target:ee(n,"hx-target")});ne(s);return l}var f=ie(n);var c=f.lastButtonClicked;if(c){var h=Q(c,"formaction");if(h!=null){r=h}var d=Q(c,"formmethod");if(d!=null){if(d.toLowerCase()!=="dialog"){t=d}}}var v=re(n,"hx-confirm");if(e===undefined){var D=function(e){return ce(t,r,n,i,a,!!e)};var X={target:u,elt:n,path:r,verb:t,triggeringEvent:i,etc:a,issueRequest:D,question:v};if(fe(n,"htmx:confirm",X)===false){ne(o);return l}}var g=n;var m=re(n,"hx-sync");var p=null;var x=false;if(m){var U=m.split(":");var B=U[0].trim();if(B==="this"){g=ve(n,"hx-sync")}else{g=le(n,B)}m=(U[1]||"drop").trim();f=ie(g);if(m==="drop"&&f.xhr&&f.abortable!==true){ne(o);return l}else if(m==="abort"){if(f.xhr){ne(o);return l}else{x=true}}else if(m==="replace"){fe(g,"htmx:abort")}else if(m.indexOf("queue")===0){var F=m.split(" ");p=(F[1]||"last").trim()}}if(f.xhr){if(f.abortable){fe(g,"htmx:abort")}else{if(p==null){if(i){var y=ie(i);if(y&&y.triggerSpec&&y.triggerSpec.queue){p=y.triggerSpec.queue}}if(p==null){p="last"}}if(f.queuedRequests==null){f.queuedRequests=[]}if(p==="first"&&f.queuedRequests.length===0){f.queuedRequests.push(function(){ce(t,r,n,i,a)})}else if(p==="all"){f.queuedRequests.push(function(){ce(t,r,n,i,a)})}else if(p==="last"){f.queuedRequests=[];f.queuedRequests.push(function(){ce(t,r,n,i,a)})}ne(o);return l}}var b=new XMLHttpRequest;f.xhr=b;f.abortable=x;var w=function(){f.xhr=null;f.abortable=false;if(f.queuedRequests!=null&&f.queuedRequests.length>0){var e=f.queuedRequests.shift();e()}};var V=re(n,"hx-prompt");if(V){var S=prompt(V);if(S===null||!fe(n,"htmx:prompt",{prompt:S,target:u})){ne(o);w();return l}}if(v&&!e){if(!confirm(v)){ne(o);w();return l}}var E=fr(n,u,S);if(a.headers){E=se(E,a.headers)}var j=or(n,t);var C=j.errors;var T=j.values;if(a.values){T=se(T,a.values)}var _=wr(n);var z=se(T,_);var O=cr(z,n);if(t!=="get"&&!vr(n)){E["Content-Type"]="application/x-www-form-urlencoded"}if(Y.config.getCacheBusterParam&&t==="get"){O["org.htmx.cache-buster"]=Q(u,"id")||"true"}if(r==null||r===""){r=te().location.href}var R=pr(n,"hx-request");var W=ie(n).boosted;var q=Y.config.methodsThatUseUrlParams.indexOf(t)>=0;var H={boosted:W,useUrlParams:q,parameters:O,unfilteredParameters:z,headers:E,target:u,verb:t,errors:C,withCredentials:a.credentials||R.credentials||Y.config.withCredentials,timeout:a.timeout||R.timeout||Y.config.timeout,path:r,triggeringEvent:i};if(!fe(n,"htmx:configRequest",H)){ne(o);w();return l}r=H.path;t=H.verb;E=H.headers;O=H.parameters;C=H.errors;q=H.useUrlParams;if(C&&C.length>0){fe(n,"htmx:validation:halted",H);ne(o);w();return l}var $=r.split("#");var G=$[0];var L=$[1];var A=r;if(q){A=G;var J=Object.keys(O).length!==0;if(J){if(A.indexOf("?")<0){A+="?"}else{A+="&"}A+=lr(O);if(L){A+="#"+L}}}if(!Or(n,A,H)){ue(n,"htmx:invalidPath",H);ne(s);return l}b.open(t.toUpperCase(),A,true);b.overrideMimeType("text/html");b.withCredentials=H.withCredentials;b.timeout=H.timeout;if(R.noHeaders){}else{for(var N in E){if(E.hasOwnProperty(N)){var Z=E[N];Sr(b,N,Z)}}}var I={xhr:b,target:u,requestConfig:H,etc:a,boosted:W,pathInfo:{requestPath:r,finalRequestPath:A,anchor:L}};b.onload=function(){try{var e=Tr(n);I.pathInfo.responsePath=Er(b);M(n,I);er(k,P);fe(n,"htmx:afterRequest",I);fe(n,"htmx:afterOnLoad",I);if(!oe(n)){var t=null;while(e.length>0&&t==null){var r=e.shift();if(oe(r)){t=r}}if(t){fe(t,"htmx:afterRequest",I);fe(t,"htmx:afterOnLoad",I)}}ne(o);w()}catch(e){ue(n,"htmx:onLoadError",se({error:e},I));throw e}};b.onerror=function(){er(k,P);ue(n,"htmx:afterRequest",I);ue(n,"htmx:sendError",I);ne(s);w()};b.onabort=function(){er(k,P);ue(n,"htmx:afterRequest",I);ue(n,"htmx:sendAbort",I);ne(s);w()};b.ontimeout=function(){er(k,P);ue(n,"htmx:afterRequest",I);ue(n,"htmx:timeout",I);ne(s);w()};if(!fe(n,"htmx:beforeRequest",I)){ne(o);w();return l}var k=Yt(n);var P=Qt(n);ae(["loadstart","loadend","progress","abort"],function(t){ae([b,b.upload],function(e){e.addEventListener(t,function(e){fe(n,"htmx:xhr:"+t,{lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total})})})});fe(n,"htmx:beforeSend",I);var K=q?null:gr(b,n,O);b.send(K);return l}function Rr(e,t){var r=t.xhr;var n=null;var i=null;if(O(r,/HX-Push:/i)){n=r.getResponseHeader("HX-Push");i="push"}else if(O(r,/HX-Push-Url:/i)){n=r.getResponseHeader("HX-Push-Url");i="push"}else if(O(r,/HX-Replace-Url:/i)){n=r.getResponseHeader("HX-Replace-Url");i="replace"}if(n){if(n==="false"){return{}}else{return{type:i,path:n}}}var a=t.pathInfo.finalRequestPath;var o=t.pathInfo.responsePath;var s=re(e,"hx-push-url");var l=re(e,"hx-replace-url");var u=ie(e).boosted;var f=null;var c=null;if(s){f="push";c=s}else if(l){f="replace";c=l}else if(u){f="push";c=o||a}if(c){if(c==="false"){return{}}if(c==="true"){c=o||a}if(t.pathInfo.anchor&&c.indexOf("#")===-1){c=c+"#"+t.pathInfo.anchor}return{type:f,path:c}}else{return{}}}function qr(l,u){var f=u.xhr;var c=u.target;var e=u.etc;var t=u.requestConfig;if(!fe(l,"htmx:beforeOnLoad",u))return;if(O(f,/HX-Trigger:/i)){Be(f,"HX-Trigger",l)}if(O(f,/HX-Location:/i)){Wt();var r=f.getResponseHeader("HX-Location");var h;if(r.indexOf("{")===0){h=S(r);r=h["path"];delete h["path"]}Cr("GET",r,h).then(function(){$t(r)});return}var n=O(f,/HX-Refresh:/i)&&"true"===f.getResponseHeader("HX-Refresh");if(O(f,/HX-Redirect:/i)){location.href=f.getResponseHeader("HX-Redirect");n&&location.reload();return}if(n){location.reload();return}if(O(f,/HX-Retarget:/i)){u.target=te().querySelector(f.getResponseHeader("HX-Retarget"))}var d=Rr(l,u);var i=f.status>=200&&f.status<400&&f.status!==204;var v=f.response;var a=f.status>=400;var g=Y.config.ignoreTitle;var o=se({shouldSwap:i,serverResponse:v,isError:a,ignoreTitle:g},u);if(!fe(c,"htmx:beforeSwap",o))return;c=o.target;v=o.serverResponse;a=o.isError;g=o.ignoreTitle;u.target=c;u.failed=a;u.successful=!a;if(o.shouldSwap){if(f.status===286){Ke(l)}C(l,function(e){v=e.transformResponse(v,f,l)});if(d.type){Wt()}var s=e.swapOverride;if(O(f,/HX-Reswap:/i)){s=f.getResponseHeader("HX-Reswap")}var h=dr(l,s);if(h.hasOwnProperty("ignoreTitle")){g=h.ignoreTitle}c.classList.add(Y.config.swappingClass);var m=null;var p=null;var x=function(){try{var e=document.activeElement;var t={};try{t={elt:e,start:e?e.selectionStart:null,end:e?e.selectionEnd:null}}catch(e){}var r;if(O(f,/HX-Reselect:/i)){r=f.getResponseHeader("HX-Reselect")}var n=T(c);Ue(h.swapStyle,c,l,v,n,r);if(t.elt&&!oe(t.elt)&&Q(t.elt,"id")){var i=document.getElementById(Q(t.elt,"id"));var a={preventScroll:h.focusScroll!==undefined?!h.focusScroll:!Y.config.defaultFocusScroll};if(i){if(t.start&&i.setSelectionRange){try{i.setSelectionRange(t.start,t.end)}catch(e){}}i.focus(a)}}c.classList.remove(Y.config.swappingClass);ae(n.elts,function(e){if(e.classList){e.classList.add(Y.config.settlingClass)}fe(e,"htmx:afterSwap",u)});if(O(f,/HX-Trigger-After-Swap:/i)){var o=l;if(!oe(l)){o=te().body}Be(f,"HX-Trigger-After-Swap",o)}var s=function(){ae(n.tasks,function(e){e.call()});ae(n.elts,function(e){if(e.classList){e.classList.remove(Y.config.settlingClass)}fe(e,"htmx:afterSettle",u)});if(d.type){fe(te().body,"htmx:beforeHistoryUpdate",se({history:d},u));if(d.type==="push"){$t(d.path);fe(te().body,"htmx:pushedIntoHistory",{path:d.path})}else{Gt(d.path);fe(te().body,"htmx:replacedInHistory",{path:d.path})}}if(u.pathInfo.anchor){var e=te().getElementById(u.pathInfo.anchor);if(e){e.scrollIntoView({block:"start",behavior:"auto"})}}if(n.title&&!g){var t=E("title");if(t){t.innerHTML=n.title}else{window.document.title=n.title}}mr(n.elts,h);if(O(f,/HX-Trigger-After-Settle:/i)){var r=l;if(!oe(l)){r=te().body}Be(f,"HX-Trigger-After-Settle",r)}ne(m)};if(h.settleDelay>0){setTimeout(s,h.settleDelay)}else{s()}}catch(e){ue(l,"htmx:swapError",u);ne(p);throw e}};var y=Y.config.globalViewTransitions;if(h.hasOwnProperty("transition")){y=h.transition}if(y&&fe(l,"htmx:beforeTransition",u)&&typeof Promise!=="undefined"&&document.startViewTransition){var b=new Promise(function(e,t){m=e;p=t});var w=x;x=function(){document.startViewTransition(function(){w();return b})}}if(h.swapDelay>0){setTimeout(x,h.swapDelay)}else{x()}}if(a){ue(l,"htmx:responseError",se({error:"Response Status Error Code "+f.status+" from "+u.pathInfo.requestPath},u))}}var Hr={};function Lr(){return{init:function(e){return null},onEvent:function(e,t){return true},transformResponse:function(e,t,r){return e},isInlineSwap:function(e){return false},handleSwap:function(e,t,r,n){return false},encodeParameters:function(e,t,r){return null}}}function Ar(e,t){if(t.init){t.init(r)}Hr[e]=se(Lr(),t)}function Nr(e){delete Hr[e]}function Ir(e,r,n){if(e==undefined){return r}if(r==undefined){r=[]}if(n==undefined){n=[]}var t=ee(e,"hx-ext");if(t){ae(t.split(","),function(e){e=e.replace(/ /g,"");if(e.slice(0,7)=="ignore:"){n.push(e.slice(7));return}if(n.indexOf(e)<0){var t=Hr[e];if(t&&r.indexOf(t)<0){r.push(t)}}})}return Ir(u(e),r,n)}var kr=false;te().addEventListener("DOMContentLoaded",function(){kr=true});function Pr(e){if(kr||te().readyState==="complete"){e()}else{te().addEventListener("DOMContentLoaded",e)}}function Mr(){if(Y.config.includeIndicatorStyles!==false){te().head.insertAdjacentHTML("beforeend","")}}function Dr(){var e=te().querySelector('meta[name="htmx-config"]');if(e){return S(e.content)}else{return null}}function Xr(){var e=Dr();if(e){Y.config=se(Y.config,e)}}Pr(function(){Xr();Mr();var e=te().body;Dt(e);var t=te().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");e.addEventListener("htmx:abort",function(e){var t=e.target;var r=ie(t);if(r&&r.xhr){r.xhr.abort()}});var r=window.onpopstate;window.onpopstate=function(e){if(e.state&&e.state.htmx){Kt();ae(t,function(e){fe(e,"htmx:restored",{document:te(),triggerEvent:fe})})}else{if(r){r(e)}}};setTimeout(function(){fe(e,"htmx:load",{});e=null},0)});return Y}()}); diff --git a/app/view/airlines/AirlineTable.templ b/app/view/airlines/AirlineTable.templ index 53c7df7..ee6d1f8 100644 --- a/app/view/airlines/AirlineTable.templ +++ b/app/view/airlines/AirlineTable.templ @@ -88,4 +88,3 @@ templ AirlineTable(a models.AirlineTable) {
} - diff --git a/app/view/airlines/AirplaneTable.templ b/app/view/airlines/AirplaneTable.templ index 879f6bf..3583145 100644 --- a/app/view/airlines/AirplaneTable.templ +++ b/app/view/airlines/AirplaneTable.templ @@ -85,14 +85,14 @@ templ AirplaneTable(a models.AirplaneTable) { @components.PaginatorComponent("/airlines/airplane", - fmt.Sprintf("/airlines/airplane?page=%d&orderBy=%s&sortBy=%s", a.PrevPage, a.OrderParam, a.SortParam), - strconv.Itoa(a.Page), - fmt.Sprintf("/airlines/airplane?page=%d&orderBy=%s&sortBy=%s", a.NextPage, a.OrderParam, a.SortParam), - fmt.Sprintf("/airlines/airplane?page=%d&orderBy=%s&sortBy=%s", a.LastPage, a.OrderParam, a.SortParam), - strconv.Itoa(a.LastPage), - a.OrderParam, - a.SortParam) -
+ fmt.Sprintf("/airlines/airplane?page=%d&orderBy=%s&sortBy=%s", a.PrevPage, a.OrderParam, a.SortParam), + strconv.Itoa(a.Page), + fmt.Sprintf("/airlines/airplane?page=%d&orderBy=%s&sortBy=%s", a.NextPage, a.OrderParam, a.SortParam), + fmt.Sprintf("/airlines/airplane?page=%d&orderBy=%s&sortBy=%s", a.LastPage, a.OrderParam, a.SortParam), + strconv.Itoa(a.LastPage), + a.OrderParam, + a.SortParam) +
} diff --git a/app/view/airlines/TaxTable.templ b/app/view/airlines/TaxTable.templ index f1cab73..d55d522 100644 --- a/app/view/airlines/TaxTable.templ +++ b/app/view/airlines/TaxTable.templ @@ -56,14 +56,14 @@ templ AirlineTaxTable(tax models.TaxTable) { @components.PaginatorComponent("/airlines/tax", - fmt.Sprintf("/airlines/tax?page=%d&orderBy=%s&sortBy=%s", tax.PrevPage, tax.OrderParam, tax.SortParam), - strconv.Itoa(tax.Page), - fmt.Sprintf("/airlines/tax?page=%d&orderBy=%s&sortBy=%s", tax.NextPage, tax.OrderParam, tax.SortParam), - fmt.Sprintf("/airlines/tax?page=%d&orderBy=%s&sortBy=%s", tax.LastPage, tax.OrderParam, tax.SortParam), - strconv.Itoa(tax.LastPage), - tax.OrderParam, - tax.SortParam) -
+ fmt.Sprintf("/airlines/tax?page=%d&orderBy=%s&sortBy=%s", tax.PrevPage, tax.OrderParam, tax.SortParam), + strconv.Itoa(tax.Page), + fmt.Sprintf("/airlines/tax?page=%d&orderBy=%s&sortBy=%s", tax.NextPage, tax.OrderParam, tax.SortParam), + fmt.Sprintf("/airlines/tax?page=%d&orderBy=%s&sortBy=%s", tax.LastPage, tax.OrderParam, tax.SortParam), + strconv.Itoa(tax.LastPage), + tax.OrderParam, + tax.SortParam) +
} diff --git a/app/view/components/layout.templ b/app/view/components/layout.templ index b402844..a8a0580 100644 --- a/app/view/components/layout.templ +++ b/app/view/components/layout.templ @@ -11,21 +11,20 @@ templ LayoutPage(l models.LayoutTempl) { { l.Title } - SkyVisor Insight - + + + - - + + + + + - - - - - -
diff --git a/app/view/components/layout_templ.go b/app/view/components/layout_templ.go index 30c592c..e34164e 100644 --- a/app/view/components/layout_templ.go +++ b/app/view/components/layout_templ.go @@ -40,7 +40,7 @@ func LayoutPage(l models.LayoutTempl) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" - SkyVisor Insight
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" - SkyVisor Insight
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/app/view/components/nav_copy.templ b/app/view/components/nav_copy.templ new file mode 100644 index 0000000..2e190cd --- /dev/null +++ b/app/view/components/nav_copy.templ @@ -0,0 +1,46 @@ +package components + +import ( + "github.com/FACorreiaa/Aviation-tracker/app/models" +) + +templ NavbarComponentCopy(nav []models.NavItem, user *models.UserSession, activeNav string) { + +} diff --git a/app/view/components/nav_copy_templ.go b/app/view/components/nav_copy_templ.go new file mode 100644 index 0000000..f1bdcda --- /dev/null +++ b/app/view/components/nav_copy_templ.go @@ -0,0 +1,162 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.707 +package components + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import "context" +import "io" +import "bytes" + +import ( + "github.com/FACorreiaa/Aviation-tracker/app/models" +) + +func NavbarComponentCopy(nav []models.NavItem, user *models.UserSession, activeNav string) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} diff --git a/app/view/components/navbar.templ b/app/view/components/navbar.templ index e94c139..afeed7f 100644 --- a/app/view/components/navbar.templ +++ b/app/view/components/navbar.templ @@ -5,43 +5,55 @@ import ( ) templ NavbarComponent(nav []models.NavItem, user *models.UserSession, activeNav string) { -
+
- + } diff --git a/app/view/components/navbar_templ.go b/app/view/components/navbar_templ.go index dc562d3..fa1f0fc 100644 --- a/app/view/components/navbar_templ.go +++ b/app/view/components/navbar_templ.go @@ -27,29 +27,29 @@ func NavbarComponent(nav []models.NavItem, user *models.UserSession, activeNav s templ_7745c5c3_Var1 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/app/view/components/paginator.templ b/app/view/components/paginator.templ index 41a3cc9..e46feb0 100644 --- a/app/view/components/paginator.templ +++ b/app/view/components/paginator.templ @@ -25,4 +25,3 @@ templ PaginatorComponent(firstPage, prevPage, currentPage, goToNextPage, goToLas } - diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..c8a2727 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2087 @@ +{ + "name": "aviation-client-geth", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "aviation-client-geth", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@fontsource/merriweather-sans": "^5.0.8", + "@fontsource/source-sans-pro": "^5.0.8", + "@fontsource/source-serif-pro": "^5.0.8", + "@fontsource/titillium-web": "^5.0.17", + "postcss-cli": "^10.1.0", + "postcss-import": "^15.1.0", + "postcss-url": "^10.1.3" + }, + "devDependencies": { + "@tailwindcss/forms": "^0.5.7", + "@tailwindcss/typography": "^0.5.13", + "autoprefixer": "^10.4.19", + "daisyui": "^4.12.2", + "postcss": "^8.4.38", + "tailwindcss": "^3.4.4" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@fontsource/merriweather-sans": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@fontsource/merriweather-sans/-/merriweather-sans-5.0.13.tgz", + "integrity": "sha512-baVtuYIVhMcT5iI3jVIG9RauVodpIA4HwapjWuQ74f2yRg2i9m2ZjggMFoQLxwCshxq2rHLcHVGx7DtZ0np3Jg==" + }, + "node_modules/@fontsource/source-sans-pro": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@fontsource/source-sans-pro/-/source-sans-pro-5.0.8.tgz", + "integrity": "sha512-5U2UvIYRkCMozZ388gCE73PEpa2MFgN/0t9O4a1FF7bGT/MIneQWSL1XpWZ8iMVYdh6ntxRf3iFA6slCIuFgkg==" + }, + "node_modules/@fontsource/source-serif-pro": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@fontsource/source-serif-pro/-/source-serif-pro-5.0.8.tgz", + "integrity": "sha512-bb8bza+aBp6Wpz1LOXaQ9YSwMc/wNpk3hniENCPoBMMwsn9LQaJU0kKnJSSIi+ld1t7aH4jbh+mHQHN1zLfZ3A==" + }, + "node_modules/@fontsource/titillium-web": { + "version": "5.0.20", + "resolved": "https://registry.npmjs.org/@fontsource/titillium-web/-/titillium-web-5.0.20.tgz", + "integrity": "sha512-j1Yy1A4nN/4tQmyiR/vvKWEWr0X8gsM49Fu0WbhGP8eshusR7vT0TK0V19BNNq7ObBDzO1JPtCYz3UszdjfsvQ==" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", + "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", + "dev": true, + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.13.tgz", + "integrity": "sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001634", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001634.tgz", + "integrity": "sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==" + }, + "node_modules/culori": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz", + "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/daisyui": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.2.tgz", + "integrity": "sha512-ed3EFwPRLN+9+/MYPRB1pYjk6plRCBMobfBdSeB3voAS81KdL2pCKtbwJfUUpDdOnJ0F8T6oRdVX02P6UCD0Hg==", + "dev": true, + "dependencies": { + "css-selector-tokenizer": "^0.8", + "culori": "^3", + "picocolors": "^1", + "postcss-js": "^4" + }, + "engines": { + "node": ">=16.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/daisyui" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.803", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.803.tgz", + "integrity": "sha512-61H9mLzGOCLLVsnLiRzCbc63uldP0AniRYPV3hbGVtONA1pI7qSGILdbofR7A8TMbOypDocEAjH/e+9k1QIe3g==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", + "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-cli": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.1.0.tgz", + "integrity": "sha512-Zu7PLORkE9YwNdvOeOVKPmWghprOtjFQU3srMUGbdz3pHJiFh7yZ4geiZFMkjMfB0mtTFR3h8RemR62rPkbOPA==", + "dependencies": { + "chokidar": "^3.3.0", + "dependency-graph": "^0.11.0", + "fs-extra": "^11.0.0", + "get-stdin": "^9.0.0", + "globby": "^13.0.0", + "picocolors": "^1.0.0", + "postcss-load-config": "^4.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "slash": "^5.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "postcss": "index.js" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-reporter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.1.0.tgz", + "integrity": "sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "picocolors": "^1.0.0", + "thenby": "^1.3.4" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-url": { + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz", + "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==", + "dependencies": { + "make-dir": "~3.1.0", + "mime": "~2.5.2", + "minimatch": "~3.0.4", + "xxhashjs": "~0.2.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", + "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/xxhashjs": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", + "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", + "dependencies": { + "cuint": "^0.2.2" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", + "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5425850 --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "aviation-client-geth", + "version": "1.0.0", + "description": "sky invisor dependencies", + "main": "tailwind.config.js", + "scripts": { + "fonts": "postcss fonts.css -d app/static/css", + "tailwind-watch": "postcss tailwind.css app/static/css/main.css -o app/static/css/output.css --watch", + "tailwind-build": "postcss tailwind.css app/static/css/main.css -o app/static/css/output.css --minify" + }, + "dependencies": { + "@fontsource/merriweather-sans": "^5.0.8", + "@fontsource/source-sans-pro": "^5.0.8", + "@fontsource/source-serif-pro": "^5.0.8", + "@fontsource/titillium-web": "^5.0.17", + "postcss-cli": "^10.1.0", + "postcss-import": "^15.1.0", + "postcss-url": "^10.1.3" + }, + "devDependencies": { + "@tailwindcss/forms": "^0.5.7", + "@tailwindcss/typography": "^0.5.13", + "autoprefixer": "^10.4.19", + "daisyui": "^4.12.2", + "postcss": "^8.4.38", + "tailwindcss": "^3.4.4" + }, + "repository": { + "type": "git", + "url": "github.com/FACorreiaa/Aviation-tracker" + }, + "author": "FACorreiaa", + "license": "ISC" +} diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..4c287b2 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,12 @@ +module.exports = { + plugins: [ + require('postcss-import'), + require('postcss-url')({ + url: 'copy', + useHash: true, + assetsPath: '../fonts', + }), + require('tailwindcss'), + require('autoprefixer') + ], +}; diff --git a/tailwind.config.js b/tailwind.config.js index 8128b1e..e64b4d5 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -50,6 +50,13 @@ module.exports = { md: "calc(var(--radius) - 2px)", sm: "calc(var(--radius) - 4px)" }, + spacing: { + '8xl': '96rem', + '9xl': '128rem', + }, + borderRadius: { + '4xl': '2rem', + }, }, colors: { blue: '#1fb6ff', @@ -67,15 +74,6 @@ module.exports = { serif: ['Merriweather', 'serif'], lato: ['Lato', 'sans-serif'], }, - extend: { - spacing: { - '8xl': '96rem', - '9xl': '128rem', - }, - borderRadius: { - '4xl': '2rem', - }, - }, }, daisyui: { themes: [ @@ -88,51 +86,56 @@ module.exports = { 'night', { 'catppuccin-latte': { - primary: '#1e66f5', // blue - secondary: '#ea76cb', // pink - accent: '#179299', // teal - neutral: '#dce0e8', // crust - 'base-100': '#eff1f5', // base - info: '#209fb5', // sapphire - success: '#40a02b', // green - warning: '#df8e1d', // yellow - error: '#d20f39', // red + primary: '#1e66f5', + secondary: '#ea76cb', + accent: '#179299', + neutral: '#dce0e8', + 'base-100': '#eff1f5', + info: '#209fb5', + success: '#40a02b', + warning: '#df8e1d', + error: '#d20f39', }, 'catppuccin-frappe': { - primary: '#8caaee', // blue - secondary: '#f4b8e4', // pink - accent: '#81c8be', // teal - neutral: '#232634', // crust - 'base-100': '#303446', // base - info: '#85c1dc', // sapphire - success: '#a6d189', // green - warning: '#e5c890', // yellow - error: '#e78284', // red + primary: '#8caaee', + secondary: '#f4b8e4', + accent: '#81c8be', + neutral: '#232634', + 'base-100': '#303446', + info: '#85c1dc', + success: '#a6d189', + warning: '#e5c890', + error: '#e78284', }, 'catppuccin-macchiato': { - primary: '#8aadf4', // blue - secondary: '#f5bde6', // pink - accent: '#8bd5ca', // teal - neutral: '#181926', // crust - 'base-100': '#24273a', // base - info: '#7dc4e4', // sapphire - success: '#a6da95', // green - warning: '#eed49f', // yellow - error: '#ed8796', // red + primary: '#8aadf4', + secondary: '#f5bde6', + accent: '#8bd5ca', + neutral: '#181926', + 'base-100': '#24273a', + info: '#7dc4e4', + success: '#a6da95', + warning: '#eed49f', + error: '#ed8796', }, 'catppuccin-mocha': { - primary: '#89b4fa', // blue - secondary: '#f5c2e7', // pink - accent: '#94e2d5', // teal - neutral: '#11111b', // crust - 'base-100': '#1e1e2e', // base - info: '#74c7ec', // sapphire - success: '#a6e3a1', // green - warning: '#f9e2af', // yellow - error: '#f38ba8', // red + primary: '#89b4fa', + secondary: '#f5c2e7', + accent: '#94e2d5', + neutral: '#11111b', + 'base-100': '#1e1e2e', + info: '#74c7ec', + success: '#a6e3a1', + warning: '#f9e2af', + error: '#f38ba8', }, }, ], }, - plugins: [require('@tailwindcss/forms'), require('@tailwindcss/typography')], + plugins: [ + require('@tailwindcss/forms'), + require('@tailwindcss/typography'), + require('daisyui'), + require('autoprefixer'), + ], };