Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,12 @@ web-build/
# Turborepo
.turbo/

# generated by bob
lib/
# # generated by bob
# lib/

# React Native Codegen
ios/generated
android/generated
# # React Native Codegen
# ios/generated
# android/generated

# React Native Nitro Modules
nitrogen/
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24.0.2
15 changes: 14 additions & 1 deletion ReactNativeEnrichedMarkdown.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,21 @@ Pod::Spec.new do |s|
s.dependency 'iosMath', '~> 0.9'
end

# Quoted imports like #import "Foo.h" do not search subdirs recursively; list every
# ios folder that contains headers so renderer/ utils/ attachments/ etc. cross-imports resolve.
ios_header_paths = %w[
ios ios/attachments ios/input ios/input/internals ios/input/styles ios/internals ios/parser
ios/renderer ios/styles ios/utils ios/views
].map { |p| "\"$(PODS_TARGET_SRCROOT)/#{p}\"" }.join(' ')
# Vendored Fabric codegen (see package.json codegenConfig.includesGeneratedCode). Resolves
# e.g. <EnrichedMarkdownTextSpec/EventEmitters.h> when the app does not re-run RN codegen
# for this library.
generated_codegen_path = '"$(PODS_TARGET_SRCROOT)/ios/generated/ReactCodegen"'

