@mks2508/mks-ui 0.7.0 → 0.8.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 (214) hide show
  1. package/dist/react-ui/blocks/Terminal/TerminalDisplay.styles.d.ts +1 -1
  2. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts +1 -1
  3. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts +1 -1
  4. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts +1 -1
  5. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts +1 -1
  6. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts +1 -1
  7. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts +1 -1
  8. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts +1 -1
  9. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts +1 -1
  10. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts +1 -1
  11. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts +1 -1
  12. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts +1 -1
  13. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts +1 -1
  14. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts +1 -1
  15. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts +1 -1
  16. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts +1 -1
  17. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.types.d.ts +1 -1
  18. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts +1 -1
  19. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts +1 -1
  20. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts +1 -1
  21. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts +1 -1
  22. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts +0 -1
  23. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts.map +1 -1
  24. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.js +56 -18
  25. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts +1 -1
  26. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts +1 -1
  27. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts +1 -1
  28. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts +1 -1
  29. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts +1 -1
  30. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts +1 -1
  31. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts +1 -1
  32. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts +1 -1
  33. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts +1 -1
  34. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts +1 -1
  35. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts +1 -1
  36. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.types.d.ts +1 -1
  37. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts +1 -1
  38. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts +1 -1
  39. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts +1 -1
  40. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts +1 -1
  41. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts +1 -1
  42. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts +1 -1
  43. package/dist/react-ui/components/MorphingPopover/MorphingPopover.types.d.ts +8 -3
  44. package/dist/react-ui/components/MorphingPopover/MorphingPopover.types.d.ts.map +1 -1
  45. package/dist/react-ui/index.js +24 -1
  46. package/dist/react-ui/primitives/AutoHeight/index.d.ts +1 -1
  47. package/dist/react-ui/primitives/CountingNumber/index.d.ts +1 -1
  48. package/dist/react-ui/primitives/DotMatrix/DotMatrix.types.d.ts +109 -0
  49. package/dist/react-ui/primitives/DotMatrix/DotMatrix.types.d.ts.map +1 -0
  50. package/dist/react-ui/primitives/DotMatrix/dot-matrix-B8DHjPGb.css +364 -0
  51. package/dist/react-ui/primitives/DotMatrix/dot-matrix.js +0 -0
  52. package/dist/react-ui/primitives/DotMatrix/index.d.ts +7 -0
  53. package/dist/react-ui/primitives/DotMatrix/index.d.ts.map +1 -0
  54. package/dist/react-ui/primitives/DotMatrix/index.js +185 -0
  55. package/dist/react-ui/primitives/DotMatrix/patterns.d.ts +32 -0
  56. package/dist/react-ui/primitives/DotMatrix/patterns.d.ts.map +1 -0
  57. package/dist/react-ui/primitives/DotMatrix/patterns.js +175 -0
  58. package/dist/react-ui/primitives/GooeyMorphingSurface/GooeyMorphingSurface.types.d.ts +100 -0
  59. package/dist/react-ui/primitives/GooeyMorphingSurface/GooeyMorphingSurface.types.d.ts.map +1 -0
  60. package/dist/react-ui/primitives/GooeyMorphingSurface/GooeyMorphingSurface.types.js +20 -0
  61. package/dist/react-ui/primitives/GooeyMorphingSurface/gooey-morphing-surface-DfdjAg5U.css +112 -0
  62. package/dist/react-ui/primitives/GooeyMorphingSurface/gooey-morphing-surface.js +0 -0
  63. package/dist/react-ui/primitives/GooeyMorphingSurface/index.d.ts +36 -0
  64. package/dist/react-ui/primitives/GooeyMorphingSurface/index.d.ts.map +1 -0
  65. package/dist/react-ui/primitives/GooeyMorphingSurface/index.js +141 -0
  66. package/dist/react-ui/primitives/index.d.ts +2 -0
  67. package/dist/react-ui/primitives/index.d.ts.map +1 -1
  68. package/dist/react-ui/primitives/index.js +4 -0
  69. package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.d.ts +1 -1
  70. package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.styles.d.ts +1 -1
  71. package/dist/react-ui/ui/Accordion/Accordion.styles.d.ts +1 -1
  72. package/dist/react-ui/ui/Accordion/Accordion.types.d.ts +1 -1
  73. package/dist/react-ui/ui/AlertDialog/AlertDialog.styles.d.ts +1 -1
  74. package/dist/react-ui/ui/AlertDialog/AlertDialog.types.d.ts +1 -1
  75. package/dist/react-ui/ui/Badge/Badge.styles.d.ts +2 -2
  76. package/dist/react-ui/ui/Badge/Badge.types.d.ts +1 -1
  77. package/dist/react-ui/ui/Button/Button.styles.d.ts +2 -2
  78. package/dist/react-ui/ui/Button/Button.types.d.ts +1 -1
  79. package/dist/react-ui/ui/Card/Card.styles.d.ts +1 -1
  80. package/dist/react-ui/ui/Card/Card.types.d.ts +1 -1
  81. package/dist/react-ui/ui/Checkbox/Checkbox.styles.d.ts +1 -1
  82. package/dist/react-ui/ui/Checkbox/Checkbox.types.d.ts +1 -1
  83. package/dist/react-ui/ui/Combobox/Combobox.styles.d.ts +1 -1
  84. package/dist/react-ui/ui/Combobox/Combobox.types.d.ts +1 -1
  85. package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.d.ts +1 -1
  86. package/dist/react-ui/ui/CornerBracket/CornerBracket.types.d.ts +1 -1
  87. package/dist/react-ui/ui/DataCard/DataCard.styles.d.ts +2 -2
  88. package/dist/react-ui/ui/DataCard/DataCard.types.d.ts +1 -1
  89. package/dist/react-ui/ui/DataCard/index.d.ts +1 -1
  90. package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts +1 -1
  91. package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +1 -1
  92. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.styles.d.ts +1 -1
  93. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.types.d.ts +1 -1
  94. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.d.ts +1 -1
  95. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.types.d.ts +1 -1
  96. package/dist/react-ui/ui/Field/Field.styles.d.ts +1 -1
  97. package/dist/react-ui/ui/Field/Field.types.d.ts +1 -1
  98. package/dist/react-ui/ui/FileIcon/FileIcon.styles.d.ts +25 -0
  99. package/dist/react-ui/ui/FileIcon/FileIcon.styles.d.ts.map +1 -0
  100. package/dist/react-ui/ui/FileIcon/FileIcon.styles.js +31 -0
  101. package/dist/react-ui/ui/FileIcon/FileIcon.types.d.ts +89 -0
  102. package/dist/react-ui/ui/FileIcon/FileIcon.types.d.ts.map +1 -0
  103. package/dist/react-ui/ui/FileIcon/index.d.ts +46 -0
  104. package/dist/react-ui/ui/FileIcon/index.d.ts.map +1 -0
  105. package/dist/react-ui/ui/FileIcon/index.js +138 -0
  106. package/dist/react-ui/ui/FileItem/FileItem.styles.d.ts +47 -0
  107. package/dist/react-ui/ui/FileItem/FileItem.styles.d.ts.map +1 -0
  108. package/dist/react-ui/ui/FileItem/FileItem.styles.js +60 -0
  109. package/dist/react-ui/ui/FileItem/FileItem.types.d.ts +84 -0
  110. package/dist/react-ui/ui/FileItem/FileItem.types.d.ts.map +1 -0
  111. package/dist/react-ui/ui/FileItem/index.d.ts +48 -0
  112. package/dist/react-ui/ui/FileItem/index.d.ts.map +1 -0
  113. package/dist/react-ui/ui/FileItem/index.js +124 -0
  114. package/dist/react-ui/ui/FilePanel/FilePanel.styles.d.ts +34 -0
  115. package/dist/react-ui/ui/FilePanel/FilePanel.styles.d.ts.map +1 -0
  116. package/dist/react-ui/ui/FilePanel/FilePanel.styles.js +57 -0
  117. package/dist/react-ui/ui/FilePanel/FilePanel.types.d.ts +55 -0
  118. package/dist/react-ui/ui/FilePanel/FilePanel.types.d.ts.map +1 -0
  119. package/dist/react-ui/ui/FilePanel/index.d.ts +55 -0
  120. package/dist/react-ui/ui/FilePanel/index.d.ts.map +1 -0
  121. package/dist/react-ui/ui/FilePanel/index.js +107 -0
  122. package/dist/react-ui/ui/FileTree/FileTree.styles.d.ts +31 -0
  123. package/dist/react-ui/ui/FileTree/FileTree.styles.d.ts.map +1 -0
  124. package/dist/react-ui/ui/FileTree/FileTree.styles.js +45 -0
  125. package/dist/react-ui/ui/FileTree/FileTree.types.d.ts +95 -0
  126. package/dist/react-ui/ui/FileTree/FileTree.types.d.ts.map +1 -0
  127. package/dist/react-ui/ui/FileTree/index.d.ts +60 -0
  128. package/dist/react-ui/ui/FileTree/index.d.ts.map +1 -0
  129. package/dist/react-ui/ui/FileTree/index.js +226 -0
  130. package/dist/react-ui/ui/GooeyButton/GooeyButton.types.d.ts +35 -0
  131. package/dist/react-ui/ui/GooeyButton/GooeyButton.types.d.ts.map +1 -0
  132. package/dist/react-ui/ui/GooeyButton/gooey-button-8rHWiw0w.css +47 -0
  133. package/dist/react-ui/ui/GooeyButton/gooey-button.js +0 -0
  134. package/dist/react-ui/ui/GooeyButton/index.d.ts +26 -0
  135. package/dist/react-ui/ui/GooeyButton/index.d.ts.map +1 -0
  136. package/dist/react-ui/ui/GooeyButton/index.js +118 -0
  137. package/dist/react-ui/ui/Input/Input.styles.d.ts +1 -1
  138. package/dist/react-ui/ui/Input/Input.types.d.ts +1 -1
  139. package/dist/react-ui/ui/InputGroup/InputGroup.styles.d.ts +1 -1
  140. package/dist/react-ui/ui/InputGroup/InputGroup.types.d.ts +1 -1
  141. package/dist/react-ui/ui/Label/Label.styles.d.ts +1 -1
  142. package/dist/react-ui/ui/Label/Label.types.d.ts +1 -1
  143. package/dist/react-ui/ui/Menu/Menu.styles.d.ts +1 -1
  144. package/dist/react-ui/ui/Menu/Menu.types.d.ts +2 -2
  145. package/dist/react-ui/ui/MiddleTruncatePath/MiddleTruncatePath.styles.d.ts +23 -0
  146. package/dist/react-ui/ui/MiddleTruncatePath/MiddleTruncatePath.styles.d.ts.map +1 -0
  147. package/dist/react-ui/ui/MiddleTruncatePath/MiddleTruncatePath.styles.js +32 -0
  148. package/dist/react-ui/ui/MiddleTruncatePath/MiddleTruncatePath.types.d.ts +43 -0
  149. package/dist/react-ui/ui/MiddleTruncatePath/MiddleTruncatePath.types.d.ts.map +1 -0
  150. package/dist/react-ui/ui/MiddleTruncatePath/index.d.ts +33 -0
  151. package/dist/react-ui/ui/MiddleTruncatePath/index.d.ts.map +1 -0
  152. package/dist/react-ui/ui/MiddleTruncatePath/index.js +60 -0
  153. package/dist/react-ui/ui/OperationCard/OperationCard.context.d.ts +17 -0
  154. package/dist/react-ui/ui/OperationCard/OperationCard.context.d.ts.map +1 -0
  155. package/dist/react-ui/ui/OperationCard/OperationCard.context.js +27 -0
  156. package/dist/react-ui/ui/OperationCard/OperationCard.styles.d.ts +19 -0
  157. package/dist/react-ui/ui/OperationCard/OperationCard.styles.d.ts.map +1 -0
  158. package/dist/react-ui/ui/OperationCard/OperationCard.styles.js +39 -0
  159. package/dist/react-ui/ui/OperationCard/OperationCard.types.d.ts +188 -0
  160. package/dist/react-ui/ui/OperationCard/OperationCard.types.d.ts.map +1 -0
  161. package/dist/react-ui/ui/OperationCard/index.d.ts +45 -0
  162. package/dist/react-ui/ui/OperationCard/index.d.ts.map +1 -0
  163. package/dist/react-ui/ui/OperationCard/index.js +118 -0
  164. package/dist/react-ui/ui/OperationCard/parts/OperationCardActions.d.ts +3 -0
  165. package/dist/react-ui/ui/OperationCard/parts/OperationCardActions.d.ts.map +1 -0
  166. package/dist/react-ui/ui/OperationCard/parts/OperationCardActions.js +86 -0
  167. package/dist/react-ui/ui/OperationCard/parts/OperationCardHeader.d.ts +14 -0
  168. package/dist/react-ui/ui/OperationCard/parts/OperationCardHeader.d.ts.map +1 -0
  169. package/dist/react-ui/ui/OperationCard/parts/OperationCardHeader.js +62 -0
  170. package/dist/react-ui/ui/OperationCard/parts/OperationCardProgress.d.ts +3 -0
  171. package/dist/react-ui/ui/OperationCard/parts/OperationCardProgress.d.ts.map +1 -0
  172. package/dist/react-ui/ui/OperationCard/parts/OperationCardProgress.js +37 -0
  173. package/dist/react-ui/ui/OperationCard/parts/OperationCardStats.d.ts +3 -0
  174. package/dist/react-ui/ui/OperationCard/parts/OperationCardStats.d.ts.map +1 -0
  175. package/dist/react-ui/ui/OperationCard/parts/OperationCardStats.js +42 -0
  176. package/dist/react-ui/ui/OperationCard/parts/OperationCardVisualizer.d.ts +3 -0
  177. package/dist/react-ui/ui/OperationCard/parts/OperationCardVisualizer.d.ts.map +1 -0
  178. package/dist/react-ui/ui/OperationCard/parts/OperationCardVisualizer.js +53 -0
  179. package/dist/react-ui/ui/Popover/Popover.styles.d.ts +1 -1
  180. package/dist/react-ui/ui/Popover/Popover.types.d.ts +1 -1
  181. package/dist/react-ui/ui/Progress/Progress.styles.d.ts +1 -1
  182. package/dist/react-ui/ui/Progress/Progress.types.d.ts +2 -2
  183. package/dist/react-ui/ui/Select/Select.styles.d.ts +1 -1
  184. package/dist/react-ui/ui/Select/Select.types.d.ts +1 -1
  185. package/dist/react-ui/ui/Separator/Separator.styles.d.ts +1 -1
  186. package/dist/react-ui/ui/Separator/Separator.types.d.ts +1 -1
  187. package/dist/react-ui/ui/Switch/Switch.styles.d.ts +1 -1
  188. package/dist/react-ui/ui/Switch/Switch.types.d.ts +1 -1
  189. package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts +4 -4
  190. package/dist/react-ui/ui/Tabs/Tabs.types.d.ts +3 -3
  191. package/dist/react-ui/ui/TextFlow/TextFlow.styles.d.ts +1 -1
  192. package/dist/react-ui/ui/Textarea/Textarea.styles.d.ts +1 -1
  193. package/dist/react-ui/ui/Textarea/Textarea.types.d.ts +1 -1
  194. package/dist/react-ui/ui/Tooltip/Tooltip.styles.d.ts +1 -1
  195. package/dist/react-ui/ui/Tooltip/Tooltip.types.d.ts +1 -1
  196. package/dist/react-ui/ui/index.d.ts +7 -0
  197. package/dist/react-ui/ui/index.d.ts.map +1 -1
  198. package/dist/react-ui/ui/index.js +19 -0
  199. package/package.json +2 -2
  200. package/dist/index.css +0 -1059
  201. package/dist/react-ui/blocks/Sidebar/animations/tooltip.css +0 -330
  202. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.css +0 -60
  203. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.css +0 -60
  204. package/dist/react-ui/components/MorphingPopover/morphing-popover.module.css +0 -154
  205. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module.css +0 -20
  206. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +0 -369
  207. package/dist/react-ui/ui/Tabs/Tabs.css +0 -38
  208. /package/dist/{css/blocks-Sidebar-animations-tooltip.css → react-ui/blocks/Sidebar/animations/tooltip-keyframes-DRT9W6Xj.css} +0 -0
  209. /package/dist/{css/blocks-Terminal-panel-TerminalFilterDropdown-terminal-filter-dropdown.module.css → react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module-G5zpw08N.css} +0 -0
  210. /package/dist/{css/blocks-Terminal-panel-TerminalSessionTabs-terminal-session-tabs.module.css → react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module-BAOuAeiX.css} +0 -0
  211. /package/dist/{css/components-MorphingPopover-morphing-popover.module.css → react-ui/components/MorphingPopover/morphing-popover.module-T3s-wJN-.css} +0 -0
  212. /package/dist/{css/primitives-waapi-Morph-techniques-useViewTransitions.module.css → react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module-DNDWYN8q.css} +0 -0
  213. /package/dist/{css/ui-DynamicToggle-DynamicToggle.css → react-ui/ui/DynamicToggle/DynamicToggle-DY2Hle7P.css} +0 -0
  214. /package/dist/{css/ui-Tabs-Tabs.css → react-ui/ui/Tabs/Tabs-DqzZRGB3.css} +0 -0
