@limetech/lime-elements 34.2.0-next.4 → 35.0.0-next.10

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.
Files changed (66) hide show
  1. package/dist/cjs/lime-elements.cjs.js +1 -1
  2. package/dist/cjs/limel-checkbox.cjs.entry.js +17 -10
  3. package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
  4. package/dist/cjs/limel-input-field.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-list_3.cjs.entry.js +2 -2
  6. package/dist/cjs/limel-menu-list.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-menu.cjs.entry.js +3 -1
  8. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-slider.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-table.cjs.entry.js +314 -10
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/collection/components/checkbox/checkbox.css +4 -2
  13. package/dist/collection/components/checkbox/checkbox.js +17 -10
  14. package/dist/collection/components/dialog/dialog.css +4 -0
  15. package/dist/collection/components/input-field/input-field.css +14 -0
  16. package/dist/collection/components/list/list.css +5 -2
  17. package/dist/collection/components/menu/menu.css +1 -1
  18. package/dist/collection/components/menu/menu.js +3 -1
  19. package/dist/collection/components/menu-list/menu-list.css +5 -2
  20. package/dist/collection/components/menu-surface/menu-surface.css +9 -1
  21. package/dist/collection/components/select/select.css +6 -3
  22. package/dist/collection/components/slider/slider.css +5 -0
  23. package/dist/collection/components/table/columns.js +1 -1
  24. package/dist/collection/components/table/selection.js +111 -0
  25. package/dist/collection/components/table/table-selection.js +125 -0
  26. package/dist/collection/components/table/table.css +115 -32
  27. package/dist/collection/components/table/table.js +142 -7
  28. package/dist/collection/style/internal/shared_input-select-picker.scss +1 -0
  29. package/dist/collection/style/internal/z-index.scss +2 -1
  30. package/dist/esm/{component-2eb4e07b.js → component-834d85a1.js} +1 -1
  31. package/dist/esm/lime-elements.js +1 -1
  32. package/dist/esm/limel-checkbox.entry.js +18 -11
  33. package/dist/esm/limel-dialog.entry.js +1 -1
  34. package/dist/esm/limel-input-field.entry.js +1 -1
  35. package/dist/esm/limel-linear-progress.entry.js +1 -1
  36. package/dist/esm/limel-list_3.entry.js +4 -4
  37. package/dist/esm/limel-menu-list.entry.js +3 -3
  38. package/dist/esm/limel-menu.entry.js +3 -1
  39. package/dist/esm/limel-select.entry.js +1 -1
  40. package/dist/esm/limel-slider.entry.js +2 -2
  41. package/dist/esm/limel-table.entry.js +314 -10
  42. package/dist/esm/loader.js +1 -1
  43. package/dist/esm/{util-71a23335.js → util-f1bde91c.js} +1 -1
  44. package/dist/lime-elements/lime-elements.esm.js +1 -1
  45. package/dist/lime-elements/{p-85094bfc.entry.js → p-0fd208f3.entry.js} +3 -3
  46. package/dist/lime-elements/{p-6215e45e.entry.js → p-29f054cc.entry.js} +1 -1
  47. package/dist/lime-elements/{p-050e8972.entry.js → p-3ae6bb75.entry.js} +2 -2
  48. package/dist/lime-elements/p-3ae6dfba.entry.js +73 -0
  49. package/dist/lime-elements/{p-13f0e4f4.entry.js → p-6043b4c2.entry.js} +1 -1
  50. package/dist/lime-elements/{p-511d71e0.entry.js → p-714fde78.entry.js} +1 -1
  51. package/dist/lime-elements/{p-31299106.js → p-90c6fa15.js} +1 -1
  52. package/dist/lime-elements/{p-152a6d5f.js → p-9faad6eb.js} +1 -1
  53. package/dist/lime-elements/{p-1652d3ca.entry.js → p-c306c953.entry.js} +1 -1
  54. package/dist/lime-elements/{p-a77cbb08.entry.js → p-ca664c9f.entry.js} +1 -1
  55. package/dist/lime-elements/{p-b5faa40d.entry.js → p-df8faeb4.entry.js} +2 -2
  56. package/dist/lime-elements/{p-64549ba6.entry.js → p-e275f502.entry.js} +2 -2
  57. package/dist/lime-elements/style/internal/shared_input-select-picker.scss +1 -0
  58. package/dist/lime-elements/style/internal/z-index.scss +2 -1
  59. package/dist/types/components/checkbox/checkbox.d.ts +2 -1
  60. package/dist/types/components/table/columns.d.ts +7 -0
  61. package/dist/types/components/table/selection.d.ts +79 -0
  62. package/dist/types/components/table/table-selection.d.ts +57 -0
  63. package/dist/types/components/table/table.d.ts +31 -6
  64. package/dist/types/components.d.ts +24 -0
  65. package/package.json +1 -1
  66. package/dist/lime-elements/p-80cc0936.entry.js +0 -73
@@ -952,13 +952,13 @@ body.tabulator-print-fullscreen-hide > *:not(.tabulator-print-fullscreen) {
952
952
  cursor: pointer;
953
953
  }
954
954
  [aria-sort=none] .tabulator-arrow {
955
- border-bottom-color: rgb(var(--contrast-800)) !important;
955
+ border-bottom-color: rgb(var(--table-arrow-color)) !important;
956
956
  }
957
957
  [aria-sort=desc] .tabulator-arrow {
958
- border-top-color: rgb(var(--color-teal-light)) !important;
958
+ border-top-color: rgb(var(--table-arrow-color--active)) !important;
959
959
  }
960
960
  [aria-sort=asc] .tabulator-arrow {
961
- border-bottom-color: rgb(var(--color-teal-light)) !important;
961
+ border-bottom-color: rgb(var(--table-arrow-color--active)) !important;
962
962
  }
