matrix-design-system 1.0.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.
Files changed (317) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +95 -0
  3. package/dist/atoms/animation/motion-div/index.d.mts +2 -0
  4. package/dist/atoms/animation/motion-div/motion-div.d.mts +7 -0
  5. package/dist/atoms/animation/motion-div/motion-div.mjs +37 -0
  6. package/dist/atoms/animation/motion-div/use-motion-div-store.mjs +17 -0
  7. package/dist/atoms/buttons/button/button.d.mts +8 -0
  8. package/dist/atoms/buttons/button/button.mjs +12 -0
  9. package/dist/atoms/buttons/button/index.d.mts +2 -0
  10. package/dist/atoms/buttons/switch/index.d.mts +2 -0
  11. package/dist/atoms/buttons/switch/switch.d.mts +10 -0
  12. package/dist/atoms/buttons/switch/switch.mjs +40 -0
  13. package/dist/atoms/buttons/switch/use-switch-store.mjs +7 -0
  14. package/dist/atoms/call-to-actions/call-to-action-external-with-tracking/call-to-action-external-with-tracking.d.mts +13 -0
  15. package/dist/atoms/call-to-actions/call-to-action-external-with-tracking/call-to-action-external-with-tracking.mjs +30 -0
  16. package/dist/atoms/call-to-actions/call-to-action-external-with-tracking/index.d.mts +2 -0
  17. package/dist/atoms/call-to-actions/call-to-action-internal-with-tracking/call-to-action-internal-with-tracking.d.mts +14 -0
  18. package/dist/atoms/call-to-actions/call-to-action-internal-with-tracking/call-to-action-internal-with-tracking.mjs +29 -0
  19. package/dist/atoms/call-to-actions/call-to-action-internal-with-tracking/index.d.mts +2 -0
  20. package/dist/atoms/chip/chip.d.mts +10 -0
  21. package/dist/atoms/chip/chip.mjs +10 -0
  22. package/dist/atoms/chip/index.d.mts +2 -0
  23. package/dist/atoms/effects/glassmorphism-background/glassmorphism-background.d.mts +8 -0
  24. package/dist/atoms/effects/glassmorphism-background/glassmorphism-background.mjs +33 -0
  25. package/dist/atoms/effects/glassmorphism-background/index.d.mts +2 -0
  26. package/dist/atoms/effects/glassmorphism-background/use-glassmorphism-background-store.mjs +17 -0
  27. package/dist/atoms/effects/image-glow/image-glow.d.mts +12 -0
  28. package/dist/atoms/effects/image-glow/image-glow.mjs +20 -0
  29. package/dist/atoms/effects/image-glow/index.d.mts +2 -0
  30. package/dist/atoms/effects/image-shimmer-placeholder/image-shimmer-placeholder.d.mts +6 -0
  31. package/dist/atoms/effects/image-shimmer-placeholder/image-shimmer-placeholder.mjs +22 -0
  32. package/dist/atoms/effects/image-shimmer-placeholder/index.d.mts +2 -0
  33. package/dist/atoms/effects/matrix-rain/matrix-rain/index.d.mts +2 -0
  34. package/dist/atoms/effects/matrix-rain/matrix-rain/matrix-2d-canvas/debounce.mjs +12 -0
  35. package/dist/atoms/effects/matrix-rain/matrix-rain/matrix-2d-canvas/matrix-2d-canvas.mjs +25 -0
  36. package/dist/atoms/effects/matrix-rain/matrix-rain/matrix-2d-canvas/use-matrix-2d-canvas-store.mjs +186 -0
  37. package/dist/atoms/effects/matrix-rain/matrix-rain/matrix-rain.d.mts +5 -0
  38. package/dist/atoms/effects/matrix-rain/matrix-rain/matrix-rain.mjs +68 -0
  39. package/dist/atoms/effects/matrix-rain/matrix-rain/use-matrix-rain-activity.mjs +40 -0
  40. package/dist/atoms/effects/matrix-rain/matrix-rain/use-matrix-rain-store.mjs +69 -0
  41. package/dist/atoms/effects/overlay/index.d.mts +2 -0
  42. package/dist/atoms/effects/overlay/overlay.d.mts +11 -0
  43. package/dist/atoms/effects/overlay/overlay.mjs +61 -0
  44. package/dist/atoms/effects/overlay/use-overlay-store.mjs +8 -0
  45. package/dist/atoms/effects/pills/index.d.mts +2 -0
  46. package/dist/atoms/effects/pills/pills.d.mts +10 -0
  47. package/dist/atoms/effects/pills/pills.mjs +121 -0
  48. package/dist/atoms/effects/pills/use-pills-store.mjs +17 -0
  49. package/dist/atoms/effects/plain-image/index.d.mts +2 -0
  50. package/dist/atoms/effects/plain-image/plain-image.d.mts +45 -0
  51. package/dist/atoms/effects/plain-image/plain-image.mjs +140 -0
  52. package/dist/atoms/effects/plain-image/use-plain-image-store.mjs +62 -0
  53. package/dist/atoms/icons/chat-icon/chat-icon.d.mts +4 -0
  54. package/dist/atoms/icons/chat-icon/chat-icon.mjs +13 -0
  55. package/dist/atoms/icons/copy-icon/copy-icon.d.mts +6 -0
  56. package/dist/atoms/icons/copy-icon/copy-icon.mjs +17 -0
  57. package/dist/atoms/icons/rounded-icon/index.d.mts +2 -0
  58. package/dist/atoms/icons/rounded-icon/rounded-icon.d.mts +8 -0
  59. package/dist/atoms/icons/rounded-icon/rounded-icon.mjs +8 -0
  60. package/dist/atoms/links/anchor-link/anchor-link.d.mts +31 -0
  61. package/dist/atoms/links/anchor-link/anchor-link.mjs +14 -0
  62. package/dist/atoms/links/anchor-link/index.d.mts +2 -0
  63. package/dist/atoms/links/external-link/external-link.d.mts +13 -0
  64. package/dist/atoms/links/external-link/external-link.mjs +29 -0
  65. package/dist/atoms/links/external-link/index.d.mts +2 -0
  66. package/dist/atoms/links/internal-link/index.d.mts +2 -0
  67. package/dist/atoms/links/internal-link/internal-link.d.mts +15 -0
  68. package/dist/atoms/links/internal-link/internal-link.mjs +12 -0
  69. package/dist/atoms/loader/loader/index.d.mts +2 -0
  70. package/dist/atoms/loader/loader/loader.d.mts +10 -0
  71. package/dist/atoms/loader/loader/loader.mjs +62 -0
  72. package/dist/atoms/typography/input-field/index.d.mts +2 -0
  73. package/dist/atoms/typography/input-field/input-field.d.mts +9 -0
  74. package/dist/atoms/typography/input-field/input-field.mjs +8 -0
  75. package/dist/atoms/typography/label/index.d.mts +2 -0
  76. package/dist/atoms/typography/label/label.d.mts +9 -0
  77. package/dist/atoms/typography/label/label.mjs +11 -0
  78. package/dist/atoms/typography/markdown/markdown-plugins.mjs +16 -0
  79. package/dist/atoms/typography/markdown/markdown.d.mts +7 -0
  80. package/dist/atoms/typography/markdown/markdown.mjs +23 -0
  81. package/dist/atoms/typography/markdown/use-markdown-store.mjs +24 -0
  82. package/dist/atoms/typography/terminal-blocks/index.d.mts +2 -0
  83. package/dist/atoms/typography/terminal-blocks/terminal-blocks.d.mts +13 -0
  84. package/dist/atoms/typography/terminal-blocks/terminal-blocks.mjs +42 -0
  85. package/dist/atoms/typography/textarea/index.d.mts +2 -0
  86. package/dist/atoms/typography/textarea/textarea.d.mts +9 -0
  87. package/dist/atoms/typography/textarea/textarea.mjs +8 -0
  88. package/dist/chart.d.mts +7 -0
  89. package/dist/chart.mjs +4 -0
  90. package/dist/command-palette.d.mts +6 -0
  91. package/dist/command-palette.mjs +5 -0
  92. package/dist/hooks/use-clipboard-available.d.mts +4 -0
  93. package/dist/hooks/use-clipboard-available.mjs +10 -0
  94. package/dist/hooks/use-device-capabilities.d.mts +10 -0
  95. package/dist/hooks/use-device-capabilities.mjs +30 -0
  96. package/dist/hooks/use-glassmorphism.d.mts +10 -0
  97. package/dist/hooks/use-glassmorphism.mjs +9 -0
  98. package/dist/hooks/use-in-view-list.d.mts +7 -0
  99. package/dist/hooks/use-in-view-list.mjs +63 -0
  100. package/dist/hooks/use-in-view.d.mts +9 -0
  101. package/dist/hooks/use-in-view.mjs +68 -0
  102. package/dist/hooks/use-is-ios.d.mts +4 -0
  103. package/dist/hooks/use-is-ios.mjs +7 -0
  104. package/dist/hooks/use-lock-body-scroll.d.mts +4 -0
  105. package/dist/hooks/use-lock-body-scroll.mjs +40 -0
  106. package/dist/hooks/use-matrix-settings-store.d.mts +5 -0
  107. package/dist/hooks/use-matrix-settings-store.mjs +15 -0
  108. package/dist/hooks/use-motion-store.d.mts +13 -0
  109. package/dist/hooks/use-motion-store.mjs +29 -0
  110. package/dist/hooks/use-os-modifier-key.d.mts +5 -0
  111. package/dist/hooks/use-os-modifier-key.mjs +15 -0
  112. package/dist/hooks/use-reading-progress.d.mts +8 -0
  113. package/dist/hooks/use-reading-progress.mjs +49 -0
  114. package/dist/hooks/use-reduced-motions.d.mts +4 -0
  115. package/dist/hooks/use-reduced-motions.mjs +10 -0
  116. package/dist/hooks/use-scroll-direction.d.mts +8 -0
  117. package/dist/hooks/use-scroll-direction.mjs +43 -0
  118. package/dist/hooks/use-typewriter.d.mts +15 -0
  119. package/dist/hooks/use-typewriter.mjs +89 -0
  120. package/dist/hooks/use-webgpu-supported.d.mts +4 -0
  121. package/dist/hooks/use-webgpu-supported.mjs +16 -0
  122. package/dist/index.d.mts +153 -0
  123. package/dist/index.mjs +88 -0
  124. package/dist/markdown.d.mts +2 -0
  125. package/dist/markdown.mjs +2 -0
  126. package/dist/molecules/accordion/accordion/accordion.d.mts +12 -0
  127. package/dist/molecules/accordion/accordion/accordion.mjs +130 -0
  128. package/dist/molecules/accordion/accordion/index.d.mts +2 -0
  129. package/dist/molecules/accordion/accordion/use-accordion-store.mjs +55 -0
  130. package/dist/molecules/breadcrumbs/breadcrumb/breadcrumb.d.mts +21 -0
  131. package/dist/molecules/breadcrumbs/breadcrumb/breadcrumb.mjs +186 -0
  132. package/dist/molecules/breadcrumbs/breadcrumb/index.d.mts +2 -0
  133. package/dist/molecules/breadcrumbs/breadcrumb/use-breadcrumb-store.mjs +29 -0
  134. package/dist/molecules/buttons/pagination-navigation/index.d.mts +2 -0
  135. package/dist/molecules/buttons/pagination-navigation/pagination-navigation.d.mts +11 -0
  136. package/dist/molecules/buttons/pagination-navigation/pagination-navigation.mjs +17 -0
  137. package/dist/molecules/buttons/pills-buttons/index.d.mts +2 -0
  138. package/dist/molecules/buttons/pills-buttons/pills-buttons.d.mts +10 -0
  139. package/dist/molecules/buttons/pills-buttons/pills-buttons.mjs +55 -0
  140. package/dist/molecules/buttons/segmented-control/segmented-control.d.mts +13 -0
  141. package/dist/molecules/buttons/segmented-control/segmented-control.mjs +46 -0
  142. package/dist/molecules/buttons/segmented-control/use-segmented-control-store.mjs +8 -0
  143. package/dist/molecules/buttons/social-contact/index.d.mts +2 -0
  144. package/dist/molecules/buttons/social-contact/social-contact.d.mts +10 -0
  145. package/dist/molecules/buttons/social-contact/social-contact.mjs +13 -0
  146. package/dist/molecules/buttons/tag/index.d.mts +2 -0
  147. package/dist/molecules/buttons/tag/tag.d.mts +17 -0
  148. package/dist/molecules/buttons/tag/tag.mjs +20 -0
  149. package/dist/molecules/buttons/terminal-button/index.d.mts +2 -0
  150. package/dist/molecules/buttons/terminal-button/terminal-button.d.mts +15 -0
  151. package/dist/molecules/buttons/terminal-button/terminal-button.mjs +38 -0
  152. package/dist/molecules/chart/chart-panel/chart-panel.d.mts +9 -0
  153. package/dist/molecules/chart/chart-panel/chart-panel.mjs +12 -0
  154. package/dist/molecules/chart/chart-panel/index.d.mts +2 -0
  155. package/dist/molecules/chart/chart-tooltip/chart-tooltip.d.mts +8 -0
  156. package/dist/molecules/chart/chart-tooltip/chart-tooltip.mjs +18 -0
  157. package/dist/molecules/chart/chart-tooltip/index.d.mts +2 -0
  158. package/dist/molecules/chart/donut-chart/donut-chart.d.mts +15 -0
  159. package/dist/molecules/chart/donut-chart/donut-chart.mjs +142 -0
  160. package/dist/molecules/chart/donut-chart/index.d.mts +2 -0
  161. package/dist/molecules/containers/content-container/content-container.d.mts +5 -0
  162. package/dist/molecules/containers/content-container/content-container.mjs +8 -0
  163. package/dist/molecules/containers/content-container/index.d.mts +2 -0
  164. package/dist/molecules/controls/control-slider/control-slider.d.mts +14 -0
  165. package/dist/molecules/controls/control-slider/control-slider.mjs +76 -0
  166. package/dist/molecules/controls/control-slider/index.d.mts +2 -0
  167. package/dist/molecules/controls/control-slider/use-control-slider-store.mjs +10 -0
  168. package/dist/molecules/effects/matrix-background/index.d.mts +2 -0
  169. package/dist/molecules/effects/matrix-background/matrix-background.d.mts +8 -0
  170. package/dist/molecules/effects/matrix-background/matrix-background.mjs +15 -0
  171. package/dist/molecules/effects/matrix-header-background/index.d.mts +2 -0
  172. package/dist/molecules/effects/matrix-header-background/matrix-header-background.d.mts +8 -0
  173. package/dist/molecules/effects/matrix-header-background/matrix-header-background.mjs +14 -0
  174. package/dist/molecules/effects/matrix-terminal/index.d.mts +2 -0
  175. package/dist/molecules/effects/matrix-terminal/matrix-terminal.d.mts +15 -0
  176. package/dist/molecules/effects/matrix-terminal/matrix-terminal.mjs +101 -0
  177. package/dist/molecules/effects/matrix-terminal/use-matrix-terminal-store.mjs +59 -0
  178. package/dist/molecules/form/filter-input/filter-input.d.mts +10 -0
  179. package/dist/molecules/form/filter-input/filter-input.mjs +35 -0
  180. package/dist/molecules/form/filter-input/index.d.mts +2 -0
  181. package/dist/molecules/form/form-error-summary/form-error-summary.d.mts +10 -0
  182. package/dist/molecules/form/form-error-summary/form-error-summary.mjs +71 -0
  183. package/dist/molecules/form/form-error-summary/index.d.mts +2 -0
  184. package/dist/molecules/form/form-field/form-field.d.mts +10 -0
  185. package/dist/molecules/form/form-field/form-field.mjs +60 -0
  186. package/dist/molecules/form/form-field/index.d.mts +2 -0
  187. package/dist/molecules/form/form-success-message/form-success-message.d.mts +8 -0
  188. package/dist/molecules/form/form-success-message/form-success-message.mjs +21 -0
  189. package/dist/molecules/form/form-success-message/index.d.mts +2 -0
  190. package/dist/molecules/form/form-textarea/form-textarea.d.mts +10 -0
  191. package/dist/molecules/form/form-textarea/form-textarea.mjs +60 -0
  192. package/dist/molecules/form/form-textarea/index.d.mts +2 -0
  193. package/dist/molecules/lightbox-image/index.d.mts +2 -0
  194. package/dist/molecules/lightbox-image/lightbox-image.d.mts +6 -0
  195. package/dist/molecules/lightbox-image/lightbox-image.mjs +49 -0
  196. package/dist/molecules/lightbox-image/use-lightbox-image-store.mjs +29 -0
  197. package/dist/molecules/links/pills-links/index.d.mts +2 -0
  198. package/dist/molecules/links/pills-links/pills-links.d.mts +13 -0
  199. package/dist/molecules/links/pills-links/pills-links.mjs +60 -0
  200. package/dist/molecules/menu/close/close.d.mts +8 -0
  201. package/dist/molecules/menu/close/close.mjs +9 -0
  202. package/dist/molecules/menu/close/index.d.mts +2 -0
  203. package/dist/molecules/menu/dropdown-menu/dropdown-menu.d.mts +25 -0
  204. package/dist/molecules/menu/dropdown-menu/dropdown-menu.mjs +143 -0
  205. package/dist/molecules/menu/dropdown-menu/index.d.mts +2 -0
  206. package/dist/molecules/menu/dropdown-menu/use-dropdown-menu-store.mjs +108 -0
  207. package/dist/molecules/menu/hamburger-menu/hamburger-menu.d.mts +8 -0
  208. package/dist/molecules/menu/hamburger-menu/hamburger-menu.mjs +9 -0
  209. package/dist/molecules/menu/hamburger-menu/index.d.mts +2 -0
  210. package/dist/molecules/menu/menu-item/index.d.mts +2 -0
  211. package/dist/molecules/menu/menu-item/menu-item.d.mts +16 -0
  212. package/dist/molecules/menu/menu-item/menu-item.mjs +65 -0
  213. package/dist/molecules/menu/menu-item/use-menu-item-store.mjs +10 -0
  214. package/dist/molecules/stat-card/index.d.mts +2 -0
  215. package/dist/molecules/stat-card/stat-card.d.mts +10 -0
  216. package/dist/molecules/stat-card/stat-card.mjs +21 -0
  217. package/dist/molecules/terminal-list-item/index.d.mts +2 -0
  218. package/dist/molecules/terminal-list-item/terminal-list-item.d.mts +9 -0
  219. package/dist/molecules/terminal-list-item/terminal-list-item.mjs +13 -0
  220. package/dist/molecules/terminal-progress-bar/index.d.mts +2 -0
  221. package/dist/molecules/terminal-progress-bar/terminal-progress-bar.d.mts +11 -0
  222. package/dist/molecules/terminal-progress-bar/terminal-progress-bar.mjs +20 -0
  223. package/dist/molecules/typography/page-title/index.d.mts +2 -0
  224. package/dist/molecules/typography/page-title/page-title.d.mts +5 -0
  225. package/dist/molecules/typography/page-title/page-title.mjs +8 -0
  226. package/dist/molecules/typography/paragraph-title-with-icon/index.d.mts +2 -0
  227. package/dist/molecules/typography/paragraph-title-with-icon/paragraph-title-with-icon.d.mts +8 -0
  228. package/dist/molecules/typography/paragraph-title-with-icon/paragraph-title-with-icon.mjs +13 -0
  229. package/dist/molecules/typography/section-heading/index.d.mts +2 -0
  230. package/dist/molecules/typography/section-heading/section-heading.d.mts +9 -0
  231. package/dist/molecules/typography/section-heading/section-heading.mjs +17 -0
  232. package/dist/molecules/video/self-hosted-video/index.d.mts +2 -0
  233. package/dist/molecules/video/self-hosted-video/self-hosted-video.d.mts +17 -0
  234. package/dist/molecules/video/self-hosted-video/self-hosted-video.mjs +39 -0
  235. package/dist/molecules/video/youtube/index.d.mts +2 -0
  236. package/dist/molecules/video/youtube/youtube.d.mts +9 -0
  237. package/dist/molecules/video/youtube/youtube.mjs +12 -0
  238. package/dist/organism/command-palette/command-palette/command-palette.d.mts +12 -0
  239. package/dist/organism/command-palette/command-palette/command-palette.mjs +148 -0
  240. package/dist/organism/command-palette/command-palette/index.d.mts +2 -0
  241. package/dist/organism/command-palette/command-palette/use-command-palette-store.mjs +121 -0
  242. package/dist/organism/command-palette/command-palette-group/command-palette-group.d.mts +9 -0
  243. package/dist/organism/command-palette/command-palette-group/command-palette-group.mjs +24 -0
  244. package/dist/organism/command-palette/command-palette-group/index.d.mts +2 -0
  245. package/dist/organism/command-palette/command-palette-item/command-palette-item.d.mts +11 -0
  246. package/dist/organism/command-palette/command-palette-item/command-palette-item.mjs +29 -0
  247. package/dist/organism/command-palette/command-palette-item/index.d.mts +2 -0
  248. package/dist/organism/command-palette/command-palette-item/use-command-palette-item-store.mjs +30 -0
  249. package/dist/organism/command-palette/index.d.mts +9 -0
  250. package/dist/organism/command-palette/toggle-motion-item/index.d.mts +2 -0
  251. package/dist/organism/command-palette/toggle-motion-item/toggle-motion-item.d.mts +8 -0
  252. package/dist/organism/command-palette/toggle-motion-item/toggle-motion-item.mjs +63 -0
  253. package/dist/organism/command-palette/toggle-motion-item/use-toggle-motion-item-store.mjs +45 -0
  254. package/dist/organism/cookie-consent-banner/cookie-consent-banner.d.mts +9 -0
  255. package/dist/organism/cookie-consent-banner/cookie-consent-banner.mjs +71 -0
  256. package/dist/organism/cookie-consent-banner/use-cookie-consent-banner-store.mjs +10 -0
  257. package/dist/organism/footer/footer.d.mts +26 -0
  258. package/dist/organism/footer/footer.mjs +193 -0
  259. package/dist/organism/footer/index.d.mts +3 -0
  260. package/dist/organism/footer/use-footer-store.d.mts +22 -0
  261. package/dist/organism/footer/use-footer-store.mjs +57 -0
  262. package/dist/organism/header/brand-header/brand-header.d.mts +14 -0
  263. package/dist/organism/header/brand-header/brand-header.mjs +132 -0
  264. package/dist/organism/header/brand-header/index.d.mts +2 -0
  265. package/dist/organism/image-carousel/fullscreen-modal/fullscreen-modal.mjs +148 -0
  266. package/dist/organism/image-carousel/fullscreen-modal/use-fullscreen-modal-store.mjs +129 -0
  267. package/dist/organism/image-carousel/image-carousel.d.mts +14 -0
  268. package/dist/organism/image-carousel/image-carousel.mjs +225 -0
  269. package/dist/organism/image-carousel/index.d.mts +2 -0
  270. package/dist/organism/image-carousel/navigation-buttons/navigation-buttons.mjs +22 -0
  271. package/dist/organism/image-carousel/navigation-buttons/use-navigation-buttons-store.mjs +18 -0
  272. package/dist/organism/image-carousel/page-indicators/page-indicator-button/page-indicator-button.mjs +14 -0
  273. package/dist/organism/image-carousel/page-indicators/page-indicator-button/use-page-indicator-button-store.mjs +11 -0
  274. package/dist/organism/image-carousel/page-indicators/page-indicators.mjs +20 -0
  275. package/dist/organism/image-carousel/use-image-carousel-store.mjs +88 -0
  276. package/dist/organism/lightbox/index.d.mts +2 -0
  277. package/dist/organism/lightbox/lightbox.d.mts +5 -0
  278. package/dist/organism/lightbox/lightbox.mjs +100 -0
  279. package/dist/organism/lightbox/use-lightbox-store.mjs +120 -0
  280. package/dist/organism/loading-bar/loading-bar.d.mts +7 -0
  281. package/dist/organism/loading-bar/loading-bar.mjs +48 -0
  282. package/dist/organism/loading-bar/use-loading-bar-store.mjs +52 -0
  283. package/dist/organism/menu/index.d.mts +3 -0
  284. package/dist/organism/menu/menu.d.mts +33 -0
  285. package/dist/organism/menu/menu.mjs +396 -0
  286. package/dist/organism/menu/use-menu-store.d.mts +22 -0
  287. package/dist/organism/menu/use-menu-store.mjs +265 -0
  288. package/dist/organism/profile-hero/index.d.mts +2 -0
  289. package/dist/organism/profile-hero/profile-hero.d.mts +15 -0
  290. package/dist/organism/profile-hero/profile-hero.mjs +72 -0
  291. package/dist/organism/profile-photo/index.d.mts +2 -0
  292. package/dist/organism/profile-photo/profile-photo.d.mts +12 -0
  293. package/dist/organism/profile-photo/profile-photo.mjs +17 -0
  294. package/dist/organism/reading-content-progress-bar/index.d.mts +2 -0
  295. package/dist/organism/reading-content-progress-bar/reading-content-progress-bar.d.mts +8 -0
  296. package/dist/organism/reading-content-progress-bar/reading-content-progress-bar.mjs +76 -0
  297. package/dist/organism/reading-content-progress-bar/use-reading-content-progress-bar-store.mjs +29 -0
  298. package/dist/organism/social-contacts/index.d.mts +2 -0
  299. package/dist/organism/social-contacts/social-contacts.d.mts +29 -0
  300. package/dist/organism/social-contacts/social-contacts.mjs +78 -0
  301. package/dist/state/command-palette/command-palette-context.d.mts +9 -0
  302. package/dist/state/command-palette/command-palette-context.mjs +10 -0
  303. package/dist/state/command-palette/command-palette-events.d.mts +11 -0
  304. package/dist/state/command-palette/command-palette-events.mjs +15 -0
  305. package/dist/state/command-palette/command-palette-trigger.d.mts +8 -0
  306. package/dist/state/lightbox/lightbox-events.d.mts +9 -0
  307. package/dist/state/lightbox/lightbox-events.mjs +7 -0
  308. package/dist/state/matrix-rain/matrix-settings.d.mts +37 -0
  309. package/dist/state/matrix-rain/matrix-settings.mjs +122 -0
  310. package/dist/state/motion/motion.d.mts +6 -0
  311. package/dist/state/motion/motion.mjs +17 -0
  312. package/package.json +160 -0
  313. package/src/styles/base.css +130 -0
  314. package/src/styles/components.css +57 -0
  315. package/src/styles/index.css +23 -0
  316. package/src/styles/pills.css +85 -0
  317. package/src/styles/theme.css +254 -0
