@shapesos/clay 0.4.0 → 0.5.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 (75) hide show
  1. package/dist/chat.cjs +259 -417
  2. package/dist/chat.cjs.map +1 -1
  3. package/dist/chat.d.cts +16 -22
  4. package/dist/chat.d.ts +16 -22
  5. package/dist/chat.js +16 -6
  6. package/dist/chunk-72TJUKMV.js +1 -0
  7. package/dist/{chunk-UKM5VQKW.js → chunk-BIATJTD4.js} +5 -5
  8. package/dist/chunk-BIATJTD4.js.map +1 -0
  9. package/dist/chunk-DRBRT57F.js +1 -0
  10. package/dist/chunk-DRBRT57F.js.map +1 -0
  11. package/dist/chunk-JC2RQL5O.js +76 -0
  12. package/dist/chunk-JC2RQL5O.js.map +1 -0
  13. package/dist/{chunk-6HNZQ2BF.js → chunk-JF3P66JF.js} +2 -1
  14. package/dist/chunk-JF3P66JF.js.map +1 -0
  15. package/dist/chunk-K2Q5MQWJ.js +17 -0
  16. package/dist/chunk-K2Q5MQWJ.js.map +1 -0
  17. package/dist/chunk-MLCRDVQ2.js +89 -0
  18. package/dist/chunk-MLCRDVQ2.js.map +1 -0
  19. package/dist/chunk-OLJIJYB5.js +46 -0
  20. package/dist/chunk-OLJIJYB5.js.map +1 -0
  21. package/dist/chunk-PCBRMJJJ.js +415 -0
  22. package/dist/chunk-PCBRMJJJ.js.map +1 -0
  23. package/dist/chunk-SMTOVZ3O.js +19 -0
  24. package/dist/chunk-SMTOVZ3O.js.map +1 -0
  25. package/dist/{chunk-A6DKIFWS.js → chunk-WQ2QTUYA.js} +9 -1
  26. package/dist/chunk-WQ2QTUYA.js.map +1 -0
  27. package/dist/chunk-WZHNMC6P.js +77 -0
  28. package/dist/chunk-WZHNMC6P.js.map +1 -0
  29. package/dist/icon.cjs +38 -23
  30. package/dist/icon.cjs.map +1 -1
  31. package/dist/icon.d.cts +6 -2
  32. package/dist/icon.d.ts +6 -2
  33. package/dist/icon.js +6 -4
  34. package/dist/index.cjs +417 -449
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.cts +5 -11
  37. package/dist/index.d.ts +5 -11
  38. package/dist/index.js +42 -34
  39. package/dist/index.js.map +1 -1
  40. package/dist/keyboard-shortcut.cjs +238 -0
  41. package/dist/keyboard-shortcut.cjs.map +1 -0
  42. package/dist/keyboard-shortcut.d.cts +19 -0
  43. package/dist/keyboard-shortcut.d.ts +19 -0
  44. package/dist/keyboard-shortcut.js +14 -0
  45. package/dist/keyboard-shortcut.js.map +1 -0
  46. package/dist/lottie.cjs +5 -5
  47. package/dist/lottie.cjs.map +1 -1
  48. package/dist/lottie.js +1 -1
  49. package/dist/text-area.cjs +497 -0
  50. package/dist/text-area.cjs.map +1 -0
  51. package/dist/text-area.d.cts +18 -0
  52. package/dist/text-area.d.ts +18 -0
  53. package/dist/text-area.js +11 -0
  54. package/dist/text-area.js.map +1 -0
  55. package/dist/tokens.cjs +9 -0
  56. package/dist/tokens.cjs.map +1 -1
  57. package/dist/tokens.d.cts +2 -0
  58. package/dist/tokens.d.ts +2 -0
  59. package/dist/tokens.js +2 -2
  60. package/dist/utils.cjs +60 -0
  61. package/dist/utils.cjs.map +1 -0
  62. package/dist/utils.d.cts +7 -0
  63. package/dist/utils.d.ts +7 -0
  64. package/dist/utils.js +13 -0
  65. package/dist/utils.js.map +1 -0
  66. package/package.json +17 -1
  67. package/dist/chunk-2GFOESHR.js +0 -613
  68. package/dist/chunk-2GFOESHR.js.map +0 -1
  69. package/dist/chunk-6HNZQ2BF.js.map +0 -1
  70. package/dist/chunk-7AJSQJQ5.js +0 -1
  71. package/dist/chunk-A6DKIFWS.js.map +0 -1
  72. package/dist/chunk-P7NISN4V.js +0 -115
  73. package/dist/chunk-P7NISN4V.js.map +0 -1
  74. package/dist/chunk-UKM5VQKW.js.map +0 -1
  75. /package/dist/{chunk-7AJSQJQ5.js.map → chunk-72TJUKMV.js.map} +0 -0
