kritzel-stencil 0.1.93 → 0.1.95

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 (71) hide show
  1. package/dist/cjs/index.cjs.js +2 -1
  2. package/dist/cjs/kritzel-active-users_42.cjs.entry.js +36 -4
  3. package/dist/cjs/{workspace.migrations-PaftqSjk.js → workspace.migrations-Ct3qqIeu.js} +9109 -8855
  4. package/dist/collection/classes/objects/base-object.class.js +14 -0
  5. package/dist/collection/classes/objects/image.class.js +160 -14
  6. package/dist/collection/classes/providers/assets/asset-resolver.class.js +99 -6
  7. package/dist/collection/classes/registries/icon-registry.class.js +1 -0
  8. package/dist/collection/classes/structures/object-map.structure.js +8 -0
  9. package/dist/collection/classes/tools/image-tool.class.js +1 -1
  10. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +26 -2
  11. package/dist/collection/constants/version.js +1 -1
  12. package/dist/components/index.js +1 -1
  13. package/dist/components/kritzel-awareness-cursors.js +1 -1
  14. package/dist/components/kritzel-back-to-content.js +1 -1
  15. package/dist/components/kritzel-brush-style.js +1 -1
  16. package/dist/components/kritzel-context-menu.js +1 -1
  17. package/dist/components/kritzel-controls.js +1 -1
  18. package/dist/components/kritzel-editor.js +1 -1
  19. package/dist/components/kritzel-engine.js +1 -1
  20. package/dist/components/kritzel-export.js +1 -1
  21. package/dist/components/kritzel-icon.js +1 -1
  22. package/dist/components/kritzel-login-dialog.js +1 -1
  23. package/dist/components/kritzel-master-detail.js +1 -1
  24. package/dist/components/kritzel-menu-item.js +1 -1
  25. package/dist/components/kritzel-menu.js +1 -1
  26. package/dist/components/kritzel-more-menu.js +1 -1
  27. package/dist/components/kritzel-pill-tabs.js +1 -1
  28. package/dist/components/kritzel-settings.js +1 -1
  29. package/dist/components/kritzel-share-dialog.js +1 -1
  30. package/dist/components/kritzel-split-button.js +1 -1
  31. package/dist/components/kritzel-tool-config.js +1 -1
  32. package/dist/components/kritzel-utility-panel.js +1 -1
  33. package/dist/components/kritzel-workspace-manager.js +1 -1
  34. package/dist/components/p-A7Ult9iv.js +1 -0
  35. package/dist/components/p-B2kHVHa_.js +1 -0
  36. package/dist/components/{p-CRdrQOlL.js → p-BFQVg_eQ.js} +1 -1
  37. package/dist/components/{p-CrCtvLMx.js → p-BoRQF_Zc.js} +1 -1
  38. package/dist/components/{p-DRbR0Li3.js → p-BvgGpgKP.js} +1 -1
  39. package/dist/components/{p-cVQef3Hq.js → p-CBwT19KZ.js} +1 -1
  40. package/dist/components/{p-BMPgR5Bt.js → p-CFzvz-B2.js} +1 -1
  41. package/dist/components/{p-D8fQwcNC.js → p-CU6kJPth.js} +1 -1
  42. package/dist/components/{p-CKdGsPx9.js → p-CfyEVp9V.js} +1 -1
  43. package/dist/components/{p-7yTPTHbQ.js → p-ChQNi67Z.js} +1 -1
  44. package/dist/components/{p-DXdAYm-y.js → p-ChqeIKg_.js} +1 -1
  45. package/dist/components/{p-DPmAV68B.js → p-CoyqJSjT.js} +1 -1
  46. package/dist/components/{p-CowdEK08.js → p-CqYIRmoh.js} +1 -1
  47. package/dist/components/p-Cwh3KaeD.js +1 -0
  48. package/dist/components/{p-CBq-KE9C.js → p-Czaea0WP.js} +1 -1
  49. package/dist/components/{p-DMvIGnOt.js → p-DVEfOb8T.js} +1 -1
  50. package/dist/components/{p-CneqMLGJ.js → p-DVWw16me.js} +1 -1
  51. package/dist/components/{p-DBZyCAsW.js → p-DkT0CXfN.js} +1 -1
  52. package/dist/components/p-bVYv946Y.js +9 -0
  53. package/dist/components/{p-BTguWTDZ.js → p-mYhFNPgz.js} +1 -1
  54. package/dist/esm/index.js +2 -2
  55. package/dist/esm/kritzel-active-users_42.entry.js +36 -4
  56. package/dist/esm/{workspace.migrations-Cz5xML0x.js → workspace.migrations-BdXTrcUD.js} +9109 -8856
  57. package/dist/stencil/index.esm.js +1 -1
  58. package/dist/stencil/p-2a2953cb.entry.js +9 -0
  59. package/dist/stencil/p-BdXTrcUD.js +1 -0
  60. package/dist/stencil/stencil.esm.js +1 -1
  61. package/dist/types/classes/objects/base-object.class.d.ts +12 -0
  62. package/dist/types/classes/objects/image.class.d.ts +76 -0
  63. package/dist/types/classes/providers/assets/asset-resolver.class.d.ts +34 -1
  64. package/dist/types/constants/version.d.ts +1 -1
  65. package/package.json +1 -1
  66. package/dist/components/p-B6n0TqdD.js +0 -9
  67. package/dist/components/p-DQK_4lkI.js +0 -1
  68. package/dist/components/p-Gm5hSQ-e.js +0 -1
  69. package/dist/components/p-TIoiUjzO.js +0 -1
  70. package/dist/stencil/p-38f5183b.entry.js +0 -9
  71. package/dist/stencil/p-Cz5xML0x.js +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var workspace_migrations = require('./workspace.migrations-PaftqSjk.js');