963
963
  .tabulator-arrow:before, .tabulator-arrow:after {
964
964
  display: block;
@@ -967,7 +967,7 @@ body.tabulator-print-fullscreen-hide > *:not(.tabulator-print-fullscreen) {
967
967
  bottom: 0;
968
968
  }
969
969
  .tabulator-arrow:before {
970
- background-color: rgb(var(--contrast-500));
970
+ background-color: rgb(var(--table-header-background-color));
971
971
  width: 0.5rem;
972
972
  height: 0.5rem;
973
973
  transform: rotate(45deg);
@@ -976,7 +976,7 @@ body.tabulator-print-fullscreen-hide > *:not(.tabulator-print-fullscreen) {
976
976
  }
977
977
  .tabulator-arrow:after {
978
978
  width: 0.125rem;
979
- background-color: rgb(var(--contrast-800));
979
+ background-color: rgb(var(--table-arrow-color));
980
980
  height: 0.5625rem;
981
981
  top: 0.125rem;
982
982
  left: -0.0625rem;
@@ -991,7 +991,7 @@ body.tabulator-print-fullscreen-hide > *:not(.tabulator-print-fullscreen) {
991
991
  top: -0.6875rem;
992
992
  }
993
993
  [aria-sort=desc] .tabulator-arrow:after, [aria-sort=asc] .tabulator-arrow:after {
994
- background-color: rgb(var(--color-teal-light));
994
+ background-color: rgb(var(--table-arrow-color--active));
995
995
  }
996
996
 
997
997
  @keyframes indicate-sortable-column {
@@ -1156,21 +1156,21 @@ body.tabulator-print-fullscreen-hide > *:not(.tabulator-print-fullscreen) {
1156
1156
  * Nothing in this file may output any CSS
1157
1157
  * without being explicitly called by outside code.
1158
1158
  */
1159
- :host(.has-interactive-rows) .tabulator-row.tabulator-selectable {
1159
+ :host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable {
1160
1160
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
1161
1161
  }
1162
- :host(.has-interactive-rows) .tabulator-row.tabulator-selectable:hover {
1162
+ :host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:hover {
1163
1163
  box-shadow: var(--button-shadow-hovered);
1164
1164
  }
1165
- :host(.has-interactive-rows) .tabulator-row.tabulator-selectable:active {
1165
+ :host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:active {
1166
1166
  box-shadow: var(--button-shadow-pressed);
1167
1167
  transform: translate3d(0, 0.08rem, 0);
1168
1168
  }
1169
- :host(.has-interactive-rows) .tabulator-row.tabulator-selectable:hover {
1170
- z-index: 1;
1169
+ :host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:hover {
1170
+ z-index: 2;
1171
1171
  }
1172
- :host(.has-interactive-rows) .tabulator-row.tabulator-selectable:not(.active):hover {
1173
- background-color: rgb(var(--contrast-100));
1172
+ :host(.has-interactive-rows) .tabulator-row:not(.tabulator-calcs).tabulator-selectable:not(.active):hover {
1173
+ background-color: rgb(var(--table-row-background-color--hover));
1174
1174
  }
1175
1175
 
1176
1176
  :host(.has-low-density) #tabulator-table {
@@ -1263,26 +1263,109 @@ body.tabulator-print-fullscreen-hide > *:not(.tabulator-print-fullscreen) {
1263
1263
  .tabulator.has-movable-columns .tabulator-header {
1264
1264
  overflow-y: visible;
1265
1265
  }
1266
- .tabulator.has-movable-columns .tabulator-header .tabulator-col {
1266
+ .tabulator.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen) {
1267
1267
  cursor: move !important;
1268
1268
  }
1269
- .tabulator.has-movable-columns .tabulator-header .tabulator-col.tabulator-sortable.tabulator-moving {
1269
+ .tabulator.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving {
1270
1270
  animation: detach-a-column-header 0.2s ease forwards;
1271
1271
  opacity: 0.9;
1272
1272
  border: none;
1273
1273
  border-radius: 0.25rem;
1274
- background-color: rgb(var(--contrast-100));
1274
+ background-color: rgb(var(---table-header-background-color-when-being-dragged));
1275
1275
  box-shadow: var(--shadow-depth-16);
1276
1276
  }
1277
- .tabulator.has-movable-columns .tabulator-header .tabulator-col.tabulator-sortable.tabulator-moving:hover {
1278
- background-color: rgb(var(--contrast-100));
1277
+ .tabulator.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving:hover {
1278
+ background-color: rgb(var(---table-header-background-color-when-being-dragged));
1279
+ }
1280
+ .tabulator.has-movable-columns .tabulator-header .tabulator-col:not(.tabulator-frozen).tabulator-sortable.tabulator-moving .tabulator-arrow:before {
1281
+ background-color: rgb(var(---table-header-background-color-when-being-dragged));
1282
+ }
1283
+
1284
+ /*
1285
+ * This file is imported into every component!
1286
+ *
1287
+ * Nothing in this file may output any CSS
1288
+ * without being explicitly called by outside code.
1289
+ */
1290
+ .select-all,
1291
+ .limel-table--row-selector {
1292
+ --mdc-checkbox-ripple-size: 1rem;
1293
+ }
1294
+
1295
+ .select-all {
1296
+ position: absolute;
1297
+ z-index: 1;
1298
+ left: 0;
1299
+ top: 0.4375rem;
1300
+ width: 2.5625rem;
1301
+ display: flex !important;
1302
+ align-items: center;
1303
+ justify-content: center;
1279
1304
  }
1280
- .tabulator.has-movable-columns .tabulator-header .tabulator-col.tabulator-sortable.tabulator-moving .tabulator-arrow:before {
1281
- background-color: rgb(var(--contrast-100));
1305
+ .select-all limel-checkbox {
1306
+ transform: translate(-0.25rem, 0);
1307
+ }
1308
+
1309
+ .limel-table--row-selector {
1310
+ position: sticky !important;
1311
+ left: 0;
1312
+ border-width: 0;
1313
+ justify-content: center;
1314
+ z-index: 1;
1315
+ }
1316
+ .tabulator-row-odd .limel-table--row-selector {
1317
+ background-image: linear-gradient(to right, rgb(var(--table-row-background-color--odd)) 70%, rgb(var(--table-row-background-color--odd), 0));
1318
+ }
1319
+ .tabulator-row-even .limel-table--row-selector {
1320
+ background-image: linear-gradient(to right, rgb(var(--table-row-background-color--even)) 70%, rgb(var(--table-row-background-color--even), 0));
1321
+ }
1322
+ .tabulator-row:not(.tabulator-calcs):hover .limel-table--row-selector {
1323
+ will-change: background-image;
1324
+ background-image: linear-gradient(to right, rgb(var(--table-row-background-color--hover)) 70%, rgb(var(--table-row-background-color--hover), 0));
1325
+ }
1326
+ .tabulator-row.active .limel-table--row-selector, .tabulator-row.active:hover .limel-table--row-selector {
1327
+ background-image: linear-gradient(to right, rgb(var(--table-row-background-color--active)) 70%, rgb(var(--table-row-background-color--active), 0));
1328
+ }
1329
+ .limel-table--row-selector limel-checkbox {
1330
+ transition: opacity 0.2s ease;
1331
+ align-self: center;
1332
+ opacity: 0.3;
1333
+ transform: translate(-0.25rem, 0);
1334
+ }
1335
+ .tabulator-row:hover .limel-table--row-selector limel-checkbox {
1336
+ opacity: 1;
1337
+ }
1338
+ .has-selection .limel-table--row-selector limel-checkbox {
1339
+ opacity: 1;
1340
+ }
1341
+ .limel-table--row-selector .tabulator-col-resize-handle {
1342
+ display: none;
1343
+ }
1344
+ .limel-table--row-selector + .tabulator-col .tabulator-col-resize-handle.prev, .limel-table--row-selector + .tabulator-cell .tabulator-col-resize-handle.prev {
1345
+ display: none;
1346
+ }
1347
+
1348
+ .tabulator.has-movable-columns .tabulator-header .tabulator-col.limel-table--row-selector {
1349
+ border: none;
1350
+ cursor: default;
1351
+ pointer-events: none;
1352
+ background-color: transparent;
1353
+ background-image: linear-gradient(to right, rgb(var(--table-header-background-color--hover)) 70%, rgb(var(--table-header-background-color--hover), 0));
1354
+ position: sticky;
1355
+ left: 0;
1282
1356
  }
1283
1357
 
1284
1358
  :host {
1285
1359
  display: block;
1360
+ --table-header-background-color: var(--contrast-500);
1361
+ --table-header-background-color--hover: var(--contrast-400);
1362
+ --table-header-background-color-when-being-dragged: var(--contrast-100);
1363
+ --table-row-background-color--odd: var(--contrast-200);
1364
+ --table-row-background-color--even: var(--contrast-100);
1365
+ --table-row-background-color--hover: var(--contrast-100);
1366
+ --table-row-background-color--active: var(--color-teal-lighter);
1367
+ --table-arrow-color: var(--contrast-800);
1368
+ --table-arrow-color--active: var(--color-teal-default);
1286
1369
  }
1287
1370
 
1288
1371
  #tabulator-container {
@@ -1304,46 +1387,46 @@ body.tabulator-print-fullscreen-hide > *:not(.tabulator-print-fullscreen) {
1304
1387
 
1305
1388
  .tabulator .tabulator-header {
1306
1389
  border-bottom: 0;
1307
- background-color: rgb(var(--contrast-500));
1390
+ background-color: rgb(var(--table-header-background-color--hover));
1308
1391
  }
1309
1392
  .tabulator .tabulator-header .tabulator-col {
1310
1393
  transition: background-color 0.2s ease;
1311
- background-color: rgb(var(--contrast-500));
1394
+ background-color: rgb(var(--table-header-background-color--hover));
1312
1395
  border-right-color: rgb(var(--contrast-200));
1313
1396
  }
1314
- .tabulator .tabulator-header .tabulator-col .tabulator-col-content {
1315
- padding-top: 0.5rem;
1316
- padding-bottom: 0.5rem;
1317
- }
1318
1397
  .tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover {
1319
- background-color: rgb(var(--contrast-400));
1398
+ background-color: var(--table-header-background-color--hover);
1320
1399
  }
1321
1400
  .tabulator .tabulator-header .tabulator-col-title {
1322
1401
  font-weight: 500;
1323
1402
  padding-left: 0.125rem;
1324
1403
  }
1325
1404
  .tabulator .tabulator-footer {
1326
- background-color: rgb(var(--contrast-500));
1405
+ background-color: rgb(var(--table-header-background-color--hover));
1327
1406
  border: none;
1407
+ user-select: auto;
1328
1408
  }
1329
1409
  .tabulator .tabulator-footer .tabulator-calcs-holder {
1330
1410
  border-color: rgb(var(--contrast-600));
1331
1411
  }
1332
1412
 
1413
+ .tabulator-row.tabulator-calcs {
1414
+ cursor: default !important;
1415
+ }
1333
1416
  .tabulator-row.tabulator-selectable {
1334
1417
  transition: background-color 0.2s ease;
1335
1418
  }
1336
1419
  .tabulator-row.tabulator-selectable:not(.active):hover {
1337
- background-color: rgb(var(--contrast-500));
1420
+ background-color: rgb(var(--table-header-background-color));
1338
1421
  }
1339
1422
  .tabulator-row.tabulator-row-odd {
1340
- background-color: rgb(var(--contrast-200));
1423
+ background-color: rgb(var(--table-row-background-color--odd));
1341
1424
  }
1342
1425
  .tabulator-row.tabulator-row-even {
1343
- background-color: rgb(var(--contrast-100));
1426
+ background-color: rgb(var(--table-row-background-color--even));
1344
1427
  }
1345
1428
  .tabulator-row.active, .tabulator-row.active:hover {
1346
- background-color: rgba(var(--color-teal-light), 0.16);
1429
+ background-color: rgb(var(--table-row-background-color--active));
1347
1430
  }
1348
1431
  .tabulator-row .tabulator-cell {
1349
1432
  border-right: transparent;
@@ -3,6 +3,7 @@ import TabulatorTable from 'tabulator-tables';
3
3
  import { ColumnDefinitionFactory, createColumnSorter } from './columns';
4
4
  import { isEqual, has } from 'lodash-es';
5
5
  import { ElementPool } from './element-pool';
6
+ import { TableSelection } from './table-selection';
6
7
  const FIRST_PAGE = 1;
7
8
  /**
8
9
  * @exampleComponent limel-example-table
@@ -12,6 +13,7 @@ const FIRST_PAGE = 1;
12
13
  * @exampleComponent limel-example-table-local
13
14
  * @exampleComponent limel-example-table-remote
14
15
  * @exampleComponent limel-example-table-activate-row
16
+ * @exampleComponent limel-example-table-selectable-rows
15
17
  * @exampleComponent limel-example-table-default-sorted
16
18
  * @exampleComponent limel-example-table-low-density
17
19
  */
@@ -44,6 +46,27 @@ export class Table {
44
46
  * The page to show
45
47
  */
46
48
  this.page = FIRST_PAGE;
49
+ this.getActiveRows = () => {
50
+ if (!this.tabulator) {
51
+ return [];
52
+ }
53
+ return this.tabulator.getRows('active');
54
+ };
55
+ this.getActiveRowsData = () => {
56
+ // Note: Tabulator.getData() creates copies of each data object
57
+ // and will break this.selection.has checks, hence why this function
58
+ // intentionally retrieves the data using the row components
59
+ return this.getActiveRows().map((row) => row.getData());
60
+ };
61
+ this.selectAllOnChange = (ev) => {
62
+ const selectAll = ev.detail;
63
+ ev.stopPropagation();
64
+ ev.preventDefault();
65
+ const newSelection = selectAll ? this.getActiveRowsData() : [];
66
+ this.select.emit(newSelection);
67
+ this.tableSelection.setSelection(newSelection);
68
+ this.selectAll.emit(selectAll);
69
+ };
47
70
  this.getColumnOptions = () => {
48
71
  if (!this.movableColumns) {
49
72
  return {};
@@ -54,7 +77,7 @@ export class Table {
54
77
  };
55
78
  };
56
79
  this.handleMoveColumn = (_, components) => {
57
- const columns = components.map(this.findColumn);
80
+ const columns = components.map(this.findColumn).filter((c) => c);
58
81
  this.changeColumns.emit(columns);
59
82
  };
60
83
  this.findColumn = (component) => {
@@ -69,13 +92,19 @@ export class Table {
69
92
  this.requestData = this.requestData.bind(this);
70
93
  this.onClickRow = this.onClickRow.bind(this);
71
94
  this.formatRow = this.formatRow.bind(this);
95
+ this.formatRows = this.formatRows.bind(this);
72
96
  this.updateMaxPage = this.updateMaxPage.bind(this);
73
97
  this.initTabulatorComponent = this.initTabulatorComponent.bind(this);
98
+ this.setSelection = this.setSelection.bind(this);
74
99
  this.pool = new ElementPool(document);
75
100
  this.columnFactory = new ColumnDefinitionFactory(this.pool);
76
101
  }
77
102
  componentWillLoad() {
78
103
  this.firstRequest = this.mode === 'remote';
104
+ if (this.selectable) {
105
+ this.tableSelection = new TableSelection(() => this.tabulator, this.pool, this.select);
106
+ this.tableSelection.setSelection(this.selection);
107
+ }
79
108
  }
80
109
  componentDidLoad() {
81
110
  this.init();
@@ -102,7 +131,7 @@ export class Table {
102
131
  if (!this.tabulator) {
103
132
  return;
104
133
  }
105
- this.tabulator.getRows().forEach(this.formatRow);
134
+ this.formatRows();
106
135
  }
107
136
  updateData(newData = [], oldData = []) {
108
137
  if (isEqual(newData, oldData)) {
@@ -114,6 +143,7 @@ export class Table {
114
143
  return;
115
144
  }
116
145
  this.tabulator.replaceData(this.data);
146
+ this.setSelection();
117
147
  });
118
148
  }
119
149
  updateColumns(newColumns, oldColumns) {
@@ -123,16 +153,23 @@ export class Table {
123
153
  if (this.areSameColumns(newColumns, oldColumns)) {
124
154
  return;
125
155
  }
126
- const existingColumns = this.tabulator
156
+ const columnsInTable = this.tabulator
127
157
  .getColumns()
128
- .map(this.findColumn);
129
- if (this.areSameColumns(newColumns, existingColumns)) {
158
+ .filter((c) => c.getField());
159
+ const oldColumnsInTable = columnsInTable.map((c) => oldColumns.find((old) => old.field === c.getField()));
160
+ if (this.areSameColumns(newColumns, oldColumnsInTable)) {
130
161
  return;
131
162
  }
132
163
  // Updating columns requires a reinitialization otherwise sorting will not work
133
164
  // afterwards
134
165
  this.init();
135
166
  }
167
+ updateSelection(newSelection) {
168
+ if (!this.tableSelection) {
169
+ return;
170
+ }
171
+ this.tableSelection.setSelection(newSelection);
172
+ }
136
173
  areSameColumns(newColumns, oldColumns) {
137
174
  return (newColumns.length === oldColumns.length &&
138
175
  newColumns.every((column) => oldColumns.includes(column)));
@@ -163,14 +200,22 @@ export class Table {
163
200
  // matter if its rendered or not.
164
201
  if (!('ResizeObserver' in window)) {
165
202
  this.tabulator = new TabulatorTable(table, options);
203
+ this.setSelection();
166
204
  return;
167
205
  }
168
206
  const observer = new ResizeObserver(() => {
169
207
  this.tabulator = new TabulatorTable(table, options);
208
+ this.setSelection();
170
209
  observer.unobserve(table);
171
210
  });
172
211
  observer.observe(table);
173
212
  }
213
+ setSelection() {
214
+ if (!(this.tabulator && this.tableSelection)) {
215
+ return;
216
+ }
217
+ this.tableSelection.setSelection(this.selection);
218
+ }
174
219
  updateMaxPage() {
175
220
  var _a;
176
221
  (_a = this.tabulator) === null || _a === void 0 ? void 0 : _a.setMaxPage(this.calculatePageCount());
@@ -192,7 +237,11 @@ export class Table {
192
237
  });
193
238
  }
194
239
  getColumnDefinitions() {
195
- return this.columns.map(this.columnFactory.create);
240
+ const columnDefinitions = this.columns.map(this.columnFactory.create);
241
+ if (this.tableSelection) {
242
+ return this.tableSelection.getColumnDefinitions(columnDefinitions);
243
+ }
244
+ return columnDefinitions;
196
245
  }
197
246
  getAjaxOptions() {
198
247
  if (!this.isRemoteMode()) {
@@ -291,7 +340,11 @@ export class Table {
291
340
  }
292
341
  this.changePage.emit(page);
293
342
  }
294
- onClickRow(_, row) {
343
+ onClickRow(_ev, row) {
344
+ if (typeof row.getPosition === 'undefined') {
345
+ // Not a data row, probably a CalcComponent
346
+ return;
347
+ }
295
348
  if (this.activeRow === row.getData()) {
296
349
  this.activeRow = null;
297
350
  }
@@ -300,6 +353,9 @@ export class Table {
300
353
  }
301
354
  this.activate.emit(this.activeRow);
302
355
  }
356
+ formatRows() {
357
+ this.tabulator.getRows().forEach(this.formatRow);
358
+ }
303
359
  formatRow(row) {
304
360
  if (this.activeRow === row.getData()) {
305
361
  row.getElement().classList.add('active');
@@ -319,16 +375,30 @@ export class Table {
319
375
  return columns.some((column) => has(column, 'aggregator'));
320
376
  }
321
377
  render() {
378
+ var _a;
322
379
  return (h("div", { id: "tabulator-container" },
323
380
  h("div", { id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } },
324
381
  h("limel-spinner", { size: "large" })),
325
382
  this.renderEmptyMessage(),
383
+ this.renderSelectAll(),
326
384
  h("div", { id: "tabulator-table", class: {
327
385
  'has-pagination': this.totalRows > this.pageSize,
328
386
  'has-aggregation': this.hasAggregation(this.columns),
329
387
  'has-movable-columns': this.movableColumns,
388
+ 'has-rowselector': this.selectable,
389
+ 'has-selection': (_a = this.tableSelection) === null || _a === void 0 ? void 0 : _a.hasSelection,
330
390
  } })));
331
391
  }
392
+ renderSelectAll() {
393
+ var _a, _b, _c;
394
+ if (!this.selectable) {
395
+ return;
396
+ }
397
+ const showSelectAll = !this.loading && this.tableSelection;
398
+ return (h("div", { class: "select-all", style: { display: showSelectAll ? 'inline-block' : 'none' } },
399
+ h("limel-checkbox", { onChange: this.selectAllOnChange, checked: (_a = this.tableSelection) === null || _a === void 0 ? void 0 : _a.hasSelection, indeterminate: ((_b = this.tableSelection) === null || _b === void 0 ? void 0 : _b.hasSelection) &&
400
+ ((_c = this.selection) === null || _c === void 0 ? void 0 : _c.length) < this.data.length })));
401
+ }
332
402
  renderEmptyMessage() {
333
403
  const showEmptyMessage = !this.loading && !this.data.length && this.emptyMessage;
334
404
  return (h("div", { id: "tabulator-empty-text", style: { display: showEmptyMessage ? 'flex' : 'none' } },
@@ -537,6 +607,38 @@ export class Table {
537
607
  },
538
608
  "attribute": "empty-message",
539
609
  "reflect": false
610
+ },
611
+ "selectable": {
612
+ "type": "boolean",
613
+ "mutable": false,
614
+ "complexType": {
615
+ "original": "boolean",
616
+ "resolved": "boolean",
617
+ "references": {}
618
+ },
619
+ "required": false,
620
+ "optional": false,
621
+ "docs": {
622
+ "tags": [],
623
+ "text": "Enables row selection"
624
+ },
625
+ "attribute": "selectable",
626
+ "reflect": false
627
+ },
628
+ "selection": {
629
+ "type": "unknown",
630
+ "mutable": false,
631
+ "complexType": {
632
+ "original": "object[]",
633
+ "resolved": "object[]",
634
+ "references": {}
635
+ },
636
+ "required": false,
637
+ "optional": false,
638
+ "docs": {
639
+ "tags": [],
640
+ "text": "Selected data. Requires `selectable` to be true."
641
+ }
540
642
  }
541
643
  }; }
542
644
  static get events() { return [{
@@ -629,6 +731,36 @@ export class Table {
629
731
  }
630
732
  }
631
733
  }
734
+ }, {
735
+ "method": "select",
736
+ "name": "select",
737
+ "bubbles": true,
738
+ "cancelable": true,
739
+ "composed": true,
740
+ "docs": {
741
+ "tags": [],
742
+ "text": "Emitted when the row selection has been changed"
743
+ },
744
+ "complexType": {
745
+ "original": "object[]",
746
+ "resolved": "object[]",
747
+ "references": {}
748
+ }
749
+ }, {
750
+ "method": "selectAll",
751
+ "name": "selectAll",
752
+ "bubbles": true,
753
+ "cancelable": true,
754
+ "composed": true,
755
+ "docs": {
756
+ "tags": [],
757
+ "text": "Emitted when the select all rows state is toggled"
758
+ },
759
+ "complexType": {
760
+ "original": "boolean",
761
+ "resolved": "boolean",
762
+ "references": {}
763
+ }
632
764
  }]; }
633
765
  static get elementRef() { return "host"; }
634
766
  static get watchers() { return [{
@@ -649,5 +781,8 @@ export class Table {
649
781
  }, {
650
782
  "propName": "columns",
651
783
  "methodName": "updateColumns"
784
+ }, {
785
+ "propName": "selection",
786
+ "methodName": "updateSelection"
652
787
  }]; }
653
788
  }
@@ -54,6 +54,7 @@ $cropped-label-hack--font-size: 0.875rem; //14px
54
54
  -moz-osx-font-smoothing: grayscale;
55
55
  -webkit-font-smoothing: antialiased;
56
56
 
57
+ color: $input-text-color;
57
58
  font-size: functions.pxToRem(14);
58
59
  font-weight: 400;
59
60
  letter-spacing: 0.009375em;
@@ -9,7 +9,8 @@ $input-field--mdc-text-field__input--readonly: 1 !default;
9
9
  $list--has-interactive-items--mdc-list-item--hover: 1 !default;
10
10
  $list-static-actions-list: 1 !default;
11
11
  $tab-bar--active-tab: 2 !default;
12
- $table--has-interactive-rows--selectable-row--hover: 1 !default;
12
+ $table--has-interactive-rows--selectable-row--hover: 2 !default;
13
+ $table--limel-table--row-selector: 1 !default;
13
14
  $popover-before: -1 !default;
14
15
  $button-group-radio-button-keyboard-focused: 1 !default;
15
16
  $list-mdc-list-item: 0 !default;
@@ -1,7 +1,7 @@
1
1
  import { M as MDCFoundation, a as MDCComponent } from './component-d682c974.js';
2
2
  import { m as matches, c as closest } from './ponyfill-30263d5e.js';
3
3
  import { n as normalizeKey } from './keyboard-4b9e12e3.js';
4
- import { a as getCorrectPropertyName } from './util-71a23335.js';
4
+ import { g as getCorrectPropertyName } from './util-f1bde91c.js';
5
5
 
6
6
  /**
7
7
  * @license
@@ -13,5 +13,5 @@ const patchBrowser = () => {
13
13
  };
14
14
 
15
15
  patchBrowser().then(options => {
16
- return bootstrapLazy([["limel-color-picker",[[1,"limel-color-picker",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"tooltipLabel":[513,"tooltip-label"],"required":[516],"readonly":[516],"isOpen":[32]}]]],["limel-picker",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"helperText":[513,"helper-text"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"badgeIcons":[516,"badge-icons"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-date-picker",[[1,"limel-date-picker",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"required":[516],"value":[16],"type":[513],"format":[513],"language":[513],"formattedValue":[32],"internalFormat":[32],"showPortal":[32]}]]],["limel-button-group",[[1,"limel-button-group",{"value":[16],"disabled":[516],"selectedButtonId":[32]}]]],["limel-select",[[1,"limel-select",{"disabled":[516],"readonly":[516],"invalid":[516],"required":[516],"label":[513],"helperText":[513,"helper-text"],"value":[16],"options":[16],"multiple":[4],"menuOpen":[32]}]]],["limel-tab-panel",[[1,"limel-tab-panel",{"tabs":[1040]}]]],["limel-file",[[1,"limel-file",{"value":[16],"label":[513],"required":[516],"disabled":[516],"readonly":[516],"accept":[513],"language":[1],"isDraggingOverDropZone":[32]}]]],["limel-menu",[[1,"limel-menu",{"items":[16],"disabled":[516],"openDirection":[513,"open-direction"],"open":[1540],"badgeIcons":[516,"badge-icons"],"gridLayout":[516,"grid-layout"]}]]],["limel-button",[[1,"limel-button",{"label":[513],"primary":[516],"outlined":[516],"icon":[513],"disabled":[516],"loading":[516]}]]],["limel-collapsible-section",[[1,"limel-collapsible-section",{"isOpen":[1540,"is-open"],"header":[513],"actions":[16]}]]],["limel-dialog",[[1,"limel-dialog",{"heading":[1],"fullscreen":[516],"open":[1540],"closingActions":[16]}]]],["limel-progress-flow",[[1,"limel-progress-flow",{"flowItems":[16],"disabled":[4],"readonly":[4]}]]],["limel-banner",[[1,"limel-banner",{"message":[513],"icon":[513],"isOpen":[32],"open":[64],"close":[64]}]]],["limel-table",[[1,"limel-table",{"data":[16],"columns":[16],"mode":[1],"pageSize":[2,"page-size"],"totalRows":[2,"total-rows"],"sorting":[16],"activeRow":[1040],"movableColumns":[4,"movable-columns"],"loading":[4],"page":[2],"emptyMessage":[1,"empty-message"]}]]],["limel-checkbox",[[1,"limel-checkbox",{"disabled":[516],"readonly":[516],"label":[513],"helperText":[513,"helper-text"],"checked":[516],"indeterminate":[516],"required":[516],"modified":[32]}]]],["limel-circular-progress",[[1,"limel-circular-progress",{"value":[2],"maxValue":[2,"max-value"],"suffix":[1],"displayPercentageColors":[4,"display-percentage-colors"],"size":[513]}]]],["limel-code-editor",[[1,"limel-code-editor",{"value":[1],"language":[1],"readonly":[4],"lineNumbers":[4,"line-numbers"],"colorScheme":[1,"color-scheme"],"random":[32]}]]],["limel-config",[[1,"limel-config",{"config":[16]}]]],["limel-flex-container",[[1,"limel-flex-container",{"direction":[513],"justify":[513],"align":[513],"reverse":[516]}]]],["limel-form",[[1,"limel-form",{"schema":[16],"value":[16],"disabled":[4],"propsFactory":[16],"transformErrors":[16]}]]],["limel-grid",[[1,"limel-grid"]]],["limel-linear-progress",[[1,"limel-linear-progress",{"value":[2],"indeterminate":[4]}]]],["limel-slider",[[1,"limel-slider",{"disabled":[516],"readonly":[516],"factor":[514],"label":[513],"helperText":[513,"helper-text"],"unit":[513],"value":[514],"valuemax":[514],"valuemin":[514],"step":[514],"percentageClass":[32]}]]],["limel-snackbar",[[1,"limel-snackbar",{"message":[1],"timeout":[2],"actionText":[1,"action-text"],"dismissible":[4],"multiline":[4],"language":[1],"show":[64]}]]],["limel-switch",[[1,"limel-switch",{"label":[513],"disabled":[516],"readonly":[516],"value":[516],"fieldId":[32]}]]],["limel-tab-bar",[[1,"limel-tab-bar",{"tabs":[1040],"canScrollLeft":[32],"canScrollRight":[32]},[[9,"resize","handleWindowResize"]]]]],["limel-header",[[1,"limel-header",{"icon":[1],"heading":[1],"subheading":[1],"supportingText":[1,"supporting-text"]}]]],["limel-progress-flow-item",[[0,"limel-progress-flow-item",{"item":[16],"disabled":[4],"readonly":[4]}]]],["limel-flatpickr-adapter",[[1,"limel-flatpickr-adapter",{"value":[16],"type":[1],"format":[1],"isOpen":[4,"is-open"],"inputElement":[16],"language":[1]}]]],["limel-menu-list",[[1,"limel-menu-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}]]],["limel-popover-surface",[[1,"limel-popover-surface",{"contentCollection":[16]}]]],["limel-icon",[[1,"limel-icon",{"size":[513],"name":[513],"badge":[516]}]]],["limel-input-field",[[1,"limel-input-field",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"required":[516],"value":[513],"trailingIcon":[513,"trailing-icon"],"leadingIcon":[513,"leading-icon"],"pattern":[513],"type":[513],"formatNumber":[516,"format-number"],"step":[520],"max":[514],"min":[514],"maxlength":[514],"minlength":[514],"completions":[16],"showLink":[516,"show-link"],"isFocused":[32],"isModified":[32],"showCompletions":[32]}]]],["limel-color-picker-palette_2",[[1,"limel-color-picker-palette",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"required":[516]}],[1,"limel-popover",{"open":[4]}]]],["limel-badge",[[1,"limel-badge",{"label":[514]}]]],["limel-chip-set",[[1,"limel-chip-set",{"value":[16],"type":[513],"label":[513],"helperText":[513,"helper-text"],"disabled":[516],"readonly":[516],"maxItems":[514,"max-items"],"required":[516],"searchLabel":[513,"search-label"],"emptyInputOnBlur":[516,"empty-input-on-blur"],"clearAllButton":[4,"clear-all-button"],"leadingIcon":[513,"leading-icon"],"delimiter":[513],"language":[1],"editMode":[32],"textValue":[32],"blurred":[32],"inputChipIndexSelected":[32],"getEditMode":[64],"setFocus":[64],"emptyInput":[64]}]]],["limel-icon-button",[[1,"limel-icon-button",{"icon":[513],"elevated":[516],"label":[513],"disabled":[516],"relayout":[64]}]]],["limel-spinner",[[1,"limel-spinner",{"size":[513],"limeBranded":[4,"lime-branded"]}]]],["limel-list_3",[[1,"limel-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}],[1,"limel-menu-surface",{"open":[4],"allowClicksElement":[16]}],[1,"limel-portal",{"openDirection":[1,"open-direction"],"position":[1],"containerId":[1,"container-id"],"containerStyle":[16],"parent":[16],"inheritParentWidth":[4,"inherit-parent-width"],"visible":[4]}]]],["limel-tooltip_2",[[1,"limel-tooltip",{"elementId":[513,"element-id"],"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514],"open":[32]}],[1,"limel-tooltip-content",{"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514]}]]]], options);
16
+ return bootstrapLazy([["limel-color-picker",[[1,"limel-color-picker",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"tooltipLabel":[513,"tooltip-label"],"required":[516],"readonly":[516],"isOpen":[32]}]]],["limel-picker",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"helperText":[513,"helper-text"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"badgeIcons":[516,"badge-icons"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-date-picker",[[1,"limel-date-picker",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"required":[516],"value":[16],"type":[513],"format":[513],"language":[513],"formattedValue":[32],"internalFormat":[32],"showPortal":[32]}]]],["limel-button-group",[[1,"limel-button-group",{"value":[16],"disabled":[516],"selectedButtonId":[32]}]]],["limel-select",[[1,"limel-select",{"disabled":[516],"readonly":[516],"invalid":[516],"required":[516],"label":[513],"helperText":[513,"helper-text"],"value":[16],"options":[16],"multiple":[4],"menuOpen":[32]}]]],["limel-tab-panel",[[1,"limel-tab-panel",{"tabs":[1040]}]]],["limel-file",[[1,"limel-file",{"value":[16],"label":[513],"required":[516],"disabled":[516],"readonly":[516],"accept":[513],"language":[1],"isDraggingOverDropZone":[32]}]]],["limel-menu",[[1,"limel-menu",{"items":[16],"disabled":[516],"openDirection":[513,"open-direction"],"open":[1540],"badgeIcons":[516,"badge-icons"],"gridLayout":[516,"grid-layout"]}]]],["limel-button",[[1,"limel-button",{"label":[513],"primary":[516],"outlined":[516],"icon":[513],"disabled":[516],"loading":[516]}]]],["limel-collapsible-section",[[1,"limel-collapsible-section",{"isOpen":[1540,"is-open"],"header":[513],"actions":[16]}]]],["limel-dialog",[[1,"limel-dialog",{"heading":[1],"fullscreen":[516],"open":[1540],"closingActions":[16]}]]],["limel-progress-flow",[[1,"limel-progress-flow",{"flowItems":[16],"disabled":[4],"readonly":[4]}]]],["limel-checkbox",[[1,"limel-checkbox",{"disabled":[516],"readonly":[516],"label":[513],"helperText":[513,"helper-text"],"checked":[516],"indeterminate":[516],"required":[516],"modified":[32]}]]],["limel-table",[[1,"limel-table",{"data":[16],"columns":[16],"mode":[1],"pageSize":[2,"page-size"],"totalRows":[2,"total-rows"],"sorting":[16],"activeRow":[1040],"movableColumns":[4,"movable-columns"],"loading":[4],"page":[2],"emptyMessage":[1,"empty-message"],"selectable":[4],"selection":[16]}]]],["limel-banner",[[1,"limel-banner",{"message":[513],"icon":[513],"isOpen":[32],"open":[64],"close":[64]}]]],["limel-circular-progress",[[1,"limel-circular-progress",{"value":[2],"maxValue":[2,"max-value"],"suffix":[1],"displayPercentageColors":[4,"display-percentage-colors"],"size":[513]}]]],["limel-code-editor",[[1,"limel-code-editor",{"value":[1],"language":[1],"readonly":[4],"lineNumbers":[4,"line-numbers"],"colorScheme":[1,"color-scheme"],"random":[32]}]]],["limel-config",[[1,"limel-config",{"config":[16]}]]],["limel-flex-container",[[1,"limel-flex-container",{"direction":[513],"justify":[513],"align":[513],"reverse":[516]}]]],["limel-form",[[1,"limel-form",{"schema":[16],"value":[16],"disabled":[4],"propsFactory":[16],"transformErrors":[16]}]]],["limel-grid",[[1,"limel-grid"]]],["limel-linear-progress",[[1,"limel-linear-progress",{"value":[2],"indeterminate":[4]}]]],["limel-slider",[[1,"limel-slider",{"disabled":[516],"readonly":[516],"factor":[514],"label":[513],"helperText":[513,"helper-text"],"unit":[513],"value":[514],"valuemax":[514],"valuemin":[514],"step":[514],"percentageClass":[32]}]]],["limel-snackbar",[[1,"limel-snackbar",{"message":[1],"timeout":[2],"actionText":[1,"action-text"],"dismissible":[4],"multiline":[4],"language":[1],"show":[64]}]]],["limel-switch",[[1,"limel-switch",{"label":[513],"disabled":[516],"readonly":[516],"value":[516],"fieldId":[32]}]]],["limel-tab-bar",[[1,"limel-tab-bar",{"tabs":[1040],"canScrollLeft":[32],"canScrollRight":[32]},[[9,"resize","handleWindowResize"]]]]],["limel-header",[[1,"limel-header",{"icon":[1],"heading":[1],"subheading":[1],"supportingText":[1,"supporting-text"]}]]],["limel-progress-flow-item",[[0,"limel-progress-flow-item",{"item":[16],"disabled":[4],"readonly":[4]}]]],["limel-flatpickr-adapter",[[1,"limel-flatpickr-adapter",{"value":[16],"type":[1],"format":[1],"isOpen":[4,"is-open"],"inputElement":[16],"language":[1]}]]],["limel-menu-list",[[1,"limel-menu-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}]]],["limel-popover-surface",[[1,"limel-popover-surface",{"contentCollection":[16]}]]],["limel-icon",[[1,"limel-icon",{"size":[513],"name":[513],"badge":[516]}]]],["limel-input-field",[[1,"limel-input-field",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"required":[516],"value":[513],"trailingIcon":[513,"trailing-icon"],"leadingIcon":[513,"leading-icon"],"pattern":[513],"type":[513],"formatNumber":[516,"format-number"],"step":[520],"max":[514],"min":[514],"maxlength":[514],"minlength":[514],"completions":[16],"showLink":[516,"show-link"],"isFocused":[32],"isModified":[32],"showCompletions":[32]}]]],["limel-color-picker-palette_2",[[1,"limel-color-picker-palette",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"required":[516]}],[1,"limel-popover",{"open":[4]}]]],["limel-badge",[[1,"limel-badge",{"label":[514]}]]],["limel-chip-set",[[1,"limel-chip-set",{"value":[16],"type":[513],"label":[513],"helperText":[513,"helper-text"],"disabled":[516],"readonly":[516],"maxItems":[514,"max-items"],"required":[516],"searchLabel":[513,"search-label"],"emptyInputOnBlur":[516,"empty-input-on-blur"],"clearAllButton":[4,"clear-all-button"],"leadingIcon":[513,"leading-icon"],"delimiter":[513],"language":[1],"editMode":[32],"textValue":[32],"blurred":[32],"inputChipIndexSelected":[32],"getEditMode":[64],"setFocus":[64],"emptyInput":[64]}]]],["limel-icon-button",[[1,"limel-icon-button",{"icon":[513],"elevated":[516],"label":[513],"disabled":[516],"relayout":[64]}]]],["limel-spinner",[[1,"limel-spinner",{"size":[513],"limeBranded":[4,"lime-branded"]}]]],["limel-list_3",[[1,"limel-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}],[1,"limel-menu-surface",{"open":[4],"allowClicksElement":[16]}],[1,"limel-portal",{"openDirection":[1,"open-direction"],"position":[1],"containerId":[1,"container-id"],"containerStyle":[16],"parent":[16],"inheritParentWidth":[4,"inherit-parent-width"],"visible":[4]}]]],["limel-tooltip_2",[[1,"limel-tooltip",{"elementId":[513,"element-id"],"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514],"open":[32]}],[1,"limel-tooltip-content",{"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514]}]]]], options);
17
17
  });