@chitrank2050/monoline-ui 0.2.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 (237) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +313 -0
  3. package/chunk-2T2JZW4Z.js +2 -0
  4. package/chunk-2T2JZW4Z.js.map +1 -0
  5. package/chunk-37JB3ZNS.js +2 -0
  6. package/chunk-37JB3ZNS.js.map +1 -0
  7. package/chunk-3F6Z4CFV.js +2 -0
  8. package/chunk-3F6Z4CFV.js.map +1 -0
  9. package/chunk-5TIKYN5B.js +2 -0
  10. package/chunk-5TIKYN5B.js.map +1 -0
  11. package/chunk-6AEWSPAE.js +2 -0
  12. package/chunk-6AEWSPAE.js.map +1 -0
  13. package/chunk-7ANXAXP5.js +2 -0
  14. package/chunk-7ANXAXP5.js.map +1 -0
  15. package/chunk-7SDVYBBO.js +2 -0
  16. package/chunk-7SDVYBBO.js.map +1 -0
  17. package/chunk-7WJF6B6G.js +2 -0
  18. package/chunk-7WJF6B6G.js.map +1 -0
  19. package/chunk-A2LXX23X.js +2 -0
  20. package/chunk-A2LXX23X.js.map +1 -0
  21. package/chunk-AACTIVV7.js +2 -0
  22. package/chunk-AACTIVV7.js.map +1 -0
  23. package/chunk-B5P3RAN2.js +2 -0
  24. package/chunk-B5P3RAN2.js.map +1 -0
  25. package/chunk-COFALEVG.js +2 -0
  26. package/chunk-COFALEVG.js.map +1 -0
  27. package/chunk-D3E4G2RE.js +2 -0
  28. package/chunk-D3E4G2RE.js.map +1 -0
  29. package/chunk-DJT3EVR4.js +2 -0
  30. package/chunk-DJT3EVR4.js.map +1 -0
  31. package/chunk-EWKGYQOX.js +2 -0
  32. package/chunk-EWKGYQOX.js.map +1 -0
  33. package/chunk-FLUGXF5D.js +2 -0
  34. package/chunk-FLUGXF5D.js.map +1 -0
  35. package/chunk-GSWZL5C2.js +2 -0
  36. package/chunk-GSWZL5C2.js.map +1 -0
  37. package/chunk-H2CRII7X.js +2 -0
  38. package/chunk-H2CRII7X.js.map +1 -0
  39. package/chunk-IVTAW6SX.js +3 -0
  40. package/chunk-IVTAW6SX.js.map +1 -0
  41. package/chunk-JBOP2AJB.js +2 -0
  42. package/chunk-JBOP2AJB.js.map +1 -0
  43. package/chunk-JCKPCV2H.js +2 -0
  44. package/chunk-JCKPCV2H.js.map +1 -0
  45. package/chunk-K665XZ3N.js +2 -0
  46. package/chunk-K665XZ3N.js.map +1 -0
  47. package/chunk-K72EORST.js +2 -0
  48. package/chunk-K72EORST.js.map +1 -0
  49. package/chunk-KGLH6WI6.js +2 -0
  50. package/chunk-KGLH6WI6.js.map +1 -0
  51. package/chunk-LVMQ3ZM3.js +2 -0
  52. package/chunk-LVMQ3ZM3.js.map +1 -0
  53. package/chunk-N37GMCSK.js +2 -0
  54. package/chunk-N37GMCSK.js.map +1 -0
  55. package/chunk-NDHOUIOX.js +2 -0
  56. package/chunk-NDHOUIOX.js.map +1 -0
  57. package/chunk-NDTTLW56.js +2 -0
  58. package/chunk-NDTTLW56.js.map +1 -0
  59. package/chunk-O43OQHFN.js +2 -0
  60. package/chunk-O43OQHFN.js.map +1 -0
  61. package/chunk-QGG3J7OW.js +2 -0
  62. package/chunk-QGG3J7OW.js.map +1 -0
  63. package/chunk-QUG36ONS.js +2 -0
  64. package/chunk-QUG36ONS.js.map +1 -0
  65. package/chunk-R2YSVBHS.js +2 -0
  66. package/chunk-R2YSVBHS.js.map +1 -0
  67. package/chunk-TSOHITZ7.js +2 -0
  68. package/chunk-TSOHITZ7.js.map +1 -0
  69. package/chunk-V6PUPMAY.js +3 -0
  70. package/chunk-V6PUPMAY.js.map +1 -0
  71. package/chunk-VSATIFOR.js +2 -0
  72. package/chunk-VSATIFOR.js.map +1 -0
  73. package/chunk-XEB7C557.js +2 -0
  74. package/chunk-XEB7C557.js.map +1 -0
  75. package/chunk-Z7SIB4X6.js +2 -0
  76. package/chunk-Z7SIB4X6.js.map +1 -0
  77. package/chunk-ZOPV3BXO.js +2 -0
  78. package/chunk-ZOPV3BXO.js.map +1 -0
  79. package/chunk-ZU3HIOBU.js +2 -0
  80. package/chunk-ZU3HIOBU.js.map +1 -0
  81. package/components/action-rail/index.d.ts +18 -0
  82. package/components/action-rail/index.js +2 -0
  83. package/components/action-rail/index.js.map +1 -0
  84. package/components/avatar/avatar.css +47 -0
  85. package/components/avatar/index.d.ts +28 -0
  86. package/components/avatar/index.js +2 -0
  87. package/components/avatar/index.js.map +1 -0
  88. package/components/back-link/back-link.css +30 -0
  89. package/components/back-link/index.d.ts +18 -0
  90. package/components/back-link/index.js +2 -0
  91. package/components/back-link/index.js.map +1 -0
  92. package/components/badge/badge.css +27 -0
  93. package/components/badge/index.d.ts +26 -0
  94. package/components/badge/index.js +2 -0
  95. package/components/badge/index.js.map +1 -0
  96. package/components/button/button.css +238 -0
  97. package/components/button/index.d.ts +36 -0
  98. package/components/button/index.js +2 -0
  99. package/components/button/index.js.map +1 -0
  100. package/components/callout/callout.css +20 -0
  101. package/components/callout/index.d.ts +20 -0
  102. package/components/callout/index.js +2 -0
  103. package/components/callout/index.js.map +1 -0
  104. package/components/card/card.css +166 -0
  105. package/components/card/index.d.ts +112 -0
  106. package/components/card/index.js +2 -0
  107. package/components/card/index.js.map +1 -0
  108. package/components/code-block/code-block.css +23 -0
  109. package/components/code-block/index.d.ts +21 -0
  110. package/components/code-block/index.js +2 -0
  111. package/components/code-block/index.js.map +1 -0
  112. package/components/command-search/command-search.css +217 -0
  113. package/components/command-search/index.d.ts +73 -0
  114. package/components/command-search/index.js +2 -0
  115. package/components/command-search/index.js.map +1 -0
  116. package/components/container/container.css +41 -0
  117. package/components/container/index.d.ts +11 -0
  118. package/components/container/index.js +2 -0
  119. package/components/container/index.js.map +1 -0
  120. package/components/data-list/data-list.css +139 -0
  121. package/components/data-list/index.d.ts +45 -0
  122. package/components/data-list/index.js +2 -0
  123. package/components/data-list/index.js.map +1 -0
  124. package/components/editorial-line/index.d.ts +24 -0
  125. package/components/editorial-line/index.js +2 -0
  126. package/components/editorial-line/index.js.map +1 -0
  127. package/components/eyebrow/eyebrow.css +13 -0
  128. package/components/eyebrow/index.d.ts +17 -0
  129. package/components/eyebrow/index.js +2 -0
  130. package/components/eyebrow/index.js.map +1 -0
  131. package/components/footer/footer.css +201 -0
  132. package/components/footer/index.d.ts +66 -0
  133. package/components/footer/index.js +2 -0
  134. package/components/footer/index.js.map +1 -0
  135. package/components/input/index.d.ts +28 -0
  136. package/components/input/index.js +2 -0
  137. package/components/input/index.js.map +1 -0
  138. package/components/input/input.css +37 -0
  139. package/components/link-list/index.d.ts +47 -0
  140. package/components/link-list/index.js +2 -0
  141. package/components/link-list/index.js.map +1 -0
  142. package/components/link-list/link-list.css +208 -0
  143. package/components/media-frame/index.d.ts +31 -0
  144. package/components/media-frame/index.js +2 -0
  145. package/components/media-frame/index.js.map +1 -0
  146. package/components/media-frame/media-frame.css +86 -0
  147. package/components/meta-row/index.d.ts +22 -0
  148. package/components/meta-row/index.js +2 -0
  149. package/components/meta-row/index.js.map +1 -0
  150. package/components/metric/index.d.ts +22 -0
  151. package/components/metric/index.js +2 -0
  152. package/components/metric/index.js.map +1 -0
  153. package/components/navbar/index.d.ts +78 -0
  154. package/components/navbar/index.js +2 -0
  155. package/components/navbar/index.js.map +1 -0
  156. package/components/navbar/navbar.css +245 -0
  157. package/components/progress/index.d.ts +20 -0
  158. package/components/progress/index.js +2 -0
  159. package/components/progress/index.js.map +1 -0
  160. package/components/progress/progress.css +31 -0
  161. package/components/pull-quote/index.d.ts +18 -0
  162. package/components/pull-quote/index.js +2 -0
  163. package/components/pull-quote/index.js.map +1 -0
  164. package/components/rail/index.d.ts +28 -0
  165. package/components/rail/index.js +2 -0
  166. package/components/rail/index.js.map +1 -0
  167. package/components/rail/rail.css +118 -0
  168. package/components/resources-panel/index.d.ts +42 -0
  169. package/components/resources-panel/index.js +2 -0
  170. package/components/resources-panel/index.js.map +1 -0
  171. package/components/resources-panel/resources-panel.css +396 -0
  172. package/components/section-head/index.d.ts +24 -0
  173. package/components/section-head/index.js +2 -0
  174. package/components/section-head/index.js.map +1 -0
  175. package/components/segmented-control/index.d.ts +28 -0
  176. package/components/segmented-control/index.js +2 -0
  177. package/components/segmented-control/index.js.map +1 -0
  178. package/components/segmented-control/segmented-control.css +177 -0
  179. package/components/select/index.d.ts +65 -0
  180. package/components/select/index.js +2 -0
  181. package/components/select/index.js.map +1 -0
  182. package/components/select/select.css +298 -0
  183. package/components/skeleton/index.d.ts +19 -0
  184. package/components/skeleton/index.js +2 -0
  185. package/components/skeleton/index.js.map +1 -0
  186. package/components/skeleton/skeleton.css +13 -0
  187. package/components/status/index.d.ts +20 -0
  188. package/components/status/index.js +2 -0
  189. package/components/status/index.js.map +1 -0
  190. package/components/status/status.css +86 -0
  191. package/components/tag/index.d.ts +35 -0
  192. package/components/tag/index.js +2 -0
  193. package/components/tag/index.js.map +1 -0
  194. package/components/tag/tag.css +10 -0
  195. package/components/testimonial/index.d.ts +30 -0
  196. package/components/testimonial/index.js +2 -0
  197. package/components/testimonial/index.js.map +1 -0
  198. package/components/testimonial/testimonial.css +109 -0
  199. package/components/testimonial-grid/index.d.ts +12 -0
  200. package/components/testimonial-grid/index.js +2 -0
  201. package/components/testimonial-grid/index.js.map +1 -0
  202. package/components/testimonial-grid/testimonial-grid.css +58 -0
  203. package/components/theme-switcher/index.d.ts +24 -0
  204. package/components/theme-switcher/index.js +2 -0
  205. package/components/theme-switcher/index.js.map +1 -0
  206. package/components/theme-switcher/theme-switcher.css +130 -0
  207. package/components/toast/index.d.ts +20 -0
  208. package/components/toast/index.js +2 -0
  209. package/components/toast/index.js.map +1 -0
  210. package/components/toast/toast.css +22 -0
  211. package/components/toc/index.d.ts +27 -0
  212. package/components/toc/index.js +2 -0
  213. package/components/toc/index.js.map +1 -0
  214. package/components/toggle/index.d.ts +20 -0
  215. package/components/toggle/index.js +2 -0
  216. package/components/toggle/index.js.map +1 -0
  217. package/components/toggle/toggle.css +108 -0
  218. package/foundations/breakpoints.d.ts +12 -0
  219. package/foundations/breakpoints.js +2 -0
  220. package/foundations/breakpoints.js.map +1 -0
  221. package/foundations/use-breakpoint.d.ts +5 -0
  222. package/foundations/use-breakpoint.js +3 -0
  223. package/foundations/use-breakpoint.js.map +1 -0
  224. package/index.d.ts +42 -0
  225. package/index.js +2 -0
  226. package/index.js.map +1 -0
  227. package/lib/utils.d.ts +7 -0
  228. package/lib/utils.js +2 -0
  229. package/lib/utils.js.map +1 -0
  230. package/package.json +228 -0
  231. package/styles/theme/animations.css +206 -0
  232. package/styles/theme/base.css +75 -0
  233. package/styles/theme/tailwind.css +371 -0
  234. package/styles/theme/tokens.css +562 -0
  235. package/styles/theme/typography.css +108 -0
  236. package/styles/theme/utilities.css +281 -0
  237. package/styles/theme.css +68 -0
