@mks2508/mks-ui 0.8.1 → 0.8.2

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.
Files changed (132) hide show
  1. package/dist/index.css +1594 -0
  2. package/dist/react-ui/blocks/Sidebar/animations/tooltip.css +330 -0
  3. package/dist/react-ui/blocks/Terminal/TerminalDisplay.styles.d.ts +1 -1
  4. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts +1 -1
  5. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts +1 -1
  6. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts +1 -1
  7. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts +1 -1
  8. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts +1 -1
  9. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts +1 -1
  10. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts +1 -1
  11. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts +1 -1
  12. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts +1 -1
  13. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts +1 -1
  14. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts +1 -1
  15. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts +1 -1
  16. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts +1 -1
  17. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts +1 -1
  18. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts +1 -1
  19. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.types.d.ts +1 -1
  20. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts +1 -1
  21. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts +1 -1
  22. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.css +60 -0
  23. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts +1 -1
  24. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts +1 -1
  25. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts.map +1 -1
  26. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts +1 -1
  27. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts +1 -1
  28. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts +1 -1
  29. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts +1 -1
  30. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts +1 -1
  31. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts +1 -1
  32. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts +1 -1
  33. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts +1 -1
  34. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts +1 -1
  35. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts +1 -1
  36. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts +1 -1
  37. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.types.d.ts +1 -1
  38. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts +1 -1
  39. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts +1 -1
  40. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.css +60 -0
  41. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts +1 -1
  42. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts +1 -1
  43. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts +1 -1
  44. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts +1 -1
  45. package/dist/react-ui/components/MorphingPopover/morphing-popover.module.css +154 -0
  46. package/dist/react-ui/primitives/AutoHeight/index.d.ts +1 -1
  47. package/dist/react-ui/primitives/CountingNumber/index.d.ts +1 -1
  48. package/dist/react-ui/primitives/DotMatrix/DotMatrix.types.d.ts +1 -1
  49. package/dist/react-ui/primitives/DotMatrix/dot.css +364 -0
  50. package/dist/react-ui/primitives/GooeyMorphingSurface/gooey-morphing.css +112 -0
  51. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module.css +20 -0
  52. package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.d.ts +1 -1
  53. package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.styles.d.ts +1 -1
  54. package/dist/react-ui/ui/Accordion/Accordion.styles.d.ts +1 -1
  55. package/dist/react-ui/ui/Accordion/Accordion.types.d.ts +1 -1
  56. package/dist/react-ui/ui/AlertDialog/AlertDialog.styles.d.ts +1 -1
  57. package/dist/react-ui/ui/AlertDialog/AlertDialog.types.d.ts +1 -1
  58. package/dist/react-ui/ui/Badge/Badge.styles.d.ts +1 -1
  59. package/dist/react-ui/ui/Badge/Badge.types.d.ts +1 -1
  60. package/dist/react-ui/ui/Button/Button.styles.d.ts +1 -1
  61. package/dist/react-ui/ui/Button/Button.types.d.ts +1 -1
  62. package/dist/react-ui/ui/Card/Card.styles.d.ts +1 -1
  63. package/dist/react-ui/ui/Card/Card.types.d.ts +1 -1
  64. package/dist/react-ui/ui/Checkbox/Checkbox.styles.d.ts +1 -1
  65. package/dist/react-ui/ui/Checkbox/Checkbox.types.d.ts +1 -1
  66. package/dist/react-ui/ui/Combobox/Combobox.styles.d.ts +1 -1
  67. package/dist/react-ui/ui/Combobox/Combobox.types.d.ts +1 -1
  68. package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.d.ts +1 -1
  69. package/dist/react-ui/ui/CornerBracket/CornerBracket.types.d.ts +1 -1
  70. package/dist/react-ui/ui/DataCard/DataCard.styles.d.ts +1 -1
  71. package/dist/react-ui/ui/DataCard/DataCard.types.d.ts +1 -1
  72. package/dist/react-ui/ui/DataCard/index.d.ts +1 -1
  73. package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts +1 -1
  74. package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +1 -1
  75. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.styles.d.ts +1 -1
  76. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.types.d.ts +1 -1
  77. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +369 -0
  78. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.d.ts +1 -1
  79. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.types.d.ts +1 -1
  80. package/dist/react-ui/ui/Field/Field.styles.d.ts +1 -1
  81. package/dist/react-ui/ui/Field/Field.types.d.ts +1 -1
  82. package/dist/react-ui/ui/FileIcon/FileIcon.styles.d.ts +1 -1
  83. package/dist/react-ui/ui/FileIcon/FileIcon.types.d.ts +1 -1
  84. package/dist/react-ui/ui/FileItem/FileItem.styles.d.ts +1 -1
  85. package/dist/react-ui/ui/FileItem/FileItem.types.d.ts +1 -1
  86. package/dist/react-ui/ui/FilePanel/FilePanel.styles.d.ts +1 -1
  87. package/dist/react-ui/ui/FilePanel/FilePanel.types.d.ts +1 -1
  88. package/dist/react-ui/ui/FileTree/FileTree.styles.d.ts +1 -1
  89. package/dist/react-ui/ui/FileTree/FileTree.types.d.ts +1 -1
  90. package/dist/react-ui/ui/GooeyButton/GooeyButton.types.d.ts +1 -1
  91. package/dist/react-ui/ui/GooeyButton/gooey.css +47 -0
  92. package/dist/react-ui/ui/Input/Input.styles.d.ts +1 -1
  93. package/dist/react-ui/ui/Input/Input.types.d.ts +1 -1
  94. package/dist/react-ui/ui/InputGroup/InputGroup.styles.d.ts +1 -1
  95. package/dist/react-ui/ui/InputGroup/InputGroup.types.d.ts +1 -1
  96. package/dist/react-ui/ui/Label/Label.styles.d.ts +1 -1
  97. package/dist/react-ui/ui/Label/Label.types.d.ts +1 -1
  98. package/dist/react-ui/ui/Menu/Menu.styles.d.ts +1 -1
  99. package/dist/react-ui/ui/Menu/Menu.types.d.ts +2 -2
  100. package/dist/react-ui/ui/MiddleTruncatePath/MiddleTruncatePath.styles.d.ts +1 -1
  101. package/dist/react-ui/ui/MiddleTruncatePath/MiddleTruncatePath.types.d.ts +1 -1
  102. package/dist/react-ui/ui/OperationCard/OperationCard.styles.d.ts +1 -1
  103. package/dist/react-ui/ui/OperationCard/OperationCard.types.d.ts +2 -2
  104. package/dist/react-ui/ui/Popover/Popover.styles.d.ts +1 -1
  105. package/dist/react-ui/ui/Popover/Popover.types.d.ts +1 -1
  106. package/dist/react-ui/ui/Progress/Progress.styles.d.ts +1 -1
  107. package/dist/react-ui/ui/Progress/Progress.types.d.ts +2 -2
  108. package/dist/react-ui/ui/Select/Select.styles.d.ts +1 -1
  109. package/dist/react-ui/ui/Select/Select.types.d.ts +1 -1
  110. package/dist/react-ui/ui/Separator/Separator.styles.d.ts +1 -1
  111. package/dist/react-ui/ui/Separator/Separator.types.d.ts +1 -1
  112. package/dist/react-ui/ui/Switch/Switch.styles.d.ts +1 -1
  113. package/dist/react-ui/ui/Switch/Switch.types.d.ts +1 -1
  114. package/dist/react-ui/ui/Tabs/Tabs.css +38 -0
  115. package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts +1 -1
  116. package/dist/react-ui/ui/Tabs/Tabs.types.d.ts +3 -3
  117. package/dist/react-ui/ui/TextFlow/TextFlow.styles.d.ts +1 -1
  118. package/dist/react-ui/ui/Textarea/Textarea.styles.d.ts +1 -1
  119. package/dist/react-ui/ui/Textarea/Textarea.types.d.ts +1 -1
  120. package/dist/react-ui/ui/Tooltip/Tooltip.styles.d.ts +1 -1
  121. package/dist/react-ui/ui/Tooltip/Tooltip.types.d.ts +1 -1
  122. package/package.json +1 -1
  123. /package/dist/{react-ui/blocks/Sidebar/animations/tooltip-keyframes-DRT9W6Xj.css → css/blocks-Sidebar-animations-tooltip.css} +0 -0
  124. /package/dist/{react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module-G5zpw08N.css → css/blocks-Terminal-panel-TerminalFilterDropdown-terminal-filter-dropdown.module.css} +0 -0
  125. /package/dist/{react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module-BAOuAeiX.css → css/blocks-Terminal-panel-TerminalSessionTabs-terminal-session-tabs.module.css} +0 -0
  126. /package/dist/{react-ui/components/MorphingPopover/morphing-popover.module-T3s-wJN-.css → css/components-MorphingPopover-morphing-popover.module.css} +0 -0
  127. /package/dist/{react-ui/primitives/DotMatrix/dot-matrix-B8DHjPGb.css → css/primitives-DotMatrix-dot.css} +0 -0
  128. /package/dist/{react-ui/primitives/GooeyMorphingSurface/gooey-morphing-surface-DfdjAg5U.css → css/primitives-GooeyMorphingSurface-gooey.css} +0 -0
  129. /package/dist/{react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module-DNDWYN8q.css → css/primitives-waapi-Morph-techniques-useViewTransitions.module.css} +0 -0
  130. /package/dist/{react-ui/ui/DynamicToggle/DynamicToggle-DY2Hle7P.css → css/ui-DynamicToggle-DynamicToggle.css} +0 -0
  131. /package/dist/{react-ui/ui/GooeyButton/gooey-button-8rHWiw0w.css → css/ui-GooeyButton-gooey.css} +0 -0
  132. /package/dist/{react-ui/ui/Tabs/Tabs-DqzZRGB3.css → css/ui-Tabs-Tabs.css} +0 -0
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalPanelHeader
8
8
  */
