@nimbus-ds/components 5.42.0-rc.1 → 5.42.0-rc.3

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.
@@ -135,6 +135,14 @@ export interface TableColumnLayout {
135
135
  * Only applies when using `grow`. Accepts any valid CSS width value.
136
136
  */
137
137
  minWidth?: string;
138
+ /**
139
+ * Determines which side the column will be fixed (sticky) to during horizontal scrolling.
140
+ * Fixed columns use CSS `position: sticky` and stay visible on the specified side.
141
+ * Requires a defined `width` to calculate proper offsets.
142
+ * - 'left': Column sticks to the left side of the table
143
+ * - 'right': Column sticks to the right side of the table
144
+ */
145
+ fixed?: "left" | "right";
138
146
  }
139
147
  export interface TableProperties {
140
148
  /**
@@ -146,6 +154,16 @@ export interface TableProperties {
146
154
  * Column sizing definitions applied from left to right. Use `width` for fixed columns and `grow` to distribute the remaining space proportionally.
147
155
  */
148
156
  columnLayout?: TableColumnLayout[];
157
+ /**
158
+ * Minimum width of the table. When the container is smaller, horizontal scrolling is enabled.
159
+ * Accepts any valid CSS width value (e.g., "600px", "50rem").
160
+ */
161
+ minWidth?: string;
162
+ /**
163
+ * Maximum width of the table. The table will not exceed this width.
164
+ * Accepts any valid CSS width value (e.g., "1200px", "80rem").
165
+ */
166
+ maxWidth?: string;
149
167
  }
150
168
  export type TableProps = TableProperties & HTMLAttributes<HTMLTableElement>;
151
169
  export declare const Table: React.FC<TableProps> & TableComponents;
