@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,75 @@
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 region's NAME BAND — the strip its name is written in, in model
7
+ * units.
8
+ *
9
+ * Owned by the model for the reason {@link UML_PARTITION_BAND} is: the region's
10
+ * own hit test reads it, and `affine-model` cannot reach into the package where
11
+ * the declaration is resolved. The same 36 the partition uses, and deliberately
12
+ * so — the two are the same piece of furniture, a name written in a strip along
13
+ * the top of a transparent frame, and two numbers would drift.
14
+ */
15
+ export declare const UML_REGION_BAND = 36;
16
+ export type UmlRegionProps = FrameworkBackgroundProps & {
17
+ /** The state name, written in the band — edited inline on dblclick. */
18
+ name?: string;
19
+ };
20
+ /**
21
+ * A COMPOSITE STATE — the region of UML 2.5.1 §14.2.4: the rounded rectangle
22
+ * drawn round the sub-states of a state that has its own state machine inside
23
+ * it.
24
+ *
25
+ * A framework background, transparent like {@link UmlPartitionElementModel}: it
26
+ * is drawn OVER states that are already there, and membership is geometry at
27
+ * read time (R11).
28
+ *
29
+ * ## Why a composite state IS the region, rather than a state with regions in it
30
+ *
31
+ * The metamodel has two objects — a State that `isComposite`, and the Regions it
32
+ * owns — and the notation draws ONE: a rounded rectangle with the state's name
33
+ * at the top and the sub-machine inside (§14.2.4, Figure 14.6). A drawing tool
34
+ * that made the author place a `state` node and then a `umlRegion` inside it
35
+ * would be asking them to draw two things to get one picture, and would leave
36
+ * every rule with two elements to decide which of them the composite state is.
37
+ *
38
+ * So this element IS the composite state: it carries the name, it draws the
39
+ * rounded rectangle, and its sub-states sit inside it by geometry.
40
+ *
41
+ * ## The ceiling, stated out loud
42
+ *
43
+ * ORTHOGONAL regions — a composite state cut into concurrent regions by dashed
44
+ * separators (§14.2.4, Figure 14.8) — are NOT drawn. One region per composite
45
+ * state is what this element is; a second one is a phase-3 refinement, and it
46
+ * will arrive the way the BPMN pool's lanes did (an instance partition on the
47
+ * declaration) rather than as a field added here in a hurry.
48
+ *
49
+ * What it LOOKS like is declared, not coded: see `UML_REGION_FRAME` in
50
+ * `@labre/affine-gfx-uml`.
51
+ */
52
+ export declare class UmlRegionElementModel extends FrameworkBackgroundElementModel<UmlRegionProps> {
53
+ get type(): string;
54
+ /**
55
+ * `State`, not `Region`: this element IS the composite state on the page, and
56
+ * a fresh one that called itself a Region would be naming the metamodel
57
+ * object rather than the thing the author drew (see the header).
58
+ */
59
+ accessor name: string;
60
+ accessor resizeEnabled: boolean;
61
+ accessor rotate: number;
62
+ /** Room for a small sub-machine — an initial, two states and a final. */
63
+ accessor xywh: SerializedXYWH;
64
+ /**
65
+ * Picked by its BORDER and by its NAME BAND — the carve-out the diagram frame
66
+ * and the partition both make, and for the same reason: the band is the only
67
+ * part of the composite state that is the STATE rather than the sub-machine
68
+ * drawn inside it.
69
+ *
70
+ * Always the TOP edge: unlike a partition, a composite state has no
71
+ * orientation to turn — §14.2.4 writes its name across the top and nowhere
72
+ * else.
73
+ */
74
+ includesPoint(x: number, y: number, options?: PointTestOptions): boolean;
75
+ }
@@ -0,0 +1,150 @@
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 region's NAME BAND — the strip its name is written in, in model
40
+ * units.
41
+ *
42
+ * Owned by the model for the reason {@link UML_PARTITION_BAND} is: the region's
43
+ * own hit test reads it, and `affine-model` cannot reach into the package where
44
+ * the declaration is resolved. The same 36 the partition uses, and deliberately
45
+ * so — the two are the same piece of furniture, a name written in a strip along
46
+ * the top of a transparent frame, and two numbers would drift.
47
+ */
48
+ export const UML_REGION_BAND = 36;
49
+ /**
50
+ * A COMPOSITE STATE — the region of UML 2.5.1 §14.2.4: the rounded rectangle
51
+ * drawn round the sub-states of a state that has its own state machine inside
52
+ * it.
53
+ *
54
+ * A framework background, transparent like {@link UmlPartitionElementModel}: it
55
+ * is drawn OVER states that are already there, and membership is geometry at
56
+ * read time (R11).
57
+ *
58
+ * ## Why a composite state IS the region, rather than a state with regions in it
59
+ *
60
+ * The metamodel has two objects — a State that `isComposite`, and the Regions it
61
+ * owns — and the notation draws ONE: a rounded rectangle with the state's name
62
+ * at the top and the sub-machine inside (§14.2.4, Figure 14.6). A drawing tool
63
+ * that made the author place a `state` node and then a `umlRegion` inside it
64
+ * would be asking them to draw two things to get one picture, and would leave
65
+ * every rule with two elements to decide which of them the composite state is.
66
+ *
67
+ * So this element IS the composite state: it carries the name, it draws the
68
+ * rounded rectangle, and its sub-states sit inside it by geometry.
69
+ *
70
+ * ## The ceiling, stated out loud
71
+ *
72
+ * ORTHOGONAL regions — a composite state cut into concurrent regions by dashed
73
+ * separators (§14.2.4, Figure 14.8) — are NOT drawn. One region per composite
74
+ * state is what this element is; a second one is a phase-3 refinement, and it
75
+ * will arrive the way the BPMN pool's lanes did (an instance partition on the
76
+ * declaration) rather than as a field added here in a hurry.
77
+ *
78
+ * What it LOOKS like is declared, not coded: see `UML_REGION_FRAME` in
79
+ * `@labre/affine-gfx-uml`.
80
+ */
81
+ let UmlRegionElementModel = (() => {
82
+ let _classSuper = FrameworkBackgroundElementModel;
83
+ let _name_decorators;
84
+ let _name_initializers = [];
85
+ let _name_extraInitializers = [];
86
+ let _resizeEnabled_decorators;
87
+ let _resizeEnabled_initializers = [];
88
+ let _resizeEnabled_extraInitializers = [];
89
+ let _rotate_decorators;
90
+ let _rotate_initializers = [];
91
+ let _rotate_extraInitializers = [];
92
+ let _xywh_decorators;
93
+ let _xywh_initializers = [];
94
+ let _xywh_extraInitializers = [];
95
+ return class UmlRegionElementModel extends _classSuper {
96
+ static {
97
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
98
+ _name_decorators = [field('State')];
99
+ _resizeEnabled_decorators = [field(true)];
100
+ _rotate_decorators = [field(0)];
101
+ _xywh_decorators = [field()];
102
+ __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);
103
+ __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);
104
+ __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);
105
+ __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);
106
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
107
+ }
108
+ get type() {
109
+ return 'umlRegion';
110
+ }
111
+ #name_accessor_storage = __runInitializers(this, _name_initializers, 'State');
112
+ /**
113
+ * `State`, not `Region`: this element IS the composite state on the page, and
114
+ * a fresh one that called itself a Region would be naming the metamodel
115
+ * object rather than the thing the author drew (see the header).
116
+ */
117
+ get name() { return this.#name_accessor_storage; }
118
+ set name(value) { this.#name_accessor_storage = value; }
119
+ #resizeEnabled_accessor_storage = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _resizeEnabled_initializers, true));
120
+ get resizeEnabled() { return this.#resizeEnabled_accessor_storage; }
121
+ set resizeEnabled(value) { this.#resizeEnabled_accessor_storage = value; }
122
+ #rotate_accessor_storage = (__runInitializers(this, _resizeEnabled_extraInitializers), __runInitializers(this, _rotate_initializers, 0));
123
+ get rotate() { return this.#rotate_accessor_storage; }
124
+ set rotate(value) { this.#rotate_accessor_storage = value; }
125
+ #xywh_accessor_storage = (__runInitializers(this, _rotate_extraInitializers), __runInitializers(this, _xywh_initializers, '[0,0,520,320]'));
126
+ /** Room for a small sub-machine — an initial, two states and a final. */
127
+ get xywh() { return this.#xywh_accessor_storage; }
128
+ set xywh(value) { this.#xywh_accessor_storage = value; }
129
+ /**
130
+ * Picked by its BORDER and by its NAME BAND — the carve-out the diagram frame
131
+ * and the partition both make, and for the same reason: the band is the only
132
+ * part of the composite state that is the STATE rather than the sub-machine
133
+ * drawn inside it.
134
+ *
135
+ * Always the TOP edge: unlike a partition, a composite state has no
136
+ * orientation to turn — §14.2.4 writes its name across the top and nowhere
137
+ * else.
138
+ */
139
+ includesPoint(x, y, options) {
140
+ if (super.includesPoint(x, y, options))
141
+ return true;
142
+ return umlInNameBand(this, 'top', UML_REGION_BAND, x, y);
143
+ }
144
+ constructor() {
145
+ super(...arguments);
146
+ __runInitializers(this, _xywh_extraInitializers);
147
+ }
148
+ };
149
+ })();
150
+ export { UmlRegionElementModel };
@@ -0,0 +1,37 @@
1
+ import type { SerializedXYWH } from '../../../global/gfx/index.js';
2
+ import type { FrameworkBackgroundProps } from '../framework-background/index.js';
3
+ import { FrameworkBackgroundElementModel } from '../framework-background/index.js';
4
+ export type UmlSubjectProps = FrameworkBackgroundProps & {
5
+ /** The subject name, written top-left — edited inline on dblclick. */
6
+ name?: string;
7
+ };
8
+ /**
9
+ * A UML use case SUBJECT: the system boundary of UML 2.5.1 §18.1.4 — the plain
10
+ * rectangle drawn around the use cases a system offers, with its name written
11
+ * top-left and the actors left outside it.
12
+ *
13
+ * A framework background, so use cases are dropped on it and connectors never
14
+ * snap to it — but a TRANSPARENT one, like {@link C4BoundaryElementModel} and
15
+ * for the same reason: a subject is drawn over the diagram frame it sits on,
16
+ * and an opaque card would hide the use cases it encloses. Containment is
17
+ * visual only; membership, as for every board in the library, is computed from
18
+ * geometry at read time (R11).
19
+ *
20
+ * ## Why no variant, and no compartments
21
+ *
22
+ * The notation gives it none. §18.1.4 draws one rectangle with one name — there
23
+ * is no dashed flavour, no keyword line and no second tier — so, unlike a C4
24
+ * boundary (which draws system and container identically and tells them apart
25
+ * by the label), there is nothing here for a discriminant to discriminate. A
26
+ * field with one possible value is a field that can only ever go stale.
27
+ *
28
+ * What it LOOKS like is declared, not coded: see `UML_SUBJECT_BACKGROUND` in
29
+ * `@labre/affine-gfx-uml`.
30
+ */
31
+ export declare class UmlSubjectElementModel extends FrameworkBackgroundElementModel<UmlSubjectProps> {
32
+ get type(): string;
33
+ accessor name: string;
34
+ accessor resizeEnabled: boolean;
35
+ accessor rotate: number;
36
+ accessor xywh: SerializedXYWH;
37
+ }
@@ -0,0 +1,108 @@
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
+ /**
38
+ * A UML use case SUBJECT: the system boundary of UML 2.5.1 §18.1.4 — the plain
39
+ * rectangle drawn around the use cases a system offers, with its name written
40
+ * top-left and the actors left outside it.
41
+ *
42
+ * A framework background, so use cases are dropped on it and connectors never
43
+ * snap to it — but a TRANSPARENT one, like {@link C4BoundaryElementModel} and
44
+ * for the same reason: a subject is drawn over the diagram frame it sits on,
45
+ * and an opaque card would hide the use cases it encloses. Containment is
46
+ * visual only; membership, as for every board in the library, is computed from
47
+ * geometry at read time (R11).
48
+ *
49
+ * ## Why no variant, and no compartments
50
+ *
51
+ * The notation gives it none. §18.1.4 draws one rectangle with one name — there
52
+ * is no dashed flavour, no keyword line and no second tier — so, unlike a C4
53
+ * boundary (which draws system and container identically and tells them apart
54
+ * by the label), there is nothing here for a discriminant to discriminate. A
55
+ * field with one possible value is a field that can only ever go stale.
56
+ *
57
+ * What it LOOKS like is declared, not coded: see `UML_SUBJECT_BACKGROUND` in
58
+ * `@labre/affine-gfx-uml`.
59
+ */
60
+ let UmlSubjectElementModel = (() => {
61
+ let _classSuper = FrameworkBackgroundElementModel;
62
+ let _name_decorators;
63
+ let _name_initializers = [];
64
+ let _name_extraInitializers = [];
65
+ let _resizeEnabled_decorators;
66
+ let _resizeEnabled_initializers = [];
67
+ let _resizeEnabled_extraInitializers = [];
68
+ let _rotate_decorators;
69
+ let _rotate_initializers = [];
70
+ let _rotate_extraInitializers = [];
71
+ let _xywh_decorators;
72
+ let _xywh_initializers = [];
73
+ let _xywh_extraInitializers = [];
74
+ return class UmlSubjectElementModel extends _classSuper {
75
+ static {
76
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
77
+ _name_decorators = [field('Subject')];
78
+ _resizeEnabled_decorators = [field(true)];
79
+ _rotate_decorators = [field(0)];
80
+ _xywh_decorators = [field()];
81
+ __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);
82
+ __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);
83
+ __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);
84
+ __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);
85
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
86
+ }
87
+ get type() {
88
+ return 'umlSubject';
89
+ }
90
+ #name_accessor_storage = __runInitializers(this, _name_initializers, 'Subject');
91
+ get name() { return this.#name_accessor_storage; }
92
+ set name(value) { this.#name_accessor_storage = value; }
93
+ #resizeEnabled_accessor_storage = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _resizeEnabled_initializers, true));
94
+ get resizeEnabled() { return this.#resizeEnabled_accessor_storage; }
95
+ set resizeEnabled(value) { this.#resizeEnabled_accessor_storage = value; }
96
+ #rotate_accessor_storage = (__runInitializers(this, _resizeEnabled_extraInitializers), __runInitializers(this, _rotate_initializers, 0));
97
+ get rotate() { return this.#rotate_accessor_storage; }
98
+ set rotate(value) { this.#rotate_accessor_storage = value; }
99
+ #xywh_accessor_storage = (__runInitializers(this, _rotate_extraInitializers), __runInitializers(this, _xywh_initializers, '[0,0,520,360]'));
100
+ get xywh() { return this.#xywh_accessor_storage; }
101
+ set xywh(value) { this.#xywh_accessor_storage = value; }
102
+ constructor() {
103
+ super(...arguments);
104
+ __runInitializers(this, _xywh_extraInitializers);
105
+ }
106
+ };
107
+ })();
108
+ export { UmlSubjectElementModel };
@@ -138,7 +138,7 @@ let WardleyBackgroundElementModel = (() => {
138
138
  _showCornerLabels_decorators = [field(true)];
139
139
  _showVisibilityLabels_decorators = [field(true)];
140
140
  _rotate_decorators = [field(0)];
141
- _xywh_decorators = [field()];
141
+ _xywh_decorators = [field('[0,0,0,0]')];
142
142
  __esDecorate(this, null, _banded_decorators, { kind: "accessor", name: "banded", static: false, private: false, access: { has: obj => "banded" in obj, get: obj => obj.banded, set: (obj, value) => { obj.banded = value; } }, metadata: _metadata }, _banded_initializers, _banded_extraInitializers);
143
143
  __esDecorate(this, null, _variant_decorators, { kind: "accessor", name: "variant", static: false, private: false, access: { has: obj => "variant" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);
144
144
  __esDecorate(this, null, _showGradient_decorators, { kind: "accessor", name: "showGradient", static: false, private: false, access: { has: obj => "showGradient" in obj, get: obj => obj.showGradient, set: (obj, value) => { obj.showGradient = value; } }, metadata: _metadata }, _showGradient_initializers, _showGradient_extraInitializers);
@@ -23,6 +23,7 @@ export type IframeOptions = {
23
23
  allow?: string;
24
24
  allowFullscreen?: boolean;
25
25
  containerBorderRadius?: number;
26
+ sandbox?: string;
26
27
  };
27
28
  /**
28
29
  * Define the config of an embed iframe block
@@ -16,5 +16,23 @@ export declare const fontConfigSchema: z.ZodObject<{
16
16
  weight: string;
17
17
  }>;
18
18
  export type FontConfig = z.infer<typeof fontConfigSchema>;
19
+ /**
20
+ * The AFFiNE-hosted mirror. It carries strictly fewer files than the community
21
+ * list: `cdn.affine.pro` answers 404 for every `Inter-Bold`, `Poppins-Bold`
22
+ * and `BebasNeue-Bold` spelling, so those three families offer no 700 weight
23
+ * here. The Kalam / Lora `SemiBold` entries below already point at the 700
24
+ * file — those families ship a single heavy face, not two.
25
+ *
26
+ * Satoshi is in neither list since #396: its licence (ITF Free Font License
27
+ * 2.0, section 02) forbids offering it as a selectable font in a SaaS or design
28
+ * tool, whoever hosts the files. `FontFamily.Satoshi` stays a valid stored
29
+ * value; an element that carries it paints with the fallback, and the family
30
+ * picker names it as unavailable instead of offering it.
31
+ */
19
32
  export declare const AffineCanvasTextFonts: FontConfig[];
33
+ /**
34
+ * The families on a public mirror, one `FontConfig` per face. A host that
35
+ * promises no third-party request passes the same list with its own `url`s;
36
+ * a host that drops a family drops it from the family picker too (#396).
37
+ */
20
38
  export declare const CommunityCanvasTextFonts: FontConfig[];
@@ -6,6 +6,19 @@ export const fontConfigSchema = z.object({
6
6
  url: z.string(),
7
7
  style: z.string(),
8
8
  });
9
+ /**
10
+ * The AFFiNE-hosted mirror. It carries strictly fewer files than the community
11
+ * list: `cdn.affine.pro` answers 404 for every `Inter-Bold`, `Poppins-Bold`
12
+ * and `BebasNeue-Bold` spelling, so those three families offer no 700 weight
13
+ * here. The Kalam / Lora `SemiBold` entries below already point at the 700
14
+ * file — those families ship a single heavy face, not two.
15
+ *
16
+ * Satoshi is in neither list since #396: its licence (ITF Free Font License
17
+ * 2.0, section 02) forbids offering it as a selectable font in a SaaS or design
18
+ * tool, whoever hosts the files. `FontFamily.Satoshi` stays a valid stored
19
+ * value; an element that carries it paints with the fallback, and the family
20
+ * picker names it as unavailable instead of offering it.
21
+ */
9
22
  export const AffineCanvasTextFonts = [
10
23
  // Inter, https://fonts.cdnfonts.com/css/inter?styles=29139,29134,29135,29136,29140,29141
11
24
  {
@@ -63,43 +76,6 @@ export const AffineCanvasTextFonts = [
63
76
  weight: FontWeight.SemiBold,
64
77
  style: FontStyle.Normal,
65
78
  },
66
- // Satoshi, https://fonts.cdnfonts.com/css/satoshi?styles=135009,135004,135005,135006,135002,135003
67
- {
68
- font: FontFamily.Satoshi,
69
- url: 'https://cdn.affine.pro/fonts/Satoshi-Light.woff2',
70
- weight: FontWeight.Light,
71
- style: FontStyle.Normal,
72
- },
73
- {
74
- font: FontFamily.Satoshi,
75
- url: 'https://cdn.affine.pro/fonts/Satoshi-Regular.woff2',
76
- weight: FontWeight.Regular,
77
- style: FontStyle.Normal,
78
- },
79
- {
80
- font: FontFamily.Satoshi,
81
- url: 'https://cdn.affine.pro/fonts/Satoshi-Bold.woff2',
82
- weight: FontWeight.SemiBold,
83
- style: FontStyle.Normal,
84
- },
85
- {
86
- font: FontFamily.Satoshi,
87
- url: 'https://cdn.affine.pro/fonts/Satoshi-LightItalic.woff2',
88
- weight: FontWeight.Light,
89
- style: FontStyle.Italic,
90
- },
91
- {
92
- font: FontFamily.Satoshi,
93
- url: 'https://cdn.affine.pro/fonts/Satoshi-Italic.woff2',
94
- weight: FontWeight.Regular,
95
- style: FontStyle.Italic,
96
- },
97
- {
98
- font: FontFamily.Satoshi,
99
- url: 'https://cdn.affine.pro/fonts/Satoshi-BoldItalic.woff2',
100
- weight: FontWeight.SemiBold,
101
- style: FontStyle.Italic,
102
- },
103
79
  // Poppins, https://fonts.cdnfonts.com/css/poppins?styles=20394,20389,20390,20391,20395,20396
104
80
  {
105
81
  font: FontFamily.Poppins,
@@ -189,6 +165,11 @@ export const AffineCanvasTextFonts = [
189
165
  style: FontStyle.Normal,
190
166
  },
191
167
  ];
168
+ /**
169
+ * The families on a public mirror, one `FontConfig` per face. A host that
170
+ * promises no third-party request passes the same list with its own `url`s;
171
+ * a host that drops a family drops it from the family picker too (#396).
172
+ */
192
173
  export const CommunityCanvasTextFonts = [
193
174
  // Inter, https://fonts.cdnfonts.com/css/inter?styles=29139,29134,29135,29136,29140,29141
194
175
  {
@@ -221,13 +202,27 @@ export const CommunityCanvasTextFonts = [
221
202
  weight: FontWeight.Regular,
222
203
  style: FontStyle.Italic,
223
204
  },
205
+ {
206
+ font: FontFamily.Inter,
207
+ url: 'https://fonts.cdnfonts.com/s/19795/Inter-Bold.woff',
208
+ weight: FontWeight.Bold,
209
+ style: FontStyle.Normal,
210
+ },
224
211
  {
225
212
  font: FontFamily.Inter,
226
213
  url: 'https://fonts.cdnfonts.com/s/19795/Inter-SemiBoldItalic.woff',
227
214
  weight: FontWeight.SemiBold,
228
215
  style: FontStyle.Italic,
229
216
  },
217
+ {
218
+ font: FontFamily.Inter,
219
+ url: 'https://fonts.cdnfonts.com/s/19795/Inter-BoldItalic.woff',
220
+ weight: FontWeight.Bold,
221
+ style: FontStyle.Italic,
222
+ },
230
223
  // Kalam, https://fonts.cdnfonts.com/css/kalam?styles=15166,170689,170687
224
+ // Kalam ships no 600 face: its `SemiBold` entry below already IS the 700
225
+ // file, so the family offers one heavy weight, not two.
231
226
  {
232
227
  font: FontFamily.Kalam,
233
228
  url: 'https://fonts.cdnfonts.com/s/13130/Kalam-Light.woff',
@@ -246,43 +241,58 @@ export const CommunityCanvasTextFonts = [
246
241
  weight: FontWeight.SemiBold,
247
242
  style: FontStyle.Normal,
248
243
  },
249
- // Satoshi, https://fonts.cdnfonts.com/css/satoshi?styles=135009,135004,135005,135006,135002,135003
244
+ // PlusJakartaSans (SIL OFL 1.1), https://fonts.cdnfonts.com/css/plus-jakarta-sans
245
+ // The mirror serves the two variable files only (weights 200 to 800), so
246
+ // every face below points at one of them: a face declared with a single
247
+ // weight gets that weight from the file's `wght` axis.
250
248
  {
251
- font: FontFamily.Satoshi,
252
- url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-Light.woff',
249
+ font: FontFamily.PlusJakartaSans,
250
+ url: 'https://fonts.cdnfonts.com/s/107199/PlusJakartaSans%5Bwght%5D.woff',
253
251
  weight: FontWeight.Light,
254
252
  style: FontStyle.Normal,
255
253
  },
256
254
  {
257
- font: FontFamily.Satoshi,
258
- url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-Regular.woff',
255
+ font: FontFamily.PlusJakartaSans,
256
+ url: 'https://fonts.cdnfonts.com/s/107199/PlusJakartaSans%5Bwght%5D.woff',
259
257
  weight: FontWeight.Regular,
260
258
  style: FontStyle.Normal,
261
259
  },
262
260
  {
263
- font: FontFamily.Satoshi,
264
- url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-Bold.woff',
261
+ font: FontFamily.PlusJakartaSans,
262
+ url: 'https://fonts.cdnfonts.com/s/107199/PlusJakartaSans%5Bwght%5D.woff',
265
263
  weight: FontWeight.SemiBold,
266
264
  style: FontStyle.Normal,
267
265
  },
268
266
  {
269
- font: FontFamily.Satoshi,
270
- url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-LightItalic.woff',
267
+ font: FontFamily.PlusJakartaSans,
268
+ url: 'https://fonts.cdnfonts.com/s/107199/PlusJakartaSans%5Bwght%5D.woff',
269
+ weight: FontWeight.Bold,
270
+ style: FontStyle.Normal,
271
+ },
272
+ {
273
+ font: FontFamily.PlusJakartaSans,
274
+ url: 'https://fonts.cdnfonts.com/s/107199/PlusJakartaSans-Italic%5Bwght%5D.woff',
271
275
  weight: FontWeight.Light,
272
276
  style: FontStyle.Italic,
273
277
  },
274
278
  {
275
- font: FontFamily.Satoshi,
276
- url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-Italic.woff',
279
+ font: FontFamily.PlusJakartaSans,
280
+ url: 'https://fonts.cdnfonts.com/s/107199/PlusJakartaSans-Italic%5Bwght%5D.woff',
277
281
  weight: FontWeight.Regular,
278
282
  style: FontStyle.Italic,
279
283
  },
280
284
  {
281
- font: FontFamily.Satoshi,
282
- url: 'https://fonts.cdnfonts.com/s/85546/Satoshi-BoldItalic.woff',
285
+ font: FontFamily.PlusJakartaSans,
286
+ url: 'https://fonts.cdnfonts.com/s/107199/PlusJakartaSans-Italic%5Bwght%5D.woff',
283
287
  weight: FontWeight.SemiBold,
284
288
  style: FontStyle.Italic,
285
289
  },
290
+ {
291
+ font: FontFamily.PlusJakartaSans,
292
+ url: 'https://fonts.cdnfonts.com/s/107199/PlusJakartaSans-Italic%5Bwght%5D.woff',
293
+ weight: FontWeight.Bold,
294
+ style: FontStyle.Italic,
295
+ },
286
296
  // Poppins, https://fonts.cdnfonts.com/css/poppins?styles=20394,20389,20390,20391,20395,20396
287
297
  {
288
298
  font: FontFamily.Poppins,
@@ -308,6 +318,12 @@ export const CommunityCanvasTextFonts = [
308
318
  weight: FontWeight.SemiBold,
309
319
  style: FontStyle.Normal,
310
320
  },
321
+ {
322
+ font: FontFamily.Poppins,
323
+ url: 'https://fonts.cdnfonts.com/s/16009/Poppins-Bold.woff',
324
+ weight: FontWeight.Bold,
325
+ style: FontStyle.Normal,
326
+ },
311
327
  {
312
328
  font: FontFamily.Poppins,
313
329
  url: 'https://fonts.cdnfonts.com/s/16009/Poppins-LightItalic.woff',
@@ -326,7 +342,15 @@ export const CommunityCanvasTextFonts = [
326
342
  weight: FontWeight.SemiBold,
327
343
  style: FontStyle.Italic,
328
344
  },
345
+ {
346
+ font: FontFamily.Poppins,
347
+ url: 'https://fonts.cdnfonts.com/s/16009/Poppins-BoldItalic.woff',
348
+ weight: FontWeight.Bold,
349
+ style: FontStyle.Italic,
350
+ },
329
351
  // Lora, https://fonts.cdnfonts.com/css/lora-4?styles=50357,50356,50354,50355
352
+ // Lora ships no 600 face either: as with Kalam, the entries below map the
353
+ // 700 file onto `SemiBold` and the family has a single heavy.
330
354
  {
331
355
  font: FontFamily.Lora,
332
356
  url: 'https://fonts.cdnfonts.com/s/29883/Lora-Regular.woff',
@@ -364,6 +388,14 @@ export const CommunityCanvasTextFonts = [
364
388
  weight: FontWeight.Regular,
365
389
  style: FontStyle.Normal,
366
390
  },
391
+ {
392
+ font: FontFamily.BebasNeue,
393
+ // The bold face is the one Bebas Neue file whose name is spelled with a
394
+ // space, like the light one above and unlike the regular one.
395
+ url: 'https://fonts.cdnfonts.com/s/14902/BebasNeue%20Bold.woff',
396
+ weight: FontWeight.Bold,
397
+ style: FontStyle.Normal,
398
+ },
367
399
  // OrelegaOne, https://fonts.cdnfonts.com/css/orelega-one?styles=148618
368
400
  {
369
401
  font: FontFamily.OrelegaOne,
@@ -42,8 +42,7 @@
42
42
  * materiality by scanning `collectPivotOccurrences`. Derived materialities are
43
43
  * a cache of the boards, never a second original.
44
44
  */
45
- import { LifeCycleWatcher } from '../../std/index.js';
46
- import { FRAMEWORK_IDS } from '../../std/index.js';
45
+ import { frameworkOfRole, LifeCycleWatcher } from '../../std/index.js';
47
46
  import { GfxControllerIdentifier, isPivotBound, readElementTags, } from '../../std/gfx/index.js';
48
47
  import { effect } from '@preact/signals-core';
49
48
  import { PivotPropertiesProvider, publishOccurrenceMaterialities, } from './pivot-properties-service.js';
@@ -51,13 +50,6 @@ import { PivotPropertiesProvider, publishOccurrenceMaterialities, } from './pivo
51
50
  const MATERIAL_PROPS = new Set(['tags', 'role', 'pivotDocId']);
52
51
  const touchesMateriality = (payload) => Object.keys(payload.props).some(key => MATERIAL_PROPS.has(key)) ||
53
52
  Object.keys(payload.oldValues).some(key => MATERIAL_PROPS.has(key));
54
- /** `'wardley:component'` → `'wardley'`, when that names a real framework. */
55
- function frameworkOfRole(role) {
56
- const namespace = role?.split(':')[0];
57
- return FRAMEWORK_IDS.includes(namespace ?? '')
58
- ? namespace
59
- : undefined;
60
- }
61
53
  /**
62
54
  * `(pivotDocId, elementId)` — the host's primary key for a derived materiality.
63
55
  *