@drjoshcsimmons/scl 0.3.1 → 0.4.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 (141) hide show
  1. package/dist/components/ui/accordion/accordion.d.ts +1 -0
  2. package/dist/components/ui/accordion/accordion.d.ts.map +1 -1
  3. package/dist/components/ui/badge/badge.d.ts +5 -1
  4. package/dist/components/ui/badge/badge.d.ts.map +1 -1
  5. package/dist/components/ui/button/button.d.ts +7 -0
  6. package/dist/components/ui/button/button.d.ts.map +1 -1
  7. package/dist/components/ui/input/input.d.ts +6 -1
  8. package/dist/components/ui/input/input.d.ts.map +1 -1
  9. package/dist/components/ui/skeleton/skeleton.d.ts +5 -2
  10. package/dist/components/ui/skeleton/skeleton.d.ts.map +1 -1
  11. package/dist/components/ui/textarea/textarea.d.ts +6 -1
  12. package/dist/components/ui/textarea/textarea.d.ts.map +1 -1
  13. package/dist/globals.css +45 -0
  14. package/dist/hooks/use-font-loaded.d.ts +2 -0
  15. package/dist/hooks/use-font-loaded.d.ts.map +1 -0
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +116 -114
  19. package/dist/index10.js +33 -28
  20. package/dist/index100.js +3 -5
  21. package/dist/index101.js +2 -2
  22. package/dist/index102.js +5 -54
  23. package/dist/index103.js +25 -30
  24. package/dist/index104.js +47 -29
  25. package/dist/index105.js +30 -4
  26. package/dist/index106.js +45 -216
  27. package/dist/index107.js +7 -46
  28. package/dist/index108.js +178 -27
  29. package/dist/index109.js +51 -44
  30. package/dist/index11.js +28 -5
  31. package/dist/index110.js +30 -9
  32. package/dist/index111.js +30 -6
  33. package/dist/index112.js +6 -48
  34. package/dist/index114.js +200 -42
  35. package/dist/index115.js +20 -204
  36. package/dist/index116.js +399 -21
  37. package/dist/index117.js +40 -392
  38. package/dist/index118.js +48 -2
  39. package/dist/index119.js +23 -51
  40. package/dist/index12.js +5 -79
  41. package/dist/index120.js +29 -65
  42. package/dist/index121.js +5 -25
  43. package/dist/index122.js +2 -29
  44. package/dist/index123.js +53 -5
  45. package/dist/index124.js +65 -2
  46. package/dist/index125.js +2 -2
  47. package/dist/index126.js +2 -5
  48. package/dist/index127.js +5 -3
  49. package/dist/index128.js +3 -24
  50. package/dist/index129.js +22 -111
  51. package/dist/index13.js +75 -12
  52. package/dist/index130.js +111 -14
  53. package/dist/index131.js +14 -523
  54. package/dist/index132.js +511 -114
  55. package/dist/index133.js +111 -117
  56. package/dist/index134.js +130 -61
  57. package/dist/index135.js +65 -69
  58. package/dist/index136.js +68 -8
  59. package/dist/index137.js +9 -14
  60. package/dist/index138.js +14 -66
  61. package/dist/index139.js +66 -4
  62. package/dist/index14.js +17 -14
  63. package/dist/index140.js +3 -22
  64. package/dist/index141.js +23 -13
  65. package/dist/index142.js +20 -25
  66. package/dist/index143.js +12 -4
  67. package/dist/index144.js +25 -20
  68. package/dist/index145.js +7 -0
  69. package/dist/index15.js +12 -17
  70. package/dist/index16.js +18 -31
  71. package/dist/index17.js +32 -25
  72. package/dist/index18.js +19 -31
  73. package/dist/index19.js +28 -129
  74. package/dist/index20.js +136 -18
  75. package/dist/index21.js +19 -11
  76. package/dist/index22.js +11 -20
  77. package/dist/index23.js +23 -15
  78. package/dist/index24.js +15 -31
  79. package/dist/index25.js +31 -35
  80. package/dist/index26.js +35 -15
  81. package/dist/index27.js +15 -13
  82. package/dist/index28.js +11 -20
  83. package/dist/index29.js +23 -99
  84. package/dist/index3.js +10 -22
  85. package/dist/index30.js +99 -38
  86. package/dist/index31.js +38 -10
  87. package/dist/index32.js +10 -48
  88. package/dist/index33.js +47 -64
  89. package/dist/index34.js +66 -236
  90. package/dist/{index63.js → index38.js} +14 -14
  91. package/dist/index4.js +22 -53
  92. package/dist/index40.js +239 -0
  93. package/dist/{index59.js → index42.js} +1 -1
  94. package/dist/index45.js +507 -236
  95. package/dist/index47.js +860 -18
  96. package/dist/index5.js +52 -24
  97. package/dist/index50.js +91 -197
  98. package/dist/{index65.js → index53.js} +8 -8
  99. package/dist/index55.js +221 -822
  100. package/dist/{index67.js → index58.js} +6 -6
  101. package/dist/index6.js +24 -34
  102. package/dist/index61.js +310 -504
  103. package/dist/{index43.js → index64.js} +7 -7
  104. package/dist/{index57.js → index66.js} +2 -2
  105. package/dist/{index52.js → index68.js} +3 -3
  106. package/dist/index7.js +34 -6
  107. package/dist/index70.js +238 -0
  108. package/dist/{index69.js → index72.js} +7 -7
  109. package/dist/{index36.js → index74.js} +1 -1
  110. package/dist/index76.js +20 -0
  111. package/dist/index8.js +6 -21
  112. package/dist/index81.js +1 -1
  113. package/dist/index82.js +1 -1
  114. package/dist/index83.js +7 -30
  115. package/dist/index84.js +25 -5
  116. package/dist/index86.js +114 -170
  117. package/dist/index87.js +13 -67
  118. package/dist/index88.js +133 -32
  119. package/dist/index89.js +10 -7
  120. package/dist/index9.js +27 -32
  121. package/dist/index90.js +215 -48
  122. package/dist/index91.js +14 -11
  123. package/dist/index92.js +64 -120
  124. package/dist/index93.js +32 -133
  125. package/dist/index94.js +48 -14
  126. package/dist/index95.js +50 -13
  127. package/dist/index96.js +50 -9
  128. package/dist/index97.js +9 -50
  129. package/dist/index98.js +29 -47
  130. package/dist/index99.js +7 -24
  131. package/dist/tokens/index.d.ts +9 -8
  132. package/dist/tokens/index.d.ts.map +1 -1
  133. package/dist/tokens/spacing.d.ts +11 -8
  134. package/dist/tokens/spacing.d.ts.map +1 -1
  135. package/dist/tokens/typography.d.ts +1 -0
  136. package/dist/tokens/typography.d.ts.map +1 -1
  137. package/package.json +4 -5
  138. package/dist/index71.js +0 -338
  139. package/dist/index73.js +0 -132
  140. package/dist/index77.js +0 -29
  141. /package/dist/{index41.js → index35.js} +0 -0