@@ -5,6 +5,10 @@ import { useAutoHeight } from "./hooks/Animation/UseAutoHeight.js";
5
5
  import { AutoHeight } from "./primitives/AutoHeight/index.js";
6
6
  import { useIsInView } from "./hooks/DOM/UseIsInView.js";
7
7
  import { CountingNumber } from "./primitives/CountingNumber/index.js";
8
+ import { DOT_MATRIX_PATTERNS, buildDelays } from "./primitives/DotMatrix/patterns.js";
9
+ import { DotMatrix } from "./primitives/DotMatrix/index.js";
10
+ import { DEFAULT_GOOEY_CONFIG } from "./primitives/GooeyMorphingSurface/GooeyMorphingSurface.types.js";
11
+ import { GooeyMorphingSurface } from "./primitives/GooeyMorphingSurface/index.js";
8
12
  import { ANIMATION_CONFIGS, ANIMATION_DEFAULTS, EASINGS, EFFECTS, PRESETS, RESPONSIVE_CONFIGS, TIMING, TRANSFORMS, getResponsiveDuration, getResponsiveStagger } from "./primitives/waapi/core/animationConstants.js";
9
13
  import { useElementRegistry } from "./primitives/waapi/core/useElementRegistry.js";
10
14
  import { usePositionCapture } from "./primitives/waapi/core/usePositionCapture.js";
