longlink 0.3.2__tar.gz → 0.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {longlink-0.3.2 → longlink-0.3.4}/PKG-INFO +2 -4
- {longlink-0.3.2 → longlink-0.3.4}/README.md +1 -3
- longlink-0.3.4/longlink/.static/web/assets/BottomSheet-CxNlMxZR.js +1 -0
- longlink-0.3.4/longlink/.static/web/assets/ProgressBarMarkTooltip-DDKQbltk.js +1 -0
- longlink-0.3.4/longlink/.static/web/assets/Solution-BKH7UI-m.js +114 -0
- longlink-0.3.4/longlink/.static/web/assets/Tooltip-DobdkMDB.js +1 -0
- longlink-0.3.4/longlink/.static/web/assets/entry.client-iN1Tafgv.js +1 -0
- longlink-0.3.4/longlink/.static/web/assets/errorBoundaries-CK-j-LjU.js +16 -0
- longlink-0.3.4/longlink/.static/web/assets/jsx-runtime-B-hcVAMW.js +1 -0
- longlink-0.3.4/longlink/.static/web/assets/manifest-0fcfae5b.js +1 -0
- longlink-0.3.4/longlink/.static/web/assets/padding.stylex-CvF2NRrK.js +1 -0
- longlink-0.3.4/longlink/.static/web/assets/preload-helper-C45pQD5M.js +9 -0
- longlink-0.3.4/longlink/.static/web/assets/root-8_jcuY_k.css +2 -0
- longlink-0.3.4/longlink/.static/web/assets/root-DdsOSApb.js +46 -0
- longlink-0.3.4/longlink/.static/web/assets/use-toast-WUWulATi.js +4 -0
- longlink-0.3.4/longlink/.static/web/index.html +6 -0
- longlink-0.3.4/longlink/.static/xsd/adapters/MoreMenu.xsd +25 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Option.xsd +7 -2
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Text.xsd +5 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/schema.xsd +1 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/app.py +11 -15
- {longlink-0.3.2 → longlink-0.3.4}/longlink/database/base.py +2 -5
- {longlink-0.3.2 → longlink-0.3.4}/longlink/database/env.py +3 -2
- {longlink-0.3.2 → longlink-0.3.4}/longlink/database/urls.py +2 -6
- longlink-0.3.4/longlink/routes/__init__.py +34 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/shared/migrations.py +5 -5
- {longlink-0.3.2 → longlink-0.3.4}/longlink/utils/settings.py +1 -1
- {longlink-0.3.2 → longlink-0.3.4}/longlink.egg-info/PKG-INFO +2 -4
- {longlink-0.3.2 → longlink-0.3.4}/longlink.egg-info/SOURCES.txt +14 -10
- {longlink-0.3.2 → longlink-0.3.4}/longlink.egg-info/scm_file_list.json +1 -0
- longlink-0.3.4/longlink.egg-info/scm_version.json +8 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/database/test_audit.py +1 -1
- {longlink-0.3.2 → longlink-0.3.4}/tests/database/test_base.py +15 -18
- {longlink-0.3.2 → longlink-0.3.4}/tests/database/test_migrations.py +5 -5
- {longlink-0.3.2 → longlink-0.3.4}/tests/storage/test_base.py +1 -0
- longlink-0.3.2/longlink/.static/web/assets/ProgressBarMarkTooltip-CDQ3upZg.js +0 -1
- longlink-0.3.2/longlink/.static/web/assets/Solution-gpDpT9dx.js +0 -115
- longlink-0.3.2/longlink/.static/web/assets/Tooltip-DpjpE4MP.js +0 -1
- longlink-0.3.2/longlink/.static/web/assets/entry.client-COBiR8UQ.js +0 -1
- longlink-0.3.2/longlink/.static/web/assets/errorBoundaries-Du0n-GjH.js +0 -16
- longlink-0.3.2/longlink/.static/web/assets/jsx-runtime-Cck7hqlM.js +0 -9
- longlink-0.3.2/longlink/.static/web/assets/manifest-a644e8ed.js +0 -1
- longlink-0.3.2/longlink/.static/web/assets/root-By-pkRQa.js +0 -39
- longlink-0.3.2/longlink/.static/web/assets/root-aW2PE30e.css +0 -2
- longlink-0.3.2/longlink/.static/web/assets/use-toast-DZ65iWhs.js +0 -4
- longlink-0.3.2/longlink/.static/web/index.html +0 -6
- longlink-0.3.2/longlink/routes/__init__.py +0 -31
- longlink-0.3.2/longlink.egg-info/scm_version.json +0 -8
- {longlink-0.3.2 → longlink-0.3.4}/LICENSE +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/ci/github/.github/actions/setup-python/action.yml +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/ci/github/.github/workflows/release.yml +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/ci/github/.github/workflows/tests.yml +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/.env.sample +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/.gitignore +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/AGENTS.md +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/README.md +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/main.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/migrations/20260713_0001_initial.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/pyproject.toml +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/src/envs.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/src/models/items.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/src/routes/items.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/src/schemas/items.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/src/views/items/[item].xml +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/src/views/items.xml +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/new/tests/test_app.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-devanagari-400-normal-Dy6c0U2e.woff2 +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-devanagari-400-normal-Dyzod-UE.woff +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-devanagari-700-normal-B52CSkpd.woff +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-devanagari-700-normal-BeU_-hjz.woff2 +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-latin-400-normal-Bl-H2BUA.woff +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-latin-400-normal-BthBl_aR.woff2 +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-latin-700-normal-7TSuSrjP.woff +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-latin-700-normal-D2H-9ISU.woff2 +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-latin-ext-400-normal-AcQmRO9z.woff +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-latin-ext-400-normal-DtcdGa4L.woff2 +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-latin-ext-700-normal-BA-KJHgr.woff +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/assets/kalam-latin-ext-700-normal-CwgfRD_T.woff2 +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/web/favicon.ico +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Action.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Avatar.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Badge.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Button.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Card.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/CheckboxInput.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/CodeBlock.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Dialog.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Divider.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/FileInput.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/For.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Grid.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/GridSpan.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Heading.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Icon.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Link.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Longlink.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Menu.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/NumberInput.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/ProgressBar.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Query.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/RadioList.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Selector.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Slider.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Stack.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/StackItem.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/State.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/StatusBadge.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Switch.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/TabList.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/Table.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/TextArea.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/adapters/TextInput.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/.static/xsd/types.xsd +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/__init__.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/__main__.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/cli/build.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/cli/dev.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/cli/errors.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/cli/init.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/cli/main.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/cli/migrate.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/cli/ui.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/constants.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/context.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/database/audit.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/database/migrations.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/database/script.py.mako +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/database/types.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/errors.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/identity.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/logger.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/middleware.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/shared/alembic/env.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/shared/alembic/versions/20260713_0001_initial.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/shared/audit.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/shared/models.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/storage/base.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/storage/tls.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/utils/environments.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/utils/time.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/utils/xml.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink/views.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink.egg-info/dependency_links.txt +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink.egg-info/entry_points.txt +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink.egg-info/requires.txt +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/longlink.egg-info/top_level.txt +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/pyproject.toml +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/setup.cfg +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/cli/test_build.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/cli/test_dev.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/cli/test_init.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/cli/test_main.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/conftest.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/database/__init__.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/database/test_types.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/shared/conftest.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/shared/test_migrations.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/shared/test_models.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/test_app.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/test_context.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/test_identity.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/test_logger.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/test_middleware.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/test_router.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/test_views.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/utils/test_environments.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/tests/utils/test_xml.py +0 -0
- {longlink-0.3.2 → longlink-0.3.4}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: longlink
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: Python SDK for building and packaging LongLink Solutions.
|
|
5
5
|
Author-email: LongLink SAGL <info@longlink.ch>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -91,9 +91,7 @@ uv run pytest --cov --cov-report=term-missing
|
|
|
91
91
|
|
|
92
92
|
## Database TLS
|
|
93
93
|
|
|
94
|
-
Production PostgreSQL connections
|
|
95
|
-
|
|
96
|
-
Without a certificate, `LONGLINK_DATABASE_SSLMODE` defaults to `require` (encryption without server authentication). Standalone runtimes can select `verify-full` to use asyncpg's root-certificate configuration or `disable` for local PostgreSQL. Development and testing continue to use SQLite and ignore PostgreSQL settings.
|
|
94
|
+
Production PostgreSQL connections require `LONGLINK_DATABASE_CERTIFICATE` containing a PEM CA certificate. The SDK verifies both the server certificate chain and hostname. Development and testing continue to use SQLite and ignore PostgreSQL settings.
|
|
97
95
|
|
|
98
96
|
<br/>
|
|
99
97
|
<br/>
|
|
@@ -52,9 +52,7 @@ uv run pytest --cov --cov-report=term-missing
|
|
|
52
52
|
|
|
53
53
|
## Database TLS
|
|
54
54
|
|
|
55
|
-
Production PostgreSQL connections
|
|
56
|
-
|
|
57
|
-
Without a certificate, `LONGLINK_DATABASE_SSLMODE` defaults to `require` (encryption without server authentication). Standalone runtimes can select `verify-full` to use asyncpg's root-certificate configuration or `disable` for local PostgreSQL. Development and testing continue to use SQLite and ignore PostgreSQL settings.
|
|
55
|
+
Production PostgreSQL connections require `LONGLINK_DATABASE_CERTIFICATE` containing a PEM CA certificate. The SDK verifies both the server certificate chain and hostname. Development and testing continue to use SQLite and ignore PostgreSQL settings.
|
|
58
56
|
|
|
59
57
|
<br/>
|
|
60
58
|
<br/>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,i as t,n,t as r}from"./jsx-runtime-B-hcVAMW.js";import{B as i,W as a,b as o,c as s,v as c}from"./padding.stylex-CvF2NRrK.js";import{Gt as l,Lt as u}from"./use-toast-WUWulATi.js";var d=e(n(),1);function f(e,t,n=!0){let r=(0,d.useRef)(!1);(0,d.useEffect)(()=>{n&&!r.current&&(r.current=!0)},[e,t,n])}var p={settle(){},release(){}};function m(e){if(typeof window>`u`||typeof document>`u`)return p;let t=document.documentElement,n=t.clientWidth;if(n===0)return p;let r=t.style.scrollbarGutter,i=e.style.paddingRight,a=e.getBoundingClientRect().width,o=!1,s=!1,c=!1;return window.innerWidth>n&&(t.style.scrollbarGutter=`stable`,o=!0),{settle(){if(c)return;c=!0;let t=e.getBoundingClientRect().width-a;if(t<=0)return;let n=Number.parseFloat(window.getComputedStyle(e).paddingRight)||0;e.style.paddingRight=`${n+t}px`,s=!0},release(){s&&=(e.style.paddingRight=i,!1),o&&=(t.style.scrollbarGutter=r,!1)}}}var h=0,g=null;function _(e){(0,d.useEffect)(()=>{if(!e)return;let{body:t}=document;if(h===0){let e=window.scrollX,n=window.scrollY,r=m(t);g={scrollX:e,scrollY:n,overflow:t.style.overflow,position:t.style.position,top:t.style.top,left:t.style.left,right:t.style.right,gutter:r},t.style.overflow=`hidden`,t.style.position=`fixed`,t.style.top=`-${n}px`,t.style.left=`0`,t.style.right=`0`,r.settle()}return h+=1,()=>{if(--h,h!==0||g==null)return;let e=g;g=null,t.style.overflow=e.overflow,t.style.position=e.position,t.style.top=e.top,t.style.left=e.left,t.style.right=e.right,e.gutter.release(),window.scrollTo(e.scrollX,e.scrollY)}},[e])}var v=/^(\d+(?:\.\d+)?|\.\d+)(px|%)$/i;function y(e,t){if(typeof e==`number`)return Number.isFinite(e)&&e>0&&e<=1?e*t:null;let n=v.exec(e.trim());if(n===null)return null;let r=Number.parseFloat(n[1]);return r>0?n[2].toLowerCase()===`%`?r/100*t:r:null}function ee(e){return y(e,1)!==null}function b(e,t){let n=[];for(let r of e){let e=y(r,t);e!==null&&n.push(e)}return n}function x(e,t,n=48){let r=[0,...t.filter(t=>t>0&&t<e).map(t=>e-t)].sort((e,t)=>e-t),i=[];for(let e of r){let t=i[i.length-1];(t===void 0||e-t>=n)&&i.push(e)}return i}function S(e,t){return t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0])}var C=.3;function w(e,t){if(e.length<2||t<=0)return null;let n=e[e.length-1];return t-n<=.25*t?n:null}function T(e,t,n,r){let i=r!==null,a=i?t[t.length-2]:t[t.length-1],o=i?r:n,s=i?C:0;return e<=a?1:e>=o?s:1-(1-s)*((e-a)/(o-a))}function E(e,t,n,r){let i=t;if(n>0){let e=t.filter(e=>e>=r);e.length>0&&(i=e)}else if(n<0){let e=t.filter(e=>e<=r);e.length>0&&(i=e)}return S(e,i)}var D=`--_sheet-keyboard-inset`,O=new Set([`button`,`checkbox`,`color`,`file`,`hidden`,`image`,`radio`,`range`,`reset`,`submit`]);function k(){return window.visualViewport?.height??window.innerHeight}function A(){return k()>=window.innerHeight-.5}function j(){let e=window.navigator.userAgent;return/iPad|iPhone|iPod/.test(e)||e.includes(`Macintosh`)&&window.navigator.maxTouchPoints>1}function M(e){return e instanceof HTMLTextAreaElement?!e.disabled&&!e.readOnly:e instanceof HTMLInputElement?!e.disabled&&!e.readOnly&&!O.has((e.getAttribute(`type`)??`text`).toLowerCase()):e instanceof HTMLElement&&e.matches(`[contenteditable]:not([contenteditable="false"])`)}function N(e,t){if(!(e instanceof Element))return null;let n=e.closest(`input, textarea, [contenteditable]:not([contenteditable="false"])`);if(t.contains(n)&&M(n))return n;let r=e.closest(`label`),i=r instanceof HTMLLabelElement?r.control:null;return t.contains(i)&&M(i)?i:null}function P({bodyRef:e,bottomClearance:t,isEnabled:n,isFullyExpanded:r,isPageScrollLocked:i,isSheetTraveling:a,isOpen:o,isPresented:s,sheetRef:c}){let l=(0,d.useRef)(!1),u=(0,d.useRef)(!1),f=(0,d.useRef)(r),p=(0,d.useRef)(o);f.current=r,p.current=o,(0,d.useEffect)(()=>{if(!n||!a)return;let e=c.current,t=document.activeElement;e&&t instanceof HTMLElement&&t!==e&&e.contains(t)&&(u.current=l.current,e.focus({preventScroll:!0}))},[n,a,c]),(0,d.useEffect)(()=>{if(!n||!s||o)return;let e=c.current,t=document.activeElement;e&&t instanceof HTMLElement&&t!==e&&e.contains(t)&&(u.current=l.current,t.blur())},[n,o,s,c]),(0,d.useEffect)(()=>{let r=e.current,a=c.current;if(!n||!s||!r)return;let o=null,d=null,m=j(),h=()=>{r.style.setProperty(D,`0px`),o=null,d=null,l.current=!1,u.current=!1},g=(e,t)=>{if(typeof r.scrollBy!=`function`){r.scrollTop+=e;return}let n=typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;r.scrollBy({top:e,behavior:t&&!n?`smooth`:`instant`})},_=(e,n)=>{let i=r.getBoundingClientRect(),a=e.getBoundingClientRect(),o=k(),s=Math.max(0,i.bottom-o)>0?t:0,c=i.top,l=Math.min(i.bottom,o-s);l<=c||(a.bottom>l?g(a.bottom-l,n):a.top<c&&g(a.top-c,n))},v=e=>{let n=k();if(A()){h();return}if(Math.max(0,e.bodyBottom-n)===0){h();return}let i=Math.max(0,e.bodyBottom-(n-t));r.style.setProperty(D,`${i}px`)},y=e=>{if(!f.current)return;let t=N(e.relatedTarget,r);if(t){t!==document.activeElement&&t.focus({preventScroll:!0});return}let n=N(e.target,r);p.current&&n&&!e.relatedTarget&&a?.focus({preventScroll:!0})},ee=()=>{let e=document.activeElement;if(!f.current||!(e instanceof HTMLElement)||!r.contains(e)||!M(e)){if(u.current&&o){v(o);return}h();return}u.current=!1;let n=r.getBoundingClientRect(),a=k(),s=Math.max(0,n.bottom-a),c=s>0?t:0;o=s>0?{bodyBottom:n.bottom}:null,i&&s>0&&!l.current&&(d={x:window.scrollX,y:window.scrollY}),l.current=s>0;let p=s>0?Math.max(0,n.bottom-(a-c)):0;r.style.setProperty(D,`${p}px`),_(e,s>0)},b=0,x=()=>{cancelAnimationFrame(b),b=requestAnimationFrame(ee)},S=()=>{let e=d;if(e==null||window.scrollX===e.x&&window.scrollY===e.y)return;window.scrollTo(e.x,e.y);let t=document.activeElement;t instanceof HTMLElement&&r.contains(t)&&M(t)&&_(t,!1)},C=typeof ResizeObserver>`u`?null:new ResizeObserver(x),w=()=>{if(!C)return;C.disconnect();let e=new Set([r]);a&&e.add(a);for(let t of r.children)e.add(t);let t=document.activeElement;if(t instanceof HTMLElement&&r.contains(t))for(let n=t;n&&n!==r;n=n.parentElement)e.add(n);for(let t of e)C.observe(t)},T=typeof MutationObserver>`u`?null:new MutationObserver(e=>{e.every(e=>e.type===`attributes`&&e.target===r)||(w(),x())}),E=()=>{w(),x()},O=()=>{u.current=l.current,x()},P=e=>{e.target===a&&e.propertyName===`transform`&&x()},F=window.visualViewport;return m&&document.addEventListener(`blur`,y,!0),r.addEventListener(`focusin`,E),r.addEventListener(`focusout`,O),a?.addEventListener(`transitionend`,P),F?.addEventListener(`resize`,x),F?.addEventListener(`scroll`,x),window.addEventListener(`scroll`,S),window.addEventListener(`resize`,x),T?.observe(r,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),w(),x(),()=>{cancelAnimationFrame(b),m&&document.removeEventListener(`blur`,y,!0),r.removeEventListener(`focusin`,E),r.removeEventListener(`focusout`,O),a?.removeEventListener(`transitionend`,P),F?.removeEventListener(`resize`,x),F?.removeEventListener(`scroll`,x),window.removeEventListener(`scroll`,S),window.removeEventListener(`resize`,x),C?.disconnect(),T?.disconnect(),r.style.removeProperty(D),l.current=!1,u.current=!1}},[e,t,n,i,s,c])}var F=1.2,te=48,I=.4,L=40;function ne(e){return e.syntheticTouch===!0}var re=.35,ie=4,ae=8;function oe(){typeof navigator>`u`||typeof navigator.vibrate!=`function`||de()||navigator.vibrate(8)}function se(e,t){let n=t[0],r=Math.abs(e-n);for(let i of t){let t=Math.abs(e-i);t<r&&(r=t,n=i)}if(r>=L)return e;let i=r/L,a=1-i*i;return e+(n-e)*a}function ce(e,t,n){return Math.max(0,e-t-n)}function le(e){let t=Number.parseFloat(getComputedStyle(e).paddingBlockEnd);return Number.isFinite(t)?t:0}function ue(e){if(!e)return 0;let t=le(e);return Math.max(0,e.scrollHeight-e.clientHeight-t)-e.scrollTop}function R(e,t,n){return Math.max(0,e-n-t)}function de(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}function fe({isOpen:e,canDismiss:t=!0,offscreenBlockEndInset:n=0,onDismiss:r,snapHeights:i,onSnap:a,onScrimOpacity:o}){let[s,c]=(0,d.useState)(0),[u,f]=(0,d.useState)(0),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(0),[_,v]=(0,d.useState)(0),[y,ee]=(0,d.useState)(0),b=(0,d.useRef)(0),S=(0,d.useRef)(0),[C,D]=(0,d.useState)(null),[O,k]=(0,d.useState)(!1),A=(0,d.useRef)(0),j=(0,d.useRef)(null),M=(0,d.useRef)(null),N=(0,d.useRef)(n);N.current=Math.max(0,n);let P=(0,d.useCallback)(e=>{let t=Math.max(0,e);b.current=t,ee(t)},[]),L=(0,d.useCallback)(e=>{let t=Math.max(0,e);Math.abs(t-A.current)>.5&&(A.current=t,v(t))},[]),fe=(0,d.useCallback)(()=>{k(!0),j.current=null,D(null);let e=M.current;M.current=null,e!=null&&L(e)},[L]),z=(0,d.useCallback)((e,t,n,r,i,a,o)=>{let s=ce(e,n,a);if(o&&Math.abs(r-t)>.5&&!de()){M.current=s,j.current=i,D(i);return}M.current=null,j.current=null,D(null),k(Math.abs(i-n)>.5),L(s)},[L]),B=(0,d.useRef)(0);B.current=p?s:u;let pe=(0,d.useRef)(e);pe.current=e;let me=(0,d.useRef)(i);me.current=i;let he=(0,d.useRef)(r),ge=(0,d.useRef)(t),_e=(0,d.useRef)(a),V=(0,d.useRef)(o);(0,d.useEffect)(()=>{he.current=r,ge.current=t,_e.current=a,V.current=o});let H=(0,d.useRef)(null),U=(0,d.useRef)(0),W=(0,d.useRef)(null),G=(0,d.useRef)(null),K=(0,d.useRef)(null);(0,d.useLayoutEffect)(()=>{if(!O)return;W.current?.offsetHeight;let e=requestAnimationFrame(()=>{k(!1)});return()=>cancelAnimationFrame(e)},[O]);let q=(0,d.useCallback)(e=>{e<=0||!pe.current||B.current>0||(U.current=e,g(t=>t===e?t:e))},[]),ve=(0,d.useCallback)(e=>{if(K.current?.disconnect(),K.current=null,W.current=e,!e||typeof ResizeObserver>`u`){e&&q(e.getBoundingClientRect().height);return}q(e.getBoundingClientRect().height);let t=new ResizeObserver(e=>{let t=e[0];if(t){let e=t.borderBoxSize?.[0]?.blockSize;q(e??t.target.getBoundingClientRect().height)}});t.observe(e),K.current=t},[q]);(0,d.useEffect)(()=>()=>K.current?.disconnect(),[]),(0,d.useEffect)(()=>{e&&(c(0),f(0),m(!1),k(!1),P(0),S.current=0,A.current=0,j.current=null,M.current=null,v(0),D(null))},[e,P]);let J=(0,d.useCallback)(()=>U.current>0?U.current:W.current?.getBoundingClientRect().height??0,[]),Y=(0,d.useCallback)(e=>{let t=R(e,0,N.current),n=x(t,me.current?.()??[]);return{offsets:n,peekOffset:w(n,t)}},[]),ye=(0,d.useCallback)(()=>{let e=W.current;if(!e)return U.current;let t=e.style.height;if(t===``)return e.getBoundingClientRect().height;e.style.height=``;let n=e.getBoundingClientRect().height;return e.style.height=t,n},[]),X=(0,d.useCallback)(()=>{if(!pe.current||H.current!=null||j.current!=null)return;let e=ye();if(e<=0)return;let{offsets:t,peekOffset:n}=Y(e),r=Math.min(S.current,t.length-1),i=t[r],a=i===n?0:i,o=b.current;if(e===U.current&&Math.abs(i-B.current)<=.5&&Math.abs(a-o)<=.5)return;U.current=e,g(e),S.current=r,z(o,i,a,i,o,ue(G.current),!1),P(a),f(i),_e.current?.(R(e,i,N.current));let s=t[t.length-1],c=R(e,s,N.current);V.current?.(T(i,t,s+c*I,n))},[ye,z,P,Y]);(0,d.useEffect)(()=>{if(!(!e||typeof window>`u`))return window.addEventListener(`resize`,X),window.addEventListener(`orientationchange`,X),()=>{window.removeEventListener(`resize`,X),window.removeEventListener(`orientationchange`,X)}},[e,X]);let Z=(0,d.useRef)(!1);(0,d.useLayoutEffect)(()=>{if(!Z.current){Z.current=!0;return}X()},[X,i]);let Q=(0,d.useCallback)(e=>{let t=H.current;if(t==null)return;H.current=null,e?.hasPointerCapture?.(t.pointerId)&&e.releasePointerCapture(t.pointerId),c(t.baseOffset),m(!1),z(t.baseLayoutOffset,t.baseOffset,t.baseLayoutOffset,t.renderedOffset,t.layoutOffset,t.naturalEndGap,!0);let{offsets:n,peekOffset:r}=Y(t.height),i=n[n.length-1],a=i+R(t.height,i,N.current)*I;V.current?.(T(t.baseOffset,n,a,r))},[z,Y]);(0,d.useEffect)(()=>{let e=()=>Q(),t=()=>{document.visibilityState===`hidden`&&Q()};return window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,t)}},[Q]);let be=(0,d.useCallback)((e,t,n,r,i,a,o,s,l,u)=>{let{offsets:d,peekOffset:p}=Y(n),m=d[d.length-1],h=R(n,m,N.current),g=Math.abs(t)>F&&i>te,_=e=>{let t=e===p?0:e;z(o,e,t,s,l,u,!0),P(t),S.current=Math.max(0,d.indexOf(e)),f(e),_e.current?.(R(n,e,N.current));let r=m+h*I;V.current?.(T(e,d,r,p)),e!==a&&oe()};if(r>0&&g){ge.current?(z(o,a,o,o,o,u,!1),he.current()):_(m);return}if(r<0&&g){z(o,0,0,s,l,u,!0),P(0),S.current=0,c(0),f(0),_e.current?.(R(n,0,N.current)),V.current?.(1),oe();return}if(e>m+h*I){ge.current?(z(o,a,o,o,o,u,!1),he.current()):_(m);return}_(E(e,d,r,a))},[z,P,Y]),$=(0,d.useCallback)((e,t,n)=>{let r=e.currentTarget,i=ne(e);i||r.setPointerCapture?.(e.pointerId);let a=n??e.clientY,o=ue(G.current),s=b.current;H.current={syntheticTouch:i,pointerId:e.pointerId,startCoord:a,lastCoord:e.clientY,lastTime:e.timeStamp,velocity:0,height:t,baseOffset:u,baseLayoutOffset:s,renderedOffset:u,layoutOffset:s,naturalEndGap:o},L(ce(s,s,o)),c(u),m(!0)},[u,L]),xe=(0,d.useCallback)(e=>{e.button===0&&e.isPrimary&&(e.preventDefault(),$(e,J()))},[$,J]),Se=(0,d.useCallback)(e=>{H.current!=null&&(e.preventDefault(),Q(e.currentTarget))},[Q]),Ce=(0,d.useCallback)(e=>{H.current?.syntheticTouch||H.current?.pointerId===e.pointerId&&Q()},[Q]),we=(0,d.useCallback)(e=>{let t=H.current;if(!t||t.pointerId!==e.pointerId||t.syntheticTouch&&!ne(e))return;let n=e.clientY-t.startCoord,r=e.timeStamp-t.lastTime;r>0&&(t.velocity=(e.clientY-t.lastCoord)/r,t.lastCoord=e.clientY,t.lastTime=e.timeStamp);let{offsets:i,peekOffset:a}=Y(t.height),o=t.baseOffset+n,s=i[i.length-1],l;l=o<0?Math.max(-48,o*re):o>s?o:se(o,i);let u=l<t.baseOffset?0:t.baseLayoutOffset;t.renderedOffset=l,t.layoutOffset=u,c(l),L(ce(t.baseLayoutOffset,u,t.naturalEndGap));let d=i[i.length-1],f=d+R(t.height,d,N.current)*I;V.current?.(T(l,i,f,a))},[Y,L]),Te=(0,d.useCallback)(e=>{let t=H.current;if(!t||t.pointerId!==e.pointerId||t.syntheticTouch&&!ne(e))return;let n=e.currentTarget,r=e.clientY-t.startCoord,i=Math.max(0,t.baseOffset+r),a=r===0?0:r>0?1:-1;H.current=null,t.syntheticTouch||n.releasePointerCapture?.(e.pointerId),m(!1),be(i,t.velocity,t.height||1,a,Math.abs(r),t.baseOffset,t.baseLayoutOffset,t.renderedOffset,t.layoutOffset,t.naturalEndGap)},[be]),Ee=(0,d.useRef)(null),De=(0,d.useCallback)(e=>{if(e.button!==0||!e.isPrimary)return;let t=e.currentTarget;if(t.scrollTop>0){Ee.current=null;return}Ee.current={pointerId:e.pointerId,startCoord:e.clientY,scroller:t}},[]),Oe=(0,d.useCallback)(e=>{if(H.current){we(e);return}let t=Ee.current;if(!t||t.pointerId!==e.pointerId)return;let n=e.clientY-t.startCoord;n>ae&&t.scroller.scrollTop<=0?(Ee.current=null,$(e,J(),t.startCoord),we(e)):n<0&&(Ee.current=null)},[$,we,J]),ke=(0,d.useCallback)(e=>{Ee.current=null,!H.current?.syntheticTouch&&H.current&&Te(e)},[Te]),Ae=(0,d.useRef)(null),je=(0,d.useRef)(null),Me=(0,d.useRef)($),Ne=(0,d.useRef)(Q),Pe=(0,d.useRef)(we),Fe=(0,d.useRef)(Te),Ie=(0,d.useRef)(J);(0,d.useEffect)(()=>{Me.current=$,Ne.current=Q,Pe.current=we,Fe.current=Te,Ie.current=J});let Le=(0,d.useCallback)(e=>{let t=(e,t)=>({syntheticTouch:!0,pointerId:e.identifier,clientY:e.clientY,timeStamp:Date.now(),currentTarget:t,setPointerCapture:()=>{},releasePointerCapture:()=>{}}),n=e=>e.scrollTop<=0,r=e=>e.scrollTop+e.clientHeight>=e.scrollHeight-1,i=e=>{let t=e.currentTarget,i=e.changedTouches[0];if(!i){Ae.current=null;return}let a=n(t),o=r(t)&&B.current>0;Ae.current={id:i.identifier,startY:i.clientY,top:a,bottom:o,contentEndY:null,promotedAtContentEnd:!1}},a=e=>{let i=e.currentTarget,a=Ae.current;if(H.current){let n=[...e.changedTouches].find(e=>e.identifier===H.current?.pointerId);if(!n)return;if(a?.promotedAtContentEnd&&a.contentEndY!=null){if(n.clientY>=a.contentEndY){a.contentEndY=null,a.promotedAtContentEnd=!1,Ne.current(i);return}Pe.current(t(n,i));return}e.preventDefault(),Pe.current(t(n,i));return}if(!a)return;let o=[...e.changedTouches].find(e=>e.identifier===a.id);if(!o)return;let s=o.clientY-a.startY,c=a.top&&s>ae&&n(i),l=a.bottom&&s<-8&&r(i);if(c||l){e.preventDefault(),Ae.current=null,Me.current(t(o,i),Ie.current(),a.startY),Pe.current(t(o,i));return}(a.top&&s<0||a.bottom&&s>0)&&(a.top=!1,a.bottom=!1),B.current>0&&r(i)?a.contentEndY==null?a.contentEndY=o.clientY:a.contentEndY-o.clientY>=ie&&(a.promotedAtContentEnd=!0,Me.current(t(o,i),Ie.current(),a.contentEndY),Pe.current(t(o,i))):a.contentEndY=null},o=e=>{Ae.current=null;let n=H.current?.pointerId;if(n==null)return;let r=[...e.changedTouches].find(e=>e.identifier===n),i=e.currentTarget;r?Fe.current(t(r,i)):e.touches.length===0&&Ne.current(i)},s=G.current;if(s&&je.current){let e=je.current;s.removeEventListener(`touchstart`,e.start),s.removeEventListener(`touchmove`,e.move),s.removeEventListener(`touchend`,e.end),s.removeEventListener(`touchcancel`,e.end)}G.current=e,e?(e.addEventListener(`touchstart`,i,{passive:!0}),e.addEventListener(`touchmove`,a,{passive:!1}),e.addEventListener(`touchend`,o,{passive:!0}),e.addEventListener(`touchcancel`,o,{passive:!0}),je.current={start:i,move:a,end:o}):je.current=null},[]),Re=l(`(prefers-reduced-motion: reduce)`),ze=(0,d.useCallback)(e=>{if(A.current<=0)return;let t=le(e),n=Math.max(0,e.scrollHeight-e.clientHeight-t),r=Math.max(0,e.scrollTop-n);r<A.current-.5&&L(r)},[L]),Be=(0,d.useCallback)(e=>{H.current==null&&j.current==null&&ze(e.currentTarget)},[ze]),Ve=p?s:u;return{sheetRef:ve,contentProps:(0,d.useMemo)(()=>({style:{transform:Ve===0?void 0:`translateY(${Ve}px)`,transition:e&&(p||O||Re)?`none`:void 0,touchAction:`none`,overscrollBehavior:`contain`}}),[Ve,p,e,O,Re]),handleProps:(0,d.useMemo)(()=>({style:{touchAction:`none`,cursor:`grab`},onContextMenu:Se,onLostPointerCapture:Ce,onPointerDown:xe,onPointerMove:we,onPointerUp:Te,onPointerCancel:Te}),[Te,Se,Ce,xe,we]),bodyProps:(0,d.useMemo)(()=>({ref:Le,onContextMenu:Se,onLostPointerCapture:Ce,onPointerDown:De,onPointerMove:Oe,onPointerUp:ke,onPointerCancel:ke,onScroll:Be}),[Le,ke,De,Oe,Be,Se,Ce]),bodyElementRef:G,dragOffset:s,settledOffset:u,isDragging:p,sheetHeight:h,scrollPreservationInset:_,settlingLayoutOffset:C,settledLayoutOffset:y,completeScrollAreaSettle:fe}}var z=r(),B={hug:`92dvh`,capped:`62dvh`,tall:`92dvh`},pe=48,me=48,he=50;i[`--spacing-6`];function ge(){return typeof window>`u`?0:window.innerHeight}function _e(e){let t=``;for(let n of e??[])t+=`${typeof n}:${n}|`;return t}var V={sheet:{kfzvcC:`x67bb7w`,kB7OPa:`x9f619`,kVAEAm:`x1n2onr6`,k1xSpc:`x78zum5`,kXwgrk:`xdt5ytf`,kAzted:`x2lwn1j`,kzqmXN:`xh8yej3`,ks0D6T:`x11gisft`,kWkggS:`x10xzikg`,kEafiO:`x11xkdxz`,kPef9Z:`x13fuv20`,kLZC3w:`x1pc3f07`,k2ei4v:`xgbv0en`,kVhnKS:`x1t7ytsu`,kGJrpR:`x1j92z86`,ke9TFa:`xw8tdv1`,k8ry5P:`x18b5jzi`,kBCPoo:`x1gejf6u`,krdFHd:`x81l70g`,kfmiAY:`x7hs6f1`,kGVxlE:`x1kcpxr7`,kI3sdo:`x1a2a7pz`,kVQacm:`xb3r6kr`,kGO01o:`x1wkw6tp`,k1K539:`x1if0o47`,k3aq6I:`xnn1q72 xhbqy3z`,kSiTet:`x1hc1fzr`,k1ekBW:`xwcsmn1`,kIyJzY:`x80gvsz`,kAMwcw:`xlr8y92`,k6sLGO:`x1q1rmc8`,k6CgDc:`xzg1mie`,$$css:!0},sheetClosing:{k3aq6I:`x1weeur4`,kAMwcw:`xv2sgk5`,$$css:!0},sheetFading:{kSiTet:`xg01cxk`,$$css:!0},sheetInactive:{kfzvcC:`x47corl`,$$css:!0},budget:{kZKoxP:`x1tpcejd`,$$css:!0},hugHeight:{kZKoxP:`xg7h5cd`,kskxy:`x14bu9tk`,$$css:!0}};function H(e){return e.kind===`open`?e.entering?`entering`:null:e.kind===`retained`?e.motion===`covered`?null:e.motion:e.kind===`exiting`?`exiting`:null}function U(e,t,n){if(e==null)return n(),()=>{};let r=!1,i=null,a=()=>{r||(r=!0,i!=null&&clearTimeout(i),e.removeEventListener(`transitionend`,o),e.removeEventListener(`transitioncancel`,o),n())},o=n=>{n.target===e&&n.propertyName===t&&a()};e.addEventListener(`transitionend`,o),e.addEventListener(`transitioncancel`,o);let s=getComputedStyle(e);if(e.style.transition.trim()===`none`||s.transition.trim()===`none`)return a(),()=>{};let c=s.transitionProperty.split(`,`).map(e=>e.trim()),l=s.transitionDuration.split(`,`).map(W),u=s.transitionDelay.split(`,`).map(W),d=!1,f=c.reduce((e,n,r)=>{if(n!==t&&n!==`all`)return e;let i=l[r%l.length],a=u[r%u.length];return i==null||a==null?(d=!0,e):Math.max(e,i+a)},0);return d?()=>{e.removeEventListener(`transitionend`,o),e.removeEventListener(`transitioncancel`,o)}:f<=0?(a(),()=>{}):(i=setTimeout(a,f+he),()=>{i!=null&&clearTimeout(i),e.removeEventListener(`transitionend`,o),e.removeEventListener(`transitioncancel`,o)})}function W(e){let t=e.trim();if(!/^-?(?:\d+|\d*\.\d+)(?:ms|s)$/.test(t))return null;let n=Number.parseFloat(e);return t.endsWith(`ms`)?n:n*1e3}function G({ref:e,state:t,height:n,children:r,snapPoints:i,className:c,style:l,tabIndex:p,xstyle:m,isSwipeDismissAllowed:h=!0,isPageScrollLocked:g=!1,onDismiss:_,onScrimOpacity:v,onElementChange:y,onMotionStart:x,onMotionComplete:S,...C}){let w=(0,d.useRef)(null),T=(0,d.useRef)(t),E=(0,d.useRef)(!1),D=(0,d.useRef)(x),O=(0,d.useRef)(S),k=(0,d.useRef)(null),A=(0,d.useRef)(null),j=t.kind===`open`&&t.entering,M=T.current,N=M.kind===`open`&&M.entering;j&&!N?E.current=M.kind===`retained`:j||(E.current=!1),(0,d.useLayoutEffect)(()=>{T.current=t,D.current=x,O.current=S},[S,x,t]);let F=t.kind===`open`,te=t.kind!==`hidden`,I=t.kind===`retained`,L=I||t.kind===`exiting`,ne=t.kind===`exiting`,re=I&&t.motion===`fading`,ie=I?t.alignmentOffset:0,ae=_e(i),oe=(0,d.useRef)(i);oe.current=i;let{snapHeights:se,ignoredSnapPointsMessage:ce}=(0,d.useMemo)(()=>{if(ae===``)return{snapHeights:void 0,ignoredSnapPointsMessage:``};let e=(oe.current??[]).filter(e=>!ee(e));return{snapHeights:()=>b(oe.current??[],ge()),ignoredSnapPointsMessage:e.length===0?``:`snapPoints ignored ${JSON.stringify(e)}. A snap point is a viewport fraction above 0 and up to 1 (0.5 is half the screen), a px length ('320px'), or a percentage ('50%').`}},[ae]);f(`BottomSheet`,ce,ce!==``);let{contentProps:le,handleProps:ue,bodyProps:R,bodyElementRef:de,sheetRef:he,dragOffset:W,settledOffset:G,isDragging:K,sheetHeight:q,scrollPreservationInset:ve,settlingLayoutOffset:J,settledLayoutOffset:Y,completeScrollAreaSettle:ye}=fe({isOpen:F,canDismiss:h,offscreenBlockEndInset:pe,onDismiss:_,snapHeights:se,onScrimOpacity:v}),X=(0,d.useCallback)(e=>{he(e),w.current=e,y?.(e)},[y,he]);P({bodyRef:de,bottomClearance:me,isEnabled:n===`tall`,isFullyExpanded:G===0,isPageScrollLocked:g,isSheetTraveling:K&&W!==G,isOpen:F,isPresented:te,sheetRef:w}),(0,d.useImperativeHandle)(e,()=>w.current,[]);let Z=H(t);(0,d.useLayoutEffect)(()=>{if(Z!=null){if(k.current=null,A.current=null,Z===`entering`&&E.current){A.current=Z;return}return U(w.current,Z===`fading`?`opacity`:`transform`,()=>{k.current===Z?O.current?.(Z):A.current=Z})}},[Z]),(0,d.useLayoutEffect)(()=>{if(J!=null)return U(w.current,`transform`,ye)},[ye,J]),(0,d.useEffect)(()=>{if(Z!=null)return D.current?.(Z),k.current=Z,A.current===Z&&(A.current=null,O.current?.(Z)),()=>{k.current===Z&&(k.current=null),A.current===Z&&(A.current=null)}},[Z]);let Q=typeof n==`string`&&n in B?B[n]:typeof n==`number`?`${n}px`:n,be=q>0,$=le.style.transform,xe;if(be){let e=K?W<G?0:Y:J??Y,t=(K?W:G)-e;xe=e>0||K||J!=null?`${Math.max(0,q-Math.max(0,e))}px`:void 0,$=t===0?void 0:`translateY(${t}px)`}let Se=ie>0?[$,`translateY(${ie}px)`].filter(Boolean).join(` `):$,Ce={...le.style,transform:$,height:xe};return(0,z.jsxs)(`div`,{...C,ref:X,tabIndex:p??-1,...u(o(`bottom-sheet`),a(V.sheet,s.reset,n===`hug`?V.hugHeight:V.budget,ne&&V.sheetClosing,re&&V.sheetFading,L&&V.sheetInactive,m),c,{"--_sheet-budget":Q,...F?Ce:I?{transform:Se,height:xe}:ne?{height:xe}:{},...l}),children:[(0,z.jsx)(`div`,{className:`x10l6tqk x13vifvy x1o0tod xtijo5x x1vjfegm x78zum5 x6s0dn4 xl56j7k xvpftlf xafqdz2 x5ve5x3 x1jm3nie x16khyan`,...ue,"aria-hidden":`true`,children:(0,z.jsx)(`div`,{className:`x1m747yf x11c6zpc xjspbzw x1m4xfpy`})}),(0,z.jsx)(`div`,{...u({0:{className:`x1iyjqo2 x2lwn1j x9f619 x1odjw0f x8du1vd xx69xxh x10xzikg x18d9i69`},1:{className:`x1iyjqo2 x2lwn1j x9f619 x1odjw0f x8du1vd xx69xxh x10xzikg x18d9i69 xrw9175 x1s928wv xhkezso xu6fald x2q1x1w`}}[(n===`tall`)<<0],ve>0?{style:{paddingBlockEnd:`${ve}px`}}:{}),...R,children:r})]})}G.displayName=`BottomSheetPanel`;function K(){return(0,z.jsx)(`div`,{className:`xixxii4 x17y0mx6 x1ey2m1c x1kpxq89 x10xzikg xhtitgo x47corl x1cb67k9 xt2iwb0`,"data-sheet-edge-tint":``,"aria-hidden":`true`})}var q=(0,d.createContext)(null);q.displayName=`BottomSheetSwitcherContext`;var ve=t({BottomSheet:()=>Z});function J(e,t){switch(e){case`active`:return{kind:`open`,entering:!1};case`entering`:return{kind:`open`,entering:!0};case`covered`:case`aligning`:case`fading`:return{kind:`retained`,motion:e,alignmentOffset:t};case`exiting`:return{kind:`exiting`};case`hidden`:return{kind:`hidden`}}}function Y(e,t){let n=document.activeElement;if(n!=null&&e?.contains(n))return;let r=e?.querySelector(`[data-autofocus]`);r==null?t&&e?.focus({preventScroll:!0}):r.focus({preventScroll:!0})}function ye({ref:e,isOpen:t,onOpenChange:n,label:r,children:i,height:a=`capped`,snapPoints:o,hasScrim:s=!0,finalFocusRef:l,purpose:u=`info`,xstyle:p,...m}){let h=(0,d.useRef)(null),g=(0,d.useRef)(null),v=(0,d.useRef)(null),[y,ee]=(0,d.useState)(t),b=t||y,x=t?{kind:`open`,entering:!1}:y?{kind:`exiting`}:{kind:`hidden`},S=(0,d.useCallback)(()=>{u!==`required`&&n(!1)},[n,u]),C=(0,d.useCallback)(()=>{u===`info`&&n(!1)},[n,u]),w=(0,d.useCallback)(e=>{g.current=e},[]),T=(0,d.useCallback)(e=>{h.current?.style.setProperty(`--_sheet-scrim-opacity`,String(e))},[]);(0,d.useEffect)(()=>{let e=h.current;e!=null&&t&&(ee(!0),e.style.setProperty(`--_sheet-scrim-opacity`,`1`),e.open||(s?(v.current=document.activeElement,e.showModal()):e.show(),Y(g.current,s)))},[s,t]),(0,d.useEffect)(()=>{!t&&y&&s&&T(0)},[T,s,t,y]);let E=(0,d.useCallback)(e=>{if(e!==`exiting`||t)return;let n=h.current;n?.open&&n.close(),ee(!1),(l?.current??v.current)?.focus(),v.current=null},[l,t]);_(b&&s),f(`BottomSheet`,"requires a non-empty `label` for an accessible name; the open sheet has no built-in heading to derive one from.",t&&!r);let D=(0,d.useCallback)(e=>{e.preventDefault(),S()},[S]),O=(0,d.useCallback)(e=>{e.key===`Escape`&&(e.preventDefault(),!c(e.nativeEvent)&&S())},[S]),k=(0,d.useCallback)(e=>{s&&e.target===e.currentTarget&&C()},[C,s]);return(0,z.jsxs)(`dialog`,{...{0:{className:`xixxii4 x10a8y8t x1o6l61p xtdtrs8 x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1s85apg x1a2a7pz`},8:{className:`xixxii4 x10a8y8t x1o6l61p xtdtrs8 x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1a2a7pz x1lliihq`},4:{className:`xixxii4 x10a8y8t x1o6l61p xtdtrs8 x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1s85apg x1a2a7pz xnixb3f xni466t xxiuuzi xc0dz0a xft5bk6 x15h3t91 x142juwg x1viac0w`},12:{className:`xixxii4 x10a8y8t x1o6l61p xtdtrs8 x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1a2a7pz x1lliihq xnixb3f xni466t xxiuuzi xc0dz0a xft5bk6 x15h3t91 x142juwg x1viac0w`},2:{className:`xixxii4 x10a8y8t x1o6l61p xtdtrs8 x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1s85apg x1a2a7pz x1cz9k3x`},10:{className:`xixxii4 x10a8y8t x1o6l61p xtdtrs8 x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1a2a7pz x1lliihq x1cz9k3x`},6:{className:`xixxii4 x10a8y8t x1o6l61p xtdtrs8 x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1s85apg x1a2a7pz xnixb3f xni466t xxiuuzi xc0dz0a xft5bk6 x142juwg x1viac0w x1cz9k3x`},14:{className:`xixxii4 x10a8y8t x1o6l61p xtdtrs8 x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1a2a7pz x1lliihq xnixb3f xni466t xxiuuzi xc0dz0a xft5bk6 x142juwg x1viac0w x1cz9k3x`},1:{className:`xixxii4 x10a8y8t x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1s85apg x1a2a7pz x47corl xfo81ep xh8yej3 x5yr21d`},9:{className:`xixxii4 x10a8y8t x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1a2a7pz x1lliihq x47corl xfo81ep xh8yej3 x5yr21d`},5:{className:`xixxii4 x10a8y8t x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1s85apg x1a2a7pz xnixb3f xni466t xxiuuzi xc0dz0a xft5bk6 x15h3t91 x142juwg x1viac0w x47corl xfo81ep xh8yej3 x5yr21d`},13:{className:`xixxii4 x10a8y8t x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1a2a7pz x1lliihq xnixb3f xni466t xxiuuzi xc0dz0a xft5bk6 x15h3t91 x142juwg x1viac0w x47corl xfo81ep xh8yej3 x5yr21d`},3:{className:`xixxii4 x10a8y8t x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1s85apg x1a2a7pz x1cz9k3x x47corl xfo81ep xh8yej3 x5yr21d`},11:{className:`xixxii4 x10a8y8t x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1a2a7pz x1lliihq x1cz9k3x x47corl xfo81ep xh8yej3 x5yr21d`},7:{className:`xixxii4 x10a8y8t x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1s85apg x1a2a7pz xnixb3f xni466t xxiuuzi xc0dz0a xft5bk6 x142juwg x1viac0w x1cz9k3x x47corl xfo81ep xh8yej3 x5yr21d`},15:{className:`xixxii4 x10a8y8t x1x1rfll x7ab17h x1ghz6dp x1717udv xjbqb8w x1rea2x4 x1a2a7pz x1lliihq xnixb3f xni466t xxiuuzi xc0dz0a xft5bk6 x142juwg x1viac0w x1cz9k3x x47corl xfo81ep xh8yej3 x5yr21d`}}[!!b<<3|!!s<<2|!!(s&&!t&&y)<<1|!s<<0],ref:h,"aria-label":r,"aria-hidden":!t&&y?`true`:void 0,"aria-modal":s&&t?`true`:void 0,role:u===`required`?`alertdialog`:void 0,inert:!t&&y?!0:void 0,onCancel:D,onClick:k,onKeyDown:O,children:[(0,z.jsx)(`div`,{className:`x10l6tqk x17y0mx6 x1ey2m1c x78zum5 xl56j7k x47corl`,children:(0,z.jsx)(G,{...m,ref:e,state:x,height:a,snapPoints:o,isSwipeDismissAllowed:u===`info`,isPageScrollLocked:b&&s,xstyle:p,onDismiss:C,onScrimOpacity:T,onElementChange:w,onMotionComplete:E,children:i})}),(0,z.jsx)(K,{})]})}function X({switcher:e,ref:t,sheetId:n,label:r,children:i,height:a=`capped`,snapPoints:o,purpose:s=`info`,xstyle:c,...l}){let{activeSheet:u,hasScrim:p,onActiveSheetChange:m,getSheetPhase:h,getSheetAlignmentOffset:g,registerSheetElement:_,registerSheetLabel:v,registerSheetPurpose:y,onSheetEnterStart:ee,onSheetTransitionComplete:b,onSheetScrimOpacityChange:x}=e,S=typeof n==`string`&&n.length>0,C=S?h(n):`hidden`,w=J(C,S?g(n):0),T=C===`active`||C===`entering`,E=C===`covered`||C===`aligning`||C===`fading`||C===`exiting`,D=C!==`hidden`,O=C===`active`||C===`entering`,k=(0,d.useRef)(null),A=(0,d.useRef)(C),j=A.current,M=(0,d.useRef)(!1);(0,d.useLayoutEffect)(()=>{A.current=C},[C]);let N=(0,d.useCallback)(()=>{s===`info`&&S&&u===n&&m(null)},[u,S,m,s,n]),P=(0,d.useCallback)(e=>{k.current=e,S&&_(n,e)},[S,_,n]),F=(0,d.useCallback)(e=>{e===`entering`&&S&&ee(n)},[S,ee,n]),te=(0,d.useCallback)(e=>{S&&b({sheetId:n,phase:e})},[S,b,n]),I=(0,d.useCallback)(e=>{S&&x(n,e)},[S,x,n]);return(0,d.useLayoutEffect)(()=>{if(S)return v(n,r),()=>v(n,null)},[S,r,v,n]),(0,d.useLayoutEffect)(()=>{if(S)return y(n,s),()=>y(n,null)},[S,s,y,n]),(0,d.useEffect)(()=>{if(T){let e=j===`active`||j===`entering`;(!M.current||!e)&&Y(k.current,p),M.current=!0}else C===`hidden`&&(M.current=!1)},[p,T,C,j]),f(`BottomSheet`,"requires a non-empty `label` for an accessible name; the open sheet has no built-in heading to derive one from.",T&&!r),(0,z.jsx)(`div`,{...{0:{className:`x10l6tqk x17y0mx6 x1ey2m1c x78zum5 xl56j7k x47corl`},2:{className:`x10l6tqk x17y0mx6 x1ey2m1c xl56j7k x47corl x1s85apg`},1:{className:`x10l6tqk x17y0mx6 x1ey2m1c x78zum5 xl56j7k x47corl x1vjfegm`},3:{className:`x10l6tqk x17y0mx6 x1ey2m1c xl56j7k x47corl x1s85apg x1vjfegm`}}[!D<<1|!!O<<0],hidden:!D,"aria-hidden":E?`true`:void 0,inert:E?!0:void 0,children:(0,z.jsx)(G,{...l,ref:t,state:w,height:a,snapPoints:o,isSwipeDismissAllowed:s===`info`,isPageScrollLocked:p,xstyle:c,onDismiss:N,onScrimOpacity:I,onElementChange:P,onMotionStart:F,onMotionComplete:te,children:(0,z.jsx)(q,{value:null,children:i})})})}function Z(e){let t=(0,d.use)(q),n=e.sheetId,r=typeof n==`string`&&n.length>0;return f(`BottomSheet`,"requires a non-empty `sheetId` when nested in BottomSheetSwitcher; standalone `isOpen` / `onOpenChange` props are ignored there.",t!=null&&!r),f(`BottomSheet`,"`sheetId` only works inside BottomSheetSwitcher. Use `isOpen` and `onOpenChange` for a standalone sheet.",t==null&&n!=null),t==null?(0,z.jsx)(ye,{...e}):(0,z.jsx)(X,{...e,switcher:t})}Z.displayName=`BottomSheet`;export{f as a,m as i,ve as n,_ as r,Z as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-B-hcVAMW.js";import{t}from"./Tooltip-DobdkMDB.js";var n=e();function r({content:e,children:r}){return(0,n.jsx)(t,{content:e,placement:`above`,focusTrigger:`always`,children:r})}export{r as default};
|