@retikz/react 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/LICENSE +21 -0
  2. package/dist/es/index.d.ts +15 -0
  3. package/dist/es/index.d.ts.map +1 -0
  4. package/dist/es/index.js +10 -0
  5. package/dist/es/kernel/Node.d.ts +34 -0
  6. package/dist/es/kernel/Node.d.ts.map +1 -0
  7. package/dist/es/kernel/Node.js +11 -0
  8. package/dist/es/kernel/Path.d.ts +18 -0
  9. package/dist/es/kernel/Path.d.ts.map +1 -0
  10. package/dist/es/kernel/Path.js +9 -0
  11. package/dist/es/kernel/Step.d.ts +23 -0
  12. package/dist/es/kernel/Step.d.ts.map +1 -0
  13. package/dist/es/kernel/Step.js +10 -0
  14. package/dist/es/kernel/Tikz.d.ts +25 -0
  15. package/dist/es/kernel/Tikz.d.ts.map +1 -0
  16. package/dist/es/kernel/Tikz.js +28 -0
  17. package/dist/es/kernel/_builder.d.ts +8 -0
  18. package/dist/es/kernel/_builder.d.ts.map +1 -0
  19. package/dist/es/kernel/_builder.js +97 -0
  20. package/dist/es/kernel/_displayNames.d.ts +7 -0
  21. package/dist/es/kernel/_displayNames.d.ts.map +1 -0
  22. package/dist/es/kernel/_displayNames.js +9 -0
  23. package/dist/es/kernel/_unbuilder.d.ts +11 -0
  24. package/dist/es/kernel/_unbuilder.d.ts.map +1 -0
  25. package/dist/es/kernel/_unbuilder.js +56 -0
  26. package/dist/es/kernel/index.d.ts +5 -0
  27. package/dist/es/kernel/index.d.ts.map +1 -0
  28. package/dist/es/kernel/index.js +4 -0
  29. package/dist/es/render/browser-measurer.d.ts +7 -0
  30. package/dist/es/render/browser-measurer.d.ts.map +1 -0
  31. package/dist/es/render/browser-measurer.js +35 -0
  32. package/dist/es/render/renderPrim.d.ts +8 -0
  33. package/dist/es/render/renderPrim.d.ts.map +1 -0
  34. package/dist/es/render/renderPrim.js +64 -0
  35. package/dist/es/render/viewBox.d.ts +4 -0
  36. package/dist/es/render/viewBox.d.ts.map +1 -0
  37. package/dist/es/render/viewBox.js +5 -0
  38. package/dist/es/sugar/Draw.d.ts +23 -0
  39. package/dist/es/sugar/Draw.d.ts.map +1 -0
  40. package/dist/es/sugar/Draw.js +30 -0
  41. package/dist/es/sugar/index.d.ts +2 -0
  42. package/dist/es/sugar/index.d.ts.map +1 -0
  43. package/dist/es/sugar/index.js +1 -0
  44. package/dist/lib/index.cjs +17 -0
  45. package/dist/lib/index.d.ts +15 -0
  46. package/dist/lib/index.d.ts.map +1 -0
  47. package/dist/lib/kernel/Node.cjs +11 -0
  48. package/dist/lib/kernel/Node.d.ts +34 -0
  49. package/dist/lib/kernel/Node.d.ts.map +1 -0
  50. package/dist/lib/kernel/Path.cjs +9 -0
  51. package/dist/lib/kernel/Path.d.ts +18 -0
  52. package/dist/lib/kernel/Path.d.ts.map +1 -0
  53. package/dist/lib/kernel/Step.cjs +10 -0
  54. package/dist/lib/kernel/Step.d.ts +23 -0
  55. package/dist/lib/kernel/Step.d.ts.map +1 -0
  56. package/dist/lib/kernel/Tikz.cjs +28 -0
  57. package/dist/lib/kernel/Tikz.d.ts +25 -0
  58. package/dist/lib/kernel/Tikz.d.ts.map +1 -0
  59. package/dist/lib/kernel/_builder.cjs +97 -0
  60. package/dist/lib/kernel/_builder.d.ts +8 -0
  61. package/dist/lib/kernel/_builder.d.ts.map +1 -0
  62. package/dist/lib/kernel/_displayNames.cjs +11 -0
  63. package/dist/lib/kernel/_displayNames.d.ts +7 -0
  64. package/dist/lib/kernel/_displayNames.d.ts.map +1 -0
  65. package/dist/lib/kernel/_unbuilder.cjs +56 -0
  66. package/dist/lib/kernel/_unbuilder.d.ts +11 -0
  67. package/dist/lib/kernel/_unbuilder.d.ts.map +1 -0
  68. package/dist/lib/kernel/index.cjs +4 -0
  69. package/dist/lib/kernel/index.d.ts +5 -0
  70. package/dist/lib/kernel/index.d.ts.map +1 -0
  71. package/dist/lib/render/browser-measurer.cjs +35 -0
  72. package/dist/lib/render/browser-measurer.d.ts +7 -0
  73. package/dist/lib/render/browser-measurer.d.ts.map +1 -0
  74. package/dist/lib/render/renderPrim.cjs +64 -0
  75. package/dist/lib/render/renderPrim.d.ts +8 -0
  76. package/dist/lib/render/renderPrim.d.ts.map +1 -0
  77. package/dist/lib/render/viewBox.cjs +5 -0
  78. package/dist/lib/render/viewBox.d.ts +4 -0
  79. package/dist/lib/render/viewBox.d.ts.map +1 -0
  80. package/dist/lib/sugar/Draw.cjs +30 -0
  81. package/dist/lib/sugar/Draw.d.ts +23 -0
  82. package/dist/lib/sugar/Draw.d.ts.map +1 -0
  83. package/dist/lib/sugar/index.cjs +1 -0
  84. package/dist/lib/sugar/index.d.ts +2 -0
  85. package/dist/lib/sugar/index.d.ts.map +1 -0
  86. package/package.json +50 -0
