From 815dbb41397046190a046aed3f6e34c65a4d3418 Mon Sep 17 00:00:00 2001 From: Tobias Feigel Date: Sat, 14 Jun 2025 17:42:12 +0200 Subject: [PATCH] Initial Commit --- .editorconfig | 21 + .gitignore | 61 ++ .htaccess | 67 ++ README.md | 36 + assets/css/styles.css | 817 +++++++++++++++++++ assets/favicon.ico | Bin 0 -> 108866 bytes composer.json | 42 + composer.lock | 1208 +++++++++++++++++++++++++++++ content/error/error.txt | 5 + content/home/home.txt | 5 + content/site.txt | 1 + index.php | 9 + package-lock.json | 1152 +++++++++++++++++++++++++++ package.json | 15 + site/accounts/index.html | 0 site/blueprints/pages/default.yml | 21 + site/blueprints/site.yml | 5 + site/cache/index.html | 0 site/sessions/index.html | 0 site/snippets/footer.php | 23 + site/snippets/header.php | 51 ++ site/templates/default.php | 66 ++ src/css/input.css | 1 + 23 files changed, 3606 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .htaccess create mode 100644 README.md create mode 100644 assets/css/styles.css create mode 100644 assets/favicon.ico create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 content/error/error.txt create mode 100644 content/home/home.txt create mode 100644 content/site.txt create mode 100644 index.php create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 site/accounts/index.html create mode 100644 site/blueprints/pages/default.yml create mode 100644 site/blueprints/site.yml create mode 100644 site/cache/index.html create mode 100644 site/sessions/index.html create mode 100644 site/snippets/footer.php create mode 100644 site/snippets/header.php create mode 100644 site/templates/default.php create mode 100644 src/css/input.css diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..31cb096 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +[*.{css,scss,less,js,json,ts,sass,html,hbs,mustache,phtml,html.twig,md,yml}] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +indent_size = 4 +trim_trailing_whitespace = false + +[site/templates/**.php] +indent_size = 2 + +[site/snippets/**.php] +indent_size = 2 + +[package.json,.{babelrc,editorconfig,eslintrc,lintstagedrc,stylelintrc}] +indent_style = space +indent_size = 2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e673af5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,61 @@ +# System files +# ------------ + +Icon +.DS_Store + +# Temporary files +# --------------- + +/media/* +!/media/index.html + +# Lock files +# --------------- + +.lock + +# Editors +# (sensitive workspace files) +# --------------------------- +*.sublime-workspace +/.vscode +/.idea + +# -------------SECURITY------------- +# NEVER publish these files via Git! +# -------------SECURITY------------- + +# Cache Files +# --------------- + +/site/cache/* +!/site/cache/index.html + +# Accounts +# --------------- + +/site/accounts/* +!/site/accounts/index.html + +# Sessions +# --------------- + +/site/sessions/* +!/site/sessions/index.html + +# License +# --------------- + +/site/config/.license + +# Kirby +# --------------- + +/kirby +/media +/vendor + +# Node +# --------------- +/node_modules diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..5fe5c71 --- /dev/null +++ b/.htaccess @@ -0,0 +1,67 @@ +# Kirby .htaccess +# revision 2023-07-22 + +# rewrite rules + + +# enable awesome urls. i.e.: +# http://yourdomain.com/about-us/team +RewriteEngine on + +# make sure to set the RewriteBase correctly +# if you are running the site in a subfolder; +# otherwise links or the entire site will break. +# +# If your homepage is http://yourdomain.com/mysite, +# set the RewriteBase to: +# +# RewriteBase /mysite + +# In some environments it's necessary to +# set the RewriteBase to: +# +# RewriteBase / + +# block files and folders beginning with a dot, such as .git +# except for the .well-known folder, which is used for Let's Encrypt and security.txt +RewriteRule (^|/)\.(?!well-known\/) index.php [L] + +# block all files in the content folder from being accessed directly +RewriteRule ^content/(.*) index.php [L] + +# block all files in the site folder from being accessed directly +RewriteRule ^site/(.*) index.php [L] + +# block direct access to Kirby and the Panel sources +RewriteRule ^kirby/(.*) index.php [L] + +# make site links work +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^(.*) index.php [L] + + + +# pass the Authorization header to PHP +SetEnvIf Authorization "(.+)" HTTP_AUTHORIZATION=$1 + +# compress text file responses + +AddOutputFilterByType DEFLATE text/plain +AddOutputFilterByType DEFLATE text/html +AddOutputFilterByType DEFLATE text/css +AddOutputFilterByType DEFLATE text/javascript +AddOutputFilterByType DEFLATE application/json +AddOutputFilterByType DEFLATE application/javascript +AddOutputFilterByType DEFLATE application/x-javascript + + +# set security headers in all responses + + +# serve files as plain text if the actual content type is not known +# (hardens against attacks from malicious file uploads) +Header set Content-Type "text/plain" "expr=-z %{CONTENT_TYPE}" +Header set X-Content-Type-Options "nosniff" + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..7772e95 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ + + +**Kirby: the CMS that adapts to any project, loved by developers and editors alike.** +The Plainkit is a minimal Kirby setup with the basics you need to start a project from scratch. It is the ideal choice if you are already familiar with Kirby and want to start step-by-step. + +You can learn more about Kirby at [getkirby.com](https://getkirby.com). + +### Try Kirby for free + +You can try Kirby and the Plainkit on your local machine or on a test server as long as you need to make sure it is the right tool for your next project. … and when you’re convinced, [buy your license](https://getkirby.com/buy). + +### Get going + +Read our guide on [how to get started with Kirby](https://getkirby.com/docs/guide/quickstart). + +You can [download the latest version](https://github.com/getkirby/plainkit/archive/main.zip) of the Plainkit. +If you are familiar with Git, you can clone Kirby's Plainkit repository from Github. + + git clone https://github.com/getkirby/plainkit.git + +## What's Kirby? + +- **[getkirby.com](https://getkirby.com)** – Get to know the CMS. +- **[Try it](https://getkirby.com/try)** – Take a test ride with our online demo. Or download one of our kits to get started. +- **[Documentation](https://getkirby.com/docs/guide)** – Read the official guide, reference and cookbook recipes. +- **[Issues](https://github.com/getkirby/kirby/issues)** – Report bugs and other problems. +- **[Feedback](https://feedback.getkirby.com)** – You have an idea for Kirby? Share it. +- **[Forum](https://forum.getkirby.com)** – Whenever you get stuck, don't hesitate to reach out for questions and support. +- **[Discord](https://chat.getkirby.com)** – Hang out and meet the community. +- **[Mastodon](https://mastodon.social/@getkirby)** – Spread the word. +- **[Bluesky](https://bsky.app/profile/getkirby.com)** – Spread the word. + +--- + +© 2009 Bastian Allgeier +[getkirby.com](https://getkirby.com) · [License agreement](https://getkirby.com/license) diff --git a/assets/css/styles.css b/assets/css/styles.css new file mode 100644 index 0000000..e194904 --- /dev/null +++ b/assets/css/styles.css @@ -0,0 +1,817 @@ +/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */ +@layer properties; +@layer theme, base, components, utilities; +@layer theme { + :root, :host { + --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", + "Courier New", monospace; + --color-green-50: oklch(98.2% 0.018 155.826); + --color-green-500: oklch(72.3% 0.219 149.579); + --color-green-600: oklch(62.7% 0.194 149.214); + --color-blue-200: oklch(88.2% 0.059 254.128); + --color-blue-600: oklch(54.6% 0.245 262.881); + --color-gray-100: oklch(96.7% 0.003 264.542); + --color-gray-300: oklch(87.2% 0.01 258.338); + --color-gray-700: oklch(37.3% 0.034 259.733); + --color-gray-800: oklch(27.8% 0.033 256.848); + --color-gray-900: oklch(21% 0.034 264.665); + --color-white: #fff; + --spacing: 0.25rem; + --container-xs: 20rem; + --container-4xl: 56rem; + --text-xs: 0.75rem; + --text-xs--line-height: calc(1 / 0.75); + --text-sm: 0.875rem; + --text-sm--line-height: calc(1.25 / 0.875); + --text-base: 1rem; + --text-base--line-height: calc(1.5 / 1); + --text-lg: 1.125rem; + --text-lg--line-height: calc(1.75 / 1.125); + --text-xl: 1.25rem; + --text-xl--line-height: calc(1.75 / 1.25); + --text-2xl: 1.5rem; + --text-2xl--line-height: calc(2 / 1.5); + --text-3xl: 1.875rem; + --text-3xl--line-height: calc(2.25 / 1.875); + --text-4xl: 2.25rem; + --text-4xl--line-height: calc(2.5 / 2.25); + --text-5xl: 3rem; + --text-5xl--line-height: 1; + --text-6xl: 3.75rem; + --text-6xl--line-height: 1; + --font-weight-medium: 500; + --font-weight-semibold: 600; + --font-weight-bold: 700; + --tracking-tight: -0.025em; + --leading-tight: 1.25; + --leading-relaxed: 1.625; + --radius-md: 0.375rem; + --radius-lg: 0.5rem; + --default-font-family: var(--font-sans); + --default-mono-font-family: var(--font-mono); + } +} +@layer base { + *, ::after, ::before, ::backdrop, ::file-selector-button { + box-sizing: border-box; + margin: 0; + padding: 0; + border: 0 solid; + } + html, :host { + line-height: 1.5; + -webkit-text-size-adjust: 100%; + tab-size: 4; + font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); + font-feature-settings: var(--default-font-feature-settings, normal); + font-variation-settings: var(--default-font-variation-settings, normal); + -webkit-tap-highlight-color: transparent; + } + hr { + height: 0; + color: inherit; + border-top-width: 1px; + } + abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + } + h1, h2, h3, h4, h5, h6 { + font-size: inherit; + font-weight: inherit; + } + a { + color: inherit; + -webkit-text-decoration: inherit; + text-decoration: inherit; + } + b, strong { + font-weight: bolder; + } + code, kbd, samp, pre { + font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); + font-feature-settings: var(--default-mono-font-feature-settings, normal); + font-variation-settings: var(--default-mono-font-variation-settings, normal); + font-size: 1em; + } + small { + font-size: 80%; + } + sub, sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + sub { + bottom: -0.25em; + } + sup { + top: -0.5em; + } + table { + text-indent: 0; + border-color: inherit; + border-collapse: collapse; + } + :-moz-focusring { + outline: auto; + } + progress { + vertical-align: baseline; + } + summary { + display: list-item; + } + ol, ul, menu { + list-style: none; + } + img, svg, video, canvas, audio, iframe, embed, object { + display: block; + vertical-align: middle; + } + img, video { + max-width: 100%; + height: auto; + } + button, input, select, optgroup, textarea, ::file-selector-button { + font: inherit; + font-feature-settings: inherit; + font-variation-settings: inherit; + letter-spacing: inherit; + color: inherit; + border-radius: 0; + background-color: transparent; + opacity: 1; + } + :where(select:is([multiple], [size])) optgroup { + font-weight: bolder; + } + :where(select:is([multiple], [size])) optgroup option { + padding-inline-start: 20px; + } + ::file-selector-button { + margin-inline-end: 4px; + } + ::placeholder { + opacity: 1; + } + @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) { + ::placeholder { + color: currentcolor; + @supports (color: color-mix(in lab, red, red)) { + color: color-mix(in oklab, currentcolor 50%, transparent); + } + } + } + textarea { + resize: vertical; + } + ::-webkit-search-decoration { + -webkit-appearance: none; + } + ::-webkit-date-and-time-value { + min-height: 1lh; + text-align: inherit; + } + ::-webkit-datetime-edit { + display: inline-flex; + } + ::-webkit-datetime-edit-fields-wrapper { + padding: 0; + } + ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field { + padding-block: 0; + } + :-moz-ui-invalid { + box-shadow: none; + } + button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button { + appearance: button; + } + ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { + height: auto; + } + [hidden]:where(:not([hidden="until-found"])) { + display: none !important; + } +} +@layer utilities { + .absolute { + position: absolute; + } + .fixed { + position: fixed; + } + .relative { + position: relative; + } + .-top-12 { + top: calc(var(--spacing) * -12); + } + .top-0 { + top: calc(var(--spacing) * 0); + } + .top-5 { + top: calc(var(--spacing) * 5); + } + .-right-7 { + right: calc(var(--spacing) * -7); + } + .right-3 { + right: calc(var(--spacing) * 3); + } + .-bottom-8 { + bottom: calc(var(--spacing) * -8); + } + .bottom-0 { + bottom: calc(var(--spacing) * 0); + } + .-left-14 { + left: calc(var(--spacing) * -14); + } + .left-0 { + left: calc(var(--spacing) * 0); + } + .z-10 { + z-index: 10; + } + .z-50 { + z-index: 50; + } + .container { + width: 100%; + @media (width >= 40rem) { + max-width: 40rem; + } + @media (width >= 48rem) { + max-width: 48rem; + } + @media (width >= 64rem) { + max-width: 64rem; + } + @media (width >= 80rem) { + max-width: 80rem; + } + @media (width >= 96rem) { + max-width: 96rem; + } + } + .-mx-4 { + margin-inline: calc(var(--spacing) * -4); + } + .mx-auto { + margin-inline: auto; + } + .mt-2 { + margin-top: calc(var(--spacing) * 2); + } + .mt-8 { + margin-top: calc(var(--spacing) * 8); + } + .mr-2 { + margin-right: calc(var(--spacing) * 2); + } + .mr-12 { + margin-right: calc(var(--spacing) * 12); + } + .mb-2 { + margin-bottom: calc(var(--spacing) * 2); + } + .mb-4 { + margin-bottom: calc(var(--spacing) * 4); + } + .mb-6 { + margin-bottom: calc(var(--spacing) * 6); + } + .mb-8 { + margin-bottom: calc(var(--spacing) * 8); + } + .mb-16 { + margin-bottom: calc(var(--spacing) * 16); + } + .ml-4 { + margin-left: calc(var(--spacing) * 4); + } + .block { + display: block; + } + .flex { + display: flex; + } + .hidden { + display: none; + } + .inline-block { + display: inline-block; + } + .table { + display: table; + } + .h-8 { + height: calc(var(--spacing) * 8); + } + .h-full { + height: 100%; + } + .min-h-screen { + min-height: 100vh; + } + .w-1 { + width: calc(var(--spacing) * 1); + } + .w-1\/2 { + width: calc(1/2 * 100%); + } + .w-4 { + width: calc(var(--spacing) * 4); + } + .w-4\/6 { + width: calc(4/6 * 100%); + } + .w-28 { + width: calc(var(--spacing) * 28); + } + .w-full { + width: 100%; + } + .max-w-4xl { + max-width: var(--container-4xl); + } + .max-w-max { + max-width: max-content; + } + .max-w-xs { + max-width: var(--container-xs); + } + .flex-1 { + flex: 1; + } + .flex-none { + flex: none; + } + .border-collapse { + border-collapse: collapse; + } + .resize { + resize: both; + } + .list-inside { + list-style-position: inside; + } + .list-disc { + list-style-type: disc; + } + .flex-col { + flex-direction: column; + } + .flex-wrap { + flex-wrap: wrap; + } + .items-center { + align-items: center; + } + .justify-between { + justify-content: space-between; + } + .justify-end { + justify-content: flex-end; + } + .space-x-4 { + :where(& > :not(:last-child)) { + --tw-space-x-reverse: 0; + margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse)); + margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse))); + } + } + .self-center { + align-self: center; + } + .overflow-hidden { + overflow: hidden; + } + .overflow-y-auto { + overflow-y: auto; + } + .rounded-lg { + border-radius: var(--radius-lg); + } + .rounded-md { + border-radius: var(--radius-md); + } + .border { + border-style: var(--tw-border-style); + border-width: 1px; + } + .border-green-500 { + border-color: var(--color-green-500); + } + .bg-blue-600 { + background-color: var(--color-blue-600); + } + .bg-gray-100 { + background-color: var(--color-gray-100); + } + .bg-gray-800 { + background-color: var(--color-gray-800); + } + .bg-green-500 { + background-color: var(--color-green-500); + } + .bg-transparent { + background-color: transparent; + } + .bg-white { + background-color: var(--color-white); + } + .p-4 { + padding: calc(var(--spacing) * 4); + } + .p-6 { + padding: calc(var(--spacing) * 6); + } + .px-1 { + padding-inline: calc(var(--spacing) * 1); + } + .px-2 { + padding-inline: calc(var(--spacing) * 2); + } + .px-4 { + padding-inline: calc(var(--spacing) * 4); + } + .px-7 { + padding-inline: calc(var(--spacing) * 7); + } + .py-1 { + padding-block: calc(var(--spacing) * 1); + } + .py-2 { + padding-block: calc(var(--spacing) * 2); + } + .py-3 { + padding-block: calc(var(--spacing) * 3); + } + .py-5 { + padding-block: calc(var(--spacing) * 5); + } + .py-6 { + padding-block: calc(var(--spacing) * 6); + } + .py-20 { + padding-block: calc(var(--spacing) * 20); + } + .py-px { + padding-block: 1px; + } + .text-center { + text-align: center; + } + .font-sans { + font-family: var(--font-sans); + } + .text-2xl { + font-size: var(--text-2xl); + line-height: var(--tw-leading, var(--text-2xl--line-height)); + } + .text-3xl { + font-size: var(--text-3xl); + line-height: var(--tw-leading, var(--text-3xl--line-height)); + } + .text-4xl { + font-size: var(--text-4xl); + line-height: var(--tw-leading, var(--text-4xl--line-height)); + } + .text-base { + font-size: var(--text-base); + line-height: var(--tw-leading, var(--text-base--line-height)); + } + .text-lg { + font-size: var(--text-lg); + line-height: var(--tw-leading, var(--text-lg--line-height)); + } + .text-sm { + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + } + .text-xl { + font-size: var(--text-xl); + line-height: var(--tw-leading, var(--text-xl--line-height)); + } + .text-xs { + font-size: var(--text-xs); + line-height: var(--tw-leading, var(--text-xs--line-height)); + } + .leading-4 { + --tw-leading: calc(var(--spacing) * 4); + line-height: calc(var(--spacing) * 4); + } + .leading-5 { + --tw-leading: calc(var(--spacing) * 5); + line-height: calc(var(--spacing) * 5); + } + .leading-relaxed { + --tw-leading: var(--leading-relaxed); + line-height: var(--leading-relaxed); + } + .leading-tight { + --tw-leading: var(--leading-tight); + line-height: var(--leading-tight); + } + .font-bold { + --tw-font-weight: var(--font-weight-bold); + font-weight: var(--font-weight-bold); + } + .font-medium { + --tw-font-weight: var(--font-weight-medium); + font-weight: var(--font-weight-medium); + } + .font-semibold { + --tw-font-weight: var(--font-weight-semibold); + font-weight: var(--font-weight-semibold); + } + .tracking-tight { + --tw-tracking: var(--tracking-tight); + letter-spacing: var(--tracking-tight); + } + .text-gray-700 { + color: var(--color-gray-700); + } + .text-gray-800 { + color: var(--color-gray-800); + } + .text-gray-900 { + color: var(--color-gray-900); + } + .text-green-50 { + color: var(--color-green-50); + } + .text-white { + color: var(--color-white); + } + .uppercase { + text-transform: uppercase; + } + .underline { + text-decoration-line: underline; + } + .antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .shadow-inner { + --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-lg { + --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-md { + --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .shadow-sm { + --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + .outline { + outline-style: var(--tw-outline-style); + outline-width: 1px; + } + .hover\:bg-green-600 { + &:hover { + @media (hover: hover) { + background-color: var(--color-green-600); + } + } + } + .hover\:text-blue-200 { + &:hover { + @media (hover: hover) { + color: var(--color-blue-200); + } + } + } + .hover\:text-gray-300 { + &:hover { + @media (hover: hover) { + color: var(--color-gray-300); + } + } + } + .focus\:ring-2 { + &:focus { + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); + box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + } + } + .focus\:ring-green-500 { + &:focus { + --tw-ring-color: var(--color-green-500); + } + } + .md\:mr-0 { + @media (width >= 48rem) { + margin-right: calc(var(--spacing) * 0); + } + } + .md\:mr-4 { + @media (width >= 48rem) { + margin-right: calc(var(--spacing) * 4); + } + } + .md\:mb-0 { + @media (width >= 48rem) { + margin-bottom: calc(var(--spacing) * 0); + } + } + .md\:w-1\/2 { + @media (width >= 48rem) { + width: calc(1/2 * 100%); + } + } + .md\:w-auto { + @media (width >= 48rem) { + width: auto; + } + } + .md\:py-0 { + @media (width >= 48rem) { + padding-block: calc(var(--spacing) * 0); + } + } + .md\:py-28 { + @media (width >= 48rem) { + padding-block: calc(var(--spacing) * 28); + } + } + .md\:text-5xl { + @media (width >= 48rem) { + font-size: var(--text-5xl); + line-height: var(--tw-leading, var(--text-5xl--line-height)); + } + } + .md\:text-lg { + @media (width >= 48rem) { + font-size: var(--text-lg); + line-height: var(--tw-leading, var(--text-lg--line-height)); + } + } + .md\:text-xl { + @media (width >= 48rem) { + font-size: var(--text-xl); + line-height: var(--tw-leading, var(--text-xl--line-height)); + } + } + .lg\:text-6xl { + @media (width >= 64rem) { + font-size: var(--text-6xl); + line-height: var(--tw-leading, var(--text-6xl--line-height)); + } + } + .xl\:flex { + @media (width >= 80rem) { + display: flex; + } + } + .xl\:hidden { + @media (width >= 80rem) { + display: none; + } + } + .xl\:w-1\/3 { + @media (width >= 80rem) { + width: calc(1/3 * 100%); + } + } + .xl\:items-center { + @media (width >= 80rem) { + align-items: center; + } + } + .xl\:justify-center { + @media (width >= 80rem) { + justify-content: center; + } + } +} +@property --tw-space-x-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-border-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@property --tw-leading { + syntax: "*"; + inherits: false; +} +@property --tw-font-weight { + syntax: "*"; + inherits: false; +} +@property --tw-tracking { + syntax: "*"; + inherits: false; +} +@property --tw-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-shadow-color { + syntax: "*"; + inherits: false; +} +@property --tw-shadow-alpha { + syntax: ""; + inherits: false; + initial-value: 100%; +} +@property --tw-inset-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-inset-shadow-color { + syntax: "*"; + inherits: false; +} +@property --tw-inset-shadow-alpha { + syntax: ""; + inherits: false; + initial-value: 100%; +} +@property --tw-ring-color { + syntax: "*"; + inherits: false; +} +@property --tw-ring-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-inset-ring-color { + syntax: "*"; + inherits: false; +} +@property --tw-inset-ring-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-ring-inset { + syntax: "*"; + inherits: false; +} +@property --tw-ring-offset-width { + syntax: ""; + inherits: false; + initial-value: 0px; +} +@property --tw-ring-offset-color { + syntax: "*"; + inherits: false; + initial-value: #fff; +} +@property --tw-ring-offset-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-outline-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@layer properties { + @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) { + *, ::before, ::after, ::backdrop { + --tw-space-x-reverse: 0; + --tw-border-style: solid; + --tw-leading: initial; + --tw-font-weight: initial; + --tw-tracking: initial; + --tw-shadow: 0 0 #0000; + --tw-shadow-color: initial; + --tw-shadow-alpha: 100%; + --tw-inset-shadow: 0 0 #0000; + --tw-inset-shadow-color: initial; + --tw-inset-shadow-alpha: 100%; + --tw-ring-color: initial; + --tw-ring-shadow: 0 0 #0000; + --tw-inset-ring-color: initial; + --tw-inset-ring-shadow: 0 0 #0000; + --tw-ring-inset: initial; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-outline-style: solid; + } + } +} diff --git a/assets/favicon.ico b/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..85d2f58931843abaeb4206ac97972399b49010be GIT binary patch literal 108866 zcmeHQ2UrtH8{QC_(!>Hv5fuwoz=~MFiUk#W1I2n4POw)b*ejlhiogA==&6WGu|N>Z z9bzxwp%QxoK~V%j_}?$GT#N~9AfV@w=Xsf(_SMLq8r7Y~As4Ph9bnViy59JaxiM8{T{orZ7xogLE{bv20v~{L`?M^3h>{=OXb|0j= z{C9zpXM+;2Tu3mx9d$*w!ULzvt)5z9KkFXE88=mZa z&34zkR@GKH9{y0-wMJkWt1^T11{vObIWQ_AVX}To5&bz)ehICX#L z)4?O(UORpBg<91M%OcIZPx1E*OH1n4!d%6vaoC;5f;Ie821mM1OHLS}pQ4$v`BAe@ zoi(4{IFvJMkMG1Y1}WoRTev#7&Q56C-*2$+zOaYT67}CDIqfr75iN6mecPLH^55yX z#(n#Q3o0T#p{2lBWzVpbB&RwxR9x3Ozy9cIds-z}t#f8tK!-ug1~&;U|EJ2H2gu)7 zP32ncusgd1Ndj}h8SBiX1+5;aAJ%B3G2hJM#I=wP(>tr~=rrZfK)$ZJu152eq+T1} zHAtx-y6D{}CoRd*RG&A_*ZK8jfjg6_GRia4oUzhKuaaWt-Dge4jJ-XVF-`5QV{$5b zv`*=okgXZ@u2nU)`L%8?T&vHkyrhQeOgqPm3FkuW+V^!-yP|ryLiNf<`hs?Uo_ND+ zFX|`i5dK;J??*=}SBInq=`;3DSjN2HRryu2&K7mI#CWsFdc8)fe*W7&pi}tPfU-3h zwXi#__zC>rl%$m+KRfq_411fyQwyE*f0N{q&Q%`LYMU0>`{hdJLmXQj}Kckol1!+zBqm2lmx)=tqO zmV0jWCu(g|M!9Mvgln#U5+dyF-KW>58M_;tY|pItoaN5!V=kqqU9>(X@Cvf=N~nMS zVysn}mY=3%fADlxT~&A3DDSuakE1W~>yLb=eR%Nc0eez=HA@@WdFe0HJ9IndV+e^F zdUt>M$L-IX8eBQ^v1#qv^XI&sbN9AYaJd_|tw#nL1Xdq=YFeMSv+v*7pmVW%ubrXA*2LCPw(QEIZdOWzgF>!4u}*U2OBm8vTV`g$`B$R|cdc4K;qR zlEAz2`c}2yeJY~XNB+POSDwVKHWZu^)II-t`N<_g1~pE%e3qQD{LzUO?h!*=%X)Ny z$vj()-0V{U6+FGomXD$Ev7^i8V8fIuu614=U6R5Vz4q=i zbzZBH3w_Fg#|NvyBb%otU9yT%o21cLwAVghQ@H7Y@?m!_@#iv2nO1$1)<#ANUM;HI zE=jFg?3|gR362>D>owLnrZsub6QTR6kvh-IISTLChJUWIpoR4*)rj{=U0U55z^pJo zRcAz6+QGErFVqh68}YKQ1x%e2ThZ(BRzZ~2MD_lgYcx>pdEuP)t#|Iu-642YJ?Dj+ zS`AnpYjyN#f}Y=}jqbnLE_Z(2%=@vxvhSHg=O=o1cs&wwAIyeuHTo(B%{PW9;eBm#z2Sn@`KrKk$L+kb?!?s#mbe&Btnk9rZ zx!_q5c52OC_?sFtPyw2HcPlg=vZkaRL;@P5ImIlo5GJYq|eQZ<3r<<1j z;SbiroLOn9Jw+37LuZDYwSQdksA~8=)s=#!2j~5^KM1OL*6`TiV3@5lPbYM5e9$?~ z`yFb*BcG{io%$HV;&H*xdeD zN5rqyJX1Tc*N$7};fGJTJhCw6yD^T5ABU_vAC|T8;;pv(&%N(CZiU0TrdjC7p! zzQL8$1jn$gIc;OAuO5<=bg}oHg-$cp}p&onmX=v4@TZl z-O=U#XXfeXWEaN7z+!r*!LhORCi^8VSw8=dZUc-XEsyYr)*3%3I&E5A6{m_xp=+kR zOS`J3tLb<0@T!Ru*V{zjQSamGPCeG+>aJ6Kmt2YcBf6~WN&hLfIVP^jM$@tvde`~w zilz3I4Z@F?#{HS0SuNJ~oXPRYmz^D-TmG7TtHETy)f$b?RXkH}(b~8cT|4YMp}DoJ z{o3_Ud*5^T)KK`u^4lL8NO>k1%x)mB6hXGCfU(KE0i76Foy^{+gVuY3zXijJ$+#THN6I=Xq)ikkb_ zBD37yMR%u!d+OURIV3m|-+aRKvf?hj@-v$Q^|$fb_PO2HbF$wdruDLpX=Tzjt-f1n zR`iB;6V1^}_4a?&vQeuXx0u=42WHF{bcYE;M^q8{+C=}+CiK^yyzpf$kG%0UufHwk zaeYBQeSPO3(`U;2Rxwx3|Jvx-u7g`nw(<#jx?*lM%`uG)Y>v2?|5^sMuL!s4 zTE6?+Xm@gUz1sDURP(z$X|mt12|nH%)ON(BWp0aFIal}CfnkFmSqxS0+upg{ytnsf z1gphY;U%t)Ulw6L(P@9GmFx6`o|-O~9mbg-b?hG9dw1G=?YOw>om@;UrtdJ1A7J4# zuC2}=kK+w@zTTwn*zJbL{9_SuuQXkU-X)lCe%6SD7QRiLRZVo7wi)RDn|q5>=GPK6MSX>}eYWIG-f`=(k6Zj$hXh>| zZ|gD3cgZh0S?zq6^kVF$-Fh=txNmdD;<0MN+c$HjH#pyX<04IgRmEe1tF_0^x@(o( zvQnyD@`AlrVwyHU``tWZNq8fhUA48m&h<_k=IZNix2W4Y?ZBumCqDZ&oma``=32dY zbTJtf>o=BPypxBrjN^_qv7W@4T@vyQ@)E|J@Haug>n%`(yGnhqg%rSM_t)eO+G|8T!|| z%myBV;|D}{Qni2ac!=xcnmS&09wp~g4BU`##H>5tq3OE|`f&ZHR`=|Jl2+-bliRJMLyEX5(Ie0t4%sa~HZh5!Ss)43~-h7SikujTJUC8uoRc+Se z5Md+#D_%!xZH{Gbnx>zus`KQ9+wN=j9Xc#Gu(5NB?r*=S`-YE60;hUMM%lis)zzr& z*m&4B^^rxUyJNSO@g`;OHM?iL#FY1BNQ6d)v31d1O`m3`>J@XY!MQfttp%GB za`tG(H(Xp(=Q&(p?l{F|bAyF<&lop;7pTt*>|vSWsWIb{>)-_4rhkTo4t6=*WTjQk z+%rP$nCthvR4muuy}R_`NXJU9@fppQRuWVnSZ3;>fg0JoRl$i)PuF>BcQP4Mf5cwP z{=a0_)JaZDT6E21vY(5ZiR<0O_9D-&M&UMbdP|4$<1{k2nmImoZCCEWtRxU(}ecVvi%h0s~lO~bH`=GJq!1xYXBs=BV(Ip3=CDcjJ%c>W&eTAeB` z@~PG}%8MT{*>%px$ncCtG^Sa)d6D5J{^kYOmWTeiGOVx3nC?1R&s@y~Yew1q{j09W zx`ivtFY5WEv#8;v<{P7S2Mu2ksVY35l5@vCAb8>?t@bT`+x;+J_^YmCa`P19Hmgtn zrSi9Tk9IFcPx5e0b*cM#1C8JMAKjijscOnZ4MTIytuYP#w>H`AxMG*v)9i%GHY#x! zA{RTB@ta`N-?y43h#3o#Jl^#7Zx%kYvIWy^5bQe%*5{LN2)dLWirOK z&(esizu#38uIOrXWkIcd%+OIe4c@uj$WYtaY{fBNM2Oprrh&5)3_q)h>`a`aDrz)W z+qv0e@|+o$!h3zv67JPCD$gsoC@p;0@-625XqwD&0>^a(8+&bDq2E&Y`n}L1$3I z^(f=^NH~7u>|5YB>zeoF<$;43=Ub-?dF51FwSFRewgmAz$K2-C-uv!IHO-_{J;#Rp z%?+$o2E_)w4Jgml)SO|VvcN5Qf5Ym`>p{)i-cD+$zvysOFf*^*jykb(s<<}0bYXj= zryDfef3&(Bbf(N?zlO03XMb8V;bxru=xj^P8I!N?dk|ZP3EuSP{Qwkt*pa!wOti6T zeLv}p#dhb3g7tz*)>Q^<)VS~|t$W}V^GcUppE@!FCdJ42#+>yVcDP~Koi_f*^jk4Q zT?aVU8Hs1>T}SmdsY&PT(U-OH2@0{&GaLFxGxb5|gO22A`_)UnGN?xEoCdXPeVQ-4 z5@*=C-MEb#1M4#fLo4%64|(u;+;*CQ4Ckk5Ja`>%)~@oBjTXVl4Xh*2Ywj=*Pux-( zitI->vb?p>YjALg?@E1P{aW`|ZNQX5*QUy{-+U}@X~pZsuD{?qAoyV7?q*XCeN<_r zdM7PuWwqmir2EUuj1uf=XzY1t_vY(XVRyRoa&%1SarCZVhW5%|d4ncvr#0by+%T<) z(eHzvoZ2>j_BGWJmB(hxaINfS7-!l-J#&+wo;f<(byn+_-+7m`(#iOM^Z8G|UP`<0 z!PQIE_0*0L-JcBUbzyhE4Oc9iMhy)&t-NIRhNRU=f9m7@-Qd6CT>bR4PWvlOwZ8ku z!RUFH(rn#TX>4&LWAU9?wocJA>Kt4CLEm04ZH>y@p`9+D*e0mkc|xlQ?`x)UZKt{$ z$9t}?ns_kUKdnd8UXzC;_i^u@TO_|BtBYO;Pvh!4E8>d&b5_+QIJ<}tnD)an&`|rbO zVn&r;%a~s66mB}M-0QGb&a0RK4PTCRE92(UXK4H9@2Wi$4l)hg7Jft{J!H(TF=d49 zYMn5j*8G>-`+fE#)fLun6L+;qaA)h*Gdp8>Mx@o#SpTGVroeb!tLvKR>CevBSu@Z@ zQ#eI9*Cb)hn%)n(ba>(TjPG#!#mk&wi5KH+^cjJkO?Z`7w!xOu+8U~LYx5|6dF??L zy)PTi6&RXUHsF;z5Hoy#g6@rzx^6v_BYRx7{-w^l6&X1W&UX!Mw+$AQ^$XfM>{7GW zgMvde{U7wL*#7v|=(!y(wm3V(@%S~<1}Z+T@u z1ut>?ZwqppH|AddgtZ6Gv_H0mKkt4>gV74ZUvngwnF>QHjH$9mNqZ)3J$-XlBhd2u7n>#J-YacfXH=c&dXj{Bx%&399E40KC< zEAB$Kdw*`w;<#xIX2H-&8ou@c2ll<6wEiz$x3+ga{$zDP`&)XAO%3A+rKRz7t(G2E=Uk?i1W=R@tY=4)Qm5*R;PX zFnh4@^ScM}Plj|4o78UH0-NXo!fX{$4fR#p8_Nmo0|o|~8MHQPQnQlk&dD<_&fk+1 zfHA_o9OE_%PrvM`VR$Tr9?gG+4$_`I@bkh*RZ*<2(F5z)Ih{0SsO@}gu_ULF0b^WV zFqetXxN)I+rFm*Qd#9b9UrV$}c!nQ=2fU`={}z@B4ZIw#>xMDKqmk)e1AUiF)tGY5DJh`a0U z((Z+7@cABpXS(e-)2_qBj*9tcGyf3S1r&^iyVN~{P8)bhluvVJyHP?27 zFkiaEv`rSiZ`0LCcQ7++cSibpT@xcMlgAMA)}~#P`@U;r{AQ_n8R2yQjw^#(){C8^ zM#h+Nu6OgQ=|TLPQ>{E_by-pgwyh%Up=+|4nRgz7>^EPkl04b<Z1RKzR`;j79|D=eDy%-*$)#*FP}Yo=G( zfDv(*7a8UbhF~LXJ4`1$q{^N1i`tfL z-(rfzUcI=nRXsYHySsIPs>9T$IJ9{9-ud-gA2+S`wJ=+$TW!YZ?7tz_geR*npL@Ff z`JZ>2dFMzDiJfEq`VEgGtoAvq2~G;K0*Bj>r6LA zn0JkGF!r2!tWK)YfDN^)=xurUXK=NCt8X41o^ou>-cRF>sd#9m40P}@!`ksC^Y{f$ zWiS_3P4_iVUBizU|IF}zjPY`<;}E=$7uz(mdk-x%2$g%QRhTPS+>YAm+0J6?$cL8G z!BFfQ5YcugplIyq!DFD18Ju*CXy6ZiQgKb0J$*w^m6JM6LWZ|L}>G=DrJ@j3)c_5Z)hbBv@+wGIPl9 zV|W%bRKuU9oE@Oi$Yb2_a?v6UVW#Qdc02E`&&fW%{&#e^J!2-17?`+yV#8A^?HexN zm00cGfO9A7c8zNFx3#OeLr$#qzBSI1M;!ieK{rWj!E{V=_0q$mYCluC7&3A9uegck zsDxg7xVVwlXskKfx^*b`hrYvIo0x5b2R&(=oMkTf2Jl!MzJy z*QE;9*dEVm?6Fs;!vNK4POo%C9hVwv@BJgr+b6!pB-9GdWOk;Lg0u$$8HVZ ze#2fjsCh=a!yg7vfep)cxlI)<_1PSzwQlF7vUgN>#2I9jpY%%ey>->luFG zaHi^@3nQ8w^EQvan`XT1cDFNFejYh~Qe*9jDlMK5v3wqC+HTx3o9GSdlg{;+ACbM~ zf4d(h{Ax6<_km0|k@dwEBd3ac@MlUT8O@?Q4~C7R~f* zG+PW_l$kpI-WZGWi#lgm-mCZ_@oH;P3T966%@aqe!tuL=0Y2_!g_FbX^e&U6dG^$@ zU5OT=&9$0N@8-KiFU%^jBUAQ@`kSfaBG#l%IpnfuQ29meV1L)>mItS_*lXD`auZW= zc?VsU2h(nMjjQ0c@R8;a*#N-dINCgzt-8y|)Ylvzx-TjpAR-G~M`Y zNb4&Ky01TVtH7X78a~2DcjNiGm8<`@tliGK zk1Srp8guN^XtaXCbidaI+r%Qd&_ohJ?|~c zoZ2+`_h~$fo;p=ETMrs}Y&-u=;_nO0$2cCd^?lSYVQZ*fa?;i9)*W(g^fHV_YmWAmJk8RB)F-yD5& zmBZ$0na9*U1|I$}(9>mR*O>Q7_V+CsXWUzwX@2JOCSKy&-47$?xrDS3m)DLne$nvg z-O0jEVRtspOgSmgv|ot+w2@DcmUn%R%`u~@O|_2q?3I3c{t*=>`IbSPnTJ7gYt^O9 z$7e&lu6=A17*iv9dC2}YonE~;Rk!Yoy=Gcg*4Z;N!ZjYKF}QIIg#)c}PLBzyl+xw! zhmBJXIb?+EZJ1^46g_50u+NUl@9b8^C!Se&R5QI#l@Z~qoyw3*Cl^f#arrbzx9_Q> zXLudvnV_NNn3`n29^EZQR(2P)GhCh}nXPyXi^qKQe6g#s3RBKvy6&5sEA`G-6+RBT zlbIf__iGImE7eZxA2>`NdU&EuPsba9eLgg-hu5LreG=5d9|vUg7qpK3bijGyz!Ude zQd=bG_CwD#0RF5e8gS3xm5I+yEFm9Go@@PEbQuP%ca!k1sxCH+|AvX5pBgRE@AWpx zzW=gat8AjvG_qG@Z2t5Jok6d+o_6ZHe8u9Z?@bwZS8Ji?X^p;rXJk9S4l-OZWQ_XQ z5eLy`+$xAdgtz_IZq+m3T^#WCuLOsu1H-2t(u-pe@9qoFb7E9tCU}i8$Wq_+PKEhxqUp#fN7ke!Mi2FOS$JTI+m3#F3^qmM z!LmniWaM6-3aw8yF+6s4`0_*H5BD!-m?uM$1$ECfjSR7@G=>*ALx1G`W^lBDO~qy2 zCp6Dn=)xZ4c_4ltdSl*YvC))AEfU=k+;N_?8#buxSgnJqZ+dHl})x@)AYGAux)rk02 z*GDG@zE4_NXROL=)oy2=#p@3}*E_hLhm}WVtLq_l9a3y-uk01jGRv*+Tpoj|r&*|O z-{z;|ZSa^;#mK!o)_<6}ys~j>IYYyv-fE8B6LCE8%;6V!&2Hg4*O@VS7{9Un>`MOd z%mH_YAv<5ZKQ+qs^CZ8%({{PcFKg0&z=Qd*(^fI>d*9MH?f=HVyotWW^Z@rdMtl5k zx-WQ{cuHkm-FqvR>;sruNZ>i+w6Gf=3k-%J{o1IN5rP(H_HeywTegZu)Z9i^SK= zW`iSZRLpigSi3pZ>in21GY0=2U&pjQb7nmmSa*9$Ia;UzB= zJhH6Jb0$Lxs8 zc3rG*n{hrF7nQe|FWlT28NytUle+ zCuj|Src;iK?m)-$SuRJCgJ)-ZEMv6W>vueEIX2#duh;0F#v;6bANS<)WIxZ!p&MUq zU3Wy~rq#qYgI(4np6saVT6smf_tjA~%C@M#^RG_+eQdw_IKSb zJC+T9!}HPdo3ne<@D;ln2)A@kejj*m?X0q)6+>%ujoLV`RbPjWOqPcRR%y6CKZK+dme8}YuTTJ4VyM<*CQ@>cV| z-bdYe@gGpA0kE@P8nI(FiuZaey23VZa}BHp0O%WX9*npl5K8Xy{o>6j>fXHN&!9W9@Y z+}5Q@=9yvY+s>(OY3**_X`soNp(CGV%*_mUz1ZNa=Cfb@d)i?Z6c)bqRqd10s|WaE zeR;lP`}~v}iGTIakA=r4 zbqVM{vm-O1r^%R0BMv+{tbW>X-SMfn=WmZN9JJwlSoQ{^6r;tnhg>yHIcnH9`&Ffw zqff%u92t3b!#+M9P+O8Rt7;xf&EZvS`}vCAaEIgAt;2Nf)U)H^_O1&oa4nz&Y~`W7 zK3{%3rh*nDMsC7S7X*0BRRL-Moq-8}53mn71Kb3j0!hGoAQQ*}J^;x8<=p@xfCIoP zU?R{Rs1DG^sM6mLW&!v`6PO1Gfww?TF@b2G1J(fjfGR(jDSirZ4jlMH1Go;H1O5OO z1O0%C@)U$GbbvWPDo|Yhmqj-g{HTwi{zgNde5L8!EdW1j0y#2}jkNQ?I6zkxMfkuN z2nJ;Ns<_kW8L|WD3aH7FuQaV-3&6MX{4d!i-k_WS(3YkM+w*|w06p7_+voD=KLhV2 z0CsJc{19}3{ zKz{y~m$x4EzIpz_<}`Ny1eAoY3*vDJa`XU7=MfUE9)9as1iwqRhj7sOW?TS!kN!dY z&$f@hAWtU=6Z|JH;VTQ^I3Vf6qF(<6da}j@TYs=NKyBd|Q2W2;eE6pWo2jYv#?~-j{iL@1A;|2hY2U-J7 zfJT5N&A3%-@hRZ{^kQK zzN6n+|I=7Qr6g1{9?)pm)v2TzpZ|Wnf=3;6V}m_5yW> z0Q4S!%lkjpw_HQ)DgC}b_>RU01A!MnVcWrd)UEb?HTjx5{ACK<2e|q|y4+#Zt;ABr zb#eH=KTH36hwxu{U~duIzz@+6kl%nfK-#BV;_pyzIPjHA5HAk@|8Or~;eThKu=~~M zS@2!Q1Mm}#^DhBhd@Wsu+KkLK4x|@{|9!q{WIsp*KCBJg0t)jypfTZhnHRuEG`~Lz zNc)vboa*Vxa{=;-!~dJ*@%!HC@FBgMI$X#$Ky$+qUmt*vRu%`Xx&ed z=K+;3k+ov@hTi482PA!4&^7sf9IInNA7&T6)c;?s1z*y$K#}JF zm0hEVt+|$kPuc;rr$XAl`Nh|Ar7u~o)c^lj1O8NWOh|o(Quh(TAGBZZo`SxoeVv7x zm!RH%`uYEl_r=cvnim`b6zKQ_>$HK6kQ`) z_BEBl#o&uNKn9RsKQEa_bAuv{Ls7r<{+DtW{7>tIimVmWzTzV9Er%~c6!1N@16L{0 z6^@qrU$)8MPkLXV$aCPBY)afx;RpIINAlh-=z1SF%K4Wn^}l@k!2gQAH!Re5M(_c> zhmTRf|F2Ot?;Wmu4GPWyoznhaj+x+pdUveI{sH>dOyRvR@Bw{`S?ONIb-4au{|5FCYg7@hoguJ7c2F@VkU!6>3c)2eLz=v)M58s3i!W`JUT^9FZI7-7KHEV zn^Ug--yw@SY_1NZaP&WY)TY`&JG|7mWh^f{lTJf;4ZvJPDx%|u1o#T#Y*3n zf$tUBFPe9DJ?uS50sqs#mMHKCdXs_Wg~VzFQsGc`yPXU~Onm~c} zDUJg0Kb=X%<^HEK{a6_wFV}tD&$#M_a%6AT_W!l;F?9C>nzA-7i4Z=ec>ve5>GJl8 zLrywVpNo(7bJYX%{>%QCwB;Gtq6JsG6}24vPv;YI=>yIaFUY0>(4I|6ndMzi;3^;J zmHPi5o6?+#&L>yeo@{x3fbZ#yN-qAVy`;3qs|Fy?-_q$#JJl#3^{}al6vu-3$c9f-l?`QIzvUGU_yVR6tx1y%Qr*u{= z*Yk?W_mepK>8m+oL2`oTW{z}~W!HZbo%^tjVL>)5Y(D%?XI680226w;bS5(w+Z|Oz z9?*2>NS6!mpRvqo*r!n6#}(uU`2HA2|F41!2RQoaw}SXe=7XjsN4h_wZ@KE^E@?Am zUBmb5IQpM_AIZ^AQx%a9G-+&El=A?&+VJ08?k#Mjly4>^eFNXq|1aRu|3`rT9e|4s zT_kyMxdvS?j~jp z^5G)O&sOGgVSO#D9(+&#(~67#>Dw&=7kgUD;>9%$Jm}phS6*D?`I*Y3!Zu3VPYK`C z|25<4f9eCc*s>W{U&|{8KK%i%&l@f>{Y+&FeO`{Vz2W=D9Q{wkl*s;9|q>(!MNg9QcINv2$G50{=2{;zsR9*%s({&l1WJ1sh`yieH^J2R z(mOyd_fwJ1665Oo(sD(&0Q`THF8)_&|3}faD5X$X3&8hW_kXy<_p}Fy zi~niurr7r{7FOrddS5I6-)jI|&jaWRpVA&cF8-%7ocDj0`s4dp0KRVua9R7KGUR*O zr$OrgT-w0+@1s>ISFRR-Psefee=5p}{|^&<&-MF{-CX4;E%$va0H5yS=>I5ILim3T z$NT>w%CXf-!yn87@Vg@4f937xgirf%^glf#>K3=!&_fN_p=69MZn?iVeb~za;QH*( z`+s5ZsUqKh7wg#{WJBnnsem3__5D};|F@#FA=qrP0(Q&${+oEB4bYiBT*iQrMUjz9 z-BSN^vC_9?U^lMkKg3DbhVOki`k(d-DeYaQv>X&K^}j5uh z?aa~t)JJ%*^@<}b^}pg)h0PS{`(>T~qyfKj-3vnR4HXxXV~tY(b2LTJro-P&(==a{g;KdGz3WHGt0e;nD_Z&rVf& zw2GPzozekC{QGY&OaHI!Brp=t=4wBbH3dEaT=b{&pH=gt4WBOM=znS>d22}d(JV|J z~=S0D1-44rSIVV5b8ACnS7I|NnvOzD(LbY+R6xg~^9bXBE)vXKVwc z(@S8mJo_P!&iqURxad!3gK|1|1U@|uaCrt$nPT}L5Ri2vN4>b{{%J#{r=7KQ_ zw1F_Hqs$-VH2}D-XZ_pnZ?5t`fKBLs{?ME+6yREq{s*K&?twphDByp34&=R0QixGL zg&}i@0y=WF#lOAW4cKI?f_CYdkC|m=!Jo7*=r0A@zzdWuFOygy6QN^Y1@-*5`?fgb zkA@8k^=&Eq*+~KaQy;Lmkgk?l4RWghv88Q*b3ZSu{j`^9T#kwGsUmX$Y6H$3NpmU& z-}fo?f1&*!%*n|46oNnN02u)JmJ4VvY3+PSDwGA^(^x0Cv<)cS253D|DSm)ImvQtx z+dgigJm)pcf*J($pmh#f3z5~om8QwI%hH1E$~7OpECa+V*ai-vym)^xS3dcbgYP>6 zT-Uk(>uut1*h;D2>cE$@Cd74JnC%Bv=jT&J^PtmEfb0J_`meSD`ai#RirSV-dHA2} zK5^Fn6e@MUD0CYF(6jBo>feI&{^oysaq%seGVmpx<#rvA^lw4e)Mt$4LZ53H_@3UE zKQCXSv__H7)4x6z_gw0?E!3n;t*FUG)Xp~6|fJWK1`M_ zil!|G9i^_9DMeY1L?Anj=@flmke`j{+j9?~SkIu~sGhhOWT^s71ByEKk<^=PCimMP zMdbV5WuXVXGg9=up`t1YD~S z3+P7sh~k0#?4XQ18gEm7d<^gfsDB;~bO-2v(2zeZfrdb1fYQ1GuD~3?4+sM81IoU? zW$8zJie=x9LJlf{!qBq}unbUSU$HEk{S0YjgT-W%5-|M_#R59h-tyzX&)~!c z$exWK%JEXdzy|c4(O>_ec0k|O7U{bjDHHzdqp$}L=mC&z3Ue?08|u)yDCzh^ui<{r z#su5Y+=|AC)HfE_T%jb}3XL6U9N7W*o~HfR@rJ$VEE+nGsJP}^#n}#?LT(!4ayoP6 zU+0_>6c{#C188ox14ssn({Dwg{RXn_1iAtFp0ibg=KHBw!LAxWXMoNtR_1zZVf}s^ za?qNM1EBs>8T((L3~Wwo@BIMs!Fho8loi&O1=V|(%Y)ipf8byLe)?bFVueJ6PiP)d z9iVkSTCb&dkOzPW;08d?WqO8u0BDVnK<{W%0Lr8HOG1F^P+d2GXjKD#x^a7s_?N;k zdS9--{1w3F|HRYvgoyuBAf1Qu3@@)hIx`D##*0lzVcJqWuY!;fA7jX8^978C0QoF| zY=+?r5oZacBTF1N`%(eScp}QrB}jQWIRe!Bl8-A?rCML&h!QCzi{n`ox68>9iT~zM zLGcyR&8PtBListl3`7(+LtMyc;4gyQxabQ*0aN))e)<=N3}f>p4n0sDf5E|wYKq0k zVt8y^Ky0!YJ{uQOJe|>C<0(`Pf7p0BX)I#w*mxERBx1bScs9j_Ob#2*Apr%Faacsa z`zIgQR3@)H>gIq(UR=aLe7%3-DU4Uv*KxZn$e33?on-qeZib|P@=-Ybi))}5e%Xu} zNdA)#W+@OMk6sR=2N5LW8X}1NPrl%rxbW+Iz7Qt(r@ZjnI863WzKAdQI?fYlh}#QX zPOVEM5hv#&uE*w+^HO-sKXEvV?xVbXQ2r_of{2^t<>yMC7thsPe%wneIT~2*PdaY* zMKd;=^@Ma>z$WCD7qW4)FZD%Iaq$g8X}S3@-T9~);YuyGhN_xFz{ zz9b-?*K1G;*)O-KIQTX$_&Oi{k}OaD%lV>}IQiSS@az0<+lzF2l4@^q+Gno*0u5@< ztVj8{*{Hp8CiW-p559_1A0c3~#n-uAAf+KreTIn5hjGv!k(<8!KpXv44&0a*r%o+TAvjCi zsj>NHImiPML2iN_#leInh&Y57yDsmKxL3`KQC%~M7zqd|B!0Qwc3uW(f62{lTM*Wc z5+I~mZYU-o%1wuLAdy%`3d9#?;zlJ-7F!2bPyve2j}@M6x_QtJHA&_4ikj%S)vL*7(C3JQH-WNi5vIEuQw7(Pjke%uPGk|M=q`tDQ>6`=? zMcXmg@{pU_JFP`Y`m-?C1)kL}Efe%2TeJY^JNSb7PkL5}pF7fY3LA&cv^GoMcIT(> z=>qcEx(`vVu%eJ18UP`HtTw==(HKH0=cPba(mgmI-CiSa06@=wR>y)uvqBpH6`>oU zACTYKd33g7k!%2csLdbFN3S!;t4z8eR78KJ?2&+ehQKL+^}BRP?V!;20(7EpROI<` zE$PhqQ9=C`KDU|WBOQ`{0NwM_y0h_b{wJU`4OwyML;buw-De^1t7;1BFCG(qMWBcg z=ugiHIwOtMTQXGWxd2`0`7ZAnH%peN-&=o@Dc1&)db8K`Y~(aPfF3GHVo-(F}dLns6W|2);N*o&flybK>q1~bi1cLUJd0cEs^n~=})3TPZ}%B znlDV35S{vNdbfHHkk-Fo$LA9I5%tft0nM2t+do~?I#S+R8f2$$JEe7}xQ(Qp^1J?l z^=~0Vf3krss}E$CHLs<2>THn$!yj0Gx({TnALNaTA^YEewEty}^W+)gN7bL?h5j@) zmc9q>QXb?sk)b=;q7LOt{*Yz|bd&?yCnaq|d2uf}G-T0kkFwT4p}(Vn?zE01tv|($ zL6`RXNXz*cX_BgouaQRMAnCFt6;B86qd=Q)1S=o`dQuyZwVp`2FOi|sK3ODD?zxPz zC8fV4pUsd%p|uU@Piv~uZD0}T$Xef+AxHl^KZyQhi%@{`zC`FgQ-=Purgue#PBO>m zD7Q~WSxLW?^z}+vev*|2-Dz!I+W(iK552RKmbOUANK>yGV~|isSl8rxtTmVlIf_Y4NL-}09kgFrdwQb@kUfh z*`%+bds7+uQ{PX|0BN~;OV=+b4jMFvCVS|82jtCV<;e-%on+`wx*r0h^`9w^&c8Js zy33jak?u4Gl-6J7`1jwcJIM|G_sa19V(8vqhWl)HIv;I-_hg{V53tIoOmEnK72U>770C-UQm$tFI_-d3L ztOWD~4O-)t`(6%t^433FvARJ|dUnUlu)zVg43`kRJ_7P|F3xm%ueA}VDJ>_`3S9rD zI?#Q(4E<@I(?FW0yf}E>0g6-4f@o)ezZW2G4+uHE|H#$99CVfS{woCO@>KpR9sK?W z6eMFwscwCkv%Mv-_(>*}% zKxOS`rFCCJdG*+I@T31%6D^0YEE!8WEeW#8^gXKs^pv;%;S}=Z_Oon#(5HFUrytY? z<5@Z7h0rm-{V!bCn#TTs`g7X@Yd^SP{a z=0Bw7HS5f9=8 zzI)-+FBL`(sssM?T#)x{l)N`+{a^-A2T+(D)d4JknE>s@k)$o_nq*RFpR>Y3iAovta3@~8~^UPin=Uz|FK4-pWb9Uv5ZIXggT|K)@N279ED zk;Q0=4@^j>(2Nc(z)31NWPpxi5QvX>;N!RyI*Nb}pur&s_I&*D%4USf#5prO3Wav* z8Wf7mQuHWH(PKlA8O75zM0ONrX$ZfBe4!V`v-yG?3UheUq4$?`Z=ML&F~ey%6p};~ z@{ma(BOQ9>rXx(De1z!~+6nnMCPEyF4`DzY3X0=m+vJFaz@;$vFb4s#KwQAeAt4{t zgS;YydOV>Qg(`fZ9fb^E^d-~~nTg{Xumq*U9_ivR{mVHuW?B3%f@I?`5&U3JuP>5( zIm`l_;RCWeNhE+MDPPVA`Eo{wnfTZX$bmXkovI3RPo4n3FK0xElj)oYE5H@VJ0}9G z$jUk=0&SU|^9F$U8HIVDHn0FV4cr50Ju(xZb0FyYK5z!`1)Kp>;Je-Tkozn^R%+~qPFh_ z(43oekj#_3ru|C_@q~=@o^}H80g%*#?in{l>;c}?W~A*-^R~SGW4O*werj(D?c-+U zgRJC>M^ZYFA2_uo@TGfIy1i51_|>=hi03Ci{V%UV_aTtADi9~71Kkh#-qXYrknU&5 z?qA7HwnAF5$xrlib&&Q0y?c{u7sy2YyJS12_AYPFb+O8ys{^$q>HA?WX~;uk0!iCPA})6wzXau{eo4A-^<(WwA!MO( zB;9kY{PZqHX1ihQA-_cIPy8T1wIj)ATq@#uV?M|-MM8Gcp}^-)Ny?wA13jlD+tCzC zha5DozXY(hr?4aC<@ZCG60<+a0oiG+At`?};v{=jK=N57LR>9B*(vWk$WP;?1PLAJ znPv((Xx&-T_R{x8FXT^^fd^9cBx%q$Wwa(Ms~(%?f&BhJ<$`R*=0o0f67rKToKfEw zkmTK$El(lxj!5N8mQ}_z>H0sQyd+;)*O0fbl>8+7843AlyjESZF5`z8~q-BtdLw3n~nCwk$hNXE!vMhUz{G}3Q*s{eHZesb$3L*bZ3HwvO zDcN`4lvM|1)PUV3q{CTRGO%fo{f3nM`L-Xn9%NSmMgo5qvmVhbPgx;kmux>IyX5^# z@qFh^$X5mE{hqVptU^7`}YiFVB0d?3t#o0@@RdJbjU5M|MZoR zpY-_Z`Sm^Il*beD_mQwY`G91nXE1Aj3fIZ2FPV@C2^tfDurmXRU zDP)%HgAx!gkT+p8j$osd+GYpanQ+6 zewyP|1auUHCdx~*633A)bNo!1kbR1j{DCrwNF;*ZDL~rplJPX;)7)DTkl*eC)c)#8 zu%o_5=KO`qKz3R4$0m~XrLRG66Cf$CvahLqECFcT-vp35f6UcEdj2kiUUKK}pw}Nz zw#>5V?FOGnDPCXAQF7&{^^^Bf?MUvqWS~c5!G}_GW${;b8nwr7)=zSEkhOj#w;h2_ z4}kovY#H;TH%GcHvvJs7*81Tiq*rCjNQRJ`?yJcqs6)Q%ha?+hm9>5wSAY)Pp+f?Y zpWTX@NAs5YlJ=8#4O#mDlFu}HHjp3kYfCh?asucXc^shrRhd{QPhMH+kd@xO(0ESr zxkl@wv@c0+za)#+_eg_`^jwzr{)qZkxxP?TUeIa^tOqtpVFTht8V{pBwWW7}q#x*- z)<^?^_CSH-C25_g4$u(@0*ID0ed5_ix?W-8pi|KM(*%@R2lNH11K-SnC=I9q^aJQw zDFUQrX5*KU$LU_>st@R~@2{nwaV$?ZqNVJHi%;%~ke`Q^R7mfL*05tZN?rXW|Lv^Sw(a2lNSC)KS>3}!& zQ#1#127G}tz0l@*<%+GwhUpPlpTfQZA1u#w52pR08LP-DqM_@-Gc1j^k*XHG3I1;xPU{f0=3%!N!g;)$Y=pur>|?^y zf(^YX?#(a@DU1XU3W-;4NH@Nh2wT1on&pOixuFI^IuHc^l!?(3NQJ^Lamv#W0kkzr zG9>zlvwUb@n1+z#!2T%6;f)X*r64ClvAkbG(R_rYPunjc=}JO~|HmG#vuL+i4nmL@ zc#)m##CFQFn-JuXpJ!Ll7u%WA01J?-2G|36`?SgxZl4y~1MSZo4A9(>_E&`hi9jYm z<5aqi0k!}`05Ydie&AUfhy>`~O9N&HOqoYA(0oqb*o)?f+kisv@dlqVz$)MqAbsC2 z2JQNQPcC*Mya-5t&rRPot^yP~ixB*30k>rEW#yoIx308-!KW-hYdPc}$$8-|#IZ}S z;2-E(1N1)%SYGs90*wdQI2#J`qXvF00XpA;_0elwTjy5?JV7TOr6J7A9dz0ED^-;uoNG@;UFLPY1Wd4$C zy~KMnovDvv`$;Mr0}#!N#G8J& zcF#>?c@-vn1{yN^8}O&TntVXK6LWd({K8$#-(Cs)N#=)u*rqIP3c;727sQ`4ni|Hl5ToZwIU z865!uK<_#W0|%BK8-l;2{aGFJ+8Y{H1`U z1g)?7UrL7zlFy%(Y*{u$eP@8>TbPiZIjaF%;H&3PF8_R=zo?@R&^lpZcuUqv&86|x z^EX$9Rj>nlZ?9u@XG7E*qXhn}EMJX3a{1GETXOvM&3ZKWj|L>)6SMRb32%bNH{-8d z8KlRb>mbutVTWz8T-JHqMnndi;GAGJMk}CF{t#MjiS-cB};Y;96GE zZ_-dsdj3JlX$dgnaU^TtPb zfF{FBsf=X`U>3mys0x_jqdc|@)=;dL3K-r(AWF#aBSrX*%>&CTc3FDq_>wJesY1xl zp>+x@ONiGh^42L-3tp#yo?QU{fJG~Z;vP%^G5}f=pmWV+j{C?as6*}Qe*oJ)MFDdb z*`SUiFa@CZ=hR345BRFxSL?a!%5fXtO`m>i|3fA|+{{4)LYBWe(od8w?5TDeUgK8p}PJ+-X16}^>b;EJvO5J-@p{05kPAK z_W)LYQEnQgp9Q*6UHYLe+4L^bJ^_wEIp8h8)|C~~eOx8CKKUgBae^bIA+!aK0a5ut z{2m5%+4>~I6sk`@q|+XVrn!*&eKhh}`N;-(_CvZoz&>~A**-u5^bTG8e}E9O_GA6m zA(y`~@(Oy#dl+TJ{-ZkJpVxkJX^?ER2FJ=FD-^e%-1^k^+4jrIVTAf^zrqrqu>mXA zP7avAv@g=Xn#ZBOA>ncnG{jpOKF5P|=Yv+5q~CY5>Kp5K@1#jK?sG0IEZE{||VTkb?jK literal 0 HcmV?d00001 diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..d489649 --- /dev/null +++ b/composer.json @@ -0,0 +1,42 @@ +{ + "name": "getkirby/plainkit", + "description": "Kirby Plainkit", + "type": "project", + "keywords": [ + "kirby", + "cms", + "plainkit" + ], + "authors": [ + { + "name": "Bastian Allgeier", + "email": "bastian@getkirby.com", + "homepage": "https://getkirby.com" + } + ], + "homepage": "https://getkirby.com", + "support": { + "email": "support@getkirby.com", + "forum": "https://forum.getkirby.com", + "source": "https://github.com/getkirby/plainkit" + }, + "require": { + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", + "getkirby/cms": "5.0.0-rc.4" + }, + "config": { + "allow-plugins": { + "getkirby/composer-installer": true + }, + "optimize-autoloader": true + }, + "extra": { + "kirby-cms-path": false + }, + "scripts": { + "start": [ + "Composer\\Config::disableProcessTimeout", + "@php -S localhost:8000 kirby/router.php" + ] + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..2ab6e5e --- /dev/null +++ b/composer.lock @@ -0,0 +1,1208 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "693e8e116d12f25f637fec623287f258", + "packages": [ + { + "name": "christian-riesen/base32", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/ChristianRiesen/base32.git", + "reference": "2e82dab3baa008e24a505649b0d583c31d31e894" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ChristianRiesen/base32/zipball/2e82dab3baa008e24a505649b0d583c31d31e894", + "reference": "2e82dab3baa008e24a505649b0d583c31d31e894", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.17", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^8.5.13 || ^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Base32\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Riesen", + "email": "chris.riesen@gmail.com", + "homepage": "http://christianriesen.com", + "role": "Developer" + } + ], + "description": "Base32 encoder/decoder according to RFC 4648", + "homepage": "https://github.com/ChristianRiesen/base32", + "keywords": [ + "base32", + "decode", + "encode", + "rfc4648" + ], + "support": { + "issues": "https://github.com/ChristianRiesen/base32/issues", + "source": "https://github.com/ChristianRiesen/base32/tree/1.6.0" + }, + "time": "2021-02-26T10:19:33+00:00" + }, + { + "name": "claviska/simpleimage", + "version": "4.2.1", + "source": { + "type": "git", + "url": "https://github.com/claviska/SimpleImage.git", + "reference": "ec6d5021e5a7153a2520d64c59b86b6f3c4157c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/claviska/SimpleImage/zipball/ec6d5021e5a7153a2520d64c59b86b6f3c4157c5", + "reference": "ec6d5021e5a7153a2520d64c59b86b6f3c4157c5", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "league/color-extractor": "0.4.*", + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "^1.5", + "phpstan/phpstan": "^1.10" + }, + "type": "library", + "autoload": { + "psr-0": { + "claviska": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cory LaViska", + "homepage": "http://www.abeautifulsite.net/", + "role": "Developer" + } + ], + "description": "A PHP class that makes working with images as simple as possible.", + "support": { + "issues": "https://github.com/claviska/SimpleImage/issues", + "source": "https://github.com/claviska/SimpleImage/tree/4.2.1" + }, + "funding": [ + { + "url": "https://github.com/claviska", + "type": "github" + } + ], + "time": "2024-11-22T13:25:03+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.3", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.3" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-09-19T14:15:21+00:00" + }, + { + "name": "filp/whoops", + "version": "2.18.0", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e", + "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.18.0" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2025-03-15T12:00:00+00:00" + }, + { + "name": "getkirby/cms", + "version": "5.0.0-rc.4", + "source": { + "type": "git", + "url": "https://github.com/getkirby/kirby.git", + "reference": "2e17f85e671dccb631e7c250ca618fe85fb8ae6f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/getkirby/kirby/zipball/2e17f85e671dccb631e7c250ca618fe85fb8ae6f", + "reference": "2e17f85e671dccb631e7c250ca618fe85fb8ae6f", + "shasum": "" + }, + "require": { + "christian-riesen/base32": "1.6.0", + "claviska/simpleimage": "4.2.1", + "composer/semver": "3.4.3", + "ext-ctype": "*", + "ext-curl": "*", + "ext-dom": "*", + "ext-filter": "*", + "ext-hash": "*", + "ext-iconv": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-simplexml": "*", + "filp/whoops": "2.18.0", + "getkirby/composer-installer": "^1.2.1", + "laminas/laminas-escaper": "2.17.0", + "michelf/php-smartypants": "1.8.1", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0", + "phpmailer/phpmailer": "6.10.0", + "symfony/polyfill-intl-idn": "1.32.0", + "symfony/polyfill-mbstring": "1.32.0", + "symfony/yaml": "7.3.0" + }, + "replace": { + "symfony/polyfill-php72": "*" + }, + "suggest": { + "ext-PDO": "Support for using databases", + "ext-apcu": "Support for the Apcu cache driver", + "ext-exif": "Support for exif information from images", + "ext-fileinfo": "Improved mime type detection for files", + "ext-intl": "Improved i18n number formatting", + "ext-memcached": "Support for the Memcached cache driver", + "ext-redis": "Support for the Redis cache driver", + "ext-sodium": "Support for the crypto class and more robust session handling", + "ext-zip": "Support for ZIP archive file functions", + "ext-zlib": "Sanitization and validation for svgz files" + }, + "type": "kirby-cms", + "extra": { + "unused": [ + "symfony/polyfill-intl-idn" + ] + }, + "autoload": { + "files": [ + "config/setup.php", + "config/helpers.php" + ], + "psr-4": { + "Kirby\\": "src/" + }, + "classmap": [ + "dependencies/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "proprietary" + ], + "authors": [ + { + "name": "Kirby Team", + "email": "support@getkirby.com", + "homepage": "https://getkirby.com" + } + ], + "description": "The Kirby core", + "homepage": "https://getkirby.com", + "keywords": [ + "cms", + "core", + "kirby" + ], + "support": { + "email": "support@getkirby.com", + "forum": "https://forum.getkirby.com", + "issues": "https://github.com/getkirby/kirby/issues", + "source": "https://github.com/getkirby/kirby" + }, + "funding": [ + { + "url": "https://getkirby.com/buy", + "type": "custom" + } + ], + "time": "2025-06-12T14:04:39+00:00" + }, + { + "name": "getkirby/composer-installer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/getkirby/composer-installer.git", + "reference": "c98ece30bfba45be7ce457e1102d1b169d922f3d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/getkirby/composer-installer/zipball/c98ece30bfba45be7ce457e1102d1b169d922f3d", + "reference": "c98ece30bfba45be7ce457e1102d1b169d922f3d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0" + }, + "require-dev": { + "composer/composer": "^1.8 || ^2.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Kirby\\ComposerInstaller\\Plugin" + }, + "autoload": { + "psr-4": { + "Kirby\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Kirby's custom Composer installer for the Kirby CMS and for Kirby plugins", + "homepage": "https://getkirby.com", + "support": { + "issues": "https://github.com/getkirby/composer-installer/issues", + "source": "https://github.com/getkirby/composer-installer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://getkirby.com/buy", + "type": "custom" + } + ], + "time": "2020-12-28T12:54:39+00:00" + }, + { + "name": "laminas/laminas-escaper", + "version": "2.17.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-escaper.git", + "reference": "df1ef9503299a8e3920079a16263b578eaf7c3ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/df1ef9503299a8e3920079a16263b578eaf7c3ba", + "reference": "df1ef9503299a8e3920079a16263b578eaf7c3ba", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-mbstring": "*", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "conflict": { + "zendframework/zend-escaper": "*" + }, + "require-dev": { + "infection/infection": "^0.29.8", + "laminas/laminas-coding-standard": "~3.0.1", + "phpunit/phpunit": "^10.5.45", + "psalm/plugin-phpunit": "^0.19.2", + "vimeo/psalm": "^6.6.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Laminas\\Escaper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", + "homepage": "https://laminas.dev", + "keywords": [ + "escaper", + "laminas" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-escaper/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-escaper/issues", + "rss": "https://github.com/laminas/laminas-escaper/releases.atom", + "source": "https://github.com/laminas/laminas-escaper" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2025-05-06T19:29:36+00:00" + }, + { + "name": "league/color-extractor", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/color-extractor.git", + "reference": "21fcac6249c5ef7d00eb83e128743ee6678fe505" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/color-extractor/zipball/21fcac6249c5ef7d00eb83e128743ee6678fe505", + "reference": "21fcac6249c5ef7d00eb83e128743ee6678fe505", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "php": "^7.3 || ^8.0" + }, + "replace": { + "matthecat/colorextractor": "*" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "^9.5" + }, + "suggest": { + "ext-curl": "To download images from remote URLs if allow_url_fopen is disabled for security reasons" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\ColorExtractor\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mathieu Lechat", + "email": "math.lechat@gmail.com", + "homepage": "http://matthecat.com", + "role": "Developer" + } + ], + "description": "Extract colors from an image as a human would do.", + "homepage": "https://github.com/thephpleague/color-extractor", + "keywords": [ + "color", + "extract", + "human", + "image", + "palette" + ], + "support": { + "issues": "https://github.com/thephpleague/color-extractor/issues", + "source": "https://github.com/thephpleague/color-extractor/tree/0.4.0" + }, + "time": "2022-09-24T15:57:16+00:00" + }, + { + "name": "michelf/php-smartypants", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/michelf/php-smartypants.git", + "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/michelf/php-smartypants/zipball/47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", + "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Michelf": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Michel Fortin", + "email": "michel.fortin@michelf.ca", + "homepage": "https://michelf.ca/", + "role": "Developer" + }, + { + "name": "John Gruber", + "homepage": "https://daringfireball.net/" + } + ], + "description": "PHP SmartyPants", + "homepage": "https://michelf.ca/projects/php-smartypants/", + "keywords": [ + "dashes", + "quotes", + "spaces", + "typographer", + "typography" + ], + "support": { + "issues": "https://github.com/michelf/php-smartypants/issues", + "source": "https://github.com/michelf/php-smartypants/tree/1.8.1" + }, + "time": "2016-12-13T01:01:17+00:00" + }, + { + "name": "phpmailer/phpmailer", + "version": "v6.10.0", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "bf74d75a1fde6beaa34a0ddae2ec5fce0f72a144" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/bf74d75a1fde6beaa34a0ddae2ec5fce0f72a144", + "reference": "bf74d75a1fde6beaa34a0ddae2ec5fce0f72a144", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "doctrine/annotations": "^1.2.6 || ^1.13.3", + "php-parallel-lint/php-console-highlighter": "^1.0.0", + "php-parallel-lint/php-parallel-lint": "^1.3.2", + "phpcompatibility/php-compatibility": "^9.3.5", + "roave/security-advisories": "dev-latest", + "squizlabs/php_codesniffer": "^3.7.2", + "yoast/phpunit-polyfills": "^1.0.4" + }, + "suggest": { + "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", + "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", + "ext-openssl": "Needed for secure SMTP sending and DKIM signing", + "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", + "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-only" + ], + "authors": [ + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" + }, + { + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" + }, + { + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" + }, + { + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "support": { + "issues": "https://github.com/PHPMailer/PHPMailer/issues", + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.10.0" + }, + "funding": [ + { + "url": "https://github.com/Synchro", + "type": "github" + } + ], + "time": "2025-04-24T15:19:31+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.32.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-10T14:38:51+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-23T08:48:59+00:00" + }, + { + "name": "symfony/yaml", + "version": "v7.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "cea40a48279d58dc3efee8112634cb90141156c2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/cea40a48279d58dc3efee8112634cb90141156c2", + "reference": "cea40a48279d58dc3efee8112634cb90141156c2", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v7.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-04-04T10:10:33+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "getkirby/cms": 5 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" + }, + "platform-dev": {}, + "plugin-api-version": "2.6.0" +} diff --git a/content/error/error.txt b/content/error/error.txt new file mode 100644 index 0000000..f53a747 --- /dev/null +++ b/content/error/error.txt @@ -0,0 +1,5 @@ +Title: Error + +---- + +Uuid: wyYX9J9OPTuG14Vk \ No newline at end of file diff --git a/content/home/home.txt b/content/home/home.txt new file mode 100644 index 0000000..f0a1245 --- /dev/null +++ b/content/home/home.txt @@ -0,0 +1,5 @@ +Title: Home + +---- + +Uuid: N7ZiykL2AQxWubuT \ No newline at end of file diff --git a/content/site.txt b/content/site.txt new file mode 100644 index 0000000..b1f98d7 --- /dev/null +++ b/content/site.txt @@ -0,0 +1 @@ +Title: Site Title \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..f9905dd --- /dev/null +++ b/index.php @@ -0,0 +1,9 @@ + [ + 'index' => __DIR__ + ] +]))->render(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..dfcd182 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1152 @@ +{ + "name": "kirby-composer", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "kirby-composer", + "version": "1.0.0", + "dependencies": { + "@tailwindcss/cli": "^4.1.10", + "tailwindcss": "^4.1.10" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "license": "MIT", + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@tailwindcss/cli": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/cli/-/cli-4.1.10.tgz", + "integrity": "sha512-TuO7IOUpTG1JeqtMQbQXjR4RIhfZ43mor/vpCp3S5X9h0WxUom5NYgxfNO0PiFoLMJ6/eYCelC7KGvUOmqqK6A==", + "license": "MIT", + "dependencies": { + "@parcel/watcher": "^2.5.1", + "@tailwindcss/node": "4.1.10", + "@tailwindcss/oxide": "4.1.10", + "enhanced-resolve": "^5.18.1", + "mri": "^1.2.0", + "picocolors": "^1.1.1", + "tailwindcss": "4.1.10" + }, + "bin": { + "tailwindcss": "dist/index.mjs" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.10.tgz", + "integrity": "sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.30.1", + "magic-string": "^0.30.17", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.10" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.10.tgz", + "integrity": "sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.10", + "@tailwindcss/oxide-darwin-arm64": "4.1.10", + "@tailwindcss/oxide-darwin-x64": "4.1.10", + "@tailwindcss/oxide-freebsd-x64": "4.1.10", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.10", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.10", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.10", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.10", + "@tailwindcss/oxide-linux-x64-musl": "4.1.10", + "@tailwindcss/oxide-wasm32-wasi": "4.1.10", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.10", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.10" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.10.tgz", + "integrity": "sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.10.tgz", + "integrity": "sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.10.tgz", + "integrity": "sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.10.tgz", + "integrity": "sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.10.tgz", + "integrity": "sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.10.tgz", + "integrity": "sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.10.tgz", + "integrity": "sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.10.tgz", + "integrity": "sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.10.tgz", + "integrity": "sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.10.tgz", + "integrity": "sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@emnapi/wasi-threads": "^1.0.2", + "@napi-rs/wasm-runtime": "^0.2.10", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.10.tgz", + "integrity": "sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.10.tgz", + "integrity": "sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide/node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/lightningcss": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss/node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.10.tgz", + "integrity": "sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..94cc3be --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "kirby-composer", + "version": "1.0.0", + "description": "Kirby Composer Template", + + "dependencies": { + "@tailwindcss/cli": "^4.1.10", + "tailwindcss": "^4.1.10" + }, + + "scripts": { + "watch": "npx @tailwindcss/cli -i ./src/css/input.css -o ./assets/css/styles.css --content './site/**/*.php' --watch", + "build": "npx @tailwindcss/cli -i ./src/css/input.css -o ./assets/css/styles.css --content './site/**/*.php'" +} +} \ No newline at end of file diff --git a/site/accounts/index.html b/site/accounts/index.html new file mode 100644 index 0000000..e69de29 diff --git a/site/blueprints/pages/default.yml b/site/blueprints/pages/default.yml new file mode 100644 index 0000000..0cb0129 --- /dev/null +++ b/site/blueprints/pages/default.yml @@ -0,0 +1,21 @@ +title: Default Page + +columns: + main: + width: 2/3 + sections: + fields: + type: fields + fields: + text: + type: textarea + size: huge + sidebar: + width: 1/3 + sections: + pages: + type: pages + template: default + files: + type: files + diff --git a/site/blueprints/site.yml b/site/blueprints/site.yml new file mode 100644 index 0000000..b7da661 --- /dev/null +++ b/site/blueprints/site.yml @@ -0,0 +1,5 @@ +title: Site + +sections: + pages: + type: pages diff --git a/site/cache/index.html b/site/cache/index.html new file mode 100644 index 0000000..e69de29 diff --git a/site/sessions/index.html b/site/sessions/index.html new file mode 100644 index 0000000..e69de29 diff --git a/site/snippets/footer.php b/site/snippets/footer.php new file mode 100644 index 0000000..fb740a4 --- /dev/null +++ b/site/snippets/footer.php @@ -0,0 +1,23 @@ + + + + + diff --git a/site/snippets/header.php b/site/snippets/header.php new file mode 100644 index 0000000..7ee9229 --- /dev/null +++ b/site/snippets/header.php @@ -0,0 +1,51 @@ + + + + + + + + + + + <?= $site->title()->esc() ?> | <?= $page->title()->esc() ?> + + + + + + + + + diff --git a/site/templates/default.php b/site/templates/default.php new file mode 100644 index 0000000..18294c3 --- /dev/null +++ b/site/templates/default.php @@ -0,0 +1,66 @@ +title()`. + + This default template must not be removed. It is used whenever Kirby + cannot find a template with the name of the content file. + + Snippets like the header and footer contain markup used in + multiple templates. They also help to keep templates clean. + + More about templates: https://getkirby.com/docs/guide/templates/basics + */ +?> + + + + + +
+

Willkommen auf meiner Webseite!

+ +

+ Dies ist ein Beispielinhalt für Ihre Webseite. Der Text ist in einem zentralen Container eingefasst, + der die Breite begrenzt, um die Lesbarkeit zu verbessern und das Design ansprechender zu gestalten. + Probieren Sie, die Größe Ihres Browserfensters zu ändern, um zu sehen, wie sich der Inhalt anpasst. +

+ +

+ Tailwind CSS ermöglicht es uns, schnell und effizient modernes Design zu erstellen, + ohne benutzerdefiniertes CSS schreiben zu müssen. Alle Stile werden direkt in der HTML-Klasse definiert, + was die Entwicklung beschleunigt und die Wartung vereinfacht. +

+ +

Einige Vorteile von Tailwind CSS:

+
    +
  • Schnelle Entwicklung dank Utility-First-Ansatz
  • +
  • Hochgradig anpassbar
  • +
  • Responsives Design out-of-the-box
  • +
  • Geringere CSS-Dateigröße in Produktionsumgebungen (nach Purging)
  • +
+ +

+ Fügen Sie hier Ihren eigenen Inhalt hinzu, um Ihre Webseite individuell zu gestalten. + Ob Texte, Bilder oder interaktive Elemente – alles passt perfekt in diesen responsiven Container. +

+
+ + + diff --git a/src/css/input.css b/src/css/input.css new file mode 100644 index 0000000..a461c50 --- /dev/null +++ b/src/css/input.css @@ -0,0 +1 @@ +@import "tailwindcss"; \ No newline at end of file