3
+ var workspace_migrations = require('./workspace.migrations-Ct3qqIeu.js');
4
4
  var Y = require('yjs');
5
5
  var yWebsocket = require('y-websocket');
6
6
  require('y-indexeddb');
@@ -1085,6 +1085,7 @@ class PresignedAssetProvider {
1085
1085
  }
1086
1086
 
1087
1087
  exports.APP_STATE_MIGRATIONS = workspace_migrations.APP_STATE_MIGRATIONS;
1088
+ exports.AssetNotFoundError = workspace_migrations.AssetNotFoundError;
1088
1089
  exports.CURRENT_APP_STATE_SCHEMA_VERSION = workspace_migrations.CURRENT_APP_STATE_SCHEMA_VERSION;
1089
1090
  exports.CURRENT_WORKSPACE_SCHEMA_VERSION = workspace_migrations.CURRENT_WORKSPACE_SCHEMA_VERSION;
1090
1091
  exports.DEFAULT_ASSET_STORAGE_CONFIG = workspace_migrations.DEFAULT_ASSET_STORAGE_CONFIG;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-CFnj_FXt.js');
4
- var workspace_migrations = require('./workspace.migrations-PaftqSjk.js');
4
+ var workspace_migrations = require('./workspace.migrations-Ct3qqIeu.js');
5
5
  var Y = require('yjs');
6
6
  require('y-indexeddb');
7
7
  require('y-websocket');
