@objectifthunes/limestone-sdk 0.1.8 → 0.1.9

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/README.md +50 -18
  2. package/dist/components/content/block-quote/block-quote.d.ts +4 -0
  3. package/dist/components/content/block-quote/block-quote.d.ts.map +1 -0
  4. package/dist/components/content/block-quote/block-quote.js +12 -0
  5. package/dist/components/content/block-quote/block-quote.js.map +1 -0
  6. package/dist/components/content/block-quote/index.d.ts +4 -0
  7. package/dist/components/content/block-quote/index.d.ts.map +1 -0
  8. package/dist/components/content/block-quote/index.js +4 -0
  9. package/dist/components/content/block-quote/index.js.map +1 -0
  10. package/dist/components/content/block-quote/types.d.ts +26 -0
  11. package/dist/components/content/block-quote/types.d.ts.map +1 -0
  12. package/dist/components/content/block-quote/types.js +2 -0
  13. package/dist/components/content/block-quote/types.js.map +1 -0
  14. package/dist/components/content/block-quote/use-block-quote.d.ts +4 -0
  15. package/dist/components/content/block-quote/use-block-quote.d.ts.map +1 -0
  16. package/dist/components/content/block-quote/use-block-quote.js +59 -0
  17. package/dist/components/content/block-quote/use-block-quote.js.map +1 -0
  18. package/dist/components/content/callout/callout.d.ts +4 -0
  19. package/dist/components/content/callout/callout.d.ts.map +1 -0
  20. package/dist/components/content/callout/callout.js +12 -0
  21. package/dist/components/content/callout/callout.js.map +1 -0
  22. package/dist/components/content/callout/index.d.ts +4 -0
  23. package/dist/components/content/callout/index.d.ts.map +1 -0
  24. package/dist/components/content/callout/index.js +4 -0
  25. package/dist/components/content/callout/index.js.map +1 -0
  26. package/dist/components/content/callout/types.d.ts +33 -0
  27. package/dist/components/content/callout/types.d.ts.map +1 -0
  28. package/dist/components/content/callout/types.js +2 -0
  29. package/dist/components/content/callout/types.js.map +1 -0
  30. package/dist/components/content/callout/use-callout.d.ts +4 -0
  31. package/dist/components/content/callout/use-callout.d.ts.map +1 -0
  32. package/dist/components/content/callout/use-callout.js +81 -0
  33. package/dist/components/content/callout/use-callout.js.map +1 -0
  34. package/dist/components/content/code-block/code-block.d.ts +4 -0
  35. package/dist/components/content/code-block/code-block.d.ts.map +1 -0
  36. package/dist/components/content/code-block/code-block.js +12 -0
  37. package/dist/components/content/code-block/code-block.js.map +1 -0
  38. package/dist/components/content/code-block/index.d.ts +4 -0
  39. package/dist/components/content/code-block/index.d.ts.map +1 -0
  40. package/dist/components/content/code-block/index.js +4 -0
  41. package/dist/components/content/code-block/index.js.map +1 -0
  42. package/dist/components/content/code-block/types.d.ts +35 -0
  43. package/dist/components/content/code-block/types.d.ts.map +1 -0
  44. package/dist/components/content/code-block/types.js +2 -0
  45. package/dist/components/content/code-block/types.js.map +1 -0
  46. package/dist/components/content/code-block/use-code-block.d.ts +4 -0
  47. package/dist/components/content/code-block/use-code-block.d.ts.map +1 -0
  48. package/dist/components/content/code-block/use-code-block.js +81 -0
  49. package/dist/components/content/code-block/use-code-block.js.map +1 -0
  50. package/dist/components/content/index.d.ts +11 -0
  51. package/dist/components/content/index.d.ts.map +1 -0
  52. package/dist/components/content/index.js +7 -0
  53. package/dist/components/content/index.js.map +1 -0
  54. package/dist/components/content/markdown-renderer/index.d.ts +4 -0
  55. package/dist/components/content/markdown-renderer/index.d.ts.map +1 -0
  56. package/dist/components/content/markdown-renderer/index.js +4 -0
  57. package/dist/components/content/markdown-renderer/index.js.map +1 -0
  58. package/dist/components/content/markdown-renderer/markdown-renderer.d.ts +4 -0
  59. package/dist/components/content/markdown-renderer/markdown-renderer.d.ts.map +1 -0
  60. package/dist/components/content/markdown-renderer/markdown-renderer.js +12 -0
  61. package/dist/components/content/markdown-renderer/markdown-renderer.js.map +1 -0
  62. package/dist/components/content/markdown-renderer/types.d.ts +40 -0
  63. package/dist/components/content/markdown-renderer/types.d.ts.map +1 -0
  64. package/dist/components/content/markdown-renderer/types.js +2 -0
  65. package/dist/components/content/markdown-renderer/types.js.map +1 -0
  66. package/dist/components/content/markdown-renderer/use-markdown-renderer.d.ts +4 -0
  67. package/dist/components/content/markdown-renderer/use-markdown-renderer.d.ts.map +1 -0
  68. package/dist/components/content/markdown-renderer/use-markdown-renderer.js +177 -0
  69. package/dist/components/content/markdown-renderer/use-markdown-renderer.js.map +1 -0
  70. package/dist/components/content/rich-text-editor/index.d.ts +4 -0
  71. package/dist/components/content/rich-text-editor/index.d.ts.map +1 -0
  72. package/dist/components/content/rich-text-editor/index.js +4 -0
  73. package/dist/components/content/rich-text-editor/index.js.map +1 -0
  74. package/dist/components/content/rich-text-editor/rich-text-editor.d.ts +4 -0
  75. package/dist/components/content/rich-text-editor/rich-text-editor.d.ts.map +1 -0
  76. package/dist/components/content/rich-text-editor/rich-text-editor.js +12 -0
  77. package/dist/components/content/rich-text-editor/rich-text-editor.js.map +1 -0
  78. package/dist/components/content/rich-text-editor/types.d.ts +37 -0
  79. package/dist/components/content/rich-text-editor/types.d.ts.map +1 -0
  80. package/dist/components/content/rich-text-editor/types.js +2 -0
  81. package/dist/components/content/rich-text-editor/types.js.map +1 -0
  82. package/dist/components/content/rich-text-editor/use-rich-text-editor.d.ts +4 -0
  83. package/dist/components/content/rich-text-editor/use-rich-text-editor.d.ts.map +1 -0
  84. package/dist/components/content/rich-text-editor/use-rich-text-editor.js +78 -0
  85. package/dist/components/content/rich-text-editor/use-rich-text-editor.js.map +1 -0
  86. package/dist/components/index.d.ts +1 -0
  87. package/dist/components/index.d.ts.map +1 -1
  88. package/dist/components/index.js +2 -0
  89. package/dist/components/index.js.map +1 -1
  90. package/dist/index.d.ts +2 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +2 -0
  93. package/dist/index.js.map +1 -1
  94. package/package.json +1 -1
