@mks2508/mks-ui 0.10.0 → 0.11.1

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 (61) hide show
  1. package/dist/css/primitives-GooeyMorphingSurface-gooey.css +9 -8
  2. package/dist/index.css +9 -8
  3. package/dist/react-ui/blocks/Terminal/ChromeShell/ChromeShell.styles.d.ts +55 -0
  4. package/dist/react-ui/blocks/Terminal/ChromeShell/ChromeShell.styles.d.ts.map +1 -0
  5. package/dist/react-ui/blocks/Terminal/ChromeShell/ChromeShell.styles.js +62 -0
  6. package/dist/react-ui/blocks/Terminal/ChromeShell/ChromeShell.types.d.ts +92 -0
  7. package/dist/react-ui/blocks/Terminal/ChromeShell/ChromeShell.types.d.ts.map +1 -0
  8. package/dist/react-ui/blocks/Terminal/ChromeShell/index.d.ts +71 -0
  9. package/dist/react-ui/blocks/Terminal/ChromeShell/index.d.ts.map +1 -0
  10. package/dist/react-ui/blocks/Terminal/ChromeShell/index.js +114 -0
  11. package/dist/react-ui/blocks/Terminal/chrome.d.ts +1 -0
  12. package/dist/react-ui/blocks/Terminal/chrome.d.ts.map +1 -1
  13. package/dist/react-ui/blocks/Terminal/chrome.js +3 -1
  14. package/dist/react-ui/blocks/Terminal/index.d.ts +1 -0
  15. package/dist/react-ui/blocks/Terminal/index.d.ts.map +1 -1
  16. package/dist/react-ui/blocks/Terminal/index.js +3 -1
  17. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts.map +1 -1
  18. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.js +20 -9
  19. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts.map +1 -1
  20. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.js +19 -6
  21. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/index.d.ts.map +1 -1
  22. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/index.js +31 -9
  23. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts +31 -2
  24. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts.map +1 -1
  25. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.js +41 -5
  26. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts +22 -0
  27. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts.map +1 -1
  28. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts +8 -0
  29. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts.map +1 -1
  30. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.js +54 -12
  31. package/dist/react-ui/blocks/Terminal/renderers/ResttyRenderer.d.ts +52 -0
  32. package/dist/react-ui/blocks/Terminal/renderers/ResttyRenderer.d.ts.map +1 -0
  33. package/dist/react-ui/blocks/Terminal/renderers/ResttyRenderer.js +160 -0
  34. package/dist/react-ui/blocks/Terminal/renderers/WtermRenderer.d.ts +46 -0
  35. package/dist/react-ui/blocks/Terminal/renderers/WtermRenderer.d.ts.map +1 -0
  36. package/dist/react-ui/blocks/Terminal/renderers/WtermRenderer.js +195 -0
  37. package/dist/react-ui/blocks/Terminal/renderers/XTermRenderer.d.ts +39 -0
  38. package/dist/react-ui/blocks/Terminal/renderers/XTermRenderer.d.ts.map +1 -0
  39. package/dist/react-ui/blocks/Terminal/renderers/XTermRenderer.js +251 -0
  40. package/dist/react-ui/blocks/Terminal/renderers/index.d.ts +20 -0
  41. package/dist/react-ui/blocks/Terminal/renderers/index.d.ts.map +1 -0
  42. package/dist/react-ui/blocks/Terminal/renderers/types.d.ts +47 -0
  43. package/dist/react-ui/blocks/Terminal/renderers/types.d.ts.map +1 -0
  44. package/dist/react-ui/blocks/Terminal/restty.d.ts +2 -0
  45. package/dist/react-ui/blocks/Terminal/restty.d.ts.map +1 -1
  46. package/dist/react-ui/blocks/Terminal/restty.js +2 -1
  47. package/dist/react-ui/blocks/Terminal/wterm.d.ts +2 -0
  48. package/dist/react-ui/blocks/Terminal/wterm.d.ts.map +1 -1
  49. package/dist/react-ui/blocks/Terminal/wterm.js +2 -1
  50. package/dist/react-ui/blocks/Terminal/xterm.d.ts +2 -0
  51. package/dist/react-ui/blocks/Terminal/xterm.d.ts.map +1 -1
  52. package/dist/react-ui/blocks/Terminal/xterm.js +2 -1
  53. package/dist/react-ui/index.d.ts +2 -2
  54. package/dist/react-ui/index.d.ts.map +1 -1
  55. package/dist/react-ui/index.js +3 -3
  56. package/dist/react-ui/primitives/GooeyMorphingSurface/gooey-morphing.css +9 -8
  57. package/dist/react-ui/primitives/GooeyMorphingSurface/index.d.ts +0 -18
  58. package/dist/react-ui/primitives/GooeyMorphingSurface/index.d.ts.map +1 -1
  59. package/dist/react-ui/primitives/GooeyMorphingSurface/index.js +99 -19
  60. package/dist/react-ui/primitives/index.js +1 -1
  61. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Terminal renderers barrel.