@@ -0,0 +1,2 @@
1
+ export{a as monolineBreakpoints}from'../chunk-XEB7C557.js';//# sourceMappingURL=breakpoints.js.map
2
+ //# sourceMappingURL=breakpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"breakpoints.js"}
@@ -0,0 +1,5 @@
1
+ import { MonolineBreakpoint } from './breakpoints.js';
2
+
3
+ declare function useBreakpoint(defaultValue?: MonolineBreakpoint): MonolineBreakpoint;
4
+
5
+ export { useBreakpoint };
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ export{a as useBreakpoint}from'../chunk-KGLH6WI6.js';import'../chunk-XEB7C557.js';//# sourceMappingURL=use-breakpoint.js.map
3
+ //# sourceMappingURL=use-breakpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"use-breakpoint.js"}
package/index.d.ts ADDED
@@ -0,0 +1,42 @@
1
+ export { ActionRail, ActionRailProps } from './components/action-rail/index.js';
2
+ export { Avatar, AvatarImageProps, AvatarProps, AvatarSize } from './components/avatar/index.js';
3
+ export { BackLink, BackLinkProps } from './components/back-link/index.js';
4
+ export { Badge, BadgeCountProps, BadgeProps, BadgeSize, BadgeVariant } from './components/badge/index.js';
5
+ export { Button, ButtonArrowProps, ButtonIconProps, ButtonIconSide, ButtonProps, ButtonSize, ButtonVariant } from './components/button/index.js';
6
+ export { Callout, CalloutProps, CalloutVariant } from './components/callout/index.js';
7
+ export { Card, CardAction, CardActionProps, CardArrowProps, CardBody, CardDescription, CardDescriptionLines, CardDescriptionProps, CardEyebrow, CardFooter, CardHeader, CardHeadingProps, CardImage, CardImageCaption, CardImageProps, CardImageRatio, CardMeta, CardProps, CardSize, CardSlotProps, CardTagList, CardTagListProps, CardTextProps, CardTitle } from './components/card/index.js';
8
+ export { CodeBlock, CodeBlockProps } from './components/code-block/index.js';
9
+ export { CommandSearch, CommandSearchContextValue, CommandSearchEmptyProps, CommandSearchFooterProps, CommandSearchGroupProps, CommandSearchInputProps, CommandSearchItemProps, CommandSearchListProps, CommandSearchProps } from './components/command-search/index.js';
10
+ export { Container, ContainerProps, ContainerSize } from './components/container/index.js';
11
+ export { DataList, DataListItemData, DataListItemProps, DataListProps, DataListSize, DataListVariant } from './components/data-list/index.js';
12
+ export { EditorialLine, EditorialLineProps } from './components/editorial-line/index.js';
13
+ export { Eyebrow, EyebrowProps, EyebrowSize } from './components/eyebrow/index.js';
14
+ export { Footer, FooterColumn, FooterLink, FooterLinkComponentProps, FooterLinkProps, FooterProps, FooterSize, FooterStatusProps, FooterSubscribeFormProps } from './components/footer/index.js';
15
+ export { Input, InputKbdProps, InputProps, InputSize, InputVariant } from './components/input/index.js';
16
+ export { LinkList, LinkListItem, LinkListItemProps, LinkListProps, LinkListRoot, LinkListSize } from './components/link-list/index.js';
17
+ export { MediaFrame, MediaFrameCaption, MediaFrameCaptionProps, MediaFrameMeta, MediaFrameMetaProps, MediaFrameProps, MediaFrameRatio, MediaFrameRoot, MediaFrameSize } from './components/media-frame/index.js';
18
+ export { MetaRow, MetaRowProps, MetaRowSepProps } from './components/meta-row/index.js';
19
+ export { Metric, MetricProps, MetricSize, MetricTrend } from './components/metric/index.js';
20
+ export { Navbar, NavbarActionsProps, NavbarBrandProps, NavbarBrandTextStyle, NavbarLayout, NavbarLinkItem, NavbarLinkProps, NavbarNavProps, NavbarProps, NavbarSize } from './components/navbar/index.js';
21
+ export { Progress, ProgressProps, ProgressSize } from './components/progress/index.js';
22
+ export { PullQuote, PullQuoteProps } from './components/pull-quote/index.js';
23
+ export { Rail, RailCountProps, RailItemProps, RailProps } from './components/rail/index.js';
24
+ export { ResourcesPanel, ResourcesPanelItem, ResourcesPanelKind, ResourcesPanelProps, ResourcesPanelRoot, ResourcesPanelSize } from './components/resources-panel/index.js';
25
+ export { SectionHead, SectionHeadLevel, SectionHeadProps, SectionHeadSize } from './components/section-head/index.js';
26
+ export { SegmentedControl, SegmentedControlOption, SegmentedControlProps, SegmentedControlSize, SegmentedControlVariant } from './components/segmented-control/index.js';
27
+ export { Select, SelectContentProps, SelectItemProps, SelectLabelProps, SelectOption, SelectRootProps, SelectSize, SelectTriggerProps, SelectValueProps, SelectVariant } from './components/select/index.js';
28
+ export { Skeleton, SkeletonProps, SkeletonVariant } from './components/skeleton/index.js';
29
+ export { Status, StatusProps, StatusSize, StatusVariant } from './components/status/index.js';
30
+ export { InteractiveTagProps, StaticTagProps, Tag, TagCountProps, TagProps, TagSize, TagVariant } from './components/tag/index.js';
31
+ export { Testimonial, TestimonialProps, TestimonialSize, TestimonialVariant } from './components/testimonial/index.js';
32
+ export { TestimonialGrid, TestimonialGridAlign, TestimonialGridProps, TestimonialGridVariant } from './components/testimonial-grid/index.js';
33
+ export { ThemeSwitcher, ThemeSwitcherMode, ThemeSwitcherProps, ThemeSwitcherSize, ThemeSwitcherTheme } from './components/theme-switcher/index.js';
34
+ export { Toast, ToastProps, ToastVariant } from './components/toast/index.js';
35
+ export { Toc, TocItem, TocProps } from './components/toc/index.js';
36
+ export { Toggle, ToggleProps, ToggleSize } from './components/toggle/index.js';
37
+ export { MonolineBreakpoint, monolineBreakpoints } from './foundations/breakpoints.js';
38
+ export { useBreakpoint } from './foundations/use-breakpoint.js';
39
+ export { cn, composeRefs } from './lib/utils.js';
40
+ import 'react';
41
+ import 'cmdk';
42
+ import 'clsx';
package/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export{a as ThemeSwitcher}from'./chunk-FLUGXF5D.js';export{a as Toast}from'./chunk-7ANXAXP5.js';export{a as Toc}from'./chunk-ZU3HIOBU.js';export{a as Toggle}from'./chunk-QUG36ONS.js';export{b as ResourcesPanel,a as ResourcesPanelRoot}from'./chunk-2T2JZW4Z.js';export{a as SectionHead}from'./chunk-H2CRII7X.js';export{a as SegmentedControl}from'./chunk-ZOPV3BXO.js';export{a as Select}from'./chunk-IVTAW6SX.js';export{a as useBreakpoint}from'./chunk-KGLH6WI6.js';export{a as monolineBreakpoints}from'./chunk-XEB7C557.js';export{a as Skeleton}from'./chunk-7WJF6B6G.js';export{a as Status}from'./chunk-DJT3EVR4.js';export{a as Tag}from'./chunk-B5P3RAN2.js';export{a as Testimonial}from'./chunk-6AEWSPAE.js';export{a as TestimonialGrid}from'./chunk-R2YSVBHS.js';export{c as LinkList,a as LinkListItem,b as LinkListRoot}from'./chunk-5TIKYN5B.js';export{d as MediaFrame,a as MediaFrameCaption,b as MediaFrameMeta,c as MediaFrameRoot}from'./chunk-NDTTLW56.js';export{a as MetaRow}from'./chunk-D3E4G2RE.js';export{a as Metric}from'./chunk-Z7SIB4X6.js';export{a as Navbar}from'./chunk-O43OQHFN.js';export{a as Progress}from'./chunk-3F6Z4CFV.js';export{a as PullQuote}from'./chunk-37JB3ZNS.js';export{a as Rail}from'./chunk-K665XZ3N.js';export{a as CodeBlock}from'./chunk-A2LXX23X.js';export{a as CommandSearch}from'./chunk-V6PUPMAY.js';export{a as Container}from'./chunk-NDHOUIOX.js';export{a as DataList}from'./chunk-GSWZL5C2.js';export{a as EditorialLine}from'./chunk-7SDVYBBO.js';export{a as Eyebrow}from'./chunk-VSATIFOR.js';export{a as Footer}from'./chunk-COFALEVG.js';export{a as Input}from'./chunk-K72EORST.js';export{a as ActionRail}from'./chunk-EWKGYQOX.js';export{a as Avatar}from'./chunk-N37GMCSK.js';export{a as BackLink}from'./chunk-LVMQ3ZM3.js';export{a as Badge}from'./chunk-QGG3J7OW.js';export{a as Button}from'./chunk-JBOP2AJB.js';export{a as Callout}from'./chunk-TSOHITZ7.js';export{l as Card,a as CardAction,b as CardBody,c as CardDescription,d as CardEyebrow,e as CardFooter,f as CardHeader,g as CardImage,h as CardImageCaption,i as CardMeta,j as CardTagList,k as CardTitle}from'./chunk-JCKPCV2H.js';export{a as cn,b as composeRefs}from'./chunk-AACTIVV7.js';//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
package/lib/utils.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { ClassValue } from 'clsx';
3
+
4
+ declare function cn(...inputs: ClassValue[]): string;
5
+ declare function composeRefs<T>(...refs: Array<React.Ref<T> | undefined>): React.RefCallback<T>;
6
+
7
+ export { cn, composeRefs };
package/lib/utils.js ADDED
@@ -0,0 +1,2 @@
1
+ export{a as cn,b as composeRefs}from'../chunk-AACTIVV7.js';//# sourceMappingURL=utils.js.map
2
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils.js"}
package/package.json ADDED
@@ -0,0 +1,228 @@
1
+ {
2
+ "name": "@chitrank2050/monoline-ui",
3
+ "version": "0.2.0",
4
+ "description": "A token-first, responsive React component library and Tailwind CSS v4 design system built from my portfolio's visual language.",
5
+ "type": "module",
6
+ "author": {
7
+ "name": "Chitrank Agnihotri",
8
+ "email": "chitrank2050@gmail.com",
9
+ "url": "https://www.chitrankagnihotri.com"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/chitranklabs/monoline-ui"
14
+ },
15
+ "bugs": {
16
+ "url": "https://github.com/chitranklabs/monoline-ui/issues"
17
+ },
18
+ "keywords": [
19
+ "react",
20
+ "component-library",
21
+ "design-system",
22
+ "tailwindcss",
23
+ "tailwind-v4",
24
+ "typescript",
25
+ "portfolio",
26
+ "ui",
27
+ "jsr",
28
+ "button",
29
+ "toggle",
30
+ "tag",
31
+ "footer"
32
+ ],
33
+ "license": "MIT",
34
+ "publishConfig": {
35
+ "access": "public"
36
+ },
37
+ "files": [
38
+ "**/*"
39
+ ],
40
+ "main": "./index.js",
41
+ "module": "./index.js",
42
+ "types": "./index.d.ts",
43
+ "sideEffects": [
44
+ "./styles/theme.css"
45
+ ],
46
+ "exports": {
47
+ ".": {
48
+ "types": "./index.d.ts",
49
+ "import": "./index.js"
50
+ },
51
+ "./action-rail": {
52
+ "types": "./components/action-rail/index.d.ts",
53
+ "import": "./components/action-rail/index.js"
54
+ },
55
+ "./avatar": {
56
+ "types": "./components/avatar/index.d.ts",
57
+ "import": "./components/avatar/index.js"
58
+ },
59
+ "./back-link": {
60
+ "types": "./components/back-link/index.d.ts",
61
+ "import": "./components/back-link/index.js"
62
+ },
63
+ "./badge": {
64
+ "types": "./components/badge/index.d.ts",
65
+ "import": "./components/badge/index.js"
66
+ },
67
+ "./button": {
68
+ "types": "./components/button/index.d.ts",
69
+ "import": "./components/button/index.js"
70
+ },
71
+ "./callout": {
72
+ "types": "./components/callout/index.d.ts",
73
+ "import": "./components/callout/index.js"
74
+ },
75
+ "./card": {
76
+ "types": "./components/card/index.d.ts",
77
+ "import": "./components/card/index.js"
78
+ },
79
+ "./code-block": {
80
+ "types": "./components/code-block/index.d.ts",
81
+ "import": "./components/code-block/index.js"
82
+ },
83
+ "./command-search": {
84
+ "types": "./components/command-search/index.d.ts",
85
+ "import": "./components/command-search/index.js"
86
+ },
87
+ "./container": {
88
+ "types": "./components/container/index.d.ts",
89
+ "import": "./components/container/index.js"
90
+ },
91
+ "./data-list": {
92
+ "types": "./components/data-list/index.d.ts",
93
+ "import": "./components/data-list/index.js"
94
+ },
95
+ "./editorial-line": {
96
+ "types": "./components/editorial-line/index.d.ts",
97
+ "import": "./components/editorial-line/index.js"
98
+ },
99
+ "./eyebrow": {
100
+ "types": "./components/eyebrow/index.d.ts",
101
+ "import": "./components/eyebrow/index.js"
102
+ },
103
+ "./footer": {
104
+ "types": "./components/footer/index.d.ts",
105
+ "import": "./components/footer/index.js"
106
+ },
107
+ "./input": {
108
+ "types": "./components/input/index.d.ts",
109
+ "import": "./components/input/index.js"
110
+ },
111
+ "./link-list": {
112
+ "types": "./components/link-list/index.d.ts",
113
+ "import": "./components/link-list/index.js"
114
+ },
115
+ "./media-frame": {
116
+ "types": "./components/media-frame/index.d.ts",
117
+ "import": "./components/media-frame/index.js"
118
+ },
119
+ "./meta-row": {
120
+ "types": "./components/meta-row/index.d.ts",
121
+ "import": "./components/meta-row/index.js"
122
+ },
123
+ "./metric": {
124
+ "types": "./components/metric/index.d.ts",
125
+ "import": "./components/metric/index.js"
126
+ },
127
+ "./navbar": {
128
+ "types": "./components/navbar/index.d.ts",
129
+ "import": "./components/navbar/index.js"
130
+ },
131
+ "./progress": {
132
+ "types": "./components/progress/index.d.ts",
133
+ "import": "./components/progress/index.js"
134
+ },
135
+ "./pull-quote": {
136
+ "types": "./components/pull-quote/index.d.ts",
137
+ "import": "./components/pull-quote/index.js"
138
+ },
139
+ "./rail": {
140
+ "types": "./components/rail/index.d.ts",
141
+ "import": "./components/rail/index.js"
142
+ },
143
+ "./resources-panel": {
144
+ "types": "./components/resources-panel/index.d.ts",
145
+ "import": "./components/resources-panel/index.js"
146
+ },
147
+ "./section-head": {
148
+ "types": "./components/section-head/index.d.ts",
149
+ "import": "./components/section-head/index.js"
150
+ },
151
+ "./segmented-control": {
152
+ "types": "./components/segmented-control/index.d.ts",
153
+ "import": "./components/segmented-control/index.js"
154
+ },
155
+ "./select": {
156
+ "types": "./components/select/index.d.ts",
157
+ "import": "./components/select/index.js"
158
+ },
159
+ "./skeleton": {
160
+ "types": "./components/skeleton/index.d.ts",
161
+ "import": "./components/skeleton/index.js"
162
+ },
163
+ "./status": {
164
+ "types": "./components/status/index.d.ts",
165
+ "import": "./components/status/index.js"
166
+ },
167
+ "./tag": {
168
+ "types": "./components/tag/index.d.ts",
169
+ "import": "./components/tag/index.js"
170
+ },
171
+ "./testimonial": {
172
+ "types": "./components/testimonial/index.d.ts",
173
+ "import": "./components/testimonial/index.js"
174
+ },
175
+ "./testimonial-grid": {
176
+ "types": "./components/testimonial-grid/index.d.ts",
177
+ "import": "./components/testimonial-grid/index.js"
178
+ },
179
+ "./theme-switcher": {
180
+ "types": "./components/theme-switcher/index.d.ts",
181
+ "import": "./components/theme-switcher/index.js"
182
+ },
183
+ "./toast": {
184
+ "types": "./components/toast/index.d.ts",
185
+ "import": "./components/toast/index.js"
186
+ },
187
+ "./toc": {
188
+ "types": "./components/toc/index.d.ts",
189
+ "import": "./components/toc/index.js"
190
+ },
191
+ "./toggle": {
192
+ "types": "./components/toggle/index.d.ts",
193
+ "import": "./components/toggle/index.js"
194
+ },
195
+ "./components/*": {
196
+ "types": "./components/*/index.d.ts",
197
+ "import": "./components/*/index.js"
198
+ },
199
+ "./foundations/*": {
200
+ "types": "./foundations/*.d.ts",
201
+ "import": "./foundations/*.js"
202
+ },
203
+ "./lib/*": {
204
+ "types": "./lib/*.d.ts",
205
+ "import": "./lib/*.js"
206
+ },
207
+ "./theme.css": {
208
+ "default": "./styles/theme.css"
209
+ },
210
+ "./package.json": "./package.json"
211
+ },
212
+ "dependencies": {
213
+ "@radix-ui/react-slot": "^1.2.5",
214
+ "clsx": "^2.1.1",
215
+ "cmdk": "^1.1.1",
216
+ "tailwind-merge": "^3.6.0"
217
+ },
218
+ "peerDependencies": {
219
+ "react": "^18.2.0 || ^19.0.0",
220
+ "react-dom": "^18.2.0 || ^19.0.0",
221
+ "tailwindcss": ">=4.0.0"
222
+ },
223
+ "peerDependenciesMeta": {
224
+ "tailwindcss": {
225
+ "optional": true
226
+ }
227
+ }
228
+ }
@@ -0,0 +1,206 @@
1
+ /* =============================================================================
2
+ * animations.css · Keyframes and animation utilities
3
+ * ─────────────────────────────────────────────────────────────────────────────
4
+ * Keyframes and .animate-* classes for layout micro-interactions.
5
+ * ========================================================================== */
6
+
7
+ /* Heart pop (like button) */
8
+ @keyframes heart-pop {
9
+ 0% {
10
+ transform: scale(1);
11
+ }
12
+ 35% {
13
+ transform: scale(1.35);
14
+ }
15
+ 70% {
16
+ transform: scale(0.92);
17
+ }
18
+ 100% {
19
+ transform: scale(1);
20
+ }
21
+ }
22
+ .animate-heart-pop {
23
+ animation: var(--animate-heart-pop);
24
+ }
25
+
26
+ /* Ring ripple (around like button) */
27
+ @keyframes ring-ripple {
28
+ 0% {
29
+ opacity: 0.6;
30
+ transform: scale(0.4);
31
+ }
32
+ 100% {
33
+ opacity: 0;
34
+ transform: scale(2.2);
35
+ }
36
+ }
37
+ .animate-ring-ripple {
38
+ animation: var(--animate-ring-ripple);
39
+ }
40
+
41
+ /* Shimmer skeleton */
42
+ @keyframes shimmer {
43
+ 0% {
44
+ background-position: -12.5rem 0;
45
+ }
46
+ 100% {
47
+ background-position: 12.5rem 0;
48
+ }
49
+ }
50
+ .animate-shimmer {
51
+ background: linear-gradient(
52
+ 90deg,
53
+ var(--surface-2) 0%,
54
+ var(--surface-3) 50%,
55
+ var(--surface-2) 100%
56
+ );
57
+ background-size: 12.5rem 100%;
58
+ animation: var(--animate-shimmer);
59
+ }
60
+
61
+ /* Reading progress indeterminate sweep */
62
+ @keyframes progress-loop {
63
+ 0% {
64
+ transform: translateX(-100%);
65
+ }
66
+ 100% {
67
+ transform: translateX(400%);
68
+ }
69
+ }
70
+ .animate-progress-loop {
71
+ animation: var(--animate-progress-loop);
72
+ }
73
+
74
+ /* Toast slide-in / out */
75
+ @keyframes toast-in {
76
+ 0% {
77
+ transform: translateY(0.5rem);
78
+ opacity: 0;
79
+ }
80
+ 15% {
81
+ transform: translateY(0);
82
+ opacity: 1;
83
+ }
84
+ 85% {
85
+ transform: translateY(0);
86
+ opacity: 1;
87
+ }
88
+ 100% {
89
+ transform: translateY(-0.25rem);
90
+ opacity: 0;
91
+ }
92
+ }
93
+ .animate-toast-in {
94
+ animation: var(--animate-toast-in);
95
+ }
96
+
97
+ /* Fade-up entry - used by sections on first paint */
98
+ @keyframes fade-up {
99
+ 0% {
100
+ opacity: 0;
101
+ transform: translateY(0.75rem);
102
+ filter: blur(4px);
103
+ }
104
+ 100% {
105
+ opacity: 1;
106
+ transform: translateY(0);
107
+ filter: blur(0);
108
+ }
109
+ }
110
+ .animate-fade-up {
111
+ animation: var(--animate-fade-up);
112
+ }
113
+
114
+ /* Slide-in from left / right - used by drawers, sidebar */
115
+ @keyframes slide-in-left {
116
+ from {
117
+ transform: translateX(-100%);
118
+ }
119
+ to {
120
+ transform: translateX(0);
121
+ }
122
+ }
123
+ @keyframes slide-in-right {
124
+ from {
125
+ transform: translateX(100%);
126
+ }
127
+ to {
128
+ transform: translateX(0);
129
+ }
130
+ }
131
+ .animate-slide-in-left {
132
+ animation: var(--animate-slide-in-left);
133
+ }
134
+ .animate-slide-in-right {
135
+ animation: var(--animate-slide-in-right);
136
+ }
137
+
138
+ /* Scale-in (popovers, dropdowns) */
139
+ @keyframes scale-in {
140
+ from {
141
+ opacity: 0;
142
+ transform: scale(0.96);
143
+ }
144
+ to {
145
+ opacity: 1;
146
+ transform: scale(1);
147
+ }
148
+ }
149
+ .animate-scale-in {
150
+ animation: var(--animate-scale-in);
151
+ transform-origin: top center;
152
+ }
153
+
154
+ /* Spin (loading) */
155
+ @keyframes spin {
156
+ to {
157
+ transform: rotate(360deg);
158
+ }
159
+ }
160
+ .animate-spin {
161
+ animation: spin 0.8s linear infinite;
162
+ }
163
+
164
+ /* Pulse (status dot - Open to work) */
165
+ @keyframes pulse {
166
+ 0%,
167
+ 100% {
168
+ opacity: 1;
169
+ }
170
+ 50% {
171
+ opacity: 0.5;
172
+ }
173
+ }
174
+ .animate-pulse {
175
+ animation: pulse 2s var(--ease-in-out) infinite;
176
+ }
177
+
178
+ /* Glow pulse (status dot with shadow ring) */
179
+ @keyframes glow-pulse {
180
+ 0%,
181
+ 100% {
182
+ box-shadow: 0 0 0 0 var(--accent-soft);
183
+ }
184
+ 50% {
185
+ box-shadow: 0 0 0 6px transparent;
186
+ }
187
+ }
188
+ .animate-glow-pulse {
189
+ animation: var(--animate-glow-pulse);
190
+ }
191
+
192
+ /* Entry animation - your existing @starting-style pattern, preserved */
193
+ @layer utilities {
194
+ .animate-entry {
195
+ opacity: 1;
196
+ transform: translateY(0);
197
+ transition:
198
+ opacity var(--duration-long) var(--ease-out),
199
+ transform var(--duration-long) var(--ease-out-expo);
200
+
201
+ @starting-style {
202
+ opacity: 0;
203
+ transform: translateY(0.5rem);
204
+ }
205
+ }
206
+ }
@@ -0,0 +1,75 @@
1
+ /* =============================================================================
2
+ * base.css · Global resets and base element styles
3
+ * ─────────────────────────────────────────────────────────────────────────────
4
+ * Defines core rules for body background/colors, ::selection, customized
5
+ * scrollbars, and focus outlines inside the @layer base scope.
6
+ * ========================================================================== */
7
+ @layer base {
8
+ * {
9
+ @apply border-border outline-ring/50;
10
+ }
11
+
12
+ html {
13
+ /* Smooth scroll for anchor jumps (table of contents) */
14
+ scroll-behavior: smooth;
15
+ /* Prevent horizontal scroll from any overflowing child.
16
+ clip (not hidden) preserves position: sticky on descendants. */
17
+ overflow-x: clip;
18
+ }
19
+
20
+ body {
21
+ overflow-x: clip;
22
+ background: var(--background);
23
+ color: var(--foreground);
24
+ font-family: var(--font-sans);
25
+ font-feature-settings: "ss01", "cv11";
26
+ text-rendering: optimizeLegibility;
27
+ -webkit-font-smoothing: antialiased;
28
+ -moz-osx-font-smoothing: grayscale;
29
+ }
30
+
31
+ /* Enable smooth transitions only when explicitly toggling themes */
32
+ .theme-transitioning,
33
+ .theme-transitioning * {
34
+ transition:
35
+ background-color var(--duration-short) var(--ease-out) !important,
36
+ color var(--duration-short) var(--ease-out) !important,
37
+ border-color var(--duration-short) var(--ease-out) !important,
38
+ box-shadow var(--duration-short) var(--ease-out) !important;
39
+ }
40
+
41
+ ::selection {
42
+ background: var(--accent-soft);
43
+ color: var(--foreground);
44
+ }
45
+
46
+ /* Themed scrollbar - subtle, follows the surface ladder */
47
+ ::-webkit-scrollbar {
48
+ width: 0.625rem;
49
+ height: 0.625rem;
50
+ }
51
+ ::-webkit-scrollbar-track {
52
+ background: transparent;
53
+ }
54
+ ::-webkit-scrollbar-thumb {
55
+ background: var(--border-strong);
56
+ border-radius: 999px;
57
+ border: 0.125rem solid var(--background);
58
+ }
59
+ ::-webkit-scrollbar-thumb:hover {
60
+ background: var(--muted-foreground);
61
+ }
62
+
63
+ /* Firefox */
64
+ * {
65
+ scrollbar-width: thin;
66
+ scrollbar-color: var(--border-strong) transparent;
67
+ }
68
+
69
+ /* Focus ring is consistent across all focusable elements */
70
+ :where(button, a, input, textarea, select, [tabindex]):focus-visible {
71
+ outline: none;
72
+ box-shadow: var(--focus-ring);
73
+ border-color: var(--accent);
74
+ }
75
+ }