twico-ui 1.32.1 → 1.33.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/CHANGELOG.md +14 -0
- package/dist/index.cjs +7 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.mjs +7 -8
- package/dist/index.mjs.map +1 -1
- package/llms.txt +2 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Twico UI are documented here (newest first). This file is generated automatically on each release by [semantic-release](https://semantic-release.gitbook.io/) from [Conventional Commits](https://www.conventionalcommits.org/) — do not edit it by hand. The same notes appear on each [GitHub Release](https://github.com/EncryptionL/twico-ui/releases).
|
|
4
4
|
|
|
5
|
+
## [1.33.1](https://github.com/EncryptionL/twico-ui/compare/v1.33.0...v1.33.1) (2026-08-11)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **tooltip:** make the bubble non-interactive so it never blocks neighbours ([b4b197a](https://github.com/EncryptionL/twico-ui/commit/b4b197a60f1df64eb357939f7e5098d3022c56cd)), closes [#348](https://github.com/EncryptionL/twico-ui/issues/348)
|
|
11
|
+
|
|
12
|
+
# [1.33.0](https://github.com/EncryptionL/twico-ui/compare/v1.32.1...v1.33.0) (2026-08-11)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **datatable:** per-cell cellClassName/cellStyle hooks on DatatableColumn ([ac58410](https://github.com/EncryptionL/twico-ui/commit/ac58410109b9a67ed7cb78717a3a98a8b8639cb1)), closes [#242](https://github.com/EncryptionL/twico-ui/issues/242) [#345](https://github.com/EncryptionL/twico-ui/issues/345)
|
|
18
|
+
|
|
5
19
|
## [1.32.1](https://github.com/EncryptionL/twico-ui/compare/v1.32.0...v1.32.1) (2026-08-11)
|
|
6
20
|
|
|
7
21
|
|
package/dist/index.cjs
CHANGED
|
@@ -7963,6 +7963,9 @@ var TOOLTIP_CSS = `
|
|
|
7963
7963
|
.twc-tooltip-wrap { display: inline-flex; }
|
|
7964
7964
|
.twc-tooltip {
|
|
7965
7965
|
position: fixed; z-index: var(--z-tooltip);
|
|
7966
|
+
/* #348: purely presentational \u2014 the bubble must NEVER intercept the pointer, so neither a hidden
|
|
7967
|
+
(opacity:0) nor a shown bubble can block neighbouring cells/buttons (matches MUI/Radix tooltips). */
|
|
7968
|
+
pointer-events: none;
|
|
7966
7969
|
padding: 6px 10px; border-radius: var(--radius-md);
|
|
7967
7970
|
background: var(--color-text); color: var(--color-surface);
|
|
7968
7971
|
font-family: var(--font-sans); font-size: var(--text-xs); font-weight: var(--font-medium);
|
|
@@ -7974,7 +7977,6 @@ var TOOLTIP_CSS = `
|
|
|
7974
7977
|
width: max-content; max-width: var(--_tw-maxw, 320px); box-shadow: var(--shadow-md);
|
|
7975
7978
|
opacity: 0; transform: scale(0.9); transition: opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);
|
|
7976
7979
|
}
|
|
7977
|
-
.twc-tooltip[data-show="true"] { pointer-events: auto; }
|
|
7978
7980
|
.twc-tooltip[data-show="true"] { opacity: 1; transform: scale(1); }
|
|
7979
7981
|
.twc-tooltip[data-place="top"] { transform-origin: bottom center; translate: -50% 0; }
|
|
7980
7982
|
.twc-tooltip[data-place="bottom"] { transform-origin: top center; translate: -50% 0; }
|
|
@@ -8021,9 +8023,6 @@ function Tooltip({
|
|
|
8021
8023
|
clearTimeout(closeTimer.current);
|
|
8022
8024
|
closeTimer.current = setTimeout(() => setShowU(false), 120);
|
|
8023
8025
|
};
|
|
8024
|
-
const cancelClose = () => {
|
|
8025
|
-
clearTimeout(closeTimer.current);
|
|
8026
|
-
};
|
|
8027
8026
|
React51__namespace.default.useEffect(() => () => {
|
|
8028
8027
|
clearTimeout(timer.current);
|
|
8029
8028
|
clearTimeout(closeTimer.current);
|
|
@@ -8099,8 +8098,6 @@ function Tooltip({
|
|
|
8099
8098
|
"data-show": show || void 0,
|
|
8100
8099
|
role: "tooltip",
|
|
8101
8100
|
"aria-hidden": show ? void 0 : "true",
|
|
8102
|
-
onMouseEnter: anchored ? void 0 : cancelClose,
|
|
8103
|
-
onMouseLeave: anchored ? void 0 : close,
|
|
8104
8101
|
style: {
|
|
8105
8102
|
position: "fixed",
|
|
8106
8103
|
left: coords.left,
|
|
@@ -11519,11 +11516,13 @@ function Datatable({
|
|
|
11519
11516
|
const cellId = selectionMode === "cell" ? `${gridId}-${ri}-${ci}` : void 0;
|
|
11520
11517
|
const display = c.valueFormatter ? c.valueFormatter(val, row) : val;
|
|
11521
11518
|
const cellTitle = !isActions && !c.renderCell && !isEditing && (typeof display === "string" || typeof display === "number") ? String(display) : void 0;
|
|
11519
|
+
const cellClass = c.cellClassName ? c.cellClassName(val, row) : void 0;
|
|
11520
|
+
const cellSty = c.cellStyle ? c.cellStyle(val, row) : void 0;
|
|
11522
11521
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11523
11522
|
"td",
|
|
11524
11523
|
{
|
|
11525
11524
|
id: cellId,
|
|
11526
|
-
className: "twc-dt__td",
|
|
11525
|
+
className: cellClass ? `twc-dt__td ${cellClass}` : "twc-dt__td",
|
|
11527
11526
|
role: "gridcell",
|
|
11528
11527
|
"data-r": ri,
|
|
11529
11528
|
"data-c": ci,
|
|
@@ -11540,7 +11539,7 @@ function Datatable({
|
|
|
11540
11539
|
"data-wrap": effectiveWrapped.has(c.field) || void 0,
|
|
11541
11540
|
"data-pin": st.pin,
|
|
11542
11541
|
"data-pin-edge": st.edge,
|
|
11543
|
-
style: { width: widthOf(c), ...st.style },
|
|
11542
|
+
style: { width: widthOf(c), ...cellSty, ...st.style, ...st.pin ? { position: "sticky", zIndex: 2 } : null },
|
|
11544
11543
|
"data-ovtext": cellTitle,
|
|
11545
11544
|
onClick: selectionMode === "cell" ? (e) => handleCellClick(e, k, row, c) : void 0,
|
|
11546
11545
|
onFocus: () => setFocus((f) => f.r === ri && f.c === ci ? f : { r: ri, c: ci }),
|