@hankchen/canvas-editor 0.4.0 → 0.5.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.
- package/dist/index.d.ts +258 -116
- package/dist/index.js +219 -67
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -594,7 +594,7 @@ declare function deleteLayerInDraft(draft: Draft<Canvas>, path: LayerPath): Dele
|
|
|
594
594
|
* D6 钉定:注入边界一次性转译为内部形状树(不在查询期惰性解析原始 schema,
|
|
595
595
|
* 行业惯例见 schema-completion-research.md)。方言子集 = JSON Schema draft-07 的
|
|
596
596
|
* 结构关键词(`properties` / `items` / `type`)+ 注解关键词(`description` /
|
|
597
|
-
* `title` /
|
|
597
|
+
* `title` / 白名单 `format`,见下)+ 引用关键词
|
|
598
598
|
* (`$ref` 内部 JSON Pointer、`definitions`/`$defs` 命名池);其余关键词
|
|
599
599
|
* (`required`/`enum`/`const`/`allOf` 族/`patternProperties`/`$schema`/`$id` 及
|
|
600
600
|
* 一切未识别键)宽松忽略,节点按已识别字段归一(可能变叶子)。
|
|
@@ -609,10 +609,14 @@ declare function deleteLayerInDraft(draft: Draft<Canvas>, path: LayerPath): Dele
|
|
|
609
609
|
* 注解只影响建议面(date() 建议分桶),求值器/graph/wire 三端零感知。
|
|
610
610
|
*
|
|
611
611
|
* 降级分级(D7):
|
|
612
|
-
* -
|
|
612
|
+
* - **整份拒绝**保留根级结构性问题(在原始文档上判定,拒绝面与 walker 时代
|
|
613
613
|
* 全等):根非对象 / 根缺 properties 层级(含根级 `$ref`——根不解引用)/
|
|
614
614
|
* `reserved_root_key`(根级键 `row` 或 `$` 前缀,前移填充期硬错误,对应
|
|
615
|
-
* `CanvasHydrator::assertReservedRootKeys
|
|
615
|
+
* `CanvasHydrator::assertReservedRootKeys`;仅根级保留,嵌套层同名键合法)+
|
|
616
|
+
* 开放映射契约废除(ADR 0020,resource-expression-single-ref 工单 04):文档
|
|
617
|
+
* 任意层 `additionalProperties: true` 显式拒绝(`open_map_unsupported`,deref
|
|
618
|
+
* 前对原始文档扫描,$ref 目标与宽松忽略关键词容器内同不留活口)——错误信息
|
|
619
|
+
* 教学宿主:动态键由宿主组装成具体 properties 后注入。
|
|
616
620
|
* - **局部故障**(`$ref` 断链 / 外部指针 / 环引用(活跃路径 seen-set 判定)/
|
|
617
621
|
* 目标形态不符)→ 该节点降级为叶子(保留本地 type/description/title 注解)+
|
|
618
622
|
* diagnostics 逐条记录,树其余部分照常服务;注入期由
|
|
@@ -636,9 +640,9 @@ declare function deleteLayerInDraft(draft: Draft<Canvas>, path: LayerPath): Dele
|
|
|
636
640
|
* (type 声明为 array 或声明了 items)收敛为叶子、不沿 items 链穿透:具名段下钻
|
|
637
641
|
* 数组在求值器(InterpolationEvaluator::navigateValue)是静默空串(缺字段信号),
|
|
638
642
|
* 补全不得怂恿写渲染为空白的表达式;类型徽标仍显示 array 本身,不特供「供表格
|
|
639
|
-
* rowsPath 使用」文案(为表达式内置函数留前瞻口,spec D9
|
|
640
|
-
* (
|
|
641
|
-
*
|
|
643
|
+
* rowsPath 使用」文案(为表达式内置函数留前瞻口,spec D9)。开放映射信号面
|
|
644
|
+
* (D10)已随契约废除整体移除(ADR 0020,resource-expression-single-ref 工单
|
|
645
|
+
* 04)——schema 解析边界显式拒绝后,树内不存在动态键节点。
|
|
642
646
|
*
|
|
643
647
|
* 全模块零 DOM、零内部依赖(editor-shared-isolation);除
|
|
644
648
|
* normalizeExpressionSchemaSource 的 console 警告收口(注入期汇总一次)外均为纯函数。
|
|
@@ -650,8 +654,6 @@ interface ExpressionSchemaNode {
|
|
|
650
654
|
/** 展示回落注解(D8):浮层取 description ?? title */
|
|
651
655
|
title?: string;
|
|
652
656
|
description?: string;
|
|
653
|
-
/** 开放映射标记(D10):`additionalProperties: true`;动态字段实际键由宿主合入 properties */
|
|
654
|
-
open?: boolean;
|
|
655
657
|
/**
|
|
656
658
|
* 日期标记注解(工单 11,D13):`format: "date" | "date-time"` 白名单两值、
|
|
657
659
|
* 仅 type 归一为 string 的节点挂;只影响 date() 建议分桶,永不触发诊断
|
|
@@ -665,8 +667,12 @@ interface ExpressionSchemaChildEntry {
|
|
|
665
667
|
key: string;
|
|
666
668
|
node: ExpressionSchemaNode;
|
|
667
669
|
}
|
|
668
|
-
/**
|
|
669
|
-
|
|
670
|
+
/**
|
|
671
|
+
* 声明期拒绝原因:reserved_root_key = 前移的填充期硬错误;invalid_schema = 形态
|
|
672
|
+
* 非法;open_map_unsupported = 开放映射契约废除(ADR 0020:additionalProperties:
|
|
673
|
+
* true 显式拒绝,动态键归宿主组装成具体 properties 后注入)
|
|
674
|
+
*/
|
|
675
|
+
type ExpressionSchemaRejectReason = 'reserved_root_key' | 'invalid_schema' | 'open_map_unsupported';
|
|
670
676
|
/** 局部故障诊断码(D7 四类,全部 $ref 解析面;节点降叶子 + 树其余照常服务) */
|
|
671
677
|
type ExpressionSchemaDiagnosticCode = 'broken_ref' | 'external_ref' | 'circular_ref' | 'target_shape_mismatch';
|
|
672
678
|
/** 一条局部故障诊断:path = 降级节点在原始 schema 文档中的声明路径(JSON Pointer 风格) */
|
|
@@ -686,7 +692,8 @@ type ExpressionSchemaParse = {
|
|
|
686
692
|
};
|
|
687
693
|
/**
|
|
688
694
|
* 声明期编译(D6 注入边界一次性转译):合法 → 节点树 + diagnostics(局部故障
|
|
689
|
-
* 逐条,可为空);根级保留键 → reserved_root_key;根级结构非法 → invalid_schema
|
|
695
|
+
* 逐条,可为空);根级保留键 → reserved_root_key;根级结构非法 → invalid_schema;
|
|
696
|
+
* 开放映射(文档任意层 additionalProperties: true)→ open_map_unsupported。
|
|
690
697
|
* 根级判定在原始文档上进行(根级 `$ref` 不解引用,拒绝面与 walker 时代全等)。
|
|
691
698
|
*/
|
|
692
699
|
declare function parseExpressionSchema(raw: unknown): ExpressionSchemaParse;
|
|
@@ -703,14 +710,12 @@ declare function normalizeExpressionSchemaSource(raw: unknown): ExpressionSchema
|
|
|
703
710
|
*/
|
|
704
711
|
declare function schemaNodeAtPath(node: ExpressionSchemaNode, segments: readonly string[]): ExpressionSchemaNode | null;
|
|
705
712
|
/**
|
|
706
|
-
* 一层子候选枚举结果(D9
|
|
707
|
-
*
|
|
713
|
+
* 一层子候选枚举结果(D9 候选视图的返回面)。开放映射信号(D10)已随契约废除
|
|
714
|
+
* 移除(ADR 0020)——schema 解析边界显式拒绝后,视图只承载候选条目。
|
|
708
715
|
*/
|
|
709
716
|
interface ExpressionSchemaChildView {
|
|
710
717
|
/** 一层子候选(按声明序);数组节点收敛为叶子 = 空(D9) */
|
|
711
718
|
entries: readonly ExpressionSchemaChildEntry[];
|
|
712
|
-
/** 开放映射信号(D10):节点标 open(additionalProperties: true)时为 true;非 open 恒缺省 */
|
|
713
|
-
open?: boolean;
|
|
714
719
|
}
|
|
715
720
|
/**
|
|
716
721
|
* 一层子候选枚举(枚举层候选视图,D9 分叉点):数组节点(type 声明为 array 或
|
|
@@ -718,7 +723,7 @@ interface ExpressionSchemaChildView {
|
|
|
718
723
|
* (navigateValue 缺字段信号),补全不得怂恿写渲染为空白的表达式(spec §2 D9,
|
|
719
724
|
* 2026-09-30 修订 D3);声明自相矛盾(type array 而又带 properties/items)时从疑
|
|
720
725
|
* 同样收敛,对齐 D7 疑点降叶哲学。其余节点取**自身** properties(按声明序),
|
|
721
|
-
* 不沿 items 链穿透。
|
|
726
|
+
* 不沿 items 链穿透。
|
|
722
727
|
* 下钻层(schemaNodeAtPath/resolveRowSchema)机制不动,rowsPath/`row.*`/`$index`
|
|
723
728
|
* 零影响(数组的数组穿透不回归)。
|
|
724
729
|
*/
|
|
@@ -824,16 +829,26 @@ interface CreateGesture {
|
|
|
824
829
|
* textarea(非受控),提交经 commitTextEdit 一次性落文档——「每个拼音音节一个
|
|
825
830
|
* undo」被会话缓冲天然避免(impl 研究 §2.4)。
|
|
826
831
|
*
|
|
827
|
-
* expression
|
|
828
|
-
*
|
|
829
|
-
*
|
|
830
|
-
*
|
|
831
|
-
*
|
|
832
|
-
*
|
|
832
|
+
* expression 是内容模式**活标志**(canvas-web-expression-editing 工单 01 锚定;
|
|
833
|
+
* canvas-web-edit-overlay-toolbar 工单 02 + ADR 0019 改造为活标志,取代旧「进入
|
|
834
|
+
* 时快照冻结」):初值按进入瞬间 `layer.expression !== null` 取定,此后不再冻结
|
|
835
|
+
* ——画布 pill 切换与内核 toggleDataMode 在会话期被调用都只翻本标志(零文档变更
|
|
836
|
+
* 零历史步,防御性路由),旁门内容写(updateData/updateDataExpression 命中编辑层)
|
|
837
|
+
* **不**翻标志、走草稿接管。会话在场时内容模式显示以本标志为单一事实源(pill、
|
|
838
|
+
* 属性面板锁定段、textEditLayout.expressionMode 同源),提交去向由退出时现态
|
|
839
|
+
* 裁决。住 ui 分支不进历史。
|
|
833
840
|
*/
|
|
834
841
|
interface TextEditingSession {
|
|
835
842
|
path: LayerPath;
|
|
836
843
|
expression: boolean;
|
|
844
|
+
/**
|
|
845
|
+
* 草稿接管序号(工单 02,会话内容独占的内核底线面):旁门内容写(查找替换等
|
|
846
|
+
* 程序化写)命中编辑层且文档确实变更时递增——绑定层监听该序号全量替换
|
|
847
|
+
* textarea 草稿为新文档值并刷新表达式诊断(「替换结果出现在正在编辑的框里」,
|
|
848
|
+
* 退出提交仍以草稿为准、任何方向不丢字)。进入编辑时缺省(undefined),首次
|
|
849
|
+
* 接管起计数;标志翻转(pill/toggleDataMode)与零变更事务不递增。
|
|
850
|
+
*/
|
|
851
|
+
draftSeq?: number;
|
|
837
852
|
}
|
|
838
853
|
/**
|
|
839
854
|
* 查找替换会话(canvas-web-find-replace 工单 01,CONTEXT「查找替换」词条):
|
|
@@ -1279,7 +1294,7 @@ type InvalidateTarget = 'content' | 'overlay' | 'both';
|
|
|
1279
1294
|
interface TextEditLayout {
|
|
1280
1295
|
/** 编辑中图层的绝对盒(场景坐标;textarea 覆盖整盒,文字按 padding 内缩) */
|
|
1281
1296
|
box: LayerBox;
|
|
1282
|
-
/**
|
|
1297
|
+
/** 当前文档文本(textarea 初值消费;live 键入只住草稿不落文档) */
|
|
1283
1298
|
text: string;
|
|
1284
1299
|
/** 原始字体引用(空串/纯数字 = 内置默认字体;URL 由绑定层解析注册族名) */
|
|
1285
1300
|
font: string;
|
|
@@ -1301,10 +1316,9 @@ interface TextEditLayout {
|
|
|
1301
1316
|
/** autowrap = textarea pre-wrap 软换行,否则 pre 单行(断行允许与预览不同,决策 A) */
|
|
1302
1317
|
autowrap: boolean;
|
|
1303
1318
|
/**
|
|
1304
|
-
*
|
|
1305
|
-
*
|
|
1306
|
-
*
|
|
1307
|
-
* 无活动会话时按层标记态回落(进入编辑即锚定同值)。
|
|
1319
|
+
* 内容模式活标志(ADR 0019):true = 表达式——绑定层 pill 激活态与补全
|
|
1320
|
+
* enabled 的消费面。取会话活标志(pill 切换与内核 toggleDataMode 会话期实时
|
|
1321
|
+
* 翻转,面板锁定段同源随动);路径无活动会话时按层标记态回落。
|
|
1308
1322
|
*/
|
|
1309
1323
|
expressionMode: boolean;
|
|
1310
1324
|
}
|
|
@@ -1736,11 +1750,10 @@ declare class EditorSession {
|
|
|
1736
1750
|
* 进入文本编辑:路径必须解析到 TextLayer。会话只进 ui 分支(不进历史),
|
|
1737
1751
|
* live 文本住在绑定层的 textarea,内容层随即跳绘该层文本(防重影)。
|
|
1738
1752
|
*
|
|
1739
|
-
*
|
|
1740
|
-
*
|
|
1741
|
-
*
|
|
1742
|
-
*
|
|
1743
|
-
* 不重锚);换层进入按新层现状重锚。
|
|
1753
|
+
* 内容模式活标志(ADR 0019)初值按进入瞬间 `layer.expression !== null` 取定
|
|
1754
|
+
* (与文档现态一致),此后不再冻结——pill 切换与内核 toggleDataMode 会话期
|
|
1755
|
+
* 都只翻标志,提交去向由退出时现态裁决(见 commitTextEdit)。同路径重复进入
|
|
1756
|
+
* 短路(会话不重建,接管序号延续);换层进入按新层现状取初值。
|
|
1744
1757
|
*/
|
|
1745
1758
|
beginTextEdit(path: LayerPath): boolean;
|
|
1746
1759
|
/**
|
|
@@ -1749,22 +1762,24 @@ declare class EditorSession {
|
|
|
1749
1762
|
* 提交与随后 blur 竞态),会话清空后后续调用幂等,保证一次退出恰一步历史。
|
|
1750
1763
|
*
|
|
1751
1764
|
* 提交矩阵(canvas-web-expression-editing 工单 01,spec 决策 3,空串判定先于
|
|
1752
|
-
*
|
|
1753
|
-
*
|
|
1754
|
-
*
|
|
1755
|
-
*
|
|
1765
|
+
* 片段判定;对比对象与去向裁决按会话标志**退出时现态**——活标志语义,ADR
|
|
1766
|
+
* 0019,取代旧「进入时快照」):
|
|
1767
|
+
* - 串与文档一致:不进历史(进出编辑零噪声),返回 false——对比对象随退出时
|
|
1768
|
+
* 会话标志取:表达式现态对比 `layer.expression`、静态现态对比 `layer.text`;
|
|
1756
1769
|
* - 空串:删除该图层(复用 deleteLayer 的 splice/重映射语义),任何模式同语义;
|
|
1757
|
-
* -
|
|
1770
|
+
* - 表达式现态且串含 ≥1 语法有效闭合片段(hasValidExpressionFragment):
|
|
1758
1771
|
* updateDataExpression 标记写(保持标记、text 自动重镜像);
|
|
1759
|
-
* -
|
|
1772
|
+
* - 其余(静态现态恒走此支;表达式现态无合法片段回落):updateData 字面写、
|
|
1760
1773
|
* 字面接管解标——含 `{{...}}` 按字面保留,杜绝无片段标记层。
|
|
1761
1774
|
*/
|
|
1762
1775
|
commitTextEdit(text: string): boolean;
|
|
1763
1776
|
/**
|
|
1764
1777
|
* 编辑 overlay 的布局描述:与绘制/命中同一套布局策略求出的盒几何与排版字段
|
|
1765
1778
|
* (textarea 以盒左上对位、盒尺寸占位,字号/行高/内边距按场景像素交给 CSS
|
|
1766
|
-
* transform
|
|
1767
|
-
*
|
|
1779
|
+
* transform 缩放)。对当前文档现算(canvas-web-edit-overlay-toolbar 工单 01,
|
|
1780
|
+
* ADR 0019 布局现算):会话期样式/几何权威写实时反映到查询值;verticalAnchorY
|
|
1781
|
+
* 按当前文档文本计算——live 键入只住 textarea 草稿不落文档,键入不触发文档
|
|
1782
|
+
* 变更,锚点天然稳定不跳。非文本层/路径失效返回 null。
|
|
1768
1783
|
*/
|
|
1769
1784
|
textEditLayout(path: LayerPath): TextEditLayout | null;
|
|
1770
1785
|
/** 编辑会话的目标图层查询:路径须解析到 TextLayer,其余(含无文档)返回 null */
|
|
@@ -1796,14 +1811,16 @@ declare class EditorSession {
|
|
|
1796
1811
|
* 原地不动——事务后派生列表在被替换处缩一位,原下标即「下一处」(「替换后
|
|
1797
1812
|
* 自动跳下一处」靠派生天然成立,末处替换则钳位停在尾)。写值经 replaceHitsInDraft
|
|
1798
1813
|
* 与文本编辑提交同门(text 直写 + expression 保持 null)。无文档/空 query/
|
|
1799
|
-
* 无命中空转返回 false
|
|
1814
|
+
* 无命中空转返回 false。命中编辑层时草稿接管(会话内容独占,工单 02——
|
|
1815
|
+
* 替换结果出现在正在编辑的框里)。
|
|
1800
1816
|
*/
|
|
1801
1817
|
replaceOne(): boolean;
|
|
1802
1818
|
/**
|
|
1803
1819
|
* 全部替换(查找条「全部替换」按钮):命中(path + 偏移对)在事务前按原文
|
|
1804
1820
|
* 快照一次算定,单事务内按同字段偏移降序应用、替换产物不重扫(replacement
|
|
1805
1821
|
* 含查询串不死循环)——一次调用 = 一步历史,undo 一次全回。返回应用处数
|
|
1806
|
-
* (计数反馈「已替换 N 处」);无文档/空 query 空转返回 0
|
|
1822
|
+
* (计数反馈「已替换 N 处」);无文档/空 query 空转返回 0。命中编辑层时
|
|
1823
|
+
* 草稿接管(会话内容独占,工单 02)。
|
|
1807
1824
|
*/
|
|
1808
1825
|
replaceAll(): number;
|
|
1809
1826
|
/**
|
|
@@ -1834,6 +1851,10 @@ declare class EditorSession {
|
|
|
1834
1851
|
* null,值与标记的镜像关系随之解除——标记态文档经字面编辑退化为字面态,
|
|
1835
1852
|
* 不可自动恢复属预期(spec §3.7 兼容面)。
|
|
1836
1853
|
* 表/行/格无数据字段,空转。
|
|
1854
|
+
*
|
|
1855
|
+
* 会话内容独占(工单 02,ADR 0019 内核底线面):命中编辑层的写落文档的同时
|
|
1856
|
+
* 草稿接管(draftSeq 递增,绑定层全量替换 textarea 草稿)——旁门程序化写的
|
|
1857
|
+
* 结果进编辑框草稿而非被退出提交覆盖,任何方向不丢字。
|
|
1837
1858
|
*/
|
|
1838
1859
|
updateData(path: LayerPath, value: string | null, options?: TransactOptions): void;
|
|
1839
1860
|
/**
|
|
@@ -1846,20 +1867,48 @@ declare class EditorSession {
|
|
|
1846
1867
|
* 字面态空值归一交给 updateData/decode 分支(这里不清值,字面接管语义)。
|
|
1847
1868
|
* - 仅三内容层生效,表/行/格/行模板空转(与 updateData 同门)。
|
|
1848
1869
|
* - updateData 语义不变:字面写解除标记仍成立(spec §1 明示两者并排)。
|
|
1870
|
+
* - 命中编辑层的旁门打标同走草稿接管(draftSeq 递增;会话标志不随动——
|
|
1871
|
+
* 活标志只归 pill/toggleDataMode 翻,见 toggleDataMode)。
|
|
1849
1872
|
*/
|
|
1850
1873
|
updateDataExpression(path: LayerPath, expression: string | null, options?: TransactOptions): void;
|
|
1874
|
+
/**
|
|
1875
|
+
* 数据字段取值方式切换(静态 ⇆ 表达式,工单 02 自面板收编内核):表达式现态
|
|
1876
|
+
* → 字面接管(updateData,值保持现镜像);静态现态 → 打标(updateDataExpression,
|
|
1877
|
+
* 初值 = 值字段原文)。各为独立一步历史(无 mergeKey)。三内容层分派各取值
|
|
1878
|
+
* 字段,表/行/格/悬空路径空转。
|
|
1879
|
+
*
|
|
1880
|
+
* 活标志防御路由(ADR 0019):路径即编辑中的层时只翻会话活标志(零文档变更
|
|
1881
|
+
* 零历史步)——会话期内容模式切换的唯一写入口是会话标志,文档面锁定归编辑框
|
|
1882
|
+
* 草稿;面板锁定段/pill 显式调用与宿主旁路调用都安全收敛到同一语义。
|
|
1883
|
+
*/
|
|
1884
|
+
toggleDataMode(path: LayerPath): void;
|
|
1885
|
+
/**
|
|
1886
|
+
* 内容写事务的统一形(会话内容独占工单 02):transact 落库 + 命中编辑层的
|
|
1887
|
+
* 草稿接管收口——updateData/updateDataExpression/replaceOne/replaceAll 四个
|
|
1888
|
+
* 旁门写入口同门(接管判定见 takeoverDraftIfNeeded;零变更事务天然短路)。
|
|
1889
|
+
*/
|
|
1890
|
+
private transactContent;
|
|
1891
|
+
/**
|
|
1892
|
+
* 草稿接管收口(工单 02):paths 中有编辑层且文档确实变更(引用比较——零变更
|
|
1893
|
+
* 事务 transact 空转不通知,接管序号也不动)时递增会话 draftSeq 并广播
|
|
1894
|
+
* ui.editing。绑定层据此全量替换 textarea 草稿为文档新值并刷新表达式诊断。
|
|
1895
|
+
* commitTextEdit 先清会话再落库,天然不复入接管。
|
|
1896
|
+
*/
|
|
1897
|
+
private takeoverDraftIfNeeded;
|
|
1851
1898
|
/** 更新画布级字段(未选中图层时面板的宽/高写入口);键由类型收窄为 width/height */
|
|
1852
1899
|
updateCanvasProp(key: 'width' | 'height', value: number, options?: TransactOptions): void;
|
|
1853
1900
|
/**
|
|
1854
1901
|
* 注入数据源 schema 声明(载荷形态,D1 钉定:声明即 compile(canvas, dataset)
|
|
1855
1902
|
* 收到的 data 载荷形状,根上下文候选 = 载荷顶层键)。声明经
|
|
1856
1903
|
* normalizeExpressionSchemaSource 一次性编译收口——根级结构性问题(保留键
|
|
1857
|
-
* row/$ 前缀,前移填充期 reserved_root_key;根非对象/缺 properties
|
|
1858
|
-
*
|
|
1859
|
-
*
|
|
1860
|
-
*
|
|
1861
|
-
*
|
|
1862
|
-
*
|
|
1904
|
+
* row/$ 前缀,前移填充期 reserved_root_key;根非对象/缺 properties 层级)
|
|
1905
|
+
* 与开放映射契约废除(open_map_unsupported,ADR 0020:文档任意层
|
|
1906
|
+
* additionalProperties: true 显式拒绝,动态键归宿主组装成具体 properties 后
|
|
1907
|
+
* 注入)降级为无候选 + console 警告,局部故障($ref 断链/外部指针/环引用/
|
|
1908
|
+
* 目标形态不符)不拒绝:该节点降叶子 + 注入期汇总告警一次,树其余部分照常
|
|
1909
|
+
* 服务,不抛错不弹错(辅助声明不作权威);null/undefined = 清除声明。声明只
|
|
1910
|
+
* 住 store ui 分支:不进 graph、不落 localStorage、不进 wire;openDocument
|
|
1911
|
+
* 换文档不重置,重注入/清除走同一入口。签名与「注入即整体替换」语义不变(D6)。
|
|
1863
1912
|
*/
|
|
1864
1913
|
setDataSourceSchema(raw: unknown): void;
|
|
1865
1914
|
/** 上传可用性:未注入 uploadHandler 时为 false(宿主据此隐藏/禁用上传入口) */
|
|
@@ -2555,57 +2604,6 @@ type ExpressionPathParse = {
|
|
|
2555
2604
|
/** 解析点路径:head 分类 + 余段;语法不合法(空片段/空段)返回错误信号 */
|
|
2556
2605
|
declare function parseExpressionPath(expr: string): ExpressionPathParse;
|
|
2557
2606
|
|
|
2558
|
-
/** 字面直通段(不含任何 `{{`) */
|
|
2559
|
-
interface ExpressionScanLiteral {
|
|
2560
|
-
kind: 'literal';
|
|
2561
|
-
start: number;
|
|
2562
|
-
end: number;
|
|
2563
|
-
text: string;
|
|
2564
|
-
}
|
|
2565
|
-
/** 闭合片段(含 `{{ }}` 外壳区域;raw 为外壳内原文,expr 为 trim 后路径) */
|
|
2566
|
-
interface ExpressionScanFragment {
|
|
2567
|
-
kind: 'fragment';
|
|
2568
|
-
start: number;
|
|
2569
|
-
end: number;
|
|
2570
|
-
raw: string;
|
|
2571
|
-
expr: string;
|
|
2572
|
-
/** 空片段/路径空段信号(与求值器 expression_syntax_error 同码);合法为 null */
|
|
2573
|
-
error: ExpressionSyntaxError | null;
|
|
2574
|
-
}
|
|
2575
|
-
/** 未闭合 `{{` 起的输入中片段(求值期按字面;编辑器侧补全触发态) */
|
|
2576
|
-
interface ExpressionScanOpen {
|
|
2577
|
-
kind: 'open';
|
|
2578
|
-
start: number;
|
|
2579
|
-
end: number;
|
|
2580
|
-
/** 含 `{{` 外壳的原文(到串尾) */
|
|
2581
|
-
text: string;
|
|
2582
|
-
/** `{{` 之后内容的 trim 结果(待输入路径,可能为空串) */
|
|
2583
|
-
expr: string;
|
|
2584
|
-
}
|
|
2585
|
-
type ExpressionScanPart = ExpressionScanLiteral | ExpressionScanFragment | ExpressionScanOpen;
|
|
2586
|
-
interface ExpressionScan {
|
|
2587
|
-
template: string;
|
|
2588
|
-
/** 有序切分;parts 拼回恒等于 template(空字面一律省略) */
|
|
2589
|
-
parts: readonly ExpressionScanPart[];
|
|
2590
|
-
}
|
|
2591
|
-
/** PHP trim() 默认字符集(JS String.trim 的 Unicode 空白集与之不同,勿用);
|
|
2592
|
-
* 编辑器侧补全的接受手术同用此集(导出防按值复刻漂移,工单 04) */
|
|
2593
|
-
declare const PHP_TRIM_CHARS = " \t\n\r\0\v";
|
|
2594
|
-
/**
|
|
2595
|
-
* PHP trim() 语义(六字符集):片段 trim 与 vue 侧补全的 expr 前缀截取同用此集
|
|
2596
|
-
* (光标定位参数位,expression-type-methods 工单 12——单一事实源,勿按值复刻;
|
|
2597
|
-
* JS `String.trim()` 含全角空格等 Unicode 空白,会造成与 PHP 的双端漂移)。
|
|
2598
|
-
*/
|
|
2599
|
-
declare function phpTrim(value: string): string;
|
|
2600
|
-
/** 扫描模板串的片段切分:闭合/未闭合/多片段/错误信号,语义对齐求值器扫描循环 */
|
|
2601
|
-
declare function scanExpressionFragments(template: string): ExpressionScan;
|
|
2602
|
-
/**
|
|
2603
|
-
* 光标所在片段判定(编辑器侧语义,PHP 无光标概念故不入跨端 fixture):
|
|
2604
|
-
* closed 片段含光标 ⟺ start < cursor < end(`}}` 之后即离开——输入 `}}` 关闭浮层);
|
|
2605
|
-
* open 片段含光标 ⟺ start < cursor <= end(串尾输入位恒在内)。
|
|
2606
|
-
*/
|
|
2607
|
-
declare function expressionFragmentAtCursor(scan: ExpressionScan, cursor: number): ExpressionScanFragment | ExpressionScanOpen | null;
|
|
2608
|
-
|
|
2609
2607
|
/**
|
|
2610
2608
|
* 最小调用形解析纯函数(expression-type-methods 工单 12,spec §1.1/§1.2 ⑦⑨)。
|
|
2611
2609
|
*
|
|
@@ -2640,7 +2638,21 @@ type ExpressionCallParse = {
|
|
|
2640
2638
|
} | {
|
|
2641
2639
|
ok: false;
|
|
2642
2640
|
error: ExpressionSyntaxError;
|
|
2641
|
+
kind: ExpressionCallErrorKind;
|
|
2642
|
+
at: ExpressionErrorRange;
|
|
2643
2643
|
};
|
|
2644
|
+
/**
|
|
2645
|
+
* 结构错子类(编辑器诊断面,expression-syntax-diagnostics 工单 01):呈现轴,
|
|
2646
|
+
* 不入跨端 fixture(位置本就由本端派生并由单测锁死);中文措辞映射在 vue 层
|
|
2647
|
+
* useExpressionDiagnostics。分类对齐权威端 InterpolationEvaluator 的消息面
|
|
2648
|
+
* (spec §5.2),缺左括号从「括号不平衡」单列便于提示。
|
|
2649
|
+
*/
|
|
2650
|
+
type ExpressionCallErrorKind = 'missing_open_paren' | 'unbalanced_paren' | 'unterminated_string' | 'empty_arg_slot' | 'bad_arg_syntax' | 'trailing_after_call' | 'first_arg_not_path' | 'invalid_path_arg' | 'invalid_path';
|
|
2651
|
+
/** 出错子范围(expr 内坐标,end 独占) */
|
|
2652
|
+
interface ExpressionErrorRange {
|
|
2653
|
+
start: number;
|
|
2654
|
+
end: number;
|
|
2655
|
+
}
|
|
2644
2656
|
/**
|
|
2645
2657
|
* ⑦ 片段分类:首 token 后紧跟可选空白与 `(` 即调用。expr 须已 trim(片段扫描
|
|
2646
2658
|
* 职责,与 parseExpressionPath 契约一致)。
|
|
@@ -2669,6 +2681,140 @@ interface ExpressionCallSlotContext {
|
|
|
2669
2681
|
*/
|
|
2670
2682
|
declare function expressionCallSlotAtEnd(expr: string): ExpressionCallSlotContext | null;
|
|
2671
2683
|
|
|
2684
|
+
/**
|
|
2685
|
+
* 片段扫描纯函数(content-completion 工单 01,spec §4 纯函数 ①)。
|
|
2686
|
+
*
|
|
2687
|
+
* 语义逐条对齐 php-canvas-next `InterpolationEvaluator::evaluate` 扫描循环(只读
|
|
2688
|
+
* 对齐,不改求值器):首个未闭合 `{{` 起剩余全字面、片段内容 trim、`{{}}` 不嵌套
|
|
2689
|
+
* (首个 `}}` 收口,内容含 `{{`)、片段外字面直通;空片段/路径空段 =
|
|
2690
|
+
* `expression_syntax_error` 信号(与求值器同码)。切片语义对调用片段零改动
|
|
2691
|
+
* (spec §1.2 ⑤:首个 `}}` 收口、扫描器引号不感知——片段内禁 `}}` 字面);闭合
|
|
2692
|
+
* 片段的错误信号按 ⑦ 分类分流(路径/调用,expression-type-methods 工单 12)。
|
|
2693
|
+
*
|
|
2694
|
+
* 与求值器的一处表示分叉(编辑器侧补全所需):未闭合 `{{` 在求值期按字面直通,
|
|
2695
|
+
* 在扫描结果里另立 **open 片段**(kind: 'open')——这正是「输入 `{{` 自动弹出」的
|
|
2696
|
+
* 触发态(spec §3),其 expr 是待输入路径;closed 片段仍按求值语义带错误信号。
|
|
2697
|
+
*
|
|
2698
|
+
* 位置字段是 JS 码元索引(end 独占)——与 PHP 字节索引不同空间,跨端共享 fixture
|
|
2699
|
+
* (expression-scan v1)只钉切分内容不钉位置,位置由本端派生并由单测锁死。
|
|
2700
|
+
* trim 字符集对齐 PHP `trim()` 默认六字符(" \t\n\r\0\x0B"),**不是** JS 的
|
|
2701
|
+
* `String.trim()`(后者含全角空格等 Unicode 空白,会造成双端漂移)。
|
|
2702
|
+
*
|
|
2703
|
+
* 全模块纯函数、无 DOM(editor-shared-isolation)。
|
|
2704
|
+
*/
|
|
2705
|
+
|
|
2706
|
+
/** 字面直通段(不含任何 `{{`) */
|
|
2707
|
+
interface ExpressionScanLiteral {
|
|
2708
|
+
kind: 'literal';
|
|
2709
|
+
start: number;
|
|
2710
|
+
end: number;
|
|
2711
|
+
text: string;
|
|
2712
|
+
}
|
|
2713
|
+
/** 闭合片段(含 `{{ }}` 外壳区域;raw 为外壳内原文,expr 为 trim 后路径) */
|
|
2714
|
+
interface ExpressionScanFragment {
|
|
2715
|
+
kind: 'fragment';
|
|
2716
|
+
start: number;
|
|
2717
|
+
end: number;
|
|
2718
|
+
raw: string;
|
|
2719
|
+
expr: string;
|
|
2720
|
+
/** 空片段/路径空段信号(与求值器 expression_syntax_error 同码);合法为 null */
|
|
2721
|
+
error: ExpressionSyntaxError | null;
|
|
2722
|
+
/**
|
|
2723
|
+
* 结构错诊断(expression-syntax-diagnostics 工单 01):kind + 出错子范围,
|
|
2724
|
+
* 模板坐标(expr 坐标平移),at 供选中/定位;合法为 null。error 非空 ⟺
|
|
2725
|
+
* diagnostic 非空(同一判定的两投影,error 供 fixture/既有消费面不动)。
|
|
2726
|
+
*/
|
|
2727
|
+
diagnostic: ExpressionFragmentDiagnostic | null;
|
|
2728
|
+
}
|
|
2729
|
+
/**
|
|
2730
|
+
* 片段诊断 kind(结构面呈现轴,spec §1.2 ⑨ JS 本端;= 调用面子类 + 空片段 +
|
|
2731
|
+
* 资源门子类)。resource_* 两 kind 不由扫描面产出——资源单值门(resourcePath,
|
|
2732
|
+
* ADR 0020)是整串判定,诊断沿本形态面出(kind 供 vue 措辞映射,复用空片段同款)。
|
|
2733
|
+
*/
|
|
2734
|
+
type ExpressionFragmentErrorKind = ExpressionCallErrorKind | 'empty_fragment' | 'resource_not_single_ref' | 'resource_function_call';
|
|
2735
|
+
/** 闭合片段的结构错诊断:位置由本端派生(不入跨端 fixture),措辞映射在 vue 层 */
|
|
2736
|
+
interface ExpressionFragmentDiagnostic {
|
|
2737
|
+
kind: ExpressionFragmentErrorKind;
|
|
2738
|
+
/** 片段外壳范围(模板坐标:start 含 {{,end 含 }}) */
|
|
2739
|
+
start: number;
|
|
2740
|
+
end: number;
|
|
2741
|
+
/** 出错子范围(模板坐标,end 独占)——选中/定位用 */
|
|
2742
|
+
at: ExpressionErrorRange;
|
|
2743
|
+
}
|
|
2744
|
+
/** 未闭合 `{{` 起的输入中片段(求值期按字面;编辑器侧补全触发态) */
|
|
2745
|
+
interface ExpressionScanOpen {
|
|
2746
|
+
kind: 'open';
|
|
2747
|
+
start: number;
|
|
2748
|
+
end: number;
|
|
2749
|
+
/** 含 `{{` 外壳的原文(到串尾) */
|
|
2750
|
+
text: string;
|
|
2751
|
+
/** `{{` 之后内容的 trim 结果(待输入路径,可能为空串) */
|
|
2752
|
+
expr: string;
|
|
2753
|
+
}
|
|
2754
|
+
type ExpressionScanPart = ExpressionScanLiteral | ExpressionScanFragment | ExpressionScanOpen;
|
|
2755
|
+
interface ExpressionScan {
|
|
2756
|
+
template: string;
|
|
2757
|
+
/** 有序切分;parts 拼回恒等于 template(空字面一律省略) */
|
|
2758
|
+
parts: readonly ExpressionScanPart[];
|
|
2759
|
+
}
|
|
2760
|
+
/** PHP trim() 默认字符集(JS String.trim 的 Unicode 空白集与之不同,勿用);
|
|
2761
|
+
* 编辑器侧补全的接受手术同用此集(导出防按值复刻漂移,工单 04) */
|
|
2762
|
+
declare const PHP_TRIM_CHARS = " \t\n\r\0\v";
|
|
2763
|
+
/**
|
|
2764
|
+
* PHP trim() 语义(六字符集):片段 trim 与 vue 侧补全的 expr 前缀截取同用此集
|
|
2765
|
+
* (光标定位参数位,expression-type-methods 工单 12——单一事实源,勿按值复刻;
|
|
2766
|
+
* JS `String.trim()` 含全角空格等 Unicode 空白,会造成与 PHP 的双端漂移)。
|
|
2767
|
+
*/
|
|
2768
|
+
declare function phpTrim(value: string): string;
|
|
2769
|
+
/** 扫描模板串的片段切分:闭合/未闭合/多片段/错误信号,语义对齐求值器扫描循环 */
|
|
2770
|
+
declare function scanExpressionFragments(template: string): ExpressionScan;
|
|
2771
|
+
/**
|
|
2772
|
+
* 光标所在片段判定(编辑器侧语义,PHP 无光标概念故不入跨端 fixture):
|
|
2773
|
+
* closed 片段含光标 ⟺ start < cursor < end(`}}` 之后即离开——输入 `}}` 关闭浮层);
|
|
2774
|
+
* open 片段含光标 ⟺ start < cursor <= end(串尾输入位恒在内)。
|
|
2775
|
+
*/
|
|
2776
|
+
declare function expressionFragmentAtCursor(scan: ExpressionScan, cursor: number): ExpressionScanFragment | ExpressionScanOpen | null;
|
|
2777
|
+
|
|
2778
|
+
/**
|
|
2779
|
+
* 模板级表达式语法诊断汇总(expression-syntax-diagnostics 工单 01):
|
|
2780
|
+
* 编辑器「输入期标错」的统一取数口——扫描 + 收集全部闭合片段的结构错诊断
|
|
2781
|
+
* (kind + 模板坐标出错子范围),供面板/画布提示消费。open 片段不算错(求值期
|
|
2782
|
+
* 字面直通,spec §1.2 ⑤);结构面 only、名单面不校验(§1.2 ⑨,防名单漂移假红)。
|
|
2783
|
+
* 全模块纯函数、无 DOM。
|
|
2784
|
+
*/
|
|
2785
|
+
|
|
2786
|
+
/** 汇总模板中全部片段的结构错诊断(按片段出现顺序) */
|
|
2787
|
+
declare function expressionDiagnostics(template: string): readonly ExpressionFragmentDiagnostic[];
|
|
2788
|
+
|
|
2789
|
+
/**
|
|
2790
|
+
* 资源表达式单值门诊断(resource-expression-single-ref 工单 03,ADR 0020):
|
|
2791
|
+
* 已标记的图片地址/二维码值表达式必须**恰为一个裸点路径片段**——禁多片段拼接、
|
|
2792
|
+
* 禁片段外字面、禁内建函数(格式化标量不是数据端备好的资源引用)、禁空片段。
|
|
2793
|
+
*
|
|
2794
|
+
* 规则与求值端同源同语义(「约束是语法级的」):逐条对齐 php-canvas-next
|
|
2795
|
+
* `CanvasHydrator::assertSingleResourceRef`(权威端,只读对齐)——整串锚定
|
|
2796
|
+
* `^\{\{([^{}]*)\}\}$` + 片段内容 PHP trim 后非空 + 无 `(`。诊断消费面与
|
|
2797
|
+
* expressionDiagnostics 同构(ExpressionFragmentDiagnostic:kind + 模板坐标),
|
|
2798
|
+
* 资源字段(QR/imageSrc)的面板标错据此路由(PropertyField 接线,工单 03 ③)。
|
|
2799
|
+
*
|
|
2800
|
+
* PCRE `$` 尾换行 parity(go-canvas 02 钉定的边角):PCRE `$` 锚(无 `D` 修饰符)
|
|
2801
|
+
* 容忍串尾恰一 `\n`,LF LF / CRLF 仍拦;JS 正则 `$` 只认串尾——锚定前显式剥
|
|
2802
|
+
* 同款单尾 LF 对齐(求值端对 `{{x}}\n` 放行且尾换行按字面直通,编辑器标红即假红)。
|
|
2803
|
+
*
|
|
2804
|
+
* 与文本面扫描诊断(expressionScan)的分野:门是**整串判定**,不是片段级扫描——
|
|
2805
|
+
* 违例的是「整个值」(多片段/字面残留/无片段时无片段外壳可指),诊断 span 恒为
|
|
2806
|
+
* 整个模板串;空片段沿片段面 empty_fragment 同 kind(同一措辞复用)。
|
|
2807
|
+
*
|
|
2808
|
+
* 全模块纯函数、无 DOM;层内依赖仅 expressionScan(phpTrim + 诊断形态)。
|
|
2809
|
+
*/
|
|
2810
|
+
|
|
2811
|
+
/**
|
|
2812
|
+
* 资源表达式单值门(ADR 0020):违例恰 1 条诊断、合法零诊断。门只做语法判定,
|
|
2813
|
+
* 与数据集/schema 在场无关;`$index`/`$root.` 前缀同为裸点路径放行,片段内
|
|
2814
|
+
* 空白属于键名不校验(trim 后非空 + 无 `(` 即过)。
|
|
2815
|
+
*/
|
|
2816
|
+
declare function resourcePathDiagnostics(template: string): readonly ExpressionFragmentDiagnostic[];
|
|
2817
|
+
|
|
2672
2818
|
/**
|
|
2673
2819
|
* 内建函数已知名单与格式建议表(expression-type-methods 工单 12,spec §1.2 ⑨/§2/§3.4)。
|
|
2674
2820
|
*
|
|
@@ -2732,6 +2878,15 @@ interface ExpressionCandidate {
|
|
|
2732
2878
|
* 一起被浮层按 partial 过滤(segment 是整段调用文本,直接过滤永不匹配)
|
|
2733
2879
|
*/
|
|
2734
2880
|
filterKey?: string;
|
|
2881
|
+
/**
|
|
2882
|
+
* 显式分桶判别(resource-expression-single-ref 工单 03,ADR 0020):'path' =
|
|
2883
|
+
* 字段/结构头路径候选,'function' = 函数名建议 + 形状分桶调用插入——资源面
|
|
2884
|
+
* 选择器(工单 05)按 `kind === 'path'` 过滤函数桶,不用 filterKey/含 ( 启发
|
|
2885
|
+
* 式(工单 12 内部约定不作契约)。缺省 = 两桶之外的建议面(date 格式快捷项
|
|
2886
|
+
* ——资源面天然不出现);rowsPath 候选面(RowsPathCandidate 同型别名)不产
|
|
2887
|
+
* 此字段。
|
|
2888
|
+
*/
|
|
2889
|
+
kind?: 'path' | 'function';
|
|
2735
2890
|
}
|
|
2736
2891
|
interface ExpressionCandidateQuery {
|
|
2737
2892
|
context: ExpressionContextKind;
|
|
@@ -2751,12 +2906,6 @@ type ExpressionCandidateResult = {
|
|
|
2751
2906
|
/** 正在输入的未完整段('' = 尾点/空表达式态);恒为 expr 的后缀 */
|
|
2752
2907
|
partial: string;
|
|
2753
2908
|
candidates: readonly ExpressionCandidate[];
|
|
2754
|
-
/**
|
|
2755
|
-
* 开放映射信号(D10):候选来源节点(头部层 = 根 schema,下钻层 = 前缀
|
|
2756
|
-
* 节点)标 open 时为 true,非 open 恒缺省——供浮层渲染「动态字段,键由
|
|
2757
|
-
* 模板定义」占位提示(工单 10),不污染候选条目契约。
|
|
2758
|
-
*/
|
|
2759
|
-
open?: boolean;
|
|
2760
2909
|
} | {
|
|
2761
2910
|
ok: false;
|
|
2762
2911
|
reason: ExpressionSyntaxError;
|
|
@@ -2776,9 +2925,8 @@ declare function enumerateExpressionCandidates(schema: ExpressionSchemaNode | nu
|
|
|
2776
2925
|
* - 数组内不下钻:具名段穿数组在水合端无意义(navigateRows 对列表键不命中),
|
|
2777
2926
|
* 完成段任一落点为数组/标量 → null——数组之下不再产出任何候选(「枚举为空」
|
|
2778
2927
|
* 以走不通同款收口:无补全态、浮层关闭、手输不受阻不阻断),与声明漂移/缺失
|
|
2779
|
-
*
|
|
2780
|
-
*
|
|
2781
|
-
* 空否无关,对齐 schemaChildEntries 的 D10 面),供浮层渲染占位提示行。
|
|
2928
|
+
* 同款,全程不抛错。开放映射信号面(D10)已随契约废除移除(ADR 0020)——
|
|
2929
|
+
* schema 解析边界显式拒绝后,无 properties 的对象节点按标量判别(不可导航)。
|
|
2782
2930
|
* - 候选给当前层全量合法子项、不按 partial 预过滤(前缀过滤归工单 02 浮层面,与
|
|
2783
2931
|
* 表达式枚举器分工同款);单尾点 = 剥点列全量子段;partial 恒为输入串后缀。
|
|
2784
2932
|
* - 元信息:path(起点相对完整点路径)+ description/title 两字段分离透传(展示
|
|
@@ -2806,18 +2954,12 @@ declare function enumerateExpressionCandidates(schema: ExpressionSchemaNode | nu
|
|
|
2806
2954
|
* CompletionItem,浮层零改动复用)。
|
|
2807
2955
|
*/
|
|
2808
2956
|
type RowsPathCandidate = ExpressionCandidate;
|
|
2809
|
-
/** 一次枚举结果(partial/candidates
|
|
2957
|
+
/** 一次枚举结果(partial/candidates 契约同表达式面);null = 无补全态 */
|
|
2810
2958
|
interface RowsPathCandidateResult {
|
|
2811
2959
|
/** 正在输入的未完整段('' = 空输入/单尾点态);恒为输入串后缀 */
|
|
2812
2960
|
partial: string;
|
|
2813
2961
|
/** 当前层全量合法子项(不按 partial 预过滤——前缀过滤归浮层) */
|
|
2814
2962
|
candidates: readonly RowsPathCandidate[];
|
|
2815
|
-
/**
|
|
2816
|
-
* 开放映射信号(D10 同款):枚举落点标 open(additionalProperties: true)时为
|
|
2817
|
-
* true,非 open 恒缺省——浮层渲染「动态字段,键由模板定义」占位提示行,信号
|
|
2818
|
-
* 在场时候选空也不关浮层。
|
|
2819
|
-
*/
|
|
2820
|
-
open?: boolean;
|
|
2821
2963
|
}
|
|
2822
2964
|
/**
|
|
2823
2965
|
* 枚举当前输入串的合法 rowsPath 候选。起点 schema null(判别件降级态)直接无
|
|
@@ -2880,4 +3022,4 @@ declare function memoizeTextPolicies(policies?: TextLayoutPolicies, options?: Me
|
|
|
2880
3022
|
*/
|
|
2881
3023
|
declare const PACKAGE_NAME: "@hankchen/canvas-editor";
|
|
2882
3024
|
|
|
2883
|
-
export { ALIGN_CORNER_MARGIN_PX, ALT_DRAG_DEAD_ZONE_SCREEN_PX, ARM_CREATE_LAYER_TYPES, type AlignBoxGeometry, type AlignToCanvasMode, type AlignToCanvasOptions, type ArmCreateShortcutAction, CREATE_DEAD_ZONE_SCREEN_PX, type CanvasEditorState, type CreateGesture, type CreateRectResult, DATE_FORMAT_SUGGESTIONS, DEFAULT_EDITOR_SHORTCUTS, DEFAULT_ZOOM_BOUNDS, type DeletedLayerRef, type DocRecipe, type DragGesture, EDITOR_STATE_SCHEMA_VERSION, EXPRESSION_FUNCTIONS, type EditorChange, type EditorPrefsState, EditorSession, type EditorSessionOptions, type EditorShortcutAction, type EditorShortcutBinding, type EditorShortcutGroup, type EditorShortcutInput, EditorStore, type EditorUi, type ExpressionCallArg, type ExpressionCallParse, type ExpressionCallSlotContext, type ExpressionCandidate, type ExpressionCandidateQuery, type ExpressionCandidateResult, type ExpressionContextKind, type ExpressionFormatSuggestion, type ExpressionFunctionMeta, type ExpressionPathHead, type ExpressionPathParse, type ExpressionScan, type ExpressionScanFragment, type ExpressionScanLiteral, type ExpressionScanOpen, type ExpressionScanPart, type ExpressionSchemaChildEntry, type ExpressionSchemaChildView, type ExpressionSchemaDiagnostic, type ExpressionSchemaDiagnosticCode, type ExpressionSchemaNode, type ExpressionSchemaParse, type ExpressionSchemaRejectReason, type ExpressionSyntaxError, type FindSession, type FindTextHit, FontCatalog, type FontCatalogEntry, type FrameScheduler, type Guide, type GuideOrientation, type HistoryStep, type HitTestOptions, type InvalidateTarget, type LayerOutlineNode, type LayerOutlineRole, type LayerPath, MAX_HISTORY_STEPS, type MemoTextPoliciesOptions, type MovedSubtreeRef, NUMBER_FUNCTION_SUGGESTIONS, type NextTextStyle, type OverlayPaintArgs, type OverlayPainter, PACKAGE_NAME, PAN_TO_BOX_MARGIN_PX, PASTE_OFFSET_PX, PHP_TRIM_CHARS, type Point, RESIZE_HANDLES, RESIZE_HANDLE_HIT_PX, RESIZE_MIN_SIZE_PX, type Rect, type ResizeAxes, type ResizeBoxGeometry, type ResizeBoxResult, type ResizeHandle, type ResourceStatus, type ResourceStatusMap, type RowsPathCandidate, type RowsPathCandidateResult, SNAP_THRESHOLD_SCREEN_PX, STYLE_FIELD_KEYS_BY_TYPE, type ShortcutCombo, type Size, type SnapAxis, type SnapAxisSource, type SnapBoxGeometry, type SnapPoints, type SnapResolution, type StyleSnapshot, TEXT_PRESETS, type TextEditLayout, type TextEditingSession, type TextPresetId, type TransactOptions, type UploadFile, type UploadHandler, UploadHandlerMissingError, type UploadImagePlacement, type Viewport, WHEEL_ZOOM_STEP, type WheelInput, type WheelIntent, type ZoomBounds, addRootLayerInDraft, addTableCellInDraft, addTableRowInDraft, addTemplateCellInDraft, alignToCanvasTarget, applyStyleFieldsInDraft, buildLayerOutline, canCopyLayerAt, canonicalizeTableSyncInDraft, captureStyleSnapshot, clampZoom, classifyEditorShortcut, classifyWheel, cloneLayerSubtree, convertTableToRowsInDraft, convertTableToTemplateInDraft, createDefaultLayer, createRubberBandRect, createTemplateTable, defaultNextTextStyle, deleteLayerInDraft, enumerateExpressionCandidates, enumerateRowsPathCandidates, expressionCallSlotAtEnd, expressionFragmentAtCursor, fitRect, fitViewport, growRowToCellInDraft, handleResizesHeight, handleResizesWidth, hitTest, insertRootLayerAdjacentInDraft, insertRootLayerInDraft, isCallFragment, isImageContentUndrawn, isLayerPath, isLockedPath, isRootLayerPath, isRootPasteableType, isTemplateSubtreePath, layerBoxByPath, memoizeTextPolicies, moveGuard, moveRootLayerInDraft, moveTableCellInDraft, moveTableCellToRowInDraft, moveTableRowInDraft, moveTableRowToTableInDraft, nextZoomByWheel, normalizeExpressionSchemaSource, panBy, panToBox, parseExpressionCall, parseExpressionPath, parseExpressionSchema, pastePosition, pathStartsWith, pathsEqual, phpTrim, pickNextTextStylePatch, prepareRootPaste, readSpecField, remapPathAfterSplice, replaceHitsInDraft, resizableAxesAt, resizeBox, resizeHandleAt, resizeHandlePoint, resizeHandlesAt, resizeSnapPoints, resolveLayer, resolveRowSchema, resolveRowsPathStartSchema, resolveSnap, resolveSnapPoints, rootLayerOf, scanExpressionFragments, scanTextMatches, sceneToScreen, schemaChildEntries, schemaNodeAtPath, screenToScene, selectionParentPath, setCellAutoHeightInDraft, snapAxesFromBoxes, snapThresholdScene, snapViewportToPhysicalPixels, syncContentIntoCellInDraft, syncRowWidthInDraft, uploadDisplayName, visibleRootBoxes, writeSpecField, zoomAtPoint };
|
|
3025
|
+
export { ALIGN_CORNER_MARGIN_PX, ALT_DRAG_DEAD_ZONE_SCREEN_PX, ARM_CREATE_LAYER_TYPES, type AlignBoxGeometry, type AlignToCanvasMode, type AlignToCanvasOptions, type ArmCreateShortcutAction, CREATE_DEAD_ZONE_SCREEN_PX, type CanvasEditorState, type CreateGesture, type CreateRectResult, DATE_FORMAT_SUGGESTIONS, DEFAULT_EDITOR_SHORTCUTS, DEFAULT_ZOOM_BOUNDS, type DeletedLayerRef, type DocRecipe, type DragGesture, EDITOR_STATE_SCHEMA_VERSION, EXPRESSION_FUNCTIONS, type EditorChange, type EditorPrefsState, EditorSession, type EditorSessionOptions, type EditorShortcutAction, type EditorShortcutBinding, type EditorShortcutGroup, type EditorShortcutInput, EditorStore, type EditorUi, type ExpressionCallArg, type ExpressionCallErrorKind, type ExpressionCallParse, type ExpressionCallSlotContext, type ExpressionCandidate, type ExpressionCandidateQuery, type ExpressionCandidateResult, type ExpressionContextKind, type ExpressionErrorRange, type ExpressionFormatSuggestion, type ExpressionFragmentDiagnostic, type ExpressionFragmentErrorKind, type ExpressionFunctionMeta, type ExpressionPathHead, type ExpressionPathParse, type ExpressionScan, type ExpressionScanFragment, type ExpressionScanLiteral, type ExpressionScanOpen, type ExpressionScanPart, type ExpressionSchemaChildEntry, type ExpressionSchemaChildView, type ExpressionSchemaDiagnostic, type ExpressionSchemaDiagnosticCode, type ExpressionSchemaNode, type ExpressionSchemaParse, type ExpressionSchemaRejectReason, type ExpressionSyntaxError, type FindSession, type FindTextHit, FontCatalog, type FontCatalogEntry, type FrameScheduler, type Guide, type GuideOrientation, type HistoryStep, type HitTestOptions, type InvalidateTarget, type LayerOutlineNode, type LayerOutlineRole, type LayerPath, MAX_HISTORY_STEPS, type MemoTextPoliciesOptions, type MovedSubtreeRef, NUMBER_FUNCTION_SUGGESTIONS, type NextTextStyle, type OverlayPaintArgs, type OverlayPainter, PACKAGE_NAME, PAN_TO_BOX_MARGIN_PX, PASTE_OFFSET_PX, PHP_TRIM_CHARS, type Point, RESIZE_HANDLES, RESIZE_HANDLE_HIT_PX, RESIZE_MIN_SIZE_PX, type Rect, type ResizeAxes, type ResizeBoxGeometry, type ResizeBoxResult, type ResizeHandle, type ResourceStatus, type ResourceStatusMap, type RowsPathCandidate, type RowsPathCandidateResult, SNAP_THRESHOLD_SCREEN_PX, STYLE_FIELD_KEYS_BY_TYPE, type ShortcutCombo, type Size, type SnapAxis, type SnapAxisSource, type SnapBoxGeometry, type SnapPoints, type SnapResolution, type StyleSnapshot, TEXT_PRESETS, type TextEditLayout, type TextEditingSession, type TextPresetId, type TransactOptions, type UploadFile, type UploadHandler, UploadHandlerMissingError, type UploadImagePlacement, type Viewport, WHEEL_ZOOM_STEP, type WheelInput, type WheelIntent, type ZoomBounds, addRootLayerInDraft, addTableCellInDraft, addTableRowInDraft, addTemplateCellInDraft, alignToCanvasTarget, applyStyleFieldsInDraft, buildLayerOutline, canCopyLayerAt, canonicalizeTableSyncInDraft, captureStyleSnapshot, clampZoom, classifyEditorShortcut, classifyWheel, cloneLayerSubtree, convertTableToRowsInDraft, convertTableToTemplateInDraft, createDefaultLayer, createRubberBandRect, createTemplateTable, defaultNextTextStyle, deleteLayerInDraft, enumerateExpressionCandidates, enumerateRowsPathCandidates, expressionCallSlotAtEnd, expressionDiagnostics, expressionFragmentAtCursor, fitRect, fitViewport, growRowToCellInDraft, handleResizesHeight, handleResizesWidth, hitTest, insertRootLayerAdjacentInDraft, insertRootLayerInDraft, isCallFragment, isImageContentUndrawn, isLayerPath, isLockedPath, isRootLayerPath, isRootPasteableType, isTemplateSubtreePath, layerBoxByPath, memoizeTextPolicies, moveGuard, moveRootLayerInDraft, moveTableCellInDraft, moveTableCellToRowInDraft, moveTableRowInDraft, moveTableRowToTableInDraft, nextZoomByWheel, normalizeExpressionSchemaSource, panBy, panToBox, parseExpressionCall, parseExpressionPath, parseExpressionSchema, pastePosition, pathStartsWith, pathsEqual, phpTrim, pickNextTextStylePatch, prepareRootPaste, readSpecField, remapPathAfterSplice, replaceHitsInDraft, resizableAxesAt, resizeBox, resizeHandleAt, resizeHandlePoint, resizeHandlesAt, resizeSnapPoints, resolveLayer, resolveRowSchema, resolveRowsPathStartSchema, resolveSnap, resolveSnapPoints, resourcePathDiagnostics, rootLayerOf, scanExpressionFragments, scanTextMatches, sceneToScreen, schemaChildEntries, schemaNodeAtPath, screenToScene, selectionParentPath, setCellAutoHeightInDraft, snapAxesFromBoxes, snapThresholdScene, snapViewportToPhysicalPixels, syncContentIntoCellInDraft, syncRowWidthInDraft, uploadDisplayName, visibleRootBoxes, writeSpecField, zoomAtPoint };
|