@shopify/react-native-skia 0.1.156 → 0.1.157

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. package/lib/commonjs/renderer/Canvas.js +1 -1
  2. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  3. package/lib/commonjs/renderer/HostConfig.js +10 -1
  4. package/lib/commonjs/renderer/HostConfig.js.map +1 -1
  5. package/lib/module/animation/spring/runSpring.js +1 -1
  6. package/lib/module/animation/spring/runSpring.js.map +1 -1
  7. package/lib/module/animation/spring/useSpring.js +1 -1
  8. package/lib/module/animation/spring/useSpring.js.map +1 -1
  9. package/lib/module/animation/timing/createTiming.js +6 -2
  10. package/lib/module/animation/timing/createTiming.js.map +1 -1
  11. package/lib/module/animation/timing/functions/getResolvedParams.js +10 -6
  12. package/lib/module/animation/timing/functions/getResolvedParams.js.map +1 -1
  13. package/lib/module/animation/timing/useTiming.js +3 -1
  14. package/lib/module/animation/timing/useTiming.js.map +1 -1
  15. package/lib/module/dom/nodes/JsiSkDOM.js +2 -2
  16. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  17. package/lib/module/dom/nodes/datatypes/Gradient.js +2 -2
  18. package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
  19. package/lib/module/dom/nodes/paint/Shaders.js +4 -2
  20. package/lib/module/dom/nodes/paint/Shaders.js.map +1 -1
  21. package/lib/module/mock/index.js +10 -6
  22. package/lib/module/mock/index.js.map +1 -1
  23. package/lib/module/renderer/Canvas.js +1 -1
  24. package/lib/module/renderer/Canvas.js.map +1 -1
  25. package/lib/module/renderer/HostConfig.js +9 -1
  26. package/lib/module/renderer/HostConfig.js.map +1 -1
  27. package/lib/module/skia/core/Vector.js +1 -1
  28. package/lib/module/skia/core/Vector.js.map +1 -1
  29. package/lib/module/skia/web/Host.js +1 -1
  30. package/lib/module/skia/web/Host.js.map +1 -1
  31. package/lib/module/skia/web/JsiSkMatrix.js +1 -1
  32. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  33. package/lib/module/values/web/RNSkAnimation.js +2 -2
  34. package/lib/module/values/web/RNSkAnimation.js.map +1 -1
  35. package/lib/module/views/SkiaBaseWebView.js +3 -1
  36. package/lib/module/views/SkiaBaseWebView.js.map +1 -1
  37. package/lib/module/views/useTouchHandler.js +6 -6
  38. package/lib/module/views/useTouchHandler.js.map +1 -1
  39. package/lib/module/web/WithSkiaWeb.js +1 -1
  40. package/lib/module/web/WithSkiaWeb.js.map +1 -1
  41. package/package.json +12 -6
  42. package/src/renderer/Canvas.tsx +11 -1
  43. package/src/renderer/HostConfig.ts +8 -1