3
+ *
4
+ * Chrome-less terminal renderers for maximum composability.
5
+ * Each renderer wraps a specific terminal implementation (xterm.js,
6
+ * wterm, restty) without any chrome, toolbar, or status bar.
7
+ *
8
+ * All renderers:
9
+ * - Lazy-load their peer dependency on first render
10
+ * - Gracefully fallback if the dependency is missing
11
+ * - Forward refs with ITerminalRendererRef interface
12
+ * - Read fontSize from useTerminalSettings context (override via props)
13
+ *
14
+ * @module components/devenv/terminal/renderers
15
+ */
16
+ export { XTermRenderer } from './XTermRenderer';
17
+ export { WtermRenderer } from './WtermRenderer';
18
+ export { ResttyRenderer } from './ResttyRenderer';
19
+ export type { ITerminalRendererProps, ITerminalRendererRef, } from './types';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/renderers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,YAAY,EACV,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Terminal renderer types.
3
+ *
4
+ * Common interfaces for chrome-less terminal renderers.
5
+ * These renderers provide the raw terminal surface without
6
+ * any chrome (toolbar, status bar, header) for maximum
7
+ * composability.
8
+ *
9
+ * @module components/devenv/terminal/renderers/types
10
+ */
11
+ /**
12
+ * Props for chrome-less terminal renderers.
13
+ *
14
+ * All renderers accept sessionId for tracking, fontSize
15
+ * override (defaults from useTerminalSettings context),
16
+ * and an optional onReady callback when the terminal
17
+ * is initialized and ready for interaction.
18
+ */
19
+ export interface ITerminalRendererProps {
20
+ /** Optional session identifier for debugging/telemetry */
21
+ readonly sessionId?: string;
22
+ /** Font size override (defaults to useTerminalSettings context) */
23
+ readonly fontSize?: number;
24
+ /** Font family override (defaults to JetBrains Mono) */
25
+ readonly fontFamily?: string;
26
+ /** Called when terminal is initialized and ready for interaction */
27
+ readonly onReady?: () => void;
28
+ /** Custom class name for the container */
29
+ readonly className?: string;
30
+ }
31
+ /**
32
+ * Imperative handle ref for terminal renderers.
33
+ *
34
+ * All renderers must forward a ref implementing this interface
35
+ * so parents can programmatically control the terminal.
36
+ */
37
+ export interface ITerminalRendererRef {
38
+ /** Focus the terminal for input */
39
+ focus(): void;
40
+ /** Write data to the terminal (no newline) */
41
+ write(data: string): void;
42
+ /** Clear the terminal buffer */
43
+ clear(): void;
44
+ /** Resize the terminal to given dimensions */
45
+ resize(cols: number, rows: number): void;
46
+ }
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/renderers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,KAAK,IAAI,IAAI,CAAC;IAEd,8CAA8C;IAC9C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,gCAAgC;IAChC,KAAK,IAAI,IAAI,CAAC;IAEd,8CAA8C;IAC9C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C"}
@@ -24,4 +24,6 @@ export { TerminalInteractivePanelRestty } from './panel/TerminalInteractivePanel
24
24
  export { TerminalThemeSelector, type ITerminalThemeSelectorProps } from './panel/TerminalThemeSelector';
25
25
  export { ResttyTerminal, ResttySessionProvider, useResttySession, ResttyProvider, useRestty, useResttyPane, useResttyPanes, useResttyVisibility, useResttyPlugins, } from './restty/index';
26
26
  export type { IResttyTerminalProps, IResttyTerminalRef, IResttySessionProviderProps, IResttySessionContextValue, IResttyContextValue, IUseResttyPaneReturn, IUseResttyPanesReturn, IUseResttyVisibilityOptions, IUseResttyPluginsReturn, Restty, ResttyPlugin, ResttyPluginInfo, ResttyPaneHandle, ResttyFontSource, ResttyPaneSplitDirection, GhosttyTheme, } from './restty/index';
27
+ export { ResttyRenderer } from './renderers/ResttyRenderer';
28
+ export type { ITerminalRendererProps, ITerminalRendererRef, } from './renderers/types';
27
29
  //# sourceMappingURL=restty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"restty.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/restty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAGxF,OAAO,EAAE,qBAAqB,EAAE,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAGxG,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACb,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"restty.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/restty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAGxF,OAAO,EAAE,qBAAqB,EAAE,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAGxG,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,YAAY,EACV,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC"}
@@ -8,5 +8,6 @@ import { useResttyPanes } from "./restty/useResttyPanes.js";
8
8
  import { useResttyVisibility } from "./restty/useResttyVisibility.js";
9
9
  import { useResttyPlugins } from "./restty/useResttyPlugins.js";
10
10
  import "./restty/index.js";
11
+ import { ResttyRenderer } from "./renderers/ResttyRenderer.js";
11
12
 
12
- export { ResttyProvider, ResttySessionProvider, ResttyTerminal, TerminalInteractivePanelRestty, TerminalThemeSelector, useRestty, useResttyPane, useResttyPanes, useResttyPlugins, useResttySession, useResttyVisibility };
13
+ export { ResttyProvider, ResttyRenderer, ResttySessionProvider, ResttyTerminal, TerminalInteractivePanelRestty, TerminalThemeSelector, useRestty, useResttyPane, useResttyPanes, useResttyPlugins, useResttySession, useResttyVisibility };
@@ -17,4 +17,6 @@
17
17
  */
18
18
  export { TerminalInteractivePanelWterm } from './panel/TerminalInteractivePanelWterm';
19
19
  export { WtermJsonTransport } from './wterm/WtermJsonTransport';
20
+ export { WtermRenderer } from './renderers/WtermRenderer';
21
+ export type { ITerminalRendererProps, ITerminalRendererRef, } from './renderers/types';
20
22
  //# sourceMappingURL=wterm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wterm.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/wterm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"wterm.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/wterm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,YAAY,EACV,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { WtermJsonTransport } from "./wterm/WtermJsonTransport.js";
2
2
  import { TerminalInteractivePanelWterm } from "./panel/TerminalInteractivePanelWterm.js";
3
+ import { WtermRenderer } from "./renderers/WtermRenderer.js";
3
4
 