@@ -1,5 +1,6 @@
1
1
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
2
2
  import * as React from 'react';
3
+ /** Root accordion container. Manages open/closed state of accordion items. */
3
4
  declare const Accordion: React.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
4
5
  declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
6
  declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/accordion/accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,iBAAiB,CAAC;AAEzB,QAAA,MAAM,SAAS,8JAA0B,CAAC;AAgB1C,QAAA,MAAM,aAAa,iKASjB,CAAC;AAGH,QAAA,MAAM,gBAAgB,0KAcpB,CAAC;AAGH,QAAA,MAAM,gBAAgB,oKAWpB,CAAC;AAGH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/accordion/accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,iBAAiB,CAAC;AAEzB,8EAA8E;AAC9E,QAAA,MAAM,SAAS,8JAA0B,CAAC;AAgB1C,QAAA,MAAM,aAAa,iKASjB,CAAC;AAGH,QAAA,MAAM,gBAAgB,0KAcpB,CAAC;AAGH,QAAA,MAAM,gBAAgB,oKAWpB,CAAC;AAGH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,8 +1,12 @@
1
1
  import type * as React from 'react';
2
+ /** Available badge visual variants. */
2
3
  export type BadgeVariant = 'default' | 'secondary' | 'destructive' | 'outline' | 'secondary-outline' | 'destructive-outline';
3
- export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ /** Props for the Badge component. */
5
+ export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
6
+ /** Visual style variant. */
4
7
  variant?: BadgeVariant;
5
8
  }
