kritzel-stencil 0.4.8 → 0.4.9

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 (91) hide show
  1. package/dist/cjs/index.cjs.js +9 -1
  2. package/dist/cjs/kritzel-active-users_47.cjs.entry.js +1386 -1250
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{schema.constants-gDeS7USU.js → schema.constants-ByNZ_qAj.js} +61 -0
  5. package/dist/cjs/stencil.cjs.js +1 -1
  6. package/dist/collection/classes/objects/image.class.js +9 -0
  7. package/dist/collection/classes/objects/path.class.js +9 -0
  8. package/dist/collection/classes/objects/shape.class.js +9 -0
  9. package/dist/collection/classes/providers/sync/broadcast-sync-provider.class.js +1 -0
  10. package/dist/collection/classes/providers/sync/hocuspocus-sync-provider.class.js +2 -0
  11. package/dist/collection/classes/providers/sync/in-memory-sync-provider.class.js +1 -0
  12. package/dist/collection/classes/providers/sync/indexeddb-sync-provider.class.js +1 -0
  13. package/dist/collection/classes/providers/sync/websocket-sync-provider.class.js +2 -0
  14. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +197 -67
  15. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +136 -169
  16. package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
  17. package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
  18. package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
  19. package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +90 -4
  20. package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
  21. package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
  22. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
  23. package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +1 -1
  24. package/dist/collection/constants/version.js +1 -1
  25. package/dist/collection/helpers/object.helper.js +11 -0
  26. package/dist/collection/index.js +1 -0
  27. package/dist/collection/interfaces/object-export.interface.js +1 -0
  28. package/dist/collection/interfaces/sync-config.interface.js +21 -1
  29. package/dist/components/index.js +10 -3
  30. package/dist/components/kritzel-awareness-cursors.js +1 -1
  31. package/dist/components/kritzel-controls.js +1 -1
  32. package/dist/components/kritzel-editor.js +175 -78
  33. package/dist/components/kritzel-engine.js +1 -1
  34. package/dist/components/kritzel-export.js +1 -1
  35. package/dist/components/kritzel-loading-overlay.js +1 -1
  36. package/dist/components/kritzel-login-dialog.js +1 -1
  37. package/dist/components/kritzel-menu-item.js +1 -1
  38. package/dist/components/kritzel-menu.js +1 -1
  39. package/dist/components/kritzel-more-menu.js +1 -1
  40. package/dist/components/kritzel-portal.js +1 -1
  41. package/dist/components/kritzel-settings.js +1 -1
  42. package/dist/components/kritzel-share-dialog.js +1 -1
  43. package/dist/components/kritzel-split-button.js +1 -1
  44. package/dist/components/kritzel-utility-panel.js +1 -1
  45. package/dist/components/kritzel-workspace-manager.js +1 -1
  46. package/dist/components/kritzel-zoom-panel.js +1 -1
  47. package/dist/components/{p-DwY5pghH.js → p-6rQICkGr.js} +1 -1
  48. package/dist/components/{p-BknTMcbz.js → p-8ScektIm.js} +1 -1
  49. package/dist/components/{p-DkY7pIg5.js → p-BRGufCki.js} +95 -6
  50. package/dist/components/{p-BKOsmXB5.js → p-BqWiEmYI.js} +1 -1
  51. package/dist/components/{p-BLOPBDUF.js → p-C2CeSrTm.js} +1 -1
  52. package/dist/components/{p-DDbO5q-e.js → p-CXJZxJvp.js} +4 -4
  53. package/dist/components/{p-7Rt7ml3v.js → p-Cj0NElII.js} +1 -1
  54. package/dist/components/{p-BVEGQLBD.js → p-CoY7emAj.js} +1 -1
  55. package/dist/components/{p-DgA865Tp.js → p-D7H8oxZb.js} +2 -2
  56. package/dist/components/{p-Dd-pMvlr.js → p-DPONTran.js} +11 -0
  57. package/dist/components/{p-BMRln59F.js → p-DW7WW4EN.js} +2 -2
  58. package/dist/components/{p-D8TOEhPY.js → p-DuVkk58V.js} +2 -2
  59. package/dist/components/{p-OLfoATNk.js → p-U9FjWrp-.js} +1 -1
  60. package/dist/components/{p-D8bHNNEm.js → p-ZPPtEla5.js} +1227 -1218
  61. package/dist/components/{p-COjsYPir.js → p-dVfh-Sy9.js} +1 -1
  62. package/dist/components/{p-0H4HOJjy.js → p-lQ7nfhOy.js} +10 -1
  63. package/dist/esm/index.js +9 -2
  64. package/dist/esm/kritzel-active-users_47.entry.js +1386 -1250
  65. package/dist/esm/loader.js +1 -1
  66. package/dist/esm/{schema.constants-Rpm1NA9u.js → schema.constants-1t45c2_U.js} +61 -1
  67. package/dist/esm/stencil.js +1 -1
  68. package/dist/stencil/index.esm.js +9 -2
  69. package/dist/stencil/{p-Rpm1NA9u.js → p-1t45c2_U.js} +61 -1
  70. package/dist/stencil/{p-8c1b7b08.entry.js → p-f5f088ea.entry.js} +1386 -1250
  71. package/dist/stencil/stencil.esm.js +1 -1
  72. package/dist/types/classes/objects/image.class.d.ts +3 -0
  73. package/dist/types/classes/objects/path.class.d.ts +3 -0
  74. package/dist/types/classes/objects/shape.class.d.ts +3 -0
  75. package/dist/types/classes/providers/sync/broadcast-sync-provider.class.d.ts +1 -0
  76. package/dist/types/classes/providers/sync/hocuspocus-sync-provider.class.d.ts +1 -0
  77. package/dist/types/classes/providers/sync/in-memory-sync-provider.class.d.ts +1 -0
  78. package/dist/types/classes/providers/sync/indexeddb-sync-provider.class.d.ts +1 -0
  79. package/dist/types/classes/providers/sync/websocket-sync-provider.class.d.ts +1 -0
  80. package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +15 -3
  81. package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +16 -34
  82. package/dist/types/components/ui/kritzel-more-menu/kritzel-more-menu.d.ts +10 -1
  83. package/dist/types/components.d.ts +27 -26
  84. package/dist/types/constants/version.d.ts +1 -1
  85. package/dist/types/helpers/object.helper.d.ts +4 -0
  86. package/dist/types/index.d.ts +1 -0
  87. package/dist/types/interfaces/menu-item.interface.d.ts +1 -1
  88. package/dist/types/interfaces/object-export.interface.d.ts +20 -0
  89. package/dist/types/interfaces/sync-config.interface.d.ts +5 -0
  90. package/dist/types/interfaces/sync-provider.interface.d.ts +5 -0
  91. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ import { KritzelBaseObject } from '../classes/objects/base-object.class';