4
- export { TerminalInteractivePanelWterm, WtermJsonTransport };
5
+ export { TerminalInteractivePanelWterm, WtermJsonTransport, WtermRenderer };
@@ -22,5 +22,7 @@ export { TerminalInteractivePanelXterm } from './panel/TerminalInteractivePanelX
22
22
  export { XTermAdapter } from './XTermAdapter';
23
23
  export { XTermWrapper, useTerminalSearch, type IXTermWrapperProps, } from './TerminalXterm';
24
24
  export { LogLinesViewer, type ILogLinesViewerProps } from './panel/LogLinesViewer';
25
+ export { XTermRenderer } from './renderers/XTermRenderer';
25
26
  export type { ITerminalLogsPanelProps, ITerminalLogsPanelRef, } from './panel/TerminalLogsPanel.types';
27
+ export type { ITerminalRendererProps, ITerminalRendererRef, } from './renderers/types';
26
28
  //# sourceMappingURL=xterm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xterm.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/xterm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG1E,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnF,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"xterm.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/xterm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG1E,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EACV,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC"}
@@ -5,5 +5,6 @@ import { terminalLogsPanelStyles } from "./panel/TerminalLogsPanel/TerminalLogsP
5
5
  import { TerminalLogsPanel } from "./panel/TerminalLogsPanel/index.js";
6
6
  import { TerminalInteractivePanelXterm } from "./panel/TerminalInteractivePanelXterm.js";
7
7
  import { XTermAdapter } from "./XTermAdapter.js";
8
+ import { XTermRenderer } from "./renderers/XTermRenderer.js";
8
9
 
9
- export { LogLinesViewer, TerminalInteractivePanelXterm, TerminalLogsPanel, TerminalPanel, XTermAdapter, XTermWrapper, terminalLogsPanelStyles, useTerminalSearch };
10
+ export { LogLinesViewer, TerminalInteractivePanelXterm, TerminalLogsPanel, TerminalPanel, XTermAdapter, XTermRenderer, XTermWrapper, terminalLogsPanelStyles, useTerminalSearch };
@@ -18,6 +18,6 @@ export * from './icons';
18
18
  export * from './lib';
19
19
  export { Sidebar, SidebarNav, SidebarToggle, SidebarContent, SidebarIndicator, SidebarFluidIndicator, SidebarSafeArea, SidebarItem, SidebarSubContent, SidebarSubLink, SidebarTooltip, useSidebarContext, useSidebarKeyboard, useSidebarIndicator, useSubContent, generateSidebarStyles, generateIndicatorStyles, type SidebarProps, type SidebarNavProps, type SidebarToggleProps, type SidebarContentProps, type SidebarIndicatorProps, type SidebarSafeAreaProps, type SidebarItemProps, type SidebarState, type SidebarToggleState, type SidebarItemState, type SidebarIndicatorState, type SidebarContextValue, type SidebarDimensions, type SidebarSafeAreas, type SidebarAnimations, type SidebarConfig, type SidebarRenderProp, type SidebarToggleRenderProp, type SidebarItemRenderProp, type SidebarIndicatorRenderProp, type SidebarVisualStyle, type SidebarSubContentProps, type SidebarSubLinkProps, type SidebarTooltipProps, SidebarCollapseMode, SidebarHideBehaviour, SidebarHideOpensBehavior, SidebarLayoutBehaviour, SidebarWidth, SidebarTransitionDuration, SidebarZIndex, SidebarBorderRadius, SidebarSafeAreaPosition, SidebarTimingFunction, SidebarIconLibrary, DEFAULT_DIMENSIONS, DEFAULT_SAFE_AREAS, DEFAULT_ANIMATIONS, DEFAULT_CONFIG, DEFAULT_VISUAL_STYLE, SIDEBAR_VISUAL_PRESETS, } from './blocks/Sidebar';
20
20
  export { MobileBottomNav, NavVariant, NavSize, LabelPosition, AnimationType, NavItemState, IconSize, ZIndexLevel, BlurIntensity, useIOSSafariFix, useIOSFixedReset, detectIOSVersion, type RootProps, type NavListProps, type NavItemProps, type NavContextValue, type SpringConfig, type TweenConfig, type AnimationConfig, type GlassConfig, type BaseNavProps, type IOSSafariFixConfig, DEFAULT_ANIMATION_CONFIG, DEFAULT_GLASS_CONFIG, DEFAULT_SPRING_CONFIG, DEFAULT_TWEEN_CONFIG, rootVariants, navListVariants, navItemVariants, iconVariants, labelVariants, navBadgeVariants, spacerVariants, } from './blocks/BottomNavBar';