package/package.json ADDED
@@ -0,0 +1,160 @@
1
+ {
2
+ "name": "matrix-design-system",
3
+ "version": "1.0.0",
4
+ "description": "A Matrix-inspired React design system: green on near-black, terminal-flavoured, framework-agnostic.",
5
+ "keywords": [
6
+ "react",
7
+ "design-system",
8
+ "component-library",
9
+ "tailwind",
10
+ "matrix",
11
+ "ui"
12
+ ],
13
+ "license": "MIT",
14
+ "author": "Fabrizio Duroni",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/chicio/chicio-blog.git",
18
+ "directory": "packages/matrix-design-system"
19
+ },
20
+ "homepage": "https://github.com/chicio/chicio-blog/tree/main/packages/matrix-design-system#readme",
21
+ "type": "module",
22
+ "main": "./dist/index.mjs",
23
+ "types": "./dist/index.d.mts",
24
+ "exports": {
25
+ ".": {
26
+ "types": "./dist/index.d.mts",
27
+ "default": "./dist/index.mjs"
28
+ },
29
+ "./chart": {
30
+ "types": "./dist/chart.d.mts",
31
+ "default": "./dist/chart.mjs"
32
+ },
33
+ "./markdown": {
34
+ "types": "./dist/markdown.d.mts",
35
+ "default": "./dist/markdown.mjs"
36
+ },
37
+ "./command-palette": {
38
+ "types": "./dist/command-palette.d.mts",
39
+ "default": "./dist/command-palette.mjs"
40
+ },
41
+ "./styles.css": "./src/styles/index.css",
42
+ "./theme.css": "./src/styles/theme.css",
43
+ "./package.json": "./package.json"
44
+ },
45
+ "files": [
46
+ "dist",
47
+ "src/styles"
48
+ ],
49
+ "sideEffects": [
50
+ "*.css"
51
+ ],
52
+ "engines": {
53
+ "node": ">=20"
54
+ },
55
+ "publishConfig": {
56
+ "access": "public"
57
+ },
58
+ "scripts": {
59
+ "build": "tsdown",
60
+ "prepublishOnly": "npx turbo run build --filter=matrix-design-system",
61
+ "dev": "tsdown --watch",
62
+ "typecheck": "tsc --noEmit",
63
+ "lint": "eslint .",
64
+ "test": "vitest",
65
+ "test:run": "vitest run",
66
+ "test:coverage": "vitest run --coverage",
67
+ "validate-architecture": "depcruise src --config .dependency-cruiser.cjs",
68
+ "release": "release-it"
69
+ },
70
+ "peerDependencies": {
71
+ "cmdk": ">=1",
72
+ "framer-motion": "^12.42.2",
73
+ "react": ">=19",
74
+ "react-dom": ">=19",
75
+ "react-markdown": ">=10",
76
+ "recharts": ">=3",
77
+ "rehype-highlight": ">=7",
78
+ "rehype-katex": ">=7",
79
+ "remark-emoji": ">=5",
80
+ "remark-gfm": ">=4",
81
+ "remark-math": ">=6",
82
+ "remark-parse": ">=11",
83
+ "unified": ">=11"
84
+ },
85
+ "peerDependenciesMeta": {
86
+ "cmdk": {
87
+ "optional": true
88
+ },
89
+ "react-markdown": {
90
+ "optional": true
91
+ },
92
+ "recharts": {
93
+ "optional": true
94
+ },
95
+ "rehype-highlight": {
96
+ "optional": true
97
+ },
98
+ "rehype-katex": {
99
+ "optional": true
100
+ },
101
+ "remark-emoji": {
102
+ "optional": true
103
+ },
104
+ "remark-gfm": {
105
+ "optional": true
106
+ },
107
+ "remark-math": {
108
+ "optional": true
109
+ },
110
+ "remark-parse": {
111
+ "optional": true
112
+ },
113
+ "unified": {
114
+ "optional": true
115
+ }
116
+ },
117
+ "dependencies": {
118
+ "matrix-component-store": "^1.0.0",
119
+ "matrix-rain-webgpu": "^2.0.0",
120
+ "react-icons": "^5.6.0"
121
+ },
122
+ "devDependencies": {
123
+ "@babel/core": "^7.28.5",
124
+ "@eslint/js": "^9",
125
+ "@rolldown/plugin-babel": "^0.2.3",
126
+ "@testing-library/dom": "^10.4.1",
127
+ "@testing-library/jest-dom": "^6.9.1",
128
+ "@testing-library/react": "^16.3.2",
129
+ "@testing-library/user-event": "^14.6.1",
130
+ "@types/react": "19.2.14",
131
+ "@types/react-dom": "19.2.3",
132
+ "@vitejs/plugin-react": "^6.0.5",
133
+ "@vitest/coverage-v8": "^4.1.9",
134
+ "babel-plugin-react-compiler": "^1.0.0",
135
+ "cmdk": "^1.1.1",
136
+ "dependency-cruiser": "^18.1.0",
137
+ "eslint": "^9",
138
+ "eslint-plugin-chicio": "^1.0.0",
139
+ "eslint-plugin-react": "^7",
140
+ "eslint-plugin-react-hooks": "^7",
141
+ "framer-motion": "^12.42.2",
142
+ "globals": "^16",
143
+ "jsdom": "^30.0.0",
144
+ "react": "19.2.6",
145
+ "react-dom": "19.2.6",
146
+ "react-markdown": "^10.1.0",
147
+ "recharts": "^3.9.0",
148
+ "rehype-highlight": "^7.0.2",
149
+ "rehype-katex": "^7.0.1",
150
+ "remark-emoji": "^5.0.2",
151
+ "remark-gfm": "^4.0.1",
152
+ "remark-math": "^6.0.0",
153
+ "remark-parse": "^11.0.0",
154
+ "tsdown": "0.22.14",
155
+ "typescript": "^5",
156
+ "typescript-eslint": "^8",
157
+ "unified": "^11.0.5",
158
+ "vitest": "^4.1.10"
159
+ }
160
+ }
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Element-level styling every design-system component's text sits on: headings, paragraphs, lists,
3
+ * tables, links. A component rendered without these looks unstyled, so they ship with the package
4
+ * rather than with the site.
5
+ */
6
+ @layer base {
7
+ html {
8
+ @apply h-full max-w-full overflow-x-hidden;
9
+ }
10
+
11
+ /**
12
+ * iOS Safari zooms the viewport in when a focused form control's font size is under 16px, and it
13
+ * never zooms back out — you are left on a magnified, sideways-scrolling page. The alternative fix
14
+ * is a `maximum-scale=1` viewport meta, which also blocks deliberate pinch-zoom and is an
15
+ * accessibility regression, so the size is floored here instead.
16
+ *
17
+ * `max(1rem, 1em)` means "at least 16px, but keep growing with the surrounding text", so a control
18
+ * inside a deliberately large block still scales up. This is a base-layer rule so it reaches raw
19
+ * `input` elements and third-party ones alike — cmdk's `Command.Input` is not ours to style from a
20
+ * React component. Tailwind utilities sit in a later layer and still win, so putting `text-sm` on
21
+ * an input opts back into the zoom: don't, and there is no reason to.
22
+ */
23
+ input,
24
+ textarea,
25
+ select {
26
+ font-size: max(1rem, 1em);
27
+ }
28
+
29
+ body {
30
+ @apply bg-general-background text-primary-text m-0 flex h-full max-w-full flex-col font-sans;
31
+ }
32
+
33
+ h1 {
34
+ @apply text-accent mt-4 text-4xl leading-normal font-bold text-shadow-md sm:text-5xl;
35
+ }
36
+
37
+ h2 {
38
+ @apply text-accent mt-4 text-3xl leading-normal font-bold text-shadow-md sm:text-4xl;
39
+ }
40
+
41
+ h3 {
42
+ @apply text-accent mt-4 text-2xl leading-normal font-bold text-shadow-md sm:text-3xl;
43
+ }
44
+
45
+ h4 {
46
+ @apply text-accent mt-4 text-xl leading-normal font-bold text-shadow-md sm:text-2xl;
47
+ }
48
+
49
+ h5 {
50
+ @apply text-accent mt-4 text-lg leading-normal font-bold text-shadow-md sm:text-xl;
51
+ }
52
+
53
+ h6 {
54
+ @apply text-accent mt-4 text-base leading-normal font-bold text-shadow-md;
55
+ }
56
+
57
+ p {
58
+ @apply text-primary-text text-left text-base leading-normal;
59
+ }
60
+
61
+ strong {
62
+ @apply font-bold;
63
+ }
64
+
65
+ blockquote {
66
+ @apply border-accent text-accent border-l-4 pl-4 italic;
67
+ }
68
+
69
+ blockquote * {
70
+ @apply text-accent;
71
+ }
72
+
73
+ ul {
74
+ @apply text-primary-text m-4 list-none p-0 text-base leading-normal;
75
+ }
76
+
77
+ ul li {
78
+ @apply relative mb-2 pl-4;
79
+ }
80
+
81
+ ul li::before {
82
+ @apply text-primary absolute left-0 font-bold content-['▸'];
83
+ }
84
+
85
+ time {
86
+ @apply text-secondary-text;
87
+ }
88
+
89
+ a {
90
+ @apply text-accent text-base leading-normal break-words no-underline text-shadow-sm;
91
+ }
92
+
93
+ @media (hover: hover) and (pointer: fine) {
94
+ a:hover {
95
+ @apply underline;
96
+ }
97
+ }
98
+
99
+ hr {
100
+ @apply from-general-background-light via-accent to-general-background-light h-px w-full border-0 bg-gradient-to-r;
101
+ }
102
+
103
+ table {
104
+ @apply mx-auto w-full table-auto border-collapse;
105
+ }
106
+
107
+ th {
108
+ @apply text-accent bg-primary-dark px-4 py-3 text-left font-bold;
109
+ }
110
+
111
+ td {
112
+ @apply text-primary-text px-4 py-2 text-left;
113
+ }
114
+
115
+ tbody tr:nth-child(even) td {
116
+ background-color: var(--color-general-background-light);
117
+ }
118
+
119
+ .table-wrapper {
120
+ @apply border-accent my-4 overflow-x-auto rounded-xl border shadow-lg;
121
+ }
122
+
123
+ figcaption {
124
+ @apply text-secondary-text mt-2 mb-3 text-center text-base leading-normal italic;
125
+ }
126
+ }
127
+
128
+ :root {
129
+ color-scheme: dark;
130
+ }
@@ -0,0 +1,57 @@
1
+ /**
2
+ * The composed classes the design system's look is built from: the glassmorphism panels, the accent
3
+ * glow, the page containers and the call-to-action button.
4
+ */
5
+ @layer components {
6
+ .container-fixed {
7
+ @apply mx-auto w-full max-w-[540px] px-4 sm:max-w-[720px] md:max-w-[960px];
8
+ }
9
+
10
+ .container-fluid {
11
+ @apply mx-auto w-full px-4;
12
+ }
13
+
14
+ .container-fullscreen {
15
+ @apply flex h-screen min-h-screen w-full flex-col items-center justify-center bg-transparent;
16
+ }
17
+
18
+ .container-section {
19
+ @apply mx-auto w-full max-w-[540px] py-4 sm:max-w-[720px] md:max-w-[960px];
20
+ }
21
+
22
+ .call-to-action {
23
+ @apply bg-accent text-text-above-primary m-1 inline-block min-w-[120px] rounded-xl border-0 p-3 text-center text-lg leading-none no-underline transition-all hover:scale-105 hover:shadow-xl;
24
+ }
25
+
26
+ .glow-border {
27
+ @apply border-accent-alpha-40 hover:border-accent active:border-accent focus:border-accent rounded-xl border border-solid;
28
+ }
29
+
30
+ .glow-container {
31
+ @apply border-accent-alpha-40 hover:border-accent active:border-accent focus:border-accent rounded-xl border border-solid shadow-lg transition-all duration-300 hover:scale-102;
32
+ }
33
+
34
+ .glassmorphism-lite {
35
+ @apply border-accent-alpha-40 hover:border-accent active:border-accent focus:border-accent bg-general-background rounded-xl border border-solid shadow-lg transition-transform duration-300 hover:scale-102;
36
+ }
37
+
38
+ .glassmorphism-lite-no-scale {
39
+ @apply border-accent-alpha-40 hover:border-accent active:border-accent focus:border-accent bg-general-background rounded-xl border border-solid shadow-lg transition-colors duration-300;
40
+ }
41
+
42
+ .glassmorphism {
43
+ @apply border-accent-alpha-40 hover:border-accent active:border-accent focus:border-accent bg-general-background-alpha-60 rounded-xl border border-solid shadow-lg backdrop-blur-sm transition-transform duration-300 hover:scale-102;
44
+ }
45
+
46
+ .glassmorphism-no-scale {
47
+ @apply border-accent-alpha-40 hover:border-accent active:border-accent focus:border-accent bg-general-background-alpha-60 rounded-xl border border-solid shadow-lg backdrop-blur-sm transition-colors duration-300;
48
+ }
49
+ }
50
+
51
+ .scroll-locked .menu-container {
52
+ right: var(--scrollbar-width, 0px);
53
+ }
54
+
55
+ .remove-scroll-width {
56
+ right: var(--scrollbar-width, 0px);
57
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The design system's stylesheet. A consumer imports this after `@import "tailwindcss"` and gets the
3
+ * theme, the base element styling its components assume, and the composed classes they use.
4
+ *
5
+ * These four files share no selectors, so their order relative to each other does not affect the
6
+ * cascade. The ordering that IS load-bearing lives one level up: the site's globals.css must import
7
+ * this entry BEFORE its own `@layer base`, so its article rules can override the element styling
8
+ * base.css sets.
9
+ */
10
+ /**
11
+ * Tailwind ignores node_modules when scanning for class names, so a consumer would generate none of
12
+ * the utilities this package's components use. @source opts them back in.
13
+ *
14
+ * It must point at dist, not src: `files` publishes only dist and this styles folder, so a glob over
15
+ * src matches nothing once the package is installed from the registry — the components would render
16
+ * with no colours, spacing or layout. The built .mjs carry the same className strings.
17
+ */
18
+ @source "../../dist/**/*.mjs";
19
+
20
+ @import "./pills.css";
21
+ @import "./theme.css";
22
+ @import "./base.css";
23
+ @import "./components.css";
@@ -0,0 +1,85 @@
1
+ @layer components {
2
+ .pill {
3
+ @apply relative flex h-[50px] min-w-[145px] items-center justify-center px-3 py-0;
4
+ @apply rounded-[25px] border-2 border-solid border-(--pill-border-color);
5
+ @apply cursor-pointer no-underline;
6
+ @apply transition-all duration-300 ease-in-out;
7
+ @apply backdrop-blur-xs;
8
+
9
+ box-shadow:
10
+ 0 4px 15px var(--pill-shadow-color),
11
+ inset 0 1px 0 rgba(255, 255, 255, 0.2);
12
+ }
13
+
14
+ .pill::before {
15
+ @apply pointer-events-none content-[""];
16
+ @apply absolute top-1.5 right-3 left-3 h-4 rounded-[22px];
17
+ @apply bg-gradient-to-r from-white/80 via-white/10 to-white/60 opacity-85 blur-xs;
18
+ }
19
+
20
+ .pill:hover {
21
+ @apply translate-y-[-2px] scale-105;
22
+
23
+ box-shadow:
24
+ 0 8px 25px var(--pill-hover-shadow, var(--color-accent-alpha-70)),
25
+ 0 0 20px var(--pill-hover-glow, var(--color-accent-alpha-40)),
26
+ inset 0 1px 0 rgba(255, 255, 255, 0.3);
27
+ }
28
+
29
+ .pill-label {
30
+ @apply text-primary-text text-center text-sm font-bold whitespace-nowrap;
31
+
32
+ text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9);
33
+ }
34
+
35
+ .pill-red {
36
+ --pill-border-color: var(--color-confirm);
37
+ --pill-shadow-color: #ff000050;
38
+ --pill-after-bg: radial-gradient(
39
+ circle at 60% 80%,
40
+ #fff6 0%,
41
+ var(--color-confirm-alpha-20) 70%,
42
+ transparent 100%
43
+ );
44
+ --pill-hover-shadow: #ff000070;
45
+ --pill-hover-glow: #ff000040;
46
+ }
47
+
48
+ .pill-red-glass {
49
+ background: linear-gradient(
50
+ 135deg,
51
+ var(--color-confirm-alpha-60) 0%,
52
+ var(--color-confirm-alpha-60) 60%,
53
+ var(--color-confirm-alpha-25) 100%
54
+ );
55
+ }
56
+
57
+ .pill-red-glass-lite {
58
+ @apply bg-confirm;
59
+ }
60
+
61
+ .pill-blue {
62
+ --pill-border-color: var(--color-undo);
63
+ --pill-shadow-color: #0066ff50;
64
+ --pill-after-bg: radial-gradient(circle at 40% 80%, #fff6 0%, var(--color-undo-alpha-20) 70%, transparent 100%);
65
+ --pill-hover-shadow: #0066ff70;
66
+ --pill-hover-glow: #0066ff40;
67
+ }
68
+
69
+ .pill-blue-glass {
70
+ background: linear-gradient(
71
+ 135deg,
72
+ var(--color-undo-alpha-60) 0%,
73
+ var(--color-undo-alpha-60) 60%,
74
+ var(--color-undo-alpha-25) 100%
75
+ );
76
+ }
77
+
78
+ .pill-blue-glass-lite {
79
+ @apply bg-undo;
80
+ }
81
+
82
+ .pill-no-reflection::before {
83
+ content: none !important;
84
+ }
85
+ }