9
- import type { StyleSlots } from '@/core/types';
9
+ import type { StyleSlots } from '../../../../../core/types';
10
10
  /** Slot names for TerminalPanelHeader visual regions. */
11
11
  export type TerminalPanelHeaderSlot = 'root' | 'trafficLights' | 'titleArea' | 'titleIcon' | 'titleText' | 'viewModeControl' | 'viewModeButton' | 'statusDot' | 'statusLabel';
12
12
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalPanelHeader
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TerminalPanelHeaderSlot } from './TerminalPanelHeader.styles';
8
8
  /**
9
9
  * Props for the TerminalPanelHeader component.
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalPanelToolbar
7
7
  */
8
- import type { StyleSlots } from '@/core/types';
8
+ import type { StyleSlots } from '../../../../../core/types';
9
9
  /** Slot names for TerminalPanelToolbar visual regions. */
10
10
  export type TerminalPanelToolbarSlot = 'root' | 'filterGroup' | 'filterButton' | 'separator' | 'toggleGroup' | 'toggleButton' | 'actionGroup' | 'actionButton';
11
11
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalPanelToolbar
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TLogLevel } from '../../parsing';
8
8
  import type { TerminalPanelToolbarSlot } from './TerminalPanelToolbar.styles';
9
9
  /** Log level filter type — 'all' or a specific level. */
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionControl
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  /** Slot names for TerminalSessionControl visual regions. */
8
8
  export type TerminalSessionControlSlot = 'root' | 'statusDot' | 'containerName' | 'liveLabel' | 'addButton' | 'refreshButton' | 'closeButton' | 'dropdown' | 'dropdownItem';