package/dist/index.d.cts CHANGED
@@ -1,16 +1,10 @@
1
1
  export { ColorToken, TypographyStyle, TypographyType, colors, fontFamilies, typographyMixin, typographyStyles, typographyTypes } from './tokens.cjs';
2
- export { Chat, ChatContextValue, ChatMessage, MessageRole } from './chat.cjs';
2
+ export { ChatContext, ChatContextValue, ChatMessage, ChatMessageType, MESSAGE_ROLE, MessageRole, useChatContext, useCopyToClipboard } from './chat.cjs';
3
3
  export { Icon, IconButton, IconButtonProps, IconButtonSize, IconProps } from './icon.cjs';
4
- import { ReactElement } from 'react';
4
+ export { IconCtrl, KEYBOARD_SHORTCUT_VARIANTS, KeyIcon, KeyboardShortcut, KeyboardShortcutProps, KeyboardShortcutVariant } from './keyboard-shortcut.cjs';
5
5
  export { Lottie, LottieAnimationData, LottieProps, LottieRef } from './lottie.cjs';
6
+ export { TextArea, TextAreaProps } from './text-area.cjs';
7
+ export { markdownToPlainText, mergeRefs } from './utils.cjs';
6
8
  import 'react/jsx-runtime';
9
+ import 'react';
7
10
  import 'lottie-web';
8
-
9
- interface KeyboardShortcutProps {
10
- keys: string[];
11
- className?: string;
12
- }
13
-
14
- declare function KeyboardShortcut({ keys, className }: KeyboardShortcutProps): ReactElement;
15
-
16
- export { KeyboardShortcut, type KeyboardShortcutProps };
package/dist/index.d.ts CHANGED
@@ -1,16 +1,10 @@
1
1
  export { ColorToken, TypographyStyle, TypographyType, colors, fontFamilies, typographyMixin, typographyStyles, typographyTypes } from './tokens.js';
2
- export { Chat, ChatContextValue, ChatMessage, MessageRole } from './chat.js';
2
+ export { ChatContext, ChatContextValue, ChatMessage, ChatMessageType, MESSAGE_ROLE, MessageRole, useChatContext, useCopyToClipboard } from './chat.js';
3
3
  export { Icon, IconButton, IconButtonProps, IconButtonSize, IconProps } from './icon.js';
4
- import { ReactElement } from 'react';
4
+ export { IconCtrl, KEYBOARD_SHORTCUT_VARIANTS, KeyIcon, KeyboardShortcut, KeyboardShortcutProps, KeyboardShortcutVariant } from './keyboard-shortcut.js';
5
5
  export { Lottie, LottieAnimationData, LottieProps, LottieRef } from './lottie.js';
6
+ export { TextArea, TextAreaProps } from './text-area.js';
7
+ export { markdownToPlainText, mergeRefs } from './utils.js';
6
8
  import 'react/jsx-runtime';
9
+ import 'react';
7
10
  import 'lottie-web';
8
-
9
- interface KeyboardShortcutProps {
10
- keys: string[];
11
- className?: string;
12
- }
13
-
14
- declare function KeyboardShortcut({ keys, className }: KeyboardShortcutProps): ReactElement;
15
-
16
- export { KeyboardShortcut, type KeyboardShortcutProps };
package/dist/index.js CHANGED
@@ -1,57 +1,65 @@
1
1
  import "./chunk-C77QMQNT.js";
