@kopexa/theme 17.22.7 → 17.22.9

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.
@@ -3,18 +3,18 @@ import { tv } from "tailwind-variants";
3
3
  var dropdownMenu = tv({
4
4
  slots: {
5
5
  root: "",
6
- content: "min-w-[8rem] bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
6
+ content: "min-w-32 bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
7
7
  item: "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
8
8
  checkboxItem: "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
9
9
  iconWrapper: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
10
10
  icon: "size-4",
11
11
  radioItem: "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
12
12
  radioItemIcon: "size-4 fill-current",
13
- label: "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
13
+ label: "px-2 py-1.5 text-sm font-medium data-inset:pl-8",
14
14
  separator: "bg-border -mx-1 my-1 h-px",
15
15
  shortcut: "text-muted-foreground ml-auto text-xs tracking-widest",
16
- subTrigger: "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",
17
- subTriggerIcon: "size-4 ml-auto",
16
+ subTrigger: "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
17
+ subTriggerIcon: "!text-muted-foreground !size-4 ml-auto",
18
18
  subContent: "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg"
19
19
  }
20
20
  });
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  avatar
3
- } from "./chunk-D5FKEY7B.mjs";
3
+ } from "./chunk-VPA2TZYQ.mjs";
4
4
 
5
5
  // src/components/skeleton-avatar.ts
6
6
  import { tv } from "tailwind-variants";
@@ -0,0 +1,71 @@
1
+ // src/components/extension-table.ts
2
+ import { tv } from "tailwind-variants";
3
+ var extensionTableHandleMenuContent = tv({
4
+ slots: {
5
+ root: [
6
+ "flex items-center justify-center bg-muted cursor-grab rounded-md",
7
+ // orientation=column
8
+ "data-[orientation=column]:w-(--table-handle-ref-width) data-[orientation=column]:h-3",
9
+ // orientation=row
10
+ "data-[orientation=row]:h-(--table-handle-ref-height) data-[orientation=row]:w-3",
11
+ // dragging state
12
+ "data-[dragging=true]:cursor-grabbing data-[dragging=true]:bg-primary data-[dragging=true]:text-primary-foreground",
13
+ // menu open
14
+ "data-[open=true]:bg-primary data-[open=true]:text-primary-foreground"
15
+ ],
16
+ icon: "size-4 shrink-0 data-[orientation=column]:rotate-90"
17
+ }
18
+ });
19
+ var tableCellHandleMenu = tv({
20
+ slots: {
21
+ trigger: [
22
+ "group",
23
+ // positioning
24
+ "absolute top-1/2 -right-2 -translate-y-1/2",
25
+ // sizing & appearance
26
+ "size-4 bg-transparent rounded-full cursor-pointer",
27
+ "flex items-center justify-center",
28
+ "pointer-events-auto",
29
+ // ::before pseudo-element (the expanding dot)
30
+ "before:content-[''] before:absolute before:top-1/2 before:-translate-y-1/2",
31
+ "before:right-0.75 before:size-2",
32
+ "before:bg-primary before:rounded-full",
33
+ "before:transition-[width,height,right,background-color] before:duration-[50ms]",
34
+ // hover (hover-capable devices): dot expands
35
+ "[@media(hover:hover)]:hover:before:size-4 [@media(hover:hover)]:hover:before:right-0",
36
+ // focus-visible: dot expands + outline
37
+ "focus-visible:before:size-4 focus-visible:before:right-0",
38
+ "focus-visible:outline-2 focus-visible:outline-primary focus-visible:outline-offset-2",
39
+ // open state: dot expands
40
+ "data-[open=true]:before:size-4 data-[open=true]:before:right-0",
41
+ // touch devices: always expanded
42
+ "[@media(hover:none)]:before:size-4 [@media(hover:none)]:before:right-0",
43
+ // disabled
44
+ "disabled:cursor-not-allowed disabled:opacity-50",
45
+ "disabled:before:bg-default-300",
46
+ // reduced motion
47
+ "motion-reduce:before:transition-none"
48
+ ],
49
+ icon: [
50
+ "relative z-1 size-4 text-white",
51
+ "opacity-0 scale-[0.9]",
52
+ "pointer-events-none shrink-0",
53
+ "transition-[opacity,transform] duration-50",
54
+ // hover (hover-capable devices)
55
+ "[@media(hover:hover)]:group-hover:opacity-100 [@media(hover:hover)]:group-hover:scale-100",
56
+ // focus-visible
57
+ "group-focus-visible:opacity-100 group-focus-visible:scale-100",
58
+ // open state
59
+ "group-data-[open=true]:opacity-100 group-data-[open=true]:scale-100",
60
+ // touch devices: always visible
61
+ "[@media(hover:none)]:opacity-100 [@media(hover:none)]:scale-100",
62
+ // reduced motion
63
+ "motion-reduce:transition-none"
64
+ ]
65
+ }
66
+ });
67
+
68
+ export {
69
+ extensionTableHandleMenuContent,
70
+ tableCellHandleMenu
71
+ };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  avatar
3
- } from "../chunk-D5FKEY7B.mjs";
4
- import "../chunk-7T563RF7.mjs";
3
+ } from "../chunk-VPA2TZYQ.mjs";
5
4
  import "../chunk-6IZPAS4O.mjs";
