@underverse-ui/underverse 1.0.73 → 1.0.74
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/api-reference.json +1 -1
- package/dist/index.cjs +300 -245
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +301 -246
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -22644,16 +22644,22 @@ var EmojiList = (0, import_react44.forwardRef)((props, ref) => {
|
|
|
22644
22644
|
] }) }),
|
|
22645
22645
|
/* @__PURE__ */ (0, import_jsx_runtime74.jsxs)("div", { className: "p-3", children: [
|
|
22646
22646
|
/* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "grid grid-cols-8 gap-1", children: props.items.slice(0, 64).map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
22647
|
-
|
|
22647
|
+
Tooltip,
|
|
22648
22648
|
{
|
|
22649
|
-
|
|
22650
|
-
|
|
22651
|
-
|
|
22652
|
-
"
|
|
22653
|
-
|
|
22654
|
-
|
|
22655
|
-
|
|
22656
|
-
|
|
22649
|
+
placement: "top",
|
|
22650
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { className: "text-xs font-medium", children: item.name.replace(/_/g, " ") }),
|
|
22651
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
22652
|
+
"button",
|
|
22653
|
+
{
|
|
22654
|
+
type: "button",
|
|
22655
|
+
onClick: () => props.command(item),
|
|
22656
|
+
className: cn(
|
|
22657
|
+
"w-9 h-9 flex items-center justify-center rounded-lg text-xl transition-colors",
|
|
22658
|
+
selectedIndex === index ? "bg-primary/10 ring-2 ring-primary/30" : "hover:bg-accent"
|
|
22659
|
+
),
|
|
22660
|
+
children: item.emoji
|
|
22661
|
+
}
|
|
22662
|
+
)
|
|
22657
22663
|
},
|
|
22658
22664
|
item.name
|
|
22659
22665
|
)) }),
|
|
@@ -23279,7 +23285,7 @@ var EditorColorPalette = ({
|
|
|
23279
23285
|
label
|
|
23280
23286
|
}) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)("div", { className: "p-2", children: [
|
|
23281
23287
|
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider px-2", children: label }),
|
|
23282
|
-
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "grid grid-cols-4 gap-1.5 mt-2", children: colors.map((c) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
23288
|
+
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: "grid grid-cols-4 gap-1.5 mt-2", children: colors.map((c) => /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Tooltip, { placement: "top", content: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-xs font-medium", children: c.name }), children: /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
23283
23289
|
"button",
|
|
23284
23290
|
{
|
|
23285
23291
|
type: "button",
|
|
@@ -23290,14 +23296,12 @@ var EditorColorPalette = ({
|
|
|
23290
23296
|
currentColor === c.color ? "border-primary ring-2 ring-primary/20" : "border-border/50 hover:border-primary/50"
|
|
23291
23297
|
),
|
|
23292
23298
|
style: { backgroundColor: c.color || "transparent" },
|
|
23293
|
-
title: c.name,
|
|
23294
23299
|
children: [
|
|
23295
23300
|
c.color === "" && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_lucide_react42.X, { className: "w-4 h-4 text-muted-foreground" }),
|
|
23296
23301
|
c.color === "inherit" && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("span", { className: "text-xs font-medium", children: "A" })
|
|
23297
23302
|
]
|
|
23298
|
-
}
|
|
23299
|
-
|
|
23300
|
-
)) })
|
|
23303
|
+
}
|
|
23304
|
+
) }, c.name)) })
|
|
23301
23305
|
] });
|
|
23302
23306
|
|
|
23303
23307
|
// src/components/UEditor/image-commands.ts
|
|
@@ -23492,17 +23496,17 @@ var ImageInput = ({ onSubmit, onCancel }) => {
|
|
|
23492
23496
|
};
|
|
23493
23497
|
|
|
23494
23498
|
// src/components/UEditor/emoji-picker.tsx
|
|
23495
|
-
var import_react49 = require("react");
|
|
23496
23499
|
var import_lucide_react44 = require("lucide-react");
|
|
23500
|
+
var import_react49 = require("react");
|
|
23497
23501
|
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
23498
23502
|
var CATEGORY_ICONS2 = {
|
|
23499
|
-
|
|
23500
|
-
|
|
23501
|
-
|
|
23502
|
-
|
|
23503
|
-
|
|
23504
|
-
|
|
23505
|
-
|
|
23503
|
+
smileys_people: import_lucide_react44.Smile,
|
|
23504
|
+
animals_nature: import_lucide_react44.Leaf,
|
|
23505
|
+
food_drink: import_lucide_react44.Utensils,
|
|
23506
|
+
activity: import_lucide_react44.Dumbbell,
|
|
23507
|
+
objects: import_lucide_react44.Lightbulb,
|
|
23508
|
+
symbols: import_lucide_react44.Hash,
|
|
23509
|
+
flags: import_lucide_react44.Flag
|
|
23506
23510
|
};
|
|
23507
23511
|
var EmojiPicker2 = ({ onSelect, onClose }) => {
|
|
23508
23512
|
const t = useSmartTranslations("UEditor");
|
|
@@ -23516,9 +23520,7 @@ var EmojiPicker2 = ({ onSelect, onClose }) => {
|
|
|
23516
23520
|
const query = search.toLowerCase();
|
|
23517
23521
|
return EMOJI_LIST.map((category) => ({
|
|
23518
23522
|
...category,
|
|
23519
|
-
emojis: category.emojis.filter(
|
|
23520
|
-
(emoji) => emoji.name.toLowerCase().includes(query) || emoji.emoji.includes(search)
|
|
23521
|
-
)
|
|
23523
|
+
emojis: category.emojis.filter((emoji) => emoji.name.toLowerCase().includes(query) || emoji.emoji.includes(search))
|
|
23522
23524
|
})).filter((category) => category.emojis.length > 0);
|
|
23523
23525
|
}, [search]);
|
|
23524
23526
|
const handleEmojiClick = (emoji) => {
|
|
@@ -23586,26 +23588,40 @@ var EmojiPicker2 = ({ onSelect, onClose }) => {
|
|
|
23586
23588
|
)
|
|
23587
23589
|
}
|
|
23588
23590
|
),
|
|
23589
|
-
search && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
23590
|
-
"button",
|
|
23591
|
-
{
|
|
23592
|
-
onClick: () => setSearch(""),
|
|
23593
|
-
className: "absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",
|
|
23594
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react44.X, { className: "w-4 h-4" })
|
|
23595
|
-
}
|
|
23596
|
-
)
|
|
23591
|
+
search && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("button", { onClick: () => setSearch(""), className: "absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react44.X, { className: "w-4 h-4" }) })
|
|
23597
23592
|
] }) }),
|
|
23598
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
23599
|
-
|
|
23600
|
-
{
|
|
23601
|
-
|
|
23602
|
-
className: "
|
|
23603
|
-
|
|
23604
|
-
|
|
23605
|
-
|
|
23606
|
-
|
|
23607
|
-
|
|
23608
|
-
|
|
23593
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { ref: scrollContainerRef, className: "overflow-y-auto px-3 py-2 shrink", style: { height: "20rem" }, children: search ? (
|
|
23594
|
+
// Search Results
|
|
23595
|
+
filteredCategories.length > 0 ? filteredCategories.map((category) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "mb-4", children: [
|
|
23596
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 sticky top-0 bg-card py-1", children: category.name }),
|
|
23597
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "grid grid-cols-9 gap-1", children: category.emojis.map((emoji) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Tooltip, { placement: "top", content: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xs font-medium", children: emoji.name.replace(/_/g, " ") }), children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
23598
|
+
"button",
|
|
23599
|
+
{
|
|
23600
|
+
onClick: () => handleEmojiClick(emoji.emoji),
|
|
23601
|
+
className: cn(
|
|
23602
|
+
"w-9 h-9 flex items-center justify-center rounded-lg",
|
|
23603
|
+
"text-2xl hover:bg-accent transition-colors",
|
|
23604
|
+
"focus:outline-none focus:ring-2 focus:ring-primary/20"
|
|
23605
|
+
),
|
|
23606
|
+
children: emoji.emoji
|
|
23607
|
+
}
|
|
23608
|
+
) }, emoji.name)) })
|
|
23609
|
+
] }, category.id)) : /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-col items-center justify-center h-full text-center", children: [
|
|
23610
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "text-4xl mb-2", children: "\u{1F50D}" }),
|
|
23611
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "text-sm font-medium text-muted-foreground", children: t("emojiPicker.noResults") }),
|
|
23612
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "text-xs text-muted-foreground mt-1", children: t("emojiPicker.tryDifferentSearch") })
|
|
23613
|
+
] })
|
|
23614
|
+
) : (
|
|
23615
|
+
// All Categories - Messenger Style
|
|
23616
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "space-y-4", children: EMOJI_LIST.map((category) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
23617
|
+
"div",
|
|
23618
|
+
{
|
|
23619
|
+
ref: (el) => {
|
|
23620
|
+
categoryRefs.current[category.id] = el;
|
|
23621
|
+
},
|
|
23622
|
+
children: [
|
|
23623
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 sticky top-0 bg-card py-1 z-10", children: category.name }),
|
|
23624
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "grid grid-cols-9 gap-1", children: category.emojis.map((emoji) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Tooltip, { placement: "top", content: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xs font-medium", children: emoji.name.replace(/_/g, " ") }), children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
23609
23625
|
"button",
|
|
23610
23626
|
{
|
|
23611
23627
|
onClick: () => handleEmojiClick(emoji.emoji),
|
|
@@ -23614,47 +23630,14 @@ var EmojiPicker2 = ({ onSelect, onClose }) => {
|
|
|
23614
23630
|
"text-2xl hover:bg-accent transition-colors",
|
|
23615
23631
|
"focus:outline-none focus:ring-2 focus:ring-primary/20"
|
|
23616
23632
|
),
|
|
23617
|
-
title: emoji.name.replace(/_/g, " "),
|
|
23618
23633
|
children: emoji.emoji
|
|
23619
|
-
}
|
|
23620
|
-
|
|
23621
|
-
|
|
23622
|
-
|
|
23623
|
-
|
|
23624
|
-
|
|
23625
|
-
|
|
23626
|
-
] })
|
|
23627
|
-
) : (
|
|
23628
|
-
// All Categories - Messenger Style
|
|
23629
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "space-y-4", children: EMOJI_LIST.map((category) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
|
|
23630
|
-
"div",
|
|
23631
|
-
{
|
|
23632
|
-
ref: (el) => {
|
|
23633
|
-
categoryRefs.current[category.id] = el;
|
|
23634
|
-
},
|
|
23635
|
-
children: [
|
|
23636
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2 sticky top-0 bg-card py-1 z-10", children: category.name }),
|
|
23637
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "grid grid-cols-9 gap-1", children: category.emojis.map((emoji) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
23638
|
-
"button",
|
|
23639
|
-
{
|
|
23640
|
-
onClick: () => handleEmojiClick(emoji.emoji),
|
|
23641
|
-
className: cn(
|
|
23642
|
-
"w-9 h-9 flex items-center justify-center rounded-lg",
|
|
23643
|
-
"text-2xl hover:bg-accent transition-colors",
|
|
23644
|
-
"focus:outline-none focus:ring-2 focus:ring-primary/20"
|
|
23645
|
-
),
|
|
23646
|
-
title: emoji.name.replace(/_/g, " "),
|
|
23647
|
-
children: emoji.emoji
|
|
23648
|
-
},
|
|
23649
|
-
emoji.name
|
|
23650
|
-
)) })
|
|
23651
|
-
]
|
|
23652
|
-
},
|
|
23653
|
-
category.id
|
|
23654
|
-
)) })
|
|
23655
|
-
)
|
|
23656
|
-
}
|
|
23657
|
-
),
|
|
23634
|
+
}
|
|
23635
|
+
) }, emoji.name)) })
|
|
23636
|
+
]
|
|
23637
|
+
},
|
|
23638
|
+
category.id
|
|
23639
|
+
)) })
|
|
23640
|
+
) }),
|
|
23658
23641
|
!search && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex items-center justify-around px-2 py-2 border-t bg-muted/30 shrink-0", children: EMOJI_LIST.map((category) => {
|
|
23659
23642
|
const IconComponent = CATEGORY_ICONS2[category.id] || import_lucide_react44.Smile;
|
|
23660
23643
|
return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
@@ -23665,8 +23648,7 @@ var EmojiPicker2 = ({ onSelect, onClose }) => {
|
|
|
23665
23648
|
"p-2 rounded-lg transition-colors",
|
|
23666
23649
|
activeCategory === category.id ? "text-primary bg-primary/10" : "text-muted-foreground hover:text-foreground hover:bg-accent"
|
|
23667
23650
|
),
|
|
23668
|
-
|
|
23669
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(IconComponent, { className: "w-5 h-5" })
|
|
23651
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Tooltip, { placement: "top", content: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xs font-medium", children: category.name }), children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(IconComponent, { className: "w-5 h-5" }) }) })
|
|
23670
23652
|
},
|
|
23671
23653
|
category.id
|
|
23672
23654
|
);
|
|
@@ -29142,12 +29124,23 @@ function buildLayout(editor, surface, cell) {
|
|
|
29142
29124
|
}
|
|
29143
29125
|
const surfaceRect = surface.getBoundingClientRect();
|
|
29144
29126
|
const tableRect = table.getBoundingClientRect();
|
|
29127
|
+
const wrapperElement = table.closest(".tableWrapper");
|
|
29128
|
+
const wrapper = wrapperElement instanceof HTMLElement ? wrapperElement : null;
|
|
29129
|
+
const wrapperRect = wrapper?.getBoundingClientRect() ?? tableRect;
|
|
29145
29130
|
const tableLeft = tableRect.left - surfaceRect.left + surface.scrollLeft;
|
|
29146
29131
|
const tableTop = tableRect.top - surfaceRect.top + surface.scrollTop;
|
|
29147
29132
|
const avgRowHeight = metricOrFallback(tableRect.height / rows.length, FALLBACK_TABLE_ROW_HEIGHT);
|
|
29148
29133
|
const avgColumnWidth = metricOrFallback(tableRect.width / referenceCells.length, FALLBACK_TABLE_COLUMN_WIDTH);
|
|
29149
29134
|
const tableWidth = metricOrFallback(tableRect.width, avgColumnWidth * referenceCells.length);
|
|
29150
29135
|
const tableHeight = metricOrFallback(tableRect.height, avgRowHeight * rows.length);
|
|
29136
|
+
const wrapperLeft = wrapperRect.left - surfaceRect.left + surface.scrollLeft;
|
|
29137
|
+
const wrapperTop = wrapperRect.top - surfaceRect.top + surface.scrollTop;
|
|
29138
|
+
const wrapperWidth = metricOrFallback(wrapperRect.width, tableWidth);
|
|
29139
|
+
const wrapperHeight = metricOrFallback(wrapperRect.height, tableHeight);
|
|
29140
|
+
const viewportWidth = metricOrFallback(wrapper?.clientWidth ?? wrapperRect.width, tableWidth);
|
|
29141
|
+
const viewportHeight = metricOrFallback(wrapper?.clientHeight ?? wrapperRect.height, tableHeight);
|
|
29142
|
+
const verticalScrollbarWidth = Math.max(0, Math.round(wrapperWidth - viewportWidth));
|
|
29143
|
+
const horizontalScrollbarHeight = Math.max(0, Math.round(wrapperHeight - viewportHeight));
|
|
29151
29144
|
const rowHandles = rows.map((tableRow, index) => {
|
|
29152
29145
|
const rowRect = tableRow.getBoundingClientRect();
|
|
29153
29146
|
const anchorCell = tableRow.cells.item(0) ?? cornerCell;
|
|
@@ -29182,6 +29175,14 @@ function buildLayout(editor, surface, cell) {
|
|
|
29182
29175
|
tableTop,
|
|
29183
29176
|
tableWidth,
|
|
29184
29177
|
tableHeight,
|
|
29178
|
+
wrapperLeft,
|
|
29179
|
+
wrapperTop,
|
|
29180
|
+
wrapperWidth,
|
|
29181
|
+
wrapperHeight,
|
|
29182
|
+
viewportWidth,
|
|
29183
|
+
viewportHeight,
|
|
29184
|
+
horizontalScrollbarHeight,
|
|
29185
|
+
verticalScrollbarWidth,
|
|
29185
29186
|
avgRowHeight,
|
|
29186
29187
|
avgColumnWidth,
|
|
29187
29188
|
rowHandles,
|
|
@@ -29274,11 +29275,13 @@ function TableControls({ editor, containerRef }) {
|
|
|
29274
29275
|
const directAddRow = targetElement?.closest?.("[data-table-control='add-row']");
|
|
29275
29276
|
const directRowHandleIndex = directRowHandle instanceof HTMLElement ? Number.parseInt(directRowHandle.dataset.rowHandleIndex ?? "", 10) : Number.NaN;
|
|
29276
29277
|
const directColumnHandleIndex = directColumnHandle instanceof HTMLElement ? Number.parseInt(directColumnHandle.dataset.columnHandleIndex ?? "", 10) : Number.NaN;
|
|
29278
|
+
const visibleTableWidth2 = Math.min(activeLayout.tableWidth, activeLayout.viewportWidth);
|
|
29279
|
+
const visibleTableHeight2 = Math.min(activeLayout.tableHeight, activeLayout.viewportHeight);
|
|
29277
29280
|
const rowHandleIndex = Number.isFinite(directRowHandleIndex) ? directRowHandleIndex : activeLayout.rowHandles.find((rowHandle) => relativeX >= activeLayout.tableLeft - ROW_HANDLE_HOVER_WIDTH && relativeX <= activeLayout.tableLeft && Math.abs(relativeY - rowHandle.center) <= HANDLE_HOVER_RADIUS)?.index ?? null;
|
|
29278
29281
|
const columnHandleIndex = Number.isFinite(directColumnHandleIndex) ? directColumnHandleIndex : activeLayout.columnHandles.find((columnHandle) => relativeY >= activeLayout.tableTop - COLUMN_HANDLE_HOVER_HEIGHT && relativeY <= activeLayout.tableTop && Math.abs(relativeX - columnHandle.center) <= HANDLE_HOVER_RADIUS)?.index ?? null;
|
|
29279
29282
|
const menuVisible = Boolean(directTableMenu) || relativeX >= activeLayout.tableLeft - MENU_HOVER_PADDING && relativeX <= activeLayout.tableLeft + 42 && relativeY >= activeLayout.tableTop - COLUMN_HANDLE_HOVER_HEIGHT && relativeY <= activeLayout.tableTop + MENU_HOVER_PADDING;
|
|
29280
|
-
const addColumnVisible = Boolean(directAddColumn) || relativeX >= activeLayout.
|
|
29281
|
-
const addRowVisible = Boolean(directAddRow) || relativeY >= activeLayout.
|
|
29283
|
+
const addColumnVisible = Boolean(directAddColumn) || relativeX >= activeLayout.wrapperLeft + visibleTableWidth2 && relativeX <= activeLayout.wrapperLeft + visibleTableWidth2 + ADD_COLUMN_HOVER_WIDTH && relativeY >= activeLayout.wrapperTop && relativeY <= activeLayout.wrapperTop + visibleTableHeight2;
|
|
29284
|
+
const addRowVisible = Boolean(directAddRow) || relativeY >= activeLayout.wrapperTop + activeLayout.wrapperHeight && relativeY <= activeLayout.wrapperTop + activeLayout.wrapperHeight + ADD_ROW_HOVER_HEIGHT && relativeX >= activeLayout.wrapperLeft && relativeX <= activeLayout.wrapperLeft + visibleTableWidth2;
|
|
29282
29285
|
setHoverState((prev) => {
|
|
29283
29286
|
if (prev.menuVisible === menuVisible && prev.addColumnVisible === addColumnVisible && prev.addRowVisible === addRowVisible && prev.rowHandleIndex === rowHandleIndex && prev.columnHandleIndex === columnHandleIndex) {
|
|
29284
29287
|
return prev;
|
|
@@ -29631,10 +29634,12 @@ function TableControls({ editor, containerRef }) {
|
|
|
29631
29634
|
const menuLeft = Math.max(8, layout.tableLeft);
|
|
29632
29635
|
const rowHandleLeft = Math.max(8, layout.tableLeft - 66);
|
|
29633
29636
|
const columnHandleTop = Math.max(8, layout.tableTop - 14);
|
|
29634
|
-
const
|
|
29635
|
-
const
|
|
29636
|
-
const
|
|
29637
|
-
const
|
|
29637
|
+
const visibleTableWidth = Math.min(layout.tableWidth, layout.viewportWidth);
|
|
29638
|
+
const visibleTableHeight = Math.min(layout.tableHeight, layout.viewportHeight);
|
|
29639
|
+
const columnRailTop = layout.wrapperTop;
|
|
29640
|
+
const columnRailLeft = layout.wrapperLeft + visibleTableWidth + 8;
|
|
29641
|
+
const rowRailTop = layout.wrapperTop + layout.wrapperHeight + 8;
|
|
29642
|
+
const rowRailLeft = layout.wrapperLeft;
|
|
29638
29643
|
const expandPreviewWidth = dragPreview?.kind === "add-column" ? layout.tableWidth + dragPreview.previewCols * layout.avgColumnWidth : layout.tableWidth;
|
|
29639
29644
|
const expandPreviewHeight = dragPreview?.kind === "add-row" ? layout.tableHeight + dragPreview.previewRows * layout.avgRowHeight : layout.tableHeight;
|
|
29640
29645
|
const dragStatusText = dragPreview?.kind === "row" ? `${t("tableMenu.dragRow")} ${dragPreview.originIndex + 1} -> ${dragPreview.targetIndex + 1}` : dragPreview?.kind === "column" ? `${t("tableMenu.dragColumn")} ${dragPreview.originIndex + 1} -> ${dragPreview.targetIndex + 1}` : dragPreview?.kind === "add-row" ? `+${dragPreview.previewRows}R` : dragPreview?.kind === "add-column" ? `+${dragPreview.previewCols}C` : null;
|
|
@@ -29653,47 +29658,53 @@ function TableControls({ editor, containerRef }) {
|
|
|
29653
29658
|
left: rowHandleLeft
|
|
29654
29659
|
},
|
|
29655
29660
|
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29656
|
-
|
|
29661
|
+
Tooltip,
|
|
29657
29662
|
{
|
|
29658
29663
|
placement: "right",
|
|
29659
|
-
|
|
29660
|
-
|
|
29661
|
-
|
|
29662
|
-
},
|
|
29663
|
-
items: getRowHandleMenuItems(rowHandle),
|
|
29664
|
-
trigger: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29665
|
-
"button",
|
|
29664
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs font-medium", children: `${t("tableMenu.dragRow")} ${rowHandle.index + 1}` }),
|
|
29665
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29666
|
+
DropdownMenu,
|
|
29666
29667
|
{
|
|
29667
|
-
|
|
29668
|
-
|
|
29669
|
-
|
|
29670
|
-
|
|
29671
|
-
event.preventDefault();
|
|
29672
|
-
event.stopPropagation();
|
|
29673
|
-
setOpenMenuKey(null);
|
|
29674
|
-
dragStateRef.current = {
|
|
29675
|
-
kind: "row",
|
|
29676
|
-
originIndex: rowHandle.index,
|
|
29677
|
-
targetIndex: rowHandle.index,
|
|
29678
|
-
anchorPos: rowHandle.cellPos
|
|
29679
|
-
};
|
|
29680
|
-
setDragPreview({
|
|
29681
|
-
kind: "row",
|
|
29682
|
-
originIndex: rowHandle.index,
|
|
29683
|
-
targetIndex: rowHandle.index,
|
|
29684
|
-
targetStart: rowHandle.start,
|
|
29685
|
-
targetSize: rowHandle.size
|
|
29686
|
-
});
|
|
29687
|
-
document.body.style.cursor = "grabbing";
|
|
29668
|
+
placement: "right",
|
|
29669
|
+
isOpen: openMenuKey === menuKey,
|
|
29670
|
+
onOpenChange: (open) => {
|
|
29671
|
+
setOpenMenuKey((prev) => open ? menuKey : prev === menuKey ? null : prev);
|
|
29688
29672
|
},
|
|
29689
|
-
|
|
29690
|
-
|
|
29691
|
-
"
|
|
29692
|
-
|
|
29693
|
-
|
|
29694
|
-
|
|
29673
|
+
items: getRowHandleMenuItems(rowHandle),
|
|
29674
|
+
trigger: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29675
|
+
"button",
|
|
29676
|
+
{
|
|
29677
|
+
type: "button",
|
|
29678
|
+
"aria-label": `${t("tableMenu.dragRow")} ${rowHandle.index + 1}`,
|
|
29679
|
+
onMouseDown: (event) => {
|
|
29680
|
+
event.preventDefault();
|
|
29681
|
+
event.stopPropagation();
|
|
29682
|
+
setOpenMenuKey(null);
|
|
29683
|
+
dragStateRef.current = {
|
|
29684
|
+
kind: "row",
|
|
29685
|
+
originIndex: rowHandle.index,
|
|
29686
|
+
targetIndex: rowHandle.index,
|
|
29687
|
+
anchorPos: rowHandle.cellPos
|
|
29688
|
+
};
|
|
29689
|
+
setDragPreview({
|
|
29690
|
+
kind: "row",
|
|
29691
|
+
originIndex: rowHandle.index,
|
|
29692
|
+
targetIndex: rowHandle.index,
|
|
29693
|
+
targetStart: rowHandle.start,
|
|
29694
|
+
targetSize: rowHandle.size
|
|
29695
|
+
});
|
|
29696
|
+
document.body.style.cursor = "grabbing";
|
|
29697
|
+
},
|
|
29698
|
+
className: cn(
|
|
29699
|
+
"inline-flex h-6 w-6 items-center justify-center rounded-full",
|
|
29700
|
+
"border border-border/70 bg-background/95 text-muted-foreground shadow-sm backdrop-blur",
|
|
29701
|
+
"transition-[opacity,transform,colors] duration-150 hover:bg-accent hover:text-foreground"
|
|
29702
|
+
),
|
|
29703
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react47.GripVertical, { className: "h-3.5 w-3.5" })
|
|
29704
|
+
}
|
|
29705
|
+
)
|
|
29695
29706
|
}
|
|
29696
|
-
)
|
|
29707
|
+
) })
|
|
29697
29708
|
}
|
|
29698
29709
|
)
|
|
29699
29710
|
},
|
|
@@ -29714,47 +29725,53 @@ function TableControls({ editor, containerRef }) {
|
|
|
29714
29725
|
left: Math.max(8, columnHandle.center - 12)
|
|
29715
29726
|
},
|
|
29716
29727
|
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29717
|
-
|
|
29728
|
+
Tooltip,
|
|
29718
29729
|
{
|
|
29719
|
-
placement: "
|
|
29720
|
-
|
|
29721
|
-
|
|
29722
|
-
|
|
29723
|
-
},
|
|
29724
|
-
items: getColumnHandleMenuItems(columnHandle),
|
|
29725
|
-
trigger: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29726
|
-
"button",
|
|
29730
|
+
placement: "top",
|
|
29731
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs font-medium", children: `${t("tableMenu.dragColumn")} ${columnHandle.index + 1}` }),
|
|
29732
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29733
|
+
DropdownMenu,
|
|
29727
29734
|
{
|
|
29728
|
-
|
|
29729
|
-
|
|
29730
|
-
|
|
29731
|
-
|
|
29732
|
-
event.preventDefault();
|
|
29733
|
-
event.stopPropagation();
|
|
29734
|
-
setOpenMenuKey(null);
|
|
29735
|
-
dragStateRef.current = {
|
|
29736
|
-
kind: "column",
|
|
29737
|
-
originIndex: columnHandle.index,
|
|
29738
|
-
targetIndex: columnHandle.index,
|
|
29739
|
-
anchorPos: columnHandle.cellPos
|
|
29740
|
-
};
|
|
29741
|
-
setDragPreview({
|
|
29742
|
-
kind: "column",
|
|
29743
|
-
originIndex: columnHandle.index,
|
|
29744
|
-
targetIndex: columnHandle.index,
|
|
29745
|
-
targetStart: columnHandle.start,
|
|
29746
|
-
targetSize: columnHandle.size
|
|
29747
|
-
});
|
|
29748
|
-
document.body.style.cursor = "grabbing";
|
|
29735
|
+
placement: "bottom-start",
|
|
29736
|
+
isOpen: openMenuKey === menuKey,
|
|
29737
|
+
onOpenChange: (open) => {
|
|
29738
|
+
setOpenMenuKey((prev) => open ? menuKey : prev === menuKey ? null : prev);
|
|
29749
29739
|
},
|
|
29750
|
-
|
|
29751
|
-
|
|
29752
|
-
"
|
|
29753
|
-
|
|
29754
|
-
|
|
29755
|
-
|
|
29740
|
+
items: getColumnHandleMenuItems(columnHandle),
|
|
29741
|
+
trigger: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29742
|
+
"button",
|
|
29743
|
+
{
|
|
29744
|
+
type: "button",
|
|
29745
|
+
"aria-label": `${t("tableMenu.dragColumn")} ${columnHandle.index + 1}`,
|
|
29746
|
+
onMouseDown: (event) => {
|
|
29747
|
+
event.preventDefault();
|
|
29748
|
+
event.stopPropagation();
|
|
29749
|
+
setOpenMenuKey(null);
|
|
29750
|
+
dragStateRef.current = {
|
|
29751
|
+
kind: "column",
|
|
29752
|
+
originIndex: columnHandle.index,
|
|
29753
|
+
targetIndex: columnHandle.index,
|
|
29754
|
+
anchorPos: columnHandle.cellPos
|
|
29755
|
+
};
|
|
29756
|
+
setDragPreview({
|
|
29757
|
+
kind: "column",
|
|
29758
|
+
originIndex: columnHandle.index,
|
|
29759
|
+
targetIndex: columnHandle.index,
|
|
29760
|
+
targetStart: columnHandle.start,
|
|
29761
|
+
targetSize: columnHandle.size
|
|
29762
|
+
});
|
|
29763
|
+
document.body.style.cursor = "grabbing";
|
|
29764
|
+
},
|
|
29765
|
+
className: cn(
|
|
29766
|
+
"inline-flex h-6 w-6 items-center justify-center rounded-full",
|
|
29767
|
+
"border border-border/70 bg-background/95 text-muted-foreground shadow-sm backdrop-blur",
|
|
29768
|
+
"transition-[opacity,transform,colors] duration-150 hover:bg-accent hover:text-foreground"
|
|
29769
|
+
),
|
|
29770
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react47.GripHorizontal, { className: "h-3.5 w-3.5" })
|
|
29771
|
+
}
|
|
29772
|
+
)
|
|
29756
29773
|
}
|
|
29757
|
-
)
|
|
29774
|
+
) })
|
|
29758
29775
|
}
|
|
29759
29776
|
)
|
|
29760
29777
|
},
|
|
@@ -29771,93 +29788,111 @@ function TableControls({ editor, containerRef }) {
|
|
|
29771
29788
|
left: menuLeft
|
|
29772
29789
|
},
|
|
29773
29790
|
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29774
|
-
|
|
29791
|
+
Tooltip,
|
|
29775
29792
|
{
|
|
29776
|
-
placement: "
|
|
29777
|
-
|
|
29778
|
-
|
|
29779
|
-
|
|
29780
|
-
},
|
|
29781
|
-
items: menuItems,
|
|
29782
|
-
trigger: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29783
|
-
"button",
|
|
29793
|
+
placement: "top",
|
|
29794
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs font-medium", children: t("tableMenu.openControls") }),
|
|
29795
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "inline-flex", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29796
|
+
DropdownMenu,
|
|
29784
29797
|
{
|
|
29785
|
-
|
|
29786
|
-
|
|
29787
|
-
|
|
29788
|
-
|
|
29789
|
-
|
|
29790
|
-
|
|
29791
|
-
|
|
29792
|
-
"
|
|
29793
|
-
|
|
29794
|
-
|
|
29798
|
+
placement: "bottom-start",
|
|
29799
|
+
isOpen: tableMenuOpen,
|
|
29800
|
+
onOpenChange: (open) => {
|
|
29801
|
+
setOpenMenuKey((prev) => open ? "table" : prev === "table" ? null : prev);
|
|
29802
|
+
},
|
|
29803
|
+
items: menuItems,
|
|
29804
|
+
trigger: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29805
|
+
"button",
|
|
29806
|
+
{
|
|
29807
|
+
type: "button",
|
|
29808
|
+
"aria-label": t("tableMenu.openControls"),
|
|
29809
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
29810
|
+
className: cn(
|
|
29811
|
+
"pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-full",
|
|
29812
|
+
"border border-border/70 bg-background/95 text-muted-foreground shadow-sm backdrop-blur",
|
|
29813
|
+
"transition-[opacity,transform,colors] duration-150 hover:bg-accent hover:text-foreground"
|
|
29814
|
+
),
|
|
29815
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react47.MoreHorizontal, { className: "h-4 w-4" })
|
|
29816
|
+
}
|
|
29817
|
+
)
|
|
29795
29818
|
}
|
|
29796
|
-
)
|
|
29819
|
+
) })
|
|
29797
29820
|
}
|
|
29798
29821
|
)
|
|
29799
29822
|
}
|
|
29800
29823
|
),
|
|
29801
29824
|
(controlsVisible || hoverState.addColumnVisible) && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29802
|
-
|
|
29825
|
+
Tooltip,
|
|
29803
29826
|
{
|
|
29804
|
-
|
|
29805
|
-
"
|
|
29806
|
-
|
|
29807
|
-
|
|
29808
|
-
|
|
29809
|
-
|
|
29810
|
-
|
|
29811
|
-
|
|
29812
|
-
|
|
29813
|
-
|
|
29814
|
-
|
|
29815
|
-
|
|
29816
|
-
|
|
29817
|
-
|
|
29818
|
-
|
|
29819
|
-
|
|
29820
|
-
|
|
29821
|
-
|
|
29822
|
-
|
|
29823
|
-
|
|
29824
|
-
|
|
29825
|
-
|
|
29826
|
-
|
|
29827
|
-
|
|
29828
|
-
|
|
29829
|
-
|
|
29827
|
+
placement: "right",
|
|
29828
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs font-medium", children: t("tableMenu.quickAddColumnAfter") }),
|
|
29829
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29830
|
+
"button",
|
|
29831
|
+
{
|
|
29832
|
+
type: "button",
|
|
29833
|
+
"data-table-control": "add-column",
|
|
29834
|
+
"aria-label": t("tableMenu.quickAddColumnAfter"),
|
|
29835
|
+
onMouseDown: (event) => {
|
|
29836
|
+
event.preventDefault();
|
|
29837
|
+
event.stopPropagation();
|
|
29838
|
+
setOpenMenuKey(null);
|
|
29839
|
+
if (!canExpandTable) return;
|
|
29840
|
+
dragStateRef.current = { kind: "add-column", previewCols: 1 };
|
|
29841
|
+
setDragPreview({ kind: "add-column", previewCols: 1 });
|
|
29842
|
+
document.body.style.cursor = "ew-resize";
|
|
29843
|
+
},
|
|
29844
|
+
disabled: !canExpandTable,
|
|
29845
|
+
className: cn(
|
|
29846
|
+
"absolute z-30 inline-flex items-center justify-center rounded-md",
|
|
29847
|
+
"border border-border/70 bg-muted/40 text-muted-foreground shadow-sm backdrop-blur",
|
|
29848
|
+
"transition-[opacity,transform,colors] duration-150 hover:bg-accent hover:text-foreground disabled:opacity-50 disabled:cursor-not-allowed"
|
|
29849
|
+
),
|
|
29850
|
+
style: {
|
|
29851
|
+
top: columnRailTop,
|
|
29852
|
+
left: columnRailLeft,
|
|
29853
|
+
width: 18,
|
|
29854
|
+
height: visibleTableHeight
|
|
29855
|
+
},
|
|
29856
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-sm font-medium leading-none", children: "+" })
|
|
29857
|
+
}
|
|
29858
|
+
)
|
|
29830
29859
|
}
|
|
29831
29860
|
),
|
|
29832
29861
|
(controlsVisible || hoverState.addRowVisible) && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29833
|
-
|
|
29862
|
+
Tooltip,
|
|
29834
29863
|
{
|
|
29835
|
-
|
|
29836
|
-
"
|
|
29837
|
-
|
|
29838
|
-
|
|
29839
|
-
|
|
29840
|
-
|
|
29841
|
-
|
|
29842
|
-
|
|
29843
|
-
|
|
29844
|
-
|
|
29845
|
-
|
|
29846
|
-
|
|
29847
|
-
|
|
29848
|
-
|
|
29849
|
-
|
|
29850
|
-
|
|
29851
|
-
|
|
29852
|
-
|
|
29853
|
-
|
|
29854
|
-
|
|
29855
|
-
|
|
29856
|
-
|
|
29857
|
-
|
|
29858
|
-
|
|
29859
|
-
|
|
29860
|
-
|
|
29864
|
+
placement: "bottom",
|
|
29865
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-xs font-medium", children: t("tableMenu.quickAddRowAfter") }),
|
|
29866
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
29867
|
+
"button",
|
|
29868
|
+
{
|
|
29869
|
+
type: "button",
|
|
29870
|
+
"data-table-control": "add-row",
|
|
29871
|
+
"aria-label": t("tableMenu.quickAddRowAfter"),
|
|
29872
|
+
onMouseDown: (event) => {
|
|
29873
|
+
event.preventDefault();
|
|
29874
|
+
event.stopPropagation();
|
|
29875
|
+
setOpenMenuKey(null);
|
|
29876
|
+
if (!canExpandTable) return;
|
|
29877
|
+
dragStateRef.current = { kind: "add-row", previewRows: 1 };
|
|
29878
|
+
setDragPreview({ kind: "add-row", previewRows: 1 });
|
|
29879
|
+
document.body.style.cursor = "ns-resize";
|
|
29880
|
+
},
|
|
29881
|
+
disabled: !canExpandTable,
|
|
29882
|
+
className: cn(
|
|
29883
|
+
"absolute z-30 inline-flex items-center justify-center rounded-md",
|
|
29884
|
+
"border border-border/70 bg-muted/40 text-muted-foreground shadow-sm backdrop-blur",
|
|
29885
|
+
"transition-[opacity,transform,colors] duration-150 hover:bg-accent hover:text-foreground disabled:opacity-50 disabled:cursor-not-allowed"
|
|
29886
|
+
),
|
|
29887
|
+
style: {
|
|
29888
|
+
top: rowRailTop,
|
|
29889
|
+
left: rowRailLeft,
|
|
29890
|
+
width: visibleTableWidth,
|
|
29891
|
+
height: 16
|
|
29892
|
+
},
|
|
29893
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "text-sm font-medium leading-none", children: "+" })
|
|
29894
|
+
}
|
|
29895
|
+
)
|
|
29861
29896
|
}
|
|
29862
29897
|
),
|
|
29863
29898
|
dragPreview?.kind === "row" && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_jsx_runtime82.Fragment, { children: [
|
|
@@ -30211,7 +30246,20 @@ var UEditor = import_react53.default.forwardRef(({
|
|
|
30211
30246
|
"[&_pre]:text-[#d4d4d4]!",
|
|
30212
30247
|
"[&_pre_code]:bg-transparent!",
|
|
30213
30248
|
"[&_.tableWrapper]:overflow-x-auto",
|
|
30249
|
+
"[&_.tableWrapper]:pb-1.5",
|
|
30214
30250
|
"[&_.tableWrapper]:select-text",
|
|
30251
|
+
"[&_.tableWrapper]:[scrollbar-width:thin]",
|
|
30252
|
+
"[&_.tableWrapper]:[scrollbar-color:hsl(var(--border))_transparent]",
|
|
30253
|
+
"[&_.tableWrapper::-webkit-scrollbar]:h-2",
|
|
30254
|
+
"[&_.tableWrapper::-webkit-scrollbar]:w-2",
|
|
30255
|
+
"[&_.tableWrapper::-webkit-scrollbar-track]:rounded-full",
|
|
30256
|
+
"[&_.tableWrapper::-webkit-scrollbar-track]:bg-transparent",
|
|
30257
|
+
"[&_.tableWrapper::-webkit-scrollbar-thumb]:rounded-full",
|
|
30258
|
+
"[&_.tableWrapper::-webkit-scrollbar-thumb]:border",
|
|
30259
|
+
"[&_.tableWrapper::-webkit-scrollbar-thumb]:border-solid",
|
|
30260
|
+
"[&_.tableWrapper::-webkit-scrollbar-thumb]:border-transparent",
|
|
30261
|
+
"[&_.tableWrapper::-webkit-scrollbar-thumb]:bg-border/70",
|
|
30262
|
+
"[&_.tableWrapper::-webkit-scrollbar-thumb:hover]:bg-muted-foreground/45",
|
|
30215
30263
|
"[&_table]:table-fixed",
|
|
30216
30264
|
"[&_table]:overflow-hidden",
|
|
30217
30265
|
"[&_table]:select-text",
|
|
@@ -30236,15 +30284,22 @@ var UEditor = import_react53.default.forwardRef(({
|
|
|
30236
30284
|
"[&_.column-resize-handle]:bottom-[-1px]",
|
|
30237
30285
|
"[&_.column-resize-handle]:right-[-5px]",
|
|
30238
30286
|
"[&_.column-resize-handle]:z-10",
|
|
30239
|
-
"[&_.column-resize-handle]:bg-primary/65",
|
|
30240
30287
|
"[&_.column-resize-handle]:w-2.5",
|
|
30241
|
-
"[&_.column-resize-handle]:
|
|
30288
|
+
"[&_.column-resize-handle]:bg-transparent",
|
|
30289
|
+
"[&_.column-resize-handle]:rounded-none",
|
|
30242
30290
|
"[&_.column-resize-handle]:opacity-0",
|
|
30243
|
-
"[&_.column-resize-handle]:
|
|
30244
|
-
"[&_.column-resize-handle]:
|
|
30291
|
+
"[&_.column-resize-handle]:transition-opacity",
|
|
30292
|
+
"[&_.column-resize-handle]:after:absolute",
|
|
30293
|
+
"[&_.column-resize-handle]:after:top-0",
|
|
30294
|
+
"[&_.column-resize-handle]:after:bottom-0",
|
|
30295
|
+
"[&_.column-resize-handle]:after:left-1/2",
|
|
30296
|
+
"[&_.column-resize-handle]:after:w-0.5",
|
|
30297
|
+
"[&_.column-resize-handle]:after:-translate-x-1/2",
|
|
30298
|
+
"[&_.column-resize-handle]:after:rounded-full",
|
|
30299
|
+
"[&_.column-resize-handle]:after:bg-primary/75",
|
|
30300
|
+
"[&_.column-resize-handle]:after:content-['']",
|
|
30245
30301
|
"[&.resize-cursor_.column-resize-handle]:opacity-100",
|
|
30246
|
-
"[&.resize-cursor_.column-resize-handle]:bg-primary",
|
|
30247
|
-
"[&.resize-cursor_.column-resize-handle]:shadow-md",
|
|
30302
|
+
"[&.resize-cursor_.column-resize-handle]:after:bg-primary",
|
|
30248
30303
|
"[&.resize-cursor]:cursor-col-resize",
|
|
30249
30304
|
"[&.resize-row-cursor]:cursor-row-resize",
|
|
30250
30305
|
"[&_img.ProseMirror-selectednode]:ring-2",
|