s.pod_target_xcconfig = {
'HEADER_SEARCH_PATHS' => '"$(PODS_TARGET_SRCROOT)/cpp/md4c" "$(PODS_TARGET_SRCROOT)/cpp/parser" "$(PODS_TARGET_SRCROOT)/ios/internals" "$(PODS_TARGET_SRCROOT)/ios/input/internals"',
'HEADER_SEARCH_PATHS' => "\"$(PODS_TARGET_SRCROOT)/cpp/md4c\" \"$(PODS_TARGET_SRCROOT)/cpp/parser\" #{ios_header_paths} #{generated_codegen_path}",
# React / SwiftUI modules use framework-style modules; our ObjC uses plain quoted includes.
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
'GCC_PREPROCESSOR_DEFINITIONS' => preprocessor_defs,
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++17'
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GeneratePropsJavaDelegate.js
*/

package com.facebook.react.viewmanagers;

import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.ColorPropConverter;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.uimanager.BaseViewManager;
import com.facebook.react.uimanager.BaseViewManagerDelegate;
import com.facebook.react.uimanager.LayoutShadowNode;

@SuppressWarnings("deprecation")
public class EnrichedMarkdownManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & EnrichedMarkdownManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
public EnrichedMarkdownManagerDelegate(U viewManager) {
super(viewManager);
}
@Override
public void setProperty(T view, String propName, @Nullable Object value) {
switch (propName) {
case "markdown":
mViewManager.setMarkdown(view, value == null ? null : (String) value);
break;
case "markdownStyle":
mViewManager.setMarkdownStyle(view, (ReadableMap) value);
break;
case "enableLinkPreview":
mViewManager.setEnableLinkPreview(view, value == null ? true : (boolean) value);
break;
case "selectable":
mViewManager.setSelectable(view, value == null ? false : (boolean) value);
break;
case "selectionColor":
mViewManager.setSelectionColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "selectionHandleColor":
mViewManager.setSelectionHandleColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "md4cFlags":
mViewManager.setMd4cFlags(view, (ReadableMap) value);
break;
case "allowFontScaling":
mViewManager.setAllowFontScaling(view, value == null ? true : (boolean) value);
break;
case "maxFontSizeMultiplier":
mViewManager.setMaxFontSizeMultiplier(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "allowTrailingMargin":
mViewManager.setAllowTrailingMargin(view, value == null ? false : (boolean) value);
break;
case "streamingAnimation":
mViewManager.setStreamingAnimation(view, value == null ? false : (boolean) value);
break;
case "spoilerOverlay":
mViewManager.setSpoilerOverlay(view, value == null ? "particles" : (String) value);
break;
case "contextMenuItems":
mViewManager.setContextMenuItems(view, (ReadableArray) value);
break;
default:
super.setProperty(view, propName, value);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GeneratePropsJavaInterface.js
*/

package com.facebook.react.viewmanagers;

import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;

public interface EnrichedMarkdownManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
void setMarkdown(T view, @Nullable String value);
void setMarkdownStyle(T view, @Nullable ReadableMap value);
void setEnableLinkPreview(T view, boolean value);
void setSelectable(T view, boolean value);
void setSelectionColor(T view, @Nullable Integer value);
void setSelectionHandleColor(T view, @Nullable Integer value);
void setMd4cFlags(T view, @Nullable ReadableMap value);
void setAllowFontScaling(T view, boolean value);
void setMaxFontSizeMultiplier(T view, float value);
void setAllowTrailingMargin(T view, boolean value);
void setStreamingAnimation(T view, boolean value);
void setSpoilerOverlay(T view, @Nullable String value);
void setContextMenuItems(T view, @Nullable ReadableArray value);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GeneratePropsJavaDelegate.js
*/

package com.facebook.react.viewmanagers;

import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.ColorPropConverter;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.uimanager.BaseViewManager;
import com.facebook.react.uimanager.BaseViewManagerDelegate;
import com.facebook.react.uimanager.LayoutShadowNode;

@SuppressWarnings("deprecation")
public class EnrichedMarkdownTextInputManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & EnrichedMarkdownTextInputManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
public EnrichedMarkdownTextInputManagerDelegate(U viewManager) {
super(viewManager);
}
@Override
public void setProperty(T view, String propName, @Nullable Object value) {
switch (propName) {
case "defaultValue":
mViewManager.setDefaultValue(view, value == null ? null : (String) value);
break;
case "placeholder":
mViewManager.setPlaceholder(view, value == null ? null : (String) value);
break;
case "placeholderTextColor":
mViewManager.setPlaceholderTextColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "editable":
mViewManager.setEditable(view, value == null ? false : (boolean) value);
break;
case "autoFocus":
mViewManager.setAutoFocus(view, value == null ? false : (boolean) value);
break;
case "scrollEnabled":
mViewManager.setScrollEnabled(view, value == null ? false : (boolean) value);
break;
case "autoCapitalize":
mViewManager.setAutoCapitalize(view, value == null ? null : (String) value);
break;
case "multiline":
mViewManager.setMultiline(view, value == null ? false : (boolean) value);
break;
case "cursorColor":
mViewManager.setCursorColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "selectionColor":
mViewManager.setSelectionColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "markdownStyle":
mViewManager.setMarkdownStyle(view, (ReadableMap) value);
break;
case "color":
mViewManager.setColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "fontSize":
mViewManager.setFontSize(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "lineHeight":
mViewManager.setLineHeight(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "fontFamily":
mViewManager.setFontFamily(view, value == null ? null : (String) value);
break;
case "fontWeight":
mViewManager.setFontWeight(view, value == null ? null : (String) value);
break;
case "isOnChangeMarkdownSet":
mViewManager.setIsOnChangeMarkdownSet(view, value == null ? false : (boolean) value);
break;
case "contextMenuItems":
mViewManager.setContextMenuItems(view, (ReadableArray) value);
break;
case "linkRegex":
mViewManager.setLinkRegex(view, (ReadableMap) value);
break;
default:
super.setProperty(view, propName, value);
}
}

@Override
public void receiveCommand(T view, String commandName, ReadableArray args) {
switch (commandName) {
case "focus":
mViewManager.focus(view);
break;
case "blur":
mViewManager.blur(view);
break;
case "setValue":
mViewManager.setValue(view, args.getString(0));
break;
case "setSelection":
mViewManager.setSelection(view, args.getInt(0), args.getInt(1));
break;
case "toggleBold":
mViewManager.toggleBold(view);
break;
case "toggleItalic":
mViewManager.toggleItalic(view);
break;
case "toggleUnderline":
mViewManager.toggleUnderline(view);
break;
case "toggleStrikethrough":
mViewManager.toggleStrikethrough(view);
break;
case "toggleSpoiler":
mViewManager.toggleSpoiler(view);
break;
case "setLink":
mViewManager.setLink(view, args.getString(0));
break;
case "insertLink":
mViewManager.insertLink(view, args.getString(0), args.getString(1));
break;
case "removeLink":
mViewManager.removeLink(view);
break;
case "requestMarkdown":
mViewManager.requestMarkdown(view, args.getInt(0));
break;
case "requestCaretRect":
mViewManager.requestCaretRect(view, args.getInt(0));
break;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GeneratePropsJavaInterface.js
*/

package com.facebook.react.viewmanagers;

import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;

public interface EnrichedMarkdownTextInputManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
void setDefaultValue(T view, @Nullable String value);
void setPlaceholder(T view, @Nullable String value);
void setPlaceholderTextColor(T view, @Nullable Integer value);
void setEditable(T view, boolean value);
void setAutoFocus(T view, boolean value);
void setScrollEnabled(T view, boolean value);
void setAutoCapitalize(T view, @Nullable String value);
void setMultiline(T view, boolean value);
void setCursorColor(T view, @Nullable Integer value);
void setSelectionColor(T view, @Nullable Integer value);
void setMarkdownStyle(T view, @Nullable ReadableMap value);
void setColor(T view, @Nullable Integer value);
void setFontSize(T view, float value);
void setLineHeight(T view, float value);
void setFontFamily(T view, @Nullable String value);
void setFontWeight(T view, @Nullable String value);
void setIsOnChangeMarkdownSet(T view, boolean value);
void setContextMenuItems(T view, @Nullable ReadableArray value);
void setLinkRegex(T view, @Nullable ReadableMap value);
void focus(T view);
void blur(T view);
void setValue(T view, String markdown);
void setSelection(T view, int start, int end);
void toggleBold(T view);
void toggleItalic(T view);
void toggleUnderline(T view);
void toggleStrikethrough(T view);
void toggleSpoiler(T view);
void setLink(T view, String url);
void insertLink(T view, String text, String url);
void removeLink(T view);
void requestMarkdown(T view, int requestId);
void requestCaretRect(T view, int requestId);
}
Loading