@mks2508/mks-ui 0.3.1 → 0.4.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/react-ui/blocks/Terminal/ResttyAdapter.d.ts +146 -0
- package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/ResttyAdapter.js +213 -0
- package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts +55 -0
- package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/Terminal.adapter.js +68 -0
- package/dist/react-ui/blocks/Terminal/Terminal.theme.d.ts +43 -0
- package/dist/react-ui/blocks/Terminal/Terminal.theme.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/Terminal.theme.js +59 -0
- package/dist/react-ui/blocks/Terminal/Terminal.theme.restty.d.ts +63 -0
- package/dist/react-ui/blocks/Terminal/Terminal.theme.restty.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/Terminal.theme.restty.js +109 -0
- package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts +351 -0
- package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/TerminalPanel.d.ts +60 -0
- package/dist/react-ui/blocks/Terminal/TerminalPanel.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/TerminalPanel.js +183 -0
- package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts +111 -0
- package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/TerminalRestty.js +185 -0
- package/dist/react-ui/blocks/Terminal/TerminalXterm.d.ts +58 -0
- package/dist/react-ui/blocks/Terminal/TerminalXterm.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/TerminalXterm.js +143 -0
- package/dist/react-ui/blocks/Terminal/XTermAdapter.d.ts +87 -0
- package/dist/react-ui/blocks/Terminal/XTermAdapter.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/XTermAdapter.js +135 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts +160 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges.js +185 -0
- package/dist/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.d.ts +48 -0
- package/dist/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.js +139 -0
- package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts +60 -0
- package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.js +352 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts +36 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.js +52 -0
- package/dist/react-ui/blocks/Terminal/components/index.d.ts +10 -0
- package/dist/react-ui/blocks/Terminal/components/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/components/index.js +4 -0
- package/dist/react-ui/blocks/Terminal/hooks/index.d.ts +11 -0
- package/dist/react-ui/blocks/Terminal/hooks/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/hooks/index.js +2 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalSettings.d.ts +69 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalSettings.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalSettings.js +162 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.d.ts +104 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.js +180 -0
- package/dist/react-ui/blocks/Terminal/index.d.ts +39 -0
- package/dist/react-ui/blocks/Terminal/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/index.js +38 -0
- package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts +58 -0
- package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.js +222 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts +74 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.js +168 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts +42 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.js +175 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts +43 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts +38 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.js +62 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts +67 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts +32 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.js +326 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts +36 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.js +371 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts +67 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.js +417 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts +197 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts +54 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.js +193 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts +57 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts +30 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.js +126 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts +31 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.js +149 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts +35 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts +58 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts +63 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.js +245 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts +24 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.js +225 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts +35 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.js +187 -0
- package/dist/react-ui/blocks/Terminal/panel/index.d.ts +30 -0
- package/dist/react-ui/blocks/Terminal/panel/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module-Bovc57nm.css +60 -0
- package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.js +5 -0
- package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module-QyxHO7cN.css +60 -0
- package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.js +5 -0
- package/dist/react-ui/blocks/Terminal/parsing/BadgeFormatter.d.ts +73 -0
- package/dist/react-ui/blocks/Terminal/parsing/BadgeFormatter.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/BadgeFormatter.js +136 -0
- package/dist/react-ui/blocks/Terminal/parsing/HttpLogParser.d.ts +117 -0
- package/dist/react-ui/blocks/Terminal/parsing/HttpLogParser.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/HttpLogParser.js +174 -0
- package/dist/react-ui/blocks/Terminal/parsing/LogParser.types.d.ts +221 -0
- package/dist/react-ui/blocks/Terminal/parsing/LogParser.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/LogParserService.d.ts +184 -0
- package/dist/react-ui/blocks/Terminal/parsing/LogParserService.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/LogParserService.js +478 -0
- package/dist/react-ui/blocks/Terminal/parsing/MultilineAggregator.d.ts +173 -0
- package/dist/react-ui/blocks/Terminal/parsing/MultilineAggregator.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/MultilineAggregator.js +313 -0
- package/dist/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.d.ts +181 -0
- package/dist/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.js +221 -0
- package/dist/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.d.ts +69 -0
- package/dist/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.js +142 -0
- package/dist/react-ui/blocks/Terminal/parsing/TableParser.d.ts +125 -0
- package/dist/react-ui/blocks/Terminal/parsing/TableParser.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/TableParser.js +245 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.d.ts +165 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.js +225 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.d.ts +164 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.js +285 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.d.ts +188 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.js +178 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/index.d.ts +12 -0
- package/dist/react-ui/blocks/Terminal/parsing/ansi/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/index.d.ts +24 -0
- package/dist/react-ui/blocks/Terminal/parsing/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.d.ts +56 -0
- package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.d.ts +140 -0
- package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.js +325 -0
- package/dist/react-ui/blocks/Terminal/parsing/levels/index.d.ts +10 -0
- package/dist/react-ui/blocks/Terminal/parsing/levels/index.d.ts.map +1 -0
- package/dist/react-ui/blocks/index.d.ts +11 -0
- package/dist/react-ui/blocks/index.d.ts.map +1 -0
- package/dist/react-ui/icons/lucide-animated/activity.js +1 -1
- package/dist/react-ui/icons/lucide-animated/bell-electric.js +1 -1
- package/dist/react-ui/icons/lucide-animated/bell.js +1 -1
- package/dist/react-ui/icons/lucide-animated/bot.js +1 -1
- package/dist/react-ui/icons/lucide-animated/box.js +1 -1
- package/dist/react-ui/icons/lucide-animated/circle-check.js +1 -1
- package/dist/react-ui/icons/lucide-animated/delete.js +1 -1
- package/dist/react-ui/icons/lucide-animated/download.js +1 -1
- package/dist/react-ui/icons/lucide-animated/home.js +1 -1
- package/dist/react-ui/icons/lucide-animated/layout-panel-top.js +1 -1
- package/dist/react-ui/icons/lucide-animated/plus.js +1 -1
- package/dist/react-ui/icons/lucide-animated/search.js +1 -1
- package/dist/react-ui/icons/lucide-animated/settings.js +1 -1
- package/dist/react-ui/icons/lucide-animated/trending-down.js +1 -1
- package/dist/react-ui/icons/lucide-animated/trending-up.js +1 -1
- package/dist/react-ui/icons/lucide-animated/x.js +1 -1
- package/dist/react-ui/index.js +4 -1
- package/dist/react-ui/lib/icon-wrapper.d.ts +37 -0
- package/dist/react-ui/lib/icon-wrapper.d.ts.map +1 -0
- package/dist/react-ui/lib/icon-wrapper.js +55 -0
- package/dist/react-ui/lib/index.d.ts +1 -0
- package/dist/react-ui/lib/index.d.ts.map +1 -1
- package/dist/react-ui/lib/index.js +1 -0
- package/dist/react-ui/primitives/AutoHeight/index.d.ts +1 -1
- package/dist/react-ui/primitives/CountingNumber/index.d.ts +1 -1
- package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.d.ts +1 -1
- package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.styles.d.ts +1 -1
- package/dist/react-ui/ui/Accordion/Accordion.styles.d.ts +1 -1
- package/dist/react-ui/ui/Accordion/Accordion.types.d.ts +1 -1
- package/dist/react-ui/ui/AlertDialog/AlertDialog.styles.d.ts +1 -1
- package/dist/react-ui/ui/AlertDialog/AlertDialog.types.d.ts +1 -1
- package/dist/react-ui/ui/Badge/Badge.styles.d.ts +1 -1
- package/dist/react-ui/ui/Badge/Badge.types.d.ts +1 -1
- package/dist/react-ui/ui/Button/Button.styles.d.ts +2 -2
- package/dist/react-ui/ui/Button/Button.types.d.ts +1 -1
- package/dist/react-ui/ui/Card/Card.styles.d.ts +1 -1
- package/dist/react-ui/ui/Card/Card.types.d.ts +1 -1
- package/dist/react-ui/ui/Checkbox/Checkbox.styles.d.ts +1 -1
- package/dist/react-ui/ui/Checkbox/Checkbox.types.d.ts +1 -1
- package/dist/react-ui/ui/Combobox/Combobox.styles.d.ts +1 -1
- package/dist/react-ui/ui/Combobox/Combobox.types.d.ts +1 -1
- package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.d.ts +2 -2
- package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.js +1 -1
- package/dist/react-ui/ui/CornerBracket/CornerBracket.types.d.ts +1 -1
- package/dist/react-ui/ui/DataCard/DataCard.styles.d.ts +1 -1
- package/dist/react-ui/ui/DataCard/DataCard.types.d.ts +1 -1
- package/dist/react-ui/ui/DataCard/index.d.ts +1 -1
- package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts +1 -1
- package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +1 -1
- package/dist/react-ui/ui/DropdownMenu/DropdownMenu.styles.d.ts +1 -1
- package/dist/react-ui/ui/DropdownMenu/DropdownMenu.types.d.ts +1 -1
- package/dist/react-ui/ui/Field/Field.styles.d.ts +1 -1
- package/dist/react-ui/ui/Field/Field.types.d.ts +1 -1
- package/dist/react-ui/ui/Input/Input.styles.d.ts +1 -1
- package/dist/react-ui/ui/Input/Input.types.d.ts +1 -1
- package/dist/react-ui/ui/InputGroup/InputGroup.styles.d.ts +1 -1
- package/dist/react-ui/ui/InputGroup/InputGroup.types.d.ts +1 -1
- package/dist/react-ui/ui/Label/Label.styles.d.ts +1 -1
- package/dist/react-ui/ui/Label/Label.types.d.ts +1 -1
- package/dist/react-ui/ui/Menu/Menu.styles.d.ts +1 -1
- package/dist/react-ui/ui/Menu/Menu.types.d.ts +2 -2
- package/dist/react-ui/ui/Popover/Popover.styles.d.ts +1 -1
- package/dist/react-ui/ui/Popover/Popover.types.d.ts +1 -1
- package/dist/react-ui/ui/Progress/Progress.styles.d.ts +1 -1
- package/dist/react-ui/ui/Progress/Progress.types.d.ts +2 -2
- package/dist/react-ui/ui/Select/Select.styles.d.ts +1 -1
- package/dist/react-ui/ui/Select/Select.types.d.ts +1 -1
- package/dist/react-ui/ui/Separator/Separator.styles.d.ts +1 -1
- package/dist/react-ui/ui/Separator/Separator.types.d.ts +1 -1
- package/dist/react-ui/ui/Switch/Switch.styles.d.ts +1 -1
- package/dist/react-ui/ui/Switch/Switch.types.d.ts +1 -1
- package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts +43 -25
- package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts.map +1 -1
- package/dist/react-ui/ui/Tabs/Tabs.styles.js +105 -13
- package/dist/react-ui/ui/Tabs/Tabs.types.d.ts +9 -6
- package/dist/react-ui/ui/Tabs/Tabs.types.d.ts.map +1 -1
- package/dist/react-ui/ui/Tabs/index.d.ts +18 -9
- package/dist/react-ui/ui/Tabs/index.d.ts.map +1 -1
- package/dist/react-ui/ui/Tabs/index.js +99 -27
- package/dist/react-ui/ui/TextFlow/TextFlow.styles.d.ts +1 -1
- package/dist/react-ui/ui/Textarea/Textarea.styles.d.ts +1 -1
- package/dist/react-ui/ui/Textarea/Textarea.types.d.ts +1 -1
- package/dist/react-ui/ui/Tooltip/Tooltip.styles.d.ts +1 -1
- package/dist/react-ui/ui/Tooltip/Tooltip.types.d.ts +1 -1
- package/dist/react-ui/ui/index.d.ts +1 -0
- package/dist/react-ui/ui/index.d.ts.map +1 -1
- package/dist/react-ui/ui/index.js +2 -0
- package/package.json +54 -6
- package/src/react-ui/blocks/Terminal/ResttyAdapter.ts +278 -0
- package/src/react-ui/blocks/Terminal/Terminal.adapter.ts +97 -0
- package/src/react-ui/blocks/Terminal/Terminal.theme.restty.ts +155 -0
- package/src/react-ui/blocks/Terminal/Terminal.theme.ts +80 -0
- package/src/react-ui/blocks/Terminal/Terminal.types.ts +438 -0
- package/src/react-ui/blocks/Terminal/TerminalPanel.tsx +269 -0
- package/src/react-ui/blocks/Terminal/TerminalRestty.tsx +326 -0
- package/src/react-ui/blocks/Terminal/TerminalXterm.tsx +230 -0
- package/src/react-ui/blocks/Terminal/XTermAdapter.ts +163 -0
- package/src/react-ui/blocks/Terminal/components/LogLineBadges.tsx +316 -0
- package/src/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.tsx +218 -0
- package/src/react-ui/blocks/Terminal/components/SyntaxHighlight.tsx +386 -0
- package/src/react-ui/blocks/Terminal/components/TerminalLogBadge.tsx +67 -0
- package/src/react-ui/blocks/Terminal/components/index.ts +10 -0
- package/src/react-ui/blocks/Terminal/hooks/index.ts +22 -0
- package/src/react-ui/blocks/Terminal/hooks/useTerminalSettings.ts +229 -0
- package/src/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.ts +292 -0
- package/src/react-ui/blocks/Terminal/index.ts +103 -0
- package/src/react-ui/blocks/Terminal/panel/LogLinesViewer.tsx +330 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalDebugPanel.tsx +242 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.tsx +202 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalFilterTabs.tsx +140 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.tsx +68 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.ts +85 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.tsx +383 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.tsx +439 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.tsx +550 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.ts +259 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.tsx +237 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.ts +76 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelFooter.tsx +112 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelHeader.tsx +178 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.tsx +203 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalSessionControl.tsx +252 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalSessionTabs.tsx +334 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.tsx +261 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalThemeSelector.tsx +248 -0
- package/src/react-ui/blocks/Terminal/panel/index.ts +72 -0
- package/src/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.css +59 -0
- package/src/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.css +59 -0
- package/src/react-ui/blocks/Terminal/parsing/BadgeFormatter.ts +180 -0
- package/src/react-ui/blocks/Terminal/parsing/HttpLogParser.ts +248 -0
- package/src/react-ui/blocks/Terminal/parsing/LogParser.types.ts +283 -0
- package/src/react-ui/blocks/Terminal/parsing/LogParserService.ts +686 -0
- package/src/react-ui/blocks/Terminal/parsing/MultilineAggregator.ts +466 -0
- package/src/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.ts +343 -0
- package/src/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.ts +167 -0
- package/src/react-ui/blocks/Terminal/parsing/TableParser.ts +348 -0
- package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.ts +251 -0
- package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.ts +390 -0
- package/src/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.ts +320 -0
- package/src/react-ui/blocks/Terminal/parsing/ansi/index.ts +20 -0
- package/src/react-ui/blocks/Terminal/parsing/index.ts +69 -0
- package/src/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.ts +68 -0
- package/src/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.ts +436 -0
- package/src/react-ui/blocks/Terminal/parsing/levels/index.ts +14 -0
- package/src/react-ui/blocks/index.ts +11 -0
- package/src/react-ui/icons/lucide-animated/activity.tsx +2 -2
- package/src/react-ui/icons/lucide-animated/bell-electric.tsx +1 -1
- package/src/react-ui/icons/lucide-animated/bell.tsx +2 -2
- package/src/react-ui/icons/lucide-animated/bot.tsx +1 -1
- package/src/react-ui/icons/lucide-animated/box.tsx +2 -2
- package/src/react-ui/icons/lucide-animated/circle-check.tsx +2 -2
- package/src/react-ui/icons/lucide-animated/delete.tsx +2 -2
- package/src/react-ui/icons/lucide-animated/download.tsx +2 -2
- package/src/react-ui/icons/lucide-animated/home.tsx +2 -2
- package/src/react-ui/icons/lucide-animated/layout-panel-top.tsx +1 -1
- package/src/react-ui/icons/lucide-animated/plus.tsx +1 -1
- package/src/react-ui/icons/lucide-animated/search.tsx +1 -1
- package/src/react-ui/icons/lucide-animated/settings.tsx +1 -1
- package/src/react-ui/icons/lucide-animated/trending-down.tsx +2 -2
- package/src/react-ui/icons/lucide-animated/trending-up.tsx +2 -2
- package/src/react-ui/icons/lucide-animated/x.tsx +2 -2
- package/src/react-ui/lib/icon-wrapper.tsx +70 -0
- package/src/react-ui/lib/index.ts +1 -0
- package/src/react-ui/ui/CornerBracket/CornerBracket.styles.ts +1 -1
- package/src/react-ui/ui/Tabs/Tabs.css +39 -0
- package/src/react-ui/ui/Tabs/Tabs.styles.ts +119 -31
- package/src/react-ui/ui/Tabs/Tabs.types.ts +8 -3
- package/src/react-ui/ui/Tabs/index.tsx +135 -27
- package/src/react-ui/ui/index.ts +1 -0
- package/dist/index.css +0 -129
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
//#region src/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.ts
|
|
2
|
+
/**
|
|
3
|
+
* Default log level patterns.
|
|
4
|
+
*
|
|
5
|
+
* Predefined patterns for common log formats and frameworks.
|
|
6
|
+
* Includes support for:
|
|
7
|
+
* - better-logger format (ℹ️ INFO)
|
|
8
|
+
* - Supervisord format (INFO, CRIT)
|
|
9
|
+
* - Next.js symbols (▲ ✓)
|
|
10
|
+
* - ContainerLogs prefix
|
|
11
|
+
*/
|
|
12
|
+
const DEFAULT_PATTERNS = {
|
|
13
|
+
info: [
|
|
14
|
+
/ℹ️\s+INFO/i,
|
|
15
|
+
/ℹ️|🔵|💙|📖|📝/i,
|
|
16
|
+
/▲|✓|ℹ/,
|
|
17
|
+
/\[INFO\]|\(INFO\)|<INFO>|{INFO}/i,
|
|
18
|
+
/\bINFO(?:RMATION)?\b/i,
|
|
19
|
+
/\binfo\b/i,
|
|
20
|
+
/^\s*(?:INFO|Information):\s*/i,
|
|
21
|
+
/\[ContainerLogs\]/i,
|
|
22
|
+
/Ready in|Starting|Local:/i
|
|
23
|
+
],
|
|
24
|
+
warn: [
|
|
25
|
+
/⚠️\s+WARN/i,
|
|
26
|
+
/⚠️|🟡|⚡|🔶/i,
|
|
27
|
+
/⚡|⚠/,
|
|
28
|
+
/\[WARN(?:ING)?\]|\(WARN(?:ING)?\)|<WARN(?:ING)?>|{WARN(?:ING)?}/i,
|
|
29
|
+
/\bWARN(?:ING)?\b/i,
|
|
30
|
+
/\bwarn\b/i,
|
|
31
|
+
/^\s*(?:WARN|WARNING):\s*/i,
|
|
32
|
+
/deprecated|warning/i
|
|
33
|
+
],
|
|
34
|
+
error: [
|
|
35
|
+
/❌\s+ERROR/i,
|
|
36
|
+
/❌|🔴|❗|🚨|⛔|💀/i,
|
|
37
|
+
/✗|✖/,
|
|
38
|
+
/\[ERROR\]|\(ERROR\)|<ERROR>|{ERROR}/i,
|
|
39
|
+
/\bERROR\b/i,
|
|
40
|
+
/\berr(?:or)?\b/i,
|
|
41
|
+
/^\s*ERROR:\s*/i,
|
|
42
|
+
/failed|failure|exception|panic/i
|
|
43
|
+
],
|
|
44
|
+
debug: [
|
|
45
|
+
/🐛\s+DEBUG/i,
|
|
46
|
+
/🐛|🔍|🔬|⚙️/i,
|
|
47
|
+
/\[DEBUG\]|\(DEBUG\)|<DEBUG>|{DEBUG}/i,
|
|
48
|
+
/\bDEBUG\b/i,
|
|
49
|
+
/\bdebug\b/i,
|
|
50
|
+
/^\s*DEBUG:\s*/i
|
|
51
|
+
],
|
|
52
|
+
trace: [
|
|
53
|
+
/\[TRACE\]|\(TRACE\)|<TRACE>|{TRACE}/i,
|
|
54
|
+
/\bTRACE\b/i,
|
|
55
|
+
/\btrace\b/i,
|
|
56
|
+
/^\s*TRACE:\s*/i
|
|
57
|
+
],
|
|
58
|
+
fatal: [
|
|
59
|
+
/🚨\s+CRITICAL/i,
|
|
60
|
+
/💀|🔥|☠️|⚰️|🚨/i,
|
|
61
|
+
/\[FATAL\]|\(FATAL\)|<FATAL>|{FATAL}/i,
|
|
62
|
+
/\[CRITICAL\]|\(CRITICAL\)|<CRITICAL>|{CRITICAL}/i,
|
|
63
|
+
/\bFATAL\b/i,
|
|
64
|
+
/\bCRITICAL\b/i,
|
|
65
|
+
/\bCRIT\b/i,
|
|
66
|
+
/^\s*(?:FATAL|CRITICAL):\s*/i,
|
|
67
|
+
/fatal|critical|emergency/i
|
|
68
|
+
],
|
|
69
|
+
unknown: []
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Log level detector class.
|
|
73
|
+
*
|
|
74
|
+
* Detects log levels from text using pattern matching with
|
|
75
|
+
* confidence scoring. Supports custom patterns and configurable
|
|
76
|
+
* detection strategies.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* const detector = new LogLevelDetector();
|
|
81
|
+
* const result = detector.detect('21:35:28.944 ℹ️ INFO ⦗COMPONENT⦘ Message');
|
|
82
|
+
* // { level: 'info', confidence: 0.9, matched: 'INFO', position: 12 }
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
var LogLevelDetector = class LogLevelDetector {
|
|
86
|
+
/** Combined patterns from defaults and custom additions */
|
|
87
|
+
patterns;
|
|
88
|
+
/** Detection options */
|
|
89
|
+
options;
|
|
90
|
+
/**
|
|
91
|
+
* Create a new log level detector.
|
|
92
|
+
*
|
|
93
|
+
* @param options - Detection options
|
|
94
|
+
*/
|
|
95
|
+
constructor(options = {}) {
|
|
96
|
+
this.options = {
|
|
97
|
+
custom_patterns: [],
|
|
98
|
+
enable_emoji: true,
|
|
99
|
+
enable_brackets: true,
|
|
100
|
+
enable_words: true,
|
|
101
|
+
min_confidence: .5,
|
|
102
|
+
...options
|
|
103
|
+
};
|
|
104
|
+
this.patterns = /* @__PURE__ */ new Map();
|
|
105
|
+
for (const [level, regexes] of Object.entries(DEFAULT_PATTERNS)) {
|
|
106
|
+
const patterns = regexes.map((regex) => ({
|
|
107
|
+
regex,
|
|
108
|
+
level,
|
|
109
|
+
confidence: .8
|
|
110
|
+
}));
|
|
111
|
+
this.patterns.set(level, patterns);
|
|
112
|
+
}
|
|
113
|
+
for (const pattern of this.options.custom_patterns ?? []) this.addPattern(pattern);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Detect log level from text string.
|
|
117
|
+
*
|
|
118
|
+
* Scans text for log level patterns and returns the detection
|
|
119
|
+
* with highest confidence score.
|
|
120
|
+
*
|
|
121
|
+
* @param text - Text to analyze
|
|
122
|
+
* @returns Detection result or level 'unknown' with low confidence
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```ts
|
|
126
|
+
* const result = detector.detect('[INFO] Server started');
|
|
127
|
+
* // { level: 'info', confidence: 0.9, matched: '[INFO]', position: 0 }
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
detect(text) {
|
|
131
|
+
let bestMatch = {
|
|
132
|
+
level: "unknown",
|
|
133
|
+
confidence: 0,
|
|
134
|
+
matched: "",
|
|
135
|
+
position: 0
|
|
136
|
+
};
|
|
137
|
+
for (const [level, patterns] of this.patterns.entries()) for (const pattern of patterns) {
|
|
138
|
+
const match = text.match(pattern.regex);
|
|
139
|
+
if (match) {
|
|
140
|
+
const position = match.index ?? 0;
|
|
141
|
+
const matched = match[0] ?? match[1] ?? "";
|
|
142
|
+
let confidence = pattern.confidence ?? .8;
|
|
143
|
+
if (matched.length <= 5 && matched === matched.toUpperCase()) confidence = Math.min(1, confidence + .1);
|
|
144
|
+
const positionBoost = Math.max(0, 1 - position / 100);
|
|
145
|
+
confidence *= positionBoost;
|
|
146
|
+
if (confidence > bestMatch.confidence) bestMatch = {
|
|
147
|
+
level,
|
|
148
|
+
confidence,
|
|
149
|
+
matched,
|
|
150
|
+
position
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return bestMatch;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Detect log level with default fallback.
|
|
158
|
+
*
|
|
159
|
+
* Returns 'info' as default level instead of 'unknown' for
|
|
160
|
+
* logs without a clear level indicator.
|
|
161
|
+
*
|
|
162
|
+
* @param text - Text to analyze
|
|
163
|
+
* @returns Detected level (defaults to 'info' if unknown)
|
|
164
|
+
*/
|
|
165
|
+
detectOrDefault(text) {
|
|
166
|
+
const result = this.detect(text);
|
|
167
|
+
return result.confidence >= this.options.min_confidence ? result.level : "info";
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Add a custom pattern for a log level.
|
|
171
|
+
*
|
|
172
|
+
* @param pattern - Pattern to add
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```ts
|
|
176
|
+
* detector.addPattern({
|
|
177
|
+
* regex: /\[CUSTOM\]/i,
|
|
178
|
+
* level: 'info',
|
|
179
|
+
* confidence: 0.9
|
|
180
|
+
* });
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
addPattern(pattern) {
|
|
184
|
+
const existing = this.patterns.get(pattern.level) ?? [];
|
|
185
|
+
existing.push(pattern);
|
|
186
|
+
this.patterns.set(pattern.level, existing);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Remove pattern for a level.
|
|
190
|
+
*
|
|
191
|
+
* Removes all patterns matching the given regex for the specified
|
|
192
|
+
* log level.
|
|
193
|
+
*
|
|
194
|
+
* @param level - Log level
|
|
195
|
+
* @param regex - Regex pattern to remove
|
|
196
|
+
* @returns true if pattern was found and removed
|
|
197
|
+
*/
|
|
198
|
+
removePattern(level, regex) {
|
|
199
|
+
const existing = this.patterns.get(level);
|
|
200
|
+
if (!existing) return false;
|
|
201
|
+
const filtered = existing.filter((p) => p.regex !== regex);
|
|
202
|
+
if (filtered.length < existing.length) {
|
|
203
|
+
this.patterns.set(level, filtered);
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Get all patterns for a log level.
|
|
210
|
+
*
|
|
211
|
+
* @param level - Log level
|
|
212
|
+
* @returns Array of patterns for the level
|
|
213
|
+
*/
|
|
214
|
+
getPatterns(level) {
|
|
215
|
+
return this.patterns.get(level) ?? [];
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Clear all custom patterns.
|
|
219
|
+
*
|
|
220
|
+
* Removes all custom patterns and resets to defaults.
|
|
221
|
+
*/
|
|
222
|
+
clearCustomPatterns() {
|
|
223
|
+
this.patterns.clear();
|
|
224
|
+
for (const [level, regexes] of Object.entries(DEFAULT_PATTERNS)) {
|
|
225
|
+
const patterns = regexes.map((regex) => ({
|
|
226
|
+
regex,
|
|
227
|
+
level,
|
|
228
|
+
confidence: .8
|
|
229
|
+
}));
|
|
230
|
+
this.patterns.set(level, patterns);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Detect log level from multiple lines and return consensus.
|
|
235
|
+
*
|
|
236
|
+
* Useful for determining the overall level of a multiline
|
|
237
|
+
* log entry or buffer.
|
|
238
|
+
*
|
|
239
|
+
* @param lines - Array of text lines
|
|
240
|
+
* @returns Consensus level with aggregated confidence
|
|
241
|
+
*/
|
|
242
|
+
detectFromLines(lines) {
|
|
243
|
+
if (lines.length === 0) return {
|
|
244
|
+
level: "unknown",
|
|
245
|
+
confidence: 0,
|
|
246
|
+
matched: "",
|
|
247
|
+
position: 0
|
|
248
|
+
};
|
|
249
|
+
const votes = /* @__PURE__ */ new Map();
|
|
250
|
+
let bestMatch = {
|
|
251
|
+
level: "unknown",
|
|
252
|
+
confidence: 0,
|
|
253
|
+
matched: "",
|
|
254
|
+
position: 0
|
|
255
|
+
};
|
|
256
|
+
for (const line of lines) {
|
|
257
|
+
const result = this.detect(line);
|
|
258
|
+
if (result.confidence >= this.options.min_confidence) {
|
|
259
|
+
votes.set(result.level, (votes.get(result.level) ?? 0) + 1);
|
|
260
|
+
if (result.confidence > bestMatch.confidence) bestMatch = result;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
if (votes.size === 0) return {
|
|
264
|
+
level: "info",
|
|
265
|
+
confidence: .3,
|
|
266
|
+
matched: "",
|
|
267
|
+
position: 0
|
|
268
|
+
};
|
|
269
|
+
let maxVotes = 0;
|
|
270
|
+
let consensusLevel = "info";
|
|
271
|
+
for (const [level, count] of votes.entries()) if (count > maxVotes) {
|
|
272
|
+
maxVotes = count;
|
|
273
|
+
consensusLevel = level;
|
|
274
|
+
}
|
|
275
|
+
return {
|
|
276
|
+
level: consensusLevel,
|
|
277
|
+
confidence: Math.min(1, bestMatch.confidence + .1),
|
|
278
|
+
matched: bestMatch.matched,
|
|
279
|
+
position: bestMatch.position
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Check if text contains a specific log level.
|
|
284
|
+
*
|
|
285
|
+
* @param text - Text to check
|
|
286
|
+
* @param level - Log level to look for
|
|
287
|
+
* @returns true if level is detected with minimum confidence
|
|
288
|
+
*/
|
|
289
|
+
hasLevel(text, level) {
|
|
290
|
+
const result = this.detect(text);
|
|
291
|
+
return result.level === level && result.confidence >= this.options.min_confidence;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Get severity score for a log level.
|
|
295
|
+
*
|
|
296
|
+
* Returns numeric severity (0-6) for comparison and filtering.
|
|
297
|
+
*
|
|
298
|
+
* @param level - Log level
|
|
299
|
+
* @returns Severity score (0=trace, 6=fatal)
|
|
300
|
+
*/
|
|
301
|
+
static getSeverity(level) {
|
|
302
|
+
return {
|
|
303
|
+
trace: 0,
|
|
304
|
+
debug: 1,
|
|
305
|
+
info: 2,
|
|
306
|
+
warn: 3,
|
|
307
|
+
error: 4,
|
|
308
|
+
fatal: 5,
|
|
309
|
+
unknown: 2
|
|
310
|
+
}[level] ?? 2;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Compare two log levels by severity.
|
|
314
|
+
*
|
|
315
|
+
* @param level1 - First log level
|
|
316
|
+
* @param level2 - Second log level
|
|
317
|
+
* @returns Negative if level1 < level2, positive if level1 > level2, 0 if equal
|
|
318
|
+
*/
|
|
319
|
+
static compareSeverity(level1, level2) {
|
|
320
|
+
return LogLevelDetector.getSeverity(level1) - LogLevelDetector.getSeverity(level2);
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
//#endregion
|
|
325
|
+
export { LogLevelDetector };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log level detection module barrel export.
|
|
3
|
+
*
|
|
4
|
+
* Exports log level pattern matching utilities.
|
|
5
|
+
*
|
|
6
|
+
* @module components/devenv/terminal/parsing/levels
|
|
7
|
+
*/
|
|
8
|
+
export { LogLevelDetector } from './LogLevelDetector';
|
|
9
|
+
export type { ILogLevelDetection, ILogLevelPattern, ILogLevelDetectorOptions, } from './LogLevel.types';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/react-ui/blocks/Terminal/parsing/levels/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blocks barrel export.
|
|
3
|
+
*
|
|
4
|
+
* Blocks are high-level, ready-to-use components with full functionality,
|
|
5
|
+
* similar to Shadcn blocks. They compose primitives, UI components, and hooks
|
|
6
|
+
* into complete features.
|
|
7
|
+
*
|
|
8
|
+
* @module @mks2508/mks-ui/react/blocks
|
|
9
|
+
*/
|
|
10
|
+
export * from './Terminal';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react-ui/blocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,YAAY,CAAC"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/activity.tsx
|
|
9
9
|
const VARIANTS = {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/bell-electric.tsx
|
|
9
9
|
const BellElectricIcon = forwardRef(({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/bell.tsx
|
|
9
9
|
const SVG_VARIANTS = {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/bot.tsx
|
|
9
9
|
const BotIcon = forwardRef(({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/box.tsx
|
|
9
9
|
const PATH_VARIANTS = {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/circle-check.tsx
|
|
9
9
|
const PATH_VARIANTS = {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/delete.tsx
|
|
9
9
|
const LID_VARIANTS = {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/download.tsx
|
|
9
9
|
const ARROW_VARIANTS = {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/home.tsx
|
|
9
9
|
const DEFAULT_TRANSITION = {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/layout-panel-top.tsx
|
|
9
9
|
const LayoutPanelTopIcon = forwardRef(({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/plus.tsx
|
|
9
9
|
const PlusIcon = forwardRef(({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/search.tsx
|
|
9
9
|
const SearchIcon = forwardRef(({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/settings.tsx
|
|
9
9
|
const SettingsIcon = forwardRef(({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/trending-down.tsx
|
|
9
9
|
const SVG_VARIANTS = { animate: {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/trending-up.tsx
|
|
9
9
|
const SVG_VARIANTS = { animate: {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { cn } from "../../lib/utils.js";
|
|
4
4
|
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
5
|
+
import { motion, useAnimation } from "motion/react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { motion, useAnimation } from "framer-motion";
|
|
7
7
|
|
|
8
8
|
//#region src/react-ui/icons/lucide-animated/x.tsx
|
|
9
9
|
const PATH_VARIANTS = {
|
package/dist/react-ui/index.js
CHANGED
|
@@ -41,6 +41,7 @@ import { progressStyles } from "./ui/Progress/Progress.styles.js";
|
|
|
41
41
|
import { Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, useProgress } from "./ui/Progress/index.js";
|
|
42
42
|
import { switchStyles } from "./ui/Switch/Switch.styles.js";
|
|
43
43
|
import { Switch, SwitchIcon, SwitchThumb, useSwitch } from "./ui/Switch/index.js";
|
|
44
|
+
import { tabsIndicatorVariants, tabsListVariants, tabsTabVariants } from "./ui/Tabs/Tabs.styles.js";
|
|
44
45
|
import { Tabs, TabsHighlight, TabsHighlightItem, TabsList, TabsPanel, TabsPanels, TabsTab } from "./ui/Tabs/index.js";
|
|
45
46
|
import { tooltipStyles } from "./ui/Tooltip/Tooltip.styles.js";
|
|
46
47
|
import { Tooltip, TooltipArrow, TooltipPopup, TooltipPortal, TooltipPositioner, TooltipProvider, TooltipTrigger, useTooltip } from "./ui/Tooltip/index.js";
|
|
@@ -51,6 +52,7 @@ import { Button } from "./ui/Button/index.js";
|
|
|
51
52
|
import { cardVariants } from "./ui/Card/Card.styles.js";
|
|
52
53
|
import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./ui/Card/index.js";
|
|
53
54
|
import { Input } from "./ui/Input/index.js";
|
|
55
|
+
import { Textarea } from "./ui/Textarea/index.js";
|
|
54
56
|
import { inputGroupAddonVariants, inputGroupButtonVariants } from "./ui/InputGroup/InputGroup.styles.js";
|
|
55
57
|
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./ui/InputGroup/index.js";
|
|
56
58
|
import { Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, useComboboxAnchor } from "./ui/Combobox/index.js";
|
|
@@ -103,6 +105,7 @@ import { Type } from "./icons/lucide-animated/type.js";
|
|
|
103
105
|
import { Upload } from "./icons/lucide-animated/upload.js";
|
|
104
106
|
import { XIcon } from "./icons/lucide-animated/x.js";
|
|
105
107
|
import { HugeIcons } from "./icons/index.js";
|
|
108
|
+
import { IconWrapper } from "./lib/icon-wrapper.js";
|
|
106
109
|
import "./lib/index.js";
|
|
107
110
|
|
|
108
|
-
export { ANIMATION_CONFIGS, ANIMATION_DEFAULTS, Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionStyles, AccordionTrigger, ActivityIcon, AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPopup, AlertDialogPortal, AlertDialogStyles, AlertDialogTitle, AlertDialogTrigger, ArrowDownToLineIcon, ArrowUpIcon, AutoHeight, Badge, BellElectricIcon, BellIcon, 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, DataCard, DataCardActions, DataCardBracket, DataCardLabel, DataCardToggle, DataCardValue, DeleteIcon, Dialog, DialogBackdrop, DialogClose, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogTitle, DialogTrigger, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EASINGS, EFFECTS, Edit2, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Globe, Highlight, HighlightItem, HomeIcon, HugeIcons, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Label, Layers, LayoutPanelTopIcon, ListIcon, Menu, MenuArrow, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuGroup, MenuGroupLabel, MenuHighlight, MenuHighlightItem, MenuItem, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuSeparator, MenuShortcut, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, Morph, MorphingPopover, MorphingPopoverWithTarget, 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, Save, SearchIcon, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsIcon, SlidingNumber, SlidingText, Slot, Switch, SwitchIcon, SwitchThumb, TIMING, TRANSFORMS, Tabs, TabsHighlight, TabsHighlightItem, TabsList, TabsPanel, TabsPanels, TabsTab, TerminalIcon, TextFlow, Tooltip, TooltipArrow, TooltipPopup, TooltipPortal, TooltipPositioner, TooltipProvider, TooltipTrigger, Trash2, TrendingDownIcon, TrendingUpIcon, Type, Upload, XIcon, accordionVariants, badgeVariants, bracketVariants, buttonStateStyles, buttonVariants, calculateSeparatorCoordination, cardVariants, checkboxStyles, cn, dataCardStyles, dataCardVariants, dialogStyles, fieldVariants, getResponsiveDuration, getResponsiveStagger, getStrictContext, inputGroupAddonVariants, inputGroupButtonVariants, popoverStyles, progressStyles, shouldShowSeparator, switchStyles, tooltipStyles, useAccordionItem, useAlertDialog, useAnimationOrchestrator, useAutoHeight, useCSSGridMorph, useCheckbox, useComboboxAnchor, useControlledState, useDataCard, useDataState, useDialog, useElementRegistry, useFLIPAnimation, useFLIPClipPath, useHighlight, useIsInView, useListFormat, useMenu, useMenuActiveValue, useMorph, useMorphContext, usePopover, usePositionCapture, useProgress, useReorder, useReorderPresence, useSwitch, useTooltip, useViewTransitions };
|
|
111
|
+
export { ANIMATION_CONFIGS, ANIMATION_DEFAULTS, Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionStyles, AccordionTrigger, ActivityIcon, AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogPopup, AlertDialogPortal, AlertDialogStyles, AlertDialogTitle, AlertDialogTrigger, ArrowDownToLineIcon, ArrowUpIcon, AutoHeight, Badge, BellElectricIcon, BellIcon, 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, DataCard, DataCardActions, DataCardBracket, DataCardLabel, DataCardToggle, DataCardValue, DeleteIcon, Dialog, DialogBackdrop, DialogClose, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogTitle, DialogTrigger, DownloadIcon, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EASINGS, EFFECTS, Edit2, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Globe, Highlight, HighlightItem, HomeIcon, HugeIcons, IconWrapper, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Label, Layers, LayoutPanelTopIcon, ListIcon, Menu, MenuArrow, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuGroup, MenuGroupLabel, MenuHighlight, MenuHighlightItem, MenuItem, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuSeparator, MenuShortcut, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, Morph, MorphingPopover, MorphingPopoverWithTarget, 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, Save, SearchIcon, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsIcon, SlidingNumber, SlidingText, Slot, Switch, SwitchIcon, SwitchThumb, TIMING, TRANSFORMS, Tabs, TabsHighlight, TabsHighlightItem, TabsList, TabsPanel, TabsPanels, TabsTab, TerminalIcon, TextFlow, Textarea, Tooltip, TooltipArrow, TooltipPopup, TooltipPortal, TooltipPositioner, TooltipProvider, TooltipTrigger, Trash2, TrendingDownIcon, TrendingUpIcon, Type, Upload, XIcon, accordionVariants, badgeVariants, bracketVariants, buttonStateStyles, buttonVariants, calculateSeparatorCoordination, cardVariants, checkboxStyles, cn, dataCardStyles, dataCardVariants, dialogStyles, fieldVariants, getResponsiveDuration, getResponsiveStagger, getStrictContext, inputGroupAddonVariants, inputGroupButtonVariants, popoverStyles, progressStyles, shouldShowSeparator, switchStyles, tabsIndicatorVariants, tabsListVariants, tabsTabVariants, tooltipStyles, useAccordionItem, useAlertDialog, useAnimationOrchestrator, useAutoHeight, useCSSGridMorph, useCheckbox, useComboboxAnchor, useControlledState, useDataCard, useDataState, useDialog, useElementRegistry, useFLIPAnimation, useFLIPClipPath, useHighlight, useIsInView, useListFormat, useMenu, useMenuActiveValue, useMorph, useMorphContext, usePopover, usePositionCapture, useProgress, useReorder, useReorderPresence, useSwitch, useTooltip, useViewTransitions };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Icon Wrapper Component.
|
|
3
|
+
*
|
|
4
|
+
* Ensures consistent sizing across different icon types.
|
|
5
|
+
* Some icons use explicit size props, others use CSS classes.
|
|
6
|
+
*
|
|
7
|
+
* @module @mks2508/mks-ui/react/lib/icon-wrapper
|
|
8
|
+
*/
|
|
9
|
+
import type { HTMLAttributes } from 'react';
|
|
10
|
+
/**
|
|
11
|
+
* Icon wrapper props interface.
|
|
12
|
+
*/
|
|
13
|
+
export interface IIconWrapperProps extends HTMLAttributes<HTMLDivElement> {
|
|
14
|
+
/**
|
|
15
|
+
* The icon component to render.
|
|
16
|
+
* Accepts ComponentType, ForwardRefExoticComponent, or any renderable component.
|
|
17
|
+
* Broad type needed for React 19 compatibility across duplicate @types/react copies.
|
|
18
|
+
*/
|
|
19
|
+
icon: React.ComponentType<any> | React.ExoticComponent<any>;
|
|
20
|
+
/** Size in pixels for icons that use size prop (default: 16) */
|
|
21
|
+
size?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Icon wrapper that ensures consistent sizing across different icon types.
|
|
25
|
+
*
|
|
26
|
+
* Some icons from the UI package use explicit size props (width/height on SVG),
|
|
27
|
+
* while others use CSS classes (w-4 h-4). This wrapper detects the icon type
|
|
28
|
+
* and applies the appropriate sizing method.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <IconWrapper icon={DownloadIcon} size={16} className="text-primary" />
|
|
33
|
+
* <IconWrapper icon={KeyIcon} className="text-muted-foreground" />
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function IconWrapper({ icon: Icon, className, size, ...props }: IIconWrapperProps): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
//# sourceMappingURL=icon-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-wrapper.d.ts","sourceRoot":"","sources":["../../../src/react-ui/lib/icon-wrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAiB5C;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACvE;;;;OAIG;IACH,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5D,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EAAE,IAAI,EACV,SAAS,EACT,IAAS,EACT,GAAG,KAAK,EACT,EAAE,iBAAiB,2CASnB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/react-ui/lib/icon-wrapper.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Icon Wrapper Component.
|
|
8
|
+
*
|
|
9
|
+
* Ensures consistent sizing across different icon types.
|
|
10
|
+
* Some icons use explicit size props, others use CSS classes.
|
|
11
|
+
*
|
|
12
|
+
* @module @mks2508/mks-ui/react/lib/icon-wrapper
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Icons that use explicit size prop instead of CSS classes.
|
|
16
|
+
* These icons have SVG elements with width/height attributes.
|
|
17
|
+
*/
|
|
18
|
+
const SIZEABLE_ICONS = new Set([
|
|
19
|
+
"DownloadIcon",
|
|
20
|
+
"EyeIcon",
|
|
21
|
+
"EyeOffIcon",
|
|
22
|
+
"SearchIcon",
|
|
23
|
+
"XIcon",
|
|
24
|
+
"DeleteIcon",
|
|
25
|
+
"TerminalIcon",
|
|
26
|
+
"PlusIcon"
|
|
27
|
+
]);
|
|
28
|
+
/**
|
|
29
|
+
* Icon wrapper that ensures consistent sizing across different icon types.
|
|
30
|
+
*
|
|
31
|
+
* Some icons from the UI package use explicit size props (width/height on SVG),
|
|
32
|
+
* while others use CSS classes (w-4 h-4). This wrapper detects the icon type
|
|
33
|
+
* and applies the appropriate sizing method.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```tsx
|
|
37
|
+
* <IconWrapper icon={DownloadIcon} size={16} className="text-primary" />
|
|
38
|
+
* <IconWrapper icon={KeyIcon} className="text-muted-foreground" />
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
function IconWrapper({ icon: Icon, className, size = 16, ...props }) {
|
|
42
|
+
const iconName = Icon.displayName || Icon.name || "";
|
|
43
|
+
if (SIZEABLE_ICONS.has(iconName)) return /* @__PURE__ */ jsx(Icon, {
|
|
44
|
+
size,
|
|
45
|
+
className,
|
|
46
|
+
...props
|
|
47
|
+
});
|
|
48
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
49
|
+
className,
|
|
50
|
+
...props
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
export { IconWrapper };
|