5
+ import "../chunk-7T563RF7.mjs";
6
6
  export {
7
7
  avatar
8
8
  };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  button
3
- } from "../chunk-OTETLRUE.mjs";
4
- import "../chunk-7T563RF7.mjs";
3
+ } from "../chunk-GNJCCXFJ.mjs";
5
4
  import "../chunk-6IZPAS4O.mjs";
5
+ import "../chunk-7T563RF7.mjs";
6
6
  export {
7
7
  button
8
8
  };
@@ -27,18 +27,18 @@ var import_tailwind_variants = require("tailwind-variants");
27
27
  var dropdownMenu = (0, import_tailwind_variants.tv)({
28
28
  slots: {
29
29
  root: "",
30
- content: "min-w-[8rem] bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
30
+ content: "min-w-32 bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
31
31
  item: "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
32
32
  checkboxItem: "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
33
33
  iconWrapper: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
34
34
  icon: "size-4",
35
35
  radioItem: "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
36
36
  radioItemIcon: "size-4 fill-current",
37
- label: "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
37
+ label: "px-2 py-1.5 text-sm font-medium data-inset:pl-8",
38
38
  separator: "bg-border -mx-1 my-1 h-px",
39
39
  shortcut: "text-muted-foreground ml-auto text-xs tracking-widest",
40
- subTrigger: "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",
41
- subTriggerIcon: "size-4 ml-auto",
40
+ subTrigger: "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
41
+ subTriggerIcon: "!text-muted-foreground !size-4 ml-auto",
42
42
  subContent: "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg"
43
43
  }
44
44
  });
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  dropdownMenu
3
- } from "../chunk-3PCDCW7G.mjs";
3
+ } from "../chunk-BWUVMOSV.mjs";
4
4
  export {
5
5
  dropdownMenu
6
6
  };