21
- export { TerminalPanelChrome, TerminalPanelHeader, TerminalPanelFooter, TerminalSettingsPopover, LogParserService, TerminalActionBar, TerminalStatusBar, TerminalConnectionStatus, TerminalClearButton, LOG_LEVEL_STYLES, STATUS_COLORS, } from './blocks/Terminal';
22
- export type { ITerminalPanelHeaderProps, ITerminalPanelFooterProps, IParsedLogEntry, TLogLevel, TLogLevelFilter, ITerminalSession, ILevelFilterButton, TTerminalAction, } from './blocks/Terminal';
21
+ export { TerminalPanelChrome, TerminalPanelHeader, TerminalPanelFooter, ChromeShell, LogParserService, TerminalActionBar, TerminalStatusBar, TerminalConnectionStatus, TerminalClearButton, LOG_LEVEL_STYLES, STATUS_COLORS, } from './blocks/Terminal';
22
+ export type { ITerminalPanelChromeProps, ITerminalPanelHeaderProps, ITerminalPanelFooterProps, IChromeShellProps, TChromeShellAccent, TChromeShellSize, TChromeShellSlot, TChromeShellVariant, IParsedLogEntry, TLogLevel, TLogLevelFilter, ITerminalSession, ILevelFilterButton, TTerminalAction, } from './blocks/Terminal';
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react-ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,cAAc,CAAC;AAG7B,cAAc,MAAM,CAAC;AAGrB,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAGxB,cAAc,OAAO,CAAC;AAItB,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,eAAe,EACf,UAAU,EACV,OAAO,EACP,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAc/B,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EAEnB,uBAAuB,EAEvB,gBAAgB,EAEhB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EAEnB,gBAAgB,EAChB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAEV,yBAAyB,EACzB,yBAAyB,EAEzB,eAAe,EACf,SAAS,EACT,eAAe,EAEf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react-ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,cAAc,CAAC;AAG7B,cAAc,MAAM,CAAC;AAGrB,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAGxB,cAAc,OAAO,CAAC;AAItB,OAAO,EACL,OAAO,EACP,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,eAAe,EACf,UAAU,EACV,OAAO,EACP,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EAEnB,WAAW,EAEX,gBAAgB,EAEhB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EAEnB,gBAAgB,EAChB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAEV,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EAEzB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EAEnB,eAAe,EACf,SAAS,EACT,eAAe,EAEf,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
@@ -7,9 +7,9 @@ import { useIsInView } from "./hooks/DOM/UseIsInView.js";
7
7
  import { CountingNumber } from "./primitives/CountingNumber/index.js";
8
8
  import { DOT_MATRIX_PATTERNS, buildDelays } from "./primitives/DotMatrix/patterns.js";
9
9
  import { DotMatrix } from "./primitives/DotMatrix/index.js";
10
+ import { ANIMATION_CONFIGS, ANIMATION_DEFAULTS, EASINGS, EFFECTS, PRESETS, RESPONSIVE_CONFIGS, TIMING, TRANSFORMS, getResponsiveDuration, getResponsiveStagger } from "./primitives/waapi/core/animationConstants.js";
10
11
  import { DEFAULT_GOOEY_CONFIG } from "./primitives/GooeyMorphingSurface/GooeyMorphingSurface.types.js";
11
12
  import { GooeyMorphingSurface } from "./primitives/GooeyMorphingSurface/index.js";
12
- import { ANIMATION_CONFIGS, ANIMATION_DEFAULTS, EASINGS, EFFECTS, PRESETS, RESPONSIVE_CONFIGS, TIMING, TRANSFORMS, getResponsiveDuration, getResponsiveStagger } from "./primitives/waapi/core/animationConstants.js";
13
13
  import { useElementRegistry } from "./primitives/waapi/core/useElementRegistry.js";
14
14
  import { usePositionCapture } from "./primitives/waapi/core/usePositionCapture.js";
15
15
  import { useFLIPAnimation } from "./primitives/waapi/core/useFLIPAnimation.js";
@@ -166,13 +166,13 @@ import "./blocks/BottomNavBar/index.js";
166
166
  import { LogParserService } from "./blocks/Terminal/parsing/LogParserService.js";
167
167
  import { LOG_LEVEL_STYLES, STATUS_COLORS } from "./blocks/Terminal/Terminal.tokens.js";
168
168
  import { TerminalClearButton } from "./blocks/Terminal/controls/TerminalAtoms.js";
169
- import { TerminalSettingsPopover } from "./blocks/Terminal/panel/TerminalSettingsPopover/index.js";
170
169
  import { TerminalActionBar } from "./blocks/Terminal/controls/TerminalActionBar/index.js";
171
170
  import { TerminalConnectionStatus } from "./blocks/Terminal/controls/TerminalConnectionStatus/index.js";
172
171
  import { TerminalStatusBar } from "./blocks/Terminal/controls/TerminalStatusBar/index.js";
173
172
  import { TerminalPanelHeader } from "./blocks/Terminal/panel/TerminalPanelHeader/index.js";
174
173
  import { TerminalPanelChrome } from "./blocks/Terminal/panel/TerminalPanelChrome.js";
174
+ import { ChromeShell } from "./blocks/Terminal/ChromeShell/index.js";
175
175
  import { TerminalPanelFooter } from "./blocks/Terminal/panel/TerminalPanelFooter/index.js";
176
176
  import "./blocks/Terminal/index.js";
177
177
 