2
2
  import {
3
- Chat
4
- } from "./chunk-2GFOESHR.js";
3
+ ChatContext,
4
+ ChatMessage,
5
+ MESSAGE_ROLE,
6
+ useChatContext,
7
+ useCopyToClipboard
8
+ } from "./chunk-PCBRMJJJ.js";
9
+ import "./chunk-72TJUKMV.js";
10
+ import {
11
+ IconButton
12
+ } from "./chunk-MLCRDVQ2.js";
13
+ import {
14
+ Lottie
15
+ } from "./chunk-BIATJTD4.js";
16
+ import {
17
+ TextArea
18
+ } from "./chunk-JC2RQL5O.js";
5
19
  import {
6
20
  fontFamilies,
7
21
  typographyMixin,
8
22
  typographyStyles,
9
23
  typographyTypes
10
- } from "./chunk-A6DKIFWS.js";
11
- import "./chunk-7AJSQJQ5.js";
24
+ } from "./chunk-WQ2QTUYA.js";
12
25
  import {
13
- Icon,
14
- IconButton
15
- } from "./chunk-P7NISN4V.js";
26
+ IconCtrl,
27
+ KEYBOARD_SHORTCUT_VARIANTS,
28
+ KeyboardShortcut
29
+ } from "./chunk-WZHNMC6P.js";
30
+ import {
31
+ Icon
32
+ } from "./chunk-OLJIJYB5.js";
16
33
  import {
17
34
  colors
18
- } from "./chunk-6HNZQ2BF.js";
35
+ } from "./chunk-JF3P66JF.js";
36
+ import "./chunk-DRBRT57F.js";
19
37
  import {
20
- Lottie
21
- } from "./chunk-UKM5VQKW.js";
38
+ markdownToPlainText
39
+ } from "./chunk-SMTOVZ3O.js";
40
+ import {
41
+ mergeRefs
42
+ } from "./chunk-K2Q5MQWJ.js";
22
43
  import "./chunk-5WRI5ZAA.js";
23
-
24
- // src/keyboard-shortcut/keyboard-shortcut-styles.ts
25
- import styled from "styled-components";
26
- var Wrapper = styled.div`
27
- display: inline-flex;
28
- align-items: center;
29
- gap: 4px;
30
- `;
31
- var Key = styled.kbd`
32
- padding: 1px 4px;
33
- border-radius: 4px;
34
- border: 1px solid ${colors["brown-70"]};
35
- border-bottom-width: 2px;
36
- ${typographyMixin(typographyTypes.GEIST_LABEL_CAPTION_MEDIUM)};
37
- color: inherit;
38
- `;
39
-
40
- // src/keyboard-shortcut/keyboard-shortcut.tsx
41
- import { jsx } from "react/jsx-runtime";
42
- function KeyboardShortcut({ keys, className }) {
43
- return /* @__PURE__ */ jsx(Wrapper, { className, children: keys.map((key) => /* @__PURE__ */ jsx(Key, { children: key }, key)) });
44
- }
45
44
  export {
46
- Chat,
45
+ ChatContext,
46
+ ChatMessage,
47
47
  Icon,
48
48
  IconButton,
49
+ IconCtrl,
50
+ KEYBOARD_SHORTCUT_VARIANTS,
49
51
  KeyboardShortcut,
50
52
  Lottie,
53
+ MESSAGE_ROLE,
54
+ TextArea,
51
55
  colors,
52
56
  fontFamilies,
57
+ markdownToPlainText,
58
+ mergeRefs,
53
59
  typographyMixin,
54
60
  typographyStyles,
55
- typographyTypes
61
+ typographyTypes,
62
+ useChatContext,
63
+ useCopyToClipboard
56
64
  };