@@ -0,0 +1,81 @@
1
+ export function useCodeBlock(tokens, props) {
2
+ const { code, language, showLineNumbers = false, showCopyButton = true, showLanguageBadge = true, maxHeight, accessibilityLabel, } = props;
3
+ const resolvedLanguage = language?.toLowerCase() ?? '';
4
+ const showLanguageBadgeResolved = showLanguageBadge && !!language;
5
+ const showHeader = showCopyButton || showLanguageBadgeResolved;
6
+ // Compute line count; strip trailing newline to avoid phantom line
7
+ const trimmed = code.endsWith('\n') ? code.trimEnd() : code;
8
+ const lineCount = trimmed.split('\n').length;
9
+ const containerStyle = {
10
+ backgroundColor: tokens.colors.card,
11
+ borderRadius: tokens.radii.md,
12
+ overflow: 'hidden',
13
+ };
14
+ const headerStyle = {
15
+ flexDirection: 'row',
16
+ alignItems: 'center',
17
+ justifyContent: 'space-between',
18
+ paddingHorizontal: tokens.spacing.sm,
19
+ paddingVertical: tokens.spacing.xs,
20
+ borderBottomWidth: 1,
21
+ borderBottomColor: tokens.colors.border,
22
+ };
23
+ const languageBadgeStyle = {
24
+ fontFamily: tokens.typography.fontFamily.mono,
25
+ fontSize: tokens.typography.sizes.xs,
26
+ color: tokens.colors.mutedForeground,
27
+ textTransform: 'uppercase',
28
+ letterSpacing: 1,
29
+ };
30
+ const copyButtonStyle = {
31
+ padding: tokens.spacing.xs,
32
+ borderRadius: tokens.radii.sm,
33
+ };
34
+ const copyButtonIconColor = tokens.colors.mutedForeground;
35
+ const codeContainerStyle = {
36
+ padding: tokens.spacing.md,
37
+ overflow: 'scroll',
38
+ ...(maxHeight !== undefined ? { maxHeight } : {}),
39
+ };
40
+ const lineNumberStyle = {
41
+ fontFamily: tokens.typography.fontFamily.mono,
42
+ fontSize: tokens.typography.sizes.xs,
43
+ color: tokens.colors.mutedForeground,
44
+ width: 32,
45
+ textAlign: 'right',
46
+ paddingRight: tokens.spacing.sm,
47
+ lineHeight: tokens.typography.sizes.sm * tokens.typography.lineHeights.relaxed,
48
+ };
49
+ const codeTextStyle = {
50
+ fontFamily: tokens.typography.fontFamily.mono,
51
+ fontSize: tokens.typography.sizes.sm,
52
+ color: tokens.colors.foreground,
53
+ lineHeight: tokens.typography.sizes.sm * tokens.typography.lineHeights.relaxed,
54
+ };
55
+ const getLineStyle = (_index) => ({
56
+ flexDirection: 'row',
57
+ });
58
+ return {
59
+ containerStyle,
60
+ headerStyle,
61
+ languageBadgeStyle,
62
+ copyButtonStyle,
63
+ copyButtonIconColor,
64
+ codeContainerStyle,
65
+ lineNumberStyle,
66
+ codeTextStyle,
67
+ lineCount,
68
+ getLineStyle,
69
+ showHeader,
70
+ showLineNumbers,
71
+ showCopyButton,
72
+ showLanguageBadge: showLanguageBadgeResolved,
73
+ resolvedLanguage,
74
+ accessibilityProps: {
75
+ accessibilityLabel: accessibilityLabel ?? `${resolvedLanguage} code block`,
76
+ accessibilityRole: 'none',
77
+ accessibilityHint: 'Code block. Double-tap copy button to copy code.',
78
+ },
79
+ };
80
+ }
81
+ //# sourceMappingURL=use-code-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-code-block.js","sourceRoot":"","sources":["../../../../src/components/content/code-block/use-code-block.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export { MarkdownRenderer, useMarkdownRenderer, } from './markdown-renderer/index.js';
2
+ export type { MarkdownRendererProps, UseMarkdownRendererResult } from './markdown-renderer/index.js';
3
+ export { CodeBlock, useCodeBlock, } from './code-block/index.js';
4
+ export type { CodeBlockProps, UseCodeBlockResult } from './code-block/index.js';
5
+ export { RichTextEditor, useRichTextEditor, } from './rich-text-editor/index.js';
6
+ export type { RichTextEditorProps, UseRichTextEditorResult, ToolbarAction } from './rich-text-editor/index.js';
7
+ export { BlockQuote, useBlockQuote, } from './block-quote/index.js';
8
+ export type { BlockQuoteProps, UseBlockQuoteResult } from './block-quote/index.js';
9
+ export { Callout, useCallout, } from './callout/index.js';
10
+ export type { CalloutProps, UseCalloutResult, CalloutType } from './callout/index.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/content/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAAE,mBAAmB,GACtC,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAErG,OAAO,EACL,SAAS,EAAE,YAAY,GACxB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,cAAc,EAAE,iBAAiB,GAClC,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE/G,OAAO,EACL,UAAU,EAAE,aAAa,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEnF,OAAO,EACL,OAAO,EAAE,UAAU,GACpB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ // src/components/content/index.ts
2
+ export { MarkdownRenderer, useMarkdownRenderer, } from './markdown-renderer/index.js';
3
+ export { CodeBlock, useCodeBlock, } from './code-block/index.js';
4
+ export { RichTextEditor, useRichTextEditor, } from './rich-text-editor/index.js';
5
+ export { BlockQuote, useBlockQuote, } from './block-quote/index.js';
6
+ export { Callout, useCallout, } from './callout/index.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/content/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EACL,gBAAgB,EAAE,mBAAmB,GACtC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,SAAS,EAAE,YAAY,GACxB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,cAAc,EAAE,iBAAiB,GAClC,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,UAAU,EAAE,aAAa,GAC1B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,OAAO,EAAE,UAAU,GACpB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { MarkdownRenderer } from './markdown-renderer.js';
2
+ export { useMarkdownRenderer } from './use-markdown-renderer.js';
3
+ export type { MarkdownRendererProps, UseMarkdownRendererResult } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/content/markdown-renderer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ // src/components/content/markdown-renderer/index.ts
2
+ export { MarkdownRenderer } from './markdown-renderer.js';
3
+ export { useMarkdownRenderer } from './use-markdown-renderer.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content/markdown-renderer/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { View, type ViewProps } from 'react-native';
2
+ import type { MarkdownRendererProps } from './types.js';
3
+ export declare const MarkdownRenderer: import("react").ForwardRefExoticComponent<MarkdownRendererProps & Omit<ViewProps, keyof MarkdownRendererProps> & import("react").RefAttributes<View>>;
4
+ //# sourceMappingURL=markdown-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/content/markdown-renderer/markdown-renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,gBAAgB,uJA0B3B,CAAC"}
@@ -0,0 +1,12 @@
1
+ // src/components/content/markdown-renderer/markdown-renderer.tsx
2
+ import { forwardRef, createElement } from 'react';
3
+ import { View } from 'react-native';
4
+ import { useTheme } from '../../../theme/context.js';
5
+ import { useMarkdownRenderer } from './use-markdown-renderer.js';
6
+ export const MarkdownRenderer = forwardRef(function MarkdownRenderer(props, ref) {
7
+ const { tokens } = useTheme();
8
+ const { content: _content, onLinkPress: _onLinkPress, baseTextSize: _baseTextSize, showLineNumbers: _showLineNumbers, bg: _bg, p: _p, px: _px, py: _py, pt: _pt, pb: _pb, pl: _pl, pr: _pr, m: _m, mx: _mx, my: _my, mt: _mt, mb: _mb, ml: _ml, mr: _mr, rounded: _r, shadow: _sh, flex: _f, row: _row, center: _cen, w: _w, h: _h, borderWidth: _bw, borderColor: _bc, opacity: _op, overflow: _ov, position: _pos, top: _top, bottom: _bot, left: _left, right: _right, zIndex: _zi, accessibilityLabel: _al, testID, ...rest } = props;
9
+ const { containerStyle, accessibilityProps } = useMarkdownRenderer(tokens, props);
10
+ return createElement(View, { ref, style: containerStyle, ...accessibilityProps, testID, ...rest });
11
+ });
12
+ //# sourceMappingURL=markdown-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-renderer.js","sourceRoot":"","sources":["../../../../src/components/content/markdown-renderer/markdown-renderer.tsx"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC,SAAS,gBAAgB,CAClE,KAA2E,EAC3E,GAAc;IAEd,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC9B,MAAM,EACJ,OAAO,EAAE,QAAQ,EACjB,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,aAAa,EAC3B,eAAe,EAAE,gBAAgB,EACjC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EACpE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAC3D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAC9D,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAC/F,kBAAkB,EAAE,GAAG,EACvB,MAAM,EACN,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAElF,OAAO,aAAa,CAClB,IAAW,EACX,EAAE,GAAG,EAAE,KAAK,EAAE,cAAqB,EAAE,GAAG,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAC9E,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { ViewStyle, TextStyle } from 'react-native';
2
+ import type { BoxStyleProps } from '../../types.js';
3
+ export interface MarkdownRendererProps extends BoxStyleProps {
4
+ content: string;
5
+ onLinkPress?: (url: string) => void;
6
+ baseTextSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
7
+ showLineNumbers?: boolean;
8
+ accessibilityLabel?: string;
9
+ testID?: string;
10
+ }
11
+ export interface UseMarkdownRendererResult {
12
+ containerStyle: ViewStyle;
13
+ h1Style: TextStyle;
14
+ h2Style: TextStyle;
15
+ h3Style: TextStyle;
16
+ h4Style: TextStyle;
17
+ h5Style: TextStyle;
18
+ h6Style: TextStyle;
19
+ paragraphStyle: TextStyle;
20
+ boldStyle: TextStyle;
21
+ italicStyle: TextStyle;
22
+ linkStyle: TextStyle;
23
+ listItemStyle: ViewStyle;
24
+ bulletStyle: TextStyle;
25
+ orderedNumberStyle: TextStyle;
26
+ inlineCodeStyle: TextStyle;
27
+ codeBlockStyle: ViewStyle;
28
+ codeBlockTextStyle: TextStyle;
29
+ blockquoteStyle: ViewStyle;
30
+ blockquoteTextStyle: TextStyle;
31
+ hrStyle: ViewStyle;
32
+ imageContainerStyle: ViewStyle;
33
+ resolvedBaseSize: number;
34
+ showLineNumbers: boolean;
35
+ accessibilityProps: {
36
+ accessibilityLabel: string;
37
+ accessibilityRole: 'text';
38
+ };
39
+ }
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/content/markdown-renderer/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,SAAS,CAAC;IAC1B,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,SAAS,CAAC;IACnB,cAAc,EAAE,SAAS,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,SAAS,CAAC;IACzB,WAAW,EAAE,SAAS,CAAC;IACvB,kBAAkB,EAAE,SAAS,CAAC;IAC9B,eAAe,EAAE,SAAS,CAAC;IAC3B,cAAc,EAAE,SAAS,CAAC;IAC1B,kBAAkB,EAAE,SAAS,CAAC;IAC9B,eAAe,EAAE,SAAS,CAAC;IAC3B,mBAAmB,EAAE,SAAS,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC;IACnB,mBAAmB,EAAE,SAAS,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE;QAClB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/content/markdown-renderer/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { ThemeTokens } from '../../../theme/tokens.js';
2
+ import type { MarkdownRendererProps, UseMarkdownRendererResult } from './types.js';
3
+ export declare function useMarkdownRenderer(tokens: ThemeTokens, props: MarkdownRendererProps): UseMarkdownRendererResult;
4
+ //# sourceMappingURL=use-markdown-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../../src/components/content/markdown-renderer/use-markdown-renderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAUnF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,qBAAqB,GAC3B,yBAAyB,CAmM3B"}
@@ -0,0 +1,177 @@
1
+ const BASE_SIZE_MAP = {
2
+ xs: 'xs',
3
+ sm: 'sm',
4
+ md: 'md',
5
+ lg: 'lg',
6
+ xl: 'xl',
7
+ };
8
+ export function useMarkdownRenderer(tokens, props) {
9
+ const { baseTextSize = 'md', showLineNumbers = false, accessibilityLabel, } = props;
10
+ const sizeKey = BASE_SIZE_MAP[baseTextSize] ?? 'md';
11
+ const resolvedBaseSize = tokens.typography.sizes[sizeKey];
12
+ const containerStyle = {
13
+ flex: 1,
14
+ };
15
+ const h1Style = {
16
+ fontFamily: tokens.typography.fontFamily.display,
17
+ fontSize: tokens.typography.sizes['3xl'],
18
+ fontWeight: tokens.typography.weights.bold,
19
+ color: tokens.colors.foreground,
20
+ lineHeight: tokens.typography.sizes['3xl'] * tokens.typography.lineHeights.tight,
21
+ marginBottom: tokens.spacing.md,
22
+ marginTop: tokens.spacing.lg,
23
+ };
24
+ const h2Style = {
25
+ fontFamily: tokens.typography.fontFamily.display,
26
+ fontSize: tokens.typography.sizes['2xl'],
27
+ fontWeight: tokens.typography.weights.bold,
28
+ color: tokens.colors.foreground,
29
+ lineHeight: tokens.typography.sizes['2xl'] * tokens.typography.lineHeights.tight,
30
+ marginBottom: tokens.spacing.sm,
31
+ marginTop: tokens.spacing.md,
32
+ };
33
+ const h3Style = {
34
+ fontFamily: tokens.typography.fontFamily.display,
35
+ fontSize: tokens.typography.sizes.xl,
36
+ fontWeight: tokens.typography.weights.bold,
37
+ color: tokens.colors.foreground,
38
+ lineHeight: tokens.typography.sizes.xl * tokens.typography.lineHeights.tight,
39
+ marginBottom: tokens.spacing.sm,
40
+ marginTop: tokens.spacing.md,
41
+ };
42
+ const h4Style = {
43
+ fontFamily: tokens.typography.fontFamily.display,
44
+ fontSize: tokens.typography.sizes.lg,
45
+ fontWeight: tokens.typography.weights.bold,
46
+ color: tokens.colors.foreground,
47
+ lineHeight: tokens.typography.sizes.lg * tokens.typography.lineHeights.tight,
48
+ marginBottom: tokens.spacing.xs,
49
+ marginTop: tokens.spacing.sm,
50
+ };
51
+ const h5Style = {
52
+ fontFamily: tokens.typography.fontFamily.display,
53
+ fontSize: tokens.typography.sizes.md,
54
+ fontWeight: tokens.typography.weights.bold,
55
+ color: tokens.colors.foreground,
56
+ lineHeight: tokens.typography.sizes.md * tokens.typography.lineHeights.tight,
57
+ marginBottom: tokens.spacing.xs,
58
+ marginTop: tokens.spacing.sm,
59
+ };
60
+ const h6Style = {
61
+ fontFamily: tokens.typography.fontFamily.display,
62
+ fontSize: tokens.typography.sizes.sm,
63
+ fontWeight: tokens.typography.weights.bold,
64
+ color: tokens.colors.mutedForeground,
65
+ lineHeight: tokens.typography.sizes.sm * tokens.typography.lineHeights.tight,
66
+ marginBottom: tokens.spacing.xs,
67
+ marginTop: tokens.spacing.sm,
68
+ };
69
+ const paragraphStyle = {
70
+ fontSize: resolvedBaseSize,
71
+ color: tokens.colors.foreground,
72
+ lineHeight: resolvedBaseSize * tokens.typography.lineHeights.normal,
73
+ marginBottom: tokens.spacing.sm,
74
+ };
75
+ const boldStyle = {
76
+ fontWeight: tokens.typography.weights.bold,
77
+ };
78
+ const italicStyle = {
79
+ fontStyle: 'italic',
80
+ };
81
+ const linkStyle = {
82
+ color: tokens.colors.primary,
83
+ textDecorationLine: 'underline',
84
+ };
85
+ const listItemStyle = {
86
+ flexDirection: 'row',
87
+ marginBottom: tokens.spacing.xs,
88
+ paddingLeft: tokens.spacing.md,
89
+ };
90
+ const bulletStyle = {
91
+ fontSize: resolvedBaseSize,
92
+ color: tokens.colors.mutedForeground,
93
+ marginRight: tokens.spacing.sm,
94
+ lineHeight: resolvedBaseSize * 1.5,
95
+ };
96
+ const orderedNumberStyle = {
97
+ fontSize: resolvedBaseSize,
98
+ color: tokens.colors.mutedForeground,
99
+ fontWeight: tokens.typography.weights.medium,
100
+ marginRight: tokens.spacing.sm,
101
+ minWidth: tokens.spacing.md,
102
+ };
103
+ const inlineCodeStyle = {
104
+ fontFamily: tokens.typography.fontFamily.mono,
105
+ fontSize: resolvedBaseSize - 2,
106
+ backgroundColor: tokens.colors.card,
107
+ borderRadius: tokens.radii.sm,
108
+ paddingHorizontal: 2,
109
+ color: tokens.colors.foreground,
110
+ };
111
+ const codeBlockStyle = {
112
+ backgroundColor: tokens.colors.card,
113
+ borderRadius: tokens.radii.md,
114
+ padding: tokens.spacing.md,
115
+ marginBottom: tokens.spacing.sm,
116
+ overflow: 'hidden',
117
+ };
118
+ const codeBlockTextStyle = {
119
+ fontFamily: tokens.typography.fontFamily.mono,
120
+ fontSize: tokens.typography.sizes.sm,
121
+ color: tokens.colors.foreground,
122
+ lineHeight: tokens.typography.sizes.sm * tokens.typography.lineHeights.relaxed,
123
+ };
124
+ const blockquoteStyle = {
125
+ borderLeftWidth: 3,
126
+ borderLeftColor: tokens.colors.primary,
127
+ paddingLeft: tokens.spacing.md,
128
+ paddingVertical: tokens.spacing.sm,
129
+ marginBottom: tokens.spacing.sm,
130
+ };
131
+ const blockquoteTextStyle = {
132
+ fontStyle: 'italic',
133
+ color: tokens.colors.mutedForeground,
134
+ fontSize: resolvedBaseSize,
135
+ };
136
+ const hrStyle = {
137
+ height: 1,
138
+ backgroundColor: tokens.colors.border,
139
+ marginVertical: tokens.spacing.md,
140
+ };
141
+ const imageContainerStyle = {
142
+ width: '100%',
143
+ marginBottom: tokens.spacing.sm,
144
+ borderRadius: tokens.radii.md,
145
+ overflow: 'hidden',
146
+ };
147
+ return {
148
+ containerStyle,
149
+ h1Style,
150
+ h2Style,
151
+ h3Style,
152
+ h4Style,
153
+ h5Style,
154
+ h6Style,
155
+ paragraphStyle,
156
+ boldStyle,
157
+ italicStyle,
158
+ linkStyle,
159
+ listItemStyle,
160
+ bulletStyle,
161
+ orderedNumberStyle,
162
+ inlineCodeStyle,
163
+ codeBlockStyle,
164
+ codeBlockTextStyle,
165
+ blockquoteStyle,
166
+ blockquoteTextStyle,
167
+ hrStyle,
168
+ imageContainerStyle,
169
+ resolvedBaseSize,
170
+ showLineNumbers,
171
+ accessibilityProps: {
172
+ accessibilityLabel: accessibilityLabel ?? 'Markdown content',
173
+ accessibilityRole: 'text',
174
+ },
175
+ };
176
+ }
177
+ //# sourceMappingURL=use-markdown-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-markdown-renderer.js","sourceRoot":"","sources":["../../../../src/components/content/markdown-renderer/use-markdown-renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { RichTextEditor } from './rich-text-editor.js';
2
+ export { useRichTextEditor } from './use-rich-text-editor.js';
3
+ export type { RichTextEditorProps, UseRichTextEditorResult, ToolbarAction } from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/content/rich-text-editor/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ // src/components/content/rich-text-editor/index.ts
2
+ export { RichTextEditor } from './rich-text-editor.js';
3
+ export { useRichTextEditor } from './use-rich-text-editor.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/content/rich-text-editor/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { View, type ViewProps } from 'react-native';
2
+ import type { RichTextEditorProps } from './types.js';
3
+ export declare const RichTextEditor: import("react").ForwardRefExoticComponent<RichTextEditorProps & Omit<ViewProps, keyof RichTextEditorProps> & import("react").RefAttributes<View>>;
4
+ //# sourceMappingURL=rich-text-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-editor.d.ts","sourceRoot":"","sources":["../../../../src/components/content/rich-text-editor/rich-text-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,eAAO,MAAM,cAAc,mJA8BzB,CAAC"}
@@ -0,0 +1,12 @@
1
+ // src/components/content/rich-text-editor/rich-text-editor.tsx
2
+ import { forwardRef, createElement } from 'react';
3
+ import { View } from 'react-native';
4
+ import { useTheme } from '../../../theme/context.js';
5
+ import { useRichTextEditor } from './use-rich-text-editor.js';
6
+ export const RichTextEditor = forwardRef(function RichTextEditor(props, ref) {
7
+ const { tokens } = useTheme();
8
+ const { value: _value, onValueChange: _onValueChange, placeholder: _placeholder, disabled: _disabled, showToolbar: _showToolbar, toolbarActions: _toolbarActions, activeFormats: _activeFormats, size: _size, bg: _bg, p: _p, px: _px, py: _py, pt: _pt, pb: _pb, pl: _pl, pr: _pr, m: _m, mx: _mx, my: _my, mt: _mt, mb: _mb, ml: _ml, mr: _mr, rounded: _r, shadow: _sh, flex: _f, row: _row, center: _cen, w: _w, h: _h, borderWidth: _bw, borderColor: _bc, opacity: _op, overflow: _ov, position: _pos, top: _top, bottom: _bot, left: _left, right: _right, zIndex: _zi, accessibilityLabel: _al, testID, ...rest } = props;
9
+ const { containerStyle, accessibilityProps } = useRichTextEditor(tokens, props);
10
+ return createElement(View, { ref, style: containerStyle, ...accessibilityProps, testID, ...rest });
11
+ });
12
+ //# sourceMappingURL=rich-text-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-editor.js","sourceRoot":"","sources":["../../../../src/components/content/rich-text-editor/rich-text-editor.tsx"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,cAAc,CAC9D,KAAuE,EACvE,GAAc;IAEd,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC9B,MAAM,EACJ,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,cAAc,EAC7B,WAAW,EAAE,YAAY,EACzB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,cAAc,EAC7B,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EACpE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAC3D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAC9D,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAC/F,kBAAkB,EAAE,GAAG,EACvB,MAAM,EACN,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhF,OAAO,aAAa,CAClB,IAAW,EACX,EAAE,GAAG,EAAE,KAAK,EAAE,cAAqB,EAAE,GAAG,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAC9E,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { ViewStyle, TextStyle } from 'react-native';
2
+ import type { BoxStyleProps } from '../../types.js';
3
+ export type ToolbarAction = 'bold' | 'italic' | 'underline' | 'strikethrough' | 'list-ordered' | 'list-unordered' | 'link';
4
+ export interface RichTextEditorProps extends BoxStyleProps {
5
+ value?: string;
6
+ onValueChange?: (value: string) => void;
7
+ placeholder?: string;
8
+ disabled?: boolean;
9
+ showToolbar?: boolean;
10
+ toolbarActions?: ToolbarAction[];
11
+ activeFormats?: Set<ToolbarAction>;
12
+ size?: 'sm' | 'md' | 'lg';
13
+ accessibilityLabel?: string;
14
+ testID?: string;
15
+ }
16
+ export interface UseRichTextEditorResult {
17
+ containerStyle: ViewStyle;
18
+ toolbarStyle: ViewStyle;
19
+ getToolbarButtonStyle: (action: ToolbarAction, active: boolean) => ViewStyle;
20
+ getToolbarButtonIconColor: (action: ToolbarAction, active: boolean) => string;
21
+ toolbarButtonIconSize: number;
22
+ editorStyle: ViewStyle;
23
+ editorMinHeight: number;
24
+ editorTextStyle: TextStyle;
25
+ placeholderStyle: TextStyle;
26
+ resolvedToolbarActions: ToolbarAction[];
27
+ showToolbar: boolean;
28
+ isActionActive: (action: ToolbarAction) => boolean;
29
+ accessibilityProps: {
30
+ accessibilityLabel: string;
31
+ accessibilityRole: 'none';
32
+ accessibilityState: {
33
+ disabled: boolean;
34
+ };
35
+ };
36
+ }
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/content/rich-text-editor/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,MAAM,CAAC;AAEX,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,SAAS,CAAC;IAC1B,YAAY,EAAE,SAAS,CAAC;IACxB,qBAAqB,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC;IAC7E,yBAAyB,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,KAAK,MAAM,CAAC;IAC9E,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,SAAS,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;IAC3B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,sBAAsB,EAAE,aAAa,EAAE,CAAC;IACxC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC;IACnD,kBAAkB,EAAE;QAClB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,kBAAkB,EAAE;YAAE,QAAQ,EAAE,OAAO,CAAA;SAAE,CAAC;KAC3C,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/content/rich-text-editor/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { ThemeTokens } from '../../../theme/tokens.js';
2
+ import type { RichTextEditorProps, UseRichTextEditorResult } from './types.js';
3
+ export declare function useRichTextEditor(tokens: ThemeTokens, props: RichTextEditorProps): UseRichTextEditorResult;
4
+ //# sourceMappingURL=use-rich-text-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-rich-text-editor.d.ts","sourceRoot":"","sources":["../../../../src/components/content/rich-text-editor/use-rich-text-editor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAiB,MAAM,YAAY,CAAC;AAkB9F,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,mBAAmB,GACzB,uBAAuB,CAmFzB"}
@@ -0,0 +1,78 @@
1
+ const DEFAULT_TOOLBAR_ACTIONS = [
2
+ 'bold', 'italic', 'underline', 'list-ordered', 'list-unordered', 'link',
3
+ ];
4
+ const EDITOR_PADDING_MAP = {
5
+ sm: 'sm',
6
+ md: 'md',
7
+ lg: 'lg',
8
+ };
9
+ const EDITOR_MIN_HEIGHT_MAP = {
10
+ sm: 80,
11
+ md: 120,
12
+ lg: 160,
13
+ };
14
+ export function useRichTextEditor(tokens, props) {
15
+ const { disabled = false, showToolbar: showToolbarProp = true, toolbarActions, activeFormats, size = 'md', accessibilityLabel, } = props;
16
+ const resolvedToolbarActions = toolbarActions ?? DEFAULT_TOOLBAR_ACTIONS;
17
+ const showToolbar = showToolbarProp && !disabled;
18
+ const editorMinHeight = EDITOR_MIN_HEIGHT_MAP[size] ?? 120;
19
+ const paddingKey = EDITOR_PADDING_MAP[size];
20
+ const editorPadding = tokens.spacing[paddingKey];
21
+ const containerStyle = {
22
+ borderWidth: 1,
23
+ borderColor: tokens.colors.border,
24
+ borderRadius: tokens.radii.md,
25
+ opacity: disabled ? 0.5 : 1,
26
+ };
27
+ const toolbarStyle = {
28
+ flexDirection: 'row',
29
+ borderBottomWidth: 1,
30
+ borderBottomColor: tokens.colors.border,
31
+ padding: tokens.spacing.xs,
32
+ gap: tokens.spacing.xs,
33
+ flexWrap: 'wrap',
34
+ };
35
+ const getToolbarButtonStyle = (_action, active) => ({
36
+ paddingHorizontal: tokens.spacing.sm,
37
+ paddingVertical: tokens.spacing.xs,
38
+ borderRadius: tokens.radii.sm,
39
+ backgroundColor: active ? tokens.colors.primary : 'transparent',
40
+ });
41
+ const getToolbarButtonIconColor = (_action, active) => active ? tokens.colors.primaryForeground : tokens.colors.foreground;
42
+ const toolbarButtonIconSize = 16;
43
+ const editorStyle = {
44
+ flex: 1,
45
+ padding: editorPadding,
46
+ };
47
+ const editorTextStyle = {
48
+ fontFamily: tokens.typography.fontFamily.body,
49
+ fontSize: tokens.typography.sizes[size],
50
+ color: tokens.colors.foreground,
51
+ lineHeight: tokens.typography.sizes[size] * tokens.typography.lineHeights.normal,
52
+ };
53
+ const placeholderStyle = {
54
+ color: tokens.colors.mutedForeground,
55
+ fontSize: tokens.typography.sizes[size],
56
+ };
57
+ const isActionActive = (action) => activeFormats?.has(action) ?? false;
58
+ return {
59
+ containerStyle,
60
+ toolbarStyle,
61
+ getToolbarButtonStyle,
62
+ getToolbarButtonIconColor,
63
+ toolbarButtonIconSize,
64
+ editorStyle,
65
+ editorMinHeight,
66
+ editorTextStyle,
67
+ placeholderStyle,
68
+ resolvedToolbarActions,
69
+ showToolbar,
70
+ isActionActive,
71
+ accessibilityProps: {
72
+ accessibilityLabel: accessibilityLabel ?? 'Rich text editor',
73
+ accessibilityRole: 'none',
74
+ accessibilityState: { disabled },
75
+ },
76
+ };
77
+ }
78
+ //# sourceMappingURL=use-rich-text-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-rich-text-editor.js","sourceRoot":"","sources":["../../../../src/components/content/rich-text-editor/use-rich-text-editor.ts"],"names":[],"mappings":"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"}
@@ -46,4 +46,5 @@ export type { ParallaxHeaderProps, UseParallaxHeaderResult } from './interactive
46
46
  export { PageView, usePageView } from './interactive/index.js';
47
47
  export type { PageViewProps, UsePageViewResult, IndicatorVariant } from './interactive/index.js';
48
48
  export * from './social/index.js';
49
+ export * from './content/index.js';
49
50
  //# sourceMappingURL=index.d.ts.map