9
+ /** An inline badge/label for status indicators, counts, or tags. */
6
10
  declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
7
11
  export { Badge };
8
12
  //# sourceMappingURL=badge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/badge/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,WAAW,GACX,aAAa,GACb,SAAS,GACT,mBAAmB,GACnB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAEtE;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/badge/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,aAAa,CAAC;AAErB,uCAAuC;AACvC,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,WAAW,GACX,aAAa,GACb,SAAS,GACT,mBAAmB,GACnB,qBAAqB,CAAC;AAE1B,qCAAqC;AACrC,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACvE,4BAA4B;IAC5B,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,oEAAoE;AACpE,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAEtE;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,11 +1,18 @@
1
1
  import * as React from 'react';
2
2
  export type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'secondary-outline' | 'ghost' | 'link' | 'destructive' | 'destructive-outline';
3
3
  export type ButtonSize = 'default' | 'sm' | 'lg' | 'icon';
4
+ /** Props for the Button component. */
4
5
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
6
+ /** Visual style variant. */
5
7
  variant?: ButtonVariant;
8
+ /** Size preset. */
6
9
  size?: ButtonSize;
10
+ /** Render as child element (Radix Slot pattern). */
7
11
  asChild?: boolean;
12
+ /** Show a loading spinner and disable the button. */
13
+ loading?: boolean;
8
14
  }
15
+ /** A styled button with multiple variants, sizes, and loading state. */
9
16
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
10
17
  export { Button };
11
18
  //# sourceMappingURL=button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/button/button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,cAAc,CAAC;AAEtB,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,SAAS,GACT,mBAAmB,GACnB,OAAO,GACP,MAAM,GACN,aAAa,GACb,qBAAqB,CAAC;AAE1B,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,uFAgBX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/button/button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,cAAc,CAAC;AAEtB,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,SAAS,GACT,mBAAmB,GACnB,OAAO,GACP,MAAM,GACN,aAAa,GACb,qBAAqB,CAAC;AAE1B,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE1D,sCAAsC;AACtC,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,mBAAmB;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wEAAwE;AACxE,QAAA,MAAM,MAAM,uFAqBX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,5 +1,10 @@
1
1
  import * as React from 'react';
2
- export type InputProps = React.InputHTMLAttributes<HTMLInputElement>;
2
+ /** Props for the Input component. */
3
+ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
4
+ /** Whether the input is in an error/invalid state. */
5
+ error?: boolean;
6
+ }
7
+ /** A styled text input with terminal aesthetics. Supports error state via the `error` prop. */
3
8
  declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
4
9
  export { Input };
5
10
  //# sourceMappingURL=input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/input/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AAErE,QAAA,MAAM,KAAK,qFAWV,CAAC;AAGF,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/input/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,aAAa,CAAC;AAErB,qCAAqC;AACrC,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;IAC7E,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,+FAA+F;AAC/F,QAAA,MAAM,KAAK,qFAYV,CAAC;AAGF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import type * as React from 'react';
2
- interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ /** Props for the Skeleton loading placeholder. */
3
+ export interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ /** Whether to show the blink animation. */
3
5
  blink?: boolean;
4
6
  }