2
+ export type KritzelObjectExportFormat = 'png' | 'svg';
3
+ /**
4
+ * Runtime context passed to object-owned export methods.
5
+ * The engine provides these callbacks so object classes can request
6
+ * serialization/rasterization without owning global dependencies.
7
+ */
8
+ export interface KritzelObjectExportContext {
9
+ getObjectAsSvgDataUrl(object: KritzelBaseObject, options?: {
10
+ rasterSafeForCanvas?: boolean;
11
+ }): Promise<string | null>;
12
+ getObjectAsPngDataUrl(object: KritzelBaseObject): Promise<string | null>;
13
+ }
14
+ /**
15
+ * Capability contract for objects that can export themselves.
16
+ */
17
+ export interface KritzelExportable {
18
+ getSupportedExportFormats(): KritzelObjectExportFormat[];
19
+ exportAs(format: KritzelObjectExportFormat, context: KritzelObjectExportContext): Promise<string | null>;
20
+ }
@@ -34,3 +34,8 @@ export interface KritzelSyncConfig {
34
34
  */
35
35
  appStateId?: string;
36
36
  }
37
+ /**
38
+ * Returns `true` when the given sync configuration contains at least one remote
39
+ * (network) provider, meaning the share option should be available in the UI.
40
+ */
41
+ export declare function hasRemoteSyncProvider(syncConfig?: KritzelSyncConfig): boolean;
@@ -44,6 +44,11 @@ export interface ISyncProvider {
44
44
  * Factory function type for creating provider instances
45
45
  */
46
46
  export interface ProviderFactory {
47
+ /**
48
+ * Whether this factory creates local or network providers.
49
+ * Used to determine UI capabilities such as the share option.
50
+ */
51
+ readonly type?: SyncProviderType;
47
52
  create(docName: string, doc: Y.Doc, options?: {
48
53
  quiet?: boolean;
49
54
  }): ISyncProvider;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kritzel-stencil",
3
- "version": "0.4.8",
3
+ "version": "0.4.9",
4
4
  "homepage": "https://kritzel.io/",
5
5
  "description": "Kritzel helps you build infinite whiteboard experiences.",
6
6
  "keywords": [