@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.
package/dist/editor.css CHANGED
@@ -249,46 +249,53 @@
249
249
  HEADINGS
250
250
  ===================== */
251
251
  .tiptap.ProseMirror {
252
+ h1,
253
+ h2,
254
+ h3,
255
+ h4 {
256
+ position: relative;
257
+ color: inherit;
258
+ font-style: inherit;
259
+ }
252
260
 
253
- h1,
254
- h2,
255
- h3,
256
- h4 {
257
- position: relative;
258
- color: inherit;
259
- font-style: inherit;
260
-
261
- &:first-child {
262
- margin-top: 0;
263
- }
264
- }
261
+ > h1:first-child,
262
+ > h2:first-child,
263
+ > h3:first-child,
264
+ > h4:first-child,
265
+ > .ProseMirror-widget + h1,
266
+ > .ProseMirror-widget + h2,
267
+ > .ProseMirror-widget + h3,
268
+ > .ProseMirror-widget + h4 {
269
+ margin-top: 0;
270
+ }
265
271
 
266
- h1 {
267
- font-size: 1.5em;
268
- font-weight: 700;
269
- margin-top: 2em;
270
- }
272
+ h1 {
273
+ font-size: 1.5em;
274
+ font-weight: 700;
275
+ margin-top: 3em;
276
+ }
271
277
 
272
- h2 {
273
- font-size: 1.25em;
274
- font-weight: 700;
275
- margin-top: 1.5em;
276
- }
278
+ h2 {
279
+ font-size: 1.25em;
280
+ font-weight: 700;
281
+ margin-top: 2.5em;
282
+ }
277
283
 
278
- h3 {
279
- font-size: 1.125em;
280
- font-weight: 600;
281
- margin-top: 1em;
282
- }
284
+ h3 {
285
+ font-size: 1.125em;
286
+ font-weight: 600;
287
+ margin-top: 2em;
288
+ }
283
289
 
284
- h4 {
285
- font-size: 1em;
286
- font-weight: 600;
287
- margin-top: 1em;
288
- }
290
+ h4 {
291
+ font-size: 1em;
292
+ font-weight: 600;
293
+ margin-top: 2em;
294
+ }
289
295
  }
290
296
 
291
297
 
298
+
292
299
  /* =====================
293
300
  HORIZONTAL RULE
294
301
  ===================== */
@@ -518,6 +525,7 @@
518
525
  border-radius: 6px/0.375rem;
519
526
 
520
527
  white-space: pre;
528
+ overflow-x: auto;
521
529
 