@@ -56,6 +60,7 @@ import { buttonStateStyles, buttonVariants } from "./ui/Button/Button.styles.js"
56
60
  import { Button } from "./ui/Button/index.js";
57
61
  import { cardVariants } from "./ui/Card/Card.styles.js";
58
62
  import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./ui/Card/index.js";
63
+ import { GooeyButton } from "./ui/GooeyButton/index.js";
59
64
  import { Input } from "./ui/Input/index.js";
60
65
  import { Textarea } from "./ui/Textarea/index.js";
61
66
  import { inputGroupAddonVariants, inputGroupButtonVariants } from "./ui/InputGroup/InputGroup.styles.js";
@@ -68,6 +73,24 @@ import { Label } from "./ui/Label/index.js";
68
73
  import { Separator } from "./ui/Separator/index.js";
69
74
  import { fieldVariants } from "./ui/Field/Field.styles.js";
70
75
  import { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle } from "./ui/Field/index.js";
76
+ import { FileIconStyles, FolderIconStyles, fileIconVariants, folderIconVariants } from "./ui/FileIcon/FileIcon.styles.js";
77
+ import { FileIcon, FolderIcon } from "./ui/FileIcon/index.js";
78
+ import { MiddleTruncatePathStyles, middleTruncatePathVariants } from "./ui/MiddleTruncatePath/MiddleTruncatePath.styles.js";
79
+ import { MiddleTruncatePath } from "./ui/MiddleTruncatePath/index.js";
80
+ import { FileItemGitStatusClasses, FileItemStyles, fileItemVariants } from "./ui/FileItem/FileItem.styles.js";
81
+ import { FileItem } from "./ui/FileItem/index.js";
82
+ import { FilePanelStyles, filePanelVariants } from "./ui/FilePanel/FilePanel.styles.js";
83
+ import { FilePanel } from "./ui/FilePanel/index.js";
84
+ import { FileTreeStyles, fileTreeVariants } from "./ui/FileTree/FileTree.styles.js";
85
+ import { FileTree } from "./ui/FileTree/index.js";
86
+ import { useOperationCard } from "./ui/OperationCard/OperationCard.context.js";
87
+ import { OperationCardStyles, operationCardVariants } from "./ui/OperationCard/OperationCard.styles.js";
88
+ import { OperationCardHeader } from "./ui/OperationCard/parts/OperationCardHeader.js";
89
+ import { OperationCardVisualizer } from "./ui/OperationCard/parts/OperationCardVisualizer.js";
90
+ import { OperationCardStats } from "./ui/OperationCard/parts/OperationCardStats.js";
91
+ import { OperationCardProgress } from "./ui/OperationCard/parts/OperationCardProgress.js";
92
+ import { OperationCardActions } from "./ui/OperationCard/parts/OperationCardActions.js";
93
+ import { OperationCard, OperationCardRoot } from "./ui/OperationCard/index.js";
71
94
  import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from "./ui/Select/index.js";