178
- export { ANIMATION_CONFIGS, ANIMATION_DEFAULTS, Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionStyles, AccordionTrigger, ActivityIcon, AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPopup, AlertDialogPortal, AlertDialogStyles, AlertDialogTitle, AlertDialogTrigger, AnimationType, ArrowDownToLineIcon, ArrowUpIcon, AutoHeight, Badge, BellElectricIcon, BellIcon, BlurIntensity, BotIcon, BoxIcon, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Check, Checkbox, CheckboxIndicator, CircleCheckIcon, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, CornerBracket, CountingNumber, DEFAULT_ANIMATIONS, DEFAULT_ANIMATION_CONFIG, DEFAULT_CONFIG, DEFAULT_DIMENSIONS, DEFAULT_GLASS_CONFIG, DEFAULT_GOOEY_CONFIG, DEFAULT_SAFE_AREAS, DEFAULT_SPRING_CONFIG, DEFAULT_TWEEN_CONFIG, DEFAULT_VISUAL_STYLE, DOT_MATRIX_PATTERNS, DataCard, DataCardActions, DataCardBracket, DataCardLabel, DataCardToggle, DataCardValue, DeleteIcon, Dialog, DialogBackdrop, DialogClose, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogTitle, DialogTrigger, DotMatrix, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicToggle, DynamicToggleGroup, DynamicToggleOption, EASINGS, EFFECTS, Edit2, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileIcon, FileIconStyles, FileItem, FileItemGitStatusClasses, FileItemStyles, FilePanel, FilePanelStyles, FileTree, FileTreeStyles, FolderIcon, FolderIconStyles, GOOEY_DEFAULTS, Globe, GooeyButton, GooeyCanvas, GooeyFilter, GooeyMorphingSurface, Highlight, HighlightItem, HomeIcon, HugeIcons, IconSize, IconWrapper, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, LOG_LEVEL_STYLES, Label, LabelPosition, Layers, LayoutPanelTopIcon, ListIcon, LogParserService, Menu, MenuArrow, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuGroup, MenuGroupLabel, MenuHighlight, MenuHighlightItem, MenuItem, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuSeparator, MenuShortcut, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, MiddleTruncate, MiddleTruncatePath, MiddleTruncatePathShortRootStyles, MiddleTruncatePathStyles, MiddleTruncateStyles, MobileBottomNav, Morph, MorphPath, MorphingPopover, MorphingPopoverWithTarget, NavItemState, NavSize, NavVariant, OperationCard, OperationCardActions, OperationCardHeader, OperationCardProgress, OperationCardRoot, OperationCardStats, OperationCardStyles, OperationCardVisualizer, PRESETS, Package, Palette, PlusIcon, Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverDescription, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RESPONSIVE_CONFIGS, RefreshCw, ReorderRoot as Reorder, Rocket, SIDEBAR_VISUAL_PRESETS, STATUS_COLORS, Save, SearchIcon, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsIcon, Sidebar, SidebarBorderRadius, SidebarCollapseMode, SidebarContent, SidebarFluidIndicator, SidebarHideBehaviour, SidebarHideOpensBehavior, SidebarIconLibrary, SidebarIndicator, SidebarItem, SidebarLayoutBehaviour, SidebarNav, SidebarSafeArea, SidebarSafeAreaPosition, SidebarSubContent, SidebarSubLink, SidebarTimingFunction, SidebarToggle, SidebarTooltip, SidebarTransitionDuration, SidebarWidth, SidebarZIndex, SlidingNumber, SlidingText, Slot, Switch, SwitchIcon, SwitchThumb, TIMING, TRANSFORMS, Tabs, TabsHighlight, TabsHighlightItem, TabsList, TabsPanel, TabsPanels, TabsTab, TerminalActionBar, TerminalClearButton, TerminalConnectionStatus, TerminalIcon, TerminalPanelChrome, TerminalPanelFooter, TerminalPanelHeader, TerminalSettingsPopover, TerminalStatusBar, TextFlow, Textarea, Tooltip, TooltipArrow, TooltipPopup, TooltipPortal, TooltipPositioner, TooltipProvider, TooltipTrigger, Trash2, TrendingDownIcon, TrendingUpIcon, Type, Upload, XIcon, ZIndexLevel, accordionVariants, badgeVariants, bracketVariants, buildColorMatrixValues, buildDelays, buildFilterString, buttonStateStyles, buttonVariants, calculateSeparatorCoordination, cardVariants, checkboxStyles, cn, computeBlur, dataCardStyles, dataCardVariants, detectIOSVersion, dialogStyles, dynamicToggleStyles, dynamicToggleVariants, fieldVariants, fileIconVariants, fileItemVariants, filePanelVariants, fileTreeVariants, folderIconVariants, generateIndicatorStyles, generateSidebarStyles, getResponsiveDuration, getResponsiveStagger, getStrictContext, iconVariants, inputGroupAddonVariants, inputGroupButtonVariants, labelVariants, middleTruncateVariants, morphPathDown, morphPathUp, badgeVariants$1 as navBadgeVariants, navItemVariants, navListVariants, operationCardVariants, popoverStyles, progressStyles, rootVariants, shouldShowSeparator, spacerVariants, switchStyles, tabsIndicatorVariants, tabsListVariants, tabsTabVariants, tooltipStyles, useAccordionItem, useAlertDialog, useAnimationOrchestrator, useAutoHeight, useCSSGridMorph, useCheckbox, useComboboxAnchor, useControlledState, useDataCard, useDataState, useDialog, useDynamicToggle, useElementRegistry, useFLIPAnimation, useFLIPClipPath, useHighlight, useIOSFixedReset, useIOSSafariFix, useIsInView, useListFormat, useMenu, useMenuActiveValue, useMorph, useMorphContext, useMorphPath, useOperationCard, usePopover, usePositionCapture, useProgress, useReorder, useReorderPresence, useSidebarContext, useSidebarIndicator, useSidebarKeyboard, useSubContent, useSwitch, useTooltip, useViewTransitions };
178
+ export { ANIMATION_CONFIGS, ANIMATION_DEFAULTS, Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionStyles, AccordionTrigger, ActivityIcon, AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPopup, AlertDialogPortal, AlertDialogStyles, AlertDialogTitle, AlertDialogTrigger, AnimationType, ArrowDownToLineIcon, ArrowUpIcon, AutoHeight, Badge, BellElectricIcon, BellIcon, BlurIntensity, BotIcon, BoxIcon, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Check, Checkbox, CheckboxIndicator, ChromeShell, CircleCheckIcon, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, CornerBracket, CountingNumber, DEFAULT_ANIMATIONS, DEFAULT_ANIMATION_CONFIG, DEFAULT_CONFIG, DEFAULT_DIMENSIONS, DEFAULT_GLASS_CONFIG, DEFAULT_GOOEY_CONFIG, DEFAULT_SAFE_AREAS, DEFAULT_SPRING_CONFIG, DEFAULT_TWEEN_CONFIG, DEFAULT_VISUAL_STYLE, DOT_MATRIX_PATTERNS, DataCard, DataCardActions, DataCardBracket, DataCardLabel, DataCardToggle, DataCardValue, DeleteIcon, Dialog, DialogBackdrop, DialogClose, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogTitle, DialogTrigger, DotMatrix, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicToggle, DynamicToggleGroup, DynamicToggleOption, EASINGS, EFFECTS, Edit2, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FileIcon, FileIconStyles, FileItem, FileItemGitStatusClasses, FileItemStyles, FilePanel, FilePanelStyles, FileTree, FileTreeStyles, FolderIcon, FolderIconStyles, GOOEY_DEFAULTS, Globe, GooeyButton, GooeyCanvas, GooeyFilter, GooeyMorphingSurface, Highlight, HighlightItem, HomeIcon, HugeIcons, IconSize, IconWrapper, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, LOG_LEVEL_STYLES, Label, LabelPosition, Layers, LayoutPanelTopIcon, ListIcon, LogParserService, Menu, MenuArrow, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuGroup, MenuGroupLabel, MenuHighlight, MenuHighlightItem, MenuItem, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuSeparator, MenuShortcut, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, MiddleTruncate, MiddleTruncatePath, MiddleTruncatePathShortRootStyles, MiddleTruncatePathStyles, MiddleTruncateStyles, MobileBottomNav, Morph, MorphPath, MorphingPopover, MorphingPopoverWithTarget, NavItemState, NavSize, NavVariant, OperationCard, OperationCardActions, OperationCardHeader, OperationCardProgress, OperationCardRoot, OperationCardStats, OperationCardStyles, OperationCardVisualizer, PRESETS, Package, Palette, PlusIcon, Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverDescription, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RESPONSIVE_CONFIGS, RefreshCw, ReorderRoot as Reorder, Rocket, SIDEBAR_VISUAL_PRESETS, STATUS_COLORS, Save, SearchIcon, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsIcon, Sidebar, SidebarBorderRadius, SidebarCollapseMode, SidebarContent, SidebarFluidIndicator, SidebarHideBehaviour, SidebarHideOpensBehavior, SidebarIconLibrary, SidebarIndicator, SidebarItem, SidebarLayoutBehaviour, SidebarNav, SidebarSafeArea, SidebarSafeAreaPosition, SidebarSubContent, SidebarSubLink, SidebarTimingFunction, SidebarToggle, SidebarTooltip, SidebarTransitionDuration, SidebarWidth, SidebarZIndex, SlidingNumber, SlidingText, Slot, Switch, SwitchIcon, SwitchThumb, TIMING, TRANSFORMS, Tabs, TabsHighlight, TabsHighlightItem, TabsList, TabsPanel, TabsPanels, TabsTab, TerminalActionBar, TerminalClearButton, TerminalConnectionStatus, TerminalIcon, TerminalPanelChrome, TerminalPanelFooter, TerminalPanelHeader, TerminalStatusBar, TextFlow, Textarea, Tooltip, TooltipArrow, TooltipPopup, TooltipPortal, TooltipPositioner, TooltipProvider, TooltipTrigger, Trash2, TrendingDownIcon, TrendingUpIcon, Type, Upload, XIcon, ZIndexLevel, accordionVariants, badgeVariants, bracketVariants, buildColorMatrixValues, buildDelays, buildFilterString, buttonStateStyles, buttonVariants, calculateSeparatorCoordination, cardVariants, checkboxStyles, cn, computeBlur, dataCardStyles, dataCardVariants, detectIOSVersion, dialogStyles, dynamicToggleStyles, dynamicToggleVariants, fieldVariants, fileIconVariants, fileItemVariants, filePanelVariants, fileTreeVariants, folderIconVariants, generateIndicatorStyles, generateSidebarStyles, getResponsiveDuration, getResponsiveStagger, getStrictContext, iconVariants, inputGroupAddonVariants, inputGroupButtonVariants, labelVariants, middleTruncateVariants, morphPathDown, morphPathUp, badgeVariants$1 as navBadgeVariants, navItemVariants, navListVariants, operationCardVariants, popoverStyles, progressStyles, rootVariants, shouldShowSeparator, spacerVariants, switchStyles, tabsIndicatorVariants, tabsListVariants, tabsTabVariants, tooltipStyles, useAccordionItem, useAlertDialog, useAnimationOrchestrator, useAutoHeight, useCSSGridMorph, useCheckbox, useComboboxAnchor, useControlledState, useDataCard, useDataState, useDialog, useDynamicToggle, useElementRegistry, useFLIPAnimation, useFLIPClipPath, useHighlight, useIOSFixedReset, useIOSSafariFix, useIsInView, useListFormat, useMenu, useMenuActiveValue, useMorph, useMorphContext, useMorphPath, useOperationCard, usePopover, usePositionCapture, useProgress, useReorder, useReorderPresence, useSidebarContext, useSidebarIndicator, useSidebarKeyboard, useSubContent, useSwitch, useTooltip, useViewTransitions };
@@ -41,21 +41,22 @@
41
41
  position: absolute;