522
530
  code {
523
531
  background-color: transparent;
@@ -585,156 +593,176 @@
585
593
  /* =====================
586
594
  TABLE
587
595
  ===================== */
588
- .tiptap.ProseMirror {
589
- .table-node-view {
590
- position: relative;
591
- width: fit-content;
592
- max-width: 100%;
593
- margin-top: 0.5rem;
594
- margin-bottom: 1rem;
595
- padding-top: 20px;
596
- padding-left: 20px;
597
- }
598
596
 
599
- .table-wrapper {
600
- overflow-x: auto;
601
- }
597
+ .ProseMirror .tableWrapper {
598
+ overflow-x: auto;
599
+ }
602
600
 
603
- table {
604
- border-collapse: collapse;
605
- border-style: solid;
606
- border-width: 1px;
607
- border-color: var(--color-border);
608
- width: 100%;
609
- table-layout: fixed;
610
- }
611
601
 
612
- td,
613
- th {
614
- border-style: solid;
615
- border-width: 1px;
616
- border-color: var(--color-border);
617
- min-width: 100px;
618
- padding: 0.5rem;
619
- text-align: left;
620
- vertical-align: top;
621
- box-sizing: border-box;
622
- position: relative;
623
- transition: background-color 0.3s ease;
602
+ .ProseMirror table {
603
+ border-collapse: collapse;
604
+ table-layout: fixed;
605
+ width: 100%;
606
+ overflow: hidden;
607
+ }
624
608
 
625
- &:first-of-type:not(a) {
626
- margin-top: 0;
627
- }
609
+ .ProseMirror td,
610
+ .ProseMirror th {
611
+ vertical-align: top;
612
+ box-sizing: border-box;
613
+ position: relative;
614
+ }
628
615
 
629
- p {
630
- margin: 0 !important;
631
616
 
632
- &+p {
633
- margin-top: 0.75rem !important;
634
- }
635
- }
617
+ .ProseMirror td:not([data-colwidth]):not(.column-resize-dragging),
618
+ .ProseMirror th:not([data-colwidth]):not(.column-resize-dragging) {
619
+ /* if there's no explicit width set and the column is not being resized, set a default width */
620
+ min-width: var(--default-cell-min-width);
621
+ }
636
622
 
637
- >* {
638
- margin-bottom: 0;
639
- }
640
- }
623
+ .ProseMirror.resize-cursor {
624
+ cursor: ew-resize;
625
+ cursor: col-resize;
626
+ }
627
+ /* Give selected cells a blue overlay */
628
+ .ProseMirror .selectedCell:after {
629
+ z-index: 2;
630
+ position: absolute;
631
+ content: "";
632
+ left: 0;
633
+ right: 0;
634
+ top: 0;
635
+ bottom: 0;
636
+ background: rgba(40, 137, 207, 0.4);
637
+ pointer-events: none;
638
+ }
641
639
 
642
- th {
643
- font-weight: 500;
644
- text-align: start;
645
- background-color: var(--color-muted);
646
- }
640
+ :root {
641
+ --tt-table-cell-padding: 0.5rem;
642
+ --tt-table-margin-block: 1.25rem;
647
643
 
648
- td[data-align="center"],
649
- th[data-align="center"] {
650
- text-align: center;
651
- }
644
+ --tt-table-pad-block-start: 1rem; /* 8px */
645
+ --tt-table-pad-block-end: 1.5rem; /* 24px */
646
+ --tt-table-pad-inline-start: 1rem; /* 8px */
647
+ --tt-table-pad-inline-end: 1.5rem; /* 24px */
652
648
 
653
- td[data-align="right"],
654
- th[data-align="right"] {
655
- text-align: right;
656
- }
649
+ --tt-table-column-resize-handle-bg: var(--color-primary-400);
650
+ }
657
651
 
658
- .column-resize-handle {
659
- background-color: var(--tt-resize-handle-color);
660
- position: absolute;
661
- right: 0;
662
- top: 0;
663
- width: 2px;
664
- height: 100%;
665
- z-index: 5;
666
- pointer-events: none;
667
- }
652
+ .tiptap [data-content-type="table"] {
653
+ margin-block: var(--tt-table-margin-block);
654
+ }
668
655
 
669
- .selectedCell {
670
- border-style: double;
671
- border-color: var(--tt-selection-color-border);
672
- background-color: var(--tt-selection-color);
673
- }
674
656
 
675
- .table-controls {
676
- position: absolute;
677
- top: 0;
678
- left: 0;
679
- z-index: 10;
680
- }
657
+ .tiptap [data-content-type="table"] .tableWrapper {
658
+ padding-block-start: var(--tt-table-pad-block-start);
659
+ padding-inline-start: var(--tt-table-pad-inline-start);
660
+ padding-inline-end: var(--tt-table-pad-inline-end);
661
+ padding-block-end: var(--tt-table-pad-block-end);
662
+ margin-left: -1rem;
663
+ overflow-y: hidden;
664
+ position: relative;
665
+ width: 100%;
666
+ }
681
667
 
682
- .table-node-view .table-controls .columns-control,
683
- .table-node-view .table-controls .rows-control {
684
- transition: opacity ease-in 100ms;
685
- position: absolute;
686
- z-index: 5;
687
- display: flex;
688
- justify-content: center;
689
- align-items: center;
690
- }
691
668
 
692
- .table-node-view .table-controls .columns-control {
693
- height: 20px;
694
- top: 0;
695
- }
669
+ .tiptap table {
670
+ width: auto !important;
671
+ word-break: break-word;
672
+ }
696
673
 
697
- .table-node-view .table-controls .columns-control .columns-control-div {
698
- color: white;
699
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath fill='%238F95B2' d='M4.5 10.5c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5S6 12.825 6 12s-.675-1.5-1.5-1.5zm15 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5S21 12.825 21 12s-.675-1.5-1.5-1.5zm-7.5 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5z'/%3E%3C/svg%3E");
700
- width: 30px;
701
- height: 15px;
702
- }
674
+ .tiptap th,
675
+ .tiptap td {
676
+ border: 1px solid var(--color-border);
677
+ padding: var(--tt-table-cell-padding);
678
+ }
703
679
 
704
- .table-node-view .table-controls .rows-control {
705
- width: 20px;
706
- left: 0;
707
- top: 20px;
708
- }
709
680
 
710
- .table-node-view .table-controls .rows-control .rows-control-div {
711
- color: white;
712
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath fill='%238F95B2' d='M12 3c-.825 0-1.5.675-1.5 1.5S11.175 6 12 6s1.5-.675 1.5-1.5S12.825 3 12 3zm0 15c-.825 0-1.5.675-1.5 1.5S11.175 21 12 21s1.5-.675 1.5-1.5S12.825 18 12 18zm0-7.5c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5z'/%3E%3C/svg%3E");
713
- height: 30px;
714
- width: 15px;
715
- }
681
+ .tiptap table th {
682
+ background-color: var(--color-muted);
683
+ font-weight: 600;
684
+ text-align: left;
685
+ }
716
686
 
717
- .table-node-view .table-controls .rows-control-div,
718
- .table-node-view .table-controls .columns-control-div {
719
- border: 1px solid var(--color-border);
720
- background-color: var(--color-muted);
721
- box-shadow: var(--shadow-sm);
722
- border-radius: 4px;
723
- background-size: 1.25rem;
724
- background-repeat: no-repeat;
725
- background-position: center;
726
- transition:
727
- transform ease-out 100ms,
728
- background-color ease-out 100ms;
729
- outline: none;
730
- cursor: pointer;
731
- }
687
+ .ProseMirror .column-resize-handle {
688
+ position: absolute;
689
+ top: 0;
690
+ right: 0;
691
+ width: 2px;
692
+ margin-inline-start: -1px;
693
+ margin-top: -1px;
694
+ height: calc(100% + 2px);
695
+ background: var(--tt-table-column-resize-handle-bg);
696
+ cursor: col-resize;
697
+ transition: background 150ms 50ms;
698
+ z-index: 1;
699
+ pointer-events: auto;
700
+ }
732
701
 
733
- .resize-cursor .table-node-view .table-controls .rows-control,
734
- .table-node-view.controls--disabled .table-controls .rows-control,
735
- .resize-cursor .table-node-view .table-controls .columns-control,
736
- .table-node-view.controls--disabled .table-controls .columns-control {
737
- opacity: 0;
738
- pointer-events: none;
739
- }
702
+ /* ================================================================================================
703
+ * TABLE CELL ALIGNMENT STYLES
704
+ * ================================================================================================ */
705
+
706
+ .tiptap [data-content-type="table"] td[data-text-align="left"],
707
+ .tiptap [data-content-type="table"] th[data-text-align="left"] {
708
+ text-align: left;
709
+ }
710
+
711
+ .tiptap [data-content-type="table"] td[data-text-align="center"],
712
+ .tiptap [data-content-type="table"] th[data-text-align="center"] {
713
+ text-align: center;
714
+ }
715
+
716
+ .tiptap [data-content-type="table"] td[data-text-align="right"],
717
+ .tiptap [data-content-type="table"] th[data-text-align="right"] {
718
+ text-align: right;
719
+ }
720
+
721
+ .tiptap [data-content-type="table"] td[data-text-align="justify"],
722
+ .tiptap [data-content-type="table"] th[data-text-align="justify"] {
723
+ text-align: justify;
724
+ }
725
+
726
+ .tiptap [data-content-type="table"] td[data-vertical-align="top"],
727
+ .tiptap [data-content-type="table"] th[data-vertical-align="top"] {
728
+ vertical-align: top;
729
+ }
730
+
731
+ .tiptap [data-content-type="table"] td[data-vertical-align="middle"],
732
+ .tiptap [data-content-type="table"] th[data-vertical-align="middle"] {
733
+ vertical-align: middle;
734
+ }
735
+
736
+ .tiptap [data-content-type="table"] td[data-vertical-align="bottom"],
737
+ .tiptap [data-content-type="table"] th[data-vertical-align="bottom"] {
738
+ vertical-align: bottom;
739
+ }
740
+
741
+ /* tiptap uses colwidth instead of data-colwidth, se we need to adjust this style from prosemirror-tables */
742
+ .ProseMirror td,
743
+ .ProseMirror th {
744
+ min-width: auto !important;
745
+ }
746
+ .ProseMirror td:not([colwidth]):not(.column-resize-dragging),
747
+ .ProseMirror th:not([colwidth]):not(.column-resize-dragging) {
748
+ /* if there's no explicit width set and the column is not being resized, set a default width */
749
+ min-width: var(--default-cell-min-width) !important;
750
+ }
751
+
752
+ .tiptap-table-dropcursor {
753
+ position: absolute;
754
+ z-index: 20;
755
+ background-color: var(--tt-table-column-resize-handle-bg);
756
+ pointer-events: none;
757
+ }
758
+
759
+ .table-cell-dragging-source {
760
+ z-index: 2;
761
+ position: absolute;
762
+ content: "";
763
+ left: 0;
764
+ right: 0;
765
+ top: 0;
766
+ bottom: 0;
767
+ background: rgba(40, 137, 207, 0.4);
740
768
  }
package/dist/index.d.mts CHANGED
@@ -76,5 +76,6 @@ export { ToggleRowSlots, ToggleRowVariantProps, toggleRow } from './components/t
76
76
  export { ToolbarVariantProps, toolbar } from './components/toolbar.mjs';
77
77
  export { TooltipVariants, tooltip } from './components/tooltip.mjs';
78
78
  export { VariableNodeVariants, variableNode } from './components/variable-node.mjs';
79
+ export { extensionTableHandleMenuContent, tableCellHandleMenu } from './components/extension-table.mjs';
79
80
  export { SlotsToClasses } from './utils/types.mjs';
80
81
  import 'tailwind-merge';
package/dist/index.d.ts CHANGED
@@ -76,5 +76,6 @@ export { ToggleRowSlots, ToggleRowVariantProps, toggleRow } from './components/t
76
76
  export { ToolbarVariantProps, toolbar } from './components/toolbar.js';
77
77
  export { TooltipVariants, tooltip } from './components/tooltip.js';
78
78
  export { VariableNodeVariants, variableNode } from './components/variable-node.js';
79
+ export { extensionTableHandleMenuContent, tableCellHandleMenu } from './components/extension-table.js';
79
80
  export { SlotsToClasses } from './utils/types.js';
80
81
  import 'tailwind-merge';
package/dist/index.js CHANGED
@@ -50,6 +50,7 @@ __export(index_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(index_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,
package/dist/index.mjs CHANGED
@@ -1,5 +1,8 @@
1
1
  import "./chunk-XSN6P5JL.mjs";
2
- import "./chunk-T3C4PJPS.mjs";
2
+ import "./chunk-EWID76V7.mjs";
3
+ import {
4
+ table
5
+ } from "./chunk-YC2FQDBV.mjs";
3
6
  import {
4
7
  tabs
5
8
  } from "./chunk-I6M4S2KZ.mjs";
@@ -21,6 +24,9 @@ import {
21
24
  import {
22
25
  variableNode
23
26
  } from "./chunk-EKOZ2ZVU.mjs";
27
+ import {
28
+ skeleton
29
+ } from "./chunk-VNQEJU4P.mjs";
24
30
  import {
25
31
  slashDropdownMenu
26
32
  } from "./chunk-U4BRPFG2.mjs";
@@ -43,8 +49,8 @@ import {
43
49
  tabNav
44
50
  } from "./chunk-ZLM6Z3W2.mjs";
45
51
  import {
46
- table
47
- } from "./chunk-YC2FQDBV.mjs";
52
+ riskIndicator
53
+ } from "./chunk-CZMZHA7U.mjs";
48
54
  import {
49
55
  riskRating
50
56
  } from "./chunk-CNYKIUVC.mjs";
@@ -69,8 +75,8 @@ import {
69
75
  skeletonAvatar
70
76
  } from "./chunk-7Q2RNHL5.mjs";
71
77
  import {
72
- skeleton
73
- } from "./chunk-VNQEJU4P.mjs";
78
+ pageHeader
79
+ } from "./chunk-HAVJ6EQ6.mjs";
74
80
  import {
75
81
  pageLayout
76
82
  } from "./chunk-OULAICSC.mjs";
@@ -93,8 +99,8 @@ import {
93
99
  riskBadge
94
100
  } from "./chunk-V2J5XG34.mjs";
95
101
  import {
96
- riskIndicator
97
- } from "./chunk-CZMZHA7U.mjs";
102
+ inputGroup
103
+ } from "./chunk-HWEYNK3O.mjs";
98
104
  import {
99
105
  inputWrapper
100
106
  } from "./chunk-VSVGOX3P.mjs";
@@ -114,8 +120,8 @@ import {
114
120
  message
115
121
  } from "./chunk-PHVYOUMA.mjs";
116
122
  import {
117
- pageHeader
118
- } from "./chunk-HAVJ6EQ6.mjs";
123
+ filter
124
+ } from "./chunk-GT463S76.mjs";
119
125
  import {
120
126
  frameworkRow
121
127
  } from "./chunk-TPFAZH22.mjs";
@@ -134,9 +140,6 @@ import {
134
140
  import {
135
141
  impactCard
136
142
  } from "./chunk-EJSDSK3G.mjs";
137
- import {
138
- inputGroup
139
- } from "./chunk-HWEYNK3O.mjs";
140
143
  import {
141
144
  drawer
142
145
  } from "./chunk-7V3NMVQH.mjs";
@@ -145,7 +148,7 @@ import {
145
148
  } from "./chunk-OJDCD74N.mjs";
146
149
  import {
147
150
  dropdownMenu
148
- } from "./chunk-3PCDCW7G.mjs";
151
+ } from "./chunk-BWUVMOSV.mjs";
149
152
  import {
150
153
  editableText
151
154
  } from "./chunk-GZJAA5RZ.mjs";
@@ -155,12 +158,13 @@ import {
155
158
  import {
156
159
  editorSpinner
157
160
  } from "./chunk-TVC4THD6.mjs";
161
+ import {
162
+ extensionTableHandleMenuContent,
163
+ tableCellHandleMenu
164
+ } from "./chunk-WQLVUMHF.mjs";
158
165
  import {
159
166
  avatarUpload
160
167
  } from "./chunk-QGL2OK4B.mjs";
161
- import {
162
- filter
163
- } from "./chunk-GT463S76.mjs";
164
168
  import {
165
169
  colorHighlightButton
166
170
  } from "./chunk-CPERWXKN.mjs";
@@ -267,6 +271,7 @@ export {
267
271
  editableText,
268
272
  editorBasic,
269
273
  editorSpinner,
274
+ extensionTableHandleMenuContent,
270
275
  filter,
271
276
  frameworkRow,
272
277
  heading,
@@ -310,6 +315,7 @@ export {
310
315
  switchVariants,
311
316
  tabNav,
312
317
  table,
318
+ tableCellHandleMenu,
313
319
  tabs,
314
320
  textarea,
315
321
  toc,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kopexa/theme",
3
- "version": "17.22.7",
3
+ "version": "17.23.0",
4
4
  "description": "The default theme for Kopexa components",
5
5
  "keywords": [
6
6
  "theme",
@@ -66,7 +66,7 @@
66
66
  "tailwind-merge": "3.4.0",
67
67
  "tailwind-variants": "^3.2.2",
68
68
  "tw-animate-css": "^1.4.0",
69
- "@kopexa/shared-utils": "17.0.46"
69
+ "@kopexa/shared-utils": "17.0.49"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "tailwindcss": ">=4.0.0"
File without changes