5
- declare function Skeleton({ className, blink, ...props }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
7
+ /** A loading placeholder with terminal-style blink animation. */
8
+ declare function Skeleton({ className, blink, role, ...props }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
6
9
  export { Skeleton };
7
10
  //# sourceMappingURL=skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/skeleton/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,gBAAgB,CAAC;AAExB,UAAU,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAY,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAOrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/skeleton/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,gBAAgB,CAAC;AAExB,kDAAkD;AAClD,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,iEAAiE;AACjE,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAY,EAAE,IAAe,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAStF;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,5 +1,10 @@
1
1
  import * as React from 'react';
2
- export type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;
2
+ /** Props for the Textarea component. */
3
+ export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
4
+ /** Whether the textarea is in an error/invalid state. */
5
+ error?: boolean;
6
+ }
7
+ /** A styled textarea with terminal aesthetics. Supports error state via the `error` prop. */
3
8
  declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
4
9
  export { Textarea };
5
10
  //# sourceMappingURL=textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/textarea/textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,gBAAgB,CAAC;AAExB,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;AAE9E,QAAA,MAAM,QAAQ,2FAUb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/textarea/textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,gBAAgB,CAAC;AAExB,wCAAwC;AACxC,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC;IACtF,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,6FAA6F;AAC7F,QAAA,MAAM,QAAQ,2FAWb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/dist/globals.css CHANGED
@@ -4,6 +4,7 @@
4
4
  @font-face {
5
5
  font-family: 'BigBlueTerm437';
6
6
  src: url('/fonts/BigBlueTerm437.ttf') format('truetype');
7
+ font-display: block;
7
8
  }
8
9
 
9
10
  /* CSS Custom Properties (Design Tokens) */
@@ -233,3 +234,47 @@ body {
233
234
  .scl-win95-scroll::-webkit-scrollbar-thumb:hover {
234
235
  background-color: #d6d6d6;
235
236
  }
237
+
238
+ /* Reduced Motion */
239
+ @media (prefers-reduced-motion: reduce) {
240
+ *,
241
+ *::before,
242
+ *::after {
243
+ animation-duration: 0.01ms !important;
244
+ animation-iteration-count: 1 !important;
245
+ transition-duration: 0.01ms !important;
246
+ scroll-behavior: auto !important;
247
+ }
248
+ }
249
+
250
+ /* Light Mode (opt-in via class) */
251
+ .scl-theme-light {
252
+ --scl-background: var(--scl-color-white);
253
+ --scl-foreground: var(--scl-color-black);
254
+ --scl-primary: hsl(120, 80%, 25%);
255
+ --scl-primary-foreground: var(--scl-color-white);
256
+ --scl-secondary: hsl(300, 80%, 35%);
257
+ --scl-secondary-foreground: var(--scl-color-white);
258
+ --scl-muted: hsl(0, 0%, 92%);
259
+ --scl-muted-foreground: hsl(120, 80%, 25%);
260
+ --scl-card: var(--scl-color-white);
261
+ --scl-card-foreground: var(--scl-color-black);
262
+ --scl-popover: var(--scl-color-white);
263
+ --scl-popover-foreground: var(--scl-color-black);
264
+ --scl-border: hsl(120, 80%, 25%);
265
+ --scl-ring: hsl(120, 80%, 25%);
266
+ --scl-input: var(--scl-color-white);
267
+ }
268
+
269
+ /* Screen Reader Only utility */
270
+ .scl-sr-only {
271
+ position: absolute;
272
+ width: 1px;
273
+ height: 1px;
274
+ padding: 0;
275
+ margin: -1px;
276
+ overflow: hidden;
277
+ clip: rect(0, 0, 0, 0);
278
+ white-space: nowrap;
279
+ border-width: 0;
280
+ }
@@ -0,0 +1,2 @@
1
+ export declare function useFontLoaded(fontFamily?: string): boolean;
2
+ //# sourceMappingURL=use-font-loaded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-font-loaded.d.ts","sourceRoot":"","sources":["../../src/hooks/use-font-loaded.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,UAAU,SAAmB,GAAG,OAAO,CAUpE"}
package/dist/index.d.ts CHANGED
@@ -24,5 +24,6 @@ export * from './components/ui/textarea';
24
24
  export * from './components/ui/toggle';
25
25
  export * from './components/ui/tooltip';
26
26
  export { cx, cn } from './lib/utils';
27
+ export { useFontLoaded } from './hooks/use-font-loaded';
27
28
  export * from './tokens';
28
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGrC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,119 +1,121 @@
1
1
  import { cn as e, cx as t } from "./index2.js";
2
- import { theme as a } from "./index3.js";
3
- import { Accordion as i, AccordionContent as m, AccordionItem as n, AccordionTrigger as x } from "./index4.js";
4
- import { Alert as f, AlertDescription as g, AlertTitle as T } from "./index5.js";
5
- import { Avatar as C, AvatarFallback as b, AvatarImage as s } from "./index6.js";
6
- import { Badge as D } from "./index7.js";
7
- import { Button as u } from "./index8.js";
8
- import { Card as P, CardContent as h, CardDescription as B, CardFooter as I, CardHeader as w, CardTitle as y } from "./index9.js";
9
- import { Checkbox as H } from "./index10.js";
10
- import { Collapsible as k, CollapsibleContent as G, CollapsibleTrigger as L } from "./index11.js";
11
- import { Dialog as U, DialogClose as V, DialogContent as j, DialogDescription as q, DialogFooter as z, DialogHeader as E, DialogOverlay as J, DialogPortal as K, DialogTitle as M, DialogTrigger as N } from "./index12.js";
12
- import { Input as W } from "./index13.js";
13
- import { Label as Y } from "./index14.js";
14
- import { Popover as _, PopoverAnchor as $, PopoverContent as oo, PopoverTrigger as ro } from "./index15.js";
15
- import { Progress as to } from "./index16.js";
16
- import { RadioGroup as ao, RadioGroupItem as po } from "./index17.js";
17
- import { ScrollArea as mo, ScrollBar as no } from "./index18.js";
18
- import { Select as co, SelectContent as fo, SelectGroup as go, SelectItem as To, SelectLabel as Co, SelectScrollDownButton as bo, SelectScrollUpButton as so, SelectSeparator as So, SelectTrigger as Do, SelectValue as Ao } from "./index19.js";
19
- import { Separator as vo } from "./index20.js";
20
- import { Skeleton as ho } from "./index21.js";
21
- import { Slider as Io } from "./index22.js";
22
- import { Switch as yo } from "./index23.js";
23
- import { Table as Ho, TableBody as Ro, TableCaption as ko, TableCell as Go, TableFooter as Lo, TableHead as Oo, TableHeader as Uo, TableRow as Vo } from "./index24.js";
24
- import { Tabs as qo, TabsContent as zo, TabsList as Eo, TabsTrigger as Jo } from "./index25.js";
25
- import { Textarea as Mo } from "./index26.js";
26
- import { Toggle as Qo } from "./index27.js";
27
- import { Tooltip as Xo, TooltipContent as Yo, TooltipProvider as Zo, TooltipTrigger as _o } from "./index28.js";
28
- import { animations as or } from "./index29.js";
29
- import { colors as er, palette as tr } from "./index30.js";
30
- import { shadows as ar } from "./index31.js";
31
- import { borderRadius as ir, spacing as mr } from "./index32.js";
32
- import { typography as xr } from "./index33.js";
2
+ import { useFontLoaded as a } from "./index3.js";
3
+ import { theme as i } from "./index4.js";
4
+ import { Accordion as n, AccordionContent as x, AccordionItem as c, AccordionTrigger as f } from "./index5.js";
5
+ import { Alert as T, AlertDescription as d, AlertTitle as s } from "./index6.js";
6
+ import { Avatar as b, AvatarFallback as S, AvatarImage as D } from "./index7.js";
7
+ import { Badge as u } from "./index8.js";
8
+ import { Button as P } from "./index9.js";
9
+ import { Card as B, CardContent as F, CardDescription as I, CardFooter as w, CardHeader as y, CardTitle as H } from "./index10.js";
10
+ import { Checkbox as R } from "./index11.js";
11
+ import { Collapsible as G, CollapsibleContent as O, CollapsibleTrigger as U } from "./index12.js";
12
+ import { Dialog as j, DialogClose as q, DialogContent as z, DialogDescription as E, DialogFooter as J, DialogHeader as K, DialogOverlay as M, DialogPortal as N, DialogTitle as Q, DialogTrigger as W } from "./index13.js";
13
+ import { Input as Y } from "./index14.js";
14
+ import { Label as _ } from "./index15.js";
15
+ import { Popover as oo, PopoverAnchor as ro, PopoverContent as eo, PopoverTrigger as to } from "./index16.js";
16
+ import { Progress as ao } from "./index17.js";
17
+ import { RadioGroup as io, RadioGroupItem as mo } from "./index18.js";
18
+ import { ScrollArea as xo, ScrollBar as co } from "./index19.js";
19
+ import { Select as go, SelectContent as To, SelectGroup as so, SelectItem as Co, SelectLabel as bo, SelectScrollDownButton as So, SelectScrollUpButton as Do, SelectSeparator as Ao, SelectTrigger as uo, SelectValue as vo } from "./index20.js";
20
+ import { Separator as ho } from "./index21.js";
21
+ import { Skeleton as Fo } from "./index22.js";
22
+ import { Slider as wo } from "./index23.js";
23
+ import { Switch as Ho } from "./index24.js";
24
+ import { Table as Ro, TableBody as ko, TableCaption as Go, TableCell as Oo, TableFooter as Uo, TableHead as Vo, TableHeader as jo, TableRow as qo } from "./index25.js";
25
+ import { Tabs as Eo, TabsContent as Jo, TabsList as Ko, TabsTrigger as Mo } from "./index26.js";
26
+ import { Textarea as Qo } from "./index27.js";
27
+ import { Toggle as Xo } from "./index28.js";
28
+ import { Tooltip as Zo, TooltipContent as _o, TooltipProvider as $o, TooltipTrigger as or } from "./index29.js";
29
+ import { animations as er } from "./index30.js";
30
+ import { colors as lr, palette as ar } from "./index31.js";
31
+ import { shadows as ir } from "./index32.js";
32
+ import { borderRadius as nr, spacing as xr } from "./index33.js";
33
+ import { typography as fr } from "./index34.js";
33
34
  export {
34
- i as Accordion,
35
- m as AccordionContent,
36
- n as AccordionItem,
37
- x as AccordionTrigger,
38
- f as Alert,
39
- g as AlertDescription,
40
- T as AlertTitle,
41
- C as Avatar,
42
- b as AvatarFallback,
43
- s as AvatarImage,
44
- D as Badge,
45
- u as Button,
46
- P as Card,
47
- h as CardContent,
48
- B as CardDescription,
49
- I as CardFooter,
50
- w as CardHeader,
51
- y as CardTitle,
52
- H as Checkbox,
53
- k as Collapsible,
54
- G as CollapsibleContent,
55
- L as CollapsibleTrigger,
56
- U as Dialog,
57
- V as DialogClose,
58
- j as DialogContent,
59
- q as DialogDescription,
60
- z as DialogFooter,
61
- E as DialogHeader,
62
- J as DialogOverlay,
63
- K as DialogPortal,
64
- M as DialogTitle,
65
- N as DialogTrigger,
66
- W as Input,
67
- Y as Label,
68
- _ as Popover,
69
- $ as PopoverAnchor,
70
- oo as PopoverContent,
71
- ro as PopoverTrigger,
72
- to as Progress,
73
- ao as RadioGroup,
74
- po as RadioGroupItem,
75
- mo as ScrollArea,
76
- no as ScrollBar,
77
- co as Select,
78
- fo as SelectContent,
79
- go as SelectGroup,
80
- To as SelectItem,
81
- Co as SelectLabel,
82
- bo as SelectScrollDownButton,
83
- so as SelectScrollUpButton,
84
- So as SelectSeparator,
85
- Do as SelectTrigger,
86
- Ao as SelectValue,
87
- vo as Separator,
88
- ho as Skeleton,
89
- Io as Slider,
90
- yo as Switch,
91
- Ho as Table,
92
- Ro as TableBody,
93
- ko as TableCaption,
94
- Go as TableCell,
95
- Lo as TableFooter,
96
- Oo as TableHead,
97
- Uo as TableHeader,
98
- Vo as TableRow,
99
- qo as Tabs,
100
- zo as TabsContent,
101
- Eo as TabsList,
102
- Jo as TabsTrigger,
103
- Mo as Textarea,
104
- Qo as Toggle,
105
- Xo as Tooltip,
106
- Yo as TooltipContent,
107
- Zo as TooltipProvider,
108
- _o as TooltipTrigger,
109
- or as animations,
110
- ir as borderRadius,
35
+ n as Accordion,
36
+ x as AccordionContent,
37
+ c as AccordionItem,
38
+ f as AccordionTrigger,
39
+ T as Alert,
40
+ d as AlertDescription,
41
+ s as AlertTitle,
42
+ b as Avatar,
43
+ S as AvatarFallback,
44
+ D as AvatarImage,
45
+ u as Badge,
46
+ P as Button,
47
+ B as Card,
48
+ F as CardContent,
49
+ I as CardDescription,
50
+ w as CardFooter,
51
+ y as CardHeader,
52
+ H as CardTitle,
53
+ R as Checkbox,
54
+ G as Collapsible,
55
+ O as CollapsibleContent,
56
+ U as CollapsibleTrigger,
57
+ j as Dialog,
58
+ q as DialogClose,
59
+ z as DialogContent,
60
+ E as DialogDescription,
61
+ J as DialogFooter,
62
+ K as DialogHeader,
63
+ M as DialogOverlay,
64
+ N as DialogPortal,
65
+ Q as DialogTitle,
66
+ W as DialogTrigger,
67
+ Y as Input,
68
+ _ as Label,
69
+ oo as Popover,
70
+ ro as PopoverAnchor,
71
+ eo as PopoverContent,
72
+ to as PopoverTrigger,
73
+ ao as Progress,
74
+ io as RadioGroup,
75
+ mo as RadioGroupItem,
76
+ xo as ScrollArea,
77
+ co as ScrollBar,
78
+ go as Select,
79
+ To as SelectContent,
80
+ so as SelectGroup,
81
+ Co as SelectItem,
82
+ bo as SelectLabel,
83
+ So as SelectScrollDownButton,
84
+ Do as SelectScrollUpButton,
85
+ Ao as SelectSeparator,
86
+ uo as SelectTrigger,
87
+ vo as SelectValue,
88
+ ho as Separator,
89
+ Fo as Skeleton,
90
+ wo as Slider,
91
+ Ho as Switch,
92
+ Ro as Table,
93
+ ko as TableBody,
94
+ Go as TableCaption,
95
+ Oo as TableCell,
96
+ Uo as TableFooter,
97
+ Vo as TableHead,
98
+ jo as TableHeader,
99
+ qo as TableRow,
100
+ Eo as Tabs,
101
+ Jo as TabsContent,
102
+ Ko as TabsList,
103
+ Mo as TabsTrigger,
104
+ Qo as Textarea,
105
+ Xo as Toggle,
106
+ Zo as Tooltip,
107
+ _o as TooltipContent,
108
+ $o as TooltipProvider,
109
+ or as TooltipTrigger,
110
+ er as animations,
111
+ nr as borderRadius,
111
112
  e as cn,
112
- er as colors,
113
+ lr as colors,
113
114
  t as cx,
114
- tr as palette,
115
- ar as shadows,
116
- mr as spacing,
117
- a as theme,
118
- xr as typography
115
+ ar as palette,
116
+ ir as shadows,
117
+ xr as spacing,
118
+ i as theme,
119
+ fr as typography,
120
+ a as useFontLoaded
119
121
  };
package/dist/index10.js CHANGED
@@ -1,31 +1,36 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { Checkbox as e, CheckboxIndicator as s } from "./index69.js";
3
- import * as a from "react";
4
- import { cx as t } from "./index2.js";
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import * as s from "react";
3
+ import { cx as o } from "./index2.js";
5
4
  /* empty css */
6
- const n = () => /* @__PURE__ */ o(
7
- "svg",
8
- {
9
- className: "scl-checkbox__icon",
10
- viewBox: "0 0 24 24",
11
- fill: "none",
12
- stroke: "currentColor",
13
- strokeWidth: "3",
14
- strokeLinecap: "square",
15
- strokeLinejoin: "miter",
16
- "aria-hidden": "true",
17
- children: /* @__PURE__ */ o("polyline", { points: "20 6 9 17 4 12" })
18
- }
19
- ), l = a.forwardRef(({ className: c, ...r }, i) => /* @__PURE__ */ o(
20
- e,
21
- {
22
- ref: i,
23
- className: t("scl-checkbox", c),
24
- ...r,
25
- children: /* @__PURE__ */ o(s, { className: "scl-checkbox__indicator", children: /* @__PURE__ */ o(n, {}) })
26
- }
27
- ));
28
- l.displayName = e.displayName;
5
+ const c = s.forwardRef(
6
+ ({ className: a, ...r }, d) => /* @__PURE__ */ e("div", { ref: d, className: o("scl-card", a), ...r })
7
+ );
8
+ c.displayName = "Card";
9
+ const t = s.forwardRef(
10
+ ({ className: a, ...r }, d) => /* @__PURE__ */ e("div", { ref: d, className: o("scl-card__header", a), ...r })
11
+ );
12
+ t.displayName = "CardHeader";
13
+ const i = s.forwardRef(
14
+ ({ className: a, ...r }, d) => /* @__PURE__ */ e("div", { ref: d, className: o("scl-card__title", a), ...r })
15
+ );
16
+ i.displayName = "CardTitle";
17
+ const l = s.forwardRef(
18
+ ({ className: a, ...r }, d) => /* @__PURE__ */ e("div", { ref: d, className: o("scl-card__description", a), ...r })
19
+ );
20
+ l.displayName = "CardDescription";
21
+ const m = s.forwardRef(
22
+ ({ className: a, ...r }, d) => /* @__PURE__ */ e("div", { ref: d, className: o("scl-card__content", a), ...r })
23
+ );
24
+ m.displayName = "CardContent";
25
+ const f = s.forwardRef(
26
+ ({ className: a, ...r }, d) => /* @__PURE__ */ e("div", { ref: d, className: o("scl-card__footer", a), ...r })
27
+ );
28
+ f.displayName = "CardFooter";
29
29
  export {
30
- l as Checkbox
30
+ c as Card,
31
+ m as CardContent,
32
+ l as CardDescription,
33
+ f as CardFooter,
34
+ t as CardHeader,
35
+ i as CardTitle
31
36
  };
package/dist/index100.js CHANGED
@@ -1,8 +1,6 @@
1
- import * as u from "react";
2
- function t(r) {
3
- const e = u.useRef({ value: r, previous: r });
4
- return u.useMemo(() => (e.current.value !== r && (e.current.previous = e.current.value, e.current.value = r), e.current.previous), [r]);
1
+ function m(t, [a, n]) {
2
+ return Math.min(n, Math.max(a, t));
5
3
  }
6
4
  export {
7
- t as usePrevious
5
+ m as clamp
8
6
  };
package/dist/index101.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import r from "react";
2
2
  import { createContextScope as y } from "./index85.js";
3
- import { useComposedRefs as M } from "./index77.js";
4
- import { createSlot as x } from "./index114.js";
3
+ import { useComposedRefs as M } from "./index84.js";
4
+ import { createSlot as x } from "./index118.js";
5
5
  import { jsx as u } from "react/jsx-runtime";
6
6
  function g(s) {
7
7
  const m = s + "CollectionProvider", [A, N] = y(m), [_, f] = A(
package/dist/index102.js CHANGED
@@ -1,57 +1,8 @@
1
- import * as i from "react";
2
- import { jsx as _ } from "react/jsx-runtime";
3
- function $(e, x = []) {
4
- let o = [];
5
- function f(r, n) {
6
- const t = i.createContext(n);
7
- t.displayName = r + "Context";
8
- const c = o.length;
9
- o = [...o, n];
10
- const m = (a) => {
11
- var l;
12
- const { scope: s, children: C, ...p } = a, d = ((l = s == null ? void 0 : s[e]) == null ? void 0 : l[c]) || t, v = i.useMemo(() => p, Object.values(p));
13
- return /* @__PURE__ */ _(d.Provider, { value: v, children: C });
14
- };
15
- m.displayName = r + "Provider";
16
- function S(a, s) {
17
- var d;
18
- const C = ((d = s == null ? void 0 : s[e]) == null ? void 0 : d[c]) || t, p = i.useContext(C);
19
- if (p) return p;
20
- if (n !== void 0) return n;
21
- throw new Error(`\`${a}\` must be used within \`${r}\``);
22
- }
23
- return [m, S];
24
- }
25
- const u = () => {
26
- const r = o.map((n) => i.createContext(n));
27
- return function(t) {
28
- const c = (t == null ? void 0 : t[e]) || r;
29
- return i.useMemo(
30
- () => ({ [`__scope${e}`]: { ...t, [e]: c } }),
31
- [t, c]
32
- );
33
- };
34
- };
35
- return u.scopeName = e, [f, h(u, ...x)];
36
- }
37
- function h(...e) {
38
- const x = e[0];
39
- if (e.length === 1) return x;
40
- const o = () => {
41
- const f = e.map((u) => ({
42
- useScope: u(),
43
- scopeName: u.scopeName
44
- }));
45
- return function(r) {
46
- const n = f.reduce((t, { useScope: c, scopeName: m }) => {
47
- const a = c(r)[`__scope${m}`];
48
- return { ...t, ...a };
49
- }, {});
50
- return i.useMemo(() => ({ [`__scope${x.scopeName}`]: n }), [n]);
51
- };
52
- };
53
- return o.scopeName = x.scopeName, o;
1
+ import * as u from "react";
2
+ function t(r) {
3
+ const e = u.useRef({ value: r, previous: r });
4
+ return u.useMemo(() => (e.current.value !== r && (e.current.previous = e.current.value, e.current.value = r), e.current.previous), [r]);
54
5
  }
55
6
  export {
56
- $ as createContextScope
7
+ t as usePrevious
57
8
  };