@@ -0,0 +1,30 @@
1
+ const require_Path = require("../kernel/Path.cjs");
2
+ const require_Step = require("../kernel/Step.cjs");
3
+ let _retikz_core = require("@retikz/core");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ //#region src/sugar/Draw.tsx
6
+ /**
7
+ * Sugar 组件——展开为等价的 <Path><Step.../></Path> Kernel 子树。
8
+ * way 数组的解析委托给 core 的 parseWay,保证"Sugar 不引入新能力"。
9
+ *
10
+ * 注意:本组件由 <Tikz> 的 builder 在 IR 构造阶段同步调用以获取 Kernel JSX,
11
+ * 不在 React render 调用栈上,因此实现里不能使用 React hooks
12
+ * (useState / useMemo / useEffect 等会抛 "Invalid hook call")。
13
+ */
14
+ var Draw = (props) => {
15
+ const { way, stroke, strokeWidth, strokeDasharray } = props;
16
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Path.Path, {
17
+ stroke,
18
+ strokeWidth,
19
+ strokeDasharray,
20
+ children: (0, _retikz_core.parseWay)(way).map((s, i) => s.kind === "move" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Step.Step, {
21
+ kind: "move",
22
+ to: s.to
23
+ }, i) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Step.Step, {
24
+ kind: "line",
25
+ to: s.to
26
+ }, i))
27
+ });
28
+ };
29
+ //#endregion
30
+ exports.Draw = Draw;
@@ -0,0 +1,23 @@
1
+ import { FC } from 'react';
2
+ import { IRPath, WayDSL } from '@retikz/core';
3
+ /** <Draw> 组件的 props */
4
+ export type DrawProps = {
5
+ /** way 数组 DSL:节点 id 字符串、坐标 [x, y]、极坐标对象 */
6
+ way: WayDSL;
7
+ /** 描边色,省略时用 currentColor */
8
+ stroke?: IRPath['stroke'];
9
+ /** 描边宽度,省略时为 1 */
10
+ strokeWidth?: IRPath['strokeWidth'];
11
+ /** SVG stroke-dasharray 模式(如 "4 2") */
12
+ strokeDasharray?: IRPath['strokeDasharray'];
13
+ };
14
+ /**
15
+ * Sugar 组件——展开为等价的 <Path><Step.../></Path> Kernel 子树。
16
+ * way 数组的解析委托给 core 的 parseWay,保证"Sugar 不引入新能力"。
17
+ *
18
+ * 注意:本组件由 <Tikz> 的 builder 在 IR 构造阶段同步调用以获取 Kernel JSX,
19
+ * 不在 React render 调用栈上,因此实现里不能使用 React hooks
20
+ * (useState / useMemo / useEffect 等会抛 "Invalid hook call")。
21
+ */
22
+ export declare const Draw: FC<DrawProps>;
23
+ //# sourceMappingURL=Draw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Draw.d.ts","sourceRoot":"","sources":["../../../src/sugar/Draw.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKnD,uBAAuB;AACvB,MAAM,MAAM,SAAS,GAAG;IACtB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1B,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACpC,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAW9B,CAAC"}
@@ -0,0 +1 @@
1
+ require("./Draw.cjs");
@@ -0,0 +1,2 @@
1
+ export * from './Draw';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sugar/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@retikz/react",
3
+ "version": "0.1.0-alpha.0",
4
+ "description": "React adapter for retikz: Kernel/Sugar JSX components and SVG renderer.",
5
+ "type": "module",
6
+ "main": "dist/lib/index.cjs",
7
+ "module": "dist/es/index.js",
8
+ "types": "dist/lib/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/lib/index.d.ts",
12
+ "import": "./dist/es/index.js",
13
+ "require": "./dist/lib/index.cjs",
14
+ "default": "./dist/es/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "LICENSE",
19
+ "README.md",
20
+ "dist/**/*"
21
+ ],
22
+ "peerDependencies": {
23
+ "react": ">=18",
24
+ "react-dom": ">=18"
25
+ },
26
+ "dependencies": {
27
+ "@retikz/core": "0.1.0-alpha.0"
28
+ },
29
+ "devDependencies": {
30
+ "@types/node": "^25.6.0",
31
+ "@types/react": "~18.2",
32
+ "@types/react-dom": "~18.2",
33
+ "@vitejs/plugin-react": "^6.0.1",
34
+ "react": "~18.2",
35
+ "react-dom": "~18.2",
36
+ "typescript": "^6.0.3",
37
+ "vite": "^8.0.10",
38
+ "vite-plugin-dts": "^4.5.4",
39
+ "vite-tsconfig-paths": "^6.1.1",
40
+ "vitest": "^4.1.5"
41
+ },
42
+ "scripts": {
43
+ "dev": "vite",
44
+ "build": "vite build",
45
+ "lint": "eslint .",
46
+ "preview": "vite preview",
47
+ "test": "vitest",
48
+ "test:run": "vitest run"
49
+ }
50
+ }