@appius-fr/apx 2.6.2 → 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/APX.mjs +2 -0
- package/README.md +226 -203
- package/dist/2ab50e700c8fbddb45e0.svg +10 -0
- package/dist/2e967d8dd752e0bed703.svg +10 -0
- package/dist/5ddaeefe5dfbc8e09652.svg +7 -0
- package/dist/6dc2907ba3bbb232601d.svg +10 -0
- package/dist/6e1e61dfca176a885b8d.svg +3 -0
- package/dist/6f3a0a27a260bb2c221b.svg +9 -0
- package/dist/8b07a8bf719a38262b7d.svg +10 -0
- package/dist/APX.dev.mjs +1167 -227
- package/dist/APX.mjs +1 -1
- package/dist/APX.prod.mjs +1 -1
- package/dist/APX.standalone.js +1119 -75
- package/dist/APX.standalone.js.map +1 -1
- package/dist/bdfa755a1cdb872368c7.svg +3 -0
- package/dist/c9da177f7663f9fcd023.svg +10 -0
- package/dist/ce9ef5fceb78e17e68c9.svg +8 -0
- package/dist/ed5af5163957b04bc6cc.svg +7 -0
- package/modules/listen/README.md +242 -235
- package/modules/listen/listen.mjs +1 -3
- package/modules/scrollableTable/CHANGELOG.md +37 -0
- package/modules/scrollableTable/README.md +108 -0
- package/modules/scrollableTable/css/scrollableTable.css +67 -0
- package/modules/scrollableTable/scrollableTable.mjs +577 -0
- package/modules/toast/README.md +186 -153
- package/modules/tristate/CHANGELOG.md +34 -0
- package/modules/tristate/README.md +157 -94
- package/modules/tristate/assets/tristate-checked.svg +3 -0
- package/modules/tristate/assets/tristate-cross.svg +10 -0
- package/modules/tristate/assets/tristate-crossed.svg +3 -0
- package/modules/tristate/assets/tristate-indeterminate-dash.svg +9 -0
- package/modules/tristate/assets/tristate-tick.svg +10 -0
- package/modules/tristate/assets/tristate-unchecked.svg +7 -0
- package/modules/tristate/css/tristate.css +91 -24
- package/modules/tristate/tristate.mjs +292 -171
- package/package.json +5 -1
package/dist/APX.standalone.js
CHANGED
|
@@ -172,6 +172,100 @@ h2.APX-dialog-title{
|
|
|
172
172
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
|
|
173
173
|
|
|
174
174
|
|
|
175
|
+
/***/ }),
|
|
176
|
+
|
|
177
|
+
/***/ "./node_modules/css-loader/dist/cjs.js!./modules/scrollableTable/css/scrollableTable.css":
|
|
178
|
+
/*!***********************************************************************************************!*\
|
|
179
|
+
!*** ./node_modules/css-loader/dist/cjs.js!./modules/scrollableTable/css/scrollableTable.css ***!
|
|
180
|
+
\***********************************************************************************************/
|
|
181
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
182
|
+
|
|
183
|
+
"use strict";
|
|
184
|
+
__webpack_require__.r(__webpack_exports__);
|
|
185
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
186
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
187
|
+
/* harmony export */ });
|
|
188
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ "./node_modules/css-loader/dist/runtime/sourceMaps.js");
|
|
189
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
190
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
|
|
191
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
192
|
+
// Imports
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
196
|
+
// Module
|
|
197
|
+
___CSS_LOADER_EXPORT___.push([module.id, `/* APX Scrollable Table: scrollable tbody with fixed thead/tfoot and aligned columns (CSS Grid + subgrid)
|
|
198
|
+
Use !important so page styles (e.g. display: table) do not override the grid layout. */
|
|
199
|
+
|
|
200
|
+
/* --apx-scrollable-template-columns: set by JS (measured widths + gutter); fallback = equal columns + gutter */
|
|
201
|
+
/* --apx-scrollable-gutter-width: space for vertical scrollbar so it does not overlap the last column (set to 0 to allow overlap) */
|
|
202
|
+
/* --apx-scrollable-body-height: when class apx-scrollable-table--body-height is set, tbody row uses fixed height instead of max-height */
|
|
203
|
+
.apx-scrollable-table {
|
|
204
|
+
display: grid !important;
|
|
205
|
+
grid-template-columns: var(--apx-scrollable-template-columns, repeat(var(--apx-scrollable-cols, 3), minmax(0, 1fr)) minmax(var(--apx-scrollable-gutter-width, 17px), var(--apx-scrollable-gutter-width, 17px)));
|
|
206
|
+
grid-template-rows: auto var(--apx-scrollable-body-row-size, fit-content(var(--apx-scrollable-body-max-height, 200px))) auto;
|
|
207
|
+
width: 100%;
|
|
208
|
+
table-layout: unset !important;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.apx-scrollable-table--body-height {
|
|
212
|
+
--apx-scrollable-body-row-size: var(--apx-scrollable-body-max-height, 200px);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/* Table with no tfoot: thead + tbody only */
|
|
216
|
+
.apx-scrollable-table:not(.apx-scrollable-table--has-tfoot) {
|
|
217
|
+
grid-template-rows: auto var(--apx-scrollable-body-row-size, fit-content(var(--apx-scrollable-body-max-height, 200px)));
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/* Table with no thead: tbody + tfoot only */
|
|
221
|
+
.apx-scrollable-table.apx-scrollable-table--no-thead {
|
|
222
|
+
grid-template-rows: var(--apx-scrollable-body-row-size, fit-content(var(--apx-scrollable-body-max-height, 200px))) auto;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
/* Table with neither thead nor tfoot: tbody only */
|
|
226
|
+
.apx-scrollable-table.apx-scrollable-table--no-thead:not(.apx-scrollable-table--has-tfoot) {
|
|
227
|
+
grid-template-rows: var(--apx-scrollable-body-row-size, fit-content(var(--apx-scrollable-body-max-height, 200px)));
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* --apx-scrollable-*-template-rows: set by JS (measured heights) or override in CSS / via options */
|
|
231
|
+
.apx-scrollable-table > thead,
|
|
232
|
+
.apx-scrollable-table > tbody,
|
|
233
|
+
.apx-scrollable-table > tfoot {
|
|
234
|
+
display: grid !important;
|
|
235
|
+
grid-template-columns: subgrid;
|
|
236
|
+
grid-column: 1 / -1;
|
|
237
|
+
min-height: 0;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.apx-scrollable-table > thead {
|
|
241
|
+
grid-template-rows: var(--apx-scrollable-thead-template-rows, repeat(var(--apx-scrollable-thead-rows, 1), auto));
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.apx-scrollable-table > tbody {
|
|
245
|
+
grid-template-rows: var(--apx-scrollable-tbody-template-rows, repeat(var(--apx-scrollable-tbody-rows, 1), auto));
|
|
246
|
+
overflow: auto;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.apx-scrollable-table > tfoot {
|
|
250
|
+
grid-template-rows: var(--apx-scrollable-tfoot-template-rows, repeat(var(--apx-scrollable-tfoot-rows, 1), auto));
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.apx-scrollable-table > thead > tr,
|
|
254
|
+
.apx-scrollable-table > tbody > tr,
|
|
255
|
+
.apx-scrollable-table > tfoot > tr {
|
|
256
|
+
display: contents !important;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.apx-scrollable-table th,
|
|
260
|
+
.apx-scrollable-table td {
|
|
261
|
+
min-width: 0;
|
|
262
|
+
box-sizing: border-box;
|
|
263
|
+
}
|
|
264
|
+
`, "",{"version":3,"sources":["webpack://./modules/scrollableTable/css/scrollableTable.css"],"names":[],"mappings":"AAAA;yFACyF;;AAEzF,+GAA+G;AAC/G,mIAAmI;AACnI,yIAAyI;AACzI;IACI,wBAAwB;IACxB,+MAA+M;IAC/M,4HAA4H;IAC5H,WAAW;IACX,8BAA8B;AAClC;;AAEA;IACI,4EAA4E;AAChF;;AAEA,4CAA4C;AAC5C;IACI,uHAAuH;AAC3H;;AAEA,4CAA4C;AAC5C;IACI,uHAAuH;AAC3H;;AAEA,mDAAmD;AACnD;IACI,kHAAkH;AACtH;;AAEA,oGAAoG;AACpG;;;IAGI,wBAAwB;IACxB,8BAA8B;IAC9B,mBAAmB;IACnB,aAAa;AACjB;;AAEA;IACI,gHAAgH;AACpH;;AAEA;IACI,gHAAgH;IAChH,cAAc;AAClB;;AAEA;IACI,gHAAgH;AACpH;;AAEA;;;IAGI,4BAA4B;AAChC;;AAEA;;IAEI,YAAY;IACZ,sBAAsB;AAC1B","sourcesContent":["/* APX Scrollable Table: scrollable tbody with fixed thead/tfoot and aligned columns (CSS Grid + subgrid)\r\n Use !important so page styles (e.g. display: table) do not override the grid layout. */\r\n\r\n/* --apx-scrollable-template-columns: set by JS (measured widths + gutter); fallback = equal columns + gutter */\r\n/* --apx-scrollable-gutter-width: space for vertical scrollbar so it does not overlap the last column (set to 0 to allow overlap) */\r\n/* --apx-scrollable-body-height: when class apx-scrollable-table--body-height is set, tbody row uses fixed height instead of max-height */\r\n.apx-scrollable-table {\r\n display: grid !important;\r\n grid-template-columns: var(--apx-scrollable-template-columns, repeat(var(--apx-scrollable-cols, 3), minmax(0, 1fr)) minmax(var(--apx-scrollable-gutter-width, 17px), var(--apx-scrollable-gutter-width, 17px)));\r\n grid-template-rows: auto var(--apx-scrollable-body-row-size, fit-content(var(--apx-scrollable-body-max-height, 200px))) auto;\r\n width: 100%;\r\n table-layout: unset !important;\r\n}\r\n\r\n.apx-scrollable-table--body-height {\r\n --apx-scrollable-body-row-size: var(--apx-scrollable-body-max-height, 200px);\r\n}\r\n\r\n/* Table with no tfoot: thead + tbody only */\r\n.apx-scrollable-table:not(.apx-scrollable-table--has-tfoot) {\r\n grid-template-rows: auto var(--apx-scrollable-body-row-size, fit-content(var(--apx-scrollable-body-max-height, 200px)));\r\n}\r\n\r\n/* Table with no thead: tbody + tfoot only */\r\n.apx-scrollable-table.apx-scrollable-table--no-thead {\r\n grid-template-rows: var(--apx-scrollable-body-row-size, fit-content(var(--apx-scrollable-body-max-height, 200px))) auto;\r\n}\r\n\r\n/* Table with neither thead nor tfoot: tbody only */\r\n.apx-scrollable-table.apx-scrollable-table--no-thead:not(.apx-scrollable-table--has-tfoot) {\r\n grid-template-rows: var(--apx-scrollable-body-row-size, fit-content(var(--apx-scrollable-body-max-height, 200px)));\r\n}\r\n\r\n/* --apx-scrollable-*-template-rows: set by JS (measured heights) or override in CSS / via options */\r\n.apx-scrollable-table > thead,\r\n.apx-scrollable-table > tbody,\r\n.apx-scrollable-table > tfoot {\r\n display: grid !important;\r\n grid-template-columns: subgrid;\r\n grid-column: 1 / -1;\r\n min-height: 0;\r\n}\r\n\r\n.apx-scrollable-table > thead {\r\n grid-template-rows: var(--apx-scrollable-thead-template-rows, repeat(var(--apx-scrollable-thead-rows, 1), auto));\r\n}\r\n\r\n.apx-scrollable-table > tbody {\r\n grid-template-rows: var(--apx-scrollable-tbody-template-rows, repeat(var(--apx-scrollable-tbody-rows, 1), auto));\r\n overflow: auto;\r\n}\r\n\r\n.apx-scrollable-table > tfoot {\r\n grid-template-rows: var(--apx-scrollable-tfoot-template-rows, repeat(var(--apx-scrollable-tfoot-rows, 1), auto));\r\n}\r\n\r\n.apx-scrollable-table > thead > tr,\r\n.apx-scrollable-table > tbody > tr,\r\n.apx-scrollable-table > tfoot > tr {\r\n display: contents !important;\r\n}\r\n\r\n.apx-scrollable-table th,\r\n.apx-scrollable-table td {\r\n min-width: 0;\r\n box-sizing: border-box;\r\n}\r\n"],"sourceRoot":""}]);
|
|
265
|
+
// Exports
|
|
266
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
|
|
267
|
+
|
|
268
|
+
|
|
175
269
|
/***/ }),
|
|
176
270
|
|
|
177
271
|
/***/ "./node_modules/css-loader/dist/cjs.js!./modules/toast/css/toast.css":
|
|
@@ -367,39 +461,108 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
367
461
|
|
|
368
462
|
|
|
369
463
|
|
|
370
|
-
var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3Csvg
|
|
371
|
-
var ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3Csvg
|
|
372
|
-
var ___CSS_LOADER_URL_IMPORT_2___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%
|
|
464
|
+
var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cmask id=%27frame-cutout%27%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23fff%27/%3E%3Crect x=%273%27 y=%273%27 width=%2726%27 height=%2726%27 rx=%274%27 ry=%274%27 fill=%27%23000%27/%3E%3C/mask%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23cccccc%27 mask=%27url%28%23frame-cutout%29%27/%3E%3C/svg%3E */ "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cmask id=%27frame-cutout%27%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23fff%27/%3E%3Crect x=%273%27 y=%273%27 width=%2726%27 height=%2726%27 rx=%274%27 ry=%274%27 fill=%27%23000%27/%3E%3C/mask%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23cccccc%27 mask=%27url%28%23frame-cutout%29%27/%3E%3C/svg%3E"), __webpack_require__.b);
|
|
465
|
+
var ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 16h16%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27/%3E%3C/svg%3E */ "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 16h16%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27/%3E%3C/svg%3E"), __webpack_require__.b);
|
|
466
|
+
var ___CSS_LOADER_URL_IMPORT_2___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M6 17L12 23L26 9%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E */ "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M6 17L12 23L26 9%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E"), __webpack_require__.b);
|
|
467
|
+
var ___CSS_LOADER_URL_IMPORT_3___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 8L24 24M24 8L8 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E */ "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 8L24 24M24 8L8 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E"), __webpack_require__.b);
|
|
373
468
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
374
469
|
var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);
|
|
375
470
|
var ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___);
|
|
376
471
|
var ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___);
|
|
472
|
+
var ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_3___);
|
|
377
473
|
// Module
|
|
378
|
-
___CSS_LOADER_EXPORT___.push([module.id, `.apx-tristate {
|
|
379
|
-
display: inline-block;
|
|
380
|
-
vertical-align: middle;
|
|
381
|
-
text-align: center;
|
|
382
|
-
cursor: pointer;
|
|
383
|
-
position: relative;
|
|
384
|
-
min-width:13px;
|
|
385
|
-
min-height:13px;
|
|
386
|
-
background-size: contain;
|
|
387
|
-
background-color:
|
|
388
|
-
border-radius:3px;
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
}
|
|
393
|
-
.apx-tristate.
|
|
394
|
-
background-image: url(${
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
}
|
|
474
|
+
___CSS_LOADER_EXPORT___.push([module.id, `.apx-tristate {
|
|
475
|
+
display: inline-block;
|
|
476
|
+
vertical-align: middle;
|
|
477
|
+
text-align: center;
|
|
478
|
+
cursor: pointer;
|
|
479
|
+
position: relative;
|
|
480
|
+
min-width:13px;
|
|
481
|
+
min-height:13px;
|
|
482
|
+
background-size: contain;
|
|
483
|
+
background-color: transparent;
|
|
484
|
+
border-radius:3px;
|
|
485
|
+
--apx-tristate-tick-color: transparent;
|
|
486
|
+
--apx-tristate-checked-color: #0654ba;
|
|
487
|
+
--apx-tristate-crossed-color: #f00;
|
|
488
|
+
}
|
|
489
|
+
.apx-tristate.unchecked {
|
|
490
|
+
background-image: url(${___CSS_LOADER_URL_REPLACEMENT_0___});
|
|
491
|
+
}
|
|
492
|
+
.apx-tristate.unchecked.apx-tristate--unchecked-indeterminate::after {
|
|
493
|
+
content: '';
|
|
494
|
+
position: absolute;
|
|
495
|
+
inset: 0;
|
|
496
|
+
display: block;
|
|
497
|
+
pointer-events: none;
|
|
498
|
+
}
|
|
499
|
+
/* When --mixed is used (e.g. parent + sub-checkboxes), dash shows only when children are mixed */
|
|
500
|
+
.apx-tristate.unchecked.apx-tristate--indeterminate-dash:not(.apx-tristate--mixed)::before,
|
|
501
|
+
.apx-tristate.unchecked.apx-tristate--indeterminate-dash:not(.apx-tristate--mixed)::after {
|
|
502
|
+
display: none;
|
|
503
|
+
}
|
|
504
|
+
.apx-tristate.unchecked.apx-tristate--indeterminate-dash::before {
|
|
505
|
+
content: '';
|
|
506
|
+
position: absolute;
|
|
507
|
+
inset: 0;
|
|
508
|
+
display: block;
|
|
509
|
+
pointer-events: none;
|
|
510
|
+
background-color: var(--apx-tristate-checked-color);
|
|
511
|
+
border-radius: inherit;
|
|
512
|
+
}
|
|
513
|
+
.apx-tristate.unchecked.apx-tristate--indeterminate-dash::after {
|
|
514
|
+
background-color: var(--apx-tristate-tick-color);
|
|
515
|
+
-webkit-mask-repeat: no-repeat;
|
|
516
|
+
-webkit-mask-position: center;
|
|
517
|
+
-webkit-mask-size: 100% 100%;
|
|
518
|
+
-webkit-mask-mode: alpha;
|
|
519
|
+
mask-repeat: no-repeat;
|
|
520
|
+
mask-position: center;
|
|
521
|
+
mask-size: 100% 100%;
|
|
522
|
+
mask-mode: alpha;
|
|
523
|
+
-webkit-mask-image: url(${___CSS_LOADER_URL_REPLACEMENT_1___});
|
|
524
|
+
mask-image: url(${___CSS_LOADER_URL_REPLACEMENT_1___});
|
|
525
|
+
}
|
|
526
|
+
.apx-tristate.unchecked.apx-tristate--indeterminate-filled-check::after {
|
|
527
|
+
background-color: var(--apx-tristate-checked-color);
|
|
528
|
+
border-radius: inherit;
|
|
529
|
+
}
|
|
530
|
+
.apx-tristate.checked {
|
|
531
|
+
background-image: none;
|
|
532
|
+
background-color: var(--apx-tristate-checked-color);
|
|
533
|
+
}
|
|
534
|
+
.apx-tristate.crossed {
|
|
535
|
+
background-image: none;
|
|
536
|
+
background-color: var(--apx-tristate-crossed-color);
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
.apx-tristate.checked::after,
|
|
540
|
+
.apx-tristate.crossed::after {
|
|
541
|
+
content: '';
|
|
542
|
+
position: absolute;
|
|
543
|
+
inset: 0;
|
|
544
|
+
display: block;
|
|
545
|
+
background-color: var(--apx-tristate-tick-color);
|
|
546
|
+
-webkit-mask-repeat: no-repeat;
|
|
547
|
+
-webkit-mask-position: center;
|
|
548
|
+
-webkit-mask-size: 100% 100%;
|
|
549
|
+
-webkit-mask-mode: alpha;
|
|
550
|
+
mask-repeat: no-repeat;
|
|
551
|
+
mask-position: center;
|
|
552
|
+
mask-size: 100% 100%;
|
|
553
|
+
mask-mode: alpha;
|
|
554
|
+
pointer-events: none;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
.apx-tristate.checked::after {
|
|
558
|
+
-webkit-mask-image: url(${___CSS_LOADER_URL_REPLACEMENT_2___});
|
|
559
|
+
mask-image: url(${___CSS_LOADER_URL_REPLACEMENT_2___});
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
.apx-tristate.crossed::after {
|
|
563
|
+
-webkit-mask-image: url(${___CSS_LOADER_URL_REPLACEMENT_3___});
|
|
564
|
+
mask-image: url(${___CSS_LOADER_URL_REPLACEMENT_3___});
|
|
565
|
+
}`, "",{"version":3,"sources":["webpack://./modules/tristate/css/tristate.css"],"names":[],"mappings":"AAAA;IACI,qBAAqB;IACrB,sBAAsB;IACtB,kBAAkB;IAClB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,wBAAwB;IACxB,6BAA6B;IAC7B,iBAAiB;IACjB,sCAAsC;IACtC,qCAAqC;IACrC,kCAAkC;AACtC;AACA;IACI,yDAA6X;AACjY;AACA;IACI,WAAW;IACX,kBAAkB;IAClB,QAAQ;IACR,cAAc;IACd,oBAAoB;AACxB;AACA,iGAAiG;AACjG;;IAEI,aAAa;AACjB;AACA;IACI,WAAW;IACX,kBAAkB;IAClB,QAAQ;IACR,cAAc;IACd,oBAAoB;IACpB,mDAAmD;IACnD,sBAAsB;AAC1B;AACA;IACI,gDAAgD;IAChD,8BAA8B;IAC9B,6BAA6B;IAC7B,4BAA4B;IAC5B,wBAAwB;IACxB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;IACpB,gBAAgB;IAChB,2DAA2O;IAC3O,mDAAmO;AACvO;AACA;IACI,mDAAmD;IACnD,sBAAsB;AAC1B;AACA;IACI,sBAAsB;IACtB,mDAAmD;AACvD;AACA;IACI,sBAAsB;IACtB,mDAAmD;AACvD;;AAEA;;IAEI,WAAW;IACX,kBAAkB;IAClB,QAAQ;IACR,cAAc;IACd,gDAAgD;IAChD,8BAA8B;IAC9B,6BAA6B;IAC7B,4BAA4B;IAC5B,wBAAwB;IACxB,sBAAsB;IACtB,qBAAqB;IACrB,oBAAoB;IACpB,gBAAgB;IAChB,oBAAoB;AACxB;;AAEA;IACI,2DAA2Q;IAC3Q,mDAAmQ;AACvQ;;AAEA;IACI,2DAA+Q;IAC/Q,mDAAuQ;AAC3Q","sourcesContent":[".apx-tristate {\n display: inline-block;\n vertical-align: middle;\n text-align: center;\n cursor: pointer;\n position: relative;\n min-width:13px;\n min-height:13px;\n background-size: contain;\n background-color: transparent;\n border-radius:3px;\n --apx-tristate-tick-color: transparent;\n --apx-tristate-checked-color: #0654ba;\n --apx-tristate-crossed-color: #f00;\n}\n.apx-tristate.unchecked {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cmask id='frame-cutout'%3E%3Crect width='32' height='32' fill='%23fff'/%3E%3Crect x='3' y='3' width='26' height='26' rx='4' ry='4' fill='%23000'/%3E%3C/mask%3E%3Crect width='32' height='32' fill='%23cccccc' mask='url(%23frame-cutout)'/%3E%3C/svg%3E\");\n}\n.apx-tristate.unchecked.apx-tristate--unchecked-indeterminate::after {\n content: '';\n position: absolute;\n inset: 0;\n display: block;\n pointer-events: none;\n}\n/* When --mixed is used (e.g. parent + sub-checkboxes), dash shows only when children are mixed */\n.apx-tristate.unchecked.apx-tristate--indeterminate-dash:not(.apx-tristate--mixed)::before,\n.apx-tristate.unchecked.apx-tristate--indeterminate-dash:not(.apx-tristate--mixed)::after {\n display: none;\n}\n.apx-tristate.unchecked.apx-tristate--indeterminate-dash::before {\n content: '';\n position: absolute;\n inset: 0;\n display: block;\n pointer-events: none;\n background-color: var(--apx-tristate-checked-color);\n border-radius: inherit;\n}\n.apx-tristate.unchecked.apx-tristate--indeterminate-dash::after {\n background-color: var(--apx-tristate-tick-color);\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-position: center;\n -webkit-mask-size: 100% 100%;\n -webkit-mask-mode: alpha;\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: 100% 100%;\n mask-mode: alpha;\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M8 16h16' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M8 16h16' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E\");\n}\n.apx-tristate.unchecked.apx-tristate--indeterminate-filled-check::after {\n background-color: var(--apx-tristate-checked-color);\n border-radius: inherit;\n}\n.apx-tristate.checked {\n background-image: none;\n background-color: var(--apx-tristate-checked-color);\n}\n.apx-tristate.crossed {\n background-image: none;\n background-color: var(--apx-tristate-crossed-color);\n}\n\n.apx-tristate.checked::after,\n.apx-tristate.crossed::after {\n content: '';\n position: absolute;\n inset: 0;\n display: block;\n background-color: var(--apx-tristate-tick-color);\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-position: center;\n -webkit-mask-size: 100% 100%;\n -webkit-mask-mode: alpha;\n mask-repeat: no-repeat;\n mask-position: center;\n mask-size: 100% 100%;\n mask-mode: alpha;\n pointer-events: none;\n}\n\n.apx-tristate.checked::after {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M6 17L12 23L26 9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M6 17L12 23L26 9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");\n}\n\n.apx-tristate.crossed::after {\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M8 8L24 24M24 8L8 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M8 8L24 24M24 8L8 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");\n}"],"sourceRoot":""}]);
|
|
403
566
|
// Exports
|
|
404
567
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
|
|
405
568
|
|
|
@@ -629,6 +792,61 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
|
|
|
629
792
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_dialog_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_dialog_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_dialog_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
|
|
630
793
|
|
|
631
794
|
|
|
795
|
+
/***/ }),
|
|
796
|
+
|
|
797
|
+
/***/ "./modules/scrollableTable/css/scrollableTable.css":
|
|
798
|
+
/*!*********************************************************!*\
|
|
799
|
+
!*** ./modules/scrollableTable/css/scrollableTable.css ***!
|
|
800
|
+
\*********************************************************/
|
|
801
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
802
|
+
|
|
803
|
+
"use strict";
|
|
804
|
+
__webpack_require__.r(__webpack_exports__);
|
|
805
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
806
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
807
|
+
/* harmony export */ });
|
|
808
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
|
|
809
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
810
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js");
|
|
811
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
812
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js");
|
|
813
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
814
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js");
|
|
815
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
816
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js");
|
|
817
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
818
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js");
|
|
819
|
+
/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);
|
|
820
|
+
/* harmony import */ var _node_modules_css_loader_dist_cjs_js_scrollableTable_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../node_modules/css-loader/dist/cjs.js!./scrollableTable.css */ "./node_modules/css-loader/dist/cjs.js!./modules/scrollableTable/css/scrollableTable.css");
|
|
821
|
+
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
|
|
829
|
+
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
var options = {};
|
|
833
|
+
|
|
834
|
+
options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());
|
|
835
|
+
options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());
|
|
836
|
+
|
|
837
|
+
options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head");
|
|
838
|
+
|
|
839
|
+
options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());
|
|
840
|
+
options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());
|
|
841
|
+
|
|
842
|
+
var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_scrollableTable_css__WEBPACK_IMPORTED_MODULE_6__["default"], options);
|
|
843
|
+
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_scrollableTable_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_scrollableTable_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_scrollableTable_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
|
|
848
|
+
|
|
849
|
+
|
|
632
850
|
/***/ }),
|
|
633
851
|
|
|
634
852
|
/***/ "./modules/toast/css/toast.css":
|
|
@@ -1014,36 +1232,47 @@ module.exports = styleTagTransform;
|
|
|
1014
1232
|
|
|
1015
1233
|
/***/ }),
|
|
1016
1234
|
|
|
1017
|
-
/***/ "data:image/svg+xml,%
|
|
1018
|
-
|
|
1019
|
-
!*** data:image/svg+xml,%
|
|
1020
|
-
|
|
1235
|
+
/***/ "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cmask id=%27frame-cutout%27%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23fff%27/%3E%3Crect x=%273%27 y=%273%27 width=%2726%27 height=%2726%27 rx=%274%27 ry=%274%27 fill=%27%23000%27/%3E%3C/mask%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23cccccc%27 mask=%27url%28%23frame-cutout%29%27/%3E%3C/svg%3E":
|
|
1236
|
+
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
1237
|
+
!*** data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cmask id=%27frame-cutout%27%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23fff%27/%3E%3Crect x=%273%27 y=%273%27 width=%2726%27 height=%2726%27 rx=%274%27 ry=%274%27 fill=%27%23000%27/%3E%3C/mask%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23cccccc%27 mask=%27url%28%23frame-cutout%29%27/%3E%3C/svg%3E ***!
|
|
1238
|
+
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
1239
|
+
/***/ ((module) => {
|
|
1240
|
+
|
|
1241
|
+
"use strict";
|
|
1242
|
+
module.exports = "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cmask id=%27frame-cutout%27%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23fff%27/%3E%3Crect x=%273%27 y=%273%27 width=%2726%27 height=%2726%27 rx=%274%27 ry=%274%27 fill=%27%23000%27/%3E%3C/mask%3E%3Crect width=%2732%27 height=%2732%27 fill=%27%23cccccc%27 mask=%27url%28%23frame-cutout%29%27/%3E%3C/svg%3E";
|
|
1243
|
+
|
|
1244
|
+
/***/ }),
|
|
1245
|
+
|
|
1246
|
+
/***/ "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M6 17L12 23L26 9%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E":
|
|
1247
|
+
/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
1248
|
+
!*** data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M6 17L12 23L26 9%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E ***!
|
|
1249
|
+
\************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
1021
1250
|
/***/ ((module) => {
|
|
1022
1251
|
|
|
1023
1252
|
"use strict";
|
|
1024
|
-
module.exports = "data:image/svg+xml,%
|
|
1253
|
+
module.exports = "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M6 17L12 23L26 9%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E";
|
|
1025
1254
|
|
|
1026
1255
|
/***/ }),
|
|
1027
1256
|
|
|
1028
|
-
/***/ "data:image/svg+xml,%3Csvg
|
|
1029
|
-
|
|
1030
|
-
!*** data:image/svg+xml,%3Csvg
|
|
1031
|
-
|
|
1257
|
+
/***/ "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 16h16%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27/%3E%3C/svg%3E":
|
|
1258
|
+
/*!************************************************************************************************************************************************************************************************************************************************************!*\
|
|
1259
|
+
!*** data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 16h16%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27/%3E%3C/svg%3E ***!
|
|
1260
|
+
\************************************************************************************************************************************************************************************************************************************************************/
|
|
1032
1261
|
/***/ ((module) => {
|
|
1033
1262
|
|
|
1034
1263
|
"use strict";
|
|
1035
|
-
module.exports = "data:image/svg+xml,%3Csvg
|
|
1264
|
+
module.exports = "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 16h16%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27/%3E%3C/svg%3E";
|
|
1036
1265
|
|
|
1037
1266
|
/***/ }),
|
|
1038
1267
|
|
|
1039
|
-
/***/ "data:image/svg+xml,%3Csvg
|
|
1040
|
-
|
|
1041
|
-
!*** data:image/svg+xml,%3Csvg
|
|
1042
|
-
|
|
1268
|
+
/***/ "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 8L24 24M24 8L8 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E":
|
|
1269
|
+
/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
1270
|
+
!*** data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 8L24 24M24 8L8 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E ***!
|
|
1271
|
+
\****************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
1043
1272
|
/***/ ((module) => {
|
|
1044
1273
|
|
|
1045
1274
|
"use strict";
|
|
1046
|
-
module.exports = "data:image/svg+xml,%3Csvg
|
|
1275
|
+
module.exports = "data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27%3E%3Cpath d=%27M8 8L24 24M24 8L8 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E";
|
|
1047
1276
|
|
|
1048
1277
|
/***/ }),
|
|
1049
1278
|
|
|
@@ -1650,9 +1879,7 @@ function executeCallbacks(event, uniqueId, timeoutDuration) {
|
|
|
1650
1879
|
}
|
|
1651
1880
|
});
|
|
1652
1881
|
});
|
|
1653
|
-
}, Promise.resolve())["catch"](function (
|
|
1654
|
-
console.error('Error in callback chain:', error);
|
|
1655
|
-
});
|
|
1882
|
+
}, Promise.resolve())["catch"](function () {});
|
|
1656
1883
|
}
|
|
1657
1884
|
}
|
|
1658
1885
|
|
|
@@ -1682,6 +1909,684 @@ function closest(element, selector) {
|
|
|
1682
1909
|
|
|
1683
1910
|
/***/ }),
|
|
1684
1911
|
|
|
1912
|
+
/***/ "./modules/scrollableTable/scrollableTable.mjs":
|
|
1913
|
+
/*!*****************************************************!*\
|
|
1914
|
+
!*** ./modules/scrollableTable/scrollableTable.mjs ***!
|
|
1915
|
+
\*****************************************************/
|
|
1916
|
+
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
1917
|
+
|
|
1918
|
+
"use strict";
|
|
1919
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1920
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1921
|
+
/* harmony export */ "default": () => (/* binding */ augmentWithScrollableTable)
|
|
1922
|
+
/* harmony export */ });
|
|
1923
|
+
/* harmony import */ var _css_scrollableTable_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./css/scrollableTable.css */ "./modules/scrollableTable/css/scrollableTable.css");
|
|
1924
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1925
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1926
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
1927
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
1928
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
1929
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
1930
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
1931
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
1932
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
1933
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
1934
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
1935
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
1936
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
1937
|
+
|
|
1938
|
+
var DATA_KEY = '_apxScrollableTable';
|
|
1939
|
+
var CLASS_TABLE = 'apx-scrollable-table';
|
|
1940
|
+
var DEFAULT_MAX_HEIGHT = '200px';
|
|
1941
|
+
var THROTTLE_MS = 16;
|
|
1942
|
+
|
|
1943
|
+
/** @type {Set<HTMLTableElement>} */
|
|
1944
|
+
var dynamicTables = new Set();
|
|
1945
|
+
/** @type {Map<Element, Set<HTMLTableElement>>} */
|
|
1946
|
+
var scrollSourceToTables = new Map();
|
|
1947
|
+
/** @type {Map<Element, Set<HTMLTableElement>>} */
|
|
1948
|
+
var resizeSourceToTables = new Map();
|
|
1949
|
+
/** @type {boolean} */
|
|
1950
|
+
var resizeWindowAttached = false;
|
|
1951
|
+
/** @type {ResizeObserver|null} */
|
|
1952
|
+
var resizeObserver = null;
|
|
1953
|
+
/** @type {number} */
|
|
1954
|
+
var throttleLast = 0;
|
|
1955
|
+
/** @type {number|null} */
|
|
1956
|
+
var throttleRaf = null;
|
|
1957
|
+
|
|
1958
|
+
/**
|
|
1959
|
+
* Sum of colspans for one row (direct th/td children of tr).
|
|
1960
|
+
* @param {HTMLTableRowElement} tr
|
|
1961
|
+
* @returns {number}
|
|
1962
|
+
*/
|
|
1963
|
+
function getRowColumnCount(tr) {
|
|
1964
|
+
var cols = 0;
|
|
1965
|
+
tr.querySelectorAll(':scope > th, :scope > td').forEach(function (cell) {
|
|
1966
|
+
cols += parseInt(cell.getAttribute('colspan'), 10) || 1;
|
|
1967
|
+
});
|
|
1968
|
+
return cols;
|
|
1969
|
+
}
|
|
1970
|
+
|
|
1971
|
+
/**
|
|
1972
|
+
* Get maximum column count in a section (max sum of colspans across all rows).
|
|
1973
|
+
* @param {HTMLTableSectionElement} section - thead, tbody, or tfoot
|
|
1974
|
+
* @returns {number}
|
|
1975
|
+
*/
|
|
1976
|
+
function getColumnCountFromSection(section) {
|
|
1977
|
+
if (!section) return 0;
|
|
1978
|
+
var rows = section.querySelectorAll(':scope > tr');
|
|
1979
|
+
var maxCols = 0;
|
|
1980
|
+
rows.forEach(function (tr) {
|
|
1981
|
+
var sum = getRowColumnCount(tr);
|
|
1982
|
+
if (sum > maxCols) maxCols = sum;
|
|
1983
|
+
});
|
|
1984
|
+
return maxCols;
|
|
1985
|
+
}
|
|
1986
|
+
|
|
1987
|
+
/**
|
|
1988
|
+
* Get total column count for the table (max across thead, tbody, tfoot).
|
|
1989
|
+
* @param {HTMLTableElement} table
|
|
1990
|
+
* @returns {number}
|
|
1991
|
+
*/
|
|
1992
|
+
function getTableColumnCount(table) {
|
|
1993
|
+
var thead = table.querySelector('thead');
|
|
1994
|
+
var tbody = table.querySelector('tbody');
|
|
1995
|
+
var tfoot = table.querySelector('tfoot');
|
|
1996
|
+
var countThead = thead ? getColumnCountFromSection(thead) : 0;
|
|
1997
|
+
var countTbody = tbody ? getColumnCountFromSection(tbody) : 0;
|
|
1998
|
+
var countTfoot = tfoot ? getColumnCountFromSection(tfoot) : 0;
|
|
1999
|
+
return Math.max(countThead, countTbody, countTfoot, 1);
|
|
2000
|
+
}
|
|
2001
|
+
|
|
2002
|
+
/**
|
|
2003
|
+
* Measure current column widths from the table in its natural layout (before applying scrollable class).
|
|
2004
|
+
* Prefers a row where each cell has colspan 1 so we get one width per column; otherwise splits cell widths by colspan.
|
|
2005
|
+
* @param {HTMLTableElement} table - table not yet with scrollable class
|
|
2006
|
+
* @param {number} numCols
|
|
2007
|
+
* @returns {number[]} pixel widths per column
|
|
2008
|
+
*/
|
|
2009
|
+
function measureColumnWidths(table, numCols) {
|
|
2010
|
+
var thead = table.querySelector('thead');
|
|
2011
|
+
var tbody = table.querySelector('tbody');
|
|
2012
|
+
var sections = [thead, tbody].filter(Boolean);
|
|
2013
|
+
/** @type {HTMLTableRowElement|null} */
|
|
2014
|
+
var bestRow = null;
|
|
2015
|
+
var _iterator = _createForOfIteratorHelper(sections),
|
|
2016
|
+
_step;
|
|
2017
|
+
try {
|
|
2018
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2019
|
+
var section = _step.value;
|
|
2020
|
+
var rows = section.querySelectorAll(':scope > tr');
|
|
2021
|
+
var _iterator3 = _createForOfIteratorHelper(rows),
|
|
2022
|
+
_step3;
|
|
2023
|
+
try {
|
|
2024
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
2025
|
+
var tr = _step3.value;
|
|
2026
|
+
var _cells = tr.querySelectorAll(':scope > th, :scope > td');
|
|
2027
|
+
if (getRowColumnCount(tr) !== numCols) continue;
|
|
2028
|
+
var allSingle = Array.from(_cells).every(function (c) {
|
|
2029
|
+
return (parseInt(c.getAttribute('colspan'), 10) || 1) === 1;
|
|
2030
|
+
});
|
|
2031
|
+
if (allSingle && _cells.length === numCols) {
|
|
2032
|
+
bestRow = tr;
|
|
2033
|
+
break;
|
|
2034
|
+
}
|
|
2035
|
+
if (!bestRow) bestRow = tr;
|
|
2036
|
+
}
|
|
2037
|
+
} catch (err) {
|
|
2038
|
+
_iterator3.e(err);
|
|
2039
|
+
} finally {
|
|
2040
|
+
_iterator3.f();
|
|
2041
|
+
}
|
|
2042
|
+
if (bestRow && Array.from(bestRow.querySelectorAll(':scope > th, :scope > td')).every(function (c) {
|
|
2043
|
+
return (parseInt(c.getAttribute('colspan'), 10) || 1) === 1;
|
|
2044
|
+
})) break;
|
|
2045
|
+
}
|
|
2046
|
+
} catch (err) {
|
|
2047
|
+
_iterator.e(err);
|
|
2048
|
+
} finally {
|
|
2049
|
+
_iterator.f();
|
|
2050
|
+
}
|
|
2051
|
+
if (!bestRow) return [];
|
|
2052
|
+
var widths = new Array(numCols).fill(0);
|
|
2053
|
+
var cells = bestRow.querySelectorAll(':scope > th, :scope > td');
|
|
2054
|
+
var col = 0;
|
|
2055
|
+
var _iterator2 = _createForOfIteratorHelper(cells),
|
|
2056
|
+
_step2;
|
|
2057
|
+
try {
|
|
2058
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
2059
|
+
var cell = _step2.value;
|
|
2060
|
+
var span = Math.min(parseInt(cell.getAttribute('colspan'), 10) || 1, numCols - col);
|
|
2061
|
+
if (span <= 0) break;
|
|
2062
|
+
var w = cell.getBoundingClientRect().width;
|
|
2063
|
+
var perCol = w / span;
|
|
2064
|
+
for (var _i = 0; _i < span; _i++) widths[col + _i] = perCol;
|
|
2065
|
+
col += span;
|
|
2066
|
+
}
|
|
2067
|
+
} catch (err) {
|
|
2068
|
+
_iterator2.e(err);
|
|
2069
|
+
} finally {
|
|
2070
|
+
_iterator2.f();
|
|
2071
|
+
}
|
|
2072
|
+
if (col === 0) return [];
|
|
2073
|
+
var fallback = widths.some(function (w) {
|
|
2074
|
+
return w > 0;
|
|
2075
|
+
}) ? Math.max.apply(Math, [80].concat(_toConsumableArray(widths.filter(function (w) {
|
|
2076
|
+
return w > 0;
|
|
2077
|
+
})))) / 2 : 80;
|
|
2078
|
+
for (var i = 0; i < numCols; i++) if (widths[i] <= 0) widths[i] = fallback;
|
|
2079
|
+
return widths.slice(0, numCols);
|
|
2080
|
+
}
|
|
2081
|
+
|
|
2082
|
+
/**
|
|
2083
|
+
* Count direct tr children in a section.
|
|
2084
|
+
* @param {HTMLTableSectionElement} section
|
|
2085
|
+
* @returns {number}
|
|
2086
|
+
*/
|
|
2087
|
+
function getRowCount(section) {
|
|
2088
|
+
if (!section) return 0;
|
|
2089
|
+
return section.querySelectorAll(':scope > tr').length;
|
|
2090
|
+
}
|
|
2091
|
+
|
|
2092
|
+
/**
|
|
2093
|
+
* Build a 2D grid of occupied slots for a section (for rowspan/colspan placement).
|
|
2094
|
+
* Place each cell in DOM order; return a list of { cell, row, col, colspan, rowspan }.
|
|
2095
|
+
* @param {HTMLTableSectionElement} section
|
|
2096
|
+
* @param {number} numRows
|
|
2097
|
+
* @param {number} numCols
|
|
2098
|
+
* @returns {{ cell: HTMLTableCellElement, row: number, col: number, colspan: number, rowspan: number }[]}
|
|
2099
|
+
*/
|
|
2100
|
+
function computeCellPlacements(section, numRows, numCols) {
|
|
2101
|
+
if (!section || numRows === 0 || numCols === 0) return [];
|
|
2102
|
+
var occupied = Array.from({
|
|
2103
|
+
length: numRows
|
|
2104
|
+
}, function () {
|
|
2105
|
+
return Array(numCols).fill(false);
|
|
2106
|
+
});
|
|
2107
|
+
var placements = [];
|
|
2108
|
+
var rows = section.querySelectorAll(':scope > tr');
|
|
2109
|
+
for (var r = 0; r < rows.length; r++) {
|
|
2110
|
+
var tr = rows[r];
|
|
2111
|
+
var cells = tr.querySelectorAll(':scope > th, :scope > td');
|
|
2112
|
+
var _iterator4 = _createForOfIteratorHelper(cells),
|
|
2113
|
+
_step4;
|
|
2114
|
+
try {
|
|
2115
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
2116
|
+
var cell = _step4.value;
|
|
2117
|
+
var colspan = Math.min(parseInt(cell.getAttribute('colspan'), 10) || 1, numCols);
|
|
2118
|
+
var rowspan = Math.min(parseInt(cell.getAttribute('rowspan'), 10) || 1, numRows - r);
|
|
2119
|
+
var col = 0;
|
|
2120
|
+
while (col < numCols) {
|
|
2121
|
+
var free = true;
|
|
2122
|
+
for (var rr = r; rr < r + rowspan && free; rr++) {
|
|
2123
|
+
for (var cc = col; cc < col + colspan && free; cc++) {
|
|
2124
|
+
var _occupied$rr;
|
|
2125
|
+
if ((_occupied$rr = occupied[rr]) !== null && _occupied$rr !== void 0 && _occupied$rr[cc]) free = false;
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
2128
|
+
if (free) break;
|
|
2129
|
+
col++;
|
|
2130
|
+
}
|
|
2131
|
+
if (col + colspan > numCols) continue;
|
|
2132
|
+
for (var _rr = r; _rr < r + rowspan; _rr++) {
|
|
2133
|
+
for (var _cc = col; _cc < col + colspan; _cc++) {
|
|
2134
|
+
if (occupied[_rr]) occupied[_rr][_cc] = true;
|
|
2135
|
+
}
|
|
2136
|
+
}
|
|
2137
|
+
placements.push({
|
|
2138
|
+
cell: cell,
|
|
2139
|
+
row: r,
|
|
2140
|
+
col: col,
|
|
2141
|
+
colspan: colspan,
|
|
2142
|
+
rowspan: rowspan
|
|
2143
|
+
});
|
|
2144
|
+
}
|
|
2145
|
+
} catch (err) {
|
|
2146
|
+
_iterator4.e(err);
|
|
2147
|
+
} finally {
|
|
2148
|
+
_iterator4.f();
|
|
2149
|
+
}
|
|
2150
|
+
}
|
|
2151
|
+
return placements;
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2154
|
+
/**
|
|
2155
|
+
* Apply grid placement styles to a list of placements (1-based line numbers for CSS Grid).
|
|
2156
|
+
*/
|
|
2157
|
+
function applyPlacements(placements) {
|
|
2158
|
+
placements.forEach(function (_ref) {
|
|
2159
|
+
var cell = _ref.cell,
|
|
2160
|
+
row = _ref.row,
|
|
2161
|
+
col = _ref.col,
|
|
2162
|
+
colspan = _ref.colspan,
|
|
2163
|
+
rowspan = _ref.rowspan;
|
|
2164
|
+
cell.style.gridRow = "".concat(row + 1, " / span ").concat(rowspan);
|
|
2165
|
+
cell.style.gridColumn = "".concat(col + 1, " / span ").concat(colspan);
|
|
2166
|
+
});
|
|
2167
|
+
}
|
|
2168
|
+
|
|
2169
|
+
/**
|
|
2170
|
+
* Clear grid placement styles from all th/td in a table (for refresh).
|
|
2171
|
+
* @param {HTMLTableElement} table
|
|
2172
|
+
*/
|
|
2173
|
+
function clearPlacements(table) {
|
|
2174
|
+
table.querySelectorAll('th, td').forEach(function (cell) {
|
|
2175
|
+
cell.style.gridRow = '';
|
|
2176
|
+
cell.style.gridColumn = '';
|
|
2177
|
+
});
|
|
2178
|
+
}
|
|
2179
|
+
|
|
2180
|
+
/**
|
|
2181
|
+
* Normalize height/maxHeight option to a CSS length string.
|
|
2182
|
+
* @param {number|string} value
|
|
2183
|
+
* @returns {string}
|
|
2184
|
+
*/
|
|
2185
|
+
function normalizeHeight(value) {
|
|
2186
|
+
if (value == null) return DEFAULT_MAX_HEIGHT;
|
|
2187
|
+
if (typeof value === 'number') return "".concat(value, "px");
|
|
2188
|
+
return String(value);
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2191
|
+
/**
|
|
2192
|
+
* Resolve current body height from options: either bodyHeightDynamic.get(table) or static height/maxHeight.
|
|
2193
|
+
* @param {Object} options - scrollableTable options (may include bodyHeightDynamic, height, maxHeight)
|
|
2194
|
+
* @param {HTMLTableElement} table
|
|
2195
|
+
* @returns {{ bodySize: string, useFixedHeight: boolean }}
|
|
2196
|
+
*/
|
|
2197
|
+
function resolveBodyHeight(options, table) {
|
|
2198
|
+
var dyn = options.bodyHeightDynamic;
|
|
2199
|
+
if (dyn && typeof dyn.get === 'function') {
|
|
2200
|
+
var value = dyn.get(table);
|
|
2201
|
+
var _bodySize = normalizeHeight(value);
|
|
2202
|
+
var _useFixedHeight = dyn.useAs === 'height';
|
|
2203
|
+
return {
|
|
2204
|
+
bodySize: _bodySize,
|
|
2205
|
+
useFixedHeight: _useFixedHeight
|
|
2206
|
+
};
|
|
2207
|
+
}
|
|
2208
|
+
var useFixedHeight = options.height != null;
|
|
2209
|
+
var raw = useFixedHeight ? options.height : options.maxHeight;
|
|
2210
|
+
var bodySize = normalizeHeight(raw);
|
|
2211
|
+
return {
|
|
2212
|
+
bodySize: bodySize,
|
|
2213
|
+
useFixedHeight: useFixedHeight
|
|
2214
|
+
};
|
|
2215
|
+
}
|
|
2216
|
+
|
|
2217
|
+
/**
|
|
2218
|
+
* Update only the tbody height CSS variable and class (used on scroll/resize for dynamic height).
|
|
2219
|
+
* @param {HTMLTableElement} table
|
|
2220
|
+
* @param {Object} options - full scrollableTable options (with ref.options when called from throttle)
|
|
2221
|
+
*/
|
|
2222
|
+
function updateTableBodyHeight(table, options) {
|
|
2223
|
+
var _resolveBodyHeight = resolveBodyHeight(options, table),
|
|
2224
|
+
bodySize = _resolveBodyHeight.bodySize,
|
|
2225
|
+
useFixedHeight = _resolveBodyHeight.useFixedHeight;
|
|
2226
|
+
table.style.setProperty('--apx-scrollable-body-max-height', bodySize);
|
|
2227
|
+
table.classList.toggle('apx-scrollable-table--body-height', useFixedHeight);
|
|
2228
|
+
}
|
|
2229
|
+
|
|
2230
|
+
/**
|
|
2231
|
+
* Run lazy cleanup then updateTableBodyHeight for all tables still in dynamicTables. (Called by throttled entry point or RAF.)
|
|
2232
|
+
*/
|
|
2233
|
+
function flushDynamicHeightUpdate() {
|
|
2234
|
+
var toRemove = [];
|
|
2235
|
+
dynamicTables.forEach(function (table) {
|
|
2236
|
+
if (!table.isConnected) toRemove.push(table);
|
|
2237
|
+
});
|
|
2238
|
+
toRemove.forEach(function (table) {
|
|
2239
|
+
return removeTableFromDynamicSources(table);
|
|
2240
|
+
});
|
|
2241
|
+
dynamicTables.forEach(function (table) {
|
|
2242
|
+
var ref = table[DATA_KEY];
|
|
2243
|
+
if (ref !== null && ref !== void 0 && ref.options) updateTableBodyHeight(table, ref.options);
|
|
2244
|
+
});
|
|
2245
|
+
}
|
|
2246
|
+
|
|
2247
|
+
/**
|
|
2248
|
+
* Throttled entry: run flushDynamicHeightUpdate now or schedule with RAF.
|
|
2249
|
+
*/
|
|
2250
|
+
function runDynamicHeightUpdate() {
|
|
2251
|
+
var now = Date.now();
|
|
2252
|
+
if (now - throttleLast < THROTTLE_MS) {
|
|
2253
|
+
if (!throttleRaf) {
|
|
2254
|
+
throttleRaf = requestAnimationFrame(function () {
|
|
2255
|
+
throttleRaf = null;
|
|
2256
|
+
throttleLast = Date.now();
|
|
2257
|
+
flushDynamicHeightUpdate();
|
|
2258
|
+
});
|
|
2259
|
+
}
|
|
2260
|
+
return;
|
|
2261
|
+
}
|
|
2262
|
+
throttleLast = now;
|
|
2263
|
+
flushDynamicHeightUpdate();
|
|
2264
|
+
}
|
|
2265
|
+
|
|
2266
|
+
/**
|
|
2267
|
+
* Resolve updateOn into scroll targets (Element[]) and resize: { window: boolean, elements: Element[] }.
|
|
2268
|
+
* @param {Object} options - options.bodyHeightDynamic.updateOn
|
|
2269
|
+
* @returns {{ scrollTargets: Element[], resizeWindow: boolean, resizeElements: Element[] }}
|
|
2270
|
+
*/
|
|
2271
|
+
function resolveUpdateOn(options) {
|
|
2272
|
+
var _options$bodyHeightDy;
|
|
2273
|
+
var u = options === null || options === void 0 || (_options$bodyHeightDy = options.bodyHeightDynamic) === null || _options$bodyHeightDy === void 0 ? void 0 : _options$bodyHeightDy.updateOn;
|
|
2274
|
+
var scrollOn = u === null || u === void 0 ? void 0 : u.scrollOn;
|
|
2275
|
+
var resizeOn = u === null || u === void 0 ? void 0 : u.resizeOn;
|
|
2276
|
+
var scrollTargets = [];
|
|
2277
|
+
if (scrollOn != null && Array.isArray(scrollOn) && scrollOn.length > 0) {
|
|
2278
|
+
scrollOn.forEach(function (x) {
|
|
2279
|
+
if (x === 'document') scrollTargets.push(document.documentElement);else if (x && typeof x.addEventListener === 'function') scrollTargets.push(x);
|
|
2280
|
+
});
|
|
2281
|
+
} else if ((u === null || u === void 0 ? void 0 : u.scroll) === true) {
|
|
2282
|
+
scrollTargets.push(document.documentElement);
|
|
2283
|
+
scrollTargets.push(typeof window !== 'undefined' ? window : document.documentElement);
|
|
2284
|
+
}
|
|
2285
|
+
var resizeWindow = false;
|
|
2286
|
+
var resizeElements = [];
|
|
2287
|
+
if (resizeOn != null && Array.isArray(resizeOn) && resizeOn.length > 0) {
|
|
2288
|
+
resizeOn.forEach(function (x) {
|
|
2289
|
+
if (x === 'window') resizeWindow = true;else if (x && typeof x.addEventListener === 'function') resizeElements.push(x);
|
|
2290
|
+
});
|
|
2291
|
+
} else if ((u === null || u === void 0 ? void 0 : u.resize) !== false) {
|
|
2292
|
+
resizeWindow = true;
|
|
2293
|
+
resizeElements.push(document.documentElement);
|
|
2294
|
+
}
|
|
2295
|
+
return {
|
|
2296
|
+
scrollTargets: scrollTargets,
|
|
2297
|
+
resizeWindow: resizeWindow,
|
|
2298
|
+
resizeElements: resizeElements
|
|
2299
|
+
};
|
|
2300
|
+
}
|
|
2301
|
+
|
|
2302
|
+
/**
|
|
2303
|
+
* Remove table from dynamicTables and from all scroll/resize Maps; detach listeners if Set becomes empty.
|
|
2304
|
+
* @param {HTMLTableElement} table
|
|
2305
|
+
*/
|
|
2306
|
+
function removeTableFromDynamicSources(table) {
|
|
2307
|
+
dynamicTables["delete"](table);
|
|
2308
|
+
scrollSourceToTables.forEach(function (set, el) {
|
|
2309
|
+
set["delete"](table);
|
|
2310
|
+
if (set.size === 0) {
|
|
2311
|
+
scrollSourceToTables["delete"](el);
|
|
2312
|
+
el.removeEventListener('scroll', onScrollThrottled);
|
|
2313
|
+
}
|
|
2314
|
+
});
|
|
2315
|
+
resizeSourceToTables.forEach(function (set, el) {
|
|
2316
|
+
set["delete"](table);
|
|
2317
|
+
if (set.size === 0) {
|
|
2318
|
+
resizeSourceToTables["delete"](el);
|
|
2319
|
+
if (resizeObserver) resizeObserver.unobserve(el);
|
|
2320
|
+
}
|
|
2321
|
+
});
|
|
2322
|
+
if (resizeWindowAttached && dynamicTables.size === 0) {
|
|
2323
|
+
window.removeEventListener('resize', onResizeThrottled);
|
|
2324
|
+
resizeWindowAttached = false;
|
|
2325
|
+
}
|
|
2326
|
+
}
|
|
2327
|
+
function onScrollThrottled() {
|
|
2328
|
+
runDynamicHeightUpdate();
|
|
2329
|
+
}
|
|
2330
|
+
function onResizeThrottled() {
|
|
2331
|
+
runDynamicHeightUpdate();
|
|
2332
|
+
}
|
|
2333
|
+
|
|
2334
|
+
/**
|
|
2335
|
+
* Register a table with bodyHeightDynamic: add to Set and attach scroll/resize listeners per updateOn.
|
|
2336
|
+
* @param {HTMLTableElement} table
|
|
2337
|
+
* @param {Object} options - full options (ref.options)
|
|
2338
|
+
*/
|
|
2339
|
+
function registerDynamicTable(table, options) {
|
|
2340
|
+
var _resolveUpdateOn = resolveUpdateOn(options),
|
|
2341
|
+
scrollTargets = _resolveUpdateOn.scrollTargets,
|
|
2342
|
+
resizeWindow = _resolveUpdateOn.resizeWindow,
|
|
2343
|
+
resizeElements = _resolveUpdateOn.resizeElements;
|
|
2344
|
+
dynamicTables.add(table);
|
|
2345
|
+
scrollTargets.forEach(function (el) {
|
|
2346
|
+
var set = scrollSourceToTables.get(el);
|
|
2347
|
+
if (!set) {
|
|
2348
|
+
set = new Set();
|
|
2349
|
+
scrollSourceToTables.set(el, set);
|
|
2350
|
+
el.addEventListener('scroll', onScrollThrottled, {
|
|
2351
|
+
passive: true
|
|
2352
|
+
});
|
|
2353
|
+
}
|
|
2354
|
+
set.add(table);
|
|
2355
|
+
});
|
|
2356
|
+
if (resizeWindow) {
|
|
2357
|
+
if (!resizeWindowAttached) {
|
|
2358
|
+
resizeWindowAttached = true;
|
|
2359
|
+
window.addEventListener('resize', onResizeThrottled, {
|
|
2360
|
+
passive: true
|
|
2361
|
+
});
|
|
2362
|
+
}
|
|
2363
|
+
}
|
|
2364
|
+
resizeElements.forEach(function (el) {
|
|
2365
|
+
var set = resizeSourceToTables.get(el);
|
|
2366
|
+
if (!set) {
|
|
2367
|
+
set = new Set();
|
|
2368
|
+
resizeSourceToTables.set(el, set);
|
|
2369
|
+
if (!resizeObserver) resizeObserver = new ResizeObserver(onResizeThrottled);
|
|
2370
|
+
resizeObserver.observe(el);
|
|
2371
|
+
}
|
|
2372
|
+
set.add(table);
|
|
2373
|
+
});
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2376
|
+
/**
|
|
2377
|
+
* Build grid-template-columns from measured widths and optional overrides per column.
|
|
2378
|
+
* @param {number} numCols
|
|
2379
|
+
* @param {number[]} columnWidths
|
|
2380
|
+
* @param {Object<number, string>|(string|null)[]} columnOverrides - map column index → CSS value (e.g. '2fr'), or array; null/empty = use measured
|
|
2381
|
+
* @returns {string}
|
|
2382
|
+
*/
|
|
2383
|
+
function buildTemplateColumns(numCols, columnWidths, columnOverrides) {
|
|
2384
|
+
if (!columnWidths || columnWidths.length !== numCols) return '';
|
|
2385
|
+
var get = function get(i) {
|
|
2386
|
+
return Array.isArray(columnOverrides) ? columnOverrides[i] : columnOverrides[i];
|
|
2387
|
+
};
|
|
2388
|
+
var parts = [];
|
|
2389
|
+
for (var i = 0; i < numCols; i++) {
|
|
2390
|
+
var ov = get(i);
|
|
2391
|
+
if (ov != null && typeof ov === 'string' && ov.trim() !== '') {
|
|
2392
|
+
parts.push(ov.trim());
|
|
2393
|
+
} else {
|
|
2394
|
+
parts.push("".concat(Math.round(columnWidths[i]), "fr"));
|
|
2395
|
+
}
|
|
2396
|
+
}
|
|
2397
|
+
return parts.join(' ');
|
|
2398
|
+
}
|
|
2399
|
+
|
|
2400
|
+
/**
|
|
2401
|
+
* Build grid-template-rows from measured heights and optional overrides per row.
|
|
2402
|
+
* @param {number} numRows
|
|
2403
|
+
* @param {number[]} rowHeights
|
|
2404
|
+
* @param {Object<number, string>|(string|null)[]} rowOverrides - map row index → CSS value (e.g. '48px', '2fr'), or array; null/empty = use measured
|
|
2405
|
+
* @returns {string}
|
|
2406
|
+
*/
|
|
2407
|
+
function buildTemplateRows(numRows, rowHeights, rowOverrides) {
|
|
2408
|
+
if (!rowHeights || rowHeights.length < numRows) return '';
|
|
2409
|
+
var get = function get(i) {
|
|
2410
|
+
return Array.isArray(rowOverrides) ? rowOverrides[i] : rowOverrides === null || rowOverrides === void 0 ? void 0 : rowOverrides[i];
|
|
2411
|
+
};
|
|
2412
|
+
var parts = [];
|
|
2413
|
+
for (var i = 0; i < numRows; i++) {
|
|
2414
|
+
var ov = get(i);
|
|
2415
|
+
if (ov != null && typeof ov === 'string' && ov.trim() !== '') {
|
|
2416
|
+
parts.push(ov.trim());
|
|
2417
|
+
} else {
|
|
2418
|
+
var _rowHeights$i;
|
|
2419
|
+
parts.push("".concat(Math.round((_rowHeights$i = rowHeights[i]) !== null && _rowHeights$i !== void 0 ? _rowHeights$i : 0), "px"));
|
|
2420
|
+
}
|
|
2421
|
+
}
|
|
2422
|
+
return parts.join(' ');
|
|
2423
|
+
}
|
|
2424
|
+
|
|
2425
|
+
/**
|
|
2426
|
+
* Measure each tr height in a section (table must not yet have scrollable class).
|
|
2427
|
+
* @param {HTMLTableSectionElement|null} section
|
|
2428
|
+
* @returns {number[]}
|
|
2429
|
+
*/
|
|
2430
|
+
function measureRowHeights(section) {
|
|
2431
|
+
if (!section) return [];
|
|
2432
|
+
var rows = section.querySelectorAll(':scope > tr');
|
|
2433
|
+
return Array.from(rows).map(function (tr) {
|
|
2434
|
+
return tr.getBoundingClientRect().height;
|
|
2435
|
+
});
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2438
|
+
/**
|
|
2439
|
+
* Apply scrollable table layout to a single table.
|
|
2440
|
+
* @param {HTMLTableElement} table
|
|
2441
|
+
* @param {Object} options - scrollableTable options
|
|
2442
|
+
* @param {number|string} [options.maxHeight] - Max height of tbody (default '200px'). Ignored when height or bodyHeightDynamic is set.
|
|
2443
|
+
* @param {number|string} [options.height] - Fixed height of tbody. Ignored when bodyHeightDynamic is set.
|
|
2444
|
+
* @param {{ get: (function(HTMLTableElement): number|string), useAs: 'height'|'maxHeight', updateOn?: { scroll?: boolean, resize?: boolean, scrollOn?: ('document'|Element)[], resizeOn?: ('window'|Element)[] } }} [options.bodyHeightDynamic] - When set, body size is computed by get(table) and re-applied when scroll/resize sources fire. updateOn: scrollOn/resizeOn list elements (sentinels 'document'/'window'); or use scroll (default false) / resize (default true) booleans.
|
|
2445
|
+
* @param {string} [options.gridTemplateColumns]
|
|
2446
|
+
* @param {{ thead?: string, tbody?: string, tfoot?: string }} [options.gridTemplateRows]
|
|
2447
|
+
* @param {{ thead?: Object<number, string>|(string|null)[], tbody?: Object<number, string>|(string|null)[], tfoot?: Object<number, string>|(string|null)[] }} [options.rowOverrides]
|
|
2448
|
+
* @param {Object<number, string>|(string|null)[]} [options.columnOverrides]
|
|
2449
|
+
* @param {{ columnWidths?: number[], rowHeights?: { thead?: number[], tbody?: number[], tfoot?: number[] } } | undefined} ref - existing ref when refreshing
|
|
2450
|
+
*/
|
|
2451
|
+
function applyScrollableTable(table, options, ref) {
|
|
2452
|
+
var _ref$columnWidths, _ref$rowHeights;
|
|
2453
|
+
var thead = table.querySelector('thead');
|
|
2454
|
+
var tbody = table.querySelector('tbody');
|
|
2455
|
+
var tfoot = table.querySelector('tfoot');
|
|
2456
|
+
var numCols = getTableColumnCount(table);
|
|
2457
|
+
if (numCols === 0) return;
|
|
2458
|
+
var alreadyScrollable = table.classList.contains(CLASS_TABLE);
|
|
2459
|
+
var customTemplate = typeof options.gridTemplateColumns === 'string' && options.gridTemplateColumns.trim().length > 0;
|
|
2460
|
+
var columnWidths = customTemplate ? null : (_ref$columnWidths = ref === null || ref === void 0 ? void 0 : ref.columnWidths) !== null && _ref$columnWidths !== void 0 ? _ref$columnWidths : alreadyScrollable ? null : measureColumnWidths(table, numCols);
|
|
2461
|
+
var theadRows = getRowCount(thead);
|
|
2462
|
+
var tbodyRows = getRowCount(tbody);
|
|
2463
|
+
var tfootRows = getRowCount(tfoot);
|
|
2464
|
+
var rowHeights = (_ref$rowHeights = ref === null || ref === void 0 ? void 0 : ref.rowHeights) !== null && _ref$rowHeights !== void 0 ? _ref$rowHeights : alreadyScrollable ? null : {
|
|
2465
|
+
thead: measureRowHeights(thead),
|
|
2466
|
+
tbody: measureRowHeights(tbody),
|
|
2467
|
+
tfoot: measureRowHeights(tfoot)
|
|
2468
|
+
};
|
|
2469
|
+
table.style.setProperty('--apx-scrollable-cols', String(numCols));
|
|
2470
|
+
table.style.setProperty('--apx-scrollable-thead-rows', String(Math.max(1, theadRows)));
|
|
2471
|
+
table.style.setProperty('--apx-scrollable-tbody-rows', String(Math.max(1, tbodyRows)));
|
|
2472
|
+
table.style.setProperty('--apx-scrollable-tfoot-rows', String(Math.max(1, tfootRows)));
|
|
2473
|
+
var _resolveBodyHeight2 = resolveBodyHeight(options, table),
|
|
2474
|
+
bodySize = _resolveBodyHeight2.bodySize,
|
|
2475
|
+
useFixedHeight = _resolveBodyHeight2.useFixedHeight;
|
|
2476
|
+
table.style.setProperty('--apx-scrollable-body-max-height', bodySize);
|
|
2477
|
+
table.classList.toggle('apx-scrollable-table--body-height', useFixedHeight);
|
|
2478
|
+
table.classList.add(CLASS_TABLE);
|
|
2479
|
+
table.classList.toggle('apx-scrollable-table--has-tfoot', !!(tfoot && tfootRows > 0));
|
|
2480
|
+
table.classList.toggle('apx-scrollable-table--no-thead', !(thead && theadRows > 0));
|
|
2481
|
+
|
|
2482
|
+
// Force reflow so the grid layout is established before setting measured template-columns.
|
|
2483
|
+
// Without this, the browser batches class + template into one pass and the tbody overflows horizontally.
|
|
2484
|
+
table.offsetHeight; // eslint-disable-line no-unused-expressions
|
|
2485
|
+
|
|
2486
|
+
var gutterSuffix = ' minmax(var(--apx-scrollable-gutter-width, 17px), var(--apx-scrollable-gutter-width, 17px))';
|
|
2487
|
+
if (customTemplate) {
|
|
2488
|
+
table.style.setProperty('--apx-scrollable-template-columns', options.gridTemplateColumns.trim() + gutterSuffix);
|
|
2489
|
+
} else if (columnWidths && columnWidths.length === numCols) {
|
|
2490
|
+
var template = options.columnOverrides != null ? buildTemplateColumns(numCols, columnWidths, options.columnOverrides) : columnWidths.map(function (w) {
|
|
2491
|
+
return "".concat(Math.round(w), "fr");
|
|
2492
|
+
}).join(' ');
|
|
2493
|
+
table.style.setProperty('--apx-scrollable-template-columns', template + gutterSuffix);
|
|
2494
|
+
} else {
|
|
2495
|
+
table.style.removeProperty('--apx-scrollable-template-columns');
|
|
2496
|
+
}
|
|
2497
|
+
clearPlacements(table);
|
|
2498
|
+
var sections = [{
|
|
2499
|
+
section: thead,
|
|
2500
|
+
rows: Math.max(1, theadRows),
|
|
2501
|
+
heights: rowHeights === null || rowHeights === void 0 ? void 0 : rowHeights.thead,
|
|
2502
|
+
key: 'thead'
|
|
2503
|
+
}, {
|
|
2504
|
+
section: tbody,
|
|
2505
|
+
rows: Math.max(1, tbodyRows),
|
|
2506
|
+
heights: rowHeights === null || rowHeights === void 0 ? void 0 : rowHeights.tbody,
|
|
2507
|
+
key: 'tbody'
|
|
2508
|
+
}, {
|
|
2509
|
+
section: tfoot,
|
|
2510
|
+
rows: Math.max(1, tfootRows),
|
|
2511
|
+
heights: rowHeights === null || rowHeights === void 0 ? void 0 : rowHeights.tfoot,
|
|
2512
|
+
key: 'tfoot'
|
|
2513
|
+
}];
|
|
2514
|
+
var customRows = options.gridTemplateRows && _typeof(options.gridTemplateRows) === 'object' ? options.gridTemplateRows : null;
|
|
2515
|
+
var rowOverrides = options.rowOverrides && _typeof(options.rowOverrides) === 'object' ? options.rowOverrides : null;
|
|
2516
|
+
sections.forEach(function (_ref2) {
|
|
2517
|
+
var section = _ref2.section,
|
|
2518
|
+
rows = _ref2.rows,
|
|
2519
|
+
heights = _ref2.heights,
|
|
2520
|
+
key = _ref2.key;
|
|
2521
|
+
if (!section) return;
|
|
2522
|
+
var varName = "--apx-scrollable-".concat(key, "-template-rows");
|
|
2523
|
+
var custom = customRows === null || customRows === void 0 ? void 0 : customRows[key];
|
|
2524
|
+
var overrides = rowOverrides === null || rowOverrides === void 0 ? void 0 : rowOverrides[key];
|
|
2525
|
+
if (typeof custom === 'string' && custom.trim().length > 0) {
|
|
2526
|
+
section.style.setProperty(varName, custom.trim());
|
|
2527
|
+
} else if (heights && heights.length >= rows) {
|
|
2528
|
+
var _template = overrides != null ? buildTemplateRows(rows, heights.slice(0, rows), overrides) : heights.slice(0, rows).map(function (h) {
|
|
2529
|
+
return "".concat(Math.round(h), "px");
|
|
2530
|
+
}).join(' ');
|
|
2531
|
+
section.style.setProperty(varName, _template);
|
|
2532
|
+
} else {
|
|
2533
|
+
section.style.removeProperty(varName);
|
|
2534
|
+
}
|
|
2535
|
+
var placements = computeCellPlacements(section, rows, numCols);
|
|
2536
|
+
applyPlacements(placements);
|
|
2537
|
+
});
|
|
2538
|
+
return {
|
|
2539
|
+
columnWidths: columnWidths,
|
|
2540
|
+
rowHeights: rowHeights
|
|
2541
|
+
};
|
|
2542
|
+
}
|
|
2543
|
+
|
|
2544
|
+
/**
|
|
2545
|
+
* Augments the APX object with scrollableTable(options | 'refresh').
|
|
2546
|
+
* Makes the tbody of a table scrollable while keeping thead/tfoot fixed and columns aligned (CSS Grid + subgrid).
|
|
2547
|
+
*
|
|
2548
|
+
* @param {Object} apx - The APX object to augment.
|
|
2549
|
+
* @example
|
|
2550
|
+
* APX('table.data-grid').scrollableTable({ maxHeight: 300 });
|
|
2551
|
+
* APX('table.data-grid').scrollableTable('refresh');
|
|
2552
|
+
*/
|
|
2553
|
+
function augmentWithScrollableTable(apx) {
|
|
2554
|
+
apx.scrollableTable = function (optionsOrAction) {
|
|
2555
|
+
var isRefresh = optionsOrAction === 'refresh';
|
|
2556
|
+
var options = isRefresh ? null : optionsOrAction && _typeof(optionsOrAction) === 'object' ? optionsOrAction : {};
|
|
2557
|
+
apx.elements.forEach(function (element) {
|
|
2558
|
+
if (element.tagName !== 'TABLE') return;
|
|
2559
|
+
var table = /** @type {HTMLTableElement} */element;
|
|
2560
|
+
var ref = table[DATA_KEY];
|
|
2561
|
+
if (ref) {
|
|
2562
|
+
if (isRefresh) {
|
|
2563
|
+
applyScrollableTable(table, ref.options, ref);
|
|
2564
|
+
} else if (options && Object.keys(options).length > 0) {
|
|
2565
|
+
ref.options = _objectSpread(_objectSpread({}, ref.options), options);
|
|
2566
|
+
var _result = applyScrollableTable(table, ref.options, ref);
|
|
2567
|
+
if (_result !== null && _result !== void 0 && _result.columnWidths) ref.columnWidths = _result.columnWidths;
|
|
2568
|
+
if (_result !== null && _result !== void 0 && _result.rowHeights) ref.rowHeights = _result.rowHeights;
|
|
2569
|
+
}
|
|
2570
|
+
var currentOptions = ref.options;
|
|
2571
|
+
if (currentOptions !== null && currentOptions !== void 0 && currentOptions.bodyHeightDynamic) registerDynamicTable(table, currentOptions);else removeTableFromDynamicSources(table);
|
|
2572
|
+
return;
|
|
2573
|
+
}
|
|
2574
|
+
if (isRefresh) return;
|
|
2575
|
+
console.log('[APX scrollableTable] create', table);
|
|
2576
|
+
var result = applyScrollableTable(table, options, undefined);
|
|
2577
|
+
table[DATA_KEY] = {
|
|
2578
|
+
options: _objectSpread({}, options),
|
|
2579
|
+
columnWidths: (result === null || result === void 0 ? void 0 : result.columnWidths) || undefined,
|
|
2580
|
+
rowHeights: (result === null || result === void 0 ? void 0 : result.rowHeights) || undefined
|
|
2581
|
+
};
|
|
2582
|
+
if (options !== null && options !== void 0 && options.bodyHeightDynamic) registerDynamicTable(table, options);
|
|
2583
|
+
});
|
|
2584
|
+
return apx;
|
|
2585
|
+
};
|
|
2586
|
+
}
|
|
2587
|
+
|
|
2588
|
+
/***/ }),
|
|
2589
|
+
|
|
1685
2590
|
/***/ "./modules/toast/toast.mjs":
|
|
1686
2591
|
/*!*********************************!*\
|
|
1687
2592
|
!*** ./modules/toast/toast.mjs ***!
|
|
@@ -3756,10 +4661,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
3756
4661
|
/* harmony export */ "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
|
|
3757
4662
|
/* harmony export */ });
|
|
3758
4663
|
/* harmony import */ var _css_tristate_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./css/tristate.css */ "./modules/tristate/css/tristate.css");
|
|
4664
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3759
4665
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3760
4666
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3761
4667
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
3762
4668
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
4669
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4670
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4671
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4672
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
4673
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
3763
4674
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3764
4675
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3765
4676
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -3768,12 +4679,12 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
3768
4679
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
3769
4680
|
|
|
3770
4681
|
|
|
3771
|
-
/**
|
|
3772
|
-
* Creates a tri-state checkbox for each checkbox element in the apx.elements array.
|
|
3773
|
-
* @param {Array<HTMLElement>} apx - An array of HTMLElements which is returned by APX()
|
|
3774
|
-
* @example
|
|
3775
|
-
* // Call the tristate function on an array of checkbox elements
|
|
3776
|
-
* apx.tristate();
|
|
4682
|
+
/**
|
|
4683
|
+
* Creates a tri-state checkbox for each checkbox element in the apx.elements array.
|
|
4684
|
+
* @param {Array<HTMLElement>} apx - An array of HTMLElements which is returned by APX()
|
|
4685
|
+
* @example
|
|
4686
|
+
* // Call the tristate function on an array of checkbox elements
|
|
4687
|
+
* apx.tristate();
|
|
3777
4688
|
*/
|
|
3778
4689
|
/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(apx) {
|
|
3779
4690
|
apx.tristate = function () {
|
|
@@ -3785,27 +4696,139 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
3785
4696
|
originalCheckbox = _createTriStateCheckb2[0],
|
|
3786
4697
|
tristateDom = _createTriStateCheckb2[1],
|
|
3787
4698
|
hiddenInput = _createTriStateCheckb2[2];
|
|
3788
|
-
|
|
4699
|
+
originalCheckbox._apxTristate = {
|
|
4700
|
+
dom: tristateDom,
|
|
4701
|
+
hiddenInput: hiddenInput
|
|
4702
|
+
};
|
|
3789
4703
|
if (options.callbacks && options.callbacks.after && typeof options.callbacks.after === 'function') {
|
|
3790
4704
|
options.callbacks.after(originalCheckbox, tristateDom, hiddenInput);
|
|
3791
4705
|
}
|
|
3792
4706
|
}
|
|
3793
4707
|
});
|
|
4708
|
+
return {
|
|
4709
|
+
setChildren: function setChildren(childrenApx) {
|
|
4710
|
+
return _setChildren(apx, childrenApx, options);
|
|
4711
|
+
}
|
|
4712
|
+
};
|
|
3794
4713
|
};
|
|
3795
4714
|
}
|
|
4715
|
+
|
|
4716
|
+
/**
|
|
4717
|
+
* Link parent tristate(s) to child checkboxes. When exactly one parent: that parent gets
|
|
4718
|
+
* indeterminate-dash automatically and shows dash when children are mixed; click parent to apply its state to all children.
|
|
4719
|
+
* @param {Object} parentApx - APX instance whose elements are the parent checkbox(es)
|
|
4720
|
+
* @param {Object} childrenApx - APX instance whose elements are the child checkbox(es)
|
|
4721
|
+
* @param {Object} options - Options used for the parent (and applied to children when initializing them)
|
|
4722
|
+
*/
|
|
4723
|
+
function _setChildren(parentApx, childrenApx, options) {
|
|
4724
|
+
var parents = parentApx.all().filter(function (el) {
|
|
4725
|
+
return el.type === 'checkbox';
|
|
4726
|
+
});
|
|
4727
|
+
if (parents.length === 0) return;
|
|
4728
|
+
if (parents.length > 1) {
|
|
4729
|
+
console.warn('APX tristate setChildren: only the first parent is linked to all children.');
|
|
4730
|
+
}
|
|
4731
|
+
var parentCheckbox = parents[0];
|
|
4732
|
+
var parentRef = parentCheckbox._apxTristate;
|
|
4733
|
+
if (!parentRef) return;
|
|
4734
|
+
var parentDom = parentRef.dom;
|
|
4735
|
+
var parentHiddenInput = parentRef.hiddenInput;
|
|
4736
|
+
|
|
4737
|
+
// Automatically enable indeterminate (dash) on parent when it has children: dash shows only when children are mixed (--mixed)
|
|
4738
|
+
parentDom.classList.add('apx-tristate--unchecked-indeterminate', 'apx-tristate--indeterminate-dash');
|
|
4739
|
+
var childCheckboxes = childrenApx.all().filter(function (el) {
|
|
4740
|
+
return el.type === 'checkbox';
|
|
4741
|
+
});
|
|
4742
|
+
var childRefs = [];
|
|
4743
|
+
function syncParentFromChildren() {
|
|
4744
|
+
if (childRefs.length === 0) return;
|
|
4745
|
+
var states = childRefs.map(function (ref) {
|
|
4746
|
+
return getTristateState(ref.dom);
|
|
4747
|
+
});
|
|
4748
|
+
var allChecked = states.every(function (s) {
|
|
4749
|
+
return s === 'checked';
|
|
4750
|
+
});
|
|
4751
|
+
var allCrossed = states.every(function (s) {
|
|
4752
|
+
return s === 'crossed';
|
|
4753
|
+
});
|
|
4754
|
+
var allUnchecked = states.every(function (s) {
|
|
4755
|
+
return s === 'unchecked';
|
|
4756
|
+
});
|
|
4757
|
+
var mixed = !allChecked && !allCrossed && !allUnchecked;
|
|
4758
|
+
parentDom.classList.remove('unchecked', 'checked', 'crossed');
|
|
4759
|
+
if (mixed) parentDom.classList.add('apx-tristate--mixed');else parentDom.classList.remove('apx-tristate--mixed');
|
|
4760
|
+
if (allChecked) {
|
|
4761
|
+
parentDom.classList.add('checked');
|
|
4762
|
+
parentHiddenInput.value = 'true';
|
|
4763
|
+
} else if (allCrossed) {
|
|
4764
|
+
parentDom.classList.add('crossed');
|
|
4765
|
+
parentHiddenInput.value = 'false';
|
|
4766
|
+
} else {
|
|
4767
|
+
parentDom.classList.add('unchecked');
|
|
4768
|
+
parentHiddenInput.removeAttribute('name');
|
|
4769
|
+
parentHiddenInput.removeAttribute('value');
|
|
4770
|
+
}
|
|
4771
|
+
}
|
|
4772
|
+
function applyParentToChildren() {
|
|
4773
|
+
var parentState = getTristateState(parentDom);
|
|
4774
|
+
childRefs.forEach(function (ref) {
|
|
4775
|
+
return setTristateState(ref.checkbox, ref.dom, ref.hiddenInput, parentState);
|
|
4776
|
+
});
|
|
4777
|
+
}
|
|
4778
|
+
var childOptions = _objectSpread(_objectSpread({}, options), {}, {
|
|
4779
|
+
callbacks: {
|
|
4780
|
+
after: function after(checkbox, dom, hiddenInput) {
|
|
4781
|
+
childRefs.push({
|
|
4782
|
+
checkbox: checkbox,
|
|
4783
|
+
dom: dom,
|
|
4784
|
+
hiddenInput: hiddenInput
|
|
4785
|
+
});
|
|
4786
|
+
},
|
|
4787
|
+
change: syncParentFromChildren
|
|
4788
|
+
}
|
|
4789
|
+
});
|
|
4790
|
+
childrenApx.tristate(childOptions);
|
|
4791
|
+
syncParentFromChildren();
|
|
4792
|
+
parentDom.addEventListener('click', function () {
|
|
4793
|
+
return setTimeout(applyParentToChildren, 0);
|
|
4794
|
+
});
|
|
4795
|
+
}
|
|
4796
|
+
function getTristateState(dom) {
|
|
4797
|
+
if (dom.classList.contains('checked')) return 'checked';
|
|
4798
|
+
if (dom.classList.contains('crossed')) return 'crossed';
|
|
4799
|
+
return 'unchecked';
|
|
4800
|
+
}
|
|
4801
|
+
function setTristateState(checkbox, dom, hiddenInput, state) {
|
|
4802
|
+
dom.classList.remove('unchecked', 'checked', 'crossed');
|
|
4803
|
+
dom.classList.add(state);
|
|
4804
|
+
var name = checkbox.dataset.name || checkbox.getAttribute('data-name') || checkbox.name || '';
|
|
4805
|
+
if (state === 'checked') {
|
|
4806
|
+
hiddenInput.value = 'true';
|
|
4807
|
+
if (name) hiddenInput.setAttribute('name', name);
|
|
4808
|
+
checkbox.checked = true;
|
|
4809
|
+
} else if (state === 'crossed') {
|
|
4810
|
+
hiddenInput.value = 'false';
|
|
4811
|
+
if (name) hiddenInput.setAttribute('name', name);
|
|
4812
|
+
checkbox.checked = false;
|
|
4813
|
+
} else {
|
|
4814
|
+
hiddenInput.removeAttribute('name');
|
|
4815
|
+
hiddenInput.removeAttribute('value');
|
|
4816
|
+
checkbox.checked = false;
|
|
4817
|
+
}
|
|
4818
|
+
}
|
|
3796
4819
|
function toggleTriStateCheckboxState(customCheckbox, actualCheckbox, hiddenInput) {
|
|
3797
|
-
|
|
3798
|
-
|
|
4820
|
+
var wasChecked = customCheckbox.classList.contains('checked');
|
|
4821
|
+
var wasCrossed = customCheckbox.classList.contains('crossed');
|
|
4822
|
+
customCheckbox.classList.remove('unchecked', 'checked', 'crossed');
|
|
4823
|
+
if (wasChecked) {
|
|
3799
4824
|
customCheckbox.classList.add('crossed');
|
|
3800
4825
|
actualCheckbox.checked = false;
|
|
3801
4826
|
hiddenInput.value = 'false';
|
|
3802
|
-
} else if (
|
|
3803
|
-
customCheckbox.classList.remove('crossed');
|
|
4827
|
+
} else if (wasCrossed) {
|
|
3804
4828
|
customCheckbox.classList.add('unchecked');
|
|
3805
4829
|
hiddenInput.removeAttribute('name'); // Ensure the hidden input doesn't post any value
|
|
3806
4830
|
hiddenInput.removeAttribute('value'); // Ensure the hidden input doesn't post any value
|
|
3807
4831
|
} else {
|
|
3808
|
-
customCheckbox.classList.remove('unchecked');
|
|
3809
4832
|
customCheckbox.classList.add('checked');
|
|
3810
4833
|
actualCheckbox.checked = true;
|
|
3811
4834
|
hiddenInput.value = 'true';
|
|
@@ -3824,14 +4847,26 @@ function createTriStateCheckbox(checkboxElement, options) {
|
|
|
3824
4847
|
var tristateDom = document.createElement('div');
|
|
3825
4848
|
tristateDom.classList.add('apx-tristate');
|
|
3826
4849
|
if (options.size) {
|
|
3827
|
-
if (options.size.width) {
|
|
3828
|
-
|
|
4850
|
+
if (options.size.width != null) {
|
|
4851
|
+
var w = options.size.width;
|
|
4852
|
+
if (typeof w !== 'number' && typeof w !== 'string') {
|
|
4853
|
+
throw new TypeError('tristate size.width must be a number (px) or a string (CSS length).');
|
|
4854
|
+
}
|
|
4855
|
+
tristateDom.style.width = typeof w === 'number' ? w + 'px' : String(w);
|
|
3829
4856
|
}
|
|
3830
|
-
if (options.size.height) {
|
|
3831
|
-
|
|
4857
|
+
if (options.size.height != null) {
|
|
4858
|
+
var h = options.size.height;
|
|
4859
|
+
if (typeof h !== 'number' && typeof h !== 'string') {
|
|
4860
|
+
throw new TypeError('tristate size.height must be a number (px) or a string (CSS length).');
|
|
4861
|
+
}
|
|
4862
|
+
tristateDom.style.height = typeof h === 'number' ? h + 'px' : String(h);
|
|
3832
4863
|
}
|
|
3833
4864
|
}
|
|
3834
4865
|
if (options.classes) (_tristateDom$classLis = tristateDom.classList).add.apply(_tristateDom$classLis, _toConsumableArray(computeClasses(options.classes)));
|
|
4866
|
+
var colors = resolveColors(options);
|
|
4867
|
+
if (colors.tick != null) tristateDom.style.setProperty('--apx-tristate-tick-color', String(colors.tick));
|
|
4868
|
+
if (colors.checked != null) tristateDom.style.setProperty('--apx-tristate-checked-color', String(colors.checked));
|
|
4869
|
+
if (colors.crossed != null) tristateDom.style.setProperty('--apx-tristate-crossed-color', String(colors.crossed));
|
|
3835
4870
|
tristateDom.style.margin = checkboxStyle.margin;
|
|
3836
4871
|
if (checkboxElement.checked) {
|
|
3837
4872
|
tristateDom.classList.add('checked');
|
|
@@ -3874,18 +4909,16 @@ function createTriStateCheckbox(checkboxElement, options) {
|
|
|
3874
4909
|
return [checkboxElement, tristateDom, hiddenInput];
|
|
3875
4910
|
}
|
|
3876
4911
|
function setDefaultState(options, tristateDom, hiddenInput) {
|
|
3877
|
-
//
|
|
4912
|
+
// Ensure only one state class is set (uncheckedAppearance modifiers must not affect checked/crossed)
|
|
4913
|
+
tristateDom.classList.remove('unchecked', 'checked', 'crossed');
|
|
3878
4914
|
if (options.defaultState === 'checked') {
|
|
3879
|
-
tristateDom.classList.remove('unchecked');
|
|
3880
4915
|
tristateDom.classList.add('checked');
|
|
3881
4916
|
hiddenInput.value = 'true';
|
|
3882
4917
|
} else if (options.defaultState === 'unchecked') {
|
|
3883
|
-
tristateDom.classList.remove('checked');
|
|
3884
4918
|
tristateDom.classList.add('unchecked');
|
|
3885
4919
|
hiddenInput.removeAttribute('name'); // Ensure the hidden input doesn't post any value
|
|
3886
4920
|
hiddenInput.removeAttribute('value'); // Ensure the hidden input doesn't post any value
|
|
3887
4921
|
} else if (options.defaultState === 'crossed') {
|
|
3888
|
-
tristateDom.classList.remove('checked');
|
|
3889
4922
|
tristateDom.classList.add('crossed');
|
|
3890
4923
|
hiddenInput.value = 'false';
|
|
3891
4924
|
}
|
|
@@ -3901,6 +4934,14 @@ function computeClasses(classes) {
|
|
|
3901
4934
|
}
|
|
3902
4935
|
return computedClasses;
|
|
3903
4936
|
}
|
|
4937
|
+
function resolveColors(options) {
|
|
4938
|
+
var c = options.colors || {};
|
|
4939
|
+
return {
|
|
4940
|
+
tick: c.tick != null ? c.tick : options.tickColor,
|
|
4941
|
+
checked: c.checked != null ? c.checked : options.checkedColor,
|
|
4942
|
+
crossed: c.crossed != null ? c.crossed : options.crossedColor
|
|
4943
|
+
};
|
|
4944
|
+
}
|
|
3904
4945
|
function bubbleEventsToOriginalCheckbox(options, checkboxElement, tristateDom, hiddenInput, event) {
|
|
3905
4946
|
//if options.callbacks.change is set, call it
|
|
3906
4947
|
if (options.callbacks && options.callbacks.change && typeof options.callbacks.change === 'function') {
|
|
@@ -4050,10 +5091,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
4050
5091
|
/* harmony export */ });
|
|
4051
5092
|
/* harmony import */ var _modules_listen_listen_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules/listen/listen.mjs */ "./modules/listen/listen.mjs");
|
|
4052
5093
|
/* harmony import */ var _modules_tristate_tristate_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/tristate/tristate.mjs */ "./modules/tristate/tristate.mjs");
|
|
4053
|
-
/* harmony import */ var
|
|
4054
|
-
/* harmony import */ var
|
|
4055
|
-
/* harmony import */ var
|
|
4056
|
-
/* harmony import */ var
|
|
5094
|
+
/* harmony import */ var _modules_scrollableTable_scrollableTable_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/scrollableTable/scrollableTable.mjs */ "./modules/scrollableTable/scrollableTable.mjs");
|
|
5095
|
+
/* harmony import */ var _modules_dialog_dialog_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/dialog/dialog.mjs */ "./modules/dialog/dialog.mjs");
|
|
5096
|
+
/* harmony import */ var _modules_toast_toast_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/toast/toast.mjs */ "./modules/toast/toast.mjs");
|
|
5097
|
+
/* harmony import */ var _modules_common_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/common.mjs */ "./modules/common.mjs");
|
|
5098
|
+
/* harmony import */ var _modules_tools_exports_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/tools/exports.mjs */ "./modules/tools/exports.mjs");
|
|
5099
|
+
|
|
4057
5100
|
|
|
4058
5101
|
|
|
4059
5102
|
|
|
@@ -4166,13 +5209,14 @@ var APX = function APX(input) {
|
|
|
4166
5209
|
};
|
|
4167
5210
|
(0,_modules_listen_listen_mjs__WEBPACK_IMPORTED_MODULE_0__["default"])(apx);
|
|
4168
5211
|
(0,_modules_tristate_tristate_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])(apx);
|
|
4169
|
-
(0,
|
|
5212
|
+
(0,_modules_scrollableTable_scrollableTable_mjs__WEBPACK_IMPORTED_MODULE_2__["default"])(apx);
|
|
5213
|
+
(0,_modules_tools_exports_mjs__WEBPACK_IMPORTED_MODULE_6__.augmentWithPack)(apx);
|
|
4170
5214
|
return apx;
|
|
4171
5215
|
};
|
|
4172
|
-
APX.loadCss =
|
|
4173
|
-
APX.dialog =
|
|
4174
|
-
APX.toast =
|
|
4175
|
-
APX.tools =
|
|
5216
|
+
APX.loadCss = _modules_common_mjs__WEBPACK_IMPORTED_MODULE_5__.loadCss;
|
|
5217
|
+
APX.dialog = _modules_dialog_dialog_mjs__WEBPACK_IMPORTED_MODULE_3__["default"];
|
|
5218
|
+
APX.toast = _modules_toast_toast_mjs__WEBPACK_IMPORTED_MODULE_4__["default"];
|
|
5219
|
+
APX.tools = _modules_tools_exports_mjs__WEBPACK_IMPORTED_MODULE_6__.tools;
|
|
4176
5220
|
APX.isAPXObject = function (obj) {
|
|
4177
5221
|
return obj && obj._isAPXObject === true;
|
|
4178
5222
|
};
|