@@ -0,0 +1,71 @@
1
+ import * as tailwind_variants from 'tailwind-variants';
2
+ import * as tailwind_merge from 'tailwind-merge';
3
+
4
+ /**
5
+ * Tiptap
6
+ * extension table styles.
7
+ */
8
+ declare const extensionTableHandleMenuContent: tailwind_variants.TVReturnType<{
9
+ [key: string]: {
10
+ [key: string]: tailwind_merge.ClassNameValue | {
11
+ root?: tailwind_merge.ClassNameValue;
12
+ icon?: tailwind_merge.ClassNameValue;
13
+ };
14
+ };
15
+ } | {
16
+ [x: string]: {
17
+ [x: string]: tailwind_merge.ClassNameValue | {
18
+ root?: tailwind_merge.ClassNameValue;
19
+ icon?: tailwind_merge.ClassNameValue;
20
+ };
21
+ };
22
+ } | {}, {
23
+ root: string[];
24
+ icon: string;
25
+ }, undefined, {
26
+ [key: string]: {
27
+ [key: string]: tailwind_merge.ClassNameValue | {
28
+ root?: tailwind_merge.ClassNameValue;
29
+ icon?: tailwind_merge.ClassNameValue;
30
+ };
31
+ };
32
+ } | {}, {
33
+ root: string[];
34
+ icon: string;
35
+ }, tailwind_variants.TVReturnType<unknown, {
36
+ root: string[];
37
+ icon: string;
38
+ }, undefined, unknown, unknown, undefined>>;
39
+ declare const tableCellHandleMenu: tailwind_variants.TVReturnType<{
40
+ [key: string]: {
41
+ [key: string]: tailwind_merge.ClassNameValue | {
42
+ trigger?: tailwind_merge.ClassNameValue;
43
+ icon?: tailwind_merge.ClassNameValue;
44
+ };
45
+ };
46
+ } | {
47
+ [x: string]: {
48
+ [x: string]: tailwind_merge.ClassNameValue | {
49
+ trigger?: tailwind_merge.ClassNameValue;
50
+ icon?: tailwind_merge.ClassNameValue;
51
+ };
52
+ };
53
+ } | {}, {
54
+ trigger: string[];
55
+ icon: string[];
56
+ }, undefined, {
57
+ [key: string]: {
58
+ [key: string]: tailwind_merge.ClassNameValue | {
59
+ trigger?: tailwind_merge.ClassNameValue;
60
+ icon?: tailwind_merge.ClassNameValue;
61
+ };
62
+ };
63
+ } | {}, {
64
+ trigger: string[];
65
+ icon: string[];
66
+ }, tailwind_variants.TVReturnType<unknown, {
67
+ trigger: string[];
68
+ icon: string[];
69
+ }, undefined, unknown, unknown, undefined>>;
70
+
71
+ export { extensionTableHandleMenuContent, tableCellHandleMenu };
@@ -0,0 +1,71 @@
1
+ import * as tailwind_variants from 'tailwind-variants';
2
+ import * as tailwind_merge from 'tailwind-merge';
3
+
4
+ /**
5
+ * Tiptap
6
+ * extension table styles.
7
+ */
8
+ declare const extensionTableHandleMenuContent: tailwind_variants.TVReturnType<{
9
+ [key: string]: {
10
+ [key: string]: tailwind_merge.ClassNameValue | {
11
+ root?: tailwind_merge.ClassNameValue;
12
+ icon?: tailwind_merge.ClassNameValue;
13
+ };
14
+ };
15
+ } | {
16
+ [x: string]: {
17
+ [x: string]: tailwind_merge.ClassNameValue | {
18
+ root?: tailwind_merge.ClassNameValue;
19
+ icon?: tailwind_merge.ClassNameValue;
20
+ };
21
+ };
22
+ } | {}, {
23
+ root: string[];
24
+ icon: string;
25
+ }, undefined, {
26
+ [key: string]: {
27
+ [key: string]: tailwind_merge.ClassNameValue | {
28
+ root?: tailwind_merge.ClassNameValue;
29
+ icon?: tailwind_merge.ClassNameValue;
30
+ };
31
+ };
32
+ } | {}, {
33
+ root: string[];
34
+ icon: string;
35
+ }, tailwind_variants.TVReturnType<unknown, {
36
+ root: string[];
37
+ icon: string;
38
+ }, undefined, unknown, unknown, undefined>>;
39
+ declare const tableCellHandleMenu: tailwind_variants.TVReturnType<{
40
+ [key: string]: {
41
+ [key: string]: tailwind_merge.ClassNameValue | {
42
+ trigger?: tailwind_merge.ClassNameValue;
43
+ icon?: tailwind_merge.ClassNameValue;
44
+ };
45
+ };
46
+ } | {
47
+ [x: string]: {
48
+ [x: string]: tailwind_merge.ClassNameValue | {
49
+ trigger?: tailwind_merge.ClassNameValue;
50
+ icon?: tailwind_merge.ClassNameValue;
51
+ };
52
+ };
53
+ } | {}, {
54
+ trigger: string[];
55
+ icon: string[];
56
+ }, undefined, {
57
+ [key: string]: {
58
+ [key: string]: tailwind_merge.ClassNameValue | {
59
+ trigger?: tailwind_merge.ClassNameValue;
60
+ icon?: tailwind_merge.ClassNameValue;
61
+ };
62
+ };
63
+ } | {}, {
64
+ trigger: string[];
65
+ icon: string[];
66
+ }, tailwind_variants.TVReturnType<unknown, {
67
+ trigger: string[];
68
+ icon: string[];
69
+ }, undefined, unknown, unknown, undefined>>;
70
+
71
+ export { extensionTableHandleMenuContent, tableCellHandleMenu };
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/extension-table.ts
21
+ var extension_table_exports = {};
22
+ __export(extension_table_exports, {
23
+ extensionTableHandleMenuContent: () => extensionTableHandleMenuContent,
24
+ tableCellHandleMenu: () => tableCellHandleMenu
25
+ });
26
+ module.exports = __toCommonJS(extension_table_exports);
27
+ var import_tailwind_variants = require("tailwind-variants");
28
+ var extensionTableHandleMenuContent = (0, import_tailwind_variants.tv)({
29
+ slots: {
30
+ root: [
31
+ "flex items-center justify-center bg-muted cursor-grab rounded-md",
32
+ // orientation=column
33
+ "data-[orientation=column]:w-(--table-handle-ref-width) data-[orientation=column]:h-3",
34
+ // orientation=row
35
+ "data-[orientation=row]:h-(--table-handle-ref-height) data-[orientation=row]:w-3",
36
+ // dragging state
37
+ "data-[dragging=true]:cursor-grabbing data-[dragging=true]:bg-primary data-[dragging=true]:text-primary-foreground",
38
+ // menu open
39
+ "data-[open=true]:bg-primary data-[open=true]:text-primary-foreground"
40
+ ],
41
+ icon: "size-4 shrink-0 data-[orientation=column]:rotate-90"
42
+ }
43
+ });
44
+ var tableCellHandleMenu = (0, import_tailwind_variants.tv)({
45
+ slots: {
46
+ trigger: [
47
+ "group",
48
+ // positioning
49
+ "absolute top-1/2 -right-2 -translate-y-1/2",
50
+ // sizing & appearance
51
+ "size-4 bg-transparent rounded-full cursor-pointer",
52
+ "flex items-center justify-center",
53
+ "pointer-events-auto",
54
+ // ::before pseudo-element (the expanding dot)
55
+ "before:content-[''] before:absolute before:top-1/2 before:-translate-y-1/2",
56
+ "before:right-0.75 before:size-2",
57
+ "before:bg-primary before:rounded-full",
58
+ "before:transition-[width,height,right,background-color] before:duration-[50ms]",
59
+ // hover (hover-capable devices): dot expands
60
+ "[@media(hover:hover)]:hover:before:size-4 [@media(hover:hover)]:hover:before:right-0",
61
+ // focus-visible: dot expands + outline
62
+ "focus-visible:before:size-4 focus-visible:before:right-0",
63
+ "focus-visible:outline-2 focus-visible:outline-primary focus-visible:outline-offset-2",
64
+ // open state: dot expands
65
+ "data-[open=true]:before:size-4 data-[open=true]:before:right-0",
66
+ // touch devices: always expanded
67
+ "[@media(hover:none)]:before:size-4 [@media(hover:none)]:before:right-0",
68
+ // disabled
69
+ "disabled:cursor-not-allowed disabled:opacity-50",
70
+ "disabled:before:bg-default-300",
71
+ // reduced motion
72
+ "motion-reduce:before:transition-none"
73
+ ],
74
+ icon: [
75
+ "relative z-1 size-4 text-white",
76
+ "opacity-0 scale-[0.9]",
77
+ "pointer-events-none shrink-0",
78
+ "transition-[opacity,transform] duration-50",
79
+ // hover (hover-capable devices)
80
+ "[@media(hover:hover)]:group-hover:opacity-100 [@media(hover:hover)]:group-hover:scale-100",
81
+ // focus-visible
82
+ "group-focus-visible:opacity-100 group-focus-visible:scale-100",
83
+ // open state
84
+ "group-data-[open=true]:opacity-100 group-data-[open=true]:scale-100",
85
+ // touch devices: always visible
86
+ "[@media(hover:none)]:opacity-100 [@media(hover:none)]:scale-100",
87
+ // reduced motion
88
+ "motion-reduce:transition-none"
89
+ ]
90
+ }
91
+ });
92
+ // Annotate the CommonJS export names for ESM import in node:
93
+ 0 && (module.exports = {
94
+ extensionTableHandleMenuContent,
95
+ tableCellHandleMenu
96
+ });
@@ -0,0 +1,8 @@
1
+ import {
2
+ extensionTableHandleMenuContent,
3
+ tableCellHandleMenu
4
+ } from "../chunk-WQLVUMHF.mjs";
5
+ export {
6
+ extensionTableHandleMenuContent,
7
+ tableCellHandleMenu
8
+ };
@@ -75,5 +75,6 @@ export { ToggleRowSlots, ToggleRowVariantProps, toggleRow } from './toggle-row.m
75
75
  export { ToolbarVariantProps, toolbar } from './toolbar.mjs';
