@kritzel/engine 0.4.31 → 0.4.33

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 (84) hide show
  1. package/LICENSE.md +49 -49
  2. package/dist/cjs/{engine.constants-CakmdKMW.js → engine.constants-VyFrUl1W.js} +627 -129
  3. package/dist/cjs/{index-BbbWU2aN.js → index-BP5Iy6FQ.js} +27 -9
  4. package/dist/cjs/index.cjs.js +4 -2
  5. package/dist/cjs/kritzel-awareness-cursors_5.cjs.entry.js +257 -113
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/stencil.cjs.js +3 -3
  8. package/dist/collection/classes/core/core.class.js +40 -32
  9. package/dist/collection/classes/core/reviver.class.js +4 -0
  10. package/dist/collection/classes/core/store.class.js +10 -3
  11. package/dist/collection/classes/managers/cursor.manager.js +10 -5
  12. package/dist/collection/classes/objects/dynamic-object.class.js +18 -5
  13. package/dist/collection/classes/objects/iframe.class.js +447 -0
  14. package/dist/collection/classes/registries/icon-registry.class.js +100 -67
  15. package/dist/collection/classes/tools/selection-tool.class.js +3 -3
  16. package/dist/collection/collection-manifest.json +4 -2
  17. package/dist/collection/components/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -115
  18. package/dist/collection/components/kritzel-awareness-cursors/kritzel-awareness-cursors.js +1 -1
  19. package/dist/collection/components/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -10
  20. package/dist/collection/components/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
  21. package/dist/collection/components/kritzel-engine/kritzel-engine.css +80 -80
  22. package/dist/collection/components/kritzel-engine/kritzel-engine.js +196 -44
  23. package/dist/collection/components/kritzel-icon/kritzel-icon.css +18 -18
  24. package/dist/collection/components/kritzel-icon/kritzel-icon.js +25 -4
  25. package/dist/collection/components/kritzel-watermark/kritzel-watermark.css +29 -29
  26. package/dist/collection/components/kritzel-watermark/kritzel-watermark.js +2 -2
  27. package/dist/collection/constants/version.js +1 -1
  28. package/dist/collection/helpers/cursor.helper.js +8 -8
  29. package/dist/collection/helpers/object.helper.js +13 -0
  30. package/dist/collection/helpers/svg-export.helper.js +55 -41
  31. package/dist/collection/helpers/wheel.helper.js +1 -7
  32. package/dist/collection/index.js +3 -0
  33. package/dist/collection/interfaces/embedded-object.interface.js +1 -0
  34. package/dist/collection/themes/dark-theme.js +1 -5
  35. package/dist/collection/themes/light-theme.js +1 -6
  36. package/dist/components/index.js +7 -7
  37. package/dist/components/kritzel-awareness-cursors.js +1 -1
  38. package/dist/components/kritzel-cursor-trail.js +1 -1
  39. package/dist/components/kritzel-engine.js +755 -161
  40. package/dist/components/kritzel-icon.js +1 -1
  41. package/dist/components/kritzel-watermark.js +1 -1
  42. package/dist/components/{p-B2Htv9ou.js → p-BHVbfJrf.js} +3 -3
  43. package/dist/components/{p-YP8wAcF4.js → p-BTU9qcSW.js} +2 -2
  44. package/dist/components/{p-CfSx6HU_.js → p-BWfRbEIq.js} +16 -4
  45. package/dist/components/p-NAEiq8CK.js +214 -0
  46. package/dist/components/{p-BvRGQvVI.js → p-k0LxV9Bg.js} +18 -14
  47. package/dist/esm/{engine.constants-Bl5-pbq-.js → engine.constants-BHTr2qPx.js} +626 -130
  48. package/dist/esm/{index-BU9Mv7y0.js → index-C8PnHbLt.js} +27 -10
  49. package/dist/esm/index.js +3 -3
  50. package/dist/esm/kritzel-awareness-cursors_5.entry.js +257 -113
  51. package/dist/esm/loader.js +3 -3
  52. package/dist/esm/stencil.js +4 -4
  53. package/dist/stencil/index.esm.js +3 -3
  54. package/dist/stencil/{p-f0a8b7af.entry.js → p-40097a38.entry.js} +257 -113
  55. package/dist/stencil/{p-Bl5-pbq-.js → p-BHTr2qPx.js} +626 -130
  56. package/dist/stencil/{p-BU9Mv7y0.js → p-C8PnHbLt.js} +27 -10
  57. package/dist/stencil/stencil.esm.js +4 -4
  58. package/dist/types/classes/core/store.class.d.ts +3 -2
  59. package/dist/types/classes/objects/dynamic-object.class.d.ts +4 -2
  60. package/dist/types/classes/objects/iframe.class.d.ts +76 -0
  61. package/dist/types/classes/registries/icon-registry.class.d.ts +75 -6
  62. package/dist/types/components/kritzel-engine/kritzel-engine.d.ts +14 -1
  63. package/dist/types/components/kritzel-icon/kritzel-icon.d.ts +5 -1
  64. package/dist/types/components.d.ts +26 -8
  65. package/dist/types/constants/version.d.ts +1 -1
  66. package/dist/types/helpers/cursor.helper.d.ts +2 -1
  67. package/dist/types/helpers/object.helper.d.ts +2 -0
  68. package/dist/types/helpers/svg-export.helper.d.ts +1 -0
  69. package/dist/types/helpers/wheel.helper.d.ts +2 -2
  70. package/dist/types/index.d.ts +3 -0
  71. package/dist/types/interfaces/context-menu-item.interface.d.ts +2 -1
  72. package/dist/types/interfaces/dynamic-object-renderer.interface.d.ts +7 -0
  73. package/dist/types/interfaces/embedded-object.interface.d.ts +9 -0
  74. package/dist/types/interfaces/engine-state.interface.d.ts +3 -2
  75. package/dist/types/interfaces/login-config.interface.d.ts +2 -1
  76. package/dist/types/interfaces/master-detail.interface.d.ts +2 -1
  77. package/dist/types/interfaces/menu-item.interface.d.ts +2 -1
  78. package/dist/types/interfaces/theme.interface.d.ts +6 -7
  79. package/dist/types/interfaces/tool.interface.d.ts +9 -0
  80. package/dist/types/interfaces/toolbar-item.interface.d.ts +3 -2
  81. package/dist/types/stencil-public-runtime.d.ts +61 -55
  82. package/package.json +3 -1
  83. package/readme.md +10 -10
  84. package/dist/components/p-fx6msYHJ.js +0 -167