72
95
  import { dataCardStyles, dataCardVariants } from "./ui/DataCard/DataCard.styles.js";
73
96
  import { DataCard, DataCardActions, DataCardBracket, DataCardLabel, DataCardToggle, DataCardValue, useDataCard } from "./ui/DataCard/index.js";
@@ -154,4 +177,4 @@ import { terminalDisplayStyles, terminalDisplayVariants } from "./blocks/Termina
154
177
  import { TerminalDisplay } from "./blocks/Terminal/TerminalDisplay.js";
155
178
  import "./blocks/Terminal/index.js";
156
179
 
157
- 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_SAFE_AREAS, DEFAULT_SPRING_CONFIG, DEFAULT_TWEEN_CONFIG, DEFAULT_VISUAL_STYLE, 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, DynamicToggle, DynamicToggleGroup, DynamicToggleOption, EASINGS, EFFECTS, Edit2, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, GOOEY_DEFAULTS, Globe, GooeyCanvas, GooeyFilter, Highlight, HighlightItem, HomeIcon, HugeIcons, IconSize, IconWrapper, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, LOG_LEVEL_STYLES, Label, LabelPosition, Layers, LayoutPanelTopIcon, ListIcon, LogLinesViewer, LogParserService, Menu, MenuArrow, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuGroup, MenuGroupLabel, MenuHighlight, MenuHighlightItem, MenuItem, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuSeparator, MenuShortcut, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, MobileBottomNav, Morph, MorphPath, MorphingPopover, MorphingPopoverWithTarget, NavItemState, NavSize, NavVariant, 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, TerminalDisplay, TerminalIcon, TerminalLogsPanel, TerminalPanelChrome, TerminalPanelFooter, TerminalPanelHeader, TerminalStatusBar, TextFlow, Textarea, Tooltip, TooltipArrow, TooltipPopup, TooltipPortal, TooltipPositioner, TooltipProvider, TooltipTrigger, Trash2, TrendingDownIcon, TrendingUpIcon, Type, Upload, XIcon, ZIndexLevel, accordionVariants, badgeVariants, bracketVariants, buildColorMatrixValues, buildFilterString, buttonStateStyles, buttonVariants, calculateSeparatorCoordination, cardVariants, checkboxStyles, cn, computeBlur, dataCardStyles, dataCardVariants, detectIOSVersion, dialogStyles, dynamicToggleStyles, dynamicToggleVariants, fieldVariants, generateIndicatorStyles, generateSidebarStyles, getResponsiveDuration, getResponsiveStagger, getStrictContext, iconVariants, inputGroupAddonVariants, inputGroupButtonVariants, labelVariants, morphPathDown, morphPathUp, badgeVariants$1 as navBadgeVariants, navItemVariants, navListVariants, popoverStyles, progressStyles, rootVariants, shouldShowSeparator, spacerVariants, switchStyles, tabsIndicatorVariants, tabsListVariants, tabsTabVariants, terminalDisplayStyles, terminalDisplayVariants, terminalLogsPanelStyles, 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, usePopover, usePositionCapture, useProgress, useReorder, useReorderPresence, useSidebarContext, useSidebarIndicator, useSidebarKeyboard, useSubContent, useSwitch, useTooltip, useViewTransitions };
180
+ 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, LogLinesViewer, LogParserService, Menu, MenuArrow, MenuCheckboxItem, MenuCheckboxItemIndicator, MenuGroup, MenuGroupLabel, MenuHighlight, MenuHighlightItem, MenuItem, MenuPopup, MenuPortal, MenuPositioner, MenuRadioGroup, MenuRadioItem, MenuRadioItemIndicator, MenuSeparator, MenuShortcut, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, MiddleTruncatePath, MiddleTruncatePathStyles, 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, TerminalDisplay, TerminalIcon, TerminalLogsPanel, 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, middleTruncatePathVariants, morphPathDown, morphPathUp, badgeVariants$1 as navBadgeVariants, navItemVariants, navListVariants, operationCardVariants, popoverStyles, progressStyles, rootVariants, shouldShowSeparator, spacerVariants, switchStyles, tabsIndicatorVariants, tabsListVariants, tabsTabVariants, terminalDisplayStyles, terminalDisplayVariants, terminalLogsPanelStyles, 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 };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type HTMLMotionProps, type LegacyAnimationControls, type TargetAndTransition, type Transition } from 'motion/react';
3
- import { type WithAsChild } from '../../../react-ui/primitives/Slot';
3
+ import { type WithAsChild } from '@/react-ui/primitives/Slot';
4
4
  /** Props for the AutoHeight primitive component. */