42
42
  top: 0;
43
43
  left: 50%;
44
- transform: translateX(-50%);
44
+ /* translateZ(0) keeps the filtered region on its own GPU layer so Safari
45
+ * re-renders the gooey filter smoothly while the body rect's geometry is
46
+ * animated via WAAPI (Sileo Safari formula). */
47
+ transform: translateX(-50%) translateZ(0);
48
+ contain: layout style;
45
49
  display: block;
46
50
  overflow: visible;
47
51
  pointer-events: none;
48
52
  }
49
53
 
54
+ /* The body rect's x/y/width/height are driven by the Web Animations API
55
+ * (rect.animate, see index.tsx) — NOT a CSS transition, which WebKit refuses
56
+ * to interpolate on SVG geometry attributes. `will-change` is the only hint
57
+ * left here. */
50
58
  .gms-body-rect {
51
59
  will-change: x, y, width, height;
52
- transition:
53
- x var(--gms-duration) var(--gms-ease),
54
- y var(--gms-duration) var(--gms-ease),
55
- width var(--gms-duration) var(--gms-ease),
56
- height var(--gms-duration) var(--gms-ease),
57
- rx var(--gms-duration) var(--gms-ease),
58
- ry var(--gms-duration) var(--gms-ease);
59
60
  }
60
61
 
