@rozie-ui/data-table-solid 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -222,7 +222,35 @@ const indexOfRowIn = (rows, rowOriginal, rowId) => {
222
222
  };
223
223
  //#endregion
224
224
  //#region src/DataTable.tsx
225
- (0, _rozie_runtime_solid.__rozieInjectStyle)("DataTable-d5dcab4c", `.rozie-data-table[data-rozie-s-d5dcab4c] {
225
+ (0, _rozie_runtime_solid.__rozieInjectStyle)("DataTable-d5dcab4c", `[data-rozie-s-d5dcab4c]:host {
226
+ --rdt-font: var(--rozie-data-table-font);
227
+ --rdt-color: var(--rozie-data-table-fg);
228
+ --rdt-cell-padding: var(--rozie-data-table-cell-padding);
229
+ --rdt-border: 1px solid var(--rozie-data-table-border-color);
230
+ --rdt-header-bg: var(--rozie-data-table-header-bg);
231
+ --rdt-header-weight: var(--rozie-data-table-header-weight);
232
+ --rdt-sort-ind-opacity: var(--rozie-data-table-sort-indicator-opacity);
233
+ --rdt-filter-border: 1px solid var(--rozie-data-table-control-border-color);
234
+ --rdt-filter-radius: var(--rozie-data-table-radius);
235
+ --rdt-page-btn-border: 1px solid var(--rozie-data-table-control-border-color);
236
+ --rdt-page-btn-radius: var(--rozie-data-table-radius);
237
+ --rdt-page-btn-disabled-opacity: var(--rozie-data-table-disabled-opacity);
238
+ --rdt-page-size-border: 1px solid var(--rozie-data-table-control-border-color);
239
+ --rdt-page-size-radius: var(--rozie-data-table-radius);
240
+ --rdt-resize-grip-color: var(--rozie-data-table-resize-grip-color);
241
+ --rdt-resize-grip-active: var(--rozie-data-table-resize-grip-active);
242
+ --rdt-pin-btn-border: 1px solid var(--rozie-data-table-control-border-color);
243
+ --rdt-pin-btn-radius: var(--rozie-data-table-radius);
244
+ --rdt-pin-btn-active-bg: var(--rozie-data-table-pin-active-bg);
245
+ --rdt-colvis-summary-border: 1px solid var(--rozie-data-table-control-border-color);
246
+ --rdt-colvis-summary-radius: var(--rozie-data-table-radius);
247
+ --rdt-colvis-menu-border: 1px solid var(--rozie-data-table-border-color);
248
+ --rdt-colvis-menu-radius: var(--rozie-data-table-radius);
249
+ --rdt-colvis-menu-bg: var(--rozie-data-table-menu-bg);
250
+ --rdt-colvis-menu-shadow: var(--rozie-data-table-menu-shadow);
251
+ --rdt-select-accent: var(--rozie-data-table-select-accent);
252
+ }
253
+ .rozie-data-table[data-rozie-s-d5dcab4c] {
226
254
  border-collapse: collapse;
227
255
  width: 100%;
228
256
  font: var(--rdt-font, 14px system-ui, sans-serif);
@@ -710,6 +738,7 @@ function DataTable(_props) {
710
738
  const [liveAnnounce, setLiveAnnounce] = (0, Solid_js.createSignal)("");
711
739
  (0, Solid_js.onMount)(() => {
712
740
  setDataDefault(data() || []);
741
+ seedColumnPinning();
713
742
  table = (0, _tanstack_table_core.createTable)({
714
743
  data: currentData(),
715
744
  columns: tableColumns(),
@@ -803,6 +832,7 @@ function DataTable(_props) {
803
832
  }
804
833
  if (colsWindowed()) {
805
834
  if (!(gridScrollEl ? gridScrollEl.clientWidth : 0)) console.warn("[rozie-data-table] virtual is on for columns but the scroll container has no bounded width; set a CSS width on an ancestor so the column window can be measured");
835
+ bumpWindowVer();
806
836
  }
807
837
  };
808
838
  if (typeof requestAnimationFrame === "function") requestAnimationFrame(() => requestAnimationFrame(afterFirstFrame));
@@ -852,6 +882,7 @@ function DataTable(_props) {
852
882
  local.columns,
853
883
  colReg()
854
884
  ], (v) => (0, Solid_js.untrack)(() => (() => {
885
+ seedColumnPinning();
855
886
  reFeed();
856
887
  maybeClearHistoryOnExternalSwap();
857
888
  })()), { defer: true }));
@@ -900,6 +931,34 @@ function DataTable(_props) {
900
931
  left: rail.concat(deduped)
901
932
  };
902
933
  }
934
+ let pinSeedApplied = false;
935
+ function seedColumnPinning() {
936
+ if (pinSeedApplied) return;
937
+ const live = columnPinning() != null ? columnPinning() : columnPinningDefault();
938
+ const isRealPin = (id) => id !== SELECT_COL_ID && id !== EXPANDER_COL_ID;
939
+ if ((live && live.left ? live.left : []).filter(isRealPin).length > 0 || (live && live.right ? live.right : []).filter(isRealPin).length > 0) {
940
+ pinSeedApplied = true;
941
+ return;
942
+ }
943
+ const defs = columnDefs();
944
+ if (!defs.length) return;
945
+ const left = [];
946
+ const right = [];
947
+ for (let i = 0; i < defs.length; i++) {
948
+ const def = defs[i];
949
+ if (!def) continue;
950
+ if (def.pinned === "left") left.push(def.id);
951
+ else if (def.pinned === "right") right.push(def.id);
952
+ }
953
+ if (!left.length && !right.length) return;
954
+ pinSeedApplied = true;
955
+ const seeded = {
956
+ left,
957
+ right
958
+ };
959
+ setColumnPinningDefault(seeded);
960
+ setColumnPinning(seeded);
961
+ }
903
962
  function currentState() {
904
963
  return {
905
964
  sorting: sorting() != null ? sorting() : sortingDefault(),
@@ -1258,9 +1317,12 @@ function DataTable(_props) {
1258
1317
  function onColumnPinningChangeCb(updater) {
1259
1318
  writeColumnPinning(applyUpdater(updater, currentState().columnPinning));
1260
1319
  }
1320
+ let columnSizingInfoSync = null;
1261
1321
  function onColumnSizingInfoChangeCb(updater) {
1262
- const next = applyUpdater(updater, columnSizingInfo());
1263
- setColumnSizingInfo(next != null ? next : columnSizingInfo());
1322
+ const next = applyUpdater(updater, columnSizingInfoSync != null ? columnSizingInfoSync : columnSizingInfo());
1323
+ if (next == null) return;
1324
+ columnSizingInfoSync = next;
1325
+ setColumnSizingInfo(next);
1264
1326
  }
1265
1327
  function resolveVirtual() {
1266
1328
  const v = local.virtual;
@@ -3466,6 +3528,11 @@ function DataTable(_props) {
3466
3528
  const tryFocus = () => {
3467
3529
  const el = resolveCellEl(String(row), col);
3468
3530
  if (el) {
3531
+ const ae = gridRoot && gridRoot.getRootNode ? gridRoot.getRootNode().activeElement : null;
3532
+ if (ae && ae !== el && gridRoot.contains && gridRoot.contains(ae) && ae.closest) {
3533
+ const aeCell = ae.closest("[data-grid-cell]");
3534
+ if (aeCell && aeCell !== el) return;
3535
+ }
3469
3536
  el.focus();
3470
3537
  return;
3471
3538
  }
@@ -4114,8 +4181,12 @@ function DataTable(_props) {
4114
4181
 
4115
4182
  {<Solid_js.Show when={local.groupable}><div class={"rdt-group-bar-host"} data-rozie-s-d5dcab4c="">
4116
4183
  {(_props.groupBarSlot ?? _props.slots?.["groupBar"])?.({
4117
- grouping: groupingKeys(),
4118
- groupableColumns: groupableColumns(),
4184
+ get grouping() {
4185
+ return groupingKeys();
4186
+ },
4187
+ get groupableColumns() {
4188
+ return groupableColumns();
4189
+ },
4119
4190
  applyGrouping,
4120
4191
  clearGrouping
4121
4192
  }) ?? <_solid_primitives_keyed.Key each={groupingKeys()} by={(gk) => gk}>{(gk) => <span class={"rdt-group-token"} data-group-token="" data-rozie-s-d5dcab4c="">{(0, _rozie_runtime_solid.rozieDisplay)(gk())}</span>}</_solid_primitives_keyed.Key>}
@@ -4147,13 +4218,25 @@ function DataTable(_props) {
4147
4218
  {<Solid_js.Show when={header().column.getCanSort && header().column.getCanSort()} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4148
4219
  <span class={"rdt-header-label"} data-rozie-s-d5dcab4c="">
4149
4220
  {_props.slots?.[`colHeader-${header().column.id}`]?.({
4150
- columnId: header().column.id,
4151
- column: header().column,
4152
- label: headerLabel(header().column.id)
4221
+ get columnId() {
4222
+ return header().column.id;
4223
+ },
4224
+ get column() {
4225
+ return header().column;
4226
+ },
4227
+ get label() {
4228
+ return headerLabel(header().column.id);
4229
+ }
4153
4230
  }) ?? (_props.colHeaderSlot ?? _props.slots?.["colHeader"])?.({
4154
- columnId: header().column.id,
4155
- column: header().column,
4156
- label: headerLabel(header().column.id)
4231
+ get columnId() {
4232
+ return header().column.id;
4233
+ },
4234
+ get column() {
4235
+ return header().column;
4236
+ },
4237
+ get label() {
4238
+ return headerLabel(header().column.id);
4239
+ }
4157
4240
  }) ?? (0, _rozie_runtime_solid.rozieDisplay)(headerLabel(header().column.id))}
4158
4241
  </span>
4159
4242
  </span>}><button type="button" class={"rdt-sort-btn"} onClick={($event) => {
@@ -4162,13 +4245,25 @@ function DataTable(_props) {
4162
4245
 
4163
4246
  <span class={"rdt-header-label"} data-rozie-s-d5dcab4c="">
4164
4247
  {_props.slots?.[`colHeader-${header().column.id}`]?.({
4165
- columnId: header().column.id,
4166
- column: header().column,
4167
- label: headerLabel(header().column.id)
4248
+ get columnId() {
4249
+ return header().column.id;
4250
+ },
4251
+ get column() {
4252
+ return header().column;
4253
+ },
4254
+ get label() {
4255
+ return headerLabel(header().column.id);
4256
+ }
4168
4257
  }) ?? (_props.colHeaderSlot ?? _props.slots?.["colHeader"])?.({
4169
- columnId: header().column.id,
4170
- column: header().column,
4171
- label: headerLabel(header().column.id)
4258
+ get columnId() {
4259
+ return header().column.id;
4260
+ },
4261
+ get column() {
4262
+ return header().column;
4263
+ },
4264
+ get label() {
4265
+ return headerLabel(header().column.id);
4266
+ }
4172
4267
  }) ?? (0, _rozie_runtime_solid.rozieDisplay)(headerLabel(header().column.id))}
4173
4268
  </span>
4174
4269
  <span class={"rdt-sort-ind"} aria-hidden="true" data-rozie-s-d5dcab4c="">{(0, _rozie_runtime_solid.rozieDisplay)(sortIndicator(header().column.id))}</span>
@@ -4197,9 +4292,15 @@ function DataTable(_props) {
4197
4292
  }} data-rozie-s-d5dcab4c=""><span class={"rdt-resize-grip"} aria-hidden="true" data-rozie-s-d5dcab4c="" /></button>
4198
4293
  </span>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Solid_js.Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4199
4294
  {(_props.selectAllSlot ?? _props.slots?.["selectAll"])?.({
4200
- checked: isAllRowsSelected(),
4201
- indeterminate: isSomeRowsSelected(),
4202
- toggle: onToggleAllRows
4295
+ get checked() {
4296
+ return isAllRowsSelected();
4297
+ },
4298
+ get indeterminate() {
4299
+ return isSomeRowsSelected();
4300
+ },
4301
+ get toggle() {
4302
+ return onToggleAllRows;
4303
+ }
4203
4304
  }) ?? <Solid_js.Show when={local.selectionMode === "multiple"}><input type="checkbox" aria-label="Select all rows" class={"rdt-select-all"} checked={isAllRowsSelected()} onChange={($event) => {
4204
4305
  onToggleAllRows($event);
4205
4306
  }} data-rozie-s-d5dcab4c="" /></Solid_js.Show>}
@@ -4211,17 +4312,37 @@ function DataTable(_props) {
4211
4312
  {<Solid_js.Show when={isSelectColumn(header().column.id)} fallback={<Solid_js.Show when={isExpanderColumn(header().column.id)} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4212
4313
  {<Solid_js.Show when={columnIsFilterable(header().column.id)}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4213
4314
  {_props.slots?.[`filter-${header().column.id}`]?.({
4214
- columnId: header().column.id,
4215
- value: columnFilterValue(header().column.id),
4216
- uniqueValues: getFacetedUniqueValues(header().column.id),
4217
- minMax: getFacetedMinMaxValues(header().column.id),
4218
- setFilter: setColumnFilter
4315
+ get columnId() {
4316
+ return header().column.id;
4317
+ },
4318
+ get value() {
4319
+ return columnFilterValue(header().column.id);
4320
+ },
4321
+ get uniqueValues() {
4322
+ return getFacetedUniqueValues(header().column.id);
4323
+ },
4324
+ get minMax() {
4325
+ return getFacetedMinMaxValues(header().column.id);
4326
+ },
4327
+ get setFilter() {
4328
+ return setColumnFilter;
4329
+ }
4219
4330
  }) ?? (_props.filterSlot ?? _props.slots?.["filter"])?.({
4220
- columnId: header().column.id,
4221
- value: columnFilterValue(header().column.id),
4222
- uniqueValues: getFacetedUniqueValues(header().column.id),
4223
- minMax: getFacetedMinMaxValues(header().column.id),
4224
- setFilter: setColumnFilter
4331
+ get columnId() {
4332
+ return header().column.id;
4333
+ },
4334
+ get value() {
4335
+ return columnFilterValue(header().column.id);
4336
+ },
4337
+ get uniqueValues() {
4338
+ return getFacetedUniqueValues(header().column.id);
4339
+ },
4340
+ get minMax() {
4341
+ return getFacetedMinMaxValues(header().column.id);
4342
+ },
4343
+ get setFilter() {
4344
+ return setColumnFilter;
4345
+ }
4225
4346
  }) ?? <input type="text" aria-label={(0, _rozie_runtime_solid.rozieAttr)("Filter " + headerLabel(header().column.id))} class={"rdt-col-filter"} value={columnFilterValue(header().column.id)} onInput={($event) => {
4226
4347
  onColumnFilterInput(header().column.id, $event);
4227
4348
  }} onClick={($event) => {
@@ -4243,15 +4364,31 @@ function DataTable(_props) {
4243
4364
 
4244
4365
  {<Solid_js.Show when={isExpanderColumn(cell().column.id)} fallback={<Solid_js.Show when={isSelectColumn(cell().column.id)} fallback={<Solid_js.Show when={cellIsGrouped(cell())} fallback={<Solid_js.Show when={isEditing(rowIndexOf(row()), colIndexOf(row(), cell()))} fallback={<Solid_js.Show when={cellIsPlaceholder(cell())} fallback={<span class={"rdt-cell-value"} data-rozie-s-d5dcab4c="">
4245
4366
  {_props.slots?.[`cell-${cell().column.id}`]?.({
4246
- columnId: cell().column.id,
4247
- column: cell().column,
4248
- row: cellSlotRow(row()),
4249
- value: cell().getValue()
4367
+ get columnId() {
4368
+ return cell().column.id;
4369
+ },
4370
+ get column() {
4371
+ return cell().column;
4372
+ },
4373
+ get row() {
4374
+ return cellSlotRow(row());
4375
+ },
4376
+ get value() {
4377
+ return cell().getValue();
4378
+ }
4250
4379
  }) ?? (_props.cellSlot ?? _props.slots?.["cell"])?.({
4251
- columnId: cell().column.id,
4252
- column: cell().column,
4253
- row: cellSlotRow(row()),
4254
- value: cell().getValue()
4380
+ get columnId() {
4381
+ return cell().column.id;
4382
+ },
4383
+ get column() {
4384
+ return cell().column;
4385
+ },
4386
+ get row() {
4387
+ return cellSlotRow(row());
4388
+ },
4389
+ get value() {
4390
+ return cell().getValue();
4391
+ }
4255
4392
  }) ?? (0, _rozie_runtime_solid.rozieDisplay)(cell().getValue())}
4256
4393
  </span>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Solid_js.Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4257
4394
  {<Solid_js.Show when={editorTypeOf(cell().column.id) === "number"} fallback={<Solid_js.Show when={editorTypeOf(cell().column.id) === "select"} fallback={<Solid_js.Show when={editorTypeOf(cell().column.id) === "checkbox"} fallback={<Solid_js.Show when={editorTypeOf(cell().column.id) === "custom"} fallback={<input type="text" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
@@ -4262,21 +4399,49 @@ function DataTable(_props) {
4262
4399
  onEditorBlur($event);
4263
4400
  }} data-rozie-s-d5dcab4c="" />}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4264
4401
  {_props.slots?.[`editor-${cell().column.id}`]?.({
4265
- columnId: cell().column.id,
4266
- column: cell().column,
4267
- row: cellSlotRow(row()),
4268
- value: editorValueFor(cell().column.id),
4269
- commit: editorCommitFor(cell().column.id),
4270
- cancel: editorCancelFor(),
4271
- autofocus: editorAutofocusFor(cell().column.id, rowIndexOf(row()))
4402
+ get columnId() {
4403
+ return cell().column.id;
4404
+ },
4405
+ get column() {
4406
+ return cell().column;
4407
+ },
4408
+ get row() {
4409
+ return cellSlotRow(row());
4410
+ },
4411
+ get value() {
4412
+ return editorValueFor(cell().column.id);
4413
+ },
4414
+ get commit() {
4415
+ return editorCommitFor(cell().column.id);
4416
+ },
4417
+ get cancel() {
4418
+ return editorCancelFor();
4419
+ },
4420
+ get autofocus() {
4421
+ return editorAutofocusFor(cell().column.id, rowIndexOf(row()));
4422
+ }
4272
4423
  }) ?? (_props.editorSlot ?? _props.slots?.["editor"])?.({
4273
- columnId: cell().column.id,
4274
- column: cell().column,
4275
- row: cellSlotRow(row()),
4276
- value: editorValueFor(cell().column.id),
4277
- commit: editorCommitFor(cell().column.id),
4278
- cancel: editorCancelFor(),
4279
- autofocus: editorAutofocusFor(cell().column.id, rowIndexOf(row()))
4424
+ get columnId() {
4425
+ return cell().column.id;
4426
+ },
4427
+ get column() {
4428
+ return cell().column;
4429
+ },
4430
+ get row() {
4431
+ return cellSlotRow(row());
4432
+ },
4433
+ get value() {
4434
+ return editorValueFor(cell().column.id);
4435
+ },
4436
+ get commit() {
4437
+ return editorCommitFor(cell().column.id);
4438
+ },
4439
+ get cancel() {
4440
+ return editorCancelFor();
4441
+ },
4442
+ get autofocus() {
4443
+ return editorAutofocusFor(cell().column.id, rowIndexOf(row()));
4444
+ }
4280
4445
  }) ?? <input type="text" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
4281
4446
  onCellEditorInput(cell().column.id, $event);
4282
4447
  }} onKeyDown={($event) => {
@@ -4310,22 +4475,42 @@ function DataTable(_props) {
4310
4475
  }} data-rozie-s-d5dcab4c="">{(0, _rozie_runtime_solid.rozieDisplay)(rowIsExpanded(row()) ? "▾" : "▸")}</button>
4311
4476
  <span class={"rdt-group-value"} data-rozie-s-d5dcab4c="">
4312
4477
  {_props.slots?.[`cell-${cell().column.id}`]?.({
4313
- columnId: cell().column.id,
4314
- column: cell().column,
4315
- row: cellSlotRow(row()),
4316
- value: cell().getValue()
4478
+ get columnId() {
4479
+ return cell().column.id;
4480
+ },
4481
+ get column() {
4482
+ return cell().column;
4483
+ },
4484
+ get row() {
4485
+ return cellSlotRow(row());
4486
+ },
4487
+ get value() {
4488
+ return cell().getValue();
4489
+ }
4317
4490
  }) ?? (_props.cellSlot ?? _props.slots?.["cell"])?.({
4318
- columnId: cell().column.id,
4319
- column: cell().column,
4320
- row: cellSlotRow(row()),
4321
- value: cell().getValue()
4491
+ get columnId() {
4492
+ return cell().column.id;
4493
+ },
4494
+ get column() {
4495
+ return cell().column;
4496
+ },
4497
+ get row() {
4498
+ return cellSlotRow(row());
4499
+ },
4500
+ get value() {
4501
+ return cell().getValue();
4502
+ }
4322
4503
  }) ?? (0, _rozie_runtime_solid.rozieDisplay)(cell().getValue())}
4323
4504
  </span>
4324
4505
  <span class={"rdt-group-count"} data-rozie-s-d5dcab4c="">{(0, _rozie_runtime_solid.rozieDisplay)("(" + groupSubRowCount(row()) + ")")}</span>
4325
4506
  </span></Solid_js.Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4326
4507
  {(_props.selectCellSlot ?? _props.slots?.["selectCell"])?.({
4327
- row: cellSlotRow(row()),
4328
- checked: rowIsSelected(row()),
4508
+ get row() {
4509
+ return cellSlotRow(row());
4510
+ },
4511
+ get checked() {
4512
+ return rowIsSelected(row());
4513
+ },
4329
4514
  toggle: (e) => onToggleRow(row(), e)
4330
4515
  }) ?? <input type="checkbox" aria-label="Select row" class={"rdt-select-row"} checked={rowIsSelected(row())} onChange={($event) => {
4331
4516
  onToggleRow(row(), $event);
@@ -4340,7 +4525,9 @@ function DataTable(_props) {
4340
4525
 
4341
4526
  {<Solid_js.Show when={rowShowsDetail(row())}><tr class={"rdt-detail-row"} role="row" data-detail-row={(0, _rozie_runtime_solid.rozieAttr)(row().id)} data-rozie-s-d5dcab4c="">
4342
4527
  <td class={"rdt-detail-cell"} colSpan={(0, _rozie_runtime_solid.rozieAttr)(visibleColCount())} data-rozie-s-d5dcab4c="">
4343
- {(_props.detailSlot ?? _props.slots?.["detail"])?.({ row: row().original })}
4528
+ {(_props.detailSlot ?? _props.slots?.["detail"])?.({ get row() {
4529
+ return row().original;
4530
+ } })}
4344
4531
  </td>
4345
4532
  </tr></Solid_js.Show>}</>}</_solid_primitives_keyed.Key>
4346
4533
  </tbody>
@@ -4374,13 +4561,25 @@ function DataTable(_props) {
4374
4561
  {<Solid_js.Show when={wh().header.column.getCanSort && wh().header.column.getCanSort()} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4375
4562
  <span class={"rdt-header-label"} data-rozie-s-d5dcab4c="">
4376
4563
  {_props.slots?.[`colHeader-${wh().header.column.id}`]?.({
4377
- columnId: wh().header.column.id,
4378
- column: wh().header.column,
4379
- label: headerLabel(wh().header.column.id)
4564
+ get columnId() {
4565
+ return wh().header.column.id;
4566
+ },
4567
+ get column() {
4568
+ return wh().header.column;
4569
+ },
4570
+ get label() {
4571
+ return headerLabel(wh().header.column.id);
4572
+ }
4380
4573
  }) ?? (_props.colHeaderSlot ?? _props.slots?.["colHeader"])?.({
4381
- columnId: wh().header.column.id,
4382
- column: wh().header.column,
4383
- label: headerLabel(wh().header.column.id)
4574
+ get columnId() {
4575
+ return wh().header.column.id;
4576
+ },
4577
+ get column() {
4578
+ return wh().header.column;
4579
+ },
4580
+ get label() {
4581
+ return headerLabel(wh().header.column.id);
4582
+ }
4384
4583
  }) ?? (0, _rozie_runtime_solid.rozieDisplay)(headerLabel(wh().header.column.id))}
4385
4584
  </span>
4386
4585
  </span>}><button type="button" class={"rdt-sort-btn"} onClick={($event) => {
@@ -4388,13 +4587,25 @@ function DataTable(_props) {
4388
4587
  }} data-rozie-s-d5dcab4c="">
4389
4588
  <span class={"rdt-header-label"} data-rozie-s-d5dcab4c="">
4390
4589
  {_props.slots?.[`colHeader-${wh().header.column.id}`]?.({
4391
- columnId: wh().header.column.id,
4392
- column: wh().header.column,
4393
- label: headerLabel(wh().header.column.id)
4590
+ get columnId() {
4591
+ return wh().header.column.id;
4592
+ },
4593
+ get column() {
4594
+ return wh().header.column;
4595
+ },
4596
+ get label() {
4597
+ return headerLabel(wh().header.column.id);
4598
+ }
4394
4599
  }) ?? (_props.colHeaderSlot ?? _props.slots?.["colHeader"])?.({
4395
- columnId: wh().header.column.id,
4396
- column: wh().header.column,
4397
- label: headerLabel(wh().header.column.id)
4600
+ get columnId() {
4601
+ return wh().header.column.id;
4602
+ },
4603
+ get column() {
4604
+ return wh().header.column;
4605
+ },
4606
+ get label() {
4607
+ return headerLabel(wh().header.column.id);
4608
+ }
4398
4609
  }) ?? (0, _rozie_runtime_solid.rozieDisplay)(headerLabel(wh().header.column.id))}
4399
4610
  </span>
4400
4611
  <span class={"rdt-sort-ind"} aria-hidden="true" data-rozie-s-d5dcab4c="">{(0, _rozie_runtime_solid.rozieDisplay)(sortIndicator(wh().header.column.id))}</span>
@@ -4422,9 +4633,15 @@ function DataTable(_props) {
4422
4633
  }} data-rozie-s-d5dcab4c=""><span class={"rdt-resize-grip"} aria-hidden="true" data-rozie-s-d5dcab4c="" /></button>
4423
4634
  </span>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Solid_js.Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4424
4635
  {(_props.selectAllSlot ?? _props.slots?.["selectAll"])?.({
4425
- checked: isAllRowsSelected(),
4426
- indeterminate: isSomeRowsSelected(),
4427
- toggle: onToggleAllRows
4636
+ get checked() {
4637
+ return isAllRowsSelected();
4638
+ },
4639
+ get indeterminate() {
4640
+ return isSomeRowsSelected();
4641
+ },
4642
+ get toggle() {
4643
+ return onToggleAllRows;
4644
+ }
4428
4645
  }) ?? <Solid_js.Show when={local.selectionMode === "multiple"}><input type="checkbox" aria-label="Select all rows" class={"rdt-select-all"} checked={isAllRowsSelected()} onChange={($event) => {
4429
4646
  onToggleAllRows($event);
4430
4647
  }} data-rozie-s-d5dcab4c="" /></Solid_js.Show>}
@@ -4437,17 +4654,37 @@ function DataTable(_props) {
4437
4654
  {<Solid_js.Show when={isSelectColumn(wh().header.column.id)} fallback={<Solid_js.Show when={isExpanderColumn(wh().header.column.id)} fallback={<span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4438
4655
  {<Solid_js.Show when={columnIsFilterable(wh().header.column.id)}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4439
4656
  {_props.slots?.[`filter-${wh().header.column.id}`]?.({
4440
- columnId: wh().header.column.id,
4441
- value: columnFilterValue(wh().header.column.id),
4442
- uniqueValues: getFacetedUniqueValues(wh().header.column.id),
4443
- minMax: getFacetedMinMaxValues(wh().header.column.id),
4444
- setFilter: setColumnFilter
4657
+ get columnId() {
4658
+ return wh().header.column.id;
4659
+ },
4660
+ get value() {
4661
+ return columnFilterValue(wh().header.column.id);
4662
+ },
4663
+ get uniqueValues() {
4664
+ return getFacetedUniqueValues(wh().header.column.id);
4665
+ },
4666
+ get minMax() {
4667
+ return getFacetedMinMaxValues(wh().header.column.id);
4668
+ },
4669
+ get setFilter() {
4670
+ return setColumnFilter;
4671
+ }
4445
4672
  }) ?? (_props.filterSlot ?? _props.slots?.["filter"])?.({
4446
- columnId: wh().header.column.id,
4447
- value: columnFilterValue(wh().header.column.id),
4448
- uniqueValues: getFacetedUniqueValues(wh().header.column.id),
4449
- minMax: getFacetedMinMaxValues(wh().header.column.id),
4450
- setFilter: setColumnFilter
4673
+ get columnId() {
4674
+ return wh().header.column.id;
4675
+ },
4676
+ get value() {
4677
+ return columnFilterValue(wh().header.column.id);
4678
+ },
4679
+ get uniqueValues() {
4680
+ return getFacetedUniqueValues(wh().header.column.id);
4681
+ },
4682
+ get minMax() {
4683
+ return getFacetedMinMaxValues(wh().header.column.id);
4684
+ },
4685
+ get setFilter() {
4686
+ return setColumnFilter;
4687
+ }
4451
4688
  }) ?? <input type="text" aria-label={(0, _rozie_runtime_solid.rozieAttr)("Filter " + headerLabel(wh().header.column.id))} class={"rdt-col-filter"} value={columnFilterValue(wh().header.column.id)} onInput={($event) => {
4452
4689
  onColumnFilterInput(wh().header.column.id, $event);
4453
4690
  }} onClick={($event) => {
@@ -4477,15 +4714,31 @@ function DataTable(_props) {
4477
4714
 
4478
4715
  {<Solid_js.Show when={isExpanderColumn(cell().column.id)} fallback={<Solid_js.Show when={isSelectColumn(cell().column.id)} fallback={<Solid_js.Show when={cellIsGrouped(cell())} fallback={<Solid_js.Show when={isEditing(wr().vi.index, colIndexOf(wr().row, cell()))} fallback={<Solid_js.Show when={cellIsPlaceholder(cell())} fallback={<span class={"rdt-cell-value"} data-rozie-s-d5dcab4c="">
4479
4716
  {_props.slots?.[`cell-${cell().column.id}`]?.({
4480
- columnId: cell().column.id,
4481
- column: cell().column,
4482
- row: cellSlotRow(wr().row),
4483
- value: cell().getValue()
4717
+ get columnId() {
4718
+ return cell().column.id;
4719
+ },
4720
+ get column() {
4721
+ return cell().column;
4722
+ },
4723
+ get row() {
4724
+ return cellSlotRow(wr().row);
4725
+ },
4726
+ get value() {
4727
+ return cell().getValue();
4728
+ }
4484
4729
  }) ?? (_props.cellSlot ?? _props.slots?.["cell"])?.({
4485
- columnId: cell().column.id,
4486
- column: cell().column,
4487
- row: cellSlotRow(wr().row),
4488
- value: cell().getValue()
4730
+ get columnId() {
4731
+ return cell().column.id;
4732
+ },
4733
+ get column() {
4734
+ return cell().column;
4735
+ },
4736
+ get row() {
4737
+ return cellSlotRow(wr().row);
4738
+ },
4739
+ get value() {
4740
+ return cell().getValue();
4741
+ }
4489
4742
  }) ?? (0, _rozie_runtime_solid.rozieDisplay)(cell().getValue())}
4490
4743
  </span>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="" /></Solid_js.Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4491
4744
  {<Solid_js.Show when={editorTypeOf(cell().column.id) === "number"} fallback={<Solid_js.Show when={editorTypeOf(cell().column.id) === "select"} fallback={<Solid_js.Show when={editorTypeOf(cell().column.id) === "checkbox"} fallback={<Solid_js.Show when={editorTypeOf(cell().column.id) === "custom"} fallback={<input type="text" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
@@ -4496,21 +4749,49 @@ function DataTable(_props) {
4496
4749
  onEditorBlur($event);
4497
4750
  }} data-rozie-s-d5dcab4c="" />}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4498
4751
  {_props.slots?.[`editor-${cell().column.id}`]?.({
4499
- columnId: cell().column.id,
4500
- column: cell().column,
4501
- row: cellSlotRow(wr().row),
4502
- value: editorValueFor(cell().column.id),
4503
- commit: editorCommitFor(cell().column.id),
4504
- cancel: editorCancelFor(),
4505
- autofocus: editorAutofocusFor(cell().column.id, wr().vi.index)
4752
+ get columnId() {
4753
+ return cell().column.id;
4754
+ },
4755
+ get column() {
4756
+ return cell().column;
4757
+ },
4758
+ get row() {
4759
+ return cellSlotRow(wr().row);
4760
+ },
4761
+ get value() {
4762
+ return editorValueFor(cell().column.id);
4763
+ },
4764
+ get commit() {
4765
+ return editorCommitFor(cell().column.id);
4766
+ },
4767
+ get cancel() {
4768
+ return editorCancelFor();
4769
+ },
4770
+ get autofocus() {
4771
+ return editorAutofocusFor(cell().column.id, wr().vi.index);
4772
+ }
4506
4773
  }) ?? (_props.editorSlot ?? _props.slots?.["editor"])?.({
4507
- columnId: cell().column.id,
4508
- column: cell().column,
4509
- row: cellSlotRow(wr().row),
4510
- value: editorValueFor(cell().column.id),
4511
- commit: editorCommitFor(cell().column.id),
4512
- cancel: editorCancelFor(),
4513
- autofocus: editorAutofocusFor(cell().column.id, wr().vi.index)
4774
+ get columnId() {
4775
+ return cell().column.id;
4776
+ },
4777
+ get column() {
4778
+ return cell().column;
4779
+ },
4780
+ get row() {
4781
+ return cellSlotRow(wr().row);
4782
+ },
4783
+ get value() {
4784
+ return editorValueFor(cell().column.id);
4785
+ },
4786
+ get commit() {
4787
+ return editorCommitFor(cell().column.id);
4788
+ },
4789
+ get cancel() {
4790
+ return editorCancelFor();
4791
+ },
4792
+ get autofocus() {
4793
+ return editorAutofocusFor(cell().column.id, wr().vi.index);
4794
+ }
4514
4795
  }) ?? <input type="text" data-editing-cell="" data-builtin-editor="" class={"rdt-cell-editor"} value={editorValueFor(cell().column.id)} onInput={($event) => {
4515
4796
  onCellEditorInput(cell().column.id, $event);
4516
4797
  }} onKeyDown={($event) => {
@@ -4544,22 +4825,42 @@ function DataTable(_props) {
4544
4825
  }} data-rozie-s-d5dcab4c="">{(0, _rozie_runtime_solid.rozieDisplay)(rowIsExpanded(wr().row) ? "▾" : "▸")}</button>
4545
4826
  <span class={"rdt-group-value"} data-rozie-s-d5dcab4c="">
4546
4827
  {_props.slots?.[`cell-${cell().column.id}`]?.({
4547
- columnId: cell().column.id,
4548
- column: cell().column,
4549
- row: cellSlotRow(wr().row),
4550
- value: cell().getValue()
4828
+ get columnId() {
4829
+ return cell().column.id;
4830
+ },
4831
+ get column() {
4832
+ return cell().column;
4833
+ },
4834
+ get row() {
4835
+ return cellSlotRow(wr().row);
4836
+ },
4837
+ get value() {
4838
+ return cell().getValue();
4839
+ }
4551
4840
  }) ?? (_props.cellSlot ?? _props.slots?.["cell"])?.({
4552
- columnId: cell().column.id,
4553
- column: cell().column,
4554
- row: cellSlotRow(wr().row),
4555
- value: cell().getValue()
4841
+ get columnId() {
4842
+ return cell().column.id;
4843
+ },
4844
+ get column() {
4845
+ return cell().column;
4846
+ },
4847
+ get row() {
4848
+ return cellSlotRow(wr().row);
4849
+ },
4850
+ get value() {
4851
+ return cell().getValue();
4852
+ }
4556
4853
  }) ?? (0, _rozie_runtime_solid.rozieDisplay)(cell().getValue())}
4557
4854
  </span>
4558
4855
  <span class={"rdt-group-count"} data-rozie-s-d5dcab4c="">{(0, _rozie_runtime_solid.rozieDisplay)("(" + groupSubRowCount(wr().row) + ")")}</span>
4559
4856
  </span></Solid_js.Show>}><span style={{ display: "contents" }} data-rozie-s-d5dcab4c="">
4560
4857
  {(_props.selectCellSlot ?? _props.slots?.["selectCell"])?.({
4561
- row: cellSlotRow(wr().row),
4562
- checked: rowIsSelected(wr().row),
4858
+ get row() {
4859
+ return cellSlotRow(wr().row);
4860
+ },
4861
+ get checked() {
4862
+ return rowIsSelected(wr().row);
4863
+ },
4563
4864
  toggle: (e) => onToggleRow(wr().row, e)
4564
4865
  }) ?? <input type="checkbox" aria-label="Select row" class={"rdt-select-row"} checked={rowIsSelected(wr().row)} onChange={($event) => {
4565
4866
  onToggleRow(wr().row, $event);
@@ -4575,7 +4876,9 @@ function DataTable(_props) {
4575
4876
 
4576
4877
  {<Solid_js.Show when={rowShowsDetail(wr().row)}><tr class={"rdt-detail-row"} role="row" data-detail-row={(0, _rozie_runtime_solid.rozieAttr)(wr().row.id)} data-rozie-s-d5dcab4c="">
4577
4878
  <td class={"rdt-detail-cell"} colSpan={(0, _rozie_runtime_solid.rozieAttr)(windowedColSpan())} data-rozie-s-d5dcab4c="">
4578
- {(_props.detailSlot ?? _props.slots?.["detail"])?.({ row: wr().row.original })}
4879
+ {(_props.detailSlot ?? _props.slots?.["detail"])?.({ get row() {
4880
+ return wr().row.original;
4881
+ } })}
4579
4882
  </td>
4580
4883
  </tr></Solid_js.Show>}</>}</_solid_primitives_keyed.Key>
4581
4884