@multiplatform.one/frappe-ui 6.3.0 → 6.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/cjs/FrappeDashboard.cjs +12 -2
  2. package/dist/cjs/FrappeDashboard.native.js +12 -2
  3. package/dist/cjs/FrappeDashboard.native.js.map +1 -1
  4. package/dist/cjs/FrappeLikedBy.cjs +2 -1
  5. package/dist/cjs/FrappeLikedBy.native.js +3 -1
  6. package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
  7. package/dist/cjs/FrappeListView.cjs +10 -1
  8. package/dist/cjs/FrappeListView.native.js +10 -1
  9. package/dist/cjs/FrappeListView.native.js.map +1 -1
  10. package/dist/cjs/fieldRegistry.cjs +1 -1
  11. package/dist/cjs/fieldRegistry.native.js +1 -1
  12. package/dist/cjs/fieldRegistry.native.js.map +1 -1
  13. package/dist/cjs/fields/MarkdownEditor/index.cjs +33 -108
  14. package/dist/cjs/fields/MarkdownEditor/index.native.js +3 -3
  15. package/dist/cjs/fields/MarkdownEditor/index.native.js.map +1 -1
  16. package/dist/esm/FrappeDashboard.mjs +13 -3
  17. package/dist/esm/FrappeDashboard.mjs.map +1 -1
  18. package/dist/esm/FrappeDashboard.native.js +13 -3
  19. package/dist/esm/FrappeDashboard.native.js.map +1 -1
  20. package/dist/esm/FrappeLikedBy.mjs +3 -2
  21. package/dist/esm/FrappeLikedBy.mjs.map +1 -1
  22. package/dist/esm/FrappeLikedBy.native.js +4 -2
  23. package/dist/esm/FrappeLikedBy.native.js.map +1 -1
  24. package/dist/esm/FrappeListView.mjs +11 -2
  25. package/dist/esm/FrappeListView.mjs.map +1 -1
  26. package/dist/esm/FrappeListView.native.js +11 -2
  27. package/dist/esm/FrappeListView.native.js.map +1 -1
  28. package/dist/esm/fieldRegistry.mjs +1 -1
  29. package/dist/esm/fieldRegistry.mjs.map +1 -1
  30. package/dist/esm/fieldRegistry.native.js +1 -1
  31. package/dist/esm/fieldRegistry.native.js.map +1 -1
  32. package/dist/esm/fields/MarkdownEditor/index.mjs +36 -100
  33. package/dist/esm/fields/MarkdownEditor/index.mjs.map +1 -1
  34. package/dist/esm/fields/MarkdownEditor/index.native.js.map +1 -1
  35. package/dist/jsx/FrappeDashboard.mjs +13 -3
  36. package/dist/jsx/FrappeDashboard.mjs.map +1 -1
  37. package/dist/jsx/FrappeDashboard.native.js +12 -2
  38. package/dist/jsx/FrappeDashboard.native.js.map +1 -1
  39. package/dist/jsx/FrappeLikedBy.mjs +3 -2
  40. package/dist/jsx/FrappeLikedBy.mjs.map +1 -1
  41. package/dist/jsx/FrappeLikedBy.native.js +3 -1
  42. package/dist/jsx/FrappeLikedBy.native.js.map +1 -1
  43. package/dist/jsx/FrappeListView.mjs +11 -2
  44. package/dist/jsx/FrappeListView.mjs.map +1 -1
  45. package/dist/jsx/FrappeListView.native.js +10 -1
  46. package/dist/jsx/FrappeListView.native.js.map +1 -1
  47. package/dist/jsx/fieldRegistry.mjs +1 -1
  48. package/dist/jsx/fieldRegistry.mjs.map +1 -1
  49. package/dist/jsx/fieldRegistry.native.js +1 -1
  50. package/dist/jsx/fieldRegistry.native.js.map +1 -1
  51. package/dist/jsx/fields/MarkdownEditor/index.mjs +36 -100
  52. package/dist/jsx/fields/MarkdownEditor/index.mjs.map +1 -1
  53. package/dist/jsx/fields/MarkdownEditor/index.native.js +3 -3
  54. package/dist/jsx/fields/MarkdownEditor/index.native.js.map +1 -1
  55. package/package.json +22 -15
  56. package/src/FrappeDashboard.stories.tsx +3 -1
  57. package/src/FrappeDashboard.tsx +21 -1
  58. package/src/FrappeLikedBy.tsx +13 -2
  59. package/src/FrappeListView.tsx +21 -1
  60. package/src/FrappeTable.stories.tsx +91 -12
  61. package/src/fieldRegistry.ts +1 -1
  62. package/src/fields/Date/index.tsx +47 -3
  63. package/src/fields/MarkdownEditor/MarkdownEditor.spec.tsx +56 -32
  64. package/src/fields/MarkdownEditor/MarkdownEditor.stories.tsx +5 -5
  65. package/src/fields/MarkdownEditor/index.native.tsx +292 -0
  66. package/src/fields/MarkdownEditor/index.tsx +64 -139
  67. package/types/FrappeDashboard.d.ts.map +1 -1
  68. package/types/FrappeLikedBy.d.ts.map +1 -1
  69. package/types/FrappeListView.d.ts.map +1 -1
  70. package/types/fieldRegistry.d.ts.map +1 -1
  71. package/types/fields/MarkdownEditor/index.d.ts +11 -5
  72. package/types/fields/MarkdownEditor/index.d.ts.map +1 -1
  73. package/types/fields/MarkdownEditor/index.native.d.ts +47 -0
  74. package/types/fields/MarkdownEditor/index.native.d.ts.map +1 -0
