@expcat/tigercat-core 1.3.1 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +10 -6
- package/dist/index.d.cts +13 -5
- package/dist/index.d.ts +13 -5
- package/dist/index.js +10 -6
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -5809,7 +5809,7 @@ function getSpaceStyle(size = "md") {
|
|
|
5809
5809
|
|
|
5810
5810
|
// src/utils/table-utils.ts
|
|
5811
5811
|
var tableContainerClasses = "relative w-full overflow-auto";
|
|
5812
|
-
var tableBaseClasses = "w-full border-
|
|
5812
|
+
var tableBaseClasses = "w-full border-separate border-spacing-0";
|
|
5813
5813
|
var tableResponsiveTableClasses = "max-sm:min-w-max";
|
|
5814
5814
|
var tableResponsiveCardListClasses = "hidden max-sm:grid max-sm:gap-3 max-sm:p-3";
|
|
5815
5815
|
var CARD_HIDE_CLASSES = {
|
|
@@ -6059,7 +6059,8 @@ function getTableWrapperClasses(bordered, maxHeight) {
|
|
|
6059
6059
|
function getTableHeaderClasses(stickyHeader) {
|
|
6060
6060
|
return classNames(
|
|
6061
6061
|
tableHeaderBackgroundClasses,
|
|
6062
|
-
|
|
6062
|
+
// border on cells, not <thead> — the table is `border-separate`
|
|
6063
|
+
"[&_th]:border-b [&_th]:border-[var(--tiger-border,#e5e7eb)]",
|
|
6063
6064
|
stickyHeader && "sticky top-0 z-10"
|
|
6064
6065
|
);
|
|
6065
6066
|
}
|
|
@@ -6084,7 +6085,9 @@ function getTableHeaderCellClasses(size, align, sortable, customClassName) {
|
|
|
6084
6085
|
}
|
|
6085
6086
|
function getTableRowClasses(hoverable, striped, isEven, customClassName) {
|
|
6086
6087
|
return classNames(
|
|
6087
|
-
|
|
6088
|
+
// border on cells, not <tr> — the table is `border-separate`; `:not(:last-child)`
|
|
6089
|
+
// reproduces the old `last:border-b-0` (every row except the last gets a bottom rule)
|
|
6090
|
+
"[&:not(:last-child)>td]:border-b [&:not(:last-child)>td]:border-[var(--tiger-border,#e5e7eb)]",
|
|
6088
6091
|
hoverable && tableRowHoverClasses,
|
|
6089
6092
|
striped && isEven && tableRowStripedClasses,
|
|
6090
6093
|
customClassName
|
|
@@ -6194,7 +6197,8 @@ function getExpandIconClasses(expanded) {
|
|
|
6194
6197
|
}
|
|
6195
6198
|
function getExpandedRowClasses() {
|
|
6196
6199
|
return classNames(
|
|
6197
|
-
|
|
6200
|
+
// border on cells, not <tr> — the table is `border-separate`
|
|
6201
|
+
"[&:not(:last-child)>td]:border-b [&:not(:last-child)>td]:border-[var(--tiger-border,#e5e7eb)]",
|
|
6198
6202
|
"bg-[var(--tiger-surface-muted,#f9fafb)]/30"
|
|
6199
6203
|
);
|
|
6200
6204
|
}
|
|
@@ -6237,7 +6241,7 @@ function createTableRowKeyCache(rowKey) {
|
|
|
6237
6241
|
}
|
|
6238
6242
|
return { get, getMany };
|
|
6239
6243
|
}
|
|
6240
|
-
var tableSummaryRowClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold border-t-2 border-[var(--tiger-border,#e5e7eb)]";
|
|
6244
|
+
var tableSummaryRowClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold [&>td]:border-t-2 [&>td]:border-[var(--tiger-border,#e5e7eb)]";
|
|
6241
6245
|
function getEditableCellClasses(isEditing) {
|
|
6242
6246
|
return classNames(
|
|
6243
6247
|
isEditing ? "ring-2 ring-[var(--tiger-primary,#2563eb)] ring-inset bg-[var(--tiger-surface,#ffffff)]" : "cursor-pointer hover:bg-[var(--tiger-primary,#2563eb)]/5"
|
|
@@ -14512,7 +14516,7 @@ function groupDataByColumn(data, groupBy) {
|
|
|
14512
14516
|
}
|
|
14513
14517
|
return groups;
|
|
14514
14518
|
}
|
|
14515
|
-
var tableGroupHeaderClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold text-sm text-[var(--tiger-text,#111827)] border-b border-[var(--tiger-border,#e5e7eb)]";
|
|
14519
|
+
var tableGroupHeaderClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold text-sm text-[var(--tiger-text,#111827)] [&>td]:border-b [&>td]:border-[var(--tiger-border,#e5e7eb)]";
|
|
14516
14520
|
function getGroupHeaderCellClasses(size) {
|
|
14517
14521
|
const padding = {
|
|
14518
14522
|
sm: "px-3 py-2",
|
package/dist/index.d.cts
CHANGED
|
@@ -3469,9 +3469,17 @@ declare function getSpaceStyle(size?: SpaceSize): Record<string, string> | undef
|
|
|
3469
3469
|
*/
|
|
3470
3470
|
declare const tableContainerClasses = "relative w-full overflow-auto";
|
|
3471
3471
|
/**
|
|
3472
|
-
* Base table classes
|
|
3473
|
-
|
|
3474
|
-
|
|
3472
|
+
* Base table classes.
|
|
3473
|
+
*
|
|
3474
|
+
* Uses `border-separate` + `border-spacing-0` (not `border-collapse`) on purpose:
|
|
3475
|
+
* `position: sticky` on `<th>`/`<td>` is unreliable under `border-collapse`
|
|
3476
|
+
* (fixed/locked columns drift or jitter while scrolling horizontally). In the
|
|
3477
|
+
* separate model sticky cells pin correctly. The trade-off is that borders on
|
|
3478
|
+
* `<tr>`/`<thead>` are not painted, so every horizontal separator must live on
|
|
3479
|
+
* the cells — see `getTableHeaderClasses`, `getTableRowClasses`,
|
|
3480
|
+
* `getExpandedRowClasses`, `tableSummaryRowClasses` and `tableGroupHeaderClasses`.
|
|
3481
|
+
*/
|
|
3482
|
+
declare const tableBaseClasses = "w-full border-separate border-spacing-0";
|
|
3475
3483
|
declare const tableResponsiveTableClasses = "max-sm:min-w-max";
|
|
3476
3484
|
declare const tableResponsiveCardListClasses = "hidden max-sm:grid max-sm:gap-3 max-sm:p-3";
|
|
3477
3485
|
declare const tableResponsiveCardClasses = "rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] shadow-sm";
|
|
@@ -3727,7 +3735,7 @@ declare function createTableRowKeyCache<T>(rowKey: string | ((record: T) => stri
|
|
|
3727
3735
|
/**
|
|
3728
3736
|
* Summary row footer classes
|
|
3729
3737
|
*/
|
|
3730
|
-
declare const tableSummaryRowClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold border-t-2 border-[var(--tiger-border,#e5e7eb)]";
|
|
3738
|
+
declare const tableSummaryRowClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold [&>td]:border-t-2 [&>td]:border-[var(--tiger-border,#e5e7eb)]";
|
|
3731
3739
|
/**
|
|
3732
3740
|
* Editable cell classes
|
|
3733
3741
|
*/
|
|
@@ -15128,7 +15136,7 @@ declare function groupDataByColumn<T>(data: T[], groupBy: string): Map<string, T
|
|
|
15128
15136
|
/**
|
|
15129
15137
|
* Get group header row classes
|
|
15130
15138
|
*/
|
|
15131
|
-
declare const tableGroupHeaderClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold text-sm text-[var(--tiger-text,#111827)] border-b border-[var(--tiger-border,#e5e7eb)]";
|
|
15139
|
+
declare const tableGroupHeaderClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold text-sm text-[var(--tiger-text,#111827)] [&>td]:border-b [&>td]:border-[var(--tiger-border,#e5e7eb)]";
|
|
15132
15140
|
/**
|
|
15133
15141
|
* Get group header cell padding classes
|
|
15134
15142
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -3469,9 +3469,17 @@ declare function getSpaceStyle(size?: SpaceSize): Record<string, string> | undef
|
|
|
3469
3469
|
*/
|
|
3470
3470
|
declare const tableContainerClasses = "relative w-full overflow-auto";
|
|
3471
3471
|
/**
|
|
3472
|
-
* Base table classes
|
|
3473
|
-
|
|
3474
|
-
|
|
3472
|
+
* Base table classes.
|
|
3473
|
+
*
|
|
3474
|
+
* Uses `border-separate` + `border-spacing-0` (not `border-collapse`) on purpose:
|
|
3475
|
+
* `position: sticky` on `<th>`/`<td>` is unreliable under `border-collapse`
|
|
3476
|
+
* (fixed/locked columns drift or jitter while scrolling horizontally). In the
|
|
3477
|
+
* separate model sticky cells pin correctly. The trade-off is that borders on
|
|
3478
|
+
* `<tr>`/`<thead>` are not painted, so every horizontal separator must live on
|
|
3479
|
+
* the cells — see `getTableHeaderClasses`, `getTableRowClasses`,
|
|
3480
|
+
* `getExpandedRowClasses`, `tableSummaryRowClasses` and `tableGroupHeaderClasses`.
|
|
3481
|
+
*/
|
|
3482
|
+
declare const tableBaseClasses = "w-full border-separate border-spacing-0";
|
|
3475
3483
|
declare const tableResponsiveTableClasses = "max-sm:min-w-max";
|
|
3476
3484
|
declare const tableResponsiveCardListClasses = "hidden max-sm:grid max-sm:gap-3 max-sm:p-3";
|
|
3477
3485
|
declare const tableResponsiveCardClasses = "rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] shadow-sm";
|
|
@@ -3727,7 +3735,7 @@ declare function createTableRowKeyCache<T>(rowKey: string | ((record: T) => stri
|
|
|
3727
3735
|
/**
|
|
3728
3736
|
* Summary row footer classes
|
|
3729
3737
|
*/
|
|
3730
|
-
declare const tableSummaryRowClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold border-t-2 border-[var(--tiger-border,#e5e7eb)]";
|
|
3738
|
+
declare const tableSummaryRowClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold [&>td]:border-t-2 [&>td]:border-[var(--tiger-border,#e5e7eb)]";
|
|
3731
3739
|
/**
|
|
3732
3740
|
* Editable cell classes
|
|
3733
3741
|
*/
|
|
@@ -15128,7 +15136,7 @@ declare function groupDataByColumn<T>(data: T[], groupBy: string): Map<string, T
|
|
|
15128
15136
|
/**
|
|
15129
15137
|
* Get group header row classes
|
|
15130
15138
|
*/
|
|
15131
|
-
declare const tableGroupHeaderClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold text-sm text-[var(--tiger-text,#111827)] border-b border-[var(--tiger-border,#e5e7eb)]";
|
|
15139
|
+
declare const tableGroupHeaderClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold text-sm text-[var(--tiger-text,#111827)] [&>td]:border-b [&>td]:border-[var(--tiger-border,#e5e7eb)]";
|
|
15132
15140
|
/**
|
|
15133
15141
|
* Get group header cell padding classes
|
|
15134
15142
|
*/
|
package/dist/index.js
CHANGED
|
@@ -3903,7 +3903,7 @@ function getSpaceStyle(size = "md") {
|
|
|
3903
3903
|
|
|
3904
3904
|
// src/utils/table-utils.ts
|
|
3905
3905
|
var tableContainerClasses = "relative w-full overflow-auto";
|
|
3906
|
-
var tableBaseClasses = "w-full border-
|
|
3906
|
+
var tableBaseClasses = "w-full border-separate border-spacing-0";
|
|
3907
3907
|
var tableResponsiveTableClasses = "max-sm:min-w-max";
|
|
3908
3908
|
var tableResponsiveCardListClasses = "hidden max-sm:grid max-sm:gap-3 max-sm:p-3";
|
|
3909
3909
|
var CARD_HIDE_CLASSES = {
|
|
@@ -4153,7 +4153,8 @@ function getTableWrapperClasses(bordered, maxHeight) {
|
|
|
4153
4153
|
function getTableHeaderClasses(stickyHeader) {
|
|
4154
4154
|
return classNames(
|
|
4155
4155
|
tableHeaderBackgroundClasses,
|
|
4156
|
-
|
|
4156
|
+
// border on cells, not <thead> — the table is `border-separate`
|
|
4157
|
+
"[&_th]:border-b [&_th]:border-[var(--tiger-border,#e5e7eb)]",
|
|
4157
4158
|
stickyHeader && "sticky top-0 z-10"
|
|
4158
4159
|
);
|
|
4159
4160
|
}
|
|
@@ -4178,7 +4179,9 @@ function getTableHeaderCellClasses(size, align, sortable, customClassName) {
|
|
|
4178
4179
|
}
|
|
4179
4180
|
function getTableRowClasses(hoverable, striped, isEven, customClassName) {
|
|
4180
4181
|
return classNames(
|
|
4181
|
-
|
|
4182
|
+
// border on cells, not <tr> — the table is `border-separate`; `:not(:last-child)`
|
|
4183
|
+
// reproduces the old `last:border-b-0` (every row except the last gets a bottom rule)
|
|
4184
|
+
"[&:not(:last-child)>td]:border-b [&:not(:last-child)>td]:border-[var(--tiger-border,#e5e7eb)]",
|
|
4182
4185
|
hoverable && tableRowHoverClasses,
|
|
4183
4186
|
striped && isEven && tableRowStripedClasses,
|
|
4184
4187
|
customClassName
|
|
@@ -4288,7 +4291,8 @@ function getExpandIconClasses(expanded) {
|
|
|
4288
4291
|
}
|
|
4289
4292
|
function getExpandedRowClasses() {
|
|
4290
4293
|
return classNames(
|
|
4291
|
-
|
|
4294
|
+
// border on cells, not <tr> — the table is `border-separate`
|
|
4295
|
+
"[&:not(:last-child)>td]:border-b [&:not(:last-child)>td]:border-[var(--tiger-border,#e5e7eb)]",
|
|
4292
4296
|
"bg-[var(--tiger-surface-muted,#f9fafb)]/30"
|
|
4293
4297
|
);
|
|
4294
4298
|
}
|
|
@@ -4331,7 +4335,7 @@ function createTableRowKeyCache(rowKey) {
|
|
|
4331
4335
|
}
|
|
4332
4336
|
return { get, getMany };
|
|
4333
4337
|
}
|
|
4334
|
-
var tableSummaryRowClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold border-t-2 border-[var(--tiger-border,#e5e7eb)]";
|
|
4338
|
+
var tableSummaryRowClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold [&>td]:border-t-2 [&>td]:border-[var(--tiger-border,#e5e7eb)]";
|
|
4335
4339
|
function getEditableCellClasses(isEditing) {
|
|
4336
4340
|
return classNames(
|
|
4337
4341
|
isEditing ? "ring-2 ring-[var(--tiger-primary,#2563eb)] ring-inset bg-[var(--tiger-surface,#ffffff)]" : "cursor-pointer hover:bg-[var(--tiger-primary,#2563eb)]/5"
|
|
@@ -12613,7 +12617,7 @@ function groupDataByColumn(data, groupBy) {
|
|
|
12613
12617
|
}
|
|
12614
12618
|
return groups;
|
|
12615
12619
|
}
|
|
12616
|
-
var tableGroupHeaderClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold text-sm text-[var(--tiger-text,#111827)] border-b border-[var(--tiger-border,#e5e7eb)]";
|
|
12620
|
+
var tableGroupHeaderClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] font-semibold text-sm text-[var(--tiger-text,#111827)] [&>td]:border-b [&>td]:border-[var(--tiger-border,#e5e7eb)]";
|
|
12617
12621
|
function getGroupHeaderCellClasses(size) {
|
|
12618
12622
|
const padding = {
|
|
12619
12623
|
sm: "px-3 py-2",
|