@@ -1,115 +1,115 @@
1
- :host {
2
- display: block;
3
- position: fixed;
4
- top: 0;
5
- left: 0;
6
- width: 100vw;
7
- height: 100vh;
8
- pointer-events: none;
9
- z-index: 1;
10
- }
11
-
12
- .awareness-cursor {
13
- position: absolute;
14
- top: 0;
15
- left: 0;
16
- transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
17
- opacity 300ms ease;
18
- will-change: transform;
19
- }
20
-
21
- .awareness-cursor.stale {
22
- opacity: 0;
23
- }
24
-
25
- .awareness-cursor.tracking-object {
26
- transition-duration: 0ms;
27
- }
28
-
29
- .cursor-arrow {
30
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
31
- }
32
-
33
- .cursor-label {
34
- position: absolute;
35
- left: 16px;
36
- top: 16px;
37
- white-space: nowrap;
38
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
39
- font-size: var(--kritzel-awareness-cursor-label-font-size, 12px);
40
- color: var(--kritzel-awareness-cursor-label-text-color, #ffffff);
41
- padding: 2px 8px;
42
- border-radius: 4px;
43
- line-height: 1.4;
44
- font-weight: 500;
45
- pointer-events: none;
46
- user-select: none;
47
- }
48
-
49
- .edge-indicator {
50
- position: absolute;
51
- top: -12px;
52
- left: -12px;
53
- width: 24px;
54
- height: 24px;
55
- display: flex;
56
- align-items: center;
57
- justify-content: center;
58
- transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
59
- opacity 300ms ease;
60
- will-change: transform;
61
- pointer-events: auto;
62
- user-select: none;
63
- cursor: pointer;
64
- }
65
-
66
- .edge-indicator.stale {
67
- opacity: 0;
68
- }
69
-
70
- .edge-indicator.tracking-object {
71
- transition-duration: 0ms;
72
- }
73
-
74
- .edge-arrow {
75
- position: absolute;
76
- filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
77
- transition: opacity 300ms ease;
78
- }
79
-
80
- .edge-arrow.stale {
81
- opacity: 0;
82
- }
83
-
84
- .edge-label {
85
- position: absolute;
86
- white-space: nowrap;
87
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
88
- font-size: var(--kritzel-awareness-cursor-label-font-size, 12px);
89
- color: var(--kritzel-awareness-cursor-label-text-color, #ffffff);
90
- padding: 2px 8px;
91
- border-radius: 4px;
92
- line-height: 1.4;
93
- font-weight: 500;
94
- pointer-events: none;
95
- opacity: 0;
96
- transform-origin: center;
97
- transition: opacity 150ms ease;
98
- }
99
-
100
- .edge-indicator:hover .edge-label {
101
- opacity: 1;
102
- }
103
-
104
- .remote-selection-box {
105
- position: absolute;
106
- top: 0;
107
- left: 0;
108
- border-width: 2px;
109
- border-style: solid;
110
- pointer-events: none;
111
- will-change: transform, width, height;
112
- transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
113
- width var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
114
- height var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out;
115
- }
1
+ :host {
2
+ display: block;
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ width: 100vw;
7
+ height: 100vh;
8
+ pointer-events: none;
9
+ z-index: 1;
10
+ }
11
+
12
+ .awareness-cursor {
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
17
+ opacity 300ms ease;
18
+ will-change: transform;
19
+ }
20
+
21
+ .awareness-cursor.stale {
22
+ opacity: 0;
23
+ }
24
+
25
+ .awareness-cursor.tracking-object {
26
+ transition-duration: 0ms;
27
+ }
28
+
29
+ .cursor-arrow {
30
+ filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
31
+ }
32
+
33
+ .cursor-label {
34
+ position: absolute;
35
+ left: 16px;
36
+ top: 16px;
37
+ white-space: nowrap;
38
+ font-family: var(--kritzel-awareness-font-family, var(--kritzel-global-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif));
39
+ font-size: var(--kritzel-awareness-cursor-label-font-size, 12px);
40
+ color: var(--kritzel-awareness-cursor-label-text-color, #ffffff);
41
+ padding: 2px 8px;
42
+ border-radius: 4px;
43
+ line-height: 1.4;
44
+ font-weight: 500;
45
+ pointer-events: none;
46
+ user-select: none;
47
+ }
48
+
49
+ .edge-indicator {
50
+ position: absolute;
51
+ top: -12px;
52
+ left: -12px;
53
+ width: 24px;
54
+ height: 24px;
55
+ display: flex;
56
+ align-items: center;
57
+ justify-content: center;
58
+ transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
59
+ opacity 300ms ease;
60
+ will-change: transform;
61
+ pointer-events: auto;
62
+ user-select: none;
63
+ cursor: pointer;
64
+ }
65
+
66
+ .edge-indicator.stale {
67
+ opacity: 0;
68
+ }
69
+
70
+ .edge-indicator.tracking-object {
71
+ transition-duration: 0ms;
72
+ }
73
+
74
+ .edge-arrow {
75
+ position: absolute;
76
+ filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
77
+ transition: opacity 300ms ease;
78
+ }
79
+
80
+ .edge-arrow.stale {
81
+ opacity: 0;
82
+ }
83
+
84
+ .edge-label {
85
+ position: absolute;
86
+ white-space: nowrap;
87
+ font-family: var(--kritzel-awareness-font-family, var(--kritzel-global-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif));
88
+ font-size: var(--kritzel-awareness-cursor-label-font-size, 12px);
89
+ color: var(--kritzel-awareness-cursor-label-text-color, #ffffff);
90
+ padding: 2px 8px;
91
+ border-radius: 4px;
92
+ line-height: 1.4;
93
+ font-weight: 500;
94
+ pointer-events: none;
95
+ opacity: 0;
96
+ transform-origin: center;
97
+ transition: opacity 150ms ease;
98
+ }
99
+
100
+ .edge-indicator:hover .edge-label {
101
+ opacity: 1;
102
+ }
103
+
104
+ .remote-selection-box {
105
+ position: absolute;
106
+ top: 0;
107
+ left: 0;
108
+ border-width: 2px;
109
+ border-style: solid;
110
+ pointer-events: none;
111
+ will-change: transform, width, height;
112
+ transition: transform var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
113
+ width var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out,
114
+ height var(--kritzel-awareness-cursor-transition-duration, 100ms) ease-out;
115
+ }
@@ -210,7 +210,7 @@ export class KritzelAwarenessCursors {
210
210
  void _ty;
211
211
  void this.objectVersion;
212
212
  const cursors = Array.from(this.remoteCursors.values());
213
- return (h(Host, { key: 'cf00004efc0c60e81bd6b2f19ecb7ca066396980' }, cursors.map(remoteCursor => {
213
+ return (h(Host, { key: '2021875ea3e430c04da438dc5b7a2c22f119ea67' }, cursors.map(remoteCursor => {
214
214
  if (!remoteCursor.cursor)
215
215
  return null;
216
216
  // When a remote user is actively drawing, derive cursor position from
@@ -1,10 +1,10 @@
1
- :host {
2
- display: block;
3
- position: fixed;
4
- top: 0;
5
- left: 0;
6
- width: 100vw;
7
- height: 100vh;
8
- pointer-events: none;
9
- z-index: 9000;
10
- }
1
+ :host {
2
+ display: block;
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ width: 100vw;
7
+ height: 100vh;
8
+ pointer-events: none;
9
+ z-index: 9000;
10
+ }
@@ -63,7 +63,7 @@ export class KritzelCursorTrail {
63
63
  }
64
64
  }
65
65
  render() {
66
- return (h(Host, { key: '707e81b135931233131a830d6fc63e721e381287' }, this.cursorTrailPoints.length > 1 && (h("svg", { key: 'b262b0e3a0cf3b1887ee6acedb2f00d72e95db7e', class: "cursor-trail-svg", xmlns: "http://www.w3.org/2000/svg", style: {
66
+ return (h(Host, { key: '39d026a0d4c444564f146a90ea1a51181d0652b7' }, this.cursorTrailPoints.length > 1 && (h("svg", { key: '927e52cd0828a548ba58e0e783b1d148a40c968c', class: "cursor-trail-svg", xmlns: "http://www.w3.org/2000/svg", style: {
67
67
  position: 'absolute',
68
68
  left: '0',
69
69
  top: '0',
@@ -1,81 +1,81 @@
1
- :host {
2
- display: block;
3
- position: relative;
4
- height: 100%;
5
- width: 100%;
6
- overflow: hidden;
7
- isolation: isolate;
8
- background-color: var(--kritzel-engine-background-color, #ffffff);
9
- }
10
-
11
- :host,
12
- :host * {
13
- touch-action: none;
14
- user-select: none;
15
- }
16
-
17
- .ProseMirror {
18
- outline: none;
19
- }
20
-
21
- p, h1, h2, h3, h4, h5, h6, blockquote, pre {
22
- margin: 0;
23
- padding: 0;
24
- }
25
-
26
- .debug-panel {
27
- position: absolute;
28
- pointer-events: none;
29
- top: 0;
30
- right: 0;
31
- }
32
-
33
- .origin {
34
- position: relative;
35
- top: 0;
36
- left: 0;
37
- height: 0;
38
- width: 0;
39
- pointer-events: none;
40
- -webkit-transform-origin: top left;
41
- -moz-transform-origin: top left;
42
- transform-origin: top left;
43
- overflow: visible;
44
- }
45
-
46
- .object {
47
- overflow: visible;
48
- }
49
-
50
- .kritzel-image-object--first-reveal {
51
- animation: kritzel-image-first-reveal 180ms ease-out both;
52
- will-change: filter;
53
- }
54
-
55
- @keyframes kritzel-image-first-reveal {
56
- from {
57
- filter: opacity(0);
58
- }
59
-
60
- to {
61
- filter: opacity(1);
62
- }
63
- }
64
-
65
- @media (prefers-reduced-motion: reduce) {
66
- .kritzel-image-object--first-reveal {
67
- animation: none;
68
- }
69
- }
70
-
71
- .PlaygroundEditorTheme__quote {
72
- margin: 0;
73
- margin-left: 20px;
74
- margin-bottom: 10px;
75
- font-size: 15px;
76
- color: rgb(101, 103, 107);
77
- border-left-color: rgb(206, 208, 212);
78
- border-left-width: 4px;
79
- border-left-style: solid;
80
- padding-left: 16px;
1
+ :host {
2
+ display: block;
3
+ position: relative;
4
+ height: 100%;
5
+ width: 100%;
6
+ overflow: hidden;
7
+ isolation: isolate;
8
+ background-color: var(--kritzel-engine-background-color, #ffffff);
9
+ }
10
+
11
+ :host,
12
+ :host * {
13
+ touch-action: none;
14
+ user-select: none;
15
+ }
16
+
17
+ .ProseMirror {
18
+ outline: none;
19
+ }
20
+
21
+ p, h1, h2, h3, h4, h5, h6, blockquote, pre {
22
+ margin: 0;
23
+ padding: 0;
24
+ }
25
+
26
+ .debug-panel {
27
+ position: absolute;
28
+ pointer-events: none;
29
+ top: 0;
30
+ right: 0;
31
+ }
32
+
33
+ .origin {
34
+ position: relative;
35
+ top: 0;
36
+ left: 0;
37
+ height: 0;
38
+ width: 0;
39
+ pointer-events: none;
40
+ -webkit-transform-origin: top left;
41
+ -moz-transform-origin: top left;
42
+ transform-origin: top left;
43
+ overflow: visible;
44
+ }
45
+
46
+ .object {
47
+ overflow: visible;
48
+ }
49
+
50
+ .kritzel-image-object--first-reveal {
51
+ animation: kritzel-image-first-reveal 180ms ease-out both;
52
+ will-change: filter;
53
+ }
54
+
55
+ @keyframes kritzel-image-first-reveal {
56
+ from {
57
+ filter: opacity(0);
58
+ }
59
+
60
+ to {
61
+ filter: opacity(1);
62
+ }
63
+ }
64
+
65
+ @media (prefers-reduced-motion: reduce) {
66
+ .kritzel-image-object--first-reveal {
67
+ animation: none;
68
+ }
69
+ }
70
+
71
+ .PlaygroundEditorTheme__quote {
72
+ margin: 0;
73
+ margin-left: 20px;
74
+ margin-bottom: 10px;
75
+ font-size: 15px;
76
+ color: rgb(101, 103, 107);
77
+ border-left-color: rgb(206, 208, 212);
78
+ border-left-width: 4px;
79
+ border-left-style: solid;
80
+ padding-left: 16px;
81
81
  }