@@ -21767,6 +21767,10 @@ class KritzelObjectMap {
21767
21767
  objectsToUpdate.forEach(object => {
21768
21768
  const existed = this._idMap.has(object.id);
21769
21769
  if (existed) {
21770
+ const previous = this._idMap.get(object.id);
21771
+ if (previous && typeof object.adoptTransientStateFrom === 'function') {
21772
+ object.adoptTransientStateFrom(previous);
21773
+ }
21770
21774
  this.quadtree.update(object);
21771
21775
  this._idMap.set(object.id, object);
21772
21776
  updatedObjects.push(object);
@@ -21782,6 +21786,10 @@ class KritzelObjectMap {
21782
21786
  selectionGroupsToUpdate.forEach(object => {
21783
21787
  const existed = this._idMap.has(object.id);
21784
21788
  if (existed) {
21789
+ const previous = this._idMap.get(object.id);
21790
+ if (previous && typeof object.adoptTransientStateFrom === 'function') {
21791
+ object.adoptTransientStateFrom(previous);
21792
+ }
21785
21793
  this.quadtree.update(object);
21786
21794
  this._idMap.set(object.id, object);
21787
21795
  }
@@ -27237,7 +27245,7 @@ const KritzelEngine = class {
27237
27245
  opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
27238
27246
  pointerEvents: object.markedForRemoval ? 'none' : 'auto',
27239
27247
  overflow: 'visible',
27240
- }, viewBox: object?.viewBox }, (object.hasStartArrow || object.hasEndArrow) && (index.h("defs", null, object.hasStartArrow && (index.h("marker", { id: object.startMarkerId, markerWidth: object.getArrowSize('start'), markerHeight: object.getArrowSize('start'), refX: 0, refY: object.getArrowSize('start') / 2, orient: "auto-start-reverse", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.start?.style), fill: object.getArrowFill('start'), transform: `scale(${object.getArrowSize('start') / 10})` }))), object.hasEndArrow && (index.h("marker", { id: object.endMarkerId, markerWidth: object.getArrowSize('end'), markerHeight: object.getArrowSize('end'), refX: 0, refY: object.getArrowSize('end') / 2, orient: "auto", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.end?.style), fill: object.getArrowFill('end'), transform: `scale(${object.getArrowSize('end') / 10})` }))))), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: "transparent", "stroke-width": Math.max(object?.strokeWidth || 0, 10), "stroke-linecap": "round" }), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: workspace_migrations.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "stroke-width": object?.strokeWidth, "stroke-linecap": "round", "marker-start": object.hasStartArrow ? `url(#${object.startMarkerId})` : undefined, "marker-end": object.hasEndArrow ? `url(#${object.endMarkerId})` : undefined }))), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && (index.h("img", { ref: el => el && object.mount(el), src: object.resolvedSrc || object.src, style: {
27248
+ }, viewBox: object?.viewBox }, (object.hasStartArrow || object.hasEndArrow) && (index.h("defs", null, object.hasStartArrow && (index.h("marker", { id: object.startMarkerId, markerWidth: object.getArrowSize('start'), markerHeight: object.getArrowSize('start'), refX: 0, refY: object.getArrowSize('start') / 2, orient: "auto-start-reverse", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.start?.style), fill: object.getArrowFill('start'), transform: `scale(${object.getArrowSize('start') / 10})` }))), object.hasEndArrow && (index.h("marker", { id: object.endMarkerId, markerWidth: object.getArrowSize('end'), markerHeight: object.getArrowSize('end'), refX: 0, refY: object.getArrowSize('end') / 2, orient: "auto", markerUnits: "userSpaceOnUse" }, index.h("path", { d: object.getArrowPath(object.arrows?.end?.style), fill: object.getArrowFill('end'), transform: `scale(${object.getArrowSize('end') / 10})` }))))), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: "transparent", "stroke-width": Math.max(object?.strokeWidth || 0, 10), "stroke-linecap": "round" }), index.h("path", { d: this.core.anchorManager.computeClippedLinePath(object), fill: "none", stroke: workspace_migrations.KritzelColorHelper.resolveThemeColor(object?.stroke, currentTheme), "stroke-width": object?.strokeWidth, "stroke-linecap": "round", "marker-start": object.hasStartArrow ? `url(#${object.startMarkerId})` : undefined, "marker-end": object.hasEndArrow ? `url(#${object.endMarkerId})` : undefined }))), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && object.loadState === 'ready' && (index.h("img", { ref: el => el && object.mount(el), src: object.resolvedSrc || object.src, style: {
27241
27249
  position: 'absolute',
27242
27250
  left: '0',
27243
27251
  top: '0',
@@ -27255,7 +27263,31 @@ const KritzelEngine = class {
27255
27263
  overflow: 'visible',
27256
27264
  userSelect: 'none',
27257
27265
  imageRendering: this.core.store.state.isScaling || this.core.store.state.isPanning ? 'pixelated' : 'auto',
27258
- }, draggable: false, onDragStart: e => e.preventDefault() })), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (index.h("div", { ref: el => el && object.mount(el), style: {
27266
+ }, draggable: false, onDragStart: e => e.preventDefault() })), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelImage') && object.loadState !== 'ready' && (index.h("div", { ref: () => object.ensureLoaded(), style: {
27267
+ position: 'absolute',
27268
+ left: '0',
27269
+ top: '0',
27270
+ width: object.totalWidth + 'px',
27271
+ height: object.totalHeight + 'px',
27272
+ transform: object.rotationDegrees !== 0 ? `rotate(${object.rotationDegrees}deg)` : undefined,
27273
+ transformOrigin: object.rotationDegrees !== 0 ? `${object.totalWidth / 2}px ${object.totalHeight / 2}px` : undefined,
27274
+ opacity: object.markedForRemoval ? '0.5' : object.opacity.toString(),
27275
+ pointerEvents: object.markedForRemoval ? 'none' : 'auto',
27276
+ backgroundColor: workspace_migrations.KritzelColorHelper.resolveThemeColor({ light: '#e5e7eb', dark: '#2a2a2a' }, currentTheme),
27277
+ borderColor: object.loadState === 'error'
27278
+ ? workspace_migrations.KritzelColorHelper.resolveThemeColor({ light: '#9ca3af', dark: '#6b7280' }, currentTheme)
27279
+ : workspace_migrations.KritzelColorHelper.resolveThemeColor(object.borderColor, currentTheme),
27280
+ borderWidth: object.loadState === 'error' ? '1px' : object.borderWidth + 'px',
27281
+ borderStyle: 'solid',
27282
+ padding: object.padding + 'px',
27283
+ overflow: 'hidden',
27284
+ userSelect: 'none',
27285
+ display: 'flex',
27286
+ alignItems: 'center',
27287
+ justifyContent: 'center',
27288
+ } }, index.h("kritzel-icon", { name: object.loadState === 'error' ? 'image-off' : 'image', size: Math.max(16, Math.min(object.totalWidth, object.totalHeight) * 0.3), style: {
27289
+ color: workspace_migrations.KritzelColorHelper.resolveThemeColor({ light: '#9ca3af', dark: '#6b7280' }, currentTheme),
27290
+ } }))), workspace_migrations.KritzelClassHelper.isInstanceOf(object, 'KritzelCustomElement') && (index.h("div", { ref: el => el && object.mount(el), style: {
27259
27291
  position: 'absolute',
27260
27292
  left: '0',
27261
27293
  top: '0',
@@ -28879,7 +28911,7 @@ const KritzelPortal = class {
28879
28911
  * This file is auto-generated by the version bump scripts.
28880
28912
  * Do not modify manually.
28881
28913
  */
28882
- const KRITZEL_VERSION = '0.1.93';
28914
+ const KRITZEL_VERSION = '0.1.95';
28883
28915
 
28884
28916
  const kritzelSettingsCss = () => `:host{display:contents}kritzel-dialog{--kritzel-dialog-body-padding:0;--kritzel-dialog-width-large:800px;--kritzel-dialog-height-large:500px}.footer-button{padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}.cancel-button{border:1px solid #ebebeb;background:#fff;color:inherit}.cancel-button:hover{background:#f5f5f5}.settings-content{padding:0}.settings-content h3{margin:0 0 16px 0;font-size:18px;font-weight:600;color:var(--kritzel-settings-content-heading-color, #333333)}.settings-content p{margin:0;font-size:14px;color:var(--kritzel-settings-content-text-color, #666666);line-height:1.5}.settings-group{display:flex;flex-direction:column;gap:24px}.settings-item{display:flex;flex-direction:column;gap:8px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-label{font-size:14px;font-weight:600;color:var(--kritzel-settings-label-color, #333333);margin:0 0 4px 0}.settings-description{font-size:12px;color:var(--kritzel-settings-description-color, #888888);margin:0;line-height:1.4}.shortcuts-list{display:flex;flex-direction:column;gap:24px}.shortcuts-category{display:flex;flex-direction:column;gap:8px}.shortcuts-category-title{font-size:14px;font-weight:600;color:var(--kritzel-settings-label-color, #333333);margin:0 0 4px 0}.shortcuts-group{display:flex;flex-direction:column;gap:4px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:4px;background:var(--kritzel-settings-shortcut-item-bg, rgba(0, 0, 0, 0.02))}.shortcut-label{font-size:14px;color:var(--kritzel-settings-content-text-color, #666666)}.shortcut-key{font-family:monospace;font-size:12px;padding:2px 8px;border-radius:4px;background:var(--kritzel-settings-shortcut-key-bg, #f0f0f0);color:var(--kritzel-settings-shortcut-key-color, #333333);border:1px solid var(--kritzel-settings-shortcut-key-border, #ddd)}`;
28885
28917