57
65
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/keyboard-shortcut/keyboard-shortcut-styles.ts","../src/keyboard-shortcut/keyboard-shortcut.tsx"],"sourcesContent":["import styled from \"styled-components\";\n\nimport { colors } from \"../tokens/colors\";\nimport { typographyMixin, typographyTypes } from \"../tokens/typography\";\n\nexport const Wrapper = styled.div`\n display: inline-flex;\n align-items: center;\n gap: 4px;\n`;\n\nexport const Key = styled.kbd`\n padding: 1px 4px;\n border-radius: 4px;\n border: 1px solid ${colors[\"brown-70\"]};\n border-bottom-width: 2px;\n ${typographyMixin(typographyTypes.GEIST_LABEL_CAPTION_MEDIUM)};\n color: inherit;\n`;\n","import type { ReactElement } from \"react\";\n\nimport { Key, Wrapper } from \"./keyboard-shortcut-styles\";\nimport type { KeyboardShortcutProps } from \"./types\";\n\nexport function KeyboardShortcut({ keys, className }: KeyboardShortcutProps): ReactElement {\n return (\n <Wrapper className={className}>\n {keys.map((key) => (\n <Key key={key}>{key}</Key>\n ))}\n </Wrapper>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,YAAY;AAKZ,IAAM,UAAU,OAAO;AAAA;AAAA;AAAA;AAAA;AAMvB,IAAM,MAAM,OAAO;AAAA;AAAA;AAAA,sBAGJ,OAAO,UAAU,CAAC;AAAA;AAAA,IAEpC,gBAAgB,gBAAgB,0BAA0B,CAAC;AAAA;AAAA;;;ACPvD;AAJD,SAAS,iBAAiB,EAAE,MAAM,UAAU,GAAwC;AACzF,SACE,oBAAC,WAAQ,WACN,eAAK,IAAI,CAAC,QACT,oBAAC,OAAe,iBAAN,GAAU,CACrB,GACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/components/keyboard-shortcut/index.ts
31
+ var keyboard_shortcut_exports = {};
32
+ __export(keyboard_shortcut_exports, {
33
+ IconCtrl: () => IconCtrl,
34
+ KEYBOARD_SHORTCUT_VARIANTS: () => KEYBOARD_SHORTCUT_VARIANTS,
35
+ KeyboardShortcut: () => KeyboardShortcut
36
+ });
37
+ module.exports = __toCommonJS(keyboard_shortcut_exports);
38
+
39
+ // src/components/icon/icon.tsx
40
+ var import_react = require("react");
41
+
42
+ // src/components/icon/icon-styles.ts
43
+ var import_styled_components = __toESM(require("styled-components"), 1);
44
+ var STROKE_WIDTH_BY_SIZE = {
45
+ 12: 1.4,
46
+ 14: 1.4,
47
+ 16: 1.8,
48
+ 18: 1.8,
49
+ 20: 1.8,
50
+ 24: 1.8
51
+ };
52
+ var DEFAULT_STROKE_WIDTH = 1.8;
53
+ function getStrokeWidth(size) {
54
+ return STROKE_WIDTH_BY_SIZE[size] ?? DEFAULT_STROKE_WIDTH;
55
+ }
56
+ var IconWrapper = import_styled_components.default.span`
57
+ display: inline-flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ color: ${({ $color }) => $color ?? "currentColor"};
61
+ flex-shrink: 0;
62
+ `;
63
+
64
+ // src/components/icon/icon.tsx
65
+ var import_jsx_runtime = require("react/jsx-runtime");
66
+ var DEFAULT_SIZE = 16;
67
+ var Icon = (0, import_react.forwardRef)(function Icon2({ icon: IconComponent, size = DEFAULT_SIZE, color, className, "aria-label": ariaLabel }, ref) {
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
69
+ IconWrapper,
70
+ {
71
+ ref,
72
+ className,
73
+ $color: color,
74
+ "aria-label": ariaLabel,
75
+ role: ariaLabel ? "img" : void 0,
76
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconComponent, { width: size, height: size, strokeWidth: getStrokeWidth(size) })
77
+ }
78
+ );
79
+ });
80
+
81
+ // src/components/keyboard-shortcut/keyboard-shortcut-styles.ts
82
+ var import_styled_components2 = __toESM(require("styled-components"), 1);
83
+
84
+ // src/tokens/colors.ts
85
+ var colors = {
86
+ // White
87
+ white: "#FFFFFF",
88
+ "white-alpha-85": "rgba(255, 255, 255, 0.85)",
89
+ "white-alpha-40": "rgba(255, 255, 255, 0.40)",
90
+ // Brown
91
+ "brown-10": "#FAF9F8",
92
+ "brown-20": "#F5F3F0",
93
+ "brown-30": "#EEEBE5",
94
+ "brown-40": "#E6E2DA",
95
+ "brown-50": "#CFCBC4",
96
+ "brown-60": "#A19E99",
97
+ "brown-70": "#73716D",
98
+ "brown-80": "#5C5A57",
99
+ "brown-90": "#2E2D2C",
100
+ "brown-100": "#171716",
101
+ "brown-alpha-12": "rgba(23, 23, 22, 0.12)",
102
+ "brown-alpha-20": "rgba(23, 23, 22, 0.20)",
103
+ "brown-alpha-55": "rgba(23, 23, 22, 0.55)",
104
+ "brown-alpha-70": "rgba(23, 23, 22, 0.70)",
105
+ "brown-alpha-80": "rgba(23, 23, 22, 0.80)",
106
+ "brown-alpha-90": "rgba(23, 23, 22, 0.90)",
107
+ // Fuchsia
108
+ "fuchsia-50": "#FAF5FF",
109
+ "fuchsia-300": "#F0ABFC",
110
+ "fuchsia-500": "#D946EF",
111
+ "fuchsia-600": "#C026D3",
112
+ "fuchsia-800": "#86198F",
113
+ // Pink
114
+ "pink-50": "#FDF2F8",
115
+ "pink-400": "#F472B6",
116
+ "pink-600": "#DB2777",
117
+ "pink-800": "#9D174D",
118
+ // Violet
119
+ "violet-50": "#F5F3FF",
120
+ "violet-400": "#A78BFA",
121
+ "violet-600": "#7C3AED",
122
+ "violet-800": "#5B21B6",
123
+ // Indigo
124
+ "indigo-50": "#EEF2FF",
125
+ "indigo-400": "#818CF8",
126
+ "indigo-500": "#6366F1",
127
+ "indigo-600": "#4F46E5",
128
+ "indigo-800": "#3730A3",
129
+ // Cyan
130
+ "cyan-50": "#E7FEFF",
131
+ "cyan-300": "#67E8F9",
132
+ "cyan-600": "#0891B2",
133
+ "cyan-900": "#164E63",
134
+ // Teal
135
+ "teal-50": "#EBFDF9",
136
+ "teal-300": "#5EEAD4",
137
+ "teal-600": "#0D9488",
138
+ // Rose
139
+ "rose-400": "#FB7185",
140
+ // Purple
141
+ "purple-400": "#C084FC",
142
+ // Blue
143
+ "blue-50": "#EFF6FF",
144
+ "blue-100": "#DBEAFE",
145
+ "blue-300": "#93C5FD",
146
+ "blue-400": "#60A5FA",
147
+ "blue-600": "#2563EB",
148
+ "blue-800": "#1E40AF",
149
+ // Sky
150
+ "sky-300": "#7DD3FC",
151
+ // Green
152
+ "green-50": "#ECF9F0",
153
+ "green-100": "#D4F1D9",
154
+ "green-400": "#3DC269",
155
+ "green-700": "#277C43",
156
+ "green-800": "#1C5930",
157
+ // Orange
158
+ "orange-50": "#FFF7ED",
159
+ "orange-100": "#FFEDD5",
160
+ "orange-200": "#FED7AA",
161
+ "orange-500": "#F97316",
162
+ "orange-600": "#EA580C",
163
+ // Red
164
+ "red-50": "#FEF2F2",
165
+ "red-100": "#FEE2E2",
166
+ "red-200": "#FECACA",
167
+ "red-400": "#F7776C",
168
+ "red-500": "#EF4444",
169
+ "red-600": "#DC2626"
170
+ };
171
+
172
+ // src/components/keyboard-shortcut/types.ts
173
+ var KEYBOARD_SHORTCUT_VARIANTS = {
174
+ OUTLINED: "outlined",
175
+ FILLED: "filled"
176
+ };
177
+
178
+ // src/components/keyboard-shortcut/keyboard-shortcut-styles.ts
179
+ var variantStyles = {
180
+ [KEYBOARD_SHORTCUT_VARIANTS.OUTLINED]: import_styled_components2.css`
181
+ border: 1px solid ${colors["white-alpha-40"]};
182
+ color: ${colors["brown-10"]};
183
+ `,
184
+ [KEYBOARD_SHORTCUT_VARIANTS.FILLED]: import_styled_components2.css`
185
+ background: ${colors["brown-80"]};
186
+ color: ${colors["brown-10"]};
187
+ `
188
+ };
189
+ var Wrapper = import_styled_components2.default.div`
190
+ display: inline-flex;
191
+ align-items: center;
192
+ gap: 2px;
193
+ `;
194
+ var Key = import_styled_components2.default.kbd`
195
+ display: inline-flex;
196
+ align-items: center;
197
+ justify-content: center;
198
+ padding: 2px;
199
+ border-radius: 6px;
200
+ ${({ $variant }) => variantStyles[$variant]};
201
+ `;
202
+
203
+ // src/components/keyboard-shortcut/keyboard-shortcut.tsx
204
+ var import_jsx_runtime2 = require("react/jsx-runtime");
205
+ function KeyboardShortcut({
206
+ keys,
207
+ variant = KEYBOARD_SHORTCUT_VARIANTS.OUTLINED,
208
+ className
209
+ }) {
210
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Wrapper, { className, children: keys.map((KeyComponent, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Key, { $variant: variant, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { icon: KeyComponent, size: 12 }) }, index)) });
211
+ }
212
+
213
+ // src/components/keyboard-shortcut/icons/icon-ctrl.tsx
214
+ var import_jsx_runtime3 = require("react/jsx-runtime");
215
+ function IconCtrl(props) {
216
+ const { width = 24, height = 24, ...rest } = props;
217
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width, height, fill: "none", ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
218
+ "text",
219
+ {
220
+ x: "50%",
221
+ y: "50%",
222
+ dominantBaseline: "central",
223
+ textAnchor: "middle",
224
+ fill: "currentColor",
225
+ fontFamily: "Geist, sans-serif",
226
+ fontWeight: 300,
227
+ fontSize: 14,
228
+ children: "Ctrl"
229
+ }
230
+ ) });
231
+ }
232
+ // Annotate the CommonJS export names for ESM import in node:
233
+ 0 && (module.exports = {
234
+ IconCtrl,
235
+ KEYBOARD_SHORTCUT_VARIANTS,
236
+ KeyboardShortcut
237
+ });
238
+ //# sourceMappingURL=keyboard-shortcut.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/keyboard-shortcut/index.ts","../src/components/icon/icon.tsx","../src/components/icon/icon-styles.ts","../src/components/keyboard-shortcut/keyboard-shortcut-styles.ts","../src/tokens/colors.ts","../src/components/keyboard-shortcut/types.ts","../src/components/keyboard-shortcut/keyboard-shortcut.tsx","../src/components/keyboard-shortcut/icons/icon-ctrl.tsx"],"sourcesContent":["export { KeyboardShortcut } from \"./keyboard-shortcut\";\nexport { IconCtrl } from \"./icons/icon-ctrl\";\nexport { KEYBOARD_SHORTCUT_VARIANTS } from \"./types\";\nexport type { KeyboardShortcutProps, KeyIcon, KeyboardShortcutVariant } from \"./types\";\n","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.4,\n 14: 1.4,\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 styled, { css } from \"styled-components\";\n\nimport { colors } from \"../../tokens/colors\";\nimport { KEYBOARD_SHORTCUT_VARIANTS } from \"./types\";\nimport type { KeyboardShortcutVariant } from \"./types\";\n\nconst variantStyles: Record<KeyboardShortcutVariant, ReturnType<typeof css>> = {\n [KEYBOARD_SHORTCUT_VARIANTS.OUTLINED]: css`\n border: 1px solid ${colors[\"white-alpha-40\"]};\n color: ${colors[\"brown-10\"]};\n `,\n [KEYBOARD_SHORTCUT_VARIANTS.FILLED]: css`\n background: ${colors[\"brown-80\"]};\n color: ${colors[\"brown-10\"]};\n `,\n};\n\nexport const Wrapper = styled.div`\n display: inline-flex;\n align-items: center;\n gap: 2px;\n`;\n\nexport const Key = styled.kbd<{ $variant: KeyboardShortcutVariant }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 2px;\n border-radius: 6px;\n ${({ $variant }) => variantStyles[$variant]};\n`;\n","export const colors = {\n // White\n white: \"#FFFFFF\",\n \"white-alpha-85\": \"rgba(255, 255, 255, 0.85)\",\n \"white-alpha-40\": \"rgba(255, 255, 255, 0.40)\",\n\n // Brown\n \"brown-10\": \"#FAF9F8\",\n \"brown-20\": \"#F5F3F0\",\n \"brown-30\": \"#EEEBE5\",\n \"brown-40\": \"#E6E2DA\",\n \"brown-50\": \"#CFCBC4\",\n \"brown-60\": \"#A19E99\",\n \"brown-70\": \"#73716D\",\n \"brown-80\": \"#5C5A57\",\n \"brown-90\": \"#2E2D2C\",\n \"brown-100\": \"#171716\",\n \"brown-alpha-12\": \"rgba(23, 23, 22, 0.12)\",\n \"brown-alpha-20\": \"rgba(23, 23, 22, 0.20)\",\n \"brown-alpha-55\": \"rgba(23, 23, 22, 0.55)\",\n \"brown-alpha-70\": \"rgba(23, 23, 22, 0.70)\",\n \"brown-alpha-80\": \"rgba(23, 23, 22, 0.80)\",\n \"brown-alpha-90\": \"rgba(23, 23, 22, 0.90)\",\n\n // Fuchsia\n \"fuchsia-50\": \"#FAF5FF\",\n \"fuchsia-300\": \"#F0ABFC\",\n \"fuchsia-500\": \"#D946EF\",\n \"fuchsia-600\": \"#C026D3\",\n \"fuchsia-800\": \"#86198F\",\n\n // Pink\n \"pink-50\": \"#FDF2F8\",\n \"pink-400\": \"#F472B6\",\n \"pink-600\": \"#DB2777\",\n \"pink-800\": \"#9D174D\",\n\n // Violet\n \"violet-50\": \"#F5F3FF\",\n \"violet-400\": \"#A78BFA\",\n \"violet-600\": \"#7C3AED\",\n \"violet-800\": \"#5B21B6\",\n\n // Indigo\n \"indigo-50\": \"#EEF2FF\",\n \"indigo-400\": \"#818CF8\",\n \"indigo-500\": \"#6366F1\",\n \"indigo-600\": \"#4F46E5\",\n \"indigo-800\": \"#3730A3\",\n\n // Cyan\n \"cyan-50\": \"#E7FEFF\",\n \"cyan-300\": \"#67E8F9\",\n \"cyan-600\": \"#0891B2\",\n \"cyan-900\": \"#164E63\",\n\n // Teal\n \"teal-50\": \"#EBFDF9\",\n \"teal-300\": \"#5EEAD4\",\n \"teal-600\": \"#0D9488\",\n\n // Rose\n \"rose-400\": \"#FB7185\",\n\n // Purple\n \"purple-400\": \"#C084FC\",\n\n // Blue\n \"blue-50\": \"#EFF6FF\",\n \"blue-100\": \"#DBEAFE\",\n \"blue-300\": \"#93C5FD\",\n \"blue-400\": \"#60A5FA\",\n \"blue-600\": \"#2563EB\",\n \"blue-800\": \"#1E40AF\",\n\n // Sky\n \"sky-300\": \"#7DD3FC\",\n\n // Green\n \"green-50\": \"#ECF9F0\",\n \"green-100\": \"#D4F1D9\",\n \"green-400\": \"#3DC269\",\n \"green-700\": \"#277C43\",\n \"green-800\": \"#1C5930\",\n\n // Orange\n \"orange-50\": \"#FFF7ED\",\n \"orange-100\": \"#FFEDD5\",\n \"orange-200\": \"#FED7AA\",\n \"orange-500\": \"#F97316\",\n \"orange-600\": \"#EA580C\",\n\n // Red\n \"red-50\": \"#FEF2F2\",\n \"red-100\": \"#FEE2E2\",\n \"red-200\": \"#FECACA\",\n \"red-400\": \"#F7776C\",\n \"red-500\": \"#EF4444\",\n \"red-600\": \"#DC2626\",\n} as const;\n\nexport type ColorToken = keyof typeof colors;\n","import type { ComponentType, SVGProps } from \"react\";\n\nexport type KeyIcon = ComponentType<SVGProps<SVGSVGElement>>;\n\nexport const KEYBOARD_SHORTCUT_VARIANTS = {\n OUTLINED: \"outlined\",\n FILLED: \"filled\",\n} as const;\n\nexport type KeyboardShortcutVariant = (typeof KEYBOARD_SHORTCUT_VARIANTS)[keyof typeof KEYBOARD_SHORTCUT_VARIANTS];\n\nexport interface KeyboardShortcutProps {\n keys: KeyIcon[];\n variant?: KeyboardShortcutVariant;\n className?: string;\n}\n","import type { ReactElement } from \"react\";\n\nimport { Icon } from \"../icon/icon\";\nimport { Key, Wrapper } from \"./keyboard-shortcut-styles\";\nimport { KEYBOARD_SHORTCUT_VARIANTS } from \"./types\";\nimport type { KeyboardShortcutProps } from \"./types\";\n\nexport function KeyboardShortcut({\n keys,\n variant = KEYBOARD_SHORTCUT_VARIANTS.OUTLINED,\n className,\n}: KeyboardShortcutProps): ReactElement {\n return (\n <Wrapper className={className}>\n {keys.map((KeyComponent, index) => (\n <Key key={index} $variant={variant}>\n <Icon icon={KeyComponent} size={12} />\n </Key>\n ))}\n </Wrapper>\n );\n}\n","import type { ReactElement, SVGProps } from \"react\";\n\nexport function IconCtrl(props: SVGProps<SVGSVGElement>): ReactElement {\n const { width = 24, height = 24, ...rest } = props;\n\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width={width} height={height} fill=\"none\" {...rest}>\n <text\n x=\"50%\"\n y=\"50%\"\n dominantBaseline=\"central\"\n textAnchor=\"middle\"\n fill=\"currentColor\"\n fontFamily=\"Geist, sans-serif\"\n fontWeight={300}\n fontSize={14}\n >\n Ctrl\n </text>\n </svg>\n );\n}\n"],"mappings":"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","names":["styled","Icon","import_styled_components","styled","import_jsx_runtime","import_jsx_runtime"]}
@@ -0,0 +1,19 @@
1
+ import { ComponentType, SVGProps, ReactElement } from 'react';
2
+
3
+ type KeyIcon = ComponentType<SVGProps<SVGSVGElement>>;
4
+ declare const KEYBOARD_SHORTCUT_VARIANTS: {
5
+ readonly OUTLINED: "outlined";
6
+ readonly FILLED: "filled";
7
+ };
8
+ type KeyboardShortcutVariant = (typeof KEYBOARD_SHORTCUT_VARIANTS)[keyof typeof KEYBOARD_SHORTCUT_VARIANTS];
9
+ interface KeyboardShortcutProps {
10
+ keys: KeyIcon[];
11
+ variant?: KeyboardShortcutVariant;
12
+ className?: string;
13
+ }
14
+
15
+ declare function KeyboardShortcut({ keys, variant, className, }: KeyboardShortcutProps): ReactElement;
16
+
17
+ declare function IconCtrl(props: SVGProps<SVGSVGElement>): ReactElement;
18
+
19
+ export { IconCtrl, KEYBOARD_SHORTCUT_VARIANTS, type KeyIcon, KeyboardShortcut, type KeyboardShortcutProps, type KeyboardShortcutVariant };
@@ -0,0 +1,19 @@
1
+ import { ComponentType, SVGProps, ReactElement } from 'react';
2
+
3
+ type KeyIcon = ComponentType<SVGProps<SVGSVGElement>>;
4
+ declare const KEYBOARD_SHORTCUT_VARIANTS: {
5
+ readonly OUTLINED: "outlined";
6
+ readonly FILLED: "filled";
7
+ };
8
+ type KeyboardShortcutVariant = (typeof KEYBOARD_SHORTCUT_VARIANTS)[keyof typeof KEYBOARD_SHORTCUT_VARIANTS];
9
+ interface KeyboardShortcutProps {
10
+ keys: KeyIcon[];
11
+ variant?: KeyboardShortcutVariant;
12
+ className?: string;
13
+ }
14
+
15
+ declare function KeyboardShortcut({ keys, variant, className, }: KeyboardShortcutProps): ReactElement;
16
+
17
+ declare function IconCtrl(props: SVGProps<SVGSVGElement>): ReactElement;
18
+
19
+ export { IconCtrl, KEYBOARD_SHORTCUT_VARIANTS, type KeyIcon, KeyboardShortcut, type KeyboardShortcutProps, type KeyboardShortcutVariant };
@@ -0,0 +1,14 @@
1
+ import {
2
+ IconCtrl,
3
+ KEYBOARD_SHORTCUT_VARIANTS,
4
+ KeyboardShortcut
5
+ } from "./chunk-WZHNMC6P.js";
6
+ import "./chunk-OLJIJYB5.js";
7
+ import "./chunk-JF3P66JF.js";
8
+ import "./chunk-5WRI5ZAA.js";
9
+ export {
10
+ IconCtrl,
11
+ KEYBOARD_SHORTCUT_VARIANTS,
12
+ KeyboardShortcut
13
+ };
14
+ //# sourceMappingURL=keyboard-shortcut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/lottie.cjs CHANGED
@@ -16339,17 +16339,17 @@ var require_lottie = __commonJS({
16339
16339
  }
16340
16340
  });