9
9
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionControl
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TerminalSessionControlSlot } from './TerminalSessionControl.styles';
8
8
  /**
9
9
  * Container information for dropdown display.
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionTabs
8
8
  */
9
- import type { StyleSlots } from '@/core/types';
9
+ import type { StyleSlots } from '../../../../../core/types';
10
10
  /** Slot names for TerminalSessionTabs visual regions. */
11
11
  export type TerminalSessionTabsSlot = 'root' | 'tab' | 'tabIndicator' | 'tabGlowBar' | 'statusDot' | 'tabName' | 'closeButton' | 'addButton' | 'dropdown' | 'dropdownItem' | 'infoBadge';
12
12
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSessionTabs
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { ITerminalSession } from '../TerminalLogsPanel.types';
8
8
  import type { TerminalSessionTabsSlot } from './TerminalSessionTabs.styles';
9
9
  /**
@@ -0,0 +1,60 @@
1
+ /**
2
+ * TerminalSessionTabs Dropdown Styles.
3
+ *
4
+ * Uses CSS Anchor Positioning API for the "add container" dropdown.
5
+ * The + button acts as anchor, dropdown is positioned below it
6
+ * with automatic flip behavior at viewport edges.
7
+ *
8
+ * @module components/devenv/terminal/panel/terminal-session-tabs/styles
9
+ */
10
+
11
+ /* + button - acts as CSS anchor */
12
+ .addButton {
13
+ anchor-name: --session-tabs-add-anchor;
14
+ }
15
+
16
+ /* Container dropdown - anchored to + button */
17
+ .containerDropdown {
18
+ position-anchor: --session-tabs-add-anchor;
19
+ position: fixed;
20
+
21
+ /* Position below and left-aligned */
22
+ left: anchor(left);
23
+ top: anchor(bottom);
24
+ margin-top: 4px;
25
+
26
+ /* Flip to above if no room below */
27
+ position-try-fallbacks: flip-block, flip-inline;
28
+
29
+ min-width: 200px;
30
+ z-index: 50;
31
+
32
+ /* Hidden by default */
33
+ display: none;
34
+ opacity: 0;
35
+ transform: translateY(-4px);
36
+ transition: opacity 0.15s ease-out, transform 0.15s ease-out;
37
+ pointer-events: none;
38
+ }
39
+
40
+ .containerDropdown[data-open="true"] {
41
+ display: block;
42
+ opacity: 1;
43
+ transform: translateY(0);
44
+ pointer-events: auto;
45
+ }
46
+
47
+ /* Fallback for browsers without CSS Anchor Positioning */
48
+ @supports not (anchor-name: none) {
49
+ .containerDropdown {
50
+ position: absolute;
51
+ left: 0;
52
+ top: calc(100% + 4px);
53
+ z-index: 50;
54
+ }
55
+
56
+ .containerDropdown[data-open="true"] {
57
+ display: block;
58
+ }
59
+ }
60
+
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSettingsPopover
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  /** Slot names for TerminalSettingsPopover visual regions. */
8
8
  export type TerminalSettingsPopoverSlot = 'root' | 'trigger' | 'header' | 'section' | 'sectionLabel' | 'segmentedControl' | 'segmentedButton' | 'fontControls' | 'toggle' | 'resetButton';
