@appius-fr/apx 2.7.0 → 2.7.1

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/README.md CHANGED
@@ -102,6 +102,24 @@ APX.toast.use('admin').info('Admin ready');
102
102
  - `demo/index.html` (landing)
103
103
  - `demo/modules/toast/index.html` (basic and advanced examples with code viewer)
104
104
  - `demo/modules/tristate/index.html` (state preview and interactive cycle)
105
+ - `demo/modules/scrollableTable/index.html` (scrollable tbody with colspan/rowspan)
106
+
107
+ ### `scrollableTable` (since 2.7.0)
108
+
109
+ Makes the **tbody** of a table scrollable while keeping thead and tfoot fixed. Uses CSS Grid with subgrid; column and row sizes can be preserved from the table’s natural layout or overridden (full or hybrid). **Dynamic body height** (2.7.1): `bodyHeightDynamic: { get, useAs, updateOn? }` re-resolves height on resize (and optionally scroll); default `updateOn` uses window resize + ResizeObserver on document (scrollbar appearance), `scroll: false`.
110
+
111
+ **Documentation:** [`modules/scrollableTable/README.md`](./modules/scrollableTable/README.md)
112
+
113
+ **Quick Start:**
114
+ ```javascript
115
+ APX('table.my-table').scrollableTable({ maxHeight: 300 });
116
+ APX('table.my-table').scrollableTable({ height: '50vh' });
117
+ // dynamic (viewport-based, updates on resize/scrollbar)
118
+ APX('table.my-table').scrollableTable({ bodyHeightDynamic: { get: (t) => window.innerHeight - t.getBoundingClientRect().top - 40, useAs: 'maxHeight' } });
119
+ APX('table.my-table').scrollableTable('refresh');
120
+ ```
121
+
122
+ **Demo page:** `demo/modules/scrollableTable/index.html`
105
123
 
106
124
  ### `tools` (since 2.6.0)
107
125
 
@@ -183,6 +201,7 @@ const apx7 = APX(() => APX('.example'));
183
201
  - **`APX.loadCss()`**: Dynamically load CSS files.
184
202
  - **`APX.dialog()`**: Manage and display dialogs. See [`modules/dialog/README.md`](./modules/dialog/README.md)
185
203
  - **`APX.toast`**: Toast notification system. See [`modules/toast/README.md`](./modules/toast/README.md)
204
+ - **`APX('table').scrollableTable(options)`**: Scrollable tbody with fixed thead/tfoot. See [`modules/scrollableTable/README.md`](./modules/scrollableTable/README.md)
186
205
  - **`APX.tools`**: Utility functions. See [`modules/tools/README.md`](./modules/tools/README.md)
187
206
  - **`APX.isAPXObject(obj)`**: Check if an object is an APX object.
188
207
  - **`APX.is_numeric(n)`**: Check if a value is numeric.