61
62
  .gms-pill {
@@ -1,21 +1,3 @@
1
- /**
2
- * GooeyMorphingSurface — headless pill→card gooey morph primitive.
3
- *
4
- * Paints an SVG canvas where a pill-shaped rect sits on top and a card-
5
- * shaped rect sits below (body). Both rects share a gaussian-blur +
6
- * alpha-threshold filter that fuses them into a single silhouette with a
7
- * soft metaball throat wherever they overlap. When `open` is false, the
8
- * body rect is a geometric clone of the pill (same x/y/w/h/rx) — no extra
9
- * halo, no pop. When `open` flips to true, all six SVG presentation attrs
10
- * (x, y, width, height, rx, ry) interpolate in lock-step, producing a
11
- * continuous morph from pill to card.
12
- *
13
- * The primitive is purely presentational: it does not own open state, does
14
- * not bind click handlers, does not trap focus. Use `<GooeyButton>` for
15
- * the ergonomic wrapper that adds those behaviours.
16
- *
17
- * @module @mks2508/mks-ui/react/primitives/GooeyMorphingSurface
18
- */
19
1
  import './gooey-morphing-surface.css';
20
2
  import { type IGooeyMorphingSurfaceProps } from './GooeyMorphingSurface.types';
21
3
  export * from './GooeyMorphingSurface.types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/primitives/GooeyMorphingSurface/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAEN,KAAK,0BAA0B,EAC/B,MAAM,8BAA8B,CAAC;AAEtC,cAAc,8BAA8B,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,EACpC,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,EAAE,UAAU,EAClB,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAiB,GAChC,EAAE,0BAA0B,2CAkH5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/primitives/GooeyMorphingSurface/index.tsx"],"names":[],"mappings":"AAuCA,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAEN,KAAK,0BAA0B,EAC/B,MAAM,8BAA8B,CAAC;AAEtC,cAAc,8BAA8B,CAAC;AAoB7C;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,EACpC,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,EAAE,UAAU,EAClB,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAiB,GAChC,EAAE,0BAA0B,2CAsL5B"}
@@ -1,7 +1,10 @@
1
+ 'use client';
2
+
1
3
  import { cn } from "../../lib/utils.js";
4
+ import { getResponsiveDuration } from "../waapi/core/animationConstants.js";
2
5
  import "./gooey-morphing-surface.js";
3
6
  import { DEFAULT_GOOEY_CONFIG } from "./GooeyMorphingSurface.types.js";
4
- import { useId } from "react";
7
+ import { useEffect, useId, useRef, useState } from "react";
5
8
  import { jsx, jsxs } from "react/jsx-runtime";
6
9
 
7
10
  //#region src/react-ui/primitives/GooeyMorphingSurface/index.tsx
@@ -12,10 +15,23 @@ import { jsx, jsxs } from "react/jsx-runtime";
12
15
  * shaped rect sits below (body). Both rects share a gaussian-blur +
13
16
  * alpha-threshold filter that fuses them into a single silhouette with a
14
17
  * soft metaball throat wherever they overlap. When `open` is false, the
15
- * body rect is a geometric clone of the pill (same x/y/w/h/rx) — no extra
16
- * halo, no pop. When `open` flips to true, all six SVG presentation attrs
17
- * (x, y, width, height, rx, ry) interpolate in lock-step, producing a
18
- * continuous morph from pill to card.
18
+ * body rect is a geometric clone of the pill (same x/y/w/h) — no extra
19
+ * halo, no pop. When `open` flips to true, the body rect's geometry
20
+ * (x, y, width, height) interpolates to the card, producing a continuous
21
+ * morph from pill to card.
22
+ *
23
+ * ── Cross-browser note (the reason this primitive is WAAPI-driven) ──
24
+ * The body rect morphs via the **Web Animations API** (`rect.animate(...)`),
25
+ * NOT a CSS `transition` on the SVG geometry attributes. WebKit/Safari does
26
+ * not interpolate `x/y/width/height` of an `<rect>` through a CSS transition
27
+ * (the morph hard-SNAPS), whereas it DOES animate them through WAAPI. This is
28
+ * the same "Sileo Safari formula" the `GooeyCanvas` primitive uses:
29
+ * - geometry animated via `rect.animate([from], [to], { fill: 'forwards' })`
30
+ * with explicit `px` units (Chrome WAAPI requires units on SVG geom props),
31
+ * - a 1-rAF readiness gate before the first animation,
32
+ * - `lastValues` ref so mid-flight reversals start from the live target,
33
+ * - `transform: translateZ(0)` + a static filter id so Safari keeps the
34
+ * filtered region on its own layer and re-renders it smoothly.
19
35
  *
20
36
  * The primitive is purely presentational: it does not own open state, does
21
37
  * not bind click handlers, does not trap focus. Use `<GooeyButton>` for
@@ -23,6 +39,15 @@ import { jsx, jsxs } from "react/jsx-runtime";
23
39
  *
24
40
  * @module @mks2508/mks-ui/react/primitives/GooeyMorphingSurface
25
41
  */
42
+ /** Build a WAAPI keyframe from a geometry, with the `px` units Chrome needs. */
43
+ function geomKeyframe(g) {
44
+ return {
45
+ x: `${g.x}px`,
46
+ y: `${g.y}px`,
47
+ width: `${g.width}px`,
48
+ height: `${g.height}px`
49
+ };
50
+ }
26
51
  /**
27
52
  * Headless gooey pill→card morph surface.
28
53
  *
@@ -45,11 +70,67 @@ function GooeyMorphingSurface({ open, pill, card, config: userConfig, className,
45
70
  const pillRadius = pillHeight / 2;
46
71
  const svgHeight = pillHeight + cardHeight + mergeOverlap;
47
72
  const pillX = (cardWidth - pillWidth) / 2 + pillOffsetX;
48
- const bodyX = open ? 0 : pillX;
49
- const bodyY = open ? pillHeight - mergeOverlap : 0;
50
- const bodyW = open ? cardWidth : pillWidth;
51
- const bodyH = open ? cardHeight + mergeOverlap : pillHeight;
52
- const bodyR = open ? cardRadius : pillRadius;
73
+ const closedGeom = {
74
+ x: pillX,
75
+ y: 0,
76
+ width: pillWidth,
77
+ height: pillHeight
78
+ };
79
+ const openGeom = {
80
+ x: 0,
81
+ y: pillHeight - mergeOverlap,
82
+ width: cardWidth,
83
+ height: cardHeight + mergeOverlap
84
+ };
85
+ const bodyRectRef = useRef(null);
86
+ const animRef = useRef(null);
87
+ const lastValues = useRef(open ? openGeom : closedGeom);
88
+ const [ready, setReady] = useState(false);
89
+ useEffect(() => {
90
+ const rect = bodyRectRef.current;
91
+ if (!rect) return;
92
+ if (open) {
93
+ lastValues.current = openGeom;
94
+ rect.animate([geomKeyframe(openGeom)], {
95
+ duration: 0,
96
+ fill: "forwards"
97
+ });
98
+ }
99
+ const raf = requestAnimationFrame(() => setReady(true));
100
+ return () => cancelAnimationFrame(raf);
101
+ }, []);
102
+ useEffect(() => {
103
+ const rect = bodyRectRef.current;
104
+ if (!rect || !ready) return;
105
+ const to = open ? openGeom : closedGeom;
106
+ const from = lastValues.current;
107
+ lastValues.current = to;
108
+ const duration = getResponsiveDuration(durationMs);
109
+ if (animRef.current) animRef.current.cancel();
110
+ if (duration === 0) {
111
+ rect.animate([geomKeyframe(to)], {
112
+ duration: 0,
113
+ fill: "forwards"
114
+ });
115
+ return;
116
+ }
117
+ animRef.current = rect.animate([geomKeyframe(from), geomKeyframe(to)], {
118
+ duration,
119
+ easing,
120
+ fill: "forwards"
121
+ });
122
+ }, [
123
+ ready,
124
+ open,
125
+ durationMs,
126
+ easing,
127
+ pillWidth,
128
+ pillHeight,
129
+ cardWidth,
130
+ cardHeight,
131
+ mergeOverlap,
132
+ pillOffsetX
133
+ ]);
53
134
  const rootStyle = {
54
135
  "--gms-pill-w": `${pillWidth}px`,
55
136
  "--gms-pill-h": `${pillHeight}px`,
@@ -111,16 +192,15 @@ function GooeyMorphingSurface({ open, pill, card, config: userConfig, className,
111
192
  ry: pillRadius,
112
193
  fill
113
194
  }), /* @__PURE__ */ jsx("rect", {
195
+ ref: bodyRectRef,
114
196
  className: "gms-body-rect",
115
- fill,
116
- style: {
117
- x: bodyX,
118
- y: bodyY,
119
- width: bodyW,
120
- height: bodyH,
121
- rx: bodyR,
122
- ry: bodyR
123
- }
197
+ x: closedGeom.x,
198
+ y: closedGeom.y,
199
+ width: closedGeom.width,
200
+ height: closedGeom.height,
201
+ rx: cardRadius,
202
+ ry: cardRadius,
203
+ fill
124
204
  })]
