@nimbus-ds/scroll-pane 1.0.2-rc.1 → 1.1.0

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,11 +2,11 @@
2
2
 
3
3
  The ScrollPane component handles responsive scrolls in lists that are overflowing inside a container.
4
4
 
5
- ## 2025-11-12 `1.0.2`
5
+ ## 2025-11-12 `1.1.0`
6
6
 
7
- #### 🐛 Bug fixes
7
+ #### 🎉 New features
8
8
 
9
- - `ScrollPane`: Fixed focus ring styles to match design system. ([#383](https://github.com/TiendaNube/nimbus-design-system/pull/383) by [@joacotornello](https://github.com/joacotornello))
9
+ - Added `enableGrabScroll` property to enable grab scroll functionality. ([#382](https://github.com/TiendaNube/nimbus-design-system/pull/382) by [@joacotornello](https://github.com/joacotornello))
10
10
 
11
11
  ## 2025-09-10 `1.0.1`
12
12
 
package/README.md CHANGED
@@ -32,6 +32,7 @@ The ScrollPane component consists of:
32
32
  - **Gradient Overlays** - Visual indicators showing there's more content to scroll
33
33
  - **Navigation Arrows** - Optional clickable arrows for precise scrolling control (especially useful on desktop)
34
34
  - **Scroll-to-Item** - Automatically scrolls items into view when clicked
35
+ - **Grab Scroll** - Click and drag to scroll functionality (like mobile touch scrolling on desktop)
35
36
  - **Direction Support** - Handles both horizontal and vertical scrolling
36
37
  - **Scrollbar Control** - Option to show or hide the scrollbar
37
38
  - **Responsive** - Works on both desktop and mobile devices
@@ -47,6 +48,8 @@ The component includes proper ARIA labels for navigation arrows and supports key
47
48
  - Apply to content that might overflow on smaller screens
48
49
  - Enable arrows for desktop users who need precise control
49
50
  - Use gradients to indicate additional content availability
51
+ - Enable grab scroll for a more intuitive drag-to-scroll experience (similar to mobile touch scrolling)
52
+ - Combine grab scroll with arrows and gradients for maximum usability
50
53
 
51
54
  ### Related Components
52
55
 
package/dist/CHANGELOG.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  The ScrollPane component handles responsive scrolls in lists that are overflowing inside a container.
4
4
 
5
- ## 2025-11-12 `1.0.2`
5
+ ## 2025-11-12 `1.1.0`
6
6
 
7
- #### 🐛 Bug fixes
7
+ #### 🎉 New features
8
8
 
9
- - `ScrollPane`: Fixed focus ring styles to match design system. ([#383](https://github.com/TiendaNube/nimbus-design-system/pull/383) by [@joacotornello](https://github.com/joacotornello))
9
+ - Added `enableGrabScroll` property to enable grab scroll functionality. ([#382](https://github.com/TiendaNube/nimbus-design-system/pull/382) by [@joacotornello](https://github.com/joacotornello))
10
10
 
11
11
  ## 2025-09-10 `1.0.1`
12
12
 
package/dist/README.md CHANGED
@@ -32,6 +32,7 @@ The ScrollPane component consists of:
32
32
  - **Gradient Overlays** - Visual indicators showing there's more content to scroll
33
33
  - **Navigation Arrows** - Optional clickable arrows for precise scrolling control (especially useful on desktop)
34
34
  - **Scroll-to-Item** - Automatically scrolls items into view when clicked
35
+ - **Grab Scroll** - Click and drag to scroll functionality (like mobile touch scrolling on desktop)
35
36
  - **Direction Support** - Handles both horizontal and vertical scrolling
36
37
  - **Scrollbar Control** - Option to show or hide the scrollbar
37
38
  - **Responsive** - Works on both desktop and mobile devices
@@ -47,6 +48,8 @@ The component includes proper ARIA labels for navigation arrows and supports key
47
48
  - Apply to content that might overflow on smaller screens
48
49
  - Enable arrows for desktop users who need precise control
49
50
  - Use gradients to indicate additional content availability
51
+ - Enable grab scroll for a more intuitive drag-to-scroll experience (similar to mobile touch scrolling)
52
+ - Combine grab scroll with arrows and gradients for maximum usability
50
53
 
51
54
  ### Related Components
52
55
 
package/dist/index.d.ts CHANGED
@@ -801,7 +801,7 @@ export interface ScrollPaneItemProperties {
801
801
  */
802
802
  onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
803
803
  }
804
- export type ScrollPaneItemProps = ScrollPaneItemProperties & Omit<React.HTMLAttributes<HTMLDivElement>, "children">;
804
+ export type ScrollPaneItemProps = ScrollPaneItemProperties & Omit<BoxProps, "children">;
805
805
  export type ScrollPaneArrowProperties = {
806
806
  children: ReactNode;
807
807
  };
@@ -846,6 +846,12 @@ export interface ScrollPaneProperties {
846
846
  * @default true
847
847
  */
848
848
  scrollToItemOnClick?: boolean;
849
+ /**
850
+ * Enable grab-to-scroll functionality (click and drag to scroll)
851
+ * When enabled, prevents item dragging inside the ScrollPane
852
+ * @default false
853
+ */
854
+ enableGrabScroll?: boolean;
849
855
  /**
850
856
  * Custom arrow component to render at the start of the scroll area
851
857
  */
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("react"),require("@nimbus-ds/box"),require("@nimbus-ds/styles")):"function"==typeof define&&define.amd?define(["react","@nimbus-ds/box","@nimbus-ds/styles"],r):"object"==typeof exports?exports["@nimbus-ds/scroll-pane"]=r(require("react"),require("@nimbus-ds/box"),require("@nimbus-ds/styles")):e["@nimbus-ds/scroll-pane"]=r(e.react,e["@nimbus-ds/box"],e["@nimbus-ds/styles"])}(global,((e,r,t)=>(()=>{"use strict";var o={865:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.getPosition=void 0;r.getPosition=(e,r)=>{const t=((e,r)=>{const t="horizontal"===r;return"start"===e?t?"left":"top":t?"right":"bottom"})(e,r);return`${r}-${t}`}},627:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ScrollPane=void 0;const o=t(769).__importStar(t(155)),n=t(558),a=t(367),l=t(337),c=t(865),i=({children:e,showGradients:r=!0,showArrows:t=!1,showScrollbar:i=!0,direction:s="horizontal",scrollToItemOnClick:u=!0,scrollPaneArrowStart:f,scrollPaneArrowEnd:d,contentContainerProps:p,...y})=>{const b=(0,o.useRef)(null),m=(0,o.useRef)(null),[_,v]=(0,o.useState)(!1),[w,P]=(0,o.useState)(!1),[h,S]=(0,o.useState)(!1),g=(0,o.useCallback)((()=>{if(!b.current)return;const e=b.current,{scrollLeft:r,scrollTop:t,scrollWidth:o,scrollHeight:n,clientWidth:a,clientHeight:l}=e;"horizontal"===s?(v(r>0),P(r<o-a-1)):(v(t>0),P(t<n-l-1))}),[s]),O=(0,o.useCallback)((()=>{h||S(!0),g(),m.current&&clearTimeout(m.current),m.current=setTimeout((()=>{S(!1)}),150)}),[g,h]),j=(0,o.useCallback)((e=>{if(!b.current)return;const r=b.current,t="horizontal"===s?.8*r.clientWidth:.8*r.clientHeight;if("horizontal"===s){const o="start"===e?r.scrollLeft-t:r.scrollLeft+t;r.scrollTo({left:Math.max(0,Math.min(o,r.scrollWidth-r.clientWidth)),behavior:"smooth"})}else{const o="start"===e?r.scrollTop-t:r.scrollTop+t;r.scrollTo({top:Math.max(0,Math.min(o,r.scrollHeight-r.clientHeight)),behavior:"smooth"})}}),[s]);(0,o.useEffect)((()=>{const e=b.current;if(!e)return;g(),e.addEventListener("scroll",O);const r=new ResizeObserver(g);return r.observe(e),()=>{e.removeEventListener("scroll",O),r.disconnect(),m.current&&clearTimeout(m.current)}}),[g,O]);const E=(0,o.useMemo)((()=>({direction:s,scrollToItemOnClick:u,containerRef:b,scrollToDirection:j})),[s,u,j]);return o.default.createElement(l.ScrollPaneContext.Provider,{value:E},o.default.createElement(n.Box,{as:"div",position:"relative",...y},o.default.createElement("div",{ref:b,className:[a.scrollPane.classnames.scrollArea,a.scrollPane.classnames.direction[s],!i&&a.scrollPane.classnames.scrollAreaHidden].filter(Boolean).join(" ")},o.default.createElement(n.Box,{display:"flex",...p},e),r&&o.default.createElement(o.default.Fragment,null,_&&o.default.createElement("div",{className:[a.scrollPane.classnames.gradient,a.scrollPane.classnames.gradientVariants[(0,c.getPosition)("start",s)]].join(" ")}),w&&o.default.createElement("div",{className:[a.scrollPane.classnames.gradient,a.scrollPane.classnames.gradientVariants[(0,c.getPosition)("end",s)]].join(" ")})),t&&o.default.createElement(o.default.Fragment,null,_&&f,w&&d))))};r.ScrollPane=i,i.displayName="ScrollPane",i.Item=l.ScrollPaneItem,i.ArrowHorizontalStart=l.ScrollPaneArrowHorizontalStart,i.ArrowHorizontalEnd=l.ScrollPaneArrowHorizontalEnd,i.ArrowVerticalStart=l.ScrollPaneArrowVerticalStart,i.ArrowVerticalEnd=l.ScrollPaneArrowVerticalEnd,i.Item.displayName="ScrollPane.Item",i.ArrowHorizontalStart.displayName="ScrollPane.ArrowHorizontalStart",i.ArrowHorizontalEnd.displayName="ScrollPane.ArrowHorizontalEnd",i.ArrowVerticalStart.displayName="ScrollPane.ArrowVerticalStart",i.ArrowVerticalEnd.displayName="ScrollPane.ArrowVerticalEnd"},138:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ScrollPaneArrowVerticalEnd=r.ScrollPaneArrowVerticalStart=r.ScrollPaneArrowHorizontalEnd=r.ScrollPaneArrowHorizontalStart=void 0;const o=t(769).__importDefault(t(155)),n=t(367),a=t(640),l=({children:e,variant:r,direction:t})=>{const l=(0,a.useScrollPaneContext)(),c=()=>l.scrollToDirection(t);return o.default.createElement("div",{className:[n.scrollPane.classnames.arrow,n.scrollPane.classnames.arrowVariants[r]].join(" "),onClick:c,onKeyDown:e=>{"Enter"!==e.key&&"Space"!==e.code||(e.preventDefault(),c())},role:"button",tabIndex:0,"aria-label":"Scroll "+("start"===t?"backward":"forward")},e)};r.ScrollPaneArrowHorizontalStart=({children:e})=>o.default.createElement(l,{variant:"horizontal-left",direction:"start"},e);r.ScrollPaneArrowHorizontalEnd=({children:e})=>o.default.createElement(l,{variant:"horizontal-right",direction:"end"},e);r.ScrollPaneArrowVerticalStart=({children:e})=>o.default.createElement(l,{variant:"vertical-top",direction:"start"},e);r.ScrollPaneArrowVerticalEnd=({children:e})=>o.default.createElement(l,{variant:"vertical-bottom",direction:"end"},e)},658:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ScrollPaneArrowVerticalEnd=r.ScrollPaneArrowVerticalStart=r.ScrollPaneArrowHorizontalEnd=r.ScrollPaneArrowHorizontalStart=void 0;var o=t(138);Object.defineProperty(r,"ScrollPaneArrowHorizontalStart",{enumerable:!0,get:function(){return o.ScrollPaneArrowHorizontalStart}}),Object.defineProperty(r,"ScrollPaneArrowHorizontalEnd",{enumerable:!0,get:function(){return o.ScrollPaneArrowHorizontalEnd}}),Object.defineProperty(r,"ScrollPaneArrowVerticalStart",{enumerable:!0,get:function(){return o.ScrollPaneArrowVerticalStart}}),Object.defineProperty(r,"ScrollPaneArrowVerticalEnd",{enumerable:!0,get:function(){return o.ScrollPaneArrowVerticalEnd}})},516:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.scrollItemIntoView=void 0;r.scrollItemIntoView=(e,r,t)=>{const o=e.getBoundingClientRect(),n=r.getBoundingClientRect();if(!((e,r,t)=>"horizontal"===t?r.left>=e.left&&r.right<=e.right:r.top>=e.top&&r.bottom<=e.bottom)(o,n,t))if("horizontal"===t){const r=o.width/2,t=n.width/2,a=n.left-o.left-r+t,l=e.scrollLeft+a;e.scrollTo({left:Math.max(0,l),behavior:"smooth"})}else{const r=o.height/2,t=n.height/2,a=n.top-o.top-r+t,l=e.scrollTop+a;e.scrollTo({top:Math.max(0,l),behavior:"smooth"})}}},900:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ScrollPaneItem=void 0;const o=t(769).__importDefault(t(155)),n=t(640),a=t(516),l=t(367);r.ScrollPaneItem=({children:e,onClick:r,...t})=>{const c=(0,n.useScrollPaneContext)();return o.default.createElement("div",{className:l.scrollPane.classnames.item,onClick:e=>{if(r&&r(e),c.scrollToItemOnClick&&e.currentTarget){const r=c.containerRef?.current,t=e.currentTarget;r&&t&&c.direction&&(0,a.scrollItemIntoView)(r,t,c.direction)}}},e)}},742:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0});const o=t(769);o.__exportStar(t(900),r),o.__exportStar(t(119),r)},119:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0})},337:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.ScrollPaneArrowVerticalEnd=r.ScrollPaneArrowVerticalStart=r.ScrollPaneArrowHorizontalEnd=r.ScrollPaneArrowHorizontalStart=r.ScrollPaneContext=r.ScrollPaneItem=void 0;var o=t(742);Object.defineProperty(r,"ScrollPaneItem",{enumerable:!0,get:function(){return o.ScrollPaneItem}});var n=t(640);Object.defineProperty(r,"ScrollPaneContext",{enumerable:!0,get:function(){return n.ScrollPaneContext}});var a=t(658);Object.defineProperty(r,"ScrollPaneArrowHorizontalStart",{enumerable:!0,get:function(){return a.ScrollPaneArrowHorizontalStart}}),Object.defineProperty(r,"ScrollPaneArrowHorizontalEnd",{enumerable:!0,get:function(){return a.ScrollPaneArrowHorizontalEnd}}),Object.defineProperty(r,"ScrollPaneArrowVerticalStart",{enumerable:!0,get:function(){return a.ScrollPaneArrowVerticalStart}}),Object.defineProperty(r,"ScrollPaneArrowVerticalEnd",{enumerable:!0,get:function(){return a.ScrollPaneArrowVerticalEnd}})},250:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.useScrollPaneContext=r.ScrollPaneContext=void 0;const o=t(155);r.ScrollPaneContext=(0,o.createContext)(null);r.useScrollPaneContext=()=>{const e=(0,o.useContext)(r.ScrollPaneContext);if(!e)throw new Error("useScrollPaneContext must be used within a ScrollPane");return e}},640:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.useScrollPaneContext=r.ScrollPaneContext=void 0;var o=t(250);Object.defineProperty(r,"ScrollPaneContext",{enumerable:!0,get:function(){return o.ScrollPaneContext}}),Object.defineProperty(r,"useScrollPaneContext",{enumerable:!0,get:function(){return o.useScrollPaneContext}})},558:e=>{e.exports=r},367:e=>{e.exports=t},155:r=>{r.exports=e},769:(e,r,t)=>{t.r(r),t.d(r,{__addDisposableResource:()=>H,__assign:()=>a,__asyncDelegator:()=>j,__asyncGenerator:()=>O,__asyncValues:()=>E,__await:()=>g,__awaiter:()=>y,__classPrivateFieldGet:()=>C,__classPrivateFieldIn:()=>I,__classPrivateFieldSet:()=>V,__createBinding:()=>m,__decorate:()=>c,__disposeResources:()=>k,__esDecorate:()=>s,__exportStar:()=>_,__extends:()=>n,__generator:()=>b,__importDefault:()=>z,__importStar:()=>T,__makeTemplateObject:()=>x,__metadata:()=>p,__param:()=>i,__propKey:()=>f,__read:()=>w,__rest:()=>l,__runInitializers:()=>u,__setFunctionName:()=>d,__spread:()=>P,__spreadArray:()=>S,__spreadArrays:()=>h,__values:()=>v,default:()=>D});var o=function(e,r){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},o(e,r)};function n(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function t(){this.constructor=e}o(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}var a=function(){return a=Object.assign||function(e){for(var r,t=1,o=arguments.length;t<o;t++)for(var n in r=arguments[t])Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);return e},a.apply(this,arguments)};function l(e,r){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(o=Object.getOwnPropertySymbols(e);n<o.length;n++)r.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(t[o[n]]=e[o[n]])}return t}function c(e,r,t,o){var n,a=arguments.length,l=a<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,r,t,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(l=(a<3?n(l):a>3?n(r,t,l):n(r,t))||l);return a>3&&l&&Object.defineProperty(r,t,l),l}function i(e,r){return function(t,o){r(t,o,e)}}function s(e,r,t,o,n,a){function l(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,i=o.kind,s="getter"===i?"get":"setter"===i?"set":"value",u=!r&&e?o.static?e:e.prototype:null,f=r||(u?Object.getOwnPropertyDescriptor(u,o.name):{}),d=!1,p=t.length-1;p>=0;p--){var y={};for(var b in o)y[b]="access"===b?{}:o[b];for(var b in o.access)y.access[b]=o.access[b];y.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");a.push(l(e||null))};var m=(0,t[p])("accessor"===i?{get:f.get,set:f.set}:f[s],y);if("accessor"===i){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw new TypeError("Object expected");(c=l(m.get))&&(f.get=c),(c=l(m.set))&&(f.set=c),(c=l(m.init))&&n.unshift(c)}else(c=l(m))&&("field"===i?n.unshift(c):f[s]=c)}u&&Object.defineProperty(u,o.name,f),d=!0}function u(e,r,t){for(var o=arguments.length>2,n=0;n<r.length;n++)t=o?r[n].call(e,t):r[n].call(e);return o?t:void 0}function f(e){return"symbol"==typeof e?e:"".concat(e)}function d(e,r,t){return"symbol"==typeof r&&(r=r.description?"[".concat(r.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:t?"".concat(t," ",r):r})}function p(e,r){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,r)}function y(e,r,t,o){return new(t||(t=Promise))((function(n,a){function l(e){try{i(o.next(e))}catch(e){a(e)}}function c(e){try{i(o.throw(e))}catch(e){a(e)}}function i(e){var r;e.done?n(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(l,c)}i((o=o.apply(e,r||[])).next())}))}function b(e,r){var t,o,n,a,l={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(c){return function(i){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(l=0)),l;)try{if(t=1,o&&(n=2&c[0]?o.return:c[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,c[1])).done)return n;switch(o=0,n&&(c=[2&c[0],n.value]),c[0]){case 0:case 1:n=c;break;case 4:return l.label++,{value:c[1],done:!1};case 5:l.label++,o=c[1],c=[0];continue;case 7:c=l.ops.pop(),l.trys.pop();continue;default:if(!(n=l.trys,(n=n.length>0&&n[n.length-1])||6!==c[0]&&2!==c[0])){l=0;continue}if(3===c[0]&&(!n||c[1]>n[0]&&c[1]<n[3])){l.label=c[1];break}if(6===c[0]&&l.label<n[1]){l.label=n[1],n=c;break}if(n&&l.label<n[2]){l.label=n[2],l.ops.push(c);break}n[2]&&l.ops.pop(),l.trys.pop();continue}c=r.call(e,l)}catch(e){c=[6,e],o=0}finally{t=n=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,i])}}}var m=Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]};function _(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||m(r,e,t)}function v(e){var r="function"==typeof Symbol&&Symbol.iterator,t=r&&e[r],o=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var o,n,a=t.call(e),l=[];try{for(;(void 0===r||r-- >0)&&!(o=a.next()).done;)l.push(o.value)}catch(e){n={error:e}}finally{try{o&&!o.done&&(t=a.return)&&t.call(a)}finally{if(n)throw n.error}}return l}function P(){for(var e=[],r=0;r<arguments.length;r++)e=e.concat(w(arguments[r]));return e}function h(){for(var e=0,r=0,t=arguments.length;r<t;r++)e+=arguments[r].length;var o=Array(e),n=0;for(r=0;r<t;r++)for(var a=arguments[r],l=0,c=a.length;l<c;l++,n++)o[n]=a[l];return o}function S(e,r,t){if(t||2===arguments.length)for(var o,n=0,a=r.length;n<a;n++)!o&&n in r||(o||(o=Array.prototype.slice.call(r,0,n)),o[n]=r[n]);return e.concat(o||Array.prototype.slice.call(r))}function g(e){return this instanceof g?(this.v=e,this):new g(e)}function O(e,r,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,n=t.apply(e,r||[]),a=[];return o={},l("next"),l("throw"),l("return"),o[Symbol.asyncIterator]=function(){return this},o;function l(e){n[e]&&(o[e]=function(r){return new Promise((function(t,o){a.push([e,r,t,o])>1||c(e,r)}))})}function c(e,r){try{(t=n[e](r)).value instanceof g?Promise.resolve(t.value.v).then(i,s):u(a[0][2],t)}catch(e){u(a[0][3],e)}var t}function i(e){c("next",e)}function s(e){c("throw",e)}function u(e,r){e(r),a.shift(),a.length&&c(a[0][0],a[0][1])}}function j(e){var r,t;return r={},o("next"),o("throw",(function(e){throw e})),o("return"),r[Symbol.iterator]=function(){return this},r;function o(o,n){r[o]=e[o]?function(r){return(t=!t)?{value:g(e[o](r)),done:!1}:n?n(r):r}:n}}function E(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,t=e[Symbol.asyncIterator];return t?t.call(e):(e=v(e),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(t){r[t]=e[t]&&function(r){return new Promise((function(o,n){(function(e,r,t,o){Promise.resolve(o).then((function(r){e({value:r,done:t})}),r)})(o,n,(r=e[t](r)).done,r.value)}))}}}function x(e,r){return Object.defineProperty?Object.defineProperty(e,"raw",{value:r}):e.raw=r,e}var A=Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r};function T(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&m(r,e,t);return A(r,e),r}function z(e){return e&&e.__esModule?e:{default:e}}function C(e,r,t,o){if("a"===t&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof r?e!==r||!o:!r.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?o:"a"===t?o.call(e):o?o.value:r.get(e)}function V(e,r,t,o,n){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof r?e!==r||!n:!r.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?n.call(e,t):n?n.value=t:r.set(e,t),t}function I(e,r){if(null===r||"object"!=typeof r&&"function"!=typeof r)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?r===e:e.has(r)}function H(e,r,t){if(null!=r){if("object"!=typeof r&&"function"!=typeof r)throw new TypeError("Object expected.");var o;if(t){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");o=r[Symbol.asyncDispose]}if(void 0===o){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");o=r[Symbol.dispose]}if("function"!=typeof o)throw new TypeError("Object not disposable.");e.stack.push({value:r,dispose:o,async:t})}else t&&e.stack.push({async:!0});return r}var M="function"==typeof SuppressedError?SuppressedError:function(e,r,t){var o=new Error(t);return o.name="SuppressedError",o.error=e,o.suppressed=r,o};function k(e){function r(r){e.error=e.hasError?new M(r,e.error,"An error was suppressed during disposal."):r,e.hasError=!0}return function t(){for(;e.stack.length;){var o=e.stack.pop();try{var n=o.dispose&&o.dispose.call(o.value);if(o.async)return Promise.resolve(n).then(t,(function(e){return r(e),t()}))}catch(e){r(e)}}if(e.hasError)throw e.error}()}const D={__extends:n,__assign:a,__rest:l,__decorate:c,__param:i,__metadata:p,__awaiter:y,__generator:b,__createBinding:m,__exportStar:_,__values:v,__read:w,__spread:P,__spreadArrays:h,__spreadArray:S,__await:g,__asyncGenerator:O,__asyncDelegator:j,__asyncValues:E,__makeTemplateObject:x,__importStar:T,__importDefault:z,__classPrivateFieldGet:C,__classPrivateFieldSet:V,__classPrivateFieldIn:I,__addDisposableResource:H,__disposeResources:k}}},n={};function a(e){var r=n[e];if(void 0!==r)return r.exports;var t=n[e]={exports:{}};return o[e](t,t.exports,a),t.exports}a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l={};return(()=>{var e=l;Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollPane=void 0;var r=a(627);Object.defineProperty(e,"ScrollPane",{enumerable:!0,get:function(){return r.ScrollPane}})})(),l})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nimbus-ds/box"),require("@nimbus-ds/styles")):"function"==typeof define&&define.amd?define(["react","@nimbus-ds/box","@nimbus-ds/styles"],t):"object"==typeof exports?exports["@nimbus-ds/scroll-pane"]=t(require("react"),require("@nimbus-ds/box"),require("@nimbus-ds/styles")):e["@nimbus-ds/scroll-pane"]=t(e.react,e["@nimbus-ds/box"],e["@nimbus-ds/styles"])}(global,((e,t,r)=>(()=>{"use strict";var n={509:(e,t,r)=>{r.r(t),r.d(t,{default:()=>h});var n,o,a=r(155),l=r.n(a),i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},c=(o=n={path:void 0,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports,function(){var e={}.hasOwnProperty;function t(){for(var r=[],n=0;n<arguments.length;n++){var o=arguments[n];if(o){var a=typeof o;if("string"===a||"number"===a)r.push(o);else if(Array.isArray(o)&&o.length){var l=t.apply(null,o);l&&r.push(l)}else if("object"===a)for(var i in o)e.call(o,i)&&o[i]&&r.push(i)}}return r.join(" ")}o.exports?(t.default=t,o.exports=t):window.classNames=t}(),n.exports);function s(e,t,r){var n,o,a,l,i;function c(){var s=Date.now()-l;s<t&&s>=0?n=setTimeout(c,t-s):(n=null,r||(i=e.apply(a,o),a=o=null))}null==t&&(t=100);var s=function(){a=this,o=arguments,l=Date.now();var s=r&&!n;return n||(n=setTimeout(c,t)),s&&(i=e.apply(a,o),a=o=null),i};return s.clear=function(){n&&(clearTimeout(n),n=null)},s.flush=function(){n&&(i=e.apply(a,o),a=o=null,clearTimeout(n),n=null)},s}s.debounce=s;var u=s;!function(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".indiana-scroll-container {\n overflow: auto;\n}\n.indiana-scroll-container--dragging {\n scroll-behavior: auto !important;\n}\n.indiana-scroll-container--dragging > * {\n pointer-events: none;\n cursor: -webkit-grab;\n cursor: grab;\n}\n.indiana-scroll-container--hide-scrollbars {\n overflow: hidden;\n overflow: -moz-scrollbars-none;\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n.indiana-scroll-container--hide-scrollbars::-webkit-scrollbar {\n display: none !important;\n height: 0 !important;\n width: 0 !important;\n background: transparent !important;\n -webkit-appearance: none !important;\n}\n.indiana-scroll-container--native-scroll {\n overflow: auto;\n}\n\n.indiana-dragging {\n cursor: -webkit-grab;\n cursor: grab;\n}");var p,d=(p="indiana-scroll-container",function(e,t){if(!e)return p;var r;"string"==typeof e?r=e:t=e;var n=p;return r&&(n+="__"+r),n+(t?Object.keys(t).reduce((function(e,r){var o=t[r];return o&&(e+=" "+("boolean"==typeof o?n+"--"+r:n+"--"+r+"_"+o)),e}),""):"")}),f=function(e){function t(t){var r=e.call(this,t)||this;return r.onEndScroll=function(){r.scrolling=!1,!r.pressed&&r.started&&r.processEnd()},r.onScroll=function(e){var t=r.container.current;t.scrollLeft===r.scrollLeft&&t.scrollTop===r.scrollTop||(r.scrolling=!0,r.processScroll(e),r.onEndScroll())},r.onTouchStart=function(e){var t=r.props.nativeMobileScroll;if(r.isDraggable(e.target))if(r.internal=!0,t&&r.scrolling)r.pressed=!0;else{var n=e.touches[0];r.processClick(e,n.clientX,n.clientY),!t&&r.props.stopPropagation&&e.stopPropagation()}},r.onTouchEnd=function(e){var t=r.props.nativeMobileScroll;r.pressed&&(!r.started||r.scrolling&&t?r.pressed=!1:r.processEnd(),r.forceUpdate())},r.onTouchMove=function(e){var t=r.props.nativeMobileScroll;if(r.pressed&&(!t||!r.isMobile)){var n=e.touches[0];n&&r.processMove(e,n.clientX,n.clientY),e.preventDefault(),r.props.stopPropagation&&e.stopPropagation()}},r.onMouseDown=function(e){r.isDraggable(e.target)&&r.isScrollable()&&(r.internal=!0,-1!==r.props.buttons.indexOf(e.button)&&(r.processClick(e,e.clientX,e.clientY),e.preventDefault(),r.props.stopPropagation&&e.stopPropagation()))},r.onMouseMove=function(e){r.pressed&&(r.processMove(e,e.clientX,e.clientY),e.preventDefault(),r.props.stopPropagation&&e.stopPropagation())},r.onMouseUp=function(e){r.pressed&&(r.started?r.processEnd():(r.internal=!1,r.pressed=!1,r.forceUpdate(),r.props.onClick&&r.props.onClick(e)),e.preventDefault(),r.props.stopPropagation&&e.stopPropagation())},r.container=l().createRef(),r.onEndScroll=u(r.onEndScroll,300),r.scrolling=!1,r.started=!1,r.pressed=!1,r.internal=!1,r.getRef=r.getRef.bind(r),r}return function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(t,e),t.prototype.componentDidMount=function(){var e=this.props.nativeMobileScroll,t=this.container.current;window.addEventListener("mouseup",this.onMouseUp),window.addEventListener("mousemove",this.onMouseMove),window.addEventListener("touchmove",this.onTouchMove,{passive:!1}),window.addEventListener("touchend",this.onTouchEnd),t.addEventListener("touchstart",this.onTouchStart,{passive:!1}),t.addEventListener("mousedown",this.onMouseDown,{passive:!1}),e&&(this.isMobile=this.isMobileDevice(),this.isMobile&&this.forceUpdate())},t.prototype.componentWillUnmount=function(){window.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("touchmove",this.onTouchMove),window.removeEventListener("touchend",this.onTouchEnd)},t.prototype.getElement=function(){return this.container.current},t.prototype.isMobileDevice=function(){return void 0!==window.orientation||-1!==navigator.userAgent.indexOf("IEMobile")},t.prototype.isDraggable=function(e){var t=this.props.ignoreElements;if(t){var r=e.closest(t);return null===r||r.contains(this.getElement())}return!0},t.prototype.isScrollable=function(){var e=this.container.current;return e&&(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight)},t.prototype.processClick=function(e,t,r){var n=this.container.current;this.scrollLeft=n.scrollLeft,this.scrollTop=n.scrollTop,this.clientX=t,this.clientY=r,this.pressed=!0},t.prototype.processStart=function(e){void 0===e&&(e=!0);var t=this.props.onStartScroll;this.started=!0,e&&document.body.classList.add("indiana-dragging"),t&&t({external:!this.internal}),this.forceUpdate()},t.prototype.processScroll=function(e){if(this.started){var t=this.props.onScroll;t&&t({external:!this.internal})}else this.processStart(!1)},t.prototype.processMove=function(e,t,r){var n=this.props,o=n.horizontal,a=n.vertical,l=n.activationDistance,i=n.onScroll,c=this.container.current;this.started?(o&&(c.scrollLeft-=t-this.clientX),a&&(c.scrollTop-=r-this.clientY),i&&i({external:!this.internal}),this.clientX=t,this.clientY=r,this.scrollLeft=c.scrollLeft,this.scrollTop=c.scrollTop):(o&&Math.abs(t-this.clientX)>l||a&&Math.abs(r-this.clientY)>l)&&(this.clientX=t,this.clientY=r,this.processStart())},t.prototype.processEnd=function(){var e=this.props.onEndScroll;this.container.current&&e&&e({external:!this.internal}),this.pressed=!1,this.started=!1,this.scrolling=!1,this.internal=!1,document.body.classList.remove("indiana-dragging"),this.forceUpdate()},t.prototype.getRef=function(e){[this.container,this.props.innerRef].forEach((function(t){t&&("function"==typeof t?t(e):t.current=e)}))},t.prototype.render=function(){var e=this.props,t=e.children,r=e.draggingClassName,n=e.className,o=e.style,a=e.hideScrollbars,i=e.component;return l().createElement(i,{className:c(n,this.pressed&&r,d({dragging:this.pressed,"hide-scrollbars":a,"native-scroll":this.isMobile})),style:o,ref:this.getRef,onScroll:this.onScroll},t)},t.defaultProps={nativeMobileScroll:!0,hideScrollbars:!0,activationDistance:10,vertical:!0,horizontal:!0,stopPropagation:!1,style:{},component:"div",buttons:[0]},t}(a.PureComponent);const h=f},865:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getPosition=void 0;t.getPosition=(e,t)=>{const r=((e,t)=>{const r="horizontal"===t;return"start"===e?r?"left":"top":r?"right":"bottom"})(e,t);return`${t}-${r}`}},627:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ScrollPane=void 0;const n=r(769),o=n.__importStar(r(155)),a=n.__importDefault(r(509)),l=r(558),i=r(367),c=r(337),s=r(865),u=({children:e,showGradients:t=!0,showArrows:r=!1,showScrollbar:n=!0,direction:u="horizontal",scrollToItemOnClick:p=!0,enableGrabScroll:d=!1,scrollPaneArrowStart:f,scrollPaneArrowEnd:h,contentContainerProps:v,...y})=>{const b=(0,o.useRef)(null),m=(0,o.useRef)(null),[w,_]=(0,o.useState)(!1),[S,g]=(0,o.useState)(!1),[P,E]=(0,o.useState)(!1),O=(0,o.useCallback)((()=>{if(!b.current)return;const e=b.current,{scrollLeft:t,scrollTop:r,scrollWidth:n,scrollHeight:o,clientWidth:a,clientHeight:l}=e;"horizontal"===u?(_(t>0),g(t<n-a-1)):(_(r>0),g(r<o-l-1))}),[u]),x=(0,o.useCallback)((()=>{P||E(!0),O(),m.current&&clearTimeout(m.current),m.current=setTimeout((()=>{E(!1)}),150)}),[O,P]),j=(0,o.useCallback)((e=>{if(!b.current)return;const t=b.current,r="horizontal"===u?.8*t.clientWidth:.8*t.clientHeight;if("horizontal"===u){const n="start"===e?t.scrollLeft-r:t.scrollLeft+r;t.scrollTo({left:Math.max(0,Math.min(n,t.scrollWidth-t.clientWidth)),behavior:"smooth"})}else{const n="start"===e?t.scrollTop-r:t.scrollTop+r;t.scrollTo({top:Math.max(0,Math.min(n,t.scrollHeight-t.clientHeight)),behavior:"smooth"})}}),[u]);(0,o.useEffect)((()=>{const e=b.current;if(!e)return;const t=setTimeout((()=>{O()}),d?50:0);e.addEventListener("scroll",x);const r=new ResizeObserver((()=>{setTimeout(O,d?10:0)}));return r.observe(e),d&&e.firstElementChild&&r.observe(e.firstElementChild),()=>{clearTimeout(t),e.removeEventListener("scroll",x),r.disconnect(),m.current&&clearTimeout(m.current)}}),[O,x,d]);const A=(0,o.useMemo)((()=>({direction:u,scrollToItemOnClick:p,enableGrabScroll:d,containerRef:b,scrollToDirection:j})),[u,p,d,j]),T=[i.scrollPane.classnames.scrollArea,i.scrollPane.classnames.direction[u],!n&&i.scrollPane.classnames.scrollAreaHidden].filter(Boolean).join(" "),M={cursor:d?"grab":void 0},C=o.default.createElement(o.default.Fragment,null,o.default.createElement(l.Box,{display:"flex",flexDirection:"horizontal"===u?"row":"column",margin:"1",...v},e),t&&o.default.createElement(o.default.Fragment,null,w&&o.default.createElement("div",{className:[i.scrollPane.classnames.gradient,i.scrollPane.classnames.gradientVariants[(0,s.getPosition)("start",u)]].join(" ")}),S&&o.default.createElement("div",{className:[i.scrollPane.classnames.gradient,i.scrollPane.classnames.gradientVariants[(0,s.getPosition)("end",u)]].join(" ")})),r&&o.default.createElement(o.default.Fragment,null,w&&f,S&&h));return o.default.createElement(c.ScrollPaneContext.Provider,{value:A},o.default.createElement(l.Box,{as:"div",position:"relative",...y},d?o.default.createElement(a.default,{hideScrollbars:!1,horizontal:"horizontal"===u,vertical:"vertical"===u,innerRef:b,className:T,style:M},C):o.default.createElement("div",{ref:b,className:T,style:M},C)))};t.ScrollPane=u,u.displayName="ScrollPane",u.Item=c.ScrollPaneItem,u.ArrowHorizontalStart=c.ScrollPaneArrowHorizontalStart,u.ArrowHorizontalEnd=c.ScrollPaneArrowHorizontalEnd,u.ArrowVerticalStart=c.ScrollPaneArrowVerticalStart,u.ArrowVerticalEnd=c.ScrollPaneArrowVerticalEnd,u.Item.displayName="ScrollPane.Item",u.ArrowHorizontalStart.displayName="ScrollPane.ArrowHorizontalStart",u.ArrowHorizontalEnd.displayName="ScrollPane.ArrowHorizontalEnd",u.ArrowVerticalStart.displayName="ScrollPane.ArrowVerticalStart",u.ArrowVerticalEnd.displayName="ScrollPane.ArrowVerticalEnd"},138:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ScrollPaneArrowVerticalEnd=t.ScrollPaneArrowVerticalStart=t.ScrollPaneArrowHorizontalEnd=t.ScrollPaneArrowHorizontalStart=void 0;const n=r(769).__importDefault(r(155)),o=r(367),a=r(640),l=({children:e,variant:t,direction:r})=>{const l=(0,a.useScrollPaneContext)(),i=()=>l.scrollToDirection(r);return n.default.createElement("div",{className:[o.scrollPane.classnames.arrow,o.scrollPane.classnames.arrowVariants[t]].join(" "),onClick:i,onKeyDown:e=>{"Enter"!==e.key&&"Space"!==e.code||(e.preventDefault(),i())},role:"button",tabIndex:0,"aria-label":"Scroll "+("start"===r?"backward":"forward")},e)};t.ScrollPaneArrowHorizontalStart=({children:e})=>n.default.createElement(l,{variant:"horizontal-left",direction:"start"},e);t.ScrollPaneArrowHorizontalEnd=({children:e})=>n.default.createElement(l,{variant:"horizontal-right",direction:"end"},e);t.ScrollPaneArrowVerticalStart=({children:e})=>n.default.createElement(l,{variant:"vertical-top",direction:"start"},e);t.ScrollPaneArrowVerticalEnd=({children:e})=>n.default.createElement(l,{variant:"vertical-bottom",direction:"end"},e)},658:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ScrollPaneArrowVerticalEnd=t.ScrollPaneArrowVerticalStart=t.ScrollPaneArrowHorizontalEnd=t.ScrollPaneArrowHorizontalStart=void 0;var n=r(138);Object.defineProperty(t,"ScrollPaneArrowHorizontalStart",{enumerable:!0,get:function(){return n.ScrollPaneArrowHorizontalStart}}),Object.defineProperty(t,"ScrollPaneArrowHorizontalEnd",{enumerable:!0,get:function(){return n.ScrollPaneArrowHorizontalEnd}}),Object.defineProperty(t,"ScrollPaneArrowVerticalStart",{enumerable:!0,get:function(){return n.ScrollPaneArrowVerticalStart}}),Object.defineProperty(t,"ScrollPaneArrowVerticalEnd",{enumerable:!0,get:function(){return n.ScrollPaneArrowVerticalEnd}})},516:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.scrollItemIntoView=void 0;t.scrollItemIntoView=(e,t,r)=>{const n=e.getBoundingClientRect(),o=t.getBoundingClientRect();if(!((e,t,r)=>"horizontal"===r?t.left>=e.left&&t.right<=e.right:t.top>=e.top&&t.bottom<=e.bottom)(n,o,r))if("horizontal"===r){const t=n.width/2,r=o.width/2,a=o.left-n.left-t+r,l=e.scrollLeft+a;e.scrollTo({left:Math.max(0,l),behavior:"smooth"})}else{const t=n.height/2,r=o.height/2,a=o.top-n.top-t+r,l=e.scrollTop+a;e.scrollTo({top:Math.max(0,l),behavior:"smooth"})}}},900:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ScrollPaneItem=void 0;const n=r(769).__importDefault(r(155)),o=r(558),a=r(640),l=r(516);t.ScrollPaneItem=({children:e,onClick:t,...r})=>{const i=(0,a.useScrollPaneContext)();return n.default.createElement(o.Box,{...r,onClick:e=>{if(t&&t(e),i.scrollToItemOnClick&&e.currentTarget){const t=i.containerRef?.current,r=e.currentTarget;t&&r&&i.direction&&(0,l.scrollItemIntoView)(t,r,i.direction)}},draggable:!i.enableGrabScroll&&void 0},e)}},742:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(769);n.__exportStar(r(900),t),n.__exportStar(r(119),t)},119:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},337:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ScrollPaneArrowVerticalEnd=t.ScrollPaneArrowVerticalStart=t.ScrollPaneArrowHorizontalEnd=t.ScrollPaneArrowHorizontalStart=t.ScrollPaneContext=t.ScrollPaneItem=void 0;var n=r(742);Object.defineProperty(t,"ScrollPaneItem",{enumerable:!0,get:function(){return n.ScrollPaneItem}});var o=r(640);Object.defineProperty(t,"ScrollPaneContext",{enumerable:!0,get:function(){return o.ScrollPaneContext}});var a=r(658);Object.defineProperty(t,"ScrollPaneArrowHorizontalStart",{enumerable:!0,get:function(){return a.ScrollPaneArrowHorizontalStart}}),Object.defineProperty(t,"ScrollPaneArrowHorizontalEnd",{enumerable:!0,get:function(){return a.ScrollPaneArrowHorizontalEnd}}),Object.defineProperty(t,"ScrollPaneArrowVerticalStart",{enumerable:!0,get:function(){return a.ScrollPaneArrowVerticalStart}}),Object.defineProperty(t,"ScrollPaneArrowVerticalEnd",{enumerable:!0,get:function(){return a.ScrollPaneArrowVerticalEnd}})},250:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useScrollPaneContext=t.ScrollPaneContext=void 0;const n=r(155);t.ScrollPaneContext=(0,n.createContext)(null);t.useScrollPaneContext=()=>{const e=(0,n.useContext)(t.ScrollPaneContext);if(!e)throw new Error("useScrollPaneContext must be used within a ScrollPane");return e}},640:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useScrollPaneContext=t.ScrollPaneContext=void 0;var n=r(250);Object.defineProperty(t,"ScrollPaneContext",{enumerable:!0,get:function(){return n.ScrollPaneContext}}),Object.defineProperty(t,"useScrollPaneContext",{enumerable:!0,get:function(){return n.useScrollPaneContext}})},558:e=>{e.exports=t},367:e=>{e.exports=r},155:t=>{t.exports=e},769:(e,t,r)=>{r.r(t),r.d(t,{__addDisposableResource:()=>k,__assign:()=>a,__asyncDelegator:()=>O,__asyncGenerator:()=>E,__asyncValues:()=>x,__await:()=>P,__awaiter:()=>h,__classPrivateFieldGet:()=>C,__classPrivateFieldIn:()=>D,__classPrivateFieldSet:()=>z,__createBinding:()=>y,__decorate:()=>i,__disposeResources:()=>I,__esDecorate:()=>s,__exportStar:()=>b,__extends:()=>o,__generator:()=>v,__importDefault:()=>M,__importStar:()=>T,__makeTemplateObject:()=>j,__metadata:()=>f,__param:()=>c,__propKey:()=>p,__read:()=>w,__rest:()=>l,__runInitializers:()=>u,__setFunctionName:()=>d,__spread:()=>_,__spreadArray:()=>g,__spreadArrays:()=>S,__values:()=>m,default:()=>V});var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(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 r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var a=function(){return a=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function l(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function i(e,t,r,n){var o,a=arguments.length,l=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(l=(a<3?o(l):a>3?o(t,r,l):o(t,r))||l);return a>3&&l&&Object.defineProperty(t,r,l),l}function c(e,t){return function(r,n){t(r,n,e)}}function s(e,t,r,n,o,a){function l(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var i,c=n.kind,s="getter"===c?"get":"setter"===c?"set":"value",u=!t&&e?n.static?e:e.prototype:null,p=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),d=!1,f=r.length-1;f>=0;f--){var h={};for(var v in n)h[v]="access"===v?{}:n[v];for(var v in n.access)h.access[v]=n.access[v];h.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");a.push(l(e||null))};var y=(0,r[f])("accessor"===c?{get:p.get,set:p.set}:p[s],h);if("accessor"===c){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(i=l(y.get))&&(p.get=i),(i=l(y.set))&&(p.set=i),(i=l(y.init))&&o.unshift(i)}else(i=l(y))&&("field"===c?o.unshift(i):p[s]=i)}u&&Object.defineProperty(u,n.name,p),d=!0}function u(e,t,r){for(var n=arguments.length>2,o=0;o<t.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0}function p(e){return"symbol"==typeof e?e:"".concat(e)}function d(e,t,r){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:r?"".concat(r," ",t):t})}function f(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function h(e,t,r,n){return new(r||(r=Promise))((function(o,a){function l(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(l,i)}c((n=n.apply(e,t||[])).next())}))}function v(e,t){var r,n,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(c){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,i[0]&&(l=0)),l;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=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++,n=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],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}var y=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};function b(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||y(t,e,r)}function m(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function w(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),l=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)l.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return l}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(w(arguments[t]));return e}function S(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var a=arguments[t],l=0,i=a.length;l<i;l++,o++)n[o]=a[l];return n}function g(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))}function P(e){return this instanceof P?(this.v=e,this):new P(e)}function E(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,o=r.apply(e,t||[]),a=[];return n={},l("next"),l("throw"),l("return"),n[Symbol.asyncIterator]=function(){return this},n;function l(e){o[e]&&(n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||i(e,t)}))})}function i(e,t){try{(r=o[e](t)).value instanceof P?Promise.resolve(r.value.v).then(c,s):u(a[0][2],r)}catch(e){u(a[0][3],e)}var r}function c(e){i("next",e)}function s(e){i("throw",e)}function u(e,t){e(t),a.shift(),a.length&&i(a[0][0],a[0][1])}}function O(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:P(e[n](t)),done:!1}:o?o(t):t}:o}}function x(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=m(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,o,(t=e[r](t)).done,t.value)}))}}}function j(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var A=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function T(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&y(t,e,r);return A(t,e),t}function M(e){return e&&e.__esModule?e:{default:e}}function C(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function z(e,t,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!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"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}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)}function k(e,t,r){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var n;if(r){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");n=t[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");n=t[Symbol.dispose]}if("function"!=typeof n)throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:!0});return t}var H="function"==typeof SuppressedError?SuppressedError:function(e,t,r){var n=new Error(r);return n.name="SuppressedError",n.error=e,n.suppressed=t,n};function I(e){function t(t){e.error=e.hasError?new H(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function r(){for(;e.stack.length;){var n=e.stack.pop();try{var o=n.dispose&&n.dispose.call(n.value);if(n.async)return Promise.resolve(o).then(r,(function(e){return t(e),r()}))}catch(e){t(e)}}if(e.hasError)throw e.error}()}const V={__extends:o,__assign:a,__rest:l,__decorate:i,__param:c,__metadata:f,__awaiter:h,__generator:v,__createBinding:y,__exportStar:b,__values:m,__read:w,__spread:_,__spreadArrays:S,__spreadArray:g,__await:P,__asyncGenerator:E,__asyncDelegator:O,__asyncValues:x,__makeTemplateObject:j,__importStar:T,__importDefault:M,__classPrivateFieldGet:C,__classPrivateFieldSet:z,__classPrivateFieldIn:D,__addDisposableResource:k,__disposeResources:I}}},o={};function a(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}};return n[e](r,r.exports,a),r.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},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 l={};return(()=>{var e=l;Object.defineProperty(e,"__esModule",{value:!0}),e.ScrollPane=void 0;var t=a(627);Object.defineProperty(e,"ScrollPane",{enumerable:!0,get:function(){return t.ScrollPane}})})(),l})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimbus-ds/scroll-pane",
3
- "version": "1.0.2-rc.1",
3
+ "version": "1.1.0",
4
4
  "description": "ScrollPane component handles responsive scrolls in lists that are overflowing inside a container.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -41,15 +41,16 @@
41
41
  "url": "https://github.com/TiendaNube/nimbus-design-system/issues"
42
42
  },
43
43
  "peerDependencies": {
44
- "@nimbus-ds/styles": "^9.41.0",
44
+ "@nimbus-ds/styles": "^9.42.0",
45
45
  "react": "^16.8 || ^17.0 || ^18.0",
46
46
  "react-dom": "^16.8 || ^17.0 || ^18.0"
47
47
  },
48
48
  "dependencies": {
49
- "@nimbus-ds/box": "^4.3.2"
49
+ "@nimbus-ds/box": "^4.3.2",
50
+ "react-indiana-drag-scroll": "^2.2.0"
50
51
  },
51
52
  "devDependencies": {
52
- "@nimbus-ds/button": "^2.9.0",
53
+ "@nimbus-ds/button": "^2.10.0",
53
54
  "@nimbus-ds/card": "^3.1.2",
54
55
  "@nimbus-ds/icon": "^3.3.0",
55
56
  "@nimbus-ds/icons": "^1.14.0",