@@ -1,20 +1,24 @@
1
1
  /**
2
2
  * MarkdownEditorField — dedicated renderer for the Frappe `Markdown Editor`
3
- * fieldtype: a monospace markdown source pane with a live rendered preview
4
- * (house `@multiplatform.one/markdown` renderer). Side-by-side at container
5
- * widths the house md breakpoint, Write/Preview tabs below it.
3
+ * fieldtype: the canonical house rich text editor constrained to markdown
4
+ * capabilities (LC-52 MARKDOWN-EXPRESSIBLE-EDITING). WYSIWYG editing whose
5
+ * surface is exactly what GFM can express no highlight, underline, text
6
+ * color, or alignment — with `value`/`onChange` staying markdown strings
7
+ * (Frappe stores markdown text for this fieldtype).
6
8
  *
7
9
  * Full field contract: three-branch render (skeleton → standalone →
8
10
  * form-integrated), canonical `onChange(value)` (LC-14), FieldLayout slot
9
11
  * order, chromeless inside table cells (useIsInTableCell).
12
+ *
13
+ * Native renders the markdown source + preview fallback (see
14
+ * `index.native.tsx`) — 10Tap cannot honestly express the capability
15
+ * constraint, and a lookalike would violate the honest-gating posture.
10
16
  */
11
17
 
