@dust-tt/sparkle 0.2.646-rc-3 → 0.2.646

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 (94) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/esm/components/DataTable.d.ts +13 -3
  3. package/dist/esm/components/DataTable.d.ts.map +1 -1
  4. package/dist/esm/components/DataTable.js +9 -8
  5. package/dist/esm/components/DataTable.js.map +1 -1
  6. package/dist/esm/components/markdown/BlockquoteBlock.d.ts +1 -3
  7. package/dist/esm/components/markdown/BlockquoteBlock.d.ts.map +1 -1
  8. package/dist/esm/components/markdown/BlockquoteBlock.js +3 -7
  9. package/dist/esm/components/markdown/BlockquoteBlock.js.map +1 -1
  10. package/dist/esm/components/markdown/CodeBlockWithExtendedSupport.d.ts +2 -4
  11. package/dist/esm/components/markdown/CodeBlockWithExtendedSupport.d.ts.map +1 -1
  12. package/dist/esm/components/markdown/CodeBlockWithExtendedSupport.js +6 -11
  13. package/dist/esm/components/markdown/CodeBlockWithExtendedSupport.js.map +1 -1
  14. package/dist/esm/components/markdown/List.d.ts +3 -17
  15. package/dist/esm/components/markdown/List.d.ts.map +1 -1
  16. package/dist/esm/components/markdown/List.js +7 -21
  17. package/dist/esm/components/markdown/List.js.map +1 -1
  18. package/dist/esm/components/markdown/Markdown.d.ts +9 -2
  19. package/dist/esm/components/markdown/Markdown.d.ts.map +1 -1
  20. package/dist/esm/components/markdown/Markdown.js +66 -45
  21. package/dist/esm/components/markdown/Markdown.js.map +1 -1
  22. package/dist/esm/components/markdown/ParagraphBlock.d.ts +1 -3
  23. package/dist/esm/components/markdown/ParagraphBlock.d.ts.map +1 -1
  24. package/dist/esm/components/markdown/ParagraphBlock.js +3 -7
  25. package/dist/esm/components/markdown/ParagraphBlock.js.map +1 -1
  26. package/dist/esm/components/markdown/PreBlock.d.ts +1 -3
  27. package/dist/esm/components/markdown/PreBlock.d.ts.map +1 -1
  28. package/dist/esm/components/markdown/PreBlock.js +3 -7
  29. package/dist/esm/components/markdown/PreBlock.js.map +1 -1
  30. package/dist/esm/components/markdown/TableBlock.d.ts +11 -17
  31. package/dist/esm/components/markdown/TableBlock.d.ts.map +1 -1
  32. package/dist/esm/components/markdown/TableBlock.js +14 -18
  33. package/dist/esm/components/markdown/TableBlock.js.map +1 -1
  34. package/dist/esm/components/markdown/index.d.ts +0 -4
  35. package/dist/esm/components/markdown/index.d.ts.map +1 -1
  36. package/dist/esm/components/markdown/index.js +0 -4
  37. package/dist/esm/components/markdown/index.js.map +1 -1
  38. package/dist/esm/components/markdown/utils.d.ts +0 -11
  39. package/dist/esm/components/markdown/utils.d.ts.map +1 -1
  40. package/dist/esm/components/markdown/utils.js +0 -21
  41. package/dist/esm/components/markdown/utils.js.map +1 -1
  42. package/dist/esm/stories/DataTable.stories.d.ts +1 -0
  43. package/dist/esm/stories/DataTable.stories.d.ts.map +1 -1
  44. package/dist/esm/stories/DataTable.stories.js +188 -0
  45. package/dist/esm/stories/DataTable.stories.js.map +1 -1
  46. package/dist/esm/styles/global.css +12 -0
  47. package/dist/esm/styles/global_with_tw_base.css +12 -0
  48. package/dist/esm/styles/tailwind.css +11 -0
  49. package/dist/sparkle.css +34 -0
  50. package/package.json +1 -2
  51. package/src/components/DataTable.tsx +31 -2
  52. package/src/components/markdown/BlockquoteBlock.tsx +29 -36
  53. package/src/components/markdown/CodeBlockWithExtendedSupport.tsx +131 -142
  54. package/src/components/markdown/List.tsx +30 -53
  55. package/src/components/markdown/Markdown.tsx +171 -108
  56. package/src/components/markdown/ParagraphBlock.tsx +12 -18
  57. package/src/components/markdown/PreBlock.tsx +18 -28
  58. package/src/components/markdown/TableBlock.tsx +95 -125
  59. package/src/components/markdown/index.ts +0 -4
  60. package/src/components/markdown/utils.ts +0 -37
  61. package/src/stories/DataTable.stories.tsx +235 -0
  62. package/src/styles/global.css +12 -0
  63. package/src/styles/global_with_tw_base.css +12 -0
  64. package/src/styles/tailwind.css +11 -0
  65. package/dist/esm/components/markdown/HeaderBlocks.d.ts +0 -24
  66. package/dist/esm/components/markdown/HeaderBlocks.d.ts.map +0 -1
  67. package/dist/esm/components/markdown/HeaderBlocks.js +0 -54
  68. package/dist/esm/components/markdown/HeaderBlocks.js.map +0 -1
  69. package/dist/esm/components/markdown/InputBlock.d.ts +0 -10
  70. package/dist/esm/components/markdown/InputBlock.d.ts.map +0 -1
  71. package/dist/esm/components/markdown/InputBlock.js +0 -26
  72. package/dist/esm/components/markdown/InputBlock.js.map +0 -1
  73. package/dist/esm/components/markdown/LinkBlock.d.ts +0 -10
  74. package/dist/esm/components/markdown/LinkBlock.d.ts.map +0 -1
  75. package/dist/esm/components/markdown/LinkBlock.js +0 -11
  76. package/dist/esm/components/markdown/LinkBlock.js.map +0 -1
  77. package/dist/esm/components/markdown/TextFormattingBlocks.d.ts +0 -10
  78. package/dist/esm/components/markdown/TextFormattingBlocks.d.ts.map +0 -1
  79. package/dist/esm/components/markdown/TextFormattingBlocks.js +0 -12
  80. package/dist/esm/components/markdown/TextFormattingBlocks.js.map +0 -1
  81. package/dist/esm/components/markdown/types.d.ts +0 -13
  82. package/dist/esm/components/markdown/types.d.ts.map +0 -1
  83. package/dist/esm/components/markdown/types.js +0 -2
  84. package/dist/esm/components/markdown/types.js.map +0 -1
  85. package/dist/esm/components/markdown/useAnimatedText.d.ts +0 -2
  86. package/dist/esm/components/markdown/useAnimatedText.d.ts.map +0 -1
  87. package/dist/esm/components/markdown/useAnimatedText.js +0 -31
  88. package/dist/esm/components/markdown/useAnimatedText.js.map +0 -1
  89. package/src/components/markdown/HeaderBlocks.tsx +0 -160
  90. package/src/components/markdown/InputBlock.tsx +0 -60
  91. package/src/components/markdown/LinkBlock.tsx +0 -36
  92. package/src/components/markdown/TextFormattingBlocks.tsx +0 -31
  93. package/src/components/markdown/types.ts +0 -5
  94. package/src/components/markdown/useAnimatedText.ts +0 -36
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeaderBlocks.js","sourceRoot":"","sources":["../../../../src/components/markdown/HeaderBlocks.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import type { ReactMarkdownProps } from "react-markdown/lib/ast-to-react";
3
- import { MarkdownNode } from "./types";
4
- type InputBlockProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "ref"> & ReactMarkdownProps & {
5
- ref?: React.Ref<HTMLInputElement>;
6
- node?: MarkdownNode;
7
- };
8
- export declare const MemoInputBlock: React.MemoExoticComponent<({ type, checked, className, onChange, ref, ...props }: InputBlockProps) => React.JSX.Element>;
9
- export {};
10
- //# sourceMappingURL=InputBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/InputBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAI1E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,KAAK,eAAe,GAAG,IAAI,CACzB,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,KAAK,CACN,GACC,kBAAkB,GAAG;IACnB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,CAAC;AAEJ,eAAO,MAAM,cAAc,oFAC+B,eAAe,uBAuCxE,CAAC"}
@@ -1,26 +0,0 @@
1
- import { __assign, __rest } from "tslib";
2
- import React, { memo } from "react";
3
- import { Checkbox } from "../../components";
4
- import { sameNodePosition } from "./utils";
5
- export var MemoInputBlock = memo(function (_a) {
6
- var type = _a.type, checked = _a.checked, className = _a.className, onChange = _a.onChange, ref = _a.ref, props = __rest(_a, ["type", "checked", "className", "onChange", "ref"]);
7
- var inputRef = React.useRef(null);
8
- React.useImperativeHandle(ref, function () { return inputRef.current; });
9
- if (type !== "checkbox") {
10
- return (React.createElement("input", __assign({ ref: inputRef, type: type, checked: checked, className: className }, props)));
11
- }
12
- var handleCheckedChange = function (isChecked) {
13
- onChange === null || onChange === void 0 ? void 0 : onChange({
14
- target: { type: "checkbox", checked: isChecked },
15
- });
16
- };
17
- return (React.createElement("div", { className: "s-inline-flex s-items-center" },
18
- React.createElement(Checkbox, { ref: inputRef, size: "xs", checked: checked, className: "s-translate-y-[3px]", onCheckedChange: handleCheckedChange })));
19
- }, function (prev, next) {
20
- return sameNodePosition(prev.node, next.node) &&
21
- prev.type === next.type &&
22
- prev.checked === next.checked &&
23
- prev.className === next.className;
24
- });
25
- MemoInputBlock.displayName = "InputBlock";
26
- //# sourceMappingURL=InputBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputBlock.js","sourceRoot":"","sources":["../../../../src/components/markdown/InputBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAW3C,MAAM,CAAC,IAAM,cAAc,GAAG,IAAI,CAChC,UAAC,EAAsE;IAApE,IAAA,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAE,GAAG,SAAA,EAAK,KAAK,cAAnD,mDAAqD,CAAF;IAClD,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACtD,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,cAAM,OAAA,QAAQ,CAAC,OAAQ,EAAjB,CAAiB,CAAC,CAAC;IAExD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,CACL,wCACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,IAChB,KAAK,EACT,CACH,CAAC;IACJ,CAAC;IAED,IAAM,mBAAmB,GAAG,UAAC,SAAkB;QAC7C,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG;YACT,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE;SACV,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,8BAA8B;QAC3C,oBAAC,QAAQ,IACP,GAAG,EAAE,QAAwC,EAC7C,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,qBAAqB,EAC/B,eAAe,EAAE,mBAAmB,GACpC,CACE,CACP,CAAC;AACJ,CAAC,EACD,UAAC,IAAI,EAAE,IAAI;IACT,OAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;QACvB,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;QAC7B,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;AAHjC,CAGiC,CACpC,CAAC;AAEF,cAAc,CAAC,WAAW,GAAG,YAAY,CAAC"}
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import { MarkdownNode } from "./types";
3
- interface LinkBlockProps {
4
- href?: string;
5
- children: React.ReactNode;
6
- node?: MarkdownNode;
7
- }
8
- export declare const MemoLinkBlock: React.MemoExoticComponent<({ href, children }: LinkBlockProps) => React.JSX.Element>;
9
- export {};
10
- //# sourceMappingURL=LinkBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinkBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/LinkBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAKpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,iDACH,cAAc,uBAmBpC,CAAC"}
@@ -1,11 +0,0 @@
1
- import React, { memo } from "react";
2
- import { sameNodePosition } from "../../components/markdown/utils";
3
- import { cn } from "../../lib/utils";
4
- export var MemoLinkBlock = memo(function (_a) {
5
- var href = _a.href, children = _a.children;
6
- return (React.createElement("a", { href: href, target: "_blank", rel: "noopener noreferrer", className: cn("s-break-all s-font-semibold s-transition-all s-duration-200 s-ease-in-out hover:s-underline", "s-text-highlight dark:s-text-highlight-night", "hover:s-text-highlight-400 dark:hover:s-text-highlight-400-night", "active:s-text-highlight-dark dark:active:s-text-highlight-dark-night") }, children));
7
- }, function (prev, next) {
8
- return sameNodePosition(prev.node, next.node) && prev.href === next.href;
9
- });
10
- MemoLinkBlock.displayName = "LinkBlock";
11
- //# sourceMappingURL=LinkBlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinkBlock.js","sourceRoot":"","sources":["../../../../src/components/markdown/LinkBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAUxC,MAAM,CAAC,IAAM,aAAa,GAAG,IAAI,CAC/B,UAAC,EAAkC;QAAhC,IAAI,UAAA,EAAE,QAAQ,cAAA;IACf,OAAO,CACL,2BACE,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAE,EAAE,CACX,6FAA6F,EAC7F,8CAA8C,EAC9C,kEAAkE,EAClE,sEAAsE,CACvE,IAEA,QAAQ,CACP,CACL,CAAC;AACJ,CAAC,EACD,UAAC,IAAI,EAAE,IAAI;IACT,OAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;AAAjE,CAAiE,CACpE,CAAC;AAEF,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC"}
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import { MarkdownNode } from "./types";
3
- interface StrongBlockProps {
4
- children: React.ReactNode;
5
- node?: MarkdownNode;
6
- }
7
- export declare const MemoStrongBlock: React.MemoExoticComponent<({ children }: StrongBlockProps) => React.JSX.Element>;
8
- export declare const MemoHorizontalRuleBlock: React.MemoExoticComponent<() => React.JSX.Element>;
9
- export {};
10
- //# sourceMappingURL=TextFormattingBlocks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextFormattingBlocks.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/TextFormattingBlocks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAIpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,UAAU,gBAAgB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAED,eAAO,MAAM,eAAe,2CACX,gBAAgB,uBAQhC,CAAC;AAIF,eAAO,MAAM,uBAAuB,oDAIlC,CAAC"}
@@ -1,12 +0,0 @@
1
- import React, { memo } from "react";
2
- import { sameNodePosition } from "../../components/markdown/utils";
3
- export var MemoStrongBlock = memo(function (_a) {
4
- var children = _a.children;
5
- return (React.createElement("strong", { className: "s-font-semibold s-text-foreground dark:s-text-foreground-night" }, children));
6
- }, function (prev, next) { return sameNodePosition(prev.node, next.node); });
7
- MemoStrongBlock.displayName = "StrongBlock";
8
- export var MemoHorizontalRuleBlock = memo(function () {
9
- return (React.createElement("div", { className: "s-my-6 s-border-b s-border-primary-150 dark:s-border-primary-150-night" }));
10
- });
11
- MemoHorizontalRuleBlock.displayName = "HorizontalRuleBlock";
12
- //# sourceMappingURL=TextFormattingBlocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextFormattingBlocks.js","sourceRoot":"","sources":["../../../../src/components/markdown/TextFormattingBlocks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAStE,MAAM,CAAC,IAAM,eAAe,GAAG,IAAI,CACjC,UAAC,EAA8B;QAA5B,QAAQ,cAAA;IACT,OAAO,CACL,gCAAQ,SAAS,EAAC,gEAAgE,IAC/E,QAAQ,CACF,CACV,CAAC;AACJ,CAAC,EACD,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAtC,CAAsC,CACvD,CAAC;AAEF,eAAe,CAAC,WAAW,GAAG,aAAa,CAAC;AAE5C,MAAM,CAAC,IAAM,uBAAuB,GAAG,IAAI,CAAC;IAC1C,OAAO,CACL,6BAAK,SAAS,EAAC,wEAAwE,GAAG,CAC3F,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,uBAAuB,CAAC,WAAW,GAAG,qBAAqB,CAAC"}
@@ -1,13 +0,0 @@
1
- type MarkdownPoint = {
2
- line?: number;
3
- column?: number;
4
- };
5
- type MarkdownPosition = {
6
- start?: MarkdownPoint;
7
- end?: MarkdownPoint;
8
- };
9
- export type MarkdownNode = {
10
- position?: MarkdownPosition;
11
- };
12
- export {};
13
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/types.ts"],"names":[],"mappings":"AAAA,KAAK,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACxD,KAAK,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,aAAa,CAAC;IAAC,GAAG,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC;AACvE,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/markdown/types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare function useAnimatedText(text: string, shouldAnimate: boolean): string;
2
- //# sourceMappingURL=useAnimatedText.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAnimatedText.d.ts","sourceRoot":"","sources":["../../../../src/components/markdown/useAnimatedText.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,UA8BnE"}
@@ -1,31 +0,0 @@
1
- import { __read } from "tslib";
2
- import { animate } from "framer-motion";
3
- import { useEffect, useState } from "react";
4
- var delimiter = /(?=[\s\S])/;
5
- export function useAnimatedText(text, shouldAnimate) {
6
- var _a = __read(useState(0), 2), cursor = _a[0], setCursor = _a[1];
7
- var _b = __read(useState(0), 2), startingCursor = _b[0], setStartingCursor = _b[1];
8
- var _c = __read(useState(text), 2), prevText = _c[0], setPrevText = _c[1];
9
- if (prevText !== text) {
10
- setPrevText(text);
11
- setStartingCursor(cursor);
12
- }
13
- useEffect(function () {
14
- if (shouldAnimate) {
15
- var textParts = text.split(delimiter);
16
- var controls_1 = animate(startingCursor, textParts.length, {
17
- duration: 4,
18
- ease: "easeOut",
19
- onUpdate: function (latest) {
20
- setCursor(Math.floor(latest));
21
- },
22
- });
23
- return function () { return controls_1.stop(); };
24
- }
25
- }, [startingCursor, text]);
26
- if (!shouldAnimate) {
27
- return text;
28
- }
29
- return text.split(delimiter).slice(0, cursor).join("");
30
- }
31
- //# sourceMappingURL=useAnimatedText.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAnimatedText.js","sourceRoot":"","sources":["../../../../src/components/markdown/useAnimatedText.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,IAAM,SAAS,GAAG,YAAY,CAAC;AAE/B,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,aAAsB;IAC5D,IAAA,KAAA,OAAsB,QAAQ,CAAC,CAAC,CAAC,IAAA,EAAhC,MAAM,QAAA,EAAE,SAAS,QAAe,CAAC;IAClC,IAAA,KAAA,OAAsC,QAAQ,CAAC,CAAC,CAAC,IAAA,EAAhD,cAAc,QAAA,EAAE,iBAAiB,QAAe,CAAC;IAClD,IAAA,KAAA,OAA0B,QAAQ,CAAC,IAAI,CAAC,IAAA,EAAvC,QAAQ,QAAA,EAAE,WAAW,QAAkB,CAAC;IAE/C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC;QACR,IAAI,aAAa,EAAE,CAAC;YAClB,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxC,IAAM,UAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE;gBACzD,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,QAAQ,YAAC,MAAM;oBACb,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChC,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,cAAM,OAAA,UAAQ,CAAC,IAAI,EAAE,EAAf,CAAe,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC"}
@@ -1,160 +0,0 @@
1
- import React, { memo } from "react";
2
-
3
- import { cn } from "@sparkle/lib/utils";
4
-
5
- import { MarkdownNode } from "./types";
6
- import { sameNodePosition, sameTextStyling } from "./utils";
7
-
8
- export const markdownHeaderClasses = {
9
- h1: "s-heading-2xl",
10
- h2: "s-heading-xl",
11
- h3: "s-heading-lg",
12
- h4: "s-text-base s-font-semibold",
13
- h5: "s-text-sm s-font-semibold",
14
- h6: "s-text-sm s-font-regular s-italic",
15
- };
16
-
17
- interface HeaderBlockProps {
18
- children: React.ReactNode;
19
- textColor?: string;
20
- forcedTextSize?: string;
21
- node?: MarkdownNode;
22
- }
23
-
24
- export const MemoH1Block = memo(
25
- ({ children, textColor, forcedTextSize }: HeaderBlockProps) => {
26
- return (
27
- <h1
28
- className={cn(
29
- "s-pb-2 s-pt-4",
30
- forcedTextSize ? forcedTextSize : markdownHeaderClasses.h1,
31
- textColor
32
- )}
33
- >
34
- {children}
35
- </h1>
36
- );
37
- },
38
- (prev, next) => {
39
- return (
40
- sameNodePosition(prev.node, next.node) && sameTextStyling(prev, next)
41
- );
42
- }
43
- );
44
-
45
- MemoH1Block.displayName = "H1Block";
46
-
47
- export const MemoH2Block = memo(
48
- ({ children, textColor, forcedTextSize }: HeaderBlockProps) => {
49
- return (
50
- <h2
51
- className={cn(
52
- "s-pb-2 s-pt-4",
53
- forcedTextSize ? forcedTextSize : markdownHeaderClasses.h2,
54
- textColor
55
- )}
56
- >
57
- {children}
58
- </h2>
59
- );
60
- },
61
- (prev, next) => {
62
- return (
63
- sameNodePosition(prev.node, next.node) && sameTextStyling(prev, next)
64
- );
65
- }
66
- );
67
-
68
- MemoH2Block.displayName = "H2Block";
69
-
70
- export const MemoH3Block = memo(
71
- ({ children, textColor, forcedTextSize }: HeaderBlockProps) => {
72
- return (
73
- <h3
74
- className={cn(
75
- "s-pb-2 s-pt-4",
76
- forcedTextSize ? forcedTextSize : markdownHeaderClasses.h3,
77
- textColor
78
- )}
79
- >
80
- {children}
81
- </h3>
82
- );
83
- },
84
- (prev, next) => {
85
- return (
86
- sameNodePosition(prev.node, next.node) && sameTextStyling(prev, next)
87
- );
88
- }
89
- );
90
-
91
- MemoH3Block.displayName = "H3Block";
92
-
93
- export const MemoH4Block = memo(
94
- ({ children, textColor, forcedTextSize }: HeaderBlockProps) => {
95
- return (
96
- <h4
97
- className={cn(
98
- "s-pb-2 s-pt-3",
99
- forcedTextSize ? forcedTextSize : markdownHeaderClasses.h4,
100
- textColor
101
- )}
102
- >
103
- {children}
104
- </h4>
105
- );
106
- },
107
- (prev, next) => {
108
- return (
109
- sameNodePosition(prev.node, next.node) && sameTextStyling(prev, next)
110
- );
111
- }
112
- );
113
-
114
- MemoH4Block.displayName = "H4Block";
115
-
116
- export const MemoH5Block = memo(
117
- ({ children, textColor, forcedTextSize }: HeaderBlockProps) => {
118
- return (
119
- <h5
120
- className={cn(
121
- "s-pb-1.5 s-pt-2.5",
122
- forcedTextSize ? forcedTextSize : markdownHeaderClasses.h5,
123
- textColor
124
- )}
125
- >
126
- {children}
127
- </h5>
128
- );
129
- },
130
- (prev, next) => {
131
- return (
132
- sameNodePosition(prev.node, next.node) && sameTextStyling(prev, next)
133
- );
134
- }
135
- );
136
-
137
- MemoH5Block.displayName = "H5Block";
138
-
139
- export const MemoH6Block = memo(
140
- ({ children, textColor, forcedTextSize }: HeaderBlockProps) => {
141
- return (
142
- <h6
143
- className={cn(
144
- "s-pb-1.5 s-pt-2.5",
145
- forcedTextSize ? forcedTextSize : markdownHeaderClasses.h6,
146
- textColor
147
- )}
148
- >
149
- {children}
150
- </h6>
151
- );
152
- },
153
- (prev, next) => {
154
- return (
155
- sameNodePosition(prev.node, next.node) && sameTextStyling(prev, next)
156
- );
157
- }
158
- );
159
-
160
- MemoH6Block.displayName = "H6Block";
@@ -1,60 +0,0 @@
1
- import React, { memo } from "react";
2
- import type { ReactMarkdownProps } from "react-markdown/lib/ast-to-react";
3
-
4
- import { Checkbox } from "@sparkle/components";
5
-
6
- import { MarkdownNode } from "./types";
7
- import { sameNodePosition } from "./utils";
8
-
9
- type InputBlockProps = Omit<
10
- React.InputHTMLAttributes<HTMLInputElement>,
11
- "ref"
12
- > &
13
- ReactMarkdownProps & {
14
- ref?: React.Ref<HTMLInputElement>;
15
- node?: MarkdownNode;
16
- };
17
-
18
- export const MemoInputBlock = memo(
19
- ({ type, checked, className, onChange, ref, ...props }: InputBlockProps) => {
20
- const inputRef = React.useRef<HTMLInputElement>(null);
21
- React.useImperativeHandle(ref, () => inputRef.current!);
22
-
23
- if (type !== "checkbox") {
24
- return (
25
- <input
26
- ref={inputRef}
27
- type={type}
28
- checked={checked}
29
- className={className}
30
- {...props}
31
- />
32
- );
33
- }
34
-
35
- const handleCheckedChange = (isChecked: boolean) => {
36
- onChange?.({
37
- target: { type: "checkbox", checked: isChecked },
38
- } as React.ChangeEvent<HTMLInputElement>);
39
- };
40
-
41
- return (
42
- <div className="s-inline-flex s-items-center">
43
- <Checkbox
44
- ref={inputRef as React.Ref<HTMLButtonElement>}
45
- size="xs"
46
- checked={checked}
47
- className="s-translate-y-[3px]"
48
- onCheckedChange={handleCheckedChange}
49
- />
50
- </div>
51
- );
52
- },
53
- (prev, next) =>
54
- sameNodePosition(prev.node, next.node) &&
55
- prev.type === next.type &&
56
- prev.checked === next.checked &&
57
- prev.className === next.className
58
- );
59
-
60
- MemoInputBlock.displayName = "InputBlock";
@@ -1,36 +0,0 @@
1
- import React, { memo } from "react";
2
-
3
- import { sameNodePosition } from "@sparkle/components/markdown/utils";
4
- import { cn } from "@sparkle/lib/utils";
5
-
6
- import { MarkdownNode } from "./types";
7
-
8
- interface LinkBlockProps {
9
- href?: string;
10
- children: React.ReactNode;
11
- node?: MarkdownNode;
12
- }
13
-
14
- export const MemoLinkBlock = memo(
15
- ({ href, children }: LinkBlockProps) => {
16
- return (
17
- <a
18
- href={href}
19
- target="_blank"
20
- rel="noopener noreferrer"
21
- className={cn(
22
- "s-break-all s-font-semibold s-transition-all s-duration-200 s-ease-in-out hover:s-underline",
23
- "s-text-highlight dark:s-text-highlight-night",
24
- "hover:s-text-highlight-400 dark:hover:s-text-highlight-400-night",
25
- "active:s-text-highlight-dark dark:active:s-text-highlight-dark-night"
26
- )}
27
- >
28
- {children}
29
- </a>
30
- );
31
- },
32
- (prev, next) =>
33
- sameNodePosition(prev.node, next.node) && prev.href === next.href
34
- );
35
-
36
- MemoLinkBlock.displayName = "LinkBlock";
@@ -1,31 +0,0 @@
1
- import React, { memo } from "react";
2
-
3
- import { sameNodePosition } from "@sparkle/components/markdown/utils";
4
-
5
- import { MarkdownNode } from "./types";
6
-
7
- interface StrongBlockProps {
8
- children: React.ReactNode;
9
- node?: MarkdownNode;
10
- }
11
-
12
- export const MemoStrongBlock = memo(
13
- ({ children }: StrongBlockProps) => {
14
- return (
15
- <strong className="s-font-semibold s-text-foreground dark:s-text-foreground-night">
16
- {children}
17
- </strong>
18
- );
19
- },
20
- (prev, next) => sameNodePosition(prev.node, next.node)
21
- );
22
-
23
- MemoStrongBlock.displayName = "StrongBlock";
24
-
25
- export const MemoHorizontalRuleBlock = memo(() => {
26
- return (
27
- <div className="s-my-6 s-border-b s-border-primary-150 dark:s-border-primary-150-night" />
28
- );
29
- });
30
-
31
- MemoHorizontalRuleBlock.displayName = "HorizontalRuleBlock";
@@ -1,5 +0,0 @@
1
- type MarkdownPoint = { line?: number; column?: number };
2
- type MarkdownPosition = { start?: MarkdownPoint; end?: MarkdownPoint };
3
- export type MarkdownNode = {
4
- position?: MarkdownPosition;
5
- };
@@ -1,36 +0,0 @@
1
- import { animate } from "framer-motion";
2
- import { useEffect, useState } from "react";
3
-
4
- const delimiter = /(?=[\s\S])/;
5
-
6
- export function useAnimatedText(text: string, shouldAnimate: boolean) {
7
- const [cursor, setCursor] = useState(0);
8
- const [startingCursor, setStartingCursor] = useState(0);
9
- const [prevText, setPrevText] = useState(text);
10
-
11
- if (prevText !== text) {
12
- setPrevText(text);
13
- setStartingCursor(cursor);
14
- }
15
-
16
- useEffect(() => {
17
- if (shouldAnimate) {
18
- const textParts = text.split(delimiter);
19
- const controls = animate(startingCursor, textParts.length, {
20
- duration: 4,
21
- ease: "easeOut",
22
- onUpdate(latest) {
23
- setCursor(Math.floor(latest));
24
- },
25
- });
26
-
27
- return () => controls.stop();
28
- }
29
- }, [startingCursor, text]);
30
-
31
- if (!shouldAnimate) {
32
- return text;
33
- }
34
-
35
- return text.split(delimiter).slice(0, cursor).join("");
36
- }