125
205
  })]
126
206
  }),
@@ -4,9 +4,9 @@ import { AutoHeight } from "./AutoHeight/index.js";
4
4
  import { CountingNumber } from "./CountingNumber/index.js";
5
5
  import { DOT_MATRIX_PATTERNS, buildDelays } from "./DotMatrix/patterns.js";
6
6
  import { DotMatrix } from "./DotMatrix/index.js";
7
+ import { ANIMATION_CONFIGS, ANIMATION_DEFAULTS, EASINGS, EFFECTS, PRESETS, RESPONSIVE_CONFIGS, TIMING, TRANSFORMS, getResponsiveDuration, getResponsiveStagger } from "./waapi/core/animationConstants.js";
7
8
  import { DEFAULT_GOOEY_CONFIG } from "./GooeyMorphingSurface/GooeyMorphingSurface.types.js";
8
9
  import { GooeyMorphingSurface } from "./GooeyMorphingSurface/index.js";
9
- import { ANIMATION_CONFIGS, ANIMATION_DEFAULTS, EASINGS, EFFECTS, PRESETS, RESPONSIVE_CONFIGS, TIMING, TRANSFORMS, getResponsiveDuration, getResponsiveStagger } from "./waapi/core/animationConstants.js";
10
10
  import { useElementRegistry } from "./waapi/core/useElementRegistry.js";
11
11
  import { usePositionCapture } from "./waapi/core/usePositionCapture.js";
12
12
  import { useFLIPAnimation } from "./waapi/core/useFLIPAnimation.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mks2508/mks-ui",
3
- "version": "0.10.0",
3
+ "version": "0.11.1",
4
4
  "description": "UI component library - Shadcn/Animate UI based with DevEnv components",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",