12
18
  import {
13
19
  Field,
14
20
  FieldLayout,
15
21
  Skeleton,
16
- TextArea,
17
- formCommonColors,
18
22
  getFieldError,
19
23
  mergeFieldHandler,
20
24
  useFormField,
@@ -22,84 +26,13 @@ import {
22
26
  useResolvedValidators,
23
27
  type AnyFormApi,
24
28
  } from "@multiplatform.one/forms";
25
- import { useEffect, useState, type ComponentType, type ReactNode } from "react";
26
- import { useTranslation } from "react-i18next";
27
- import type { FontSizeTokens, LabelProps, SizeTokens } from "tamagui";
28
- import { Paragraph, YStack } from "tamagui";
29
- import { useResolvedKnobs } from "@multiplatform.one/theme";
30
- import { EditorPreviewPanes, PreviewSurface } from "../shared/EditorPreviewPanes";
31
-
32
- // ---------------------------------------------------------------------------
33
- // Preview (lazy house Markdown renderer)
34
- // ---------------------------------------------------------------------------
35
-
36
- type MarkdownComponent = ComponentType<{ children?: string }>;
37
-
38
- // Module-level cache so the renderer loads once per session, not per field.
39
- let markdownRendererCache: MarkdownComponent | null = null;
29
+ import { RichEditor, type RichEditorRef } from "@multiplatform.one/rich-text";
30
+ import { useEffect, useRef, useState, type ReactNode } from "react";
31
+ import type { LabelProps, SizeTokens } from "tamagui";
32
+ import { YStack } from "tamagui";
40
33
 
41
- /**
42
- * The house Markdown renderer loads on demand the first time a preview pane
43
- * renders (same optional-dependency pattern as the components shiki
44
- * Highlighter): `@multiplatform.one/markdown` reaches consumers transitively
45
- * via `@multiplatform.one/rich-text`, and a failed import degrades to a
46
- * plain-text preview instead of crashing the field.
47
- */
48
- function useMarkdownRenderer(enabled: boolean): MarkdownComponent | null {
49
- const [renderer, setRenderer] = useState<MarkdownComponent | null>(markdownRendererCache);
50
-
51
- useEffect(() => {
52
- if (!enabled || renderer) return;
53
- let cancelled = false;
54
- import("@multiplatform.one/markdown")
55
- .then((mod) => {
56
- markdownRendererCache = mod.Markdown as MarkdownComponent;
57
- if (!cancelled) setRenderer(() => markdownRendererCache);
58
- })
59
- .catch(() => {
60
- // Renderer unavailable — the plain-text fallback below stays up.
61
- });
62
- return () => {
63
- cancelled = true;
64
- };
65
- }, [enabled, renderer]);
66
-
67
- return renderer;
68
- }
69
-
70
- interface MarkdownPreviewProps {
71
- value: string;
72
- compact?: boolean;
73
- }
74
-
75
- function MarkdownPreview({ value, compact }: MarkdownPreviewProps) {
76
- const { t } = useTranslation();
77
- const { knobProps } = useResolvedKnobs({ compact });
78
- const Renderer = useMarkdownRenderer(!!value);
79
- // Content type scale follows the size knob (same idiom as CodeBlock).
80
- const textSize = knobProps.sizeToken as FontSizeTokens;
81
-
82
- return (
83
- <PreviewSurface compact={compact}>
84
- {!value ? (
85
- <Paragraph color={formCommonColors.muted} size={textSize}>
86
- {t("Nothing to preview")}
87
- </Paragraph>
88
- ) : Renderer ? (
89
- <Renderer>{value}</Renderer>
90
- ) : (
91
- // Loading / renderer unavailable: honest plain-text fallback.
92
- <Paragraph size={textSize} whiteSpace="pre-wrap">
93
- {value}
94
- </Paragraph>
95
- )}
96
- </PreviewSurface>
97
- );
98
- }
99
-
100
- // ---------------------------------------------------------------------------
101
- // MarkdownEditorField
102
- // ---------------------------------------------------------------------------
34
+ /** Approximate source-row height used to map the row props onto the editor */
35
+ const ROW_HEIGHT = 24;
103
36
 
104
37
  export interface MarkdownEditorFieldProps {
105
38
  name?: string;
@@ -122,9 +55,9 @@ export interface MarkdownEditorFieldProps {
122
55
  onChange?: (value: string) => void;
123
56
  onBlur?: (...args: any[]) => void;
124
57
  placeholder?: string;
125
- /** Minimum visible source rows (default 6). */
58
+ /** Minimum visible content rows (default 6). */
126
59
  minRows?: number;
127
- /** Maximum source rows before the textarea scrolls (default 16). */
60
+ /** Maximum content rows before the editor scrolls (default 16). */
128
61
  maxRows?: number;
129
62
  "aria-label"?: string;
130
63
  }
@@ -153,21 +86,28 @@ export function MarkdownEditorField({
153
86
  maxRows = 16,
154
87
  "aria-label": ariaLabel,
155
88
  }: MarkdownEditorFieldProps) {
156
- const { t } = useTranslation();
157
89
  const { resolvedForm, knobProps, id } = useFormField({ form: formProp, id: idProp, compact });
158
90
  const resolvedValidators = useResolvedValidators(required, validators, label, name);
159
91
  const inTableCell = useIsInTableCell();
160
92
 
161
- // Standalone/uncontrolled mirror so the live preview always has the current
162
- // source (the form branch reads field state instead).
93
+ const editorRef = useRef<RichEditorRef>(null);
94
+ // Last markdown the editor emitted (or was seeded with) — distinguishes
95
+ // echo renders from real external value changes so programmatic sync
96
+ // never clobbers the caret.
97
+ const lastEmittedRef = useRef<string>(value ?? defaultValue ?? "");
163
98
  const [internalValue, setInternalValue] = useState(value ?? defaultValue ?? "");
99
+
100
+ // External (controlled) value change: push into the editor without
101
+ // emitting onChange back (setMarkdown is emitUpdate: false).
164
102
  useEffect(() => {
165
- if (value !== undefined) setInternalValue(value);
103
+ if (value === undefined) return;
104
+ setInternalValue(value);
105
+ if (value !== lastEmittedRef.current) {
106
+ lastEmittedRef.current = value;
107
+ editorRef.current?.setMarkdown(value);
108
+ }
166
109
  }, [value]);
167
110
 
168
- const accessibleName =
169
- ariaLabel ?? (typeof label === "string" ? label : undefined) ?? placeholder;
170
-
171
111
  if (skeleton) {
172
112
  return (
173
113
  <YStack {...knobProps.gap} width="100%">
@@ -177,60 +117,39 @@ export function MarkdownEditorField({
177
117
  );
178
118
  }
179
119
 
180
- const renderSource = (
181
- textValue: string,
182
- handleChange?: (text: string) => void,
120
+ const renderControl = (
121
+ markdownValue: string,
122
+ handleChange?: (markdown: string) => void,
123
+ handleFieldBlur?: () => void,
183
124
  hasError?: boolean,
184
125
  ) => (
185
- <TextArea
186
- id={id}
187
- value={textValue}
188
- onChangeText={(text) => {
126
+ <RichEditor
127
+ ref={editorRef}
128
+ capabilities="markdown"
129
+ initialContent={markdownValue}
130
+ onChange={(markdown) => {
189
131
  if (disabled || readOnly) return;
190
- handleChange?.(text);
191
- onChange?.(text);
132
+ lastEmittedRef.current = markdown;
133
+ handleChange?.(markdown);
134
+ onChange?.(markdown);
192
135
  }}
136
+ onBlur={handleFieldBlur}
193
137
  placeholder={placeholder}
194
- disabled={disabled}
195
- readOnly={readOnly}
196
- required={required}
197
- error={hasError ? true : undefined}
198
- compact={compact}
138
+ editable={!disabled && !readOnly}
139
+ minHeight={minRows * ROW_HEIGHT}
140
+ maxHeight={maxRows * ROW_HEIGHT}
141
+ hasError={hasError}
199
142
  size={size}
200
- minRows={minRows}
201
- maxRows={maxRows}
202
- textAreaProps={{
203
- fontFamily: "$mono",
204
- autoCapitalize: "none",
205
- autoCorrect: false,
206
- spellCheck: false,
207
- ...(accessibleName ? { "aria-label": accessibleName } : {}),
208
- }}
143
+ compact={compact || inTableCell}
144
+ // Table cells stay chromeless: no fixed toolbar, bubble on selection.
145
+ showToolbar={!inTableCell}
146
+ showBubbleToolbar={inTableCell}
209
147
  />
210
148
  );
211
149
 
212
- // Table cells get the chromeless source pane only (no tabs/preview chrome);
213
- // InputParts inside the forms TextArea detects the cell context itself.
214
- const renderControl = (
215
- textValue: string,
216
- handleChange?: (text: string) => void,
217
- hasError?: boolean,
218
- ) => {
219
- if (inTableCell) return renderSource(textValue, handleChange, hasError);
220
- return (
221
- <EditorPreviewPanes
222
- editor={renderSource(textValue, handleChange, hasError)}
223
- preview={<MarkdownPreview value={textValue} compact={compact} />}
224
- editTabLabel={t("Write")}
225
- previewTabLabel={t("Preview")}
226
- compact={compact}
227
- defaultPreview={!!readOnly}
228
- />
229
- );
230
- };
231
-
232
150
  if (!resolvedForm || !name) {
233
- if (inTableCell) return renderControl(internalValue, setInternalValue, !!error);
151
+ const standaloneControl = renderControl(internalValue, setInternalValue, onBlur, !!error);
152
+ if (inTableCell) return standaloneControl;
234
153
  return (
235
154
  <FieldLayout
236
155
  id={id}
@@ -246,7 +165,7 @@ export function MarkdownEditorField({
246
165
  aria-label={ariaLabel}
247
166
  placeholder={placeholder}
248
167
  >
249
- {renderControl(internalValue, setInternalValue, !!error)}
168
+ {standaloneControl}
250
169
  </FieldLayout>
251
170
  );
252
171
  }
@@ -261,8 +180,14 @@ export function MarkdownEditorField({
261
180
  {(field) => {
262
181
  const resolvedError = getFieldError(field, error);
263
182
  const fieldValue = typeof field.state.value === "string" ? field.state.value : "";
264
- const handleChange = (text: string) => field.handleChange(text as any);
265
- if (inTableCell) return renderControl(fieldValue, handleChange, !!resolvedError);
183
+ const handleChange = (markdown: string) => field.handleChange(markdown as any);
184
+ const formControl = renderControl(
185
+ fieldValue,
186
+ handleChange,
187
+ () => field.handleBlur(),
188
+ !!resolvedError,
189
+ );
190
+ if (inTableCell) return formControl;
266
191
  return (
267
192
  <FieldLayout
268
193
  id={id}
@@ -278,7 +203,7 @@ export function MarkdownEditorField({
278
203
  aria-label={ariaLabel}
279
204
  placeholder={placeholder}
280
205
  >
281
- {renderControl(fieldValue, handleChange, !!resolvedError)}
206
+ {formControl}
282
207
  </FieldLayout>
283
208
  );
284
209
  }}
@@ -1 +1 @@
1
- {"version":3,"file":"FrappeDashboard.d.ts","sourceRoot":"","sources":["../src/FrappeDashboard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FrappeDashboard.d.ts","sourceRoot":"","sources":["../src/FrappeDashboard.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FrappeLikedBy.d.ts","sourceRoot":"","sources":["../src/FrappeLikedBy.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAgC,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAUzE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAanD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAKlC;AAYD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;IAChF,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACxD;AAgPD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAMtD"}
1
+ {"version":3,"file":"FrappeLikedBy.d.ts","sourceRoot":"","sources":["../src/FrappeLikedBy.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAU1F;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAanD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAKlC;AAYD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;IAChF,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACxD;AA2PD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAMtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"FrappeListView.d.ts","sourceRoot":"","sources":["../src/FrappeListView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AASjB,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC;CACpD;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,mBAAmB,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAE,SAAQ,IAAI,CAC/F,WAAW,EACX,UAAU,CACX;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAiED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EAC7E,OAAO,EACP,MAAM,EACN,OAAO,EACP,eAAwB,EACxB,WAAW,EACX,KAAK,EACL,OAAO,EACP,aAAa,EACb,WAAkB,EAClB,iBAAyB,EAEzB,kBAAkB,EAAE,mBAAmB,EACvC,OAAO,EACP,IAAI,EACJ,WAAW,EACX,GAAG,UAAU,EACd,EAAE,mBAAmB,CAAC,IAAI,CAAC,2CAwf3B"}
1
+ {"version":3,"file":"FrappeListView.d.ts","sourceRoot":"","sources":["../src/FrappeListView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAoD,MAAM,OAAO,CAAC;AAGzE,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AA4BjB,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC;CACpD;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,mBAAmB,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAE,SAAQ,IAAI,CAC/F,WAAW,EACX,UAAU,CACX;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxE,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAiED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EAC7E,OAAO,EACP,MAAM,EACN,OAAO,EACP,eAAwB,EACxB,WAAW,EACX,KAAK,EACL,OAAO,EACP,aAAa,EACb,WAAkB,EAClB,iBAAyB,EAEzB,kBAAkB,EAAE,mBAAmB,EACvC,OAAO,EACP,IAAI,EACJ,WAAW,EACX,GAAG,UAAU,EACd,EAAE,mBAAmB,CAAC,IAAI,CAAC,2CAyf3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"fieldRegistry.d.ts","sourceRoot":"","sources":["../src/fieldRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fieldRegistry.d.ts","sourceRoot":"","sources":["../src/fieldRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  /**
2
2
  * MarkdownEditorField — dedicated renderer for the Frappe `Markdown Editor`
3
- * fieldtype: a monospace markdown source pane with a live rendered preview
4
- * (house `@multiplatform.one/markdown` renderer). Side-by-side at container
5
- * widths the house md breakpoint, Write/Preview tabs below it.
3
+ * fieldtype: the canonical house rich text editor constrained to markdown
4
+ * capabilities (LC-52 MARKDOWN-EXPRESSIBLE-EDITING). WYSIWYG editing whose
5
+ * surface is exactly what GFM can express no highlight, underline, text
6
+ * color, or alignment — with `value`/`onChange` staying markdown strings
7
+ * (Frappe stores markdown text for this fieldtype).
6
8
  *
7
9
  * Full field contract: three-branch render (skeleton → standalone →
8
10
  * form-integrated), canonical `onChange(value)` (LC-14), FieldLayout slot
9
11
  * order, chromeless inside table cells (useIsInTableCell).
12
+ *
13
+ * Native renders the markdown source + preview fallback (see
14
+ * `index.native.tsx`) — 10Tap cannot honestly express the capability
15
+ * constraint, and a lookalike would violate the honest-gating posture.
10
16
  */
11
17
  import { type AnyFormApi } from "@multiplatform.one/forms";
12
18
  import { type ReactNode } from "react";
@@ -32,9 +38,9 @@ export interface MarkdownEditorFieldProps {
32
38
  onChange?: (value: string) => void;
33
39
  onBlur?: (...args: any[]) => void;
34
40
  placeholder?: string;
35
- /** Minimum visible source rows (default 6). */
41
+ /** Minimum visible content rows (default 6). */
36
42
  minRows?: number;
37
- /** Maximum source rows before the textarea scrolls (default 16). */
43
+ /** Maximum content rows before the editor scrolls (default 16). */
38
44
  maxRows?: number;
39
45
  "aria-label"?: string;
40
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/MarkdownEditor/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAWL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAA2C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhF,OAAO,KAAK,EAAkB,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA6EtE,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,IAAI,EAAE,QAAQ,EACd,UAAU,EACV,KAAK,EACL,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,EAAE,EAAE,MAAM,EACV,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAW,EACX,OAAY,EACZ,YAAY,EAAE,SAAS,GACxB,EAAE,wBAAwB,2CAoI1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/MarkdownEditor/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EASL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMtD,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,IAAI,EAAE,QAAQ,EACd,UAAU,EACV,KAAK,EACL,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,EAAE,EAAE,MAAM,EACV,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAW,EACX,OAAY,EACZ,YAAY,EAAE,SAAS,GACxB,EAAE,wBAAwB,2CA4H1B"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * MarkdownEditorField (NATIVE fallback) — markdown source pane with a live
3
+ * rendered preview (house `@multiplatform.one/markdown` renderer).
4
+ *
5
+ * The web tier renders the canonical rich text editor constrained to
6
+ * markdown capabilities (LC-52 MARKDOWN-EXPRESSIBLE-EDITING). On native the
7
+ * 10Tap WebView cannot express that constraint honestly tonight (extension
8
+ * gating + markdown serialization live in the web bundle), so this tier
9
+ * keeps plain markdown source editing — documented fallback, not a parallel
10
+ * WYSIWYG implementation.
11
+ *
12
+ * Full field contract: three-branch render (skeleton → standalone →
13
+ * form-integrated), canonical `onChange(value)` (LC-14), FieldLayout slot
14
+ * order, chromeless inside table cells (useIsInTableCell).
15
+ */
16
+ import { type AnyFormApi } from "@multiplatform.one/forms";
17
+ import { type ReactNode } from "react";
18
+ import type { LabelProps, SizeTokens } from "tamagui";
19
+ export interface MarkdownEditorFieldProps {
20
+ name?: string;
21
+ form?: AnyFormApi;
22
+ validators?: Record<string, unknown>;
23
+ label?: ReactNode;
24
+ labelProps?: Omit<LabelProps, "htmlFor" | "ref">;
25
+ helperText?: string;
26
+ error?: string | boolean;
27
+ required?: boolean;
28
+ disabled?: boolean;
29
+ readOnly?: boolean;
30
+ skeleton?: boolean;
31
+ compact?: boolean;
32
+ size?: SizeTokens;
33
+ id?: string;
34
+ value?: string;
35
+ defaultValue?: string;
36
+ /** Canonical change contract (LC-14): emits the markdown source string. */
37
+ onChange?: (value: string) => void;
38
+ onBlur?: (...args: any[]) => void;
39
+ placeholder?: string;
40
+ /** Minimum visible source rows (default 6). */
41
+ minRows?: number;
42
+ /** Maximum source rows before the textarea scrolls (default 16). */
43
+ maxRows?: number;
44
+ "aria-label"?: string;
45
+ }
46
+ export declare function MarkdownEditorField({ name, form: formProp, validators, label, labelProps, helperText, error, required, disabled, readOnly, skeleton, compact, size, id: idProp, value, defaultValue, onChange, onBlur, placeholder, minRows, maxRows, "aria-label": ariaLabel, }: MarkdownEditorFieldProps): import("react/jsx-runtime").JSX.Element;
47
+ //# sourceMappingURL=index.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/fields/MarkdownEditor/index.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAWL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAA2C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhF,OAAO,KAAK,EAAkB,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA6EtE,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,IAAI,EAAE,QAAQ,EACd,UAAU,EACV,KAAK,EACL,UAAU,EACV,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,EAAE,EAAE,MAAM,EACV,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAW,EACX,OAAY,EACZ,YAAY,EAAE,SAAS,GACxB,EAAE,wBAAwB,2CAoI1B"}