9
9
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalSettingsPopover
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TerminalSettingsPopoverSlot } from './TerminalSettingsPopover.styles';
8
8
  /**
9
9
  * Props for the TerminalSettingsPopover component.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalThemeSelector
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  /** Slot names for TerminalThemeSelector visual regions. */
8
8
  export type TerminalThemeSelectorSlot = 'root' | 'trigger' | 'searchInput' | 'themeList' | 'sectionLabel' | 'themeOption';
9
9
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalThemeSelector
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TerminalThemeSelectorSlot } from './TerminalThemeSelector.styles';
8
8
  /**
9
9
  * Props for the TerminalThemeSelector component.
@@ -0,0 +1,154 @@
1
+ /* CSS Variables for anchor positioning */
2
+ .morphingPopoverContainer {
3
+ position: relative;
4
+ display: inline-block;
5
+ --anchor-name: morphing-trigger;
6
+ --target-width: 220px;
7
+ --target-height: 120px;
8
+ --transition-duration: 0.2s;
9
+ }
10
+
11
+ /* Trigger button styles */
12
+ .morphingTrigger {
13
+ anchor-name: var(--anchor-name);
14
+ width: 44px;
15
+ aspect-ratio: 1;
16
+ border-radius: 50%;
17
+ display: grid;
18
+ place-items: center;
19
+ font-size: 24px;
20
+ cursor: pointer;
21
+ border: none;
22
+ background: transparent;
23
+ transition: background-color 0.2s;
24
+ }
25
+
26
+ .morphingTrigger:hover {
27
+ background-color: hsl(var(--muted) / 0.5);
28
+ }
29
+
30
+ /* Popover styles - anchored to trigger by default */
31
+ .morphingPopover {
32
+ position-anchor: var(--anchor-name);
33
+ left: anchor(left);
34
+ top: anchor(top);
35
+ width: anchor-size(width);
36
+ min-height: 0;
37
+ border-radius: 50%;
38
+ overflow: hidden;
39
+ padding: 0;
40
+ height: anchor-size(height);
41
+ transition-behavior: allow-discrete;
42
+ transition-property: display, overlay, width, height, top,
43
+ border-radius, left, position-anchor, transform, opacity;
44
+ transition-duration: var(--transition-duration);
45
+ transition-timing-function: ease-out;
46
+ transform-origin: center center;
47
+ opacity: 0;
48
+ }
49
+
50
+ /* When popover is open - expand to target size */
51
+ .morphingPopover:popover-open {
52
+ position-anchor: fixed;
53
+ left: 50%;
54
+ top: 50%;
55
+ transform: translate(-50%, -50%);
56
+ width: var(--target-width);
57
+ height: var(--target-height);
58
+ border-radius: 12px;
59
+ opacity: 1;
60
+ border: 1px solid hsl(var(--border));
61
+ background: hsl(var(--background));
62
+ box-shadow: 0 10px 40px -10px hsl(var(--foreground) / 0.3);
63
+ }
64
+
65
+ /* Starting style for animation - browser support required */
66
+ @starting-style {
67
+ .morphingPopover:popover-open {
68
+ position-anchor: var(--anchor-name);
69
+ left: anchor(left);
70
+ top: anchor(top);
71
+ transform: none;
72
+ border-radius: 50%;
73
+ width: anchor-size(width);
74
+ height: anchor-size(height);
75
+ opacity: 0;
76
+ }
77
+ }
78
+
79
+ /* Fallback for browsers without anchor positioning */
80
+ @supports not (anchor-name: none) {
81
+ .morphingPopover {
82
+ position: fixed;
83
+ left: 50%;
84
+ top: 50%;
85
+ transform: translate(-50%, -50%) scale(0.8);
86
+ opacity: 0;
87
+ pointer-events: none;
88
+ }
89
+
90
+ .morphingPopover:popover-open {
91
+ transform: translate(-50%, -50%) scale(1);
92
+ opacity: 1;
93
+ pointer-events: auto;
94
+ }
95
+
96
+ @starting-style {
97
+ .morphingPopover:popover-open {
98
+ transform: translate(-50%, -50%) scale(0.8);
99
+ opacity: 0;
100
+ }
101
+ }
102
+ }
103
+
104
+ /* Variant: Morphing to a specific target element */
105
+ .morphingPopoverTargetContainer {
106
+ position: relative;
107
+ display: inline-block;
108
+ --anchor-name: morphing-trigger;
109
+ --target-anchor-name: morphing-target;
110
+ --transition-duration: 0.2s;
111
+ }
112
+
113
+ .morphingPopoverTarget {
114
+ position-anchor: var(--anchor-name);
115
+ left: anchor(left);
116
+ top: anchor(top);
117
+ width: anchor-size(width);
118
+ min-height: 0;
119
+ border-radius: 50%;
120
+ overflow: hidden;
121
+ padding: 0;
122
+ height: anchor-size(height);
123
+ transition-behavior: allow-discrete;
124
+ transition-property: display, overlay, width, height, top,
125
+ border-radius, left, position-anchor, transform, opacity;
126
+ transition-duration: var(--transition-duration);
127
+ transition-timing-function: ease-out;
128
+ }
129
+
130
+ .morphingPopoverTarget:popover-open {
131
+ position-anchor: var(--target-anchor-name);
132
+ left: anchor(left);
133
+ top: anchor(top);
134
+ border-radius: 12px;
135
+ min-width: 200px;
136
+ min-height: 120px;
137
+ border: 1px solid hsl(var(--border));
138
+ background: hsl(var(--background));
139
+ box-shadow: 0 10px 40px -10px hsl(var(--foreground) / 0.3);
140
+ opacity: 1;
141
+ }
142
+
143
+ @starting-style {
144
+ .morphingPopoverTarget:popover-open {
145
+ position-anchor: var(--anchor-name);
146
+ left: anchor(left);
147
+ top: anchor(top);
148
+ border-radius: 50%;
149
+ width: anchor-size(width);
150
+ height: anchor-size(height);
151
+ opacity: 0;
152
+ }
153
+ }
154
+
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type HTMLMotionProps, type LegacyAnimationControls, type TargetAndTransition, type Transition } from 'motion/react';
3
- import { type WithAsChild } from '@/react-ui/primitives/Slot';
3
+ import { type WithAsChild } from '../../../react-ui/primitives/Slot';
4
4
  /** Props for the AutoHeight primitive component. */
5
5
  type IAutoHeightProps = WithAsChild<{
6
6
  children: React.ReactNode;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type SpringOptions } from 'motion/react';
3
- import { type IUseIsInViewOptions } from '@/react-ui/hooks/DOM/UseIsInView';
3
+ import { type IUseIsInViewOptions } from '../../../react-ui/hooks/DOM/UseIsInView';
4
4
  /** Props for the CountingNumber primitive. */
5
5
  type ICountingNumberProps = Omit<React.ComponentProps<'span'>, 'children'> & {
6
6
  /** Target number to animate to. */
@@ -20,7 +20,7 @@
20
20
  *
21
21
  * @module @mks2508/mks-ui/react/primitives/DotMatrix
22
22
  */
23
- import type { SlotOverrides } from '@/core/types';
23
+ import type { SlotOverrides } from '../../../core/types';
24
24
  import type { DotMatrixPattern } from './patterns';
25
25
  export type { DotMatrixPattern } from './patterns';
26
26
  /** Lifecycle status. Applied as a CSS data-attr on the root. */