@formicoidea/labre-core 0.41.0 → 0.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/LICENSE +384 -0
  2. package/dist/_pkgs/affine-block-bookmark/bookmark-block.js +2 -2
  3. package/dist/_pkgs/affine-block-data-view/configs/tooltips.js +1 -1
  4. package/dist/_pkgs/affine-block-database/configs/tooltips.js +1 -1
  5. package/dist/_pkgs/affine-block-edgeless-text/edgeless-text-block.js +4 -2
  6. package/dist/_pkgs/affine-block-edgeless-text/edgeless-toolbar/config.js +7 -1
  7. package/dist/_pkgs/affine-block-embed/common/iframe-sandbox.d.ts +39 -0
  8. package/dist/_pkgs/affine-block-embed/common/iframe-sandbox.js +39 -0
  9. package/dist/_pkgs/affine-block-embed/embed-figma-block/embed-figma-block.js +4 -1
  10. package/dist/_pkgs/affine-block-embed/embed-github-block/embed-github-block.js +2 -1
  11. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-error-card.d.ts +14 -1
  12. package/dist/_pkgs/affine-block-embed/embed-iframe-block/components/embed-iframe-error-card.js +21 -2
  13. package/dist/_pkgs/affine-block-embed/embed-iframe-block/consts.js +2 -0
  14. package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.d.ts +2 -1
  15. package/dist/_pkgs/affine-block-embed/embed-iframe-block/embed-iframe-block.js +41 -11
  16. package/dist/_pkgs/affine-block-embed/embed-iframe-block/types.d.ts +16 -0
  17. package/dist/_pkgs/affine-block-embed/embed-iframe-block/types.js +17 -1
  18. package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.d.ts +8 -0
  19. package/dist/_pkgs/affine-block-embed/embed-iframe-block/utils.js +19 -0
  20. package/dist/_pkgs/affine-block-embed/embed-loom-block/embed-loom-block.js +4 -1
  21. package/dist/_pkgs/affine-block-embed/embed-youtube-block/embed-youtube-block.js +4 -1
  22. package/dist/_pkgs/affine-block-embed/index.d.ts +1 -0
  23. package/dist/_pkgs/affine-block-embed/index.js +1 -0
  24. package/dist/_pkgs/affine-block-embed/translations.d.ts +8 -0
  25. package/dist/_pkgs/affine-block-embed/translations.js +28 -0
  26. package/dist/_pkgs/affine-block-embed-doc/embed-linked-doc-block/embed-linked-doc-block.js +4 -2
  27. package/dist/_pkgs/affine-block-embed-doc/embed-synced-doc-block/embed-synced-doc-block.js +2 -2
  28. package/dist/_pkgs/affine-block-frame/frame-manager.js +6 -3
  29. package/dist/_pkgs/affine-block-frame/frame-tool.js +1 -1
  30. package/dist/_pkgs/affine-block-frame/frame-toolbar.js +6 -1
  31. package/dist/_pkgs/affine-block-list/list-keymap.js +7 -0
  32. package/dist/_pkgs/affine-block-list/utils/get-list-icon.js +3 -1
  33. package/dist/_pkgs/affine-block-note/configs/tooltips.js +1 -1
  34. package/dist/_pkgs/affine-block-note/note-keymap.js +7 -1
  35. package/dist/_pkgs/affine-block-paragraph/paragraph-keymap.js +7 -1
  36. package/dist/_pkgs/affine-block-root/adapters/html.js +2 -2
  37. package/dist/_pkgs/affine-block-root/commands/copy-link-commands.d.ts +2 -0
  38. package/dist/_pkgs/affine-block-root/commands/copy-link-commands.js +155 -0
  39. package/dist/_pkgs/affine-block-root/commands/pivot-commands.js +1 -8
  40. package/dist/_pkgs/affine-block-root/commands/tag-commands.js +1 -8
  41. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.d.ts +9 -0
  42. package/dist/_pkgs/affine-block-root/edgeless/edgeless-keyboard.js +51 -0
  43. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.d.ts +22 -0
  44. package/dist/_pkgs/affine-block-root/edgeless/edgeless-root-block.js +46 -0
  45. package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.d.ts +21 -0
  46. package/dist/_pkgs/affine-block-root/edgeless/utils/pinch-zoom.js +24 -0
  47. package/dist/_pkgs/affine-block-root/edgeless/utils/query.js +8 -0
  48. package/dist/_pkgs/affine-block-root/index.d.ts +1 -0
  49. package/dist/_pkgs/affine-block-root/index.js +1 -0
  50. package/dist/_pkgs/affine-block-root/keyboard/keymap.js +1 -16
  51. package/dist/_pkgs/affine-block-root/view.js +2 -0
  52. package/dist/_pkgs/affine-block-surface/element-model/index.d.ts +21 -3
  53. package/dist/_pkgs/affine-block-surface/element-model/index.js +14 -2
  54. package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.d.ts +23 -0
  55. package/dist/_pkgs/affine-block-surface/extensions/export-svg/command.js +89 -0
  56. package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.d.ts +7 -0
  57. package/dist/_pkgs/affine-block-surface/extensions/export-svg/index.js +5 -0
  58. package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.d.ts +41 -0
  59. package/dist/_pkgs/affine-block-surface/extensions/export-svg/render.js +70 -0
  60. package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.d.ts +49 -0
  61. package/dist/_pkgs/affine-block-surface/extensions/export-svg/svg-context.js +257 -0
  62. package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.d.ts +16 -0
  63. package/dist/_pkgs/affine-block-surface/extensions/export-svg/tagged-path.js +24 -0
  64. package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.d.ts +24 -0
  65. package/dist/_pkgs/affine-block-surface/extensions/export-svg/toolbar.js +66 -0
  66. package/dist/_pkgs/affine-block-surface/extensions/index.d.ts +4 -0
  67. package/dist/_pkgs/affine-block-surface/extensions/index.js +4 -0
  68. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.d.ts +66 -4
  69. package/dist/_pkgs/affine-block-surface/extensions/interchange-import.js +253 -11
  70. package/dist/_pkgs/affine-block-surface/extensions/interchange.d.ts +18 -0
  71. package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.d.ts +81 -0
  72. package/dist/_pkgs/affine-block-surface/extensions/legend-toolbar.js +81 -0
  73. package/dist/_pkgs/affine-block-surface/extensions/legend.d.ts +144 -0
  74. package/dist/_pkgs/affine-block-surface/extensions/legend.js +495 -0
  75. package/dist/_pkgs/affine-block-surface/extensions/morph-toolbar.js +4 -0
  76. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.d.ts +17 -3
  77. package/dist/_pkgs/affine-block-surface/extensions/reading-widget.js +35 -13
  78. package/dist/_pkgs/affine-block-surface/extensions/reading.d.ts +61 -1
  79. package/dist/_pkgs/affine-block-surface/extensions/reading.js +85 -39
  80. package/dist/_pkgs/affine-block-surface/extensions/record-action.d.ts +66 -0
  81. package/dist/_pkgs/affine-block-surface/extensions/record-action.js +145 -0
  82. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.d.ts +3 -0
  83. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch-translations.js +23 -0
  84. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.d.ts +1 -1
  85. package/dist/_pkgs/affine-block-surface/extensions/svg-sketch.js +12 -4
  86. package/dist/_pkgs/affine-block-surface/extensions/validation.d.ts +253 -28
  87. package/dist/_pkgs/affine-block-surface/extensions/validation.js +489 -41
  88. package/dist/_pkgs/affine-block-surface/framework-background/background-view.d.ts +115 -0
  89. package/dist/_pkgs/affine-block-surface/framework-background/background-view.js +185 -0
  90. package/dist/_pkgs/affine-block-surface/framework-background/fit.d.ts +36 -0
  91. package/dist/_pkgs/affine-block-surface/framework-background/fit.js +30 -0
  92. package/dist/_pkgs/affine-block-surface/framework-background/index.d.ts +2 -0
  93. package/dist/_pkgs/affine-block-surface/framework-background/index.js +2 -0
  94. package/dist/_pkgs/affine-block-surface/framework-background/labels.d.ts +16 -1
  95. package/dist/_pkgs/affine-block-surface/framework-background/labels.js +31 -21
  96. package/dist/_pkgs/affine-block-surface/framework-background/renderer.js +29 -5
  97. package/dist/_pkgs/affine-block-surface/framework-background/stacking.d.ts +6 -4
  98. package/dist/_pkgs/affine-block-surface/framework-background/stacking.js +56 -8
  99. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.d.ts +12 -0
  100. package/dist/_pkgs/affine-block-surface/renderer/canvas-renderer.js +15 -0
  101. package/dist/_pkgs/affine-block-surface/renderer/element-highlight-overlay.js +2 -7
  102. package/dist/_pkgs/affine-block-surface/view.js +8 -1
  103. package/dist/_pkgs/affine-block-surface-ref/configs/slash-menu.js +1 -1
  104. package/dist/_pkgs/affine-block-surface-ref/configs/tooltips.js +2 -2
  105. package/dist/_pkgs/affine-components/color-picker/button.d.ts +56 -1
  106. package/dist/_pkgs/affine-components/color-picker/button.js +168 -23
  107. package/dist/_pkgs/affine-components/color-picker/framework-palette.d.ts +106 -0
  108. package/dist/_pkgs/affine-components/color-picker/framework-palette.js +177 -0
  109. package/dist/_pkgs/affine-components/color-picker/index.d.ts +2 -0
  110. package/dist/_pkgs/affine-components/color-picker/index.js +2 -0
  111. package/dist/_pkgs/affine-components/color-picker/palette-carousel.d.ts +85 -0
  112. package/dist/_pkgs/affine-components/color-picker/palette-carousel.js +445 -0
  113. package/dist/_pkgs/affine-components/color-picker/styles.js +1 -1
  114. package/dist/_pkgs/affine-components/context-menu/button.js +3 -1
  115. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.d.ts +31 -1
  116. package/dist/_pkgs/affine-components/edgeless-shape-color-picker/color-picker.js +189 -63
  117. package/dist/_pkgs/affine-components/icons/ai.js +3 -3
  118. package/dist/_pkgs/affine-components/icons/list.js +7 -1
  119. package/dist/_pkgs/affine-components/resource/resource.js +29 -16
  120. package/dist/_pkgs/affine-components/size-dropdown-menu/dropdown-menu.js +6 -1
  121. package/dist/_pkgs/affine-components/toolbar/index.d.ts +1 -1
  122. package/dist/_pkgs/affine-components/toolbar/index.js +1 -1
  123. package/dist/_pkgs/affine-components/toolbar/menu-button.d.ts +7 -0
  124. package/dist/_pkgs/affine-components/toolbar/menu-button.js +30 -0
  125. package/dist/_pkgs/affine-components/toolbar/picker-menu.d.ts +16 -1
  126. package/dist/_pkgs/affine-components/toolbar/picker-menu.js +2 -2
  127. package/dist/_pkgs/affine-components/toolbar/toolbar.d.ts +1 -0
  128. package/dist/_pkgs/affine-components/toolbar/toolbar.js +67 -0
  129. package/dist/_pkgs/affine-components/translations.d.ts +8 -0
  130. package/dist/_pkgs/affine-components/translations.js +17 -0
  131. package/dist/_pkgs/affine-foundation/view.js +2 -1
  132. package/dist/_pkgs/affine-fragment-frame-panel/card/frame-card-title-editor.js +1 -1
  133. package/dist/_pkgs/affine-fragment-frame-panel/card/frame-card.js +1 -1
  134. package/dist/_pkgs/affine-gfx-brush/element-renderer.js +2 -2
  135. package/dist/_pkgs/affine-gfx-brush/toolbar/components/eraser/icons.js +1 -1
  136. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/brush.js +6 -1
  137. package/dist/_pkgs/affine-gfx-brush/toolbar/configs/highlighter.js +6 -1
  138. package/dist/_pkgs/affine-gfx-connector/connector-manager.d.ts +9 -1
  139. package/dist/_pkgs/affine-gfx-connector/connector-manager.js +61 -0
  140. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.d.ts +11 -2
  141. package/dist/_pkgs/affine-gfx-connector/direction/direction-reveal.js +11 -2
  142. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.d.ts +7 -1
  143. package/dist/_pkgs/affine-gfx-connector/element-renderer/connector-dom/index.js +87 -17
  144. package/dist/_pkgs/affine-gfx-connector/element-renderer/index.js +78 -17
  145. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.d.ts +24 -2
  146. package/dist/_pkgs/affine-gfx-connector/element-renderer/utils.js +31 -8
  147. package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.d.ts +124 -3
  148. package/dist/_pkgs/affine-gfx-connector/text/edgeless-connector-label-editor.js +219 -56
  149. package/dist/_pkgs/affine-gfx-connector/text/text.d.ts +13 -4
  150. package/dist/_pkgs/affine-gfx-connector/text/text.js +13 -44
  151. package/dist/_pkgs/affine-gfx-connector/toolbar/config.d.ts +56 -0
  152. package/dist/_pkgs/affine-gfx-connector/toolbar/config.js +94 -10
  153. package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.d.ts +8 -0
  154. package/dist/_pkgs/affine-gfx-connector/toolbar/hollow-endpoint-icons.js +118 -0
  155. package/dist/_pkgs/affine-gfx-connector/translations.d.ts +3 -0
  156. package/dist/_pkgs/affine-gfx-connector/translations.js +23 -0
  157. package/dist/_pkgs/affine-gfx-connector/view/view.d.ts +37 -1
  158. package/dist/_pkgs/affine-gfx-connector/view/view.js +97 -8
  159. package/dist/_pkgs/affine-gfx-group/command/group-api.js +1 -1
  160. package/dist/_pkgs/affine-gfx-group/store.js +0 -2
  161. package/dist/_pkgs/affine-gfx-group/translations.d.ts +9 -10
  162. package/dist/_pkgs/affine-gfx-group/translations.js +9 -13
  163. package/dist/_pkgs/affine-gfx-mindmap/indicator-overlay/index.js +6 -2
  164. package/dist/_pkgs/affine-gfx-mindmap/templates/index.js +1 -1
  165. package/dist/_pkgs/affine-gfx-mindmap/toolbar/basket-elements.js +1 -1
  166. package/dist/_pkgs/affine-gfx-mindmap/toolbar/config.js +4 -2
  167. package/dist/_pkgs/affine-gfx-mindmap/toolbar/utils/import-mindmap.js +2 -2
  168. package/dist/_pkgs/affine-gfx-mindmap/translations.d.ts +7 -1
  169. package/dist/_pkgs/affine-gfx-mindmap/translations.js +11 -1
  170. package/dist/_pkgs/affine-gfx-shape/element-renderer/highlighter.js +2 -2
  171. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.d.ts +6 -0
  172. package/dist/_pkgs/affine-gfx-shape/overlay/polygon-drawing-overlay.js +30 -1
  173. package/dist/_pkgs/affine-gfx-shape/polygon-tool.d.ts +20 -1
  174. package/dist/_pkgs/affine-gfx-shape/polygon-tool.js +9 -1
  175. package/dist/_pkgs/affine-gfx-shape/toolbar/config.js +10 -3
  176. package/dist/_pkgs/affine-gfx-shape/toolbar/palette-color-action.js +11 -1
  177. package/dist/_pkgs/affine-gfx-shape/translations.d.ts +7 -0
  178. package/dist/_pkgs/affine-gfx-shape/translations.js +11 -0
  179. package/dist/_pkgs/affine-gfx-template/builtin/other.js +14 -8
  180. package/dist/_pkgs/affine-gfx-template/snapshot-from-action.js +32 -119
  181. package/dist/_pkgs/affine-gfx-template/toolbar/template-loading.js +1 -1
  182. package/dist/_pkgs/affine-gfx-template/toolbar/template-type.d.ts +1 -1
  183. package/dist/_pkgs/affine-gfx-template/translations.d.ts +5 -0
  184. package/dist/_pkgs/affine-gfx-template/translations.js +38 -0
  185. package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.d.ts +13 -1
  186. package/dist/_pkgs/affine-gfx-text/dblclick-add-edgeless-text.js +19 -4
  187. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.d.ts +41 -0
  188. package/dist/_pkgs/affine-gfx-text/edgeless-text-editor.js +60 -4
  189. package/dist/_pkgs/affine-gfx-text/toolbar/actions.d.ts +8 -1
  190. package/dist/_pkgs/affine-gfx-text/toolbar/actions.js +14 -2
  191. package/dist/_pkgs/affine-gfx-text/translations.d.ts +9 -0
  192. package/dist/_pkgs/affine-gfx-text/translations.js +14 -1
  193. package/dist/_pkgs/affine-inline-latex/latex-node/latex-editor-menu.js +2 -1
  194. package/dist/_pkgs/affine-inline-preset/markdown.js +5 -1
  195. package/dist/_pkgs/affine-model/consts/connector.d.ts +28 -2
  196. package/dist/_pkgs/affine-model/consts/connector.js +26 -0
  197. package/dist/_pkgs/affine-model/consts/text.d.ts +15 -2
  198. package/dist/_pkgs/affine-model/consts/text.js +25 -1
  199. package/dist/_pkgs/affine-model/elements/bpmn/pool.js +1 -1
  200. package/dist/_pkgs/affine-model/elements/brush/brush.js +1 -1
  201. package/dist/_pkgs/affine-model/elements/c4/board.js +1 -1
  202. package/dist/_pkgs/affine-model/elements/c4/boundary.js +1 -1
  203. package/dist/_pkgs/affine-model/elements/connector/connector.d.ts +135 -0
  204. package/dist/_pkgs/affine-model/elements/connector/connector.js +246 -5
  205. package/dist/_pkgs/affine-model/elements/connector/end-label.d.ts +83 -0
  206. package/dist/_pkgs/affine-model/elements/connector/end-label.js +119 -0
  207. package/dist/_pkgs/affine-model/elements/connector/index.d.ts +1 -0
  208. package/dist/_pkgs/affine-model/elements/connector/index.js +1 -0
  209. package/dist/_pkgs/affine-model/elements/context-map/context-map.js +1 -1
  210. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.d.ts +28 -0
  211. package/dist/_pkgs/affine-model/elements/core-domain/core-domain.js +129 -2
  212. package/dist/_pkgs/affine-model/elements/cynefin/cynefin.d.ts +8 -0
  213. package/dist/_pkgs/affine-model/elements/cynefin/cynefin.js +45 -2
  214. package/dist/_pkgs/affine-model/elements/edgy/board.js +1 -1
  215. package/dist/_pkgs/affine-model/elements/edgy/facets.js +1 -1
  216. package/dist/_pkgs/affine-model/elements/estuarine/estuarine.d.ts +6 -0
  217. package/dist/_pkgs/affine-model/elements/estuarine/estuarine.js +36 -2
  218. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.d.ts +18 -7
  219. package/dist/_pkgs/affine-model/elements/event-storming/event-storming.js +23 -8
  220. package/dist/_pkgs/affine-model/elements/framework-background/background.d.ts +16 -0
  221. package/dist/_pkgs/affine-model/elements/framework-background/background.js +18 -0
  222. package/dist/_pkgs/affine-model/elements/highlighter/highlighter.js +1 -1
  223. package/dist/_pkgs/affine-model/elements/index.d.ts +8 -0
  224. package/dist/_pkgs/affine-model/elements/index.js +1 -0
  225. package/dist/_pkgs/affine-model/elements/shape/shape.js +1 -1
  226. package/dist/_pkgs/affine-model/elements/text/text.js +1 -1
  227. package/dist/_pkgs/affine-model/elements/uml/band.d.ts +39 -0
  228. package/dist/_pkgs/affine-model/elements/uml/band.js +31 -0
  229. package/dist/_pkgs/affine-model/elements/uml/diagram.d.ts +158 -0
  230. package/dist/_pkgs/affine-model/elements/uml/diagram.js +229 -0
  231. package/dist/_pkgs/affine-model/elements/uml/fragment.d.ts +161 -0
  232. package/dist/_pkgs/affine-model/elements/uml/fragment.js +205 -0
  233. package/dist/_pkgs/affine-model/elements/uml/index.d.ts +8 -0
  234. package/dist/_pkgs/affine-model/elements/uml/index.js +8 -0
  235. package/dist/_pkgs/affine-model/elements/uml/lifeline.d.ts +77 -0
  236. package/dist/_pkgs/affine-model/elements/uml/lifeline.js +89 -0
  237. package/dist/_pkgs/affine-model/elements/uml/node.d.ts +142 -0
  238. package/dist/_pkgs/affine-model/elements/uml/node.js +190 -0
  239. package/dist/_pkgs/affine-model/elements/uml/partition.d.ts +106 -0
  240. package/dist/_pkgs/affine-model/elements/uml/partition.js +172 -0
  241. package/dist/_pkgs/affine-model/elements/uml/region.d.ts +75 -0
  242. package/dist/_pkgs/affine-model/elements/uml/region.js +150 -0
  243. package/dist/_pkgs/affine-model/elements/uml/subject.d.ts +37 -0
  244. package/dist/_pkgs/affine-model/elements/uml/subject.js +108 -0
  245. package/dist/_pkgs/affine-model/elements/wardley/wardley.js +1 -1
  246. package/dist/_pkgs/affine-shared/services/embed-iframe/embed-iframe-config.d.ts +1 -0
  247. package/dist/_pkgs/affine-shared/services/font-loader/config.d.ts +18 -0
  248. package/dist/_pkgs/affine-shared/services/font-loader/config.js +82 -50
  249. package/dist/_pkgs/affine-shared/services/pivot-materiality-publisher.js +1 -9
  250. package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.d.ts +53 -0
  251. package/dist/_pkgs/affine-shared/services/telemetry-service/document-damage-watcher.js +95 -0
  252. package/dist/_pkgs/affine-shared/services/telemetry-service/index.d.ts +1 -0
  253. package/dist/_pkgs/affine-shared/services/telemetry-service/index.js +1 -0
  254. package/dist/_pkgs/affine-shared/services/telemetry-service/lifecycle.d.ts +26 -1
  255. package/dist/_pkgs/affine-shared/services/telemetry-service/telemetry-service.d.ts +2 -2
  256. package/dist/_pkgs/affine-shared/services/theme-service.d.ts +19 -0
  257. package/dist/_pkgs/affine-shared/services/theme-service.js +24 -0
  258. package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.d.ts +34 -0
  259. package/dist/_pkgs/affine-shared/services/toolbar-service/command-action.js +63 -0
  260. package/dist/_pkgs/affine-shared/services/toolbar-service/index.d.ts +1 -0
  261. package/dist/_pkgs/affine-shared/services/toolbar-service/index.js +1 -0
  262. package/dist/_pkgs/affine-shared/services/translation-service/chrome.d.ts +97 -7
  263. package/dist/_pkgs/affine-shared/services/translation-service/chrome.js +178 -7
  264. package/dist/_pkgs/affine-shared/styles/index.d.ts +1 -0
  265. package/dist/_pkgs/affine-shared/styles/index.js +1 -0
  266. package/dist/_pkgs/affine-shared/styles/motion.d.ts +14 -0
  267. package/dist/_pkgs/affine-shared/styles/motion.js +38 -0
  268. package/dist/_pkgs/affine-shared/utils/event.d.ts +10 -0
  269. package/dist/_pkgs/affine-shared/utils/event.js +20 -0
  270. package/dist/_pkgs/affine-shared/utils/file/filesys.d.ts +16 -0
  271. package/dist/_pkgs/affine-shared/utils/file/filesys.js +25 -0
  272. package/dist/_pkgs/affine-shared/utils/index.d.ts +1 -0
  273. package/dist/_pkgs/affine-shared/utils/index.js +1 -0
  274. package/dist/_pkgs/affine-shared/utils/link-preview-refresh.d.ts +12 -0
  275. package/dist/_pkgs/affine-shared/utils/link-preview-refresh.js +13 -0
  276. package/dist/_pkgs/affine-widget-edgeless-dragging-area/edgeless-dragging-area-rect.js +2 -2
  277. package/dist/_pkgs/affine-widget-edgeless-selected-rect/utils.js +5 -1
  278. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.d.ts +12 -4
  279. package/dist/_pkgs/affine-widget-edgeless-toolbar/catalogue/artefact-catalogue-widget.js +27 -4
  280. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/types.d.ts +15 -0
  281. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.d.ts +1 -1
  282. package/dist/_pkgs/affine-widget-edgeless-toolbar/config/utils.js +7 -2
  283. package/dist/_pkgs/affine-widget-edgeless-toolbar/create-popper.js +13 -0
  284. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.d.ts +2 -0
  285. package/dist/_pkgs/affine-widget-edgeless-toolbar/index.js +2 -0
  286. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.d.ts +80 -0
  287. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/command-menu.js +270 -81
  288. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.d.ts +15 -0
  289. package/dist/_pkgs/affine-widget-edgeless-toolbar/menu/senior-menu-selection.js +15 -0
  290. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-family-panel.d.ts +18 -0
  291. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-family-panel.js +52 -6
  292. package/dist/_pkgs/affine-widget-edgeless-toolbar/panel/font-weight-and-style-panel.js +8 -1
  293. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.d.ts +42 -0
  294. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-ghost-overlay.js +100 -0
  295. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.d.ts +100 -0
  296. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/artefact-placement-tool.js +274 -0
  297. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.d.ts +3 -0
  298. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/index.js +3 -0
  299. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.d.ts +25 -0
  300. package/dist/_pkgs/affine-widget-edgeless-toolbar/placement/translate-created.js +67 -0
  301. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.d.ts +6 -0
  302. package/dist/_pkgs/affine-widget-edgeless-toolbar/translations.js +10 -0
  303. package/dist/_pkgs/affine-widget-edgeless-toolbar/view.js +5 -0
  304. package/dist/_pkgs/affine-widget-frame-title/edgeless-frame-title-editor.js +2 -1
  305. package/dist/_pkgs/affine-widget-slash-menu/translations.d.ts +16 -0
  306. package/dist/_pkgs/affine-widget-slash-menu/translations.js +23 -1
  307. package/dist/_pkgs/affine-widget-toolbar/utils.js +57 -14
  308. package/dist/_pkgs/data-view/core/detail/field.js +2 -1
  309. package/dist/_pkgs/data-view/core/filter/literal/define.js +3 -1
  310. package/dist/_pkgs/data-view/core/group-by/renderer/boolean-group.js +1 -1
  311. package/dist/_pkgs/data-view/property-presets/checkbox/cell-renderer.js +8 -2
  312. package/dist/_pkgs/data-view/view-presets/kanban/pc/cell.js +1 -1
  313. package/dist/_pkgs/data-view/view-presets/kanban/pc/controller/drag.js +2 -1
  314. package/dist/_pkgs/data-view/view-presets/table/pc/controller/drag.js +2 -1
  315. package/dist/_pkgs/data-view/view-presets/table/pc/controller/selection.js +1 -1
  316. package/dist/_pkgs/data-view/view-presets/table/pc/header/vertical-indicator.js +2 -1
  317. package/dist/_pkgs/data-view/view-presets/table/pc/row/row-select-checkbox.js +3 -1
  318. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/drag.js +2 -1
  319. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/controller/selection.js +1 -1
  320. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/group/top/header/vertical-indicator.js +2 -1
  321. package/dist/_pkgs/data-view/view-presets/table/pc-virtual/row/row-header.js +3 -1
  322. package/dist/_pkgs/global/gfx/xywh.js +7 -0
  323. package/dist/_pkgs/std/extension/command-registry.d.ts +158 -1
  324. package/dist/_pkgs/std/extension/command-registry.js +22 -0
  325. package/dist/_pkgs/std/gfx/index.d.ts +1 -1
  326. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.d.ts +12 -0
  327. package/dist/_pkgs/std/gfx/interactivity/gfx-view-event-handler.js +20 -1
  328. package/dist/_pkgs/std/gfx/interactivity/manager.d.ts +10 -0
  329. package/dist/_pkgs/std/gfx/interactivity/manager.js +12 -0
  330. package/dist/_pkgs/std/gfx/model/surface/element-model.js +12 -7
  331. package/dist/_pkgs/std/gfx/model/surface/role.d.ts +10 -5
  332. package/dist/_pkgs/std/gfx/model/surface/surface-model.d.ts +56 -0
  333. package/dist/_pkgs/std/gfx/model/surface/surface-model.js +84 -3
  334. package/dist/_pkgs/std/gfx/view/view.d.ts +11 -2
  335. package/dist/_pkgs/std/gfx/view/view.js +16 -2
  336. package/dist/commands.d.ts +6 -0
  337. package/dist/commands.js +10 -2
  338. package/dist/frameworks.d.ts +9 -0
  339. package/dist/frameworks.js +19 -0
  340. package/dist/translations.js +21 -0
  341. package/package.json +13 -4
  342. package/dist/_pkgs/affine-gfx-group/group-watcher.d.ts +0 -1
  343. package/dist/_pkgs/affine-gfx-group/group-watcher.js +0 -20