@@ -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/styles")):"function"==typeof define&&define.amd?define(["react","@nimbus-ds/styles"],t):"object"==typeof exports?exports["@nimbus-ds/components"]=t(require("react"),require("@nimbus-ds/styles")):e["@nimbus-ds/components"]=t(e.react,e["@nimbus-ds/styles"])}(global,((e,t)=>(()=>{"use strict";var r={9885:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getColumnWidth=t.getEffectiveFixedWidth=void 0;const r=e=>{if(e.width)return e.width};t.getEffectiveFixedWidth=r;t.getColumnWidth=(e,t)=>{const n=r(e);if(n)return n;const o=e.grow;if(!t||!o||o<=0)return;return`calc(100% * ${(o/t).toFixed(4)})`}},4039:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;const n=r(5608).__importStar(r(9155)),o=r(4367),a=r(6334),l=r(2522),i=r(9885),c=({className:e,style:t,children:r,columnLayout:a,...c})=>{const s=(0,n.useMemo)((()=>a?.reduce(((e,t)=>{if((0,i.getEffectiveFixedWidth)(t))return e;const r=t.grow??0;return r>0?e+r:e}),0)??0),[a]),u=Boolean(a?.length),f=(0,n.useMemo)((()=>({columnLayout:a})),[a]);return n.default.createElement(l.TableContext.Provider,{value:f},n.default.createElement("table",{...c,className:o.table.classnames.container},u?n.default.createElement("colgroup",null,a?.map((e=>n.default.createElement("col",{key:`table-col-${e.id}`,style:{width:(0,i.getColumnWidth)(e,s)}})))):null,r))};t.Table=c,c.Body=a.TableBody,c.Cell=a.TableCell,c.Head=a.TableHead,c.Row=a.TableRow,c.displayName="Table",c.Body.displayName="Table.Body",c.Cell.displayName="Table.Cell",c.Head.displayName="Table.Head",c.Row.displayName="Table.Row"},9624:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(5608);n.__exportStar(r(7277),t),n.__exportStar(r(6334),t)},9991:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableBody=void 0;const n=r(5608).__importDefault(r(9155)),o=r(4367);t.TableBody=({className:e,style:t,children:r,...a})=>n.default.createElement("tbody",{...a,className:o.table.classnames.container__body},r)},3633:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableBody=void 0;const n=r(9991);var o=r(9991);Object.defineProperty(t,"TableBody",{enumerable:!0,get:function(){return o.TableBody}}),t.default=n.TableBody},11:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableCell=void 0;const n=r(5608).__importDefault(r(9155)),o=r(4367),a=r(2522);t.TableCell=({className:e,style:t,children:r,padding:l="small",as:i="td",column:c,...s})=>{const u=(0,a.useTableContext)(),{className:f,style:d,otherProps:p}=o.table.sprinkle({...s,padding:l}),y=void 0!==c?u?.columnLayout?.[c]:void 0,b={...d,minWidth:y?.minWidth};return n.default.createElement(i,{...p,style:b,className:[o.table.classnames.container__cell,f].join(" ")},r)}},5749:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableCell=void 0;const n=r(11);var o=r(11);Object.defineProperty(t,"TableCell",{enumerable:!0,get:function(){return o.TableCell}}),t.default=n.TableCell},9875:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableHead=void 0;const n=r(5608).__importDefault(r(9155)),o=r(4367);t.TableHead=({className:e,style:t,children:r,...a})=>n.default.createElement("thead",{...a,className:o.table.classnames.container__head},r)},3815:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableHead=void 0;const n=r(9875);var o=r(9875);Object.defineProperty(t,"TableHead",{enumerable:!0,get:function(){return o.TableHead}}),t.default=n.TableHead},3609:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableRow=void 0;const n=r(5608).__importDefault(r(9155)),o=r(4367);t.TableRow=({className:e,style:t,children:r,id:a,onClick:l,backgroundColor:i={rest:"neutral-background",active:"primary-surface",hover:"neutral-surface"},...c})=>{const{className:s,style:u,otherProps:f}=o.table.sprinkle({...c,backgroundColor:i});return n.default.createElement("tr",{className:[o.table.classnames.container__row,s].join(" "),style:u,...f,id:a,onClick:l},r)}},9927:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableRow=void 0;const n=r(3609);var o=r(3609);Object.defineProperty(t,"TableRow",{enumerable:!0,get:function(){return o.TableRow}}),t.default=n.TableRow},6334:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(5608);n.__exportStar(r(3633),t),n.__exportStar(r(5749),t),n.__exportStar(r(3815),t),n.__exportStar(r(9927),t)},8319:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useTableContext=t.TableContext=void 0;const n=r(9155);t.TableContext=(0,n.createContext)(null);t.useTableContext=()=>(0,n.useContext)(t.TableContext)},3904:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useTableContext=t.TableContext=void 0;var n=r(8319);Object.defineProperty(t,"TableContext",{enumerable:!0,get:function(){return n.TableContext}}),Object.defineProperty(t,"useTableContext",{enumerable:!0,get:function(){return n.useTableContext}})},2522:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useTableContext=t.TableContext=void 0;var n=r(3904);Object.defineProperty(t,"TableContext",{enumerable:!0,get:function(){return n.TableContext}}),Object.defineProperty(t,"useTableContext",{enumerable:!0,get:function(){return n.useTableContext}})},7277:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;const n=r(4039);var o=r(4039);Object.defineProperty(t,"Table",{enumerable:!0,get:function(){return o.Table}}),t.default=n.Table},4367:e=>{e.exports=t},9155:t=>{t.exports=e},5608:(e,t,r)=>{r.r(t),r.d(t,{__addDisposableResource:()=>D,__assign:()=>a,__asyncDelegator:()=>P,__asyncGenerator:()=>j,__asyncValues:()=>x,__await:()=>O,__awaiter:()=>y,__classPrivateFieldGet:()=>R,__classPrivateFieldIn:()=>N,__classPrivateFieldSet:()=>k,__createBinding:()=>_,__decorate:()=>i,__disposeResources:()=>F,__esDecorate:()=>s,__exportStar:()=>v,__extends:()=>o,__generator:()=>b,__importDefault:()=>M,__importStar:()=>E,__makeTemplateObject:()=>S,__metadata:()=>p,__param:()=>c,__propKey:()=>f,__read:()=>h,__rest:()=>l,__runInitializers:()=>u,__setFunctionName:()=>d,__spread:()=>w,__spreadArray:()=>g,__spreadArrays:()=>T,__values:()=>m,default:()=>I});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,f=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),d=!1,p=r.length-1;p>=0;p--){var y={};for(var b in n)y[b]="access"===b?{}:n[b];for(var b in n.access)y.access[b]=n.access[b];y.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");a.push(l(e||null))};var _=(0,r[p])("accessor"===c?{get:f.get,set:f.set}:f[s],y);if("accessor"===c){if(void 0===_)continue;if(null===_||"object"!=typeof _)throw new TypeError("Object expected");(i=l(_.get))&&(f.get=i),(i=l(_.set))&&(f.set=i),(i=l(_.init))&&o.unshift(i)}else(i=l(_))&&("field"===c?o.unshift(i):f[s]=i)}u&&Object.defineProperty(u,n.name,f),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 f(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 p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function y(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 b(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 _=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 v(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||_(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 h(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 w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}function T(){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 O(e){return this instanceof O?(this.v=e,this):new O(e)}function j(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 O?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 P(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:O(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 S(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 E(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)&&_(t,e,r);return C(t,e),t}function M(e){return e&&e.__esModule?e:{default:e}}function R(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 k(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 N(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 D(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 B="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 F(e){function t(t){e.error=e.hasError?new B(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 I={__extends:o,__assign:a,__rest:l,__decorate:i,__param:c,__metadata:p,__awaiter:y,__generator:b,__createBinding:_,__exportStar:v,__values:m,__read:h,__spread:w,__spreadArrays:T,__spreadArray:g,__await:O,__asyncGenerator:j,__asyncDelegator:P,__asyncValues:x,__makeTemplateObject:S,__importStar:E,__importDefault:M,__classPrivateFieldGet:R,__classPrivateFieldSet:k,__classPrivateFieldIn:N,__addDisposableResource:D,__disposeResources:F}}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}};return r[e](a,a.exports,o),a.exports}return o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o(9624)})()));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nimbus-ds/styles")):"function"==typeof define&&define.amd?define(["react","@nimbus-ds/styles"],t):"object"==typeof exports?exports["@nimbus-ds/components"]=t(require("react"),require("@nimbus-ds/styles")):e["@nimbus-ds/components"]=t(e.react,e["@nimbus-ds/styles"])}(global,((e,t)=>(()=>{"use strict";var r={9885:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.calculateFixedColumnOffsets=t.getColumnWidth=t.getEffectiveFixedWidth=void 0;const r=e=>{if(e.width)return e.width};t.getEffectiveFixedWidth=r;t.getColumnWidth=(e,t)=>{const n=r(e);if(n)return n;const o=e.grow;if(!t||!o||o<=0)return;return`calc(100% * ${(o/t).toFixed(4)})`};const n=e=>{const t=parseFloat(e);return Number.isNaN(t)?void 0:t};t.calculateFixedColumnOffsets=e=>{if(!e?.length)return;if(!e.some((e=>e.fixed)))return;const t=new Map;let r=0;e.forEach(((e,o)=>{if("left"===e.fixed&&t.set(o,{offset:`${r}px`,side:"left"}),e.width){const t=n(e.width);void 0!==t&&(r+=t)}}));let o=0;for(let r=e.length-1;r>=0;r--){const a=e[r];if("right"===a.fixed&&t.set(r,{offset:`${o}px`,side:"right"}),a.width){const e=n(a.width);void 0!==e&&(o+=e)}}return t.size>0?t:void 0}},4039:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;const n=r(5608).__importStar(r(9155)),o=r(4367),a=r(6334),l=r(2522),i=r(9885),c=({className:e,style:t,children:r,columnLayout:a,minWidth:c,maxWidth:s,...u})=>{const f=(0,n.useMemo)((()=>a?.reduce(((e,t)=>{if((0,i.getEffectiveFixedWidth)(t))return e;const r=t.grow??0;return r>0?e+r:e}),0)??0),[a]),d=(0,n.useMemo)((()=>(0,i.calculateFixedColumnOffsets)(a)),[a]),p=Boolean(a?.length),b=(0,n.useMemo)((()=>({columnLayout:a,fixedColumnOffsets:d})),[a,d]),y=(0,n.useMemo)((()=>({minWidth:c,maxWidth:s})),[c,s]);return n.default.createElement(l.TableContext.Provider,{value:b},n.default.createElement("div",{className:o.table.classnames.container__wrapper,style:{paddingBottom:"0.5rem"}},n.default.createElement("table",{...u,className:o.table.classnames.container,style:y},p?n.default.createElement("colgroup",null,a?.map((e=>n.default.createElement("col",{key:`table-col-${e.id}`,style:{width:(0,i.getColumnWidth)(e,f)}})))):null,r)))};t.Table=c,c.Body=a.TableBody,c.Cell=a.TableCell,c.Head=a.TableHead,c.Row=a.TableRow,c.displayName="Table",c.Body.displayName="Table.Body",c.Cell.displayName="Table.Cell",c.Head.displayName="Table.Head",c.Row.displayName="Table.Row"},9624:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(5608);n.__exportStar(r(7277),t),n.__exportStar(r(6334),t)},9991:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableBody=void 0;const n=r(5608).__importDefault(r(9155)),o=r(4367);t.TableBody=({className:e,style:t,children:r,...a})=>n.default.createElement("tbody",{...a,className:o.table.classnames.container__body},r)},3633:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableBody=void 0;const n=r(9991);var o=r(9991);Object.defineProperty(t,"TableBody",{enumerable:!0,get:function(){return o.TableBody}}),t.default=n.TableBody},11:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableCell=void 0;const n=r(5608).__importDefault(r(9155)),o=r(4367),a=r(2522);t.TableCell=({className:e,style:t,children:r,padding:l="small",as:i="td",column:c,...s})=>{const u=(0,a.useTableContext)(),{className:f,style:d,otherProps:p}=o.table.sprinkle({...s,padding:l}),b=void 0!==c?u?.columnLayout?.[c]:void 0,y=void 0!==c?u?.fixedColumnOffsets?.get(c):void 0,_=Boolean(y),m=y?.side,v={...d,width:b?.width,minWidth:b?.minWidth,..._&&y&&{[m]:y.offset}},h=[o.table.classnames.container__cell,_&&o.table.classnames.container__cell_fixed,_&&"left"===m&&o.table.classnames.container__cell_fixed_left,_&&"right"===m&&o.table.classnames.container__cell_fixed_right,f].filter(Boolean).join(" ");return n.default.createElement(i,{...p,style:v,className:h},r)}},5749:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableCell=void 0;const n=r(11);var o=r(11);Object.defineProperty(t,"TableCell",{enumerable:!0,get:function(){return o.TableCell}}),t.default=n.TableCell},9875:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableHead=void 0;const n=r(5608).__importDefault(r(9155)),o=r(4367);t.TableHead=({className:e,style:t,children:r,...a})=>n.default.createElement("thead",{...a,className:o.table.classnames.container__head},r)},3815:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableHead=void 0;const n=r(9875);var o=r(9875);Object.defineProperty(t,"TableHead",{enumerable:!0,get:function(){return o.TableHead}}),t.default=n.TableHead},3609:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableRow=void 0;const n=r(5608).__importStar(r(9155)),o=r(4367);t.TableRow=({className:e,style:t,children:r,id:a,onClick:l,backgroundColor:i={rest:"neutral-background",active:"primary-surface",hover:"neutral-surface"},...c})=>{const{className:s,style:u,otherProps:f}=o.table.sprinkle({...c,backgroundColor:i}),d=(0,n.useMemo)((()=>{const e="string"==typeof i?i:i?.rest,t=e?o.table.properties.backgroundColor[e]:void 0;return t?{...u,"--nimbus-table-row-bg":t}:u}),[u,i]);return n.default.createElement("tr",{className:[o.table.classnames.container__row,s].join(" "),style:d,...f,id:a,onClick:l},r)}},9927:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TableRow=void 0;const n=r(3609);var o=r(3609);Object.defineProperty(t,"TableRow",{enumerable:!0,get:function(){return o.TableRow}}),t.default=n.TableRow},6334:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=r(5608);n.__exportStar(r(3633),t),n.__exportStar(r(5749),t),n.__exportStar(r(3815),t),n.__exportStar(r(9927),t)},8319:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useTableContext=t.TableContext=void 0;const n=r(9155);t.TableContext=(0,n.createContext)(null);t.useTableContext=()=>(0,n.useContext)(t.TableContext)},3904:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useTableContext=t.TableContext=void 0;var n=r(8319);Object.defineProperty(t,"TableContext",{enumerable:!0,get:function(){return n.TableContext}}),Object.defineProperty(t,"useTableContext",{enumerable:!0,get:function(){return n.useTableContext}})},2522:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useTableContext=t.TableContext=void 0;var n=r(3904);Object.defineProperty(t,"TableContext",{enumerable:!0,get:function(){return n.TableContext}}),Object.defineProperty(t,"useTableContext",{enumerable:!0,get:function(){return n.useTableContext}})},7277:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Table=void 0;const n=r(4039);var o=r(4039);Object.defineProperty(t,"Table",{enumerable:!0,get:function(){return o.Table}}),t.default=n.Table},4367:e=>{e.exports=t},9155:t=>{t.exports=e},5608:(e,t,r)=>{r.r(t),r.d(t,{__addDisposableResource:()=>B,__assign:()=>a,__asyncDelegator:()=>j,__asyncGenerator:()=>O,__asyncValues:()=>P,__await:()=>x,__awaiter:()=>b,__classPrivateFieldGet:()=>N,__classPrivateFieldIn:()=>R,__classPrivateFieldSet:()=>k,__createBinding:()=>_,__decorate:()=>i,__disposeResources:()=>F,__esDecorate:()=>s,__exportStar:()=>m,__extends:()=>o,__generator:()=>y,__importDefault:()=>M,__importStar:()=>E,__makeTemplateObject:()=>C,__metadata:()=>p,__param:()=>c,__propKey:()=>f,__read:()=>h,__rest:()=>l,__runInitializers:()=>u,__setFunctionName:()=>d,__spread:()=>w,__spreadArray:()=>T,__spreadArrays:()=>g,__values:()=>v,default:()=>I});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,f=t||(u?Object.getOwnPropertyDescriptor(u,n.name):{}),d=!1,p=r.length-1;p>=0;p--){var b={};for(var y in n)b[y]="access"===y?{}:n[y];for(var y in n.access)b.access[y]=n.access[y];b.addInitializer=function(e){if(d)throw new TypeError("Cannot add initializers after decoration has completed");a.push(l(e||null))};var _=(0,r[p])("accessor"===c?{get:f.get,set:f.set}:f[s],b);if("accessor"===c){if(void 0===_)continue;if(null===_||"object"!=typeof _)throw new TypeError("Object expected");(i=l(_.get))&&(f.get=i),(i=l(_.set))&&(f.set=i),(i=l(_.init))&&o.unshift(i)}else(i=l(_))&&("field"===c?o.unshift(i):f[s]=i)}u&&Object.defineProperty(u,n.name,f),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 f(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 p(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function b(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 y(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 _=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 m(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||_(t,e,r)}function v(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 h(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 w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}function g(){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 T(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 x(e){return this instanceof x?(this.v=e,this):new x(e)}function O(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 x?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 j(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:x(e[n](t)),done:!1}:o?o(t):t}:o}}function P(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=v(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 C(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var S=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 r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&_(t,e,r);return S(t,e),t}function M(e){return e&&e.__esModule?e:{default:e}}function N(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 k(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 R(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 B(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 D="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 F(e){function t(t){e.error=e.hasError?new D(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 I={__extends:o,__assign:a,__rest:l,__decorate:i,__param:c,__metadata:p,__awaiter:b,__generator:y,__createBinding:_,__exportStar:m,__values:v,__read:h,__spread:w,__spreadArrays:g,__spreadArray:T,__await:x,__asyncGenerator:O,__asyncDelegator:j,__asyncValues:P,__makeTemplateObject:C,__importStar:E,__importDefault:M,__classPrivateFieldGet:N,__classPrivateFieldSet:k,__classPrivateFieldIn:R,__addDisposableResource:B,__disposeResources:F}}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}};return r[e](a,a.exports,o),a.exports}return o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o(9624)})()));
package/dist/index.d.ts CHANGED
@@ -4220,6 +4220,14 @@ export interface TableColumnLayout {
4220
4220
  * Only applies when using `grow`. Accepts any valid CSS width value.
4221
4221
  */
4222
4222
  minWidth?: string;
4223
+ /**
4224
+ * Determines which side the column will be fixed (sticky) to during horizontal scrolling.
4225
+ * Fixed columns use CSS `position: sticky` and stay visible on the specified side.
4226
+ * Requires a defined `width` to calculate proper offsets.
4227
+ * - 'left': Column sticks to the left side of the table
4228
+ * - 'right': Column sticks to the right side of the table
4229
+ */
4230
+ fixed?: "left" | "right";
4223
4231
  }
4224
4232
  export interface TableProperties {
4225
4233
  /**
@@ -4231,6 +4239,16 @@ export interface TableProperties {
4231
4239
  * Column sizing definitions applied from left to right. Use `width` for fixed columns and `grow` to distribute the remaining space proportionally.
4232
4240
  */
4233
4241
  columnLayout?: TableColumnLayout[];
4242
+ /**
4243
+ * Minimum width of the table. When the container is smaller, horizontal scrolling is enabled.
4244
+ * Accepts any valid CSS width value (e.g., "600px", "50rem").
4245
+ */
4246
+ minWidth?: string;
4247
+ /**
4248
+ * Maximum width of the table. The table will not exceed this width.
4249
+ * Accepts any valid CSS width value (e.g., "1200px", "80rem").
4250
+ */
4251
+ maxWidth?: string;
4234
4252
  }
4235
4253
  export type TableProps = TableProperties & HTMLAttributes<HTMLTableElement>;
4236
4254
  export declare const Table: React.FC<TableProps> & TableComponents;