@kopexa/theme 17.22.7 → 17.23.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.
@@ -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
  });
@@ -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
+ };
@@ -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,
@@ -1,4 +1,7 @@
1
- import "../chunk-T3C4PJPS.mjs";
1
+ import "../chunk-EWID76V7.mjs";
2
+ import {
3
+ table
4
+ } from "../chunk-YC2FQDBV.mjs";
2
5
  import {
3
6
  tabs
4
7
  } from "../chunk-I6M4S2KZ.mjs";
@@ -20,6 +23,9 @@ import {
20
23
  import {
21
24
  variableNode
22
25
  } from "../chunk-EKOZ2ZVU.mjs";
26
+ import {
27
+ skeleton
28
+ } from "../chunk-VNQEJU4P.mjs";
23
29
  import {
24
30
  slashDropdownMenu
25
31
  } from "../chunk-U4BRPFG2.mjs";
@@ -42,8 +48,8 @@ import {
42
48
  tabNav
43
49
  } from "../chunk-ZLM6Z3W2.mjs";
44
50
  import {
45
- table
46
- } from "../chunk-YC2FQDBV.mjs";
51
+ riskIndicator
52
+ } from "../chunk-CZMZHA7U.mjs";
47
53
  import {
48
54
  riskRating
49
55
  } from "../chunk-CNYKIUVC.mjs";
@@ -68,8 +74,8 @@ import {
68
74
  skeletonAvatar
69
75
  } from "../chunk-7Q2RNHL5.mjs";
70
76
  import {
71
- skeleton
72
- } from "../chunk-VNQEJU4P.mjs";
77
+ pageHeader
78
+ } from "../chunk-HAVJ6EQ6.mjs";
73
79
  import {
74
80
  pageLayout
75
81
  } from "../chunk-OULAICSC.mjs";
@@ -92,8 +98,8 @@ import {
92
98
  riskBadge
93
99
  } from "../chunk-V2J5XG34.mjs";
94
100
  import {
95
- riskIndicator
96
- } from "../chunk-CZMZHA7U.mjs";
101
+ inputGroup
102
+ } from "../chunk-HWEYNK3O.mjs";
97
103
  import {
98
104
  inputWrapper
99
105
  } from "../chunk-VSVGOX3P.mjs";
@@ -113,8 +119,8 @@ import {
113
119
  message
114
120
  } from "../chunk-PHVYOUMA.mjs";
115
121
  import {
116
- pageHeader
117
- } from "../chunk-HAVJ6EQ6.mjs";
122
+ filter
123
+ } from "../chunk-GT463S76.mjs";
118
124
  import {
119
125
  frameworkRow
120
126
  } from "../chunk-TPFAZH22.mjs";
@@ -133,9 +139,6 @@ import {
133
139
  import {
134
140
  impactCard
135
141
  } from "../chunk-EJSDSK3G.mjs";
136
- import {
137
- inputGroup
138
- } from "../chunk-HWEYNK3O.mjs";
139
142
  import {
140
143
  drawer
141
144
  } from "../chunk-7V3NMVQH.mjs";
@@ -144,7 +147,7 @@ import {
144
147
  } from "../chunk-OJDCD74N.mjs";
145
148
  import {
146
149
  dropdownMenu
147
- } from "../chunk-3PCDCW7G.mjs";
150
+ } from "../chunk-BWUVMOSV.mjs";
148
151
  import {
149
152
  editableText
150
153
  } from "../chunk-GZJAA5RZ.mjs";
@@ -154,12 +157,13 @@ import {
154
157
  import {
155
158
  editorSpinner
156
159
  } from "../chunk-TVC4THD6.mjs";
160
+ import {
161
+ extensionTableHandleMenuContent,
162
+ tableCellHandleMenu
163
+ } from "../chunk-WQLVUMHF.mjs";
157
164
  import {
158
165
  avatarUpload
159
166
  } from "../chunk-QGL2OK4B.mjs";
160
- import {
161
- filter
162
- } from "../chunk-GT463S76.mjs";
163
167
  import {
164
168
  colorHighlightButton
165
169
  } from "../chunk-CPERWXKN.mjs";
@@ -266,6 +270,7 @@ export {
266
270
  editableText,
267
271
  editorBasic,
268
272
  editorSpinner,
273
+ extensionTableHandleMenuContent,
269
274
  filter,
270
275
  frameworkRow,
271
276
  heading,
@@ -309,6 +314,7 @@ export {
309
314
  switchVariants,
310
315
  tabNav,
311
316
  table,
317
+ tableCellHandleMenu,
312
318
  tabs,
313
319
  textarea,
314
320
  toc,