@nimbus-ds/patterns 1.35.1-rc.22 → 1.35.1-rc.24
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.
- package/dist/BottomSheet/index.d.ts +22 -10
- package/dist/BottomSheet/index.js +1 -1
- package/dist/index.d.ts +21 -9
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Generated by dts-bundle-generator v8.1.2
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { HTMLAttributes, ReactNode } from 'react';
|
|
4
|
+
import { FC, HTMLAttributes, ReactNode } from 'react';
|
|
5
5
|
|
|
6
6
|
export type BottomSheetPadding = "none" | "base";
|
|
7
7
|
/**
|
|
8
8
|
* A snap point expressed as a viewport-height percentage (e.g. "60%") or the
|
|
9
|
-
* keyword "full" (
|
|
9
|
+
* keyword "full" (edge-to-edge, covering the full viewport height).
|
|
10
10
|
*/
|
|
11
11
|
export type BottomSheetSnapPoint = `${number}%` | "full";
|
|
12
12
|
/**
|
|
@@ -61,6 +61,12 @@ export interface BottomSheetProperties {
|
|
|
61
61
|
* @default true
|
|
62
62
|
*/
|
|
63
63
|
needRemoveScroll?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Accessible name (`aria-label`) for the drag grabber. Override for
|
|
66
|
+
* non-English locales, since the built-in default is English-only.
|
|
67
|
+
* @default "Drag to resize or dismiss"
|
|
68
|
+
*/
|
|
69
|
+
grabberLabel?: string;
|
|
64
70
|
/**
|
|
65
71
|
* Explicit z-index for the sheet layer. Omitted by default: like Nimbus's
|
|
66
72
|
* own Sidebar/Modal/Popover, the sheet relies on DOM mount order rather
|
|
@@ -148,9 +154,19 @@ export interface BottomSheetFooterProperties {
|
|
|
148
154
|
* footer region.
|
|
149
155
|
*/
|
|
150
156
|
export type BottomSheetFooterProps = BottomSheetFooterProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
157
|
+
/**
|
|
158
|
+
* The composable subcomponents attached to `BottomSheet`
|
|
159
|
+
* (`BottomSheet.Header`, `BottomSheet.Body`, `BottomSheet.Footer`), used to
|
|
160
|
+
* compose the sheet's `children`.
|
|
161
|
+
*/
|
|
162
|
+
export interface BottomSheetComponents {
|
|
163
|
+
/** Chrome region above the body; the drag grabber is pinned above it. */
|
|
164
|
+
Header: FC<BottomSheetHeaderProps>;
|
|
165
|
+
/** The scrollable content region. */
|
|
166
|
+
Body: FC<BottomSheetBodyProps>;
|
|
167
|
+
/** Optional chrome region below the body (e.g. action buttons). */
|
|
168
|
+
Footer: FC<BottomSheetFooterProps>;
|
|
169
|
+
}
|
|
154
170
|
declare const BottomSheetBase: React.FC<BottomSheetProps>;
|
|
155
171
|
/**
|
|
156
172
|
* A mobile-first modal sheet that slides up from the bottom edge, with
|
|
@@ -171,11 +187,7 @@ declare const BottomSheetBase: React.FC<BottomSheetProps>;
|
|
|
171
187
|
* `aria-labelledby` pointing at `BottomSheet.Header` when one is present;
|
|
172
188
|
* pass an explicit `aria-label`/`aria-labelledby` to override that.
|
|
173
189
|
*/
|
|
174
|
-
export declare const BottomSheet: typeof BottomSheetBase &
|
|
175
|
-
Header: typeof BottomSheetHeader;
|
|
176
|
-
Body: typeof BottomSheetBody;
|
|
177
|
-
Footer: typeof BottomSheetFooter;
|
|
178
|
-
};
|
|
190
|
+
export declare const BottomSheet: typeof BottomSheetBase & BottomSheetComponents;
|
|
179
191
|
|
|
180
192
|
export {
|
|
181
193
|
BottomSheet as default,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom"),require("@nimbus-ds/components"),require("@nimbus-ds/styles")):"function"==typeof define&&define.amd?define(["react","react-dom","@nimbus-ds/components","@nimbus-ds/styles"],t):"object"==typeof exports?exports["@nimbus-ds/patterns"]=t(require("react"),require("react-dom"),require("@nimbus-ds/components"),require("@nimbus-ds/styles")):e["@nimbus-ds/patterns"]=t(e.react,e["react-dom"],e["@nimbus-ds/components"],e["@nimbus-ds/styles"])}(global,((e,t,n,r)=>(()=>{"use strict";var o={8446:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BottomSheet=void 0;const r=n(5163).__importStar(n(8156)),o=n(7111),i=n(5280),a=n(7990),s=n(9096),u=n(2893),l=n(3687),c=n(8555),d=n(3040),f=n(7370),p=n(3636),m=n(749),y=n(9628),b=n(8002),v=n(1051),h=n(9773);let _=0;t.BottomSheet=({open:e=!1,onRemove:t,snapPoints:n=[...s.DEFAULT_SNAP_POINTS],defaultSnap:y=s.DEFAULT_SNAP_INDEX,children:b,closeOnOutsidePress:w=!0,ignoreAttributeName:S=s.DEFAULT_IGNORE_ATTRIBUTE_NAME,needRemoveScroll:g=!0,zIndex:E,root:O,...T})=>{const I=(0,u.isValidAttributeName)(S)?S:s.DEFAULT_IGNORE_ATTRIBUTE_NAME,[P,x]=(0,r.useState)((()=>(0,u.clampIndex)(y,n.length))),D=(0,r.useRef)(null),L=(0,r.useRef)(null),A=(0,r.useRef)(null),R=(0,r.useRef)(null);R.current=O??null;const j=(0,r.useRef)(void 0);j.current||(_+=1,j.current=`bottom-sheet-header-${_}`);const N=(0,r.useRef)(!1);(0,r.useEffect)((()=>{e?(N.current?x((e=>(0,u.clampIndex)(e,n.length))):x((0,u.clampIndex)(y,n.length)),N.current=!0):N.current=!1}),[e,n.length]);const{snaps:M,containerHeight:C}=(0,m.useSnapPoints)(n,R),B=(0,f.useKeyboardInset)(e),{refThemeProvider:H}=(0,a.useTheme)(),k=(0,r.useCallback)((()=>t?.()),[t]),{offset:F,isDragging:G,grabberHandlers:z}=(0,c.useDragGesture)({snaps:M,snapIndex:P,containerHeight:C,onSnapChange:x,onDismiss:k});if((0,p.useScrollLock)(e&&g,L),(0,d.useFocusTrap)(L,e),(0,l.useDismissHandlers)({enabled:e,panelRef:L,overlayRef:D,closeOnOutsidePress:w,ignoreAttributeName:I,onRequestClose:k}),!e)return null;const U=Math.max(0,C-F),Y="undefined"!=typeof document?O??H?.current??document.body:null;if(!Y)return null;const{style:V,...K}=T,q="aria-label"in K||"aria-labelledby"in K;let $;const X=q?b:r.default.Children.map(b,(e=>{if(r.default.isValidElement(e)&&e.type===v.BottomSheetHeader){const t=e;return $=t.props.id??j.current,r.default.cloneElement(t,{id:$})}return e})),W={[I]:""};return(0,o.createPortal)(r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{ref:D,...W,style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"var(--nimbus-colors-neutral-textHigh)",opacity:.4,zIndex:E}}),r.default.createElement("div",{ref:L,role:"dialog","aria-modal":"true","aria-labelledby":q?void 0:$,tabIndex:-1,...W,...K,style:{...V,position:"fixed",left:0,right:0,display:"flex",flexDirection:"column",backgroundColor:"var(--nimbus-colors-neutral-background)",boxSizing:"border-box",bottom:0,height:U,paddingBottom:B,zIndex:E,borderTopLeftRadius:"var(--nimbus-shape-border-radius-6)",borderTopRightRadius:"var(--nimbus-shape-border-radius-6)",transition:G?"none":s.SETTLE_TRANSITION}},r.default.createElement(h.Grabber,{ref:A,onPointerDown:z.onPointerDown,snapIndex:P,snapCount:M.length,onSnapChange:x}),r.default.createElement(i.Box,{display:"flex",flexDirection:"column",flex:"1",minHeight:"0"},X))),Y)},t.BottomSheet.Header=v.BottomSheetHeader,t.BottomSheet.Body=y.BottomSheetBody,t.BottomSheet.Footer=b.BottomSheetFooter,t.BottomSheet.displayName="BottomSheet"},9096:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FLOATING_UI_PORTAL_SELECTOR=t.DEFAULT_IGNORE_ATTRIBUTE_NAME=t.PADDING_TOKEN_MAP=t.SETTLE_TRANSITION=t.VELOCITY_IDLE_RESET_MS=t.DISMISS_VELOCITY_THRESHOLD=t.DISMISS_DISTANCE_THRESHOLD=t.FULL_TOP_GAP_RATIO=t.DEFAULT_SNAP_INDEX=t.DEFAULT_SNAP_POINTS=void 0,t.DEFAULT_SNAP_POINTS=["60%","90%","full"],t.DEFAULT_SNAP_INDEX=0,t.FULL_TOP_GAP_RATIO=.053,t.DISMISS_DISTANCE_THRESHOLD=96,t.DISMISS_VELOCITY_THRESHOLD=.5,t.VELOCITY_IDLE_RESET_MS=100,t.SETTLE_TRANSITION="height 300ms cubic-bezier(0.32, 0.72, 0, 1), bottom 300ms cubic-bezier(0.32, 0.72, 0, 1)",t.PADDING_TOKEN_MAP={none:"none",base:"4"},t.DEFAULT_IGNORE_ATTRIBUTE_NAME="data-nimbus-outside-press-ignore",t.FLOATING_UI_PORTAL_SELECTOR="[data-floating-ui-portal]"},2893:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isValidAttributeName=t.clampIndex=void 0;t.clampIndex=(e,t)=>Math.min(Math.max(e,0),Math.max(t-1,0));t.isValidAttributeName=e=>/^-?[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e)},3687:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useDismissHandlers=void 0;const r=n(8156),o=n(9096),i=[];t.useDismissHandlers=({enabled:e,panelRef:t,overlayRef:n,closeOnOutsidePress:a=!0,ignoreAttributeName:s,onRequestClose:u})=>{(0,r.useEffect)((()=>{if(!e||"undefined"==typeof document)return;const r={};i.push(r);const l=e=>{const r=e.target;if(!r)return;if(t.current?.contains(r))return;!(n.current?.contains(r)??!1)&&r instanceof Element&&r.closest(`[${s}], ${o.FLOATING_UI_PORTAL_SELECTOR}`)||(e=>"function"==typeof a?a(e):a)(e)&&u()},c=e=>{"Escape"===e.key&&i.at(-1)===r&&u()};return document.addEventListener("pointerdown",l,!0),document.addEventListener("keydown",c),()=>{document.removeEventListener("pointerdown",l,!0),document.removeEventListener("keydown",c);const e=i.indexOf(r);-1!==e&&i.splice(e,1)}}),[e,t,n,a,s,u])}},8555:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useDragGesture=void 0;const r=n(8156),o=n(9096);t.useDragGesture=({snaps:e,snapIndex:t,containerHeight:n,onSnapChange:i,onDismiss:a})=>{const s=e[t],[u,l]=(0,r.useState)(null),[c,d]=(0,r.useState)(!1),f=(0,r.useMemo)((()=>(e=>e.map(((e,t)=>({...e,index:t}))).sort(((e,t)=>e.height-t.height)))(e)),[e]),p=(0,r.useRef)({ascendingSnaps:f,containerHeight:n});p.current={ascendingSnaps:f,containerHeight:n};const m=(0,r.useRef)(null),y=(0,r.useRef)(null),b=()=>{const e=y.current;e&&(document.removeEventListener("pointermove",e.move),document.removeEventListener("pointerup",e.up),document.removeEventListener("pointercancel",e.cancel),y.current=null)},v=(0,r.useCallback)((e=>{const{ascendingSnaps:t,containerHeight:n}=p.current,r=t.at(-1)?.offset??0,i=(t[0]?.offset??n)+2*o.DISMISS_DISTANCE_THRESHOLD;return Math.min(Math.max(e,r),i)}),[]),h=(0,r.useCallback)((e=>{if(!m.current)return;const t=e.timeStamp,n=t-m.current.lastTime||1,r=e.clientY-m.current.lastClientY;m.current.velocity=r/n,m.current.lastClientY=e.clientY,m.current.lastTime=t;const o=m.current.startOffset+(e.clientY-m.current.startClientY),i=v(o);m.current.currentOffset=i,l(i)}),[v]),_=(0,r.useCallback)((e=>{const n=m.current;if(m.current=null,d(!1),l(null),!n)return;const r=e.timeStamp-n.lastTime>o.VELOCITY_IDLE_RESET_MS?0:n.velocity,s=((e,t,n)=>{const r=n[0],i=e>r.offset+o.DISMISS_DISTANCE_THRESHOLD,a=t>o.DISMISS_VELOCITY_THRESHOLD&&e>=r.offset;if(i||a)return{dismiss:!0};let s=n.reduce(((t,n)=>Math.abs(e-n.offset)<Math.abs(e-t.offset)?n:t),n[0]);if(Math.abs(t)>o.DISMISS_VELOCITY_THRESHOLD){const e=n.findIndex((e=>e.index===s.index));if(t>0&&e>0){const t=n[e-1];t.height<s.height&&(s=t)}else if(t<0&&e<n.length-1){const t=n[e+1];t.height>s.height&&(s=t)}}return{dismiss:!1,index:s.index}})(n.currentOffset,r,p.current.ascendingSnaps);s.dismiss?a():s.index!==t&&i(s.index),b()}),[t,i,a]),w=(0,r.useCallback)((()=>{m.current=null,d(!1),l(null),b()}),[]),S=(0,r.useCallback)((e=>{s&&(m.current={startClientY:e.clientY,startOffset:s.offset,lastClientY:e.clientY,lastTime:e.timeStamp,velocity:0,currentOffset:s.offset},d(!0),document.addEventListener("pointermove",h),document.addEventListener("pointerup",_),document.addEventListener("pointercancel",w),y.current={move:h,up:_,cancel:w})}),[s,h,_,w]);(0,r.useEffect)((()=>()=>{b(),m.current=null}),[]);const g=u??s?.offset??0;return(0,r.useMemo)((()=>({offset:g,isDragging:c,grabberHandlers:{onPointerDown:S}})),[g,c,S])}},3040:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useFocusTrap=void 0;const r=n(8156),o=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(","),i=e=>Array.from(e.querySelectorAll(o));t.useFocusTrap=(e,t)=>{(0,r.useEffect)((()=>{const n=e.current;if(!t||!n||"undefined"==typeof document)return;const r=document.activeElement;((e,t)=>e.find((e=>"separator"!==e.getAttribute("role")))??e[0]??t)(i(n),n).focus();const o=e=>{if("Tab"!==e.key)return;const t=i(n);if(0===t.length)return void e.preventDefault();const r=t[0],o=t.at(-1),a=document.activeElement;e.shiftKey&&a===r?(e.preventDefault(),o.focus()):e.shiftKey||a!==o||(e.preventDefault(),r.focus())};return n.addEventListener("keydown",o),()=>{n.removeEventListener("keydown",o),r?.focus?.()}}),[e,t])}},7370:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useKeyboardInset=void 0;const r=n(8156),o=(e,t,n)=>{Promise.resolve(e).then((e=>{t()?e.remove():n((()=>e.remove()))}))};t.useKeyboardInset=e=>{const[t,n]=(0,r.useState)(0);return(0,r.useEffect)((()=>{if(!e||"undefined"==typeof window)return void n(0);const t=(()=>{if("undefined"==typeof window)return null;const e=window.Capacitor;return e?.isPluginAvailable?.("Keyboard")?e.Plugins?.Keyboard??null:null})();if(t){let e,r,i=!1;return o(t.addListener("keyboardWillShow",(e=>{n(Math.max(0,Math.round(e?.keyboardHeight??0)))})),(()=>i),(t=>{e=t})),o(t.addListener("keyboardWillHide",(()=>n(0))),(()=>i),(e=>{r=e})),()=>{i=!0,e?.(),r?.(),n(0)}}if(!window.visualViewport)return void n(0);const r=window.visualViewport,i=()=>{const e=window.innerHeight-r.height-r.offsetTop;n(Math.max(0,Math.round(e)))};return i(),r.addEventListener("resize",i),r.addEventListener("scroll",i),window.addEventListener("resize",i),()=>{r.removeEventListener("resize",i),r.removeEventListener("scroll",i),window.removeEventListener("resize",i),n(0)}}),[e]),t}},3636:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useScrollLock=void 0;const r=n(8156),o=n(9096);let i=0,a="",s=0;const u=new Set,l=e=>{var t;(t=e.target)instanceof Node&&Array.from(u).some((e=>e.contains(t)))||(e=>e instanceof Element&&null!==e.closest(o.FLOATING_UI_PORTAL_SELECTOR))(e.target)||e.preventDefault()},c=()=>{window.scrollY!==s&&window.scrollTo(window.scrollX,s)};t.useScrollLock=(e,t)=>{(0,r.useEffect)((()=>{if(!e||"undefined"==typeof document)return;const n=t.current;return n&&u.add(n),0===i&&(a=document.body.style.overflow,s=window.scrollY,document.body.style.overflow="hidden",document.addEventListener("touchmove",l,{passive:!1}),window.addEventListener("scroll",c)),i+=1,()=>{n&&u.delete(n),i-=1,0===i&&(document.body.style.overflow=a,document.removeEventListener("touchmove",l),window.removeEventListener("scroll",c))}}),[e,t])}},749:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useSnapPoints=void 0;const r=n(8156),o=n(9096);t.useSnapPoints=(e,t)=>{const[n,i]=(0,r.useState)(0),a=(0,r.useCallback)((()=>{const e=t.current?.clientHeight??("undefined"!=typeof window?window.innerHeight:0);i(e)}),[t]);(0,r.useEffect)((()=>{if(a(),"undefined"!=typeof window)return window.addEventListener("resize",a),window.addEventListener("orientationchange",a),window.visualViewport?.addEventListener("resize",a),()=>{window.removeEventListener("resize",a),window.removeEventListener("orientationchange",a),window.visualViewport?.removeEventListener("resize",a)}}),[a]);return{snaps:e.map((e=>{const t=((e,t)=>{if("full"===e)return t*(1-o.FULL_TOP_GAP_RATIO);const n=/^(\d+(?:\.\d+)?)%$/.exec(e.trim());return t*(n?Number(n[1])/100:0)})(e,n);return{point:e,height:t,offset:n-t}})),containerHeight:n}}},9628:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BottomSheetBody=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280),i=n(9096);t.BottomSheetBody=({children:e,padding:t="base",...n})=>r.default.createElement(o.Box,{padding:i.PADDING_TOKEN_MAP[t],flex:"1",minHeight:"0",overflowY:"auto",...n},e),t.BottomSheetBody.displayName="BottomSheetBody"},8002:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BottomSheetFooter=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280),i=n(9096);t.BottomSheetFooter=({children:e,padding:t="base",...n})=>r.default.createElement(o.Box,{padding:i.PADDING_TOKEN_MAP[t],flex:"none",display:"flex",gap:"2",justifyContent:"flex-end",...n},e),t.BottomSheetFooter.displayName="BottomSheetFooter"},1051:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BottomSheetHeader=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280),i=n(9096);t.BottomSheetHeader=({children:e,padding:t="base",...n})=>r.default.createElement(o.Box,{padding:i.PADDING_TOKEN_MAP[t],flex:"none",...n},e),t.BottomSheetHeader.displayName="BottomSheetHeader"},9773:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Grabber=void 0;const r=n(5163).__importStar(n(8156)),o=n(5280),i=n(2893);t.Grabber=(0,r.forwardRef)((({onPointerDown:e,snapIndex:t,snapCount:n,onSnapChange:a},s)=>{const u=Math.max(n-1,0);return r.default.createElement("div",{ref:s,onPointerDown:e,onKeyDown:e=>{switch(e.key){case"ArrowUp":e.preventDefault(),a((0,i.clampIndex)(t+1,n));break;case"ArrowDown":e.preventDefault(),a((0,i.clampIndex)(t-1,n));break;case"Home":e.preventDefault(),a(0);break;case"End":e.preventDefault(),a(u)}},role:"separator","aria-orientation":"horizontal","aria-label":"Drag to resize or dismiss","aria-valuenow":t,"aria-valuemin":0,"aria-valuemax":u,tabIndex:0,style:{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",paddingTop:"var(--nimbus-spacing-2)",paddingBottom:"var(--nimbus-spacing-2)",touchAction:"none",cursor:"grab",boxSizing:"border-box"}},r.default.createElement(o.Box,{width:"44px",height:"4px",backgroundColor:"neutral-surfaceHighlight",borderRadius:"full"}))})),t.Grabber.displayName="Grabber"},5163:(e,t,n)=>{n.r(t),n.d(t,{__assign:()=>i,__asyncDelegator:()=>T,__asyncGenerator:()=>O,__asyncValues:()=>I,__await:()=>E,__awaiter:()=>m,__classPrivateFieldGet:()=>A,__classPrivateFieldIn:()=>j,__classPrivateFieldSet:()=>R,__createBinding:()=>b,__decorate:()=>s,__esDecorate:()=>l,__exportStar:()=>v,__extends:()=>o,__generator:()=>y,__importDefault:()=>L,__importStar:()=>D,__makeTemplateObject:()=>P,__metadata:()=>p,__param:()=>u,__propKey:()=>d,__read:()=>_,__rest:()=>a,__runInitializers:()=>c,__setFunctionName:()=>f,__spread:()=>w,__spreadArray:()=>g,__spreadArrays:()=>S,__values:()=>h});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function s(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function u(e,t){return function(n,r){t(n,r,e)}}function l(e,t,n,r,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,u=r.kind,l="getter"===u?"get":"setter"===u?"set":"value",c=!t&&e?r.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var m={};for(var y in r)m[y]="access"===y?{}:r[y];for(var y in r.access)m.access[y]=r.access[y];m.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var b=(0,n[p])("accessor"===u?{get:d.get,set:d.set}:d[l],m);if("accessor"===u){if(void 0===b)continue;if(null===b||"object"!=typeof b)throw new TypeError("Object expected");(s=a(b.get))&&(d.get=s),(s=a(b.set))&&(d.set=s),(s=a(b.init))&&o.push(s)}else(s=a(b))&&("field"===u?o.push(s):d[l]=s)}c&&Object.defineProperty(c,r.name,d),f=!0}function c(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}u((r=r.apply(e,t||[])).next())}))}function y(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}var b=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function v(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||b(t,e,n)}function h(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function _(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(_(arguments[t]));return e}function S(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)r[o]=i[a];return r}function g(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function E(e){return this instanceof E?(this.v=e,this):new E(e)}function O(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{(n=o[e](t)).value instanceof E?Promise.resolve(n.value.v).then(u,l):c(i[0][2],n)}catch(e){c(i[0][3],e)}var n}function u(e){s("next",e)}function l(e){s("throw",e)}function c(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function T(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:E(e[r](t)),done:!1}:o?o(t):t}:o}}function I(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=h(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function P(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var x=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function D(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&b(t,e,n);return x(t,e),t}function L(e){return e&&e.__esModule?e:{default:e}}function A(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function R(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function j(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}},5280:e=>{e.exports=n},7990:e=>{e.exports=r},8156:t=>{t.exports=e},7111:e=>{e.exports=t}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var n=i[e]={exports:{}};return o[e](n,n.exports,a),n.exports}a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.BottomSheet=void 0;const t=a(8446);var n=a(8446);Object.defineProperty(e,"BottomSheet",{enumerable:!0,get:function(){return n.BottomSheet}}),e.default=t.BottomSheet})(),s})()));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom"),require("@nimbus-ds/components"),require("@nimbus-ds/styles")):"function"==typeof define&&define.amd?define(["react","react-dom","@nimbus-ds/components","@nimbus-ds/styles"],t):"object"==typeof exports?exports["@nimbus-ds/patterns"]=t(require("react"),require("react-dom"),require("@nimbus-ds/components"),require("@nimbus-ds/styles")):e["@nimbus-ds/patterns"]=t(e.react,e["react-dom"],e["@nimbus-ds/components"],e["@nimbus-ds/styles"])}(global,((e,t,n,r)=>(()=>{"use strict";var o={8446:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BottomSheet=void 0;const r=n(5163).__importStar(n(8156)),o=n(7111),i=n(5280),a=n(7990),s=n(9096),l=n(2893),u=n(3687),c=n(8555),d=n(3040),f=n(7370),p=n(3636),m=n(749),b=n(9628),y=n(8002),h=n(1051),v=n(9773);let _=0;t.BottomSheet=({open:e=!1,onRemove:t,snapPoints:n=[...s.DEFAULT_SNAP_POINTS],defaultSnap:b=s.DEFAULT_SNAP_INDEX,children:y,closeOnOutsidePress:E=!0,ignoreAttributeName:S=s.DEFAULT_IGNORE_ATTRIBUTE_NAME,needRemoveScroll:w=!0,grabberLabel:g=s.DEFAULT_GRABBER_LABEL,zIndex:O,root:T,...x})=>{const I=(0,l.isValidAttributeName)(S)?S:s.DEFAULT_IGNORE_ATTRIBUTE_NAME,[L,P]=(0,r.useState)((()=>(0,l.clampIndex)(b,n.length))),D=(0,r.useRef)(null),A=(0,r.useRef)(null),R=(0,r.useRef)(null),B=(0,r.useRef)(null);B.current=T??null;const N=(0,r.useRef)(void 0);N.current||(_+=1,N.current=`bottom-sheet-header-${_}`);const j=(0,r.useRef)(!1);(0,r.useEffect)((()=>{e?(j.current?P((e=>(0,l.clampIndex)(e,n.length))):P((0,l.clampIndex)(b,n.length)),j.current=!0):j.current=!1}),[e,n.length]);const{snaps:M,containerHeight:H}=(0,m.useSnapPoints)(n,B),C=(0,f.useKeyboardInset)(e),{refThemeProvider:F}=(0,a.useTheme)(),k=(0,r.useCallback)((()=>t?.()),[t]),{offset:G,isDragging:z,grabberHandlers:U}=(0,c.useDragGesture)({snaps:M,snapIndex:L,containerHeight:H,onSnapChange:P,onDismiss:k});if((0,p.useScrollLock)(e&&w,A),(0,d.useFocusTrap)(A,e),(0,u.useDismissHandlers)({enabled:e,panelRef:A,overlayRef:D,closeOnOutsidePress:E,ignoreAttributeName:I,onRequestClose:k}),!e)return null;const Y=Math.max(0,H-G),V=H>0&&G<=0,K="undefined"!=typeof document?T??F?.current??document.body:null;if(!K)return null;const{style:q,...X}=x,$="aria-label"in X||"aria-labelledby"in X;let W;const Z=$?y:r.default.Children.map(y,(e=>{if(r.default.isValidElement(e)&&e.type===h.BottomSheetHeader){const t=e;return W=t.props.id??N.current,r.default.cloneElement(t,{id:W})}return e})),J={[I]:""};return(0,o.createPortal)(r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{ref:D,...J,style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"var(--nimbus-colors-neutral-textHigh)",opacity:.4,zIndex:O}}),r.default.createElement("div",{ref:A,role:"dialog","aria-modal":"true","aria-labelledby":$?void 0:W,tabIndex:-1,...J,...X,style:{...q,position:"fixed",left:0,right:0,display:"flex",flexDirection:"column",backgroundColor:"var(--nimbus-colors-neutral-background)",boxSizing:"border-box",bottom:0,height:Y,paddingBottom:C,zIndex:O,borderTopLeftRadius:V?0:"var(--nimbus-shape-border-radius-6)",borderTopRightRadius:V?0:"var(--nimbus-shape-border-radius-6)",transition:z?"none":s.SETTLE_TRANSITION}},r.default.createElement(v.Grabber,{ref:R,onPointerDown:U.onPointerDown,snapIndex:L,snapCount:M.length,onSnapChange:P,pillHidden:V,label:g}),r.default.createElement(i.Box,{display:"flex",flexDirection:"column",flex:"1",minHeight:"0"},Z))),K)},t.BottomSheet.Header=h.BottomSheetHeader,t.BottomSheet.Body=b.BottomSheetBody,t.BottomSheet.Footer=y.BottomSheetFooter,t.BottomSheet.displayName="BottomSheet",t.BottomSheet.Header.displayName="BottomSheet.Header",t.BottomSheet.Body.displayName="BottomSheet.Body",t.BottomSheet.Footer.displayName="BottomSheet.Footer"},9096:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_GRABBER_LABEL=t.FLOATING_UI_PORTAL_SELECTOR=t.DEFAULT_IGNORE_ATTRIBUTE_NAME=t.PADDING_TOKEN_MAP=t.SETTLE_TRANSITION=t.VELOCITY_IDLE_RESET_MS=t.DISMISS_VELOCITY_THRESHOLD=t.DISMISS_DISTANCE_THRESHOLD=t.DEFAULT_SNAP_INDEX=t.DEFAULT_SNAP_POINTS=void 0,t.DEFAULT_SNAP_POINTS=["60%","90%","full"],t.DEFAULT_SNAP_INDEX=0,t.DISMISS_DISTANCE_THRESHOLD=96,t.DISMISS_VELOCITY_THRESHOLD=.5,t.VELOCITY_IDLE_RESET_MS=100,t.SETTLE_TRANSITION="height 300ms cubic-bezier(0.32, 0.72, 0, 1), bottom 300ms cubic-bezier(0.32, 0.72, 0, 1), border-radius 300ms cubic-bezier(0.32, 0.72, 0, 1)",t.PADDING_TOKEN_MAP={none:"none",base:"4"},t.DEFAULT_IGNORE_ATTRIBUTE_NAME="data-nimbus-outside-press-ignore",t.FLOATING_UI_PORTAL_SELECTOR="[data-floating-ui-portal]",t.DEFAULT_GRABBER_LABEL="Drag to resize or dismiss"},2893:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isValidAttributeName=t.clampIndex=void 0;t.clampIndex=(e,t)=>Math.min(Math.max(e,0),Math.max(t-1,0));t.isValidAttributeName=e=>/^-?[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e)},3687:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useDismissHandlers=void 0;const r=n(8156),o=n(9096),i=[];t.useDismissHandlers=({enabled:e,panelRef:t,overlayRef:n,closeOnOutsidePress:a=!0,ignoreAttributeName:s,onRequestClose:l})=>{(0,r.useEffect)((()=>{if(!e||"undefined"==typeof document)return;const r={};i.push(r);const u=e=>{const r=e.target;if(!r)return;if(t.current?.contains(r))return;!(n.current?.contains(r)??!1)&&r instanceof Element&&r.closest(`[${s}], ${o.FLOATING_UI_PORTAL_SELECTOR}`)||(e=>"function"==typeof a?a(e):a)(e)&&l()},c=e=>{"Escape"===e.key&&i.at(-1)===r&&l()};return document.addEventListener("pointerdown",u,!0),document.addEventListener("keydown",c),()=>{document.removeEventListener("pointerdown",u,!0),document.removeEventListener("keydown",c);const e=i.indexOf(r);-1!==e&&i.splice(e,1)}}),[e,t,n,a,s,l])}},8555:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useDragGesture=void 0;const r=n(8156),o=n(9096);t.useDragGesture=({snaps:e,snapIndex:t,containerHeight:n,onSnapChange:i,onDismiss:a})=>{const s=e[t],[l,u]=(0,r.useState)(null),[c,d]=(0,r.useState)(!1),f=(0,r.useMemo)((()=>(e=>e.map(((e,t)=>({...e,index:t}))).sort(((e,t)=>e.height-t.height)))(e)),[e]),p=(0,r.useRef)({ascendingSnaps:f,containerHeight:n});p.current={ascendingSnaps:f,containerHeight:n};const m=(0,r.useRef)(null),b=(0,r.useRef)(null),y=()=>{const e=b.current;e&&(document.removeEventListener("pointermove",e.move),document.removeEventListener("pointerup",e.up),document.removeEventListener("pointercancel",e.cancel),b.current=null)},h=(0,r.useCallback)((e=>{const{ascendingSnaps:t,containerHeight:n}=p.current,r=t.at(-1)?.offset??0,i=(t[0]?.offset??n)+2*o.DISMISS_DISTANCE_THRESHOLD;return Math.min(Math.max(e,r),i)}),[]),v=(0,r.useCallback)((e=>{if(!m.current)return;const t=e.timeStamp,n=t-m.current.lastTime||1,r=e.clientY-m.current.lastClientY;m.current.velocity=r/n,m.current.lastClientY=e.clientY,m.current.lastTime=t;const o=m.current.startOffset+(e.clientY-m.current.startClientY),i=h(o);m.current.currentOffset=i,u(i)}),[h]),_=(0,r.useCallback)((e=>{const n=m.current;if(m.current=null,d(!1),u(null),!n)return;const r=e.timeStamp-n.lastTime>o.VELOCITY_IDLE_RESET_MS?0:n.velocity,s=((e,t,n)=>{const r=n[0],i=e>r.offset+o.DISMISS_DISTANCE_THRESHOLD,a=t>o.DISMISS_VELOCITY_THRESHOLD&&e>=r.offset;if(i||a)return{dismiss:!0};let s=n.reduce(((t,n)=>Math.abs(e-n.offset)<Math.abs(e-t.offset)?n:t),n[0]);if(Math.abs(t)>o.DISMISS_VELOCITY_THRESHOLD){const e=n.findIndex((e=>e.index===s.index));if(t>0&&e>0){const t=n[e-1];t.height<s.height&&(s=t)}else if(t<0&&e<n.length-1){const t=n[e+1];t.height>s.height&&(s=t)}}return{dismiss:!1,index:s.index}})(n.currentOffset,r,p.current.ascendingSnaps);s.dismiss?a():s.index!==t&&i(s.index),y()}),[t,i,a]),E=(0,r.useCallback)((()=>{m.current=null,d(!1),u(null),y()}),[]),S=(0,r.useCallback)((e=>{s&&(m.current={startClientY:e.clientY,startOffset:s.offset,lastClientY:e.clientY,lastTime:e.timeStamp,velocity:0,currentOffset:s.offset},d(!0),document.addEventListener("pointermove",v),document.addEventListener("pointerup",_),document.addEventListener("pointercancel",E),b.current={move:v,up:_,cancel:E})}),[s,v,_,E]);(0,r.useEffect)((()=>()=>{y(),m.current=null}),[]);const w=l??s?.offset??0;return(0,r.useMemo)((()=>({offset:w,isDragging:c,grabberHandlers:{onPointerDown:S}})),[w,c,S])}},3040:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useFocusTrap=void 0;const r=n(8156),o=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(","),i=e=>Array.from(e.querySelectorAll(o));t.useFocusTrap=(e,t)=>{(0,r.useEffect)((()=>{const n=e.current;if(!t||!n||"undefined"==typeof document)return;const r=document.activeElement;((e,t)=>e.find((e=>"separator"!==e.getAttribute("role")))??e[0]??t)(i(n),n).focus();const o=e=>{if("Tab"!==e.key)return;const t=i(n);if(0===t.length)return void e.preventDefault();const r=t[0],o=t.at(-1),a=document.activeElement;e.shiftKey&&a===r?(e.preventDefault(),o.focus()):e.shiftKey||a!==o||(e.preventDefault(),r.focus())};return n.addEventListener("keydown",o),()=>{n.removeEventListener("keydown",o),r?.focus?.()}}),[e,t])}},7370:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useKeyboardInset=void 0;const r=n(8156),o=(e,t,n)=>{Promise.resolve(e).then((e=>{t()?e.remove():n((()=>e.remove()))}))};t.useKeyboardInset=e=>{const[t,n]=(0,r.useState)(0);return(0,r.useEffect)((()=>{if(!e||"undefined"==typeof window)return void n(0);const t=(()=>{if("undefined"==typeof window)return null;const e=window.Capacitor;return e?.isPluginAvailable?.("Keyboard")?e.Plugins?.Keyboard??null:null})();if(t){let e,r,i=!1;return o(t.addListener("keyboardWillShow",(e=>{n(Math.max(0,Math.round(e?.keyboardHeight??0)))})),(()=>i),(t=>{e=t})),o(t.addListener("keyboardWillHide",(()=>n(0))),(()=>i),(e=>{r=e})),()=>{i=!0,e?.(),r?.(),n(0)}}if(!window.visualViewport)return void n(0);const r=window.visualViewport,i=()=>{const e=window.innerHeight-r.height-r.offsetTop;n(Math.max(0,Math.round(e)))};return i(),r.addEventListener("resize",i),r.addEventListener("scroll",i),window.addEventListener("resize",i),()=>{r.removeEventListener("resize",i),r.removeEventListener("scroll",i),window.removeEventListener("resize",i),n(0)}}),[e]),t}},3636:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useScrollLock=void 0;const r=n(8156),o=n(9096);let i=0,a="",s=0;const l=new Set,u=e=>{var t;(t=e.target)instanceof Node&&Array.from(l).some((e=>e.contains(t)))||(e=>e instanceof Element&&null!==e.closest(o.FLOATING_UI_PORTAL_SELECTOR))(e.target)||e.preventDefault()},c=()=>{window.scrollY!==s&&window.scrollTo(window.scrollX,s)};t.useScrollLock=(e,t)=>{(0,r.useEffect)((()=>{if(!e||"undefined"==typeof document)return;const n=t.current;return n&&l.add(n),0===i&&(a=document.body.style.overflow,s=window.scrollY,document.body.style.overflow="hidden",document.addEventListener("touchmove",u,{passive:!1}),window.addEventListener("scroll",c)),i+=1,()=>{n&&l.delete(n),i-=1,0===i&&(document.body.style.overflow=a,document.removeEventListener("touchmove",u),window.removeEventListener("scroll",c))}}),[e,t])}},749:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useSnapPoints=void 0;const r=n(8156);t.useSnapPoints=(e,t)=>{const[n,o]=(0,r.useState)(0),i=(0,r.useCallback)((()=>{const e=t.current?.clientHeight??("undefined"!=typeof window?window.innerHeight:0);o(e)}),[t]);(0,r.useEffect)((()=>{if(i(),"undefined"!=typeof window)return window.addEventListener("resize",i),window.addEventListener("orientationchange",i),window.visualViewport?.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),window.removeEventListener("orientationchange",i),window.visualViewport?.removeEventListener("resize",i)}}),[i]);return{snaps:e.map((e=>{const t=((e,t)=>{if("full"===e)return t;const n=/^(\d+(?:\.\d+)?)%$/.exec(e.trim());return t*(n?Number(n[1])/100:0)})(e,n);return{point:e,height:t,offset:n-t}})),containerHeight:n}}},9628:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BottomSheetBody=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280),i=n(9096);t.BottomSheetBody=({children:e,padding:t="base",...n})=>r.default.createElement(o.Box,{padding:i.PADDING_TOKEN_MAP[t],flex:"1",minHeight:"0",overflowY:"auto",...n},e),t.BottomSheetBody.displayName="BottomSheetBody"},8002:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BottomSheetFooter=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280),i=n(9096);t.BottomSheetFooter=({children:e,padding:t="base",...n})=>r.default.createElement(o.Box,{padding:i.PADDING_TOKEN_MAP[t],flex:"none",display:"flex",gap:"2",justifyContent:"flex-end",...n},e),t.BottomSheetFooter.displayName="BottomSheetFooter"},1051:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BottomSheetHeader=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280),i=n(9096);t.BottomSheetHeader=({children:e,padding:t="base",...n})=>r.default.createElement(o.Box,{padding:i.PADDING_TOKEN_MAP[t],flex:"none",...n},e),t.BottomSheetHeader.displayName="BottomSheetHeader"},9773:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Grabber=void 0;const r=n(5163).__importStar(n(8156)),o=n(5280),i=n(9096),a=n(2893);t.Grabber=(0,r.forwardRef)((({onPointerDown:e,snapIndex:t,snapCount:n,onSnapChange:s,pillHidden:l=!1,label:u=i.DEFAULT_GRABBER_LABEL},c)=>{const d=Math.max(n-1,0);return r.default.createElement("div",{style:{display:"flex",justifyContent:"center",position:"relative",width:"100%",height:"28px",boxSizing:"border-box"}},r.default.createElement("div",{ref:c,onPointerDown:e,onKeyDown:e=>{switch(e.key){case"ArrowUp":e.preventDefault(),s((0,a.clampIndex)(t+1,n));break;case"ArrowDown":e.preventDefault(),s((0,a.clampIndex)(t-1,n));break;case"Home":e.preventDefault(),s(0);break;case"End":e.preventDefault(),s(d)}},role:"separator","aria-orientation":"horizontal","aria-label":u,"aria-valuenow":t,"aria-valuemin":0,"aria-valuemax":d,tabIndex:0,style:{position:"absolute",top:"-8px",left:"50%",transform:"translateX(-50%)",width:"56px",height:"56px",borderRadius:"50%",touchAction:"none",cursor:"grab",boxSizing:"border-box"}},r.default.createElement("div",{style:{position:"absolute",top:"16px",left:"50%",transform:"translateX(-50%)",opacity:l?0:1,transition:"opacity 300ms cubic-bezier(0.32, 0.72, 0, 1)"}},r.default.createElement(o.Box,{width:"44px",height:"4px",backgroundColor:"neutral-surfaceHighlight",borderRadius:"full"}))))})),t.Grabber.displayName="Grabber"},5163:(e,t,n)=>{n.r(t),n.d(t,{__assign:()=>i,__asyncDelegator:()=>T,__asyncGenerator:()=>O,__asyncValues:()=>x,__await:()=>g,__awaiter:()=>m,__classPrivateFieldGet:()=>A,__classPrivateFieldIn:()=>B,__classPrivateFieldSet:()=>R,__createBinding:()=>y,__decorate:()=>s,__esDecorate:()=>u,__exportStar:()=>h,__extends:()=>o,__generator:()=>b,__importDefault:()=>D,__importStar:()=>P,__makeTemplateObject:()=>I,__metadata:()=>p,__param:()=>l,__propKey:()=>d,__read:()=>_,__rest:()=>a,__runInitializers:()=>c,__setFunctionName:()=>f,__spread:()=>E,__spreadArray:()=>w,__spreadArrays:()=>S,__values:()=>v});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var i=function(){return i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function s(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function l(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r,o,i){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?r.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),f=!1,p=n.length-1;p>=0;p--){var m={};for(var b in r)m[b]="access"===b?{}:r[b];for(var b in r.access)m.access[b]=r.access[b];m.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");i.push(a(e||null))};var y=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[u],m);if("accessor"===l){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(s=a(y.get))&&(d.get=s),(s=a(y.set))&&(d.set=s),(s=a(y.init))&&o.push(s)}else(s=a(y))&&("field"===l?o.push(s):d[u]=s)}c&&Object.defineProperty(c,r.name,d),f=!0}function c(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function f(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{l(r.next(e))}catch(e){i(e)}}function s(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))}function b(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}var y=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function h(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||y(t,e,n)}function v(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function _(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function E(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(_(arguments[t]));return e}function S(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)r[o]=i[a];return r}function w(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function g(e){return this instanceof g?(this.v=e,this):new g(e)}function O(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||s(e,t)}))})}function s(e,t){try{(n=o[e](t)).value instanceof g?Promise.resolve(n.value.v).then(l,u):c(i[0][2],n)}catch(e){c(i[0][3],e)}var n}function l(e){s("next",e)}function u(e){s("throw",e)}function c(e,t){e(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function T(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:g(e[r](t)),done:!1}:o?o(t):t}:o}}function x(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=v(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function I(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var L=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function P(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&y(t,e,n);return L(t,e),t}function D(e){return e&&e.__esModule?e:{default:e}}function A(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function R(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function B(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}},5280:e=>{e.exports=n},7990:e=>{e.exports=r},8156:t=>{t.exports=e},7111:e=>{e.exports=t}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var n=i[e]={exports:{}};return o[e](n,n.exports,a),n.exports}a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.BottomSheet=void 0;const t=a(8446);var n=a(8446);Object.defineProperty(e,"BottomSheet",{enumerable:!0,get:function(){return n.BottomSheet}}),e.default=t.BottomSheet})(),s})()));
|
package/dist/index.d.ts
CHANGED
|
@@ -136,7 +136,7 @@ export declare const useAppShellMenuContext: (enforce?: boolean) => AppShellMenu
|
|
|
136
136
|
export type BottomSheetPadding = "none" | "base";
|
|
137
137
|
/**
|
|
138
138
|
* A snap point expressed as a viewport-height percentage (e.g. "60%") or the
|
|
139
|
-
* keyword "full" (
|
|
139
|
+
* keyword "full" (edge-to-edge, covering the full viewport height).
|
|
140
140
|
*/
|
|
141
141
|
export type BottomSheetSnapPoint = `${number}%` | "full";
|
|
142
142
|
/**
|
|
@@ -191,6 +191,12 @@ export interface BottomSheetProperties {
|
|
|
191
191
|
* @default true
|
|
192
192
|
*/
|
|
193
193
|
needRemoveScroll?: boolean;
|
|
194
|
+
/**
|
|
195
|
+
* Accessible name (`aria-label`) for the drag grabber. Override for
|
|
196
|
+
* non-English locales, since the built-in default is English-only.
|
|
197
|
+
* @default "Drag to resize or dismiss"
|
|
198
|
+
*/
|
|
199
|
+
grabberLabel?: string;
|
|
194
200
|
/**
|
|
195
201
|
* Explicit z-index for the sheet layer. Omitted by default: like Nimbus's
|
|
196
202
|
* own Sidebar/Modal/Popover, the sheet relies on DOM mount order rather
|
|
@@ -278,9 +284,19 @@ export interface BottomSheetFooterProperties {
|
|
|
278
284
|
* footer region.
|
|
279
285
|
*/
|
|
280
286
|
export type BottomSheetFooterProps = BottomSheetFooterProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
287
|
+
/**
|
|
288
|
+
* The composable subcomponents attached to `BottomSheet`
|
|
289
|
+
* (`BottomSheet.Header`, `BottomSheet.Body`, `BottomSheet.Footer`), used to
|
|
290
|
+
* compose the sheet's `children`.
|
|
291
|
+
*/
|
|
292
|
+
export interface BottomSheetComponents {
|
|
293
|
+
/** Chrome region above the body; the drag grabber is pinned above it. */
|
|
294
|
+
Header: FC<BottomSheetHeaderProps>;
|
|
295
|
+
/** The scrollable content region. */
|
|
296
|
+
Body: FC<BottomSheetBodyProps>;
|
|
297
|
+
/** Optional chrome region below the body (e.g. action buttons). */
|
|
298
|
+
Footer: FC<BottomSheetFooterProps>;
|
|
299
|
+
}
|
|
284
300
|
declare const BottomSheetBase: React.FC<BottomSheetProps>;
|
|
285
301
|
/**
|
|
286
302
|
* A mobile-first modal sheet that slides up from the bottom edge, with
|
|
@@ -301,11 +317,7 @@ declare const BottomSheetBase: React.FC<BottomSheetProps>;
|
|
|
301
317
|
* `aria-labelledby` pointing at `BottomSheet.Header` when one is present;
|
|
302
318
|
* pass an explicit `aria-label`/`aria-labelledby` to override that.
|
|
303
319
|
*/
|
|
304
|
-
export declare const BottomSheet: typeof BottomSheetBase &
|
|
305
|
-
Header: typeof BottomSheetHeader;
|
|
306
|
-
Body: typeof BottomSheetBody;
|
|
307
|
-
Footer: typeof BottomSheetFooter;
|
|
308
|
-
};
|
|
320
|
+
export declare const BottomSheet: typeof BottomSheetBase & BottomSheetComponents;
|
|
309
321
|
export interface CalloutCardProperties {
|
|
310
322
|
/**
|
|
311
323
|
* CalloutCard color.
|