@@ -0,0 +1,161 @@
1
+ import type { SerializedXYWH } from '../../../global/gfx/index.js';
2
+ import type { PointTestOptions } from '../../../std/gfx/index.js';
3
+ import type { FrameworkBackgroundProps } from '../framework-background/index.js';
4
+ import { FrameworkBackgroundElementModel } from '../framework-background/index.js';
5
+ /**
6
+ * Height of a combined fragment's OPERATOR BAND — the strip across its top the
7
+ * pentagon tag is drawn in, in model units.
8
+ *
9
+ * Owned by the model for the reason {@link UML_FRAME_BAND_HEIGHT} is: the
10
+ * fragment's own hit test reads it (a fragment is clickable by its tag strip as
11
+ * well as by its border), and `affine-model` cannot reach into
12
+ * `affine-block-surface` where the declaration is resolved.
13
+ *
14
+ * The diagram frame's own 44, and deliberately: §17.6.4 draws the operator in
15
+ * the very same cut-corner pentagon Annex A draws a frame heading in — it IS a
16
+ * frame, nested in another one — and two numbers for one piece of furniture
17
+ * would drift.
18
+ */
19
+ export declare const UML_FRAGMENT_BAND = 44;
20
+ /**
21
+ * The INTERACTION OPERATOR of a combined fragment — the word written in its
22
+ * pentagon, and the whole of what the fragment says (UML 2.5.1 §17.6.4).
23
+ *
24
+ * The twelve operators of §17.6.4 plus `ref`, and the thirteenth is the one
25
+ * that is not an operator at all: §17.7.4's InteractionUse is a different
26
+ * metaclass drawn as the same rectangle with the same pentagon, and every tool
27
+ * offers it from the same menu. Keeping it here is what lets one element, one
28
+ * renderer and one toolbar cover both — the alternative being a second
29
+ * background that differs from this one by a string.
30
+ *
31
+ * Widened the way every other UML union is: appended, never reordered, and read
32
+ * back as whatever string the document carries. A fragment whose operator this
33
+ * build has never heard of still paints its rectangle and still writes its own
34
+ * word in the tag.
35
+ */
36
+ export type UmlFragmentOperator = 'alt' | 'opt' | 'loop' | 'par' | 'break' | 'critical' | 'seq' | 'strict' | 'neg' | 'assert' | 'ignore' | 'consider' | 'ref';
37
+ /**
38
+ * One OPERAND of a combined fragment — a horizontal band of it, separated from
39
+ * the next by a dashed line (§17.6.4).
40
+ *
41
+ * The shape of a `BackgroundInstanceZoneItem` in `@labre/affine-block-surface`,
42
+ * and deliberately the same three fields as {@link BpmnLane}: the primitive
43
+ * paints an instance partition from that structure, the audit reports it from
44
+ * that structure, and an operand with a shape of its own would be a fourth
45
+ * place the two have to agree.
46
+ *
47
+ * `name` is the operand's GUARD — `[x > 0]`, `[else]` — because that is the
48
+ * only thing §17.6.4 writes in an operand's own corner. `size` is a relative
49
+ * WEIGHT and not a height in model units: a fragment dragged taller
50
+ * redistributes the space between its operands instead of leaving a gap under
51
+ * the last one.
52
+ */
53
+ export interface UmlFragmentOperand {
54
+ /** Stable id, generated at creation. Never the guard: a guard is rewritten. */
55
+ id: string;
56
+ /** The operand's guard, written in its top-left corner. */
57
+ name?: string;
58
+ /** Relative weight — see above. Must be a finite number greater than zero. */
59
+ size: number;
60
+ }
61
+ export type UmlFragmentProps = FrameworkBackgroundProps & {
62
+ /** Which operator the pentagon writes. */
63
+ operator?: UmlFragmentOperator;
64
+ /** The first operand's guard, or a `ref`'s interaction name. */
65
+ name?: string;
66
+ /** The fragment's partition into operands. Absent until a second is added. */
67
+ operands?: UmlFragmentOperand[];
68
+ };
69
+ /**
70
+ * A COMBINED FRAGMENT — the rectangle drawn round part of a sequence diagram
71
+ * with an operator in its corner (UML 2.5.1 §17.6.4), and, under the `ref`
72
+ * operator, the InteractionUse of §17.7.4.
73
+ *
74
+ * A framework background, and a TRANSPARENT one, like
75
+ * {@link UmlSubjectElementModel} and {@link UmlPartitionElementModel}: it is
76
+ * drawn OVER lifelines and messages that are already there, and an opaque card
77
+ * would hide the very conversation it is qualifying. Membership — which
78
+ * messages are inside the `alt`, which lifelines it covers — is geometry at
79
+ * read time (R11), never a stored list.
80
+ *
81
+ * ## Why the operator is a field and the operands are not elements
82
+ *
83
+ * The operator IS the fragment: `alt` and `loop` are the same rectangle saying
84
+ * two entirely different things, and nothing in the picture distinguishes them
85
+ * but the word. So it is stored, with `alt` as the default — the fragment an
86
+ * architect reaches for first, and the one §17.6.4 opens with.
87
+ *
88
+ * The operands are bands of that one rectangle, and they follow the BPMN pool's
89
+ * lanes exactly: an optional flat array, `undefined` rather than `[]` until the
90
+ * first one is added, so a fragment with a single operand stays byte-identical
91
+ * to one written before the field existed. The trade the pool's own note
92
+ * states applies here unchanged — two peers reordering the operands at the same
93
+ * moment resolve last-write-wins, one whole list winning over the other — and
94
+ * it is stated so it is reviewed rather than discovered.
95
+ *
96
+ * What it LOOKS like is declared, not coded: see `UML_FRAGMENT_FRAME` in
97
+ * `@labre/affine-gfx-uml`.
98
+ */
99
+ export declare class UmlFragmentElementModel extends FrameworkBackgroundElementModel<UmlFragmentProps> {
100
+ get type(): string;
101
+ /**
102
+ * The operator — REQUIRED, with `alt` as the default, for the reason
103
+ * `UmlDiagramElementModel.kind` is required: it is part of the NOTATION
104
+ * rather than a claim an author may decline to make. A fragment with no
105
+ * operator has no word to write in its pentagon, and a pentagon with nothing
106
+ * in it is a rectangle with a bitten corner.
107
+ */
108
+ accessor operator: UmlFragmentOperator;
109
+ /**
110
+ * The first operand's guard, or — under `ref` — the name of the interaction
111
+ * being referred to.
112
+ *
113
+ * Seeded EMPTY, unlike every other UML frame's name: §17.6.4 draws a guard
114
+ * only where there is one to draw, and `[alt]` with an empty bracket under it
115
+ * would be the notation inventing a condition the author has not written. An
116
+ * empty string keeps the field in the document (the `@field` default is
117
+ * written) without putting words on the page.
118
+ */
119
+ accessor name: string;
120
+ accessor resizeEnabled: boolean;
121
+ accessor rotate: number;
122
+ /**
123
+ * Wide enough to cover three lifelines at the 200-unit spacing a sequence
124
+ * diagram is laid out on, and tall enough for three or four exchanges — the
125
+ * size an `alt` is actually drawn round.
126
+ */
127
+ accessor xywh: SerializedXYWH;
128
+ /**
129
+ * The fragment's partition into operands, top to bottom.
130
+ *
131
+ * `undefined`, not `[]`, and for the three reasons `BpmnPoolElementModel
132
+ * .lanes` states in full: `@field()` writes nothing for an undefined default,
133
+ * so a fragment with a single operand — which is every `opt`, every `loop`
134
+ * and every `ref` — is byte-identical to one created before this field
135
+ * existed; the value is flat JSON because a list of operands is one atomic
136
+ * choice about how one fragment is cut; and it is declared here rather than
137
+ * on the base class because an operand is a subdivision of a combined
138
+ * fragment and of nothing else.
139
+ *
140
+ * What it MEANS is declared, not coded: `UML_FRAGMENT_FRAME.instanceZones`
141
+ * in `@labre/affine-gfx-uml` names this prop, and the framework-background
142
+ * primitive paints the separators and the guards from it.
143
+ */
144
+ accessor operands: UmlFragmentOperand[] | undefined;
145
+ /**
146
+ * Picked by its BORDER — and by its OPERATOR BAND, the one carve-out it
147
+ * keeps.
148
+ *
149
+ * The same carve-out the diagram frame, the partition and the composite state
150
+ * all make, and for the same reason: the band is the only part of the
151
+ * fragment that is the FRAGMENT rather than the conversation drawn inside it.
152
+ * Without it the pentagon would be unreachable, a background being picked by
153
+ * its border alone — and a transparent fragment's border is a thin line round
154
+ * a region full of other people's messages.
155
+ *
156
+ * Nothing below the band is claimed, which matters here as much as on a
157
+ * partition: a fragment is drawn OVER lifelines, so every point that is not
158
+ * its own furniture has to fall through to whatever is under the pointer.
159
+ */
160
+ includesPoint(x: number, y: number, options?: PointTestOptions): boolean;
161
+ }
@@ -0,0 +1,205 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { field } from '../../../std/gfx/index.js';
36
+ import { FrameworkBackgroundElementModel } from '../framework-background/index.js';
37
+ import { umlInNameBand } from './band.js';
38
+ /**
39
+ * Height of a combined fragment's OPERATOR BAND — the strip across its top the
40
+ * pentagon tag is drawn in, in model units.
41
+ *
42
+ * Owned by the model for the reason {@link UML_FRAME_BAND_HEIGHT} is: the
43
+ * fragment's own hit test reads it (a fragment is clickable by its tag strip as
44
+ * well as by its border), and `affine-model` cannot reach into
45
+ * `affine-block-surface` where the declaration is resolved.
46
+ *
47
+ * The diagram frame's own 44, and deliberately: §17.6.4 draws the operator in
48
+ * the very same cut-corner pentagon Annex A draws a frame heading in — it IS a
49
+ * frame, nested in another one — and two numbers for one piece of furniture
50
+ * would drift.
51
+ */
52
+ export const UML_FRAGMENT_BAND = 44;
53
+ /**
54
+ * A COMBINED FRAGMENT — the rectangle drawn round part of a sequence diagram
55
+ * with an operator in its corner (UML 2.5.1 §17.6.4), and, under the `ref`
56
+ * operator, the InteractionUse of §17.7.4.
57
+ *
58
+ * A framework background, and a TRANSPARENT one, like
59
+ * {@link UmlSubjectElementModel} and {@link UmlPartitionElementModel}: it is
60
+ * drawn OVER lifelines and messages that are already there, and an opaque card
61
+ * would hide the very conversation it is qualifying. Membership — which
62
+ * messages are inside the `alt`, which lifelines it covers — is geometry at
63
+ * read time (R11), never a stored list.
64
+ *
65
+ * ## Why the operator is a field and the operands are not elements
66
+ *
67
+ * The operator IS the fragment: `alt` and `loop` are the same rectangle saying
68
+ * two entirely different things, and nothing in the picture distinguishes them
69
+ * but the word. So it is stored, with `alt` as the default — the fragment an
70
+ * architect reaches for first, and the one §17.6.4 opens with.
71
+ *
72
+ * The operands are bands of that one rectangle, and they follow the BPMN pool's
73
+ * lanes exactly: an optional flat array, `undefined` rather than `[]` until the
74
+ * first one is added, so a fragment with a single operand stays byte-identical
75
+ * to one written before the field existed. The trade the pool's own note
76
+ * states applies here unchanged — two peers reordering the operands at the same
77
+ * moment resolve last-write-wins, one whole list winning over the other — and
78
+ * it is stated so it is reviewed rather than discovered.
79
+ *
80
+ * What it LOOKS like is declared, not coded: see `UML_FRAGMENT_FRAME` in
81
+ * `@labre/affine-gfx-uml`.
82
+ */
83
+ let UmlFragmentElementModel = (() => {
84
+ let _classSuper = FrameworkBackgroundElementModel;
85
+ let _operator_decorators;
86
+ let _operator_initializers = [];
87
+ let _operator_extraInitializers = [];
88
+ let _name_decorators;
89
+ let _name_initializers = [];
90
+ let _name_extraInitializers = [];
91
+ let _resizeEnabled_decorators;
92
+ let _resizeEnabled_initializers = [];
93
+ let _resizeEnabled_extraInitializers = [];
94
+ let _rotate_decorators;
95
+ let _rotate_initializers = [];
96
+ let _rotate_extraInitializers = [];
97
+ let _xywh_decorators;
98
+ let _xywh_initializers = [];
99
+ let _xywh_extraInitializers = [];
100
+ let _operands_decorators;
101
+ let _operands_initializers = [];
102
+ let _operands_extraInitializers = [];
103
+ return class UmlFragmentElementModel extends _classSuper {
104
+ static {
105
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
106
+ _operator_decorators = [field('alt')];
107
+ _name_decorators = [field('')];
108
+ _resizeEnabled_decorators = [field(true)];
109
+ _rotate_decorators = [field(0)];
110
+ _xywh_decorators = [field()];
111
+ _operands_decorators = [field()];
112
+ __esDecorate(this, null, _operator_decorators, { kind: "accessor", name: "operator", static: false, private: false, access: { has: obj => "operator" in obj, get: obj => obj.operator, set: (obj, value) => { obj.operator = value; } }, metadata: _metadata }, _operator_initializers, _operator_extraInitializers);
113
+ __esDecorate(this, null, _name_decorators, { kind: "accessor", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
114
+ __esDecorate(this, null, _resizeEnabled_decorators, { kind: "accessor", name: "resizeEnabled", static: false, private: false, access: { has: obj => "resizeEnabled" in obj, get: obj => obj.resizeEnabled, set: (obj, value) => { obj.resizeEnabled = value; } }, metadata: _metadata }, _resizeEnabled_initializers, _resizeEnabled_extraInitializers);
115
+ __esDecorate(this, null, _rotate_decorators, { kind: "accessor", name: "rotate", static: false, private: false, access: { has: obj => "rotate" in obj, get: obj => obj.rotate, set: (obj, value) => { obj.rotate = value; } }, metadata: _metadata }, _rotate_initializers, _rotate_extraInitializers);
116
+ __esDecorate(this, null, _xywh_decorators, { kind: "accessor", name: "xywh", static: false, private: false, access: { has: obj => "xywh" in obj, get: obj => obj.xywh, set: (obj, value) => { obj.xywh = value; } }, metadata: _metadata }, _xywh_initializers, _xywh_extraInitializers);
117
+ __esDecorate(this, null, _operands_decorators, { kind: "accessor", name: "operands", static: false, private: false, access: { has: obj => "operands" in obj, get: obj => obj.operands, set: (obj, value) => { obj.operands = value; } }, metadata: _metadata }, _operands_initializers, _operands_extraInitializers);
118
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
119
+ }
120
+ get type() {
121
+ return 'umlFragment';
122
+ }
123
+ #operator_accessor_storage = __runInitializers(this, _operator_initializers, 'alt');
124
+ /**
125
+ * The operator — REQUIRED, with `alt` as the default, for the reason
126
+ * `UmlDiagramElementModel.kind` is required: it is part of the NOTATION
127
+ * rather than a claim an author may decline to make. A fragment with no
128
+ * operator has no word to write in its pentagon, and a pentagon with nothing
129
+ * in it is a rectangle with a bitten corner.
130
+ */
131
+ get operator() { return this.#operator_accessor_storage; }
132
+ set operator(value) { this.#operator_accessor_storage = value; }
133
+ #name_accessor_storage = (__runInitializers(this, _operator_extraInitializers), __runInitializers(this, _name_initializers, ''));
134
+ /**
135
+ * The first operand's guard, or — under `ref` — the name of the interaction
136
+ * being referred to.
137
+ *
138
+ * Seeded EMPTY, unlike every other UML frame's name: §17.6.4 draws a guard
139
+ * only where there is one to draw, and `[alt]` with an empty bracket under it
140
+ * would be the notation inventing a condition the author has not written. An
141
+ * empty string keeps the field in the document (the `@field` default is
142
+ * written) without putting words on the page.
143
+ */
144
+ get name() { return this.#name_accessor_storage; }
145
+ set name(value) { this.#name_accessor_storage = value; }
146
+ #resizeEnabled_accessor_storage = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _resizeEnabled_initializers, true));
147
+ get resizeEnabled() { return this.#resizeEnabled_accessor_storage; }
148
+ set resizeEnabled(value) { this.#resizeEnabled_accessor_storage = value; }
149
+ #rotate_accessor_storage = (__runInitializers(this, _resizeEnabled_extraInitializers), __runInitializers(this, _rotate_initializers, 0));
150
+ get rotate() { return this.#rotate_accessor_storage; }
151
+ set rotate(value) { this.#rotate_accessor_storage = value; }
152
+ #xywh_accessor_storage = (__runInitializers(this, _rotate_extraInitializers), __runInitializers(this, _xywh_initializers, '[0,0,600,260]'));
153
+ /**
154
+ * Wide enough to cover three lifelines at the 200-unit spacing a sequence
155
+ * diagram is laid out on, and tall enough for three or four exchanges — the
156
+ * size an `alt` is actually drawn round.
157
+ */
158
+ get xywh() { return this.#xywh_accessor_storage; }
159
+ set xywh(value) { this.#xywh_accessor_storage = value; }
160
+ #operands_accessor_storage = (__runInitializers(this, _xywh_extraInitializers), __runInitializers(this, _operands_initializers, undefined));
161
+ /**
162
+ * The fragment's partition into operands, top to bottom.
163
+ *
164
+ * `undefined`, not `[]`, and for the three reasons `BpmnPoolElementModel
165
+ * .lanes` states in full: `@field()` writes nothing for an undefined default,
166
+ * so a fragment with a single operand — which is every `opt`, every `loop`
167
+ * and every `ref` — is byte-identical to one created before this field
168
+ * existed; the value is flat JSON because a list of operands is one atomic
169
+ * choice about how one fragment is cut; and it is declared here rather than
170
+ * on the base class because an operand is a subdivision of a combined
171
+ * fragment and of nothing else.
172
+ *
173
+ * What it MEANS is declared, not coded: `UML_FRAGMENT_FRAME.instanceZones`
174
+ * in `@labre/affine-gfx-uml` names this prop, and the framework-background
175
+ * primitive paints the separators and the guards from it.
176
+ */
177
+ get operands() { return this.#operands_accessor_storage; }
178
+ set operands(value) { this.#operands_accessor_storage = value; }
179
+ /**
180
+ * Picked by its BORDER — and by its OPERATOR BAND, the one carve-out it
181
+ * keeps.
182
+ *
183
+ * The same carve-out the diagram frame, the partition and the composite state
184
+ * all make, and for the same reason: the band is the only part of the
185
+ * fragment that is the FRAGMENT rather than the conversation drawn inside it.
186
+ * Without it the pentagon would be unreachable, a background being picked by
187
+ * its border alone — and a transparent fragment's border is a thin line round
188
+ * a region full of other people's messages.
189
+ *
190
+ * Nothing below the band is claimed, which matters here as much as on a
191
+ * partition: a fragment is drawn OVER lifelines, so every point that is not
192
+ * its own furniture has to fall through to whatever is under the pointer.
193
+ */
194
+ includesPoint(x, y, options) {
195
+ if (super.includesPoint(x, y, options))
196
+ return true;
197
+ return umlInNameBand(this, 'top', UML_FRAGMENT_BAND, x, y);
198
+ }
199
+ constructor() {
200
+ super(...arguments);
201
+ __runInitializers(this, _operands_extraInitializers);
202
+ }
203
+ };
204
+ })();
205
+ export { UmlFragmentElementModel };
@@ -0,0 +1,8 @@
1
+ export * from './band.js';
2
+ export * from './diagram.js';
3
+ export * from './fragment.js';
4
+ export * from './lifeline.js';
5
+ export * from './node.js';
6
+ export * from './partition.js';
7
+ export * from './region.js';
8
+ export * from './subject.js';
@@ -0,0 +1,8 @@
1
+ export * from './band.js';
2
+ export * from './diagram.js';
3
+ export * from './fragment.js';
4
+ export * from './lifeline.js';
5
+ export * from './node.js';
6
+ export * from './partition.js';
7
+ export * from './region.js';
8
+ export * from './subject.js';
@@ -0,0 +1,77 @@
1
+ /**
2
+ * The LIFELINE's geometry — the two numbers a lifeline is drawn, selected and
3
+ * hit-tested from (UML 2.5.1 §17.3.4).
4
+ *
5
+ * Declared HERE, in the model, and re-exported by `@labre/affine-gfx-uml`, for
6
+ * the reason {@link UML_FRAME_BAND_HEIGHT} and {@link UML_PARTITION_BAND} are:
7
+ * the element's own `elementBound` and `includesPoint` read them (a lifeline's
8
+ * HEAD overflows the column the element actually is), and `affine-model` cannot
9
+ * reach into the package where the renderer lives. One pair of numbers, owned by
10
+ * the layer that the model, the renderer and the label layout can all read.
11
+ *
12
+ * ## Why a lifeline is a narrow column and not a head-shaped box
13
+ *
14
+ * §17.3.4 draws a lifeline as a named rectangle with a dashed vertical line
15
+ * falling out of its bottom edge, down the whole height of the interaction. The
16
+ * thing a message ATTACHES to is that line, never the rectangle — so the element
17
+ * is the COLUMN (16 wide, {@link UML_LIFELINE_SPINE} tall), whose native
18
+ * perimeter puts every connector anchor on the spine's own x, and the head is
19
+ * painted over its top by the glyph layer.
20
+ *
21
+ * The consequence is the one thing this module exists to fix: the head is 160
22
+ * wide against a 16-wide element, so it hangs 72 units off each side of the box
23
+ * the platform knows about. Selection, hit testing and frame fitting would all
24
+ * stop at the column — a user would see a named box and be unable to click it.
25
+ * {@link umlLifelineHeadRect} is the shared answer, read by the model's two
26
+ * overrides and by the renderer alike.
27
+ */
28
+ export declare const UML_LIFELINE_HEAD: {
29
+ readonly w: 160;
30
+ readonly h: 48;
31
+ };
32
+ /**
33
+ * How tall a fresh lifeline's COLUMN is — the head plus the dashed spine under
34
+ * it, in model units.
35
+ *
36
+ * 600 is a sheet's worth of conversation: at the 40-unit rhythm a sequence
37
+ * diagram's messages are drawn on, it holds a dozen or so exchanges before the
38
+ * author has to drag it longer. Which is the resize a lifeline ever WANTS — the
39
+ * column is only ever wanted taller. It is not the only resize it accepts:
40
+ * nothing constrains the handles, and a wider column simply widens the painted
41
+ * head, which {@link umlLifelineHeadRect} sizes at `max(160, w)`.
42
+ */
43
+ export declare const UML_LIFELINE_SPINE = 600;
44
+ /** What a lifeline geometry question needs of an element: its box. */
45
+ export interface UmlLifelineGeometry {
46
+ deserializedXYWH: readonly number[];
47
+ rotate?: number;
48
+ }
49
+ /** A rectangle in the element's own (unrotated) local frame. */
50
+ export interface UmlLifelineRect {
51
+ x: number;
52
+ y: number;
53
+ w: number;
54
+ h: number;
55
+ }
56
+ /**
57
+ * The head box, in ELEMENT-LOCAL model units — the named rectangle §17.3.4
58
+ * draws at the top of the lifeline, centred on the column and flush with its
59
+ * top.
60
+ *
61
+ * `null` when there is nothing to draw: a column dragged to nothing.
62
+ *
63
+ * Never NARROWER than the column: a lifeline dragged wider than 160 units is a
64
+ * lifeline whose head is the whole of it, which is the only reading that keeps
65
+ * the head a box round the spine rather than a stripe down the middle of one.
66
+ * Clamped in height for the same reason the frame's heading band is — a column
67
+ * shorter than its own head keeps a head, cut down to what there is.
68
+ */
69
+ export declare function umlLifelineHeadRect(model: UmlLifelineGeometry): UmlLifelineRect | null;
70
+ /**
71
+ * Whether a CANVAS point lies in the lifeline's head.
72
+ *
73
+ * The rotation is undone about the element's centre before anything is
74
+ * measured, exactly as {@link umlInNameBand} does it: the head is axis-aligned
75
+ * INSIDE the lifeline, never on the canvas.
76
+ */
77
+ export declare function umlInLifelineHead(model: UmlLifelineGeometry, x: number, y: number): boolean;
@@ -0,0 +1,89 @@
1
+ import { rotatePoint } from '../../../global/gfx/index.js';
2
+ /**
3
+ * The LIFELINE's geometry — the two numbers a lifeline is drawn, selected and
4
+ * hit-tested from (UML 2.5.1 §17.3.4).
5
+ *
6
+ * Declared HERE, in the model, and re-exported by `@labre/affine-gfx-uml`, for
7
+ * the reason {@link UML_FRAME_BAND_HEIGHT} and {@link UML_PARTITION_BAND} are:
8
+ * the element's own `elementBound` and `includesPoint` read them (a lifeline's
9
+ * HEAD overflows the column the element actually is), and `affine-model` cannot
10
+ * reach into the package where the renderer lives. One pair of numbers, owned by
11
+ * the layer that the model, the renderer and the label layout can all read.
12
+ *
13
+ * ## Why a lifeline is a narrow column and not a head-shaped box
14
+ *
15
+ * §17.3.4 draws a lifeline as a named rectangle with a dashed vertical line
16
+ * falling out of its bottom edge, down the whole height of the interaction. The
17
+ * thing a message ATTACHES to is that line, never the rectangle — so the element
18
+ * is the COLUMN (16 wide, {@link UML_LIFELINE_SPINE} tall), whose native
19
+ * perimeter puts every connector anchor on the spine's own x, and the head is
20
+ * painted over its top by the glyph layer.
21
+ *
22
+ * The consequence is the one thing this module exists to fix: the head is 160
23
+ * wide against a 16-wide element, so it hangs 72 units off each side of the box
24
+ * the platform knows about. Selection, hit testing and frame fitting would all
25
+ * stop at the column — a user would see a named box and be unable to click it.
26
+ * {@link umlLifelineHeadRect} is the shared answer, read by the model's two
27
+ * overrides and by the renderer alike.
28
+ */
29
+ export const UML_LIFELINE_HEAD = { w: 160, h: 48 };
30
+ /**
31
+ * How tall a fresh lifeline's COLUMN is — the head plus the dashed spine under
32
+ * it, in model units.
33
+ *
34
+ * 600 is a sheet's worth of conversation: at the 40-unit rhythm a sequence
35
+ * diagram's messages are drawn on, it holds a dozen or so exchanges before the
36
+ * author has to drag it longer. Which is the resize a lifeline ever WANTS — the
37
+ * column is only ever wanted taller. It is not the only resize it accepts:
38
+ * nothing constrains the handles, and a wider column simply widens the painted
39
+ * head, which {@link umlLifelineHeadRect} sizes at `max(160, w)`.
40
+ */
41
+ export const UML_LIFELINE_SPINE = 600;
42
+ /**
43
+ * The head box, in ELEMENT-LOCAL model units — the named rectangle §17.3.4
44
+ * draws at the top of the lifeline, centred on the column and flush with its
45
+ * top.
46
+ *
47
+ * `null` when there is nothing to draw: a column dragged to nothing.
48
+ *
49
+ * Never NARROWER than the column: a lifeline dragged wider than 160 units is a
50
+ * lifeline whose head is the whole of it, which is the only reading that keeps
51
+ * the head a box round the spine rather than a stripe down the middle of one.
52
+ * Clamped in height for the same reason the frame's heading band is — a column
53
+ * shorter than its own head keeps a head, cut down to what there is.
54
+ */
55
+ export function umlLifelineHeadRect(model) {
56
+ const [, , w, h] = model.deserializedXYWH;
57
+ if (!(w > 0) || !(h > 0))
58
+ return null;
59
+ const width = Math.max(UML_LIFELINE_HEAD.w, w);
60
+ const height = Math.min(UML_LIFELINE_HEAD.h, h);
61
+ if (!(width > 0) || !(height > 0))
62
+ return null;
63
+ return { x: (w - width) / 2, y: 0, w: width, h: height };
64
+ }
65
+ /**
66
+ * Whether a CANVAS point lies in the lifeline's head.
67
+ *
68
+ * The rotation is undone about the element's centre before anything is
69
+ * measured, exactly as {@link umlInNameBand} does it: the head is axis-aligned
70
+ * INSIDE the lifeline, never on the canvas.
71
+ */
72
+ export function umlInLifelineHead(model, x, y) {
73
+ const head = umlLifelineHeadRect(model);
74
+ if (!head)
75
+ return false;
76
+ const [ex, ey, w, h] = model.deserializedXYWH;
77
+ let lx = x - ex;
78
+ let ly = y - ey;
79
+ const rotate = model.rotate ?? 0;
80
+ if (rotate) {
81
+ const [ux, uy] = rotatePoint([x, y], [ex + w / 2, ey + h / 2], -rotate);
82
+ lx = ux - ex;
83
+ ly = uy - ey;
84
+ }
85
+ return (lx >= head.x &&
86
+ lx <= head.x + head.w &&
87
+ ly >= head.y &&
88
+ ly <= head.y + head.h);
89
+ }