@nimbus-ds/patterns 1.35.1-rc.2 → 1.35.1-rc.20

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/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  Nimbus is an open-source Design System created by Tiendanube / Nuvesmhop's team to empower and enhance more stories every day, with simplicity, accessibility, consistency and performance.
4
4
 
5
+ ## 2026-06-25 `1.36.0`
6
+
7
+ #### 🎉 New features
8
+
9
+ - Added `collapsedWidth` prop and exported the `APPSHELL_CHAT_DEFAULT_WIDTH` constant on `AppShell.Chat`, allowing consumer-controlled panel sizing. ([#PR](https://github.com/TiendaNube/nimbus-patterns/pull/PR) by [@jffs](https://github.com/jffs))
10
+
11
+ ## 2026-05-04 `1.33.2`
12
+
13
+ #### 🐛 Bug fixes
14
+
15
+ - Fixed page scroll not being locked while `AppShellChat` is expanded in fullscreen mode. ([#167](https://github.com/TiendaNube/nimbus-patterns/pull/167) by [@jffs](https://github.com/jffs))
16
+
5
17
  ## 2026-03-04 `1.33.1`
6
18
 
7
19
  #### 🐛 Bug fixes
@@ -33,8 +33,17 @@ export interface AppShellChatProperties {
33
33
  * The overlay auto-detects the parent bounds (respecting menu and header).
34
34
  */
35
35
  expanded?: boolean;
36
+ /**
37
+ * Width of the chat panel in collapsed (non-expanded) mode.
38
+ * Accepts any valid CSS length value (e.g. "300px", "25vw") or a responsive
39
+ * object keyed by breakpoint (e.g. `{ xs: "300px", xxl: "378px" }`).
40
+ * Useful for consumer-controlled resize interactions such as a drag handle.
41
+ * When omitted, defaults to the responsive `{ xs: "300px", xxl: "378px" }`.
42
+ */
43
+ collapsedWidth?: NonNullable<BoxProps["maxWidth"]>;
36
44
  }
37
45
  export type AppShellChatProps = AppShellChatProperties & Omit<BoxProps, "position">;
46
+ export declare const APPSHELL_CHAT_DEFAULT_WIDTH = "360px";
38
47
  export declare const AppShellChat: React.FC<AppShellChatProps>;
39
48
  export interface AppShellComponents {
40
49
  Header: typeof AppShellHeader;
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nimbus-ds/components"),require("@floating-ui/react")):"function"==typeof define&&define.amd?define(["react","@nimbus-ds/components","@floating-ui/react"],t):"object"==typeof exports?exports["@nimbus-ds/patterns"]=t(require("react"),require("@nimbus-ds/components"),require("@floating-ui/react")):e["@nimbus-ds/patterns"]=t(e.react,e["@nimbus-ds/components"],e["@floating-ui/react"])}(global,((e,t,n)=>(()=>{"use strict";var r={8713:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShell=void 0;const r=n(5163).__importStar(n(8156)),o=n(5280),a=n(6156),l=n(6338),i=n(5128),u=({style:e,children:t,contentProperties:n,menu:l,menuProperties:u={display:{xs:"none",md:"block"}},menuExpanded:p=!0,menuExpandedWidth:c="240px",menuCollapsedWidth:s="48px",menuBehavior:f="inline",menuFlyout:d={trigger:"manual"},...h})=>{const y="popover"===f,{trigger:b="hover",open:v,defaultOpen:m=!1,onOpenChange:_,hoverOpenDelayMs:x=100,hoverCloseDelayMs:g=150,...S}=d??{},[w,O]=(0,r.useState)(m),P=v??w,A=(0,r.useCallback)((e=>{void 0===v&&O(e),_?.(e)}),[v,_]),{refs:j,context:C}=(0,a.useFloating)({open:!!y&&P,onOpenChange:A}),M=(0,a.useHover)(C,{delay:{open:x,close:g},handleClose:(0,a.safePolygon)(),enabled:"hover"===b}),E=(0,a.useFocus)(C,{enabled:"hover"===b}),T=(0,a.useDismiss)(C,{outsidePress:!0,escapeKey:!0}),B=(0,a.useRole)(C,{role:"dialog"}),{getReferenceProps:k,getFloatingProps:D}=(0,a.useInteractions)([M,E,T,B]),R=(0,r.useMemo)((()=>({isMenuPopover:!1})),[]),F=(0,r.useMemo)((()=>({isMenuPopover:!0})),[]);return r.default.createElement(o.Box,{...h,display:"flex"},l&&r.default.createElement(o.Box,{...u,width:p?c:s,height:"100vh",position:"sticky",top:"0",left:"0",borderStyle:"solid",borderWidth:"none",borderRightWidth:"1",borderColor:"neutral-surfaceDisabled",transitionProperty:"width",transitionDuration:"fast",transitionTimingFunction:"ease-out",flexShrink:p?"0":"1",ref:j.setReference,...k()},r.default.createElement(i.AppShellMenuContext.Provider,{value:R},l)),r.default.createElement(o.Box,{display:"grid",gridTemplateRows:"auto 1fr",flex:"1 1 auto",height:"100vh",width:"100%",backgroundColor:"neutral-surfaceDisabled",...n},t),y&&P&&r.default.createElement(i.AppShellMenuContext.Provider,{value:F},r.default.createElement(a.FloatingPortal,{id:"nimbus-popover-floating"},r.default.createElement(o.Box,{backgroundColor:"neutral-background",boxShadow:"2",borderStyle:"solid",borderWidth:"none",borderRightWidth:"1",borderColor:"neutral-surfaceDisabled",width:c,...S,position:"fixed",top:"0",left:"0",zIndex:"900",height:"100vh",ref:j.setFloating,...D()},l))))};t.AppShell=u,u.Header=l.AppShellHeader,u.Body=l.AppShellBody,u.Chat=l.AppShellChat,u.displayName="AppShell",u.Header.displayName="AppShell.Header",u.Body.displayName="AppShell.Body",u.Chat.displayName="AppShell.Chat"},3718:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=n(5163);r.__exportStar(n(8462),t),r.__exportStar(n(6338),t)},2545:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellBody=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280);t.AppShellBody=({children:e,...t})=>r.default.createElement(o.Box,{backgroundColor:"neutral-surface",width:"100%",overflow:"auto",height:"100%",...t,flex:"1 1 auto",display:"flex"},e)},1617:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellBody=void 0;var r=n(2545);Object.defineProperty(t,"AppShellBody",{enumerable:!0,get:function(){return r.AppShellBody}})},6572:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellChat=void 0;const r=n(5163).__importStar(n(8156)),o=n(5280),a="300px",l=({children:e,expanded:t,defaultExpanded:n=!1,...l})=>{const[i]=(0,r.useState)(n),u=t??i,p=(0,r.useRef)(null),[c,s]=(0,r.useState)(!1),[f,d]=(0,r.useState)(!1),[h,y]=(0,r.useState)({parentLeft:0,parentTop:0,collapsedWidth:a}),b=()=>{if(p.current?.parentElement){const e=p.current.getBoundingClientRect(),t=p.current.parentElement.getBoundingClientRect();y({collapsedWidth:`${e.width}px`,parentLeft:t.left,parentTop:t.top})}};(0,r.useEffect)((()=>{if(!u)return;b();const e=p.current?.parentElement,t=e&&"undefined"!=typeof ResizeObserver?new ResizeObserver(b):null;return t&&e&&t.observe(e),window.addEventListener("resize",b),()=>{t?.disconnect(),window.removeEventListener("resize",b)}}),[u]),(0,r.useEffect)((()=>{u?(b(),s(!0),requestAnimationFrame((()=>{requestAnimationFrame((()=>{d(!0)}))}))):(d(!1),s(!1))}),[u]);const v=Math.max(h.parentLeft,0),m=Math.max(h.parentTop,0),_=`calc(100vh - ${m}px)`,x={position:"sticky",height:"100%",maxWidth:{xs:"300px",xxl:"378px"},minWidth:a,top:"0",flex:"1",py:"2",mx:"2"},g={position:"fixed",top:`${m}px`,right:"0",width:f?`calc(100% - ${v}px)`:h.collapsedWidth,height:_,zIndex:"500",transitionProperty:"width",transitionDuration:"fast",transitionTimingFunction:"ease-out",p:"2"};return r.default.createElement(r.default.Fragment,null,c&&r.default.createElement(o.Box,{height:"100%",maxWidth:{xs:"300px",xxl:"378px"},minWidth:a,flex:"1",py:"2",mx:"2",pointerEvents:"none","aria-hidden":"true"}),r.default.createElement(o.Box,{...c?g:x,...l,ref:p},e))};t.AppShellChat=l,l.displayName="AppShellChat"},8444:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellChat=void 0;var r=n(6572);Object.defineProperty(t,"AppShellChat",{enumerable:!0,get:function(){return r.AppShellChat}})},3485:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellHeader=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280);t.AppShellHeader=({style:e,leftSlot:t,rightSlot:n,...a})=>r.default.createElement(o.Box,{padding:"2",backgroundColor:"neutral-surfaceDisabled",gap:"2",...a,display:"flex",justifyContent:t?"space-between":"flex-end",position:"sticky",top:"0"},t,n&&r.default.createElement(o.Box,{display:"flex",gap:{xs:"1",md:"2"}},n))},1450:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellHeader=void 0;const r=n(3485);var o=n(3485);Object.defineProperty(t,"AppShellHeader",{enumerable:!0,get:function(){return o.AppShellHeader}}),t.default=r.AppShellHeader},6338:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=n(5163);r.__exportStar(n(1450),t),r.__exportStar(n(1617),t),r.__exportStar(n(8444),t)},41:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.initialAppShellMenuContextValue=void 0,t.initialAppShellMenuContextValue={isMenuPopover:!1}},8626:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useAppShellMenuContext=t.AppShellMenuContext=void 0;const r=n(8156),o=n(41);t.AppShellMenuContext=(0,r.createContext)(void 0);t.useAppShellMenuContext=(e=!0)=>{const n=(0,r.useContext)(t.AppShellMenuContext);if(void 0===n){if(!e)return o.initialAppShellMenuContextValue;throw new Error("useAppShellMenuContext must be used within an AppShell Menu")}return n}},5128:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useAppShellMenuContext=t.AppShellMenuContext=void 0;var r=n(8626);Object.defineProperty(t,"AppShellMenuContext",{enumerable:!0,get:function(){return r.AppShellMenuContext}}),Object.defineProperty(t,"useAppShellMenuContext",{enumerable:!0,get:function(){return r.useAppShellMenuContext}})},8377:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useAppShellMenuContext=t.AppShellMenuContext=void 0;var r=n(5128);Object.defineProperty(t,"AppShellMenuContext",{enumerable:!0,get:function(){return r.AppShellMenuContext}}),Object.defineProperty(t,"useAppShellMenuContext",{enumerable:!0,get:function(){return r.useAppShellMenuContext}})},8462:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useAppShellMenuContext=t.AppShell=void 0;const r=n(8713);var o=n(8713);Object.defineProperty(t,"AppShell",{enumerable:!0,get:function(){return o.AppShell}});var a=n(8377);Object.defineProperty(t,"useAppShellMenuContext",{enumerable:!0,get:function(){return a.useAppShellMenuContext}}),t.default=r.AppShell},5163:(e,t,n)=>{n.r(t),n.d(t,{__assign:()=>a,__asyncDelegator:()=>P,__asyncGenerator:()=>O,__asyncValues:()=>A,__await:()=>w,__awaiter:()=>h,__classPrivateFieldGet:()=>T,__classPrivateFieldIn:()=>k,__classPrivateFieldSet:()=>B,__createBinding:()=>b,__decorate:()=>i,__esDecorate:()=>p,__exportStar:()=>v,__extends:()=>o,__generator:()=>y,__importDefault:()=>E,__importStar:()=>M,__makeTemplateObject:()=>j,__metadata:()=>d,__param:()=>u,__propKey:()=>s,__read:()=>_,__rest:()=>l,__runInitializers:()=>c,__setFunctionName:()=>f,__spread:()=>x,__spreadArray:()=>S,__spreadArrays:()=>g,__values:()=>m});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 a=function(){return a=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},a.apply(this,arguments)};function l(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 i(e,t,n,r){var o,a=arguments.length,l=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(l=(a<3?o(l):a>3?o(t,n,l):o(t,n))||l);return a>3&&l&&Object.defineProperty(t,n,l),l}function u(e,t){return function(n,r){t(n,r,e)}}function p(e,t,n,r,o,a){function l(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var i,u=r.kind,p="getter"===u?"get":"setter"===u?"set":"value",c=!t&&e?r.static?e:e.prototype:null,s=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),f=!1,d=n.length-1;d>=0;d--){var h={};for(var y in r)h[y]="access"===y?{}:r[y];for(var y in r.access)h.access[y]=r.access[y];h.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");a.push(l(e||null))};var b=(0,n[d])("accessor"===u?{get:s.get,set:s.set}:s[p],h);if("accessor"===u){if(void 0===b)continue;if(null===b||"object"!=typeof b)throw new TypeError("Object expected");(i=l(b.get))&&(s.get=i),(i=l(b.set))&&(s.set=i),(i=l(b.init))&&o.push(i)}else(i=l(b))&&("field"===u?o.push(i):s[p]=i)}c&&Object.defineProperty(c,r.name,s),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 s(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 d(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function h(e,t,n,r){return new(n||(n=Promise))((function(o,a){function l(e){try{u(r.next(e))}catch(e){a(e)}}function i(e){try{u(r.throw(e))}catch(e){a(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(l,i)}u((r=r.apply(e,t||[])).next())}))}function y(e,t){var n,r,o,a,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,i[0]&&(l=0)),l;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,r=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(o=l.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){l=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){l.label=i[1];break}if(6===i[0]&&l.label<o[1]){l.label=o[1],o=i;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(i);break}o[2]&&l.ops.pop(),l.trys.pop();continue}i=t.call(e,l)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,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 m(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,a=n.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)l.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return l}function x(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(_(arguments[t]));return e}function g(){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 a=arguments[t],l=0,i=a.length;l<i;l++,o++)r[o]=a[l];return r}function S(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;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 w(e){return this instanceof w?(this.v=e,this):new w(e)}function O(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r={},l("next"),l("throw"),l("return"),r[Symbol.asyncIterator]=function(){return this},r;function l(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||i(e,t)}))})}function i(e,t){try{(n=o[e](t)).value instanceof w?Promise.resolve(n.value.v).then(u,p):c(a[0][2],n)}catch(e){c(a[0][3],e)}var n}function u(e){i("next",e)}function p(e){i("throw",e)}function c(e,t){e(t),a.shift(),a.length&&i(a[0][0],a[0][1])}}function P(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:w(e[r](t)),done:!1}:o?o(t):t}:o}}function A(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=m(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 j(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var C=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function M(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 C(t,e),t}function E(e){return e&&e.__esModule?e:{default:e}}function T(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 B(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 k(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)}},6156:e=>{e.exports=n},5280:e=>{e.exports=t},8156:t=>{t.exports=e}},o={};function a(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,a),n.exports}return 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})},a(3718)})()));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nimbus-ds/components"),require("@floating-ui/react")):"function"==typeof define&&define.amd?define(["react","@nimbus-ds/components","@floating-ui/react"],t):"object"==typeof exports?exports["@nimbus-ds/patterns"]=t(require("react"),require("@nimbus-ds/components"),require("@floating-ui/react")):e["@nimbus-ds/patterns"]=t(e.react,e["@nimbus-ds/components"],e["@floating-ui/react"])}(global,((e,t,n)=>(()=>{"use strict";var r={8713:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShell=void 0;const r=n(5163).__importStar(n(8156)),o=n(5280),l=n(6156),a=n(6338),i=n(5128),u=({style:e,children:t,contentProperties:n,menu:a,menuProperties:u={display:{xs:"none",md:"block"}},menuExpanded:p=!0,menuExpandedWidth:c="240px",menuCollapsedWidth:s="48px",menuBehavior:f="inline",menuFlyout:d={trigger:"manual"},...h})=>{const y="popover"===f,{trigger:b="hover",open:v,defaultOpen:_=!1,onOpenChange:m,hoverOpenDelayMs:S=100,hoverCloseDelayMs:x=150,...g}=d??{},[A,w]=(0,r.useState)(_),P=v??A,O=(0,r.useCallback)((e=>{void 0===v&&w(e),m?.(e)}),[v,m]),{refs:C,context:j}=(0,l.useFloating)({open:!!y&&P,onOpenChange:O}),E=(0,l.useHover)(j,{delay:{open:S,close:x},handleClose:(0,l.safePolygon)(),enabled:"hover"===b}),M=(0,l.useFocus)(j,{enabled:"hover"===b}),T=(0,l.useDismiss)(j,{outsidePress:!0,escapeKey:!0}),H=(0,l.useRole)(j,{role:"dialog"}),{getReferenceProps:D,getFloatingProps:L}=(0,l.useInteractions)([E,M,T,H]),F=(0,r.useMemo)((()=>({isMenuPopover:!1})),[]),I=(0,r.useMemo)((()=>({isMenuPopover:!0})),[]);return r.default.createElement(o.Box,{...h,display:"flex"},a&&r.default.createElement(o.Box,{...u,width:p?c:s,height:"100vh",position:"sticky",top:"0",left:"0",borderStyle:"solid",borderWidth:"none",borderRightWidth:"1",borderColor:"neutral-surfaceDisabled",transitionProperty:"width",transitionDuration:"fast",transitionTimingFunction:"ease-out",flexShrink:p?"0":"1",ref:C.setReference,...D()},r.default.createElement(i.AppShellMenuContext.Provider,{value:F},a)),r.default.createElement(o.Box,{display:"grid",gridTemplateRows:"auto 1fr",flex:"1 1 auto",height:"100vh",width:"100%",backgroundColor:"neutral-surface",...n},t),y&&P&&r.default.createElement(i.AppShellMenuContext.Provider,{value:I},r.default.createElement(l.FloatingPortal,{id:"nimbus-popover-floating"},r.default.createElement(o.Box,{backgroundColor:"neutral-background",boxShadow:"2",borderStyle:"solid",borderWidth:"none",borderRightWidth:"1",borderColor:"neutral-surfaceDisabled",width:c,...g,position:"fixed",top:"0",left:"0",zIndex:"900",height:"100vh",ref:C.setFloating,...L()},a))))};t.AppShell=u,u.Header=a.AppShellHeader,u.Body=a.AppShellBody,u.Chat=a.AppShellChat,u.displayName="AppShell",u.Header.displayName="AppShell.Header",u.Body.displayName="AppShell.Body",u.Chat.displayName="AppShell.Chat"},3718:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=n(5163);r.__exportStar(n(8462),t),r.__exportStar(n(6338),t)},2545:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellBody=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280);t.AppShellBody=({children:e,...t})=>r.default.createElement(o.Box,{backgroundColor:"neutral-surface",width:"100%",overflow:"auto",height:"100%",...t,flex:"1 1 auto",display:"flex"},e)},1617:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellBody=void 0;var r=n(2545);Object.defineProperty(t,"AppShellBody",{enumerable:!0,get:function(){return r.AppShellBody}})},6572:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellChat=t.APPSHELL_CHAT_DEFAULT_WIDTH=void 0;const r=n(5163).__importStar(n(8156)),o=n(5280);t.APPSHELL_CHAT_DEFAULT_WIDTH="360px";const l=t.APPSHELL_CHAT_DEFAULT_WIDTH,a={xs:t.APPSHELL_CHAT_DEFAULT_WIDTH,xxl:"378px"},i=({children:e,expanded:t,defaultExpanded:n=!1,collapsedWidth:i,...u})=>{const[p]=(0,r.useState)(n),c=t??p,s=(0,r.useRef)(null),[f,d]=(0,r.useState)(!1),[h,y]=(0,r.useState)(!1),[b,v]=(0,r.useState)({parentLeft:0,parentTop:0,collapsedWidth:l}),_=()=>{if(s.current?.parentElement){const e=s.current.getBoundingClientRect(),t=s.current.parentElement.getBoundingClientRect();v({collapsedWidth:`${e.width}px`,parentLeft:t.left,parentTop:t.top})}};(0,r.useEffect)((()=>{if(!c)return;_();const e=s.current?.parentElement,t=e&&"undefined"!=typeof ResizeObserver?new ResizeObserver(_):null;return t&&e&&t.observe(e),window.addEventListener("resize",_),()=>{t?.disconnect(),window.removeEventListener("resize",_)}}),[c]),(0,r.useEffect)((()=>{c?(_(),d(!0),requestAnimationFrame((()=>{requestAnimationFrame((()=>{y(!0)}))}))):(y(!1),d(!1))}),[c]),(0,r.useEffect)((()=>{if(!c||"undefined"==typeof document)return;const e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}),[c]);const m=Math.max(b.parentLeft,0),S=Math.max(b.parentTop,0),x=`calc(100vh - ${S}px)`,g={position:"sticky",height:"100%",maxWidth:i??a,minWidth:i??l,top:"0",flex:"1",py:"2",mx:"2"},A={position:"fixed",top:`${S}px`,right:"0",width:h?`calc(100% - ${m}px)`:b.collapsedWidth,height:x,zIndex:"500",transitionProperty:"width",transitionDuration:"fast",transitionTimingFunction:"ease-out",p:"2"};return r.default.createElement(r.default.Fragment,null,f&&r.default.createElement(o.Box,{height:"100%",maxWidth:i??a,minWidth:i??l,flex:"1",py:"2",mx:"2",pointerEvents:"none","aria-hidden":"true"}),r.default.createElement(o.Box,{...f?A:g,...u,ref:s},e))};t.AppShellChat=i,i.displayName="AppShellChat"},8444:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.APPSHELL_CHAT_DEFAULT_WIDTH=t.AppShellChat=void 0;var r=n(6572);Object.defineProperty(t,"AppShellChat",{enumerable:!0,get:function(){return r.AppShellChat}}),Object.defineProperty(t,"APPSHELL_CHAT_DEFAULT_WIDTH",{enumerable:!0,get:function(){return r.APPSHELL_CHAT_DEFAULT_WIDTH}})},3485:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellHeader=void 0;const r=n(5163).__importDefault(n(8156)),o=n(5280);t.AppShellHeader=({style:e,leftSlot:t,rightSlot:n,...l})=>r.default.createElement(o.Box,{padding:"2",backgroundColor:"neutral-surface",gap:"2",...l,display:"flex",justifyContent:t?"space-between":"flex-end",position:"sticky",top:"0"},t,n&&r.default.createElement(o.Box,{display:"flex",gap:{xs:"1",md:"2"}},n))},1450:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AppShellHeader=void 0;const r=n(3485);var o=n(3485);Object.defineProperty(t,"AppShellHeader",{enumerable:!0,get:function(){return o.AppShellHeader}}),t.default=r.AppShellHeader},6338:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});const r=n(5163);r.__exportStar(n(1450),t),r.__exportStar(n(1617),t),r.__exportStar(n(8444),t)},41:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.initialAppShellMenuContextValue=void 0,t.initialAppShellMenuContextValue={isMenuPopover:!1}},8626:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useAppShellMenuContext=t.AppShellMenuContext=void 0;const r=n(8156),o=n(41);t.AppShellMenuContext=(0,r.createContext)(void 0);t.useAppShellMenuContext=(e=!0)=>{const n=(0,r.useContext)(t.AppShellMenuContext);if(void 0===n){if(!e)return o.initialAppShellMenuContextValue;throw new Error("useAppShellMenuContext must be used within an AppShell Menu")}return n}},5128:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useAppShellMenuContext=t.AppShellMenuContext=void 0;var r=n(8626);Object.defineProperty(t,"AppShellMenuContext",{enumerable:!0,get:function(){return r.AppShellMenuContext}}),Object.defineProperty(t,"useAppShellMenuContext",{enumerable:!0,get:function(){return r.useAppShellMenuContext}})},8377:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useAppShellMenuContext=t.AppShellMenuContext=void 0;var r=n(5128);Object.defineProperty(t,"AppShellMenuContext",{enumerable:!0,get:function(){return r.AppShellMenuContext}}),Object.defineProperty(t,"useAppShellMenuContext",{enumerable:!0,get:function(){return r.useAppShellMenuContext}})},8462:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.APPSHELL_CHAT_DEFAULT_WIDTH=t.useAppShellMenuContext=t.AppShell=void 0;const r=n(8713);var o=n(8713);Object.defineProperty(t,"AppShell",{enumerable:!0,get:function(){return o.AppShell}});var l=n(8377);Object.defineProperty(t,"useAppShellMenuContext",{enumerable:!0,get:function(){return l.useAppShellMenuContext}});var a=n(8444);Object.defineProperty(t,"APPSHELL_CHAT_DEFAULT_WIDTH",{enumerable:!0,get:function(){return a.APPSHELL_CHAT_DEFAULT_WIDTH}}),t.default=r.AppShell},5163:(e,t,n)=>{n.r(t),n.d(t,{__assign:()=>l,__asyncDelegator:()=>P,__asyncGenerator:()=>w,__asyncValues:()=>O,__await:()=>A,__awaiter:()=>h,__classPrivateFieldGet:()=>T,__classPrivateFieldIn:()=>D,__classPrivateFieldSet:()=>H,__createBinding:()=>b,__decorate:()=>i,__esDecorate:()=>p,__exportStar:()=>v,__extends:()=>o,__generator:()=>y,__importDefault:()=>M,__importStar:()=>E,__makeTemplateObject:()=>C,__metadata:()=>d,__param:()=>u,__propKey:()=>s,__read:()=>m,__rest:()=>a,__runInitializers:()=>c,__setFunctionName:()=>f,__spread:()=>S,__spreadArray:()=>g,__spreadArrays:()=>x,__values:()=>_});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 l=function(){return l=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},l.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 i(e,t,n,r){var o,l=arguments.length,a=l<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 i=e.length-1;i>=0;i--)(o=e[i])&&(a=(l<3?o(a):l>3?o(t,n,a):o(t,n))||a);return l>3&&a&&Object.defineProperty(t,n,a),a}function u(e,t){return function(n,r){t(n,r,e)}}function p(e,t,n,r,o,l){function a(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var i,u=r.kind,p="getter"===u?"get":"setter"===u?"set":"value",c=!t&&e?r.static?e:e.prototype:null,s=t||(c?Object.getOwnPropertyDescriptor(c,r.name):{}),f=!1,d=n.length-1;d>=0;d--){var h={};for(var y in r)h[y]="access"===y?{}:r[y];for(var y in r.access)h.access[y]=r.access[y];h.addInitializer=function(e){if(f)throw new TypeError("Cannot add initializers after decoration has completed");l.push(a(e||null))};var b=(0,n[d])("accessor"===u?{get:s.get,set:s.set}:s[p],h);if("accessor"===u){if(void 0===b)continue;if(null===b||"object"!=typeof b)throw new TypeError("Object expected");(i=a(b.get))&&(s.get=i),(i=a(b.set))&&(s.set=i),(i=a(b.init))&&o.push(i)}else(i=a(b))&&("field"===u?o.push(i):s[p]=i)}c&&Object.defineProperty(c,r.name,s),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 s(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 d(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function h(e,t,n,r){return new(n||(n=Promise))((function(o,l){function a(e){try{u(r.next(e))}catch(e){l(e)}}function i(e){try{u(r.throw(e))}catch(e){l(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,i)}u((r=r.apply(e,t||[])).next())}))}function y(e,t){var n,r,o,l,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return l={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function i(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,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 _(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 m(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,l=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=l.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=l.return)&&n.call(l)}finally{if(o)throw o.error}}return a}function S(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function x(){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 l=arguments[t],a=0,i=l.length;a<i;a++,o++)r[o]=l[a];return r}function g(e,t,n){if(n||2===arguments.length)for(var r,o=0,l=t.length;o<l;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 A(e){return this instanceof A?(this.v=e,this):new A(e)}function w(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),l=[];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){l.push([e,t,n,r])>1||i(e,t)}))})}function i(e,t){try{(n=o[e](t)).value instanceof A?Promise.resolve(n.value.v).then(u,p):c(l[0][2],n)}catch(e){c(l[0][3],e)}var n}function u(e){i("next",e)}function p(e){i("throw",e)}function c(e,t){e(t),l.shift(),l.length&&i(l[0][0],l[0][1])}}function P(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:A(e[r](t)),done:!1}:o?o(t):t}:o}}function O(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=_(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 C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var j=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function E(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 j(t,e),t}function M(e){return e&&e.__esModule?e:{default:e}}function T(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 H(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 D(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)}},6156:e=>{e.exports=n},5280:e=>{e.exports=t},8156:t=>{t.exports=e}},o={};function l(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,l),n.exports}return l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l(3718)})()));
@@ -0,0 +1,184 @@
1
+ // Generated by dts-bundle-generator v8.1.2
2
+
3
+ import React from 'react';
4
+ import { HTMLAttributes, ReactNode } from 'react';
5
+
6
+ export type BottomSheetPadding = "none" | "base";
7
+ /**
8
+ * A snap point expressed as a viewport-height percentage (e.g. "60%") or the
9
+ * keyword "full" (which stops just below the status bar, not full-bleed).
10
+ */
11
+ export type BottomSheetSnapPoint = `${number}%` | "full";
12
+ /**
13
+ * Predicate variant of `closeOnOutsidePress`: receives the DOM event and
14
+ * returns `true` to allow closing, `false` to ignore the press.
15
+ */
16
+ export type CloseOnOutsidePress = (event: PointerEvent | MouseEvent) => boolean;
17
+ export interface BottomSheetProperties {
18
+ /**
19
+ * Determines if the bottom sheet is shown or not.
20
+ * @default false
21
+ */
22
+ open?: boolean;
23
+ /**
24
+ * Callback fired when the component requests to be closed (overlay press,
25
+ * close control, Escape, or a downward dismiss gesture).
26
+ * () => void;
27
+ */
28
+ onRemove?: () => void;
29
+ /**
30
+ * Ordered list of heights the sheet can snap to. Each entry is a
31
+ * viewport-height percentage (e.g. "60%") or the keyword "full".
32
+ * @default ["60%", "90%", "full"]
33
+ */
34
+ snapPoints?: BottomSheetSnapPoint[];
35
+ /**
36
+ * Index within `snapPoints` used as the initial snap point.
37
+ * @default 0
38
+ */
39
+ defaultSnap?: number;
40
+ /**
41
+ * Content of the sheet. Compose with BottomSheet.Header, BottomSheet.Body
42
+ * and BottomSheet.Footer.
43
+ * @TJS-type React.ReactNode
44
+ */
45
+ children?: ReactNode;
46
+ /**
47
+ * Controls whether pressing outside should close the sheet.
48
+ * - boolean: enable/disable dismissal on outside press
49
+ * - function: receive the DOM event and return true to allow closing
50
+ * @default true
51
+ */
52
+ closeOnOutsidePress?: boolean | CloseOnOutsidePress;
53
+ /**
54
+ * The attribute name to ignore when checking for outside presses, so
55
+ * portaled Popover/Modal content does not close the sheet.
56
+ * @default "data-nimbus-outside-press-ignore"
57
+ */
58
+ ignoreAttributeName?: string;
59
+ /**
60
+ * Determines if background scroll is locked while the sheet is open.
61
+ * @default true
62
+ */
63
+ needRemoveScroll?: boolean;
64
+ /**
65
+ * Explicit z-index for the sheet layer. Omitted by default: like Nimbus's
66
+ * own Sidebar/Modal/Popover, the sheet relies on DOM mount order rather
67
+ * than a z-index. Its portal mounts into the nearest Nimbus
68
+ * <ThemeProvider>'s own wrapper element (the same container
69
+ * Sidebar/Modal/Popover portal into), falling back to document.body only
70
+ * when no ThemeProvider is present. In both cases, later-mounted siblings
71
+ * paint on top of earlier ones as long as neither sets a z-index, so this
72
+ * keeps the sheet correctly stacked against Popover and other BottomSheet
73
+ * instances. Only set this to force a specific stacking order against
74
+ * something outside that convention.
75
+ */
76
+ zIndex?: number;
77
+ }
78
+ /**
79
+ * Public props for `BottomSheet`. Combines `BottomSheetProperties` (the
80
+ * sheet's own behavior — visibility, snap points, dismissal, stacking) with
81
+ * `root` and every native `div` attribute except `color`.
82
+ */
83
+ export type BottomSheetProps = BottomSheetProperties & {
84
+ /**
85
+ * Root element where the portal should be mounted. When provided and not
86
+ * null, the portal renders inside this element. Otherwise it renders into
87
+ * the nearest Nimbus <ThemeProvider>'s own wrapper element (same as
88
+ * Sidebar/Modal/Popover), so it inherits the active theme's CSS custom
89
+ * properties and stacks correctly against them; it falls back to
90
+ * document.body only when no ThemeProvider is present. Useful to scope the
91
+ * sheet within a container (e.g., AppShell.Chat).
92
+ */
93
+ root?: HTMLElement | null;
94
+ } & Omit<HTMLAttributes<HTMLDivElement>, "color">;
95
+ export interface BottomSheetHeaderProperties {
96
+ /**
97
+ * The content of the sheet header. Accepts any node (title, actions, icons).
98
+ * @TJS-type React.ReactNode
99
+ */
100
+ children?: ReactNode;
101
+ /**
102
+ * The padding around the header content area.
103
+ * @default base
104
+ */
105
+ padding?: BottomSheetPadding;
106
+ }
107
+ /**
108
+ * Public props for `BottomSheet.Header`. Combines `BottomSheetHeaderProperties`
109
+ * with every native element attribute except `color` (same reason as
110
+ * `BottomSheetProps`: it conflicts with Box's own color-token sprinkle).
111
+ */
112
+ export type BottomSheetHeaderProps = BottomSheetHeaderProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
113
+ export interface BottomSheetBodyProperties {
114
+ /**
115
+ * The scrollable content of the sheet.
116
+ * @TJS-type React.ReactNode
117
+ */
118
+ children: ReactNode;
119
+ /**
120
+ * The padding around the body content area.
121
+ * @default base
122
+ */
123
+ padding?: BottomSheetPadding;
124
+ }
125
+ /**
126
+ * Public props for `BottomSheet.Body`. Combines `BottomSheetBodyProperties`
127
+ * (`children` is required, unlike `Header`'s) with every native element
128
+ * attribute except `color`.
129
+ */
130
+ export type BottomSheetBodyProps = BottomSheetBodyProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
131
+ export interface BottomSheetFooterProperties {
132
+ /**
133
+ * The content of the sheet footer.
134
+ * @TJS-type React.ReactNode
135
+ */
136
+ children: ReactNode;
137
+ /**
138
+ * The padding around the footer content area.
139
+ * @default base
140
+ */
141
+ padding?: BottomSheetPadding;
142
+ }
143
+ /**
144
+ * Public props for `BottomSheet.Footer`. Combines `BottomSheetFooterProperties`
145
+ * (`children` is required, same as `Body`) with every native element
146
+ * attribute except `color`. `BottomSheet.Footer` itself is optional to
147
+ * render at all — omitting it entirely is how a sheet renders without a
148
+ * footer region.
149
+ */
150
+ export type BottomSheetFooterProps = BottomSheetFooterProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
151
+ declare const BottomSheetBody: React.FC<BottomSheetBodyProps>;
152
+ declare const BottomSheetFooter: React.FC<BottomSheetFooterProps>;
153
+ declare const BottomSheetHeader: React.FC<BottomSheetHeaderProps>;
154
+ declare const BottomSheetBase: React.FC<BottomSheetProps>;
155
+ /**
156
+ * A mobile-first modal sheet that slides up from the bottom edge, with
157
+ * configurable snap points and a pointer-driven drag gesture to resize
158
+ * between them or dismiss by dragging down.
159
+ *
160
+ * Controlled via `open`/`onRemove`, the same contract as `Sidebar`: the
161
+ * component never changes its own visibility, it only requests to close (via
162
+ * overlay press, Escape, or a downward dismiss gesture) — the consumer sets
163
+ * `open` to `false` in response.
164
+ *
165
+ * Compose with `BottomSheet.Header` (optional), `BottomSheet.Body`
166
+ * (required), and `BottomSheet.Footer` (optional) as `children`.
167
+ *
168
+ * Behaves as a modal: renders as `role="dialog"`/`aria-modal="true"`, dims
169
+ * and blocks the background, traps focus while open, and restores it to the
170
+ * previously focused element on close. Automatically labels the dialog via
171
+ * `aria-labelledby` pointing at `BottomSheet.Header` when one is present;
172
+ * pass an explicit `aria-label`/`aria-labelledby` to override that.
173
+ */
174
+ export declare const BottomSheet: typeof BottomSheetBase & {
175
+ Header: typeof BottomSheetHeader;
176
+ Body: typeof BottomSheetBody;
177
+ Footer: typeof BottomSheetFooter;
178
+ };
179
+
180
+ export {
181
+ BottomSheet as default,
182
+ };
183
+
184
+ export {};
@@ -0,0 +1,2 @@
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(3687),l=n(8555),c=n(3040),d=n(7370),f=n(3636),p=n(749),m=n(9628),y=n(8002),b=n(1051),v=n(9773),h=(e,t)=>Math.min(Math.max(e,0),Math.max(t-1,0));let _=0;t.BottomSheet=({open:e=!1,onRemove:t,snapPoints:n=[...s.DEFAULT_SNAP_POINTS],defaultSnap:m=s.DEFAULT_SNAP_INDEX,children:y,closeOnOutsidePress:w=!0,ignoreAttributeName:g=s.DEFAULT_IGNORE_ATTRIBUTE_NAME,needRemoveScroll:S=!0,zIndex:E,root:O,...T})=>{const[P,x]=(0,r.useState)((()=>h(m,n.length))),D=(0,r.useRef)(null),I=(0,r.useRef)(null),L=(0,r.useRef)(null),A=(0,r.useRef)(null);A.current=O??null;const j=(0,r.useRef)(void 0);j.current||(_+=1,j.current=`bottom-sheet-header-${_}`);const M=(0,r.useRef)(!1);(0,r.useEffect)((()=>{e?(M.current?x((e=>h(e,n.length))):x(h(m,n.length)),M.current=!0):M.current=!1}),[e,n.length]);const{snaps:N,containerHeight:R}=(0,p.useSnapPoints)(n,A),B=(0,d.useKeyboardInset)(e),{refThemeProvider:H}=(0,a.useTheme)(),C=()=>t?.(),{offset:k,isDragging:F,grabberHandlers:G}=(0,l.useDragGesture)({snaps:N,snapIndex:P,containerHeight:R,onSnapChange:x,onDismiss:C});if((0,f.useScrollLock)(e&&S,I),(0,c.useFocusTrap)(I,e),(0,u.useDismissHandlers)({enabled:e,panelRef:I,overlayRef:D,closeOnOutsidePress:w,ignoreAttributeName:g,onRequestClose:C}),!e)return null;const z=Math.max(0,R-k-B),Y="undefined"!=typeof document?O??H?.current??document.body:null;if(!Y)return null;const{style:U,...K}=T,q="aria-label"in K||"aria-labelledby"in K;let V;const X=q?y:r.default.Children.map(y,(e=>{if(r.default.isValidElement(e)&&e.type===b.BottomSheetHeader){const t=e;return V=t.props.id??j.current,r.default.cloneElement(t,{id:V})}return e})),$={[g]:""};return(0,o.createPortal)(r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{ref:D,...$,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:I,role:"dialog","aria-modal":"true","aria-labelledby":q?void 0:V,tabIndex:-1,...$,...K,style:{...U,position:"fixed",left:0,right:0,display:"flex",flexDirection:"column",backgroundColor:"var(--nimbus-colors-neutral-background)",boxSizing:"border-box",bottom:B,height:z,zIndex:E,borderTopLeftRadius:"var(--nimbus-shape-border-radius-6)",borderTopRightRadius:"var(--nimbus-shape-border-radius-6)",transition:F?"none":s.SETTLE_TRANSITION}},r.default.createElement(v.Grabber,{ref:L,onPointerDown:G.onPointerDown,snapIndex:P,snapCount:N.length,onSnapChange:x}),r.default.createElement(i.Box,{display:"flex",flexDirection:"column",flex:"1",minHeight:"0"},X))),Y)},t.BottomSheet.Header=b.BottomSheetHeader,t.BottomSheet.Body=m.BottomSheetBody,t.BottomSheet.Footer=y.BottomSheetFooter,t.BottomSheet.displayName="BottomSheet"},9096:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_IGNORE_ATTRIBUTE_NAME=t.PADDING_TOKEN_MAP=t.SETTLE_TRANSITION=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.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"},3687:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useDismissHandlers=void 0;const r=n(8156),o=[];t.useDismissHandlers=({enabled:e,panelRef:t,overlayRef:n,closeOnOutsidePress:i=!0,ignoreAttributeName:a,onRequestClose:s})=>{(0,r.useEffect)((()=>{if(!e||"undefined"==typeof document)return;const r={};o.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(`[${a}], [data-floating-ui-portal]`)||(e=>"function"==typeof i?i(e):i)(e)&&s()},l=e=>{"Escape"===e.key&&o.at(-1)===r&&s()};return document.addEventListener("pointerdown",u,!0),document.addEventListener("keydown",l),()=>{document.removeEventListener("pointerdown",u,!0),document.removeEventListener("keydown",l);const e=o.indexOf(r);-1!==e&&o.splice(e,1)}}),[e,t,n,i,a,s])}},8555:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useDragGesture=void 0;const r=n(8156),o=n(9096),i=e=>e.map(((e,t)=>({...e,index:t}))).sort(((e,t)=>e.height-t.height));t.useDragGesture=({snaps:e,snapIndex:t,containerHeight:n,onSnapChange:a,onDismiss:s})=>{const u=e[t],[l,c]=(0,r.useState)(null),[d,f]=(0,r.useState)(!1),p=(0,r.useRef)(null),m=(0,r.useRef)(null),y=()=>{const e=m.current;e&&(document.removeEventListener("pointermove",e.move),document.removeEventListener("pointerup",e.up),document.removeEventListener("pointercancel",e.cancel),m.current=null)},b=(0,r.useCallback)((t=>{const r=i(e),a=r.at(-1)?.offset??0,s=(r[0]?.offset??n)+2*o.DISMISS_DISTANCE_THRESHOLD;return Math.min(Math.max(t,a),s)}),[e,n]),v=(0,r.useCallback)((e=>{if(!p.current)return;const t=e.timeStamp,n=t-p.current.lastTime||1,r=e.clientY-p.current.lastClientY;p.current.velocity=r/n,p.current.lastClientY=e.clientY,p.current.lastTime=t;const o=p.current.startOffset+(e.clientY-p.current.startClientY),i=b(o);p.current.currentOffset=i,c(i)}),[b]),h=(0,r.useCallback)((()=>{const n=p.current;if(p.current=null,f(!1),c(null),!n)return;const r=((e,t,n)=>{const r=i(n),a=r[0],s=e>a.offset+o.DISMISS_DISTANCE_THRESHOLD,u=t>o.DISMISS_VELOCITY_THRESHOLD&&e>=a.offset;if(s||u)return{dismiss:!0};let l=r.reduce(((t,n)=>Math.abs(e-n.offset)<Math.abs(e-t.offset)?n:t),r[0]);if(Math.abs(t)>o.DISMISS_VELOCITY_THRESHOLD){const e=r.findIndex((e=>e.index===l.index));if(t>0&&e>0){const t=r[e-1];t.height<l.height&&(l=t)}else if(t<0&&e<r.length-1){const t=r[e+1];t.height>l.height&&(l=t)}}return{dismiss:!1,index:l.index}})(n.currentOffset,n.velocity,e);r.dismiss?s():r.index!==t&&a(r.index),y()}),[e,t,a,s]),_=(0,r.useCallback)((()=>{p.current=null,f(!1),c(null),y()}),[]),w=(0,r.useCallback)((e=>{u&&(p.current={startClientY:e.clientY,startOffset:u.offset,lastClientY:e.clientY,lastTime:e.timeStamp,velocity:0,currentOffset:u.offset},f(!0),document.addEventListener("pointermove",v),document.addEventListener("pointerup",h),document.addEventListener("pointercancel",_),m.current={move:v,up:h,cancel:_})}),[u,v,h,_]);(0,r.useEffect)((()=>()=>{y(),p.current=null}),[]);const g=l??u?.offset??0;return(0,r.useMemo)((()=>({offset:g,isDragging:d,grabberHandlers:{onPointerDown:w}})),[g,d,w])}},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);let o=0,i="",a=0;const s=new Set,u=e=>{var t;(t=e.target)instanceof Node&&Array.from(s).some((e=>e.contains(t)))||(e=>e instanceof Element&&null!==e.closest("[data-floating-ui-portal]"))(e.target)||e.preventDefault()},l=()=>{window.scrollY!==a&&window.scrollTo(window.scrollX,a)};t.useScrollLock=(e,t)=>{(0,r.useEffect)((()=>{if(!e||"undefined"==typeof document)return;const n=t.current;return n&&s.add(n),0===o&&(i=document.body.style.overflow,a=window.scrollY,document.body.style.overflow="hidden",document.addEventListener("touchmove",u,{passive:!1}),window.addEventListener("scroll",l)),o+=1,()=>{n&&s.delete(n),o-=1,0===o&&(document.body.style.overflow=i,document.removeEventListener("touchmove",u),window.removeEventListener("scroll",l))}}),[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);t.Grabber=(0,r.forwardRef)((({onPointerDown:e,snapIndex:t,snapCount:n,onSnapChange:i},a)=>{const s=Math.max(n-1,0),u=e=>Math.min(Math.max(e,0),s);return r.default.createElement("div",{ref:a,onPointerDown:e,onKeyDown:e=>{switch(e.key){case"ArrowUp":e.preventDefault(),i(u(t+1));break;case"ArrowDown":e.preventDefault(),i(u(t-1));break;case"Home":e.preventDefault(),i(0);break;case"End":e.preventDefault(),i(s)}},role:"separator","aria-orientation":"horizontal","aria-label":"Drag to resize or dismiss","aria-valuenow":t,"aria-valuemin":0,"aria-valuemax":s,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:()=>P,__await:()=>E,__awaiter:()=>m,__classPrivateFieldGet:()=>A,__classPrivateFieldIn:()=>M,__classPrivateFieldSet:()=>j,__createBinding:()=>b,__decorate:()=>s,__esDecorate:()=>l,__exportStar:()=>v,__extends:()=>o,__generator:()=>y,__importDefault:()=>L,__importStar:()=>I,__makeTemplateObject:()=>x,__metadata:()=>p,__param:()=>u,__propKey:()=>d,__read:()=>_,__rest:()=>a,__runInitializers:()=>c,__setFunctionName:()=>f,__spread:()=>w,__spreadArray:()=>S,__spreadArrays:()=>g,__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 g(){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 S(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 P(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 x(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var D=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function I(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 D(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 j(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 M(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/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  Nimbus is an open-source Design System created by Tiendanube / Nuvesmhop's team to empower and enhance more stories every day, with simplicity, accessibility, consistency and performance.
4
4
 
5
+ ## 2026-06-25 `1.36.0`
6
+
7
+ #### 🎉 New features
8
+
9
+ - Added `collapsedWidth` prop and exported the `APPSHELL_CHAT_DEFAULT_WIDTH` constant on `AppShell.Chat`, allowing consumer-controlled panel sizing. ([#PR](https://github.com/TiendaNube/nimbus-patterns/pull/PR) by [@jffs](https://github.com/jffs))
10
+
11
+ ## 2026-05-04 `1.33.2`
12
+
13
+ #### 🐛 Bug fixes
14
+
15
+ - Fixed page scroll not being locked while `AppShellChat` is expanded in fullscreen mode. ([#167](https://github.com/TiendaNube/nimbus-patterns/pull/167) by [@jffs](https://github.com/jffs))
16
+
5
17
  ## 2026-03-04 `1.33.1`
6
18
 
7
19
  #### 🐛 Bug fixes