76
76
  export { TooltipVariants, tooltip } from './tooltip.mjs';
77
77
  export { VariableNodeVariants, variableNode } from './variable-node.mjs';
78
+ export { extensionTableHandleMenuContent, tableCellHandleMenu } from './extension-table.mjs';
78
79
  import 'tailwind-variants';
79
80
  import 'tailwind-merge';
@@ -75,5 +75,6 @@ export { ToggleRowSlots, ToggleRowVariantProps, toggleRow } from './toggle-row.j
75
75
  export { ToolbarVariantProps, toolbar } from './toolbar.js';
76
76
  export { TooltipVariants, tooltip } from './tooltip.js';
77
77
  export { VariableNodeVariants, variableNode } from './variable-node.js';
78
+ export { extensionTableHandleMenuContent, tableCellHandleMenu } from './extension-table.js';
78
79
  import 'tailwind-variants';
79
80
  import 'tailwind-merge';
@@ -50,6 +50,7 @@ __export(components_exports, {
50
50
  editableText: () => editableText,
51
51
  editorBasic: () => editorBasic,
52
52
  editorSpinner: () => editorSpinner,
53
+ extensionTableHandleMenuContent: () => extensionTableHandleMenuContent,
53
54
  filter: () => filter,
54
55
  frameworkRow: () => frameworkRow,
55
56
  heading: () => heading,
@@ -93,6 +94,7 @@ __export(components_exports, {
93
94
  switchVariants: () => switchVariants,
94
95
  tabNav: () => tabNav,
95
96
  table: () => table,
97
+ tableCellHandleMenu: () => tableCellHandleMenu,
96
98
  tabs: () => tabs,
97
99
  textarea: () => textarea,
98
100
  toc: () => toc,
@@ -2363,18 +2365,18 @@ var import_tailwind_variants27 = require("tailwind-variants");
2363
2365
  var dropdownMenu = (0, import_tailwind_variants27.tv)({
2364
2366
  slots: {
2365
2367
  root: "",
2366
- content: "min-w-[8rem] bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
2368
+ content: "min-w-32 bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
2367
2369
  item: "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2368
2370
  checkboxItem: "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2369
2371
  iconWrapper: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",
2370
2372
  icon: "size-4",
2371
2373
  radioItem: "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2372
2374
  radioItemIcon: "size-4 fill-current",
2373
- label: "px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
2375
+ label: "px-2 py-1.5 text-sm font-medium data-inset:pl-8",
2374
2376
  separator: "bg-border -mx-1 my-1 h-px",
2375
2377
  shortcut: "text-muted-foreground ml-auto text-xs tracking-widest",
2376
- subTrigger: "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",
2377
- subTriggerIcon: "size-4 ml-auto",
2378
+ subTrigger: "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2379
+ subTriggerIcon: "!text-muted-foreground !size-4 ml-auto",
2378
2380
  subContent: "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg"
2379
2381
  }
2380
2382
  });
@@ -5070,6 +5072,73 @@ var variableNode = (0, import_tailwind_variants77.tv)({
5070
5072
  resolved: false
5071
5073
  }
5072
5074
  });
5075
+
5076
+ // src/components/extension-table.ts
5077
+ var import_tailwind_variants78 = require("tailwind-variants");
5078
+ var extensionTableHandleMenuContent = (0, import_tailwind_variants78.tv)({
5079
+ slots: {
5080
+ root: [
5081
+ "flex items-center justify-center bg-muted cursor-grab rounded-md",
5082
+ // orientation=column
5083
+ "data-[orientation=column]:w-(--table-handle-ref-width) data-[orientation=column]:h-3",
5084
+ // orientation=row
5085
+ "data-[orientation=row]:h-(--table-handle-ref-height) data-[orientation=row]:w-3",
5086
+ // dragging state
5087
+ "data-[dragging=true]:cursor-grabbing data-[dragging=true]:bg-primary data-[dragging=true]:text-primary-foreground",
5088
+ // menu open
5089
+ "data-[open=true]:bg-primary data-[open=true]:text-primary-foreground"
5090
+ ],
5091
+ icon: "size-4 shrink-0 data-[orientation=column]:rotate-90"
5092
+ }
5093
+ });
5094
+ var tableCellHandleMenu = (0, import_tailwind_variants78.tv)({
5095
+ slots: {
5096
+ trigger: [
5097
+ "group",
5098
+ // positioning
5099
+ "absolute top-1/2 -right-2 -translate-y-1/2",
5100
+ // sizing & appearance
5101
+ "size-4 bg-transparent rounded-full cursor-pointer",
5102
+ "flex items-center justify-center",
5103
+ "pointer-events-auto",
5104
+ // ::before pseudo-element (the expanding dot)
5105
+ "before:content-[''] before:absolute before:top-1/2 before:-translate-y-1/2",
5106
+ "before:right-0.75 before:size-2",
5107
+ "before:bg-primary before:rounded-full",
5108
+ "before:transition-[width,height,right,background-color] before:duration-[50ms]",
5109
+ // hover (hover-capable devices): dot expands
5110
+ "[@media(hover:hover)]:hover:before:size-4 [@media(hover:hover)]:hover:before:right-0",
5111
+ // focus-visible: dot expands + outline
5112
+ "focus-visible:before:size-4 focus-visible:before:right-0",
5113
+ "focus-visible:outline-2 focus-visible:outline-primary focus-visible:outline-offset-2",
5114
+ // open state: dot expands
5115
+ "data-[open=true]:before:size-4 data-[open=true]:before:right-0",
5116
+ // touch devices: always expanded
5117
+ "[@media(hover:none)]:before:size-4 [@media(hover:none)]:before:right-0",
5118
+ // disabled
5119
+ "disabled:cursor-not-allowed disabled:opacity-50",
5120
+ "disabled:before:bg-default-300",
5121
+ // reduced motion
5122
+ "motion-reduce:before:transition-none"
5123
+ ],
5124
+ icon: [
5125
+ "relative z-1 size-4 text-white",
5126
+ "opacity-0 scale-[0.9]",
5127
+ "pointer-events-none shrink-0",
5128
+ "transition-[opacity,transform] duration-50",
5129
+ // hover (hover-capable devices)
5130
+ "[@media(hover:hover)]:group-hover:opacity-100 [@media(hover:hover)]:group-hover:scale-100",
5131
+ // focus-visible
5132
+ "group-focus-visible:opacity-100 group-focus-visible:scale-100",
5133
+ // open state
5134
+ "group-data-[open=true]:opacity-100 group-data-[open=true]:scale-100",
5135
+ // touch devices: always visible
5136
+ "[@media(hover:none)]:opacity-100 [@media(hover:none)]:scale-100",
5137
+ // reduced motion
5138
+ "motion-reduce:transition-none"
5139
+ ]
5140
+ }
5141
+ });
5073
5142
  // Annotate the CommonJS export names for ESM import in node:
5074
5143
  0 && (module.exports = {
5075
5144
  accordion,
@@ -5102,6 +5171,7 @@ var variableNode = (0, import_tailwind_variants77.tv)({
5102
5171
  editableText,
5103
5172
  editorBasic,
5104
5173
  editorSpinner,
5174
+ extensionTableHandleMenuContent,
5105
5175
  filter,
5106
5176
  frameworkRow,
5107
5177
  heading,
@@ -5145,6 +5215,7 @@ var variableNode = (0, import_tailwind_variants77.tv)({
5145
5215
  switchVariants,
5146
5216
  tabNav,
5147
5217
  table,
5218
+ tableCellHandleMenu,
5148
5219
  tabs,
5149
5220
  textarea,
5150
5221
  toc,