5
5
  type IAutoHeightProps = WithAsChild<{
6
6
  children: React.ReactNode;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { type SpringOptions } from 'motion/react';
3
- import { type IUseIsInViewOptions } from '../../../react-ui/hooks/DOM/UseIsInView';
3
+ import { type IUseIsInViewOptions } from '@/react-ui/hooks/DOM/UseIsInView';
4
4
  /** Props for the CountingNumber primitive. */
5
5
  type ICountingNumberProps = Omit<React.ComponentProps<'span'>, 'children'> & {
6
6
  /** Target number to animate to. */
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Type surface for the DotMatrix primitive.
3
+ *
4
+ * DotMatrix is a pattern-driven rows×cols grid inspired by the
5
+ * 3-pixel-grid concept (MetaHeavies). A `pattern` generates per-cell
6
+ * delays; the engine runs a continuous cycle (fade-in staggered →
7
+ * hold → fade-out staggered → hold-off → repeat) so the matrix reads
8
+ * as a living indicator.
9
+ *
10
+ * `status` is a *lifecycle event* — not a variant. It captures the
11
+ * cycle where it is:
12
+ * - `running` → cycle plays (default)
13
+ * - `idle` → cycle paused, all cells off
14
+ * - `success` → cycle stopped, all cells forced on
15
+ * - `failed` → cycle frozen; ON cells → destructive, OFF cells
16
+ * stay as cancelled-muted
17
+ * - `cancelled`→ cycle frozen; ON cells fade to muted
18
+ *
19
+ * Colour + bloom + accent overlays are orthogonal.
20
+ *
21
+ * @module @mks2508/mks-ui/react/primitives/DotMatrix
22
+ */
23
+ import type { SlotOverrides } from '@/core/types';
24
+ import type { DotMatrixPattern } from './patterns';
25
+ export type { DotMatrixPattern } from './patterns';
26
+ /** Lifecycle status. Applied as a CSS data-attr on the root. */
27
+ export type DotMatrixStatus = 'idle' | 'running' | 'success' | 'failed' | 'cancelled';
28
+ /**
29
+ * Colour palette. `foreground` / `primary` / `destructive` / `warning`
30
+ * map to theme tokens (mks-ui RULE 0). The others are opinionated
31
+ * neon/industrial hues ported from 3-pixel-grid in OKLCH for contrast
32
+ * stability across themes.
33
+ */
34
+ export type DotMatrixColor = 'foreground' | 'primary' | 'destructive' | 'warning' | 'cyan' | 'magenta' | 'yellow' | 'green' | 'orange' | 'blue' | 'red' | 'purple' | 'teal' | 'pink' | 'lime' | 'white';
35
+ /** Where accent highlights live. */
36
+ export type DotMatrixAccentRow = 'top' | 'bottom' | 'both';
37
+ /** Slots consumers can override with className overrides. */
38
+ export type DotMatrixSlot = 'root' | 'cell';
39
+ /** Visual variant. `glow` adds a soft box-shadow on ON cells. */
40
+ export type DotMatrixVariant = 'solid' | 'glow';
41
+ /**
42
+ * @deprecated Superseded by the progressive-fill model. Kept as an empty
43
+ * alias so older call sites compile; the prop is no longer read.
44
+ */
45
+ export type DotMatrixSweepStyle = 'stepped' | 'wave' | 'trail' | 'pulse';
46
+ export interface IDotMatrixProps {
47
+ /** Rows. Default: 6. */
48
+ rows?: number;
49
+ /** Cols. Default: 18. */
50
+ cols?: number;
51
+ /** Pattern name that determines per-cell delay distribution. */
52
+ pattern?: DotMatrixPattern;
53
+ /** Milliseconds per cell during the fill sweep. Default: 120. */
54
+ patternStep?: number;
55
+ /**
56
+ * Steps the grid stays fully lit after the fill completes, before
57
+ * the reset. Larger values give a longer "fully loaded" pause.
58
+ * Default: 6.
59
+ */
60
+ holdSteps?: number;
61
+ /**
62
+ * Empty steps between the reset and the next fill (silence period).
63
+ * Default: 4.
64
+ */
65
+ restSteps?: number;
66
+ /**
67
+ * How sharp the transition is when a cell's threshold is crossed.
68
+ * Higher = crisper snap. 50 is nearly-stepped with a tiny
69
+ * anti-aliased edge; 5-10 gives a warm fade-in that overlaps across
70
+ * neighbouring cells. Default: 50.
71
+ */
72
+ edgeSharpness?: number;
73
+ /** @deprecated Replaced by the progressive-fill model. No longer read. */
74
+ sweepStyle?: DotMatrixSweepStyle;
75
+ /** @deprecated Replaced by the progressive-fill model. No longer read. */
76
+ patternHold?: number;
77
+ /**
78
+ * External progress in 0..1. When provided, freezes the internal
79
+ * fill animation and drives `--dm-phase` directly from this value
80
+ * — cells light up exactly up to the threshold. Useful for real
81
+ * progress indicators (file transfers, loading bars) where the
82
+ * matrix should reflect a known percentage rather than cycling.
83
+ */
84
+ progress?: number;
85
+ /** Lifecycle status. Default: `running`. */
86
+ status?: DotMatrixStatus;
87
+ /** Palette colour. Default: `foreground`. */
88
+ color?: DotMatrixColor;
89
+ /**
90
+ * Enable the bloom SVG filter. `true` uses the default intensity (4),
91
+ * a number sets the blur radius.
92
+ */
93
+ bloom?: boolean | number;
94
+ /** Visual variant. Default: `solid`. */
95
+ variant?: DotMatrixVariant;
96
+ /** Number of accent cells highlighted (e.g. "3 new commits"). Default: 0. */
97
+ accentCount?: number;
98
+ /** Where accent cells sit. Default: `top`. */
99
+ accentRow?: DotMatrixAccentRow;
100
+ /** Explicit accent positions — overrides `accentCount` / `accentRow`. */
101
+ accentPositions?: ReadonlyArray<readonly [row: number, col: number]>;
102
+ /** Per-slot className overrides. */
103
+ slots?: SlotOverrides<DotMatrixSlot>;
104
+ /** Extra className for the root grid container. */
105
+ className?: string;
106
+ /** aria-label for the decorative grid. */
107
+ 'aria-label'?: string;
108
+ }
109
+ //# sourceMappingURL=DotMatrix.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DotMatrix.types.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/primitives/DotMatrix/DotMatrix.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,gEAAgE;AAChE,MAAM,MAAM,eAAe,GACxB,MAAM,GACN,SAAS,GACT,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEf;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GACvB,YAAY,GACZ,SAAS,GACT,aAAa,GACb,SAAS,GACT,MAAM,GACN,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,CAAC;AAEX,oCAAoC;AACpC,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,iEAAiE;AACjE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC/B,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gEAAgE;IAChE,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAEzB,wCAAwC;IACxC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,yEAAyE;IACzE,eAAe,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAErE,oCAAoC;IACpC,KAAK,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACrC,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,364 @@
1
+ /* =============================================================================
2
+ * DotMatrix — progressive fill model.
3
+ *
4
+ * Cells light up one at a time in `pattern` order, stay lit until the
5
+ * cycle resets, then repeat. Implementation uses ONE CSS animation per
6
+ * matrix that drives a registered custom property `--dm-phase` from
7
+ * 0 → 1 (fill), holds it at 1 (hold), then snaps back to 0 (reset)
8
+ * for a rest period.
9
+ *
10
+ * Each cell carries a `--dm-threshold` (its position in the fill
11
+ * sequence, 0..1) and computes its own `::before` opacity as a step
12
+ * across `phase - threshold`, multiplied by `--dm-edge-sharpness` so
13
+ * the edge can range from "instant snap" to "warm fade".
14
+ *
15
+ * Perf shape: N matrices = N animations total (not N × cells). Cell
16
+ * opacity is computed at paint time by calc(); the compositor batches
17
+ * updates via the shared phase var. With `contain: layout style paint`
18
+ * each cell is isolated so work doesn't cascade.
19
+ * ============================================================================= */
20
+
21
+ @property --dm-phase {
22
+ syntax: '<number>';
23
+ initial-value: 0;
24
+ inherits: true;
25
+ }
26
+
27
+ .dm-root {
28
+ display: grid;
29
+ width: 100%;
30
+ gap: var(--dm-gap, 5px);
31
+ padding: var(--dm-pad, 0.25rem);
32
+ border-radius: 0.5rem;
33
+ background-color: transparent;
34
+
35
+ /* Skip render work when the matrix is offscreen. */
36
+ content-visibility: auto;
37
+ contain-intrinsic-size: auto 200px;
38
+ transform: translateZ(0);
39
+
40
+ --dm-on: var(--foreground);
41
+ --dm-off: color-mix(in oklch, var(--foreground) 12%, transparent);
42
+ --dm-glow: color-mix(in oklch, var(--foreground) 50%, transparent);
43
+ }
44
+
45
+ /* ─── Cell: base OFF layer — neutral dim ──────────────────────────────── */
46
+
47
+ .dm-cell {
48
+ position: relative;
49
+ aspect-ratio: 1 / 1;
50
+ min-width: 4px;
51
+ min-height: 4px;
52
+ border-radius: var(--dm-radius, 32%);
53
+ background-color: color-mix(in oklch, var(--foreground) 10%, transparent);
54
+ opacity: var(--dm-off-opacity, 0.45);
55
+ transform: scale(var(--dm-off-scale, 0.9));
56
+ contain: layout style paint;
57
+
58
+ --dm-threshold: 0;
59
+ --dm-stagger-delay: 0ms;
60
+ }
61
+
62
+ /* ─── Pseudo: ON layer — LED look, fades in as phase crosses threshold ─ */
63
+
64
+ .dm-cell::before {
65
+ content: '';
66
+ position: absolute;
67
+ inset: 0;
68
+ border-radius: inherit;
69
+ background-color: var(--dm-on);
70
+ background-image:
71
+ radial-gradient(
72
+ circle at 32% 26%,
73
+ rgb(255 255 255 / 0.35) 0%,
74
+ rgb(255 255 255 / 0.12) 18%,
75
+ transparent 48%
76
+ ),
77
+ radial-gradient(
78
+ circle at 70% 78%,
79
+ rgb(0 0 0 / 0.22) 0%,
80
+ transparent 60%
81
+ );
82
+ box-shadow:
83
+ inset 0 0 1px rgb(255 255 255 / 0.55),
84
+ inset 0 0 0 1px color-mix(in oklch, var(--dm-on) 65%, transparent),
85
+ inset 0 -1px 2px color-mix(in oklch, var(--dm-on) 40%, black 20%);
86
+ opacity: 0;
87
+ pointer-events: none;
88
+ }
89
+
90
+ .dm-root[data-variant='glow'] .dm-cell::before {
91
+ box-shadow:
92
+ inset 0 0 1px rgb(255 255 255 / 0.55),
93
+ inset 0 0 0 1px color-mix(in oklch, var(--dm-on) 65%, transparent),
94
+ inset 0 -1px 2px color-mix(in oklch, var(--dm-on) 40%, black 20%),
95
+ 0 0 2px var(--dm-glow),
96
+ 0 0 6px var(--dm-glow),
97
+ 0 0 12px color-mix(in oklch, var(--dm-glow) 55%, transparent);
98
+ }
99
+
100
+ /* ─── Running: phase animates on root, cells derive state from it ────── */
101
+
102
+ .dm-root[data-status='running'] {
103
+ animation-name: var(--dm-anim-phase);
104
+ animation-duration: var(--dm-cycle-total, 2600ms);
105
+ animation-iteration-count: infinite;
106
+ animation-timing-function: linear;
107
+ animation-fill-mode: both;
108
+ }
109
+
110
+ /* Lit fraction for THIS cell — 0 when off, 1 when fully filled, ramped
111
+ * near the threshold by `--dm-edge-sharpness`. Reused by both the pseudo
112
+ * opacity (the LED glow) and the cell's scale (grows when lit). */
113
+ .dm-root[data-status='running'] .dm-cell {
114
+ opacity: 1;
115
+ transform: scale(
116
+ calc(
117
+ var(--dm-off-scale, 0.88) +
118
+ (var(--dm-on-scale, 1) - var(--dm-off-scale, 0.88)) *
119
+ clamp(
120
+ 0,
121
+ (var(--dm-phase) - var(--dm-threshold)) *
122
+ var(--dm-edge-sharpness, 50),
123
+ 1
124
+ )
125
+ )
126
+ );
127
+ }
128
+
129
+ .dm-root[data-status='running'] .dm-cell::before {
130
+ opacity: clamp(
131
+ 0,
132
+ calc(
133
+ (var(--dm-phase) - var(--dm-threshold)) *
134
+ var(--dm-edge-sharpness, 50)
135
+ ),
136
+ 1
137
+ );
138
+ }
139
+
140
+ /* ─── Accent cells ────────────────────────────────────────────────────── */
141
+
142
+ .dm-cell[data-accent='true'] {
143
+ opacity: 1;
144
+ transform: scale(1);
145
+ }
146
+
147
+ .dm-cell[data-accent='true']::before {
148
+ background-color: var(--primary);
149
+ background-image: none;
150
+ box-shadow:
151
+ inset 0 0 1px rgb(255 255 255 / 0.5),
152
+ 0 0 3px color-mix(in oklch, var(--primary) 70%, transparent),
153
+ 0 0 7px color-mix(in oklch, var(--primary) 50%, transparent);
154
+ opacity: 1 !important;
155
+ }
156
+
157
+ /* ─── Lifecycle FINAL animations ──────────────────────────────────────── */
158
+
159
+ @keyframes dm-success-pop {
160
+ 0% {
161
+ transform: scale(0.94);
162
+ filter: brightness(0.7);
163
+ }
164
+ 45% {
165
+ transform: scale(1.18);
166
+ filter: brightness(1.4);
167
+ }
168
+ 100% {
169
+ transform: scale(1);
170
+ filter: brightness(1);
171
+ }
172
+ }
173
+
174
+ @keyframes dm-fail-strobe {
175
+ 0% {
176
+ transform: scale(1);
177
+ filter: brightness(1);
178
+ }
179
+ 22% {
180
+ transform: scale(1.22);
181
+ filter: brightness(1.55) saturate(1.4);
182
+ }
183
+ 55% {
184
+ transform: scale(0.92);
185
+ filter: brightness(0.75);
186
+ }
187
+ 100% {
188
+ transform: scale(0.97);
189
+ filter: brightness(1);
190
+ }
191
+ }
192
+
193
+ @keyframes dm-cancelled-dim {
194
+ 0% {
195
+ transform: scale(1);
196
+ opacity: 1;
197
+ }
198
+ 100% {
199
+ transform: scale(0.9);
200
+ opacity: 0.55;
201
+ }
202
+ }
203
+
204
+ .dm-root[data-status='success'] {
205
+ animation: none;
206
+ }
207
+ .dm-root[data-status='success'] .dm-cell {
208
+ opacity: 1;
209
+ transform: scale(1);
210
+ animation: dm-success-pop 520ms cubic-bezier(0.2, 0, 0.2, 1) both;
211
+ animation-delay: var(--dm-stagger-delay, 0ms);
212
+ }
213
+ .dm-root[data-status='success'] .dm-cell::before {
214
+ opacity: 1;
215
+ }
216
+
217
+ .dm-root[data-status='failed'] {
218
+ animation: none;
219
+ }
220
+ .dm-root[data-status='failed'] .dm-cell {
221
+ opacity: 1;
222
+ animation: dm-fail-strobe 560ms cubic-bezier(0.2, 0, 0.2, 1) both;
223
+ animation-delay: var(--dm-stagger-delay, 0ms);
224
+ }
225
+ .dm-root[data-status='failed'] .dm-cell::before {
226
+ background-color: var(--destructive);
227
+ box-shadow:
228
+ inset 0 0 1px rgb(255 255 255 / 0.5),
229
+ inset 0 0 0 1px color-mix(in oklch, var(--destructive) 55%, transparent),
230
+ inset 0 -1px 2px color-mix(in oklch, var(--destructive) 40%, black 20%);
231
+ opacity: 1;
232
+ }
233
+ .dm-root[data-status='failed'][data-variant='glow'] .dm-cell::before {
234
+ box-shadow:
235
+ inset 0 0 1px rgb(255 255 255 / 0.55),
236
+ inset 0 0 0 1px color-mix(in oklch, var(--destructive) 55%, transparent),
237
+ inset 0 -1px 2px color-mix(in oklch, var(--destructive) 40%, black 20%),
238
+ 0 0 3px color-mix(in oklch, var(--destructive) 70%, transparent),
239
+ 0 0 9px color-mix(in oklch, var(--destructive) 55%, transparent);
240
+ }
241
+
242
+ .dm-root[data-status='cancelled'] {
243
+ animation: none;
244
+ }
245
+ .dm-root[data-status='cancelled'] .dm-cell {
246
+ background-color: color-mix(in oklch, var(--foreground) 22%, transparent);
247
+ opacity: 0.65;
248
+ animation: dm-cancelled-dim 380ms cubic-bezier(0.4, 0, 0.8, 0.6) both;
249
+ animation-delay: var(--dm-stagger-delay, 0ms);
250
+ }
251
+ .dm-root[data-status='cancelled'] .dm-cell::before {
252
+ opacity: 0;
253
+ }
254
+
255
+ .dm-root[data-status='idle'] {
256
+ animation: none;
257
+ }
258
+ .dm-root[data-status='idle'] .dm-cell::before {
259
+ opacity: 0;
260
+ }
261
+
262
+ /* ─── Theme-token palettes ────────────────────────────────────────────── */
263
+
264
+ .dm--foreground {
265
+ --dm-on: var(--foreground);
266
+ --dm-off: color-mix(in oklch, var(--foreground) 12%, transparent);
267
+ --dm-glow: color-mix(in oklch, var(--foreground) 55%, transparent);
268
+ }
269
+
270
+ .dm--primary {
271
+ --dm-on: var(--primary);
272
+ --dm-off: color-mix(in oklch, var(--primary) 14%, transparent);
273
+ --dm-glow: color-mix(in oklch, var(--primary) 65%, transparent);
274
+ }
275
+
276
+ .dm--destructive {
277
+ --dm-on: var(--destructive);
278
+ --dm-off: color-mix(in oklch, var(--destructive) 14%, transparent);
279
+ --dm-glow: color-mix(in oklch, var(--destructive) 65%, transparent);
280
+ }
281
+
282
+ .dm--warning {
283
+ --dm-on: var(--warning);
284
+ --dm-off: color-mix(in oklch, var(--warning) 14%, transparent);
285
+ --dm-glow: color-mix(in oklch, var(--warning) 65%, transparent);
286
+ }
287
+
288
+ /* ─── Named palettes (OKLCH for stability) ────────────────────────────── */
289
+
290
+ .dm--cyan {
291
+ --dm-on: oklch(90% 0.2 195);
292
+ --dm-off: oklch(40% 0.08 195 / 0.4);
293
+ --dm-glow: oklch(80% 0.25 195 / 0.95);
294
+ }
295
+ .dm--magenta {
296
+ --dm-on: oklch(85% 0.25 330);
297
+ --dm-off: oklch(40% 0.08 330 / 0.4);
298
+ --dm-glow: oklch(75% 0.3 330 / 0.95);
299
+ }
300
+ .dm--yellow {
301
+ --dm-on: oklch(95% 0.2 90);
302
+ --dm-off: oklch(50% 0.08 90 / 0.4);
303
+ --dm-glow: oklch(90% 0.25 90 / 0.95);
304
+ }
305
+ .dm--green {
306
+ --dm-on: oklch(90% 0.25 145);
307
+ --dm-off: oklch(40% 0.08 145 / 0.4);
308
+ --dm-glow: oklch(80% 0.3 145 / 0.95);
309
+ }
310
+ .dm--orange {
311
+ --dm-on: oklch(85% 0.22 50);
312
+ --dm-off: oklch(45% 0.08 50 / 0.4);
313
+ --dm-glow: oklch(75% 0.28 50 / 0.95);
314
+ }
315
+ .dm--blue {
316
+ --dm-on: oklch(80% 0.22 260);
317
+ --dm-off: oklch(40% 0.08 260 / 0.4);
318
+ --dm-glow: oklch(70% 0.28 260 / 0.95);
319
+ }
320
+ .dm--red {
321
+ --dm-on: oklch(70% 0.25 25);
322
+ --dm-off: oklch(40% 0.08 25 / 0.4);
323
+ --dm-glow: oklch(60% 0.3 25 / 0.95);
324
+ }
325
+ .dm--purple {
326
+ --dm-on: oklch(75% 0.22 300);
327
+ --dm-off: oklch(40% 0.08 300 / 0.4);
328
+ --dm-glow: oklch(65% 0.28 300 / 0.95);
329
+ }
330
+ .dm--teal {
331
+ --dm-on: oklch(82% 0.18 175);
332
+ --dm-off: oklch(40% 0.08 175 / 0.4);
333
+ --dm-glow: oklch(72% 0.24 175 / 0.95);
334
+ }
335
+ .dm--pink {
336
+ --dm-on: oklch(80% 0.2 350);
337
+ --dm-off: oklch(45% 0.08 350 / 0.4);
338
+ --dm-glow: oklch(70% 0.26 350 / 0.95);
339
+ }
340
+ .dm--lime {
341
+ --dm-on: oklch(88% 0.22 120);
342
+ --dm-off: oklch(45% 0.08 120 / 0.4);
343
+ --dm-glow: oklch(80% 0.28 120 / 0.95);
344
+ }
345
+ .dm--white {
346
+ --dm-on: oklch(98% 0 0);
347
+ --dm-off: oklch(50% 0 0 / 0.3);
348
+ --dm-glow: oklch(95% 0 0 / 0.85);
349
+ }
350
+
351
+ /* ─── Reduced motion — freeze animations ─────────────────────────────── */
352
+
353
+ @media (prefers-reduced-motion: reduce) {
354
+ .dm-root[data-status='running'],
355
+ .dm-root[data-status='success'] .dm-cell,
356
+ .dm-root[data-status='failed'] .dm-cell,
357
+ .dm-root[data-status='cancelled'] .dm-cell {
358
+ animation: none !important;
359
+ }
360
+ .dm-cell {
361
+ transform: none;
362
+ }
363
+ }
364
+
@@ -0,0 +1,7 @@
1
+ import './dot-matrix.css';
2
+ import type { IDotMatrixProps } from './DotMatrix.types';
3
+ export * from './DotMatrix.types';
4
+ export { DOT_MATRIX_PATTERNS, buildDelays } from './patterns';
5
+ export type { DotMatrixPattern } from './patterns';
6
+ export declare function DotMatrix({ rows, cols, pattern, patternStep, holdSteps, restSteps, edgeSharpness, progress, status, color, bloom, variant, accentCount, accentRow, accentPositions, slots, className, 'aria-label': ariaLabel, }: IDotMatrixProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/primitives/DotMatrix/index.tsx"],"names":[],"mappings":"AA0BA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAIX,eAAe,EACf,MAAM,mBAAmB,CAAC;AAE3B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6GnD,wBAAgB,SAAS,CAAC,EACzB,IAAQ,EACR,IAAS,EACT,OAAiB,EACjB,WAAiB,EACjB,SAAa,EACb,SAAa,EACb,aAAkB,EAClB,QAAQ,EACR,MAAkB,EAClB,KAAoB,EACpB,KAAY,EACZ,OAAgB,EAChB,WAAe,EACf,SAAiB,EACjB,eAAe,EACf,KAAK,EACL,SAAS,EACT,YAAY,EAAE,SAAS,GACvB,EAAE,eAAe,2CAuJjB"}