16341
16341
 
16342
- // src/lottie/index.ts
16342
+ // src/components/lottie/index.ts
16343
16343
  var lottie_exports = {};
16344
16344
  __export(lottie_exports, {
16345
16345
  Lottie: () => Lottie
16346
16346
  });
16347
16347
  module.exports = __toCommonJS(lottie_exports);
16348
16348
 
16349
- // src/lottie/lottie.tsx
16349
+ // src/components/lottie/lottie.tsx
16350
16350
  var import_react2 = require("react");
16351
16351
 
16352
- // src/lottie/lottie-styles.ts
16352
+ // src/components/lottie/lottie-styles.ts
16353
16353
  var import_styled_components = __toESM(require("styled-components"), 1);
16354
16354
  var LottieContainer = import_styled_components.default.div`
16355
16355
  display: inline-flex;
@@ -16362,7 +16362,7 @@ var LottieContainer = import_styled_components.default.div`
16362
16362
  }
16363
16363
  `;
16364
16364
 
16365
- // src/lottie/use-lottie.ts
16365
+ // src/components/lottie/use-lottie.ts
16366
16366
  var import_react = require("react");
16367
16367
  var import_lottie_web = __toESM(require_lottie(), 1);
16368
16368
  function useLottie({
@@ -16479,7 +16479,7 @@ function createLottieRef(animationRef) {
16479
16479
  };
16480
16480
  }
16481
16481
 
16482
- // src/lottie/lottie.tsx
16482
+ // src/components/lottie/lottie.tsx
16483
16483
  var import_jsx_runtime = require("react/jsx-runtime");
16484
16484
  var Lottie = (0, import_react2.forwardRef)(function Lottie2({
16485
16485
  animationData: animationData2,