@@ -80,7 +80,7 @@ const Canvas = /*#__PURE__*/(0, _react.forwardRef)((_ref, forwardedRef) => {
80
80
  const container = (0, _react.useMemo)(() => {
81
81
  return new _Container.Container(_Skia.Skia, new _DependencyManager.DependencyManager(registerValues), redraw);
82
82
  }, [redraw, registerValues]);
83
- const root = (0, _react.useMemo)(() => skiaReconciler.createContainer(container, 0, false, null), [container]); // Render effect
83
+ const root = (0, _react.useMemo)(() => skiaReconciler.createContainer(container, 0, null, true, null, "", console.error, null), [container]); // Render effect
84
84
 
85
85
  (0, _react.useEffect)(() => {
86
86
  render( /*#__PURE__*/_react.default.createElement(_useCanvas.CanvasProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["skiaReconciler","ReactReconciler","skHostConfig","injectIntoDevTools","bundleType","version","rendererPackageName","render","element","root","container","updateContainer","hostDebug","depMgr","update","useCanvasRef","useRef","Canvas","forwardRef","forwardedRef","children","style","debug","mode","onTouch","size","useValue","width","height","canvasCtx","useMemo","Skia","innerRef","ref","useCombinedRefs","tick","setTick","useState","redraw","useCallback","t","registerValues","values","current","Error","Container","DependencyManager","createContainer","useEffect","paint","Paint","onDraw","useDrawCallback","canvas","info","timestamp","touches","reset","ctx","opacity","center","x","y","draw","remove","refs","targetRef","React","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n ComponentProps,\n MutableRefObject,\n ForwardedRef,\n} from \"react\";\nimport type { OpaqueRoot } from \"react-reconciler\";\nimport ReactReconciler from \"react-reconciler\";\n\nimport { SkiaView, useDrawCallback } from \"../views\";\nimport type { TouchHandler } from \"../views\";\nimport { useValue } from \"../values/hooks/useValue\";\nimport { Skia } from \"../skia/Skia\";\nimport type { SkiaValue } from \"../values\";\n\nimport { debug as hostDebug, skHostConfig } from \"./HostConfig\";\n// import { debugTree } from \"./nodes\";\nimport { Container } from \"./Container\";\nimport { DependencyManager } from \"./DependencyManager\";\nimport { CanvasProvider } from \"./useCanvas\";\n\nexport const skiaReconciler = ReactReconciler(skHostConfig);\n\nskiaReconciler.injectIntoDevTools({\n bundleType: 1,\n version: \"0.0.1\",\n rendererPackageName: \"react-native-skia\",\n});\n\nconst render = (element: ReactNode, root: OpaqueRoot, container: Container) => {\n skiaReconciler.updateContainer(element, root, null, () => {\n hostDebug(\"updateContainer\");\n container.depMgr.update();\n });\n};\n\nexport const useCanvasRef = () => useRef<SkiaView>(null);\n\nexport interface CanvasProps extends ComponentProps<typeof SkiaView> {\n ref?: RefObject<SkiaView>;\n children: ReactNode;\n onTouch?: TouchHandler;\n}\n\nexport const Canvas = forwardRef<SkiaView, CanvasProps>(\n ({ children, style, debug, mode, onTouch }, forwardedRef) => {\n const size = useValue({ width: 0, height: 0 });\n const canvasCtx = useMemo(() => ({ Skia, size }), [size]);\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const [tick, setTick] = useState(0);\n const redraw = useCallback(() => {\n setTick((t) => t + 1);\n }, []);\n\n const registerValues = useCallback(\n (values: Array<SkiaValue<unknown>>) => {\n if (ref.current === null) {\n throw new Error(\"Canvas ref is not set\");\n }\n return ref.current.registerValues(values);\n },\n [ref]\n );\n\n const container = useMemo(() => {\n return new Container(Skia, new DependencyManager(registerValues), redraw);\n }, [redraw, registerValues]);\n\n const root = useMemo(\n () => skiaReconciler.createContainer(container, 0, false, null),\n [container]\n );\n // Render effect\n useEffect(() => {\n render(\n <CanvasProvider value={canvasCtx}>{children}</CanvasProvider>,\n root,\n container\n );\n }, [children, root, redraw, container, canvasCtx]);\n\n const paint = useMemo(() => Skia.Paint(), []);\n\n // Draw callback\n const onDraw = useDrawCallback(\n (canvas, info) => {\n // TODO: if tree is empty (count === 1) maybe we should not render?\n const { width, height, timestamp } = info;\n if (onTouch) {\n onTouch(info.touches);\n }\n if (\n width !== canvasCtx.size.current.width ||\n height !== canvasCtx.size.current.height\n ) {\n canvasCtx.size.current = { width, height };\n }\n paint.reset();\n const ctx = {\n width,\n height,\n timestamp,\n canvas,\n paint,\n opacity: 1,\n ref,\n center: { x: width / 2, y: height / 2 },\n Skia,\n };\n container.draw(ctx);\n },\n [tick, onTouch]\n );\n\n useEffect(() => {\n return () => {\n skiaReconciler.updateContainer(null, root, null, () => {\n container.depMgr.remove();\n });\n };\n }, [container, root]);\n\n return (\n <SkiaView\n ref={ref}\n style={style}\n onDraw={onDraw}\n mode={mode}\n debug={debug}\n />\n );\n }\n);\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["skiaReconciler","ReactReconciler","skHostConfig","injectIntoDevTools","bundleType","version","rendererPackageName","render","element","root","container","updateContainer","hostDebug","depMgr","update","useCanvasRef","useRef","Canvas","forwardRef","forwardedRef","children","style","debug","mode","onTouch","size","useValue","width","height","canvasCtx","useMemo","Skia","innerRef","ref","useCombinedRefs","tick","setTick","useState","redraw","useCallback","t","registerValues","values","current","Error","Container","DependencyManager","createContainer","console","error","useEffect","paint","Paint","onDraw","useDrawCallback","canvas","info","timestamp","touches","reset","ctx","opacity","center","x","y","draw","remove","refs","targetRef","React","forEach"],"sources":["Canvas.tsx"],"sourcesContent":["import React, {\n useEffect,\n useState,\n useCallback,\n useMemo,\n forwardRef,\n useRef,\n} from \"react\";\nimport type {\n RefObject,\n ReactNode,\n ComponentProps,\n MutableRefObject,\n ForwardedRef,\n} from \"react\";\nimport type { OpaqueRoot } from \"react-reconciler\";\nimport ReactReconciler from \"react-reconciler\";\n\nimport { SkiaView, useDrawCallback } from \"../views\";\nimport type { TouchHandler } from \"../views\";\nimport { useValue } from \"../values/hooks/useValue\";\nimport { Skia } from \"../skia/Skia\";\nimport type { SkiaValue } from \"../values\";\n\nimport { debug as hostDebug, skHostConfig } from \"./HostConfig\";\n// import { debugTree } from \"./nodes\";\nimport { Container } from \"./Container\";\nimport { DependencyManager } from \"./DependencyManager\";\nimport { CanvasProvider } from \"./useCanvas\";\n\nexport const skiaReconciler = ReactReconciler(skHostConfig);\n\nskiaReconciler.injectIntoDevTools({\n bundleType: 1,\n version: \"0.0.1\",\n rendererPackageName: \"react-native-skia\",\n});\n\nconst render = (element: ReactNode, root: OpaqueRoot, container: Container) => {\n skiaReconciler.updateContainer(element, root, null, () => {\n hostDebug(\"updateContainer\");\n container.depMgr.update();\n });\n};\n\nexport const useCanvasRef = () => useRef<SkiaView>(null);\n\nexport interface CanvasProps extends ComponentProps<typeof SkiaView> {\n ref?: RefObject<SkiaView>;\n children: ReactNode;\n onTouch?: TouchHandler;\n}\n\nexport const Canvas = forwardRef<SkiaView, CanvasProps>(\n ({ children, style, debug, mode, onTouch }, forwardedRef) => {\n const size = useValue({ width: 0, height: 0 });\n const canvasCtx = useMemo(() => ({ Skia, size }), [size]);\n const innerRef = useCanvasRef();\n const ref = useCombinedRefs(forwardedRef, innerRef);\n const [tick, setTick] = useState(0);\n const redraw = useCallback(() => {\n setTick((t) => t + 1);\n }, []);\n\n const registerValues = useCallback(\n (values: Array<SkiaValue<unknown>>) => {\n if (ref.current === null) {\n throw new Error(\"Canvas ref is not set\");\n }\n return ref.current.registerValues(values);\n },\n [ref]\n );\n\n const container = useMemo(() => {\n return new Container(Skia, new DependencyManager(registerValues), redraw);\n }, [redraw, registerValues]);\n\n const root = useMemo(\n () =>\n skiaReconciler.createContainer(\n container,\n 0,\n null,\n true,\n null,\n \"\",\n console.error,\n null\n ),\n [container]\n );\n // Render effect\n useEffect(() => {\n render(\n <CanvasProvider value={canvasCtx}>{children}</CanvasProvider>,\n root,\n container\n );\n }, [children, root, redraw, container, canvasCtx]);\n\n const paint = useMemo(() => Skia.Paint(), []);\n\n // Draw callback\n const onDraw = useDrawCallback(\n (canvas, info) => {\n // TODO: if tree is empty (count === 1) maybe we should not render?\n const { width, height, timestamp } = info;\n if (onTouch) {\n onTouch(info.touches);\n }\n if (\n width !== canvasCtx.size.current.width ||\n height !== canvasCtx.size.current.height\n ) {\n canvasCtx.size.current = { width, height };\n }\n paint.reset();\n const ctx = {\n width,\n height,\n timestamp,\n canvas,\n paint,\n opacity: 1,\n ref,\n center: { x: width / 2, y: height / 2 },\n Skia,\n };\n container.draw(ctx);\n },\n [tick, onTouch]\n );\n\n useEffect(() => {\n return () => {\n skiaReconciler.updateContainer(null, root, null, () => {\n container.depMgr.remove();\n });\n };\n }, [container, root]);\n\n return (\n <SkiaView\n ref={ref}\n style={style}\n onDraw={onDraw}\n mode={mode}\n debug={debug}\n />\n );\n }\n);\n\n/**\n * Combines a list of refs into a single ref. This can be used to provide\n * both a forwarded ref and an internal ref keeping the same functionality\n * on both of the refs.\n * @param refs Array of refs to combine\n * @returns A single ref that can be used in a ref prop.\n */\nconst useCombinedRefs = <T,>(\n ...refs: Array<MutableRefObject<T> | ForwardedRef<T>>\n) => {\n const targetRef = React.useRef<T>(null);\n React.useEffect(() => {\n refs.forEach((ref) => {\n if (ref) {\n if (typeof ref === \"function\") {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n }\n });\n }, [refs]);\n return targetRef;\n};\n"],"mappings":"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"}
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.skHostConfig = exports.debug = void 0;
7
7
 
8
+ var _constants = require("react-reconciler/constants");
9
+
8
10
  var _HostComponents = require("./HostComponents");
9
11
 
10
12
  var _processors = require("./processors");
@@ -165,7 +167,14 @@ const skHostConfig = {
165
167
  },
166
168
  insertBefore: (parent, child, before) => {
167
169
  insertBefore(parent, child, before);
168
- }
170
+ },
171
+ // see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874
172
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
173
+ // @ts-expect-error
174
+ getCurrentEventPriority: () => _constants.DefaultEventPriority,
175
+ beforeActiveInstanceBlur: () => {},
176
+ afterActiveInstanceBlur: () => {},
177
+ detachDeletedInstance: () => {}
169
178
  };
170
179
  exports.skHostConfig = skHostConfig;
171
180
 
@@ -1 +1 @@
1
- {"version":3,"names":["DEBUG","debug","console","log","appendNode","parent","child","addChild","removeNode","removeChild","insertBefore","before","insertChildBefore","skHostConfig","now","Date","supportsMutation","isPrimaryRenderer","supportsPersistence","supportsHydration","scheduleTimeout","setTimeout","cancelTimeout","clearTimeout","noTimeout","appendChildToContainer","container","root","appendChild","getRootHostContext","_rootContainerInstance","getChildHostContext","_parentHostContext","_type","shouldSetTextContent","_props","createTextInstance","_text","_hostContext","_internalInstanceHandle","Error","createInstance","type","pristineProps","props","node","createNode","materialize","depMgr","subscribeNode","appendInitialChild","parentInstance","finalizeInitialChildren","commitMount","prepareForCommit","_containerInfo","resetAfterCommit","redraw","getPublicInstance","prepareUpdate","_instance","oldProps","newProps","rootContainerInstance","propsAreEqual","shallowEq","commitUpdate","instance","updatePayload","prevProps","nextProps","_internalHandle","unsubscribeNode","setProps","commitTextUpdate","_textInstance","_oldText","_newText","clearContainer","children","forEach","preparePortalMount","removeChildFromContainer","insertInContainerBefore","result","mapKeys","key","prop","isValue","current","isSelector","selector","value"],"sources":["HostConfig.ts"],"sourcesContent":["/*global NodeJS*/\nimport type { HostConfig } from \"react-reconciler\";\n\nimport type { NodeType, Node } from \"../dom/types\";\nimport type { SkiaValue } from \"../values\";\n\nimport type { Container } from \"./Container\";\nimport { createNode } from \"./HostComponents\";\nimport type { AnimatedProps } from \"./processors\";\nimport { isSelector, isValue } from \"./processors\";\nimport { mapKeys, shallowEq } from \"./typeddash\";\n\nconst DEBUG = false;\nexport const debug = (...args: Parameters<typeof console.log>) => {\n if (DEBUG) {\n console.log(...args);\n }\n};\n\ntype Instance = Node<unknown>;\n\ntype Props = object;\ntype TextInstance = Node<unknown>;\ntype SuspenseInstance = Instance;\ntype HydratableInstance = Instance;\ntype PublicInstance = Instance;\ntype HostContext = null;\ntype UpdatePayload = Container;\ntype ChildSet = unknown;\ntype TimeoutHandle = NodeJS.Timeout;\ntype NoTimeout = -1;\n\ntype SkiaHostConfig = HostConfig<\n NodeType,\n Props,\n Container,\n Instance,\n TextInstance,\n SuspenseInstance,\n HydratableInstance,\n PublicInstance,\n HostContext,\n UpdatePayload,\n ChildSet,\n TimeoutHandle,\n NoTimeout\n>;\n\nconst appendNode = (parent: Node<unknown>, child: Node<unknown>) => {\n parent.addChild(child);\n};\n\nconst removeNode = (parent: Node<unknown>, child: Node<unknown>) => {\n return parent.removeChild(child);\n};\n\nconst insertBefore = (\n parent: Node<unknown>,\n child: Node<unknown>,\n before: Node<unknown>\n) => {\n parent.insertChildBefore(child, before);\n};\n\nexport const skHostConfig: SkiaHostConfig = {\n /**\n * This function is used by the reconciler in order to calculate current time for prioritising work.\n */\n now: Date.now,\n\n supportsMutation: true,\n isPrimaryRenderer: false,\n supportsPersistence: false,\n supportsHydration: false,\n //supportsMicrotask: true,\n\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n\n appendChildToContainer(container, child) {\n debug(\"appendChildToContainer\", container, child);\n appendNode(container.root, child);\n },\n\n appendChild(parent, child) {\n debug(\"appendChild\", parent, child);\n appendNode(parent, child);\n },\n\n getRootHostContext: (_rootContainerInstance: Container) => {\n debug(\"getRootHostContext\");\n return null;\n },\n\n getChildHostContext(_parentHostContext, _type, _rootContainerInstance) {\n debug(\"getChildHostContext\");\n return null;\n },\n\n shouldSetTextContent(_type, _props) {\n return false;\n },\n\n createTextInstance(\n _text,\n _rootContainerInstance,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createTextInstance\");\n // return SpanNode({}, text) as SkNode;\n throw new Error(\"Text nodes are not supported yet\");\n },\n\n createInstance(\n type,\n pristineProps,\n container,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createInstance\", type);\n const props = { ...pristineProps };\n const node = createNode(container, type, materialize(props));\n container.depMgr.subscribeNode(node, props);\n return node;\n },\n\n appendInitialChild(parentInstance, child) {\n debug(\"appendInitialChild\");\n appendNode(parentInstance, child);\n },\n\n finalizeInitialChildren(\n parentInstance,\n _type,\n _props,\n _rootContainerInstance,\n _hostContext\n ) {\n debug(\"finalizeInitialChildren\", parentInstance);\n return false;\n },\n\n commitMount() {\n // if finalizeInitialChildren = true\n debug(\"commitMount\");\n },\n\n prepareForCommit(_containerInfo) {\n debug(\"prepareForCommit\");\n return null;\n },\n\n resetAfterCommit(container) {\n debug(\"resetAfterCommit\");\n container.redraw();\n },\n\n getPublicInstance(node: Instance) {\n debug(\"getPublicInstance\");\n return node;\n },\n\n prepareUpdate: (\n _instance,\n type,\n oldProps,\n newProps,\n rootContainerInstance,\n _hostContext\n ) => {\n debug(\"prepareUpdate\");\n const propsAreEqual = shallowEq(oldProps, newProps);\n if (propsAreEqual) {\n return null;\n }\n debug(\"update \", type);\n return rootContainerInstance;\n },\n\n commitUpdate(\n instance,\n updatePayload,\n type,\n prevProps,\n nextProps,\n _internalHandle\n ) {\n debug(\"commitUpdate: \", type);\n if (shallowEq(prevProps, nextProps)) {\n return;\n }\n const props = { ...nextProps };\n updatePayload.depMgr.unsubscribeNode(instance);\n instance.setProps(materialize(props));\n updatePayload.depMgr.subscribeNode(instance, props);\n },\n\n commitTextUpdate: (\n _textInstance: TextInstance,\n _oldText: string,\n _newText: string\n ) => {\n // textInstance.instance = newText;\n },\n\n clearContainer: (container) => {\n debug(\"clearContainer\");\n container.root.children().forEach((child) => {\n container.root.removeChild(child);\n });\n },\n\n preparePortalMount: () => {\n debug(\"preparePortalMount\");\n },\n\n removeChild: (parent, child) => {\n removeNode(parent, child);\n },\n\n removeChildFromContainer: (container, child) => {\n removeNode(container.root, child);\n },\n\n insertInContainerBefore: (container, child, before) => {\n insertBefore(container.root, child, before);\n },\n\n insertBefore: (parent, child, before) => {\n insertBefore(parent, child, before);\n },\n};\n\nconst materialize = <P>(props: AnimatedProps<P>) => {\n const result = { ...props } as P;\n mapKeys(props).forEach((key) => {\n const prop = props[key];\n if (isValue(prop)) {\n result[key] = (prop as SkiaValue<P[typeof key]>).current;\n } else if (isSelector(prop)) {\n result[key] = prop.selector(prop.value.current) as P[typeof key];\n }\n });\n\n return result;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["DEBUG","debug","console","log","appendNode","parent","child","addChild","removeNode","removeChild","insertBefore","before","insertChildBefore","skHostConfig","now","Date","supportsMutation","isPrimaryRenderer","supportsPersistence","supportsHydration","scheduleTimeout","setTimeout","cancelTimeout","clearTimeout","noTimeout","appendChildToContainer","container","root","appendChild","getRootHostContext","_rootContainerInstance","getChildHostContext","_parentHostContext","_type","shouldSetTextContent","_props","createTextInstance","_text","_hostContext","_internalInstanceHandle","Error","createInstance","type","pristineProps","props","node","createNode","materialize","depMgr","subscribeNode","appendInitialChild","parentInstance","finalizeInitialChildren","commitMount","prepareForCommit","_containerInfo","resetAfterCommit","redraw","getPublicInstance","prepareUpdate","_instance","oldProps","newProps","rootContainerInstance","propsAreEqual","shallowEq","commitUpdate","instance","updatePayload","prevProps","nextProps","_internalHandle","unsubscribeNode","setProps","commitTextUpdate","_textInstance","_oldText","_newText","clearContainer","children","forEach","preparePortalMount","removeChildFromContainer","insertInContainerBefore","getCurrentEventPriority","DefaultEventPriority","beforeActiveInstanceBlur","afterActiveInstanceBlur","detachDeletedInstance","result","mapKeys","key","prop","isValue","current","isSelector","selector","value"],"sources":["HostConfig.ts"],"sourcesContent":["/*global NodeJS*/\nimport type { HostConfig } from \"react-reconciler\";\nimport { DefaultEventPriority } from \"react-reconciler/constants\";\n\nimport type { NodeType, Node } from \"../dom/types\";\nimport type { SkiaValue } from \"../values\";\n\nimport type { Container } from \"./Container\";\nimport { createNode } from \"./HostComponents\";\nimport type { AnimatedProps } from \"./processors\";\nimport { isSelector, isValue } from \"./processors\";\nimport { mapKeys, shallowEq } from \"./typeddash\";\n\nconst DEBUG = false;\nexport const debug = (...args: Parameters<typeof console.log>) => {\n if (DEBUG) {\n console.log(...args);\n }\n};\n\ntype Instance = Node<unknown>;\n\ntype Props = object;\ntype TextInstance = Node<unknown>;\ntype SuspenseInstance = Instance;\ntype HydratableInstance = Instance;\ntype PublicInstance = Instance;\ntype HostContext = null;\ntype UpdatePayload = Container;\ntype ChildSet = unknown;\ntype TimeoutHandle = NodeJS.Timeout;\ntype NoTimeout = -1;\n\ntype SkiaHostConfig = HostConfig<\n NodeType,\n Props,\n Container,\n Instance,\n TextInstance,\n SuspenseInstance,\n HydratableInstance,\n PublicInstance,\n HostContext,\n UpdatePayload,\n ChildSet,\n TimeoutHandle,\n NoTimeout\n>;\n\nconst appendNode = (parent: Node<unknown>, child: Node<unknown>) => {\n parent.addChild(child);\n};\n\nconst removeNode = (parent: Node<unknown>, child: Node<unknown>) => {\n return parent.removeChild(child);\n};\n\nconst insertBefore = (\n parent: Node<unknown>,\n child: Node<unknown>,\n before: Node<unknown>\n) => {\n parent.insertChildBefore(child, before);\n};\n\nexport const skHostConfig: SkiaHostConfig = {\n /**\n * This function is used by the reconciler in order to calculate current time for prioritising work.\n */\n now: Date.now,\n supportsMutation: true,\n isPrimaryRenderer: false,\n supportsPersistence: false,\n supportsHydration: false,\n //supportsMicrotask: true,\n\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n\n appendChildToContainer(container, child) {\n debug(\"appendChildToContainer\", container, child);\n appendNode(container.root, child);\n },\n\n appendChild(parent, child) {\n debug(\"appendChild\", parent, child);\n appendNode(parent, child);\n },\n\n getRootHostContext: (_rootContainerInstance: Container) => {\n debug(\"getRootHostContext\");\n return null;\n },\n\n getChildHostContext(_parentHostContext, _type, _rootContainerInstance) {\n debug(\"getChildHostContext\");\n return null;\n },\n\n shouldSetTextContent(_type, _props) {\n return false;\n },\n\n createTextInstance(\n _text,\n _rootContainerInstance,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createTextInstance\");\n // return SpanNode({}, text) as SkNode;\n throw new Error(\"Text nodes are not supported yet\");\n },\n\n createInstance(\n type,\n pristineProps,\n container,\n _hostContext,\n _internalInstanceHandle\n ) {\n debug(\"createInstance\", type);\n const props = { ...pristineProps };\n const node = createNode(container, type, materialize(props));\n container.depMgr.subscribeNode(node, props);\n return node;\n },\n\n appendInitialChild(parentInstance, child) {\n debug(\"appendInitialChild\");\n appendNode(parentInstance, child);\n },\n\n finalizeInitialChildren(\n parentInstance,\n _type,\n _props,\n _rootContainerInstance,\n _hostContext\n ) {\n debug(\"finalizeInitialChildren\", parentInstance);\n return false;\n },\n\n commitMount() {\n // if finalizeInitialChildren = true\n debug(\"commitMount\");\n },\n\n prepareForCommit(_containerInfo) {\n debug(\"prepareForCommit\");\n return null;\n },\n\n resetAfterCommit(container) {\n debug(\"resetAfterCommit\");\n container.redraw();\n },\n\n getPublicInstance(node: Instance) {\n debug(\"getPublicInstance\");\n return node;\n },\n\n prepareUpdate: (\n _instance,\n type,\n oldProps,\n newProps,\n rootContainerInstance,\n _hostContext\n ) => {\n debug(\"prepareUpdate\");\n const propsAreEqual = shallowEq(oldProps, newProps);\n if (propsAreEqual) {\n return null;\n }\n debug(\"update \", type);\n return rootContainerInstance;\n },\n\n commitUpdate(\n instance,\n updatePayload,\n type,\n prevProps,\n nextProps,\n _internalHandle\n ) {\n debug(\"commitUpdate: \", type);\n if (shallowEq(prevProps, nextProps)) {\n return;\n }\n const props = { ...nextProps };\n updatePayload.depMgr.unsubscribeNode(instance);\n instance.setProps(materialize(props));\n updatePayload.depMgr.subscribeNode(instance, props);\n },\n\n commitTextUpdate: (\n _textInstance: TextInstance,\n _oldText: string,\n _newText: string\n ) => {\n // textInstance.instance = newText;\n },\n\n clearContainer: (container) => {\n debug(\"clearContainer\");\n container.root.children().forEach((child) => {\n container.root.removeChild(child);\n });\n },\n\n preparePortalMount: () => {\n debug(\"preparePortalMount\");\n },\n\n removeChild: (parent, child) => {\n removeNode(parent, child);\n },\n\n removeChildFromContainer: (container, child) => {\n removeNode(container.root, child);\n },\n\n insertInContainerBefore: (container, child, before) => {\n insertBefore(container.root, child, before);\n },\n\n insertBefore: (parent, child, before) => {\n insertBefore(parent, child, before);\n },\n // see https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n getCurrentEventPriority: () => DefaultEventPriority,\n beforeActiveInstanceBlur: () => {},\n afterActiveInstanceBlur: () => {},\n detachDeletedInstance: () => {},\n};\n\nconst materialize = <P>(props: AnimatedProps<P>) => {\n const result = { ...props } as P;\n mapKeys(props).forEach((key) => {\n const prop = props[key];\n if (isValue(prop)) {\n result[key] = (prop as SkiaValue<P[typeof key]>).current;\n } else if (isSelector(prop)) {\n result[key] = prop.selector(prop.value.current) as P[typeof key];\n }\n });\n\n return result;\n};\n"],"mappings":"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"}
@@ -16,6 +16,6 @@ import { createSpringEasing } from "./functions/spring";
16
16
  */
17
17
 
18
18
  export const runSpring = (value, toOrParams, config, callback) => {
19
- return runTiming(value, toOrParams, createSpringEasing(config ?? Spring.Config.Default), callback);
19
+ return runTiming(value, toOrParams, createSpringEasing(config !== null && config !== void 0 ? config : Spring.Config.Default), callback);
20
20
  };
21
21
  //# sourceMappingURL=runSpring.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["runTiming","Spring","createSpringEasing","runSpring","value","toOrParams","config","callback","Config","Default"],"sources":["runSpring.ts"],"sourcesContent":["import type { SkiaMutableValue, SkiaAnimation } from \"../../values/types\";\nimport type {\n AnimationParams,\n SpringConfig,\n AnimationCallback,\n} from \"../types\";\nimport { runTiming } from \"../timing/runTiming\";\n\nimport { Spring } from \"./Spring\";\nimport { createSpringEasing } from \"./functions/spring\";\n\n/**\n * Creates a new animation on an existing value that will be driven by\n * an animation value. The value will be run from / to the value in\n * params and modified by the provided easing curve for the length of\n * the duration. When the value has reached its desired \"to\" value the\n * animation will be stopped.\n *\n * @param value The value to animate\n * @param toOrParams To value or Animation parameters\n * @param config Spring configuration\n * @returns an animation value that can be used to start/stop\n * the animation.\n */\nexport const runSpring = (\n value: SkiaMutableValue<number>,\n toOrParams: number | AnimationParams,\n config?: SpringConfig,\n callback?: AnimationCallback\n): SkiaAnimation => {\n return runTiming(\n value,\n toOrParams,\n createSpringEasing(config ?? Spring.Config.Default),\n callback\n );\n};\n"],"mappings":"AAMA,SAASA,SAAT,QAA0B,qBAA1B;AAEA,SAASC,MAAT,QAAuB,UAAvB;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,SAAS,GAAG,CACvBC,KADuB,EAEvBC,UAFuB,EAGvBC,MAHuB,EAIvBC,QAJuB,KAKL;EAClB,OAAOP,SAAS,CACdI,KADc,EAEdC,UAFc,EAGdH,kBAAkB,CAACI,MAAM,IAAIL,MAAM,CAACO,MAAP,CAAcC,OAAzB,CAHJ,EAIdF,QAJc,CAAhB;AAMD,CAZM"}
1
+ {"version":3,"names":["runTiming","Spring","createSpringEasing","runSpring","value","toOrParams","config","callback","Config","Default"],"sources":["runSpring.ts"],"sourcesContent":["import type { SkiaMutableValue, SkiaAnimation } from \"../../values/types\";\nimport type {\n AnimationParams,\n SpringConfig,\n AnimationCallback,\n} from \"../types\";\nimport { runTiming } from \"../timing/runTiming\";\n\nimport { Spring } from \"./Spring\";\nimport { createSpringEasing } from \"./functions/spring\";\n\n/**\n * Creates a new animation on an existing value that will be driven by\n * an animation value. The value will be run from / to the value in\n * params and modified by the provided easing curve for the length of\n * the duration. When the value has reached its desired \"to\" value the\n * animation will be stopped.\n *\n * @param value The value to animate\n * @param toOrParams To value or Animation parameters\n * @param config Spring configuration\n * @returns an animation value that can be used to start/stop\n * the animation.\n */\nexport const runSpring = (\n value: SkiaMutableValue<number>,\n toOrParams: number | AnimationParams,\n config?: SpringConfig,\n callback?: AnimationCallback\n): SkiaAnimation => {\n return runTiming(\n value,\n toOrParams,\n createSpringEasing(config ?? Spring.Config.Default),\n callback\n );\n};\n"],"mappings":"AAMA,SAASA,SAAT,QAA0B,qBAA1B;AAEA,SAASC,MAAT,QAAuB,UAAvB;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,SAAS,GAAG,CACvBC,KADuB,EAEvBC,UAFuB,EAGvBC,MAHuB,EAIvBC,QAJuB,KAKL;EAClB,OAAOP,SAAS,CACdI,KADc,EAEdC,UAFc,EAGdH,kBAAkB,CAACI,MAAD,aAACA,MAAD,cAACA,MAAD,GAAWL,MAAM,CAACO,MAAP,CAAcC,OAAzB,CAHJ,EAIdF,QAJc,CAAhB;AAMD,CAZM"}
@@ -9,5 +9,5 @@ import { createSpringEasing } from "./functions/spring";
9
9
  * @returns
10
10
  */
11
11
 
12
- export const useSpring = (toOrParams, config, callback) => useTiming(toOrParams, createSpringEasing(config ?? Spring.Config.Default), callback);
12
+ export const useSpring = (toOrParams, config, callback) => useTiming(toOrParams, createSpringEasing(config !== null && config !== void 0 ? config : Spring.Config.Default), callback);
13
13
  //# sourceMappingURL=useSpring.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useTiming","Spring","createSpringEasing","useSpring","toOrParams","config","callback","Config","Default"],"sources":["useSpring.ts"],"sourcesContent":["import type { SkiaValue } from \"../../values/types\";\nimport type {\n SpringConfig,\n AnimationParams,\n AnimationCallback,\n} from \"../types\";\nimport { useTiming } from \"../timing\";\n\nimport { Spring } from \"./Spring\";\nimport { createSpringEasing } from \"./functions/spring\";\n\n/**\n * Creats a spring based animation value that will run whenever\n * the animation parameters change.\n * @param toOrParams\n * @param config\n * @returns\n */\nexport const useSpring = (\n toOrParams: number | AnimationParams,\n config?: SpringConfig,\n callback?: AnimationCallback\n): SkiaValue<number> =>\n useTiming(\n toOrParams,\n createSpringEasing(config ?? Spring.Config.Default),\n callback\n );\n"],"mappings":"AAMA,SAASA,SAAT,QAA0B,WAA1B;AAEA,SAASC,MAAT,QAAuB,UAAvB;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,SAAS,GAAG,CACvBC,UADuB,EAEvBC,MAFuB,EAGvBC,QAHuB,KAKvBN,SAAS,CACPI,UADO,EAEPF,kBAAkB,CAACG,MAAM,IAAIJ,MAAM,CAACM,MAAP,CAAcC,OAAzB,CAFX,EAGPF,QAHO,CALJ"}
1
+ {"version":3,"names":["useTiming","Spring","createSpringEasing","useSpring","toOrParams","config","callback","Config","Default"],"sources":["useSpring.ts"],"sourcesContent":["import type { SkiaValue } from \"../../values/types\";\nimport type {\n SpringConfig,\n AnimationParams,\n AnimationCallback,\n} from \"../types\";\nimport { useTiming } from \"../timing\";\n\nimport { Spring } from \"./Spring\";\nimport { createSpringEasing } from \"./functions/spring\";\n\n/**\n * Creats a spring based animation value that will run whenever\n * the animation parameters change.\n * @param toOrParams\n * @param config\n * @returns\n */\nexport const useSpring = (\n toOrParams: number | AnimationParams,\n config?: SpringConfig,\n callback?: AnimationCallback\n): SkiaValue<number> =>\n useTiming(\n toOrParams,\n createSpringEasing(config ?? Spring.Config.Default),\n callback\n );\n"],"mappings":"AAMA,SAASA,SAAT,QAA0B,WAA1B;AAEA,SAASC,MAAT,QAAuB,UAAvB;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,SAAS,GAAG,CACvBC,UADuB,EAEvBC,MAFuB,EAGvBC,QAHuB,KAKvBN,SAAS,CACPI,UADO,EAEPF,kBAAkB,CAACG,MAAD,aAACA,MAAD,cAACA,MAAD,GAAWJ,MAAM,CAACM,MAAP,CAAcC,OAAzB,CAFX,EAGPF,QAHO,CALJ"}
@@ -16,15 +16,19 @@ import { timing } from "./functions";
16
16
  */
17
17
 
18
18
  export const createTiming = (params, value, callback) => {
19
+ var _ref, _params$from;
20
+
19
21
  // Update from to be either the declared from value,
20
22
  // the current value of the value or zero
21
23
  const resolvedParams = { ...params,
22
- from: params.from ?? (value === null || value === void 0 ? void 0 : value.current) ?? 0
24
+ from: (_ref = (_params$from = params.from) !== null && _params$from !== void 0 ? _params$from : value === null || value === void 0 ? void 0 : value.current) !== null && _ref !== void 0 ? _ref : 0
23
25
  }; // Update function for the animation value
24
26
 
25
27
  const animationFunction = (t, state) => {
28
+ var _params$loop, _params$yoyo;
29
+
26
30
  // Update the input value using the provided update function
27
- const nextState = timing(t, params.duration, params.easing, params.loop ?? false, params.yoyo ?? false, state ?? {
31
+ const nextState = timing(t, params.duration, params.easing, (_params$loop = params.loop) !== null && _params$loop !== void 0 ? _params$loop : false, (_params$yoyo = params.yoyo) !== null && _params$yoyo !== void 0 ? _params$yoyo : false, state !== null && state !== void 0 ? state : {
28
32
  current: params.from,
29
33
  finished: false
30
34
  });
@@ -1 +1 @@
1
- {"version":3,"names":["ValueApi","timing","createTiming","params","value","callback","resolvedParams","from","current","animationFunction","t","state","nextState","duration","easing","loop","yoyo","finished","to","createAnimation"],"sources":["createTiming.ts"],"sourcesContent":["import type {\n TimingConfig,\n RequiredAnimationParams,\n AnimationCallback,\n} from \"../types\";\nimport type { AnimationState, SkiaMutableValue } from \"../../values/types\";\nimport { ValueApi } from \"../../values/api\";\n\nimport { timing } from \"./functions\";\n\n/**\n * Creates an animation that is driven by a clock value.\n * The value will be run from / to the value in params and modified\n * by the provided easing curve for the length of the duration. When\n * the value has reached its desired \"to\" value the animation\n * will be stopped. If loop is set to true, the animation will continue\n * to run until stopped.\n *\n * @param params Animation parameters\n * @param config Spring or timing configuration\n * @param value Optional value that the animation will update\n * @params an animation value that can be used to start/stop\n * the animation.\n */\nexport const createTiming = (\n params: RequiredAnimationParams & Required<TimingConfig>,\n value?: SkiaMutableValue<number>,\n callback?: AnimationCallback\n) => {\n // Update from to be either the declared from value,\n // the current value of the value or zero\n const resolvedParams = {\n ...params,\n from: params.from ?? value?.current ?? 0,\n };\n\n // Update function for the animation value\n const animationFunction = (t: number, state: AnimationState | undefined) => {\n // Update the input value using the provided update function\n const nextState = timing(\n t,\n params.duration,\n params.easing,\n params.loop ?? false,\n params.yoyo ?? false,\n state ?? { current: params.from!, finished: false }\n );\n const current =\n nextState.current * (resolvedParams.to - resolvedParams.from!) +\n resolvedParams.from!;\n if (callback && nextState.finished === true) {\n callback(current);\n }\n return {\n ...nextState,\n current,\n };\n };\n\n // Create animation value\n return ValueApi.createAnimation(animationFunction);\n};\n"],"mappings":"AAMA,SAASA,QAAT,QAAyB,kBAAzB;AAEA,SAASC,MAAT,QAAuB,aAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,YAAY,GAAG,CAC1BC,MAD0B,EAE1BC,KAF0B,EAG1BC,QAH0B,KAIvB;EACH;EACA;EACA,MAAMC,cAAc,GAAG,EACrB,GAAGH,MADkB;IAErBI,IAAI,EAAEJ,MAAM,CAACI,IAAP,KAAeH,KAAf,aAAeA,KAAf,uBAAeA,KAAK,CAAEI,OAAtB,KAAiC;EAFlB,CAAvB,CAHG,CAQH;;EACA,MAAMC,iBAAiB,GAAG,CAACC,CAAD,EAAYC,KAAZ,KAAkD;IAC1E;IACA,MAAMC,SAAS,GAAGX,MAAM,CACtBS,CADsB,EAEtBP,MAAM,CAACU,QAFe,EAGtBV,MAAM,CAACW,MAHe,EAItBX,MAAM,CAACY,IAAP,IAAe,KAJO,EAKtBZ,MAAM,CAACa,IAAP,IAAe,KALO,EAMtBL,KAAK,IAAI;MAAEH,OAAO,EAAEL,MAAM,CAACI,IAAlB;MAAyBU,QAAQ,EAAE;IAAnC,CANa,CAAxB;IAQA,MAAMT,OAAO,GACXI,SAAS,CAACJ,OAAV,IAAqBF,cAAc,CAACY,EAAf,GAAoBZ,cAAc,CAACC,IAAxD,IACAD,cAAc,CAACC,IAFjB;;IAGA,IAAIF,QAAQ,IAAIO,SAAS,CAACK,QAAV,KAAuB,IAAvC,EAA6C;MAC3CZ,QAAQ,CAACG,OAAD,CAAR;IACD;;IACD,OAAO,EACL,GAAGI,SADE;MAELJ;IAFK,CAAP;EAID,CApBD,CATG,CA+BH;;;EACA,OAAOR,QAAQ,CAACmB,eAAT,CAAyBV,iBAAzB,CAAP;AACD,CArCM"}
1
+ {"version":3,"names":["ValueApi","timing","createTiming","params","value","callback","resolvedParams","from","current","animationFunction","t","state","nextState","duration","easing","loop","yoyo","finished","to","createAnimation"],"sources":["createTiming.ts"],"sourcesContent":["import type {\n TimingConfig,\n RequiredAnimationParams,\n AnimationCallback,\n} from \"../types\";\nimport type { AnimationState, SkiaMutableValue } from \"../../values/types\";\nimport { ValueApi } from \"../../values/api\";\n\nimport { timing } from \"./functions\";\n\n/**\n * Creates an animation that is driven by a clock value.\n * The value will be run from / to the value in params and modified\n * by the provided easing curve for the length of the duration. When\n * the value has reached its desired \"to\" value the animation\n * will be stopped. If loop is set to true, the animation will continue\n * to run until stopped.\n *\n * @param params Animation parameters\n * @param config Spring or timing configuration\n * @param value Optional value that the animation will update\n * @params an animation value that can be used to start/stop\n * the animation.\n */\nexport const createTiming = (\n params: RequiredAnimationParams & Required<TimingConfig>,\n value?: SkiaMutableValue<number>,\n callback?: AnimationCallback\n) => {\n // Update from to be either the declared from value,\n // the current value of the value or zero\n const resolvedParams = {\n ...params,\n from: params.from ?? value?.current ?? 0,\n };\n\n // Update function for the animation value\n const animationFunction = (t: number, state: AnimationState | undefined) => {\n // Update the input value using the provided update function\n const nextState = timing(\n t,\n params.duration,\n params.easing,\n params.loop ?? false,\n params.yoyo ?? false,\n state ?? { current: params.from!, finished: false }\n );\n const current =\n nextState.current * (resolvedParams.to - resolvedParams.from!) +\n resolvedParams.from!;\n if (callback && nextState.finished === true) {\n callback(current);\n }\n return {\n ...nextState,\n current,\n };\n };\n\n // Create animation value\n return ValueApi.createAnimation(animationFunction);\n};\n"],"mappings":"AAMA,SAASA,QAAT,QAAyB,kBAAzB;AAEA,SAASC,MAAT,QAAuB,aAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,YAAY,GAAG,CAC1BC,MAD0B,EAE1BC,KAF0B,EAG1BC,QAH0B,KAIvB;EAAA;;EACH;EACA;EACA,MAAMC,cAAc,GAAG,EACrB,GAAGH,MADkB;IAErBI,IAAI,0BAAEJ,MAAM,CAACI,IAAT,uDAAiBH,KAAjB,aAAiBA,KAAjB,uBAAiBA,KAAK,CAAEI,OAAxB,uCAAmC;EAFlB,CAAvB,CAHG,CAQH;;EACA,MAAMC,iBAAiB,GAAG,CAACC,CAAD,EAAYC,KAAZ,KAAkD;IAAA;;IAC1E;IACA,MAAMC,SAAS,GAAGX,MAAM,CACtBS,CADsB,EAEtBP,MAAM,CAACU,QAFe,EAGtBV,MAAM,CAACW,MAHe,kBAItBX,MAAM,CAACY,IAJe,uDAIP,KAJO,kBAKtBZ,MAAM,CAACa,IALe,uDAKP,KALO,EAMtBL,KANsB,aAMtBA,KANsB,cAMtBA,KANsB,GAMb;MAAEH,OAAO,EAAEL,MAAM,CAACI,IAAlB;MAAyBU,QAAQ,EAAE;IAAnC,CANa,CAAxB;IAQA,MAAMT,OAAO,GACXI,SAAS,CAACJ,OAAV,IAAqBF,cAAc,CAACY,EAAf,GAAoBZ,cAAc,CAACC,IAAxD,IACAD,cAAc,CAACC,IAFjB;;IAGA,IAAIF,QAAQ,IAAIO,SAAS,CAACK,QAAV,KAAuB,IAAvC,EAA6C;MAC3CZ,QAAQ,CAACG,OAAD,CAAR;IACD;;IACD,OAAO,EACL,GAAGI,SADE;MAELJ;IAFK,CAAP;EAID,CApBD,CATG,CA+BH;;;EACA,OAAOR,QAAQ,CAACmB,eAAT,CAAyBV,iBAAzB,CAAP;AACD,CArCM"}
@@ -21,11 +21,13 @@ export const getResolvedParams = (toOrParams, config) => {
21
21
  if (typeof toOrParams === "number") {
22
22
  resolvedParameters.to = toOrParams;
23
23
  } else {
24
+ var _toOrParams$from, _toOrParams$to, _toOrParams$loop, _toOrParams$yoyo;
25
+
24
26
  resolvedParameters = {
25
- from: toOrParams.from ?? resolvedParameters.from,
26
- to: toOrParams.to ?? resolvedParameters.to,
27
- loop: toOrParams.loop ?? resolvedParameters.loop,
28
- yoyo: toOrParams.yoyo ?? resolvedParameters.yoyo
27
+ from: (_toOrParams$from = toOrParams.from) !== null && _toOrParams$from !== void 0 ? _toOrParams$from : resolvedParameters.from,
28
+ to: (_toOrParams$to = toOrParams.to) !== null && _toOrParams$to !== void 0 ? _toOrParams$to : resolvedParameters.to,
29
+ loop: (_toOrParams$loop = toOrParams.loop) !== null && _toOrParams$loop !== void 0 ? _toOrParams$loop : resolvedParameters.loop,
30
+ yoyo: (_toOrParams$yoyo = toOrParams.yoyo) !== null && _toOrParams$yoyo !== void 0 ? _toOrParams$yoyo : resolvedParameters.yoyo
29
31
  };
30
32
  }
31
33
 
@@ -33,8 +35,10 @@ export const getResolvedParams = (toOrParams, config) => {
33
35
  };
34
36
 
35
37
  if (config) {
36
- resolvedConfig.duration = config.duration ?? DefaultTimingConfig.duration;
37
- resolvedConfig.easing = config.easing ?? DefaultTimingConfig.easing;
38
+ var _config$duration, _config$easing;
39
+
40
+ resolvedConfig.duration = (_config$duration = config.duration) !== null && _config$duration !== void 0 ? _config$duration : DefaultTimingConfig.duration;
41
+ resolvedConfig.easing = (_config$easing = config.easing) !== null && _config$easing !== void 0 ? _config$easing : DefaultTimingConfig.easing;
38
42
  }
39
43
 
40
44
  return { ...resolvedParameters,
@@ -1 +1 @@
1
- {"version":3,"names":["DefaultParameters","to","loop","yoyo","immediate","DefaultTimingConfig","duration","easing","t","getResolvedParams","toOrParams","config","resolvedParameters","from","resolvedConfig"],"sources":["getResolvedParams.ts"],"sourcesContent":["import type {\n RequiredAnimationParams,\n AnimationParams,\n TimingConfig,\n} from \"../../types\";\n\nconst DefaultParameters = {\n to: 1,\n loop: false,\n yoyo: false,\n immediate: true,\n};\n\nconst DefaultTimingConfig = {\n duration: 1000,\n easing: (t: number) => t,\n};\n\n/**\n * Resolves parameters from optional values to a single object\n * @param toOrParams Params or to value\n * @param config timing/spring configuration\n */\nexport const getResolvedParams = (\n toOrParams: number | AnimationParams,\n config?: TimingConfig\n): RequiredAnimationParams & Required<TimingConfig> => {\n let resolvedParameters: RequiredAnimationParams = {\n ...DefaultParameters,\n };\n\n if (typeof toOrParams === \"number\") {\n resolvedParameters.to = toOrParams;\n } else {\n resolvedParameters = {\n from: toOrParams.from ?? resolvedParameters.from,\n to: toOrParams.to ?? resolvedParameters.to,\n loop: toOrParams.loop ?? resolvedParameters.loop,\n yoyo: toOrParams.yoyo ?? resolvedParameters.yoyo,\n };\n }\n\n const resolvedConfig: Required<TimingConfig> = { ...DefaultTimingConfig };\n if (config) {\n resolvedConfig.duration = config.duration ?? DefaultTimingConfig.duration;\n resolvedConfig.easing = config.easing ?? DefaultTimingConfig.easing;\n }\n\n return { ...resolvedParameters, ...resolvedConfig };\n};\n"],"mappings":"AAMA,MAAMA,iBAAiB,GAAG;EACxBC,EAAE,EAAE,CADoB;EAExBC,IAAI,EAAE,KAFkB;EAGxBC,IAAI,EAAE,KAHkB;EAIxBC,SAAS,EAAE;AAJa,CAA1B;AAOA,MAAMC,mBAAmB,GAAG;EAC1BC,QAAQ,EAAE,IADgB;EAE1BC,MAAM,EAAGC,CAAD,IAAeA;AAFG,CAA5B;AAKA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,iBAAiB,GAAG,CAC/BC,UAD+B,EAE/BC,MAF+B,KAGsB;EACrD,IAAIC,kBAA2C,GAAG,EAChD,GAAGZ;EAD6C,CAAlD;;EAIA,IAAI,OAAOU,UAAP,KAAsB,QAA1B,EAAoC;IAClCE,kBAAkB,CAACX,EAAnB,GAAwBS,UAAxB;EACD,CAFD,MAEO;IACLE,kBAAkB,GAAG;MACnBC,IAAI,EAAEH,UAAU,CAACG,IAAX,IAAmBD,kBAAkB,CAACC,IADzB;MAEnBZ,EAAE,EAAES,UAAU,CAACT,EAAX,IAAiBW,kBAAkB,CAACX,EAFrB;MAGnBC,IAAI,EAAEQ,UAAU,CAACR,IAAX,IAAmBU,kBAAkB,CAACV,IAHzB;MAInBC,IAAI,EAAEO,UAAU,CAACP,IAAX,IAAmBS,kBAAkB,CAACT;IAJzB,CAArB;EAMD;;EAED,MAAMW,cAAsC,GAAG,EAAE,GAAGT;EAAL,CAA/C;;EACA,IAAIM,MAAJ,EAAY;IACVG,cAAc,CAACR,QAAf,GAA0BK,MAAM,CAACL,QAAP,IAAmBD,mBAAmB,CAACC,QAAjE;IACAQ,cAAc,CAACP,MAAf,GAAwBI,MAAM,CAACJ,MAAP,IAAiBF,mBAAmB,CAACE,MAA7D;EACD;;EAED,OAAO,EAAE,GAAGK,kBAAL;IAAyB,GAAGE;EAA5B,CAAP;AACD,CA1BM"}
1
+ {"version":3,"names":["DefaultParameters","to","loop","yoyo","immediate","DefaultTimingConfig","duration","easing","t","getResolvedParams","toOrParams","config","resolvedParameters","from","resolvedConfig"],"sources":["getResolvedParams.ts"],"sourcesContent":["import type {\n RequiredAnimationParams,\n AnimationParams,\n TimingConfig,\n} from \"../../types\";\n\nconst DefaultParameters = {\n to: 1,\n loop: false,\n yoyo: false,\n immediate: true,\n};\n\nconst DefaultTimingConfig = {\n duration: 1000,\n easing: (t: number) => t,\n};\n\n/**\n * Resolves parameters from optional values to a single object\n * @param toOrParams Params or to value\n * @param config timing/spring configuration\n */\nexport const getResolvedParams = (\n toOrParams: number | AnimationParams,\n config?: TimingConfig\n): RequiredAnimationParams & Required<TimingConfig> => {\n let resolvedParameters: RequiredAnimationParams = {\n ...DefaultParameters,\n };\n\n if (typeof toOrParams === \"number\") {\n resolvedParameters.to = toOrParams;\n } else {\n resolvedParameters = {\n from: toOrParams.from ?? resolvedParameters.from,\n to: toOrParams.to ?? resolvedParameters.to,\n loop: toOrParams.loop ?? resolvedParameters.loop,\n yoyo: toOrParams.yoyo ?? resolvedParameters.yoyo,\n };\n }\n\n const resolvedConfig: Required<TimingConfig> = { ...DefaultTimingConfig };\n if (config) {\n resolvedConfig.duration = config.duration ?? DefaultTimingConfig.duration;\n resolvedConfig.easing = config.easing ?? DefaultTimingConfig.easing;\n }\n\n return { ...resolvedParameters, ...resolvedConfig };\n};\n"],"mappings":"AAMA,MAAMA,iBAAiB,GAAG;EACxBC,EAAE,EAAE,CADoB;EAExBC,IAAI,EAAE,KAFkB;EAGxBC,IAAI,EAAE,KAHkB;EAIxBC,SAAS,EAAE;AAJa,CAA1B;AAOA,MAAMC,mBAAmB,GAAG;EAC1BC,QAAQ,EAAE,IADgB;EAE1BC,MAAM,EAAGC,CAAD,IAAeA;AAFG,CAA5B;AAKA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,iBAAiB,GAAG,CAC/BC,UAD+B,EAE/BC,MAF+B,KAGsB;EACrD,IAAIC,kBAA2C,GAAG,EAChD,GAAGZ;EAD6C,CAAlD;;EAIA,IAAI,OAAOU,UAAP,KAAsB,QAA1B,EAAoC;IAClCE,kBAAkB,CAACX,EAAnB,GAAwBS,UAAxB;EACD,CAFD,MAEO;IAAA;;IACLE,kBAAkB,GAAG;MACnBC,IAAI,sBAAEH,UAAU,CAACG,IAAb,+DAAqBD,kBAAkB,CAACC,IADzB;MAEnBZ,EAAE,oBAAES,UAAU,CAACT,EAAb,2DAAmBW,kBAAkB,CAACX,EAFrB;MAGnBC,IAAI,sBAAEQ,UAAU,CAACR,IAAb,+DAAqBU,kBAAkB,CAACV,IAHzB;MAInBC,IAAI,sBAAEO,UAAU,CAACP,IAAb,+DAAqBS,kBAAkB,CAACT;IAJzB,CAArB;EAMD;;EAED,MAAMW,cAAsC,GAAG,EAAE,GAAGT;EAAL,CAA/C;;EACA,IAAIM,MAAJ,EAAY;IAAA;;IACVG,cAAc,CAACR,QAAf,uBAA0BK,MAAM,CAACL,QAAjC,+DAA6CD,mBAAmB,CAACC,QAAjE;IACAQ,cAAc,CAACP,MAAf,qBAAwBI,MAAM,CAACJ,MAA/B,2DAAyCF,mBAAmB,CAACE,MAA7D;EACD;;EAED,OAAO,EAAE,GAAGK,kBAAL;IAAyB,GAAGE;EAA5B,CAAP;AACD,CA1BM"}
@@ -11,6 +11,8 @@ import { createTiming } from "./createTiming";
11
11
  */
12
12
 
13
13
  export const useTiming = (toOrParams, config, callback) => {
14
+ var _resolvedParameters$f;
15
+
14
16
  // Resolve parameters - keep a cached version to avoid
15
17
  // unnecesary re-renders.
16
18
  const prevCfgRef = useRef();
@@ -24,7 +26,7 @@ export const useTiming = (toOrParams, config, callback) => {
24
26
  return prevCfgRef.current;
25
27
  }, [config, toOrParams]); // Create value
26
28
 
27
- const value = useValue(resolvedParameters.from ?? 0); // Create timing animation - keep a cached version to avoid
29
+ const value = useValue((_resolvedParameters$f = resolvedParameters.from) !== null && _resolvedParameters$f !== void 0 ? _resolvedParameters$f : 0); // Create timing animation - keep a cached version to avoid
28
30
  // uneccessary recreation of animations
29
31
 
30
32
  const prevAnimationRef = useRef();
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","useRef","useValue","getResolvedParams","createTiming","useTiming","toOrParams","config","callback","prevCfgRef","resolvedParameters","nextParams","equals","current","value","from","prevAnimationRef","prevParamsRef","animation","undefined","a","b","JSON","stringify"],"sources":["useTiming.ts"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\n\nimport type { SkiaValue, SkiaAnimation } from \"../../values/types\";\nimport type {\n AnimationParams,\n TimingConfig,\n AnimationCallback,\n} from \"../types\";\nimport { useValue } from \"../../values/hooks/useValue\";\n\nimport { getResolvedParams } from \"./functions\";\nimport { createTiming } from \"./createTiming\";\n\n/**\n * Creats an animation value that will run whenever\n * the animation parameters change. The animation start immediately.\n * @param toOrParams\n * @param config\n * @returns A value that is animated\n */\nexport const useTiming = (\n toOrParams: number | AnimationParams,\n config?: TimingConfig,\n callback?: AnimationCallback\n): SkiaValue<number> => {\n // Resolve parameters - keep a cached version to avoid\n // unnecesary re-renders.\n const prevCfgRef = useRef<ReturnType<typeof getResolvedParams>>();\n const resolvedParameters = useMemo(() => {\n const nextParams = getResolvedParams(toOrParams, config);\n if (!equals(prevCfgRef.current, nextParams)) {\n prevCfgRef.current = nextParams;\n }\n return prevCfgRef.current!;\n }, [config, toOrParams]);\n\n // Create value\n const value = useValue(resolvedParameters.from ?? 0);\n\n // Create timing animation - keep a cached version to avoid\n // uneccessary recreation of animations\n const prevAnimationRef = useRef<SkiaAnimation>();\n const prevParamsRef = useRef<typeof resolvedParameters>();\n const animation = useMemo(() => {\n if (!equals(prevParamsRef.current, resolvedParameters)) {\n prevParamsRef.current = resolvedParameters;\n prevAnimationRef.current = createTiming(\n resolvedParameters,\n value,\n callback\n );\n }\n return prevAnimationRef.current!;\n }, [callback, resolvedParameters, value]);\n\n // Run animation on the value - and stop it on unmount\n useEffect(() => {\n value.animation = animation;\n return () => (value.animation = undefined);\n }, [animation, value]);\n\n // Return the value that is animated\n return value;\n};\n\nconst equals = <T1, T2>(a: T1, b: T2) => {\n return JSON.stringify(a) === JSON.stringify(b);\n};\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,OAApB,EAA6BC,MAA7B,QAA2C,OAA3C;AAQA,SAASC,QAAT,QAAyB,6BAAzB;AAEA,SAASC,iBAAT,QAAkC,aAAlC;AACA,SAASC,YAAT,QAA6B,gBAA7B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,SAAS,GAAG,CACvBC,UADuB,EAEvBC,MAFuB,EAGvBC,QAHuB,KAID;EACtB;EACA;EACA,MAAMC,UAAU,GAAGR,MAAM,EAAzB;EACA,MAAMS,kBAAkB,GAAGV,OAAO,CAAC,MAAM;IACvC,MAAMW,UAAU,GAAGR,iBAAiB,CAACG,UAAD,EAAaC,MAAb,CAApC;;IACA,IAAI,CAACK,MAAM,CAACH,UAAU,CAACI,OAAZ,EAAqBF,UAArB,CAAX,EAA6C;MAC3CF,UAAU,CAACI,OAAX,GAAqBF,UAArB;IACD;;IACD,OAAOF,UAAU,CAACI,OAAlB;EACD,CANiC,EAM/B,CAACN,MAAD,EAASD,UAAT,CAN+B,CAAlC,CAJsB,CAYtB;;EACA,MAAMQ,KAAK,GAAGZ,QAAQ,CAACQ,kBAAkB,CAACK,IAAnB,IAA2B,CAA5B,CAAtB,CAbsB,CAetB;EACA;;EACA,MAAMC,gBAAgB,GAAGf,MAAM,EAA/B;EACA,MAAMgB,aAAa,GAAGhB,MAAM,EAA5B;EACA,MAAMiB,SAAS,GAAGlB,OAAO,CAAC,MAAM;IAC9B,IAAI,CAACY,MAAM,CAACK,aAAa,CAACJ,OAAf,EAAwBH,kBAAxB,CAAX,EAAwD;MACtDO,aAAa,CAACJ,OAAd,GAAwBH,kBAAxB;MACAM,gBAAgB,CAACH,OAAjB,GAA2BT,YAAY,CACrCM,kBADqC,EAErCI,KAFqC,EAGrCN,QAHqC,CAAvC;IAKD;;IACD,OAAOQ,gBAAgB,CAACH,OAAxB;EACD,CAVwB,EAUtB,CAACL,QAAD,EAAWE,kBAAX,EAA+BI,KAA/B,CAVsB,CAAzB,CAnBsB,CA+BtB;;EACAf,SAAS,CAAC,MAAM;IACde,KAAK,CAACI,SAAN,GAAkBA,SAAlB;IACA,OAAO,MAAOJ,KAAK,CAACI,SAAN,GAAkBC,SAAhC;EACD,CAHQ,EAGN,CAACD,SAAD,EAAYJ,KAAZ,CAHM,CAAT,CAhCsB,CAqCtB;;EACA,OAAOA,KAAP;AACD,CA3CM;;AA6CP,MAAMF,MAAM,GAAG,CAASQ,CAAT,EAAgBC,CAAhB,KAA0B;EACvC,OAAOC,IAAI,CAACC,SAAL,CAAeH,CAAf,MAAsBE,IAAI,CAACC,SAAL,CAAeF,CAAf,CAA7B;AACD,CAFD"}
1
+ {"version":3,"names":["useEffect","useMemo","useRef","useValue","getResolvedParams","createTiming","useTiming","toOrParams","config","callback","prevCfgRef","resolvedParameters","nextParams","equals","current","value","from","prevAnimationRef","prevParamsRef","animation","undefined","a","b","JSON","stringify"],"sources":["useTiming.ts"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\n\nimport type { SkiaValue, SkiaAnimation } from \"../../values/types\";\nimport type {\n AnimationParams,\n TimingConfig,\n AnimationCallback,\n} from \"../types\";\nimport { useValue } from \"../../values/hooks/useValue\";\n\nimport { getResolvedParams } from \"./functions\";\nimport { createTiming } from \"./createTiming\";\n\n/**\n * Creats an animation value that will run whenever\n * the animation parameters change. The animation start immediately.\n * @param toOrParams\n * @param config\n * @returns A value that is animated\n */\nexport const useTiming = (\n toOrParams: number | AnimationParams,\n config?: TimingConfig,\n callback?: AnimationCallback\n): SkiaValue<number> => {\n // Resolve parameters - keep a cached version to avoid\n // unnecesary re-renders.\n const prevCfgRef = useRef<ReturnType<typeof getResolvedParams>>();\n const resolvedParameters = useMemo(() => {\n const nextParams = getResolvedParams(toOrParams, config);\n if (!equals(prevCfgRef.current, nextParams)) {\n prevCfgRef.current = nextParams;\n }\n return prevCfgRef.current!;\n }, [config, toOrParams]);\n\n // Create value\n const value = useValue(resolvedParameters.from ?? 0);\n\n // Create timing animation - keep a cached version to avoid\n // uneccessary recreation of animations\n const prevAnimationRef = useRef<SkiaAnimation>();\n const prevParamsRef = useRef<typeof resolvedParameters>();\n const animation = useMemo(() => {\n if (!equals(prevParamsRef.current, resolvedParameters)) {\n prevParamsRef.current = resolvedParameters;\n prevAnimationRef.current = createTiming(\n resolvedParameters,\n value,\n callback\n );\n }\n return prevAnimationRef.current!;\n }, [callback, resolvedParameters, value]);\n\n // Run animation on the value - and stop it on unmount\n useEffect(() => {\n value.animation = animation;\n return () => (value.animation = undefined);\n }, [animation, value]);\n\n // Return the value that is animated\n return value;\n};\n\nconst equals = <T1, T2>(a: T1, b: T2) => {\n return JSON.stringify(a) === JSON.stringify(b);\n};\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,OAApB,EAA6BC,MAA7B,QAA2C,OAA3C;AAQA,SAASC,QAAT,QAAyB,6BAAzB;AAEA,SAASC,iBAAT,QAAkC,aAAlC;AACA,SAASC,YAAT,QAA6B,gBAA7B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,SAAS,GAAG,CACvBC,UADuB,EAEvBC,MAFuB,EAGvBC,QAHuB,KAID;EAAA;;EACtB;EACA;EACA,MAAMC,UAAU,GAAGR,MAAM,EAAzB;EACA,MAAMS,kBAAkB,GAAGV,OAAO,CAAC,MAAM;IACvC,MAAMW,UAAU,GAAGR,iBAAiB,CAACG,UAAD,EAAaC,MAAb,CAApC;;IACA,IAAI,CAACK,MAAM,CAACH,UAAU,CAACI,OAAZ,EAAqBF,UAArB,CAAX,EAA6C;MAC3CF,UAAU,CAACI,OAAX,GAAqBF,UAArB;IACD;;IACD,OAAOF,UAAU,CAACI,OAAlB;EACD,CANiC,EAM/B,CAACN,MAAD,EAASD,UAAT,CAN+B,CAAlC,CAJsB,CAYtB;;EACA,MAAMQ,KAAK,GAAGZ,QAAQ,0BAACQ,kBAAkB,CAACK,IAApB,yEAA4B,CAA5B,CAAtB,CAbsB,CAetB;EACA;;EACA,MAAMC,gBAAgB,GAAGf,MAAM,EAA/B;EACA,MAAMgB,aAAa,GAAGhB,MAAM,EAA5B;EACA,MAAMiB,SAAS,GAAGlB,OAAO,CAAC,MAAM;IAC9B,IAAI,CAACY,MAAM,CAACK,aAAa,CAACJ,OAAf,EAAwBH,kBAAxB,CAAX,EAAwD;MACtDO,aAAa,CAACJ,OAAd,GAAwBH,kBAAxB;MACAM,gBAAgB,CAACH,OAAjB,GAA2BT,YAAY,CACrCM,kBADqC,EAErCI,KAFqC,EAGrCN,QAHqC,CAAvC;IAKD;;IACD,OAAOQ,gBAAgB,CAACH,OAAxB;EACD,CAVwB,EAUtB,CAACL,QAAD,EAAWE,kBAAX,EAA+BI,KAA/B,CAVsB,CAAzB,CAnBsB,CA+BtB;;EACAf,SAAS,CAAC,MAAM;IACde,KAAK,CAACI,SAAN,GAAkBA,SAAlB;IACA,OAAO,MAAOJ,KAAK,CAACI,SAAN,GAAkBC,SAAhC;EACD,CAHQ,EAGN,CAACD,SAAD,EAAYJ,KAAZ,CAHM,CAAT,CAhCsB,CAqCtB;;EACA,OAAOA,KAAP;AACD,CA3CM;;AA6CP,MAAMF,MAAM,GAAG,CAASQ,CAAT,EAAgBC,CAAhB,KAA0B;EACvC,OAAOC,IAAI,CAACC,SAAL,CAAeH,CAAf,MAAsBE,IAAI,CAACC,SAAL,CAAeF,CAAf,CAA7B;AACD,CAFD"}
@@ -12,11 +12,11 @@ export class JsiSkDOM {
12
12
  }
13
13
 
14
14
  Layer(props) {
15
- return new LayerNode(this.ctx, props ?? {});
15
+ return new LayerNode(this.ctx, props !== null && props !== void 0 ? props : {});
16
16
  }
17
17
 
18
18
  Group(props) {
19
- return new GroupNode(this.ctx, props ?? {});
19
+ return new GroupNode(this.ctx, props !== null && props !== void 0 ? props : {});
20
20
  }
21
21
 
22
22
  Paint(props) {
@@ -1 +1 @@
1
- {"version":3,"names":["FillNode","ImageNode","CircleNode","PathNode","LineNode","PatchNode","PointsNode","RectNode","RRectNode","VerticesNode","TextNode","OvalNode","CustomDrawingNode","TextPathNode","TextBlobNode","GlyphsNode","DiffRectNode","PictureNode","ImageSVGNode","BackdropFilterNode","BoxNode","BoxShadowNode","BlendImageFilterNode","BlurImageFilterNode","BlurMaskFilterNode","DisplacementMapImageFilterNode","DropShadowImageFilterNode","OffsetImageFilterNode","RuntimeShaderImageFilterNode","CornerPathEffectNode","DiscretePathEffectNode","DashPathEffectNode","Path1DPathEffectNode","Path2DPathEffectNode","SumPathEffectNode","Line2DPathEffectNode","BlendNode","MatrixColorFilterNode","LumaColorFilterNode","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilterNode","BlendColorFilterNode","LerpColorFilterNode","LinearGradientNode","ShaderNode","ImageShaderNode","TwoPointConicalGradientNode","TurbulenceNode","SweepGradientNode","RadialGradientNode","FractalNoiseNode","ColorNode","MorphologyImageFilterNode","GroupNode","PaintNode","LayerNode","JsiSkDOM","constructor","ctx","Layer","props","Group","Paint","Fill","Image","Circle","Path","CustomDrawing","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","BlurImageFilter","OffsetImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","LerpColorFilter","Shader","ImageShader","ColorShader","SweepGradient","Turbulence","FractalNoise","LinearGradient","RadialGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n CustomDrawingNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return new PathNode(this.ctx, props);\n }\n\n CustomDrawing(props: CustomDrawingNodeProps) {\n return new CustomDrawingNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return new BoxShadowNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["FillNode","ImageNode","CircleNode","PathNode","LineNode","PatchNode","PointsNode","RectNode","RRectNode","VerticesNode","TextNode","OvalNode","CustomDrawingNode","TextPathNode","TextBlobNode","GlyphsNode","DiffRectNode","PictureNode","ImageSVGNode","BackdropFilterNode","BoxNode","BoxShadowNode","BlendImageFilterNode","BlurImageFilterNode","BlurMaskFilterNode","DisplacementMapImageFilterNode","DropShadowImageFilterNode","OffsetImageFilterNode","RuntimeShaderImageFilterNode","CornerPathEffectNode","DiscretePathEffectNode","DashPathEffectNode","Path1DPathEffectNode","Path2DPathEffectNode","SumPathEffectNode","Line2DPathEffectNode","BlendNode","MatrixColorFilterNode","LumaColorFilterNode","LinearToSRGBGammaColorFilterNode","SRGBToLinearGammaColorFilterNode","BlendColorFilterNode","LerpColorFilterNode","LinearGradientNode","ShaderNode","ImageShaderNode","TwoPointConicalGradientNode","TurbulenceNode","SweepGradientNode","RadialGradientNode","FractalNoiseNode","ColorNode","MorphologyImageFilterNode","GroupNode","PaintNode","LayerNode","JsiSkDOM","constructor","ctx","Layer","props","Group","Paint","Fill","Image","Circle","Path","CustomDrawing","Line","Oval","Patch","Points","Rect","RRect","Vertices","Text","TextPath","TextBlob","Glyphs","DiffRect","Picture","ImageSVG","BlurMaskFilter","BlendImageFilter","DropShadowImageFilter","DisplacementMapImageFilter","BlurImageFilter","OffsetImageFilter","MorphologyImageFilter","RuntimeShaderImageFilter","MatrixColorFilter","BlendColorFilter","LumaColorFilter","LinearToSRGBGammaColorFilter","SRGBToLinearGammaColorFilter","LerpColorFilter","Shader","ImageShader","ColorShader","SweepGradient","Turbulence","FractalNoise","LinearGradient","RadialGradient","TwoPointConicalGradient","CornerPathEffect","DiscretePathEffect","DashPathEffect","Path1DPathEffect","Path2DPathEffect","SumPathEffect","Line2DPathEffect","Blend","BackdropFilter","Box","BoxShadow"],"sources":["JsiSkDOM.ts"],"sourcesContent":["import type {\n PathProps,\n SkDOM,\n GroupProps,\n ImageProps,\n BlurImageFilterProps,\n MatrixColorFilterProps,\n CircleProps,\n BlurMaskFilterProps,\n LinearGradientProps,\n PaintProps,\n ShaderProps,\n ImageShaderProps,\n CustomDrawingNodeProps,\n LineProps,\n OvalProps,\n PatchProps,\n PointsProps,\n RectProps,\n RoundedRectProps,\n VerticesProps,\n TextProps,\n DiffRectProps,\n OffsetImageFilterProps,\n BlendColorFilterProps,\n TextPathProps,\n TextBlobProps,\n GlyphsProps,\n TwoPointConicalGradientProps,\n TurbulenceProps,\n SweepGradientProps,\n RadialGradientProps,\n FractalNoiseProps,\n ColorProps,\n PictureProps,\n ImageSVGProps,\n LerpColorFilterProps,\n DrawingNodeProps,\n BoxProps,\n BoxShadowProps,\n ChildrenProps,\n} from \"../types\";\nimport type {\n BlendImageFilterProps,\n BlendProps,\n DisplacementMapImageFilterProps,\n DropShadowImageFilterProps,\n MorphologyImageFilterProps,\n RuntimeShaderImageFilterProps,\n} from \"../types/ImageFilters\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../types/PathEffects\";\n\nimport {\n FillNode,\n ImageNode,\n CircleNode,\n PathNode,\n LineNode,\n PatchNode,\n PointsNode,\n RectNode,\n RRectNode,\n VerticesNode,\n TextNode,\n OvalNode,\n CustomDrawingNode,\n TextPathNode,\n TextBlobNode,\n GlyphsNode,\n DiffRectNode,\n PictureNode,\n ImageSVGNode,\n BackdropFilterNode,\n BoxNode,\n BoxShadowNode,\n} from \"./drawings\";\nimport {\n BlendImageFilterNode,\n BlurImageFilterNode,\n BlurMaskFilterNode,\n DisplacementMapImageFilterNode,\n DropShadowImageFilterNode,\n OffsetImageFilterNode,\n RuntimeShaderImageFilterNode,\n CornerPathEffectNode,\n DiscretePathEffectNode,\n DashPathEffectNode,\n Path1DPathEffectNode,\n Path2DPathEffectNode,\n SumPathEffectNode,\n Line2DPathEffectNode,\n BlendNode,\n} from \"./paint\";\nimport {\n MatrixColorFilterNode,\n LumaColorFilterNode,\n LinearToSRGBGammaColorFilterNode,\n SRGBToLinearGammaColorFilterNode,\n BlendColorFilterNode,\n LerpColorFilterNode,\n} from \"./paint/ColorFilters\";\nimport {\n LinearGradientNode,\n ShaderNode,\n ImageShaderNode,\n TwoPointConicalGradientNode,\n TurbulenceNode,\n SweepGradientNode,\n RadialGradientNode,\n FractalNoiseNode,\n ColorNode,\n} from \"./paint/Shaders\";\nimport { MorphologyImageFilterNode } from \"./paint/ImageFilters\";\nimport { GroupNode } from \"./GroupNode\";\nimport { PaintNode } from \"./PaintNode\";\nimport type { NodeContext } from \"./Node\";\nimport { LayerNode } from \"./LayerNode\";\n\nexport class JsiSkDOM implements SkDOM {\n constructor(private ctx: NodeContext) {}\n\n Layer(props?: ChildrenProps) {\n return new LayerNode(this.ctx, props ?? {});\n }\n\n Group(props?: GroupProps) {\n return new GroupNode(this.ctx, props ?? {});\n }\n\n Paint(props: PaintProps) {\n return new PaintNode(this.ctx, props);\n }\n\n // Drawings\n Fill(props?: DrawingNodeProps) {\n return new FillNode(this.ctx, props);\n }\n\n Image(props: ImageProps) {\n return new ImageNode(this.ctx, props);\n }\n\n Circle(props: CircleProps) {\n return new CircleNode(this.ctx, props);\n }\n\n Path(props: PathProps) {\n return new PathNode(this.ctx, props);\n }\n\n CustomDrawing(props: CustomDrawingNodeProps) {\n return new CustomDrawingNode(this.ctx, props);\n }\n\n Line(props: LineProps) {\n return new LineNode(this.ctx, props);\n }\n\n Oval(props: OvalProps) {\n return new OvalNode(this.ctx, props);\n }\n\n Patch(props: PatchProps) {\n return new PatchNode(this.ctx, props);\n }\n\n Points(props: PointsProps) {\n return new PointsNode(this.ctx, props);\n }\n\n Rect(props: RectProps) {\n return new RectNode(this.ctx, props);\n }\n\n RRect(props: RoundedRectProps) {\n return new RRectNode(this.ctx, props);\n }\n\n Vertices(props: VerticesProps) {\n return new VerticesNode(this.ctx, props);\n }\n\n Text(props: TextProps) {\n return new TextNode(this.ctx, props);\n }\n\n TextPath(props: TextPathProps) {\n return new TextPathNode(this.ctx, props);\n }\n\n TextBlob(props: TextBlobProps) {\n return new TextBlobNode(this.ctx, props);\n }\n\n Glyphs(props: GlyphsProps) {\n return new GlyphsNode(this.ctx, props);\n }\n\n DiffRect(props: DiffRectProps) {\n return new DiffRectNode(this.ctx, props);\n }\n\n Picture(props: PictureProps) {\n return new PictureNode(this.ctx, props);\n }\n\n ImageSVG(props: ImageSVGProps) {\n return new ImageSVGNode(this.ctx, props);\n }\n\n // BlurMaskFilters\n BlurMaskFilter(props: BlurMaskFilterProps) {\n return new BlurMaskFilterNode(this.ctx, props);\n }\n\n // ImageFilters\n BlendImageFilter(props: BlendImageFilterProps) {\n return new BlendImageFilterNode(this.ctx, props);\n }\n\n DropShadowImageFilter(props: DropShadowImageFilterProps) {\n return new DropShadowImageFilterNode(this.ctx, props);\n }\n\n DisplacementMapImageFilter(props: DisplacementMapImageFilterProps) {\n return new DisplacementMapImageFilterNode(this.ctx, props);\n }\n\n BlurImageFilter(props: BlurImageFilterProps) {\n return new BlurImageFilterNode(this.ctx, props);\n }\n\n OffsetImageFilter(props: OffsetImageFilterProps) {\n return new OffsetImageFilterNode(this.ctx, props);\n }\n\n MorphologyImageFilter(props: MorphologyImageFilterProps) {\n return new MorphologyImageFilterNode(this.ctx, props);\n }\n\n RuntimeShaderImageFilter(props: RuntimeShaderImageFilterProps) {\n return new RuntimeShaderImageFilterNode(this.ctx, props);\n }\n\n // Color Filters\n MatrixColorFilter(props: MatrixColorFilterProps) {\n return new MatrixColorFilterNode(this.ctx, props);\n }\n\n BlendColorFilter(props: BlendColorFilterProps) {\n return new BlendColorFilterNode(this.ctx, props);\n }\n\n LumaColorFilter() {\n return new LumaColorFilterNode(this.ctx);\n }\n\n LinearToSRGBGammaColorFilter() {\n return new LinearToSRGBGammaColorFilterNode(this.ctx);\n }\n\n SRGBToLinearGammaColorFilter() {\n return new SRGBToLinearGammaColorFilterNode(this.ctx);\n }\n\n LerpColorFilter(props: LerpColorFilterProps) {\n return new LerpColorFilterNode(this.ctx, props);\n }\n\n // Shaders\n Shader(props: ShaderProps) {\n return new ShaderNode(this.ctx, props);\n }\n\n ImageShader(props: ImageShaderProps) {\n return new ImageShaderNode(this.ctx, props);\n }\n\n ColorShader(props: ColorProps) {\n return new ColorNode(this.ctx, props);\n }\n\n SweepGradient(props: SweepGradientProps) {\n return new SweepGradientNode(this.ctx, props);\n }\n\n Turbulence(props: TurbulenceProps) {\n return new TurbulenceNode(this.ctx, props);\n }\n\n FractalNoise(props: FractalNoiseProps) {\n return new FractalNoiseNode(this.ctx, props);\n }\n\n LinearGradient(props: LinearGradientProps) {\n return new LinearGradientNode(this.ctx, props);\n }\n\n RadialGradient(props: RadialGradientProps) {\n return new RadialGradientNode(this.ctx, props);\n }\n\n TwoPointConicalGradient(props: TwoPointConicalGradientProps) {\n return new TwoPointConicalGradientNode(this.ctx, props);\n }\n\n // Path Effects\n CornerPathEffect(props: CornerPathEffectProps) {\n return new CornerPathEffectNode(this.ctx, props);\n }\n\n DiscretePathEffect(props: DiscretePathEffectProps) {\n return new DiscretePathEffectNode(this.ctx, props);\n }\n\n DashPathEffect(props: DashPathEffectProps) {\n return new DashPathEffectNode(this.ctx, props);\n }\n\n Path1DPathEffect(props: Path1DPathEffectProps) {\n return new Path1DPathEffectNode(this.ctx, props);\n }\n\n Path2DPathEffect(props: Path2DPathEffectProps) {\n return new Path2DPathEffectNode(this.ctx, props);\n }\n\n SumPathEffect() {\n return new SumPathEffectNode(this.ctx);\n }\n\n Line2DPathEffect(props: Line2DPathEffectProps) {\n return new Line2DPathEffectNode(this.ctx, props);\n }\n\n Blend(props: BlendProps) {\n return new BlendNode(this.ctx, props);\n }\n\n BackdropFilter(props: ChildrenProps) {\n return new BackdropFilterNode(this.ctx, props);\n }\n\n Box(props: BoxProps) {\n return new BoxNode(this.ctx, props);\n }\n\n BoxShadow(props: BoxShadowProps) {\n return new BoxShadowNode(this.ctx, props);\n }\n}\n"],"mappings":"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"}
@@ -22,8 +22,8 @@ export const processGradientProps = (Skia, _ref) => {
22
22
  processTransformProps(localMatrix, transform);
23
23
  return {
24
24
  colors: colors.map(color => Skia.Color(color)),
25
- positions: positions ?? null,
26
- mode: TileMode[enumKey(mode ?? "clamp")],
25
+ positions: positions !== null && positions !== void 0 ? positions : null,
26
+ mode: TileMode[enumKey(mode !== null && mode !== void 0 ? mode : "clamp")],
27
27
  flags,
28
28
  localMatrix
29
29
  };
@@ -1 +1 @@
1
- {"version":3,"names":["TileMode","enumKey","processTransformProps","transformOrigin","origin","transform","translateX","x","translateY","y","processGradientProps","Skia","colors","positions","mode","flags","localMatrix","Matrix","map","color","Color","getRect","props","width","height","rect","undefined","XYWHRect"],"sources":["Gradient.ts"],"sourcesContent":["import type { Skia, SkRect, Transforms2d, Vector } from \"../../../skia/types\";\nimport { TileMode } from \"../../../skia/types\";\nimport type { GradientProps, ImageShaderProps } from \"../../types\";\n\nimport { enumKey } from \"./Enum\";\nimport { processTransformProps } from \"./Transform\";\n\nexport const transformOrigin = (origin: Vector, transform: Transforms2d) => [\n { translateX: origin.x },\n { translateY: origin.y },\n ...transform,\n { translateX: -origin.x },\n { translateY: -origin.y },\n];\n\nexport const processGradientProps = (\n Skia: Skia,\n { colors, positions, mode, flags, ...transform }: GradientProps\n) => {\n const localMatrix = Skia.Matrix();\n processTransformProps(localMatrix, transform);\n return {\n colors: colors.map((color) => Skia.Color(color)),\n positions: positions ?? null,\n mode: TileMode[enumKey(mode ?? \"clamp\")],\n flags,\n localMatrix,\n };\n};\n\nexport const getRect = (\n Skia: Skia,\n props: Omit<ImageShaderProps, \"tx\" | \"ty\" | \"fm\" | \"mm\" | \"fit\" | \"image\">\n): SkRect | undefined => {\n const { x, y, width, height } = props;\n if (props.rect) {\n return props.rect;\n } else if (\n x !== undefined &&\n y !== undefined &&\n width !== undefined &&\n height !== undefined\n ) {\n return Skia.XYWHRect(x, y, width, height);\n } else {\n return undefined;\n }\n};\n"],"mappings":"AACA,SAASA,QAAT,QAAyB,qBAAzB;AAGA,SAASC,OAAT,QAAwB,QAAxB;AACA,SAASC,qBAAT,QAAsC,aAAtC;AAEA,OAAO,MAAMC,eAAe,GAAG,CAACC,MAAD,EAAiBC,SAAjB,KAA6C,CAC1E;EAAEC,UAAU,EAAEF,MAAM,CAACG;AAArB,CAD0E,EAE1E;EAAEC,UAAU,EAAEJ,MAAM,CAACK;AAArB,CAF0E,EAG1E,GAAGJ,SAHuE,EAI1E;EAAEC,UAAU,EAAE,CAACF,MAAM,CAACG;AAAtB,CAJ0E,EAK1E;EAAEC,UAAU,EAAE,CAACJ,MAAM,CAACK;AAAtB,CAL0E,CAArE;AAQP,OAAO,MAAMC,oBAAoB,GAAG,CAClCC,IADkC,WAG/B;EAAA,IADH;IAAEC,MAAF;IAAUC,SAAV;IAAqBC,IAArB;IAA2BC,KAA3B;IAAkC,GAAGV;EAArC,CACG;EACH,MAAMW,WAAW,GAAGL,IAAI,CAACM,MAAL,EAApB;EACAf,qBAAqB,CAACc,WAAD,EAAcX,SAAd,CAArB;EACA,OAAO;IACLO,MAAM,EAAEA,MAAM,CAACM,GAAP,CAAYC,KAAD,IAAWR,IAAI,CAACS,KAAL,CAAWD,KAAX,CAAtB,CADH;IAELN,SAAS,EAAEA,SAAS,IAAI,IAFnB;IAGLC,IAAI,EAAEd,QAAQ,CAACC,OAAO,CAACa,IAAI,IAAI,OAAT,CAAR,CAHT;IAILC,KAJK;IAKLC;EALK,CAAP;AAOD,CAbM;AAeP,OAAO,MAAMK,OAAO,GAAG,CACrBV,IADqB,EAErBW,KAFqB,KAGE;EACvB,MAAM;IAAEf,CAAF;IAAKE,CAAL;IAAQc,KAAR;IAAeC;EAAf,IAA0BF,KAAhC;;EACA,IAAIA,KAAK,CAACG,IAAV,EAAgB;IACd,OAAOH,KAAK,CAACG,IAAb;EACD,CAFD,MAEO,IACLlB,CAAC,KAAKmB,SAAN,IACAjB,CAAC,KAAKiB,SADN,IAEAH,KAAK,KAAKG,SAFV,IAGAF,MAAM,KAAKE,SAJN,EAKL;IACA,OAAOf,IAAI,CAACgB,QAAL,CAAcpB,CAAd,EAAiBE,CAAjB,EAAoBc,KAApB,EAA2BC,MAA3B,CAAP;EACD,CAPM,MAOA;IACL,OAAOE,SAAP;EACD;AACF,CAjBM"}
1
+ {"version":3,"names":["TileMode","enumKey","processTransformProps","transformOrigin","origin","transform","translateX","x","translateY","y","processGradientProps","Skia","colors","positions","mode","flags","localMatrix","Matrix","map","color","Color","getRect","props","width","height","rect","undefined","XYWHRect"],"sources":["Gradient.ts"],"sourcesContent":["import type { Skia, SkRect, Transforms2d, Vector } from \"../../../skia/types\";\nimport { TileMode } from \"../../../skia/types\";\nimport type { GradientProps, ImageShaderProps } from \"../../types\";\n\nimport { enumKey } from \"./Enum\";\nimport { processTransformProps } from \"./Transform\";\n\nexport const transformOrigin = (origin: Vector, transform: Transforms2d) => [\n { translateX: origin.x },\n { translateY: origin.y },\n ...transform,\n { translateX: -origin.x },\n { translateY: -origin.y },\n];\n\nexport const processGradientProps = (\n Skia: Skia,\n { colors, positions, mode, flags, ...transform }: GradientProps\n) => {\n const localMatrix = Skia.Matrix();\n processTransformProps(localMatrix, transform);\n return {\n colors: colors.map((color) => Skia.Color(color)),\n positions: positions ?? null,\n mode: TileMode[enumKey(mode ?? \"clamp\")],\n flags,\n localMatrix,\n };\n};\n\nexport const getRect = (\n Skia: Skia,\n props: Omit<ImageShaderProps, \"tx\" | \"ty\" | \"fm\" | \"mm\" | \"fit\" | \"image\">\n): SkRect | undefined => {\n const { x, y, width, height } = props;\n if (props.rect) {\n return props.rect;\n } else if (\n x !== undefined &&\n y !== undefined &&\n width !== undefined &&\n height !== undefined\n ) {\n return Skia.XYWHRect(x, y, width, height);\n } else {\n return undefined;\n }\n};\n"],"mappings":"AACA,SAASA,QAAT,QAAyB,qBAAzB;AAGA,SAASC,OAAT,QAAwB,QAAxB;AACA,SAASC,qBAAT,QAAsC,aAAtC;AAEA,OAAO,MAAMC,eAAe,GAAG,CAACC,MAAD,EAAiBC,SAAjB,KAA6C,CAC1E;EAAEC,UAAU,EAAEF,MAAM,CAACG;AAArB,CAD0E,EAE1E;EAAEC,UAAU,EAAEJ,MAAM,CAACK;AAArB,CAF0E,EAG1E,GAAGJ,SAHuE,EAI1E;EAAEC,UAAU,EAAE,CAACF,MAAM,CAACG;AAAtB,CAJ0E,EAK1E;EAAEC,UAAU,EAAE,CAACJ,MAAM,CAACK;AAAtB,CAL0E,CAArE;AAQP,OAAO,MAAMC,oBAAoB,GAAG,CAClCC,IADkC,WAG/B;EAAA,IADH;IAAEC,MAAF;IAAUC,SAAV;IAAqBC,IAArB;IAA2BC,KAA3B;IAAkC,GAAGV;EAArC,CACG;EACH,MAAMW,WAAW,GAAGL,IAAI,CAACM,MAAL,EAApB;EACAf,qBAAqB,CAACc,WAAD,EAAcX,SAAd,CAArB;EACA,OAAO;IACLO,MAAM,EAAEA,MAAM,CAACM,GAAP,CAAYC,KAAD,IAAWR,IAAI,CAACS,KAAL,CAAWD,KAAX,CAAtB,CADH;IAELN,SAAS,EAAEA,SAAF,aAAEA,SAAF,cAAEA,SAAF,GAAe,IAFnB;IAGLC,IAAI,EAAEd,QAAQ,CAACC,OAAO,CAACa,IAAD,aAACA,IAAD,cAACA,IAAD,GAAS,OAAT,CAAR,CAHT;IAILC,KAJK;IAKLC;EALK,CAAP;AAOD,CAbM;AAeP,OAAO,MAAMK,OAAO,GAAG,CACrBV,IADqB,EAErBW,KAFqB,KAGE;EACvB,MAAM;IAAEf,CAAF;IAAKE,CAAL;IAAQc,KAAR;IAAeC;EAAf,IAA0BF,KAAhC;;EACA,IAAIA,KAAK,CAACG,IAAV,EAAgB;IACd,OAAOH,KAAK,CAACG,IAAb;EACD,CAFD,MAEO,IACLlB,CAAC,KAAKmB,SAAN,IACAjB,CAAC,KAAKiB,SADN,IAEAH,KAAK,KAAKG,SAFV,IAGAF,MAAM,KAAKE,SAJN,EAKL;IACA,OAAOf,IAAI,CAACgB,QAAL,CAAcpB,CAAd,EAAiBE,CAAjB,EAAoBc,KAApB,EAA2BC,MAA3B,CAAP;EACD,CAPM,MAOA;IACL,OAAOE,SAAP;EACD;AACF,CAjBM"}
@@ -44,6 +44,8 @@ export class ImageShaderNode extends ShaderDeclaration {
44
44
  const rct = getRect(this.Skia, imageShaderProps);
45
45
 
46
46
  if (rct) {
47
+ var _imageShaderProps$tra;
48
+
47
49
  const rects = fitRects(fit, {
48
50
  x: 0,
49
51
  y: 0,
@@ -51,7 +53,7 @@ export class ImageShaderNode extends ShaderDeclaration {
51
53
  height: image.height()
52
54
  }, rct);
53
55
  const m3 = rect2rect(rects.src, rects.dst);
54
- imageShaderProps.transform = [...(imageShaderProps.transform ?? []), ...m3];
56
+ imageShaderProps.transform = [...((_imageShaderProps$tra = imageShaderProps.transform) !== null && _imageShaderProps$tra !== void 0 ? _imageShaderProps$tra : []), ...m3];
55
57
  }
56
58
 
57
59
  const lm = this.Skia.Matrix();
@@ -126,7 +128,7 @@ export class LinearGradientNode extends ShaderDeclaration {
126
128
  localMatrix,
127
129
  flags
128
130
  } = processGradientProps(this.Skia, this.props);
129
- return this.Skia.Shader.MakeLinearGradient(start, end, colors, positions ?? null, mode, localMatrix, flags);
131
+ return this.Skia.Shader.MakeLinearGradient(start, end, colors, positions !== null && positions !== void 0 ? positions : null, mode, localMatrix, flags);
130
132
  }
131
133
 
132
134
  }
@@ -1 +1 @@
1
- {"version":3,"names":["processUniforms","FilterMode","MipmapMode","TileMode","JsiDeclarationNode","DeclarationType","NodeType","processColor","enumKey","fitRects","getRect","processGradientProps","processTransformProps","rect2rect","ShaderDeclaration","constructor","ctx","type","props","Shader","ShaderNode","materialize","source","uniforms","transform","m3","Skia","Matrix","makeShaderWithChildren","children","filter","child","isShader","map","ImageShaderNode","ImageShader","fit","image","tx","ty","fm","mm","imageShaderProps","rct","rects","x","y","width","height","src","dst","lm","makeShaderOptions","ColorNode","ColorShader","color","MakeColor","TurbulenceNode","Turbulence","freqX","freqY","octaves","seed","tileWidth","tileHeight","MakeTurbulence","FractalNoiseNode","FractalNoise","MakeFractalNoise","LinearGradientNode","LinearGradient","start","end","colors","positions","mode","localMatrix","flags","MakeLinearGradient","RadialGradientNode","RadialGradient","c","r","MakeRadialGradient","SweepGradientNode","SweepGradient","MakeSweepGradient","TwoPointConicalGradientNode","TwoPointConicalGradient","startR","endR","MakeTwoPointConicalGradient"],"sources":["Shaders.ts"],"sourcesContent":["import {\n processUniforms,\n FilterMode,\n MipmapMode,\n TileMode,\n} from \"../../../skia/types\";\nimport type { SkShader } from \"../../../skia/types\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\nimport type {\n ColorProps,\n FractalNoiseProps,\n ImageShaderProps,\n LinearGradientProps,\n RadialGradientProps,\n ShaderProps,\n SweepGradientProps,\n TurbulenceProps,\n TwoPointConicalGradientProps,\n} from \"../../types\";\nimport { DeclarationType, NodeType } from \"../../types\";\nimport { processColor } from \"../datatypes/Color\";\nimport {\n enumKey,\n fitRects,\n getRect,\n processGradientProps,\n processTransformProps,\n rect2rect,\n} from \"../datatypes\";\n\nexport abstract class ShaderDeclaration<P> extends JsiDeclarationNode<\n P,\n SkShader\n> {\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, DeclarationType.Shader, type, props);\n }\n}\n\nexport class ShaderNode extends ShaderDeclaration<ShaderProps> {\n constructor(ctx: NodeContext, props: ShaderProps) {\n super(ctx, NodeType.Shader, props);\n }\n\n materialize() {\n const { source, uniforms, ...transform } = this.props;\n const m3 = this.Skia.Matrix();\n processTransformProps(m3, transform);\n return source.makeShaderWithChildren(\n processUniforms(source, uniforms),\n this.children()\n .filter(\n (child): child is JsiDeclarationNode<unknown, SkShader> =>\n child instanceof JsiDeclarationNode && child.isShader()\n )\n .map((child) => child.materialize()),\n m3\n );\n }\n}\n\nexport class ImageShaderNode extends ShaderDeclaration<ImageShaderProps> {\n constructor(ctx: NodeContext, props: ImageShaderProps) {\n super(ctx, NodeType.ImageShader, props);\n }\n\n materialize() {\n const { fit, image, tx, ty, fm, mm, ...imageShaderProps } = this.props;\n const rct = getRect(this.Skia, imageShaderProps);\n if (rct) {\n const rects = fitRects(\n fit,\n { x: 0, y: 0, width: image.width(), height: image.height() },\n rct\n );\n const m3 = rect2rect(rects.src, rects.dst);\n imageShaderProps.transform = [\n ...(imageShaderProps.transform ?? []),\n ...m3,\n ];\n }\n const lm = this.Skia.Matrix();\n processTransformProps(lm, imageShaderProps);\n return image.makeShaderOptions(\n TileMode[enumKey(tx)],\n TileMode[enumKey(ty)],\n FilterMode[enumKey(fm)],\n MipmapMode[enumKey(mm)],\n lm\n );\n }\n}\n\nexport class ColorNode extends ShaderDeclaration<ColorProps> {\n constructor(ctx: NodeContext, props: ColorProps) {\n super(ctx, NodeType.ColorShader, props);\n }\n\n materialize() {\n const { color } = this.props;\n return this.Skia.Shader.MakeColor(processColor(this.Skia, color, 1));\n }\n}\n\nexport class TurbulenceNode extends ShaderDeclaration<TurbulenceProps> {\n constructor(ctx: NodeContext, props: TurbulenceProps) {\n super(ctx, NodeType.Turbulence, props);\n }\n\n materialize() {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = this.props;\n return this.Skia.Shader.MakeTurbulence(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n }\n}\n\nexport class FractalNoiseNode extends ShaderDeclaration<FractalNoiseProps> {\n constructor(ctx: NodeContext, props: FractalNoiseProps) {\n super(ctx, NodeType.FractalNoise, props);\n }\n\n materialize() {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = this.props;\n return this.Skia.Shader.MakeFractalNoise(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n }\n}\n\nexport class LinearGradientNode extends ShaderDeclaration<LinearGradientProps> {\n constructor(ctx: NodeContext, props: LinearGradientProps) {\n super(ctx, NodeType.LinearGradient, props);\n }\n\n materialize() {\n const { start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n return this.Skia.Shader.MakeLinearGradient(\n start,\n end,\n colors,\n positions ?? null,\n mode,\n localMatrix,\n flags\n );\n }\n}\n\nexport class RadialGradientNode extends ShaderDeclaration<RadialGradientProps> {\n constructor(ctx: NodeContext, props: RadialGradientProps) {\n super(ctx, NodeType.RadialGradient, props);\n }\n\n materialize() {\n const { c, r } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n return this.Skia.Shader.MakeRadialGradient(\n c,\n r,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n }\n}\n\nexport class SweepGradientNode extends ShaderDeclaration<SweepGradientProps> {\n constructor(ctx: NodeContext, props: SweepGradientProps) {\n super(ctx, NodeType.SweepGradient, props);\n }\n\n materialize() {\n const { c, start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n return this.Skia.Shader.MakeSweepGradient(\n c.x,\n c.y,\n colors,\n positions,\n mode,\n localMatrix,\n flags,\n start,\n end\n );\n }\n}\n\nexport class TwoPointConicalGradientNode extends ShaderDeclaration<TwoPointConicalGradientProps> {\n constructor(ctx: NodeContext, props: TwoPointConicalGradientProps) {\n super(ctx, NodeType.TwoPointConicalGradient, props);\n }\n\n materialize() {\n const { startR, endR, start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n return this.Skia.Shader.MakeTwoPointConicalGradient(\n start,\n startR,\n end,\n endR,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n }\n}\n"],"mappings":"AAAA,SACEA,eADF,EAEEC,UAFF,EAGEC,UAHF,EAIEC,QAJF,QAKO,qBALP;AAQA,SAASC,kBAAT,QAAmC,SAAnC;AAYA,SAASC,eAAT,EAA0BC,QAA1B,QAA0C,aAA1C;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SACEC,OADF,EAEEC,QAFF,EAGEC,OAHF,EAIEC,oBAJF,EAKEC,qBALF,EAMEC,SANF,QAOO,cAPP;AASA,OAAO,MAAeC,iBAAf,SAA4CV,kBAA5C,CAGL;EACAW,WAAW,CAACC,GAAD,EAAmBC,IAAnB,EAAmCC,KAAnC,EAA6C;IACtD,MAAMF,GAAN,EAAWX,eAAe,CAACc,MAA3B,EAAmCF,IAAnC,EAAyCC,KAAzC;EACD;;AAHD;AAMF,OAAO,MAAME,UAAN,SAAyBN,iBAAzB,CAAwD;EAC7DC,WAAW,CAACC,GAAD,EAAmBE,KAAnB,EAAuC;IAChD,MAAMF,GAAN,EAAWV,QAAQ,CAACa,MAApB,EAA4BD,KAA5B;EACD;;EAEDG,WAAW,GAAG;IACZ,MAAM;MAAEC,MAAF;MAAUC,QAAV;MAAoB,GAAGC;IAAvB,IAAqC,KAAKN,KAAhD;IACA,MAAMO,EAAE,GAAG,KAAKC,IAAL,CAAUC,MAAV,EAAX;IACAf,qBAAqB,CAACa,EAAD,EAAKD,SAAL,CAArB;IACA,OAAOF,MAAM,CAACM,sBAAP,CACL5B,eAAe,CAACsB,MAAD,EAASC,QAAT,CADV,EAEL,KAAKM,QAAL,GACGC,MADH,CAEKC,KAAD,IACEA,KAAK,YAAY3B,kBAAjB,IAAuC2B,KAAK,CAACC,QAAN,EAH7C,EAKGC,GALH,CAKQF,KAAD,IAAWA,KAAK,CAACV,WAAN,EALlB,CAFK,EAQLI,EARK,CAAP;EAUD;;AAnB4D;AAsB/D,OAAO,MAAMS,eAAN,SAA8BpB,iBAA9B,CAAkE;EACvEC,WAAW,CAACC,GAAD,EAAmBE,KAAnB,EAA4C;IACrD,MAAMF,GAAN,EAAWV,QAAQ,CAAC6B,WAApB,EAAiCjB,KAAjC;EACD;;EAEDG,WAAW,GAAG;IACZ,MAAM;MAAEe,GAAF;MAAOC,KAAP;MAAcC,EAAd;MAAkBC,EAAlB;MAAsBC,EAAtB;MAA0BC,EAA1B;MAA8B,GAAGC;IAAjC,IAAsD,KAAKxB,KAAjE;IACA,MAAMyB,GAAG,GAAGjC,OAAO,CAAC,KAAKgB,IAAN,EAAYgB,gBAAZ,CAAnB;;IACA,IAAIC,GAAJ,EAAS;MACP,MAAMC,KAAK,GAAGnC,QAAQ,CACpB2B,GADoB,EAEpB;QAAES,CAAC,EAAE,CAAL;QAAQC,CAAC,EAAE,CAAX;QAAcC,KAAK,EAAEV,KAAK,CAACU,KAAN,EAArB;QAAoCC,MAAM,EAAEX,KAAK,CAACW,MAAN;MAA5C,CAFoB,EAGpBL,GAHoB,CAAtB;MAKA,MAAMlB,EAAE,GAAGZ,SAAS,CAAC+B,KAAK,CAACK,GAAP,EAAYL,KAAK,CAACM,GAAlB,CAApB;MACAR,gBAAgB,CAAClB,SAAjB,GAA6B,CAC3B,IAAIkB,gBAAgB,CAAClB,SAAjB,IAA8B,EAAlC,CAD2B,EAE3B,GAAGC,EAFwB,CAA7B;IAID;;IACD,MAAM0B,EAAE,GAAG,KAAKzB,IAAL,CAAUC,MAAV,EAAX;IACAf,qBAAqB,CAACuC,EAAD,EAAKT,gBAAL,CAArB;IACA,OAAOL,KAAK,CAACe,iBAAN,CACLjD,QAAQ,CAACK,OAAO,CAAC8B,EAAD,CAAR,CADH,EAELnC,QAAQ,CAACK,OAAO,CAAC+B,EAAD,CAAR,CAFH,EAGLtC,UAAU,CAACO,OAAO,CAACgC,EAAD,CAAR,CAHL,EAILtC,UAAU,CAACM,OAAO,CAACiC,EAAD,CAAR,CAJL,EAKLU,EALK,CAAP;EAOD;;AA7BsE;AAgCzE,OAAO,MAAME,SAAN,SAAwBvC,iBAAxB,CAAsD;EAC3DC,WAAW,CAACC,GAAD,EAAmBE,KAAnB,EAAsC;IAC/C,MAAMF,GAAN,EAAWV,QAAQ,CAACgD,WAApB,EAAiCpC,KAAjC;EACD;;EAEDG,WAAW,GAAG;IACZ,MAAM;MAAEkC;IAAF,IAAY,KAAKrC,KAAvB;IACA,OAAO,KAAKQ,IAAL,CAAUP,MAAV,CAAiBqC,SAAjB,CAA2BjD,YAAY,CAAC,KAAKmB,IAAN,EAAY6B,KAAZ,EAAmB,CAAnB,CAAvC,CAAP;EACD;;AAR0D;AAW7D,OAAO,MAAME,cAAN,SAA6B3C,iBAA7B,CAAgE;EACrEC,WAAW,CAACC,GAAD,EAAmBE,KAAnB,EAA2C;IACpD,MAAMF,GAAN,EAAWV,QAAQ,CAACoD,UAApB,EAAgCxC,KAAhC;EACD;;EAEDG,WAAW,GAAG;IACZ,MAAM;MAAEsC,KAAF;MAASC,KAAT;MAAgBC,OAAhB;MAAyBC,IAAzB;MAA+BC,SAA/B;MAA0CC;IAA1C,IAAyD,KAAK9C,KAApE;IACA,OAAO,KAAKQ,IAAL,CAAUP,MAAV,CAAiB8C,cAAjB,CACLN,KADK,EAELC,KAFK,EAGLC,OAHK,EAILC,IAJK,EAKLC,SALK,EAMLC,UANK,CAAP;EAQD;;AAfoE;AAkBvE,OAAO,MAAME,gBAAN,SAA+BpD,iBAA/B,CAAoE;EACzEC,WAAW,CAACC,GAAD,EAAmBE,KAAnB,EAA6C;IACtD,MAAMF,GAAN,EAAWV,QAAQ,CAAC6D,YAApB,EAAkCjD,KAAlC;EACD;;EAEDG,WAAW,GAAG;IACZ,MAAM;MAAEsC,KAAF;MAASC,KAAT;MAAgBC,OAAhB;MAAyBC,IAAzB;MAA+BC,SAA/B;MAA0CC;IAA1C,IAAyD,KAAK9C,KAApE;IACA,OAAO,KAAKQ,IAAL,CAAUP,MAAV,CAAiBiD,gBAAjB,CACLT,KADK,EAELC,KAFK,EAGLC,OAHK,EAILC,IAJK,EAKLC,SALK,EAMLC,UANK,CAAP;EAQD;;AAfwE;AAkB3E,OAAO,MAAMK,kBAAN,SAAiCvD,iBAAjC,CAAwE;EAC7EC,WAAW,CAACC,GAAD,EAAmBE,KAAnB,EAA+C;IACxD,MAAMF,GAAN,EAAWV,QAAQ,CAACgE,cAApB,EAAoCpD,KAApC;EACD;;EAEDG,WAAW,GAAG;IACZ,MAAM;MAAEkD,KAAF;MAASC;IAAT,IAAiB,KAAKtD,KAA5B;IACA,MAAM;MAAEuD,MAAF;MAAUC,SAAV;MAAqBC,IAArB;MAA2BC,WAA3B;MAAwCC;IAAxC,IACJlE,oBAAoB,CAAC,KAAKe,IAAN,EAAY,KAAKR,KAAjB,CADtB;IAEA,OAAO,KAAKQ,IAAL,CAAUP,MAAV,CAAiB2D,kBAAjB,CACLP,KADK,EAELC,GAFK,EAGLC,MAHK,EAILC,SAAS,IAAI,IAJR,EAKLC,IALK,EAMLC,WANK,EAOLC,KAPK,CAAP;EASD;;AAlB4E;AAqB/E,OAAO,MAAME,kBAAN,SAAiCjE,iBAAjC,CAAwE;EAC7EC,WAAW,CAACC,GAAD,EAAmBE,KAAnB,EAA+C;IACxD,MAAMF,GAAN,EAAWV,QAAQ,CAAC0E,cAApB,EAAoC9D,KAApC;EACD;;EAEDG,WAAW,GAAG;IACZ,MAAM;MAAE4D,CAAF;MAAKC;IAAL,IAAW,KAAKhE,KAAtB;IACA,MAAM;MAAEuD,MAAF;MAAUC,SAAV;MAAqBC,IAArB;MAA2BC,WAA3B;MAAwCC;IAAxC,IACJlE,oBAAoB,CAAC,KAAKe,IAAN,EAAY,KAAKR,KAAjB,CADtB;IAEA,OAAO,KAAKQ,IAAL,CAAUP,MAAV,CAAiBgE,kBAAjB,CACLF,CADK,EAELC,CAFK,EAGLT,MAHK,EAILC,SAJK,EAKLC,IALK,EAMLC,WANK,EAOLC,KAPK,CAAP;EASD;;AAlB4E;AAqB/E,OAAO,MAAMO,iBAAN,SAAgCtE,iBAAhC,CAAsE;EAC3EC,WAAW,CAACC,GAAD,EAAmBE,KAAnB,EAA8C;IACvD,MAAMF,GAAN,EAAWV,QAAQ,CAAC+E,aAApB,EAAmCnE,KAAnC;EACD;;EAEDG,WAAW,GAAG;IACZ,MAAM;MAAE4D,CAAF;MAAKV,KAAL;MAAYC;IAAZ,IAAoB,KAAKtD,KAA/B;IACA,MAAM;MAAEuD,MAAF;MAAUC,SAAV;MAAqBC,IAArB;MAA2BC,WAA3B;MAAwCC;IAAxC,IACJlE,oBAAoB,CAAC,KAAKe,IAAN,EAAY,KAAKR,KAAjB,CADtB;IAEA,OAAO,KAAKQ,IAAL,CAAUP,MAAV,CAAiBmE,iBAAjB,CACLL,CAAC,CAACpC,CADG,EAELoC,CAAC,CAACnC,CAFG,EAGL2B,MAHK,EAILC,SAJK,EAKLC,IALK,EAMLC,WANK,EAOLC,KAPK,EAQLN,KARK,EASLC,GATK,CAAP;EAWD;;AApB0E;AAuB7E,OAAO,MAAMe,2BAAN,SAA0CzE,iBAA1C,CAA0F;EAC/FC,WAAW,CAACC,GAAD,EAAmBE,KAAnB,EAAwD;IACjE,MAAMF,GAAN,EAAWV,QAAQ,CAACkF,uBAApB,EAA6CtE,KAA7C;EACD;;EAEDG,WAAW,GAAG;IACZ,MAAM;MAAEoE,MAAF;MAAUC,IAAV;MAAgBnB,KAAhB;MAAuBC;IAAvB,IAA+B,KAAKtD,KAA1C;IACA,MAAM;MAAEuD,MAAF;MAAUC,SAAV;MAAqBC,IAArB;MAA2BC,WAA3B;MAAwCC;IAAxC,IACJlE,oBAAoB,CAAC,KAAKe,IAAN,EAAY,KAAKR,KAAjB,CADtB;IAEA,OAAO,KAAKQ,IAAL,CAAUP,MAAV,CAAiBwE,2BAAjB,CACLpB,KADK,EAELkB,MAFK,EAGLjB,GAHK,EAILkB,IAJK,EAKLjB,MALK,EAMLC,SANK,EAOLC,IAPK,EAQLC,WARK,EASLC,KATK,CAAP;EAWD;;AApB8F"}
1
+ {"version":3,"names":["processUniforms","FilterMode","MipmapMode","TileMode","JsiDeclarationNode","DeclarationType","NodeType","processColor","enumKey","fitRects","getRect","processGradientProps","processTransformProps","rect2rect","ShaderDeclaration","constructor","ctx","type","props","Shader","ShaderNode","materialize","source","uniforms","transform","m3","Skia","Matrix","makeShaderWithChildren","children","filter","child","isShader","map","ImageShaderNode","ImageShader","fit","image","tx","ty","fm","mm","imageShaderProps","rct","rects","x","y","width","height","src","dst","lm","makeShaderOptions","ColorNode","ColorShader","color","MakeColor","TurbulenceNode","Turbulence","freqX","freqY","octaves","seed","tileWidth","tileHeight","MakeTurbulence","FractalNoiseNode","FractalNoise","MakeFractalNoise","LinearGradientNode","LinearGradient","start","end","colors","positions","mode","localMatrix","flags","MakeLinearGradient","RadialGradientNode","RadialGradient","c","r","MakeRadialGradient","SweepGradientNode","SweepGradient","MakeSweepGradient","TwoPointConicalGradientNode","TwoPointConicalGradient","startR","endR","MakeTwoPointConicalGradient"],"sources":["Shaders.ts"],"sourcesContent":["import {\n processUniforms,\n FilterMode,\n MipmapMode,\n TileMode,\n} from \"../../../skia/types\";\nimport type { SkShader } from \"../../../skia/types\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\nimport type {\n ColorProps,\n FractalNoiseProps,\n ImageShaderProps,\n LinearGradientProps,\n RadialGradientProps,\n ShaderProps,\n SweepGradientProps,\n TurbulenceProps,\n TwoPointConicalGradientProps,\n} from \"../../types\";\nimport { DeclarationType, NodeType } from \"../../types\";\nimport { processColor } from \"../datatypes/Color\";\nimport {\n enumKey,\n fitRects,\n getRect,\n processGradientProps,\n processTransformProps,\n rect2rect,\n} from \"../datatypes\";\n\nexport abstract class ShaderDeclaration<P> extends JsiDeclarationNode<\n P,\n SkShader\n> {\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, DeclarationType.Shader, type, props);\n }\n}\n\nexport class ShaderNode extends ShaderDeclaration<ShaderProps> {\n constructor(ctx: NodeContext, props: ShaderProps) {\n super(ctx, NodeType.Shader, props);\n }\n\n materialize() {\n const { source, uniforms, ...transform } = this.props;\n const m3 = this.Skia.Matrix();\n processTransformProps(m3, transform);\n return source.makeShaderWithChildren(\n processUniforms(source, uniforms),\n this.children()\n .filter(\n (child): child is JsiDeclarationNode<unknown, SkShader> =>\n child instanceof JsiDeclarationNode && child.isShader()\n )\n .map((child) => child.materialize()),\n m3\n );\n }\n}\n\nexport class ImageShaderNode extends ShaderDeclaration<ImageShaderProps> {\n constructor(ctx: NodeContext, props: ImageShaderProps) {\n super(ctx, NodeType.ImageShader, props);\n }\n\n materialize() {\n const { fit, image, tx, ty, fm, mm, ...imageShaderProps } = this.props;\n const rct = getRect(this.Skia, imageShaderProps);\n if (rct) {\n const rects = fitRects(\n fit,\n { x: 0, y: 0, width: image.width(), height: image.height() },\n rct\n );\n const m3 = rect2rect(rects.src, rects.dst);\n imageShaderProps.transform = [\n ...(imageShaderProps.transform ?? []),\n ...m3,\n ];\n }\n const lm = this.Skia.Matrix();\n processTransformProps(lm, imageShaderProps);\n return image.makeShaderOptions(\n TileMode[enumKey(tx)],\n TileMode[enumKey(ty)],\n FilterMode[enumKey(fm)],\n MipmapMode[enumKey(mm)],\n lm\n );\n }\n}\n\nexport class ColorNode extends ShaderDeclaration<ColorProps> {\n constructor(ctx: NodeContext, props: ColorProps) {\n super(ctx, NodeType.ColorShader, props);\n }\n\n materialize() {\n const { color } = this.props;\n return this.Skia.Shader.MakeColor(processColor(this.Skia, color, 1));\n }\n}\n\nexport class TurbulenceNode extends ShaderDeclaration<TurbulenceProps> {\n constructor(ctx: NodeContext, props: TurbulenceProps) {\n super(ctx, NodeType.Turbulence, props);\n }\n\n materialize() {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = this.props;\n return this.Skia.Shader.MakeTurbulence(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n }\n}\n\nexport class FractalNoiseNode extends ShaderDeclaration<FractalNoiseProps> {\n constructor(ctx: NodeContext, props: FractalNoiseProps) {\n super(ctx, NodeType.FractalNoise, props);\n }\n\n materialize() {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = this.props;\n return this.Skia.Shader.MakeFractalNoise(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n }\n}\n\nexport class LinearGradientNode extends ShaderDeclaration<LinearGradientProps> {\n constructor(ctx: NodeContext, props: LinearGradientProps) {\n super(ctx, NodeType.LinearGradient, props);\n }\n\n materialize() {\n const { start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n return this.Skia.Shader.MakeLinearGradient(\n start,\n end,\n colors,\n positions ?? null,\n mode,\n localMatrix,\n flags\n );\n }\n}\n\nexport class RadialGradientNode extends ShaderDeclaration<RadialGradientProps> {\n constructor(ctx: NodeContext, props: RadialGradientProps) {\n super(ctx, NodeType.RadialGradient, props);\n }\n\n materialize() {\n const { c, r } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n return this.Skia.Shader.MakeRadialGradient(\n c,\n r,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n }\n}\n\nexport class SweepGradientNode extends ShaderDeclaration<SweepGradientProps> {\n constructor(ctx: NodeContext, props: SweepGradientProps) {\n super(ctx, NodeType.SweepGradient, props);\n }\n\n materialize() {\n const { c, start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n return this.Skia.Shader.MakeSweepGradient(\n c.x,\n c.y,\n colors,\n positions,\n mode,\n localMatrix,\n flags,\n start,\n end\n );\n }\n}\n\nexport class TwoPointConicalGradientNode extends ShaderDeclaration<TwoPointConicalGradientProps> {\n constructor(ctx: NodeContext, props: TwoPointConicalGradientProps) {\n super(ctx, NodeType.TwoPointConicalGradient, props);\n }\n\n materialize() {\n const { startR, endR, start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n return this.Skia.Shader.MakeTwoPointConicalGradient(\n start,\n startR,\n end,\n endR,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n }\n}\n"],"mappings":"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"}
@@ -26,10 +26,14 @@ class Stub {
26
26
  const Noop = () => {};
27
27
 
28
28
  export const Skia = new Stub();
29
- export const vec = (x, y) => ({
30
- x: x ?? 0,
31
- y: y ?? x ?? 0
32
- });
29
+ export const vec = (x, y) => {
30
+ var _ref;
31
+
32
+ return {
33
+ x: x !== null && x !== void 0 ? x : 0,
34
+ y: (_ref = y !== null && y !== void 0 ? y : x) !== null && _ref !== void 0 ? _ref : 0
35
+ };
36
+ };
33
37
  export const Mock = {
34
38
  // SkiaExports
35
39
  // 1. Skia API. BaseSkia contains the enums, and functions like isPaint etc
@@ -62,11 +66,11 @@ export const Mock = {
62
66
  sub: (a, b) => vec(a.x - b.x, a.y - b.y),
63
67
  neg: a => vec(-a.x, -a.y),
64
68
  dist: (a, b) => Math.hypot(a.x - b.x, a.y - b.y),
65
- translate: _ref => {
69
+ translate: _ref2 => {
66
70
  let {
67
71
  x,
68
72
  y
69
- } = _ref;
73
+ } = _ref2;
70
74
  return [{
71
75
  translateX: x
72
76
  }, {