@shapesos/clay 0.1.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 (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +170 -0
  3. package/dist/chat.cjs +1117 -0
  4. package/dist/chat.cjs.map +1 -0
  5. package/dist/chat.d.cts +46 -0
  6. package/dist/chat.d.ts +46 -0
  7. package/dist/chat.js +11 -0
  8. package/dist/chat.js.map +1 -0
  9. package/dist/chunk-2GFOESHR.js +613 -0
  10. package/dist/chunk-2GFOESHR.js.map +1 -0
  11. package/dist/chunk-5WRI5ZAA.js +31 -0
  12. package/dist/chunk-5WRI5ZAA.js.map +1 -0
  13. package/dist/chunk-6HNZQ2BF.js +91 -0
  14. package/dist/chunk-6HNZQ2BF.js.map +1 -0
  15. package/dist/chunk-7AJSQJQ5.js +1 -0
  16. package/dist/chunk-7AJSQJQ5.js.map +1 -0
  17. package/dist/chunk-A6DKIFWS.js +292 -0
  18. package/dist/chunk-A6DKIFWS.js.map +1 -0
  19. package/dist/chunk-C77QMQNT.js +1 -0
  20. package/dist/chunk-C77QMQNT.js.map +1 -0
  21. package/dist/chunk-P7NISN4V.js +115 -0
  22. package/dist/chunk-P7NISN4V.js.map +1 -0
  23. package/dist/chunk-XY2OM47L.js +16511 -0
  24. package/dist/chunk-XY2OM47L.js.map +1 -0
  25. package/dist/icon.cjs +237 -0
  26. package/dist/icon.cjs.map +1 -0
  27. package/dist/icon.d.cts +27 -0
  28. package/dist/icon.d.ts +27 -0
  29. package/dist/icon.js +12 -0
  30. package/dist/icon.js.map +1 -0
  31. package/dist/index.cjs +17634 -0
  32. package/dist/index.cjs.map +1 -0
  33. package/dist/index.d.cts +7 -0
  34. package/dist/index.d.ts +7 -0
  35. package/dist/index.js +34 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/lottie.cjs +16545 -0
  38. package/dist/lottie.cjs.map +1 -0
  39. package/dist/lottie.d.cts +38 -0
  40. package/dist/lottie.d.ts +38 -0
  41. package/dist/lottie.js +8 -0
  42. package/dist/lottie.js.map +1 -0
  43. package/dist/tokens.cjs +410 -0
  44. package/dist/tokens.cjs.map +1 -0
  45. package/dist/tokens.d.cts +121 -0
  46. package/dist/tokens.d.ts +121 -0
  47. package/dist/tokens.js +19 -0
  48. package/dist/tokens.js.map +1 -0
  49. package/package.json +110 -0
@@ -0,0 +1,115 @@
1
+ import {
2
+ colors
3
+ } from "./chunk-6HNZQ2BF.js";
4
+
5
+ // src/icon/icon.tsx
6
+ import { forwardRef } from "react";
7
+
8
+ // src/icon/icon-styles.ts
9
+ import styled from "styled-components";
10
+ var STROKE_WIDTH_BY_SIZE = {
11
+ 12: 1.2,
12
+ 14: 1.2,
13
+ 16: 1.8,
14
+ 18: 1.8,
15
+ 20: 1.8,
16
+ 24: 1.8
17
+ };
18
+ var DEFAULT_STROKE_WIDTH = 1.8;
19
+ function getStrokeWidth(size) {
20
+ return STROKE_WIDTH_BY_SIZE[size] ?? DEFAULT_STROKE_WIDTH;
21
+ }
22
+ var IconWrapper = styled.span`
23
+ display: inline-flex;
24
+ align-items: center;
25
+ justify-content: center;
26
+ color: ${({ $color }) => $color ?? "currentColor"};
27
+ flex-shrink: 0;
28
+ `;
29
+
30
+ // src/icon/icon.tsx
31
+ import { jsx } from "react/jsx-runtime";
32
+ var DEFAULT_SIZE = 16;
33
+ var Icon = forwardRef(function Icon2({ icon: IconComponent, size = DEFAULT_SIZE, color, className, "aria-label": ariaLabel }, ref) {
34
+ return /* @__PURE__ */ jsx(
35
+ IconWrapper,
36
+ {
37
+ ref,
38
+ className,
39
+ $color: color,
40
+ "aria-label": ariaLabel,
41
+ role: ariaLabel ? "img" : void 0,
42
+ children: /* @__PURE__ */ jsx(IconComponent, { width: size, height: size, strokeWidth: getStrokeWidth(size) })
43
+ }
44
+ );
45
+ });
46
+
47
+ // src/icon-button/icon-button.tsx
48
+ import { forwardRef as forwardRef2 } from "react";
49
+
50
+ // src/icon-button/icon-button-styles.ts
51
+ import styled2 from "styled-components";
52
+ var DIMENSIONS = {
53
+ small: 28,
54
+ medium: 32
55
+ };
56
+ var BORDER_RADIUS = {
57
+ small: 6,
58
+ medium: 10
59
+ };
60
+ var Button = styled2.button`
61
+ display: inline-flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ width: ${({ $size }) => DIMENSIONS[$size]}px;
65
+ height: ${({ $size }) => DIMENSIONS[$size]}px;
66
+ padding: 0;
67
+ border: none;
68
+ border-radius: ${({ $size }) => BORDER_RADIUS[$size]}px;
69
+ background: ${({ $isSelected }) => $isSelected ? colors["brown-40"] : "transparent"};
70
+ color: ${colors["brown-100"]};
71
+ cursor: pointer;
72
+ transition: background-color 100ms ease;
73
+
74
+ &:hover {
75
+ background: ${({ $isSelected }) => $isSelected ? colors["brown-40"] : colors["brown-20"]};
76
+ }
77
+
78
+ &:active {
79
+ background: ${colors["brown-40"]};
80
+ }
81
+
82
+ &:disabled {
83
+ color: ${colors["brown-50"]};
84
+ background: transparent;
85
+ cursor: not-allowed;
86
+ }
87
+ `;
88
+
89
+ // src/icon-button/icon-button.tsx
90
+ import { jsx as jsx2 } from "react/jsx-runtime";
91
+ var ICON_SIZE_BY_BUTTON_SIZE = {
92
+ small: 14,
93
+ medium: 16
94
+ };
95
+ var IconButton = forwardRef2(function IconButton2({ icon, size = "small", isSelected = false, disabled = false, onClick, className, "aria-label": ariaLabel }, ref) {
96
+ return /* @__PURE__ */ jsx2(
97
+ Button,
98
+ {
99
+ ref,
100
+ className,
101
+ $size: size,
102
+ $isSelected: isSelected,
103
+ disabled,
104
+ onClick: disabled ? void 0 : onClick,
105
+ "aria-label": ariaLabel,
106
+ children: /* @__PURE__ */ jsx2(Icon, { icon, size: ICON_SIZE_BY_BUTTON_SIZE[size] })
107
+ }
108
+ );
109
+ });
110
+
111
+ export {
112
+ Icon,
113
+ IconButton
114
+ };
115
+ //# sourceMappingURL=chunk-P7NISN4V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icon/icon.tsx","../src/icon/icon-styles.ts","../src/icon-button/icon-button.tsx","../src/icon-button/icon-button-styles.ts"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { IconWrapper, getStrokeWidth } from \"./icon-styles\";\nimport type { IconProps } from \"./types\";\n\nconst DEFAULT_SIZE = 16;\n\nexport const Icon = forwardRef<HTMLSpanElement, IconProps>(function Icon(\n { icon: IconComponent, size = DEFAULT_SIZE, color, className, \"aria-label\": ariaLabel },\n ref\n) {\n return (\n <IconWrapper\n ref={ref}\n className={className}\n $color={color}\n aria-label={ariaLabel}\n role={ariaLabel ? \"img\" : undefined}\n >\n <IconComponent width={size} height={size} strokeWidth={getStrokeWidth(size)} />\n </IconWrapper>\n );\n});\n","import styled from \"styled-components\";\n\nexport const STROKE_WIDTH_BY_SIZE: Record<number, number> = {\n 12: 1.2,\n 14: 1.2,\n 16: 1.8,\n 18: 1.8,\n 20: 1.8,\n 24: 1.8,\n};\n\nexport const DEFAULT_STROKE_WIDTH = 1.8;\n\nexport function getStrokeWidth(size: number): number {\n return STROKE_WIDTH_BY_SIZE[size] ?? DEFAULT_STROKE_WIDTH;\n}\n\nexport const IconWrapper = styled.span<{ $color?: string }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: ${({ $color }) => $color ?? \"currentColor\"};\n flex-shrink: 0;\n`;\n","import { forwardRef } from \"react\";\n\nimport { Icon } from \"../icon/icon\";\nimport { Button } from \"./icon-button-styles\";\nimport type { IconButtonProps, IconButtonSize } from \"./types\";\n\nconst ICON_SIZE_BY_BUTTON_SIZE: Record<IconButtonSize, number> = {\n small: 14,\n medium: 16,\n};\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(function IconButton(\n { icon, size = \"small\", isSelected = false, disabled = false, onClick, className, \"aria-label\": ariaLabel },\n ref\n) {\n return (\n <Button\n ref={ref}\n className={className}\n $size={size}\n $isSelected={isSelected}\n disabled={disabled}\n onClick={disabled ? undefined : onClick}\n aria-label={ariaLabel}\n >\n <Icon icon={icon} size={ICON_SIZE_BY_BUTTON_SIZE[size]} />\n </Button>\n );\n});\n","import styled from \"styled-components\";\n\nimport { colors } from \"../tokens/colors\";\nimport type { IconButtonSize } from \"./types\";\n\nconst DIMENSIONS: Record<IconButtonSize, number> = {\n small: 28,\n medium: 32,\n};\n\nconst BORDER_RADIUS: Record<IconButtonSize, number> = {\n small: 6,\n medium: 10,\n};\n\nexport const Button = styled.button<{\n $size: IconButtonSize;\n $isSelected: boolean;\n}>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ${({ $size }) => DIMENSIONS[$size]}px;\n height: ${({ $size }) => DIMENSIONS[$size]}px;\n padding: 0;\n border: none;\n border-radius: ${({ $size }) => BORDER_RADIUS[$size]}px;\n background: ${({ $isSelected }) => ($isSelected ? colors[\"brown-40\"] : \"transparent\")};\n color: ${colors[\"brown-100\"]};\n cursor: pointer;\n transition: background-color 100ms ease;\n\n &:hover {\n background: ${({ $isSelected }) => ($isSelected ? colors[\"brown-40\"] : colors[\"brown-20\"])};\n }\n\n &:active {\n background: ${colors[\"brown-40\"]};\n }\n\n &:disabled {\n color: ${colors[\"brown-50\"]};\n background: transparent;\n cursor: not-allowed;\n }\n`;\n"],"mappings":";;;;;AAAA,SAAS,kBAAkB;;;ACA3B,OAAO,YAAY;AAEZ,IAAM,uBAA+C;AAAA,EAC1D,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,IAAM,uBAAuB;AAE7B,SAAS,eAAe,MAAsB;AACnD,SAAO,qBAAqB,IAAI,KAAK;AACvC;AAEO,IAAM,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA,WAIvB,CAAC,EAAE,OAAO,MAAM,UAAU,cAAc;AAAA;AAAA;;;ADF7C;AAdN,IAAM,eAAe;AAEd,IAAM,OAAO,WAAuC,SAASA,MAClE,EAAE,MAAM,eAAe,OAAO,cAAc,OAAO,WAAW,cAAc,UAAU,GACtF,KACA;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,cAAY;AAAA,MACZ,MAAM,YAAY,QAAQ;AAAA,MAE1B,8BAAC,iBAAc,OAAO,MAAM,QAAQ,MAAM,aAAa,eAAe,IAAI,GAAG;AAAA;AAAA,EAC/E;AAEJ,CAAC;;;AEtBD,SAAS,cAAAC,mBAAkB;;;ACA3B,OAAOC,aAAY;AAKnB,IAAM,aAA6C;AAAA,EACjD,OAAO;AAAA,EACP,QAAQ;AACV;AAEA,IAAM,gBAAgD;AAAA,EACpD,OAAO;AAAA,EACP,QAAQ;AACV;AAEO,IAAM,SAASC,QAAO;AAAA;AAAA;AAAA;AAAA,WAOlB,CAAC,EAAE,MAAM,MAAM,WAAW,KAAK,CAAC;AAAA,YAC/B,CAAC,EAAE,MAAM,MAAM,WAAW,KAAK,CAAC;AAAA;AAAA;AAAA,mBAGzB,CAAC,EAAE,MAAM,MAAM,cAAc,KAAK,CAAC;AAAA,gBACtC,CAAC,EAAE,YAAY,MAAO,cAAc,OAAO,UAAU,IAAI,aAAc;AAAA,WAC5E,OAAO,WAAW,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKZ,CAAC,EAAE,YAAY,MAAO,cAAc,OAAO,UAAU,IAAI,OAAO,UAAU,CAAE;AAAA;AAAA;AAAA;AAAA,kBAI5E,OAAO,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA,aAIvB,OAAO,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA;;;ADhBzB,gBAAAC,YAAA;AAnBN,IAAM,2BAA2D;AAAA,EAC/D,OAAO;AAAA,EACP,QAAQ;AACV;AAEO,IAAM,aAAaC,YAA+C,SAASC,YAChF,EAAE,MAAM,OAAO,SAAS,aAAa,OAAO,WAAW,OAAO,SAAS,WAAW,cAAc,UAAU,GAC1G,KACA;AACA,SACE,gBAAAF;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,aAAa;AAAA,MACb;AAAA,MACA,SAAS,WAAW,SAAY;AAAA,MAChC,cAAY;AAAA,MAEZ,0BAAAA,KAAC,QAAK,MAAY,MAAM,yBAAyB,IAAI,GAAG;AAAA;AAAA,EAC1D;AAEJ,CAAC;","names":["Icon","forwardRef","styled","styled","jsx","forwardRef","IconButton"]}